yumapro  20.10-12
YumaPro SDK
val_util.h File Reference

Value Node Utilities. More...

#include <xmlstring.h>
#include "ncxtypes.h"
#include "obj.h"
#include "op.h"
#include "plock.h"
#include "ses.h"
#include "runstack.h"
#include "status.h"
#include "val.h"
#include "xml_msg.h"
#include "xmlns.h"
#include "xpath.h"
Include dependency graph for val_util.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  val_getbulk_return_t_
 return value for a getbulk callback function More...
 

Typedefs

typedef boolean(* val_nodetest_fn_t) (xml_msg_hdr_t *mhdr, ncx_withdefaults_t withdef, boolean realtest, val_value_t *node)
 user function callback template to test output of a specified node. More...
 
typedef status_t(* val_getbulk_cbfn_t) (obj_template_t *obj, uint32 start_idx, uint32 max_count, uint32 max_depth, val_nodetest_fn_t node_test_fn, val_getbulk_return_t *getbulk_return)
 user function callback template to bulk get operational values of a specified node. More...
 

Functions

void val_set_canonical_order (val_value_t *val)
 Set canonical order No longer used. More...
 
status_t val_gen_index_comp (const obj_key_t *in, val_value_t *val)
 Create an index component. More...
 
status_t val_gen_key_entry (val_value_t *keyval)
 Create a key record within an index comp. More...
 
status_t val_gen_index_chain (const obj_template_t *obj, val_value_t *val)
 Create an index chain for the just-parsed table or container struct. More...
 
status_t val_add_defaults (val_value_t *val, boolean scriptmode)
 Add defaults to an initialized complex value. More...
 
status_t val_add_defaults_ex (val_value_t *val, boolean scriptmode, runstack_context_t *rcxt, time_t last_modified, ncx_etag_t etag)
 add defaults to an initialized complex value (extended) More...
 
status_t val_add_node_defaults (obj_template_t *chobj, val_value_t *val, boolean scriptmode, time_t last_modified, ncx_etag_t etag)
 Check/Add defaults for the specified node and descendant nodes. More...
 
status_t val_instance_check (val_value_t *root, val_value_t *val, obj_template_t *obj)
 Check for the proper number of object instances for the specified value struct. More...
 
status_t val_instance_check_ex (val_value_t *root, val_value_t *val, obj_template_t *obj, boolean check_when)
 Check for the proper number of object instances for the specified value struct. More...
 
status_t val_instance_check_max (val_value_t *root, val_value_t *val, obj_template_t *obj, boolean check_when, boolean check_deep, ses_cb_t *scb, xml_msg_hdr_t *msg)
 Check for the proper number of object instances for the specified value struct. More...
 
val_value_t * val_get_choice_first_set (val_value_t *val, const obj_template_t *obj)
 Check a val_value_t struct against its expected OBJ to determine if a specific choice has already been set. More...
 
val_value_t * val_get_choice_first_set_full (val_value_t *val, const obj_template_t *obj)
 Check a val_value_t struct against its expected OBJ to determine if a specific choice has already been set Get the value struct for the first value set for the specified choice. More...
 
val_value_t * val_get_choice_first_set_ex (val_value_t *val, const obj_template_t *obj, boolean nondef)
 Check a val_value_t struct against its expected OBJ to determine if a specific choice has already been set Get the value struct for the first value set for the specified choice. More...
 
val_value_t * val_get_choice_next_set (const obj_template_t *obj, val_value_t *curchild)
 Check a val_value_t struct against its expected OBJ to determine if a specific choice has already been set Get the value struct for the next value set from the specified choice, afvter 'curval'. More...
 
boolean val_choice_is_set (val_value_t *val, obj_template_t *obj)
 Check a val_value_t struct against its expected OBJ to determine if a specific choice has already been set. More...
 
void val_purge_errors_from_root (val_value_t *val)
 Remove any error nodes under a root container that were saved for error recording purposes. More...
 
