101#define XML_MSG_FL_PREFIX     bit0 
  104#define XML_MSG_FL_ETAGS      bit1 
  107#define XML_MSG_FL_ETAGS_TEST  bit2 
  112#define XML_MSG_FL_TSTAMPS    bit3 
  115#define XML_MSG_FL_TSTAMPS_TEST  bit4 
  118#define XML_MSG_FL_KEYS       bit5 
  121#define XML_MSG_FL_PASSED bit6 
  130#define XML_MSG_FL_DELTA bit7 
  135#define XML_MSG_FL_OWNERS bit8 
  140#define XML_MSG_FL_GET2 bit9 
  143#define XML_MSG_FL_MODTAGS bit10 
  146#define XML_MSG_FL_MODTAGS_EMPTY bit11 
  149#define XML_MSG_FL_ANYXML_TRACK bit12 
  153#define XML_MSG_USE_PREFIX(M)   ((M)->flags & XML_MSG_FL_PREFIX) 
  156#define XML_MSG_NO_PREFIX(M)    ((M)->flags &= ~XML_MSG_FL_PREFIX) 
  162#define XML_MSG_WITH_ETAGS(M)   ((M)->flags & XML_MSG_FL_ETAGS) 
  165#define XML_MSG_WITH_ETAGS_TEST(M)   ((M)->flags & XML_MSG_FL_ETAGS_TEST) 
  168#define XML_MSG_SET_WITH_ETAGS(M) (M)->flags |= XML_MSG_FL_ETAGS 
  171#define XML_MSG_SET_WITH_ETAGS_TEST(M) (M)->flags |= XML_MSG_FL_ETAGS_TEST 
  174#define XML_MSG_CLR_WITH_ETAGS_TEST(M) (M)->flags &= ~XML_MSG_FL_ETAGS_TEST 
  180#define XML_MSG_WITH_TSTAMPS(M) ((M)->flags & XML_MSG_FL_TSTAMPS) 
  183#define XML_MSG_WITH_TSTAMPS_TEST(M) ((M)->flags & XML_MSG_FL_TSTAMPS_TEST) 
  186#define XML_MSG_SET_WITH_TSTAMPS(M) (M)->flags |= XML_MSG_FL_TSTAMPS 
  189#define XML_MSG_SET_WITH_TSTAMPS_TEST(M) (M)->flags |= XML_MSG_FL_TSTAMPS_TEST 
  192#define XML_MSG_CLR_WITH_TSTAMPS_TEST(M) (M)->flags &= ~XML_MSG_FL_TSTAMPS_TEST 
  195#define XML_MSG_TSTAMPS_PASSED(M) ((M)->flags & XML_MSG_FL_PASSED) 
  198#define XML_MSG_SET_TSTAMPS_PASSED(M) (M)->flags |= XML_MSG_FL_PASSED 
  201#define XML_MSG_DELTA(M) ((M)->flags & XML_MSG_FL_DELTA) 
  204#define XML_MSG_SET_DELTA(M) (M)->flags |= XML_MSG_FL_DELTA 
  208#define XML_MSG_KEYS_ONLY(M)    ((M)->flags & XML_MSG_FL_KEYS) 
  211#define XML_MSG_SET_KEYS_ONLY(M)  (M)->flags |= XML_MSG_FL_KEYS 
  216#define XML_MSG_WITH_OWNERS(M)   ((M)->flags & XML_MSG_FL_OWNERS) 
  219#define XML_MSG_SET_WITH_OWNERS(M) (M)->flags |= XML_MSG_FL_OWNERS 
  222#define XML_MSG_CLR_WITH_OWNERS(M) (M)->flags &= ~XML_MSG_FL_OWNERS 
  228#define XML_MSG_WITH_GET2(M)   ((M)->flags & XML_MSG_FL_GET2) ? TRUE : FALSE 
  231#define XML_MSG_SET_WITH_GET2(M) (M)->flags |= XML_MSG_FL_GET2 
  234#define XML_MSG_CLR_WITH_GET2(M) (M)->flags &= ~XML_MSG_FL_GET2 
  237#define XML_MSG_SET_LOOKUPQ(M,Q) (M)->lookupQ = Q 
  240#define XML_MSG_SET_MATCHQ(M,Q) (M)->matchQ = Q 
  243#define XML_MSG_SET_SELECTQ(M,Q) (M)->selectQ = Q 
  249#define XML_MSG_ANYXML_TRACK(M)   ((M)->flags & XML_MSG_FL_ANYXML_TRACK) 
  252#define XML_MSG_SET_ANYXML_TRACK(M) (M)->flags |= XML_MSG_FL_ANYXML_TRACK 
  255#define XML_MSG_CLR_ANYXML_TRACK(M) (M)->flags &= ~XML_MSG_FL_ANYXML_TRACK 
  258#define XML_MSG_ANYXML_OBJ(M) (M)->anyxml_obj 
  261#define XML_MSG_GET_ERROR_DATAQ(M) &(M)->error_dataQ 
  264#define XML_MSG_ACTIONVAL(M)   (M)->actionval 
  267#define XML_MSG_GETBULK(M) (M)->getbulk_cb 
  270#define XML_MSG_GET2_TARGET(M) (M)->get2_target 
  273#define XML_MSG_GET2CB(M) (M)->get2cb 
  278#define XML_MSG_WITH_MODTAGS(M)   ((M)->flags & XML_MSG_FL_MODTAGS) 
  281#define XML_MSG_SET_WITH_MODTAGS(M) (M)->flags |= XML_MSG_FL_MODTAGS 
  284#define XML_MSG_WITH_MODTAGS_EMPTY(M)  \ 
  285    ((M)->flags & XML_MSG_FL_MODTAGS_EMPTY) 
  288#define XML_MSG_SET_WITH_MODTAGS_EMPTY(M) \ 
  289    (M)->flags |= XML_MSG_FL_MODTAGS_EMPTY 
  292#define XML_MSG_YPGNMI_GETCB(M) (M)->gnmi_getcb 
  295#define XML_MSG_YPGNMI_EDITCB(M) (M)->gnmi_editcb 
  298#define XML_MSG_PRUNE_BAD_DATA(M) (M)->prune_bad_data 
  301#define XML_MSG_XGET_REQ(M) (M)->xget_request 
  304#define XML_MSG_ALLINONE_MODE(M) (M)->all_in_one_mode 
  309#define XML_MSG_LAST_GET2_FILPTR(M) (M)->get2_filptr 
  312#define XML_MSG_GET2CB_ALLINONE(M) (M)->get2cb 
  316#define XML_MSG_NMDA_PARAMS(M) (M)->nmda_params 
  319#define XML_MSG_WITH_ORIGIN(M) \ 
  320    ((M)->nmda_params && (M)->nmda_params->with_origin) 
  323#define XML_MSG_EDIT_CONFIG_ROOT(M) (M)->edit_config_root 
  326#define XML_MSG_DEPTH_TARGET(M) (M)->depth_target 
  330#define XML_MSG_NMDA_OPERATIONAL(M) \ 
  331    ((M)->nmda_params && \ 
  332     ((M)->nmda_params->nmda_ds == NCX_NMDA_DS_OPERATIONAL)) 
  339#define XML_MSG_SM_MPID(M) (M)->sm_mpid 
  342#define XML_MSG_SID_LOWER(M) (M)->sid_lower 
  346#define XML_MSG_SID_UPPER(M) (M)->sid_upper 
  349#define XML_MSG_SID_SKIP(M)  (M)->sid_skip 
  352#define XML_MSG_PARENT_SID(M)  (M)->parent_sid 
  360#define XML_MSG_ACTION_PARENT(M)  (M)->action_parent 
  370#define XML_MSG_ACTION_PARENT_MODE(M)  (M)->action_parent_mode 
  377#define XML_MSG_SKIP_EMPTY_NPCON(M)   (M)->skip_empty_npcon 
  385#define XML_MSG_PRE_PROCESS_MODE(M)  (M)->pre_process_mode 
  389#define XML_MSG_JSON_PARSE_NOTIF(M)  (M)->json_parse_notif 
  397#define XML_MSG_JSON_WR_FIXTOP(M) (M)->json_wr_fixtop 
  417typedef struct xml_msg_hdr_t_ {
 
  643    struct xpath_pcb_t_ *action_parent;
 
  648    boolean action_parent_mode;
 
  665    boolean pre_process_mode;
 
  696                               const xmlChar *badval);
 
  717                                const xmlChar *badval,
 
  736                               struct obj_template_t_ *errobj,
 
  737                               const xmlChar *badval);
 
  749                                     const xmlChar *username,
 
  778                                  const void *error_info,
 
  810                                          const void *error_info,
 
  841                                       const xmlChar *badns,
 
  893extern const xmlChar *
 
  920extern const xmlChar *
 
  935extern const xmlChar *
 
 1014                              const xmlChar *badns,
 
 1173                             uint32 start_depth);
 
 1248                      boolean test_sense);
 
 1275                        boolean test_sense);
 
 1346                            const struct obj_template_t_ *obj);
 
