40 #include <xmlstring.h> 41 #include <xmlregexp.h> 65 #define OBJ_KEYOBJ(KO) (KO)->keyobj 68 #define OBJ_DEF_CONFIG TRUE 71 #define OBJ_DEF_MANDATORY FALSE 75 #define OBJ_NUM_XPATH_BACKPTRS 2 78 #define OBJ_DEF_SIL_PRIORITY 255 79 #define OBJ_MIN_SIL_PRIORITY 1 80 #define OBJ_MAX_SIL_PRIORITY 255 86 #define OBJ_FL_CLONE bit0 89 #define OBJ_FL_CLI_TEXT_BLOCK bit1 95 #define OBJ_FL_AUGCLONE bit2 98 #define OBJ_FL_DELETED bit3 101 #define OBJ_FL_CDIRTY bit4 104 #define OBJ_FL_TOP bit5 109 #define OBJ_FL_EMPTY bit6 112 #define OBJ_FL_SEEN bit7 118 #define OBJ_FL_RDIRTY bit7 121 #define OBJ_FL_DIFF bit8 124 #define OBJ_FL_HIDDEN bit9 127 #define OBJ_FL_ROOT bit10 130 #define OBJ_FL_PASSWD bit11 133 #define OBJ_FL_CLI bit12 136 #define OBJ_FL_XSDLIST bit13 139 #define OBJ_FL_KEY bit14 142 #define OBJ_FL_ABSTRACT bit15 145 #define OBJ_FL_CONFSET bit16 148 #define OBJ_FL_CONFIG bit17 151 #define OBJ_FL_MANDSET bit18 154 #define OBJ_FL_MANDATORY bit19 157 #define OBJ_FL_UNIQUE bit20 160 #define OBJ_FL_XPATH bit21 163 #define OBJ_FL_QNAME bit22 166 #define OBJ_FL_SCHEMAINST bit23 169 #define OBJ_FL_SECURE bit24 172 #define OBJ_FL_VERY_SECURE bit25 175 #define OBJ_FL_CLI_EQUALS_OK bit26 178 #define OBJ_FL_SIL_DELETE_CHILDREN_FIRST bit27 181 #define OBJ_FL_BLOCK_CREATE bit28 184 #define OBJ_FL_BLOCK_UPDATE bit29 187 #define OBJ_FL_BLOCK_DELETE bit30 190 #define OBJ_FL_RPC_ROOT bit31 196 #define OBJ_FL_DEF_NPCON bit0 202 #define OBJ_FL_ENABLED_CHK bit1 207 #define OBJ_FL_ENABLED bit2 212 #define OBJ_FL_DUP_LOCAL bit3 218 #define OBJ_FL_EXCLUSIVE_RPC bit4 223 #define OBJ_FL_SIL_FORCE_REPLAY bit5 228 #define OBJ_FL_SIL_FORCE_REPLACE_REPLAY bit6 235 #define OBJ_FL_DATAPATH bit7 241 #define OBJ_FL_REMOTE_GET2 bit8 246 #define OBJ_FL_FREE_UNITS bit9 251 #define OBJ_FL_FREE_TYPDEF bit10 255 #define OBJ_FL_EDIT2_MODE bit11 261 #define OBJ_FL_SKIP_LEAFREF bit12 267 #define OBJ_FL_YANG_HASH bit13 272 #define OBJ_FL_YANG_REHASH bit14 277 #define OBJ_FL_CBSET_MALLOCED bit15 280 #define OBJ_FL_GENERIC bit16 283 #define OBJ_FL_DEF_DONE bit17 286 #define OBJ_FL_DEF bit18 289 #define OBJ_FL_LIBMODE bit19 292 #define OBJ_FL_SMIV2_OID bit20 295 #define OBJ_FL_NO_NVSTORE bit21 298 #define OBJ_FL_NO_SIL_DELETE_CHILDREN_FIRST bit22 301 #define OBJ_FL_YANGMAP_SOURCE bit23 304 #define OBJ_FL_YANGMAP_TARGET bit24 307 #define OBJ_FL_YANGMAP_CHILD bit25 310 #define OBJ_FL_YANGMAP_KEY bit26 313 #define OBJ_FL_DUP_LOCAL_DONE bit27 320 #define OBJ_FL_TRANS_HOOK_SET bit29 326 #define OBJ_FL_GET_WHEN_SET bit30 332 #define OBJ_FL_GET_WHEN bit31 341 #define OBJ_FL_AIO_GET2 bit0 350 #define OBJ_FL_AIO_PARENT bit1 356 #define OBJ_FL_AIO_GET2_XML bit2 362 #define OBJ_FL_AIO_GET2_JSON bit3 368 #define OBJ_FL_DEF_HOOK bit4 374 #define OBJ_FL_OC_HASHED_VALUE bit5 380 #define OBJ_FL_BAN_NOLOCK_GET bit6 397 #define OBJ_FL_SIL_BUSY bit0 399 #define OBJ_TYPE(OBJ) (OBJ)->objtype 401 #define OBJ_INDEX(OBJ) (OBJ)->index 406 #define OBJ_SET_TOP(OBJ) (OBJ)->flags |= OBJ_FL_TOP 408 #define OBJ_SET_SIL_BUSY(OBJ) (OBJ)->silflags |= OBJ_FL_SIL_BUSY 410 #define OBJ_CLEAR_SIL_BUSY(OBJ) (OBJ)->silflags &= ~OBJ_FL_SIL_BUSY 412 #define OBJ_IS_SIL_BUSY(OBJ) ((OBJ)->silflags & OBJ_FL_SIL_BUSY) 414 #define OBJ_GET_CBSET(OBJ) (OBJ)->cbset 418 #define OBJ_SET_REMOTE_GET2(OBJ) (OBJ)->xflags |= OBJ_FL_REMOTE_GET2 420 #define OBJ_CLEAR_REMOTE_GET2(OBJ) (OBJ)->xflags &= ~OBJ_FL_REMOTE_GET2 422 #define OBJ_HAS_REMOTE_GET2(OBJ) ((OBJ)->xflags & OBJ_FL_REMOTE_GET2) 424 #define OBJ_SET_GET2CB(OBJ, CB) (OBJ)->get2cb = CB 426 #define OBJ_GET_GET2CB(OBJ) (getcb_fn2_t)(OBJ)->get2cb 428 #define OBJ_SET_EDIT2_MODE(OBJ) (OBJ)->xflags |= OBJ_FL_EDIT2_MODE 430 #define OBJ_IS_EDIT2_MODE(OBJ) ((OBJ)->xflags & OBJ_FL_EDIT2_MODE) 434 #define OBJ_SET_SKIP_LEAFREF(OBJ) (OBJ)->xflags |= OBJ_FL_SKIP_LEAFREF 436 #define OBJ_IS_SKIP_LEAFREF(OBJ) ((OBJ)->xflags & OBJ_FL_SKIP_LEAFREF) 441 #define OBJ_SET_YANG_HASH(OBJ) (OBJ)->xflags |= OBJ_FL_YANG_HASH 443 #define OBJ_IS_YANG_HASH(OBJ) ((OBJ)->xflags & OBJ_FL_YANG_HASH) 447 #define OBJ_SET_YANG_REHASH(OBJ) (OBJ)->xflags |= OBJ_FL_YANG_REHASH 449 #define OBJ_IS_YANG_REHASH(OBJ) ((OBJ)->xflags & OBJ_FL_YANG_REHASH) 453 #define OBJ_SET_CBSET_MALLOCED(OBJ) (OBJ)->xflags |= OBJ_FL_CBSET_MALLOCED 455 #define OBJ_IS_CBSET_MALLOCED(OBJ) ((OBJ)->xflags & OBJ_FL_CBSET_MALLOCED) 457 #define OBJ_CLEAR_CBSET_MALLOCED(OBJ) (OBJ)->xflags &= ~OBJ_FL_CBSET_MALLOCED 460 #define OBJ_SET_GENERIC(OBJ) (OBJ)->xflags |= OBJ_FL_GENERIC 462 #define OBJ_IS_GENERIC(OBJ) ((OBJ)->xflags & OBJ_FL_GENERIC) 466 #define OBJ_SET_DEF_DONE(OBJ) (OBJ)->xflags |= OBJ_FL_DEF_DONE 468 #define OBJ_IS_DEF_DONE(OBJ) ((OBJ)->xflags & OBJ_FL_DEF_DONE) 470 #define OBJ_SET_DEF(OBJ) (OBJ)->xflags |= OBJ_FL_DEF 472 #define OBJ_IS_DEF(OBJ) ((OBJ)->xflags & OBJ_FL_DEF) 475 #define OBJ_SET_LIBMODE(OBJ) (OBJ)->xflags |= OBJ_FL_LIBMODE 477 #define OBJ_IS_LIBMODE(OBJ) ((OBJ)->xflags & OBJ_FL_LIBMODE) 479 #define OBJ_USER_FLAGS(OBJ) (OBJ)->uflags 482 #define OBJ_KEY_OBJ(K) (K)->keyobj 487 #define OBJ_EDIT_TXID(OBJ) (OBJ)->edit_txid 489 #define OBJ_EXTR_MUST_TXID(OBJ) (OBJ)->must_txid 490 #define OBJ_EXTR_WHEN_TXID(OBJ) (OBJ)->when_txid 491 #define OBJ_EXTR_LEAFREF_TXID(OBJ) (OBJ)->leafref_txid 495 #define OBJ_SET_NO_NVSTORE(OBJ) (OBJ)->xflags |= OBJ_FL_NO_NVSTORE 497 #define OBJ_IS_NO_NVSTORE(OBJ) ((OBJ)->xflags & OBJ_FL_NO_NVSTORE) 501 #define OBJ_SET_YANGMAP_SOURCE(OBJ) \ 502 (OBJ)->xflags |= OBJ_FL_YANGMAP_SOURCE 504 #define OBJ_IS_YANGMAP_SOURCE(OBJ) \ 505 ((OBJ)->xflags & OBJ_FL_YANGMAP_SOURCE) 509 #define OBJ_SET_YANGMAP_TARGET(OBJ) \ 510 (OBJ)->xflags |= OBJ_FL_YANGMAP_TARGET 512 #define OBJ_IS_YANGMAP_TARGET(OBJ) \ 513 ((OBJ)->xflags & OBJ_FL_YANGMAP_TARGET) 516 #define OBJ_SET_YANGMAP_CHILD(OBJ) \ 517 (OBJ)->xflags |= OBJ_FL_YANGMAP_CHILD 519 #define OBJ_IS_YANGMAP_CHILD(OBJ) \ 520 ((OBJ)->xflags & OBJ_FL_YANGMAP_CHILD) 523 #define OBJ_SET_YANGMAP_KEY(OBJ) \ 524 (OBJ)->xflags |= OBJ_FL_YANGMAP_KEY 526 #define OBJ_IS_YANGMAP_KEY(OBJ) \ 527 ((OBJ)->xflags & OBJ_FL_YANGMAP_KEY) 534 #define OBJ_YANGMAP_CB(OBJ) (OBJ)->yangmap_cb 537 #define OBJ_SET_DUP_LOCAL_DONE(OBJ) \ 538 (OBJ)->xflags |= OBJ_FL_DUP_LOCAL_DONE 540 #define OBJ_IS_DUP_LOCAL_DONE(OBJ) \ 541 ((OBJ)->xflags & OBJ_FL_DUP_LOCAL_DONE) 544 #define OBJ_RPC_SUPPORTED(OBJ) (OBJ)->def.rpc->supported 548 #define OBJ_SET_TRANS_HOOK_SET(OBJ) (OBJ)->xflags |= OBJ_FL_TRANS_HOOK_SET 549 #define OBJ_IS_TRANS_HOOK_SET(OBJ) ((OBJ)->xflags & OBJ_FL_TRANS_HOOK_SET) 550 #define OBJ_CLEAR_TRANS_HOOK_SET(OBJ) (OBJ)->xflags &= ~OBJ_FL_TRANS_HOOK_SET 554 #define OBJ_SET_AIO_GET2(OBJ) (OBJ)->xflags2 |= OBJ_FL_AIO_GET2 555 #define OBJ_IS_AIO_GET2(OBJ) ((OBJ)->xflags2 & OBJ_FL_AIO_GET2) 558 #define OBJ_SET_AIO_PARENT(OBJ) (OBJ)->xflags2 |= OBJ_FL_AIO_PARENT 559 #define OBJ_IS_AIO_PARENT(OBJ) ((OBJ)->xflags2 & OBJ_FL_AIO_PARENT) 562 #define OBJ_SET_AIO_GET2_XML(OBJ) (OBJ)->xflags2 |= OBJ_FL_AIO_GET2_XML 563 #define OBJ_IS_AIO_GET2_XML(OBJ) ((OBJ)->xflags2 & OBJ_FL_AIO_GET2_XML) 565 #define OBJ_SET_AIO_GET2_JSON(OBJ) (OBJ)->xflags2 |= OBJ_FL_AIO_GET2_JSON 566 #define OBJ_IS_AIO_GET2_JSON(OBJ) ((OBJ)->xflags2 & OBJ_FL_AIO_GET2_JSON) 569 #define OBJ_SET_DEF_HOOK(OBJ) (OBJ)->xflags2 |= OBJ_FL_DEF_HOOK 570 #define OBJ_IS_DEF_HOOK(OBJ) ((OBJ)->xflags2 & OBJ_FL_DEF_HOOK) 571 #define OBJ_CLEAR_DEF_HOOK(OBJ) (OBJ)->xflags2 &= ~OBJ_FL_DEF_HOOK 572 #define OBJ_GET_DEF_HOOK_CB(OBJ) (ncx_def_hook_cbfn_t)(OBJ)->def_hook_cb 575 #define OBJ_SET_OC_HASHED_VALUE(OBJ) (OBJ)->xflags2 |= OBJ_FL_OC_HASHED_VALUE 576 #define OBJ_IS_OC_HASHED_VALUE(OBJ) ((OBJ)->xflags2 & OBJ_FL_OC_HASHED_VALUE) 579 #define OBJ_SET_BAN_NOLOCK_GET(OBJ) (OBJ)->xflags2 |= OBJ_FL_BAN_NOLOCK_GET 580 #define OBJ_IS_BAN_NOLOCK_GET(OBJ) ((OBJ)->xflags2 & OBJ_FL_BAN_NOLOCK_GET) 612 typedef enum obj_type_t_ {
712 #define OBJ_TYP_LAST OBJ_TYP_ACTION 723 typedef enum obj_augtype_t_ {
733 typedef struct obj_key_t_ {
741 typedef struct obj_defval_tk_t_ {
749 typedef struct obj_unique_comp_t_ {
758 typedef struct obj_unique_t_ {
769 typedef struct obj_container_t_ {
782 dlq_hdr_t *groupingQ;
787 obj_index_t last_index;
792 typedef struct obj_leaf_t_ {
828 typedef struct obj_leaflist_t_ {
862 typedef struct obj_list_t_ {
875 dlq_hdr_t *groupingQ;
896 typedef struct obj_choice_t_ {
912 typedef struct obj_case_t_ {
931 typedef struct obj_uses_t_ {
948 typedef struct obj_refine_t_ {
978 dlq_hdr_t defval_tkQ;
994 typedef struct obj_rpcio_t_ {
997 dlq_hdr_t *groupingQ;
1014 typedef struct obj_rpc_t_ {
1025 dlq_hdr_t *typedefQ;
1026 dlq_hdr_t *groupingQ;
1037 typedef struct obj_augment_t_ {
1059 typedef struct obj_notif_t_ {
1069 dlq_hdr_t *typedefQ;
1070 dlq_hdr_t *groupingQ;
1080 typedef struct obj_iffeature_ptr_t_ {
1087 typedef struct obj_errmsg_filter_t_ {
1095 typedef struct obj_errmsg_parm_t_ {
1108 typedef struct obj_errmsg_t_ {
1126 typedef struct obj_oid_t_ {
1140 typedef struct obj_template_t_ {
1168 dlq_hdr_t metadataQ;
1170 dlq_hdr_t iffeatureQ;
1172 dlq_hdr_t inherited_iffeatureQ;
1175 dlq_hdr_t inherited_whenQ;
1178 dlq_hdr_t *dataruleQ;
1205 struct xpath_pcb_t_ *xpath_backptr[OBJ_NUM_XPATH_BACKPTRS];
1208 dlq_hdr_t xpath_backptrQ;
1239 obj_container_t *container;
1241 obj_leaflist_t *leaflist;
1243 obj_choice_t *choic;
1246 obj_refine_t *refine;
1247 obj_augment_t *augment;
1262 typedef struct obj_metadata_t_ {
1269 boolean typdef_copy;
1274 typedef enum obj_deviate_arg_t_ {
1284 typedef struct obj_deviate_t_ {
1317 dlq_hdr_t defval_tkQ;
1345 typedef struct obj_deviation_t_ {
1382 boolean nonconfig_warn);
1385 #define OBJ_SET_TESTFLAGS(OBJ, FL) (OBJ)->testflags = FL 1387 #define OBJ_GET_TESTFLAGS(OBJ) (OBJ)->testflags 1389 #define OBJ_SET_DESC_TESTFLAGS(OBJ, FL) (OBJ)->desc_testflags = FL 1391 #define OBJ_GET_DESC_TESTFLAGS(OBJ) (OBJ)->desc_testflags 1393 #define OBJ_UPDATE_DESC_TESTFLAGS(OBJ, FL) (OBJ)->desc_testflags |= FL 1419 extern obj_template_t *
1448 extern obj_template_t *
1450 const xmlChar *modname,
1451 const xmlChar *objname);
1465 extern obj_template_t *
1467 const xmlChar *modname,
1468 const xmlChar *objname );
1482 extern const obj_template_t *
1484 const xmlChar *modname,
1485 const xmlChar *objname);
1499 extern obj_template_t *
1501 const xmlChar *modname,
1502 const xmlChar *objname);
1518 extern obj_template_t *
1520 const xmlChar *modname,
1521 const xmlChar *objname);
1539 extern obj_template_t *
1541 const xmlChar *modname,
1542 const xmlChar *objname);
1566 extern obj_template_t *
1568 const xmlChar *modname,
1569 const xmlChar *objname,
1589 extern obj_template_t *
1591 const xmlChar *modname,
1592 const xmlChar *objname);
1611 extern obj_template_t *
1613 const xmlChar *modname,
1614 const xmlChar *objname);
1633 extern obj_template_t *
1635 const xmlChar *modname,
1636 const xmlChar *objname);
1655 extern obj_template_t *
1657 const xmlChar *modname,
1658 const xmlChar *objname);
1675 extern obj_template_t *
1678 const xmlChar *objname);
1705 extern obj_template_t *
1707 const xmlChar *modname,
1708 const xmlChar *objname,
1725 extern obj_template_t *
1727 const xmlChar *modname,
1728 const xmlChar *objname,
1753 extern obj_template_t *
1755 const xmlChar *modname,
1756 const xmlChar *objname,
1758 uint32 *matchcount);
1771 extern obj_template_t *
1785 extern obj_template_t *
1799 extern obj_template_t *
1813 extern obj_template_t *
1827 extern obj_template_t *
1841 extern obj_template_t *
1855 extern obj_template_t *
1869 extern obj_template_t *
1883 extern obj_template_t *
1897 extern obj_template_t *
1912 extern obj_template_t *
1927 extern obj_template_t *
1947 extern obj_template_t *
1992 obj_template_t *startnode,
1993 const xmlChar *modname,
1994 const xmlChar *childname,
2044 obj_template_t *startnode,
2045 const xmlChar *modname,
2046 const xmlChar *name,
2098 obj_template_t *startnode,
2099 const xmlChar *modname,
2100 const xmlChar *name,
2155 obj_template_t *startnode,
2156 const xmlChar *modname,
2157 const xmlChar *name,
2176 const xmlChar *modname,
2177 const xmlChar *casname);
2191 extern obj_template_t *
2193 const xmlChar *name);
2214 const xmlChar *typname);
2236 const xmlChar *grpname);
2267 const xmlChar *typname,
2269 obj_template_t *parent,
2295 extern obj_template_t *
2297 obj_template_t *srcobj,
2325 extern obj_template_t *
2327 obj_template_t *srcobj,
2339 extern obj_unique_t *
2375 extern obj_unique_comp_t *
2396 extern obj_unique_t *
2398 const xmlChar *xpath);
2407 extern obj_unique_t *
2417 extern obj_unique_t *
2427 extern obj_unique_comp_t *
2437 extern obj_unique_comp_t *
2468 const xmlChar *keycompname);
2481 obj_template_t *keyobj);
2510 extern const obj_key_t *
2540 extern const obj_key_t *
2611 extern obj_deviate_t *
2630 extern const xmlChar *
2639 extern obj_deviation_t *
2699 const obj_template_t *obj,
2742 const obj_template_t *stopobj,
2759 const obj_template_t *obj,
2824 extern const xmlChar *
2837 const xmlChar *objname);
2884 extern const xmlChar *
2897 extern const xmlChar *
2908 extern const xmlChar *
2919 extern const xmlChar *
2939 extern const xmlChar *
2954 #define obj_is_config obj_get_config_flag_deep 3038 extern const xmlChar *
3058 extern const dlq_hdr_t *
3072 extern const xmlChar *
3084 extern const xmlChar *
3101 extern const xmlChar *
3113 extern obj_template_t *
3230 extern const xmlChar *
3240 extern const xmlChar *
3250 extern const xmlChar *
3291 extern const xmlChar *
3301 extern const xmlChar *
3369 extern const xmlChar *
3379 extern obj_template_t *
3390 extern const obj_template_t *
3401 extern obj_template_t *
3414 extern const obj_template_t *
3424 extern const xmlChar *
3467 obj_template_t *chobj,
3470 dlq_hdr_t *force_modQ,
3471 obj_template_t **rettop,
3472 obj_template_t **retobj);
3492 extern obj_template_t *
3633 extern boolean obj_in_list (
const obj_template_t *obj);
3718 boolean config_only);
3872 extern boolean obj_is_rpcio (
const obj_template_t *obj);
3938 const obj_template_t *obj2);
4018 extern boolean obj_is_dirty (
const obj_template_t *obj,
4325 extern obj_metadata_t *
4351 obj_template_t *obj);
4361 extern obj_metadata_t *
4363 const xmlChar *name);
4372 extern obj_metadata_t *
4382 extern obj_metadata_t *
4432 dlq_hdr_t *datadefQ,
4443 extern const xmlChar *
4462 extern const xmlChar *
4473 extern obj_template_t *
4484 extern obj_template_t *
4495 extern const xmlChar *
4571 obj_add_child (obj_template_t *child, obj_template_t *parent);
4616 extern obj_iffeature_ptr_t *
4634 extern obj_iffeature_ptr_t *
4644 extern obj_iffeature_ptr_t *
4677 struct xpath_pcb_t_ *xpath);
4687 extern struct xpath_pcb_t_ *
4689 struct xpath_pcb_t_ *xpath);
4698 extern struct xpath_pcb_t_ *
4715 struct xpath_pcb_t_ *xpath);
4729 struct xpath_pcb_t_ *xpath);
5065 extern obj_defval_tk_t *
5094 extern obj_defval_tk_t *
5104 extern obj_defval_tk_t *
5107 #define obj_next_dev_defval_tk(D) obj_next_defval_tk(D) 5116 extern obj_defval_tk_t *
5138 const xmlChar *defval);
5150 const xmlChar *find_defval);
5188 const xmlChar *keyname);
5245 #if defined(WITH_SNMP) && defined(WITH_RESTCONF) 5252 extern const xmlChar *
5270 #endif // WITH_SNMP and WITH_RESTCONF 5281 dlq_hdr_t *keystackQ);
5347 const xmlChar *basestr,
5348 obj_errmsg_t **ret_errmsg);
5360 const xmlChar *parmstr);
5373 const xmlChar *parmstr,
5374 boolean is_errortag);
5498 extern obj_template_t *
5529 extern obj_template_t *
5545 const obj_template_t *obj);
status_t obj_add_errmsg_filter(obj_errmsg_t *errmsg, const xmlChar *parmstr, boolean is_errortag)
Add an errmsg filter for the object.
boolean obj_is_rpcio_input(const obj_template_t *obj)
Check if the object is an RPC IO node.
Definition: obj.c:14083
xmlns_id_t nsid
namespace ID assigned to the object at run-time
Definition: obj.h:1202
xmlChar * ref
reference-stmt (not saved on server)
Definition: obj.h:1355
const obj_key_t * obj_next_ckey(const obj_key_t *objkey)
Get the next key record: Const version.
Definition: obj.c:9685
uint8 obj_get_sil_priority(obj_template_t *obj)
Get the SIL priority field.
Definition: obj.c:17305
uint64 ncx_transaction_id_t
transaction is scoped to single session write operation on a config
Definition: ncxtypes.h:700
void obj_delete_all_defvals(obj_template_t *obj)
Delete all the original defaults for a leaf-list default for deviate replace default foo...
Definition: obj.c:17689
xmlChar * target
schema-node target to deviate
Definition: obj.h:1347
const xmlChar * obj_get_presence_string(const obj_template_t *obj)
Get the present-stmt value, if any.
Definition: obj.c:12883
boolean obj_in_rpc(const obj_template_t *obj)
Check if the object is in an rpc/input section.
Definition: obj.c:13950
boolean obj_ok_for_cli(obj_template_t *obj)
Figure out if the obj is OK for current CLI implementation.
Definition: obj.c:14850
obj_template_t * obj_get_default_parm(obj_template_t *obj)
Get the ncx:default-parm object for this object Only supported for OBJ_TYP_CONTAINER and OBJ_TYP_RPCI...
Definition: obj.c:13015
boolean obj_is_cli_text_block(const obj_template_t *obj)
Check if object is marked as ywx:cli-text-block.
Definition: obj.c:16086
uint32 obj_key_count(const obj_template_t *obj)
Get the number of keys for this object.
Definition: obj.c:9711
boolean obj_is_p_container(const obj_template_t *obj)
Check if the object is an Presence-container.
Definition: obj.c:14581
xmlChar * target
relative-path of the object to refine
Definition: obj.h:950
boolean obj_maybe_target_template(obj_template_t *obj)
Check a data node and its descendants match the template for NETCONF configuration sources Allow extr...
Definition: obj.c:16814
boolean maxset
max-elements set
Definition: obj.h:849
uint16 depth
internal nest depth of augment
Definition: obj.h:1054
obj_deviation_t * obj_new_deviation(void)
Malloc and initialize the fields in a an object deviation statement.
Definition: obj.c:9987
uint32 maxelems
max-elements value
Definition: obj.h:883
gather node data into a simple struct.
Definition: xml_util.h:204
obj_template_t * obj_next_terminal_child(obj_template_t *obj)
Get the next child object if the specified object has any children; MUST BE TERMINAL NODE!! ...
Definition: obj.c:6969
boolean(* obj_walker_fn_t)(obj_template_t *obj, void *cookie1, void *cookie2, boolean nonconfig_warn)
child or descendant node search walker function
Definition: obj.h:1379
used with various structs to cache back-ptrs the 'node' pointer may or may not be malloced! the ncx_f...
Definition: ncxtypes.h:1390
boolean obj_is_block_user_create(const obj_template_t *obj)
Check if object is marked as ncx:user-write with create access disabled.
Definition: obj.c:16164
obj_metadata_t * obj_first_metadata(const obj_template_t *obj)
Get the first object metadata definition in the object.
Definition: obj.c:15233
ncx_iqual_t obj_get_iqualval_ex(obj_template_t *obj, boolean required)
Get the instance qualifier for this object.
Definition: obj.c:12531
void obj_free_key(obj_key_t *key)
Free a obj_key_t struct.
Definition: obj.c:9447
One YANG 'container' definition.
Definition: obj.h:769
obj_template_t * obj_clone_template(ncx_module_t *mod, obj_template_t *srcobj, dlq_hdr_t *mobjQ)
Clone an obj_template_t Copy the pointers from the srcobj into the new obj.
Definition: obj.c:8737
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 lis...
Definition: obj.c:17371
void obj_enter_xpath_mode(void)
Enter xpath mode and start ignoring obj_is_enabled.
Definition: obj.c:17710
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.
Definition: obj.c:10108
This object represents a YANG 1.1 action schema node.
Definition: obj.h:708
obj_testflags_t desc_testflags
see AGT_TEST_FL_* definitions
Definition: obj.h:1154
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 modul...
Definition: obj.c:16965
boolean obj_unload_active(const obj_template_t *obj)
Check if the module commit tests are disabled because a module unload is in progress.
Definition: obj.c:17185
This object represents a YANG case schema node.
Definition: obj.h:642
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:13378
obj_template_t * obj_next_terminal_child_nokey(obj_template_t *obj)
Get the next child object if the specified object has any children; MUST BE TERMINAL NODE!! ...
Definition: obj.c:7005
xmlChar * units
units if deviating the units
Definition: obj.h:1311
obj_template_t * obj_next_child_augok(obj_template_t *obj)
Get the next child object if the specified object has any children; return augment, not just obj_has_name!!!
Definition: obj.c:7081
void obj_set_notif_enabled(obj_template_t *obj, boolean enabled)
Set the notification object enabled flag.
Definition: obj.c:17138
This object represents a YANG list data node.
Definition: obj.h:631
log_debug_t
The debug level enumerations used in util/log.c.
Definition: log.h:386
boolean obj_has_mandatory_children(obj_template_t *obj)
Check if there are any mandatory children.
Definition: obj.c:18385
xmlChar * descr
description-stmt (not saved on server)
Definition: obj.h:1352
obj_deviate_arg_t arg
deviate argument enum
Definition: obj.h:1299
obj_defval_tk_t * obj_first_defval_tk(const obj_refine_t *ref)
Get the first defval_tk entry.
Definition: obj.c:17550
boolean obj_get_min_elements(obj_template_t *obj, uint32 *minelems)
Get the min-elements clause for this object, if any.
Definition: obj.c:12619
void obj_ban_nolock_get(obj_template_t *obj)
Ban nolock-get for the object.
Definition: obj.c:18751
status_t obj_gen_object_id_xpath(const obj_template_t *obj, xmlChar **buff)
Malloc and Generate the object ID for an object node.
Definition: obj.c:10217
YANG deviate statement struct.
Definition: obj.h:1284
const xmlChar * obj_get_alt_description(const obj_template_t *obj)
obj_get_alt_description (DEPRECATED)
Definition: obj.c:10947
obj_augtype_t
enumeration for different YANG augment statement types
Definition: obj.h:723
boolean obj_is_sil_delete_children_first(const obj_template_t *obj)
Check if object is marked as ncx:sil-delete-children-first.
Definition: obj.c:16099
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.
Definition: obj.c:13730
boolean obj_is_external_data_augment(obj_template_t *obj)
Check if an object is an external augment of a data node.
Definition: obj.c:16050
void obj_set_xpath_oper_ok(obj_template_t *obj)
Set the object XPath oper OK flag.
Definition: obj.c:18638
boolean supported
mod loaded, not implemented
Definition: obj.h:1032
obj_template_t * obj_first_child(obj_template_t *obj)
Get the first child object if the specified object has any children.
Definition: obj.c:6761
boolean obj_any_rpcs(const dlq_hdr_t *datadefQ)
Check if there are any RPC methods in the datadefQ.
Definition: obj.c:9834
status_t obj_set_name(obj_template_t *obj, const xmlChar *objname)
Set the name field for this obj.
Definition: obj.c:10648
One YANG 'case' definition.
Definition: obj.h:912
obj_template_t * obj_find_child_choice_case(obj_template_t *obj, const xmlChar *modname, const xmlChar *objname)
Find a child object with the specified Qname.
Definition: obj.c:6275
uint32 obj_get_child_count(const obj_template_t *obj)
Get the number of child nodes the object has.
Definition: obj.c:12988
ncx_access_t
NCX Access Control 'max-access' enumeration values Note that access control is applied to the session...
Definition: ncxtypes.h:169
ncx_module_t * obj_get_mod_for_dump(obj_template_t *obj)
Get the module pointer for this object Use for sub-module !!! Used by yangdump-pro!!! ...
Definition: obj.c:12371
obj_template_t * obj_get_top_aio_get2(obj_template_t *child)
Find the top AIO object.
Definition: obj.c:18526
boolean obj_is_empty(const obj_template_t *obj)
Check if object was entered in empty fashion:
Definition: obj.c:14173
obj_key_t * obj_find_key2(dlq_hdr_t *que, obj_template_t *keyobj)
Find a specific key component, check for a specific node in case deep keys are supported, and to check for duplicates.
Definition: obj.c:9510
xmlChar * target
Xpath schema-node target to augment.
Definition: obj.h:1039
ncx_iffeature_t * iffeature
if-feature back-ptr
Definition: obj.h:1082
boolean obj_is_leafy(const obj_template_t *obj)
Check if object is a proper leaf or leaflist.
Definition: obj.c:13552
ncx_error_t def_tkerr
file and line info for compiler
Definition: obj.h:744
boolean obj_is_list(const obj_template_t *obj)
Check if object is a YANG list.
Definition: obj.c:13423
back-pointer to inherited if-feature statements
Definition: obj.h:1080
boolean obj_is_very_secure(const obj_template_t *obj)
Check if object is tagged ncx:very-secure.
Definition: obj.c:14525
xmlChar * name
name of leaf or anyxml/anydata
Definition: obj.h:794
const obj_template_t * obj_find_template_con(dlq_hdr_t *que, const xmlChar *modname, const xmlChar *objname)
Find an object with the specified name Return a const pointer; used by yangdump.
Definition: obj.c:5820
xmlChar * ref
reference-stmt (not saved on server)
Definition: obj.h:1067
obj_template_t * obj_first_child_augok(obj_template_t *obj)
Get the first child object if the specified object has any children.
Definition: obj.c:7043
xmlChar * descr
description-stmt (not saved on server)
Definition: obj.h:836
obj_metadata_t * obj_new_metadata(void)
Malloc and initialize the fields in a an obj_metadata_t.
Definition: obj.c:15095
obj_unique_comp_t * obj_first_unique_comp(obj_unique_t *un)
Get the first identifier in a unique-stmt for a list.
Definition: obj.c:9374
obj_unique_comp_t * obj_new_unique_comp(void)
Alloc and Init a obj_unique_comp_t struct.
Definition: obj.c:9229
void obj_delete_obsolete(dlq_hdr_t *objQ)
Delete any obsolete child nodes within the specified object subtree.
Definition: obj.c:15900
uint32 flags
see OBJ_FL_* definitions
Definition: obj.h:1146
xmlns_id_t nsid
internal fields for manager and agent
Definition: obj.h:1031
struct obj_template_t_ * unobj
unique object target
Definition: obj.h:751
One YANG augment statement struct (top-level or in case-stmt.
Definition: obj.h:1037
uint32 minelems
min-elements value
Definition: obj.h:985
typ_template_t * obj_first_typedef(obj_template_t *obj)
Get the first local typedef for this object, if any.
Definition: obj.c:8349
This object represents a YANG uses schema node.
Definition: obj.h:653
xmlChar * units
units-stmt
Definition: obj.h:833
uint32 len
state : length
Definition: obj.h:1100
boolean obj_ok_for_nolock(const obj_template_t *obj)
check an object OK for nolock
Definition: obj.c:18305
boolean obj_is_cloned(const obj_template_t *obj)
Figure out if the obj is a cloned object, inserted via uses or augment statements.
Definition: obj.c:13743
ncx_error_t maxelems_tkerr
also maxset
Definition: obj.h:988
ncx_yang_version_t
enumeration for different YANG language versions
Definition: ncxtypes.h:945
obj_template_t * obj_previous_child(obj_template_t *obj)
Get the previous child object if the specified object has any children.
Definition: obj.c:7117
boolean obj_is_datapath(const obj_template_t *obj)
Check if object is marked as a ywx:datapath object.
Definition: obj.c:14835
boolean obj_is_deleted(const obj_template_t *obj)
Check if object has been deleted by a deviate not-supported.
Definition: obj.c:14413
YANG if-feature entry.
Definition: ncxtypes.h:888
boolean defset
T if any defaults specified for this leaf-list.
Definition: obj.h:845
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...
Definition: obj.c:10448
One YANG 'leaf-list' definition.
Definition: obj.h:828
uint16 keynum
internal key number only for keay leafs
Definition: obj.h:815
ncx_name_match_t
Node name match modes.
Definition: ncxtypes.h:673
One YANG data-def-stmt.
Definition: obj.h:1140
struct obj_template_t_ * usesobj
backptr to uses-obj if grouping expand
Definition: obj.h:1164
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.
Definition: obj.c:14317
ncx_status_t status
status-stmt
Definition: obj.h:926
boolean isconfig
T:constraint is on config.
Definition: obj.h:763
void obj_dump_keystackQ(dlq_hdr_t *keystackQ)
Dump a keystackQ with backptrs to obj_template_t for key leafs.
Definition: obj.c:18052
xmlChar * ref
reference-stmt (not saved on server)
Definition: obj.h:806
const xmlChar * obj_get_units(obj_template_t *obj)
Get the units clause for this object, if any.
Definition: obj.c:12705
boolean obj_rpc_has_input(obj_template_t *obj)
Check if the RPC object has any real input children.
Definition: obj.c:15030
Discriminated union for all data typedefs.
Definition: typ.h:458
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.
Definition: obj.c:17074
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:14352
void obj_set_ncx_flags(obj_template_t *obj)
Check the NCX appinfo extensions and set flags as needed.
Definition: obj.c:15369
xmlChar * name
notification name
Definition: obj.h:1061
uint8 obj_get_fraction_digits(const obj_template_t *obj)
Get the fraction-digits field from the object typdef.
Definition: obj.c:13261
obj_template_t * obj_clone_template_case(ncx_module_t *mod, obj_template_t *srcobj, dlq_hdr_t *mobjQ)
Clone an obj_template_t but make sure it is wrapped in a OBJ_TYP_CASE layer.
Definition: obj.c:9058
ncx_error_t descr_tkerr
the token for each sub-clause is saved because when the refine-stmt is parsed, the target is not know...
Definition: obj.h:964
boolean obj_is_data(const obj_template_t *obj)
Check if the object is defined within data or within a notification or RPC instead.
Definition: obj.c:13829
struct obj_template_t_ * leafrefobj
leafref obj backptr only if btyp == NCX_BT_LEAFREF
Definition: obj.h:823
boolean obj_is_cli(const obj_template_t *obj)
Check if object is marked as a CLI object.
Definition: obj.c:14296
grp_template_t * grp
non-NULL == in a grp.datadefQ
Definition: obj.h:1156
ncx_iqual_t
The instance qualifier types are borrowed from ABNF and RelaxNG.
Definition: ncxtypes.h:447
This object represents a YANG 1.1 anydata data node.
Definition: obj.h:701
This object represents a YANG augment statement.
Definition: obj.h:672
One YANG list key component.
Definition: obj.h:733
boolean obj_has_aio_list(obj_template_t *obj)
Check is AIO object is a list or if its parent is a list object.
Definition: obj.c:18569
boolean obj_is_container(const obj_template_t *obj)
Check if object is a YANG container.
Definition: obj.c:13479
const xmlChar * obj_get_first_default(const obj_template_t *obj, ncx_backptr_t **thisdef)
Get the first default value for the specified object.
Definition: obj.c:11687
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.
Definition: obj.c:9780
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...
Definition: obj.c:17092
ncx_xpath_axis_t
XPath expression axis types.
Definition: ncxtypes.h:640
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.
Definition: obj.c:11736
boolean obj_has_typedefs(const obj_template_t *obj)
Check if the object has any nested typedefs in it.
Definition: obj.c:11982
boolean obj_is_obsolete(const obj_template_t *obj)
Check if the object has obsolete status.
Definition: obj.c:17205
xmlChar * valstr
state: value string
Definition: obj.h:1103
uint16 xmlns_id_t
integer handle for registered namespaces
Definition: xmlns.h:89
obj_oid_t * oid
SNMP OID for this object (set if needed)
Definition: obj.h:1159
const ncx_iffeature_t * obj_get_next_iffeature(const ncx_iffeature_t *iffeature)
Get the next if-feature clause (if any)
Definition: obj.c:13324
boolean minset
min-elements set
Definition: obj.h:880
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...
Definition: obj.c:7774
This object represents a YANG choice schema node.
Definition: obj.h:637
boolean seen
needed by yangdiff
Definition: obj.h:762
This object represents a YANG refine statement.
Definition: obj.h:661
const xmlChar * obj_get_typestr(const obj_template_t *obj)
Get the name of the object type.
Definition: obj.c:11466
ncx_transaction_id_t when_txid
current edit transaction ID for WHEN test default nodes pruning
Definition: obj.h:1232
boolean mandatory
deviating mandatory-stmt
Definition: obj.h:1326
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 removin...
Definition: obj.c:16873
boolean obj_is_ancestor(const obj_template_t *ancestor, const obj_template_t *obj)
Check if an object is the ancestor of another.
Definition: obj.c:18717
representation of one module or submodule during and after parsing
Definition: ncxtypes.h:1052
grp_template_t * obj_first_grouping(obj_template_t *obj)
Get the first local grouping if any.
Definition: obj.c:8516
boolean expand_done
expand done flag
Definition: obj.h:943
This object represents a YANG 1.1 anydata data node.
Definition: obj.h:616
obj_key_t * obj_next_key(obj_key_t *objkey)
Get the next key record.
Definition: obj.c:9633
obj_type_t objtype
object type (def)
Definition: obj.h:1142
struct obj_template_t_ * augobj
backptr to augment-obj if augment expand
Definition: obj.h:1165
obj_testflags_t testflags
see AGT_TEST_FL_* definitions
Definition: obj.h:1153
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.
Definition: obj.c:10996
void obj_clean_unique(obj_unique_t *un)
Clean a obj_unique_t struct.
Definition: obj.c:9196
boolean is_input
YPW-1406: the name can be changed temporarily in XPath validation so need a flag to tell if input or ...
Definition: obj.h:1004
ncx_error_t keytkerr
saved error info for key-stmt errors
Definition: obj.h:888
boolean obj_get_top_config_flag(const obj_template_t *obj)
Get the config flag for the top-level object.
Definition: obj.c:18276
boolean obj_is_rpc_root(const obj_template_t *obj)
Check if object is marked as an RPC root object.
Definition: obj.c:14256
unsigned long oid_t
data type used in SNMP
Definition: obj.h:1118
YANG deviation statement struct.
Definition: obj.h:1345
deviate add
Definition: obj.h:1276
void obj_set_key_leaf(obj_template_t *obj, uint16 keynum)
Set the key data for the object.
Definition: obj.c:16983
xmlChar * descr
description-stmt (not saved on server)
Definition: obj.h:916
const xmlChar * obj_get_name(const obj_template_t *obj)
Get the name field for this obj.
Definition: obj.c:10585
ncx_error_t units_tkerr
same comment as tkerr
Definition: obj.h:1314
struct obj_template_t_ * targobj
resolved backptr to augmented object
Definition: obj.h:1048
ncx_status_t status
status-stmt
Definition: obj.h:784
boolean obj_is_case(const obj_template_t *obj)
Check if object is a YANG case.
Definition: obj.c:13519
boolean isduplicate
T: will be ignored by server.
Definition: obj.h:753
boolean obj_has_ro_descendants(obj_template_t *obj)
Check if there are any accessible read-only descendant nodes within the object.
Definition: obj.c:14950
obj_template_t * obj_find_child_lrcheck(obj_template_t *obj, const xmlChar *modname, const xmlChar *objname)
Find a child object with the specified Qname LeafRef Check VERSION.
Definition: obj.c:6230
ncx_error_t minelems_tkerr
also minset
Definition: obj.h:1333
ncx_module_t * obj_get_mod(obj_template_t *obj)
Get the module pointer for this object.
Definition: obj.c:12292
boolean obj_is_schema_instance_string(const obj_template_t *obj)
Check if object is a schema-instance string.
Definition: obj.c:14494
uint32 minelems
min-elements value
Definition: obj.h:881
obj_template_t * obj_find_child(obj_template_t *obj, const xmlChar *modname, const xmlChar *objname)
Find a child object with the specified Qname.
Definition: obj.c:6190
xmlChar * ref
reference-stmt (not saved on server)
Definition: obj.h:1045
custom error message filter control block
Definition: obj.h:1087
ncx_status_t status
status-stmt
Definition: obj.h:812
boolean obj_is_terminal(const obj_template_t *obj)
Check if object is a proper leaf or leaflist or anyxml.
Definition: obj.c:13567
ncx_status_t status
status-stmt
Definition: obj.h:1052
ncx_status_t status
status-stmt
Definition: obj.h:942
void obj_add_child(obj_template_t *child, obj_template_t *parent)
Add a child object to the specified complex node.
Definition: obj.c:16136
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.
Definition: obj.c:10520
ncx_status_t status
status-stmt
Definition: obj.h:851
void * commit_test_cb
backptr to the commit_test record for this object which will only exist if this object has 'must' or ...
Definition: obj.h:1214
const xmlChar * obj_get_augment_target(obj_template_t *obj)
Get the target path string for an augments object.
Definition: obj.c:16010
void obj_find_delete_defval(obj_template_t *obj, const xmlChar *defval)
Find and delete a leaf-list default for deviate delete default foo.
Definition: obj.c:17626
obj_template_t * obj_find_template_test(dlq_hdr_t *que, const xmlChar *modname, const xmlChar *objname)
Find an object with the specified name Test version; do not set 'used' flag.
Definition: obj.c:5858
boolean obj_find_xpath_backptr(obj_template_t *obj, struct xpath_pcb_t_ *xpath)
Find an xpath-expr backptr.
Definition: obj.c:16335
boolean obj_is_block_user_delete(const obj_template_t *obj)
Check if object is marked as ncx:user-write with delete access disabled.
Definition: obj.c:16206
boolean obj_is_exclusive_rpc(const obj_template_t *obj)
Check if this object has the OBJ_FL_EXCLUSIVE_WRITE bit set.
Definition: obj.c:17036
xmlChar * descr
description-stmt (not saved on server)
Definition: obj.h:956
void obj_free_unique_comp(obj_unique_comp_t *unc)
Free a obj_unique_comp_t struct.
Definition: obj.c:9252
boolean obj_match_datarule(obj_template_t *obj, void *rule)
Check if the data-rule back-ptr applies to this node.
Definition: obj.c:18153
void obj_clear_xpath_backptr(obj_template_t *obj, struct xpath_pcb_t_ *xpath)
Clear an xpath-expr backptr.
Definition: obj.c:16529
obj_template_t * obj_find_template_all(ncx_module_t *mod, const xmlChar *modname, const xmlChar *objname)
Check if an obj_template_t in the mod->datadefQ or any of the include files used within the entire ma...
Definition: obj.c:6115
One YANG 1.1 default stored in a Q for refine and deviate.
Definition: obj.h:741
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...
Definition: obj.c:9741
void obj_clr_enable_chk(obj_template_t *obj)
Force an object to re-evaluate the enable check Will call for all children.
Definition: obj.c:17986
boolean obj_is_refine(const obj_template_t *obj)
Figure out if the obj is a refinement object, within a uses-stmt.
Definition: obj.c:13816
xmlChar * name
case name
Definition: obj.h:913
uint32 minelems
deviating min-elements
Definition: obj.h:1332
This object represents a YANG leaf data node.
Definition: obj.h:625
boolean obj_get_leaf_list_defset(const obj_template_t *obj)
Get the defset flag for a leaf-list.
Definition: obj.c:17607
boolean obj_get_config_flag_check(const obj_template_t *obj, boolean *ingrp)
get config flag during YANG module checking
Definition: obj.c:13175
xmlChar * devmodname
set if not the targmod
Definition: obj.h:1359
uint32 xflags2
see OBJ_FL_* definitions
Definition: obj.h:1148
object specific variants
Definition: obj.h:1238
struct obj_template_t_ * defaultparm
the defaultparm is only used by yangcli-pro to allow 1 parameter in a command to be entered without a...
Definition: obj.h:1009
ncx_error_t config_tkerr
config and confset are in the object flags
Definition: obj.h:981
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).
Definition: obj.c:7956
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...
Definition: obj.c:16900
obj_template_t * obj_find_child_str(obj_template_t *obj, const xmlChar *modname, const xmlChar *objname, uint32 objnamelen)
Find a child object with the specified Qname.
Definition: obj.c:6633
boolean obj_is_anyxml(const obj_template_t *obj)
Check if object is an anyxml.
Definition: obj.c:13345
not set
Definition: obj.h:1275
void obj_force_root(obj_template_t *obj)
Set the object as an anydata type of root.
Definition: obj.c:14242
uint32 obj_enabled_child_count(obj_template_t *obj)
Get the count of the number of enabled child nodes for the object template.
Definition: obj.c:15749
xmlChar * ref
reference-stmt (not saved on server)
Definition: obj.h:939
void obj_clean_deviationQ(dlq_hdr_t *deviationQ)
Clean and free an Q of object deviation statements.
Definition: obj.c:10039
xmlChar * name
name of grouping to use
Definition: obj.h:933
boolean obj_get_xpath_oper_ok(const obj_template_t *obj)
Get the object XPath oper OK flag.
Definition: obj.c:18616
One YANG 'list' definition.
Definition: obj.h:862
xmlChar * ref
reference-stmt (not saved on server)
Definition: obj.h:873
ncx_status_t status
status-stmt
Definition: obj.h:884
obj_key_t * obj_first_key(obj_template_t *obj)
Get the first key record.
Definition: obj.c:9546
uint32 yang_hash
experimental: not used
Definition: obj.h:1144
boolean obj_in_action(const obj_template_t *obj)
Check if the object is within or is an action method.
Definition: obj.c:14115
typ_template_t * obj_find_type(obj_template_t *obj, const xmlChar *typname)
Check if a typ_template_t in the obj typedefQ hierarchy.
Definition: obj.c:8248
boolean obj_is_leaf_list(const obj_template_t *obj)
Check if object is a proper leaf-list.
Definition: obj.c:13410
ncx_error_t tkerr
file and line info for compiler
Definition: obj.h:764
boolean maxset
max-elements set
Definition: obj.h:882
xmlChar * keystr
key-stmt (not required if config=false)
Definition: obj.h:867
ncx_error_t mandatory_tkerr
same comment as tkerr
Definition: obj.h:1329
boolean obj_is_system_ordered(const obj_template_t *obj)
Check if the object is system or user-ordered.
Definition: obj.c:14538
boolean set_snmp_flags
need SNMP flags
Definition: obj.h:1160
YANG module data structures Many internal representations of YANG module constructs.
xmlChar * ref
reference-stmt (not saved by server)
Definition: obj.h:777
boolean obj_has_ro_children(obj_template_t *obj)
Check if there are any accessible read-only child nodes within the object.
Definition: obj.c:14924
obj_unique_t * obj_new_unique(void)
Alloc and Init a obj_unique_t struct.
Definition: obj.c:9129
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.
Definition: obj.c:10265
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 m...
Definition: obj.c:10486
boolean obj_is_rpcio(const obj_template_t *obj)
Check if the object is an RPC IO node.
Definition: obj.c:14070
boolean obj_is_uses(const obj_template_t *obj)
Check if object is a YANG uses-stmt.
Definition: obj.c:13539
struct to remember error info tkc->cur_err will be checked before tkc->cur for error information ...
Definition: ncxtypes.h:812
boolean obj_has_rw_children(obj_template_t *obj)
Check if there are any accessible read-write child nodes within the object.
Definition: obj.c:14983
within data
Definition: obj.h:728
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 nam...
Definition: obj.c:16944
void obj_force_disabled(obj_template_t *obj)
Force an object to be disabled.
Definition: obj.c:17971
boolean obj_in_rpc_reply(const obj_template_t *obj)
Check if the object is in an rpc-reply/output section.
Definition: obj.c:13992
This object represents a YANG leaf-list data node.
Definition: obj.h:628
One YANG 'leaf' or 'anyxml' or 'anydata' definition.
Definition: obj.h:792
uint8 silflags
see OBJ_FL_* definitions
Definition: obj.h:1151
ncx_status_t obj_get_status(const obj_template_t *obj)
Get the status field for this obj.
Definition: obj.c:10826
token parsing chain (main parser control block)
Definition: tk.h:415
xmlChar * ref
reference-stmt (not saved on server)
Definition: obj.h:839
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.
Definition: obj.c:11585
uint32 uflags
see OBJ_FL_* definitions
Definition: obj.h:1150
const typ_def_t * obj_get_ctypdef(const obj_template_t *obj)
Get the typdef for the leaf or leaf-list : Const version.
Definition: obj.c:12123
obj_deviate_arg_t
type of deviation for each deviate entry
Definition: obj.h:1274
xmlChar * presence
presence-stmt
Definition: obj.h:780
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.
Definition: obj.c:10327
xmlChar * ref
reference-stmt (not saved on server)
Definition: obj.h:967
boolean obj_is_choice(const obj_template_t *obj)
Check if object is a YANG choice.
Definition: obj.c:13499
deviate delete
Definition: obj.h:1277
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...
Definition: obj.c:5605
xmlChar * xpath
saved unique str for this obj
Definition: obj.h:752
obj_template_t * targobj
target object when resolved
Definition: obj.h:1349
obj_unique_t * obj_first_unique(obj_template_t *listobj)
Get the first unique-stmt for a list.
Definition: obj.c:9316
const xmlChar * obj_get_description(const obj_template_t *obj)
Get the description field for this obj.
Definition: obj.c:10886
ncx_status_t status
status-stmt
Definition: obj.h:1068
const obj_key_t * obj_first_ckey(const obj_template_t *obj)
Get the first key record: Const version.
Definition: obj.c:9604
xmlChar * descr
description-stmt (not saved on server)
Definition: obj.h:1019
deviate replace
Definition: obj.h:1278
obj_unique_comp_t * obj_next_unique_comp(obj_unique_comp_t *uncomp)
Get the next unique-stmt component for a list.
Definition: obj.c:9401
dlq_hdr_t * obj_get_defvalQ(obj_template_t *obj)
Get the leaf-list default Q.
Definition: obj.c:17531
ncx_backptr_t * obj_first_inherit_when_ptr(obj_template_t *obj)
Get first xpath pointer struct.
Definition: obj.c:16296
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...
Definition: obj.c:14379
struct xpath_pcb_t_ * obj_first_xpath_backptr(obj_template_t *obj)
Get the first xpath backptr.
Definition: obj.c:16367
boolean obj_has_name(const obj_template_t *obj)
Check if the specified object type has a name.
Definition: obj.c:10741
void obj_free_deviation(obj_deviation_t *deviation)
Clean and free an object deviation statement.
Definition: obj.c:10011
obj_template_t * obj_next_child(obj_template_t *obj)
Get the next child object if the specified object has any children.
Definition: obj.c:6934
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...
Definition: obj.c:17948
boolean obj_is_augclone(const obj_template_t *obj)
Figure out if the obj is a cloned object, inserted via an augment statement.
Definition: obj.c:13757
xmlChar * descr
description-stmt (not saved by server)
Definition: obj.h:774
void obj_set_abstract(obj_template_t *obj)
Set the abstract flag for the yang-data node.
Definition: obj.c:17814
custom error message control block
Definition: obj.h:1108
One component in a YANG list unique target.
Definition: obj.h:749
boolean obj_delete_all_supported(obj_template_t *obj)
Check if the object supports a direct delete-all or remove-all operation.
Definition: obj.c:17427
obj_template_t * obj_find_template(dlq_hdr_t *que, const xmlChar *modname, const xmlChar *objname)
Find an object with the specified name.
Definition: obj.c:5752
void obj_free_deviate(obj_deviate_t *deviate)
Clean and free an object deviate statement.
Definition: obj.c:9926
ncx_error_t presence_tkerr
same comment as descr_tkerr applies here
Definition: obj.h:976
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:11248
boolean obj_is_root(const obj_template_t *obj)
Check if object is marked as a root object.
Definition: obj.c:14226
boolean obj_any_notifs(const dlq_hdr_t *datadefQ)
Check if there are any notifications in the datadefQ.
Definition: obj.c:9869
obj_template_t * obj_match_child_str(obj_template_t *obj, const xmlChar *modname, const xmlChar *objname, uint32 objnamelen, uint32 *matchcount)
Match a child object with the specified Qname Find first command that matches all N chars of objname...
Definition: obj.c:6702
xmlChar * descr
description-stmt (not saved on server)
Definition: obj.h:936
obj_defval_tk_t * obj_first_dev_defval_tk(const obj_deviate_t *dev)
Get the first defval_tk entry.
Definition: obj.c:17588
obj_template_t * obj_next_child_deep_ex(obj_template_t *obj, boolean stopnext)
Get the next child object if the specified object has any children.
Definition: obj.c:7238
rpc input
Definition: obj.h:725
ncx_error_t tkerr
file and line info for compiler
Definition: obj.h:1155
obj_template_t * obj_find_child_fast(obj_template_t *obj, xmlns_id_t nsid, const xmlChar *objname)
Find a child object with the specified Qname.
Definition: obj.c:6313
not set
Definition: obj.h:613
uint16 obj_get_key_num(obj_template_t *obj)
Get the key number for the object.
Definition: obj.c:17006
xmlns_id_t obj_get_nsid(const obj_template_t *obj)
Get the namespace ID for this object.
Definition: obj.c:12469
ncx_btype_t obj_get_basetype(const obj_template_t *obj)
Get the NCX base type enum for the object type.
Definition: obj.c:12151
status_t obj_gen_object_id(const obj_template_t *obj, xmlChar **buff)
Malloc and Generate the object ID for an object node.
Definition: obj.c:10061
boolean obj_is_target_template(obj_template_t *obj)
Check a data node and its descendants match the template for NETCONF configuration sources...
Definition: obj.c:16757
boolean obj_is_anydata(const obj_template_t *obj)
Check if object is an anydata.
Definition: obj.c:13358
boolean obj_notif_log_drops(const obj_template_t *obj)
Check if the event drops for the notification object is enabled.
Definition: obj.c:17122
rpc output
Definition: obj.h:726
boolean obj_is_data_node(const obj_template_t *obj)
Check if the object is a real node type.
Definition: obj.c:13904
ncx_backptr_t * obj_next_inherit_when_ptr(ncx_backptr_t *ptr)
Get the next xpath pointer struct.
Definition: obj.c:16314
const xmlChar * obj_get_keystr(obj_template_t *obj)
Get the key string for this list object.
Definition: obj.c:15872
void obj_clean_datadefQ(dlq_hdr_t *que)
Clean and free all the obj_template_t structs in the specified Q.
Definition: obj.c:8222
dlq_hdr_t * obj_get_appinfoQ(obj_template_t *obj)
Get the appinfoQ for this obj.
Definition: obj.c:11360
boolean obj_in_notif(const obj_template_t *obj)
Check if the object is in a notification.
Definition: obj.c:14026
boolean obj_is_hidden(const obj_template_t *obj)
Check if object is marked as a hidden object.
Definition: obj.c:14213
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.
Definition: obj.c:7581
obj_metadata_t * obj_next_metadata(const obj_metadata_t *meta)
Get the next object metadata definition in the object.
Definition: obj.c:15261
ncx_iqual_t obj_get_iqualval(obj_template_t *obj)
Get the instance qualifier for this object.
Definition: obj.c:12501
ncx_error_t minelems_tkerr
also minset
Definition: obj.h:986
obj_index_t last_index
internal numbering data for val_child ordering
Definition: obj.h:891
boolean obj_has_iffeature(obj_template_t *obj)
Check any if-feature statements exist for the specified object.
Definition: obj.c:14697
dlq_hdr_t * obj_get_leafrefQ(const obj_template_t *obj)
Get the leafrefQ for this obj.
Definition: obj.c:11432
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.
Definition: obj.c:14188
One YANG 'grouping' definition – sibling set template.
Definition: grp.h:87
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.
Definition: obj.c:13862
boolean obj_is_augment(const obj_template_t *obj)
Check if the obj is an augment statement.
Definition: obj.c:13777
grp_template_t * grp
const back-ptr to grouping
Definition: obj.h:940
obj_key_t * obj_last_key(obj_template_t *obj)
Get the last key record.
Definition: obj.c:9575
boolean minset
min-elements set
Definition: obj.h:847
obj_type_t
enumeration for different YANG data def statement types the enum order is significant!!! do not chang...
Definition: obj.h:612
boolean obj_parent_same_module(const obj_template_t *obj)
Check if the object parent object is the same.
Definition: obj.c:17236
xmlChar * def
default value string
Definition: obj.h:743
struct obj_template_t_ * defaultparm
default parm for yangcli
Definition: obj.h:786
status_t obj_assign_xpath_backptr(obj_template_t *obj, struct xpath_pcb_t_ *xpath)
Set an xpath-expr backptr.
Definition: obj.c:16444
boolean obj_is_sil_force_replay(const obj_template_t *obj)
Check if this object has the OBJ_FL_SIL_FORCE_REPLAY bit set.
Definition: obj.c:17055
void obj_number_data_object(obj_template_t *obj)
Number the object tree; initial setup.
Definition: obj.c:17477
defines the snmp oid value, stored as an array of integers for easier comparision when performing AVL...
Definition: obj.h:1126
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.
Definition: obj.c:16650
status_t obj_add_metadata(obj_metadata_t *meta, obj_template_t *obj)
Add the filled out object metadata definition to the object.
Definition: obj.c:15156
One YANG refine statement struct.
Definition: obj.h:948
ncx_transaction_id_t must_txid
current edit transaction ID for MUST test default nodes pruning
Definition: obj.h:1229
boolean empty
for display in yangdump
Definition: obj.h:1360
obj_template_t * obj_get_parent(obj_template_t *obj)
Get the parent of the current object.
Definition: obj.c:12753
xmlChar * name
choice name
Definition: obj.h:897
uint8 obj_testflags_t
object test flags
Definition: obj.h:1133
not set
Definition: obj.h:724
status_t
global error return code
Definition: status_enum.h:186
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 pre...
Definition: obj.c:15054
obj_iffeature_ptr_t * obj_new_iffeature_ptr(ncx_iffeature_t *iff)
Malloc and initialize a new obj_iffeature_ptr_t struct.
Definition: obj.c:16224
obj_template_t * obj_get_leafref_targobj(obj_template_t *obj)
Get the target object for a leafref leaf or leaf-list.
Definition: obj.c:15970
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.
Definition: obj.c:13658
const xmlChar * obj_get_altname(const obj_template_t *obj)
Get the alt-name for this object, if any.
Definition: obj.c:15945
boolean obj_is_mandatory(obj_template_t *obj)
Figure out if the obj is YANG mandatory or not.
Definition: obj.c:13584
uint8 cnt
amount of Sub-Ids (max 128)
Definition: obj.h:1127
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.
boolean obj_is_xsdlist(const obj_template_t *obj)
Check if object is marked as an XSD list.
Definition: obj.c:14284
boolean obj_is_password(const obj_template_t *obj)
Check if object is marked as a password object.
Definition: obj.c:14269
status_t obj_gen_object_id_code(ncx_module_t *mod, const obj_template_t *obj, xmlChar **buff)
Malloc and Generate the object ID for an object node for C code usage generate a unique name for C co...
Definition: obj.c:10386
One YANG 'choice' definition.
Definition: obj.h:896
ncx_error_t config_tkerr
same comment as tkerr
Definition: obj.h:1323
obj_template_t * obj_get_real_parent_aug(obj_template_t *obj)
Get the parent of the current object; skip OBJ_TYP_AUGMENT and return the actual parent.
Definition: obj.c:18684
obj_unique_t * obj_find_unique(dlq_hdr_t *que, const xmlChar *xpath)
Find a specific unique-stmt.
Definition: obj.c:9280
void obj_free_unique(obj_unique_t *un)
Free a obj_unique_t struct.
Definition: obj.c:9175
xmlChar * descr
description-stmt (not saved on server)
Definition: obj.h:803
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:7158
typ_def_t * typdef
typedef if deviating the type
Definition: obj.h:1305
xmlChar * name
leaf-list name
Definition: obj.h:830
This object represents a YANG notification statement.
Definition: obj.h:698
boolean obj_is_top(const obj_template_t *obj)
Check if the object is top-level object within the YANG module that defines it.
Definition: obj.c:14822
xmlChar * name
rpc method name
Definition: obj.h:1016
grp_template_t * obj_find_grouping(obj_template_t *obj, const xmlChar *grpname)
Check if a grp_template_t in the obj groupingQ hierarchy.
Definition: obj.c:8417
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:18460
xmlChar * prefix
prefix present in uses-stmt
Definition: obj.h:932
obj_key_t * obj_find_key(dlq_hdr_t *que, const xmlChar *keycompname)
Find a specific key component by key leaf identifier name.
Definition: obj.c:9472
custom error message parameter control block
Definition: obj.h:1095
struct obj_template_t_ * leafrefobj
leafref obj backptr only if btyp == NCX_BT_LEAFREF
Definition: obj.h:857
This object represents a YANG rpc statement.
Definition: obj.h:681
const xmlChar * obj_get_type_name(const obj_template_t *obj)
Get the typename for an object.
Definition: obj.c:12434
status_t obj_cache_datarule(obj_template_t *obj, void *rule)
Set the data-rule back-ptr for this node.
Definition: obj.c:18084
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.
Definition: obj.c:12949
struct ncx_module_t_ * mod
object module and namespace ID assigned at runtime this can be changed over and over as a uses statem...
Definition: obj.h:1199
NETCONF protocol remote procedure call common definitions.
ncx_yang_version_t obj_get_langver(obj_template_t *obj)
Get the YANG version for this object.
Definition: obj.c:17766
boolean obj_is_block_user_update(const obj_template_t *obj)
Check if object is marked as ncx:user-write with update access disabled.
Definition: obj.c:16185
boolean is_action
YANG 1.1 only.
Definition: obj.h:1028
boolean obj_is_action(const obj_template_t *obj)
Check if the object is a YANG 1.1 action.
Definition: obj.c:14102
ncx_error_t type_tkerr
same comment as tkerr
Definition: obj.h:1308
obj_template_t * obj_get_augment_targobj(obj_template_t *obj)
Get the target object for an augments object.
Definition: obj.c:15991
boolean xpath_oper_ok
object OK for referencing oper-data in XPath
Definition: obj.h:1161
const xmlChar * obj_get_mod_name(const obj_template_t *obj)
Get the module name for this object.
Definition: obj.c:12250
obj_template_t * obj_find_template_top_ex(ncx_module_t *mod, const xmlChar *modname, const xmlChar *objname, ncx_name_match_t match_names, boolean alt_names, boolean dataonly, status_t *retres)
Check if an obj_template_t in the mod->datadefQ or any of the include files visible to this module...
Definition: obj.c:5944
boolean obj_get_config_flag_deep(const obj_template_t *obj)
get config flag during augment expand
Definition: obj.c:13084
xmlChar * presence
refining the presence-stmt
Definition: obj.h:973
const xmlChar * obj_get_default(const obj_template_t *obj)
Get the default value for the specified object.
Definition: obj.c:11644
obj_key_t * obj_get_key_by_name(obj_template_t *obj, const xmlChar *keyname)
Check the specified list to see if the string is a list key.
Definition: obj.c:17738
boolean obj_use_get_when_check(const obj_template_t *obj)
check an object needs to use a when-check for GET processing
Definition: obj.c:18354
boolean obj_get_max_elements(obj_template_t *obj, uint32 *maxelems)
Get the max-elements clause for this object, if any.
Definition: obj.c:12664
void * cbset
cbset is different based on the object type:
Definition: obj.h:1187
typ_def_t * obj_get_base_typdef(obj_template_t *obj)
Get the base typdef for the leaf or leaf-list.
Definition: obj.c:12094
NCX Syntax Token Handler.
xmlChar * descr
description-stmt (not saved on server)
Definition: obj.h:870
void obj_sort_children(obj_template_t *obj)
Check all the child nodes of the specified object and rearrange them into alphabetical order...
Definition: obj.c:15290
xmlChar * matchstr
message string to match
Definition: obj.h:1089
Global error messages for status code enumerations.
obj_unique_t * obj_next_unique(obj_unique_t *un)
Get the next unique-stmt for a list.
Definition: obj.c:9348
boolean obj_notif_enabled(const obj_template_t *obj)
Check if the notification object is enabled.
Definition: obj.c:17106
obj_deviate_t * obj_new_deviate(void)
Malloc and initialize the fields in a an object deviate statement.
Definition: obj.c:9901
xmlChar * path
path of replacement data
Definition: obj.h:1097
boolean obj_is_rpc(const obj_template_t *obj)
Check if the object is an RPC method.
Definition: obj.c:14057
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!!! ...
Definition: obj.c:11850
void * yangmap_cb
if set, backptr to the nodemap in a YANG model mapping OBJ_IS_YANGMAP_SOURCE() indicates this is the ...
Definition: obj.h:1223
xmlChar * ref
reference-stmt (not saved on server)
Definition: obj.h:1022
obj_defval_tk_t * obj_new_defval_tk(void)
Create a new object default tk record;.
Definition: obj.c:17496
obj_template_t * obj_new_rpcio(obj_template_t *rpcobj, const xmlChar *name)
Malloc and initialize the fields in a an obj_rpcio_t.
Definition: obj.c:8191
status_t obj_add_errmsg_parm(obj_errmsg_t *errmsg, const xmlChar *parmstr)
Add an errmsg parameter for the object.
obj_oid_t * obj_get_oid_struct(obj_template_t *obj, boolean *malloced)
Get malloced object OID structure that contains OID string and OID count.
Definition: obj.c:17894
boolean obj_is_xpath_string(const obj_template_t *obj)
Check if object is an XPath string.
Definition: obj.c:14468
boolean obj_is_singular(const obj_template_t *obj)
Check if the object can have only one instance or not.
Definition: obj.c:18240
const xmlChar * obj_get_oid_string(obj_template_t *obj)
Get object OID sting value.
Definition: obj.c:17836
ncx_status_t status
status-stmt
Definition: obj.h:1024
boolean config
deviating config-stmt
Definition: obj.h:1320
void obj_exit_xpath_mode(void)
Exit xpath mode and stop ignoring obj_is_enabled.
Definition: obj.c:17719
const xmlChar * obj_get_mod_prefix(const obj_template_t *obj)
Get the module prefix for this object.
Definition: obj.c:12199
struct xpath_pcb_t_ * obj_next_xpath_backptr(obj_template_t *obj, struct xpath_pcb_t_ *xpath)
Get the next XPath backptr.
Definition: obj.c:16387
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 retur...
Definition: obj.c:11287
One YANG 'typedef' definition – top-level type template.
Definition: typ.h:477
void * def_hook_cb
def_hook_cb is ncx_def_hook_cbfn_t callback function for Dynamic Default Hook callback.
Definition: obj.h:1256
uint16 obj_index_t
object index only applies to child nodes; this is assigned at runtime and any augments loaded at run-...
Definition: obj.h:719
uint8 sil_priority
picks SIL callback order
Definition: obj.h:1152
One YANG rpc-stmt struct.
Definition: obj.h:1014
boolean obj_is_np_container(const obj_template_t *obj)
Check if the object is an Non-Presence-container.
Definition: obj.c:14561
obj_template_t * obj_find_template_top_lrcheck(ncx_module_t *mod, const xmlChar *modname, const xmlChar *objname)
Check if an obj_template_t in the mod->datadefQ or any of the include files visible to this module (L...
Definition: obj.c:6072
boolean obj_is_abstract_ex(const obj_template_t *obj)
DUPLICATE FUNCTION OF obj_in_abstract()
Definition: obj.c:17795
const obj_template_t * obj_get_cparent(const obj_template_t *obj)
Get the parent of the current object CONST POINTER VERSION.
Definition: obj.c:12780
const xmlChar * obj_get_reference(const obj_template_t *obj)
Get the reference field for this obj.
Definition: obj.c:11126
xmlChar * name
list name
Definition: obj.h:864
uint32 xflags
see OBJ_FL_* definitions
Definition: obj.h:1147
obj_template_t * obj_first_terminal_child(obj_template_t *obj)
Get the first child object if the specified object has any children; MUST BE A TERMINAL NODE!!! ...
Definition: obj.c:6803
ncx_transaction_id_t edit_txid
current edit transaction ID for commit test pruning
Definition: obj.h:1226
obj_template_t * obj_first_terminal_child_nokey(obj_template_t *obj)
Get the first child object if the specified object has any children; MUST BE A TERMINAL NODE!!! ...
Definition: obj.c:6847
boolean obj_find_defval(obj_template_t *obj, const xmlChar *find_defval)
Find a default.
Definition: obj.c:17658
typ_def_t * obj_get_typdef(obj_template_t *obj)
Get the typdef for the leaf or leaf-list.
Definition: obj.c:12065
boolean obj_is_secure(const obj_template_t *obj)
Check if object is tagged ncx:secure.
Definition: obj.c:14512
obj_defval_tk_t * obj_next_defval_tk(const obj_defval_tk_t *defval_tk)
Get the next defval_tk entry.
Definition: obj.c:17569
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...
Definition: obj.c:11314
case
Definition: obj.h:727
boolean notif_log_drops
log drops for this event type
Definition: obj.h:1074
obj_index_t index
object index for val_child ordering
Definition: obj.h:1157
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.
Definition: obj.c:18012
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...
Definition: obj.c:15126
xmlChar * xpath
complete saved unique str
Definition: obj.h:760
boolean obj_npcon_has_defaults(obj_template_t *obj)
Check if the specified NP container has defaults within it Must be a config object!!! ...
Definition: obj.c:11826
ncx_error_t arg_tkerr
same comment as tkerr
Definition: obj.h:1302
const xmlChar * obj_get_deviate_arg(obj_deviate_arg_t devarg)
Get the deviate-arg string from its enumeration.
Definition: obj.c:9957
xmlChar * descr
description-stmt (not saved on server)
Definition: obj.h:1064
boolean notif_enabled
enabled or disabled in server
Definition: obj.h:1073
xmlChar * descr
description-stmt (not saved on server)
Definition: obj.h:1042
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:11945
void obj_clear_datarule(obj_template_t *obj, const void *rule)
Clear the datarule back-ptr for this node.
Definition: obj.c:18119
uint32 minelems
min-elements value
Definition: obj.h:848
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.
Definition: obj.c:13790
obj_template_t * obj_find_template_top(ncx_module_t *mod, const xmlChar *modname, const xmlChar *objname)
Check if an obj_template_t in the mod->datadefQ or any of the include files visible to this module...
Definition: obj.c:5900
boolean obj_rpc_has_output(obj_template_t *obj)
Check if the RPC object has any real output children.
Definition: obj.c:15041
boolean empty
deviate-stmt is empty
Definition: obj.h:1296
ncx_error_t mandatory_tkerr
mandatory and mandset are in the object flags
Definition: obj.h:984
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...
Definition: obj.c:14435
xmlChar * name
input or output
Definition: obj.h:995
boolean obj_has_text_content(const obj_template_t *obj)
Check if the specified object type has a text content for XPath purposes.
Definition: obj.c:10793
ncx_transaction_id_t leafref_txid
current edit transaction ID for intermediate leafref processing
Definition: obj.h:1235
struct xpath_pcb_t_ * when
optional when clause
Definition: obj.h:1167
boolean annotation
set from annotation
Definition: obj.h:1361
void * get2cb
get2fn is getcb_fn2_t for local GET2
Definition: obj.h:1190
typ_def_t * typdef
typedef for the data type
Definition: obj.h:842
boolean ordersys
ordered-by system or user
Definition: obj.h:879
One YANG 'notification' clause definition.
Definition: obj.h:1059
ncx_leafref_class_t
Classification for the types of leafref path statements wrt/ how they can be cached.
Definition: ncxtypes.h:1431
const void * obj_get_description_addr(const obj_template_t *obj)
Get the address of the description field for this obj.
Definition: obj.c:11067
void obj_set_sil_priority(obj_template_t *obj, uint8 prio)
Set the SIL priority field.
Definition: obj.c:17280
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.
Definition: obj.c:8591
struct obj_template_t_ * keyobj
backptr to key object
Definition: obj.h:735
uint32 maxelems
deviating max-elements
Definition: obj.h:1336
const xmlChar * obj_get_mod_version(const obj_template_t *obj)
Get the module version for this object.
Definition: obj.c:12408
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...
Definition: obj.c:11907
One component in a YANG list unique target.
Definition: obj.h:758
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.
Definition: obj.c:16113
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.
Definition: obj.c:11032
void * obj_get_presence_string_field(const obj_template_t *obj)
Get the address ot the presence-stmt value, if any.
Definition: obj.c:12914
One YANG uses statement struct.
Definition: obj.h:931
void obj_set_notif_log_drops(const obj_template_t *obj, boolean enabled)
Set the event drops enabled flag for the notification object.
Definition: obj.c:17161
One YANG input-stmt or output-stmt struct.
Definition: obj.h:994
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.
Definition: obj.c:7370
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 ...
Definition: obj.c:15797
struct obj_template_t_ * targobj
resolved target object to refine
Definition: obj.h:953
This object represents a YANG input or output statement.
Definition: obj.h:689
ncx_error_t tkerr
file and line info for compiler
Definition: obj.h:1358
void obj_free_defval_tk(obj_defval_tk_t *def)
Delete an object default tk record;.
Definition: obj.c:17513
boolean obj_has_children(obj_template_t *obj)
Check if there are any accessible nodes within the object.
Definition: obj.c:14905
dlq_hdr_t * obj_get_mustQ(const obj_template_t *obj)
Get the mustQ for this obj.
Definition: obj.c:11386
status_t res
parse status
Definition: obj.h:1362
ncx_cfg_t
hardwire the 3 standard configs
Definition: ncxtypes.h:535
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:12807
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 ancesto...
Definition: obj.c:14743
ncx_error_t maxelems_tkerr
also maxset
Definition: obj.h:1337
xmlChar * descr
description-stmt (not saved on server)
Definition: obj.h:901
uint32 maxelems
max-elements value
Definition: obj.h:850
uint32 maxelems
max-elements value
Definition: obj.h:987
obj_iffeature_ptr_t * obj_next_iffeature_ptr(obj_iffeature_ptr_t *iffptr)
Get the next if-feature pointer.
Definition: obj.c:16278
ncx_error_t ref_tkerr
same comment as descr_tkerr applies here
Definition: obj.h:970
NCX System Logging Manager.
xmlChar * langstr
language string
Definition: obj.h:1111
ncx_status_t status
status-stmt
Definition: obj.h:907
boolean obj_in_list(const obj_template_t *obj)
Check if object is nested within a list.
Definition: obj.c:13436
obj_key_t * obj_prev_key(obj_key_t *objkey)
Get the previous key record.
Definition: obj.c:9659
boolean caseQclone
flag caseQ is cloned
Definition: obj.h:906
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:7212
obj_template_t * obj_new_template(obj_type_t objtype)
Malloc and initialize the fields in a an object template.
Definition: obj.c:5467
ncx_module_t * obj_get_real_mod(obj_template_t *obj)
Get the module struct for the submodule or main module with this object.
Definition: obj.c:18660
boolean seen
used by yangdiff
Definition: obj.h:736
YANG Grouping Statement Handler.
xmlChar * targmodname
target module name
Definition: obj.h:1348
obj_case_t * obj_find_case(obj_choice_t *choic, const xmlChar *modname, const xmlChar *casname)
Find a specified case arm by name.
Definition: obj.c:8144
void obj_free_iffeature_ptr(obj_iffeature_ptr_t *iffptr)
Free an obj_iffeature_ptr_t struct.
Definition: obj.c:16244
obj_template_t * obj_find_child_ex(obj_template_t *obj, const xmlChar *modname, const xmlChar *objname, ncx_name_match_t match_names, boolean alt_names, boolean dataonly, status_t *retres)
Find a child object with the specified Qname extended match modes.
Definition: obj.c:6370
ncx_status_t
enumeration for different YANG data-def status values
Definition: ncxtypes.h:570
boolean obj_is_abstract(const obj_template_t *obj)
Check if object is being used as an object identifier or error-info.
Definition: obj.c:14365
obj_iffeature_ptr_t * obj_first_iffeature_ptr(obj_template_t *obj)
Get first if-feature pointer.
Definition: obj.c:16260
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 gener...
Definition: obj.c:10159
xmlChar * name
name of container
Definition: obj.h:771
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.
Definition: obj.c:14998
boolean obj_has_get2cb(obj_template_t *obj)
Check if current object has GET2 callback registered.
Definition: obj.c:18210
deviate not-supported
Definition: obj.h:1279
xmlChar * ref
reference-stmt (not saved on server)
Definition: obj.h:919
boolean in_data
defined in data, YANG 1.1 only
Definition: obj.h:1075
obj_template_t * obj_last_child(obj_template_t *obj)
Get the last child object if the specified object has any children.
Definition: obj.c:6892
obj_template_t * obj_get_default_case(obj_template_t *obj)
Get the default case for the specified OBJ_TYP_CHOICE object.
Definition: obj.c:11777
xmlChar * defval
default-stmt only in a leaf
Definition: obj.h:800
ncx_leafref_class_t obj_get_leafref_class(obj_template_t *obj)
Get the leafref class for a leafref object.
Definition: obj.c:17404
oid_t * oidc
OID component.
Definition: obj.h:1128
obj_metadata_t * obj_find_metadata(const obj_template_t *obj, const xmlChar *name)
Find the object metadata definition in the object.
Definition: obj.c:15193
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 ne...
Definition: obj.c:16602
boolean obj_is_cli_equals_ok(const obj_template_t *obj)
Check if object is marked as ncx:default-parm-equals-ok.
Definition: obj.c:16073
boolean nameclone
the nameclone flag is set even though the clone bit is also set; this can probably be removed ...
Definition: obj.h:925
struct obj_template_t_ * parent
backptr to parent
Definition: obj.h:1163
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 ...
Definition: obj.c:18416
xmlChar * units
units-stmt only in a leaf
Definition: obj.h:797
const ncx_iffeature_t * obj_get_first_iffeature(const obj_template_t *obj)
Get the first if-feature clause (if any) for the specified object.
Definition: obj.c:13295
obj_template_t * obj_find_schema_template(dlq_hdr_t *que, const xmlChar *modname, const xmlChar *objname)
Find an object with the specified name For YANG schema-nodeid so NEVER lookdeep.
Definition: obj.c:5791
boolean obj_is_external_augment(obj_template_t *obj)
Check if an object is an external augment.
Definition: obj.c:16028
void obj_init_unique(obj_unique_t *un)
Init a obj_unique_t struct.
Definition: obj.c:9152
const obj_template_t * obj_get_real_cparent(const obj_template_t *obj)
Get the parent of the current object; skip OBJ_TYP_CHOICE and OBJ_TYP_CASE.
Definition: obj.c:12846
boolean obj_is_notif(const obj_template_t *obj)
Check if the object is a notification.
Definition: obj.c:14157
obj_key_t * obj_new_key(void)
Alloc and Init a obj_key_t struct.
Definition: obj.c:9424
ncx_btype_t
enumeration of the built-in NCX types These types cannot be overridden and cannot be imported ...
Definition: ncxtypes.h:200
boolean obj_in_submodule(obj_template_t *obj)
Check if the object is defined in a submodule.
Definition: obj.c:12333
boolean obj_is_enabled(obj_template_t *obj)
Check any if-feature statement that may cause the specified object to be invisible.
Definition: obj.c:14601
typ_def_t * typdef
typedef for the data type (leaf only)
Definition: obj.h:809
boolean ordersys
ordered-by system or user
Definition: obj.h:846
This object represents a YANG presence or non-presence container.
Definition: obj.h:622
const void * obj_get_reference_addr(const obj_template_t *obj)
Get the reference field for this obj.
Definition: obj.c:11185
const xmlChar * obj_get_mod_xmlprefix(const obj_template_t *obj)
Get the module prefix for this object.
Definition: obj.c:12230
boolean is_errortag
error-tag flag
Definition: obj.h:1090
boolean obj_is_leaf(const obj_template_t *obj)
Check if object is a proper leaf.
Definition: obj.c:13397
xmlChar * basestr
base string
Definition: obj.h:1110
dlq_hdr_t * obj_get_datadefQ(obj_template_t *obj)
Get the datadefQ (or caseQ) if this object has one.
Definition: obj.c:11529
xmlChar * ref
reference-stmt (not saved on server)
Definition: obj.h:904
boolean obj_is_short_case(obj_template_t *obj)
Check if the object is a short case statement.
Definition: obj.c:14772
xmlChar * defval
default case
Definition: obj.h:898
obj_augtype_t augtype
internal augment type enum
Definition: obj.h:1051
ncx_error_t tkerr
the error info for each sub-clause is saved because when the deviation-stmt is parsed, the target is not known yet so picking the correct variant such as type-stmt or refine-list-stmts needs to wait until the resolve phase
Definition: obj.h:1293
boolean obj_is_crypt_hash(const obj_template_t *obj)
Check if the object is a leaf of type crypt-hash.
Definition: obj.c:17442