val_value_t * val_new_child_val (xmlns_id_t nsid, const xmlChar *name, boolean copyname, val_value_t *parent, op_editop_t editop, obj_template_t *obj)
 Internal function used by server to create a new child value. More...
 
status_t val_gen_instance_id (xml_msg_hdr_t *mhdr, const val_value_t *val, ncx_instfmt_t format, xmlChar **buff)
 Malloc and Generate the instance ID string for this value node,. More...
 
status_t val_gen_instance_id_ex (xml_msg_hdr_t *mhdr, const val_value_t *val, ncx_instfmt_t format, boolean stop_at_root, xmlChar **buff)
 Malloc and Generate the instance ID string for this value node,. More...
 
status_t val_gen_instance_id_ex2 (xml_msg_hdr_t *mhdr, const val_value_t *val, const val_value_t *stopval, ncx_instfmt_t format, boolean stop_at_root, xmlChar **buff)
 Malloc and Generate the instance ID string for this value node,. More...
 
status_t val_gen_split_instance_id (xml_msg_hdr_t *mhdr, const val_value_t *val, ncx_instfmt_t format, xmlns_id_t leaf_nsid, const xmlChar *leaf_name, boolean stop_at_root, xmlChar **buff)
 Malloc and Generate the instance ID string for this value node, Add the last node from the parameters, not the value node. More...
 
status_t val_get_index_string (xml_msg_hdr_t *mhdr, ncx_instfmt_t format, boolean force_quotes, const val_value_t *val, xmlChar *buff, uint32 *len)
 Get the index string for the specified table or container entry. More...
 
status_t val_check_obj_when (val_value_t *val, val_value_t *valroot, val_value_t *objval, obj_template_t *obj, boolean *condresult, uint32 *whencount)
 checks when-stmt only More...
 
status_t val_check_obj_when_ex (val_value_t *val, val_value_t *valroot, val_value_t *objval, obj_template_t *obj, xml_msg_hdr_t *mhdr, boolean configonly, boolean get_when, ses_cb_t *pcb_session, struct xpath_get2_cb_t_ *parent_cb, boolean *condresult, uint32 *whencount)
 checks when-stmt only (extended) More...
 
status_t val_remove_false_when (val_value_t *val, boolean *deleteme)
 Remove false when-stmt nodes. More...
 
status_t val_remove_false_when_error (const xmlChar *name, val_value_t *val, obj_template_t *obj, boolean is_error, boolean real_delete, boolean *deleteme)
 Remove false when-stmt nodes with error. More...
 
xpath_pcb_t * val_get_xpathpcb (val_value_t *val)
 Get the XPath parser control block in the specified value struct. More...
 
const xpath_pcb_t * val_get_const_xpathpcb (const val_value_t *val)
 Get the XPath parser control block in the specified value struct. More...
 
status_t val_copy_xpathpcb (val_value_t *val, const xpath_pcb_t *xpathpcb)
 Set the xpathpcb field with a clone of the parameter. More...
 
status_t val_set_xpathpcb (val_value_t *val, xpath_pcb_t *xpathpcb)
 Set the xpathpcb field with passed field;. More...
 
val_value_t * val_make_simval_obj (obj_template_t *obj, const xmlChar *valstr, status_t *res)
 Create and set a val_value_t as a simple type from an object template instead of individual fields Calls val_make_simval with the object settings. More...
 
status_t val_set_simval_obj (val_value_t *val, obj_template_t *obj, const xmlChar *valstr)
 Set an initialized val_value_t as a simple type. More...
 
val_value_t * val_make_binary_obj (obj_template_t *obj, const xmlChar *binstr, uint32 binstrlen, status_t *res)
 Malloc and set a val_value_t as a NCX_BT_BINARY type. More...
 
val_value_t * val_make_idref_obj (obj_template_t *obj, const val_idref_t *leafval, status_t *res)
 make a val_value_t for a specified leaf or leaf-list identityref More...
 
status_t val_set_warning_parms (val_value_t *parentval)
 Check the parent value struct (expected to be a container or list) for the common warning control parameters. More...
 
