yumapro  20.10-13
YumaPro SDK
Object Access Functions
Collaboration diagram for Object Access Functions:

Functions

obj_template_t * obj_new_template (obj_type_t objtype)
 Malloc and initialize the fields in a an object template. More...
 
void obj_free_template (obj_template_t *obj)
 Scrub the memory in a obj_template_t by freeing all the sub-fields and then freeing the entire struct itself. More...
 
obj_template_t * obj_find_template (dlq_hdr_t *que, const xmlChar *modname, const xmlChar *objname)
 Find an object with the specified name. More...
 
obj_template_t * obj_find_schema_template (dlq_hdr_t *que, const xmlChar *modname, const xmlChar *objname)
 Find an object with the specified name For YANG schema-nodeid so NEVER lookdeep. More...
 
const obj_template_t * obj_find_template_con (dlq_hdr_t *que, const xmlChar *modname, const xmlChar *objname)
 Find an object with the specified name Return a const pointer; used by yangdump. More...
 
obj_template_t * obj_find_template_test (dlq_hdr_t *que, const xmlChar *modname, const xmlChar *objname)
 Find an object with the specified name Test version; do not set 'used' flag. More...
 
obj_template_t * obj_find_template_top (ncx_module_t *mod, const xmlChar *modname, const xmlChar *objname)
 Check if an obj_template_t in the mod->datadefQ or any of the include files visible to this module. More...
 
obj_template_t * obj_find_template_top_lrcheck (ncx_module_t *mod, const xmlChar *modname, const xmlChar *objname)
 Check if an obj_template_t in the mod->datadefQ or any of the include files visible to this module (LeafRef Check version) More...
 
obj_template_t * obj_find_template_top_ex (ncx_module_t *mod, const xmlChar *modname, const xmlChar *objname, ncx_name_match_t match_names, boolean alt_names, boolean dataonly, status_t *retres)
 Check if an obj_template_t in the mod->datadefQ or any of the include files visible to this module. More...
 
obj_template_t * obj_find_template_all (ncx_module_t *mod, const xmlChar *modname, const xmlChar *objname)
 Check if an obj_template_t in the mod->datadefQ or any of the include files used within the entire main module. More...
 
obj_template_t * obj_find_child (obj_template_t *obj, const xmlChar *modname, const xmlChar *objname)
 Find a child object with the specified Qname. More...
 
obj_template_t * obj_find_child_lrcheck (obj_template_t *obj, const xmlChar *modname, const xmlChar *objname)
 Find a child object with the specified Qname LeafRef Check VERSION. More...
 
obj_template_t * obj_find_child_choice_case (obj_template_t *obj, const xmlChar *modname, const xmlChar *objname)
 Find a child object with the specified Qname. More...
 
obj_template_t * obj_find_child_fast (obj_template_t *obj, xmlns_id_t nsid, const xmlChar *objname)
 Find a child object with the specified Qname. More...
 
obj_template_t * obj_find_child_ex (obj_template_t *obj, const xmlChar *modname, const xmlChar *objname, ncx_name_match_t match_names, boolean alt_names, boolean dataonly, status_t *retres)
 Find a child object with the specified Qname extended match modes. More...
 
obj_template_t * obj_find_child_str (obj_template_t *obj, const xmlChar *modname, const xmlChar *objname, uint32 objnamelen)
 Find a child object with the specified Qname. More...
 
obj_template_t * obj_match_child_str (obj_template_t *obj, const xmlChar *modname, const xmlChar *objname, uint32 objnamelen, uint32 *matchcount)
 Match a child object with the specified Qname Find first command that matches all N chars of objname. More...
 
obj_template_t * obj_first_child (obj_template_t *obj)
 Get the first child object if the specified object has any children. More...
 
obj_template_t * obj_first_terminal_child (obj_template_t *obj)
 Get the first child object if the specified object has any children; MUST BE A TERMINAL NODE!!! More...
 
obj_template_t * obj_first_terminal_child_nokey (obj_template_t *obj)
 Get the first child object if the specified object has any children; MUST BE A TERMINAL NODE!!! More...
 
obj_template_t * obj_last_child (obj_template_t *obj)
 Get the last child object if the specified object has any children. More...
 
obj_template_t * obj_next_child (obj_template_t *obj)
 Get the next child object if the specified object has any children. More...
 
obj_template_t * obj_next_terminal_child (obj_template_t *obj)
 Get the next child object if the specified object has any children; MUST BE TERMINAL NODE!! More...
 
obj_template_t * obj_next_terminal_child_nokey (obj_template_t *obj)
 Get the next child object if the specified object has any children; MUST BE TERMINAL NODE!! More...
 
obj_template_t * obj_first_child_augok (obj_template_t *obj)
 Get the first child object if the specified object has any children. More...
 
obj_template_t * obj_next_child_augok (obj_template_t *obj)
 Get the next child object if the specified object has any children; return augment, not just obj_has_name!!! More...
 
obj_template_t * obj_previous_child (obj_template_t *obj)
 Get the previous child object if the specified object has any children. More...
 
obj_template_t * obj_first_child_deep (obj_template_t *obj)
 Get the first child object if the specified object has any children. More...
 
obj_template_t * obj_next_child_deep (obj_template_t *obj)
 Get the next child object if the specified object has any children. More...
 
obj_template_t * obj_next_child_deep_ex (obj_template_t *obj, boolean stopnext)
 Get the next child object if the specified object has any children. More...
 
