// 增加一条配置
static struct config *add_node(struct config *parent, char *key, char *val, int lineno);
// 返回配置文件根结构体指针
struct config *cfg_load_file(char *filename);
// 释放
static void _cfg_free(struct config *cfg, int indent);
// 查找key对应的结构体指针
static struct config *cfg_find_child(struct config *cfg, char *key);
// 取出key对应的结构体指针
struct config *cfg_get(struct config *cfg, char *key);
// 取出结构体中value值
int cfg_num(struct config *cfg);
char *cfg_str(struct config *cfg);
// 取出结构体中Key对应的值
int cfg_getnum(struct config *cfg, char *key);
char *cfg_getstr(struct config *cfg, char *key);
// 输出到文本中
static void _cfg_print(struct config *cfg, int indent, FILE *fp);