uint32 xml_msg_get_max_depth(xml_msg_hdr_t *msg)
Get the message max_depth value.
Definition: xml_msg.c:1366
 
void xml_msg_save_filptr(xml_msg_hdr_t *msg, ncx_filptr_t *filptr)
Store current message subtree filter in the Queue for later cleanup.
Definition: xml_msg.c:1869
 
const xmlChar * xml_msg_get_prefix_xpath(xml_msg_hdr_t *msg, xmlns_id_t nsid)
Get the module prefix for XPath.
Definition: xml_msg.c:652
 
void(* xml_msg_record_attr_error_fn_t)(ses_cb_t *scb, xml_msg_hdr_t *msghdr, ncx_layer_t layer, status_t res, const xml_attr_t *xmlattr, const xml_node_t *xmlnode, const xmlChar *badns, ncx_node_t nodetyp, void *errnode)
Generate an rpc_err_rec_t and save it in the msg.
Definition: xml_msg.h:835
 
status_t xml_msg_set_with_origin(xml_msg_hdr_t *mhdr)
Set the with-origin parameter to true.
Definition: xml_msg.c:1892
 
boolean xml_msg_test_max_depth(xml_msg_hdr_t *mhdr, const struct obj_template_t_ *obj)
Test the max_depth parameter if needed.
Definition: xml_msg.c:1779
 
