yumapro  23.10T-6
YumaPro SDK
Loading...
Searching...
No Matches
Object Access Functions

Object access functions allow the compiler to create an object template tree. More...

Collaboration diagram for Object Access Functions:

Functions

obj_template_tobj_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_tobj_find_template (dlq_hdr_t *que, const xmlChar *modname, const xmlChar *objname)
 Find an object with the specified name. More...
 
obj_template_tobj_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_tobj_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_tobj_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_tobj_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_tobj_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_tobj_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_tobj_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_tobj_find_child (obj_template_t *obj, const xmlChar *modname, const xmlChar *objname)
 Find a child object with the specified Qname. More...
 
obj_template_tobj_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_tobj_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_tobj_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_tobj_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_tobj_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_tobj_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_tobj_first_child (obj_template_t *obj)
 Get the first child object if the specified object has any children. More...
 
obj_template_tobj_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_tobj_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_tobj_first_terminal_child_nokey_nochoice (obj_template_t *obj)
 Get the first child object if the specified object has any children. More...
 
obj_template_tobj_last_child (obj_template_t *obj)
 Get the last child object if the specified object has any children. More...
 
obj_template_tobj_next_child (obj_template_t *obj)
 Get the next child object if the specified object has any children. More...
 
obj_template_tobj_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_tobj_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_tobj_next_terminal_child_nokey_nochoice (obj_template_t *obj)
 Get the next child object if the specified object has any children. More...
 
obj_template_tobj_first_child_augok (obj_template_t *obj)
 Get the first child object if the specified object has any children. More...
 
obj_template_tobj_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_tobj_previous_child (obj_template_t *obj)
 Get the previous child object if the specified object has any children. More...
 
obj_template_tobj_first_child_deep (obj_template_t *obj)
 Get the first child object if the specified object has any children. More...
 
obj_template_tobj_next_child_deep (obj_template_t *obj)
 Get the next child object if the specified object has any children. More...
 
obj_template_tobj_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_tobj_find_case (obj_choice_t *choic, const xmlChar *modname, const xmlChar *casname)
 Find a specified case arm by name. More...
 
obj_template_tobj_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_tobj_find_type (obj_template_t *obj, const xmlChar *typname)
 Check if a typ_template_t in the obj typedefQ hierarchy. More...
 
typ_template_tobj_first_typedef (obj_template_t *obj)
 Get the first local typedef for this object, if any. More...
 
grp_template_tobj_find_grouping (obj_template_t *obj, const xmlChar *grpname)
 Check if a grp_template_t in the obj groupingQ hierarchy. More...
 
grp_template_tobj_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_tobj_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_tobj_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_tobj_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_tobj_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_tobj_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_tobj_find_unique (dlq_hdr_t *que, const xmlChar *xpath)
 Find a specific unique-stmt. More...
 
obj_unique_tobj_first_unique (obj_template_t *listobj)
 Get the first unique-stmt for a list. More...
 
obj_unique_tobj_next_unique (obj_unique_t *un)
 Get the next unique-stmt for a list. More...
 
obj_unique_comp_tobj_first_unique_comp (obj_unique_t *un)
 Get the first identifier in a unique-stmt for a list. More...
 
obj_unique_comp_tobj_next_unique_comp (obj_unique_comp_t *uncomp)
 Get the next unique-stmt component for a list. More...
 
obj_key_tobj_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_tobj_find_key (dlq_hdr_t *que, const xmlChar *keycompname)
 Find a specific key component by key leaf identifier name. More...
 
obj_key_tobj_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_tobj_first_key (obj_template_t *obj)
 Get the first key record. More...
 
obj_key_tobj_last_key (obj_template_t *obj)
 Get the last key record. More...
 
const obj_key_tobj_first_ckey (const obj_template_t *obj)
 Get the first key record: Const version. More...
 
obj_key_tobj_next_key (obj_key_t *objkey)
 Get the next key record. More...
 
obj_key_tobj_prev_key (obj_key_t *objkey)
 Get the previous key record. More...
 
const obj_key_tobj_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_tobj_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_tobj_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_tobj_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_tobj_get_typdef (obj_template_t *obj)
 Get the typdef for the leaf or leaf-list. More...
 
typ_def_tobj_get_base_typdef (obj_template_t *obj)
 Get the base typdef for the leaf or leaf-list. More...
 
const typ_def_tobj_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_tobj_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_tobj_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_tobj_get_parent (obj_template_t *obj)
 Get the parent of the current object. More...
 
const obj_template_tobj_get_cparent (const obj_template_t *obj)
 Get the parent of the current object CONST POINTER VERSION. More...
 
obj_template_tobj_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_tobj_get_real_cparent (const obj_template_t *obj)
 Get the parent of the current object; skip OBJ_TYP_CHOICE and 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_tobj_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_tobj_get_first_iffeature (const obj_template_t *obj)
 Get the first if-feature clause (if any) for the specified object. More...
 
const ncx_iffeature_tobj_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_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_tobj_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_tobj_find_metadata (const obj_template_t *obj, const xmlChar *name)
 Find the object metadata definition in the object. More...
 
obj_metadata_tobj_first_metadata (const obj_template_t *obj)
 Get the first object metadata definition in the object. More...
 
obj_metadata_tobj_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_tobj_get_leafref_targobj (obj_template_t *obj)
 Get the target object for a leafref leaf or leaf-list. More...
 
obj_template_tobj_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_tobj_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_tobj_first_iffeature_ptr (obj_template_t *obj)
 Get first if-feature pointer. More...
 
obj_iffeature_ptr_tobj_next_iffeature_ptr (obj_iffeature_ptr_t *iffptr)
 Get the next if-feature pointer. More...
 
ncx_backptr_tobj_first_inherit_when_ptr (obj_template_t *obj)
 Get first xpath pointer struct. More...
 
ncx_backptr_tobj_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 container or list or terminal node child in an edit2 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_tobj_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_tobj_first_defval_tk (const obj_refine_t *ref)
 Get the first defval_tk entry. More...
 
obj_defval_tk_tobj_next_defval_tk (const obj_defval_tk_t *defval_tk)
 Get the next defval_tk entry. More...
 
obj_defval_tk_tobj_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_tobj_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...
 
const xmlChar * obj_get_oid_string (obj_template_t *obj)
 Get object OID sting value. More...
 
obj_oid_tobj_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_tobj_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_tobj_get_real_mod (obj_template_t *obj)
 Get the module struct for the submodule or main module with this object. More...
 
obj_template_tobj_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_tobj_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_tobj_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_tobj_first_unique_backptr (obj_template_t *leafobj)
 Get the first unique backptr for a leaf object. More...
 
obj_template_tobj_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...
 

Detailed Description

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.

Function Documentation

◆ obj_add_child()

void obj_add_child ( obj_template_t child,
obj_template_t parent 
)

Add a child object to the specified complex node.

Parameters
childthe obj_template to add
parentthe obj_template of the parent
Here is the call graph for this function:

◆ obj_add_errmsg()

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.

Parameters
objobject to set errmsg
basestrbase error string
[out]ret_errmsgaddress of return error message
  • *ret_errmsg set with eturn error message
Returns
status

◆ obj_add_errmsg_filter()

status_t obj_add_errmsg_filter ( obj_errmsg_t errmsg,
const xmlChar *  parmstr,
boolean  is_errortag 
)

Add an errmsg filter for the object.

Parameters
errmsgerror message control block to set
parmstrparameter string
is_errortagTRUE if error-tag; FALSE if error-app-tag
Returns
status

◆ obj_add_errmsg_parm()

status_t obj_add_errmsg_parm ( obj_errmsg_t errmsg,
const xmlChar *  parmstr 
)

Add an errmsg parameter for the object.

Parameters
errmsgobject error message to set
parmstrparameter string
Returns
status

◆ obj_add_metadata()

status_t obj_add_metadata ( obj_metadata_t meta,
obj_template_t obj 
)

Add the filled out object metadata definition to the object.

Parameters
metaobj_metadata_t data structure to add
objobject template to add meta to
Returns
status
Here is the call graph for this function:

◆ obj_add_unique_backptr()

status_t obj_add_unique_backptr ( obj_template_t leafobj,
obj_template_t listobj 
)

Add a unique backptr to the leaf.

Parameters
leafobjthe leaf object that will get the backptr to the list
listobjthe list object that will be the pointer saved
Returns
status
Here is the call graph for this function:

◆ obj_any_notifs()

boolean obj_any_notifs ( const dlq_hdr_t *  datadefQ)

Check if there are any notifications in the datadefQ.

Parameters
datadefQQ of obj_template_t to check
Returns
TRUE if any OBJ_TYP_NOTIF found, FALSE if not

◆ obj_any_rpcs()

boolean obj_any_rpcs ( const dlq_hdr_t *  datadefQ)

Check if there are any RPC methods in the datadefQ.

Parameters
datadefQQ of obj_template_t to check
Returns
TRUE if any OBJ_TYP_RPC found, FALSE if not
Here is the caller graph for this function:

◆ obj_assign_xpath_backptr()

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

Parameters
objobject to set
xpathXpath PCB to point at
Returns
status; NO_ERR, ERR_INTERNAL_MEM
Here is the call graph for this function:

◆ obj_ban_nolock_get()

void obj_ban_nolock_get ( obj_template_t obj)

Ban nolock-get for the object.

Parameters
objthe obj_template to set
Here is the caller graph for this function:

◆ obj_cache_datarule()

status_t obj_cache_datarule ( obj_template_t obj,
void *  rule 
)

Set the data-rule back-ptr for this node.

Parameters
objobject struct to use
rulebackptr to NACM rule
Returns
status: ERR_INTERNAL_MEM if malloc failed
Here is the call graph for this function:

◆ obj_clean_datadefQ()

void obj_clean_datadefQ ( dlq_hdr_t *  que)

Clean and free all the obj_template_t structs in the specified Q.

Parameters
queQ of obj_template_t to clean
Here is the call graph for this function:
Here is the caller graph for this function:

◆ obj_clean_deviationQ()

void obj_clean_deviationQ ( dlq_hdr_t *  deviationQ)

Clean and free an Q of object deviation statements.

Parameters
deviationQpointer to Q of the structs to clean and free
Here is the call graph for this function:

◆ obj_clean_unique()

void obj_clean_unique ( obj_unique_t un)

Clean a obj_unique_t struct.

Parameters
unobj_unique_t struct to clean
Here is the call graph for this function:
Here is the caller graph for this function:

◆ obj_clear_datarule()

void obj_clear_datarule ( obj_template_t obj,
const void *  rule 
)

Clear the datarule back-ptr for this node.

Parameters
objobject struct to use
ruleNACM rule back-ptr to find
Here is the call graph for this function:

◆ obj_clear_xpath_backptr()

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

Parameters
objobject to clear
xpathXpath PCB to find and remove
Here is the call graph for this function:

◆ obj_clone_template()

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

Parameters
modmodule 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)
srcobjobj_template to clone !!! This struct MUST NOT be deleted!!! !!! Unless all of its clones are also deleted !!!
mobjQmerge 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
Returns
pointer to malloced clone obj_template_t NULL if malloc failer error or internal error
Here is the call graph for this function:
Here is the caller graph for this function:

◆ obj_clone_template_case()

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

Parameters
modmodule 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)
srcobjobj_template to clone !!! This struct MUST NOT be deleted!!! !!! Unless all of its clones are also deleted !!!
mobjQQ 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
Returns
pointer to malloced clone obj_template_t NULL if malloc failer error or internal error
Here is the call graph for this function:

◆ obj_clone_template_sm()

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

Parameters
modmodule 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)
srcobjobj_template to clone !!! This struct MUST NOT be deleted!!! !!! Unless all of its clones are also deleted !!!
mobjQmerge 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_cloneTRUE if Schema Mount clone
Returns
pointer to malloced clone obj_template_t NULL if malloc failer error or internal error

◆ obj_clr_enable_chk()

void obj_clr_enable_chk ( obj_template_t obj)

Force an object to re-evaluate the enable check Will call for all children.

