--- libaitcfg/inc/aitcfg.h 2021/11/26 01:10:34 1.17.2.2 +++ libaitcfg/inc/aitcfg.h 2025/08/19 11:43:53 1.21 @@ -3,7 +3,7 @@ * by Michael Pounov * * $Author: misho $ -* $Id: aitcfg.h,v 1.17.2.2 2021/11/26 01:10:34 misho Exp $ +* $Id: aitcfg.h,v 1.21 2025/08/19 11:43:53 misho Exp $ * ************************************************************************** The ELWIX and AITNET software is distributed under the following @@ -12,7 +12,7 @@ terms: All of the documentation and software included in the ELWIX and AITNET Releases is copyrighted by ELWIX - Sofia/Bulgaria -Copyright 2004 - 2021 +Copyright 2004 - 2025 by Michael Pounov . All rights reserved. Redistribution and use in source and binary forms, with or without @@ -55,6 +55,7 @@ struct tagCfg { ait_val_t cfg_sec; ait_val_t cfg_attr; ait_val_t cfg_val; + int cfg_quoted; TAILQ_ENTRY(tagCfg) cfg_next; RB_ENTRY(tagCfg) cfg_node; @@ -73,6 +74,9 @@ typedef struct tagRC { #define CFG_ATTRIBUTE(x) (assert((x)), AIT_GET_LIKE(&((struct tagCfg*) (x))->cfg_attr, const char*)) #define CFG_VALUE(x) (assert((x)), AIT_GET_LIKE(&((struct tagCfg*) (x))->cfg_val, const char*)) +#ifdef __cplusplus +extern "C" { +#endif // cfg_GetErrno() Get error code of last operation int cfg_GetErrno(); @@ -100,6 +104,13 @@ cfg_root_t *cfgInitConfig(); */ void cfgEndConfig(cfg_root_t **pcfg); /* + * cfgInitConfigExt() - Init existed config root + * + * @cfg = Config root + * return: -1 error or 0 inited config root + */ +int cfgInitConfigExt(cfg_root_t * __restrict cfg); +/* * cfgLoadConfig() - Load config from file * * @cfgName = Config filename @@ -309,5 +320,8 @@ int cfg_unsetAttribute(cfg_root_t * __restrict cfg, co int cfg_loadAttribute(cfg_root_t * __restrict cfg, const char *csSec, const char *csAttr, ait_val_t * __restrict val, const char *csDefValue); +#ifdef __cplusplus +} +#endif #endif