blob: 2ea440a274c3e9c783147e5027104d49086ce4e7 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
#ifndef fooconfighfoo
#define fooconfighfoo
enum cfg_value_type {
CFG_VAL_TYPE_INVALID,
CFG_VAL_TYPE_STRING,
CFG_VAL_TYPE_UINT16,
CFG_VAL_TYPE_ADDRS,
};
struct cfg_key_value_map {
const char *key_name;
int key_value;
enum cfg_value_type value_type;
};
union cfg_value {
const char *str;
uint16_t uint16;
struct list_head addrs;
};
bool config_parse_line(struct cfg *cfg, const char *filename, char **buf,
struct cfg_key_value_map *kvmap,
int *rkey, const char **rkeyname,
union cfg_value *rvalue);
bool config_parse_header(struct cfg *cfg, const char *filename,
const char *title, char **buf);
#endif
|