SIONlib  1.7.1
Scalable I/O library for parallel access to task-local files
sion_flags.h
Go to the documentation of this file.
1 /****************************************************************************
2 ** SIONLIB http://www.fz-juelich.de/jsc/sionlib **
3 *****************************************************************************
4 ** Copyright (c) 2008-2016 **
5 ** Forschungszentrum Juelich, Juelich Supercomputing Centre **
6 ** **
7 ** See the file COPYRIGHT in the package base directory for details **
8 ****************************************************************************/
9 
16 #ifndef SION_SION_FLAGS_H
17 #define SION_SION_FLAGS_H
18 
19 
22 
24 {
25  _sion_flags_entry* root;
26  _sion_flags_entry* current;
27  sion_int64 mask;
28 };
29 
31 {
32  char* key;
33  char* val;
34  _sion_flags_entry* next;
35 };
36 
37 void _sion_flags_init_entry(_sion_flags_entry* entry);
39 void _sion_flags_destroy_entry(_sion_flags_entry** entry);
40 
41 _sion_flags_entry* _sion_flags_iter(_sion_flags_store* store);
42 
43 void _sion_flags_init_store(_sion_flags_store* store);
45 void _sion_flags_destroy_store(_sion_flags_store** store);
46 
48  const char* key,
49  const char* val);
50 void _sion_flags_add(_sion_flags_store* store,
51  const char* key,
52  const char* val);
53 _sion_flags_entry* _sion_flags_get(_sion_flags_store* store,
54  const char* key);
55 sion_int64 _sion_flags_update_mask(_sion_flags_store* store);
56 
57 _sion_flags_store* _sion_parse_flags(const char* flags);
58 
59 #endif
Definition: sion_flags.h:30
_sion_flags_entry * _sion_flags_create_entry()
Create a flags entry.
Definition: sion_flags.c:43
_sion_flags_store * _sion_flags_create_store()
Create a flags entry.
Definition: sion_flags.c:101
_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_parse_flags(const char *flags)
Parse flags and return a flags store with key value pairs.
Definition: sion_flags.c:288