yumapro  20.10-12
YumaPro SDK
xml_wr.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2008 - 2012, Andy Bierman, All Rights Reserved.
3  * Copyright (c) 2012 - 2021, YumaWorks, Inc., All Rights Reserved.
4  *
5  * Unless required by applicable law or agreed to in writing,
6  * software distributed under the License is distributed on an
7  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
8  * KIND, either express or implied. See the License for the
9  * specific language governing permissions and limitations
10  * under the License.
11  */
12 #ifndef _H_xml_wr
13 #define _H_xml_wr
14 
15 /* FILE: xml_wr.h
16 *********************************************************************
17 * *
18 * P U R P O S E *
19 * *
20 *********************************************************************/
21 
27 /*********************************************************************
28 * *
29 * C H A N G E H I S T O R Y *
30 * *
31 *********************************************************************
32 
33 date init comment
34 ----------------------------------------------------------------------
35 12-feb-07 abb Begun; split out from xml_wr_util.c
36 
37 */
38 
39 #include <stdio.h>
40 #include <xmlstring.h>
41 
42 #ifndef _H_cfg
43 #include "cfg.h"
44 #endif
45 
46 #ifndef _H_dlq
47 #include "dlq.h"
48 #endif
49 
50 #ifndef _H_getcb
51 #include "getcb.h"
52 #endif
53 
54 #ifndef _H_ncxtypes
55 #include "ncxtypes.h"
56 #endif
57 
58 #ifndef _H_ses
59 #include "ses.h"
60 #endif
61 
62 #ifndef _H_status
63 #include "status.h"
64 #endif
65 
66 #ifndef _H_val
67 #include "val.h"
68 #endif
69 
70 #ifndef _H_val_util
71 #include "val_util.h"
72 #endif
73 
74 #ifndef _H_xml_msg
75 #include "xml_msg.h"
76 #endif
77 
78 #ifdef __cplusplus
79 extern "C" {
80 #endif
81 
82 /********************************************************************
83 * *
84 * C O N S T A N T S *
85 * *
86 *********************************************************************/
87 
88 /* isattrq labels */
89 #define ATTRQ TRUE
90 #define METAQ FALSE
91 
92 /* empty labels */
93 #define START FALSE
94 #define EMPTY TRUE
95 
96 /* docmode labels */
97 #define XMLMODE FALSE
98 #define DOCMODE TRUE
99 
100 /* xmlhdr labels */
101 #define NOHDR FALSE
102 #define WITHHDR TRUE
103 
104 /* buffer size used in begin_elem_val function
105  * this is sort of a hack -- a hard limit in the code:
106  * this limits the number of different namespace IDs
107  * that can be present in a single XPath expression
108  * and the xmlns attributes will be corrected generated
109  * in element start tags for the XPath expression
110  */
111 #define XML_WR_MAX_NAMESPACES 512
112 
113 
114 /********************************************************************
115 * *
116 * T Y P E S *
117 * *
118 *********************************************************************/
119 
120 
131 typedef struct walker_cookie_t_ {
133  ses_cb_t *scb;
134 
136  xml_msg_hdr_t *msg;
137 
139  int32 indent;
140 
143 
145  boolean expand_varexpr;
146 
148  boolean maxmode;
149 } walker_cookie_t;
150 
151 
152 /********************************************************************
153 * *
154 * F U N C T I O N S *
155 * *
156 *********************************************************************/
157 
158 
169 extern void
170  xml_wr_buff (ses_cb_t *scb,
171  const xmlChar *buff,
172  uint32 bufflen);
173 
174 
195 extern void
196  xml_wr_begin_elem_ex (ses_cb_t *scb,
197  xml_msg_hdr_t *msg,
198  xmlns_id_t parent_nsid,
199  xmlns_id_t nsid,
200  const xmlChar *elname,
201  const dlq_hdr_t *attrQ,
202  boolean isattrq,
203  int32 indent,
204  boolean empty);
205 
206 
221 extern void
222  xml_wr_begin_elem (ses_cb_t *scb,
223  xml_msg_hdr_t *msg,
224  xmlns_id_t parent_nsid,
225  xmlns_id_t nsid,
226  const xmlChar *elname,
227  int32 indent);
228 
229 
244 extern void
245  xml_wr_empty_elem (ses_cb_t *scb,
246  xml_msg_hdr_t *msg,
247  xmlns_id_t parent_nsid,
248  xmlns_id_t nsid,
249  const xmlChar *elname,
250  int32 indent);
251 
252 
267 extern void
268  xml_wr_end_elem (ses_cb_t *scb,
269  xml_msg_hdr_t *msg,
270  xmlns_id_t nsid,
271  const xmlChar *elname,
272  int32 indent);
273 
274 
297 extern void
298  xml_wr_string_elem (ses_cb_t *scb,
299  xml_msg_hdr_t *msg,
300  const xmlChar *str,
301  xmlns_id_t parent_nsid,
302  xmlns_id_t nsid,
303  const xmlChar *elname,
304  const dlq_hdr_t *attrQ,
305  boolean isattrq,
306  int32 indent);
307 
308 
309 
332 extern void
333  xml_wr_uint32_elem (ses_cb_t *scb,
334  xml_msg_hdr_t *msg,
335  uint32 num,
336  xmlns_id_t parent_nsid,
337  xmlns_id_t nsid,
338  const xmlChar *elname,
339  const dlq_hdr_t *attrQ,
340  boolean isattrq,
341  int32 indent);
342 
343 
368 extern void
369  xml_wr_qname_elem (ses_cb_t *scb,
370  xml_msg_hdr_t *msg,
371  xmlns_id_t val_nsid,
372  const xmlChar *str,
373  xmlns_id_t parent_nsid,
374  xmlns_id_t nsid,
375  const xmlChar *elname,
376  const dlq_hdr_t *attrQ,
377  boolean isattrq,
378  int32 indent,
379  boolean isdefault);
380 
381 
406 extern void
407  xml_wr_check_val (ses_cb_t *scb,
408  xml_msg_hdr_t *msg,
409  val_value_t *val,
410  int32 indent,
411  val_nodetest_fn_t testfn);
412 
413 
426 extern void
427  xml_wr_val (ses_cb_t *scb,
428  xml_msg_hdr_t *msg,
429  val_value_t *val,
430  int32 indent);
431 
432 
446 extern void
447  xml_wr_max_check_val (ses_cb_t *scb,
448  xml_msg_hdr_t *msg,
449  val_value_t *val,
450  int32 indent,
451  val_nodetest_fn_t testfn,
452  boolean force_xmlns);
453 
454 
470 extern void
471  xml_wr_max_check_val_force (ses_cb_t *scb,
472  xml_msg_hdr_t *msg,
473  val_value_t *val,
474  int32 indent,
475  val_nodetest_fn_t testfn,
476  boolean force_xmlns,
477  xmlns_id_t force_nsid,
478  const xmlChar *force_name);
479 
480 
495 extern void
496  xml_wr_full_check_val (ses_cb_t *scb,
497  xml_msg_hdr_t *msg,
498  val_value_t *val,
499  int32 indent,
500  val_nodetest_fn_t testfn,
501  boolean expand_varexpr);
502 
503 
520 extern void
521  xml_wr_full_check_val2 (ses_cb_t *scb,
522  xml_msg_hdr_t *msg,
523  val_value_t *val,
524  int32 indent,
525  val_nodetest_fn_t testfn,
526  boolean force_xmlns,
527  boolean expand_varexpr,
528  xmlns_id_t parent_nsid);
529 
530 
548 extern void
549  xml_wr_file_write_check_val (ses_cb_t *scb,
550  xml_msg_hdr_t *msg,
551  val_value_t *val,
552  int32 indent,
553  val_nodetest_fn_t testfn,
554  boolean expand_varexpr,
555  boolean file_write);
556 
557 
568 extern void
569  xml_wr_full_val (ses_cb_t *scb,
570  xml_msg_hdr_t *msg,
571  val_value_t *val,
572  int32 indent);
573 
574 
586 extern void
587  xml_wr_full_val_origin (ses_cb_t *scb,
588  xml_msg_hdr_t *msg,
589  val_value_t *val,
590  int32 indent);
591 
592 
615 extern status_t
616  xml_wr_check_open_file (FILE *fp,
617  val_value_t *val,
618  xml_attrs_t *attrs,
619  boolean docmode,
620  boolean xmlhdr,
621  boolean withns,
622  boolean expand_varexpr,
623  boolean with_owners,
624  int32 startindent,
625  int32 indent,
626  val_nodetest_fn_t testfn);
627 
628 
629 
655 extern status_t
656  xml_wr_check_open_file_ex (FILE *fp,
657  val_value_t *val,
658  xml_attrs_t *attrs,
659  boolean docmode,
660  boolean xmlhdr,
661  boolean withns,
662  boolean expand_varexpr,
663  boolean with_owners,
664  boolean top_meta,
665  int32 startindent,
666  int32 indent,
667  val_nodetest_fn_t testfn);
668 
669 
693 extern status_t
694  xml_wr_check_file (const xmlChar *filespec,
695  val_value_t *val,
696  xml_attrs_t *attrs,
697  boolean docmode,
698  boolean xmlhdr,
699  boolean withns,
700  boolean expand_varexpr,
701  boolean with_owners,
702  int32 startindent,
703  int32 indent,
704  val_nodetest_fn_t testfn);
705 
706 
728 extern status_t
729  xml_wr_file (const xmlChar *filespec,
730  val_value_t *val,
731  xml_attrs_t *attrs,
732  boolean docmode,
733  boolean xmlhdr,
734  boolean withns,
735  boolean expand_varexpr,
736  boolean with_owners,
737  int32 startindent,
738  int32 indent);
739 
740 
755 extern void
756  xml_wr_check_child_obj (ses_cb_t *scb,
757  xml_msg_hdr_t *msg,
758  val_value_t *val,
759  obj_template_t *objnode,
760  int32 indent,
761  val_nodetest_fn_t testfn);
762 
763 
777 extern void
778  xml_wr_check_child_obj_ex (ses_cb_t *scb,
779  xml_msg_hdr_t *msg,
780  getcb_get2_t *parent_get2cb,
781  obj_template_t *objnode,
782  int32 indent,
783  val_nodetest_fn_t testfn);
784 
785 
789 #ifdef __cplusplus
790 } /* end extern 'C' */
791 #endif
792 
793 #endif /* _H_xml_wr */
xml_msg_finish_prefix_map
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:884
ses.h
NETCONF Session Common definitions module.
ERR_NCX_SKIPPED
@ ERR_NCX_SKIPPED
2001
Definition: status_enum.h:551
xml_strlen
uint32 xml_strlen(const xmlChar *str)
Get the String len for xmlChar.
Definition: xml_util.c:1406
xml_wr_max_check_val_force
void xml_wr_max_check_val_force(ses_cb_t *scb, xml_msg_hdr_t *msg, val_value_t *val, int32 indent, val_nodetest_fn_t testfn, boolean force_xmlns, xmlns_id_t force_nsid, const xmlChar *force_name)
Generate entire val_value_t *w/filter)
Definition: xml_wr.c:3468
xml_msg_set_cur_depth
void xml_msg_set_cur_depth(xml_msg_hdr_t *msg, uint32 cur_depth)
Set the message cur_depth value.
Definition: xml_msg.c:1427
cfg.h
val_get_origin
ncx_nmda_origin_t val_get_origin(const val_value_t *val)
Get the NMDA origin value for this node.
Definition: val_util.c:7943
NCX_BT_INT32
@ NCX_BT_INT32
int32
Definition: ncxtypes.h:209
ses_finish_msg
void ses_finish_msg(ses_cb_t *scb)
Finish an outbound message on the specified session.
Definition: ses.c:3013
NCX_BT_CASE
@ NCX_BT_CASE
internal, not a real type
Definition: ncxtypes.h:227
ses_set_mode
void ses_set_mode(ses_cb_t *scb, ses_mode_t mode)
Set the output mode for the specified session.
Definition: ses.c:2895
NCX_BT_BINARY
@ NCX_BT_BINARY
binary (base64)
Definition: ncxtypes.h:218
val_has_content_ex
boolean val_has_content_ex(const val_value_t *val)
Determine if there is a value or any child nodes for this val.
Definition: val.c:10573
val_get_xpathpcb
xpath_pcb_t * val_get_xpathpcb(val_value_t *val)
Get the XPath parser control block in the specified value struct.
Definition: val_util.c:4264
val_get_owner
const xmlChar * val_get_owner(val_value_t *val)
Get the owner string for the specified value node.
Definition: val.c:13572
val_find_child_fast
val_value_t * val_find_child_fast(const val_value_t *parent, xmlns_id_t nsid, const xmlChar *childname)
Find the first instance of the specified child node.
Definition: val.c:8588
ses_new_dummy_scb
ses_cb_t * ses_new_dummy_scb(void)
Create a new dummy session control block.
Definition: ses.c:2100
VAL_NMDA_ORIGIN
#define VAL_NMDA_ORIGIN(V)
Access the NMDA origin property.
Definition: val.h:663
getcb_need_get2
boolean getcb_need_get2(obj_template_t *curobj, obj_template_t *reqobj)
check if the node has a get2 callback or in a choice/case subtree that has get2 callback
Definition: getcb.c:8233
VAL_NSID
#define VAL_NSID(V)
Access the namespace ID.
Definition: val.h:396
log_error
void log_error(const char *fstr,...) __attribute__((format(printf
Generate a new LOG_DEBUG_ERROR log entry.
obj_is_leaf_list
boolean obj_is_leaf_list(const obj_template_t *obj)
Check if object is a proper leaf-list.
Definition: obj.c:13336
NCX_BT_BOOLEAN
@ NCX_BT_BOOLEAN
boolean
Definition: ncxtypes.h:206
SES_LINELEN
#define SES_LINELEN(S)
get current out line number
Definition: ses.h:123
val.h
Value Node Basic Support.
xml_wr_full_check_val2
void xml_wr_full_check_val2(ses_cb_t *scb, xml_msg_hdr_t *msg, val_value_t *val, int32 indent, val_nodetest_fn_t testfn, boolean force_xmlns, boolean expand_varexpr, xmlns_id_t parent_nsid)
Generate entire val_value_t *w/filter)
Definition: xml_wr.c:3561
NCX_BT_INSTANCE_ID
@ NCX_BT_INSTANCE_ID
instance-identifier
Definition: ncxtypes.h:219
val_is_default
boolean val_is_default(val_value_t *val)
Check if the specified value is set to the YANG default value.
Definition: val.c:11347
xml_util.h
XML Utilities.
NCX_BT_IDREF
@ NCX_BT_IDREF
identityref
Definition: ncxtypes.h:222
VAL_IS_FIXED_VALUE
#define VAL_IS_FIXED_VALUE(V)
check if the flag is as a fixed key value for GETNEXT processing
Definition: val.h:583
getcb.h
GET1 and GET2 Callback Support.
obj_next_key
obj_key_t * obj_next_key(obj_key_t *objkey)
Get the next key record.
Definition: obj.c:9559
NCX_BT_INTERN
@ NCX_BT_INTERN
not a real type, string buffer for contents
Definition: ncxtypes.h:231
obj_first_key
obj_key_t * obj_first_key(obj_template_t *obj)
Get the first key record.
Definition: obj.c:9472
NCX_BT_LEAFREF
@ NCX_BT_LEAFREF
leafref (needs special processing)
Definition: ncxtypes.h:221
val_child_find_nsid
val_value_t * val_child_find_nsid(const val_value_t *parent, xmlns_id_t child_nsid, const xmlChar *child_name)
Find the child node for the specified child name and namespace ID.
Definition: val_child.c:1775
xmlns_ns_id
xmlns_id_t xmlns_ns_id(void)
Get the ID for the XMLNS namespace or 0 if it doesn't exist.
Definition: xmlns.c:914
log_debug3
void void void void void void void void void void void log_debug3(const char *fstr,...) __attribute__((format(printf
Generate a new LOG_DEBUG_DEBUG3 log entry.
xml_wr.h
XML Write functions.
obj_next_child_deep
obj_template_t * obj_next_child_deep(obj_template_t *obj)
Get the next child object if the specified object has any children.
Definition: obj.c:7138
ncx_num.h
NCX Module Library Number Utility Functions.
XML_MSG_ALLINONE_MODE
#define XML_MSG_ALLINONE_MODE(M)
AIO params.
Definition: xml_msg.h:304
val_is_wildcard_string
#define val_is_wildcard_string(V)
Check if the value is a wildcard string.
Definition: val.h:4983
val_get_mod_name
const xmlChar * val_get_mod_name(const val_value_t *val)
Get the module name associated with this value node.
Definition: val.c:12223
xml_msg_inc_cur_depth
void xml_msg_inc_cur_depth(xml_msg_hdr_t *mhdr)
Increment the cur_depth parameter if needed.
Definition: xml_msg.c:1652
xml_wr_check_child_obj
void xml_wr_check_child_obj(ses_cb_t *scb, xml_msg_hdr_t *msg, val_value_t *val, obj_template_t *objnode, int32 indent, val_nodetest_fn_t testfn)
Generate entire val_value_t *w/filter) for GET2.
Definition: xml_wr.c:4130
VAL_IDREF_NAME
#define VAL_IDREF_NAME(V)
Access the name string value as an identityref ONLY if NCX_BT_IDREF.
Definition: val.h:476
XML_MSG_SET_WITH_OWNERS
#define XML_MSG_SET_WITH_OWNERS(M)
Set flag that NDMA owner attributes requested.
Definition: xml_msg.h:219
XML_MSG_WITH_GET2
#define XML_MSG_WITH_GET2(M)
Check if GET2 mode requested.
Definition: xml_msg.h:228
ncx_next_backptr
ncx_backptr_t * ncx_next_backptr(ncx_backptr_t *curptr)
Get next back pointer struct.
Definition: ncx.c:11545
val_is_metaval
boolean val_is_metaval(const val_value_t *val)
Check if the value is a meta-val (XML attribute)
Definition: val.c:12631
xpath_yang_get_namespaces
status_t xpath_yang_get_namespaces(const xpath_pcb_t *pcb, ncx_prefix_info_t *nsid_array, uint32 max_nsids, uint32 *num_nsids)
Get the namespace URI IDs used in the specified XPath expression;.
Definition: xpath_yang.c:3297
ses_add_indent
int32 ses_add_indent(ses_cb_t *scb, int32 indent)
Add in the new indent amount.
Definition: ses.c:4515
XML_MSG_WITH_OWNERS
#define XML_MSG_WITH_OWNERS(M)
Check if NDMA owner attributes requested.
Definition: xml_msg.h:216
val_get_value_ex
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)
Definition: val_util.c:6161
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.
Definition: obj.c:14278
xpath_wr.h
Write an XPath expression to a session output in normalized format.
NCX_BT_ANYDATA
@ NCX_BT_ANYDATA
YANG 1.1 anydata.
Definition: ncxtypes.h:229
ERR_NCX_NO_INSTANCE
@ ERR_NCX_NO_INSTANCE
1009
Definition: status_enum.h:498
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.
Definition: obj.c:13304
xml_msg_dec_cur_depth
void xml_msg_dec_cur_depth(xml_msg_hdr_t *mhdr)
Decrement the cur_depth parameter if needed.
Definition: xml_msg.c:1674
VAL_NAME
#define VAL_NAME(V)
Access the value name.
Definition: val.h:399
ncxconst.h
Contains NCX constants.
NCX_PROTO_YUMA_YANGAPI
@ NCX_PROTO_YUMA_YANGAPI
YumaPro YANG-API 1.0.
Definition: ncxtypes.h:785
xml_msg_get_withdef
ncx_withdefaults_t xml_msg_get_withdef(xml_msg_hdr_t *msg)
Get the message withdef enum.
Definition: xml_msg.c:1309
ncx_use_objptrs
boolean ncx_use_objptrs(void)
Get the use_objptrs flag.
Definition: ncx.c:12647
xml_msg_get_prefix_xpath
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:641
xml_wr_begin_elem
void xml_wr_begin_elem(ses_cb_t *scb, xml_msg_hdr_t *msg, xmlns_id_t parent_nsid, xmlns_id_t nsid, const xmlChar *elname, int32 indent)
Write a start XML tag to the specified session without attributes.
Definition: xml_wr.c:3040
xml_clean_attrs
void xml_clean_attrs(xml_attrs_t *attrs)
clean an xml_attrs_t variable
Definition: xml_util.c:1243
NCX_BT_UINT8
@ NCX_BT_UINT8
uint8
Definition: ncxtypes.h:211
ncx_first_objptr
ncx_backptr_t * ncx_first_objptr(void)
Get the first object pointer.
Definition: ncx.c:12662
val_get_last_modified
time_t * val_get_last_modified(val_value_t *val)
Get the last_modified field.
Definition: val.c:13505
obj_is_list
boolean obj_is_list(const obj_template_t *obj)
Check if object is a YANG list.
Definition: obj.c:13349
ses_putchar
void ses_putchar(ses_cb_t *scb, uint32 ch)
Write one char to the session, without any translation.
Definition: ses.c:2353
NCX_WITHDEF_REPORT_ALL
@ NCX_WITHDEF_REPORT_ALL
report-all
Definition: ncxtypes.h:1012
VAL_ENUM_NAME
#define VAL_ENUM_NAME(V)
Access the enum name in the value ONLY if BCX_NT_ENUM This is the macro used to check values in SIL c...
Definition: val.h:434
xmlns_id_t
uint16 xmlns_id_t
integer handle for registered namespaces
Definition: xmlns.h:89
xml_wr_file
status_t xml_wr_file(const xmlChar *filespec, val_value_t *val, xml_attrs_t *attrs, boolean docmode, boolean xmlhdr, boolean withns, boolean expand_varexpr, boolean with_owners, int32 startindent, int32 indent)
Write the specified value to a FILE in XML format.
Definition: xml_wr.c:4094
xml_wr_check_child_obj_ex
void xml_wr_check_child_obj_ex(ses_cb_t *scb, xml_msg_hdr_t *msg, getcb_get2_t *parent_get2cb, obj_template_t *objnode, int32 indent, val_nodetest_fn_t testfn)
Write an entire <get2> val_value_t out from the obj_template_t callback.
Definition: xml_wr.c:4191
xml_wr_check_open_file_ex
status_t xml_wr_check_open_file_ex(FILE *fp, val_value_t *val, xml_attrs_t *attrs, boolean docmode, boolean xmlhdr, boolean withns, boolean expand_varexpr, boolean with_owners, boolean top_meta, int32 startindent, int32 indent, val_nodetest_fn_t testfn)
Write the specified value to an open FILE in XML format Extended.
Definition: xml_wr.c:3785
xml_wr_uint32_elem
void xml_wr_uint32_elem(ses_cb_t *scb, xml_msg_hdr_t *msg, uint32 num, xmlns_id_t parent_nsid, xmlns_id_t nsid, const xmlChar *elname, const dlq_hdr_t *attrQ, boolean isattrq, int32 indent)
Write a start tag, simple uint32 content, and an end tag to the specified session.
Definition: xml_wr.c:3181
obj_is_leafy
boolean obj_is_leafy(const obj_template_t *obj)
Check if object is a proper leaf or leaflist.
Definition: obj.c:13478
xmlns_ywattrs_id
xmlns_id_t xmlns_ywattrs_id(void)
Get the ID for the YumaWorks attributes namespace or 0 if it doesn't exist.
Definition: xmlns.c:1090
val_nodetest_fn_t
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.
Definition: val_util.h:132
NCX_BT_ENUM
@ NCX_BT_ENUM
enumeration
Definition: ncxtypes.h:204
NO_ERR
@ NO_ERR
000
Definition: status_enum.h:188
xpath.h
Schema and data model Xpath search support.
NCX_BT_LIST
@ NCX_BT_LIST
internal, YANG list
Definition: ncxtypes.h:228
ses_clean_breadcrumbQ
void ses_clean_breadcrumbQ(ses_cb_t *scb)
Clean the breadcrumbQ.
Definition: ses.c:4841
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...
Definition: obj.c:11871
NCX_PROTO_RESTCONF
@ NCX_PROTO_RESTCONF
IETF RESTCONF.
Definition: ncxtypes.h:788
xml_msg_get_prefix
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:525
NCX_BT_UINT64
@ NCX_BT_UINT64
uint64
Definition: ncxtypes.h:214
getcb_get2_allowed
boolean getcb_get2_allowed(xml_msg_hdr_t *msg, obj_template_t *chobj)
Check if the current node and operation are allowed to use the GET2 callback if there is one; Used to...
Definition: getcb.c:8931
xml_init_attrs
void xml_init_attrs(xml_attrs_t *attrs)
initialize an xml_attrs_t variable
Definition: xml_util.c:745
val_get_nsid
xmlns_id_t val_get_nsid(const val_value_t *val)
Get the namespace ID for the specified value node.
Definition: val.c:12277
log_debug4
void void void void void void void void void void void void void log_debug4(const char *fstr,...) __attribute__((format(printf
Generate a new LOG_DEBUG_DEBUG4 log entry.
obj_get_name
const xmlChar * obj_get_name(const obj_template_t *obj)
Get the name field for this obj.
Definition: obj.c:10511
XML_MSG_NO_PREFIX
#define XML_MSG_NO_PREFIX(M)
Clear the message flag to use XML prefixes.
Definition: xml_msg.h:156
getcb_get2_child_obj
status_t getcb_get2_child_obj(ses_cb_t *scb, xml_msg_hdr_t *msg, val_value_t *parentval, getcb_get2_t *parent_get2cb, obj_template_t *obj, boolean with_defaults, getcb_get2_walker_fn_t walkerfn, void *cookie)
Process the instances of an object for the object itself and 0 or more nest levels of descendant node...
Definition: getcb.c:7541
NCX_WITHDEF_REPORT_ALL_TAGGED
@ NCX_WITHDEF_REPORT_ALL_TAGGED
report-all-tagged
Definition: ncxtypes.h:1013
ses_putastr
void ses_putastr(ses_cb_t *scb, const xmlChar *str, int32 indent)
write XML attribute safe content string Write a zero-terminated attribute content string to the sessi...
Definition: ses.c:2646
val_is_config_data
boolean val_is_config_data(const val_value_t *val)
Check if the specified value is a config DB object instance.
Definition: val.c:11157
TSTAMP_HTML_SIZE
#define TSTAMP_HTML_SIZE
minimum buffer size for HTML format string
Definition: tstamp.h:76
ERR_INTERNAL_VAL
@ ERR_INTERNAL_VAL
004
Definition: status_enum.h:194
xmlns_wda_id
xmlns_id_t xmlns_wda_id(void)
Get the ID for the wd:default XML attribute namespace or 0 if it doesn't exist.
Definition: xmlns.c:1071
xmlns_find_ns_by_module
xmlns_id_t xmlns_find_ns_by_module(const xmlChar *modname)
Find the NS ID from its module name that registered it.
Definition: xmlns.c:712
SES_MODE_XML
@ SES_MODE_XML
XML mode.
Definition: ses.h:379
VAL_PASSWORD_STRING
#define VAL_PASSWORD_STRING
display instead of readl password contents
Definition: val.h:173
val_util.h
Value Node Utilities.
xml_msg_test_max_depth
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:1711
ses_indent_count
int32 ses_indent_count(const ses_cb_t *scb)
Get the logging indent count for this session.
Definition: ses.c:2801
xml_wr_max_check_val
void xml_wr_max_check_val(ses_cb_t *scb, xml_msg_hdr_t *msg, val_value_t *val, int32 indent, val_nodetest_fn_t testfn, boolean force_xmlns)
Generate entire val_value_t *w/filter)
Definition: xml_wr.c:3423
ses_putcstr
void ses_putcstr(ses_cb_t *scb, const xmlChar *str, int32 indent)
write XML element safe content string Write a zero-terminated element content string to the session
Definition: ses.c:2522
NCX_NMDA_ORIGIN_NONE
@ NCX_NMDA_ORIGIN_NONE
not set
Definition: ncxtypes.h:1349
NCX_BT_INT64
@ NCX_BT_INT64
int64
Definition: ncxtypes.h:210
val_get_idref_nsid
xmlns_id_t val_get_idref_nsid(const val_value_t *val)
get the true namespace ID for the identityref value
Definition: val_util.c:8081
XML_MSG_GET2CB
#define XML_MSG_GET2CB(M)
GET2 control block backptr.
Definition: xml_msg.h:273
val_get_varexpr
const xmlChar * val_get_varexpr(const val_value_t *val)
Get the varexpr field if set; NULL if not set.
Definition: val.c:15486
xml_strlen_sp
uint32 xml_strlen_sp(const xmlChar *str, boolean *sp)
get length and check if any whitespace at the same time
Definition: xml_util.c:1443
NCX_BT_EMPTY
@ NCX_BT_EMPTY
empty
Definition: ncxtypes.h:205
NCX_BT_UINT16
@ NCX_BT_UINT16
uint16
Definition: ncxtypes.h:212
rpc_new_out_msg
rpc_msg_t * rpc_new_out_msg(void)
Malloc and initialize a new rpc_msg_t struct for output or for dummy use.
Definition: rpc.c:126
ERR_INTERNAL_MEM
@ ERR_INTERNAL_MEM
003
Definition: status_enum.h:193
val_child.h
Value Node Child Access Support.
xml_wr_end_elem
void xml_wr_end_elem(ses_cb_t *scb, xml_msg_hdr_t *msg, xmlns_id_t nsid, const xmlChar *elname, int32 indent)
Write an end tag to the specified session.
Definition: xml_wr.c:3114
ERR_INTERNAL_PTR
@ ERR_INTERNAL_PTR
002
Definition: status_enum.h:192
ncx_obj_is_generic
boolean ncx_obj_is_generic(const obj_template_t *obj)
Check if the object is 1 of the gen_foo object templates.
Definition: ncx.c:13013
tstamp_time2datetime
void tstamp_time2datetime(time_t *timerec, xmlChar *buff)
Convert the specified time_t to a YANG data-and-time format.
Definition: tstamp.c:457
val_need_owner_string
boolean val_need_owner_string(val_value_t *val)
Check if the owner string is needed when generating ywx:owner attrs.
Definition: val.c:13622
NCX_BT_CONTAINER
@ NCX_BT_CONTAINER
internal container
Definition: ncxtypes.h:225
log_debug
void void void void void void void log_debug(const char *fstr,...) __attribute__((format(printf
Generate a new LOG_DEBUG_DEBUG log entry.
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.
Definition: obj.c:12733
xml_msg_get_cur_depth
uint32 xml_msg_get_cur_depth(xml_msg_hdr_t *msg)
Get the message cur_depth value.
Definition: xml_msg.c:1411
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 retur...
Definition: obj.c:11174
xml_wr_full_val
void xml_wr_full_val(ses_cb_t *scb, xml_msg_hdr_t *msg, val_value_t *val, int32 indent)
Generate entire val_value_t.
Definition: xml_wr.c:3650
xml_wr_full_val_origin
void xml_wr_full_val_origin(ses_cb_t *scb, xml_msg_hdr_t *msg, val_value_t *val, int32 indent)
Generate entire val_value_t with NMDA origin.
Definition: xml_wr.c:3677
obj_is_case
boolean obj_is_case(const obj_template_t *obj)
Check if object is a YANG case.
Definition: obj.c:13445
xml_msg_build_prefix_map
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:839
dlq_nextEntry
#define dlq_nextEntry(nodeP)
get the next queue entry after the current entry
Definition: dlq.h:265
XML_MSG_USE_PREFIX
#define XML_MSG_USE_PREFIX(M)
Set the message flag to use XML prefixes.
Definition: xml_msg.h:153
ses_get_mode
ses_mode_t ses_get_mode(ses_cb_t *scb)
Get the output mode for the specified session.
Definition: ses.c:2914
xml_wr_check_val
void xml_wr_check_val(ses_cb_t *scb, xml_msg_hdr_t *msg, val_value_t *val, int32 indent, val_nodetest_fn_t testfn)
Write an NCX value in XML encoding while checking nodes for suppression of output with the supplied t...
Definition: xml_wr.c:3357
NCX_PROTO_YCONTROL
@ NCX_PROTO_YCONTROL
YumaPro Internal Control 1.0.
Definition: ncxtypes.h:787
val_write_intern
void val_write_intern(ses_cb_t *scb, const val_value_t *val)
Write an internal buffer to the session.
Definition: val_util.c:6078
xml_wr_full_check_val
void xml_wr_full_check_val(ses_cb_t *scb, xml_msg_hdr_t *msg, val_value_t *val, int32 indent, val_nodetest_fn_t testfn, boolean expand_varexpr)
Generate entire val_value_t *w/filter)
Definition: xml_wr.c:3517
val_make_sprintf_string
xmlChar * val_make_sprintf_string(const val_value_t *val)
Malloc a buffer and then sprintf the xmlChar string NETCONF representation of a simple value.
Definition: val.c:10323
obj_is_np_container
boolean obj_is_np_container(const obj_template_t *obj)
Check if the object is an Non-Presence-container.
Definition: obj.c:14487
xml_msg_get_max_depth
uint32 xml_msg_get_max_depth(xml_msg_hdr_t *msg)
Get the message max_depth value.
Definition: xml_msg.c:1343
xml_wr_qname_elem
void xml_wr_qname_elem(ses_cb_t *scb, xml_msg_hdr_t *msg, xmlns_id_t val_nsid, const xmlChar *str, xmlns_id_t parent_nsid, xmlns_id_t nsid, const xmlChar *elname, const dlq_hdr_t *attrQ, boolean isattrq, int32 indent, boolean isdefault)
Write a start tag, QName string content, and an end tag to the specified session.
Definition: xml_wr.c:3287
xml_wr_begin_elem_ex
void xml_wr_begin_elem_ex(ses_cb_t *scb, xml_msg_hdr_t *msg, xmlns_id_t parent_nsid, xmlns_id_t nsid, const xmlChar *elname, const dlq_hdr_t *attrQ, boolean isattrq, int32 indent, boolean empty)
Write a start or empty XML tag to the specified session.
Definition: xml_wr.c:3001
xpath_yang.h
YANG-specific Xpath support.
NCX_MAX_NUMLEN
#define NCX_MAX_NUMLEN
max number len to use for static buffer allocation only
Definition: ncxconst.h:136
xml_msg.h
XML and JSON Message send and receive support.
xml_wr_string_elem
void xml_wr_string_elem(ses_cb_t *scb, xml_msg_hdr_t *msg, const xmlChar *str, xmlns_id_t parent_nsid, xmlns_id_t nsid, const xmlChar *elname, const dlq_hdr_t *attrQ, boolean isattrq, int32 indent)
Write a start tag, simple string content, and an end tag to the specified session.
Definition: xml_wr.c:3235
ncx_nmda.h
NMDA Data Support.
ncx_sprintf_num
status_t ncx_sprintf_num(xmlChar *buff, const ncx_num_t *num, ncx_btype_t btyp, uint32 *len)
Sprintf a ncx_num_t contents.
Definition: ncx_num.c:2357
log_debug4_append
void void void void void void void void void void void void void void log_debug4_append(const char *fstr,...) __attribute__((format(printf
Append to a LOG_DEBUG_DEBUG4 log entry.
val_has_content
boolean val_has_content(const val_value_t *val)
Determine if there is a value or any child nodes for this val.
Definition: val.c:10527
typ_is_simple
boolean typ_is_simple(ncx_btype_t btyp)
Check if this is a simple data type.
Definition: typ.c:3107
NCX_BT_ANY
@ NCX_BT_ANY
anyxml
Definition: ncxtypes.h:202
NCX_BT_SLIST
@ NCX_BT_SLIST
ncx:xsdlist extension (internal, deprecated)
Definition: ncxtypes.h:223
ses_indent
void ses_indent(ses_cb_t *scb, int32 indent)
Write the proper newline + indentation to the specified session.
Definition: ses.c:2768
EMPTY_STRING
#define EMPTY_STRING
empty string used to get const xmlChar * cast
Definition: ncxconst.h:289
ses_dropped
boolean ses_dropped(const ses_cb_t *scb)
Check if the session has been dropped by the client.
Definition: ses.c:4860
ses_set_xml_nons
void ses_set_xml_nons(ses_cb_t *scb)
force xmlns attributes to be skipped in XML mode
Definition: ses.c:3741
xml_strcmp
int xml_strcmp(const xmlChar *s1, const xmlChar *s2)
String compare for xmlChar.
Definition: xml_util.c:1746
VAL_BOOL
#define VAL_BOOL(V)
Access the value as a boolean ONLY IF btyp == NCX_BT_BOOLEAN.
Definition: val.h:405
val_get_next_child
val_value_t * val_get_next_child(const val_value_t *curchild)
Get the next child node.
Definition: val.c:8496
xml_wr_file_write_check_val
void xml_wr_file_write_check_val(ses_cb_t *scb, xml_msg_hdr_t *msg, val_value_t *val, int32 indent, val_nodetest_fn_t testfn, boolean expand_varexpr, boolean file_write)
Generate entire val_value_t *w/filter)
Definition: xml_wr.c:3609
obj_is_choice
boolean obj_is_choice(const obj_template_t *obj)
Check if object is a YANG choice.
Definition: obj.c:13425
LOGDEBUG4
#define LOGDEBUG4
Check if at least log-level=debug4.
Definition: log.h:302
XML_MSG_WITH_ORIGIN
#define XML_MSG_WITH_ORIGIN(M)
NMDA with-origin requested.
Definition: xml_msg.h:319
getcb_handle_acmtest
status_t getcb_handle_acmtest(ses_cb_t *scb, xml_msg_hdr_t *msg, val_nodetest_fn_t testfn, getcb_get2_t *get2cb)
check the access control and testfn callback for a node that would have it skipped because the write_...
Definition: getcb.c:7661
ERR_BUFF_OVFL
@ ERR_BUFF_OVFL
106
Definition: status_enum.h:218
ncxtypes.h
YANG module data structures Many internal representations of YANG module constructs.
xmlns_nc_id
xmlns_id_t xmlns_nc_id(void)
Get the ID for the NETCONF namespace or 0 if it doesn't exist.
Definition: xmlns.c:880
ncx_nmda_get_origin_str
const xmlChar * ncx_nmda_get_origin_str(ncx_nmda_origin_t or_enum)
Get the standard origin string for the enum.
Definition: ncx_nmda.c:455
LOGDEBUG
#define LOGDEBUG
Check if at least log-level=debug.
Definition: log.h:287
ses_dec_indent
int32 ses_dec_indent(ses_cb_t *scb, int32 indent)
Remove the specified indent amount.
Definition: ses.c:4549
xml_wr_empty_elem
void xml_wr_empty_elem(ses_cb_t *scb, xml_msg_hdr_t *msg, xmlns_id_t parent_nsid, xmlns_id_t nsid, const xmlChar *elname, int32 indent)
Write an empty XML tag to the specified session without attributes.
Definition: xml_wr.c:3076
xml_wr_check_open_file
status_t xml_wr_check_open_file(FILE *fp, val_value_t *val, xml_attrs_t *attrs, boolean docmode, boolean xmlhdr, boolean withns, boolean expand_varexpr, boolean with_owners, int32 startindent, int32 indent, val_nodetest_fn_t testfn)
Write the specified value to an open FILE in XML format.
Definition: xml_wr.c:3731
val_find_next_child_fast
val_value_t * val_find_next_child_fast(const val_value_t *parent, const val_value_t *curchild)
Find the next instance of the specified child node.
Definition: val.c:8774
xml_msg_get_start_depth
uint32 xml_msg_get_start_depth(xml_msg_hdr_t *msg)
Get the message start_depth value.
Definition: xml_msg.c:1377
xml_wr_check_file
status_t xml_wr_check_file(const xmlChar *filespec, val_value_t *val, xml_attrs_t *attrs, boolean docmode, boolean xmlhdr, boolean withns, boolean expand_varexpr, boolean with_owners, int32 startindent, int32 indent, val_nodetest_fn_t testfn)
Write the specified value to a FILE in XML format.
Definition: xml_wr.c:4036
xml_wr_buff
void xml_wr_buff(ses_cb_t *scb, const xmlChar *buff, uint32 bufflen)
Write some xmlChars to the specified session.
Definition: xml_wr.c:2961
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.
Definition: obj.c:18349
NCX_BT_BITS
@ NCX_BT_BITS
bits
Definition: ncxtypes.h:203
NCX_BT_FLOAT64
@ NCX_BT_FLOAT64
hidden: just for XPath
Definition: ncxtypes.h:216
NCX_BT_UINT32
@ NCX_BT_UINT32
uint32
Definition: ncxtypes.h:213
val_get_first_child
val_value_t * val_get_first_child(const val_value_t *parent)
Get the first child node.
Definition: val.c:8477
getcb_log_walker
void getcb_log_walker(const xmlChar *caller, getcb_walker_mode_t walker_mode, const xmlChar *objname, const xmlChar *valname)
Print some logging info for a GET2 walker consumer callback.
Definition: getcb.c:8725
SES_MODE_XMLDOC
@ SES_MODE_XMLDOC
XML documentation mode.
Definition: ses.h:380
typ_is_string
boolean typ_is_string(ncx_btype_t btyp)
Check if the base type is a simple string (not list)
Definition: typ.c:4097
dlq_empty
#define dlq_empty(listP)
check if queue list is empty
Definition: dlq.h:367
val_has_children
boolean val_has_children(const val_value_t *val)
Determine if there are any child nodes for this val.
Definition: val.c:13719
rpc_free_msg
void rpc_free_msg(rpc_msg_t *msg)
Free all the memory used by the specified rpc_msg_t.
Definition: rpc.c:152
xml_wr_val
void xml_wr_val(ses_cb_t *scb, xml_msg_hdr_t *msg, val_value_t *val, int32 indent)
Output val_value_t node contents only.
Definition: xml_wr.c:3394
ses_get_xml_nons
boolean ses_get_xml_nons(const ses_cb_t *scb)
force xmlns attributes to be skipped in XML mode
Definition: ses.c:3761
SES_LINESIZE
#define SES_LINESIZE(S)
get current line size
Definition: ses.h:126
val_get_metaQ
dlq_hdr_t * val_get_metaQ(val_value_t *val)
Get the meta Q header for the value.
Definition: val.c:5391
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.
Definition: obj.c:7084
VAL_BTYPE
#define VAL_BTYPE(V)
Access the base type : same as VAL_TYPE.
Definition: val.h:548
ncx_get_backptr_node
void * ncx_get_backptr_node(ncx_backptr_t *backptr)
Get the back pointer node pointer.
Definition: ncx.c:11577
dlq_firstEntry
#define dlq_firstEntry(listP)
get the first entry in the queue list
Definition: dlq.h:337
VAL_OBJ
#define VAL_OBJ(V)
Access the object template.
Definition: val.h:381
ncx.h
YANG module utility functions.
xml_attrs_t
dlq_hdr_t xml_attrs_t
queue of xml_attr_t
Definition: xml_util.h:151
obj.h
Data Object Support.
SES_PROTOCOL
#define SES_PROTOCOL(S)
get the session protocol enum
Definition: ses.h:186
getcb_find_return_key
val_value_t * getcb_find_return_key(getcb_get2_t *get2cb, obj_template_t *obj)
Find a return keyval in the get2cb return_keyQ.
Definition: getcb.c:6253
val_get_parent_nsid
xmlns_id_t val_get_parent_nsid(const val_value_t *val)
Try to get the parent namespace ID.
Definition: val.c:11476
ses_start_msg
status_t ses_start_msg(ses_cb_t *scb)
Start a new outbound message on the specified session.
Definition: ses.c:2970
xmlns_get_ns_name
const xmlChar * xmlns_get_ns_name(xmlns_id_t ns_id)
Get the name for the specified namespace.
Definition: xmlns.c:690
YANGAPI_MODULE
#define YANGAPI_MODULE
Obsolete YANG-API module.
Definition: ncxconst.h:83
NCX_BT_EXTERN
@ NCX_BT_EXTERN
not a real type, points fo file for contents
Definition: ncxtypes.h:230
ncx_file_close
void ncx_file_close(FILE *fp)
Close a file; check result.
Definition: ncx.c:13235
val_sprintf_etag
status_t val_sprintf_etag(val_value_t *val, xmlChar *buff, int32 buffsize)
Write the Entity Tag for the value to the specified buffer.
Definition: val.c:13472
XML_MSG_GET2_TARGET
#define XML_MSG_GET2_TARGET(M)
GET2 request target terminal node.
Definition: xml_msg.h:270
VAL_STR
#define VAL_STR(V)
Access the value as a string ONLY if typ_is_string() is true.
Definition: val.h:464
ses_free_scb
void ses_free_scb(ses_cb_t *scb)
Free a session control block.
Definition: ses.c:2221
SET_ERROR
#define SET_ERROR(E)
macro SET_ERROR
Definition: status_enum.h:103
ses_putstr
void ses_putstr(ses_cb_t *scb, const xmlChar *str)
Write a zero-terminated string to the session.
Definition: ses.c:2460
NCX_BT_DECIMAL64
@ NCX_BT_DECIMAL64
decimal64
Definition: ncxtypes.h:215
obj_is_xpath_string
boolean obj_is_xpath_string(const obj_template_t *obj)
Check if object is an XPath string.
Definition: obj.c:14394
NCX_BT_CHOICE
@ NCX_BT_CHOICE
internal choice, not really used
Definition: ncxtypes.h:226
ERR_FIL_OPEN
@ ERR_FIL_OPEN
system errors start at 100
Definition: status_enum.h:212
NCX_BT_STRING
@ NCX_BT_STRING
string
Definition: ncxtypes.h:217
WILDCARD_STRING
#define WILDCARD_STRING
yangcli test-suite allows wildcards in leafy nodes using the wildcar string
Definition: ncxconst.h:1678
val_expand_var_expr
status_t val_expand_var_expr(val_value_t *val, xmlChar **retstr)
Expand the variable expression if found.
Definition: val_util.c:6759
NCX_BT_INT8
@ NCX_BT_INT8
int8
Definition: ncxtypes.h:207
xmlns.h
XML namespace support.
val_free_value
void val_free_value(val_value_t *val)
Scrub the memory in a val_value_t by freeing all the sub-fields and then freeing the entire struct it...
Definition: val.c:2842
obj_is_root
boolean obj_is_root(const obj_template_t *obj)
Check if object is marked as a root object.
Definition: obj.c:14152
status.h
Global error messages for status code enumerations.
NCX_BT_NONE
@ NCX_BT_NONE
base type not set
Definition: ncxtypes.h:201
yangapi.h
YANG-API definitions (pre-RESTCONF)
obj_is_password
boolean obj_is_password(const obj_template_t *obj)
Check if object is marked as a password object.
Definition: obj.c:14195
obj_get_nsid
xmlns_id_t obj_get_nsid(const obj_template_t *obj)
Get the namespace ID for this object.
Definition: obj.c:12395
dlq.h
dlq provides general double-linked list and queue support:
val_get_const_xpathpcb
const xpath_pcb_t * val_get_const_xpathpcb(const val_value_t *val)
Get the XPath parser control block in the specified value struct.
Definition: val_util.c:4351
val_fit_oneline
boolean val_fit_oneline(const val_value_t *val, uint32 linesize, boolean isxml)
Check if the XML encoding for the specified val_value_t should take one line or more than one line.
Definition: val.c:10960
val_write_extern
void val_write_extern(ses_cb_t *scb, const val_value_t *val)
Write an external file to the session.
Definition: val_util.c:5982
LOGDEBUG3
#define LOGDEBUG3
Check if at least log-level=debug3.
Definition: log.h:297
xmlns_origin_id
xmlns_id_t xmlns_origin_id(void)
Get the ID for the ietf-origin namespace or 0 if it doesn't exist.
Definition: xmlns.c:1108
SES_MODE_NONE
@ SES_MODE_NONE
not set
Definition: ses.h:378
NCX_BT_INT16
@ NCX_BT_INT16
int16
Definition: ncxtypes.h:208