mirror of https://github.com/sipwise/klish.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
47 lines
1.6 KiB
47 lines
1.6 KiB
/*
|
|
* ini.h
|
|
*/
|
|
|
|
#ifndef _lub_ini_h
|
|
#define _lub_ini_h
|
|
|
|
#include "lub/c_decl.h"
|
|
#include "lub/list.h"
|
|
|
|
typedef struct lub_pair_s lub_pair_t;
|
|
typedef struct lub_ini_s lub_ini_t;
|
|
typedef lub_list_node_t lub_ini_node_t;
|
|
|
|
_BEGIN_C_DECL
|
|
|
|
/* Pair */
|
|
int lub_pair_compare(const void *first, const void *second);
|
|
void lub_pair_init(lub_pair_t *instance, const char *name, const char *value);
|
|
lub_pair_t *lub_pair_new(const char *name, const char *value);
|
|
void lub_pair_fini(lub_pair_t *instance);
|
|
void lub_pair_free(lub_pair_t *instance);
|
|
const char *lub_pair__get_name(const lub_pair_t *instance);
|
|
void lub_pair__set_name(lub_pair_t *instance, const char *name);
|
|
const char *lub_pair__get_value(const lub_pair_t *instance);
|
|
void lub_pair__set_value(lub_pair_t *instance, const char *value);
|
|
|
|
/* Ini */
|
|
void lub_ini_init(lub_ini_t *instance);
|
|
lub_ini_t *lub_ini_new(void);
|
|
void lub_ini_fini(lub_ini_t *instance);
|
|
void lub_ini_free(lub_ini_t *instance);
|
|
lub_pair_t *lub_ini_find_pair(const lub_ini_t *instance, const char *name);
|
|
const char *lub_ini_find(const lub_ini_t *instance, const char *name);
|
|
void lub_ini_add(lub_ini_t *instance, lub_pair_t *pair);
|
|
int lub_ini_parse_str(lub_ini_t *instance, const char *ini);
|
|
int lub_ini_parse_file(lub_ini_t *instance, const char *fn);
|
|
lub_ini_node_t *lub_ini__get_head(lub_ini_t *instance);
|
|
lub_ini_node_t *lub_ini__get_tail(lub_ini_t *instance);
|
|
lub_ini_node_t *lub_ini__get_next(lub_ini_node_t *node);
|
|
lub_ini_node_t *lub_ini__get_prev(lub_ini_node_t *node);
|
|
lub_pair_t *lub_ini__iter_data(lub_ini_node_t *node);
|
|
|
|
_END_C_DECL
|
|
|
|
#endif /* _lub_ini_h */
|