boolean obj_find_all_children (ncx_module_t *exprmod, obj_walker_fn_t walkerfn, void *cookie1, void *cookie2, obj_template_t *startnode, const xmlChar *modname, const xmlChar *childname, boolean configonly, boolean textmode, boolean useroot)
 Find all occurances of the specified node(s) within the children of the current node. More...
 
boolean obj_find_all_ancestors (ncx_module_t *exprmod, obj_walker_fn_t walkerfn, void *cookie1, void *cookie2, obj_template_t *startnode, const xmlChar *modname, const xmlChar *name, boolean configonly, boolean textmode, boolean useroot, boolean orself, boolean *fncalled)
 Find all occurances of the specified node(s) within the ancestors of the current node. More...
 
boolean obj_find_all_descendants (ncx_module_t *exprmod, obj_walker_fn_t walkerfn, void *cookie1, void *cookie2, obj_template_t *startnode, const xmlChar *modname, const xmlChar *name, boolean configonly, boolean textmode, boolean useroot, boolean orself, boolean *fncalled)
 Find all occurances of the specified node(s) within the descendants of the current node. More...
 
boolean obj_find_all_pfaxis (ncx_module_t *exprmod, obj_walker_fn_t walkerfn, void *cookie1, void *cookie2, obj_template_t *startnode, const xmlChar *modname, const xmlChar *name, boolean configonly, boolean dblslash, boolean textmode, boolean useroot, ncx_xpath_axis_t axis, boolean *fncalled)
 Find all occurances of the specified preceding or following node(s). More...
 
obj_case_t * obj_find_case (obj_choice_t *choic, const xmlChar *modname, const xmlChar *casname)
 Find a specified case arm by name. More...
 
obj_template_t * obj_new_rpcio (obj_template_t *rpcobj, const xmlChar *name)
 Malloc and initialize the fields in a an obj_rpcio_t. More...
 
void obj_clean_datadefQ (dlq_hdr_t *que)
 Clean and free all the obj_template_t structs in the specified Q. More...
 
typ_template_t * obj_find_type (obj_template_t *obj, const xmlChar *typname)
 Check if a typ_template_t in the obj typedefQ hierarchy. More...
 
typ_template_t * obj_first_typedef (obj_template_t *obj)
 Get the first local typedef for this object, if any. More...
 
grp_template_t * obj_find_grouping (obj_template_t *obj, const xmlChar *grpname)
 Check if a grp_template_t in the obj groupingQ hierarchy. More...
 
grp_template_t * obj_first_grouping (obj_template_t *obj)
 Get the first local grouping if any. More...
 
status_t obj_set_named_type (void *pcb, tk_chain_t *tkc, ncx_module_t *mod, const xmlChar *typname, typ_def_t *typdef, obj_template_t *parent, grp_template_t *grp)
 Resolve type test Called during phase 2 of module parsing. More...
 
obj_template_t * obj_clone_template (ncx_module_t *mod, obj_template_t *srcobj, dlq_hdr_t *mobjQ)
 Clone an obj_template_t Copy the pointers from the srcobj into the new obj. More...
 
obj_template_t * obj_clone_template_case (ncx_module_t *mod, obj_template_t *srcobj, dlq_hdr_t *mobjQ)
 Clone an obj_template_t but make sure it is wrapped in a OBJ_TYP_CASE layer. More...
 
obj_unique_t * obj_new_unique (void)
 Alloc and Init a obj_unique_t struct. More...
 
void obj_init_unique (obj_unique_t *un)
 Init a obj_unique_t struct. More...
 
void obj_free_unique (obj_unique_t *un)
 Free a obj_unique_t struct. More...
 
void obj_clean_unique (obj_unique_t *un)
 Clean a obj_unique_t struct. More...
 
obj_unique_comp_t * obj_new_unique_comp (void)
 Alloc and Init a obj_unique_comp_t struct. More...
 
void obj_free_unique_comp (obj_unique_comp_t *unc)
 Free a obj_unique_comp_t struct. More...
 
obj_unique_t * obj_find_unique (dlq_hdr_t *que, const xmlChar *xpath)
 Find a specific unique-stmt. More...
 
obj_unique_t * obj_first_unique (obj_template_t *listobj)
 Get the first unique-stmt for a list. More...
 
obj_unique_t * obj_next_unique (obj_unique_t *un)
 Get the next unique-stmt for a list. More...
 
obj_unique_comp_t * obj_first_unique_comp (obj_unique_t *un)
 Get the first identifier in a unique-stmt for a list. More...
 
obj_unique_comp_t * obj_next_unique_comp (obj_unique_comp_t *uncomp)
 Get the next unique-stmt component for a list. More...
 
obj_key_t * obj_new_key (void)
 Alloc and Init a obj_key_t struct. More...
 
void obj_free_key (obj_key_t *key)
 Free a obj_key_t struct. More...
 
obj_key_t * obj_find_key (dlq_hdr_t *que, const xmlChar *keycompname)
 Find a specific key component by key leaf identifier name. More...
 
obj_key_t * obj_find_key2 (dlq_hdr_t *que, obj_template_t *keyobj)
 Find a specific key component, check for a specific node in case deep keys are supported, and to check for duplicates. More...
 
obj_key_t * obj_first_key (obj_template_t *obj)
 Get the first key record. More...
 
obj_key_t * obj_last_key (obj_template_t *obj)
 Get the last key record. More...
 
const obj_key_t * obj_first_ckey (const obj_template_t *obj)
 Get the first key record: Const version. More...
 
obj_key_t * obj_next_key (obj_key_t *objkey)
 Get the next key record. More...
 
obj_key_t * obj_prev_key (obj_key_t *objkey)
 Get the previous key record. More...
 