void xml_msg_set_encoding(xml_msg_hdr_t *msg, boolean is_output, ncx_display_mode_t encoding)
Set the message encoding value.
Definition: xml_msg.c:1525
 
void xml_msg_set_start_depth(xml_msg_hdr_t *msg, uint32 start_depth)
Set the message start_depth value.
Definition: xml_msg.c:1425
 
status_t xml_msg_gen_xmlns_attrs(xml_msg_hdr_t *msg, xml_attrs_t *attrs, boolean addncx)
Generate any xmlns directives in the top-level attribute Q.
Definition: xml_msg.c:1048
 
uint32 xml_msg_get_msgid(xml_msg_hdr_t *msg)
Get the message sequence ID in the message.
Definition: xml_msg.c:1308
 
status_t xml_msg_finish_prefix_map(xml_msg_hdr_t *msg, xml_attrs_t *attrs)
Finish the queue of xmlns_pmap_t records for the current message.
Definition: xml_msg.c:900
 
ncx_etag_t xml_msg_get_etag(xml_msg_hdr_t *msg, boolean *test)
Get the message etag match value and test sense.
Definition: xml_msg.c:1554
 
uint32 xml_msg_get_cur_depth(xml_msg_hdr_t *msg)
Get the message cur_depth value.
Definition: xml_msg.c:1446
 
