MP-Gadget  5.0.1.dev1-76bc7d4726-dirty
paramset.h
Go to the documentation of this file.
1 #ifndef PARAMSET_H
2 #define PARAMSET_H
3 
4 #include <stdio.h>
5 
7  REQUIRED = 0,
8  OPTIONAL = 1,
9  OPTIONAL_UNDEF = 2, /* optional and the default is undefined param_is_nil() is true if no value is given. */
10 };
11 
12 typedef struct ParameterEnum {
13  const char * name;
14  int value;
16 
17 typedef struct ParameterSet ParameterSet;
18 typedef int (*ParameterAction)(ParameterSet * ps, const char * name, void * userdata);
19 
20 void
21 param_declare_int(ParameterSet * ps, const char * name, const enum ParameterFlag required, const int defvalue, const char * help);
22 
23 void
24 param_declare_double(ParameterSet * ps, const char * name, const enum ParameterFlag required, const double defvalue, const char * help);
25 
26 void
27 param_declare_string(ParameterSet * ps, const char * name, const enum ParameterFlag required, const char * defvalue, const char * help);
28 
29 void
30 param_declare_enum(ParameterSet * ps, const char * name, ParameterEnum * enumtable, const enum ParameterFlag required, const char * defvalue, const char * help);
31 
32 void
33 param_set_action(ParameterSet * ps, const char * name, ParameterAction action, void * userdata);
34 
35 int
36 param_is_nil(ParameterSet * ps, const char * name);
37 
38 double
39 param_get_double(ParameterSet * ps, const char * name);
40 
41 char *
42 param_get_string(ParameterSet * ps, const char * name);
43 
44 void
45 param_get_string2(ParameterSet * ps, const char * name, char * dest, const size_t len);
46 int
47 param_get_int(ParameterSet * ps, const char * name);
48 
49 int
50 param_get_enum(ParameterSet * ps, const char * name);
51 
52 char *
53 param_format_value(ParameterSet * ps, const char * name);
54 
55 int param_parse (ParameterSet * ps, char * content);
56 /* returns 0 on no error; 1 on error */
57 int param_parse_file (ParameterSet * ps, const char * filename);
58 /* returns 0 on no error; 1 on error */
60 void param_dump(ParameterSet * ps, FILE * stream);
61 
64 
65 void
67 
68 #endif
const char * name
Definition: densitykernel.c:93
ParameterFlag
Definition: paramset.h:6
@ OPTIONAL
Definition: paramset.h:8
@ OPTIONAL_UNDEF
Definition: paramset.h:9
@ REQUIRED
Definition: paramset.h:7
void param_declare_enum(ParameterSet *ps, const char *name, ParameterEnum *enumtable, const enum ParameterFlag required, const char *defvalue, const char *help)
Definition: paramset.c:307
double param_get_double(ParameterSet *ps, const char *name)
Definition: paramset.c:336
struct ParameterEnum ParameterEnum
void parameter_set_free(ParameterSet *ps)
Definition: paramset.c:480
void param_declare_double(ParameterSet *ps, const char *name, const enum ParameterFlag required, const double defvalue, const char *help)
Definition: paramset.c:278
void param_declare_int(ParameterSet *ps, const char *name, const enum ParameterFlag required, const int defvalue, const char *help)
Definition: paramset.c:267
int param_parse_file(ParameterSet *ps, const char *filename)
Definition: paramset.c:234
int param_get_int(ParameterSet *ps, const char *name)
Definition: paramset.c:368
void param_set_action(ParameterSet *ps, const char *name, ParameterAction action, void *userdata)
Definition: paramset.c:321
void param_declare_string(ParameterSet *ps, const char *name, const enum ParameterFlag required, const char *defvalue, const char *help)
Definition: paramset.c:289
void param_dump(ParameterSet *ps, FILE *stream)
Definition: paramset.c:192
char * param_get_string(ParameterSet *ps, const char *name)
Definition: paramset.c:346
int param_is_nil(ParameterSet *ps, const char *name)
Definition: paramset.c:329
int param_parse(ParameterSet *ps, char *content)
Definition: paramset.c:208
char * param_format_value(ParameterSet *ps, const char *name)
Definition: paramset.c:388
int param_get_enum(ParameterSet *ps, const char *name)
Definition: paramset.c:378
void param_get_string2(ParameterSet *ps, const char *name, char *dest, const size_t len)
Definition: paramset.c:355
int param_validate(ParameterSet *ps)
Definition: paramset.c:177
ParameterSet * parameter_set_new()
Definition: paramset.c:472
int(* ParameterAction)(ParameterSet *ps, const char *name, void *userdata)
Definition: paramset.h:18
const char * name
Definition: paramset.h:13
char * content
Definition: paramset.c:96