Main Page | Modules | Data Structures | File List | Data Fields

config.h

00001 /* 
00002  * Copyright (c) 2005, 2006 by KoanLogic s.r.l. - All rights reserved.  
00003  */
00004 
00005 #ifndef _U_CONFIG_H_
00006 #define _U_CONFIG_H_
00007 
00008 #include <u/libu_conf.h>
00009 
00010 #ifdef __cplusplus
00011 extern "C" {
00012 #endif
00013 
00014 struct u_config_s;
00015 typedef struct u_config_s u_config_t;
00016 
00017 int u_config_create(u_config_t **pc);
00018 int u_config_free(u_config_t *c);
00019 int u_config_load(u_config_t *c, int fd, int overwrite);
00020 
00021 int u_config_load_from_file (const char *file, u_config_t **pc);
00022 
00023 typedef char* (*u_config_gets_t)(void *arg, char *buf, size_t size);
00024 int u_config_load_from(u_config_t *c, u_config_gets_t cb, 
00025     void *arg, int overwrite);
00026 
00027 const char* u_config_get_key(u_config_t *c);
00028 const char* u_config_get_value(u_config_t *c);
00029 
00030 int u_config_get_subkey(u_config_t *c, const char *subkey, u_config_t **pc);
00031 int u_config_get_subkey_nth(u_config_t *c,const char *subkey, int n, 
00032     u_config_t **pc);
00033 
00034 const char* u_config_get_subkey_value(u_config_t *c, const char *subkey);
00035 
00036 int u_config_get_subkey_value_b(u_config_t *c, const char *subkey, int def, 
00037     int *out);
00038 int u_config_get_subkey_value_i(u_config_t *c, const char *subkey, int def, 
00039     int *out);
00040 
00041 int u_config_add_key(u_config_t *c, const char *key, const char *val);
00042 int u_config_set_key(u_config_t *c, const char *key, const char *val);
00043 
00044 int u_config_add_child(u_config_t *c, const char *key, u_config_t **pc);
00045 u_config_t* u_config_get_child_n(u_config_t *c, const char *key, int n);
00046 u_config_t* u_config_get_child(u_config_t *c, const char *key);
00047 u_config_t *u_config_get_child_anon_n (u_config_t *c, int n);
00048 
00049 void u_config_print(u_config_t *c, int lev);
00050 
00051 #ifdef __cplusplus
00052 }
00053 #endif
00054 
00055 #endif /* !_U_CONFIG_H_ */

←Products
© 2005-2006 - KoanLogic S.r.l. - All rights reserved