--- libaitcfg/inc/aitcfg.h 2025/10/09 16:40:02 1.21.2.1 +++ libaitcfg/inc/aitcfg.h 2026/08/04 18:59:27 1.23 @@ -3,7 +3,7 @@ * by Michael Pounov * * $Author: misho $ -* $Id: aitcfg.h,v 1.21.2.1 2025/10/09 16:40:02 misho Exp $ +* $Id: aitcfg.h,v 1.23 2026/08/04 18:59:27 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 - 2025 +Copyright 2004 - 2026 by Michael Pounov . All rights reserved. Redistribution and use in source and binary forms, with or without @@ -111,6 +111,15 @@ void cfgEndConfig(cfg_root_t **pcfg); */ int cfgInitConfigExt(cfg_root_t * __restrict cfg); /* + * cfgLoadConfigExt() - Load config from file with recursion level of includes + * + * @cfgName = Config filename + * @cfg = Config root + * @lvl = Level of include recursion + * return: -1 error or 0 ok + */ +int cfgLoadConfigExt(const char *cfgName, cfg_root_t * __restrict cfg, int lvl); +/* * cfgLoadConfig() - Load config from file * * @cfgName = Config filename @@ -167,13 +176,15 @@ int cfgReadLines(FILE *f, const char *delim, const cha ait_val_t *cfgWriteLines(FILE *f, const char *delim, const char *eol, const char *section, cfg_root_t * __restrict cfg); /* - * cfgReadConfig() - Read file and add new item at config root + * cfg_ReadConfig() - Read file and add new item at config root * * @f = File resource * @cfg = Config root + * @lvl = Level of include recursion * return: -1 error or 0 ok */ -int cfgReadConfig(FILE *f, cfg_root_t * __restrict cfg); +int cfg_ReadConfig(FILE *f, cfg_root_t * __restrict cfg, int lvl); +#define cfgReadConfig(f, c) cfg_ReadConfig((f), (c), 1) /* * cfgWriteConfig() - Write config from memory *