status_t val_set_logging_parms (val_value_t *parentval)
 Check the parent value struct (expected to be a container or list) for the common logging control parameters. More...
 
status_t val_set_logging_parms_ex (val_value_t *parentval, const xmlChar *fhs_logfile)
 Check the parent value struct (expected to be a container or list) for the full set of logging control parameters. More...
 
status_t val_set_path_parms (val_value_t *parentval)
 Set the main search paths for files. More...
 
status_t val_set_subdirs_parm (val_value_t *parentval)
 set the subdirs parameter More...
 
status_t val_set_feature_parms (val_value_t *parentval)
 Handle the YANG feature parameter set. More...
 
status_t val_set_protocols_parm (val_value_t *parentval)
 Handle the –protocols parameter. More...
 
status_t val_set_ses_protocols_parm (ses_cb_t *scb, val_value_t *parentval)
 Handle the -protocols parameter for a session. More...
 
status_t val_set_message_indent_parm (val_value_t *parentval)
 Handle the message-indent parameter. More...
 
status_t val_set_home_parms (val_value_t *parentval)
 Handle the home and yumapro-home parameters. More...
 
status_t val_set_with_ocpattern_parm (val_value_t *parentval)
 Handle the –with-ocpattern parameter. More...
 
status_t val_set_errmsg_parm (val_value_t *parentval)
 Check the parent value struct (expected to be a container or list) for the errmsg parameter. More...
 
status_t val_ok_to_partial_lock (val_value_t *val, ses_id_t sesid, ses_id_t *lockowner)
 Check if the specified root val could be locked right now by the specified session. More...
 
status_t val_set_partial_lock (val_value_t *val, plock_cb_t *plcb)
 Set the partial lock throughout the value tree. More...
 
void val_clear_partial_lock (val_value_t *val, plock_cb_t *plcb)
 Clear the partial lock throughout the value tree. More...
 
status_t val_write_ok (val_value_t *val, op_editop_t editop, ses_id_t sesid, boolean checkup, uint32 *lockid)
 Check if there are any partial-locks owned by another session in the node that is going to be written. More...
 
void val_check_swap_resnode (val_value_t *curval, val_value_t *newval)
 Maintain partial locks; Used by server only. More...
 
void val_check_delete_resnode (val_value_t *curval)
 Check if the curnode has any partial locks and if so, remove them from the final result. More...
 
void val_write_extern (ses_cb_t *scb, const val_value_t *val)
 Write an external file to the session. More...
 
void val_write_intern (ses_cb_t *scb, const val_value_t *val)
 Write an internal buffer to the session. More...
 
val_value_t * val_get_value (ses_cb_t *scb, xml_msg_hdr_t *msg, val_value_t *val, val_nodetest_fn_t testfn, boolean acmcheck, boolean *malloced, status_t *res)
 Get the value for a node after lots of internal processing. More...
 
val_value_t * val_get_value_ex (ses_cb_t *scb, xml_msg_hdr_t *msg, val_value_t *val, val_nodetest_fn_t testfn, boolean acmcheck, boolean *malloced, status_t *res, void *get2cb)
 Get the value for a node after lots of internal processing (extended) More...
 
void val_traverse_keys (val_value_t *val, void *cookie1, void *cookie2, val_walker_fn_t walkerfn)
 Check ancestor-or-self nodes until root reached. More...
 
status_t val_build_index_chains (val_value_t *val)
 Build index chains for a value if needed. More...
 
status_t val_cache_datarule (val_value_t *val, void *rule)
 Set the data-rule back-ptr for this node. More...
 
void val_clear_datarule (val_value_t *val, const void *rule)
 Clear the datarule back-ptr for this node. More...
 
boolean val_match_datarule (const val_value_t *val, void *rule)
 Check if the data-rule back-ptr applies to this node. More...
 
val_value_t * val_find_list_from_keyvalQ (val_value_t *parentval, val_value_t *firstmatch, dlq_hdr_t *keyvalQ, status_t *res)
 Find the list entry identified by the Q of yangapi_keyval_t strings. More...
 
