1 /* 2 * ini.h 3 */ 4 5 #ifndef _lub_ini_h 6 #define _lub_ini_h 7 8 #include "lub/c_decl.h" 9 #include "lub/list.h" 10 11 typedef struct lub_pair_s lub_pair_t; 12 typedef struct lub_ini_s lub_ini_t; 13 typedef lub_list_node_t lub_ini_node_t; 14 15 _BEGIN_C_DECL 16 17 /* Pair */ 18 int lub_pair_compare(const void *first, const void *second); 19 void lub_pair_init(lub_pair_t *instance, const char *name, const char *value); 20 lub_pair_t *lub_pair_new(const char *name, const char *value); 21 void lub_pair_fini(lub_pair_t *instance); 22 void lub_pair_free(lub_pair_t *instance); 23 const char *lub_pair__get_name(const lub_pair_t *instance); 24 void lub_pair__set_name(lub_pair_t *instance, const char *name); 25 const char *lub_pair__get_value(const lub_pair_t *instance); 26 void lub_pair__set_value(lub_pair_t *instance, const char *value); 27 28 /* Ini */ 29 void lub_ini_init(lub_ini_t *instance); 30 lub_ini_t *lub_ini_new(void); 31 void lub_ini_fini(lub_ini_t *instance); 32 void lub_ini_free(lub_ini_t *instance); 33 lub_pair_t *lub_ini_find_pair(const lub_ini_t *instance, const char *name); 34 const char *lub_ini_find(const lub_ini_t *instance, const char *name); 35 void lub_ini_add(lub_ini_t *instance, lub_pair_t *pair); 36 int lub_ini_parse_str(lub_ini_t *instance, const char *ini); 37 int lub_ini_parse_file(lub_ini_t *instance, const char *fn); 38 lub_ini_node_t *lub_ini__get_head(lub_ini_t *instance); 39 lub_ini_node_t *lub_ini__get_tail(lub_ini_t *instance); 40 lub_ini_node_t *lub_ini__get_next(lub_ini_node_t *node); 41 lub_ini_node_t *lub_ini__get_prev(lub_ini_node_t *node); 42 lub_pair_t *lub_ini__iter_data(lub_ini_node_t *node); 43 44 _END_C_DECL 45 46 #endif /* _lub_ini_h */ 47