Parameters
objthe obj_template to force recheck features
Here is the call graph for this function:
Here is the caller graph for this function:

◆ obj_copy_object_id()

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.

Parameters
objnode to generate the instance ID for
[out]buffbuffer to use
  • buff filled in with the object ID
bufflensize of buff
[out]reallenaddress of return length of actual identifier
  • may be NULL so not filled in
  • *reallen length of identifier, even if error occurred
Returns
status

◆ obj_copy_object_id_mod()

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.

Parameters
objnode to generate the instance ID for
[out]buffbuffer to use
  • buff filled in with the object ID
bufflensize of buff
[out]reallenaddress of return length of actual identifier (may be NULL)
  • *reallen length of identifier, even if error occurred
Returns
status

◆ obj_delete_all_defvals()

void obj_delete_all_defvals ( obj_template_t obj)

Delete all the original defaults for a leaf-list default for deviate replace default foo.

Parameters
objto remove all defaults
Here is the call graph for this function:

◆ obj_delete_all_supported()

boolean obj_delete_all_supported ( obj_template_t obj)

Check if the object supports a direct delete-all or remove-all operation.

Parameters
objthe object to check
Returns
true if supported; false if not supported

◆ obj_delete_mod_children()

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 !!!!

Parameters
objobj_template_t to check
modmodule to check for removals
Here is the call graph for this function:
Here is the caller graph for this function:

◆ obj_delete_obsolete()

void obj_delete_obsolete ( dlq_hdr_t *  objQ)

Delete any obsolete child nodes within the specified object subtree.

Parameters
objQQ of obj_template to check
Here is the call graph for this function:
Here is the caller graph for this function:

◆ obj_dump_child_list()

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 ...

Parameters
lvldebug level to use for output
datadefQQ of obj_template_t to dump
startindentstart-indent columns
indentindent amount
Here is the call graph for this function:
Here is the caller graph for this function:

◆ obj_dump_keystackQ()

void obj_dump_keystackQ ( dlq_hdr_t *  keystackQ)

Dump a keystackQ with backptrs to obj_template_t for key leafs.

Parameters
keystackQthe dlq_hdr_t queue to dump
Here is the call graph for this function:

◆ obj_enabled_child_count()

uint32 obj_enabled_child_count ( obj_template_t obj)

Get the count of the number of enabled child nodes for the object template.

Parameters
objobj_template to check
Returns
number of enabled child nodes
Here is the call graph for this function:
Here is the caller graph for this function:

◆ obj_enter_xpath_mode()

void obj_enter_xpath_mode ( void  )

Enter xpath mode and start ignoring obj_is_enabled.

Here is the caller graph for this function:

◆ obj_exit_xpath_mode()

void obj_exit_xpath_mode ( void  )

Exit xpath mode and stop ignoring obj_is_enabled.

Here is the caller graph for this function:

◆ obj_fill_keystackQ()

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.

Parameters
objthe obj_template to fill keystack for
keystackQthe dlq_hdr_t queue to fill with backptrs
Returns
status
Here is the call graph for this function:

◆ obj_find_all_ancestors()

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

Parameters
exprmodmodule containing XPath expression
walkerfncallback function to use
cookie1cookie1 value to pass to walker fn
cookie2cookie2 value to pass to walker fn
startnodestart node to check
modnamemodule name; only matches in this module namespace will be returned
NULL: namespace matching will be skipped
namename of ancestor node to find
NULL to match any ancestor name
configonlyTRUE to skip over non-config nodes
FALSE to check all nodes Only used if childname == NULL
textmodeTRUE if just testing for text() nodes name and modname will be ignored in this mode FALSE if using name and modname to filter
userootTRUE is it is safe to use the toproot
FALSE if not, use all moduleQ search instead
orselfTRUE if axis is really ancestor-or-self
FALSE if axis is ancestor
[out]fncalledaddress of return function called flag
  • *fncalled set to TRUE if a callback function was called
Returns
TRUE if normal termination occurred
FALSE if walker fn requested early termination
Here is the call graph for this function:

◆ obj_find_all_children()

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

Parameters
exprmodmodule containing XPath expression
walkerfncallback function to use
cookie1cookie1 value to pass to walker fn
cookie2cookie2 value to pass to walker fn
startnodestart node to check
modnamemodule name; only matches in this module namespace will be returned
NULL: namespace matching will be skipped
childnamename of child node to find
NULL to match any child name
configonlyTRUE to skip over non-config nodes
FALSE to check all nodes Only used if childname == NULL
textmodeTRUE if just testing for text() nodes name and modname will be ignored in this mode FALSE if using name and modname to filter
userootTRUE is it is safe to use the toproot
FALSE if not, use all moduleQ search instead
Returns
TRUE if normal termination occurred
FALSE if walker fn requested early termination
Here is the call graph for this function:

◆ obj_find_all_descendants()

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

Parameters
exprmodmodule containing XPath expression
walkerfncallback function to use
cookie1cookie1 value to pass to walker fn
cookie2cookie2 value to pass to walker fn
startnodestart node to check
modnamemodule name; only matches in this module namespace will be returned
NULL: namespace matching will be skipped
namename of descendant node to find
NULL to match any descendant name
configonlyTRUE to skip over non-config nodes
FALSE to check all nodes Only used if childname == NULL
textmodeTRUE if just testing for text() nodes name and modname will be ignored in this mode FALSE if using name and modname to filter
userootTRUE is it is safe to use the toproot
FALSE if not, use all moduleQ search instead
orselfTRUE if axis is really descendant-or-self
FALSE if axis is descendant
[out]fncalledaddress of return function called flag
  • *fncalled set to TRUE if a callback function was called
Returns
TRUE if normal termination occurred
FALSE if walker fn requested early termination
Here is the call graph for this function:

◆ obj_find_all_pfaxis()

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

Parameters
exprmodmodule containing XPath expression
walkerfncallback function to use
cookie1cookie1 value to pass to walker fn
cookie2cookie2 value to pass to walker fn
startnodestart node to check
modnamemodule name; only matches in this module namespace will be returned
NULL: namespace matching will be skipped
namename of preceding or following node to find
NULL to match any name
configonlyTRUE to skip over non-config nodes
FALSE to check all nodes Only used if childname == NULL
dblslashTRUE if all decendents of the preceding or following nodes should be checked
FALSE only 1 level is checked
textmodeTRUE if just testing for text() nodes name and modname will be ignored in this mode FALSE if using name and modname to filter
userootTRUE is it is safe to use the toproot
FALSE if not, use all moduleQ search instead
axisaxis enum to use
[out]fncalledaddress of return function called flag
  • *fncalled set to TRUE if a callback function was called
Returns
TRUE if normal termination occurred
FALSE if walker fn requested early termination
Here is the call graph for this function:

◆ obj_find_ancestor_rootcb()

ncx_sm_rootcb_t * obj_find_ancestor_rootcb ( obj_template_t obj)

Find an ancestor node or self that has a rootcb.

Parameters
objobject to check
Returns
pointer to rootcb if found, NULL otherwise
Here is the caller graph for this function:

◆ obj_find_case()

obj_case_t * obj_find_case ( obj_choice_t choic,
const xmlChar *  modname,
const xmlChar *  casname 
)

Find a specified case arm by name.

Parameters
choicchoice struct to check
modnamename of the module that added this case (may be NULL)
casnamename of the case to find
Returns
pointer to obj_case_t for requested case, NULL if not found
Here is the call graph for this function:

◆ obj_find_child()

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
Parameters
objobj_template_t to check
modnamemodule name for the object (needed for augments) (may be NULL to match any 'objname' instance)
objnameobject name to find
Returns
pointer to obj_template_t or NULL if not found
Here is the call graph for this function:

◆ obj_find_child_choice_case()

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
Parameters
objthe obj_template_t to check
modnamethe 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)
objnamethe object name to find
Returns
pointer to obj_template_t or NULL if not found
Here is the call graph for this function:

◆ obj_find_child_ex()

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
Parameters
objobj_template_t to check
modnamemodule name for the object (needed for augments) (may be NULL to match any 'objname' instance)
objnameobject name to find
match_namesenum for selected match names mode
alt_namesTRUE if alt-name should be checked in addition to the YANG node name
FALSE to check YANG names only
dataonlyTRUE to check just data nodes
FALSE to check all nodes
[out]retresaddress of return status
  • *retres set to return status
Returns
pointer to struct if present, NULL otherwise
Here is the call graph for this function:
Here is the caller graph for this function:

◆ obj_find_child_fast()

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
Parameters
objthe obj_template_t to check
nsidthe module namespace ID or zero to ignore
objnamethe object name to find
Returns
pointer to obj_template_t or NULL if not found
Here is the call graph for this function:
Here is the caller graph for this function:

◆ obj_find_child_lrcheck()

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
Parameters
objthe obj_template_t to check
modnamethe 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)
objnamethe object name to find
Returns
pointer to obj_template_t or NULL if not found
Here is the call graph for this function:

◆ obj_find_child_str()

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.

Parameters
objobj_template_t to check
modnamemodule name for the object (needed for augments) (may be NULL to match any 'objname' instance)
objnameobject name to find
objnamelenlength of objname string
Returns
pointer to obj_template_t or NULL if not found
Here is the call graph for this function:
Here is the caller graph for this function:

◆ obj_find_defval()

boolean obj_find_defval ( obj_template_t obj,
const xmlChar *  find_defval 
)

Find a default.

Parameters
objto check
find_defvaldefault value string to match
Returns
true if found; false if not found
Here is the call graph for this function:

◆ obj_find_delete_defval()

void obj_find_delete_defval ( obj_template_t obj,
const xmlChar *  defval 
)

Find and delete a leaf-list default for deviate delete default foo.

Parameters
objto remove default
defvaldefault value string to match
Here is the call graph for this function:

◆ obj_find_grouping()

grp_template_t * obj_find_grouping ( obj_template_t obj,
const xmlChar *  grpname 
)

Check if a grp_template_t in the obj groupingQ hierarchy.

Parameters
objobj_template using the grouping
grpnamegrouping name to find
Returns
pointer to struct if present, NULL otherwise
Here is the call graph for this function:
Here is the caller graph for this function:

◆ obj_find_key()

obj_key_t * obj_find_key ( dlq_hdr_t *  que,
const xmlChar *  keycompname 
)

Find a specific key component by key leaf identifier name.

Parameters
queQ of obj_key_t to check
keycompnamekey component name to find
Returns
pointer to found key component or NULL if not found
Here is the call graph for this function:

◆ obj_find_key2()

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.

Parameters
queQ of obj_key_t to check
keyobjkey component object to find
Returns
pointer to found key component or NULL if not found

◆ obj_find_metadata()

obj_metadata_t * obj_find_metadata ( const obj_template_t obj,
const xmlChar *  name 
)

Find the object metadata definition in the object.

Parameters
objobject template to check
namename of obj_metadata_t data structure to find
Returns
pointer to found entry, NULL if not found
Here is the call graph for this function:
Here is the caller graph for this function:

◆ obj_find_schema_template()

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.

Parameters
queQ of obj_template_t to search
modnamemodule name that defines the obj_template_t
NULL and first match will be done, and the module ignored (Name instead of QName)
objnameobject name to find
Returns
pointer to obj_template_t or NULL if not found in 'que'

◆ obj_find_template()

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

Parameters
queQ of obj_template_t to search
modnamemodule name that defines the obj_template_t
NULL and first match will be done, and the module ignored (Name instead of QName)
objnameobject name to find
Returns
pointer to obj_template_t or NULL if not found in 'que'
Here is the caller graph for this function:

◆ obj_find_template_all()

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

Parameters
modncx_module to check
modnamemodule name for the object (needed for augments) (may be NULL to match any 'objname' instance)
objnameobject name to find
Returns
pointer to struct if present, NULL otherwise
Here is the call graph for this function:

◆ obj_find_template_con()

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.

Parameters
queQ of obj_template_t to search
modnamemodule name that defines the obj_template_t
NULL and first match will be done, and the module ignored (Name instead of QName)
objnameobject name to find
Returns
pointer to obj_template_t or NULL if not found in 'que'

