yumapro  25.10-4
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 boolean is_compare;
378
379
381 const xmlChar *comment;
382
385 dlq_hdr_t undoQ; /* Q of agt_cfg_undo_rec_t */
386
390 dlq_hdr_t auditQ; /* Q of agt_cfg_audit_rec_t */
391
395 dlq_hdr_t deadnodeQ; /* Q of ncx_backptr to val_value_t */
396
403 /* not used anymore. See def_reg implementation instead for
404 * must visit checks
405 */
406 // dlq_hdr_t xpath_visitQ; // backptr to agt_cfg_xpath_visit_t
407
409 struct agt_cfg_nested_silcall_t_ *cur_silcall;
410
415 dlq_hdr_t transhookQ;
416
423 dlq_hdr_t newmpidQ; // Q of backptr to agt_cfg_undo_rec_t
424
425 /*** start WITH_YCONTROL=1 fields ***/
426
430 dlq_hdr_t silcallQ;
431
433 dlq_hdr_t silcall_undoQ;
434
437
440
443
446
448 boolean cancel_done;
449
454 dlq_hdr_t added_silcallQ;
455
456 /*** end WITH_YCONTROL=1 fields ***/
457
464
469 dlq_hdr_t sethookQ;
470
471 /* Indicates the current Set Hook in progress.
472 * Used in case the Added Edit expands the existing
473 * edit in progress.
474 */
475 struct agt_cfg_set_hook_t_ *current_hook;
476
481
485 boolean oper_edit;
486
488
489
503typedef struct agt_cfg_nested_silcall_t_ {
505 dlq_hdr_t qhdr;
506
509
512
515
518
521
522 /* the newval is a backptr into the subtree
523 * that is really rooted in the undo record that is at
524 * the root of this edit.
525 */
526 val_value_t *newval;
527
528 /* the curval is a backptr into the subtree
529 * that is really rooted in the undo record that is at
530 * the root of this edit.
531 */
532 val_value_t *curval;
533
536
539
541 struct agt_cfg_nested_silcall_t_ *parent;
542
553
555
556
575typedef struct agt_cfg_undo_rec_t_ {
577 dlq_hdr_t qhdr;
578
581
584
586 boolean edit2_merge;
587
590
593
596
601
603 boolean added_edit;
604
606 boolean skip_cb;
607
609 boolean is_insert;
610
615
618
621
624
627
630
633
636
639
642
645
648
651
658
664 xmlChar *save_path;
665
673 dlq_hdr_t extra_deleteQ;
683 dlq_hdr_t nested_silcallQ;
694 dlq_hdr_t child_undoQ;
698
701
704
707
710
715
717 struct agt_cfg_undo_rec_t_ *orig_rev_undo;
718
726
731
735 struct agt_cfg_undo_rec_t_ *updated_undo;
736
744
745} YPACK agt_cfg_undo_rec_t;
746
747
748#ifdef WITH_YCONTROL
749
751typedef struct agt_cfg_child_silcall_t_ {
753 dlq_hdr_t qhdr;
754
757
760
763
765
766
768typedef struct agt_cfg_silcall_t_ {
770 dlq_hdr_t qhdr;
771
774
777
780
782 dlq_hdr_t *subsysQ;
783
785 dlq_hdr_t keyptrQ;
786
788 boolean hook_edit;
789
792
796 dlq_hdr_t child_editQ;
797
798} YPACK agt_cfg_silcall_t;
799#endif // WITH_YCONTROL
800
801
805typedef struct agt_cfg_audit_rec_t_ {
807 dlq_hdr_t qhdr;
808
810 xmlChar *target;
811
814
820
823
824} YPACK agt_cfg_audit_rec_t;
825
826
828typedef struct agt_cfg_commit_test_t_ {
830 dlq_hdr_t qhdr;
831
834
837
840
843
846
848 uint32 testflags;
850
851
853typedef struct agt_cfg_xpath_visit_t_ {
855 dlq_hdr_t qhdr;
856
859
863
864
866typedef struct agt_cfg_trans_hook_t_ {
868 dlq_hdr_t qhdr;
869
872
875
878
881
885
886
888typedef struct agt_cfg_set_hook_t_ {
890 dlq_hdr_t qhdr;
891
894
897
905
908
915
918
922 boolean expanded;
923
939 boolean top_replace;
940
941} YPACK agt_cfg_set_hook_t;
942
946/********************************************************************
947* *
948* F U N C T I O N S *
949* *
950*********************************************************************/
951
984 agt_cfg_edit_type_t edit_type,
985 boolean rootcheck,
986 boolean is_validate,
987 boolean is_rollback,
988 status_t *res);
989
990
1013extern agt_cfg_transaction_t *
1015 agt_cfg_edit_type_t edit_type,
1016 boolean rootcheck,
1017 boolean is_validate,
1018 boolean is_rollback,
1019 boolean no_cb,
1020 status_t *res);
1021
1022
1048 agt_cfg_edit_type_t edit_type,
1049 boolean rootcheck,
1050 boolean is_validate,
1051 boolean is_rollback,
1052 boolean no_cb,
1053 ses_cb_t *scb,
1054 status_t *res);
1055
1056
1064extern status_t
1066 agt_cfg_transaction_t *txcb);
1067
1068
1094extern agt_cfg_transaction_t *
1096 agt_cfg_edit_type_t edit_type,
1097 boolean rootcheck,
1098 boolean is_validate,
1099 boolean is_rollback,
1100 boolean no_cb,
1101 boolean no_silsa_cb,
1102 ses_cb_t *scb,
1103 status_t *res);
1104
1105
1133extern agt_cfg_transaction_t *
1135 agt_cfg_edit_type_t edit_type,
1136 boolean rootcheck,
1137 boolean is_validate,
1138 boolean is_rollback,
1139 boolean no_silsa_cb,
1141 ses_cb_t *scb,
1142 status_t *res);
1143
1144
1150extern void
1152
1153
1161extern status_t
1162 agt_cfg_init_transactions (const xmlChar *txidfile,
1163 boolean foundfile);
1164
1165
1171extern void
1172 agt_cfg_cleanup_transactions (const xmlChar *txidfile);
1173
1174
1183
1184
1190extern agt_cfg_undo_rec_t *
1191 agt_cfg_new_undorec (void);
1192
1193
1199extern void
1201
1202
1208extern void
1210
1211
1223extern void
1225
1226
1234extern agt_cfg_audit_rec_t *
1235 agt_cfg_new_auditrec (const xmlChar *target,
1236 op_editop_t editop);
1237
1238
1244extern void
1246
1247
1253extern agt_cfg_commit_test_t *
1255
1256
1262extern void
1264
1265
1271extern void
1273
1274
1280extern void
1282
1283
1290extern boolean
1292
1293
1299extern void
1301
1302
1308extern void
1310
1311
1312#ifdef WITH_YCONTROL
1323extern agt_cfg_silcall_t *
1325 val_value_t *newval,
1326 val_value_t *curval,
1327 dlq_hdr_t *subsysQ);
1328
1329
1335extern void
1337
1338
1353extern status_t
1355 op_editop_t editop,
1356 val_value_t *newval,
1357 val_value_t *curval,
1358 dlq_hdr_t *subsysQ,
1359 val_value_t *callval,
1360 agt_hook_type_t hook_type);
1361
1362
1376extern status_t
1378 op_editop_t editop,
1379 val_value_t *newval,
1380 val_value_t *curval,
1381 dlq_hdr_t *subsysQ,
1382 val_value_t *callval);
1383
1384
1399extern status_t
1401 op_editop_t editop,
1402 val_value_t *newval,
1403 val_value_t *curval,
1404 dlq_hdr_t *subsysQ,
1405 val_value_t *callval);
1406
1407#endif // WITH_YCONTROL
1408
1409
1432extern status_t
1434 agt_cfg_undo_rec_t *undo,
1435 op_editop_t editop,
1436 val_value_t *newval,
1437 val_value_t *curval,
1438 obj_template_t *callback_obj,
1439 boolean indelete,
1440 boolean in_reverse_delete,
1441 agt_cfg_nested_silcall_t **result);
1442
1443
1457extern agt_cfg_undo_rec_t *
1459 val_value_t *newnode,
1460 val_value_t *curnode);
1461
1462
1472extern agt_cfg_undo_rec_t *
1474 val_value_t *newnode,
1475 val_value_t *curnode);
1476
1477
1485extern agt_cfg_undo_rec_t *
1487
1488
1497extern void
1499 op_editop_t *editop,
1500 val_value_t **newval,
1501 val_value_t **curval);
1502
1503
1509extern void
1511
1512
1518extern void
1520
1521
1530extern boolean
1532 agt_cfg_undo_rec_t *child_undo);
1533
1534
1541extern agt_cfg_undo_rec_t *
1543
1544
1552extern agt_cfg_undo_rec_t *
1554 agt_cfg_undo_rec_t *cur_undo);
1555
1556
1563extern agt_cfg_undo_rec_t *
1565
1566
1574extern agt_cfg_undo_rec_t *
1576 agt_cfg_undo_rec_t *cur_undo);
1577
1578
1585extern agt_cfg_undo_rec_t *
1587
1588
1595extern agt_cfg_undo_rec_t *
1597
1598
1612extern agt_cfg_undo_rec_t *
1614 val_value_t *newnode,
1615 val_value_t *curnode);
1616
1617
1629extern boolean
1631 val_value_t *next_parent);
1632
1633
1644extern agt_cfg_undo_rec_t *
1646 val_value_t *newnode,
1647 val_value_t *curnode);
1648
1649
1669extern boolean
1671 val_value_t *newnode,
1672 val_value_t *curnode);
1673
1674
1686extern boolean
1688 val_value_t *newnode,
1689 val_value_t *curnode);
1690
1691
1701extern agt_cfg_trans_hook_t *
1703 val_value_t *newval,
1704 val_value_t *curval,
1705 op_editop_t editop);
1706
1707
1713extern void
1715
1716
1723extern agt_cfg_trans_hook_t *
1725
1726
1733extern agt_cfg_trans_hook_t *
1735
1736
1743extern agt_cfg_trans_hook_t *
1745
1746
1753extern agt_cfg_trans_hook_t *
1755
1756
1769extern boolean
1771 val_value_t *newval,
1772 val_value_t *curval);
1773
1774
1782extern agt_cfg_undo_rec_t *
1784
1785
1795extern agt_cfg_undo_rec_t *
1797 agt_cfg_undo_rec_t *cur_undo);
1798
1799
1808extern agt_cfg_undo_rec_t *
1810
1811
1821extern agt_cfg_undo_rec_t *
1823 agt_cfg_undo_rec_t *cur_undo);
1824
1825
1832extern void
1834 cfg_template_t *cfg);
1835
1836
1846extern agt_cfg_undo_rec_t *
1848 agt_cfg_undo_rec_t *parent_undo);
1849
1850
1860extern agt_cfg_undo_rec_t *
1862 agt_cfg_undo_rec_t *cur_undo);
1863
1864
1877extern agt_cfg_undo_rec_t *
1879 val_value_t *newnode,
1880 val_value_t *curnode);
1881
1882
1894 agt_cfg_find_nested_silcall (dlq_hdr_t *silcallQ,
1895 val_value_t *newnode,
1896 val_value_t *curnode);
1897
1898
1907extern boolean
1909
1910
1921extern boolean
1923 val_value_t *newnode,
1924 val_value_t *curnode);
1925
1926
1942extern val_value_t *
1944 val_value_t *newval,
1945 val_value_t *curval);
1946
1947
1954extern uint32
1956
1957
1971extern agt_cfg_set_hook_t *
1972 agt_cfg_new_set_hook (obj_template_t *target_obj,
1973 val_value_t *newval,
1974 val_value_t *curval,
1975 op_editop_t editop);
1976
1977
1983extern void
1985
1986
1996extern agt_cfg_set_hook_t *
1997 agt_cfg_first_set_hook (agt_cfg_transaction_t *txcb);
1998
1999
2009extern agt_cfg_set_hook_t *
2010 agt_cfg_next_set_hook (agt_cfg_set_hook_t *cur_hook);
2011
2012
2022extern agt_cfg_set_hook_t *
2023 agt_cfg_get_first_expanded_sethook (agt_cfg_transaction_t *txcb);
2024
2025
2035extern agt_cfg_set_hook_t *
2036 agt_cfg_get_next_expanded_sethook (agt_cfg_set_hook_t *cur_hook);
2037
2038
2046extern boolean
2048
2049
2053#ifdef __cplusplus
2054} /* end extern 'C' */
2055#endif
2056
2057#endif /* _H_agt_cfg */
Multi-Protocol Network Management Server.
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:4184
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:1225
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:4399
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:2190
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:4093
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:2044
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:3970
agt_cfg_commit_test_t * agt_cfg_new_commit_test(void)
Malloc a agt_cfg_commit_test_t struct.
Definition: agt_cfg.c:2102
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:3895
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:3139
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:1180
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:1554
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:4654
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:3835
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:1468
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:2894
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:2080
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:2464
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:3500
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:3471
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:3366
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:3624
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:2021
agt_cfg_undo_rec_t * agt_cfg_first_undo(agt_cfg_transaction_t *txcb)
Get the first undo record.
Definition: agt_cfg.c:3343
void agt_cfg_free_trans_hook(agt_cfg_trans_hook_t *hook)
Clean and free a malloced Trans Hook callback.
Definition: agt_cfg.c:4001
void agt_cfg_free_silcall(agt_cfg_silcall_t *silcall)
Clean and free a mallocedremote SIL callback back pointer.
Definition: agt_cfg.c:2330
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:1918
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:4303
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:4769
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:3313
boolean agt_cfg_has_added_edits(agt_cfg_transaction_t *txcb)
Check if there are added edits in the Queue.
Definition: agt_cfg.c:4743
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:1328
agt_cfg_undo_rec_t * agt_cfg_last_undo(agt_cfg_transaction_t *txcb)
Get the last undo record.
Definition: agt_cfg.c:3391
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:2700
void agt_cfg_dump_undo(agt_cfg_undo_rec_t *undo)
Debug log a description of the undo record.
Definition: agt_cfg.c:3242
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:4437
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:4346
void agt_cfg_remove_module_commit_tests(ncx_module_t *mod)
Remove module commit tests for specified module.
Definition: agt_cfg.c:2230
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:4070
uint32 agt_cfg_transaction_edit_count(agt_cfg_transaction_t *txcb)
Check the undo record count for the transaction.
Definition: agt_cfg.c:4989
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:4224
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:4484
void agt_cfg_cleanup_transactions(const xmlChar *txidfile)
Cleanup the transaction ID functionality.
Definition: agt_cfg.c:1894
boolean agt_cfg_edit2_merge_was_deleted(agt_cfg_undo_rec_t *undo)
Check if the edit2 merge in progress was deleted by delete_dead_nodes.
Definition: agt_cfg.c:5208
void agt_cfg_restore_newnode(agt_cfg_undo_rec_t *undo)
Swap the newnode and newnode_pointers.
Definition: agt_cfg.c:3284
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:2209
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:4809
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:4047
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:3008
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:2149
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:4267
void agt_cfg_free_set_hook(agt_cfg_set_hook_t *hook)
Clean and free a malloced Set Hook callback.
Definition: agt_cfg.c:5069
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:3669
void agt_cfg_init_undorec(agt_cfg_undo_rec_t *undo)
Initialize a new agt_cfg_undo_rec_t struct.
Definition: agt_cfg.c:1964
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:2123
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:3086
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:2297
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:2370
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:1995
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:4024
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:2169
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:3414
void agt_cfg_free_transaction(agt_cfg_transaction_t *txcb)
Clean and free a agt_cfg_transaction_t struct.
Definition: agt_cfg.c:1678
status_t agt_cfg_init_transactions(const xmlChar *txidfile, boolean foundfile)
Initialize the transaction ID functionality.
Definition: agt_cfg.c:1818
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:1274
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:2556
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:3439
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:1940
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:4123
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:859
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:219
ncx_cfg_t
hardwire the 3 standard configs
Definition: ncxtypes.h:571
uint64 ncx_transaction_id_t
transaction is scoped to single session write operation on a config
Definition: ncxtypes.h:753
ncx_btype_t
enumeration of the built-in NCX types These types cannot be overridden and cannot be imported
Definition: ncxtypes.h:236
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:805
xmlChar * target
target for audit record
Definition: agt_cfg.h:810
op_editop_t editop
edit operation
Definition: agt_cfg.h:813
dlq_hdr_t qhdr
queue header
Definition: agt_cfg.h:807
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:819
const val_value_t * curval
current value from edit
Definition: agt_cfg.h:822
struct of data for 1 children of one remote SIL callback
Definition: agt_cfg.h:751
op_editop_t editop
edit operation
Definition: agt_cfg.h:756
dlq_hdr_t qhdr
queue header
Definition: agt_cfg.h:753
val_value_t * newval
new value
Definition: agt_cfg.h:759
val_value_t * curval
current value
Definition: agt_cfg.h:762
struct for the commit-time tests for a single object
Definition: agt_cfg.h:828
obj_template_t * obj
object template for commit test
Definition: agt_cfg.h:833
ncx_transaction_id_t result_txid
transaction ID for result
Definition: agt_cfg.h:842
xpath_pcb_t * objpcb
XPath control block for object.
Definition: agt_cfg.h:836
dlq_hdr_t qhdr
queue header
Definition: agt_cfg.h:830
ncx_btype_t btyp
base type of this object
Definition: agt_cfg.h:845
uint32 testflags
test flags for this object AGT_TEST_FL_FOO bits
Definition: agt_cfg.h:848
xpath_result_t * result
XPath result for object eval of objpcb.
Definition: agt_cfg.h:839
struct of data for 1 nested SIL callback within 1 undo.
Definition: agt_cfg.h:503
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:552
status_t validate_res
validate status
Definition: agt_cfg.h:511
status_t rollback_res
rollback status
Definition: agt_cfg.h:520
op_editop_t editop
edit operation
Definition: agt_cfg.h:508
dlq_hdr_t qhdr
queue header
Definition: agt_cfg.h:505
status_t commit_res
commit status
Definition: agt_cfg.h:517
struct agt_cfg_nested_silcall_t_ * parent
back pointer to parent silcall
Definition: agt_cfg.h:541
dlq_hdr_t nested_silcallQ
Q of cchild SIL calls.
Definition: agt_cfg.h:538
obj_template_t * callback_obj
object template for this callback
Definition: agt_cfg.h:535
status_t apply_res
apply status
Definition: agt_cfg.h:514
struct of Set Hooks parameters
Definition: agt_cfg.h:888
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:914
boolean expanded
Indicates that the Hook Entry expanded existing edit in transaction.
Definition: agt_cfg.h:922
op_editop_t editop
edit operation
Definition: agt_cfg.h:917
dlq_hdr_t qhdr
queue header
Definition: agt_cfg.h:890
boolean top_replace
Indicates that the Hook Entry is within some parent Replace operation.
Definition: agt_cfg.h:939
val_value_t * newval
new value
Definition: agt_cfg.h:896
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:904
obj_template_t * target_obj
target object
Definition: agt_cfg.h:893
val_value_t * curval
current value
Definition: agt_cfg.h:907
struct of data for 1 remote SIL callback
Definition: agt_cfg.h:768
boolean hook_edit
SIL-SA Hook support.
Definition: agt_cfg.h:788
dlq_hdr_t * subsysQ
Q of subsystems that need this edit.
Definition: agt_cfg.h:782
agt_hook_type_t hook_type
SIL-SA Hook type.
Definition: agt_cfg.h:791
op_editop_t editop
edit operation
Definition: agt_cfg.h:773
dlq_hdr_t qhdr
queue header
Definition: agt_cfg.h:770
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:796
dlq_hdr_t keyptrQ
manage list keys: Q of ncx_backptr_t to val_value_t
Definition: agt_cfg.h:785
val_value_t * newval
new value
Definition: agt_cfg.h:776
val_value_t * curval
current value
Definition: agt_cfg.h:779
struct of Transaction Hooks parameters
Definition: agt_cfg.h:866
op_editop_t editop
edit operation
Definition: agt_cfg.h:880
dlq_hdr_t qhdr
queue header
Definition: agt_cfg.h:868
val_value_t * newval
new value
Definition: agt_cfg.h:874
obj_template_t * target_obj
target object
Definition: agt_cfg.h:871
val_value_t * curval
current value
Definition: agt_cfg.h:877
boolean subtree_mode
subtree mode active
Definition: agt_cfg.h:883
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:433
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:415
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:395
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:409
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:454
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:423
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:381
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:439
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:430
boolean skip_silsa_hooks
need to skip SIL-SA hooks
Definition: agt_cfg.h:442
boolean cancel_done
cancel transaction must only be done once
Definition: agt_cfg.h:448
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:445
boolean oper_edit
set to true when an edit is for the operational datastore.
Definition: agt_cfg.h:485
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 is_compare
TRUE if this is just a compare operation; NO-TEST; NO-SIL.
Definition: agt_cfg.h:377
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:469
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:390
boolean enable_force_delete
YPW-2210, YPW-2392: EDIT2 merge with Deletes mode flag.
Definition: agt_cfg.h:463
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:436
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:385
boolean is_validate_def
validate default flag
Definition: agt_cfg.h:290
boolean has_added_edit
set to true when an edit is added so agt_cfg_has_added_edits does not waste time
Definition: agt_cfg.h:480
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:575
boolean skip_cb
used by add_edit only
Definition: agt_cfg.h:606
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:735
boolean free_curnode
need to free curnode
Definition: agt_cfg.h:580
val_value_t * newnode_parent
newnode parent node
Definition: agt_cfg.h:632
boolean in_reverse_edit
reverse edit active
Definition: agt_cfg.h:589
status_t validate_res
validate phase status
Definition: agt_cfg.h:697
boolean added_edit_expanded
Indicate that this undo was expanded by Set Hook Meaning that the original undo was replaced with thi...
Definition: agt_cfg.h:743
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:694
status_t rollback_res
rollback phase status
Definition: agt_cfg.h:709
val_value_t * hook_parent_clone
clone of current node parent before it changes.
Definition: agt_cfg.h:730
val_value_t * newnode_marker
newnode marker if swapped out
Definition: agt_cfg.h:629
val_value_t * curnode_clone
clone of current node before it changes
Definition: agt_cfg.h:641
boolean subsys_add_edit
add_edit mode form subsystem only iused if WITH_YCONTROL=1
Definition: agt_cfg.h:714
val_value_t * parentnode
parent node of edit node
Definition: agt_cfg.h:647
agt_cfg_nested_silcall_t * cur_silcall
current SIL call control block pointer
Definition: agt_cfg.h:650
op_editop_t editop
edit operation
Definition: agt_cfg.h:617
dlq_hdr_t qhdr
queue header
Definition: agt_cfg.h:577
boolean skip_sil_partial
skip SIL partial mode
Definition: agt_cfg.h:595
boolean is_insert
insert or move
Definition: agt_cfg.h:609
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:614
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:657
struct agt_cfg_undo_rec_t_ * orig_rev_undo
back pointer to original undo for reverse edit
Definition: agt_cfg.h:717
agt_cfg_edit_action_t edit_action
internal edit action
Definition: agt_cfg.h:623
boolean added_edit
Add_edit API flag.
Definition: agt_cfg.h:603
boolean force_delete
YPW-2210, YPW-2392: Indicates this EDIT2 merge undo record contains at least one delete.
Definition: agt_cfg.h:725
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:664
dlq_hdr_t extra_deleteQ
extra deletes can occur if a node is added that is part of a choice.
Definition: agt_cfg.h:673
op_editop_t cvtop
converted edit operation
Definition: agt_cfg.h:620
status_t commit_res
commit phase status
Definition: agt_cfg.h:706
status_t sil_apply_res
SIL apply phase status.
Definition: agt_cfg.h:703
boolean is_sil_force_replay
nthis is a SIL force replay transaction
Definition: agt_cfg.h:583
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:600
boolean when_force_delete
when-stmt force delete flag
Definition: agt_cfg.h:592
val_value_t * curnode
current node in edit
Definition: agt_cfg.h:635
boolean edit2_merge
this is EDIT2 merge so child edits needed
Definition: agt_cfg.h:586
val_value_t * newnode
new node in edit
Definition: agt_cfg.h:626
val_value_t * child_undo_curnode_clone
clone of child node
Definition: agt_cfg.h:644
val_value_t * curnode_marker
curnode marker if swapped out
Definition: agt_cfg.h:638
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:683
status_t apply_res
apply phase status
Definition: agt_cfg.h:700
struct to keep track of XPath tests run in this transaction
Definition: agt_cfg.h:853
val_value_t * valnode
valnode for XPath visit
Definition: agt_cfg.h:861
dlq_hdr_t qhdr
queue header
Definition: agt_cfg.h:855
xpath_pcb_t * xpath
XPath control block for XPath visit.
Definition: agt_cfg.h:858
struct representing 1 configuration database
Definition: cfg.h:229
representation of one module or submodule during and after parsing
Definition: ncxtypes.h:1181
One YANG data-def-stmt.
Definition: obj.h:1284
Session Control Block.
Definition: ses.h:759
one set of edit-in-progress variables for one value node
Definition: val.h:925
one value to match one type
Definition: val.h:1024
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.