yumapro
24.10-3
YumaPro SDK
|
Object access functions allow the compiler to create an object template tree. More...
Functions | |
obj_template_t * | obj_new_template (obj_type_t objtype) |
Malloc and initialize the fields in a an object template. More... | |
void | obj_free_template (obj_template_t *obj) |
Scrub the memory in a obj_template_t by freeing all the sub-fields and then freeing the entire struct itself. More... | |
obj_template_t * | obj_find_template (dlq_hdr_t *que, const xmlChar *modname, const xmlChar *objname) |
Find an object with the specified name. More... | |
obj_template_t * | obj_find_schema_template (dlq_hdr_t *que, const xmlChar *modname, const xmlChar *objname) |
Find an object with the specified name For YANG schema-nodeid so NEVER lookdeep. More... | |
const obj_template_t * | obj_find_template_con (dlq_hdr_t *que, const xmlChar *modname, const xmlChar *objname) |
Find an object with the specified name Return a const pointer; used by yangdump. More... | |
obj_template_t * | obj_find_template_test (dlq_hdr_t *que, const xmlChar *modname, const xmlChar *objname) |
Find an object with the specified name Test version; do not set 'used' flag. More... | |
obj_template_t * | obj_find_template_top (ncx_module_t *mod, const xmlChar *modname, const xmlChar *objname) |
Check if an obj_template_t in the mod->datadefQ or any of the include files visible to this module. More... | |
obj_template_t * | obj_find_template_top_lrcheck (ncx_module_t *mod, const xmlChar *modname, const xmlChar *objname) |
Check if an obj_template_t in the mod->datadefQ or any of the include files visible to this module (LeafRef Check version) More... | |
obj_template_t * | obj_find_template_top_ex (ncx_module_t *mod, const xmlChar *modname, const xmlChar *objname, ncx_name_match_t match_names, boolean alt_names, boolean dataonly, status_t *retres) |
Check if an obj_template_t in the mod->datadefQ or any of the include files visible to this module. More... | |
obj_template_t * | obj_find_template_all (ncx_module_t *mod, const xmlChar *modname, const xmlChar *objname) |
Check if an obj_template_t in the mod->datadefQ or any of the include files used within the entire main module. More... | |
obj_template_t * | obj_find_child (obj_template_t *obj, const xmlChar *modname, const xmlChar *objname) |
Find a child object with the specified Qname. More... | |
obj_template_t * | obj_find_child_lrcheck (obj_template_t *obj, const xmlChar *modname, const xmlChar *objname) |
Find a child object with the specified Qname LeafRef Check VERSION. More... | |
obj_template_t * | obj_find_child_choice_case (obj_template_t *obj, const xmlChar *modname, const xmlChar *objname) |
Find a child object with the specified Qname. More... | |
obj_template_t * | obj_find_child_fast (obj_template_t *obj, xmlns_id_t nsid, const xmlChar *objname) |
Find a child object with the specified Qname. More... | |
obj_template_t * | obj_find_child_ex (obj_template_t *obj, const xmlChar *modname, const xmlChar *objname, ncx_name_match_t match_names, boolean alt_names, boolean dataonly, status_t *retres) |
Find a child object with the specified Qname extended match modes. More... | |
obj_template_t * | obj_find_child_str (obj_template_t *obj, const xmlChar *modname, const xmlChar *objname, uint32 objnamelen) |
Find a child object with the specified Qname. More... | |
obj_template_t * | obj_match_child_str (obj_template_t *obj, const xmlChar *modname, const xmlChar *objname, uint32 objnamelen, uint32 *matchcount) |
Match a child object with the specified Qname Find first command that matches all N chars of objname. More... | |
obj_template_t * | obj_first_child (obj_template_t *obj) |
Get the first child object if the specified object has any children. More... | |
obj_template_t * | obj_first_terminal_child (obj_template_t *obj) |
Get the first child object if the specified object has any children; MUST BE A TERMINAL NODE!!! More... | |
obj_template_t * | obj_first_terminal_child_nokey (obj_template_t *obj) |
Get the first child object if the specified object has any children; MUST BE A TERMINAL NODE!!! More... | |
obj_template_t * | obj_first_terminal_child_nokey_nochoice (obj_template_t *obj) |
Get the first child object if the specified object has any children. More... | |
obj_template_t * | obj_last_child (obj_template_t *obj) |
Get the last child object if the specified object has any children. More... | |
obj_template_t * | obj_next_child (obj_template_t *obj) |
Get the next child object if the specified object has any children. More... | |
obj_template_t * | obj_next_terminal_child (obj_template_t *obj) |
Get the next child object if the specified object has any children; MUST BE TERMINAL NODE!! More... | |
obj_template_t * | obj_next_terminal_child_nokey (obj_template_t *obj) |
Get the next child object if the specified object has any children; MUST BE TERMINAL NODE!! More... | |
obj_template_t * | obj_next_terminal_child_nokey_nochoice (obj_template_t *obj) |
Get the next child object if the specified object has any children. More... | |
obj_template_t * | obj_first_child_augok (obj_template_t *obj) |
Get the first child object if the specified object has any children. More... | |
obj_template_t * | obj_next_child_augok (obj_template_t *obj) |
Get the next child object if the specified object has any children; return augment, not just obj_has_name!!! More... | |
obj_template_t * | obj_previous_child (obj_template_t *obj) |
Get the previous child object if the specified object has any children. More... | |
obj_template_t * | obj_first_child_deep (obj_template_t *obj) |
Get the first child object if the specified object has any children. More... | |
obj_template_t * | obj_next_child_deep (obj_template_t *obj) |
Get the next child object if the specified object has any children. More... | |
obj_template_t * | obj_next_child_deep_ex (obj_template_t *obj, boolean stopnext) |
Get the next child object if the specified object has any children. More... | |
boolean | obj_find_all_children (ncx_module_t *exprmod, obj_walker_fn_t walkerfn, void *cookie1, void *cookie2, obj_template_t *startnode, const xmlChar *modname, const xmlChar *childname, boolean configonly, boolean textmode, boolean useroot) |
Find all occurances of the specified node(s) within the children of the current node. More... | |
boolean | obj_find_all_ancestors (ncx_module_t *exprmod, obj_walker_fn_t walkerfn, void *cookie1, void *cookie2, obj_template_t *startnode, const xmlChar *modname, const xmlChar *name, boolean configonly, boolean textmode, boolean useroot, boolean orself, boolean *fncalled) |
Find all occurances of the specified node(s) within the ancestors of the current node. More... | |
boolean | obj_find_all_descendants (ncx_module_t *exprmod, obj_walker_fn_t walkerfn, void *cookie1, void *cookie2, obj_template_t *startnode, const xmlChar *modname, const xmlChar *name, boolean configonly, boolean textmode, boolean useroot, boolean orself, boolean *fncalled) |
Find all occurances of the specified node(s) within the descendants of the current node. More... | |
boolean | obj_find_all_pfaxis (ncx_module_t *exprmod, obj_walker_fn_t walkerfn, void *cookie1, void *cookie2, obj_template_t *startnode, const xmlChar *modname, const xmlChar *name, boolean configonly, boolean dblslash, boolean textmode, boolean useroot, ncx_xpath_axis_t axis, boolean *fncalled) |
Find all occurances of the specified preceding or following node(s). More... | |
obj_case_t * | obj_find_case (obj_choice_t *choic, const xmlChar *modname, const xmlChar *casname) |
Find a specified case arm by name. More... | |
obj_template_t * | obj_new_rpcio (obj_template_t *rpcobj, const xmlChar *name) |
Malloc and initialize the fields in a an obj_rpcio_t. More... | |
void | obj_clean_datadefQ (dlq_hdr_t *que) |
Clean and free all the obj_template_t structs in the specified Q. More... | |
typ_template_t * | obj_find_type (obj_template_t *obj, const xmlChar *typname) |
Check if a typ_template_t in the obj typedefQ hierarchy. More... | |
typ_template_t * | obj_first_typedef (obj_template_t *obj) |
Get the first local typedef for this object, if any. More... | |
grp_template_t * | obj_find_grouping (obj_template_t *obj, const xmlChar *grpname) |
Check if a grp_template_t in the obj groupingQ hierarchy. More... | |
grp_template_t * | obj_first_grouping (obj_template_t *obj) |
Get the first local grouping if any. More... | |
status_t | obj_set_named_type (void *pcb, tk_chain_t *tkc, ncx_module_t *mod, const xmlChar *typname, typ_def_t *typdef, obj_template_t *parent, grp_template_t *grp) |
Resolve type test Called during phase 2 of module parsing. More... | |
obj_template_t * | obj_clone_template (ncx_module_t *mod, obj_template_t *srcobj, dlq_hdr_t *mobjQ) |
Clone an obj_template_t Copy the pointers from the srcobj into the new obj. More... | |
obj_template_t * | obj_clone_template_sm (ncx_module_t *mod, obj_template_t *srcobj, dlq_hdr_t *mobjQ, boolean sm_clone) |
Clone an obj_template_t Copy the pointers from the srcobj into the new obj. More... | |
obj_template_t * | obj_clone_template_case (ncx_module_t *mod, obj_template_t *srcobj, dlq_hdr_t *mobjQ) |
Clone an obj_template_t but make sure it is wrapped in a OBJ_TYP_CASE layer. More... | |
obj_unique_t * | obj_new_unique (void) |
Alloc and Init a obj_unique_t struct. More... | |
void | obj_init_unique (obj_unique_t *un) |
Init a obj_unique_t struct. More... | |
void | obj_free_unique (obj_unique_t *un) |
Free a obj_unique_t struct. More... | |
void | obj_clean_unique (obj_unique_t *un) |
Clean a obj_unique_t struct. More... | |
obj_unique_comp_t * | obj_new_unique_comp (void) |
Alloc and Init a obj_unique_comp_t struct. More... | |
void | obj_free_unique_comp (obj_unique_comp_t *unc) |
Free a obj_unique_comp_t struct. More... | |
obj_unique_t * | obj_find_unique (dlq_hdr_t *que, const xmlChar *xpath) |
Find a specific unique-stmt. More... | |
obj_unique_t * | obj_first_unique (obj_template_t *listobj) |
Get the first unique-stmt for a list. More... | |
obj_unique_t * | obj_next_unique (obj_unique_t *un) |
Get the next unique-stmt for a list. More... | |
obj_unique_comp_t * | obj_first_unique_comp (obj_unique_t *un) |
Get the first identifier in a unique-stmt for a list. More... | |
obj_unique_comp_t * | obj_next_unique_comp (obj_unique_comp_t *uncomp) |
Get the next unique-stmt component for a list. More... | |
obj_key_t * | obj_new_key (void) |
Alloc and Init a obj_key_t struct. More... | |
void | obj_free_key (obj_key_t *key) |
Free a obj_key_t struct. More... | |
obj_key_t * | obj_find_key (dlq_hdr_t *que, const xmlChar *keycompname) |
Find a specific key component by key leaf identifier name. More... | |
obj_key_t * | obj_find_key2 (dlq_hdr_t *que, obj_template_t *keyobj) |
Find a specific key component, check for a specific node in case deep keys are supported, and to check for duplicates. More... | |
obj_key_t * | obj_first_key (obj_template_t *obj) |
Get the first key record. More... | |
obj_key_t * | obj_last_key (obj_template_t *obj) |
Get the last key record. More... | |
const obj_key_t * | obj_first_ckey (const obj_template_t *obj) |
Get the first key record: Const version. More... | |
obj_key_t * | obj_next_key (obj_key_t *objkey) |
Get the next key record. More... | |
obj_key_t * | obj_prev_key (obj_key_t *objkey) |
Get the previous key record. More... | |
const obj_key_t * | obj_next_ckey (const obj_key_t *objkey) |
Get the next key record: Const version. More... | |
uint32 | obj_key_count (const obj_template_t *obj) |
Get the number of keys for this object. More... | |
uint32 | obj_key_count_to_root (obj_template_t *obj) |
Check ancestor-or-self nodes until root reached Find all lists; Count the number of keys. More... | |
void | obj_traverse_keys (obj_template_t *obj, void *cookie1, void *cookie2, obj_walker_fn_t walkerfn) |
Traverse the list keys with a callback function. More... | |
boolean | obj_any_rpcs (const dlq_hdr_t *datadefQ) |
Check if there are any RPC methods in the datadefQ. More... | |
boolean | obj_any_notifs (const dlq_hdr_t *datadefQ) |
Check if there are any notifications in the datadefQ. More... | |
obj_deviate_t * | obj_new_deviate (void) |
Malloc and initialize the fields in a an object deviate statement. More... | |
void | obj_free_deviate (obj_deviate_t *deviate) |
Clean and free an object deviate statement. More... | |
const xmlChar * | obj_get_deviate_arg (obj_deviate_arg_t devarg) |
Get the deviate-arg string from its enumeration. More... | |
obj_deviation_t * | obj_new_deviation (void) |
Malloc and initialize the fields in a an object deviation statement. More... | |
void | obj_free_deviation (obj_deviation_t *deviation) |
Clean and free an object deviation statement. More... | |
void | obj_clean_deviationQ (dlq_hdr_t *deviationQ) |
Clean and free an Q of object deviation statements. More... | |
status_t | obj_gen_object_id (const obj_template_t *obj, xmlChar **buff) |
Malloc and Generate the object ID for an object node. More... | |
status_t | obj_gen_object_id_prefix (const obj_template_t *obj, xmlChar **buff) |
Malloc and Generate the object ID for an object node Use the prefix in every node. More... | |
status_t | obj_gen_object_id_datapath (const obj_template_t *obj, xmlChar **buff) |
Malloc and Generate the object ID for an object node Use the prefix in every node. More... | |
status_t | obj_gen_object_id_oid (ncx_module_t *mod, const obj_template_t *obj, xmlChar **buff) |
Malloc and Generate the object ID for an object node Used for canonical ID string comparison to generate OID number. More... | |
status_t | obj_gen_object_id_xpath (const obj_template_t *obj, xmlChar **buff) |
Malloc and Generate the object ID for an object node. More... | |
status_t | obj_gen_object_id_error (const obj_template_t *obj, xmlChar **buff) |
Malloc and Generate the object ID for an object node for errors. More... | |
status_t | obj_gen_object_id_unique (const obj_template_t *obj, const obj_template_t *stopobj, xmlChar **buff) |
Malloc and Generate the object ID for a unique-stmt test. More... | |
status_t | obj_gen_object_id_code (ncx_module_t *mod, const obj_template_t *obj, xmlChar **buff) |
Malloc and Generate the object ID for an object node for C code usage. More... | |
status_t | obj_copy_object_id (const obj_template_t *obj, xmlChar *buff, uint32 bufflen, uint32 *reallen) |
Generate the object ID for an object node and copy to the buffer copy an object ID to a buffer. More... | |
status_t | obj_copy_object_id_mod (const obj_template_t *obj, xmlChar *buff, uint32 bufflen, uint32 *reallen) |
Generate the object ID for an object node and copy to the buffer copy an object ID to a buffer; Use modname in object identifier. More... | |
status_t | obj_gen_object_id_sid (const obj_template_t *obj, xmlChar **buff) |
Malloc and Generate the object ID for an object node for SID path usage. More... | |
status_t | obj_gen_aughook_id (const obj_template_t *obj, xmlChar **buff) |
Malloc and Generate the augment hook element name for the specified object. More... | |
const xmlChar * | obj_get_name (const obj_template_t *obj) |
Get the name field for this obj. More... | |
status_t | obj_set_name (obj_template_t *obj, const xmlChar *objname) |
Set the name field for this obj. More... | |
boolean | obj_has_name (const obj_template_t *obj) |
Check if the specified object type has a name. More... | |
boolean | obj_has_text_content (const obj_template_t *obj) |
Check if the specified object type has a text content for XPath purposes. More... | |
ncx_status_t | obj_get_status (const obj_template_t *obj) |
Get the status field for this obj. More... | |
const xmlChar * | obj_get_description (const obj_template_t *obj) |
Get the description field for this obj. More... | |
const xmlChar * | obj_get_alt_description (const obj_template_t *obj) |
obj_get_alt_description (DEPRECATED) More... | |
const xmlChar * | obj_get_help_description (const obj_template_t *obj) |
Get the help description field for this obj Check if a 'help' appinfo node is present. More... | |
const xmlChar * | obj_get_info_description (const obj_template_t *obj) |
Get the info description field for this obj Check if a 'info' appinfo node is present. More... | |
const void * | obj_get_description_addr (const obj_template_t *obj) |
Get the address of the description field for this obj. More... | |
const xmlChar * | obj_get_reference (const obj_template_t *obj) |
Get the reference field for this obj. More... | |
const void * | obj_get_reference_addr (const obj_template_t *obj) |
Get the reference field for this obj. More... | |
boolean | obj_get_config_flag (const obj_template_t *obj) |
Get the config flag for an obj_template_t Return the explicit value or the inherited value Also return if the config-stmt is really set or not. More... | |
boolean | obj_get_config_flag2 (const obj_template_t *obj, boolean *setflag) |
Get the config flag for an obj_template_t Return the explicit value or the inherited value Also return if the config-stmt is really set or not. More... | |
ncx_access_t | obj_get_max_access (const obj_template_t *obj) |
Get the NCX max-access enum for an obj_template_t Return the explicit value or the inherited value. More... | |
dlq_hdr_t * | obj_get_appinfoQ (obj_template_t *obj) |
Get the appinfoQ for this obj. More... | |
dlq_hdr_t * | obj_get_mustQ (const obj_template_t *obj) |
Get the mustQ for this obj. More... | |
dlq_hdr_t * | obj_get_leafrefQ (const obj_template_t *obj) |
Get the leafrefQ for this obj. More... | |
const xmlChar * | obj_get_typestr (const obj_template_t *obj) |
Get the name of the object type. More... | |
dlq_hdr_t * | obj_get_datadefQ (obj_template_t *obj) |
Get the datadefQ (or caseQ) if this object has one. More... | |
const dlq_hdr_t * | obj_get_cdatadefQ (const obj_template_t *obj) |
Get a const pointer to the datadefQ (or caseQ) if this object has one. More... | |
const xmlChar * | obj_get_default (const obj_template_t *obj) |
Get the default value for the specified object. More... | |
const xmlChar * | obj_get_first_default (const obj_template_t *obj, ncx_backptr_t **thisdef) |
Get the first default value for the specified object. More... | |
const xmlChar * | obj_get_next_default (const obj_template_t *obj, ncx_backptr_t *lastdef, ncx_backptr_t **thisdef) |
Get the next default value for the specified object. More... | |
obj_template_t * | obj_get_default_case (obj_template_t *obj) |
Get the default case for the specified OBJ_TYP_CHOICE object. More... | |
boolean | obj_npcon_has_defaults (obj_template_t *obj) |
Check if the specified NP container has defaults within it Must be a config object!!! More... | |
boolean | obj_npcon_has_defaults_slow (obj_template_t *obj) |
Check if the specified NP container has defaults within it Must be a config object!!! More... | |
uint32 | obj_get_level (const obj_template_t *obj) |
Get the nest level for the specified object Top-level is '1' Does not count groupings as a level. More... | |
uint32 | obj_get_level_mp (const obj_template_t *obj) |
Get the nest level for the specified object Top-level is '1' Does not count groupings as a level. More... | |
uint32 | obj_get_real_level (const obj_template_t *obj) |
Get the nest level for the specified object Top-level is '1' Does not count groupings as a level Does not count case/choice as a level. More... | |
boolean | obj_has_typedefs (const obj_template_t *obj) |
Check if the object has any nested typedefs in it. More... | |
typ_def_t * | obj_get_typdef (obj_template_t *obj) |
Get the typdef for the leaf or leaf-list. More... | |
typ_def_t * | obj_get_base_typdef (obj_template_t *obj) |
Get the base typdef for the leaf or leaf-list. More... | |
const typ_def_t * | obj_get_ctypdef (const obj_template_t *obj) |
Get the typdef for the leaf or leaf-list : Const version. More... | |
ncx_btype_t | obj_get_basetype (const obj_template_t *obj) |
Get the NCX base type enum for the object type. More... | |
const xmlChar * | obj_get_mod_prefix (const obj_template_t *obj) |
Get the module prefix for this object. More... | |
const xmlChar * | obj_get_mod_xmlprefix (const obj_template_t *obj) |
Get the module prefix for this object. More... | |
const xmlChar * | obj_get_mod_name (const obj_template_t *obj) |
Get the module name for this object. More... | |
ncx_module_t * | obj_get_mod (obj_template_t *obj) |
Get the module pointer for this object. More... | |
boolean | obj_in_submodule (obj_template_t *obj) |
Check if the object is defined in a submodule. More... | |
ncx_module_t * | obj_get_mod_for_dump (obj_template_t *obj) |
Get the module pointer for this object Use for sub-module !!! Used by yangdump-pro!!! More... | |
const xmlChar * | obj_get_mod_version (const obj_template_t *obj) |
Get the module version for this object. More... | |
const xmlChar * | obj_get_type_name (const obj_template_t *obj) |
Get the typename for an object. More... | |
xmlns_id_t | obj_get_nsid (const obj_template_t *obj) |
Get the namespace ID for this object. More... | |
ncx_sid_t | obj_get_yang_sid (const obj_template_t *obj) |
Get the YANG SID for this object. More... | |
uint32 | obj_get_yang_sid_tree (const obj_template_t *obj) |
Get the YANG SID Tree ID for this object. More... | |
ncx_iqual_t | obj_get_iqualval (obj_template_t *obj) |
Get the instance qualifier for this object. More... | |
ncx_iqual_t | obj_get_iqualval_ex (obj_template_t *obj, boolean required) |
Get the instance qualifier for this object. More... | |
boolean | obj_get_min_elements (obj_template_t *obj, uint32 *minelems) |
Get the min-elements clause for this object, if any. More... | |
boolean | obj_get_max_elements (obj_template_t *obj, uint32 *maxelems) |
Get the max-elements clause for this object, if any. More... | |
const xmlChar * | obj_get_units (obj_template_t *obj) |
Get the units clause for this object, if any. More... | |
obj_template_t * | obj_get_parent (obj_template_t *obj) |
Get the parent of the current object. More... | |
const obj_template_t * | obj_get_cparent (const obj_template_t *obj) |
Get the parent of the current object CONST POINTER VERSION. More... | |
obj_template_t * | obj_get_real_parent (obj_template_t *obj) |
Get the parent of the current object; skip OBJ_TYP_CHOICE and OBJ_TYP_CASE. More... | |
const obj_template_t * | obj_get_real_cparent (const obj_template_t *obj) |
Get the parent of the current object; skip OBJ_TYP_CHOICE and OBJ_TYP_CASE. More... | |
obj_template_t * | obj_get_choice_parent (obj_template_t *obj) |
Get the OBJ_TYP_CHOICE parent of the current object; skip OBJ_TYP_CASE. More... | |
const xmlChar * | obj_get_presence_string (const obj_template_t *obj) |
Get the present-stmt value, if any. More... | |
void * | obj_get_presence_string_field (const obj_template_t *obj) |
Get the address ot the presence-stmt value, if any. More... | |
status_t | obj_get_child_node (obj_template_t *obj, obj_template_t *chobj, const xml_node_t *curnode, boolean xmlorder, dlq_hdr_t *force_modQ, obj_template_t **rettop, obj_template_t **retobj) |
Get the correct child node for the specified parent and current XML node. More... | |
uint32 | obj_get_child_count (const obj_template_t *obj) |
Get the number of child nodes the object has. More... | |
obj_template_t * | obj_get_default_parm (obj_template_t *obj) |
Get the ncx:default-parm object for this object Only supported for OBJ_TYP_CONTAINER and OBJ_TYP_RPCIO (input) More... | |
boolean | obj_get_config_flag_deep (const obj_template_t *obj) |
get config flag during augment expand More... | |
boolean | obj_get_config_flag_check (const obj_template_t *obj, boolean *ingrp) |
get config flag during YANG module checking More... | |
uint8 | obj_get_fraction_digits (const obj_template_t *obj) |
Get the fraction-digits field from the object typdef. More... | |
const ncx_iffeature_t * | obj_get_first_iffeature (const obj_template_t *obj) |
Get the first if-feature clause (if any) for the specified object. More... | |
const ncx_iffeature_t * | obj_get_next_iffeature (const ncx_iffeature_t *iffeature) |
Get the next if-feature clause (if any) More... | |
boolean | obj_is_anyxml (const obj_template_t *obj) |
Check if object is an anyxml. More... | |
boolean | obj_is_anydata (const obj_template_t *obj) |
Check if object is an anydata. More... | |
boolean | obj_is_any (const obj_template_t *obj) |
Get the config flag for the top-level object Check the specified object all the way to root. More... | |
boolean | obj_is_leaf (const obj_template_t *obj) |
Check if object is a proper leaf. More... | |
boolean | obj_is_leaf_list (const obj_template_t *obj) |
Check if object is a proper leaf-list. More... | |
boolean | obj_is_list (const obj_template_t *obj) |
Check if object is a YANG list. More... | |
boolean | obj_in_list (const obj_template_t *obj) |
Check if object is nested within a list. More... | |
boolean | obj_is_container (const obj_template_t *obj) |
Check if object is a YANG container. More... | |
boolean | obj_is_choice (const obj_template_t *obj) |
Check if object is a YANG choice. More... | |
boolean | obj_is_case (const obj_template_t *obj) |
Check if object is a YANG case. More... | |
boolean | obj_is_uses (const obj_template_t *obj) |
Check if object is a YANG uses-stmt. More... | |
boolean | obj_is_leafy (const obj_template_t *obj) |
Check if object is a proper leaf or leaflist. More... | |
boolean | obj_is_terminal (const obj_template_t *obj) |
Check if object is a proper leaf or leaflist or anyxml. More... | |
boolean | obj_is_mandatory (obj_template_t *obj) |
Figure out if the obj is YANG mandatory or not. More... | |
boolean | obj_is_mandatory_when_ex (obj_template_t *obj, boolean config_only) |
Figure out if the obj is YANG mandatory or not Check the when-stmts, not just mandatory-stmt. More... | |
boolean | obj_is_mandatory_when (obj_template_t *obj) |
Figure out if the obj is YANG mandatory or not Check the when-stmts, not just mandatory-stmt. More... | |
boolean | obj_is_cloned (const obj_template_t *obj) |
Figure out if the obj is a cloned object, inserted via uses or augment statements. More... | |
boolean | obj_is_augclone (const obj_template_t *obj) |
Figure out if the obj is a cloned object, inserted via an augment statement. More... | |
boolean | obj_is_augment (const obj_template_t *obj) |
Check if the obj is an augment statement. More... | |
boolean | obj_in_augment (const obj_template_t *obj) |
Check if object is an augment or inside an augment CHECK ENTIRE TREE UP TO ROOT. More... | |
boolean | obj_is_refine (const obj_template_t *obj) |
Figure out if the obj is a refinement object, within a uses-stmt. More... | |
boolean | obj_is_data (const obj_template_t *obj) |
Check if the object is defined within data or within a notification or RPC instead. More... | |
boolean | obj_is_data_db (const obj_template_t *obj) |
Check if the object is some sort of data Constrained to only check the config DB objects, not any notification or RPC objects. More... | |
boolean | obj_is_data_node (const obj_template_t *obj) |
Check if the object is a real node type. More... | |
boolean | obj_in_rpc (const obj_template_t *obj) |
Check if the object is in an rpc/input section. More... | |
boolean | obj_in_rpc_reply (const obj_template_t *obj) |
Check if the object is in an rpc-reply/output section. More... | |
boolean | obj_in_notif (const obj_template_t *obj) |
Check if the object is in a notification. More... | |
boolean | obj_is_rpc (const obj_template_t *obj) |
Check if the object is an RPC method. More... | |
boolean | obj_is_sm_rpc (const obj_template_t *obj) |
Check if the object is a schema mounted RPC method. More... | |
boolean | obj_is_rpcio (const obj_template_t *obj) |
Check if the object is an RPC IO node. More... | |
boolean | obj_is_rpcio_input (const obj_template_t *obj) |
Check if the object is an RPC IO node. More... | |
boolean | obj_is_action (const obj_template_t *obj) |
Check if the object is a YANG 1.1 action. More... | |
boolean | obj_in_action (const obj_template_t *obj) |
Check if the object is within or is an action method. More... | |
boolean | obj_is_notif (const obj_template_t *obj) |
Check if the object is a notification. More... | |
boolean | obj_is_sm_notif (const obj_template_t *obj) |
Check if the object is a schema-mounted notification. More... | |
boolean | obj_is_empty (const obj_template_t *obj) |
Check if object was entered in empty fashion: More... | |
boolean | obj_is_match (const obj_template_t *obj1, const obj_template_t *obj2) |
Check if one object is a match in identity with another one. More... | |
boolean | obj_is_hidden (const obj_template_t *obj) |
Check if object is marked as a hidden object. More... | |
boolean | obj_is_hidden_from_cli (const obj_template_t *obj) |
Check if object is marked as a hidden object from CLI. More... | |
boolean | obj_is_root (const obj_template_t *obj) |
Check if object is marked as a root object. More... | |
void | obj_force_root (obj_template_t *obj) |
Set the object as an anydata type of root. More... | |
boolean | obj_is_rpc_root (const obj_template_t *obj) |
Check if object is marked as an RPC root object. More... | |
boolean | obj_is_password (const obj_template_t *obj) |
Check if object is marked as a password object. More... | |
boolean | obj_is_xsdlist (const obj_template_t *obj) |
Check if object is marked as an XSD list. More... | |
boolean | obj_is_cli (const obj_template_t *obj) |
Check if object is marked as a CLI object. More... | |
boolean | obj_is_dirty (const obj_template_t *obj, ncx_cfg_t cfgid) |
Check if object is marked as dirty (edited) for datastore validation purposes. More... | |
boolean | obj_is_key (const obj_template_t *obj) |
Check if object is being used as a key leaf within a list. More... | |
boolean | obj_is_abstract (const obj_template_t *obj) |
Check if object is being used as an object identifier or error-info. More... | |
boolean | obj_in_abstract (const obj_template_t *obj) |
Check if object is being used as an object identifier or error-info CHECK ENTIRE TREE UP TO ROOT. More... | |
boolean | obj_is_deleted (const obj_template_t *obj) |
Check if object has been deleted by a deviate not-supported. More... | |
boolean | obj_is_deleted_ex (const obj_template_t *obj) |
Check if object has been deleted by a deviate not-supported Or if its parent was deleted by deviation. More... | |
boolean | obj_is_xpath_string (const obj_template_t *obj) |
Check if object is an XPath string. More... | |
boolean | obj_is_schema_instance_string (const obj_template_t *obj) |
Check if object is a schema-instance string. More... | |
boolean | obj_is_secure (const obj_template_t *obj) |
Check if object is tagged ncx:secure. More... | |
boolean | obj_is_very_secure (const obj_template_t *obj) |
Check if object is tagged ncx:very-secure. More... | |
boolean | obj_is_system_ordered (const obj_template_t *obj) |
Check if the object is system or user-ordered. More... | |
boolean | obj_is_np_container (const obj_template_t *obj) |
Check if the object is an Non-Presence-container. More... | |
boolean | obj_is_p_container (const obj_template_t *obj) |
Check if the object is an Presence-container. More... | |
boolean | obj_is_enabled (obj_template_t *obj) |
Check any if-feature statement that may cause the specified object to be invisible. More... | |
boolean | obj_has_iffeature (obj_template_t *obj) |
Check any if-feature statements exist for the specified object. More... | |
boolean | obj_is_single_instance (obj_template_t *obj) |
Check if the object is a single instance of if it allows multiple instances; check all of the ancestors if needed. More... | |
boolean | obj_is_short_case (obj_template_t *obj) |
Check if the object is a short case statement. More... | |
boolean | obj_is_top (const obj_template_t *obj) |
Check if the object is top-level object within the YANG module that defines it. More... | |
boolean | obj_in_top_choice (const obj_template_t *obj) |
Check if the object is in top-level choice the YANG module that defines it. More... | |
boolean | obj_is_datapath (const obj_template_t *obj) |
Check if object is marked as a ywx:datapath object. More... | |
boolean | obj_ok_for_cli (obj_template_t *obj) |
Figure out if the obj is OK for current CLI implementation. More... | |
boolean | obj_has_children (obj_template_t *obj) |
Check if there are any accessible nodes within the object. More... | |
boolean | obj_has_ro_children (obj_template_t *obj) |
Check if there are any accessible read-only child nodes within the object. More... | |
boolean | obj_has_ro_descendants (obj_template_t *obj) |
Check if there are any accessible read-only descendant nodes within the object. More... | |
boolean | obj_has_rw_children (obj_template_t *obj) |
Check if there are any accessible read-write child nodes within the object. More... | |
boolean | obj_has_rw_children_ex (obj_template_t *obj, boolean term_only) |
Check if there are any accessible read-write child nodes within the object. More... | |
boolean | obj_rpc_has_input (obj_template_t *obj) |
Check if the RPC object has any real input children. More... | |
boolean | obj_rpc_has_output (obj_template_t *obj) |
Check if the RPC object has any real output children. More... | |
boolean | obj_has_when_stmts (obj_template_t *obj) |
Check if any when-stmts apply to this object Does not check if they are true, just any when-stmts present. More... | |
obj_metadata_t * | obj_new_metadata (void) |
Malloc and initialize the fields in a an obj_metadata_t. More... | |
void | obj_free_metadata (obj_metadata_t *meta) |
Scrub the memory in a obj_metadata_t by freeing all the sub-fields and then freeing the entire struct itself. More... | |
status_t | obj_add_metadata (obj_metadata_t *meta, obj_template_t *obj) |
Add the filled out object metadata definition to the object. More... | |
obj_metadata_t * | obj_find_metadata (const obj_template_t *obj, const xmlChar *name) |
Find the object metadata definition in the object. More... | |
obj_metadata_t * | obj_first_metadata (const obj_template_t *obj) |
Get the first object metadata definition in the object. More... | |
obj_metadata_t * | obj_next_metadata (const obj_metadata_t *meta) |
Get the next object metadata definition in the object. More... | |
void | obj_sort_children (obj_template_t *obj) |
Check all the child nodes of the specified object and rearrange them into alphabetical order, based on the element local-name. More... | |
void | obj_set_ncx_flags (obj_template_t *obj) |
Check the NCX appinfo extensions and set flags as needed. More... | |
uint32 | obj_enabled_child_count (obj_template_t *obj) |
Get the count of the number of enabled child nodes for the object template. More... | |
void | obj_dump_child_list (log_debug_t lvl, dlq_hdr_t *datadefQ, uint32 startindent, uint32 indent) |
Dump the object names in a datadefQ – just child level uses log_write_level() for writing ... More... | |
const xmlChar * | obj_get_keystr (obj_template_t *obj) |
Get the key string for this list object. More... | |
void | obj_delete_obsolete (dlq_hdr_t *objQ) |
Delete any obsolete child nodes within the specified object subtree. More... | |
const xmlChar * | obj_get_altname (const obj_template_t *obj) |
Get the alt-name for this object, if any. More... | |
obj_template_t * | obj_get_leafref_targobj (obj_template_t *obj) |
Get the target object for a leafref leaf or leaf-list. More... | |
obj_template_t * | obj_get_augment_targobj (obj_template_t *obj) |
Get the target object for an augments object. More... | |
const xmlChar * | obj_get_augment_target (obj_template_t *obj) |
Get the target path string for an augments object. More... | |
boolean | obj_is_external_augment (obj_template_t *obj) |
Check if an object is an external augment. More... | |
boolean | obj_is_external_data_augment (obj_template_t *obj) |
Check if an object is an external augment of a data node. More... | |
boolean | obj_is_cli_equals_ok (const obj_template_t *obj) |
Check if object is marked as ncx:default-parm-equals-ok. More... | |
boolean | obj_is_cli_text_block (const obj_template_t *obj) |
Check if object is marked as ywx:cli-text-block. More... | |
boolean | obj_is_sil_delete_children_first (const obj_template_t *obj) |
Check if object is marked as ncx:sil-delete-children-first. More... | |
boolean | obj_is_no_sil_delete_children_first (const obj_template_t *obj) |
Check if object is marked as ypx:no-sil-delete-children-first OR AN ANCESTOR IS MARKED. More... | |
void | obj_add_child (obj_template_t *child, obj_template_t *parent) |
Add a child object to the specified complex node. More... | |
boolean | obj_is_block_user_create (const obj_template_t *obj) |
Check if object is marked as ncx:user-write with create access disabled. More... | |
boolean | obj_is_block_user_update (const obj_template_t *obj) |
Check if object is marked as ncx:user-write with update access disabled. More... | |
boolean | obj_is_block_user_delete (const obj_template_t *obj) |
Check if object is marked as ncx:user-write with delete access disabled. More... | |
obj_iffeature_ptr_t * | obj_new_iffeature_ptr (ncx_iffeature_t *iff) |
Malloc and initialize a new obj_iffeature_ptr_t struct. More... | |
void | obj_free_iffeature_ptr (obj_iffeature_ptr_t *iffptr) |
Free an obj_iffeature_ptr_t struct. More... | |
obj_iffeature_ptr_t * | obj_first_iffeature_ptr (obj_template_t *obj) |
Get first if-feature pointer. More... | |
obj_iffeature_ptr_t * | obj_next_iffeature_ptr (obj_iffeature_ptr_t *iffptr) |
Get the next if-feature pointer. More... | |
ncx_backptr_t * | obj_first_inherit_when_ptr (obj_template_t *obj) |
Get first xpath pointer struct. More... | |
ncx_backptr_t * | obj_next_inherit_when_ptr (ncx_backptr_t *ptr) |
Get the next xpath pointer struct. More... | |
boolean | obj_find_xpath_backptr (obj_template_t *obj, struct xpath_pcb_t_ *xpath) |
Find an xpath-expr backptr. More... | |
struct xpath_pcb_t_ * | obj_next_xpath_backptr (obj_template_t *obj, struct xpath_pcb_t_ *xpath) |
Get the next XPath backptr. More... | |
struct xpath_pcb_t_ * | obj_first_xpath_backptr (obj_template_t *obj) |
Get the first xpath backptr. More... | |
status_t | obj_assign_xpath_backptr (obj_template_t *obj, struct xpath_pcb_t_ *xpath) |
Set an xpath-expr backptr. More... | |
void | obj_clear_xpath_backptr (obj_template_t *obj, struct xpath_pcb_t_ *xpath) |
Clear an xpath-expr backptr. More... | |
status_t | obj_set_xpath_backptrs (obj_template_t *obj) |
Check a top-level data node and all its descendants to see if they have any XPath expressions that need backptrs added. More... | |
void | obj_flag_xpath_backptrs_dirty (obj_template_t *obj, ncx_cfg_t cfg_id, boolean flag) |
Check all the xpath backptr records for this object and set them to dirty or clean, based on input. More... | |
boolean | obj_is_target_template (obj_template_t *obj) |
Check a data node and its descendants match the template for NETCONF configuration sources. More... | |
boolean | obj_maybe_target_template (obj_template_t *obj) |
Check a data node and its descendants match the template for NETCONF configuration sources Allow extra leafs <url> or anyxml <config> to be skipped. More... | |
boolean | obj_is_supported (obj_template_t *obj) |
Check an RPC node to check if it is supported or not It could be disabled at run-time without removing it. More... | |
void | obj_delete_mod_children (obj_template_t *obj, ncx_module_t *mod) |
Check the childQ for the specified object and remove all the objects from the specified module. More... | |
void | obj_set_dup_local (obj_template_t *obj) |
Flag the object as one that has a duplicate sibling with the same local-name and different module namespace. More... | |
boolean | obj_is_dup_local (obj_template_t *obj) |
Check if this object is one that has a duplicate sibling with the same local-name and different module namespace. More... | |
void | obj_set_key_leaf (obj_template_t *obj, uint16 keynum) |
Set the key data for the object. More... | |
uint16 | obj_get_key_num (obj_template_t *obj) |
Get the key number for the object. More... | |
boolean | obj_is_exclusive_rpc (const obj_template_t *obj) |
Check if this object has the OBJ_FL_EXCLUSIVE_WRITE bit set. More... | |
boolean | obj_is_sil_force_replay (const obj_template_t *obj) |
Check if this object has the OBJ_FL_SIL_FORCE_REPLAY bit set. More... | |
boolean | obj_is_sil_force_replace_replay (const obj_template_t *obj) |
Check if this object has the OBJ_FL_SIL_FORCE_REPLACE_REPLAY bit set. More... | |
void | obj_set_sil_force_replace_replay (obj_template_t *obj) |
Set the object OBJ_FL_SIL_FORCE_REPLAY bit Set the object OBJ_FL_SIL_FORCE_REPLACE_REPLAY bit. More... | |
boolean | obj_notif_enabled (const obj_template_t *obj) |
Check if the notification object is enabled. More... | |
boolean | obj_notif_log_drops (const obj_template_t *obj) |
Check if the event drops for the notification object is enabled. More... | |
void | obj_set_notif_enabled (obj_template_t *obj, boolean enabled) |
Set the notification object enabled flag. More... | |
void | obj_set_notif_log_drops (const obj_template_t *obj, boolean enabled) |
Set the event drops enabled flag for the notification object. More... | |
boolean | obj_unload_active (const obj_template_t *obj) |
Check if the module commit tests are disabled because a module unload is in progress. More... | |
boolean | obj_is_obsolete (const obj_template_t *obj) |
Check if the object has obsolete status. More... | |
boolean | obj_parent_same_module (const obj_template_t *obj) |
Check if the object parent object is the same. More... | |
void | obj_set_sil_priority (obj_template_t *obj, uint8 prio) |
Set the SIL priority field. More... | |
uint8 | obj_get_sil_priority (obj_template_t *obj) |
Get the SIL priority field. More... | |
boolean | obj_in_edit2_mode (obj_template_t *obj) |
Check if the object is an edit2 or edit3 container or list or terminal node child in an edit2 or edit3 container or list. More... | |
ncx_leafref_class_t | obj_get_leafref_class (obj_template_t *obj) |
Get the leafref class for a leafref object. More... | |
boolean | obj_delete_all_supported (obj_template_t *obj) |
Check if the object supports a direct delete-all or remove-all operation. More... | |
boolean | obj_is_crypt_hash (const obj_template_t *obj) |
Check if the object is a leaf of type crypt-hash. More... | |
void | obj_number_data_object (obj_template_t *obj) |
Number the object tree; initial setup. More... | |
obj_defval_tk_t * | obj_new_defval_tk (void) |
Create a new object default tk record;. More... | |
void | obj_free_defval_tk (obj_defval_tk_t *def) |
Delete an object default tk record;. More... | |
dlq_hdr_t * | obj_get_defvalQ (obj_template_t *obj) |
Get the leaf-list default Q. More... | |
obj_defval_tk_t * | obj_first_defval_tk (const obj_refine_t *ref) |
Get the first defval_tk entry. More... | |
obj_defval_tk_t * | obj_next_defval_tk (const obj_defval_tk_t *defval_tk) |
Get the next defval_tk entry. More... | |
obj_defval_tk_t * | obj_first_dev_defval_tk (const obj_deviate_t *dev) |
Get the first defval_tk entry. More... | |
boolean | obj_get_leaf_list_defset (const obj_template_t *obj) |
Get the defset flag for a leaf-list. More... | |
void | obj_find_delete_defval (obj_template_t *obj, const xmlChar *defval) |
Find and delete a leaf-list default for deviate delete default foo. More... | |
boolean | obj_find_defval (obj_template_t *obj, const xmlChar *find_defval) |
Find a default. More... | |
void | obj_delete_all_defvals (obj_template_t *obj) |
Delete all the original defaults for a leaf-list default for deviate replace default foo. More... | |
void | obj_enter_xpath_mode (void) |
Enter xpath mode and start ignoring obj_is_enabled. More... | |
void | obj_exit_xpath_mode (void) |
Exit xpath mode and stop ignoring obj_is_enabled. More... | |
obj_key_t * | obj_get_key_by_name (obj_template_t *obj, const xmlChar *keyname) |
Check the specified list to see if the string is a list key. More... | |
ncx_yang_version_t | obj_get_langver (obj_template_t *obj) |
Get the YANG version for this object. More... | |
boolean | obj_is_abstract_ex (const obj_template_t *obj) |
DUPLICATE FUNCTION OF obj_in_abstract() More... | |
void | obj_set_abstract (obj_template_t *obj) |
Set the abstract flag for the yang-data node. More... | |
boolean | obj_is_final (obj_template_t *obj) |
Check if the object template represents a fully expanded template or if it is inside a grouping. More... | |
void | obj_force_disabled (obj_template_t *obj) |
Force an object to be disabled. More... | |
void | obj_force_hidden (obj_template_t *obj) |
Force an object to be hidden. More... | |
const xmlChar * | obj_get_oid_string (obj_template_t *obj) |
Get object OID sting value. More... | |
obj_oid_t * | obj_get_oid_struct (obj_template_t *obj, boolean *malloced) |
Get malloced object OID structure that contains OID string and OID count. More... | |
status_t | obj_fill_keystackQ (obj_template_t *obj, dlq_hdr_t *keystackQ) |
Fill a keystackQ with backptrs to obj_template_t for key leafs. More... | |
void | obj_dump_keystackQ (dlq_hdr_t *keystackQ) |
Dump a keystackQ with backptrs to obj_template_t for key leafs. More... | |
void | obj_clr_enable_chk (obj_template_t *obj) |
Force an object to re-evaluate the enable check Will call for all children. More... | |
status_t | obj_cache_datarule (obj_template_t *obj, void *rule) |
Set the data-rule back-ptr for this node. More... | |
void | obj_clear_datarule (obj_template_t *obj, const void *rule) |
Clear the datarule back-ptr for this node. More... | |
boolean | obj_match_datarule (obj_template_t *obj, void *rule) |
Check if the data-rule back-ptr applies to this node. More... | |
status_t | obj_add_errmsg (obj_template_t *obj, const xmlChar *basestr, obj_errmsg_t **ret_errmsg) |
Create a new obj_errmsg struct for the object. More... | |
status_t | obj_add_errmsg_parm (obj_errmsg_t *errmsg, const xmlChar *parmstr) |
Add an errmsg parameter for the object. More... | |
status_t | obj_add_errmsg_filter (obj_errmsg_t *errmsg, const xmlChar *parmstr, boolean is_errortag) |
Add an errmsg filter for the object. More... | |
boolean | obj_has_get2cb (obj_template_t *obj) |
Check if current object has GET2 callback registered. More... | |
boolean | obj_is_singular (const obj_template_t *obj) |
Check if the object can have only one instance or not. More... | |
boolean | obj_get_top_config_flag (const obj_template_t *obj) |
Get the config flag for the top-level object. More... | |
boolean | obj_ok_for_nolock (const obj_template_t *obj) |
check an object OK for nolock More... | |
boolean | obj_use_get_when_check (const obj_template_t *obj) |
check an object needs to use a when-check for GET processing More... | |
boolean | obj_has_mandatory_children (obj_template_t *obj) |
Check if there are any mandatory children. More... | |
boolean | obj_get_xpath_oper_ok (const obj_template_t *obj) |
Get the object XPath oper OK flag. More... | |
void | obj_set_xpath_oper_ok (obj_template_t *obj) |
Set the object XPath oper OK flag. More... | |
boolean | obj_is_in_aio_get2 (obj_template_t *obj) |
Check if this object is a child of a node with sil-aio-get2 extension setup or if this object itself holds this extension. More... | |
boolean | obj_is_top_aio_get2 (obj_template_t *obj) |
Check if this object is a really top level holder of extension sil-aio-get2. More... | |
obj_template_t * | obj_get_top_aio_get2 (obj_template_t *child) |
Find the top AIO object. More... | |
boolean | obj_has_aio_list (obj_template_t *obj) |
Check is AIO object is a list or if its parent is a list object. More... | |
ncx_module_t * | obj_get_real_mod (obj_template_t *obj) |
Get the module struct for the submodule or main module with this object. More... | |
obj_template_t * | obj_get_real_parent_aug (obj_template_t *obj) |
Get the parent of the current object; skip OBJ_TYP_AUGMENT and return the actual parent. More... | |
boolean | obj_is_ancestor (const obj_template_t *ancestor, const obj_template_t *obj) |
Check if an object is the ancestor of another. More... | |
void | obj_ban_nolock_get (obj_template_t *obj) |
Ban nolock-get for the object. More... | |
boolean | obj_is_mounted (obj_template_t *child) |
Check if mounted object. More... | |
obj_template_t * | obj_get_parent_choice (obj_template_t *obj) |
Get the choice parent of the current object;. More... | |
boolean | obj_is_mp_parent (obj_template_t *child) |
Check if the parent of this object is a Mount Pount object. More... | |
boolean | obj_is_mp_key (obj_template_t *child) |
Check if the parent of this object is a Mount Pount object AND THIS OBJECT IS A KEY LEAF IN THE MP LIST. More... | |
boolean | obj_is_mp_with_rootcb (const obj_template_t *obj) |
Check if current object is Mount Point object. More... | |
ncx_sm_rootcb_t * | obj_find_ancestor_rootcb (obj_template_t *obj) |
Find an ancestor node or self that has a rootcb. More... | |
status_t | obj_set_mp_flags (obj_template_t *obj) |
set the Schema Mount flags and create a rootcb if needed More... | |
boolean | obj_has_xpath_stmts (obj_template_t *obj) |
Check if any must or when stmts in node or all children. More... | |
status_t | obj_get_appinfo (obj_template_t *obj, const xmlChar *prefix, const xmlChar *name, const xmlChar **retval) |
Get the first (or only) instance of the specified appinfo. More... | |
status_t | obj_add_unique_backptr (obj_template_t *leafobj, obj_template_t *listobj) |
Add a unique backptr to the leaf. More... | |
obj_template_t * | obj_first_unique_backptr (obj_template_t *leafobj) |
Get the first unique backptr for a leaf object. More... | |
obj_template_t * | obj_next_unique_backptr (obj_template_t *leafobj, obj_template_t *curbackptr) |
Get the next unique backptr for a leaf object. More... | |
boolean | obj_is_create_np_ro (obj_template_t *obj) |
Check if this is an empty read-only NP-container that should be created as an empty NP container. More... | |
void | obj_set_sort_type (obj_template_t *obj, ncx_sort_type_t typ) |
Set the sort type for the object if OK Otherwise this function call has no affect. More... | |
ncx_sort_type_t | obj_get_sort_type (const obj_template_t *obj) |
Get the sort type for the object. More... | |
boolean | obj_is_confirm_data (const obj_template_t *obj) |
Check if object is marked as a confirm-data object for CLI. More... | |
grp_template_t * | obj_get_uses_grp (obj_template_t *usesobj) |
Get the grp template from the uses object pointer. More... | |
obj_template_t * | obj_get_uses_obj (obj_template_t *obj) |
Get the usesobj template from the object pointer. More... | |
obj_template_t * | obj_get_augment_obj (obj_template_t *obj) |
Get the augobj template from the object pointer. More... | |
boolean | obj_edit2_mode_allowed (obj_template_t *obj) |
Check if the current object is EDIT2/3 allowed. More... | |
Object access functions allow the compiler to create an object template tree.
They also allow client and server to access YANG properties of these data node object templates.
void obj_add_child | ( | obj_template_t * | child, |
obj_template_t * | parent | ||
) |
Add a child object to the specified complex node.
child | the obj_template to add |
parent | the obj_template of the parent |
status_t obj_add_errmsg | ( | obj_template_t * | obj, |
const xmlChar * | basestr, | ||
obj_errmsg_t ** | ret_errmsg | ||
) |
Create a new obj_errmsg struct for the object.
obj | object to set errmsg | |
basestr | base error string | |
[out] | ret_errmsg | address of return error message
|
status_t obj_add_errmsg_filter | ( | obj_errmsg_t * | errmsg, |
const xmlChar * | parmstr, | ||
boolean | is_errortag | ||
) |
Add an errmsg filter for the object.
errmsg | error message control block to set |
parmstr | parameter string |
is_errortag | TRUE if error-tag; FALSE if error-app-tag |
status_t obj_add_errmsg_parm | ( | obj_errmsg_t * | errmsg, |
const xmlChar * | parmstr | ||
) |
Add an errmsg parameter for the object.
errmsg | object error message to set |
parmstr | parameter string |
status_t obj_add_metadata | ( | obj_metadata_t * | meta, |
obj_template_t * | obj | ||
) |
Add the filled out object metadata definition to the object.
meta | obj_metadata_t data structure to add |
obj | object template to add meta to |
status_t obj_add_unique_backptr | ( | obj_template_t * | leafobj, |
obj_template_t * | listobj | ||
) |
Add a unique backptr to the leaf.
leafobj | the leaf object that will get the backptr to the list |
listobj | the list object that will be the pointer saved |
boolean obj_any_notifs | ( | const dlq_hdr_t * | datadefQ | ) |
Check if there are any notifications in the datadefQ.
datadefQ | Q of obj_template_t to check |
boolean obj_any_rpcs | ( | const dlq_hdr_t * | datadefQ | ) |
Check if there are any RPC methods in the datadefQ.
datadefQ | Q of obj_template_t to check |
status_t obj_assign_xpath_backptr | ( | obj_template_t * | obj, |
struct xpath_pcb_t_ * | xpath | ||
) |
Set an xpath-expr backptr.
Malloc and initialize a new ncx_backptr_t struct for the xpath_backptrQ if no xpath_backptr slots are available
obj | object to set |
xpath | Xpath PCB to point at |
void obj_ban_nolock_get | ( | obj_template_t * | obj | ) |
Ban nolock-get for the object.
obj | the obj_template to set |
status_t obj_cache_datarule | ( | obj_template_t * | obj, |
void * | rule | ||
) |
Set the data-rule back-ptr for this node.
obj | object struct to use |
rule | backptr to NACM rule |
void obj_clean_datadefQ | ( | dlq_hdr_t * | que | ) |
Clean and free all the obj_template_t structs in the specified Q.
que | Q of obj_template_t to clean |
void obj_clean_deviationQ | ( | dlq_hdr_t * | deviationQ | ) |
Clean and free an Q of object deviation statements.
deviationQ | pointer to Q of the structs to clean and free |
void obj_clean_unique | ( | obj_unique_t * | un | ) |
Clean a obj_unique_t struct.
un | obj_unique_t struct to clean |
void obj_clear_datarule | ( | obj_template_t * | obj, |
const void * | rule | ||
) |
Clear the datarule back-ptr for this node.
obj | object struct to use |
rule | NACM rule back-ptr to find |
void obj_clear_xpath_backptr | ( | obj_template_t * | obj, |
struct xpath_pcb_t_ * | xpath | ||
) |
Clear an xpath-expr backptr.
Free a found ncx_backptr_t struct for the xpath_backptrQ or clear an xpath_backptr slot
obj | object to clear |
xpath | Xpath PCB to find and remove |
obj_template_t * obj_clone_template | ( | ncx_module_t * | mod, |
obj_template_t * | srcobj, | ||
dlq_hdr_t * | mobjQ | ||
) |
Clone an obj_template_t Copy the pointers from the srcobj into the new obj.
If the mobj is non-NULL, then the non-NULL revisable fields in the mobj struct will be merged into the new object
mod | module struct that is defining the new cloned data this may be different than the module that will contain the cloned data (except top-level objects) |
srcobj | obj_template to clone !!! This struct MUST NOT be deleted!!! !!! Unless all of its clones are also deleted !!! |
mobjQ | merge object Q (may be NULL) datadefQ to check for OBJ_TYP_REFINE nodes If the target of the refine node matches the srcobj (e.g., from same grouping), then the sub-clauses in that refinement-stmt that are allowed to be revised will be checked |
obj_template_t * obj_clone_template_case | ( | ncx_module_t * | mod, |
obj_template_t * | srcobj, | ||
dlq_hdr_t * | mobjQ | ||
) |
Clone an obj_template_t but make sure it is wrapped in a OBJ_TYP_CASE layer.
Copy the pointers from the srcobj into the new obj
Create an OBJ_TYP_CASE wrapper if needed, for a short-case-stmt data def
If the mobj is non-NULL, then the non-NULL revisable fields in the mobj struct will be merged into the new object
mod | module struct that is defining the new cloned data this may be different than the module that will contain the cloned data (except top-level objects) |
srcobj | obj_template to clone !!! This struct MUST NOT be deleted!!! !!! Unless all of its clones are also deleted !!! |
mobjQ | Q of obj_refine_t objects to merge (may be NULL) only fields allowed to be revised will be checked even if other fields are set in this struct |
obj_template_t * obj_clone_template_sm | ( | ncx_module_t * | mod, |
obj_template_t * | srcobj, | ||
dlq_hdr_t * | mobjQ, | ||
boolean | sm_clone | ||
) |
Clone an obj_template_t Copy the pointers from the srcobj into the new obj.
If the mobj is non-NULL, then the non-NULL revisable fields in the mobj struct will be merged into the new object
mod | module struct that is defining the new cloned data this may be different than the module that will contain the cloned data (except top-level objects) |
srcobj | obj_template to clone !!! This struct MUST NOT be deleted!!! !!! Unless all of its clones are also deleted !!! |
mobjQ | merge object Q (may be NULL) datadefQ to check for OBJ_TYP_REFINE nodes If the target of the refine node matches the srcobj (e.g., from same grouping), then the sub-clauses in that refinement-stmt that are allowed to be revised will be checked |
sm_clone | TRUE if Schema Mount clone |
void obj_clr_enable_chk | ( | obj_template_t * | obj | ) |
Force an object to re-evaluate the enable check Will call for all children.
obj | the obj_template to force recheck features |
status_t obj_copy_object_id | ( | const obj_template_t * | obj, |
xmlChar * | buff, | ||
uint32 | bufflen, | ||
uint32 * | reallen | ||
) |
Generate the object ID for an object node and copy to the buffer copy an object ID to a buffer.
obj | node to generate the instance ID for | |
[out] | buff | buffer to use
|
bufflen | size of buff | |
[out] | reallen | address of return length of actual identifier
|
status_t obj_copy_object_id_mod | ( | const obj_template_t * | obj, |
xmlChar * | buff, | ||
uint32 | bufflen, | ||
uint32 * | reallen | ||
) |
Generate the object ID for an object node and copy to the buffer copy an object ID to a buffer; Use modname in object identifier.
obj | node to generate the instance ID for | |
[out] | buff | buffer to use
|
bufflen | size of buff | |
[out] | reallen | address of return length of actual identifier (may be NULL)
|
void obj_delete_all_defvals | ( | obj_template_t * | obj | ) |
Delete all the original defaults for a leaf-list default for deviate replace default foo.
obj | to remove all defaults |
boolean obj_delete_all_supported | ( | obj_template_t * | obj | ) |
Check if the object supports a direct delete-all or remove-all operation.
obj | the object to check |
void obj_delete_mod_children | ( | obj_template_t * | obj, |
ncx_module_t * | mod | ||
) |
Check the childQ for the specified object and remove all the objects from the specified module.
This is for "unload mod-A' where mod-A has augmented mod-B with child nodes under 'obj'
!!!! DOES NOT SKIP OVER AUGMENT AND USES !!!!
obj | obj_template_t to check |
mod | module to check for removals |
void obj_delete_obsolete | ( | dlq_hdr_t * | objQ | ) |
Delete any obsolete child nodes within the specified object subtree.
objQ | Q of obj_template to check |
void obj_dump_child_list | ( | log_debug_t | lvl, |
dlq_hdr_t * | datadefQ, | ||
uint32 | startindent, | ||
uint32 | indent | ||
) |
Dump the object names in a datadefQ – just child level uses log_write_level() for writing ...
lvl | debug level to use for output |
datadefQ | Q of obj_template_t to dump |
startindent | start-indent columns |
indent | indent amount |
void obj_dump_keystackQ | ( | dlq_hdr_t * | keystackQ | ) |
Dump a keystackQ with backptrs to obj_template_t for key leafs.
keystackQ | the dlq_hdr_t queue to dump |
boolean obj_edit2_mode_allowed | ( | obj_template_t * | obj | ) |
Check if the current object is EDIT2/3 allowed.
INTERNAL API
Check if the current object is potentially in the EDIT2/3 mode. Possible options are:
obj | the object to check |
uint32 obj_enabled_child_count | ( | obj_template_t * | obj | ) |
Get the count of the number of enabled child nodes for the object template.
obj | obj_template to check |
void obj_enter_xpath_mode | ( | void | ) |
Enter xpath mode and start ignoring obj_is_enabled.
void obj_exit_xpath_mode | ( | void | ) |
Exit xpath mode and stop ignoring obj_is_enabled.
status_t obj_fill_keystackQ | ( | obj_template_t * | obj, |
dlq_hdr_t * | keystackQ | ||
) |
Fill a keystackQ with backptrs to obj_template_t for key leafs.
obj | the obj_template to fill keystack for |
keystackQ | the dlq_hdr_t queue to fill with backptrs |
boolean obj_find_all_ancestors | ( | ncx_module_t * | exprmod, |
obj_walker_fn_t | walkerfn, | ||
void * | cookie1, | ||
void * | cookie2, | ||
obj_template_t * | startnode, | ||
const xmlChar * | modname, | ||
const xmlChar * | name, | ||
boolean | configonly, | ||
boolean | textmode, | ||
boolean | useroot, | ||
boolean | orself, | ||
boolean * | fncalled | ||
) |
Find all occurances of the specified node(s) within the ancestors of the current node.
The walker fn will be called for each match.
Used by XPath only!
If the walker function returns TRUE, then the walk will continue; If FALSE it will terminate right away
This function skips choice and case nodes and only processes real data nodes
exprmod | module containing XPath expression | |
walkerfn | callback function to use | |
cookie1 | cookie1 value to pass to walker fn | |
cookie2 | cookie2 value to pass to walker fn | |
startnode | start node to check | |
modname | module name; only matches in this module namespace will be returned NULL: namespace matching will be skipped | |
name | name of ancestor node to find NULL to match any ancestor name | |
configonly | TRUE to skip over non-config nodes FALSE to check all nodes Only used if childname == NULL | |
textmode | TRUE if just testing for text() nodes name and modname will be ignored in this mode FALSE if using name and modname to filter | |
useroot | TRUE is it is safe to use the toproot FALSE if not, use all moduleQ search instead | |
orself | TRUE if axis is really ancestor-or-self FALSE if axis is ancestor | |
[out] | fncalled | address of return function called flag
|
boolean obj_find_all_children | ( | ncx_module_t * | exprmod, |
obj_walker_fn_t | walkerfn, | ||
void * | cookie1, | ||
void * | cookie2, | ||
obj_template_t * | startnode, | ||
const xmlChar * | modname, | ||
const xmlChar * | childname, | ||
boolean | configonly, | ||
boolean | textmode, | ||
boolean | useroot | ||
) |
Find all occurances of the specified node(s) within the children of the current node.
The walker fn will be called for each match.
Used by XPath only!
If the walker function returns TRUE, then the walk will continue; If FALSE it will terminate right away
This function skips choice and case nodes and only processes real data nodes
exprmod | module containing XPath expression |
walkerfn | callback function to use |
cookie1 | cookie1 value to pass to walker fn |
cookie2 | cookie2 value to pass to walker fn |
startnode | start node to check |
modname | module name; only matches in this module namespace will be returned NULL: namespace matching will be skipped |
childname | name of child node to find NULL to match any child name |
configonly | TRUE to skip over non-config nodes FALSE to check all nodes Only used if childname == NULL |
textmode | TRUE if just testing for text() nodes name and modname will be ignored in this mode FALSE if using name and modname to filter |
useroot | TRUE is it is safe to use the toproot FALSE if not, use all moduleQ search instead |
boolean obj_find_all_descendants | ( | ncx_module_t * | exprmod, |
obj_walker_fn_t | walkerfn, | ||
void * | cookie1, | ||
void * | cookie2, | ||
obj_template_t * | startnode, | ||
const xmlChar * | modname, | ||
const xmlChar * | name, | ||
boolean | configonly, | ||
boolean | textmode, | ||
boolean | useroot, | ||
boolean | orself, | ||
boolean * | fncalled | ||
) |
Find all occurances of the specified node(s) within the descendants of the current node.
The walker fn will be called for each match.
Used by XPath only!
If the walker function returns TRUE, then the walk will continue; If FALSE it will terminate right away
This function skips choice and case nodes and only processes real data nodes
exprmod | module containing XPath expression | |
walkerfn | callback function to use | |
cookie1 | cookie1 value to pass to walker fn | |
cookie2 | cookie2 value to pass to walker fn | |
startnode | start node to check | |
modname | module name; only matches in this module namespace will be returned NULL: namespace matching will be skipped | |
name | name of descendant node to find NULL to match any descendant name | |
configonly | TRUE to skip over non-config nodes FALSE to check all nodes Only used if childname == NULL | |
textmode | TRUE if just testing for text() nodes name and modname will be ignored in this mode FALSE if using name and modname to filter | |
useroot | TRUE is it is safe to use the toproot FALSE if not, use all moduleQ search instead | |
orself | TRUE if axis is really descendant-or-self FALSE if axis is descendant | |
[out] | fncalled | address of return function called flag
|
boolean obj_find_all_pfaxis | ( | ncx_module_t * | exprmod, |
obj_walker_fn_t | walkerfn, | ||
void * | cookie1, | ||
void * | cookie2, | ||
obj_template_t * | startnode, | ||
const xmlChar * | modname, | ||
const xmlChar * | name, | ||
boolean | configonly, | ||
boolean | dblslash, | ||
boolean | textmode, | ||
boolean | useroot, | ||
ncx_xpath_axis_t | axis, | ||
boolean * | fncalled | ||
) |
Find all occurances of the specified preceding or following node(s).
Could also be within the descendants of the current node. The walker fn will be called for each match.
Used by Xpath only!
If the walker function returns TRUE, then the walk will continue; If FALSE it will terminate right away
This function skips choice and case nodes and only processes real data nodes
exprmod | module containing XPath expression | |
walkerfn | callback function to use | |
cookie1 | cookie1 value to pass to walker fn | |
cookie2 | cookie2 value to pass to walker fn | |
startnode | start node to check | |
modname | module name; only matches in this module namespace will be returned NULL: namespace matching will be skipped | |
name | name of preceding or following node to find NULL to match any name | |
configonly | TRUE to skip over non-config nodes FALSE to check all nodes Only used if childname == NULL | |
dblslash | TRUE if all decendents of the preceding or following nodes should be checked FALSE only 1 level is checked | |
textmode | TRUE if just testing for text() nodes name and modname will be ignored in this mode FALSE if using name and modname to filter | |
useroot | TRUE is it is safe to use the toproot FALSE if not, use all moduleQ search instead | |
axis | axis enum to use | |
[out] | fncalled | address of return function called flag
|
ncx_sm_rootcb_t * obj_find_ancestor_rootcb | ( | obj_template_t * | obj | ) |
Find an ancestor node or self that has a rootcb.
obj | object to check |
obj_case_t * obj_find_case | ( | obj_choice_t * | choic, |
const xmlChar * | modname, | ||
const xmlChar * | casname | ||
) |
Find a specified case arm by name.
choic | choice struct to check |
modname | name of the module that added this case (may be NULL) |
casname | name of the case to find |
obj_template_t * obj_find_child | ( | obj_template_t * | obj, |
const xmlChar * | modname, | ||
const xmlChar * | objname | ||
) |
Find a child object with the specified Qname.
This is the main API for finding object child nodes
!!! This function checks for accessible names only!!! !!! That means child nodes of choice->case will be !!! present instead of the choice name or case name
obj | obj_template_t to check |
modname | module name for the object (needed for augments) (may be NULL to match any 'objname' instance) |
objname | object name to find |
obj_template_t * obj_find_child_choice_case | ( | obj_template_t * | obj, |
const xmlChar * | modname, | ||
const xmlChar * | objname | ||
) |
Find a child object with the specified Qname.
!!! This function checks for not only accessible names!!! !!! That means the choice name or case name will be preferred !!! instead of thiers child nodes
obj | the obj_template_t to check |
modname | the module name that defines the obj_template_t if it is NULL and first match will be done, and the module ignored (Name instead of QName) |
objname | the object name to find |
obj_template_t * obj_find_child_ex | ( | obj_template_t * | obj, |
const xmlChar * | modname, | ||
const xmlChar * | objname, | ||
ncx_name_match_t | match_names, | ||
boolean | alt_names, | ||
boolean | dataonly, | ||
status_t * | retres | ||
) |
Find a child object with the specified Qname extended match modes.
!!! This function checks for accessible names only!!! !!! That means child nodes of choice->case will be !!! present instead of the choice name or case name
obj | obj_template_t to check | |
modname | module name for the object (needed for augments) (may be NULL to match any 'objname' instance) | |
objname | object name to find | |
match_names | enum for selected match names mode | |
alt_names | TRUE if alt-name should be checked in addition to the YANG node name FALSE to check YANG names only | |
dataonly | TRUE to check just data nodes FALSE to check all nodes | |
[out] | retres | address of return status
|
obj_template_t * obj_find_child_fast | ( | obj_template_t * | obj, |
xmlns_id_t | nsid, | ||
const xmlChar * | objname | ||
) |
Find a child object with the specified Qname.
!!! This function checks for accessible names only!!! !!! That means child nodes of choice->case will be !!! present instead of the choice name or case name
obj | the obj_template_t to check |
nsid | the module namespace ID or zero to ignore |
objname | the object name to find |
obj_template_t * obj_find_child_lrcheck | ( | obj_template_t * | obj, |
const xmlChar * | modname, | ||
const xmlChar * | objname | ||
) |
Find a child object with the specified Qname LeafRef Check VERSION.
!!! This function checks for accessible names only!!! !!! That means child nodes of choice->case will be !!! present instead of the choice name or case name
obj | the obj_template_t to check |
modname | the module name that defines the obj_template_t if it is NULL and first match will be done, and the module ignored (Name instead of QName) |
objname | the object name to find |
obj_template_t * obj_find_child_str | ( | obj_template_t * | obj, |
const xmlChar * | modname, | ||
const xmlChar * | objname, | ||
uint32 | objnamelen | ||
) |
Find a child object with the specified Qname.
obj | obj_template_t to check |
modname | module name for the object (needed for augments) (may be NULL to match any 'objname' instance) |
objname | object name to find |
objnamelen | length of objname string |
boolean obj_find_defval | ( | obj_template_t * | obj, |
const xmlChar * | find_defval | ||
) |
Find a default.
obj | to check |
find_defval | default value string to match |
void obj_find_delete_defval | ( | obj_template_t * | obj, |
const xmlChar * | defval | ||
) |
Find and delete a leaf-list default for deviate delete default foo.
obj | to remove default |
defval | default value string to match |
grp_template_t * obj_find_grouping | ( | obj_template_t * | obj, |
const xmlChar * | grpname | ||
) |
Check if a grp_template_t in the obj groupingQ hierarchy.
obj | obj_template using the grouping |
grpname | grouping name to find |
obj_key_t * obj_find_key | ( | dlq_hdr_t * | que, |
const xmlChar * | keycompname | ||
) |
Find a specific key component by key leaf identifier name.
que | Q of obj_key_t to check |
keycompname | key component name to find |
obj_key_t * obj_find_key2 | ( | dlq_hdr_t * | que, |
obj_template_t * | keyobj | ||
) |
Find a specific key component, check for a specific node in case deep keys are supported, and to check for duplicates.
que | Q of obj_key_t to check |
keyobj | key component object to find |
obj_metadata_t * obj_find_metadata | ( | const obj_template_t * | obj, |
const xmlChar * | name | ||
) |
Find the object metadata definition in the object.
obj | object template to check |
name | name of obj_metadata_t data structure to find |
obj_template_t * obj_find_schema_template | ( | dlq_hdr_t * | que, |
const xmlChar * | modname, | ||
const xmlChar * | objname | ||
) |
Find an object with the specified name For YANG schema-nodeid so NEVER lookdeep.
que | Q of obj_template_t to search |
modname | module name that defines the obj_template_t NULL and first match will be done, and the module ignored (Name instead of QName) |
objname | object name to find |
obj_template_t * obj_find_template | ( | dlq_hdr_t * | que, |
const xmlChar * | modname, | ||
const xmlChar * | objname | ||
) |
Find an object with the specified name.
Only finds enabled objects
que | Q of obj_template_t to search |
modname | module name that defines the obj_template_t NULL and first match will be done, and the module ignored (Name instead of QName) |
objname | object name to find |
obj_template_t * obj_find_template_all | ( | ncx_module_t * | mod, |
const xmlChar * | modname, | ||
const xmlChar * | objname | ||
) |
Check if an obj_template_t in the mod->datadefQ or any of the include files used within the entire main module.
Top-level access is not tracked, so the 'test' variable is hard-wired to FALSE
mod | ncx_module to check |
modname | module name for the object (needed for augments) (may be NULL to match any 'objname' instance) |
objname | object name to find |
const obj_template_t * obj_find_template_con | ( | dlq_hdr_t * | que, |
const xmlChar * | modname, | ||
const xmlChar * | objname | ||
) |
Find an object with the specified name Return a const pointer; used by yangdump.
que | Q of obj_template_t to search |
modname | module name that defines the obj_template_t NULL and first match will be done, and the module ignored (Name instead of QName) |
objname | object name to find |
obj_template_t * obj_find_template_test | ( | dlq_hdr_t * | que, |
const xmlChar * | modname, | ||
const xmlChar * | objname | ||
) |
Find an object with the specified name Test version; do not set 'used' flag.
que | Q of obj_template_t to search |
modname | module name that defines the obj_template_t NULL and first match will be done, and the module ignored (Name instead of QName) |
objname | object name to find |
obj_template_t * obj_find_template_top | ( | ncx_module_t * | mod, |
const xmlChar * | modname, | ||
const xmlChar * | objname | ||
) |
Check if an obj_template_t in the mod->datadefQ or any of the include files visible to this module.
Top-level access is not tracked, so the 'test' variable is hard-wired to FALSE
mod | ncx_module to check |
modname | module name for the object (needed for augments) (may be NULL to match any 'objname' instance) |
objname | object name to find |
obj_template_t * obj_find_template_top_ex | ( | ncx_module_t * | mod, |
const xmlChar * | modname, | ||
const xmlChar * | objname, | ||
ncx_name_match_t | match_names, | ||
boolean | alt_names, | ||
boolean | dataonly, | ||
status_t * | retres | ||
) |
Check if an obj_template_t in the mod->datadefQ or any of the include files visible to this module.
Top-level access is not tracked, so the 'test' variable is hard-wired to FALSE
mod | ncx_module to check | |
modname | module name for the object (needed for augments) (may be NULL to match any 'objname' instance) | |
objname | object name to find | |
match_names | enum for selected match names mode | |
alt_names | TRUE if alt-name should be checked in addition to the YANG node name FALSE to check YANG names only | |
dataonly | TRUE to check just data nodes FALSE to check all nodes | |
[out] | retres | address of return status
|
obj_template_t * obj_find_template_top_lrcheck | ( | ncx_module_t * | mod, |
const xmlChar * | modname, | ||
const xmlChar * | objname | ||
) |
Check if an obj_template_t in the mod->datadefQ or any of the include files visible to this module (LeafRef Check version)
Top-level access is not tracked, so the 'test' variable is hard-wired to FALSE
Ignore if-feature=false in this lookup
mod | ncx_module to check |
modname | module name for the object (needed for augments) (may be NULL to match any 'objname' instance) |
objname | object name to find |
typ_template_t * obj_find_type | ( | obj_template_t * | obj, |
const xmlChar * | typname | ||
) |
Check if a typ_template_t in the obj typedefQ hierarchy.
obj | obj_template using the typedef |
typname | type name to find |
obj_unique_t * obj_find_unique | ( | dlq_hdr_t * | que, |
const xmlChar * | xpath | ||
) |
Find a specific unique-stmt.
que | queue of obj_unique_t to check |
xpath | relative path expression for the unique node to find |
boolean obj_find_xpath_backptr | ( | obj_template_t * | obj, |
struct xpath_pcb_t_ * | xpath | ||
) |
Find an xpath-expr backptr.
obj | object to search |
xpath | Xpath PCB to find |
obj_template_t * obj_first_child | ( | obj_template_t * | obj | ) |
Get the first child object if the specified object has any children.
!!!! SKIPS OVER AUGMENT AND USES AND DISABLED OBJECTS !!!!
obj | obj_template_t to check for children |
obj_template_t * obj_first_child_augok | ( | obj_template_t * | obj | ) |
Get the first child object if the specified object has any children.
!!!! SKIPS OVER REFINE and USES !!!!
obj | obj_template_t to check |
obj_template_t * obj_first_child_deep | ( | obj_template_t * | obj | ) |
Get the first child object if the specified object has any children.
Look past choices and cases to the real nodes within them
!!!! SKIPS OVER AUGMENT AND USES AND CHOICES AND CASES !!!!
obj | obj_template_t to check |
const obj_key_t * obj_first_ckey | ( | const obj_template_t * | obj | ) |
Get the first key record: Const version.
obj | object to check |
obj_defval_tk_t * obj_first_defval_tk | ( | const obj_refine_t * | ref | ) |
Get the first defval_tk entry.
ref | refine object to check |
obj_defval_tk_t * obj_first_dev_defval_tk | ( | const obj_deviate_t * | dev | ) |
Get the first defval_tk entry.
dev | deviate statement to search |
grp_template_t * obj_first_grouping | ( | obj_template_t * | obj | ) |
Get the first local grouping if any.
obj | obj_template to use |
obj_iffeature_ptr_t * obj_first_iffeature_ptr | ( | obj_template_t * | obj | ) |
Get first if-feature pointer.
obj | the obj_template to check |
ncx_backptr_t * obj_first_inherit_when_ptr | ( | obj_template_t * | obj | ) |
Get first xpath pointer struct.
obj | the obj_template to check |
obj_key_t * obj_first_key | ( | obj_template_t * | obj | ) |
Get the first key record.
obj | object to check |
obj_metadata_t * obj_first_metadata | ( | const obj_template_t * | obj | ) |
Get the first object metadata definition in the object.
obj | object template to check |
obj_template_t * obj_first_terminal_child | ( | obj_template_t * | obj | ) |
Get the first child object if the specified object has any children; MUST BE A TERMINAL NODE!!!
!!!! SKIPS OVER AUGMENT AND USES AND DISABLED OBJECTS !!!!
obj | obj_template_t to check for children |
obj_template_t * obj_first_terminal_child_nokey | ( | obj_template_t * | obj | ) |
Get the first child object if the specified object has any children; MUST BE A TERMINAL NODE!!!
!!!! SKIPS OVER AUGMENT AND USES ANF KEY LEAFS !!!!
obj | obj_template_t to check |
obj_template_t * obj_first_terminal_child_nokey_nochoice | ( | obj_template_t * | obj | ) |
Get the first child object if the specified object has any children.
Do not dive deep inside CHOICE / CASE MUST BE A TERMINAL NODE BUT NOT INSIDE CHOICE / CASE!!!
!!!! SKIPS OVER AUGMENT AND USES !!!!
YPW-2125: Do not skip over choices -> return only terminal nodes that are not inside choice!!!
obj | obj_template_t to check |
typ_template_t * obj_first_typedef | ( | obj_template_t * | obj | ) |
Get the first local typedef for this object, if any.
obj | obj_template to use |
obj_unique_t * obj_first_unique | ( | obj_template_t * | listobj | ) |
Get the first unique-stmt for a list.
listobj | (list) object to check for unique structs |
obj_template_t * obj_first_unique_backptr | ( | obj_template_t * | leafobj | ) |
Get the first unique backptr for a leaf object.
leafobj | the leaf object that will get searched |
obj_unique_comp_t * obj_first_unique_comp | ( | obj_unique_t * | un | ) |
Get the first identifier in a unique-stmt for a list.
un | unique struct to check |
struct xpath_pcb_t_ * obj_first_xpath_backptr | ( | obj_template_t * | obj | ) |
Get the first xpath backptr.
obj | object to search |
void obj_flag_xpath_backptrs_dirty | ( | obj_template_t * | obj, |
ncx_cfg_t | cfg_id, | ||
boolean | flag | ||
) |
Check all the xpath backptr records for this object and set them to dirty or clean, based on input.
obj | object to check |
cfg_id | configuration datastore to check |
flag | TRUE to set dirty; FALSE to clear |
void obj_force_disabled | ( | obj_template_t * | obj | ) |
Force an object to be disabled.
obj | the obj_template to force disabled |
void obj_force_hidden | ( | obj_template_t * | obj | ) |
Force an object to be hidden.
obj | the obj_template to force hidden |
void obj_force_root | ( | obj_template_t * | obj | ) |
Set the object as an anydata type of root.
obj | obj_template to set |
void obj_free_defval_tk | ( | obj_defval_tk_t * | def | ) |
Delete an object default tk record;.
def | malloced entry to free |
void obj_free_deviate | ( | obj_deviate_t * | deviate | ) |
Clean and free an object deviate statement.
deviate | pointer to the struct to clean and free |
void obj_free_deviation | ( | obj_deviation_t * | deviation | ) |
Clean and free an object deviation statement.
deviation | pointer to the struct to clean and free |
void obj_free_iffeature_ptr | ( | obj_iffeature_ptr_t * | iffptr | ) |
Free an obj_iffeature_ptr_t struct.
iffptr | struct to free |
void obj_free_key | ( | obj_key_t * | key | ) |
void obj_free_metadata | ( | obj_metadata_t * | meta | ) |
Scrub the memory in a obj_metadata_t by freeing all the sub-fields and then freeing the entire struct itself.
The struct must be removed from any queue it is in before this function is called.
meta | obj_metadata_t data structure to free |
void obj_free_template | ( | obj_template_t * | obj | ) |
Scrub the memory in a obj_template_t by freeing all the sub-fields and then freeing the entire struct itself.
The struct must be removed from any queue it is in before this function is called.
obj | obj_template_t data structure to free |
void obj_free_unique | ( | obj_unique_t * | un | ) |
Free a obj_unique_t struct.
un | obj_unique_t struct to free |
void obj_free_unique_comp | ( | obj_unique_comp_t * | unc | ) |
Free a obj_unique_comp_t struct.
unc | obj_unique_comp_t struct to free |
status_t obj_gen_aughook_id | ( | const obj_template_t * | obj, |
xmlChar ** | buff | ||
) |
Malloc and Generate the augment hook element name for the specified object.
This will be a child node of the specified object.
obj | node to generate the augment hook ID for | |
[out] | buff | pointer to address of buffer to use
|
status_t obj_gen_object_id | ( | const obj_template_t * | obj, |
xmlChar ** | buff | ||
) |
Malloc and Generate the object ID for an object node.
obj | node to generate the instance ID for | |
[out] | buff | pointer to address of buffer to use
|
status_t obj_gen_object_id_code | ( | ncx_module_t * | mod, |
const obj_template_t * | obj, | ||
xmlChar ** | buff | ||
) |
Malloc and Generate the object ID for an object node for C code usage.
generate a unique name for C code; handles augments
mod | current module in progress | |
obj | node to generate the instance ID for | |
[out] | buff | pointer to address of buffer to use
|
status_t obj_gen_object_id_datapath | ( | const obj_template_t * | obj, |
xmlChar ** | buff | ||
) |
Malloc and Generate the object ID for an object node Use the prefix in every node.
Stop at MP ROOT if found. Use for 'datapath' attribute
obj | the node to generate the instance ID for | |
[out] | buff | the pointer to address of buffer to use
|
status_t obj_gen_object_id_error | ( | const obj_template_t * | obj, |
xmlChar ** | buff | ||
) |
Malloc and Generate the object ID for an object node for errors.
obj | the node to generate the instance ID for | |
[out] | buff | the pointer to address of buffer to use
|
status_t obj_gen_object_id_oid | ( | ncx_module_t * | mod, |
const obj_template_t * | obj, | ||
xmlChar ** | buff | ||
) |
Malloc and Generate the object ID for an object node Used for canonical ID string comparison to generate OID number.
mod | the module containing the object | |
obj | the node to generate the instance ID for | |
[out] | buff | the pointer to address of buffer to use
|
status_t obj_gen_object_id_prefix | ( | const obj_template_t * | obj, |
xmlChar ** | buff | ||
) |
Malloc and Generate the object ID for an object node Use the prefix in every node.
obj | the node to generate the instance ID for | |
[out] | buff | the pointer to address of buffer to use
|
status_t obj_gen_object_id_sid | ( | const obj_template_t * | obj, |
xmlChar ** | buff | ||
) |
Malloc and Generate the object ID for an object node for SID path usage.
obj | node to generate the instance ID for | |
[out] | buff | pointer to address of buffer to use
|
status_t obj_gen_object_id_unique | ( | const obj_template_t * | obj, |
const obj_template_t * | stopobj, | ||
xmlChar ** | buff | ||
) |
Malloc and Generate the object ID for a unique-stmt test.
obj | the node to generate the instance ID for | |
stopobj | the ancestor node to stop at | |
[out] | buff | the pointer to address of buffer to use
|
status_t obj_gen_object_id_xpath | ( | const obj_template_t * | obj, |
xmlChar ** | buff | ||
) |
Malloc and Generate the object ID for an object node.
Remove all conceptual OBJ_TYP_CHOICE and OBJ_TYP_CASE nodes so the resulting string will represent the structure of the value tree for XPath searching
obj | the node to generate the instance ID for | |
[out] | buff | the pointer to address of buffer to use
|
const xmlChar * obj_get_alt_description | ( | const obj_template_t * | obj | ) |
obj_get_alt_description (DEPRECATED)
Get the alternate description field for this obj Check if any 'info', then 'help' appinfo nodes present
obj | the specific object to check |
const xmlChar * obj_get_altname | ( | const obj_template_t * | obj | ) |
Get the alt-name for this object, if any.
obj | obj_template to check |
status_t obj_get_appinfo | ( | obj_template_t * | obj, |
const xmlChar * | prefix, | ||
const xmlChar * | name, | ||
const xmlChar ** | retval | ||
) |
Get the first (or only) instance of the specified appinfo.
obj | object to check for the appinfo (mandatory) | |
prefix | prefix string for the appinfo leave NULL unless expecting duplicates | |
name | name of the appinfo (extension identifier) (mandatory) | |
[out] | retval | address of return value (may be NULL) *retval == const pointer to the appinfo value string; may be NULL RETURNS status expect NO_ERR if found or ERR_NCX_NOT_FOUND if not found |
dlq_hdr_t * obj_get_appinfoQ | ( | obj_template_t * | obj | ) |
Get the appinfoQ for this obj.
obj | the specific object to check |
obj_template_t * obj_get_augment_obj | ( | obj_template_t * | obj | ) |
Get the augobj template from the object pointer.
INTERNAL API
obj | the object to check |
const xmlChar * obj_get_augment_target | ( | obj_template_t * | obj | ) |
Get the target path string for an augments object.
obj | the object to check |
obj_template_t * obj_get_augment_targobj | ( | obj_template_t * | obj | ) |
Get the target object for an augments object.
obj | the object to check |
typ_def_t * obj_get_base_typdef | ( | obj_template_t * | obj | ) |
Get the base typdef for the leaf or leaf-list.
obj | object to check |
ncx_btype_t obj_get_basetype | ( | const obj_template_t * | obj | ) |
Get the NCX base type enum for the object type.
obj | object to check |
const dlq_hdr_t * obj_get_cdatadefQ | ( | const obj_template_t * | obj | ) |
Get a const pointer to the datadefQ (or caseQ) if this object has one.
obj | object to check |
uint32 obj_get_child_count | ( | const obj_template_t * | obj | ) |
Get the number of child nodes the object has.
obj | obj_template to check |
status_t obj_get_child_node | ( | obj_template_t * | obj, |
obj_template_t * | chobj, | ||
const xml_node_t * | curnode, | ||
boolean | xmlorder, | ||
dlq_hdr_t * | force_modQ, | ||
obj_template_t ** | rettop, | ||
obj_template_t ** | retobj | ||
) |
Get the correct child node for the specified parent and current XML node.
complex logic for finding the right module namespace and child node, given the current context. Used only by the XML parser code!
obj | parent object template | |
chobj | current child node (may be NULL if the xmlorder param is FALSE | |
xmlorder | TRUE if should follow strict XML element order FALSE if sibling node order errors should be ignored; find child nodes out of order and check too-many-instances later | |
curnode | current XML start or empty node to check | |
force_modQ | Q of ncx_module_t to check, if set NULL and the xmlns registry of module pointers will be used instead (except netconf.yang) | |
[out] | rettop | address of return topchild object *rettop set to top-level found object if return OK and currently within a choice |
[out] | retobj | address of return object to use *retobj set to found object if return OK |
obj_template_t * obj_get_choice_parent | ( | obj_template_t * | obj | ) |
Get the OBJ_TYP_CHOICE parent of the current object; skip OBJ_TYP_CASE.
obj | object to check |
boolean obj_get_config_flag | ( | const obj_template_t * | obj | ) |
Get the config flag for an obj_template_t Return the explicit value or the inherited value Also return if the config-stmt is really set or not.
obj | obj_template to check |
boolean obj_get_config_flag2 | ( | const obj_template_t * | obj, |
boolean * | setflag | ||
) |
Get the config flag for an obj_template_t Return the explicit value or the inherited value Also return if the config-stmt is really set or not.
obj | obj_template to check | |
[out] | setflag | address of return config-stmt set flag
|
boolean obj_get_config_flag_check | ( | const obj_template_t * | obj, |
boolean * | ingrp | ||
) |
get config flag during YANG module checking
Used by yang_obj.c to make sure ncx:root objects are not treated as 'config', like obj_get_config_deep
obj | obj_template to check | |
[out] | ingrp | address if in grouping flag
|
boolean obj_get_config_flag_deep | ( | const obj_template_t * | obj | ) |
get config flag during augment expand
Get the config flag for an obj_template_t Go all the way up the tree until an explicit set node or the root is found
Used by get_list_key because the config flag of the parent is not set yet when a key leaf is expanded
obj | obj_template to check |
const obj_template_t * obj_get_cparent | ( | const obj_template_t * | obj | ) |
Get the parent of the current object CONST POINTER VERSION.
obj | object to check |
const typ_def_t * obj_get_ctypdef | ( | const obj_template_t * | obj | ) |
Get the typdef for the leaf or leaf-list : Const version.
obj | object to check |
dlq_hdr_t * obj_get_datadefQ | ( | obj_template_t * | obj | ) |
Get the datadefQ (or caseQ) if this object has one.
obj | object to check |
const xmlChar * obj_get_default | ( | const obj_template_t * | obj | ) |
Get the default value for the specified object.
Only OBJ_TYP_LEAF objtype is supported If the leaf has no default, then the type is checked Choice defaults are ignored.
obj | object to check |
obj_template_t * obj_get_default_case | ( | obj_template_t * | obj | ) |
Get the default case for the specified OBJ_TYP_CHOICE object.
obj | object to check |
obj_template_t * obj_get_default_parm | ( | obj_template_t * | obj | ) |
Get the ncx:default-parm object for this object Only supported for OBJ_TYP_CONTAINER and OBJ_TYP_RPCIO (input)
obj | the specific object to check |
dlq_hdr_t * obj_get_defvalQ | ( | obj_template_t * | obj | ) |
Get the leaf-list default Q.
obj | to check |
const xmlChar * obj_get_description | ( | const obj_template_t * | obj | ) |
Get the description field for this obj.
obj | the specific object to check |
const void * obj_get_description_addr | ( | const obj_template_t * | obj | ) |
Get the address of the description field for this obj.
obj | the specific object to check |
const xmlChar * obj_get_deviate_arg | ( | obj_deviate_arg_t | devarg | ) |
Get the deviate-arg string from its enumeration.
devarg | enumeration to convert |
const xmlChar * obj_get_first_default | ( | const obj_template_t * | obj, |
ncx_backptr_t ** | thisdef | ||
) |
Get the first default value for the specified object.
obj | object to check | |
[out] | thisdef | address of return address string
|
const ncx_iffeature_t * obj_get_first_iffeature | ( | const obj_template_t * | obj | ) |
Get the first if-feature clause (if any) for the specified object.
obj | object template to check |
uint8 obj_get_fraction_digits | ( | const obj_template_t * | obj | ) |
Get the fraction-digits field from the object typdef.
obj | object template to check |
const xmlChar * obj_get_help_description | ( | const obj_template_t * | obj | ) |
Get the help description field for this obj Check if a 'help' appinfo node is present.
obj | the specific object to check |
const xmlChar * obj_get_info_description | ( | const obj_template_t * | obj | ) |
Get the info description field for this obj Check if a 'info' appinfo node is present.
obj | the specific object to check |
ncx_iqual_t obj_get_iqualval | ( | obj_template_t * | obj | ) |
Get the instance qualifier for this object.
obj | object to check |
ncx_iqual_t obj_get_iqualval_ex | ( | obj_template_t * | obj, |
boolean | required | ||
) |
Get the instance qualifier for this object.
obj | object to check |
required | value to use for 'is_mandatory()' logic |
obj_key_t * obj_get_key_by_name | ( | obj_template_t * | obj, |
const xmlChar * | keyname | ||
) |
Check the specified list to see if the string is a list key.
obj | list object |
keyname | key name to find |
uint16 obj_get_key_num | ( | obj_template_t * | obj | ) |
Get the key number for the object.
obj | object to get; MUST be leaf |
const xmlChar * obj_get_keystr | ( | obj_template_t * | obj | ) |
Get the key string for this list object.
obj | obj_template to check |
ncx_yang_version_t obj_get_langver | ( | obj_template_t * | obj | ) |
Get the YANG version for this object.
obj | object to check |
boolean obj_get_leaf_list_defset | ( | const obj_template_t * | obj | ) |
Get the defset flag for a leaf-list.
obj | object to check |
ncx_leafref_class_t obj_get_leafref_class | ( | obj_template_t * | obj | ) |
Get the leafref class for a leafref object.
obj | the object to check |
obj_template_t * obj_get_leafref_targobj | ( | obj_template_t * | obj | ) |
Get the target object for a leafref leaf or leaf-list.
obj | object to check |
dlq_hdr_t * obj_get_leafrefQ | ( | const obj_template_t * | obj | ) |
Get the leafrefQ for this obj.
obj | the specific object to check |
uint32 obj_get_level | ( | const obj_template_t * | obj | ) |
Get the nest level for the specified object Top-level is '1' Does not count groupings as a level.
obj | object to check |
uint32 obj_get_level_mp | ( | const obj_template_t * | obj | ) |
Get the nest level for the specified object Top-level is '1' Does not count groupings as a level.
YPW-1964: get find keys API malfucntion for Schema Mount
If this is mounted obj do not go higher MP and keep the depth level count from MP root
Does not go upper Mount Point
obj | object to check |
ncx_access_t obj_get_max_access | ( | const obj_template_t * | obj | ) |
Get the NCX max-access enum for an obj_template_t Return the explicit value or the inherited value.
obj | obj_template to check |
boolean obj_get_max_elements | ( | obj_template_t * | obj, |
uint32 * | maxelems | ||
) |
Get the max-elements clause for this object, if any.
obj | object to check | |
[out] | maxelems | address of return max-elements value
|
boolean obj_get_min_elements | ( | obj_template_t * | obj, |
uint32 * | minelems | ||
) |
Get the min-elements clause for this object, if any.
obj | object to check | |
[out] | minelems | address of return min-elements value
|
ncx_module_t * obj_get_mod | ( | obj_template_t * | obj | ) |
Get the module pointer for this object.
obj | object to check |
ncx_module_t * obj_get_mod_for_dump | ( | obj_template_t * | obj | ) |
Get the module pointer for this object Use for sub-module !!! Used by yangdump-pro!!!
obj | object to check |
const xmlChar * obj_get_mod_name | ( | const obj_template_t * | obj | ) |
Get the module name for this object.
obj | object to check |
const xmlChar * obj_get_mod_prefix | ( | const obj_template_t * | obj | ) |
Get the module prefix for this object.
obj | object to check |
const xmlChar * obj_get_mod_version | ( | const obj_template_t * | obj | ) |
Get the module version for this object.
obj | object to check |
const xmlChar * obj_get_mod_xmlprefix | ( | const obj_template_t * | obj | ) |
Get the module prefix for this object.
obj | object to check |
dlq_hdr_t * obj_get_mustQ | ( | const obj_template_t * | obj | ) |
Get the mustQ for this obj.
obj | the specific object to check |
const xmlChar * obj_get_name | ( | const obj_template_t * | obj | ) |
Get the name field for this obj.
obj | the specific object to check |
const xmlChar * obj_get_next_default | ( | const obj_template_t * | obj, |
ncx_backptr_t * | lastdef, | ||
ncx_backptr_t ** | thisdef | ||
) |
Get the next default value for the specified object.
Only OBJ_TYP_LEAF_LIST objtype is supported If the leaf has nodefault, then the type is checked
obj | object to check | |
lastdef | last default pointer; get next of this value | |
[out] | thisdef | address of return default
|
const ncx_iffeature_t * obj_get_next_iffeature | ( | const ncx_iffeature_t * | iffeature | ) |
Get the next if-feature clause (if any)
iffeature | current iffeature struct |
xmlns_id_t obj_get_nsid | ( | const obj_template_t * | obj | ) |
Get the namespace ID for this object.
obj | object to check |
const xmlChar * obj_get_oid_string | ( | obj_template_t * | obj | ) |
Get object OID sting value.
obj | object to use |
obj_oid_t * obj_get_oid_struct | ( | obj_template_t * | obj, |
boolean * | malloced | ||
) |
Get malloced object OID structure that contains OID string and OID count.
obj | object to use | |
[out] | malloced | return malloced flag
|
obj_template_t * obj_get_parent | ( | obj_template_t * | obj | ) |
Get the parent of the current object.
obj | object to check |
obj_template_t * obj_get_parent_choice | ( | obj_template_t * | obj | ) |
Get the choice parent of the current object;.
obj | object to check |
const xmlChar * obj_get_presence_string | ( | const obj_template_t * | obj | ) |
Get the present-stmt value, if any.
obj | obj_template to check |
void * obj_get_presence_string_field | ( | const obj_template_t * | obj | ) |
Get the address ot the presence-stmt value, if any.
obj | obj_template to check |
const obj_template_t * obj_get_real_cparent | ( | const obj_template_t * | obj | ) |
Get the parent of the current object; skip OBJ_TYP_CHOICE and OBJ_TYP_CASE.
CONST POINTER VERSION
obj | object to check |
uint32 obj_get_real_level | ( | const obj_template_t * | obj | ) |
Get the nest level for the specified object Top-level is '1' Does not count groupings as a level Does not count case/choice as a level.
obj | object to check |
ncx_module_t * obj_get_real_mod | ( | obj_template_t * | obj | ) |
Get the module struct for the submodule or main module with this object.
obj | the obj_template to check |
obj_template_t * obj_get_real_parent | ( | obj_template_t * | obj | ) |
Get the parent of the current object; skip OBJ_TYP_CHOICE and OBJ_TYP_CASE.
obj | object to check |
obj_template_t * obj_get_real_parent_aug | ( | obj_template_t * | obj | ) |
Get the parent of the current object; skip OBJ_TYP_AUGMENT and return the actual parent.
obj | object to check |
const xmlChar * obj_get_reference | ( | const obj_template_t * | obj | ) |
Get the reference field for this obj.
obj | the specific object to check |
const void * obj_get_reference_addr | ( | const obj_template_t * | obj | ) |
Get the reference field for this obj.
Used by compiler only!
obj | the specific object to check |
uint8 obj_get_sil_priority | ( | obj_template_t * | obj | ) |
Get the SIL priority field.
obj | obj_template to check |
ncx_sort_type_t obj_get_sort_type | ( | const obj_template_t * | obj | ) |
Get the sort type for the object.
obj | the specific object to get the sort type |
NCX_SORT_NONE | if not applicable |
ncx_status_t obj_get_status | ( | const obj_template_t * | obj | ) |
Get the status field for this obj.
obj | the specific object to check |
obj_template_t * obj_get_top_aio_get2 | ( | obj_template_t * | child | ) |
Find the top AIO object.
child | child object to use |
boolean obj_get_top_config_flag | ( | const obj_template_t * | obj | ) |
Get the config flag for the top-level object.
Check the specified object all the way to root
obj | object to check |
typ_def_t * obj_get_typdef | ( | obj_template_t * | obj | ) |
Get the typdef for the leaf or leaf-list.
obj | object to check |
const xmlChar * obj_get_type_name | ( | const obj_template_t * | obj | ) |
Get the typename for an object.
obj | object to check |
const xmlChar * obj_get_typestr | ( | const obj_template_t * | obj | ) |
Get the name of the object type.
Use this function to print the YANG object type such as container or list
obj | obj_template to check |
const xmlChar * obj_get_units | ( | obj_template_t * | obj | ) |
Get the units clause for this object, if any.
obj | object to check |
grp_template_t * obj_get_uses_grp | ( | obj_template_t * | usesobj | ) |
Get the grp template from the uses object pointer.
INTERNAL API
usesobj | the object to check |
obj_template_t * obj_get_uses_obj | ( | obj_template_t * | obj | ) |
Get the usesobj template from the object pointer.
INTERNAL API
obj | the object to check |
boolean obj_get_xpath_oper_ok | ( | const obj_template_t * | obj | ) |
Get the object XPath oper OK flag.
obj | the obj_template to set |
ncx_sid_t obj_get_yang_sid | ( | const obj_template_t * | obj | ) |
Get the YANG SID for this object.
obj | object to check |
uint32 obj_get_yang_sid_tree | ( | const obj_template_t * | obj | ) |
Get the YANG SID Tree ID for this object.
obj | object to check |
boolean obj_has_aio_list | ( | obj_template_t * | obj | ) |
Check is AIO object is a list or if its parent is a list object.
obj | object to use |
boolean obj_has_children | ( | obj_template_t * | obj | ) |
Check if there are any accessible nodes within the object.
obj | obj_template to check |
boolean obj_has_get2cb | ( | obj_template_t * | obj | ) |
Check if current object has GET2 callback registered.
Checks:
If the obj is NP cont with some get2 underneath also check if the cont is actually exist in the datastore, so need to use config TRUE value first. If it does not, then use the get2 callback underneath.
obj | object struct to use |
boolean obj_has_iffeature | ( | obj_template_t * | obj | ) |
Check any if-feature statements exist for the specified object.
obj | the obj_template to check |
boolean obj_has_mandatory_children | ( | obj_template_t * | obj | ) |
Check if there are any mandatory children.
obj | the obj_template to check |
boolean obj_has_name | ( | const obj_template_t * | obj | ) |
Check if the specified object type has a name.
this function is used throughout the code to filter out uses and augment nodes from the real nodes. Those are the only YANG nodes that do not have a name assigned to them
obj | the specific object to check |
boolean obj_has_ro_children | ( | obj_template_t * | obj | ) |
Check if there are any accessible read-only child nodes within the object.
obj | obj_template to check |
boolean obj_has_ro_descendants | ( | obj_template_t * | obj | ) |
Check if there are any accessible read-only descendant nodes within the object.
obj | the obj_template to check |
boolean obj_has_rw_children | ( | obj_template_t * | obj | ) |
Check if there are any accessible read-write child nodes within the object.
Do not count list keys in this check!!!
obj | the obj_template to check |
boolean obj_has_rw_children_ex | ( | obj_template_t * | obj, |
boolean | term_only | ||
) |
Check if there are any accessible read-write child nodes within the object.
Do not count list keys in this check!!! Check with or without terminals only
obj | the obj_template to check |
term_only | only include terminal rw children |
boolean obj_has_text_content | ( | const obj_template_t * | obj | ) |
Check if the specified object type has a text content for XPath purposes.
obj | the specific object to check |
boolean obj_has_typedefs | ( | const obj_template_t * | obj | ) |
Check if the object has any nested typedefs in it.
This will obly be called if the object is defined in a grouping.
obj | object to check |
boolean obj_has_when_stmts | ( | obj_template_t * | obj | ) |
Check if any when-stmts apply to this object Does not check if they are true, just any when-stmts present.
obj | object template to check |
boolean obj_has_xpath_stmts | ( | obj_template_t * | obj | ) |
Check if any must or when stmts in node or all children.
DOES NOT CHECK PARENT PATH LIKE obj_has_when_stmts
obj | the obj_template to start check |
boolean obj_in_abstract | ( | const obj_template_t * | obj | ) |
Check if object is being used as an object identifier or error-info CHECK ENTIRE TREE UP TO ROOT.
obj | the obj_template to check |
boolean obj_in_action | ( | const obj_template_t * | obj | ) |
Check if the object is within or is an action method.
obj | the obj_template to check |
boolean obj_in_augment | ( | const obj_template_t * | obj | ) |
Check if object is an augment or inside an augment CHECK ENTIRE TREE UP TO ROOT.
obj | the obj_template to check |
boolean obj_in_edit2_mode | ( | obj_template_t * | obj | ) |
Check if the object is an edit2 or edit3 container or list or terminal node child in an edit2 or edit3 container or list.
obj | obj_template to check |
boolean obj_in_list | ( | const obj_template_t * | obj | ) |
Check if object is nested within a list.
obj | the obj_template to check |
boolean obj_in_notif | ( | const obj_template_t * | obj | ) |
Check if the object is in a notification.
obj | object to check |
boolean obj_in_rpc | ( | const obj_template_t * | obj | ) |
Check if the object is in an rpc/input section.
obj | object to check |
boolean obj_in_rpc_reply | ( | const obj_template_t * | obj | ) |
Check if the object is in an rpc-reply/output section.
obj | object to check |
boolean obj_in_submodule | ( | obj_template_t * | obj | ) |
Check if the object is defined in a submodule.
obj | object to check |
boolean obj_in_top_choice | ( | const obj_template_t * | obj | ) |
Check if the object is in top-level choice the YANG module that defines it.
obj | object template to check |
void obj_init_unique | ( | obj_unique_t * | un | ) |
Init a obj_unique_t struct.
un | obj_unique_t struct to init |
boolean obj_is_abstract | ( | const obj_template_t * | obj | ) |
Check if object is being used as an object identifier or error-info.
obj | obj_template to check |
boolean obj_is_abstract_ex | ( | const obj_template_t * | obj | ) |
DUPLICATE FUNCTION OF obj_in_abstract()
Check if object is being used as ncx:abstract object or is a child of ncx:abstract parent object
obj | object to check |
boolean obj_is_action | ( | const obj_template_t * | obj | ) |
Check if the object is a YANG 1.1 action.
obj | object to check |
boolean obj_is_ancestor | ( | const obj_template_t * | ancestor, |
const obj_template_t * | obj | ||
) |
Check if an object is the ancestor of another.
Does not allow ancestor-or-self Will return FALSE if ancestor == target
ancestor | the obj_template to find in the ancestor path |
obj | the obj_template to check the ancestor path |
boolean obj_is_any | ( | const obj_template_t * | obj | ) |
Get the config flag for the top-level object Check the specified object all the way to root.
obj | object to check |
boolean obj_is_anydata | ( | const obj_template_t * | obj | ) |
Check if object is an anydata.
obj | the obj_template to check |
boolean obj_is_anyxml | ( | const obj_template_t * | obj | ) |
Check if object is an anyxml.
obj | the obj_template to check |
boolean obj_is_augclone | ( | const obj_template_t * | obj | ) |
Figure out if the obj is a cloned object, inserted via an augment statement.
obj | obj_template to check |
boolean obj_is_augment | ( | const obj_template_t * | obj | ) |
Check if the obj is an augment statement.
obj | obj_template to check |
boolean obj_is_block_user_create | ( | const obj_template_t * | obj | ) |
Check if object is marked as ncx:user-write with create access disabled.
obj | obj_template to check |
boolean obj_is_block_user_delete | ( | const obj_template_t * | obj | ) |
Check if object is marked as ncx:user-write with delete access disabled.
obj | obj_template to check |
boolean obj_is_block_user_update | ( | const obj_template_t * | obj | ) |
Check if object is marked as ncx:user-write with update access disabled.
obj | obj_template to check |
boolean obj_is_case | ( | const obj_template_t * | obj | ) |
Check if object is a YANG case.
obj | object to check |
boolean obj_is_choice | ( | const obj_template_t * | obj | ) |
Check if object is a YANG choice.
obj | object to check |
boolean obj_is_cli | ( | const obj_template_t * | obj | ) |
Check if object is marked as a CLI object.
obj | obj_template to check |
boolean obj_is_cli_equals_ok | ( | const obj_template_t * | obj | ) |
Check if object is marked as ncx:default-parm-equals-ok.
obj | obj_template to check |
boolean obj_is_cli_text_block | ( | const obj_template_t * | obj | ) |
Check if object is marked as ywx:cli-text-block.
obj | obj_template to check |
boolean obj_is_cloned | ( | const obj_template_t * | obj | ) |
Figure out if the obj is a cloned object, inserted via uses or augment statements.
obj | obj_template to check |
boolean obj_is_confirm_data | ( | const obj_template_t * | obj | ) |
Check if object is marked as a confirm-data object for CLI.
obj | the obj_template to check |
boolean obj_is_container | ( | const obj_template_t * | obj | ) |
Check if object is a YANG container.
obj | object to check |
boolean obj_is_create_np_ro | ( | obj_template_t * | obj | ) |
Check if this is an empty read-only NP-container that should be created as an empty NP container.
obj | the object to check |
boolean obj_is_crypt_hash | ( | const obj_template_t * | obj | ) |
Check if the object is a leaf of type crypt-hash.
obj | the object to check |
boolean obj_is_data | ( | const obj_template_t * | obj | ) |
Check if the object is defined within data or within a notification or RPC instead.
obj | object to check |
boolean obj_is_data_db | ( | const obj_template_t * | obj | ) |
Check if the object is some sort of data Constrained to only check the config DB objects, not any notification or RPC objects.
obj | object to check |
boolean obj_is_data_node | ( | const obj_template_t * | obj | ) |
Check if the object is a real node type.
obj | the obj_template to check |
boolean obj_is_datapath | ( | const obj_template_t * | obj | ) |
Check if object is marked as a ywx:datapath object.
obj | the obj_template to check |
boolean obj_is_deleted | ( | const obj_template_t * | obj | ) |
Check if object has been deleted by a deviate not-supported.
obj | the obj_template to check |
boolean obj_is_deleted_ex | ( | const obj_template_t * | obj | ) |
Check if object has been deleted by a deviate not-supported Or if its parent was deleted by deviation.
obj | the obj_template to check |
boolean obj_is_dirty | ( | const obj_template_t * | obj, |
ncx_cfg_t | cfgid | ||
) |
Check if object is marked as dirty (edited) for datastore validation purposes.
obj | the obj_template to check |
cfgid | the configuration ID for the datastore to check |
boolean obj_is_dup_local | ( | obj_template_t * | obj | ) |
Check if this object is one that has a duplicate sibling with the same local-name and different module namespace.
obj | object to set |
boolean obj_is_empty | ( | const obj_template_t * | obj | ) |
Check if object was entered in empty fashion:
list foo; uses grpx;
obj | obj_template to check |
boolean obj_is_enabled | ( | obj_template_t * | obj | ) |
Check any if-feature statement that may cause the specified object to be invisible.
obj | obj_template_t to check |
boolean obj_is_exclusive_rpc | ( | const obj_template_t * | obj | ) |
Check if this object has the OBJ_FL_EXCLUSIVE_WRITE bit set.
obj | the specific object to check |
boolean obj_is_external_augment | ( | obj_template_t * | obj | ) |
Check if an object is an external augment.
obj | the object to check |
boolean obj_is_external_data_augment | ( | obj_template_t * | obj | ) |
Check if an object is an external augment of a data node.
obj | the object to check |
boolean obj_is_final | ( | obj_template_t * | obj | ) |
Check if the object template represents a fully expanded template or if it is inside a grouping.
obj | object to check |
boolean obj_is_hidden | ( | const obj_template_t * | obj | ) |
Check if object is marked as a hidden object.
obj | obj_template to check |
boolean obj_is_hidden_from_cli | ( | const obj_template_t * | obj | ) |
Check if object is marked as a hidden object from CLI.
obj | obj_template to check |
boolean obj_is_in_aio_get2 | ( | obj_template_t * | obj | ) |
Check if this object is a child of a node with sil-aio-get2 extension setup or if this object itself holds this extension.
obj | object to check |
boolean obj_is_key | ( | const obj_template_t * | obj | ) |
Check if object is being used as a key leaf within a list.
obj | obj_template to check |
boolean obj_is_leaf | ( | const obj_template_t * | obj | ) |
Check if object is a proper leaf.
obj | object to check |
boolean obj_is_leaf_list | ( | const obj_template_t * | obj | ) |
Check if object is a proper leaf-list.
obj | the obj_template to check |
boolean obj_is_leafy | ( | const obj_template_t * | obj | ) |
Check if object is a proper leaf or leaflist.
obj | object to check |
boolean obj_is_list | ( | const obj_template_t * | obj | ) |
Check if object is a YANG list.
obj | object to check |
boolean obj_is_mandatory | ( | obj_template_t * | obj | ) |
Figure out if the obj is YANG mandatory or not.
obj | obj_template to check |
boolean obj_is_mandatory_when | ( | obj_template_t * | obj | ) |
Figure out if the obj is YANG mandatory or not Check the when-stmts, not just mandatory-stmt.
obj | obj_template to check |
TRUE if object is mandatory; FALSE if object is not mandatory
boolean obj_is_mandatory_when_ex | ( | obj_template_t * | obj, |
boolean | config_only | ||
) |
Figure out if the obj is YANG mandatory or not Check the when-stmts, not just mandatory-stmt.
obj | obj_template to check |
config_only | TRUE to check config only and ignore non-config FALSE to check mandatory confoig or non-config |
boolean obj_is_match | ( | const obj_template_t * | obj1, |
const obj_template_t * | obj2 | ||
) |
Check if one object is a match in identity with another one.
obj1 | first object to match |
obj2 | second object to match |
boolean obj_is_mounted | ( | obj_template_t * | child | ) |
Check if mounted object.
Check if this object is a mounted child for particular Mount Point
child | object to check |
boolean obj_is_mp_key | ( | obj_template_t * | child | ) |
Check if the parent of this object is a Mount Pount object AND THIS OBJECT IS A KEY LEAF IN THE MP LIST.
child | object to check |
boolean obj_is_mp_parent | ( | obj_template_t * | child | ) |
Check if the parent of this object is a Mount Pount object.
Check if the parent of this object is a Mount Pount object
child | object to check |
boolean obj_is_mp_with_rootcb | ( | const obj_template_t * | obj | ) |
Check if current object is Mount Point object.
Check if current object is Mount Point object and its rootcb if setup correctly
obj | object to check |
boolean obj_is_no_sil_delete_children_first | ( | const obj_template_t * | obj | ) |
Check if object is marked as ypx:no-sil-delete-children-first OR AN ANCESTOR IS MARKED.
obj | obj_template to check |
boolean obj_is_notif | ( | const obj_template_t * | obj | ) |
Check if the object is a notification.
obj | object to check |
boolean obj_is_np_container | ( | const obj_template_t * | obj | ) |
Check if the object is an Non-Presence-container.
obj | obj_template to check |
boolean obj_is_obsolete | ( | const obj_template_t * | obj | ) |
Check if the object has obsolete status.
obj | obj_template to check |
boolean obj_is_p_container | ( | const obj_template_t * | obj | ) |
Check if the object is an Presence-container.
obj | obj_template to check |
boolean obj_is_password | ( | const obj_template_t * | obj | ) |
Check if object is marked as a password object.
obj | obj_template to check |
boolean obj_is_refine | ( | const obj_template_t * | obj | ) |
Figure out if the obj is a refinement object, within a uses-stmt.
obj | obj_template to check |
boolean obj_is_root | ( | const obj_template_t * | obj | ) |
Check if object is marked as a root object.
obj | obj_template to check |
boolean obj_is_rpc | ( | const obj_template_t * | obj | ) |
Check if the object is an RPC method.
obj | object to check |
boolean obj_is_rpc_root | ( | const obj_template_t * | obj | ) |
Check if object is marked as an RPC root object.
obj | obj_template to check |
boolean obj_is_rpcio | ( | const obj_template_t * | obj | ) |
Check if the object is an RPC IO node.
obj | the obj_template to check |
boolean obj_is_rpcio_input | ( | const obj_template_t * | obj | ) |
Check if the object is an RPC IO node.
obj | the obj_template to check |
boolean obj_is_schema_instance_string | ( | const obj_template_t * | obj | ) |
Check if object is a schema-instance string.
obj | obj_template to check |
boolean obj_is_secure | ( | const obj_template_t * | obj | ) |
Check if object is tagged ncx:secure.
obj | obj_template to check |
boolean obj_is_short_case | ( | obj_template_t * | obj | ) |
Check if the object is a short case statement.
obj | object template to check |
boolean obj_is_sil_delete_children_first | ( | const obj_template_t * | obj | ) |
Check if object is marked as ncx:sil-delete-children-first.
obj | obj_template to check |
boolean obj_is_sil_force_replace_replay | ( | const obj_template_t * | obj | ) |
Check if this object has the OBJ_FL_SIL_FORCE_REPLACE_REPLAY bit set.
obj | the specific object to check |
boolean obj_is_sil_force_replay | ( | const obj_template_t * | obj | ) |
Check if this object has the OBJ_FL_SIL_FORCE_REPLAY bit set.
obj | the specific object to check |
boolean obj_is_single_instance | ( | obj_template_t * | obj | ) |
Check if the object is a single instance of if it allows multiple instances; check all of the ancestors if needed.
obj | object template to check |
boolean obj_is_singular | ( | const obj_template_t * | obj | ) |
Check if the object can have only one instance or not.
obj | object to check |
boolean obj_is_sm_notif | ( | const obj_template_t * | obj | ) |
Check if the object is a schema-mounted notification.
obj | object to check |
boolean obj_is_sm_rpc | ( | const obj_template_t * | obj | ) |
Check if the object is a schema mounted RPC method.
obj | object to check |
boolean obj_is_supported | ( | obj_template_t * | obj | ) |
Check an RPC node to check if it is supported or not It could be disabled at run-time without removing it.
obj | object to check |
boolean obj_is_system_ordered | ( | const obj_template_t * | obj | ) |
Check if the object is system or user-ordered.
obj | obj_template to check |
boolean obj_is_target_template | ( | obj_template_t * | obj | ) |
Check a data node and its descendants match the template for NETCONF configuration sources.
container choice (1 - N leafs) leaf (type empty) leaf (type empty) leaf (type empty)
obj | object to check |
boolean obj_is_terminal | ( | const obj_template_t * | obj | ) |
Check if object is a proper leaf or leaflist or anyxml.
obj | the obj_template to check |
boolean obj_is_top | ( | const obj_template_t * | obj | ) |
Check if the object is top-level object within the YANG module that defines it.
obj | object template to check |
boolean obj_is_top_aio_get2 | ( | obj_template_t * | obj | ) |
Check if this object is a really top level holder of extension sil-aio-get2.
Must be verified that obj_is_in_aio_get2 is TRUE first
obj | object to check |
boolean obj_is_uses | ( | const obj_template_t * | obj | ) |
Check if object is a YANG uses-stmt.
obj | object to check |
boolean obj_is_very_secure | ( | const obj_template_t * | obj | ) |
Check if object is tagged ncx:very-secure.
obj | obj_template to check |
boolean obj_is_xpath_string | ( | const obj_template_t * | obj | ) |
Check if object is an XPath string.
obj | obj_template to check |
boolean obj_is_xsdlist | ( | const obj_template_t * | obj | ) |
Check if object is marked as an XSD list.
obj | obj_template to check |
uint32 obj_key_count | ( | const obj_template_t * | obj | ) |
Get the number of keys for this object.
obj | object to check |
uint32 obj_key_count_to_root | ( | obj_template_t * | obj | ) |
Check ancestor-or-self nodes until root reached Find all lists; Count the number of keys.
obj | object to start check from |
obj_template_t * obj_last_child | ( | obj_template_t * | obj | ) |
Get the last child object if the specified object has any children.
!!!! SKIPS OVER AUGMENT AND USES !!!!
obj | obj_template_t to check |
obj_key_t * obj_last_key | ( | obj_template_t * | obj | ) |
Get the last key record.
obj | object to check |
obj_template_t * obj_match_child_str | ( | obj_template_t * | obj, |
const xmlChar * | modname, | ||
const xmlChar * | objname, | ||
uint32 | objnamelen, | ||
uint32 * | matchcount | ||
) |
Match a child object with the specified Qname Find first command that matches all N chars of objname.
!!! This function checks for accessible names only!!! !!! That means child nodes of choice->case will be !!! present instead of the choice name or case name
obj | obj_template_t to check | |
modname | module name for the object (needed for augments) (may be NULL to match any 'objname' instance) | |
objname | object name to find | |
objnamelen | length of objname string | |
[out] | matchcount | address of return parameter match count (may be NULL)
|
boolean obj_match_datarule | ( | obj_template_t * | obj, |
void * | rule | ||
) |
Check if the data-rule back-ptr applies to this node.
obj | object struct to use |
rule | backptr to NACM rule |
boolean obj_maybe_target_template | ( | obj_template_t * | obj | ) |
Check a data node and its descendants match the template for NETCONF configuration sources Allow extra leafs <url> or anyxml <config> to be skipped.
Used for tab-completion checking in yangcli_tab.c
container choice (1 - N nodes) leaf (type empty) leaf (type empty) leaf (type empty) leaf (type string> anyxml
obj | object to check |
obj_defval_tk_t * obj_new_defval_tk | ( | void | ) |
Create a new object default tk record;.
obj_deviate_t * obj_new_deviate | ( | void | ) |
Malloc and initialize the fields in a an object deviate statement.
obj_deviation_t * obj_new_deviation | ( | void | ) |
Malloc and initialize the fields in a an object deviation statement.
obj_iffeature_ptr_t * obj_new_iffeature_ptr | ( | ncx_iffeature_t * | iff | ) |
Malloc and initialize a new obj_iffeature_ptr_t struct.
iff | iffeature to point at |
obj_key_t * obj_new_key | ( | void | ) |
Alloc and Init a obj_key_t struct.
obj_metadata_t * obj_new_metadata | ( | void | ) |
Malloc and initialize the fields in a an obj_metadata_t.
obj_template_t * obj_new_rpcio | ( | obj_template_t * | rpcobj, |
const xmlChar * | name | ||
) |
Malloc and initialize the fields in a an obj_rpcio_t.
Fields are setup within the new obj_template_t, based on the values in rpcobj
rpcobj | parent OBJ_TYP_RPC template |
name | name string of the node (input or output) |
obj_template_t * obj_new_template | ( | obj_type_t | objtype | ) |
Malloc and initialize the fields in a an object template.
objtype | the specific object type to create |
obj_unique_t * obj_new_unique | ( | void | ) |
Alloc and Init a obj_unique_t struct.
obj_unique_comp_t * obj_new_unique_comp | ( | void | ) |
Alloc and Init a obj_unique_comp_t struct.
obj_template_t * obj_next_child | ( | obj_template_t * | obj | ) |
Get the next child object if the specified object has any children.
!!!! SKIPS OVER AUGMENT AND USES !!!!
obj | obj_template_t to check |
obj_template_t * obj_next_child_augok | ( | obj_template_t * | obj | ) |
Get the next child object if the specified object has any children; return augment, not just obj_has_name!!!
!!!! SKIPS OVER USES, REFINE !!!!
obj | obj_template_t to check |
obj_template_t * obj_next_child_deep | ( | obj_template_t * | obj | ) |
Get the next child object if the specified object has any children.
Look past choice and case nodes to the real nodes within them
!!!! SKIPS OVER AUGMENT AND USES !!!!
obj | obj_template_t to check |
obj_template_t * obj_next_child_deep_ex | ( | obj_template_t * | obj, |
boolean | stopnext | ||
) |
Get the next child object if the specified object has any children.
Look past choice and case nodes to the real nodes within them
!!!! SKIPS OVER AUGMENT AND USES !!!!
obj | obj_template_t to check |
stopnext | true if the getnext search should stop after all choice cases have been checked. Do not go on to the next sibling of the starting case false tpo keep going until all objects checked that are siblings of the choice being chkeced deep |
Get the next key record: Const version.
objkey | current key record |
obj_defval_tk_t * obj_next_defval_tk | ( | const obj_defval_tk_t * | defval_tk | ) |
Get the next defval_tk entry.
defval_tk | current defval_tk entry |
obj_iffeature_ptr_t * obj_next_iffeature_ptr | ( | obj_iffeature_ptr_t * | iffptr | ) |
Get the next if-feature pointer.
iffptr | the current iffeature ptr struct |
ncx_backptr_t * obj_next_inherit_when_ptr | ( | ncx_backptr_t * | ptr | ) |
Get the next xpath pointer struct.
ptr | the current xpath ptr struct |
Get the next key record.
objkey | current key record |
obj_metadata_t * obj_next_metadata | ( | const obj_metadata_t * | meta | ) |
Get the next object metadata definition in the object.
meta | current meta object template |
obj_template_t * obj_next_terminal_child | ( | obj_template_t * | obj | ) |
Get the next child object if the specified object has any children; MUST BE TERMINAL NODE!!
!!!! SKIPS OVER AUGMENT AND USES !!!!
obj | obj_template_t to check |
obj_template_t * obj_next_terminal_child_nokey | ( | obj_template_t * | obj | ) |
Get the next child object if the specified object has any children; MUST BE TERMINAL NODE!!
!!!! SKIPS OVER AUGMENT AND USES AND KEY LEAFS !!!!
obj | obj_template_t to check |
obj_template_t * obj_next_terminal_child_nokey_nochoice | ( | obj_template_t * | obj | ) |
Get the next child object if the specified object has any children.
Do not dive deep inside CHOICE / CASE MUST BE A TERMINAL NODE BUT NOT INSIDE CHOICE / CASE!!!
!!!! SKIPS OVER AUGMENT AND USES !!!!
YPW-2125: Do not skip over choices -> return only terminal nodes that are not inside choice!!!
obj | obj_template_t to check |
obj_unique_t * obj_next_unique | ( | obj_unique_t * | un | ) |
Get the next unique-stmt for a list.
un | current unique node |
obj_template_t * obj_next_unique_backptr | ( | obj_template_t * | leafobj, |
obj_template_t * | curbackptr | ||
) |
Get the next unique backptr for a leaf object.
leafobj | the leaf object that will get searched |
curbackptr | the lcurrent list object to get next for |
obj_unique_comp_t * obj_next_unique_comp | ( | obj_unique_comp_t * | uncomp | ) |
Get the next unique-stmt component for a list.
uncomp | current unique component node |
struct xpath_pcb_t_ * obj_next_xpath_backptr | ( | obj_template_t * | obj, |
struct xpath_pcb_t_ * | xpath | ||
) |
Get the next XPath backptr.
obj | object to search |
xpath | current Xpath PCB |
boolean obj_notif_enabled | ( | const obj_template_t * | obj | ) |
Check if the notification object is enabled.
obj | the obj_template to check |
boolean obj_notif_log_drops | ( | const obj_template_t * | obj | ) |
Check if the event drops for the notification object is enabled.
obj | the obj_template to check |
boolean obj_npcon_has_defaults | ( | obj_template_t * | obj | ) |
Check if the specified NP container has defaults within it Must be a config object!!!
obj | object to check |
boolean obj_npcon_has_defaults_slow | ( | obj_template_t * | obj | ) |
Check if the specified NP container has defaults within it Must be a config object!!!
obj | object to check |
void obj_number_data_object | ( | obj_template_t * | obj | ) |
Number the object tree; initial setup.
A top object is always numbered zero and then its descendants are numbered; this is the same for external augment nodes the top (sibling) node is numbered zero but the subtree native to the augmenting node can be numbered
obj | object to number |
boolean obj_ok_for_cli | ( | obj_template_t * | obj | ) |
Figure out if the obj is OK for current CLI implementation.
Top object must be a container Child objects must be only choices of leafs, plain leafs, or leaf lists are allowed
obj | obj_template to check |
boolean obj_ok_for_nolock | ( | const obj_template_t * | obj | ) |
check an object OK for nolock
obj | the object to check |
boolean obj_parent_same_module | ( | const obj_template_t * | obj | ) |
Check if the object parent object is the same.
obj | obj_template to check |
Get the previous key record.
objkey | current key record |
obj_template_t * obj_previous_child | ( | obj_template_t * | obj | ) |
Get the previous child object if the specified object has any children.
!!!! SKIPS OVER AUGMENT AND USES !!!!
obj | obj_template_t to check |
boolean obj_rpc_has_input | ( | obj_template_t * | obj | ) |
Check if the RPC object has any real input children.
obj | obj_template to check |
boolean obj_rpc_has_output | ( | obj_template_t * | obj | ) |
Check if the RPC object has any real output children.
obj | obj_template to check |
void obj_set_abstract | ( | obj_template_t * | obj | ) |
Set the abstract flag for the yang-data node.
obj | object to set |
void obj_set_dup_local | ( | obj_template_t * | obj | ) |
Flag the object as one that has a duplicate sibling with the same local-name and different module namespace.
obj | object to set |
void obj_set_key_leaf | ( | obj_template_t * | obj, |
uint16 | keynum | ||
) |
Set the key data for the object.
obj | object to set; MUST be leaf |
keynum | key number |
status_t obj_set_mp_flags | ( | obj_template_t * | obj | ) |
set the Schema Mount flags and create a rootcb if needed
obj | object to check |
status_t obj_set_name | ( | obj_template_t * | obj, |
const xmlChar * | objname | ||
) |
Set the name field for this obj.
obj | the specific object to set or change the name |
objname | new name string to use |
status_t obj_set_named_type | ( | void * | pcb, |
tk_chain_t * | tkc, | ||
ncx_module_t * | mod, | ||
const xmlChar * | typname, | ||
typ_def_t * | typdef, | ||
obj_template_t * | parent, | ||
grp_template_t * | grp | ||
) |
Resolve type test Called during phase 2 of module parsing.
pcb | parser control block |
tkc | token chain |
mod | module in progress |
typname | name field from typ->name (may be NULL) |
typdef | typdef in progress |
parent | obj_template containing this typedef NULL if this is the top-level, use mod->typeQ |
grp | grp_template containing this typedef NULL if the typedef is not contained in a grouping |
void obj_set_ncx_flags | ( | obj_template_t * | obj | ) |
Check the NCX appinfo extensions and set flags as needed.
obj | obj_template to check may set additional bits in the obj->flags field |
void obj_set_notif_enabled | ( | obj_template_t * | obj, |
boolean | enabled | ||
) |
Set the notification object enabled flag.
obj | the obj_template to set |
enabled | TRUE to enable; FALSE to disable |
void obj_set_notif_log_drops | ( | const obj_template_t * | obj, |
boolean | enabled | ||
) |
Set the event drops enabled flag for the notification object.
obj | the obj_template to set |
enabled | == TRUE to enable; FALSE to disable |
void obj_set_sil_force_replace_replay | ( | obj_template_t * | obj | ) |
Set the object OBJ_FL_SIL_FORCE_REPLAY bit Set the object OBJ_FL_SIL_FORCE_REPLACE_REPLAY bit.
obj | the specific object to set |
void obj_set_sil_priority | ( | obj_template_t * | obj, |
uint8 | prio | ||
) |
Set the SIL priority field.
obj | obj_template to set |
prio | SIL priotity value |
void obj_set_sort_type | ( | obj_template_t * | obj, |
ncx_sort_type_t | typ | ||
) |
Set the sort type for the object if OK Otherwise this function call has no affect.
obj | the specific object to set or change the sort type |
typ | new sort type |
status_t obj_set_xpath_backptrs | ( | obj_template_t * | obj | ) |
Check a top-level data node and all its descendants to see if they have any XPath expressions that need backptrs added.
obj | == object to check |
void obj_set_xpath_oper_ok | ( | obj_template_t * | obj | ) |
Set the object XPath oper OK flag.
obj | the obj_template to set |
void obj_sort_children | ( | obj_template_t * | obj | ) |
Check all the child nodes of the specified object and rearrange them into alphabetical order, based on the element local-name.
ONLY SAFE TO USE FOR ncx:cli CONTAINERS YANG DATA CONTENT ORDER NEEDS TO BE PRESERVED
obj | object template to reorder |
void obj_traverse_keys | ( | obj_template_t * | obj, |
void * | cookie1, | ||
void * | cookie2, | ||
obj_walker_fn_t | walkerfn | ||
) |
Traverse the list keys with a callback function.
Check ancestor-or-self nodes until root reached Find all lists; For each list, starting with the closest to root, invoke the callback function for each of the key objects in order
obj | object to start check from |
cookie1 | cookie1 to pass to the callback function |
cookie2 | cookie2 to pass to the callback function |
walkerfn | walker callback function |
boolean obj_unload_active | ( | const obj_template_t * | obj | ) |
Check if the module commit tests are disabled because a module unload is in progress.
obj | the obj_template to check |
boolean obj_use_get_when_check | ( | const obj_template_t * | obj | ) |
check an object needs to use a when-check for GET processing
obj | the object to check |