◆ obj_find_template_test()

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.

Parameters
queQ of obj_template_t to search
modnamemodule name that defines the obj_template_t
NULL and first match will be done, and the module ignored (Name instead of QName)
objnameobject name to find
Returns
pointer to obj_template_t or NULL if not found in 'que'

◆ obj_find_template_top()

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

Parameters
modncx_module to check
modnamemodule name for the object (needed for augments) (may be NULL to match any 'objname' instance)
objnameobject name to find
Returns
pointer to struct if present, NULL otherwise
Here is the call graph for this function:
Here is the caller graph for this function:

◆ obj_find_template_top_ex()

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

Parameters
modncx_module to check
modnamemodule name for the object (needed for augments) (may be NULL to match any 'objname' instance)
objnameobject name to find
match_namesenum for selected match names mode
alt_namesTRUE if alt-name should be checked in addition to the YANG node name
FALSE to check YANG names only
dataonlyTRUE to check just data nodes
FALSE to check all nodes
[out]retresaddress of return status
  • *retres set to return status
Returns
pointer to struct if present, NULL otherwise
Here is the caller graph for this function:

◆ obj_find_template_top_lrcheck()

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

Parameters
modncx_module to check
modnamemodule name for the object (needed for augments) (may be NULL to match any 'objname' instance)
objnameobject name to find
Returns
pointer to struct if present, NULL otherwise

◆ obj_find_type()

typ_template_t * obj_find_type ( obj_template_t obj,
const xmlChar *  typname 
)

Check if a typ_template_t in the obj typedefQ hierarchy.

Parameters
objobj_template using the typedef
typnametype name to find
Returns
pointer to struct if present, NULL otherwise
Here is the call graph for this function:
Here is the caller graph for this function:

◆ obj_find_unique()

obj_unique_t * obj_find_unique ( dlq_hdr_t *  que,
const xmlChar *  xpath 
)

Find a specific unique-stmt.

Parameters
quequeue of obj_unique_t to check
xpathrelative path expression for the unique node to find
Returns
pointer to found entry or NULL if not found
Here is the call graph for this function:

◆ obj_find_xpath_backptr()

boolean obj_find_xpath_backptr ( obj_template_t obj,
struct xpath_pcb_t_ *  xpath 
)

Find an xpath-expr backptr.

Parameters
objobject to search
xpathXpath PCB to find
Returns
TRUE if found; FALSE if not
Here is the call graph for this function:
Here is the caller graph for this function:

◆ obj_first_child()

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 !!!!

Parameters
objobj_template_t to check for children
Returns
pointer to first child obj_template_t or NULL if not found
Here is the call graph for this function:
Here is the caller graph for this function:

◆ obj_first_child_augok()

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 !!!!

Parameters
objobj_template_t to check
Returns
pointer to first child obj_template_t or NULL if not found
Here is the call graph for this function:

◆ obj_first_child_deep()

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 !!!!

Parameters
objobj_template_t to check
Returns
pointer to first child obj_template_t or NULL if not found
Here is the call graph for this function:
Here is the caller graph for this function:

◆ obj_first_ckey()

const obj_key_t * obj_first_ckey ( const obj_template_t obj)

Get the first key record: Const version.

Parameters
objobject to check
Returns
pointer to first key component or NULL if not found
Here is the caller graph for this function:

◆ obj_first_defval_tk()

obj_defval_tk_t * obj_first_defval_tk ( const obj_refine_t ref)

Get the first defval_tk entry.

Parameters
refrefine object to check
Returns
first entry or NULL if none

◆ obj_first_dev_defval_tk()

obj_defval_tk_t * obj_first_dev_defval_tk ( const obj_deviate_t dev)

Get the first defval_tk entry.

Parameters
devdeviate statement to search
Returns
first entry of NULL if none

◆ obj_first_grouping()

grp_template_t * obj_first_grouping ( obj_template_t obj)

Get the first local grouping if any.

Parameters
objobj_template to use
Returns
pointer to struct if present, NULL otherwise

◆ obj_first_iffeature_ptr()

obj_iffeature_ptr_t * obj_first_iffeature_ptr ( obj_template_t obj)

Get first if-feature pointer.

Parameters
objthe obj_template to check
Returns
pointer to first entry or NULL if none

◆ obj_first_inherit_when_ptr()

ncx_backptr_t * obj_first_inherit_when_ptr ( obj_template_t obj)

Get first xpath pointer struct.

Parameters
objthe obj_template to check
Returns
pointer to first entry or NULL if none

◆ obj_first_key()

obj_key_t * obj_first_key ( obj_template_t obj)

Get the first key record.

Parameters
objobject to check
Returns
pointer to first key component or NULL if not found
Here is the caller graph for this function:

◆ obj_first_metadata()

obj_metadata_t * obj_first_metadata ( const obj_template_t obj)

Get the first object metadata definition in the object.

Parameters
objobject template to check
Returns
pointer to first entry, NULL if none

◆ obj_first_terminal_child()

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 !!!!

Parameters
objobj_template_t to check for children
Returns
pointer to first child obj_template_t or NULL if not found
Here is the call graph for this function:
Here is the caller graph for this function:

◆ obj_first_terminal_child_nokey()

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 !!!!

Parameters
objobj_template_t to check
Returns
pointer to first matching child obj_template_t or NULL if not found
Here is the call graph for this function:

◆ obj_first_terminal_child_nokey_nochoice()

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!!!

Parameters
objobj_template_t to check
Returns
pointer to first matching child obj_template_t or NULL if not found
Here is the call graph for this function:

◆ obj_first_typedef()

typ_template_t * obj_first_typedef ( obj_template_t obj)

Get the first local typedef for this object, if any.

Parameters
objobj_template to use
Returns
pointer to first typ_template_t struct if present, NULL otherwise

◆ obj_first_unique()

obj_unique_t * obj_first_unique ( obj_template_t listobj)

Get the first unique-stmt for a list.

Parameters
listobj(list) object to check for unique structs
Returns
pointer to found entry or NULL if not found
Here is the caller graph for this function:

◆ obj_first_unique_backptr()

obj_template_t * obj_first_unique_backptr ( obj_template_t leafobj)

Get the first unique backptr for a leaf object.

Parameters
leafobjthe leaf object that will get searched
Returns
pointer to the list object that is in the first backptr
  • NULL if no first backptr found or wrong node types
Here is the call graph for this function:

◆ obj_first_unique_comp()

obj_unique_comp_t * obj_first_unique_comp ( obj_unique_t un)

Get the first identifier in a unique-stmt for a list.

Parameters
ununique struct to check
Returns
pointer to found entry or NULL if not found

◆ obj_first_xpath_backptr()

struct xpath_pcb_t_ * obj_first_xpath_backptr ( obj_template_t obj)

Get the first xpath backptr.

Parameters
objobject to search
Returns
pointer to first entry; NULL if none

◆ obj_flag_xpath_backptrs_dirty()

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.

Parameters
objobject to check
cfg_idconfiguration datastore to check
flagTRUE to set dirty; FALSE to clear
Here is the call graph for this function:
Here is the caller graph for this function:

◆ obj_force_disabled()

void obj_force_disabled ( obj_template_t obj)

Force an object to be disabled.

Parameters
objthe obj_template to force disabled

◆ obj_force_root()

void obj_force_root ( obj_template_t obj)

Set the object as an anydata type of root.

Parameters
objobj_template to set
Here is the caller graph for this function:

◆ obj_free_defval_tk()

void obj_free_defval_tk ( obj_defval_tk_t def)

Delete an object default tk record;.

Parameters
defmalloced entry to free

◆ obj_free_deviate()

void obj_free_deviate ( obj_deviate_t deviate)

Clean and free an object deviate statement.

Parameters
deviatepointer to the struct to clean and free
Here is the call graph for this function:
Here is the caller graph for this function:

◆ obj_free_deviation()

void obj_free_deviation ( obj_deviation_t deviation)

Clean and free an object deviation statement.

Parameters
deviationpointer to the struct to clean and free
Here is the call graph for this function:
Here is the caller graph for this function:

◆ obj_free_iffeature_ptr()

void obj_free_iffeature_ptr ( obj_iffeature_ptr_t iffptr)

Free an obj_iffeature_ptr_t struct.

Parameters
iffptrstruct to free

◆ obj_free_key()

void obj_free_key ( obj_key_t key)

Free a obj_key_t struct.

Parameters
keyobj_key_t struct to free

◆ obj_free_metadata()

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.

Parameters
metaobj_metadata_t data structure to free
Here is the call graph for this function:

◆ obj_free_template()

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.

Parameters
objobj_template_t data structure to free
Here is the call graph for this function:
Here is the caller graph for this function:

◆ obj_free_unique()

void obj_free_unique ( obj_unique_t un)

Free a obj_unique_t struct.

Parameters
unobj_unique_t struct to free
Here is the call graph for this function:

◆ obj_free_unique_comp()

void obj_free_unique_comp ( obj_unique_comp_t unc)

Free a obj_unique_comp_t struct.

Parameters
uncobj_unique_comp_t struct to free
Here is the caller graph for this function:

◆ obj_gen_aughook_id()

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.

Parameters
objnode to generate the augment hook ID for
[out]buffpointer to address of buffer to use
  • *buff malloced buffer with the instance ID
Returns
status
Here is the call graph for this function:

◆ obj_gen_object_id()

status_t obj_gen_object_id ( const obj_template_t obj,
xmlChar **  buff 
)

Malloc and Generate the object ID for an object node.

Parameters
objnode to generate the instance ID for
[out]buffpointer to address of buffer to use
  • *buff malloced buffer with the instance ID
Returns
status

◆ obj_gen_object_id_code()

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

Parameters
modcurrent module in progress
objnode to generate the instance ID for
[out]buffpointer to address of buffer to use
  • *buff malloced buffer with the instance ID
Returns
status

◆ obj_gen_object_id_datapath()

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

Parameters
objthe node to generate the instance ID for
[out]buffthe pointer to address of buffer to use
  • *buff malloced and filled in
Returns
status
Here is the call graph for this function:
Here is the caller graph for this function:

◆ obj_gen_object_id_error()

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.

Parameters
objthe node to generate the instance ID for
[out]buffthe pointer to address of buffer to use
  • *buff is malloced and filled in
Returns
status
Here is the call graph for this function:
Here is the caller graph for this function:

◆ obj_gen_object_id_oid()

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.

Parameters
modthe module containing the object
objthe node to generate the instance ID for
[out]buffthe pointer to address of buffer to use
  • *buff malloced and filled in
Returns
status
Here is the caller graph for this function:

◆ obj_gen_object_id_prefix()

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.

Parameters
objthe node to generate the instance ID for
[out]buffthe pointer to address of buffer to use
  • *buff malloced and filled in
Returns
status
Here is the caller graph for this function:

◆ obj_gen_object_id_sid()

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.

Parameters
objnode to generate the instance ID for
[out]buffpointer to address of buffer to use
  • *buff malloced buffer with the instance ID
Returns
status

◆ obj_gen_object_id_unique()

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.

Parameters
objthe node to generate the instance ID for
stopobjthe ancestor node to stop at
[out]buffthe pointer to address of buffer to use
  • *buff is malloced and filled in
Returns
status
Here is the caller graph for this function:

◆ obj_gen_object_id_xpath()

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

Parameters
objthe node to generate the instance ID for
[out]buffthe pointer to address of buffer to use
  • *buff is malloced and filled in
Returns
status

◆ obj_get_alt_description()

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

Parameters
objthe specific object to check
Returns
Alternate YANG description string for this object
Here is the call graph for this function:

◆ obj_get_altname()

const xmlChar * obj_get_altname ( const obj_template_t obj)

Get the alt-name for this object, if any.

Parameters
objobj_template to check
Returns
pointer to alt-name of NULL if none
Here is the call graph for this function:

◆ obj_get_appinfo()

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.

