SIONlib
1.7.5
Scalable I/O library for parallel access to task-local files
src
lib
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
21
typedef
struct
_sion_flags_store_struct
_sion_flags_store
;
22
typedef
struct
_sion_flags_entry_struct
_sion_flags_entry
;
23
24
struct
_sion_flags_store_struct
25
{
26
_sion_flags_entry
* root;
27
_sion_flags_entry
* current;
28
sion_int64 mask;
29
};
30
31
struct
_sion_flags_entry_struct
32
{
33
char
* key;
34
char
* val;
35
_sion_flags_entry
* next;
36
};
37
38
void
_sion_flags_init_entry(
_sion_flags_entry
* entry);
39
_sion_flags_entry
*
_sion_flags_create_entry
(
void
);
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);
45
_sion_flags_store
*
_sion_flags_create_store
(
void
);
46
void
_sion_flags_destroy_store(
_sion_flags_store
** store);
47
48
_sion_flags_entry
*
_sion_flags_add_entry
(
_sion_flags_entry
* entry,
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_datatypes.h
_sion_flags_create_store
_sion_flags_store * _sion_flags_create_store(void)
Create a flags entry.
Definition:
sion_flags.c:104
_sion_flags_add_entry
_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:153
_sion_flags_entry_struct
Definition:
sion_flags.h:30
_sion_flags_store_struct
Definition:
sion_flags.h:23
_sion_parse_flags
_sion_flags_store * _sion_parse_flags(const char *flags)
Parse flags and return a flags store with key value pairs.
Definition:
sion_flags.c:298
_sion_flags_create_entry
_sion_flags_entry * _sion_flags_create_entry(void)
Create a flags entry.
Definition:
sion_flags.c:46
Generated by
1.8.16