void xml_msg_dec_cur_depth(xml_msg_hdr_t *mhdr)
Decrement the cur_depth parameter if needed.
Definition: xml_msg.c:1739
 
boolean(* xml_msg_authfn_t)(xml_msg_hdr_t *msg, const xmlChar *username, const val_value_t *val)
read authorization callback template
Definition: xml_msg.h:748
 
void(* xml_msg_obj_error_fn_t)(ses_cb_t *scb, xml_msg_hdr_t *mhdr, status_t res, struct obj_template_t_ *errobj, const xmlChar *badval)
Record an rpc-error for YANG-API/RESTCONF response translation.
Definition: xml_msg.h:733
 
dlq_hdr_t * xml_msg_get_lookupQ(xml_msg_hdr_t *msg)
Get the GET2 lookup Queue.
Definition: xml_msg.c:1659
 
const xmlChar * xml_msg_get_prefix_start_tag(xml_msg_hdr_t *msg, xmlns_id_t nsid)
Find the namespace prefix for the specified namespace ID.
Definition: xml_msg.c:705
 
void xml_msg_set_cur_depth(xml_msg_hdr_t *msg, uint32 cur_depth)
Set the message cur_depth value.
Definition: xml_msg.c:1465
 
uint32 xml_msg_get_start_depth(xml_msg_hdr_t *msg)
Get the message start_depth value.
Definition: xml_msg.c:1406
 
const xmlChar * xml_msg_get_prefix(xml_msg_hdr_t *msg, xmlns_id_t parent_nsid, xmlns_id_t nsid, val_value_t *curelem, boolean *xneeded)
Find the namespace prefix for the specified namespace ID If it is not there then create one.
Definition: xml_msg.c:534
 
void(* xml_msg_val_error_fn_t)(ses_cb_t *scb, xml_msg_hdr_t *mhdr, status_t res, val_value_t *errnode, const xmlChar *badval)
Record an rpc-error for YANG-API/RESTCONF response translation.
Definition: xml_msg.h:692
 
status_t xml_msg_clean_defns_attr(xml_attrs_t *attrs)
Get rid of an xmlns=foo default attribute.
Definition: xml_msg.c:1145
 
void xml_msg_init(void)
Init this module.
Definition: xml_msg.c:1235
 
void(* xml_msg_record_error_errinfo_fn_t)(ses_cb_t *scb, xml_msg_hdr_t *msghdr, ncx_layer_t layer, status_t res, const xml_node_t *xmlnode, ncx_node_t parmtyp, const void *error_info, ncx_node_t nodetyp, void *error_path, const ncx_errinfo_t *errinfo)
Generate an rpc_err_rec_t and save it in the msg Use the provided error info record for <rpc-error> f...
Definition: xml_msg.h:804
 
ncx_withdefaults_t xml_msg_get_withdef(xml_msg_hdr_t *msg)
Get the message withdef enum.
Definition: xml_msg.c:1326
 
status_t xml_msg_build_prefix_map(xml_msg_hdr_t *msg, xml_attrs_t *attrs, boolean addncid, boolean addncxid)
Build a queue of xmlns_pmap_t records for the current message.
Definition: xml_msg.c:854
 
status_t xml_msg_check_xmlns_attr(xml_msg_hdr_t *msg, xmlns_id_t nsid, const xmlChar *badns, xml_attrs_t *attrs)
Check the default NS and the prefix map in the msg;.
Definition: xml_msg.c:970
 
void xml_msg_inc_cur_depth(xml_msg_hdr_t *mhdr)
Increment the cur_depth parameter if needed.
Definition: xml_msg.c:1714
 
void xml_msg_cleanup(void)
Cleanup this module.
Definition: xml_msg.c:1245
 
dlq_hdr_t * xml_msg_get_selectQ(xml_msg_hdr_t *msg)
Get the GET2 select Queue.
Definition: xml_msg.c:1695
 
time_t xml_msg_get_tstamp(xml_msg_hdr_t *msg, boolean *test)
Get the message timestamp match value and test sense.
Definition: xml_msg.c:1609
 