Parameters
objobject to check for the appinfo (mandatory)
prefixprefix string for the appinfo
leave NULL unless expecting duplicates
namename of the appinfo (extension identifier) (mandatory)
[out]retvaladdress 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
Here is the call graph for this function:

◆ obj_get_appinfoQ()

dlq_hdr_t * obj_get_appinfoQ ( obj_template_t obj)

Get the appinfoQ for this obj.

Parameters
objthe specific object to check
Returns
pointer to the appinfoQ for this object
Here is the caller graph for this function:

◆ obj_get_augment_target()

const xmlChar * obj_get_augment_target ( obj_template_t obj)

Get the target path string for an augments object.

Parameters
objthe object to check
Returns
pointer to the augment XPath target string or NULL if this object is not an augment
Here is the caller graph for this function:

◆ obj_get_augment_targobj()

obj_template_t * obj_get_augment_targobj ( obj_template_t obj)

Get the target object for an augments object.

Parameters
objthe object to check
Returns
pointer to the augment context target object or NULL if this object type does not have an augment target object
Here is the caller graph for this function:

◆ obj_get_base_typdef()

typ_def_t * obj_get_base_typdef ( obj_template_t obj)

Get the base typdef for the leaf or leaf-list.

Parameters
objobject to check
Returns
pointer to the base typdef or NULL if this object type does not have a typdef
Here is the call graph for this function:

◆ obj_get_basetype()

ncx_btype_t obj_get_basetype ( const obj_template_t obj)

Get the NCX base type enum for the object type.

Parameters
objobject to check
Returns
base type enumeration
Here is the call graph for this function:
Here is the caller graph for this function:

◆ obj_get_cdatadefQ()

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.

Parameters
objobject to check
Returns
pointer to Q of obj_template, or NULL if none
Here is the caller graph for this function:

◆ obj_get_child_count()

uint32 obj_get_child_count ( const obj_template_t obj)

Get the number of child nodes the object has.

Parameters
objobj_template to check
Returns
number of child nodes
Here is the call graph for this function:
Here is the caller graph for this function:

◆ obj_get_child_node()

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!

Parameters
objparent object template
chobjcurrent child node (may be NULL if the xmlorder param is FALSE
xmlorderTRUE 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
curnodecurrent XML start or empty node to check
force_modQQ of ncx_module_t to check, if set
NULL and the xmlns registry of module pointers will be used instead (except netconf.yang)
[out]rettopaddress of return topchild object
*rettop set to top-level found object if return OK and currently within a choice
[out]retobjaddress of return object to use
*retobj set to found object if return OK
Returns
status

◆ obj_get_config_flag()

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.

Parameters
objobj_template to check
Returns
TRUE if config set to TRUE
FALSE if config set to FALSE
Here is the call graph for this function:
Here is the caller graph for this function:

◆ obj_get_config_flag2()

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.

Parameters
objobj_template to check
[out]setflagaddress of return config-stmt set flag
  • *setflag TRUE if the config-stmt is set in this node, or if it is a top-level object
  • FALSE if the config-stmt is inherited from its parent
Returns
TRUE if config set to TRUE
FALSE if config set to FALSE

◆ obj_get_config_flag_check()

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

Parameters
objobj_template to check
[out]ingrpaddress if in grouping flag
  • *ingrp TRUE if hit grouping top without finding a definitive answer
Returns
TRUE if config set to TRUE
FALSE if config set to FALSE
!!! ignore if *ingrp == TRUE
Here is the call graph for this function:
Here is the caller graph for this function:

◆ obj_get_config_flag_deep()

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

Parameters
objobj_template to check
Returns
TRUE if config set to TRUE
FALSE if config set to FALSE
Here is the call graph for this function:
Here is the caller graph for this function:

◆ obj_get_cparent()

const obj_template_t * obj_get_cparent ( const obj_template_t obj)

Get the parent of the current object CONST POINTER VERSION.

Parameters
objobject to check
Returns
pointer to the parent of this object or NULL if none

◆ obj_get_ctypdef()

const typ_def_t * obj_get_ctypdef ( const obj_template_t obj)

Get the typdef for the leaf or leaf-list : Const version.

Parameters
objobject to check
Returns
pointer to the typdef or NULL if this object type does not have a typdef
Here is the caller graph for this function:

◆ obj_get_datadefQ()

dlq_hdr_t * obj_get_datadefQ ( obj_template_t obj)

Get the datadefQ (or caseQ) if this object has one.

Parameters
objobject to check
Returns
pointer to Q of obj_template, or NULL if none
Here is the caller graph for this function:

◆ obj_get_default()

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.

Parameters
objobject to check
Returns
pointer to default value string or NULL if none
Here is the call graph for this function:
Here is the caller graph for this function:

◆ obj_get_default_case()

obj_template_t * obj_get_default_case ( obj_template_t obj)

Get the default case for the specified OBJ_TYP_CHOICE object.

Parameters
objobject to check
Returns
pointer to default case object template OBJ_TYP_CASE
Here is the call graph for this function:
Here is the caller graph for this function:

◆ obj_get_default_parm()

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)

Parameters
objthe specific object to check
Returns
pointer to the default parm name, NULL if some error or unnamed
Here is the call graph for this function:
Here is the caller graph for this function:

◆ obj_get_defvalQ()

dlq_hdr_t * obj_get_defvalQ ( obj_template_t obj)

Get the leaf-list default Q.

Parameters
objto check
Returns
pointer to defvalQ or NULL is not a leaflist

◆ obj_get_description()

const xmlChar * obj_get_description ( const obj_template_t obj)

Get the description field for this obj.

Parameters
objthe specific object to check
Returns
YANG description string for this object
Here is the caller graph for this function:

◆ obj_get_description_addr()

const void * obj_get_description_addr ( const obj_template_t obj)

Get the address of the description field for this obj.

Parameters
objthe specific object to check
Returns
YANG description string for this object

◆ obj_get_deviate_arg()

const xmlChar * obj_get_deviate_arg ( obj_deviate_arg_t  devarg)

Get the deviate-arg string from its enumeration.

Parameters
devargenumeration to convert
Returns
const string version of the enum

◆ obj_get_first_default()

const xmlChar * obj_get_first_default ( const obj_template_t obj,
ncx_backptr_t **  thisdef 
)

Get the first default value for the specified object.

Parameters
objobject to check
[out]thisdefaddress of return address string
  • *thisdef handle that is used for obj_get_next_default
Returns
pointer to next default value string or NULL if none
Here is the call graph for this function:
Here is the caller graph for this function:

◆ obj_get_first_iffeature()

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.

Parameters
objobject template to check
Returns
pointer to first if-feature struct; NULL if none available
Here is the caller graph for this function:

◆ obj_get_fraction_digits()

uint8 obj_get_fraction_digits ( const obj_template_t obj)

Get the fraction-digits field from the object typdef.

Parameters
objobject template to check
Returns
number of fixed decimal digits expected (1..18) 0 if some error
Here is the call graph for this function:

◆ obj_get_help_description()

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.

Parameters
objthe specific object to check
Returns
YANG help description string for this object
Here is the call graph for this function:
Here is the caller graph for this function:

◆ obj_get_info_description()

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.

Parameters
objthe specific object to check
Returns
YANG info description string for this object
Here is the call graph for this function:
Here is the caller graph for this function:

◆ obj_get_iqualval()

ncx_iqual_t obj_get_iqualval ( obj_template_t obj)

Get the instance qualifier for this object.

Parameters
objobject to check
Returns
instance qualifier enumeration
Here is the call graph for this function:
Here is the caller graph for this function:

◆ obj_get_iqualval_ex()

ncx_iqual_t obj_get_iqualval_ex ( obj_template_t obj,
boolean  required 
)

Get the instance qualifier for this object.

Parameters
objobject to check
requiredvalue to use for 'is_mandatory()' logic
Returns
instance qualifier enumeration
Here is the caller graph for this function:

◆ obj_get_key_by_name()

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.

Parameters
objlist object
keynamekey name to find
Returns
obj_key pointer or NULL if not found
Here is the call graph for this function:

◆ obj_get_key_num()

uint16 obj_get_key_num ( obj_template_t obj)

Get the key number for the object.

Parameters
objobject to get; MUST be leaf
Returns
keynum key number; 0 if not a key leaf
Here is the caller graph for this function:

◆ obj_get_keystr()

const xmlChar * obj_get_keystr ( obj_template_t obj)

Get the key string for this list object.

Parameters
objobj_template to check
Returns
pointer to key string or NULL if none or not a list
Here is the caller graph for this function:

◆ obj_get_langver()

ncx_yang_version_t obj_get_langver ( obj_template_t obj)

Get the YANG version for this object.

Parameters
objobject to check
Returns
YANG version for this object
Here is the call graph for this function:

◆ obj_get_leaf_list_defset()

boolean obj_get_leaf_list_defset ( const obj_template_t obj)

Get the defset flag for a leaf-list.

Parameters
objobject to check
Returns
true if leaf-list with original defaults

◆ obj_get_leafref_class()

ncx_leafref_class_t obj_get_leafref_class ( obj_template_t obj)

Get the leafref class for a leafref object.

Parameters
objthe object to check
Returns
leafref class
Here is the call graph for this function:

◆ obj_get_leafref_targobj()

obj_template_t * obj_get_leafref_targobj ( obj_template_t obj)

Get the target object for a leafref leaf or leaf-list.

Parameters
objobject to check
Returns
pointer to the target object or NULL if this object type does not have a leafref target object
Here is the caller graph for this function:

◆ obj_get_leafrefQ()

dlq_hdr_t * obj_get_leafrefQ ( const obj_template_t obj)

Get the leafrefQ for this obj.

Parameters
objthe specific object to check
Returns
pointer to the leafref for this object

◆ obj_get_level()

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.

Parameters
objobject to check
Returns
level that this object is located, by checking the parent chain
Here is the call graph for this function:
Here is the caller graph for this function:

◆ obj_get_level_mp()

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

Parameters
objobject to check
Returns
level that this object is located, by checking the parent chain
Here is the call graph for this function:

◆ obj_get_max_access()

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.

Parameters
objobj_template to check
Returns
ncx_access_t enumeration
Here is the call graph for this function:
Here is the caller graph for this function:

◆ obj_get_max_elements()

boolean obj_get_max_elements ( obj_template_t obj,
uint32 *  maxelems 
)

Get the max-elements clause for this object, if any.

Parameters
objobject to check
[out]maxelemsaddress of return max-elements value
  • *maxelems max-elements value if it is set for this object
Returns
TRUE if max-elements is set, FALSE if not or N/A
Here is the caller graph for this function:

◆ obj_get_min_elements()

boolean obj_get_min_elements ( obj_template_t obj,
uint32 *  minelems 
)

Get the min-elements clause for this object, if any.

Parameters
objobject to check
[out]minelemsaddress of return min-elements value
  • *minelems min-elements value if it is set for this object
Returns
TRUE if min-elements is set, FALSE if not or N/A
Here is the caller graph for this function:

◆ obj_get_mod()

ncx_module_t * obj_get_mod ( obj_template_t obj)

Get the module pointer for this object.

Parameters
objobject to check
Returns
pointer to module
Here is the call graph for this function:
Here is the caller graph for this function:

◆ obj_get_mod_for_dump()

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!!!

Parameters
objobject to check
Returns
pointer to module

◆ obj_get_mod_name()

const xmlChar * obj_get_mod_name ( const obj_template_t obj)

Get the module name for this object.

Parameters
objobject to check
Returns
const pointer to module name
Here is the caller graph for this function:

◆ obj_get_mod_prefix()

const xmlChar * obj_get_mod_prefix ( const obj_template_t obj)

Get the module prefix for this object.

Parameters
objobject to check
Returns
const pointer to mod prefix
Here is the call graph for this function:
Here is the caller graph for this function:

◆ obj_get_mod_version()

const xmlChar * obj_get_mod_version ( const obj_template_t obj)

Get the module version for this object.

Parameters
objobject to check
Returns
const pointer to mod version or NULL if none

◆ obj_get_mod_xmlprefix()

const xmlChar * obj_get_mod_xmlprefix ( const obj_template_t obj)

