yumapro  24.10-5
YumaPro SDK
Loading...
Searching...
No Matches
agt_cfg.h
Go to the documentation of this file.
1/*
2 * Copyright (c) 2008 - 2012, Andy Bierman, All Rights Reserved.
3 * Copyright (c) 2012 - 2025, 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_agt_cfg
13#define _H_agt_cfg
14
15/* FILE: agt_cfg.h
16*********************************************************************
17* *
18* P U R P O S E *
19* *
20*********************************************************************/
21
28/*********************************************************************
29* *
30* C H A N G E H I S T O R Y *
31* *
32*********************************************************************
33
34date init comment
35----------------------------------------------------------------------
3622dec11 abb begun; split out from ncx/rpc ...
37
38*/
39
40#include <time.h>
41
42#ifndef _H_agt
43#include "agt.h"
44#endif
45
46#ifndef _H_cfg
47#include "cfg.h"
48#endif
49
50#ifndef _H_dlq
51#include "dlq.h"
52#endif
53
54#ifndef _H_ncxtypes
55#include "ncxtypes.h"
56#endif
57
58#ifndef _H_op
59#include "op.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_xpath
71#include "xpath.h"
72#endif
73
74#ifdef __cplusplus
75extern "C" {
76#endif
77
78/********************************************************************
79* *
80* C O N S T A N T S *
81* *
82*********************************************************************/
83
84/* header only */
85
109#define AGT_CFG_SET_VALIDATE_DEF(C) (C)->is_validate_def = TRUE
110
112#define AGT_CFG_GET_VALIDATE_DEF(C) (C)->is_validate_def
113
115#define AGT_CFG_SET_SKIP_SIL(C) (C)->skip_sil = TRUE
116
118#define AGT_CFG_GET_SKIP_SIL(C) (C)->skip_sil
119
121#define AGT_CFG_SET_SKIP_SIL_PARTIAL(C) (C)->skip_sil_partial = TRUE
122
124#define AGT_CFG_GET_SKIP_SIL_PARTIAL(C) (C)->skip_sil_partial
125
127#define AGT_CFG_SET_SKIP_SAVE(C) (C)->skip_save = TRUE
128
130#define AGT_CFG_GET_SKIP_SAVE(C) (C)->skip_save
131
133#define AGT_CFG_GET_COMMENT(C) (C)->comment
134
136#define AGT_CFG_SET_COMMENT(C,S) (C)->comment = S
137
141#define AGT_CFG_GET_TXCB(M) (M)->rpc_txcb
142
144#define AGT_CFG_SET_CUR_SILCALL(C,S) (C)->cur_silcall = S
145
147#define AGT_CFG_GET_CUR_SILCALL(C) (C)->cur_silcall
148
150#define AGT_CFG_SET_TOP_REPLACE(C) (C)->top_replace = TRUE
151
153#define AGT_CFG_IS_TOP_REPLACE(C) (C)->top_replace
154
156#define AGT_CFG_NEWMPIDQ(C) &((C)->newmpidQ)
157
159#define AGT_CFG_CHECK_REDO(C) (C)->check_redo_root_check
160
162#define AGT_CFG_IS_CC_TIMEOUT(C) (C)->is_cc_timeout
163
165#define AGT_CFG_TEST_ONLY_CLEANUP(C) (C)->test_only_cleanup
166
167/********************************************************************
168* *
169* T Y P E S *
170* *
171*********************************************************************/
172
173
175typedef enum agt_cfg_edit_action_t_ {
178
181
184
187
190
193
197
198
200typedef enum agt_cfg_edit_type_t_ {
205
206
235typedef struct agt_cfg_transaction_t_ {
237 dlq_hdr_t qhdr;
238
241
243 xmlChar *txid_str;
244
246 time_t timestamp;
247
250
253
256
259
262
265
273
275 boolean start_bad;
276
278 boolean rootcheck;
279
282
284 boolean commitcheck;
285
287 boolean is_validate;
288
291
293 boolean is_commit;
294
296 boolean is_rollback;
297
299 boolean is_unload;
300
303
305 boolean is_load;
306
308 boolean is_restore;
309
312
315
317 boolean top_replace;
318
321
326
329
331 boolean skip_sil;
332
335
338
340 boolean skip_save;
341
344
347
349 boolean skip_cb;
350
352 boolean hook_merge;
353
356
359
362
365
370
375
377 const xmlChar *comment;
378
381 dlq_hdr_t undoQ; /* Q of agt_cfg_undo_rec_t */
382
386 dlq_hdr_t auditQ; /* Q of agt_cfg_audit_rec_t */
387
391 dlq_hdr_t deadnodeQ; /* Q of ncx_backptr to val_value_t */
392
399 /* not used anymore. See def_reg implementation instead for
400 * must visit checks
401 */
402 // dlq_hdr_t xpath_visitQ; // backptr to agt_cfg_xpath_visit_t
403
405 struct agt_cfg_nested_silcall_t_ *cur_silcall;
406
411 dlq_hdr_t transhookQ;
412
419 dlq_hdr_t newmpidQ; // Q of backptr to agt_cfg_undo_rec_t
420
421 /*** start WITH_YCONTROL=1 fields ***/
422
426 dlq_hdr_t silcallQ;
427
429 dlq_hdr_t silcall_undoQ;
430
433
436
439
442
444 boolean cancel_done;
445
450 dlq_hdr_t added_silcallQ;
451
452 /*** end WITH_YCONTROL=1 fields ***/
453
458
463 dlq_hdr_t sethookQ;
464
465 /* Indicates the current Set Hook in progress.
466 * Used in case the Added Edit expands the existing
467 * edit in progress.
468 */
469 struct agt_cfg_set_hook_t_ *current_hook;
470
472
473
487typedef struct agt_cfg_nested_silcall_t_ {
489 dlq_hdr_t qhdr;
490
493
496
499
502
505
506 /* the newval is a backptr into the subtree
507 * that is really rooted in the undo record that is at
508 * the root of this edit.
509 */
510 val_value_t *newval;
511
512 /* the curval is a backptr into the subtree
513 * that is really rooted in the undo record that is at
514 * the root of this edit.
515 */
516 val_value_t *curval;
517
520
523
525 struct agt_cfg_nested_silcall_t_ *parent;
526
537
539
540
559typedef struct agt_cfg_undo_rec_t_ {
561 dlq_hdr_t qhdr;
562
565
568
570 boolean edit2_merge;
571
574
577
580
585
587 boolean added_edit;
588
590 boolean skip_cb;
591
593 boolean is_insert;
594
599
602
605
608
611
614
617
620
623
626
629
632
635
642
648 xmlChar *save_path;
649
657 dlq_hdr_t extra_deleteQ;
667 dlq_hdr_t nested_silcallQ;
678 dlq_hdr_t child_undoQ;
682
685
688
691
694
699
701 struct agt_cfg_undo_rec_t_ *orig_rev_undo;
702
707
712
716 struct agt_cfg_undo_rec_t_ *updated_undo;
717
720
721} YPACK agt_cfg_undo_rec_t;
722
723
724#ifdef WITH_YCONTROL
725
727typedef struct agt_cfg_child_silcall_t_ {
729 dlq_hdr_t qhdr;
730
733
736
739
741
742
744typedef struct agt_cfg_silcall_t_ {
746 dlq_hdr_t qhdr;
747
750
753
756
758 dlq_hdr_t *subsysQ;
759
761 dlq_hdr_t keyptrQ;
762
764 boolean hook_edit;
765
768
772 dlq_hdr_t child_editQ;
773
774} YPACK agt_cfg_silcall_t;
775#endif // WITH_YCONTROL
776
777
781typedef struct agt_cfg_audit_rec_t_ {
783 dlq_hdr_t qhdr;
784
786 xmlChar *target;
787
790
796
799
800} YPACK agt_cfg_audit_rec_t;
801
802
804typedef struct agt_cfg_commit_test_t_ {
806 dlq_hdr_t qhdr;
807
810
813
816
819
822
824 uint32 testflags;
826
827
829typedef struct agt_cfg_xpath_visit_t_ {
831 dlq_hdr_t qhdr;
832
835
839
840
842typedef struct agt_cfg_trans_hook_t_ {
844 dlq_hdr_t qhdr;
845
848
851
854
857
861
862
864typedef struct agt_cfg_set_hook_t_ {
866 dlq_hdr_t qhdr;
867
870
873
881
884
891
894
898 boolean expanded;
899
900} YPACK agt_cfg_set_hook_t;
901
905/********************************************************************
906* *
907* F U N C T I O N S *
908* *
909*********************************************************************/
910
943 agt_cfg_edit_type_t edit_type,
944 boolean rootcheck,
945 boolean is_validate,
946 boolean is_rollback,
947 status_t *res);
948
949
974 agt_cfg_edit_type_t edit_type,
975 boolean rootcheck,
976 boolean is_validate,
977 boolean is_rollback,
978 boolean no_cb,
979 status_t *res);
980
981
1007 agt_cfg_edit_type_t edit_type,
1008 boolean rootcheck,
1009 boolean is_validate,
1010 boolean is_rollback,
1011 boolean no_cb,
1012 ses_cb_t *scb,
1013 status_t *res);
1014
1015
1023extern status_t
1025 agt_cfg_transaction_t *txcb);
1026
1027
1053extern agt_cfg_transaction_t *
1055 agt_cfg_edit_type_t edit_type,
1056 boolean rootcheck,
1057 boolean is_validate,
1058 boolean is_rollback,
1059 boolean no_cb,
1060 boolean no_silsa_cb,
1061 ses_cb_t *scb,
1062 status_t *res);
1063
1064
1092extern agt_cfg_transaction_t *
1094 agt_cfg_edit_type_t edit_type,
1095 boolean rootcheck,
1096 boolean is_validate,
1097 boolean is_rollback,
1098 boolean no_silsa_cb,
1100 ses_cb_t *scb,
1101 status_t *res);
1102
1103
1109extern void
1111
1112
1120extern status_t
1121 agt_cfg_init_transactions (const xmlChar *txidfile,
1122 boolean foundfile);
1123
1124
1130extern void
1131 agt_cfg_cleanup_transactions (const xmlChar *txidfile);
1132
1133
1142
1143
1149extern agt_cfg_undo_rec_t *
1150 agt_cfg_new_undorec (void);
1151
1152
1158extern void
1160
1161
1167extern void
1169
1170
1182extern void
1184
1185
1193extern agt_cfg_audit_rec_t *
1194 agt_cfg_new_auditrec (const xmlChar *target,
1195 op_editop_t editop);
1196
1197
1203extern void
1205
1206
1212extern agt_cfg_commit_test_t *
1214
1215
1221extern void
1223
1224
1230extern void
1232
1233
1239extern void
1241
1242
1249extern boolean
1251
1252
1258extern void
1260
1261
1267extern void
1269
1270
1271#ifdef WITH_YCONTROL
1282extern agt_cfg_silcall_t *
1284 val_value_t *newval,
1285 val_value_t *curval,
1286 dlq_hdr_t *subsysQ);
1287
1288
1294extern void
1296
1297
1312extern status_t
1314 op_editop_t editop,
1315 val_value_t *newval,
1316 val_value_t *curval,
1317 dlq_hdr_t *subsysQ,
1318 val_value_t *callval,
1319 agt_hook_type_t hook_type);
1320
1321
1335extern status_t
1337 op_editop_t editop,
1338 val_value_t *newval,
1339 val_value_t *curval,
1340 dlq_hdr_t *subsysQ,
1341 val_value_t *callval);
1342
1343
1358extern status_t
1360 op_editop_t editop,
1361 val_value_t *newval,
1362 val_value_t *curval,
1363 dlq_hdr_t *subsysQ,
1364 val_value_t *callval);
1365
1366#endif // WITH_YCONTROL
1367
1368
1391extern status_t
1393 agt_cfg_undo_rec_t *undo,
1394 op_editop_t editop,
1395 val_value_t *newval,
1396 val_value_t *curval,
1397 obj_template_t *callback_obj,
1398 boolean indelete,
1399 boolean in_reverse_delete,
1400 agt_cfg_nested_silcall_t **result);
1401
1402
1416extern agt_cfg_undo_rec_t *
1418 val_value_t *newnode,
1419 val_value_t *curnode);
1420
1421
1431extern agt_cfg_undo_rec_t *
1433 val_value_t *newnode,
1434 val_value_t *curnode);
1435
1436
1444extern agt_cfg_undo_rec_t *
1446
1447
1456extern void
1458 op_editop_t *editop,
1459 val_value_t **newval,
1460 val_value_t **curval);
1461
1462
1468extern void
1470
1471
1477extern void
1479
1480
1489extern boolean
1491 agt_cfg_undo_rec_t *child_undo);
1492
1493
1500extern agt_cfg_undo_rec_t *
1502
1503
1511extern agt_cfg_undo_rec_t *
1513 agt_cfg_undo_rec_t *cur_undo);
1514
1515
1522extern agt_cfg_undo_rec_t *
1524
1525
1533extern agt_cfg_undo_rec_t *
1535 agt_cfg_undo_rec_t *cur_undo);
1536
1537
1544extern agt_cfg_undo_rec_t *
1546
1547
1554extern agt_cfg_undo_rec_t *
1556
1557
1571extern agt_cfg_undo_rec_t *
1573 val_value_t *newnode,
1574 val_value_t *curnode);
1575
1576
1588extern boolean
1590 val_value_t *next_parent);
1591
1592
1603extern agt_cfg_undo_rec_t *
1605 val_value_t *newnode,
1606 val_value_t *curnode);
1607
1608
1628extern boolean
1630 val_value_t *newnode,
1631 val_value_t *curnode);
1632
1633
1645extern boolean
1647 val_value_t *newnode,
1648 val_value_t *curnode);
1649
1650
1660extern agt_cfg_trans_hook_t *
1662 val_value_t *newval,
1663 val_value_t *curval,
1664 op_editop_t editop);
1665
1666
1672extern void
1674
1675
1682extern agt_cfg_trans_hook_t *
1684
1685
1692extern agt_cfg_trans_hook_t *
1694
1695
1702extern agt_cfg_trans_hook_t *
1704
1705
1712extern agt_cfg_trans_hook_t *
1714
1715
1728extern boolean
1730 val_value_t *newval,
1731 val_value_t *curval);
1732
1733
1741extern agt_cfg_undo_rec_t *
1743
1744
1754extern agt_cfg_undo_rec_t *
1756 agt_cfg_undo_rec_t *cur_undo);
1757
1758
1767extern agt_cfg_undo_rec_t *
1769
1770
1780extern agt_cfg_undo_rec_t *
1782 agt_cfg_undo_rec_t *cur_undo);
1783
1784
1791extern void
1793 cfg_template_t *cfg);
1794
1795
1805extern agt_cfg_undo_rec_t *
1807 agt_cfg_undo_rec_t *parent_undo);
1808
1809
1819extern agt_cfg_undo_rec_t *
1821 agt_cfg_undo_rec_t *cur_undo);
1822
1823
1836extern agt_cfg_undo_rec_t *
1838 val_value_t *newnode,
1839 val_value_t *curnode);
1840
1841
1853 agt_cfg_find_nested_silcall (dlq_hdr_t *silcallQ,
1854 val_value_t *newnode,
1855 val_value_t *curnode);
1856
1857
1866extern boolean
1868
1869
1880extern boolean
1882 val_value_t *newnode,
1883 val_value_t *curnode);
1884
1885
1901extern val_value_t *
1903 val_value_t *newval,
1904 val_value_t *curval);
1905
1906
1913extern uint32
1915
1916
1929extern agt_cfg_set_hook_t *
1931 val_value_t *newval,
1932 val_value_t *curval,
1933 op_editop_t editop);
1934
1935
1941extern void
1943
1944
1953extern agt_cfg_set_hook_t *
1955
1956
1965extern agt_cfg_set_hook_t *
1967
1968
1977extern agt_cfg_set_hook_t *
1979
1980
1989extern agt_cfg_set_hook_t *
1991
1995#ifdef __cplusplus
1996} /* end extern 'C' */
1997#endif
1998
1999#endif /* _H_agt_cfg */
Multi-Protocol Network Management Server.
@ brief NCX configuration database manager
dlq provides general double-linked list and queue support:
agt_cfg_undo_rec_t * agt_cfg_first_active_undo(agt_cfg_transaction_t *txcb)
Get the first active undo record.
Definition: agt_cfg.c:4163
agt_cfg_transaction_t * agt_cfg_new_transaction_ex(ncx_cfg_t cfgid, agt_cfg_edit_type_t edit_type, boolean rootcheck, boolean is_validate, boolean is_rollback, boolean no_cb, status_t *res)
Malloc and initialize agt_cfg_transaction_t struct Extended.
Definition: agt_cfg.c:1212
agt_cfg_undo_rec_t * agt_cfg_last_active_child_undo(agt_cfg_transaction_t *txcb, agt_cfg_undo_rec_t *parent_undo)
Get the last active child undo record.
Definition: agt_cfg.c:4378
boolean agt_cfg_transaction_is_unload(agt_cfg_transaction_t *txcb)
Check if this transaction is a commit for unloading a module.
Definition: agt_cfg.c:2165
agt_cfg_trans_hook_t * agt_cfg_prev_trans_hook(agt_cfg_trans_hook_t *cur_hook)
Get the previous Trans Hook entry.
Definition: agt_cfg.c:4072
agt_cfg_audit_rec_t * agt_cfg_new_auditrec(const xmlChar *target, op_editop_t editop)
Malloc and initialize a new agt_cfg_audit_rec_t struct.
Definition: agt_cfg.c:2019
agt_cfg_trans_hook_t * agt_cfg_new_trans_hook(obj_template_t *target_obj, val_value_t *newval, val_value_t *curval, op_editop_t editop)
Create and fill in a Trans Hook callback back pointer.
Definition: agt_cfg.c:3949
agt_cfg_commit_test_t * agt_cfg_new_commit_test(void)
Malloc a agt_cfg_commit_test_t struct.
Definition: agt_cfg.c:2077
boolean agt_cfg_check_parent_edits(agt_cfg_transaction_t *txcb, val_value_t *newnode, val_value_t *curnode)
Make sure that current undo is unique and does not have the same undo in different parent undo.
Definition: agt_cfg.c:3880
void agt_cfg_child_edit_fields(agt_cfg_undo_rec_t *child_undo, op_editop_t *editop, val_value_t **newval, val_value_t **curval)
Get the child edit fields from the undo record.
Definition: agt_cfg.c:3118
agt_cfg_set_hook_t * agt_cfg_first_set_hook(agt_cfg_transaction_t *txcb)
Get the first Set Hook record.
Definition: agt_cfg.c:4950
agt_cfg_set_hook_t * agt_cfg_get_next_expanded_sethook(agt_cfg_set_hook_t *cur_hook)
Get the next expanded Set Hook entry that was expanded.
Definition: agt_cfg.c:5026
agt_cfg_transaction_t * agt_cfg_new_transaction(ncx_cfg_t cfgid, agt_cfg_edit_type_t edit_type, boolean rootcheck, boolean is_validate, boolean is_rollback, status_t *res)
Malloc and initialize agt_cfg_transaction_t struct.
Definition: agt_cfg.c:1167
agt_cfg_transaction_t * agt_cfg_rerun_transaction(ncx_cfg_t cfgid, agt_cfg_edit_type_t edit_type, boolean rootcheck, boolean is_validate, boolean is_rollback, boolean no_silsa_cb, ncx_transaction_id_t txid, ses_cb_t *scb, status_t *res)
Malloc and initialize agt_cfg_transaction_t struct.
Definition: agt_cfg.c:1535
agt_cfg_nested_silcall_t * agt_cfg_find_nested_silcall(dlq_hdr_t *silcallQ, val_value_t *newnode, val_value_t *curnode)
Match nested callback in provided undo record nested silcall Queue.
Definition: agt_cfg.c:4580
boolean agt_cfg_find_duplicate_silcall(agt_cfg_transaction_t *txcb, val_value_t *newnode, val_value_t *curnode)
Check if there is already the same callback in the nested silcall.
Definition: agt_cfg.c:3800
status_t agt_cfg_finish_new_transaction(ses_cb_t *scb, agt_cfg_transaction_t *txcb)
Call the start transaction callback if it was deferred.
Definition: agt_cfg.c:1449
agt_cfg_undo_rec_t * agt_cfg_find_undo_node(agt_cfg_transaction_t *txcb, val_value_t *newnode, val_value_t *curnode)
Find an undo node.
Definition: agt_cfg.c:2868
void agt_cfg_free_auditrec(agt_cfg_audit_rec_t *auditrec)
Free all the memory used by the specified agt_cfg_audit_rec_t.
Definition: agt_cfg.c:2055
status_t agt_cfg_add_silcall(agt_cfg_transaction_t *txcb, op_editop_t editop, val_value_t *newval, val_value_t *curval, dlq_hdr_t *subsysQ, val_value_t *callval)
Create and fill in a remote SIL callback back pointer Add it to the transaction control block silcall...
Definition: agt_cfg.c:2439
agt_cfg_undo_rec_t * agt_cfg_find_child_undo_node(agt_cfg_undo_rec_t *parent_undo, val_value_t *newnode, val_value_t *curnode)
Find a child undo node.
Definition: agt_cfg.c:3469
agt_cfg_undo_rec_t * agt_cfg_next_child_undo(agt_cfg_undo_rec_t *cur_undo)
Get the next child undo record.
Definition: agt_cfg.c:3440
agt_cfg_undo_rec_t * agt_cfg_next_undo(agt_cfg_transaction_t *txcb, agt_cfg_undo_rec_t *cur_undo)
Get the next undo record.
Definition: agt_cfg.c:3345
boolean agt_cfg_ascendant_lists_check(val_value_t *test_val, val_value_t *next_parent)
Test an undo node within specified parent list.
Definition: agt_cfg.c:3603
void agt_cfg_clean_undorec(agt_cfg_undo_rec_t *undo)
Clean all the memory used by the specified agt_cfg_undo_rec_t but do not free the struct itself.
Definition: agt_cfg.c:1996
agt_cfg_undo_rec_t * agt_cfg_first_undo(agt_cfg_transaction_t *txcb)
Get the first undo record.
Definition: agt_cfg.c:3322
void agt_cfg_free_trans_hook(agt_cfg_trans_hook_t *hook)
Clean and free a malloced Trans Hook callback.
Definition: agt_cfg.c:3980
void agt_cfg_free_silcall(agt_cfg_silcall_t *silcall)
Clean and free a mallocedremote SIL callback back pointer.
Definition: agt_cfg.c:2305
ncx_transaction_id_t agt_cfg_txid_in_progress(ncx_cfg_t cfgid)
Return the ID of the current transaction ID in progress.
Definition: agt_cfg.c:1893
agt_cfg_undo_rec_t * agt_cfg_prev_active_undo(agt_cfg_transaction_t *txcb, agt_cfg_undo_rec_t *cur_undo)
Get the prev active undo record.
Definition: agt_cfg.c:4282
agt_cfg_set_hook_t * agt_cfg_next_set_hook(agt_cfg_set_hook_t *cur_hook)
Get the next Set Hook callback.
Definition: agt_cfg.c:4973
boolean agt_cfg_undo_match(agt_cfg_undo_rec_t *undo, val_value_t *newnode, val_value_t *curnode)
Check if provided undo is the one for newval and curval.
Definition: agt_cfg.c:4688
boolean agt_cfg_use_child_undo(agt_cfg_undo_rec_t *undo, agt_cfg_undo_rec_t *child_undo)
Check if the child edit node should be invoked.
Definition: agt_cfg.c:3292
boolean agt_cfg_has_added_edits(agt_cfg_transaction_t *txcb)
Check if there are added edits in the Queue.
Definition: agt_cfg.c:4649
agt_cfg_transaction_t * agt_cfg_new_transaction_ex3(ncx_cfg_t cfgid, agt_cfg_edit_type_t edit_type, boolean rootcheck, boolean is_validate, boolean is_rollback, boolean no_cb, boolean no_silsa_cb, ses_cb_t *scb, status_t *res)
Malloc and initialize agt_cfg_transaction_t struct Extended3.
Definition: agt_cfg.c:1315
agt_cfg_undo_rec_t * agt_cfg_last_undo(agt_cfg_transaction_t *txcb)
Get the last undo record.
Definition: agt_cfg.c:3370
status_t agt_cfg_add_nested_silcall(agt_cfg_transaction_t *txcb, agt_cfg_undo_rec_t *undo, op_editop_t editop, val_value_t *newval, val_value_t *curval, obj_template_t *callback_obj, boolean indelete, boolean in_reverse_delete, agt_cfg_nested_silcall_t **result)
Malloc and fill in a new nested SIL callback record.
Definition: agt_cfg.c:2675
void agt_cfg_dump_undo(agt_cfg_undo_rec_t *undo)
Debug log a description of the undo record.
Definition: agt_cfg.c:3221
agt_cfg_set_hook_t * agt_cfg_new_set_hook(obj_template_t *target_obj, val_value_t *newval, val_value_t *curval, op_editop_t editop)
Create and fill in a Set Hook callback back pointer.
Definition: agt_cfg.c:4864
agt_cfg_undo_rec_t * agt_cfg_prev_active_child_undo(agt_cfg_transaction_t *txcb, agt_cfg_undo_rec_t *cur_undo)
Get the prev active child undo record.
Definition: agt_cfg.c:4416
void agt_cfg_clear_config_txid(agt_cfg_transaction_t *txcb, cfg_template_t *cfg)
Clear current config txid if any.
Definition: agt_cfg.c:4325
void agt_cfg_remove_module_commit_tests(ncx_module_t *mod)
Remove module commit tests for specified module.
Definition: agt_cfg.c:2205
agt_cfg_trans_hook_t * agt_cfg_last_trans_hook(agt_cfg_transaction_t *txcb)
Get the last Transaction Hook entry.
Definition: agt_cfg.c:4049
uint32 agt_cfg_transaction_edit_count(agt_cfg_transaction_t *txcb)
Check the undo record count for the transaction.
Definition: agt_cfg.c:4839
agt_cfg_undo_rec_t * agt_cfg_next_active_undo(agt_cfg_transaction_t *txcb, agt_cfg_undo_rec_t *cur_undo)
Get the next active undo record.
Definition: agt_cfg.c:4203
agt_cfg_undo_rec_t * agt_cfg_find_undo_node_ascendant(agt_cfg_transaction_t *txcb, val_value_t *newnode, val_value_t *curnode)
Find an undo node and check for the ascendant lists match.
Definition: agt_cfg.c:4463
void agt_cfg_cleanup_transactions(const xmlChar *txidfile)
Cleanup the transaction ID functionality.
Definition: agt_cfg.c:1869
void agt_cfg_restore_newnode(agt_cfg_undo_rec_t *undo)
Swap the newnode and newnode_pointers.
Definition: agt_cfg.c:3263
void agt_cfg_force_full_root_check(agt_cfg_transaction_t *txcb)
Tag this transaction as needing a full root check.
Definition: agt_cfg.c:2184
val_value_t * agt_cfg_generate_edit2_newval(agt_cfg_transaction_t *txcb, val_value_t *newval, val_value_t *curval)
Generate newval from child_edits.
Definition: agt_cfg.c:4728
agt_cfg_trans_hook_t * agt_cfg_next_trans_hook(agt_cfg_trans_hook_t *cur_hook)
Get the next Transaction Hook callback.
Definition: agt_cfg.c:4026
agt_cfg_undo_rec_t * agt_cfg_first_child_edit(agt_cfg_transaction_t *txcb, val_value_t *newnode, val_value_t *curnode)
Get the first child node edit record for a given transaction.
Definition: agt_cfg.c:2982
agt_cfg_set_hook_t * agt_cfg_get_first_expanded_sethook(agt_cfg_transaction_t *txcb)
Get the first expanded Set Hook entry that was expanded.
Definition: agt_cfg.c:4996
void agt_cfg_set_transaction_commit(agt_cfg_transaction_t *txcb)
Tag this transaction as a commit from candidate to running.
Definition: agt_cfg.c:2124
agt_cfg_undo_rec_t * agt_cfg_last_active_undo(agt_cfg_transaction_t *txcb)
Get the last active undo record.
Definition: agt_cfg.c:4246
void agt_cfg_free_set_hook(agt_cfg_set_hook_t *hook)
Clean and free a malloced Set Hook callback.
Definition: agt_cfg.c:4918
agt_cfg_undo_rec_t * agt_cfg_find_undo_node_slow(agt_cfg_transaction_t *txcb, val_value_t *newnode, val_value_t *curnode)
Find an undo node and check for the ascendant lists match.
Definition: agt_cfg.c:3648
void agt_cfg_init_undorec(agt_cfg_undo_rec_t *undo)
Initialize a new agt_cfg_undo_rec_t struct.
Definition: agt_cfg.c:1939
void agt_cfg_free_commit_test(agt_cfg_commit_test_t *commit_test)
Free a previously malloced agt_cfg_commit_test_t struct.
Definition: agt_cfg.c:2098
agt_cfg_undo_rec_t * agt_cfg_next_child_edit(agt_cfg_undo_rec_t *curedit)
Get the next child node edit record for a given transaction.
Definition: agt_cfg.c:3065
agt_cfg_silcall_t * agt_cfg_new_silcall(op_editop_t editop, val_value_t *newval, val_value_t *curval, dlq_hdr_t *subsysQ)
Create and fill in a remote SIL callback back pointer.
Definition: agt_cfg.c:2272
status_t agt_cfg_add_hook_silcall(agt_cfg_transaction_t *txcb, op_editop_t editop, val_value_t *newval, val_value_t *curval, dlq_hdr_t *subsysQ, val_value_t *callval, agt_hook_type_t hook_type)
Create and fill in a remote Hook SIL callback back pointer Add it to the transaction control block si...
Definition: agt_cfg.c:2345
void agt_cfg_free_undorec(agt_cfg_undo_rec_t *undo)
Free all the memory used by the specified agt_cfg_undo_rec_t.
Definition: agt_cfg.c:1970
agt_cfg_trans_hook_t * agt_cfg_first_trans_hook(agt_cfg_transaction_t *txcb)
Get the first transaction hook record.
Definition: agt_cfg.c:4003
void agt_cfg_set_transaction_unload(agt_cfg_transaction_t *txcb)
Tag this transaction as a commit for unloading a module.
Definition: agt_cfg.c:2144
agt_cfg_undo_rec_t * agt_cfg_prev_undo(agt_cfg_transaction_t *txcb, agt_cfg_undo_rec_t *cur_undo)
Get the prev undo record.
Definition: agt_cfg.c:3393
void agt_cfg_free_transaction(agt_cfg_transaction_t *txcb)
Clean and free a agt_cfg_transaction_t struct.
Definition: agt_cfg.c:1659
status_t agt_cfg_init_transactions(const xmlChar *txidfile, boolean foundfile)
Initialize the transaction ID functionality.
Definition: agt_cfg.c:1799
agt_cfg_transaction_t * agt_cfg_new_transaction_ex2(ncx_cfg_t cfgid, agt_cfg_edit_type_t edit_type, boolean rootcheck, boolean is_validate, boolean is_rollback, boolean no_cb, ses_cb_t *scb, status_t *res)
Malloc and initialize agt_cfg_transaction_t struct Extended2.
Definition: agt_cfg.c:1261
status_t agt_cfg_add_edit2_silcall(agt_cfg_transaction_t *txcb, op_editop_t editop, val_value_t *newval, val_value_t *curval, dlq_hdr_t *subsysQ, val_value_t *callval)
Create and fill in a remote SIL callback back pointer.
Definition: agt_cfg.c:2531
agt_cfg_undo_rec_t * agt_cfg_first_child_undo(agt_cfg_undo_rec_t *undo)
Get the first child undo record for EDIT2 mode.
Definition: agt_cfg.c:3418
agt_cfg_undo_rec_t * agt_cfg_new_undorec(void)
Malloc and initialize a new agt_cfg_undo_rec_t struct.
Definition: agt_cfg.c:1915
boolean agt_cfg_check_hook_created(agt_cfg_transaction_t *txcb, val_value_t *newval, val_value_t *curval)
Check if the Transaction Hook has been already setup for the current undo record or newval/curval val...
Definition: agt_cfg.c:4102
agt_cfg_edit_action_t
classify the config edit action type
Definition: agt_cfg.h:175
agt_cfg_edit_type_t
classify the config edit type
Definition: agt_cfg.h:200
@ AGT_CFG_EDIT_ACTION_REPLACE
replace edit action
Definition: agt_cfg.h:189
@ AGT_CFG_EDIT_ACTION_DELETE_DEFAULT
delete default edit action
Definition: agt_cfg.h:195
@ AGT_CFG_EDIT_ACTION_MOVE
move edit action
Definition: agt_cfg.h:186
@ AGT_CFG_EDIT_ACTION_SET
set edit action
Definition: agt_cfg.h:183
@ AGT_CFG_EDIT_ACTION_NONE
not set
Definition: agt_cfg.h:177
@ AGT_CFG_EDIT_ACTION_DELETE
delete edit action
Definition: agt_cfg.h:192
@ AGT_CFG_EDIT_ACTION_ADD
add edit action
Definition: agt_cfg.h:180
@ AGT_CFG_EDIT_TYPE_PARTIAL
REPLACE = subtree replace.
Definition: agt_cfg.h:203
@ AGT_CFG_EDIT_TYPE_FULL
REPLACE = full database replace.
Definition: agt_cfg.h:202
@ AGT_CFG_EDIT_TYPE_NONE
not set
Definition: agt_cfg.h:201
agt_hook_type_t
Hook types enumeration to specify Hook type.
Definition: agt.h:824
op_testop_t
NETCONF edit-config test-option types.
Definition: op.h:160
op_editop_t
NETCONF edit-config operation types.
Definition: op.h:122
status_t
global error return code
Definition: status_enum.h:210
ncx_cfg_t
hardwire the 3 standard configs
Definition: ncxtypes.h:548
uint64 ncx_transaction_id_t
transaction is scoped to single session write operation on a config
Definition: ncxtypes.h:728
ncx_btype_t
enumeration of the built-in NCX types These types cannot be overridden and cannot be imported
Definition: ncxtypes.h:213
YANG module data structures Many internal representations of YANG module constructs.
NETCONF protocol operations.
Global error messages for status code enumerations.
struct of params to use when generating sysConfigChange notification.
Definition: agt_cfg.h:781
xmlChar * target
target for audit record
Definition: agt_cfg.h:786
op_editop_t editop
edit operation
Definition: agt_cfg.h:789
dlq_hdr_t qhdr
queue header
Definition: agt_cfg.h:783
const val_value_t * newval
support for yumaworks-config-change extensions must clone with val_clone_config_data instead of using...
Definition: agt_cfg.h:795
const val_value_t * curval
current value from edit
Definition: agt_cfg.h:798
struct of data for 1 children of one remote SIL callback
Definition: agt_cfg.h:727
op_editop_t editop
edit operation
Definition: agt_cfg.h:732
dlq_hdr_t qhdr
queue header
Definition: agt_cfg.h:729
val_value_t * newval
new value
Definition: agt_cfg.h:735
val_value_t * curval
current value
Definition: agt_cfg.h:738
struct for the commit-time tests for a single object
Definition: agt_cfg.h:804
obj_template_t * obj
object template for commit test
Definition: agt_cfg.h:809
ncx_transaction_id_t result_txid
transaction ID for result
Definition: agt_cfg.h:818
xpath_pcb_t * objpcb
XPath control block for object.
Definition: agt_cfg.h:812
dlq_hdr_t qhdr
queue header
Definition: agt_cfg.h:806
ncx_btype_t btyp
base type of this object
Definition: agt_cfg.h:821
uint32 testflags
test flags for this object AGT_TEST_FL_FOO bits
Definition: agt_cfg.h:824
xpath_result_t * result
XPath result for object eval of objpcb.
Definition: agt_cfg.h:815
struct of data for 1 nested SIL callback within 1 undo.
Definition: agt_cfg.h:487
val_value_t * curval_clone
In case of delete-children-first mode newval and curval may get cleaned and deleted before the actual...
Definition: agt_cfg.h:536
status_t validate_res
validate status
Definition: agt_cfg.h:495
status_t rollback_res
rollback status
Definition: agt_cfg.h:504
op_editop_t editop
edit operation
Definition: agt_cfg.h:492
dlq_hdr_t qhdr
queue header
Definition: agt_cfg.h:489
status_t commit_res
commit status
Definition: agt_cfg.h:501
struct agt_cfg_nested_silcall_t_ * parent
back pointer to parent silcall
Definition: agt_cfg.h:525
dlq_hdr_t nested_silcallQ
Q of cchild SIL calls.
Definition: agt_cfg.h:522
obj_template_t * callback_obj
object template for this callback
Definition: agt_cfg.h:519
status_t apply_res
apply status
Definition: agt_cfg.h:498
struct of Set Hooks parameters
Definition: agt_cfg.h:864
val_value_t * curval_clone
Maintain curval for the Set Hook callbacks in case the actual curval is deleted already by some paren...
Definition: agt_cfg.h:890
boolean expanded
Indicates that the Hook Entry expanded existing edit in transaction.
Definition: agt_cfg.h:898
op_editop_t editop
edit operation
Definition: agt_cfg.h:893
dlq_hdr_t qhdr
queue header
Definition: agt_cfg.h:866
val_value_t * newval
new value
Definition: agt_cfg.h:872
val_value_t * newval_clone
Maintain curval for the Set Hook callbacks in case the actual newval could be modified by another Set...
Definition: agt_cfg.h:880
obj_template_t * target_obj
target object
Definition: agt_cfg.h:869
val_value_t * curval
current value
Definition: agt_cfg.h:883
struct of data for 1 remote SIL callback
Definition: agt_cfg.h:744
boolean hook_edit
SIL-SA Hook support.
Definition: agt_cfg.h:764
dlq_hdr_t * subsysQ
Q of subsystems that need this edit.
Definition: agt_cfg.h:758
agt_hook_type_t hook_type
SIL-SA Hook type.
Definition: agt_cfg.h:767
op_editop_t editop
edit operation
Definition: agt_cfg.h:749
dlq_hdr_t qhdr
queue header
Definition: agt_cfg.h:746
dlq_hdr_t child_editQ
Queue of EDIT2 children edits that will be used in the callback Q of agt_cfg_child_silcall_t.
Definition: agt_cfg.h:772
dlq_hdr_t keyptrQ
manage list keys: Q of ncx_backptr_t to val_value_t
Definition: agt_cfg.h:761
val_value_t * newval
new value
Definition: agt_cfg.h:752
val_value_t * curval
current value
Definition: agt_cfg.h:755
struct of Transaction Hooks parameters
Definition: agt_cfg.h:842
op_editop_t editop
edit operation
Definition: agt_cfg.h:856
dlq_hdr_t qhdr
queue header
Definition: agt_cfg.h:844
val_value_t * newval
new value
Definition: agt_cfg.h:850
obj_template_t * target_obj
target object
Definition: agt_cfg.h:847
val_value_t * curval
current value
Definition: agt_cfg.h:853
boolean subtree_mode
subtree mode active
Definition: agt_cfg.h:859
Transaction Control Block.
Definition: agt_cfg.h:235
boolean skip_cb
Add_edit API flag : skip callback.
Definition: agt_cfg.h:349
dlq_hdr_t silcall_undoQ
silcall undo Q
Definition: agt_cfg.h:429
xmlChar * txid_str
transaction ID string
Definition: agt_cfg.h:243
boolean post_sethook_mode
Add_edit API flag : Post Set hook mode flag.
Definition: agt_cfg.h:346
boolean is_load
loading startup at boot-time
Definition: agt_cfg.h:305
dlq_hdr_t transhookQ
Queue of the Transaction Hook callbacks rigistered for the current transaction.
Definition: agt_cfg.h:411
status_t validate_res
saved validate phase status
Definition: agt_cfg.h:255
agt_cfg_edit_type_t edit_type
edit type enum
Definition: agt_cfg.h:249
boolean skip_sil
need to skip SIL callbacks
Definition: agt_cfg.h:331
boolean is_rollback
transaction is a rollback
Definition: agt_cfg.h:296
dlq_hdr_t deadnodeQ
contains nodes marked as deleted by the delete_dead_nodes test used for false when-stmt test deletion...
Definition: agt_cfg.h:391
boolean rootcheck_done
root-check done flag
Definition: agt_cfg.h:281
struct agt_cfg_nested_silcall_t_ * cur_silcall
Q of ncx_backptr_t to xpath_pcb_t for keeping track of which auxillary must-stmt validation tests and...
Definition: agt_cfg.h:405
time_t timestamp
transaction start timestamp
Definition: agt_cfg.h:246
dlq_hdr_t added_silcallQ
Q of agt_cfg_silcall_t used to track which objects have remote SIL callbacks involved in this transac...
Definition: agt_cfg.h:450
boolean is_commit
transaction is commit candidate to running
Definition: agt_cfg.h:293
boolean hook_merge
Add_edit API flag : hook merge flag.
Definition: agt_cfg.h:352
status_t rollback_res
saved rollback phase status
Definition: agt_cfg.h:264
dlq_hdr_t newmpidQ
Queue of backptrs to undo records that are for the creation of an MPID for schema mount This will be ...
Definition: agt_cfg.h:419
boolean commitcheck
commit check needed flag
Definition: agt_cfg.h:284
const xmlChar * comment
comment provided by the caller: do not clone; just use backptr!!
Definition: agt_cfg.h:377
boolean test_only_cleanup
TRUE if the rollback is not an error but just a cleanup for a test-only edit transaction.
Definition: agt_cfg.h:374
boolean sethook_mode
Add_edit API flag : Set hook mode flag.
Definition: agt_cfg.h:343
boolean need_reverse_edit
TRUE if remote edit on multiple subsystems failed and now a reverse edit is needed.
Definition: agt_cfg.h:369
dlq_hdr_t qhdr
queue header
Definition: agt_cfg.h:237
boolean top_replace
top replace in progress
Definition: agt_cfg.h:317
boolean silcall_done
silcall done flag
Definition: agt_cfg.h:435
boolean skip_save
need to skip NV-save
Definition: agt_cfg.h:340
boolean skip_sil_partial
need to skip SIL partial callbacks
Definition: agt_cfg.h:337
boolean is_restore
loading a backup file with restore operation
Definition: agt_cfg.h:308
dlq_hdr_t silcallQ
Q of agt_cfg_silcall_t used to track which objects have remote SIL callbacks involved in this transac...
Definition: agt_cfg.h:426
boolean skip_silsa_hooks
need to skip SIL-SA hooks
Definition: agt_cfg.h:438
boolean cancel_done
cancel transaction must only be done once
Definition: agt_cfg.h:444
ncx_transaction_id_t txid
transaction ID (uint64
Definition: agt_cfg.h:240
boolean subsys_add_edit_mode
add_edit mode form subsystem
Definition: agt_cfg.h:441
boolean is_unload
transaction is for an unload operation
Definition: agt_cfg.h:299
op_testop_t test_option
YPW-1356: netconfd: server crash when test-option is test-only and target=running and check-root-firs...
Definition: agt_cfg.h:272
boolean start_bad
running config has YANG validation errors
Definition: agt_cfg.h:275
boolean root_check_first
need root-check first
Definition: agt_cfg.h:358
dlq_hdr_t sethookQ
Queue of the Set Hook callbacks (agt_cfg_set_hook_t) registered for the current transaction.
Definition: agt_cfg.h:463
status_t commit_res
saved commit phase status
Definition: agt_cfg.h:261
boolean force_full_root_check
need to force a full root check
Definition: agt_cfg.h:320
boolean check_redo_root_check
need to force a full root check after patch mode validations could not process all possible changes
Definition: agt_cfg.h:325
boolean is_cc_timeout
Rollback is from Confirmed-Commit Timeout.
Definition: agt_cfg.h:314
boolean no_txcb_start_comp_cb
need to skip Transaction Start/ Complete callbacks
Definition: agt_cfg.h:334
boolean is_transhook
Trans Start-Cmplt hooks flag.
Definition: agt_cfg.h:311
dlq_hdr_t auditQ
TBD: this is redundant and can be derived from the undoQ contains edit record highlights used in the ...
Definition: agt_cfg.h:386
boolean enable_force_delete
YPW-2210: this is EDIT2 merge with Deletes Mode The delete mode is set in check_commit_deletes() API.
Definition: agt_cfg.h:457
boolean root_check_first_done
root-check first done flag
Definition: agt_cfg.h:361
boolean rootcheck
root-check needed flag
Definition: agt_cfg.h:278
boolean is_commit_completeness
Commit completeness cb flag.
Definition: agt_cfg.h:302
boolean fill_candidate_failed
flag fill candidate from running failed
Definition: agt_cfg.h:328
boolean silcall_undo_mode
silcall undo mode active
Definition: agt_cfg.h:432
ncx_cfg_t cfg_id
configuration datastore being edited
Definition: agt_cfg.h:252
boolean silcall_invoke_only_sethook
TRUE if the only set-hook callbacks should be invoked.
Definition: agt_cfg.h:364
boolean check_duplicate_silcall
check duplicate SIL call
Definition: agt_cfg.h:355
dlq_hdr_t undoQ
each distinct effective edit point in the data tree will have a separate undo record in the undoQ
Definition: agt_cfg.h:381
boolean is_validate_def
validate default flag
Definition: agt_cfg.h:290
boolean is_validate
transaction is for the <validate> operation
Definition: agt_cfg.h:287
status_t apply_res
saved apply phase status
Definition: agt_cfg.h:258
struct of params to undo an edit operation.
Definition: agt_cfg.h:559
boolean skip_cb
used by add_edit only
Definition: agt_cfg.h:590
struct agt_cfg_undo_rec_t_ * updated_undo
malloced pointer to a new undo with all updates from Set Hook Child undos are all setup here as well.
Definition: agt_cfg.h:716
boolean free_curnode
need to free curnode
Definition: agt_cfg.h:564
val_value_t * newnode_parent
newnode parent node
Definition: agt_cfg.h:616
boolean in_reverse_edit
reverse edit active
Definition: agt_cfg.h:573
status_t validate_res
validate phase status
Definition: agt_cfg.h:681
dlq_hdr_t child_undoQ
child undo recs can occur in edit2 mode if an existing entry is modified with a merge operation Inste...
Definition: agt_cfg.h:678
status_t rollback_res
rollback phase status
Definition: agt_cfg.h:693
val_value_t * hook_parent_clone
clone of current node parent before it changes.
Definition: agt_cfg.h:711
val_value_t * newnode_marker
newnode marker if swapped out
Definition: agt_cfg.h:613
val_value_t * curnode_clone
clone of current node before it changes
Definition: agt_cfg.h:625
boolean subsys_add_edit
add_edit mode form subsystem only iused if WITH_YCONTROL=1
Definition: agt_cfg.h:698
val_value_t * parentnode
parent node of edit node
Definition: agt_cfg.h:631
agt_cfg_nested_silcall_t * cur_silcall
current SIL call control block pointer
Definition: agt_cfg.h:634
op_editop_t editop
edit operation
Definition: agt_cfg.h:601
dlq_hdr_t qhdr
queue header
Definition: agt_cfg.h:561
boolean skip_sil_partial
skip SIL partial mode
Definition: agt_cfg.h:579
boolean is_insert
insert or move
Definition: agt_cfg.h:593
boolean is_autodelete
undo is from an auto-delete (other-case or false-when) must not try to replace with defaults if true
Definition: agt_cfg.h:598
val_editvars_t * newnode_editvars
need to save the newnode->editvars for YP-HA and later YANG Push so the insert operation will not be ...
Definition: agt_cfg.h:641
struct agt_cfg_undo_rec_t_ * orig_rev_undo
back pointer to original undo for reverse edit
Definition: agt_cfg.h:701
agt_cfg_edit_action_t edit_action
internal edit action
Definition: agt_cfg.h:607
boolean added_edit
Add_edit API flag.
Definition: agt_cfg.h:587
boolean force_delete
YPW-2210: this is EDIT2 merge Undo record with at least one delete in it The delete is set from check...
Definition: agt_cfg.h:706
xmlChar * save_path
if YP-HA Active mode then this path string will be saved so the correct path will be used in YANG Pat...
Definition: agt_cfg.h:648
dlq_hdr_t extra_deleteQ
extra deletes can occur if a node is added that is part of a choice.
Definition: agt_cfg.h:657
op_editop_t cvtop
converted edit operation
Definition: agt_cfg.h:604
status_t commit_res
commit phase status
Definition: agt_cfg.h:690
status_t sil_apply_res
SIL apply phase status.
Definition: agt_cfg.h:687
boolean is_sil_force_replay
nthis is a SIL force replay transaction
Definition: agt_cfg.h:567
boolean parent_is_edit2_merge
tells if the undo is in the child_undoQ and its parent is in EDIT2 mode
Definition: agt_cfg.h:584
boolean when_force_delete
when-stmt force delete flag
Definition: agt_cfg.h:576
val_value_t * curnode
current node in edit
Definition: agt_cfg.h:619
boolean edit2_merge
this is EDIT2 merge so child edits needed
Definition: agt_cfg.h:570
val_value_t * newnode
new node in edit
Definition: agt_cfg.h:610
val_value_t * child_undo_curnode_clone
clone of child node
Definition: agt_cfg.h:628
val_value_t * curnode_marker
curnode marker if swapped out
Definition: agt_cfg.h:622
boolean free_newnode
this undo was expanded by Set Hook
Definition: agt_cfg.h:719
dlq_hdr_t nested_silcallQ
nested silcalls can occur if an edit is created for a node with nested SIL callbacks,...
Definition: agt_cfg.h:667
status_t apply_res
apply phase status
Definition: agt_cfg.h:684
struct to keep track of XPath tests run in this transaction
Definition: agt_cfg.h:829
val_value_t * valnode
valnode for XPath visit
Definition: agt_cfg.h:837
dlq_hdr_t qhdr
queue header
Definition: agt_cfg.h:831
xpath_pcb_t * xpath
XPath control block for XPath visit.
Definition: agt_cfg.h:834
struct representing 1 configuration database
Definition: cfg.h:229
representation of one module or submodule during and after parsing
Definition: ncxtypes.h:1138
One YANG data-def-stmt.
Definition: obj.h:1230
Session Control Block.
Definition: ses.h:573
one set of edit-in-progress variables for one value node
Definition: val.h:823
one value to match one type
Definition: val.h:912
XPath parser control block.
Definition: xpath.h:754
XPath expression result.
Definition: xpath.h:705
Value Node Basic Support.
Schema and data model Xpath search support.