SIONlib  1.7.7
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-2019 **
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 #include "sion_datatypes.h"
20 
23 
25 {
26  _sion_flags_entry* root;
27  _sion_flags_entry* current;
28  sion_int64 mask;
29 };
30 
32 {
33  char* key;
34  char* val;
35  _sion_flags_entry* next;
36 };
37 
38 void _sion_flags_init_entry(_sion_flags_entry* entry);
40 void _sion_flags_destroy_entry(_sion_flags_entry** entry);
41 
42 _sion_flags_entry* _sion_flags_iter(_sion_flags_store* store);
43 
44 void _sion_flags_init_store(_sion_flags_store* store);
46 void _sion_flags_destroy_store(_sion_flags_store** store);
47 
49  const char* key,
50  const char* val);
51 void _sion_flags_add(_sion_flags_store* store,
52  const char* key,
53  const char* val);
54 _sion_flags_entry* _sion_flags_get(_sion_flags_store* store,
55  const char* key);
56 sion_int64 _sion_flags_update_mask(_sion_flags_store* store);
57 
58 _sion_flags_store* _sion_parse_flags(const char* flags);
59 
60 #endif
_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:156
_sion_flags_store * _sion_flags_create_store(void)
Create a flags entry.
Definition: sion_flags.c:107
_sion_flags_store * _sion_parse_flags(const char *flags)
Parse flags and return a flags store with key value pairs.
Definition: sion_flags.c:326
_sion_flags_entry * _sion_flags_create_entry(void)
Create a flags entry.
Definition: sion_flags.c:49
Definition: sion_flags.h:32