SIONlib  1.6.1
Scalable I/O library for parallel access to task-local files
sion_flags.h
1 /****************************************************************************
2 ** SIONLIB http://www.fz-juelich.de/jsc/sionlib **
3 *****************************************************************************
4 ** Copyright (c) 2008-2015 **
5 ** Forschungszentrum Juelich, Juelich Supercomputing Centre **
6 ** **
7 ** See the file COPYRIGHT in the package base directory for details **
8 ****************************************************************************/
9 #ifndef SION_SION_FLAGS_H
10 #define SION_SION_FLAGS_H
11 
12 
15 
17 {
18  _sion_flags_entry* root;
19  _sion_flags_entry* current;
20  sion_int64 mask;
21 };
22 
24 {
25  char* key;
26  char* val;
27  _sion_flags_entry* next;
28 };
29 
30 void _sion_flags_init_entry(_sion_flags_entry* entry);
32 void _sion_flags_destroy_entry(_sion_flags_entry* entry);
33 
34 _sion_flags_entry* _sion_flags_iter(_sion_flags_store* store);
35 
36 void _sion_flags_init_store(_sion_flags_store* store);
38 void _sion_flags_destroy_store(_sion_flags_store* store);
39 
41  const char* key,
42  const char* val);
43 void _sion_flags_add(_sion_flags_store* store,
44  const char* key,
45  const char* val);
46 _sion_flags_entry* _sion_flags_get(_sion_flags_store* store,
47  const char* key);
48 sion_int64 _sion_flags_update_mask(_sion_flags_store* store);
49 
50 _sion_flags_store* _sion_parse_flags(const char* flags);
51 
52 #endif
Definition: sion_flags.h:23
_sion_flags_store * _sion_parse_flags(const char *flags)
Parse flags and return a flags store with key value pairs.
Definition: sion_flags.c:285
_sion_flags_entry * _sion_flags_add_entry(_sion_flags_entry *entry, const char *key, const char *val)
Create a flags entry.
Definition: sion_flags.c:150
_sion_flags_store * _sion_flags_create_store()
Create a flags entry.
Definition: sion_flags.c:101
_sion_flags_entry * _sion_flags_create_entry()
Create a flags entry.
Definition: sion_flags.c:43