Get the module prefix for this object.

Parameters
objobject to check
Returns
const pointer to mod XML prefix
Here is the call graph for this function:

◆ obj_get_mustQ()

dlq_hdr_t * obj_get_mustQ ( const obj_template_t obj)

Get the mustQ for this obj.

Parameters
objthe specific object to check
Returns
pointer to the mustQ for this object
Here is the caller graph for this function:

◆ obj_get_name()

const xmlChar * obj_get_name ( const obj_template_t obj)

Get the name field for this obj.

Parameters
objthe specific object to check
Returns
pointer to the name field, NULL if some error or unnamed

◆ obj_get_next_default()

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

Parameters
objobject to check
lastdeflast default pointer; get next of this value
[out]thisdefaddress of return default
  • *thisdef record to use for retieving next default again
Returns
pointer to next default value string or NULL if none
Here is the call graph for this function:
Here is the caller graph for this function:

◆ obj_get_next_iffeature()

const ncx_iffeature_t * obj_get_next_iffeature ( const ncx_iffeature_t iffeature)

Get the next if-feature clause (if any)

Parameters
iffeaturecurrent iffeature struct
Returns
pointer to next if-feature struct
NULL if none available

◆ obj_get_nsid()

xmlns_id_t obj_get_nsid ( const obj_template_t obj)

Get the namespace ID for this object.

Parameters
objobject to check
Returns
namespace ID
Here is the call graph for this function:
Here is the caller graph for this function:

◆ obj_get_oid_string()

const xmlChar * obj_get_oid_string ( obj_template_t obj)

Get object OID sting value.

Parameters
objobject to use
Returns
NULL if any error; OID string otherwise
Here is the call graph for this function:
Here is the caller graph for this function:

◆ obj_get_oid_struct()

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.

Parameters
objobject to use
[out]mallocedreturn malloced flag
  • *malloced is set to TRUE if OID struct was malloced
Returns
NULL if any error; obj_oid_t struct otherwise is malloced is TRUE, free this struct by caller !!!
Here is the call graph for this function:

◆ obj_get_parent()

obj_template_t * obj_get_parent ( obj_template_t obj)

Get the parent of the current object.

Parameters
objobject to check
Returns
pointer to the parent of this object or NULL if none
Here is the caller graph for this function:

◆ obj_get_parent_choice()

obj_template_t * obj_get_parent_choice ( obj_template_t obj)

Get the choice parent of the current object;.

Parameters
objobject to check
Returns
pointer to the choice parent of this object
Here is the call graph for this function:

◆ obj_get_presence_string()

const xmlChar * obj_get_presence_string ( const obj_template_t obj)

Get the present-stmt value, if any.

Parameters
objobj_template to check
Returns
pointer to string; NULL if none
Here is the caller graph for this function:

◆ obj_get_presence_string_field()

void * obj_get_presence_string_field ( const obj_template_t obj)

Get the address ot the presence-stmt value, if any.

Parameters
objobj_template to check
Returns
pointer to address of presence string; NULL if none

◆ obj_get_real_cparent()

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

Parameters
objobject to check
Returns
pointer to the parent of this object or NULL if none
Here is the call graph for this function:
Here is the caller graph for this function:

◆ obj_get_real_level()

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.

Parameters
objobject to check
Returns
level that this object is located, by checking the parent chain
Here is the call graph for this function:
Here is the caller graph for this function:

◆ obj_get_real_mod()

ncx_module_t * obj_get_real_mod ( obj_template_t obj)

Get the module struct for the submodule or main module with this object.

Parameters
objthe obj_template to check
Returns
pointer to the module or NULL

◆ obj_get_real_parent()

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.

Parameters
objobject to check
Returns
pointer to the parent of this object or NULL if none
Here is the call graph for this function:
Here is the caller graph for this function:

◆ obj_get_real_parent_aug()

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.

Parameters
objobject to check
Returns
pointer to the parent of this object or NULL if none
Here is the call graph for this function:
Here is the caller graph for this function:

◆ obj_get_reference()

const xmlChar * obj_get_reference ( const obj_template_t obj)

Get the reference field for this obj.

Parameters
objthe specific object to check
Returns
YANG reference string for this object
Here is the caller graph for this function:

◆ obj_get_reference_addr()

const void * obj_get_reference_addr ( const obj_template_t obj)

Get the reference field for this obj.

Used by compiler only!

Parameters
objthe specific object to check
Returns
address of the YANG reference string for this object

◆ obj_get_sil_priority()

uint8 obj_get_sil_priority ( obj_template_t obj)

Get the SIL priority field.

Parameters
objobj_template to check
Returns
SIL priority value
Here is the call graph for this function:

◆ obj_get_status()

ncx_status_t obj_get_status ( const obj_template_t obj)

Get the status field for this obj.

Parameters
objthe specific object to check
Returns
YANG status clause for this object
Here is the call graph for this function:
Here is the caller graph for this function:

◆ obj_get_top_aio_get2()

obj_template_t * obj_get_top_aio_get2 ( obj_template_t child)

Find the top AIO object.

Parameters
childchild object to use
Returns
object that represents the top AIO object
Here is the call graph for this function:

◆ obj_get_top_config_flag()

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

Parameters
objobject to check
Returns
TRUE if object is from top-level config=true
FALSE if object is from top-level config=false
Here is the call graph for this function:

◆ obj_get_typdef()

typ_def_t * obj_get_typdef ( obj_template_t obj)

Get the typdef for the leaf or leaf-list.

Parameters
objobject to check
Returns
pointer to the typdef or NULL if this object type does not have a typdef
Here is the caller graph for this function:

◆ obj_get_type_name()

const xmlChar * obj_get_type_name ( const obj_template_t obj)

Get the typename for an object.

Parameters
objobject to check
Returns
const pointer to type name string
Here is the call graph for this function:
Here is the caller graph for this function:

◆ obj_get_typestr()

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

Parameters
objobj_template to check
Returns
name string for this object type
Here is the caller graph for this function:

◆ obj_get_units()

const xmlChar * obj_get_units ( obj_template_t obj)

Get the units clause for this object, if any.

Parameters
objobject to check
Returns
pointer to units clause, or NULL if none
Here is the call graph for this function:
Here is the caller graph for this function:

◆ obj_get_xpath_oper_ok()

boolean obj_get_xpath_oper_ok ( const obj_template_t obj)

Get the object XPath oper OK flag.

Parameters
objthe obj_template to set
Returns
TRUE if config=false OK in XPath

◆ obj_get_yang_sid()

ncx_sid_t obj_get_yang_sid ( const obj_template_t obj)

Get the YANG SID for this object.

Parameters
objobject to check
Returns
YANG SID or 0
Here is the caller graph for this function:

◆ obj_get_yang_sid_tree()

uint32 obj_get_yang_sid_tree ( const obj_template_t obj)

Get the YANG SID Tree ID for this object.

Parameters
objobject to check
Returns
YANG SID Tree ID or 0

◆ obj_has_aio_list()

boolean obj_has_aio_list ( obj_template_t obj)

Check is AIO object is a list or if its parent is a list object.

Parameters
objobject to use
Returns
TRUE if the current object is AIO list or its parent is
Here is the call graph for this function:
Here is the caller graph for this function:

◆ obj_has_children()

boolean obj_has_children ( obj_template_t obj)

Check if there are any accessible nodes within the object.

Parameters
objobj_template to check
Returns
TRUE if there are any accessible children
FALSE if no datadb child nodes found
Here is the call graph for this function:
Here is the caller graph for this function:

◆ obj_has_get2cb()

boolean obj_has_get2cb ( obj_template_t obj)

Check if current object has GET2 callback registered.

Checks:

  • obj has getcb block
  • obj has flag OBJ_FL_REMOTE_GET2 set
  • obj is NP cont and has some get2 underneath

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.

Parameters
objobject struct to use
Returns
TRUE if has get2 cb; FALSE if not
Here is the caller graph for this function:

◆ obj_has_iffeature()

boolean obj_has_iffeature ( obj_template_t obj)

Check any if-feature statements exist for the specified object.

Parameters
objthe obj_template to check
Returns
TRUE if object has any if-feature statements

◆ obj_has_mandatory_children()

boolean obj_has_mandatory_children ( obj_template_t obj)

Check if there are any mandatory children.

Parameters
objthe obj_template to check
Returns
TRUE if there are any mandatory children
Here is the call graph for this function:

◆ obj_has_name()

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

Parameters
objthe specific object to check
Returns
TRUE if obj has a name; FALSE otherwise
Here is the caller graph for this function:

◆ obj_has_ro_children()

boolean obj_has_ro_children ( obj_template_t obj)

Check if there are any accessible read-only child nodes within the object.

Parameters
objobj_template to check
Returns
TRUE if there are any accessible read-only children
FALSE if no datadb read-only child nodes found
Here is the call graph for this function:
Here is the caller graph for this function:

◆ obj_has_ro_descendants()

boolean obj_has_ro_descendants ( obj_template_t obj)

Check if there are any accessible read-only descendant nodes within the object.

Parameters
objthe obj_template to check
Returns
TRUE if there are any accessible read-only children
Here is the call graph for this function:
Here is the caller graph for this function:

◆ obj_has_rw_children()

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!!!

Parameters
objthe obj_template to check
Returns
TRUE if there are any accessible read-write children
Here is the call graph for this function:

◆ obj_has_rw_children_ex()

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

Parameters
objthe obj_template to check
term_onlyonly include terminal rw children
Returns
TRUE if there are any accessible read-write children
Here is the call graph for this function:
Here is the caller graph for this function:

◆ obj_has_text_content()

boolean obj_has_text_content ( const obj_template_t obj)

Check if the specified object type has a text content for XPath purposes.

Parameters
objthe specific object to check
Returns
TRUE if obj has text content; FALSE otherwise
Here is the caller graph for this function:

◆ obj_has_typedefs()

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.

Parameters
objobject to check
Returns
TRUE if any nested typedefs, FALSE otherwise
Here is the call graph for this function:
Here is the caller graph for this function:

◆ obj_has_when_stmts()

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.

Parameters
objobject template to check
Returns
TRUE if object has any when-stmts associated with it
FALSE otherwise
Here is the call graph for this function:
Here is the caller graph for this function:

◆ obj_has_xpath_stmts()

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

Parameters
objthe obj_template to start check
Returns
TRUE if object has any must-stmts or when-stmts
Here is the call graph for this function:
Here is the caller graph for this function:

◆ obj_in_abstract()

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.

Parameters
objthe obj_template to check
Returns
TRUE if object is marked as ncx:abstract
Here is the call graph for this function:
Here is the caller graph for this function:

◆ obj_in_action()

boolean obj_in_action ( const obj_template_t obj)

Check if the object is within or is an action method.

Parameters
objthe obj_template to check
Returns
TRUE if in action method
Here is the call graph for this function:
Here is the caller graph for this function:

◆ obj_in_augment()

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.

Parameters
objthe obj_template to check
Returns
TRUE if object is defined inside an augment
Here is the call graph for this function:
Here is the caller graph for this function:

◆ obj_in_edit2_mode()

boolean obj_in_edit2_mode ( obj_template_t obj)

Check if the object is an edit2 container or list or terminal node child in an edit2 container or list.

Parameters
objobj_template to check
Returns
TRUE if is or in an edit2 object; FALSE if not
Here is the call graph for this function:
Here is the caller graph for this function:

◆ obj_in_list()

boolean obj_in_list ( const obj_template_t obj)

Check if object is nested within a list.

Parameters
objthe obj_template to check
Returns
TRUE if object is nested within a list
Here is the call graph for this function:

◆ obj_in_notif()

boolean obj_in_notif ( const obj_template_t obj)

Check if the object is in a notification.

Parameters
objobject to check
Returns
TRUE if /notification object; FALSE otherwise
Here is the call graph for this function:
Here is the caller graph for this function:

◆ obj_in_rpc()

boolean obj_in_rpc ( const obj_template_t obj)

Check if the object is in an rpc/input section.

