yumapro  23.10T-6
YumaPro SDK
Loading...
Searching...
No Matches
obj.h File Reference

Data Object Support. More...

#include <xmlstring.h>
#include <xmlregexp.h>
#include "log.h"
#include "grp.h"
#include "ncxconst.h"
#include "ncxtypes.h"
#include "status.h"
#include "tk.h"
#include "rpc.h"
#include "typ.h"
#include "xmlns.h"
#include "xml_util.h"
Include dependency graph for obj.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  obj_key_t
 One YANG list key component. More...
 
struct  obj_defval_tk_t
 One YANG 1.1 default stored in a Q for refine and deviate. More...
 
struct  obj_unique_comp_t
 One component in a YANG list unique target. More...
 
struct  obj_unique_t
 One component in a YANG list unique target. More...
 
struct  obj_container_t
 One YANG 'container' definition. More...
 
struct  obj_leaf_t
 One YANG 'leaf' or 'anyxml' or 'anydata' definition. More...
 
struct  obj_leaflist_t
 One YANG 'leaf-list' definition. More...
 
struct  obj_list_t
 One YANG 'list' definition. More...
 
struct  obj_choice_t
 One YANG 'choice' definition. More...
 
struct  obj_case_t
 One YANG 'case' definition. More...
 
struct  obj_uses_t
 One YANG uses statement struct. More...
 
struct  obj_refine_t
 One YANG refine statement struct. More...
 
struct  obj_rpcio_t
 One YANG input-stmt or output-stmt struct. More...
 
struct  obj_rpc_t
 One YANG rpc-stmt struct. More...
 