void(* xml_msg_val_errinfo_fn_t)(ses_cb_t *scb, xml_msg_hdr_t *mhdr, status_t res, val_value_t *errnode, const xmlChar *badval, const ncx_errinfo_t *errinfo)
Record an rpc-error for YANG-API/RESTCONF response translation Add errinfo struct if present.
Definition: xml_msg.h:713
 
void xml_msg_set_tstamp(xml_msg_hdr_t *msg, time_t tstamp, boolean test_sense)
Set the timestamp match parameters.
Definition: xml_msg.c:1632
 
ncx_display_mode_t xml_msg_get_encoding(xml_msg_hdr_t *msg, boolean is_output)
Get the message encoding value.
Definition: xml_msg.c:1497
 
void xml_msg_clean_hdr(xml_msg_hdr_t *msg)
Clean all the memory used by the specified xml_msg_hdr_t but do not free the struct itself.
Definition: xml_msg.c:440
 
dlq_hdr_t * xml_msg_get_matchQ(xml_msg_hdr_t *msg)
Get the GET2 match Queue.
Definition: xml_msg.c:1677
 
status_t xml_msg_add_ncid_to_prefix_map(xml_msg_hdr_t *msg, xml_attrs_t *attrs, xmlns_id_t ncid)
Add an ncid or ncxid to a prefix map.
Definition: xml_msg.c:1192
 
void xml_msg_set_withdef(xml_msg_hdr_t *msg, ncx_withdefaults_t withdef)
Set the message withdef enum.
Definition: xml_msg.c:1345
 
status_t xml_msg_gen_new_prefix(xml_msg_hdr_t *msg, xmlns_id_t nsid, xmlChar **retbuff, uint32 buffsize)
Generate a new namespace prefix.
Definition: xml_msg.c:742
 
void xml_msg_set_etag(xml_msg_hdr_t *msg, ncx_etag_t etag, boolean test_sense)
Set the etag match parameters.
Definition: xml_msg.c:1577
 
void xml_msg_set_cfgid(xml_msg_hdr_t *msg, ncx_cfg_t cfgid)
Set the config ID in the message.
Definition: xml_msg.c:1258
 
void xml_msg_set_max_depth(xml_msg_hdr_t *msg, uint32 max_depth)
Set the message max_depth value.
Definition: xml_msg.c:1385
 
void(* xml_msg_record_error_fn_t)(ses_cb_t *scb, xml_msg_hdr_t *mhdr, ncx_layer_t layer, status_t res, const xml_node_t *xmlnode, ncx_node_t parmtyp, const void *error_info, ncx_node_t nodetyp, void *error_path)
Generate an rpc_err_rec_t and save it in the msg.
Definition: xml_msg.h:772
 
status_t
global error return code
Definition: status_enum.h:219
 
uint16 xmlns_id_t
integer handle for registered namespaces
Definition: xmlns.h:89
 
dlq_hdr_t xml_attrs_t
queue of xml_attr_t
Definition: xml_util.h:155
 
ncx_node_t
NCX Internal Node Types.
Definition: ncxtypes.h:437
 
uint32 ncx_etag_t
The ETag used in RESTCONF messages is the lower 32 bits of a ncx_transaction_id_t.
Definition: ncxtypes.h:750
 
ncx_cfg_t
hardwire the 3 standard configs
Definition: ncxtypes.h:548
 
ncx_layer_t
Enumeration of NETCONF protocol layers.
Definition: ncxtypes.h:507
 
ncx_display_mode_t
enumeration of val_dump_value display modes Some RESTCONF code uses this field incorrectly for messag...
Definition: ncxtypes.h:618
 
ncx_withdefaults_t
enum for with-defaults enum values
Definition: ncxtypes.h:1259
 
YANG module data structures Many internal representations of YANG module constructs.
 
Global error messages for status code enumerations.
 
YANG error info statement struct used to override default error handling in the server.
Definition: ncxtypes.h:1347
 