Parameters
objobject to check
Returns
TRUE if /rpc/input object; FALSE otherwise
Here is the call graph for this function:
Here is the caller graph for this function:

◆ obj_in_rpc_reply()

boolean obj_in_rpc_reply ( const obj_template_t obj)

Check if the object is in an rpc-reply/output section.

Parameters
objobject to check
Returns
TRUE if /rpc-reply/output object; FALSE otherwise
Here is the call graph for this function:
Here is the caller graph for this function:

◆ obj_in_submodule()

boolean obj_in_submodule ( obj_template_t obj)

Check if the object is defined in a submodule.

Parameters
objobject to check
Returns
TRUE is in submodule; false if not

◆ obj_in_top_choice()

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.

Parameters
objobject template to check
Returns
TRUE if obj is in top-choice; FALSE otherwise
Here is the call graph for this function:

◆ obj_init_unique()

void obj_init_unique ( obj_unique_t un)

Init a obj_unique_t struct.

Parameters
unobj_unique_t struct to init
Here is the call graph for this function:
Here is the caller graph for this function:

◆ obj_is_abstract()

boolean obj_is_abstract ( const obj_template_t obj)

Check if object is being used as an object identifier or error-info.

Parameters
objobj_template to check
Returns
TRUE if object is marked as ncx:abstract; FALSE if not
Here is the caller graph for this function:

◆ obj_is_abstract_ex()

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

Parameters
objobject to check
Returns
TRUE if cur obj is an abstract obj or is a child of abstract obj
Here is the call graph for this function:

◆ obj_is_action()

boolean obj_is_action ( const obj_template_t obj)

Check if the object is a YANG 1.1 action.

Parameters
objobject to check
Returns
TRUE if action method; FALSE if not an action method
Here is the caller graph for this function:

◆ obj_is_ancestor()

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

Parameters
ancestorthe obj_template to find in the ancestor path
objthe obj_template to check the ancestor path
Returns
TRUE if ancestor found; FALSE if not
Here is the call graph for this function:
Here is the caller graph for this function:

◆ obj_is_any()

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.

Parameters
objobject to check
Returns
TRUE if object is an anyxml or anydata
Here is the call graph for this function:
Here is the caller graph for this function:

◆ obj_is_anydata()

boolean obj_is_anydata ( const obj_template_t obj)

Check if object is an anydata.

Parameters
objthe obj_template to check
Returns
TRUE if object is an anydata
Here is the caller graph for this function:

◆ obj_is_anyxml()

boolean obj_is_anyxml ( const obj_template_t obj)

Check if object is an anyxml.

Parameters
objthe obj_template to check
Returns
TRUE if object is an anyxml
Here is the caller graph for this function:

◆ obj_is_augclone()

boolean obj_is_augclone ( const obj_template_t obj)

Figure out if the obj is a cloned object, inserted via an augment statement.

Parameters
objobj_template to check
Returns
TRUE if object is sourced from an augment
FALSE if object is not sourced from an augment

◆ obj_is_augment()

boolean obj_is_augment ( const obj_template_t obj)

Check if the obj is an augment statement.

Parameters
objobj_template to check
Returns
TRUE if object is an augment
FALSE if object is not an augment
Here is the caller graph for this function:

◆ obj_is_block_user_create()

boolean obj_is_block_user_create ( const obj_template_t obj)

Check if object is marked as ncx:user-write with create access disabled.

Parameters
objobj_template to check
Returns
TRUE if object is marked to block user create access
FALSE if not

◆ obj_is_block_user_delete()

boolean obj_is_block_user_delete ( const obj_template_t obj)

Check if object is marked as ncx:user-write with delete access disabled.

Parameters
objobj_template to check
Returns
TRUE if object is marked to block user delete access
FALSE if not

◆ obj_is_block_user_update()

boolean obj_is_block_user_update ( const obj_template_t obj)

Check if object is marked as ncx:user-write with update access disabled.

Parameters
objobj_template to check
Returns
TRUE if object is marked to block user update access
FALSE if not

◆ obj_is_case()

boolean obj_is_case ( const obj_template_t obj)

Check if object is a YANG case.

Parameters
objobject to check
Returns
TRUE if a case; FALSE if not
Here is the caller graph for this function:

◆ obj_is_choice()

boolean obj_is_choice ( const obj_template_t obj)

Check if object is a YANG choice.

Parameters
objobject to check
Returns
TRUE if a choice; FALSE if not
Here is the caller graph for this function:

◆ obj_is_cli()

boolean obj_is_cli ( const obj_template_t obj)

Check if object is marked as a CLI object.

Parameters
objobj_template to check
Returns
TRUE if object is marked as ncx:cli; FALSE if not
Here is the call graph for this function:
Here is the caller graph for this function:

◆ obj_is_cli_equals_ok()

boolean obj_is_cli_equals_ok ( const obj_template_t obj)

Check if object is marked as ncx:default-parm-equals-ok.

Parameters
objobj_template to check
Returns
TRUE if object is marked as ncx:default-parm-equals-ok FALSE if not
Here is the caller graph for this function:

◆ obj_is_cli_text_block()

boolean obj_is_cli_text_block ( const obj_template_t obj)

Check if object is marked as ywx:cli-text-block.

Parameters
objobj_template to check
Returns
TRUE if object is marked as ywx:cli-text-block
FALSE if not
Here is the caller graph for this function:

◆ obj_is_cloned()

boolean obj_is_cloned ( const obj_template_t obj)

Figure out if the obj is a cloned object, inserted via uses or augment statements.

Parameters
objobj_template to check
Returns
TRUE if object is cloned; FALSE if object is not cloned
Here is the caller graph for this function:

◆ obj_is_container()

boolean obj_is_container ( const obj_template_t obj)

Check if object is a YANG container.

Parameters
objobject to check
Returns
TRUE if a container; FALSE if not
Here is the caller graph for this function:

◆ obj_is_create_np_ro()

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.

Parameters
objthe object to check
Returns
status
  • TRUE if empty read-only NP-container should be created
  • FALSE otherwise
Here is the call graph for this function:

◆ obj_is_crypt_hash()

boolean obj_is_crypt_hash ( const obj_template_t obj)

Check if the object is a leaf of type crypt-hash.

Parameters
objthe object to check
Returns
true if the type is cypt-hash; false if not
Here is the call graph for this function:
Here is the caller graph for this function:

◆ obj_is_data()

boolean obj_is_data ( const obj_template_t obj)

Check if the object is defined within data or within a notification or RPC instead.

Parameters
objobject to check
Returns
TRUE if data object (could be in a grouping or real data)
FALSE if defined within notification or RPC (or some error)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ obj_is_data_db()

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.

Parameters
objobject to check
Returns
TRUE if data object (could be in a grouping or real data)
FALSE if defined within notification or RPC (or some error)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ obj_is_data_node()

boolean obj_is_data_node ( const obj_template_t obj)

Check if the object is a real node type.

Parameters
objthe obj_template to check
Returns
TRUE if object type is a real data node FALSE if not
Here is the call graph for this function:
Here is the caller graph for this function:

◆ obj_is_datapath()

boolean obj_is_datapath ( const obj_template_t obj)

Check if object is marked as a ywx:datapath object.

Parameters
objthe obj_template to check
Returns
TRUE if object is marked as OBJ_FL_DATAPATH

◆ obj_is_deleted()

boolean obj_is_deleted ( const obj_template_t obj)

Check if object has been deleted by a deviate not-supported.

Parameters
objthe obj_template to check
Returns
TRUE if object is marked as deleted
Here is the caller graph for this function:

◆ obj_is_deleted_ex()

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.

Parameters
objthe obj_template to check
Returns
TRUE if object is marked as deleted or its parent marked as deleted
Here is the call graph for this function:
Here is the caller graph for this function:

◆ obj_is_dirty()

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.

Parameters
objthe obj_template to check
cfgidthe configuration ID for the datastore to check
Returns
TRUE if object is marked as dirty; FALSE if not

◆ obj_is_dup_local()

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.

Parameters
objobject to set
Returns
TRUE if flagged as duplicate local-name
FALSE if not flagged as duplicate local name
Here is the caller graph for this function:

◆ obj_is_empty()

boolean obj_is_empty ( const obj_template_t obj)

Check if object was entered in empty fashion:

    list foo;
    uses grpx;
Parameters
objobj_template to check
Returns
TRUE if object is empty of subclauses
FALSE if object is not empty of subclauses

◆ obj_is_enabled()

boolean obj_is_enabled ( obj_template_t obj)

Check any if-feature statement that may cause the specified object to be invisible.

Parameters
objobj_template_t to check
Returns
TRUE if object is enabled
FALSE if any if-features are present and FALSE
Here is the call graph for this function:
Here is the caller graph for this function:

◆ obj_is_exclusive_rpc()

boolean obj_is_exclusive_rpc ( const obj_template_t obj)

Check if this object has the OBJ_FL_EXCLUSIVE_WRITE bit set.

Parameters
objthe specific object to check
Returns
TRUE if exclusive-rpc set; cannot be called by multiple sessions at once

◆ obj_is_external_augment()

boolean obj_is_external_augment ( obj_template_t obj)

Check if an object is an external augment.

Parameters
objthe object to check
Returns
true if an augment to another module
Here is the call graph for this function:
Here is the caller graph for this function:

◆ obj_is_external_data_augment()

boolean obj_is_external_data_augment ( obj_template_t obj)

Check if an object is an external augment of a data node.

Parameters
objthe object to check
Returns
true if an augment to data node in another module
Here is the call graph for this function:

◆ obj_is_final()

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.

Parameters
objobject to check
Returns
TRUE if object is final; FALSE if inside grouping or an expanded uses that is still inside
Here is the call graph for this function:
Here is the caller graph for this function:

◆ obj_is_hidden()

boolean obj_is_hidden ( const obj_template_t obj)

Check if object is marked as a hidden object.

Parameters
objobj_template to check
Returns
TRUE if object is marked as ncx:hidden; FALSE if not

◆ obj_is_in_aio_get2()

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.

Parameters
objobject to check
Returns
TRUE if object is sil-aio-get2; FALSE otherwise
Here is the call graph for this function:
Here is the caller graph for this function:

◆ obj_is_key()

boolean obj_is_key ( const obj_template_t obj)

Check if object is being used as a key leaf within a list.

Parameters
objobj_template to check
Returns
TRUE if object is a key leaf; FALSE if not
Here is the caller graph for this function:

◆ obj_is_leaf()

boolean obj_is_leaf ( const obj_template_t obj)

Check if object is a proper leaf.

Parameters
objobject to check
Returns
TRUE if proper leaf; FALSE if not
Here is the caller graph for this function:

◆ obj_is_leaf_list()

boolean obj_is_leaf_list ( const obj_template_t obj)

Check if object is a proper leaf-list.

Parameters
objthe obj_template to check
Returns
TRUE if object is a leaf-list
Here is the caller graph for this function:

◆ obj_is_leafy()

boolean obj_is_leafy ( const obj_template_t obj)

Check if object is a proper leaf or leaflist.

Parameters
objobject to check
Returns
TRUE if proper leaf or leaf-list; FALSE if not
Here is the caller graph for this function:

◆ obj_is_list()

boolean obj_is_list ( const obj_template_t obj)

Check if object is a YANG list.

Parameters
objobject to check
Returns
TRUE if a list; FALSE if not

◆ obj_is_mandatory()

boolean obj_is_mandatory ( obj_template_t obj)

Figure out if the obj is YANG mandatory or not.

Parameters
objobj_template to check
Returns
TRUE if object is mandatory; FALSE if object is not mandatory
Here is the call graph for this function:
Here is the caller graph for this function:

◆ obj_is_mandatory_when()

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.

Parameters
objobj_template to check

TRUE if object is mandatory; FALSE if object is not mandatory

Here is the call graph for this function:

◆ obj_is_mandatory_when_ex()

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.

Parameters
objobj_template to check
config_onlyTRUE to check config only and ignore non-config
FALSE to check mandatory confoig or non-config
Returns
TRUE if object is mandatory; FALSE if object is not mandatory
Here is the call graph for this function:
Here is the caller graph for this function:

◆ obj_is_match()

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.

Parameters
obj1first object to match
obj2second object to match
Returns
TRUE is a match, FALSE otherwise
Here is the call graph for this function:

◆ obj_is_mounted()

boolean obj_is_mounted ( obj_template_t child)

Check if mounted object.

Check if this object is a mounted child for particular Mount Point

Parameters
childobject to check
Returns
TRUE if this object is mounted object; FALSE otherwise
Here is the call graph for this function:
Here is the caller graph for this function:

◆ obj_is_mp_key()

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.

Parameters
childobject to check
Returns
TRUE if this object is direct child of Mount Point object and this is a key leaf in that MP list
FALSE otherwise
Here is the call graph for this function:
Here is the caller graph for this function:

◆ obj_is_mp_parent()

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

Parameters
childobject to check
Returns
TRUE if this object is direct child of Mount Point object; FALSE otherwise
Here is the call graph for this function:
Here is the caller graph for this function:

◆ obj_is_mp_with_rootcb()

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

Parameters
objobject to check
Returns
TRUE if this object is a Mount Point object with rootcb; FALSE otherwise
Here is the caller graph for this function:

◆ obj_is_no_sil_delete_children_first()

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.

Parameters
objobj_template to check
Returns
TRUE if object is marked as ypx:no-sil-delete-children-first
FALSE if not
Here is the call graph for this function:
Here is the caller graph for this function:

◆ obj_is_notif()

boolean obj_is_notif ( const obj_template_t obj)

Check if the object is a notification.

Parameters
objobject to check
Returns
TRUE if notification; FALSE if not
Here is the caller graph for this function:

◆ obj_is_np_container()

boolean obj_is_np_container ( const obj_template_t obj)

Check if the object is an Non-Presence-container.

Parameters
objobj_template to check
Returns
TRUE if object is an NP-container
FALSE if object is not an NP-container
Here is the caller graph for this function:

◆ obj_is_obsolete()

boolean obj_is_obsolete ( const obj_template_t obj)

Check if the object has obsolete status.

Parameters
objobj_template to check
Returns
TRUE is object status-stmt is obsolete
Here is the call graph for this function:
Here is the caller graph for this function:

◆ obj_is_p_container()

boolean obj_is_p_container ( const obj_template_t obj)

Check if the object is an Presence-container.

Parameters
objobj_template to check
Returns
TRUE if object is an P-container
FALSE if object is not an P-container
Here is the caller graph for this function:

◆ obj_is_password()

boolean obj_is_password ( const obj_template_t obj)

Check if object is marked as a password object.

Parameters
objobj_template to check
Returns
TRUE if object is marked as ncx:password; FALSE if not
Here is the call graph for this function:
Here is the caller graph for this function:

◆ obj_is_refine()

boolean obj_is_refine ( const obj_template_t obj)

Figure out if the obj is a refinement object, within a uses-stmt.

Parameters
objobj_template to check
Returns
TRUE if object is a refinement; FALSE if object is not a refinement

◆ obj_is_root()

boolean obj_is_root ( const obj_template_t obj)

Check if object is marked as a root object.

Parameters
objobj_template to check
Returns
TRUE if object is marked as ncx:root; FALSE if not

◆ obj_is_rpc()

boolean obj_is_rpc ( const obj_template_t obj)

Check if the object is an RPC method.

Parameters
objobject to check
Returns
TRUE if RPC method; FALSE if not an RPC method
Here is the caller graph for this function:

◆ obj_is_rpc_root()

boolean obj_is_rpc_root ( const obj_template_t obj)

Check if object is marked as an RPC root object.

Parameters
objobj_template to check
Returns
TRUE if object is marked as ywx:rpc-root; FALSE if not
Here is the caller graph for this function:

◆ obj_is_rpcio()

boolean obj_is_rpcio ( const obj_template_t obj)

Check if the object is an RPC IO node.

Parameters
objthe obj_template to check
Returns
TRUE if RPC IO node
Here is the caller graph for this function:

◆ obj_is_rpcio_input()

boolean obj_is_rpcio_input ( const obj_template_t obj)

Check if the object is an RPC IO node.

Parameters
objthe obj_template to check
Returns
TRUE if RPC IO node
Here is the caller graph for this function:

◆ obj_is_schema_instance_string()

boolean obj_is_schema_instance_string ( const obj_template_t obj)

Check if object is a schema-instance string.

Parameters
objobj_template to check
Returns
TRUE if object is marked as ncx:schema-instance; FALSE if not
Here is the call graph for this function:
Here is the caller graph for this function:

◆ obj_is_secure()

boolean obj_is_secure ( const obj_template_t obj)

Check if object is tagged ncx:secure.

Parameters
objobj_template to check
Returns
TRUE if object is marked as ncx:secure; FALSE if not

◆ obj_is_short_case()

boolean obj_is_short_case ( obj_template_t obj)

Check if the object is a short case statement.

Parameters
objobject template to check
Returns
TRUE if object is a 1 object case statement
FALSE otherwise
Here is the call graph for this function:

◆ obj_is_sil_delete_children_first()

boolean obj_is_sil_delete_children_first ( const obj_template_t obj)

Check if object is marked as ncx:sil-delete-children-first.

Parameters
objobj_template to check
Returns
TRUE if object is marked as ncx:sil-delete-children-first
FALSE if not
Here is the caller graph for this function:

◆ obj_is_sil_force_replace_replay()

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.

Parameters
objthe specific object to check
Returns
TRUE if sil-force-replay set

◆ obj_is_sil_force_replay()

boolean obj_is_sil_force_replay ( const obj_template_t obj)

Check if this object has the OBJ_FL_SIL_FORCE_REPLAY bit set.

Parameters
objthe specific object to check
Returns
TRUE if sil-force-replay set

◆ obj_is_single_instance()

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.

Parameters
objobject template to check
Returns
TRUE if object is a single instance object
FALSE if multiple instances are allowed
Here is the call graph for this function:

◆ obj_is_singular()

boolean obj_is_singular ( const obj_template_t obj)

Check if the object can have only one instance or not.

Parameters
objobject to check
Returns
TRUE if object can have zero or one instance
FALSE if object can have multiple instances
Here is the call graph for this function:

◆ obj_is_sm_notif()

boolean obj_is_sm_notif ( const obj_template_t obj)

Check if the object is a schema-mounted notification.

Parameters
objobject to check
Returns
TRUE if SM notification; FALSE if not
Here is the call graph for this function:

◆ obj_is_sm_rpc()

boolean obj_is_sm_rpc ( const obj_template_t obj)

Check if the object is a schema mounted RPC method.

Parameters
objobject to check
Returns
TRUE if SM RPC method; FALSE if not
Here is the call graph for this function:

◆ obj_is_supported()

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.

Parameters
objobject to check
Returns
TRUE if supported RPC or if not an RPC object
Here is the caller graph for this function:

◆ obj_is_system_ordered()

boolean obj_is_system_ordered ( const obj_template_t obj)

Check if the object is system or user-ordered.

Parameters
objobj_template to check
Returns
TRUE if object is system ordered
FALSE if object is user-ordered
Here is the caller graph for this function:

◆ obj_is_target_template()

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)
Parameters
objobject to check
Returns
TRUE if target matches the template
Here is the call graph for this function:
Here is the caller graph for this function:

◆ obj_is_terminal()

boolean obj_is_terminal ( const obj_template_t obj)

Check if object is a proper leaf or leaflist or anyxml.

Parameters
objthe obj_template to check
Returns
TRUE if object is a leaf or leaflist or anyxml
Here is the caller graph for this function:

◆ obj_is_top()

boolean obj_is_top ( const obj_template_t obj)

Check if the object is top-level object within the YANG module that defines it.

Parameters
objobject template to check
Returns
TRUE if obj is a top-level object; FALSE otherwise
Here is the caller graph for this function:

◆ obj_is_top_aio_get2()

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

Parameters
objobject to check
Returns
TRUE if this object is top level sil-aio-get2 marked obj; FALSE otherwise
Here is the call graph for this function:
Here is the caller graph for this function:

◆ obj_is_uses()

boolean obj_is_uses ( const obj_template_t obj)

Check if object is a YANG uses-stmt.

Parameters
objobject to check
Returns
TRUE if a uses-stmt; FALSE if not
Here is the caller graph for this function:

◆ obj_is_very_secure()

boolean obj_is_very_secure ( const obj_template_t obj)

Check if object is tagged ncx:very-secure.

Parameters
objobj_template to check
Returns
TRUE if object is marked as ncx:very-secure; FALSE if not

◆ obj_is_xpath_string()

boolean obj_is_xpath_string ( const obj_template_t obj)

Check if object is an XPath string.

Parameters
objobj_template to check
Returns
TRUE if object is marked as ncx:xpath; FALSE if not
Here is the call graph for this function:
Here is the caller graph for this function:

◆ obj_is_xsdlist()

boolean obj_is_xsdlist ( const obj_template_t obj)

Check if object is marked as an XSD list.

Parameters
objobj_template to check
Returns
TRUE if object is marked as ncx:xsdlist; FALSE if not

◆ obj_key_count()

uint32 obj_key_count ( const obj_template_t obj)

Get the number of keys for this object.

Parameters
objobject to check
Returns
number of keys in the obj_key_t Q
Here is the call graph for this function:
Here is the caller graph for this function:

◆ obj_key_count_to_root()

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.

Parameters
objobject to start check from
Returns
number of keys in ancestor-or-self nodes
Here is the call graph for this function:
Here is the caller graph for this function:

◆ obj_last_child()

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 !!!!

Parameters
objobj_template_t to check
Returns
pointer to last child obj_template_t or NULL if not found
Here is the call graph for this function:

◆ obj_last_key()

obj_key_t * obj_last_key ( obj_template_t obj)

Get the last key record.

Parameters
objobject to check
Returns
pointer to first key component or NULL if not found
Here is the caller graph for this function:

◆ obj_match_child_str()

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
Parameters
objobj_template_t to check
modnamemodule name for the object (needed for augments) (may be NULL to match any 'objname' instance)
objnameobject name to find
objnamelenlength of objname string
[out]matchcountaddress of return parameter match count (may be NULL)
  • *matchcount number of parameters that matched only the first match will be returned
Returns
pointer to obj_template_t or NULL if not found
Here is the call graph for this function:
Here is the caller graph for this function:

◆ obj_match_datarule()

boolean obj_match_datarule ( obj_template_t obj,
void *  rule 
)

Check if the data-rule back-ptr applies to this node.

Parameters
objobject struct to use
rulebackptr to NACM rule
Returns
TRUE if rule matches; FALSE if not
Here is the call graph for this function:

◆ obj_maybe_target_template()

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
Parameters
objobject to check
Returns
TRUE if the target may match the template
Here is the call graph for this function:

◆ obj_new_defval_tk()

obj_defval_tk_t * obj_new_defval_tk ( void  )

Create a new object default tk record;.

Returns
malloced entry

◆ obj_new_deviate()

obj_deviate_t * obj_new_deviate ( void  )

Malloc and initialize the fields in a an object deviate statement.

Returns
pointer to the malloced and initialized struct or NULL if an error
Here is the call graph for this function:

◆ obj_new_deviation()

obj_deviation_t * obj_new_deviation ( void  )

Malloc and initialize the fields in a an object deviation statement.

Returns
pointer to the malloced and initialized struct or NULL if an error
Here is the call graph for this function:
Here is the caller graph for this function:

◆ obj_new_iffeature_ptr()

obj_iffeature_ptr_t * obj_new_iffeature_ptr ( ncx_iffeature_t iff)

Malloc and initialize a new obj_iffeature_ptr_t struct.

Parameters
iffiffeature to point at
Returns
malloced struct or NULL if memory error

◆ obj_new_key()

obj_key_t * obj_new_key ( void  )

Alloc and Init a obj_key_t struct.

Returns
pointer to malloced struct or NULL if memory error

◆ obj_new_metadata()

obj_metadata_t * obj_new_metadata ( void  )

