86#define SET_FEAT(F) (F) |= NCX_FL_FEAT_SET
87#define CLR_FEAT(F) (F) &= ~NCX_FL_FEAT_SET
88#define IS_FEAT_SET(F) ((F) & NCX_FL_FEAT_SET)
98#define SET_FEAT_ENA(F) (F) |= NCX_FL_FEAT_ENABLED
99#define CLR_FEAT_ENA(F) (F) &= ~NCX_FL_FEAT_ENABLED
100#define IS_FEAT_ENA(F) ((F) & NCX_FL_FEAT_ENABLED)
107#define SET_FEAT_XFER(F) (F) |= NCX_FL_FEAT_XFER
108#define CLR_FEAT_XFER(F) (F) &= ~NCX_FL_FEAT_XFER
109#define IS_FEAT_XFER(F) ((F) & NCX_FL_FEAT_XFER)
171 const xmlChar *featname);
195 const xmlChar *prefix,
197 const xmlChar *featname);
231 const xmlChar *prefix,
233 const xmlChar *modprefix);
265 const xmlChar *name);
277 const xmlChar *name);
290 const xmlChar *name);
307 boolean enabledonly);
321 boolean enabledonly);
346 const xmlChar *revision,
347 const xmlChar *name);
486extern const xmlChar *
dlq provides general double-linked list and queue support:
status_t
global error return code
Definition: status_enum.h:210
ncx_feature_code_t
Feature code generation type (deprecated)
Definition: ncxtypes.h:993
boolean(* ncx_feature_cbfn_t)(const ncx_module_t *mod, ncx_feature_t *feature, void *cookie)
user function callback template to traverse all module features for a specified module
Definition: ncxtypes.h:1486
void ncx_set_feature_parms(ncx_feature_t *feature)
Check if any feature parameters were set for the specified feature struct.
Definition: ncx_feature.c:1578
status_t ncx_set_feature_code_entry(const xmlChar *featstr, ncx_feature_code_t featcode)
Create or set a feature_entry struct for the specified feature code parameter (deprecated)
Definition: ncx_feature.c:1358
ncx_feature_t * ncx_find_feature_all(ncx_module_t *mod, const xmlChar *name)
Find a ncx_feature_t struct in the module and perhaps any of its submodules.
Definition: ncx_feature.c:1000
void ncx_clean_iffeatureQ(dlq_hdr_t *iffeatureQ)
Clean a Q of malloced ncx_iffeature_t struct.
Definition: ncx_feature.c:723
ncx_iff_ref_t * ncx_find_iff_ref(dlq_hdr_t *iff_refQ, const xmlChar *prefix, uint32 prefix_len, const xmlChar *featname)
Find a ncx_iff_ref_t struct.
Definition: ncx_feature.c:562
ncx_iffeature_t * ncx_clone_iffeature(ncx_iffeature_t *srciff)
Clone a new ncx_iffeature_t struct.
Definition: ncx_feature.c:639
void ncx_free_iff_ref(ncx_iff_ref_t *iff_ref)
Free a malloced ncx_iff_ref_t struct.
Definition: ncx_feature.c:614
void ncx_set_features_for_mod(ncx_module_t *mod)
Check if any feature parameters were set for the specified feature struct for all features in a modul...
Definition: ncx_feature.c:1635
boolean ncx_feature_enabled(ncx_feature_t *feature)
Check if the specified feature and any referenced if-features are enabled.
Definition: ncx_feature.c:1205
ncx_feature_t * ncx_find_feature_que(dlq_hdr_t *featureQ, const xmlChar *name)
Find a ncx_feature_t struct in the specified Q.
Definition: ncx_feature.c:964
ncx_feature_t * ncx_first_feature_from_iff(ncx_iffeature_t *iff)
Get the feature in the first ncx_iff_ref_t struct.
Definition: ncx_feature.c:1663
ncx_iffeature_t * ncx_new_iffeature(void)
Get a new ncx_iffeature_t struct.
Definition: ncx_feature.c:455
void ncx_set_feature_enable_default(boolean flag)
Set the feature_enable_default flag.
Definition: ncx_feature.c:1315
void ncx_feature_init(void)
Init the ncx_feature module.
Definition: ncx_feature.c:399
ncx_feature_t * ncx_find_feature(ncx_module_t *mod, const xmlChar *name)
Find a ncx_feature_t struct in the module and perhaps any of its submodules.
Definition: ncx_feature.c:868
ncx_feature_t * ncx_new_feature(void)
Get a new ncx_feature_t struct.
Definition: ncx_feature.c:796
void ncx_set_feature_code_default(ncx_feature_code_t code)
Set the feature_code_default enumeration (deprecated)
Definition: ncx_feature.c:1334
status_t ncx_set_feature_enable_ex(const xmlChar *modname, const xmlChar *name, boolean flag, boolean force)
Create or set a feature_entry struct for the specified feature enabled parameter (extended)
Definition: ncx_feature.c:1500
ncx_iff_ref_t * ncx_new_iff_ref(const xmlChar *prefix, uint32 prefix_len, const xmlChar *featname)
Get a new ncx_iff_ref_t struct.
Definition: ncx_feature.c:515
boolean ncx_feature_enabled_str(const xmlChar *modname, const xmlChar *revision, const xmlChar *name)
Find a ncx_feature_t struct and check if it is enabled.
Definition: ncx_feature.c:1283
const xmlChar * ncx_get_feature_modname(ncx_feature_t *feat)
Get the module name string for the feature.
Definition: ncx_feature.c:1694
status_t ncx_set_feature_enable_entry(const xmlChar *featstr, boolean flag)
Create or set a feature_entry struct for the specified feature enabled parameter.
Definition: ncx_feature.c:1419
uint32 ncx_feature_count(const ncx_module_t *mod, boolean enabledonly)
Get the total feature count for this module and any submodules.
Definition: ncx_feature.c:1128
void ncx_for_all_features(const ncx_module_t *mod, ncx_feature_cbfn_t cbfn, void *cookie, boolean enabledonly)
Execute a callback function for all features in this module and any submodules.
Definition: ncx_feature.c:1049
status_t ncx_set_feature_enable(const xmlChar *modname, const xmlChar *name, boolean flag)
Create or set a feature_entry struct for the specified feature enabled parameter.
Definition: ncx_feature.c:1471
ncx_iffeature_t * ncx_find_iffeature(dlq_hdr_t *iffeatureQ, const xmlChar *prefix, const xmlChar *name, const xmlChar *modprefix)
Search a Q of ncx_iffeature_t structs for a match.
Definition: ncx_feature.c:750
void ncx_free_iffeature(ncx_iffeature_t *iff)
Free a malloced ncx_iffeature_t struct.
Definition: ncx_feature.c:479
void ncx_free_feature(ncx_feature_t *feature)
Free a malloced ncx_feature_t struct.
Definition: ncx_feature.c:830
void ncx_feature_cleanup(void)
Cleanup the ncx_feature module.
Definition: ncx_feature.c:425
YANG module data structures Many internal representations of YANG module constructs.
YANG feature entry.
Definition: ncxtypes.h:1021
YANG 1.1 identifier-ref-arg that within an if-feature expression.
Definition: ncxtypes.h:937
YANG if-feature entry.
Definition: ncxtypes.h:953
representation of one module or submodule during and after parsing
Definition: ncxtypes.h:1138
NCX Syntax Token Handler.
Value Node Basic Support.
YANG Module parser utilities.