const obj_key_t * obj_next_ckey (const obj_key_t *objkey)
 Get the next key record: Const version. More...
 
uint32 obj_key_count (const obj_template_t *obj)
 Get the number of keys for this object. More...
 
uint32 obj_key_count_to_root (obj_template_t *obj)
 Check ancestor-or-self nodes until root reached Find all lists; Count the number of keys. More...
 
void obj_traverse_keys (obj_template_t *obj, void *cookie1, void *cookie2, obj_walker_fn_t walkerfn)
 Traverse the list keys with a callback function. More...
 
boolean obj_any_rpcs (const dlq_hdr_t *datadefQ)
 Check if there are any RPC methods in the datadefQ. More...
 
boolean obj_any_notifs (const dlq_hdr_t *datadefQ)
 Check if there are any notifications in the datadefQ. More...
 
obj_deviate_t * obj_new_deviate (void)
 Malloc and initialize the fields in a an object deviate statement. More...
 
void obj_free_deviate (obj_deviate_t *deviate)
 Clean and free an object deviate statement. More...
 
const xmlChar * obj_get_deviate_arg (obj_deviate_arg_t devarg)
 Get the deviate-arg string from its enumeration. More...
 
obj_deviation_t * obj_new_deviation (void)
 Malloc and initialize the fields in a an object deviation statement. More...
 
void obj_free_deviation (obj_deviation_t *deviation)
 Clean and free an object deviation statement. More...
 
void obj_clean_deviationQ (dlq_hdr_t *deviationQ)
 Clean and free an Q of object deviation statements. More...
 
status_t obj_gen_object_id (const obj_template_t *obj, xmlChar **buff)
 Malloc and Generate the object ID for an object node. More...
 
status_t obj_gen_object_id_prefix (const obj_template_t *obj, xmlChar **buff)
 Malloc and Generate the object ID for an object node Use the prefix in every node. More...
 
status_t obj_gen_object_id_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 generate a unique name for C code; handles augments. 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_aughook_id (const obj_template_t *obj, xmlChar **buff)
 Malloc and Generate the augment hook element name for the specified object. More...
 
const xmlChar * obj_get_name (const obj_template_t *obj)
 Get the name field for this obj. More...
 
status_t obj_set_name (obj_template_t *obj, const xmlChar *objname)
 Set the name field for this obj. More...
 
boolean obj_has_name (const obj_template_t *obj)
 Check if the specified object type has a name. More...
 
boolean obj_has_text_content (const obj_template_t *obj)
 Check if the specified object type has a text content for XPath purposes. More...
 
ncx_status_t obj_get_status (const obj_template_t *obj)
 Get the status field for this obj. More...
 
const xmlChar * obj_get_description (const obj_template_t *obj)
 Get the description field for this obj. More...
 
const xmlChar * obj_get_alt_description (const obj_template_t *obj)
 obj_get_alt_description (DEPRECATED) More...
 
const xmlChar * obj_get_help_description (const obj_template_t *obj)
 Get the help description field for this obj Check if a 'help' appinfo node is present. More...
 
const xmlChar * obj_get_info_description (const obj_template_t *obj)
 Get the info description field for this obj Check if a 'info' appinfo node is present. More...
 
const void * obj_get_description_addr (const obj_template_t *obj)
 Get the address of the description field for this obj. More...
 
const xmlChar * obj_get_reference (const obj_template_t *obj)
 Get the reference field for this obj. More...
 
const void * obj_get_reference_addr (const obj_template_t *obj)
 Get the reference field for this obj. More...
 
boolean obj_get_config_flag (const obj_template_t *obj)
 Get the config flag for an obj_template_t Return the explicit value or the inherited value Also return if the config-stmt is really set or not. More...
 
boolean obj_get_config_flag2 (const obj_template_t *obj, boolean *setflag)
 Get the config flag for an obj_template_t Return the explicit value or the inherited value Also return if the config-stmt is really set or not. More...
 
ncx_access_t obj_get_max_access (const obj_template_t *obj)
 Get the NCX max-access enum for an obj_template_t Return the explicit value or the inherited value. More...
 
dlq_hdr_t * obj_get_appinfoQ (obj_template_t *obj)
 Get the appinfoQ for this obj. More...
 
dlq_hdr_t * obj_get_mustQ (const obj_template_t *obj)
 Get the mustQ for this obj. More...
 
dlq_hdr_t * obj_get_leafrefQ (const obj_template_t *obj)
 Get the leafrefQ for this obj. More...
 
const xmlChar * obj_get_typestr (const obj_template_t *obj)
 Get the name of the object type. More...
 
dlq_hdr_t * obj_get_datadefQ (obj_template_t *obj)
 Get the datadefQ (or caseQ) if this object has one. More...
 
const dlq_hdr_t * obj_get_cdatadefQ (const obj_template_t *obj)
 Get a const pointer to the datadefQ (or caseQ) if this object has one. More...
 
const xmlChar * obj_get_default (const obj_template_t *obj)
 Get the default value for the specified object. More...
 
const xmlChar * obj_get_first_default (const obj_template_t *obj, ncx_backptr_t **thisdef)
 Get the first default value for the specified object. More...
 
const xmlChar * obj_get_next_default (const obj_template_t *obj, ncx_backptr_t *lastdef, ncx_backptr_t **thisdef)
 Get the next default value for the specified object. More...
 
obj_template_t * obj_get_default_case (obj_template_t *obj)
 Get the default case for the specified OBJ_TYP_CHOICE object. More...
 