struct for holding r/o pointer to generic internal node for filtering purposes
Definition: ncxtypes.h:1041
 
internal NMDA get-data state parameters; rest of parameter are stored directly in the xml_msg_hdr_t u...
Definition: ncxtypes.h:1644
 
Moint Point Instance This struct lives in a val_value_t.val_extra struct.
Definition: ncxtypes.h:1796
 
Session Control Block.
Definition: ses.h:759
 
one value to match one type
Definition: val.h:939
 
represents one attribute
Definition: xml_util.h:159
 
Common Encoding Message Header No longer XML specific!! Used by JSON and CBOR parsing as well!...
Definition: xml_msg.h:417
 
dlq_hdr_t filptr_cleanupQ
internal processing of filter parameters
Definition: xml_msg.h:438
 
dlq_hdr_t error_dataQ
Q of nodes to add to the <error-info> element each node must be a proper val_value_t; A valid module ...
Definition: xml_msg.h:460
 
time_t match_tstamp
match timestamp used for RESTCONF conditionals
Definition: xml_msg.h:502
 
void * val_errinfo_fn
xml_msg_val_error_errinfo_fn_t val_error_fn
Definition: xml_msg.h:520
 
void * obj_error_fn
xml_msg_obj_error_fn_t obj_error_fn
Definition: xml_msg.h:523
 
ncx_sid_t parent_sid
YANG Parent SID to use when outputing data in pieces and callbacks instead of from a val_value_t or o...
Definition: xml_msg.h:635
 
dlq_hdr_t * aiocbQ
BACK POINTER TO Q of backptr AIO control blocks.
Definition: xml_msg.h:583
 
uint32 max_depth
max-depth value, 0=ignore
Definition: xml_msg.h:497
 
boolean all_in_one_mode
TRUE if this is All in One mode.
Definition: xml_msg.h:572
 
val_value_t * edit_config_root
if this is an edit request then the <config> root needs to be saved in the message header to allow NA...
Definition: xml_msg.h:596
 
void * record_error
xml_msg_record_error_fn_t record_error
Definition: xml_msg.h:526
 
dlq_hdr_t * matchQ
GET2 matchQ used to select only specific nodes.
Definition: xml_msg.h:466
 
dlq_hdr_t prefixQ
prefixQ: (incoming) All the namespace decls that were in the <rpc> request are used in the <rpc-reply...
Definition: xml_msg.h:430
 
ncx_display_mode_t output_encoding
RESTCONF output encoding.
Definition: xml_msg.h:511
 
dlq_hdr_t * lookupQ
GET2 lookup parameters provide ancestor keys.
Definition: xml_msg.h:463
 
uint32 cur_depth
current depth value
Definition: xml_msg.h:499
 
ncx_sid_t sid_upper
YANG SID upper bound filter.
Definition: xml_msg.h:625
 
ncx_etag_t match_etag
match ETag used for RESTCONF conditionals
Definition: xml_msg.h:505
 
struct agt_acm_cache_t_ * acm_cache
server access control for database reads and writes; !!! shadow pointer to per-session cache,...
Definition: xml_msg.h:475
 
dlq_hdr_t revcount_revQ
internal processing of revision count backptr to found modules->rev in revision count search processi...
Definition: xml_msg.h:660
 
ncx_withdefaults_t withdef
with-defaults value
Definition: xml_msg.h:422
 
struct getcb_get2_t_ * get2cb
GET2 control block needed in NACM data rule processing set and cleared for each ACM check needed; bac...
Definition: xml_msg.h:550
 
void * record_attr_error
xml_msg_record_attr_error_fn_t record_attr_error
Definition: xml_msg.h:532
 
struct tk_chain_t_ * tkc
used for RESTCONF JSON parsing
Definition: xml_msg.h:514
 
val_value_t * actionval
support for the YANG 1.1 <action> data tree that is used to derive keys during invocation of the call...
Definition: xml_msg.h:537
 
