|
|
| version 1.6.4.4, 2012/04/02 16:00:00 | version 1.6.4.6, 2012/04/03 11:51:52 |
|---|---|
| Line 49 SUCH DAMAGE. | Line 49 SUCH DAMAGE. |
| #include <aitio.h> | #include <aitio.h> |
| #include <atree.h> | #include <atree.h> |
| #include <pthread.h> | |
| struct tagCfg { | struct tagCfg { |
| Line 60 struct tagCfg { | Line 61 struct tagCfg { |
| RB_ENTRY(tagCfg) cfg_node; | RB_ENTRY(tagCfg) cfg_node; |
| }; | }; |
| typedef struct tagRC { | typedef struct tagRC { |
| #ifdef HAVE_LIBPTHREAD | |
| pthread_mutex_t rc_mtx; | pthread_mutex_t rc_mtx; |
| #endif | |
| struct tagCfg *slh_first; | struct tagCfg *slh_first; |
| struct tagCfg *rbh_root; | struct tagCfg *rbh_root; |
| } cfg_root_t; | } cfg_root_t; |
| #ifdef HAVE_LIBPTHREAD | |
| #define CFG_RC_LOCK(x) pthread_mutex_lock(&(x)->rc_mtx) | #define CFG_RC_LOCK(x) pthread_mutex_lock(&(x)->rc_mtx) |
| #define CFG_RC_UNLOCK(x) pthread_mutex_unlock(&(x)->rc_mtx) | #define CFG_RC_UNLOCK(x) pthread_mutex_unlock(&(x)->rc_mtx) |
| #else | |
| #define CFG_RC_LOCK(x) | |
| #define CFG_RC_UNLOCK(x) | |
| #endif | |
| // cfg_GetErrno() Get error code of last operation | // cfg_GetErrno() Get error code of last operation |
| Line 83 inline const char *cfg_GetError(); | Line 78 inline const char *cfg_GetError(); |
| /* | /* |
| * Macros for config library. | * Macros for config library. |
| */ | */ |
| #define CFG_ISEMPTY(x) RB_EMPTY((x)) | #define CFG_ISEMPTY(x) RB_EMPTY((x)) |
| /* | /* |
| * cfgInitConfig() - Init config root | |
| * | |
| * @cfg = Config root | |
| * return: -1 error or 0 ok | |
| */ | |
| int cfgInitConfig(cfg_root_t * __restrict cfg); | |
| /* | |
| * cfgLoadConfig() - Load config from file | * cfgLoadConfig() - Load config from file |
| * | * |
| * @cfgName = Config filename | * @cfgName = Config filename |
| Line 111 void cfgUnloadConfig(cfg_root_t * __restrict cfg); | Line 113 void cfgUnloadConfig(cfg_root_t * __restrict cfg); |
| * return: -1 error or 0 ok | * return: -1 error or 0 ok |
| */ | */ |
| int cfgReadConfig(FILE *f, cfg_root_t * __restrict cfg); | int cfgReadConfig(FILE *f, cfg_root_t * __restrict cfg); |
| /* | |
| * cfgWriteConfig() - Write config from memory | |
| * | |
| * @f = File handle | |
| * @cfg = Config root | |
| * @whitespace = Additional whitespace characters to file | |
| * return: -1 error or 0 ok | |
| */ | |
| int cfgWriteConfig(FILE *f, cfg_root_t * __restrict cfg, int whitespace); | |
| #if 0 | #if 0 |
| /* | /* |
| Line 128 int cfg_CreateConfig(const char *csConfigName, sl_conf | Line 139 int cfg_CreateConfig(const char *csConfigName, sl_conf |
| */ | */ |
| int CreateConfig(const char *csConfigName, sl_config * __restrict cfg); | int CreateConfig(const char *csConfigName, sl_config * __restrict cfg); |
| /* | |
| * WriteConfig() Write to file from items in config list | |
| * @f = file resource | |
| * @cfg = Head list element | |
| * return: 0 ok; -1 error:: can`t write to file | |
| */ | |
| int WriteConfig(FILE *f, sl_config * __restrict cfg); | |
| /* | |
| * cfg_WriteConfig() Write to file from items in config list without whitespaces! | |
| * @f = file resource | |
| * @cfg = Head list element | |
| * return: 0 ok; -1 error:: can`t write to file | |
| */ | |
| int cfg_WriteConfig(FILE *f, sl_config * __restrict cfg); | |
| /* | /* |
| * ConcatConfig() Concat two list in one | * ConcatConfig() Concat two list in one |