boolean obj_npcon_has_defaults (obj_template_t *obj)
 Check if the specified NP container has defaults within it Must be a config object!!! More...
 
boolean obj_npcon_has_defaults_slow (obj_template_t *obj)
 Check if the specified NP container has defaults within it Must be a config object!!! More...
 
uint32 obj_get_level (const obj_template_t *obj)
 Get the nest level for the specified object Top-level is '1' Does not count groupings as a level. More...
 
uint32 obj_get_real_level (const obj_template_t *obj)
 Get the nest level for the specified object Top-level is '1' Does not count groupings as a level Does not count case/choice as a level. More...
 
boolean obj_has_typedefs (const obj_template_t *obj)
 Check if the object has any nested typedefs in it. More...
 
typ_def_t * obj_get_typdef (obj_template_t *obj)
 Get the typdef for the leaf or leaf-list. More...
 
typ_def_t * obj_get_base_typdef (obj_template_t *obj)
 Get the base typdef for the leaf or leaf-list. More...
 
const typ_def_t * obj_get_ctypdef (const obj_template_t *obj)
 Get the typdef for the leaf or leaf-list : Const version. More...
 
ncx_btype_t obj_get_basetype (const obj_template_t *obj)
 Get the NCX base type enum for the object type. More...
 
const xmlChar * obj_get_mod_prefix (const obj_template_t *obj)
 Get the module prefix for this object. More...
 
const xmlChar * obj_get_mod_xmlprefix (const obj_template_t *obj)
 Get the module prefix for this object. More...
 
const xmlChar * obj_get_mod_name (const obj_template_t *obj)
 Get the module name for this object. More...
 
ncx_module_t * obj_get_mod (obj_template_t *obj)
 Get the module pointer for this object. More...
 
boolean obj_in_submodule (obj_template_t *obj)
 Check if the object is defined in a submodule. More...
 
ncx_module_t * obj_get_mod_for_dump (obj_template_t *obj)
 Get the module pointer for this object Use for sub-module !!! Used by yangdump-pro!!! More...
 
const xmlChar * obj_get_mod_version (const obj_template_t *obj)
 Get the module version for this object. More...
 
const xmlChar * obj_get_type_name (const obj_template_t *obj)
 Get the typename for an object. More...
 
xmlns_id_t obj_get_nsid (const obj_template_t *obj)
 Get the namespace ID for this object. More...
 
ncx_iqual_t obj_get_iqualval (obj_template_t *obj)
 Get the instance qualifier for this object. More...
 
ncx_iqual_t obj_get_iqualval_ex (obj_template_t *obj, boolean required)
 Get the instance qualifier for this object. More...
 
boolean obj_get_min_elements (obj_template_t *obj, uint32 *minelems)
 Get the min-elements clause for this object, if any. More...
 
boolean obj_get_max_elements (obj_template_t *obj, uint32 *maxelems)
 Get the max-elements clause for this object, if any. More...
 
const xmlChar * obj_get_units (obj_template_t *obj)
 Get the units clause for this object, if any. More...
 
obj_template_t * obj_get_parent (obj_template_t *obj)
 Get the parent of the current object. More...
 
const obj_template_t * obj_get_cparent (const obj_template_t *obj)
 Get the parent of the current object CONST POINTER VERSION. More...
 
obj_template_t * obj_get_real_parent (obj_template_t *obj)
 Get the parent of the current object; skip OBJ_TYP_CHOICE and OBJ_TYP_CASE. More...
 
const obj_template_t * obj_get_real_cparent (const obj_template_t *obj)
 Get the parent of the current object; skip OBJ_TYP_CHOICE and OBJ_TYP_CASE. More...
 
const xmlChar * obj_get_presence_string (const obj_template_t *obj)
 Get the present-stmt value, if any. More...
 
void * obj_get_presence_string_field (const obj_template_t *obj)
 Get the address ot the presence-stmt value, if any. More...
 
status_t obj_get_child_node (obj_template_t *obj, obj_template_t *chobj, const xml_node_t *curnode, boolean xmlorder, dlq_hdr_t *force_modQ, obj_template_t **rettop, obj_template_t **retobj)
 Get the correct child node for the specified parent and current XML node. More...
 
uint32 obj_get_child_count (const obj_template_t *obj)
 Get the number of child nodes the object has. More...
 
obj_template_t * obj_get_default_parm (obj_template_t *obj)
 Get the ncx:default-parm object for this object Only supported for OBJ_TYP_CONTAINER and OBJ_TYP_RPCIO (input) More...
 
boolean obj_get_config_flag_deep (const obj_template_t *obj)
 get config flag during augment expand More...
 
boolean obj_get_config_flag_check (const obj_template_t *obj, boolean *ingrp)
 get config flag during YANG module checking More...
 
uint8 obj_get_fraction_digits (const obj_template_t *obj)
 Get the fraction-digits field from the object typdef. More...
 
const ncx_iffeature_t * obj_get_first_iffeature (const obj_template_t *obj)
 Get the first if-feature clause (if any) for the specified object. More...
 
const ncx_iffeature_t * obj_get_next_iffeature (const ncx_iffeature_t *iffeature)
 Get the next if-feature clause (if any) More...
 
boolean obj_is_anyxml (const obj_template_t *obj)
 Check if object is an anyxml. More...
 
boolean obj_is_anydata (const obj_template_t *obj)
 Check if object is an anydata. More...
 
boolean obj_is_any (const obj_template_t *obj)
 Get the config flag for the top-level object Check the specified object all the way to root. More...
 
boolean obj_is_leaf (const obj_template_t *obj)
 Check if object is a proper leaf. More...
 