dlq_hdr_t modtagQ
Q of backptr to module-tag filter control block.
Definition: xml_msg.h:553
 
uint32 start_depth
for nested GET2, 0=ignore
Definition: xml_msg.h:498
 
uint32 msgid
incremented on every initialized message header rolls over at MAX_UINT32 back to zero used by agt_acm...
Definition: xml_msg.h:482
 
void * acm_cbfn
agent access control read authorization callback function: xml_msg_authfn_t
Definition: xml_msg.h:495
 
struct getbulk_cb_t_ * getbulk_cb
getbulk control block to save parameters and state for <getbulk>
Definition: xml_msg.h:540
 
struct obj_template_t_ * get2_target
GET2 nested target needs to be saved so callback code can filter out nodes that are not being request...
Definition: xml_msg.h:545
 
struct obj_template_t_ * depth_target
GET2 nested depth target needs to be saved so xml_msg_test_max_depth can produce a correct response a...
Definition: xml_msg.h:601
 
boolean json_parse_notif
JSON Parse of a notification requires some help The mgr_top_dispatch_json_msg function will set this ...
Definition: xml_msg.h:672
 
boolean prune_bad_data
flag set if parsing a config file prune bad data for startup-error=continue
Definition: xml_msg.h:564
 
dlq_hdr_t errQ
errors are collected in this queue when agt_record_error is invoked
Definition: xml_msg.h:435
 
dlq_hdr_t * selectQ
GET2 selectQ used in alternate way to select only specific nodes.
Definition: xml_msg.h:469
 
struct ypgnmi_get_cb_t_ * gnmi_getcb
gnmi control block to save parameters and state for gnmi <get>
Definition: xml_msg.h:556
 
struct ypgnmi_edit_cb_t_ * gnmi_editcb
gnmi control block to save parameters and state for gnmi <get>
Definition: xml_msg.h:559
 
ncx_sid_t sid_lower
YANG SID lower bound filter.
Definition: xml_msg.h:618
 
struct obj_template_t_ * anyxml_obj
object pointer used by server to track real object properties for certain anyxml or anydata nodes suc...
Definition: xml_msg.h:589
 
ncx_nmda_params_t * nmda_params
NMDA suport for get-data.
Definition: xml_msg.h:580
 
boolean json_wr_fixtop
JSON Write fixup the first start object to align with GET2 callback start_complex_node.
Definition: xml_msg.h:677
 
ncx_sm_mpid_t * sm_mpid
Mount Point Instance used in an RPC or ACTION.
Definition: xml_msg.h:611
 
boolean skip_empty_npcon
support return-empty-npcontainers=false only set in rpc-reply if OK to skip empty NP containers.
Definition: xml_msg.h:655
 
void * record_error_errinfo
xml_msg_record_error_errinfo_fn_t record_error_errinfo
Definition: xml_msg.h:529
 
boolean sid_skip
Flag to indicate YANG SID SKIP DATA Mode is active.
Definition: xml_msg.h:628
 
ncx_display_mode_t input_encoding
RESTCONF input encoding.
Definition: xml_msg.h:508
 
boolean cfgid_valid
flag needed since ncx_cfg_t uses value zero for running config
Definition: xml_msg.h:490
 
ncx_cfg_t cfgid
the xml_msg_set_cfgid function is used by the retrieval operation (e.g., <get>, <get-config> to set t...
Definition: xml_msg.h:487
 
void * val_error_fn
xml_msg_val_error_fn_t val_error_fn
Definition: xml_msg.h:517
 
uint16 flags
internal message flags
Definition: xml_msg.h:420
 
boolean xget_request
flag set if <get> request is for XPath filtering.
Definition: xml_msg.h:569
 
struct ncx_filptr_t_ * get2_filptr
The last GET2 Filter Pointer; may be used in case there are some All in One nodes still left.
Definition: xml_msg.h:577
 
gather node data into a simple struct.
Definition: xml_util.h:207
 
Value Node Basic Support.