31__parser__(type=ME_PAX_LC_CBP:
"generic pointer to libconfig call-back data")
35#define LcConfigIncludeCallF_ARGS \
36 MK_RT_ARGS struct LcConfigS* const cfg, MK_STRN incDir, MK_STRN path, MK_BFL ret_inout
39#define LcConfigIncludeFreeF_ARGS MK_RT_ARGS struct LcConfigS* const cfg
43#define LcConfigIncludeCallF_CHECK do { \
44 assert (cfg->fConfigIncludeData != NULL); \
45 if (LcCfgCheck(cfg) == false || MkOBJ_R(cfg).self == NULL) return MK_OK; \
49#define LcSettingDeleteCallF_ARGS \
50 MK_RT_ARGS struct LcConfigS* const cfg, struct LcSettingS* const cfs
53#define LcSettingDeleteFreeF_ARGS MK_RT_ARGS struct LcConfigS* const cfg
57#define LcSettingDeleteCallF_CHECK do { \
58 assert (cfg->fSettingDeleteData != NULL); \
59 if (LcCfgCheck(cfg) == false || MkOBJ_R(cfg).self == NULL) return MK_OK; \
115 #define LcConfigC_SIGNATURE (MkObjectC_SIGNATURE ^ (16u<<10))
116 #define LcConfigC_MASK (((1u<<22)-1)<<10)
124 #define LcConfigC_X2cfg(x) (x)
125 #define LcConfigC_X2obj(x) MkOBJ(x)
140 #define LcConfigC_T ( (struct MkTypeDefS *) (LcConfigC_TT) )
142 #define LcConfigST LcConfigC_T
144 #define LcConfigSTT (MkTYP(LcConfigST))
146 #define LcConfigC_type LC_CFG
148 #define LcConfigCT_X(instance) ( (struct MkTypeDefS *) (MkOBJ_R(instance).type) )
150 #define LcConfigCTT_X(instance) (MkOBJ_R(instance).type)
152 #define LcConfigCT_TT(typ) ( (struct MkTypeDefS *) (typ) )
154 #define LcConfigC_NS LC
156 #define LcConfigCTT LcConfigCTT
158 #define LcConfigCT ( (struct MkTypeDefS *) LcConfigCTT )
166 #pragma GCC diagnostic push
167 #pragma GCC diagnostic ignored "-Wattributes"
185 #pragma GCC diagnostic pop
186 #define LcConfigC_Check(mng) LcCfgCheck(mng)
196 META_ATTRIBUTE_SANITIZE
204 META_ATTRIBUTE_SANITIZE
211 #define LcCfgRaise(_cfg) if (!_MkCheckX(LcConfigC,_cfg)) { \
212 MkErrorSetC_1E("'LcConfigC' hdl is NULL"); \
217 #define LcCFG_R(x) (*(x)).super.cfg
219 #define LcCFG(x) (&LcCFG_R(x))
235#define LcGetCfgFromNat(_nat) LC_SET_T(LcConfigC,config_get_hook,_nat)
246__parser__push__(doc-group=_ignore_,doc-index=Class,doc-name=Export,
class=LcConfigC);
313#define LcConfigHandleResolve_e(netHdl) ({ \
314 MK_HDL tmpHdl=netHdl; \
319 tmp=LcConfigHandleResolve(tmpHdl); \
321 MkErrorSetC_1_NULL("ERROR: 'LcConfigC' handle is 'NULL'"); \
336 __parser__(flags=
new,doc-group=_ignore_,doc-index=Class,doc-name=Misc,
class=LcConfigC,null-
return-allow)
357__parser__push__(doc-name=Introspection,doc-index=Class,
class=LcConfigC,no-rpc,null-
return-allow,flags=
new);
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 MkTypeDefS-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)
static MK_OBJ MkTypeInstances(MK_TYP const typ)
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