boolean obj_is_leaf_list (const obj_template_t *obj)
 Check if object is a proper leaf-list. More...
 
boolean obj_is_list (const obj_template_t *obj)
 Check if object is a YANG list. More...
 
boolean obj_in_list (const obj_template_t *obj)
 Check if object is nested within a list. More...
 
boolean obj_is_container (const obj_template_t *obj)
 Check if object is a YANG container. More...
 
boolean obj_is_choice (const obj_template_t *obj)
 Check if object is a YANG choice. More...
 
boolean obj_is_case (const obj_template_t *obj)
 Check if object is a YANG case. More...
 
boolean obj_is_uses (const obj_template_t *obj)
 Check if object is a YANG uses-stmt. More...
 
boolean obj_is_leafy (const obj_template_t *obj)
 Check if object is a proper leaf or leaflist. More...
 
boolean obj_is_terminal (const obj_template_t *obj)
 Check if object is a proper leaf or leaflist or anyxml. More...
 
boolean obj_is_mandatory (obj_template_t *obj)
 Figure out if the obj is YANG mandatory or not. More...
 
boolean obj_is_mandatory_when_ex (obj_template_t *obj, boolean config_only)
 Figure out if the obj is YANG mandatory or not Check the when-stmts, not just mandatory-stmt. More...
 
boolean obj_is_mandatory_when (obj_template_t *obj)
 Figure out if the obj is YANG mandatory or not Check the when-stmts, not just mandatory-stmt. More...
 
boolean obj_is_cloned (const obj_template_t *obj)
 Figure out if the obj is a cloned object, inserted via uses or augment statements. More...
 
boolean obj_is_augclone (const obj_template_t *obj)
 Figure out if the obj is a cloned object, inserted via an augment statement. More...
 
boolean obj_is_augment (const obj_template_t *obj)
 Check if the obj is an augment statement. More...
 
boolean obj_in_augment (const obj_template_t *obj)
 Check if object is an augment or inside an augment CHECK ENTIRE TREE UP TO ROOT. More...
 
boolean obj_is_refine (const obj_template_t *obj)
 Figure out if the obj is a refinement object, within a uses-stmt. More...
 
boolean obj_is_data (const obj_template_t *obj)
 Check if the object is defined within data or within a notification or RPC instead. More...
 
boolean obj_is_data_db (const obj_template_t *obj)
 Check if the object is some sort of data Constrained to only check the config DB objects, not any notification or RPC objects. More...
 
boolean obj_is_data_node (const obj_template_t *obj)
 Check if the object is a real node type. More...
 
boolean obj_in_rpc (const obj_template_t *obj)
 Check if the object is in an rpc/input section. More...
 
boolean obj_in_rpc_reply (const obj_template_t *obj)
 Check if the object is in an rpc-reply/output section. More...
 
boolean obj_in_notif (const obj_template_t *obj)
 Check if the object is in a notification. More...
 
boolean obj_is_rpc (const obj_template_t *obj)
 Check if the object is an RPC method. More...
 
boolean obj_is_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_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_is_datapath (const obj_template_t *obj)
 Check if object is marked as a ywx:datapath object. More...
 
boolean obj_ok_for_cli (obj_template_t *obj)
 Figure out if the obj is OK for current CLI implementation. More...
 
boolean obj_has_children (obj_template_t *obj)
 Check if there are any accessible nodes within the object. More...
 
boolean obj_has_ro_children (obj_template_t *obj)
 Check if there are any accessible read-only child nodes within the object. More...
 
boolean obj_has_ro_descendants (obj_template_t *obj)
 Check if there are any accessible read-only descendant nodes within the object. More...
 
boolean obj_has_rw_children (obj_template_t *obj)
 Check if there are any accessible read-write child nodes within the object. More...
 
boolean obj_has_rw_children_ex (obj_template_t *obj, boolean term_only)
 Check if there are any accessible read-write child nodes within the object. More...
 
boolean obj_rpc_has_input (obj_template_t *obj)
 Check if the RPC object has any real input children. More...
 
boolean obj_rpc_has_output (obj_template_t *obj)
 Check if the RPC object has any real output children. More...
 
boolean obj_has_when_stmts (obj_template_t *obj)
 Check if any when-stmts apply to this object Does not check if they are true, just any when-stmts present. More...
 
obj_metadata_t * obj_new_metadata (void)
 Malloc and initialize the fields in a an obj_metadata_t. More...
 
void obj_free_metadata (obj_metadata_t *meta)
 Scrub the memory in a obj_metadata_t by freeing all the sub-fields and then freeing the entire struct itself. More...
 
status_t obj_add_metadata (obj_metadata_t *meta, obj_template_t *obj)
 Add the filled out object metadata definition to the object. More...
 
obj_metadata_t * obj_find_metadata (const obj_template_t *obj, const xmlChar *name)
 Find the object metadata definition in the object. More...
 
obj_metadata_t * obj_first_metadata (const obj_template_t *obj)
 Get the first object metadata definition in the object. More...
 
obj_metadata_t * obj_next_metadata (const obj_metadata_t *meta)
 Get the next object metadata definition in the object. More...
 
void obj_sort_children (obj_template_t *obj)
 Check all the child nodes of the specified object and rearrange them into alphabetical order, based on the element local-name. More...
 
void obj_set_ncx_flags (obj_template_t *obj)
 Check the NCX appinfo extensions and set flags as needed. More...
 
uint32 obj_enabled_child_count (obj_template_t *obj)
 Get the count of the number of enabled child nodes for the object template. More...
 
