|
|
| version 1.1.1.1, 2008/08/28 13:17:41 | version 1.4, 2010/03/22 14:53:49 |
|---|---|
| Line 1 | Line 1 |
| /************************************************************************* | |
| * (C) 2008 AITNET ltd - Sofia/Bulgaria - <misho@aitbg.com> | |
| * by Michael Pounov <misho@openbsd-bg.org> | |
| * | |
| * $Author$ | |
| * $Id$ | |
| * | |
| *************************************************************************/ | |
| #ifndef __AITCFG_H | #ifndef __AITCFG_H |
| #define __AITCFG_H | #define __AITCFG_H |
| Line 17 typedef struct tagHead sl_config; | Line 25 typedef struct tagHead sl_config; |
| /* | /* |
| * Macros for config library. Typecast string to specific config string format. | |
| */ | |
| #define CFG(x) (unsigned char *)(x) | |
| #define CFG_ISSET(x) ((long) cfg_FirstItem((x))) | |
| /* | |
| * InitConfig() Head initializing function for config | * InitConfig() Head initializing function for config |
| * @cfg = New head element for init | * @cfg = New head element for init |
| * return: 0 ok; -1 error:: new head element is null | * return: 0 ok; -1 error:: new head element is null |
| */ | */ |
| inline int InitConfig(sl_config * __restrict cfg); | inline int InitConfig(sl_config * __restrict cfg); |
| /* | /* |
| * cfg_CreateConfig() Create config file from memory without whitespaces! | |
| * @csConfigName = New config filename | |
| * @cfg = Head list element | |
| * return: 0 ok; -1 error:: can`t save new config | |
| */ | |
| int cfg_CreateConfig(const char *csConfigName, sl_config * __restrict cfg); | |
| /* | |
| * CreateConfig() Create config file from memory | * CreateConfig() Create config file from memory |
| * @csConfigName = New config filename | * @csConfigName = New config filename |
| * @cfg = Head list element | * @cfg = Head list element |
| Line 64 int ReadConfig(FILE *f, sl_config * __restrict cfg); | Line 87 int ReadConfig(FILE *f, sl_config * __restrict cfg); |
| */ | */ |
| int WriteConfig(FILE *f, sl_config * __restrict cfg); | 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 | |
| * @cfg = Head list element of main list | |
| * @add_cfg = Head list element of added list | |
| * return: 0 ok; -1 error:: can`t concat lists | |
| */ | |
| int ConcatConfig(sl_config * __restrict cfg, sl_config * __restrict add_cfg); | |
| /* | |
| * MergeConfig() Marge two list in one cfg and destroy add_cfg | |
| * @cfg = Head list element of main list | |
| * @add_cfg = Head list element of merged list (destroy after all!) | |
| * return: 0 ok; -1 error:: can`t merge lists | |
| */ | |
| int MergeConfig(sl_config * __restrict cfg, sl_config * __restrict add_cfg); | |
| /* | |
| * cfg_FindAttribute() Find attribute position in config list | * cfg_FindAttribute() Find attribute position in config list |
| * @cfg = Head list element | * @cfg = Head list element |
| * @csSec = Config section //[{csSec}] | * @csSec = Config section //[{csSec}] |
| Line 98 int cfg_UnsetAttribute(sl_config * __restrict cfg, con | Line 145 int cfg_UnsetAttribute(sl_config * __restrict cfg, con |
| * return: NULL item not found or null parameters; !=NULL value const string | * return: NULL item not found or null parameters; !=NULL value const string |
| */ | */ |
| inline const u_char *cfg_GetAttribute(sl_config * __restrict cfg, const u_char *csSec, const u_char *csAttr); | inline const u_char *cfg_GetAttribute(sl_config * __restrict cfg, const u_char *csSec, const u_char *csAttr); |
| /* | |
| * cfg_FirstItem() Get first item from config list and return his value | |
| * @cfg = Head list element | |
| * return: NULL if no items in list; !=NULL first pair item | |
| */ | |
| inline struct tagPair *cfg_FirstItem(sl_config * __restrict cfg); | |
| /* | /* |
| * cfg_LoadAttribute() Extended get attribute, if not found item return *default value* | * cfg_LoadAttribute() Extended get attribute, if not found item return *default value* |