struct  obj_augment_t
 One YANG augment statement struct (top-level or in case-stmt. More...
 
struct  obj_notif_t
 One YANG 'notification' clause definition. More...
 
struct  obj_iffeature_ptr_t
 back-pointer to inherited if-feature statements More...
 
struct  obj_errmsg_filter_t
 custom error message filter control block More...
 
struct  obj_errmsg_parm_t
 custom error message parameter control block More...
 
struct  obj_errmsg_t
 custom error message control block More...
 
struct  obj_oid_t
 defines the snmp oid value, stored as an array of integers for easier comparision when performing AVL tree operations. More...
 
struct  obj_template_t
 One YANG data-def-stmt. More...
 
union  obj_template_t::def_
 object specific variants More...
 
struct  obj_metadata_t
 One YANG metadata (XML attribute) node. More...
 
struct  obj_deviate_t
 YANG deviate statement struct. More...
 
struct  obj_deviation_t
 YANG deviation statement struct. More...
 

Macros

#define OBJ_BOOL_EVAL_CB(OBJ)   (OBJ)->bool_eval_cb
 XPath Boolean Eval Callback Function.
 

Typedefs

typedef uint16 obj_index_t
 object index only applies to child nodes; this is assigned at runtime and any augments loaded at run-time are added at the end; used to sort val->v.complexQ faster by comparing a uint16 instead of a string
 
typedef unsigned long oid_t
 data type used in SNMP
 
typedef uint8 obj_testflags_t
 object test flags
 
typedef boolean(* obj_walker_fn_t) (obj_template_t *obj, void *cookie1, void *cookie2, boolean nonconfig_warn)
 child or descendant node search walker function More...
 

Enumerations

enum  obj_type_t {
  OBJ_TYP_NONE ,
  OBJ_TYP_ANYXML ,
  OBJ_TYP_CONTAINER ,
  OBJ_TYP_LEAF ,
  OBJ_TYP_LEAF_LIST ,
  OBJ_TYP_LIST ,
  OBJ_TYP_CHOICE ,
  OBJ_TYP_CASE ,
  OBJ_TYP_USES ,
  OBJ_TYP_REFINE ,
  OBJ_TYP_AUGMENT ,
  OBJ_TYP_RPC ,
  OBJ_TYP_RPCIO ,
  OBJ_TYP_NOTIF ,
  OBJ_TYP_ANYDATA ,
  OBJ_TYP_ACTION
}
 enumeration for different YANG data def statement types the enum order is significant!!! do not change!!! More...
 
enum  obj_augtype_t {
  OBJ_AUGTYP_NONE ,
  OBJ_AUGTYP_RPCIN ,
  OBJ_AUGTYP_RPCOUT ,
  OBJ_AUGTYP_CASE ,
  OBJ_AUGTYP_DATA
}
 enumeration for different YANG augment statement types More...
 
enum  obj_deviate_arg_t {
  OBJ_DARG_NONE ,
  OBJ_DARG_ADD ,
  OBJ_DARG_DELETE ,
  OBJ_DARG_REPLACE ,
  OBJ_DARG_NOT_SUPPORTED
}
 type of deviation for each deviate entry More...
 

Functions

obj_template_tobj_new_template (obj_type_t objtype)
 Malloc and initialize the fields in a an object template. More...
 
void obj_free_template (obj_template_t *obj)
 Scrub the memory in a obj_template_t by freeing all the sub-fields and then freeing the entire struct itself. More...
 
obj_template_tobj_find_template (dlq_hdr_t *que, const xmlChar *modname, const xmlChar *objname)
 Find an object with the specified name. More...
 
obj_template_tobj_find_schema_template (dlq_hdr_t *que, const xmlChar *modname, const xmlChar *objname)
 Find an object with the specified name For YANG schema-nodeid so NEVER lookdeep. More...
 
const obj_template_tobj_find_template_con (dlq_hdr_t *que, const xmlChar *modname, const xmlChar *objname)
 Find an object with the specified name Return a const pointer; used by yangdump. More...
 
obj_template_tobj_find_template_test (dlq_hdr_t *que, const xmlChar *modname, const xmlChar *objname)
 Find an object with the specified name Test version; do not set 'used' flag. More...
 
obj_template_tobj_find_template_top (ncx_module_t *mod, const xmlChar *modname, const xmlChar *objname)
 Check if an obj_template_t in the mod->datadefQ or any of the include files visible to this module. More...
 
obj_template_tobj_find_template_top_lrcheck (ncx_module_t *mod, const xmlChar *modname, const xmlChar *objname)
 Check if an obj_template_t in the mod->datadefQ or any of the include files visible to this module (LeafRef Check version) More...
 
obj_template_tobj_find_template_top_ex (ncx_module_t *mod, const xmlChar *modname, const xmlChar *objname, ncx_name_match_t match_names, boolean alt_names, boolean dataonly, status_t *retres)
 Check if an obj_template_t in the mod->datadefQ or any of the include files visible to this module. More...
 
obj_template_tobj_find_template_all (ncx_module_t *mod, const xmlChar *modname, const xmlChar *objname)
 Check if an obj_template_t in the mod->datadefQ or any of the include files used within the entire main module. More...
 
obj_template_tobj_find_child (obj_template_t *obj, const xmlChar *modname, const xmlChar *objname)
 Find a child object with the specified Qname. More...
 
obj_template_tobj_find_child_lrcheck (obj_template_t *obj, const xmlChar *modname, const xmlChar *objname)
 Find a child object with the specified Qname LeafRef Check VERSION. More...
 
obj_template_tobj_find_child_choice_case (obj_template_t *obj, const xmlChar *modname, const xmlChar *objname)
 Find a child object with the specified Qname. More...
 
obj_template_tobj_find_child_fast (obj_template_t *obj, xmlns_id_t nsid, const xmlChar *objname)
 Find a child object with the specified Qname. More...
 
obj_template_tobj_find_child_ex (obj_template_t *obj, const xmlChar *modname, const xmlChar *objname, ncx_name_match_t match_names, boolean alt_names, boolean dataonly, status_t *retres)
 Find a child object with the specified Qname extended match modes. More...
 
obj_template_tobj_find_child_str (obj_template_t *obj, const xmlChar *modname, const xmlChar *objname, uint32 objnamelen)
 Find a child object with the specified Qname. More...
 
obj_template_tobj_match_child_str (obj_template_t *obj, const xmlChar *modname, const xmlChar *objname, uint32 objnamelen, uint32 *matchcount)
 Match a child object with the specified Qname Find first command that matches all N chars of objname. More...
 
obj_template_tobj_first_child (obj_template_t *obj)
 Get the first child object if the specified object has any children. More...
 
obj_template_tobj_first_terminal_child (obj_template_t *obj)
 Get the first child object if the specified object has any children; MUST BE A TERMINAL NODE!!! More...
 
obj_template_tobj_first_terminal_child_nokey (obj_template_t *obj)
 Get the first child object if the specified object has any children; MUST BE A TERMINAL NODE!!! More...
 
obj_template_tobj_first_terminal_child_nokey_nochoice (obj_template_t *obj)
 Get the first child object if the specified object has any children. More...
 
obj_template_tobj_last_child (obj_template_t *obj)
 Get the last child object if the specified object has any children. More...
 
obj_template_tobj_next_child (obj_template_t *obj)
 Get the next child object if the specified object has any children. More...
 
obj_template_tobj_next_terminal_child (obj_template_t *obj)
 Get the next child object if the specified object has any children; MUST BE TERMINAL NODE!! More...
 
obj_template_tobj_next_terminal_child_nokey (obj_template_t *obj)
 Get the next child object if the specified object has any children; MUST BE TERMINAL NODE!! More...
 
obj_template_tobj_next_terminal_child_nokey_nochoice (obj_template_t *obj)
 Get the next child object if the specified object has any children. More...
 
obj_template_tobj_first_child_augok (obj_template_t *obj)
 Get the first child object if the specified object has any children. More...
 
obj_template_tobj_next_child_augok (obj_template_t *obj)
 Get the next child object if the specified object has any children; return augment, not just obj_has_name!!! More...
 
obj_template_tobj_previous_child (obj_template_t *obj)
 Get the previous child object if the specified object has any children. More...
 
obj_template_tobj_first_child_deep (obj_template_t *obj)
 Get the first child object if the specified object has any children. More...
 
obj_template_tobj_next_child_deep (obj_template_t *obj)
 Get the next child object if the specified object has any children. More...
 
obj_template_tobj_next_child_deep_ex (obj_template_t *obj, boolean stopnext)
 Get the next child object if the specified object has any children. More...
 
boolean obj_find_all_children (ncx_module_t *exprmod, obj_walker_fn_t walkerfn, void *cookie1, void *cookie2, obj_template_t *startnode, const xmlChar *modname, const xmlChar *childname, boolean configonly, boolean textmode, boolean useroot)
 Find all occurances of the specified node(s) within the children of the current node. More...
 
boolean obj_find_all_ancestors (ncx_module_t *exprmod, obj_walker_fn_t walkerfn, void *cookie1, void *cookie2, obj_template_t *startnode, const xmlChar *modname, const xmlChar *name, boolean configonly, boolean textmode, boolean useroot, boolean orself, boolean *fncalled)
 Find all occurances of the specified node(s) within the ancestors of the current node. More...
 
boolean obj_find_all_descendants (ncx_module_t *exprmod, obj_walker_fn_t walkerfn, void *cookie1, void *cookie2, obj_template_t *startnode, const xmlChar *modname, const xmlChar *name, boolean configonly, boolean textmode, boolean useroot, boolean orself, boolean *fncalled)
 Find all occurances of the specified node(s) within the descendants of the current node. More...
 
boolean obj_find_all_pfaxis (ncx_module_t *exprmod, obj_walker_fn_t walkerfn, void *cookie1, void *cookie2, obj_template_t *startnode, const xmlChar *modname, const xmlChar *name, boolean configonly, boolean dblslash, boolean textmode, boolean useroot, ncx_xpath_axis_t axis, boolean *fncalled)
 Find all occurances of the specified preceding or following node(s). More...
 
obj_case_tobj_find_case (obj_choice_t *choic, const xmlChar *modname, const xmlChar *casname)
 Find a specified case arm by name. More...
 
obj_template_tobj_new_rpcio (obj_template_t *rpcobj, const xmlChar *name)
 Malloc and initialize the fields in a an obj_rpcio_t. More...
 
void obj_clean_datadefQ (dlq_hdr_t *que)
 Clean and free all the obj_template_t structs in the specified Q. More...
 
typ_template_tobj_find_type (obj_template_t *obj, const xmlChar *typname)
 Check if a typ_template_t in the obj typedefQ hierarchy. More...
 
typ_template_tobj_first_typedef (obj_template_t *obj)
 Get the first local typedef for this object, if any. More...
 
grp_template_tobj_find_grouping (obj_template_t *obj, const xmlChar *grpname)
 Check if a grp_template_t in the obj groupingQ hierarchy. More...
 
grp_template_tobj_first_grouping (obj_template_t *obj)
 Get the first local grouping if any. More...
 
status_t obj_set_named_type (void *pcb, tk_chain_t *tkc, ncx_module_t *mod, const xmlChar *typname, typ_def_t *typdef, obj_template_t *parent, grp_template_t *grp)
 Resolve type test Called during phase 2 of module parsing. More...
 
obj_template_tobj_clone_template (ncx_module_t *mod, obj_template_t *srcobj, dlq_hdr_t *mobjQ)
 Clone an obj_template_t Copy the pointers from the srcobj into the new obj. More...
 
obj_template_tobj_clone_template_sm (ncx_module_t *mod, obj_template_t *srcobj, dlq_hdr_t *mobjQ, boolean sm_clone)
 Clone an obj_template_t Copy the pointers from the srcobj into the new obj. More...
 
obj_template_tobj_clone_template_case (ncx_module_t *mod, obj_template_t *srcobj, dlq_hdr_t *mobjQ)
 Clone an obj_template_t but make sure it is wrapped in a OBJ_TYP_CASE layer. More...
 
obj_unique_tobj_new_unique (void)
 Alloc and Init a obj_unique_t struct. More...
 
void obj_init_unique (obj_unique_t *un)
 Init a obj_unique_t struct. More...
 
void obj_free_unique (obj_unique_t *un)
 Free a obj_unique_t struct. More...
 
void obj_clean_unique (obj_unique_t *un)
 Clean a obj_unique_t struct. More...
 
obj_unique_comp_tobj_new_unique_comp (void)
 Alloc and Init a obj_unique_comp_t struct. More...
 
void obj_free_unique_comp (obj_unique_comp_t *unc)
 Free a obj_unique_comp_t struct. More...
 
obj_unique_tobj_find_unique (dlq_hdr_t *que, const xmlChar *xpath)
 Find a specific unique-stmt. More...
 
obj_unique_tobj_first_unique (obj_template_t *listobj)
 Get the first unique-stmt for a list. More...
 
obj_unique_tobj_next_unique (obj_unique_t *un)
 Get the next unique-stmt for a list. More...
 
obj_unique_comp_tobj_first_unique_comp (obj_unique_t *un)
 Get the first identifier in a unique-stmt for a list. More...
 
obj_unique_comp_tobj_next_unique_comp (obj_unique_comp_t *uncomp)
 Get the next unique-stmt component for a list. More...
 
obj_key_tobj_new_key (void)
 Alloc and Init a obj_key_t struct. More...
 
void obj_free_key (obj_key_t *key)
 Free a obj_key_t struct. More...
 
obj_key_tobj_find_key (dlq_hdr_t *que, const xmlChar *keycompname)
 Find a specific key component by key leaf identifier name. More...
 
obj_key_tobj_find_key2 (dlq_hdr_t *que, obj_template_t *keyobj)
 Find a specific key component, check for a specific node in case deep keys are supported, and to check for duplicates. More...
 
obj_key_tobj_first_key (obj_template_t *obj)
 Get the first key record. More...
 
obj_key_tobj_last_key (obj_template_t *obj)
 Get the last key record. More...
 
const obj_key_tobj_first_ckey (const obj_template_t *obj)
 Get the first key record: Const version. More...
 
obj_key_tobj_next_key (obj_key_t *objkey)
 Get the next key record. More...
 
obj_key_tobj_prev_key (obj_key_t *objkey)
 Get the previous key record. More...
 
const obj_key_tobj_next_ckey (const obj_key_t *objkey)
 Get the next key record: Const version. More...
 
uint32 obj_key_count (const obj_template_t *obj)
 Get the number of keys for this object. More...
 
uint32 obj_key_count_to_root (obj_template_t *obj)
 Check ancestor-or-self nodes until root reached Find all lists; Count the number of keys. More...
 
void obj_traverse_keys (obj_template_t *obj, void *cookie1, void *cookie2, obj_walker_fn_t walkerfn)
 Traverse the list keys with a callback function. More...
 
boolean obj_any_rpcs (const dlq_hdr_t *datadefQ)
 Check if there are any RPC methods in the datadefQ. More...
 
boolean obj_any_notifs (const dlq_hdr_t *datadefQ)
 Check if there are any notifications in the datadefQ. More...
 
obj_deviate_tobj_new_deviate (void)
 Malloc and initialize the fields in a an object deviate statement. More...
 
void obj_free_deviate (obj_deviate_t *deviate)
 Clean and free an object deviate statement. More...
 
const xmlChar * obj_get_deviate_arg (obj_deviate_arg_t devarg)
 Get the deviate-arg string from its enumeration. More...
 
obj_deviation_tobj_new_deviation (void)
 Malloc and initialize the fields in a an object deviation statement. More...
 
void obj_free_deviation (obj_deviation_t *deviation)
 Clean and free an object deviation statement. More...
 
void obj_clean_deviationQ (dlq_hdr_t *deviationQ)
 Clean and free an Q of object deviation statements. More...
 
status_t obj_gen_object_id (const obj_template_t *obj, xmlChar **buff)
 Malloc and Generate the object ID for an object node. More...
 
status_t obj_gen_object_id_prefix (const obj_template_t *obj, xmlChar **buff)
 Malloc and Generate the object ID for an object node Use the prefix in every node. More...
 
status_t obj_gen_object_id_datapath (const obj_template_t *obj, xmlChar **buff)
 Malloc and Generate the object ID for an object node Use the prefix in every node. More...
 
status_t obj_gen_object_id_oid (ncx_module_t *mod, const obj_template_t *obj, xmlChar **buff)
 Malloc and Generate the object ID for an object node Used for canonical ID string comparison to generate OID number. More...
 
status_t obj_gen_object_id_xpath (const obj_template_t *obj, xmlChar **buff)
 Malloc and Generate the object ID for an object node. More...
 
status_t obj_gen_object_id_error (const obj_template_t *obj, xmlChar **buff)
 Malloc and Generate the object ID for an object node for errors. More...
 
status_t obj_gen_object_id_unique (const obj_template_t *obj, const obj_template_t *stopobj, xmlChar **buff)
 Malloc and Generate the object ID for a unique-stmt test. More...
 
status_t obj_gen_object_id_code (ncx_module_t *mod, const obj_template_t *obj, xmlChar **buff)
 Malloc and Generate the object ID for an object node for C code usage. More...
 
status_t obj_copy_object_id (const obj_template_t *obj, xmlChar *buff, uint32 bufflen, uint32 *reallen)
 Generate the object ID for an object node and copy to the buffer copy an object ID to a buffer. More...
 
status_t obj_copy_object_id_mod (const obj_template_t *obj, xmlChar *buff, uint32 bufflen, uint32 *reallen)
 Generate the object ID for an object node and copy to the buffer copy an object ID to a buffer; Use modname in object identifier. More...
 
status_t obj_gen_object_id_sid (const obj_template_t *obj, xmlChar **buff)
 Malloc and Generate the object ID for an object node for SID path usage. More...
 
status_t obj_gen_aughook_id (const obj_template_t *obj, xmlChar **buff)
 Malloc and Generate the augment hook element name for the specified object. More...
 
const xmlChar * obj_get_name (const obj_template_t *obj)
 Get the name field for this obj. More...
 
status_t obj_set_name (obj_template_t *obj, const xmlChar *objname)
 Set the name field for this obj. More...
 
boolean obj_has_name (const obj_template_t *obj)
 Check if the specified object type has a name. More...
 
boolean obj_has_text_content (const obj_template_t *obj)
 Check if the specified object type has a text content for XPath purposes. More...
 
ncx_status_t obj_get_status (const obj_template_t *obj)
 Get the status field for this obj. More...
 
const xmlChar * obj_get_description (const obj_template_t *obj)
 Get the description field for this obj. More...
 
const xmlChar * obj_get_alt_description (const obj_template_t *obj)
 obj_get_alt_description (DEPRECATED) More...
 
const xmlChar * obj_get_help_description (const obj_template_t *obj)
 Get the help description field for this obj Check if a 'help' appinfo node is present. More...
 
const xmlChar * obj_get_info_description (const obj_template_t *obj)
 Get the info description field for this obj Check if a 'info' appinfo node is present. More...
 
const void * obj_get_description_addr (const obj_template_t *obj)
 Get the address of the description field for this obj. More...
 
const xmlChar * obj_get_reference (const obj_template_t *obj)
 Get the reference field for this obj. More...
 
const void * obj_get_reference_addr (const obj_template_t *obj)
 Get the reference field for this obj. More...
 
boolean obj_get_config_flag (const obj_template_t *obj)
 Get the config flag for an obj_template_t Return the explicit value or the inherited value Also return if the config-stmt is really set or not. More...
 
boolean obj_get_config_flag2 (const obj_template_t *obj, boolean *setflag)
 Get the config flag for an obj_template_t Return the explicit value or the inherited value Also return if the config-stmt is really set or not. More...
 
ncx_access_t obj_get_max_access (const obj_template_t *obj)
 Get the NCX max-access enum for an obj_template_t Return the explicit value or the inherited value. More...
 
dlq_hdr_t * obj_get_appinfoQ (obj_template_t *obj)
 Get the appinfoQ for this obj. More...
 
dlq_hdr_t * obj_get_mustQ (const obj_template_t *obj)
 Get the mustQ for this obj. More...
 
dlq_hdr_t * obj_get_leafrefQ (const obj_template_t *obj)
 Get the leafrefQ for this obj. More...
 
const xmlChar * obj_get_typestr (const obj_template_t *obj)
 Get the name of the object type. More...
 
dlq_hdr_t * obj_get_datadefQ (obj_template_t *obj)
 Get the datadefQ (or caseQ) if this object has one. More...
 
const dlq_hdr_t * obj_get_cdatadefQ (const obj_template_t *obj)
 Get a const pointer to the datadefQ (or caseQ) if this object has one. More...
 
const xmlChar * obj_get_default (const obj_template_t *obj)
 Get the default value for the specified object. More...
 
const xmlChar * obj_get_first_default (const obj_template_t *obj, ncx_backptr_t **thisdef)
 Get the first default value for the specified object. More...
 
const xmlChar * obj_get_next_default (const obj_template_t *obj, ncx_backptr_t *lastdef, ncx_backptr_t **thisdef)
 Get the next default value for the specified object. More...
 
obj_template_tobj_get_default_case (obj_template_t *obj)
 Get the default case for the specified OBJ_TYP_CHOICE object. More...
 
boolean obj_npcon_has_defaults (obj_template_t *obj)
 Check if the specified NP container has defaults within it Must be a config object!!! More...
 
boolean obj_npcon_has_defaults_slow (obj_template_t *obj)
 Check if the specified NP container has defaults within it Must be a config object!!! More...
 
uint32 obj_get_level (const obj_template_t *obj)
 Get the nest level for the specified object Top-level is '1' Does not count groupings as a level. More...
 
uint32 obj_get_level_mp (const obj_template_t *obj)
 Get the nest level for the specified object Top-level is '1' Does not count groupings as a level. More...
 
uint32 obj_get_real_level (const obj_template_t *obj)
 Get the nest level for the specified object Top-level is '1' Does not count groupings as a level Does not count case/choice as a level. More...
 
boolean obj_has_typedefs (const obj_template_t *obj)
 Check if the object has any nested typedefs in it. More...
 
typ_def_tobj_get_typdef (obj_template_t *obj)
 Get the typdef for the leaf or leaf-list. More...
 
typ_def_tobj_get_base_typdef (obj_template_t *obj)
 Get the base typdef for the leaf or leaf-list. More...
 
const typ_def_tobj_get_ctypdef (const obj_template_t *obj)
 Get the typdef for the leaf or leaf-list : Const version. More...
 
ncx_btype_t obj_get_basetype (const obj_template_t *obj)
 Get the NCX base type enum for the object type. More...
 
const xmlChar * obj_get_mod_prefix (const obj_template_t *obj)
 Get the module prefix for this object. More...
 
const xmlChar * obj_get_mod_xmlprefix (const obj_template_t *obj)
 Get the module prefix for this object. More...
 
const xmlChar * obj_get_mod_name (const obj_template_t *obj)
 Get the module name for this object. More...
 
ncx_module_tobj_get_mod (obj_template_t *obj)
 Get the module pointer for this object. More...
 
boolean obj_in_submodule (obj_template_t *obj)
 Check if the object is defined in a submodule. More...
 
ncx_module_tobj_get_mod_for_dump (obj_template_t *obj)
 Get the module pointer for this object Use for sub-module !!! Used by yangdump-pro!!! More...
 
const xmlChar * obj_get_mod_version (const obj_template_t *obj)
 Get the module version for this object. More...
 
const xmlChar * obj_get_type_name (const obj_template_t *obj)
 Get the typename for an object. More...
 
xmlns_id_t obj_get_nsid (const obj_template_t *obj)
 Get the namespace ID for this object. More...
 
ncx_sid_t obj_get_yang_sid (const obj_template_t *obj)
 Get the YANG SID for this object. More...
 
uint32 obj_get_yang_sid_tree (const obj_template_t *obj)
 Get the YANG SID Tree ID for this object. More...
 
ncx_iqual_t obj_get_iqualval (obj_template_t *obj)
 Get the instance qualifier for this object. More...
 
ncx_iqual_t obj_get_iqualval_ex (obj_template_t *obj, boolean required)
 Get the instance qualifier for this object. More...
 
boolean obj_get_min_elements (obj_template_t *obj, uint32 *minelems)
 Get the min-elements clause for this object, if any. More...
 
boolean obj_get_max_elements (obj_template_t *obj, uint32 *maxelems)
 Get the max-elements clause for this object, if any. More...
 
const xmlChar * obj_get_units (obj_template_t *obj)
 Get the units clause for this object, if any. More...
 
obj_template_tobj_get_parent (obj_template_t *obj)
 Get the parent of the current object. More...
 
const obj_template_tobj_get_cparent (const obj_template_t *obj)
 Get the parent of the current object CONST POINTER VERSION. More...
 
obj_template_tobj_get_real_parent (obj_template_t *obj)
 Get the parent of the current object; skip OBJ_TYP_CHOICE and OBJ_TYP_CASE. More...
 
const obj_template_tobj_get_real_cparent (const obj_template_t *obj)
 Get the parent of the current object; skip OBJ_TYP_CHOICE and OBJ_TYP_CASE. More...
 
const xmlChar * obj_get_presence_string (const obj_template_t *obj)
 Get the present-stmt value, if any. More...
 
void * obj_get_presence_string_field (const obj_template_t *obj)
 Get the address ot the presence-stmt value, if any. More...
 
status_t obj_get_child_node (obj_template_t *obj, obj_template_t *chobj, const xml_node_t *curnode, boolean xmlorder, dlq_hdr_t *force_modQ, obj_template_t **rettop, obj_template_t **retobj)
 Get the correct child node for the specified parent and current XML node. More...
 
uint32 obj_get_child_count (const obj_template_t *obj)
 Get the number of child nodes the object has. More...
 
obj_template_tobj_get_default_parm (obj_template_t *obj)
 Get the ncx:default-parm object for this object Only supported for OBJ_TYP_CONTAINER and OBJ_TYP_RPCIO (input) More...
 
boolean obj_get_config_flag_deep (const obj_template_t *obj)
 get config flag during augment expand More...
 
boolean obj_get_config_flag_check (const obj_template_t *obj, boolean *ingrp)
 get config flag during YANG module checking More...
 
uint8 obj_get_fraction_digits (const obj_template_t *obj)
 Get the fraction-digits field from the object typdef. More...
 
const ncx_iffeature_tobj_get_first_iffeature (const obj_template_t *obj)
 Get the first if-feature clause (if any) for the specified object. More...
 
const ncx_iffeature_tobj_get_next_iffeature (const ncx_iffeature_t *iffeature)
 Get the next if-feature clause (if any) More...
 
boolean obj_is_anyxml (const obj_template_t *obj)
 Check if object is an anyxml. More...
 
boolean obj_is_anydata (const obj_template_t *obj)
 Check if object is an anydata. More...
 
boolean obj_is_any (const obj_template_t *obj)
 Get the config flag for the top-level object Check the specified object all the way to root. More...
 
boolean obj_is_leaf (const obj_template_t *obj)
 Check if object is a proper leaf. More...
 
boolean obj_is_leaf_list (const obj_template_t *obj)
 Check if object is a proper leaf-list. More...
 
boolean obj_is_list (const obj_template_t *obj)
 Check if object is a YANG list. More...
 
boolean obj_in_list (const obj_template_t *obj)
 Check if object is nested within a list. More...
 
boolean obj_is_container (const obj_template_t *obj)
 Check if object is a YANG container. More...
 
boolean obj_is_choice (const obj_template_t *obj)
 Check if object is a YANG choice. More...
 
boolean obj_is_case (const obj_template_t *obj)
 Check if object is a YANG case. More...
 
boolean obj_is_uses (const obj_template_t *obj)
 Check if object is a YANG uses-stmt. More...
 
boolean obj_is_leafy (const obj_template_t *obj)
 Check if object is a proper leaf or leaflist. More...
 
boolean obj_is_terminal (const obj_template_t *obj)
 Check if object is a proper leaf or leaflist or anyxml. More...
 
boolean obj_is_mandatory (obj_template_t *obj)
 Figure out if the obj is YANG mandatory or not. More...
 
boolean obj_is_mandatory_when_ex (obj_template_t *obj, boolean config_only)
 Figure out if the obj is YANG mandatory or not Check the when-stmts, not just mandatory-stmt. More...
 
boolean obj_is_mandatory_when (obj_template_t *obj)
 Figure out if the obj is YANG mandatory or not Check the when-stmts, not just mandatory-stmt. More...
 
boolean obj_is_cloned (const obj_template_t *obj)
 Figure out if the obj is a cloned object, inserted via uses or augment statements. More...
 
boolean obj_is_augclone (const obj_template_t *obj)
 Figure out if the obj is a cloned object, inserted via an augment statement. More...
 
boolean obj_is_augment (const obj_template_t *obj)
 Check if the obj is an augment statement. More...
 
boolean obj_in_augment (const obj_template_t *obj)
 Check if object is an augment or inside an augment CHECK ENTIRE TREE UP TO ROOT. More...
 
boolean obj_is_refine (const obj_template_t *obj)
 Figure out if the obj is a refinement object, within a uses-stmt. More...
 
boolean obj_is_data (const obj_template_t *obj)
 Check if the object is defined within data or within a notification or RPC instead. More...
 
boolean obj_is_data_db (const obj_template_t *obj)
 Check if the object is some sort of data Constrained to only check the config DB objects, not any notification or RPC objects. More...
 
boolean obj_is_data_node (const obj_template_t *obj)
 Check if the object is a real node type. More...
 
boolean obj_in_rpc (const obj_template_t *obj)
 Check if the object is in an rpc/input section. More...
 
boolean obj_in_rpc_reply (const obj_template_t *obj)
 Check if the object is in an rpc-reply/output section. More...
 
boolean obj_in_notif (const obj_template_t *obj)
 Check if the object is in a notification. More...
 
boolean obj_is_rpc (const obj_template_t *obj)
 Check if the object is an RPC method. More...
 
boolean obj_is_sm_rpc (const obj_template_t *obj)
 Check if the object is a schema mounted RPC method. More...
 
boolean obj_is_rpcio (const obj_template_t *obj)
 Check if the object is an RPC IO node. More...
 
boolean obj_is_rpcio_input (const obj_template_t *obj)
 Check if the object is an RPC IO node. More...
 
boolean obj_is_action (const obj_template_t *obj)
 Check if the object is a YANG 1.1 action. More...
 
boolean obj_in_action (const obj_template_t *obj)
 Check if the object is within or is an action method. More...
 
boolean obj_is_notif (const obj_template_t *obj)
 Check if the object is a notification. More...
 
boolean obj_is_sm_notif (const obj_template_t *obj)
 Check if the object is a schema-mounted notification. More...
 
boolean obj_is_empty (const obj_template_t *obj)
 Check if object was entered in empty fashion: More...
 
boolean obj_is_match (const obj_template_t *obj1, const obj_template_t *obj2)
 Check if one object is a match in identity with another one. More...
 
boolean obj_is_hidden (const obj_template_t *obj)
 Check if object is marked as a hidden object. More...
 
boolean obj_is_root (const obj_template_t *obj)
 Check if object is marked as a root object. More...
 
void obj_force_root (obj_template_t *obj)
 Set the object as an anydata type of root. More...
 
boolean obj_is_rpc_root (const obj_template_t *obj)
 Check if object is marked as an RPC root object. More...
 
boolean obj_is_password (const obj_template_t *obj)
 Check if object is marked as a password object. More...
 
boolean obj_is_xsdlist (const obj_template_t *obj)
 Check if object is marked as an XSD list. More...
 
boolean obj_is_cli (const obj_template_t *obj)
 Check if object is marked as a CLI object. More...
 
boolean obj_is_dirty (const obj_template_t *obj, ncx_cfg_t cfgid)
 Check if object is marked as dirty (edited) for datastore validation purposes. More...
 
boolean obj_is_key (const obj_template_t *obj)
 Check if object is being used as a key leaf within a list. More...
 
boolean obj_is_abstract (const obj_template_t *obj)
 Check if object is being used as an object identifier or error-info. More...
 
boolean obj_in_abstract (const obj_template_t *obj)
 Check if object is being used as an object identifier or error-info CHECK ENTIRE TREE UP TO ROOT. More...
 
boolean obj_is_deleted (const obj_template_t *obj)
 Check if object has been deleted by a deviate not-supported. More...
 
boolean obj_is_deleted_ex (const obj_template_t *obj)
 Check if object has been deleted by a deviate not-supported Or if its parent was deleted by deviation. More...
 
boolean obj_is_xpath_string (const obj_template_t *obj)
 Check if object is an XPath string. More...
 
boolean obj_is_schema_instance_string (const obj_template_t *obj)
 Check if object is a schema-instance string. More...
 
boolean obj_is_secure (const obj_template_t *obj)
 Check if object is tagged ncx:secure. More...
 
boolean obj_is_very_secure (const obj_template_t *obj)
 Check if object is tagged ncx:very-secure. More...
 
boolean obj_is_system_ordered (const obj_template_t *obj)
 Check if the object is system or user-ordered. More...
 
boolean obj_is_np_container (const obj_template_t *obj)
 Check if the object is an Non-Presence-container. More...
 
boolean obj_is_p_container (const obj_template_t *obj)
 Check if the object is an Presence-container. More...
 
boolean obj_is_enabled (obj_template_t *obj)
 Check any if-feature statement that may cause the specified object to be invisible. More...
 
boolean obj_has_iffeature (obj_template_t *obj)
 Check any if-feature statements exist for the specified object. More...
 
boolean obj_is_single_instance (obj_template_t *obj)
 Check if the object is a single instance of if it allows multiple instances; check all of the ancestors if needed. More...
 
boolean obj_is_short_case (obj_template_t *obj)
 Check if the object is a short case statement. More...
 
boolean obj_is_top (const obj_template_t *obj)
 Check if the object is top-level object within the YANG module that defines it. More...
 
boolean obj_in_top_choice (const obj_template_t *obj)
 Check if the object is in top-level choice the YANG module that defines it. More...
 
boolean obj_is_datapath (const obj_template_t *obj)
 Check if object is marked as a ywx:datapath object. More...
 
boolean obj_ok_for_cli (obj_template_t *obj)
 Figure out if the obj is OK for current CLI implementation. More...
 
boolean obj_has_children (obj_template_t *obj)
 Check if there are any accessible nodes within the object. More...
 
boolean obj_has_ro_children (obj_template_t *obj)
 Check if there are any accessible read-only child nodes within the object. More...
 
boolean obj_has_ro_descendants (obj_template_t *obj)
 Check if there are any accessible read-only descendant nodes within the object. More...
 
boolean obj_has_rw_children (obj_template_t *obj)
 Check if there are any accessible read-write child nodes within the object. More...
 
boolean obj_has_rw_children_ex (obj_template_t *obj, boolean term_only)
 Check if there are any accessible read-write child nodes within the object. More...
 
boolean obj_rpc_has_input (obj_template_t *obj)
 Check if the RPC object has any real input children. More...
 
boolean obj_rpc_has_output (obj_template_t *obj)
 Check if the RPC object has any real output children. More...
 
boolean obj_has_when_stmts (obj_template_t *obj)
 Check if any when-stmts apply to this object Does not check if they are true, just any when-stmts present. More...
 
obj_metadata_tobj_new_metadata (void)
 Malloc and initialize the fields in a an obj_metadata_t. More...
 
void obj_free_metadata (obj_metadata_t *meta)
 Scrub the memory in a obj_metadata_t by freeing all the sub-fields and then freeing the entire struct itself. More...
 
status_t obj_add_metadata (obj_metadata_t *meta, obj_template_t *obj)
 Add the filled out object metadata definition to the object. More...
 
obj_metadata_tobj_find_metadata (const obj_template_t *obj, const xmlChar *name)
 Find the object metadata definition in the object. More...
 
obj_metadata_tobj_first_metadata (const obj_template_t *obj)
 Get the first object metadata definition in the object. More...
 
obj_metadata_tobj_next_metadata (const obj_metadata_t *meta)
 Get the next object metadata definition in the object. More...
 
void obj_sort_children (obj_template_t *obj)
 Check all the child nodes of the specified object and rearrange them into alphabetical order, based on the element local-name. More...
 
void obj_set_ncx_flags (obj_template_t *obj)
 Check the NCX appinfo extensions and set flags as needed. More...
 
uint32 obj_enabled_child_count (obj_template_t *obj)
 Get the count of the number of enabled child nodes for the object template. More...
 
void obj_dump_child_list (log_debug_t lvl, dlq_hdr_t *datadefQ, uint32 startindent, uint32 indent)
 Dump the object names in a datadefQ – just child level uses log_write_level() for writing ... More...
 
const xmlChar * obj_get_keystr (obj_template_t *obj)
 Get the key string for this list object. More...
 
void obj_delete_obsolete (dlq_hdr_t *objQ)
 Delete any obsolete child nodes within the specified object subtree. More...
 
const xmlChar * obj_get_altname (const obj_template_t *obj)
 Get the alt-name for this object, if any. More...
 
obj_template_tobj_get_leafref_targobj (obj_template_t *obj)
 Get the target object for a leafref leaf or leaf-list. More...
 
obj_template_tobj_get_augment_targobj (obj_template_t *obj)
 Get the target object for an augments object. More...
 
const xmlChar * obj_get_augment_target (obj_template_t *obj)
 Get the target path string for an augments object. More...
 
boolean obj_is_external_augment (obj_template_t *obj)
 Check if an object is an external augment. More...
 
boolean obj_is_external_data_augment (obj_template_t *obj)
 Check if an object is an external augment of a data node. More...
 
boolean obj_is_cli_equals_ok (const obj_template_t *obj)
 Check if object is marked as ncx:default-parm-equals-ok. More...
 
boolean obj_is_cli_text_block (const obj_template_t *obj)
 Check if object is marked as ywx:cli-text-block. More...
 
boolean obj_is_sil_delete_children_first (const obj_template_t *obj)
 Check if object is marked as ncx:sil-delete-children-first. More...
 
boolean obj_is_no_sil_delete_children_first (const obj_template_t *obj)
 Check if object is marked as ypx:no-sil-delete-children-first OR AN ANCESTOR IS MARKED. More...
 
void obj_add_child (obj_template_t *child, obj_template_t *parent)
 Add a child object to the specified complex node. More...
 
boolean obj_is_block_user_create (const obj_template_t *obj)
 Check if object is marked as ncx:user-write with create access disabled. More...
 
boolean obj_is_block_user_update (const obj_template_t *obj)
 Check if object is marked as ncx:user-write with update access disabled. More...
 
boolean obj_is_block_user_delete (const obj_template_t *obj)
 Check if object is marked as ncx:user-write with delete access disabled. More...
 
obj_iffeature_ptr_tobj_new_iffeature_ptr (ncx_iffeature_t *iff)
 Malloc and initialize a new obj_iffeature_ptr_t struct. More...
 
void obj_free_iffeature_ptr (obj_iffeature_ptr_t *iffptr)
 Free an obj_iffeature_ptr_t struct. More...
 
obj_iffeature_ptr_tobj_first_iffeature_ptr (obj_template_t *obj)
 Get first if-feature pointer. More...
 
obj_iffeature_ptr_tobj_next_iffeature_ptr (obj_iffeature_ptr_t *iffptr)
 Get the next if-feature pointer. More...
 
ncx_backptr_tobj_first_inherit_when_ptr (obj_template_t *obj)
 Get first xpath pointer struct. More...
 
ncx_backptr_tobj_next_inherit_when_ptr (ncx_backptr_t *ptr)
 Get the next xpath pointer struct. More...
 
boolean obj_find_xpath_backptr (obj_template_t *obj, struct xpath_pcb_t_ *xpath)
 Find an xpath-expr backptr. More...
 
struct xpath_pcb_t_ * obj_next_xpath_backptr (obj_template_t *obj, struct xpath_pcb_t_ *xpath)
 Get the next XPath backptr. More...
 
struct xpath_pcb_t_ * obj_first_xpath_backptr (obj_template_t *obj)
 Get the first xpath backptr. More...
 
status_t obj_assign_xpath_backptr (obj_template_t *obj, struct xpath_pcb_t_ *xpath)
 Set an xpath-expr backptr. More...
 
void obj_clear_xpath_backptr (obj_template_t *obj, struct xpath_pcb_t_ *xpath)
 Clear an xpath-expr backptr. More...
 
status_t obj_set_xpath_backptrs (obj_template_t *obj)
 Check a top-level data node and all its descendants to see if they have any XPath expressions that need backptrs added. More...
 
void obj_flag_xpath_backptrs_dirty (obj_template_t *obj, ncx_cfg_t cfg_id, boolean flag)
 Check all the xpath backptr records for this object and set them to dirty or clean, based on input. More...
 
boolean obj_is_target_template (obj_template_t *obj)
 Check a data node and its descendants match the template for NETCONF configuration sources. More...
 
boolean obj_maybe_target_template (obj_template_t *obj)
 Check a data node and its descendants match the template for NETCONF configuration sources Allow extra leafs <url> or anyxml <config> to be skipped. More...
 
boolean obj_is_supported (obj_template_t *obj)
 Check an RPC node to check if it is supported or not It could be disabled at run-time without removing it. More...
 
void obj_delete_mod_children (obj_template_t *obj, ncx_module_t *mod)
 Check the childQ for the specified object and remove all the objects from the specified module. More...
 
void obj_set_dup_local (obj_template_t *obj)
 Flag the object as one that has a duplicate sibling with the same local-name and different module namespace. More...
 
boolean obj_is_dup_local (obj_template_t *obj)
 Check if this object is one that has a duplicate sibling with the same local-name and different module namespace. More...
 
void obj_set_key_leaf (obj_template_t *obj, uint16 keynum)
 Set the key data for the object. More...
 
uint16 obj_get_key_num (obj_template_t *obj)
 Get the key number for the object. More...
 
boolean obj_is_exclusive_rpc (const obj_template_t *obj)
 Check if this object has the OBJ_FL_EXCLUSIVE_WRITE bit set. More...
 
boolean obj_is_sil_force_replay (const obj_template_t *obj)
 Check if this object has the OBJ_FL_SIL_FORCE_REPLAY bit set. More...
 
boolean obj_is_sil_force_replace_replay (const obj_template_t *obj)
 Check if this object has the OBJ_FL_SIL_FORCE_REPLACE_REPLAY bit set. More...
 
void obj_set_sil_force_replace_replay (obj_template_t *obj)
 Set the object OBJ_FL_SIL_FORCE_REPLAY bit Set the object OBJ_FL_SIL_FORCE_REPLACE_REPLAY bit. More...
 
boolean obj_notif_enabled (const obj_template_t *obj)
 Check if the notification object is enabled. More...
 
boolean obj_notif_log_drops (const obj_template_t *obj)
 Check if the event drops for the notification object is enabled. More...
 
void obj_set_notif_enabled (obj_template_t *obj, boolean enabled)
 Set the notification object enabled flag. More...
 
void obj_set_notif_log_drops (const obj_template_t *obj, boolean enabled)
 Set the event drops enabled flag for the notification object. More...
 
boolean obj_unload_active (const obj_template_t *obj)
 Check if the module commit tests are disabled because a module unload is in progress. More...
 
boolean obj_is_obsolete (const obj_template_t *obj)
 Check if the object has obsolete status. More...
 
boolean obj_parent_same_module (const obj_template_t *obj)
 Check if the object parent object is the same. More...
 
void obj_set_sil_priority (obj_template_t *obj, uint8 prio)
 Set the SIL priority field. More...
 
uint8 obj_get_sil_priority (obj_template_t *obj)
 Get the SIL priority field. More...
 
boolean obj_in_edit2_mode (obj_template_t *obj)
 Check if the object is an edit2 container or list or terminal node child in an edit2 container or list. More...
 
ncx_leafref_class_t obj_get_leafref_class (obj_template_t *obj)
 Get the leafref class for a leafref object. More...
 
boolean obj_delete_all_supported (obj_template_t *obj)
 Check if the object supports a direct delete-all or remove-all operation. More...
 
boolean obj_is_crypt_hash (const obj_template_t *obj)
 Check if the object is a leaf of type crypt-hash. More...
 
void obj_number_data_object (obj_template_t *obj)
 Number the object tree; initial setup. More...
 
obj_defval_tk_tobj_new_defval_tk (void)
 Create a new object default tk record;. More...
 
void obj_free_defval_tk (obj_defval_tk_t *def)
 Delete an object default tk record;. More...
 
dlq_hdr_t * obj_get_defvalQ (obj_template_t *obj)
 Get the leaf-list default Q. More...
 
obj_defval_tk_tobj_first_defval_tk (const obj_refine_t *ref)
 Get the first defval_tk entry. More...
 
obj_defval_tk_tobj_next_defval_tk (const obj_defval_tk_t *defval_tk)
 Get the next defval_tk entry. More...
 
obj_defval_tk_tobj_first_dev_defval_tk (const obj_deviate_t *dev)
 Get the first defval_tk entry. More...
 
boolean obj_get_leaf_list_defset (const obj_template_t *obj)
 Get the defset flag for a leaf-list. More...
 
void obj_find_delete_defval (obj_template_t *obj, const xmlChar *defval)
 Find and delete a leaf-list default for deviate delete default foo. More...
 
boolean obj_find_defval (obj_template_t *obj, const xmlChar *find_defval)
 Find a default. More...
 
void obj_delete_all_defvals (obj_template_t *obj)
 Delete all the original defaults for a leaf-list default for deviate replace default foo. More...
 
void obj_enter_xpath_mode (void)
 Enter xpath mode and start ignoring obj_is_enabled. More...
 
void obj_exit_xpath_mode (void)
 Exit xpath mode and stop ignoring obj_is_enabled. More...
 
obj_key_tobj_get_key_by_name (obj_template_t *obj, const xmlChar *keyname)
 Check the specified list to see if the string is a list key. More...
 
ncx_yang_version_t obj_get_langver (obj_template_t *obj)
 Get the YANG version for this object. More...
 
boolean obj_is_abstract_ex (const obj_template_t *obj)
 DUPLICATE FUNCTION OF obj_in_abstract() More...
 
void obj_set_abstract (obj_template_t *obj)
 Set the abstract flag for the yang-data node. More...
 
boolean obj_is_final (obj_template_t *obj)
 Check if the object template represents a fully expanded template or if it is inside a grouping. More...
 
void obj_force_disabled (obj_template_t *obj)
 Force an object to be disabled. More...
 
const xmlChar * obj_get_oid_string (obj_template_t *obj)
 Get object OID sting value. More...
 
obj_oid_tobj_get_oid_struct (obj_template_t *obj, boolean *malloced)
 Get malloced object OID structure that contains OID string and OID count. More...
 
status_t obj_fill_keystackQ (obj_template_t *obj, dlq_hdr_t *keystackQ)
 Fill a keystackQ with backptrs to obj_template_t for key leafs. More...
 
void obj_dump_keystackQ (dlq_hdr_t *keystackQ)
 Dump a keystackQ with backptrs to obj_template_t for key leafs. More...
 
void obj_clr_enable_chk (obj_template_t *obj)
 Force an object to re-evaluate the enable check Will call for all children. More...
 
status_t obj_cache_datarule (obj_template_t *obj, void *rule)
 Set the data-rule back-ptr for this node. More...
 
void obj_clear_datarule (obj_template_t *obj, const void *rule)
 Clear the datarule back-ptr for this node. More...
 
boolean obj_match_datarule (obj_template_t *obj, void *rule)
 Check if the data-rule back-ptr applies to this node. More...
 
status_t obj_add_errmsg (obj_template_t *obj, const xmlChar *basestr, obj_errmsg_t **ret_errmsg)
 Create a new obj_errmsg struct for the object. More...
 
status_t obj_add_errmsg_parm (obj_errmsg_t *errmsg, const xmlChar *parmstr)
 Add an errmsg parameter for the object. More...
 
status_t obj_add_errmsg_filter (obj_errmsg_t *errmsg, const xmlChar *parmstr, boolean is_errortag)
 Add an errmsg filter for the object. More...
 
boolean obj_has_get2cb (obj_template_t *obj)
 Check if current object has GET2 callback registered. More...
 
boolean obj_is_singular (const obj_template_t *obj)
 Check if the object can have only one instance or not. More...
 
boolean obj_get_top_config_flag (const obj_template_t *obj)
 Get the config flag for the top-level object. More...
 
boolean obj_ok_for_nolock (const obj_template_t *obj)
 check an object OK for nolock More...
 
boolean obj_use_get_when_check (const obj_template_t *obj)
 check an object needs to use a when-check for GET processing More...
 
boolean obj_has_mandatory_children (obj_template_t *obj)
 Check if there are any mandatory children. More...
 
boolean obj_get_xpath_oper_ok (const obj_template_t *obj)
 Get the object XPath oper OK flag. More...
 
void obj_set_xpath_oper_ok (obj_template_t *obj)
 Set the object XPath oper OK flag. More...
 
boolean obj_is_in_aio_get2 (obj_template_t *obj)
 Check if this object is a child of a node with sil-aio-get2 extension setup or if this object itself holds this extension. More...
 
boolean obj_is_top_aio_get2 (obj_template_t *obj)
 Check if this object is a really top level holder of extension sil-aio-get2. More...
 
obj_template_tobj_get_top_aio_get2 (obj_template_t *child)
 Find the top AIO object. More...
 
boolean obj_has_aio_list (obj_template_t *obj)
 Check is AIO object is a list or if its parent is a list object. More...
 
ncx_module_tobj_get_real_mod (obj_template_t *obj)
 Get the module struct for the submodule or main module with this object. More...
 
obj_template_tobj_get_real_parent_aug (obj_template_t *obj)
 Get the parent of the current object; skip OBJ_TYP_AUGMENT and return the actual parent. More...
 
boolean obj_is_ancestor (const obj_template_t *ancestor, const obj_template_t *obj)
 Check if an object is the ancestor of another. More...
 
void obj_ban_nolock_get (obj_template_t *obj)
 Ban nolock-get for the object. More...
 
boolean obj_is_mounted (obj_template_t *child)
 Check if mounted object. More...
 
obj_template_tobj_get_parent_choice (obj_template_t *obj)
 Get the choice parent of the current object;. More...
 
boolean obj_is_mp_parent (obj_template_t *child)
 Check if the parent of this object is a Mount Pount object. More...
 
boolean obj_is_mp_key (obj_template_t *child)
 Check if the parent of this object is a Mount Pount object AND THIS OBJECT IS A KEY LEAF IN THE MP LIST. More...
 
boolean obj_is_mp_with_rootcb (const obj_template_t *obj)
 Check if current object is Mount Point object. More...
 
ncx_sm_rootcb_tobj_find_ancestor_rootcb (obj_template_t *obj)
 Find an ancestor node or self that has a rootcb. More...
 
status_t obj_set_mp_flags (obj_template_t *obj)
 set the Schema Mount flags and create a rootcb if needed More...
 
boolean obj_has_xpath_stmts (obj_template_t *obj)
 Check if any must or when stmts in node or all children. More...
 
status_t obj_get_appinfo (obj_template_t *obj, const xmlChar *prefix, const xmlChar *name, const xmlChar **retval)
 Get the first (or only) instance of the specified appinfo. More...
 
status_t obj_add_unique_backptr (obj_template_t *leafobj, obj_template_t *listobj)
 Add a unique backptr to the leaf. More...
 
obj_template_tobj_first_unique_backptr (obj_template_t *leafobj)
 Get the first unique backptr for a leaf object. More...
 
obj_template_tobj_next_unique_backptr (obj_template_t *leafobj, obj_template_t *curbackptr)
 Get the next unique backptr for a leaf object. More...
 
boolean obj_is_create_np_ro (obj_template_t *obj)
 Check if this is an empty read-only NP-container that should be created as an empty NP container. More...
 

Detailed Description

Data Object Support.