void obj_dump_child_list (log_debug_t lvl, dlq_hdr_t *datadefQ, uint32 startindent, uint32 indent)
 Dump the object names in a datadefQ – just child level uses log_write_level() for writing ... More...
 
const xmlChar * obj_get_keystr (obj_template_t *obj)
 Get the key string for this list object. More...
 
void obj_delete_obsolete (dlq_hdr_t *objQ)
 Delete any obsolete child nodes within the specified object subtree. More...
 
const xmlChar * obj_get_altname (const obj_template_t *obj)
 Get the alt-name for this object, if any. More...
 
obj_template_t * obj_get_leafref_targobj (obj_template_t *obj)
 Get the target object for a leafref leaf or leaf-list. More...
 
obj_template_t * obj_get_augment_targobj (obj_template_t *obj)
 Get the target object for an augments object. More...
 
const xmlChar * obj_get_augment_target (obj_template_t *obj)
 Get the target path string for an augments object. More...
 
boolean obj_is_external_augment (obj_template_t *obj)
 Check if an object is an external augment. More...
 
boolean obj_is_external_data_augment (obj_template_t *obj)
 Check if an object is an external augment of a data node. More...
 
boolean obj_is_cli_equals_ok (const obj_template_t *obj)
 Check if object is marked as ncx:default-parm-equals-ok. More...
 
boolean obj_is_cli_text_block (const obj_template_t *obj)
 Check if object is marked as ywx:cli-text-block. More...
 
boolean obj_is_sil_delete_children_first (const obj_template_t *obj)
 Check if object is marked as ncx:sil-delete-children-first. More...
 
boolean obj_is_no_sil_delete_children_first (const obj_template_t *obj)
 Check if object is marked as ypx:no-sil-delete-children-first OR AN ANCESTOR IS MARKED. More...
 
void obj_add_child (obj_template_t *child, obj_template_t *parent)
 Add a child object to the specified complex node. More...
 
boolean obj_is_block_user_create (const obj_template_t *obj)
 Check if object is marked as ncx:user-write with create access disabled. More...
 
boolean obj_is_block_user_update (const obj_template_t *obj)
 Check if object is marked as ncx:user-write with update access disabled. More...
 
boolean obj_is_block_user_delete (const obj_template_t *obj)
 Check if object is marked as ncx:user-write with delete access disabled. More...
 
obj_iffeature_ptr_t * obj_new_iffeature_ptr (ncx_iffeature_t *iff)
 Malloc and initialize a new obj_iffeature_ptr_t struct. More...
 
void obj_free_iffeature_ptr (obj_iffeature_ptr_t *iffptr)
 Free an obj_iffeature_ptr_t struct. More...
 
obj_iffeature_ptr_t * obj_first_iffeature_ptr (obj_template_t *obj)
 Get first if-feature pointer. More...
 
obj_iffeature_ptr_t * obj_next_iffeature_ptr (obj_iffeature_ptr_t *iffptr)
 Get the next if-feature pointer. More...
 
ncx_backptr_t * obj_first_inherit_when_ptr (obj_template_t *obj)
 Get first xpath pointer struct. More...
 
ncx_backptr_t * obj_next_inherit_when_ptr (ncx_backptr_t *ptr)
 Get the next xpath pointer struct. More...
 
boolean obj_find_xpath_backptr (obj_template_t *obj, struct xpath_pcb_t_ *xpath)
 Find an xpath-expr backptr. More...
 
struct xpath_pcb_t_obj_next_xpath_backptr (obj_template_t *obj, struct xpath_pcb_t_ *xpath)
 Get the next XPath backptr. More...
 
struct xpath_pcb_t_obj_first_xpath_backptr (obj_template_t *obj)
 Get the first xpath backptr. More...
 
status_t obj_assign_xpath_backptr (obj_template_t *obj, struct xpath_pcb_t_ *xpath)
 Set an xpath-expr backptr. More...
 
void obj_clear_xpath_backptr (obj_template_t *obj, struct xpath_pcb_t_ *xpath)
 Clear an xpath-expr backptr. More...
 
status_t obj_set_xpath_backptrs (obj_template_t *obj)
 Check a top-level data node and all its descendants to see if they have any XPath expressions that need backptrs added. More...
 
void obj_flag_xpath_backptrs_dirty (obj_template_t *obj, ncx_cfg_t cfg_id, boolean flag)
 Check all the xpath backptr records for this object and set them to dirty or clean, based on input. More...
 
boolean obj_is_target_template (obj_template_t *obj)
 Check a data node and its descendants match the template for NETCONF configuration sources. More...
 
boolean obj_maybe_target_template (obj_template_t *obj)
 Check a data node and its descendants match the template for NETCONF configuration sources Allow extra leafs <url> or anyxml <config> to be skipped. More...
 
boolean obj_is_supported (obj_template_t *obj)
 Check an RPC node to check if it is supported or not It could be disabled at run-time without removing it. More...
 
void obj_delete_mod_children (obj_template_t *obj, ncx_module_t *mod)
 Check the childQ for the specified object and remove all the objects from the specified module. More...
 
void obj_set_dup_local (obj_template_t *obj)
 Flag the object as one that has a duplicate sibling with the same local-name and different module namespace. More...
 
boolean obj_is_dup_local (obj_template_t *obj)
 Check if this object is one that has a duplicate sibling with the same local-name and different module namespace. More...
 
void obj_set_key_leaf (obj_template_t *obj, uint16 keynum)
 Set the key data for the object. More...
 
uint16 obj_get_key_num (obj_template_t *obj)
 Get the key number for the object. More...
 
boolean obj_is_exclusive_rpc (const obj_template_t *obj)
 Check if this object has the OBJ_FL_EXCLUSIVE_WRITE bit set. More...
 
boolean obj_is_sil_force_replay (const obj_template_t *obj)
 Check if this object has the OBJ_FL_SIL_FORCE_REPLAY bit set. More...
 
boolean obj_is_sil_force_replace_replay (const obj_template_t *obj)
 Check if this object has the OBJ_FL_SIL_FORCE_REPLACE_REPLAY bit set. More...
 
void obj_set_sil_force_replace_replay (obj_template_t *obj)
 Set the object OBJ_FL_SIL_FORCE_REPLAY bit Set the object OBJ_FL_SIL_FORCE_REPLACE_REPLAY bit. More...
 
boolean obj_notif_enabled (const obj_template_t *obj)
 Check if the notification object is enabled. More...
 
boolean obj_notif_log_drops (const obj_template_t *obj)
 Check if the event drops for the notification object is enabled. More...
 
void obj_set_notif_enabled (obj_template_t *obj, boolean enabled)
 Set the notification object enabled flag. More...
 
void obj_set_notif_log_drops (const obj_template_t *obj, boolean enabled)
 Set the event drops enabled flag for the notification object. More...
 
boolean obj_unload_active (const obj_template_t *obj)
 Check if the module commit tests are disabled because a module unload is in progress. More...
 
boolean obj_is_obsolete (const obj_template_t *obj)
 Check if the object has obsolete status. More...
 
boolean obj_parent_same_module (const obj_template_t *obj)
 Check if the object parent object is the same. More...
 
void obj_set_sil_priority (obj_template_t *obj, uint8 prio)
 Set the SIL priority field. More...
 
uint8 obj_get_sil_priority (obj_template_t *obj)
 Get the SIL priority field. More...
 
boolean obj_in_edit2_mode (obj_template_t *obj)
 Check if the object is an edit2 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_t * obj_new_defval_tk (void)
 Create a new object default tk record;. More...
 
void obj_free_defval_tk (obj_defval_tk_t *def)
 Delete an object default tk record;. More...
 
dlq_hdr_t * obj_get_defvalQ (obj_template_t *obj)
 Get the leaf-list default Q. More...
 
obj_defval_tk_t * obj_first_defval_tk (const obj_refine_t *ref)
 Get the first defval_tk entry. More...
 
obj_defval_tk_t * obj_next_defval_tk (const obj_defval_tk_t *defval_tk)
 Get the next defval_tk entry. More...
 
obj_defval_tk_t * obj_first_dev_defval_tk (const obj_deviate_t *dev)
 Get the first defval_tk entry. More...
 
boolean obj_get_leaf_list_defset (const obj_template_t *obj)
 Get the defset flag for a leaf-list. More...
 
void obj_find_delete_defval (obj_template_t *obj, const xmlChar *defval)
 Find and delete a leaf-list default for deviate delete default foo. More...
 
boolean obj_find_defval (obj_template_t *obj, const xmlChar *find_defval)
 Find a default. More...
 
void obj_delete_all_defvals (obj_template_t *obj)
 Delete all the original defaults for a leaf-list default for deviate replace default foo. More...
 
void obj_enter_xpath_mode (void)
 Enter xpath mode and start ignoring obj_is_enabled. More...
 
void obj_exit_xpath_mode (void)
 Exit xpath mode and stop ignoring obj_is_enabled. More...
 
obj_key_t * obj_get_key_by_name (obj_template_t *obj, const xmlChar *keyname)
 Check the specified list to see if the string is a list key. More...
 
ncx_yang_version_t obj_get_langver (obj_template_t *obj)
 Get the YANG version for this object. More...
 
boolean obj_is_abstract_ex (const obj_template_t *obj)
 DUPLICATE FUNCTION OF obj_in_abstract() More...
 
void obj_set_abstract (obj_template_t *obj)
 Set the abstract flag for the yang-data node. More...
 
boolean obj_is_final (obj_template_t *obj)
 Check if the object template represents a fully expanded template or if it is inside a grouping. More...
 
void obj_force_disabled (obj_template_t *obj)
 Force an object to be disabled. More...
 
const xmlChar * obj_get_oid_string (obj_template_t *obj)
 Get object OID sting value. More...
 
obj_oid_t * obj_get_oid_struct (obj_template_t *obj, boolean *malloced)
 Get malloced object OID structure that contains OID string and OID count. More...
 
status_t obj_fill_keystackQ (obj_template_t *obj, dlq_hdr_t *keystackQ)
 Fill a keystackQ with backptrs to obj_template_t for key leafs. More...
 
void obj_dump_keystackQ (dlq_hdr_t *keystackQ)
 Dump a keystackQ with backptrs to obj_template_t for key leafs. More...
 
void obj_clr_enable_chk (obj_template_t *obj)
 Force an object to re-evaluate the enable check Will call for all children. More...
 
status_t obj_cache_datarule (obj_template_t *obj, void *rule)
 Set the data-rule back-ptr for this node. More...
 
void obj_clear_datarule (obj_template_t *obj, const void *rule)
 Clear the datarule back-ptr for this node. More...
 
boolean obj_match_datarule (obj_template_t *obj, void *rule)
 Check if the data-rule back-ptr applies to this node. More...
 
status_t obj_add_errmsg (obj_template_t *obj, const xmlChar *basestr, obj_errmsg_t **ret_errmsg)
 Create a new obj_errmsg struct for the object. More...
 
status_t obj_add_errmsg_parm (obj_errmsg_t *errmsg, const xmlChar *parmstr)
 Add an errmsg parameter for the object. More...
 
status_t obj_add_errmsg_filter (obj_errmsg_t *errmsg, const xmlChar *parmstr, boolean is_errortag)
 Add an errmsg filter for the object. More...
 
boolean obj_has_get2cb (obj_template_t *obj)
 Check if current object has GET2 callback registered. More...
 
boolean obj_is_singular (const obj_template_t *obj)
 Check if the object can have only one instance or not. More...
 
boolean obj_get_top_config_flag (const obj_template_t *obj)
 Get the config flag for the top-level object. More...
 
boolean obj_ok_for_nolock (const obj_template_t *obj)
 check an object OK for nolock More...
 
boolean obj_use_get_when_check (const obj_template_t *obj)
 check an object needs to use a when-check for GET processing More...
 
boolean obj_has_mandatory_children (obj_template_t *obj)
 Check if there are any mandatory children. More...
 
boolean obj_get_xpath_oper_ok (const obj_template_t *obj)
 Get the object XPath oper OK flag. More...
 
void obj_set_xpath_oper_ok (obj_template_t *obj)
 Set the object XPath oper OK flag. More...
 
boolean obj_is_in_aio_get2 (obj_template_t *obj)
 Check if this object is a child of a node with sil-aio-get2 extension setup or if this object itself holds this extension. More...
 
boolean obj_is_top_aio_get2 (obj_template_t *obj)
 Check if this object is a really top level holder of extension sil-aio-get2. More...
 
obj_template_t * obj_get_top_aio_get2 (obj_template_t *child)
 Find the top AIO object. More...
 
boolean obj_has_aio_list (obj_template_t *obj)
 Check is AIO object is a list or if its parent is a list object. More...
 
ncx_module_t * obj_get_real_mod (obj_template_t *obj)
 Get the module struct for the submodule or main module with this object. More...
 
obj_template_t * obj_get_real_parent_aug (obj_template_t *obj)
 Get the parent of the current object; skip OBJ_TYP_AUGMENT and return the actual parent. More...
 
boolean obj_is_ancestor (const obj_template_t *ancestor, const obj_template_t *obj)
 Check if an object is the ancestor of another. More...
 
void obj_ban_nolock_get (obj_template_t *obj)
 Ban nolock-get for the object. More...
 

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

◆ 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
ret_errmsgaddress of return error message
Return values
*ret_errmsgset 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_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

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

◆ 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

◆ 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

◆ 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

◆ 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 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
buffbuffer to use
bufflensize of buff
reallenaddress of return length of actual identifier (may be NULL)
Return values
bufffilled in with the object ID
*reallenlength 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
buffbuffer to use
bufflensize of buff
reallenaddress of return length of actual identifier (may be NULL)
Return values
bufffilled in with the object ID
*reallenlength 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

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

◆ 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

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

◆ 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
fncalledaddress of return function called flag
Return values
*fncalledset 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
fncalledaddress of return function called flag
Return values
*fncalledset 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
fncalledaddress of return function called flag
Return values
*fncalledset 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_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 caller 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

◆ 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
retresaddress of return status
Return values
*retresset to return status
Returns
pointer to struct if present, NULL otherwise
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 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

◆ 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

◆ 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

◆ 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

◆ 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

◆ 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
retresaddress of return status
Return values
*retresset 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

◆ 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

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

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

◆ 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

◆ 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_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 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
buffpointer to address of buffer to use
Return values
*buffmalloced 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
buffpointer to address of buffer to use
Return values
*buffmalloced 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
buffpointer to address of buffer to use
Return values
*buffmalloced buffer with the instance ID
Returns
status

◆ 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
buffthe pointer to address of buffer to use
Return values
*buffis malloced and filled in
Returns
status
Here is the call 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
buffthe pointer to address of buffer to use
Return values
*buffmalloced 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
buffthe pointer to address of buffer to use
Return values
*buffmalloced and filled in
Returns
status
Here is the caller graph for this function:

◆ 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
buffthe pointer to address of buffer to use
Return values
*buffis 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
buffthe pointer to address of buffer to use
Return values
*buffis 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_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

◆ 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 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)
rettopaddress of return topchild object
retobjaddress of return object to use
Return values
*rettopset to top-level found object if return OK and currently within a choice
*retobjset 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
setflagaddress of return config-stmt set flag
Return values
*setflagTRUE 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
ingrpaddress if in grouping flag
Return values
*ingrpTRUE 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

◆ 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 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:

◆ 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
thisdefaddress of return address string
Return values
*thisdefhandle 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

◆ 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

◆ 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_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
maxelemsaddress of return max-elements value
Return values
*maxelemsmax-elements value if it is set for this object
Returns
TRUE if max-elements is set, FALSE if not or N/A

◆ 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
minelemsaddress of return min-elements value
Return values
*minelemsmin-elements value if it is set for this object
Returns
TRUE if min-elements is set, FALSE if not or N/A

◆ 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

◆ 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
thisdefaddress of return default
Return values
*thisdefrecord 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
mallocedreturn malloced flag
Return values
*mallocedis 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_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

◆ 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:

◆ 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:

◆ 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_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:

◆ 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

◆ 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:

◆ 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:

◆ 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:

◆ 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:

◆ 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:

◆ 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_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 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

◆ 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

◆ 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_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:

◆ 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 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
Here is the caller graph for this function:

◆ 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 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_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

◆ 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

◆ 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_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

◆ 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

◆ 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

◆ 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

◆ 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_temp