status_t val_move_config_false (val_value_t *newval, val_value_t *curval)
 Move the config false data nodes. More...
 
status_t val_add_one_operation_attr (val_value_t *val, op_editop_t op)
 Add the nc:operation attribute to a value node. More...
 
val_value_t * val_make_config_root (void)
 Make a <config> element. More...
 
status_t val_expand_var_expr (val_value_t *val, xmlChar **retstr)
 Expand the variable expression if found. More...
 
void val_fixup_config_subtree (val_value_t *val, xmlns_id_t fixup_id)
 Look for a config subtree (obj_is_root) and make sure all the value nodes in the subtree have proper NSID set. More...
 
status_t val_gen_keyptrs (val_value_t *val, dlq_hdr_t *keyptrQ)
 Get all the keys for the specified data node object. More...
 
status_t val_gen_keyclones (val_value_t *val, dlq_hdr_t *keyQ)
 Get all the keys for the specified data node object. More...
 
status_t val_add_datapath_attr (val_value_t *val, obj_template_t *obj)
 Add the ye:datapath attribute to a node that is tagged as an ywx:datapath node. More...
 
status_t val_add_fixed_value_attr (val_value_t *val)
 Add the ywx:fixed-value attribute to a key value node Set it to true since false is the default. More...
 
boolean val_is_fixed_value (val_value_t *val)
 Check if the specified value has a fixed-value=true attribute set in it. More...
 
status_t val_add_btype_attr (val_value_t *val, ncx_btype_t btype)
 Add the ye:btype attribute to a <key> node for a SIL-SA edit. More...
 
status_t val_convert_anyxml_to_real (val_value_t *anyxml_val, val_value_t *real_val, val_value_t **error_val)
 Convert anydata nodes to match a real template. More...
 
val_value_t * val_make_internal_value (const xmlChar *name, const xmlChar *value)
 Create an NCX_BT_INTERNAL value that contains the raw XML for the value node. More...
 
val_value_t * val_make_external_value (obj_template_t *obj, xmlChar *fname)
 Make an external value node. More...
 
boolean val_obj_has_config_defaults (val_value_t *val, obj_template_t *obj)
 Check if the object itself or child nodes can have a default. More...
 
boolean val_simple_anyxml (const val_value_t *val)
 Check if val_value node is a proper simple type ANYXML. More...
 
status_t val_apply_template (val_value_t *template_val, val_value_t *target_val)
 Apply the specified template to the val_value_t node. More...
 
status_t val_convert_children (val_value_t *srcval, val_value_t *destval)
 Convert children nodes to the template node. More...
 
void val_merge_return_vals (dlq_hdr_t *srcQ, dlq_hdr_t *dstQ)
 Merge return values into a dest Q Remove duplicates. More...
 
status_t val_set_binary_display_maxlen_parm (val_value_t *parentval)
 Handle the –binary-display-maxlen parameter. More...
 
status_t val_validate_value (val_value_t *useval)
 Verify that the value is valid and can be safely used later Used in the SIL code to ensure that the created value is correct. More...
 
boolean val_type_is_any (const val_value_t *val)
 Check if val_value node is a proper simple type ANYXML. More...
 
ncx_nmda_origin_t val_get_origin (const val_value_t *val)
 Get the NMDA origin value for this node. More...
 
void val_set_origin (val_value_t *val, ncx_nmda_origin_t origin)
 Set the NMDA value origin. More...
 
obj_template_t * val_get_casobj (val_value_t *val)
 Get the case object for the value node. More...
 
void val_set_anyxml_tracking (val_value_t *val, obj_template_t *obj)
 Set the anyxml tracking data for this node. More...
 
void val_get_anyxml_tracking (const val_value_t *val, boolean *iskey, boolean *isconfig, boolean *isunknown)
 Set the anyxml tracking data for this node. More...
 
xmlns_id_t val_get_idref_nsid (const val_value_t *val)
 get the true namespace ID for the identityref value More...
 

Detailed Description

Value Node Utilities.