34__parser__(type=ME_PAX_LC_CBP:
"generic pointer to libconfig call-back data")
38#define LcConfigIncludeCallF_ARGS \
39 MK_RT_ARGS struct LcConfigS* const cfg, MK_STRN incDir, MK_STRN path, MK_BFL ret_inout
42#define LcConfigIncludeFreeF_ARGS MK_RT_ARGS struct LcConfigS* const cfg
46#define LcConfigIncludeCallF_CHECK do { \
47 assert (cfg->fConfigIncludeData != NULL); \
48 if (LcCfgCheck(cfg) == false || MkOBJ_R(cfg).self == NULL) return MK_OK; \
52#define LcSettingDeleteCallF_ARGS \
53 MK_RT_ARGS struct LcConfigS* const cfg, struct LcSettingS* const cfs
56#define LcSettingDeleteFreeF_ARGS MK_RT_ARGS struct LcConfigS* const cfg
60#define LcSettingDeleteCallF_CHECK do { \
61 assert (cfg->fSettingDeleteData != NULL); \
62 if (LcCfgCheck(cfg) == false || MkOBJ_R(cfg).self == NULL) return MK_OK; \
118 #define LcConfigC_SIGNATURE (MkObjectC_SIGNATURE ^ (15u<<10))
119 #define LcConfigC_MASK (((1u<<22)-1)<<10)
127 #define LcConfigC_X2cfg(x) (x)
128 #define LcConfigC_X2obj(x) MkOBJ(x)
143 #define LcConfigC_T ( (struct MkSuperTypeS *) (LcConfigC_TT) )
145 #define LcConfigST LcConfigC_T
147 #define LcConfigSTT (MkTYP(LcConfigST))
149 #define LcConfigC_type LC_CFG
151 #define LcConfigCT_X(instance) ( (struct MkSuperTypeS *) (MkOBJ_R(instance).type) )
153 #define LcConfigCTT_X(instance) (MkOBJ_R(instance).type)
155 #define LcConfigCT_TT(typ) ( (struct MkSuperTypeS *) (typ) )
157 #define LcConfigC_NS LC
159 #define LcConfigCTT LcConfigCTT
161 #define LcConfigCT ( (struct MkSuperTypeS *) LcConfigCTT )
169 #pragma GCC diagnostic push
170 #pragma GCC diagnostic ignored "-Wattributes"
188 #pragma GCC diagnostic pop
189 #define LcConfigC_Check(mng) LcCfgCheck(mng)
199 META_ATTRIBUTE_SANITIZE
207 META_ATTRIBUTE_SANITIZE
214 #define LcCfgRaise(_cfg) if (!_MkCheckX(LcConfigC,_cfg)) { \
215 MkErrorSetC_1E("'LcConfigC' hdl is NULL"); \
220 #define LcCFG_R(x) (*(x)).super.cfg
222 #define LcCFG(x) (&LcCFG_R(x))
238#define LcGetCfgFromNat(_nat) LC_SET_T(LcConfigC,config_get_hook,_nat)
249__parser__push__(doc-group=_ignore_,doc-index=Class,doc-name=Export,
class=LcConfigC);
316#define LcConfigHandleResolve_e(netHdl) ({ \
317 MK_HDL tmpHdl=netHdl; \
322 tmp=LcConfigHandleResolve(tmpHdl); \
324 MkErrorSetC_1_NULL("ERROR: 'LcConfigC' handle is 'NULL'"); \
339 __parser__(flags=
new,doc-group=_ignore_,doc-index=Class,doc-name=Misc,
class=LcConfigC,null-
return-allow)
360__parser__push__(doc-name=Introspection,doc-index=Class,
class=LcConfigC,no-rpc,null-
return-allow,flags=
new);
LibLcConfig_lc.h - 16 Nov 2024 - aotto1968.
void(* LcConfigIncludeFreeF)(LcConfigIncludeFreeF_ARGS)
enum MkErrorE(* LcSettingDeleteCallF)(LcSettingDeleteCallF_ARGS)
#define LcSettingDeleteFreeF_ARGS
enum MkErrorE(* LcConfigIncludeCallF)(LcConfigIncludeCallF_ARGS)
void(* LcSettingDeleteFreeF)(LcSettingDeleteFreeF_ARGS)
#define LcConfigIncludeFreeF_ARGS
#define LcConfigIncludeCallF_ARGS
#define LcSettingDeleteCallF_ARGS
static MK_HDL LcConfigHandleGet_RT(MK_RT mkrt, LC_CFG const cfg)
Handle-Get-Slot - returns a export-hdl to the LcConfigC useable for external storage
static LC_CFG LcConfigHandleResolve_RT(MK_RT mkrt, MK_HDL const netHdl)
Handle-Resolve-Slot - return a LcConfigC from netHdl or MK_NULL if invalid…
static MK_ARTIFICIAL LC_CFG LcConfigC_ObjNew(config_t *hdl)
return Programming-Language-Micro-Kernel (PLMK) instance from native hdl …
#define LcGetCfgFromNat(_nat)
helper for LcConfigC_ObjNew …
static LC_CFG LcConfigInstances_RT(MK_RT mkrt)
get head-instance from linked-list of LcConfigS type …
static LC_CFG LcConfigPrev(LC_CFG const cfg)
get previous instance from linked-list of LcConfigS type
static LC_CFG LcConfigC_ObjCreate(config_t *hdl)
return Programming-Language-Micro-Kernel (PLMK) instance from native hdl …
static LC_CFG LcConfigNext(LC_CFG const cfg)
get next instance from linked-list of LcConfigS type
static LC_CFG LcConfigGetNull(void)
Null-Slot - return a LcConfigC typed NULL instance …
static bool LcCfgCheckO(MK_OBJN obj)
check LcConfigS -> MkObjectS::signature …
#define LcConfigC_X2obj(x)
static bool LcCfgCheck(MK_MNGN mng)
check LcConfigS -> MkObjectS::signature …
static LC_CFG LcCfg(MK_MNG mng)
cast a unknown-object into an LcConfigS pointer or NULL if not possible
__thread MK_TYP LcConfigC_TT
class as MkSuperTypeS-class-type …
static LC_CFGN LcCfgN(MK_MNGN mng)
(const) cast a unknown-object into an LcConfigS pointer or NULL if not possible
#define __parser__push__(...)
#define MkSanitizeCheck(_root, _m)
#define MkSanitizeCheckO(_root, _o)
#define MkObjectHandleResolve(...)
#define MkObjectHandleGet(...)
#define MK_ATTR_RT_INSTANCE
#define MK_PARSER_RT_ONLY
#define MK_ATTR_RT_STATIC
#define MK_INSTANCE_HDL(x)
Struct to represent the data from the LcConfigC …
LcConfigIncludeCallF fConfigIncludeCall
internal - callback call function
LC_CBP fConfigIncludeData
callback data - internal used for config_include_fn_t callback
LcSettingDeleteFreeF fSettingDeleteFree
internal - callback data-free function
LC_CBP fSettingDeleteData
callback data - internal used for config_include_fn_t callback
LcConfigIncludeFreeF fConfigIncludeFree
internal - callback data-free function
config_t * nat
internal - link between LcConfigS and native library
config_t natdata
internal - predefined storage used for 'nat' pointer
union LcConfigS::@1 super
LcSettingDeleteCallF fSettingDeleteCall
internal - callback call function