Malloc and initialize the fields in a an obj_metadata_t.

Returns
pointer to the malloced and initialized struct or NULL if an error
Here is the call graph for this function:

◆ obj_new_rpcio()

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

Parameters
rpcobjparent OBJ_TYP_RPC template
namename string of the node (input or output)
Returns
pointer to the malloced and initialized struct or NULL if an error
Here is the call graph for this function:

◆ obj_new_template()

obj_template_t * obj_new_template ( obj_type_t  objtype)

Malloc and initialize the fields in a an object template.

Parameters
objtypethe specific object type to create
Returns
pointer to the malloced and initialized struct or NULL if an error
Here is the caller graph for this function:

◆ obj_new_unique()

obj_unique_t * obj_new_unique ( void  )

Alloc and Init a obj_unique_t struct.

Returns
pointer to malloced struct or NULL if memory error
Here is the call graph for this function:

◆ obj_new_unique_comp()

obj_unique_comp_t * obj_new_unique_comp ( void  )

Alloc and Init a obj_unique_comp_t struct.

Returns
pointer to malloced struct or NULL if memory error

◆ obj_next_child()

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 !!!!

Parameters
objobj_template_t to check
Returns
pointer to next child obj_template_t or NULL if not found
Here is the call graph for this function:
Here is the caller graph for this function:

◆ obj_next_child_augok()

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 !!!!

Parameters
objobj_template_t to check
Returns
pointer to next child obj_template_t or NULL if not found
Here is the call graph for this function:
Here is the caller graph for this function:

◆ obj_next_child_deep()

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 !!!!

Parameters
objobj_template_t to check
Returns
pointer to next child obj_template_t or NULL if not found
Here is the call graph for this function:
Here is the caller graph for this function:

◆ obj_next_child_deep_ex()

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 !!!!

Parameters
objobj_template_t to check
stopnexttrue 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
Returns
pointer to next child obj_template_t or NULL if not found
Here is the call graph for this function:
Here is the caller graph for this function:

◆ obj_next_ckey()

const obj_key_t * obj_next_ckey ( const obj_key_t objkey)

Get the next key record: Const version.

Parameters
objkeycurrent key record
Returns
pointer to next key component or NULL if not found
Here is the caller graph for this function:

◆ obj_next_defval_tk()

obj_defval_tk_t * obj_next_defval_tk ( const obj_defval_tk_t defval_tk)

Get the next defval_tk entry.

Parameters
defval_tkcurrent defval_tk entry
Returns
next entry or NULL if none

◆ obj_next_iffeature_ptr()

obj_iffeature_ptr_t * obj_next_iffeature_ptr ( obj_iffeature_ptr_t iffptr)

Get the next if-feature pointer.

Parameters
iffptrthe current iffeature ptr struct
Returns
pointer to next entry or NULL if none

◆ obj_next_inherit_when_ptr()

ncx_backptr_t * obj_next_inherit_when_ptr ( ncx_backptr_t ptr)

Get the next xpath pointer struct.

Parameters
ptrthe current xpath ptr struct
Returns
pointer to next entry or NULL if none

◆ obj_next_key()

obj_key_t * obj_next_key ( obj_key_t objkey)

Get the next key record.

Parameters
objkeycurrent key record
Returns
pointer to next key component or NULL if not found
Here is the caller graph for this function:

◆ obj_next_metadata()

obj_metadata_t * obj_next_metadata ( const obj_metadata_t meta)

Get the next object metadata definition in the object.

Parameters
metacurrent meta object template
Returns
pointer to next entry, NULL if none

◆ obj_next_terminal_child()

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 !!!!

Parameters
objobj_template_t to check
Returns
pointer to next terminal child obj_template_t or NULL if not found
Here is the call graph for this function:
Here is the caller graph for this function:

◆ obj_next_terminal_child_nokey()

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 !!!!

Parameters
objobj_template_t to check
Returns
pointer to next terminal child obj_template_t or NULL if not found
Here is the call graph for this function:

◆ obj_next_terminal_child_nokey_nochoice()

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!!!

Parameters
objobj_template_t to check
Returns
pointer to next terminal child obj_template_t or NULL if not found
Here is the call graph for this function:

◆ obj_next_unique()

obj_unique_t * obj_next_unique ( obj_unique_t un)

Get the next unique-stmt for a list.

Parameters
uncurrent unique node
Returns
pointer to found entry or NULL if not found
Here is the caller graph for this function:

◆ obj_next_unique_backptr()

obj_template_t * obj_next_unique_backptr ( obj_template_t leafobj,
obj_template_t curbackptr 
)

Get the next unique backptr for a leaf object.

Parameters
leafobjthe leaf object that will get searched
curbackptrthe lcurrent list object to get next for
Returns
pointer to the list object that is in the next backptr
  • NULL if no next backptr found or wrong node types
Here is the call graph for this function:

◆ obj_next_unique_comp()

obj_unique_comp_t * obj_next_unique_comp ( obj_unique_comp_t uncomp)

Get the next unique-stmt component for a list.

Parameters
uncompcurrent unique component node
Returns
pointer to next entry or NULL if none

◆ obj_next_xpath_backptr()

struct xpath_pcb_t_ * obj_next_xpath_backptr ( obj_template_t obj,
struct xpath_pcb_t_ *  xpath 
)

Get the next XPath backptr.

Parameters
objobject to search
xpathcurrent Xpath PCB
Returns
pointer to next entry
Here is the call graph for this function:

◆ obj_notif_enabled()

boolean obj_notif_enabled ( const obj_template_t obj)

Check if the notification object is enabled.

Parameters
objthe obj_template to check
Returns
TRUE if notification enabled

◆ obj_notif_log_drops()

boolean obj_notif_log_drops ( const obj_template_t obj)

Check if the event drops for the notification object is enabled.

Parameters
objthe obj_template to check
Returns
TRUE if log event drops for this notification enabled

◆ obj_npcon_has_defaults()

boolean obj_npcon_has_defaults ( obj_template_t obj)

Check if the specified NP container has defaults within it Must be a config object!!!

Parameters
objobject to check
Returns
TRUE if NP container and it has default leafs within it or within NP containers within this NP container
FALSE if not an NP container or no defaults within it

◆ obj_npcon_has_defaults_slow()

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!!!

Parameters
objobject to check
Returns
TRUE if NP container and it has default leafs within it or within NP containers within this NP container
FALSE if not an NP container or no defaults within it
Here is the call graph for this function:
Here is the caller graph for this function:

◆ obj_number_data_object()

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

Parameters
objobject to number
Here is the call graph for this function:
Here is the caller graph for this function:

◆ obj_ok_for_cli()

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

Parameters
objobj_template to check
Returns
TRUE if object is OK for CLI
FALSE if object is not OK for CLI
Here is the call graph for this function:
Here is the caller graph for this function:

◆ obj_ok_for_nolock()

boolean obj_ok_for_nolock ( const obj_template_t obj)

check an object OK for nolock

Parameters
objthe object to check
Returns
TRUE if OK for nolock get
Here is the call graph for this function:
Here is the caller graph for this function:

◆ obj_parent_same_module()

boolean obj_parent_same_module ( const obj_template_t obj)

Check if the object parent object is the same.

Parameters
objobj_template to check
Returns
TRUE is parent from the same module or not sure
FALSE if parent not the same module and parent is not root
Here is the call graph for this function:

◆ obj_prev_key()

obj_key_t * obj_prev_key ( obj_key_t objkey)

Get the previous key record.

Parameters
objkeycurrent key record
Returns
pointer to previous key component or NULL if not found
Here is the caller graph for this function:

◆ obj_previous_child()

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 !!!!

Parameters
objobj_template_t to check
Returns
pointer to previous child obj_template_t or NULL if not found
Here is the call graph for this function:

◆ obj_rpc_has_input()

boolean obj_rpc_has_input ( obj_template_t obj)

Check if the RPC object has any real input children.

Parameters
objobj_template to check
Returns
TRUE if there are any input children; FALSE otherwise
Here is the caller graph for this function:

◆ obj_rpc_has_output()

boolean obj_rpc_has_output ( obj_template_t obj)

Check if the RPC object has any real output children.

Parameters
objobj_template to check
Returns
TRUE if there are any output children; FALSE otherwise
Here is the caller graph for this function:

◆ obj_set_abstract()

void obj_set_abstract ( obj_template_t obj)

Set the abstract flag for the yang-data node.

Parameters
objobject to set

◆ obj_set_dup_local()

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.

Parameters
objobject to set

◆ obj_set_key_leaf()

void obj_set_key_leaf ( obj_template_t obj,
uint16  keynum 
)

Set the key data for the object.

Parameters
objobject to set; MUST be leaf
keynumkey number

◆ obj_set_mp_flags()

status_t obj_set_mp_flags ( obj_template_t obj)

set the Schema Mount flags and create a rootcb if needed

Parameters
objobject to check
Returns
status
Here is the call graph for this function:

◆ obj_set_name()

status_t obj_set_name ( obj_template_t obj,
const xmlChar *  objname 
)

Set the name field for this obj.

Parameters
objthe specific object to set or change the name
objnamenew name string to use
Returns
status
Here is the call graph for this function:
Here is the caller graph for this function:

◆ obj_set_named_type()

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.

Parameters
pcbparser control block
tkctoken chain
modmodule in progress
typnamename field from typ->name (may be NULL)
typdeftypdef in progress
parentobj_template containing this typedef
NULL if this is the top-level, use mod->typeQ
grpgrp_template containing this typedef
NULL if the typedef is not contained in a grouping
Returns
status
Here is the call graph for this function:

◆ obj_set_ncx_flags()

void obj_set_ncx_flags ( obj_template_t obj)

Check the NCX appinfo extensions and set flags as needed.

Parameters
objobj_template to check may set additional bits in the obj->flags field
Here is the call graph for this function:

◆ obj_set_notif_enabled()

void obj_set_notif_enabled ( obj_template_t obj,
boolean  enabled 
)

Set the notification object enabled flag.

Parameters
objthe obj_template to set
enabledTRUE to enable; FALSE to disable
Here is the call graph for this function:
Here is the caller graph for this function:

◆ obj_set_notif_log_drops()

void obj_set_notif_log_drops ( const obj_template_t obj,
boolean  enabled 
)

Set the event drops enabled flag for the notification object.

Parameters
objthe obj_template to set
enabled== TRUE to enable; FALSE to disable
Here is the call graph for this function:
Here is the caller graph for this function:

◆ obj_set_sil_force_replace_replay()

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.

Parameters
objthe specific object to set

◆ obj_set_sil_priority()

void obj_set_sil_priority ( obj_template_t obj,
uint8  prio 
)

Set the SIL priority field.

Parameters
objobj_template to set
prioSIL priotity value
Here is the call graph for this function:
Here is the caller graph for this function:

◆ obj_set_xpath_backptrs()

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.

Parameters
obj== object to check
Returns
status
Here is the call graph for this function:
Here is the caller graph for this function:

◆ obj_set_xpath_oper_ok()

void obj_set_xpath_oper_ok ( obj_template_t obj)

Set the object XPath oper OK flag.

Parameters
objthe obj_template to set
Here is the caller graph for this function:

◆ obj_sort_children()

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

Parameters
objobject template to reorder
Here is the call graph for this function:
Here is the caller graph for this function:

◆ obj_traverse_keys()

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

Parameters
objobject to start check from
cookie1cookie1 to pass to the callback function
cookie2cookie2 to pass to the callback function
walkerfnwalker callback function
Here is the call graph for this function:
Here is the caller graph for this function:

◆ obj_unload_active()

boolean obj_unload_active ( const obj_template_t obj)

Check if the module commit tests are disabled because a module unload is in progress.

Parameters
objthe obj_template to check
Returns
TRUE if unload is active

◆ obj_use_get_when_check()

boolean obj_use_get_when_check ( const obj_template_t obj)

check an object needs to use a when-check for GET processing

Parameters
objthe object to check
Returns
TRUE to test the when-stmts for the object; FALSE to skip
Here is the call graph for this function: