yumapro  23.10T-10
YumaPro SDK
Loading...
Searching...
No Matches
agt.h
Go to the documentation of this file.
1/*
2 * Copyright (c) 2008 - 2012, Andy Bierman, All Rights Reserved.
3 * Copyright (c) 2012 - 2024, 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
13#define _H_agt
14
15/* FILE: agt.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----------------------------------------------------------------------
3604-nov-05 abb Begun
3702-aug-08 abb Convert from NCX typdef to YANG object design
3803-oct-08 abb Convert to YANG only, remove app, parmset,
39 and parm layers in the NETCONF database
40*/
41
42#ifndef _H_agt_not
43#include "agt_not.h"
44#endif
45
46#ifndef _H_help
47#include "help.h"
48#endif
49
50#ifndef _H_log
51#include "log.h"
52#endif
53
54#ifndef _H_ncxtypes
55#include "ncxtypes.h"
56#endif
57
58#ifndef _H_status
59#include "status.h"
60#endif
61
62#ifdef __cplusplus
63extern "C" {
64#endif
65
66
67/* define a top-level header here here */
68
69
157/* header field defined here, used in rest of library */
158
170/********************************************************************
171* *
172* C O N S T A N T S *
173* *
174*********************************************************************/
175
185#define AGT_NUM_CB (AGT_CB_ROLLBACK+1)
186
188#define AGT_MAX_PORTS 4
189
193#define AGT_DEF_SUBSYS_TIMEOUT 30
194
196#define AGT_DEF_CONF_FILE \
197 (const xmlChar *)"/etc/yumapro/netconfd-pro.conf"
198
200#define AGT_DEF_FACTORY_CONFIG_FILE \
201 (const xmlChar *)"factory-startup-cfg.xml"
202
204#define AGT_DEF_CONF_DIR (const xmlChar *)"/etc/yumapro/netconfd-pro.d"
205
207#define AGT_DEF_FHS_LOG_FILE \
208 (const xmlChar *)"/var/log/netconfd-pro/server.log"
209
211#define AGT_DEF_SYSLIB_FILE (const xmlChar *)"libyp_system.so"
212
214#define AGT_SYSLIB_NAME (const xmlChar *)"yp_system"
215
217#define AGT_DEF_BACKUP_DIR (const xmlChar *)"$HOME/.yumapro/backups"
218
220#define AGT_DEF_BACKUPS_NAME (const xmlChar *)"backups"
221
223#define AGT_DEF_FHS_BACKUP_DIR \
224 (const xmlChar *)"/var/lib/netconfd-pro/backups"
225
227#define AGT_SRID_FHS_BACKUP_DIR \
228 (const xmlChar *)"/var/lib/netconfd-pro/%s/backups"
229
233#define AGT_DEF_DELETE_EMPTY_NP FALSE
234
238#define AGT_DEF_SYSTEM_SORTED FALSE
239
241#define AGT_DEF_LAX_NAMESPACES TRUE
242
244#define AGT_DEF_EVENTLOG_SIZE 1000
245
247#define AGT_DEF_MAX_BURST 10
248
250#define AGT_DEF_HELLO_TIMEOUT 300
251
253#define AGT_DEF_IDLE_TIMEOUT 3600
254
256#define AGT_DEF_LINESIZE 72
257
259#define AGT_DEF_INDENT 1
260
262#define AGT_DEF_MESSAGE_INDENT (-1)
263
265#define AGT_DEF_MAX_SESSIONS 8
266
268#define AGT_DEF_MAX_CLI_SESSIONS 0
269
271#define AGT_DEF_MAX_USER_SESSIONS 0
272
276#define AGT_MAX_USERNAME_LEN 1024
277
281#define AGT_MAX_PER_USER_SESSIONS 1024
282
283
285#define AGT_DEF_YANGAPI_SERVER_URL (const xmlChar *)"http://localhost"
286
288#define AGT_DEF_RESTCONF_SERVER_URL (const xmlChar *)"http://localhost"
289
291#define AGT_DEF_SAVE_OWNERS FALSE
292
294#define AGT_DEF_JSON_LEAF_LIST_1LINE FALSE
295
297#define AGT_DEF_SAVE_CONFIG_SYSTEM FALSE
298
300#define AGT_DEF_GETBULK_MAX 10
301
303#define AGT_DEF_WITH_CONFIG_ID TRUE
304
306#define AGT_DEF_WITH_OCPATTERN FALSE
307
309#define AGT_DEF_NO_NVSTORE FALSE
310
312#define AGT_DEF_WITH_CALLHOME FALSE
313
315#define AGT_DEF_WITH_SCHEMA_MOUNT TRUE
316
318#define AGT_DEF_CALLHOME_RETRY_INT 60
319
321#define AGT_DEF_CALLHOME_RETRY_MAX 10
322
324#define AGT_DEF_CALLHOME_PORT NCX_DEF_SSH_CALLHOME
325
327#define AGT_DEF_CALLHOME_TLS_PORT NCX_DEF_TLS_CALLHOME
328
330#define AGT_DEF_CALLHOME_RESTCONF_TLS_PORT NCX_DEF_RESTCONF_TLS_CALLHOME
331
333#define AGT_YUMAWORKS_CALLHOME_MODULE (const xmlChar *)"yumaworks-callhome"
334
336#define AGT_YUMAWORKS_CALLHOME_REVISION (const xmlChar *)"2020-10-17"
337#define AGT_DEF_FILELOC_FHS FALSE
338
340#define AGT_DEF_NO_AUDIT_LOG FALSE
341
346#define AGT_DEF_CRYPT_HASH_PREFIX (const xmlChar *)"$6$"
347
349#define AGT_DEF_MIN_PASSWD_LEN 8
350
352#define AGT_DEF_HA_ENABLED FALSE
353
355#define AGT_DEF_HA_SIL_STANDBY FALSE
356
358#define AGT_DEF_HA_PORT 8088
359
361#define AGT_DEF_HA_STANDBY_MODE AGT_HA_MODE_HOT_STANDBY
362
364#define AGT_DEF_YPCOAP_PORT 5683
365
367#define AGT_DEF_YPCOAP_DTLS_PORT 5684
368
370#define AGT_DEF_YPCOAP_ADDRESS (const xmlChar *)"0.0.0.0"
371
373#define AGT_DEF_RESTCONF_DEFAULT_ENCODING NCX_MSG_ENCODING_JSON
374
376#define AGT_DEF_TLS_PORT 6513
377
379#define AGT_DEF_DB_LOCK_RETRY 500 // mSec
380
382#define AGT_DEF_DB_LOCK_TIMEOUT 20 // Sec
383
385#define AGT_DEF_WITH_YUMAWORKS_CONFIG_CHANGE FALSE
386
388#define AGT_DEF_WITH_YUMAWORKS_CALLHOME TRUE
389
391#define AGT_DEF_WITH_YUMAWORKS_EVENT_STREAM TRUE
392
394#define AGT_DEF_WITH_NMDA FALSE
395
397#define AGT_DEF_STARTUP_SKIP_VALIDATION FALSE
398
400#define AGT_DEF_RETURN_STATUS FALSE
401
405#define AGT_DEF_WAIT_DATASTORE_READY FALSE
406
408#define AGT_DEF_YANG_SID_MODE NCX_YANG_SID_MODE_SID_FILE
409
411#define AGT_DEF_WITH_YANG_CBOR FALSE
412
416#define AGT_DEF_SILCALL_DELETE_FIRST TRUE
417
422#define AGT_DEF_XPATH_DBLSLASH_OK FALSE
423
425#define AGT_DEF_SIL_CC_CALLBACK_ALL FALSE
426
428#define AGT_DEF_DISABLED_PROTOCOLS EMPTY_STRING
429
431#define AGT_SELECT_TIMEOUT_SEC 0
432
435#define AGT_SELECT_TIMEOUT_USEC 10000
436
438#define AGT_USER_VAR (const xmlChar *)"user"
439
441#define AGT_URL_SCHEME_LIST (const xmlChar *)"file"
442
444#define AGT_URL_SCHEME_LIST_TFTP (const xmlChar *)"file,tftp"
445
447#define AGT_FILE_SCHEME (const xmlChar *)"file:///"
448
450#define AGT_TOASTER_MOD (const xmlChar *)"toaster"
451
453#define AGT_TEST_MOD (const xmlChar *)"test"
454
456#define AGT_SIL_SA (const xmlChar *)"sil-sa"
457
459#define AGT_DB_API (const xmlChar *)"db-api"
460
462#define AGT_YP_HA (const xmlChar *)"yp-ha"
463
465#define AGT_YP_GNMI (const xmlChar *)"yp-gnmi"
466
468#define AGT_YP_GRPC (const xmlChar *)"yp-grpc"
469
471#define AGT_YCONTROL_MOD (const xmlChar *)"yumaworks-ycontrol"
472
474#define AGT_DB_API_MOD (const xmlChar *)"yumaworks-db-api"
475
477#define AGT_SIL_SA_MOD (const xmlChar *)"yumaworks-sil-sa"
478
480#define AGT_PROFILE_MOD (const xmlChar *)"yumaworks-agt-profile"
481
483#define AGT_ACTION_MOD (const xmlChar *)"yang-attributes"
484
486#define AGT_YP_HA_MOD (const xmlChar *)"yumaworks-yp-ha"
487
489#define AGT_TEMPLATES_MOD (const xmlChar *)"yumaworks-templates"
490
492#define AGT_LOCK_MOD (const xmlChar *)"yumaworks-lock"
493
495#define AGT_YP_GNMI_MOD (const xmlChar *)"yumaworks-yp-gnmi"
496
498#define AGT_YP_GRPC_MOD (const xmlChar *)"yumaworks-yp-grpc"
499
501#define AGT_YP_SCHEMA_MOUNT_MOD (const xmlChar *)"yumaworks-schema-mount"
502
504#define AGT_YP_SM_YANGLIB_MOD (const xmlChar *)"yumaworks-sm-yanglib"
505
507#define AGT_DEF_SERVER_ID (const xmlChar *)"server1"
508
510#define AGT_WITHDEF_MOD (const xmlChar *)"ietf-netconf-with-defaults"
511
512
516#define AGT_TEST_FL_MIN_ELEMS bit0
517
519#define AGT_TEST_FL_MAX_ELEMS bit1
520
522#define AGT_TEST_FL_MANDATORY bit2
523
525#define AGT_TEST_FL_MUST bit3
526
528#define AGT_TEST_FL_UNIQUE bit4
529
531#define AGT_TEST_FL_XPATH_TYPE bit5
532
534#define AGT_TEST_FL_CHOICE bit6
535
537#define AGT_TEST_FL_WHEN bit7
538
540#define AGT_TEST_ALL_COMMIT_MASK (bit0|bit1|bit2|bit3|bit4|bit5|bit6)
541
543#define AGT_TEST_INSTANCE_MASK (bit0|bit1|bit2|bit4|bit6)
544
546#define AGT_CLI_NOSTARTUP (const xmlChar *)"no-startup"
547
549#define AGT_CLI_STARTUP (const xmlChar *)"startup"
550
552#define AGT_CLI_FACTORY_STARTUP (const xmlChar *)"factory-startup"
553
555#define AGT_CLI_STARTUP_FACTORY_FILE (const xmlChar *)"startup-factory-file"
556
558#define AGT_EVAL_REQUEST_LIMIT 500
559
563#define AGT_MAX_OWNER_ID 255
564
566#define AGT_WATCHER (const xmlChar *)"ypwatcher"
567
569#define AGT_DEF_WAT_INTERVAL 10
570
572#define AGT_DEF_SSHD_COMMAND (const xmlChar *)"/usr/sbin/sshd"
573
575#define AGT_DEF_SUBSYS_COMMAND \
576 (const xmlChar *)"/usr/sbin/netconf-subsystem-pro"
577
579#define AGT_DEF_SNMP_SUBAGENT_PRIO 127
580
581/* flags for the agt_auditlog_events mask from
582 * --audit-log-events CLI parameter.
583 * edit-candidate events are generated when an edit
584* to <candidate> is completed.
585 */
586#define AGT_FL_AUDIT_EDIT_CANDIDATE bit0
587
591#define AGT_FL_AUDIT_EDIT_RUNNING bit1
592
596#define AGT_FL_AUDIT_UPDATE_STARTUP bit2
597
599#define AGT_FL_AUDIT_CLIENT_SESSION bit3
600
602#define AGT_FL_AUDIT_CONTROL_SESSION bit4
603
605#define AGT_FL_AUDIT_NACM_WRITE_ERROR bit5
606
608#define AGT_FL_AUDIT_NACM_EXEC_ERROR bit6
609
611#define AGT_FL_AUDIT_RPC_SUMMARY bit7
612
614#define AGT_FL_AUDIT_EDIT_DATA bit8
615
617#define AGT_FL_AUDIT_RPC_ERROR bit9
618
620#define AGT_DEF_AUDIT_EVENTS AGT_FL_AUDIT_EDIT_RUNNING
621
623#define AGT_DEF_CRL_MISSING_OK false
624
626#define AGT_DEF_CRL_MODE AGT_CRL_MODE_OFF
627
629#define AGT_DEF_CVT_SUBTREE_FILTER false
630
634#define AGT_DEF_PUSH_MIN_PERIOD 100
635
637#define AGT_DEF_PUSH_MIN_DAMPENING 100
638
640#define AGT_DEF_PUSH_MAX_PERIODIC 16
641
643#define AGT_DEF_PUSH_MAX_OPERATIONAL 4
644
646#define AGT_DEF_PUSH_SIMOP_ENABLED true
647
649#define AGT_DEF_PUSH_SIMOP_PERIOD 500
650
652#define AGT_DEF_PUSH_SIMOP_PATCH_UPDATE true
653
655#define AGT_NON_NMDA_YANGLIB_REV (const xmlChar *)"2016-06-21"
656
658#define AGT_NMDA_YANGLIB_REV (const xmlChar *)"2019-01-04"
659
661#define AGT_SIL_SA_MODULE (const xmlChar *)"yumaworks-sil-sa"
662
666#define AGT_DEF_TLS_DEPRECATED_OK false
667
669#define AGT_DEF_TLS_DH_ENABLED true
670
672#define AGT_DEF_SAVE_CONFIG_TEMPNAME true
673
675#define AGT_SAVE_CONFIG_TEMPNAME_EXT (const xmlChar *)".temp"
676
681#define AGT_DEF_RETURN_EMPTY_NPCONTAINERS TRUE
682
688#define AGT_DEF_MAX_DBLSLASH_MATCHES 25
689
690
703#define AGT_DEF_MAX_NODES_PER_UPDATE 10000
704
705
706/********************************************************************
707* *
708* T Y P E S *
709* *
710*********************************************************************/
711
713typedef enum agt_acmode_t_ {
720
721
729typedef enum agt_cbtyp_t_ {
735
736
738typedef enum agt_acm_model_t_ {
744
745
747typedef enum agt_transaction_model_t_ {
752
753
755typedef enum agt_commit_type_t_ {
760
761
763typedef enum agt_exit_mode_t_ {
770
771
773typedef enum agt_tx_type_t_ {
780
781
783typedef enum agt_ccparm_t_ {
790
791
793typedef enum agt_ha_role_t_ {
799
800
802typedef enum agt_ch_proto_t_ {
808
809
811typedef enum agt_crl_mode_t_ {
817
818
820typedef enum agt_hook_type_t_ {
826
827
831typedef struct agt_replay_subsys_t_ {
832 dlq_hdr_t qhdr;
833 xmlChar *subsys_id;
835
836
840typedef struct agt_maxuser_t_ {
841 dlq_hdr_t qhdr;
842 xmlChar *username;
845
846
847
848
882typedef struct agt_profile_t_ {
887
890
893
896
899
902
905
908
911
914
917
920
922 boolean agt_startup_error; /* T: stop, F: check fallback */
923
925 boolean agt_running_error; /* T: stop, F: check fallback */
926
929
932
935
938
941
944
953
956
959
962
965
968
970 const xmlChar *agt_accesscontrol;
971
973 const xmlChar *agt_conffile;
974
976 const xmlChar *agt_confdir;
977
979 const xmlChar *agt_logfile;
980
982 const xmlChar *agt_startup;
983
986
988 const xmlChar *agt_defaultStyle;
989
994 //const xmlChar *agt_superuser;
995
997 const xmlChar *agt_extern_libspec;
998
1000 const xmlChar *agt_backup_dir;
1001
1005 const xmlChar *agt_server_id;
1006
1013 const xmlChar *agt_server_root;
1014
1017
1020
1023
1026
1029
1032
1035
1038
1040 boolean agt_useurl;
1041
1044
1047
1050
1053
1056
1059
1062
1065
1068
1071
1074
1077
1080
1083
1086
1089
1091 uint16 agt_ports[AGT_MAX_PORTS];
1092
1095
1098
1100 const xmlChar *agt_coap_address;
1101
1104
1107
1110
1113
1116
1119
1122
1125
1131
1134
1142
1145
1148
1151
1154
1157
1160
1167
1170
1173
1181
1192
1198
1205
1211
1216
1221
1230
1236
1239
1247
1250
1253
1256
1259
1262
1265
1268
1271
1274
1277
1280
1283
1285 const xmlChar *agt_ha_server_key;
1286
1289
1290 // leaf-list ha-server not stored here; not sent to subsys
1291
1294
1299
1302
1303 /* TBD: add this data to subsystems in the near future */
1304
1309
1315
1321
1333
1337 boolean agt_with_yang11_hello; /* d: false */
1338
1345
1350
1356
1357 /* the callhome-server parameter is handled by agt_callhome */
1358
1363 const xmlChar *agt_sshd_path;
1364
1369 const xmlChar *agt_subsys_path;
1370
1375 const xmlChar *agt_sshd_config;
1376
1377
1384
1387
1390
1393
1395 boolean agt_startup_fallback; /* T: restart, F: continue */
1396
1398 boolean agt_running_fallback; /* T: restart, F: continue */
1399
1400
1401 /* the SNMP agent parameters */
1402
1405
1408
1413
1420
1423
1426
1429
1431 const xmlChar *agt_netconf_tls_key;
1432
1435
1438
1441
1444
1446 const xmlChar *agt_errmsg_lang;
1447
1450
1455
1458
1461
1464
1467
1472
1475
1478
1484
1490
1493
1496
1503
1506
1509
1512
1515
1518
1521
1524
1527
1530
1533
1536
1539
1542
1545
1548
1550 uint16 agt_push_min_period; // centiseconds
1551
1553 uint16 agt_push_min_dampening; // centiseconds
1554
1556 uint32 agt_push_max_periodic; // count
1557
1560
1563
1566
1569
1575
1578
1581
1584
1589
1597 const xmlChar *agt_sm_config;
1598
1603
1604
1609
1612
1622
1628
1635 const xmlChar *agt_tls_cipherlist;
1636
1639
1644
1647
1650
1653
1656
1661
1662 /* YPW-2000
1663 * Enable use of a temp file while saving config files such
1664 * as startup-cfg.xml or backup-cfg.xml
1665 * The file is renamed to the provided filespec after
1666 * it is written; If no rename because crash then restart will
1667 * not find real xml file; No CLI to disable
1668 */
1669 boolean agt_save_config_tempname;
1670
1675
1681
1684
1692
1694 const xmlChar *agt_user_parm;
1695
1704
1707
1716
1723
1729
1736
1744
1751
1762
1763
1764 /****** state variables; TBD: move out of profile ******/
1765
1768
1771
1774
1777
1780
1783
1786
1789
1791 dlq_hdr_t agt_savedevQ;
1792
1795
1798
1801
1804
1807 boolean agt_confdir_skipped;
1808
1811
1814
1821
1824
1827
1830
1833
1836
1837
1839
1840
1844/******************* External System Callbacks ***********************/
1845
1860 (agt_profile_t *profile);
1861
1862
1876 (boolean pre_cli);
1877
1878
1893 (boolean pre_load);
1894
1895
1901typedef void (*agt_system_cleanup_fn_t) (void);
1902
1903
1915 (ncx_display_mode_t encoding,
1916 const xmlChar *filespec);
1917
1918
1935 (ncx_display_mode_t *encoding,
1936 xmlChar **filespec);
1937
1938
1942typedef struct agt_syslib_cb_t_ {
1944 dlq_hdr_t qhdr;
1945
1947 void *handle;
1948
1950 xmlChar *libspec;
1951
1954
1957
1960
1963
1966
1969
1973
1974
1976typedef struct agt_edit_parms_cb_t_ {
1977
1978
1979 /**** state data used for the edit transaction ****/
1980 yang_patch_cb_t *pcb;
1981
1983
1984
1994typedef void (*agt_replay_fn_t) (boolean is_start);
1995
1996
2000/********************************************************************
2001* *
2002* F U N C T I O N S *
2003* *
2004*********************************************************************/
2005
2006
2030extern status_t
2031 agt_init1 (int argc,
2032 char *argv[],
2033 boolean *showver,
2034 help_mode_t *showhelpmode);
2035
2036
2050extern status_t
2051 agt_init1_ex (int argc,
2052 char *argv[],
2053 boolean factory_restart,
2054 boolean *showver,
2055 help_mode_t *showhelpmode);
2056
2057
2065extern status_t
2066 agt_init1_sil_sa (void);
2067
2068
2083extern status_t
2084 agt_init1_ypserver (int argc,
2085 char *argv[],
2086 boolean factory_restart,
2087 boolean *showver,
2088 help_mode_t *showhelpmode);
2089
2090
2103extern status_t
2104 agt_init2 (void);
2105
2106
2120extern status_t
2121 agt_init2_ex (boolean factory_restart);
2122
2123
2129extern status_t
2130 agt_init2_sil_sa (void);
2131
2132
2139extern void
2140 agt_cleanup (void);
2141
2142
2149extern void
2150 agt_cleanup_sil_sa (void);
2151
2152
2160extern agt_profile_t *
2161 agt_get_profile (void);
2162
2163
2171extern void
2173 int intnum);
2174
2175
2181extern boolean
2183
2184
2190extern ncx_shutdowntyp_t
2192
2193
2200extern int
2202
2203
2210extern const xmlChar *
2212
2213
2223extern boolean
2224 agt_advertise_module_needed (const xmlChar *modname);
2225
2226
2235extern void agt_request_replay (void);
2236
2237
2247extern void agt_request_replay_ex (void *cookie);
2248
2249
2255extern void * agt_get_replay_cookie (void);
2256
2257
2268extern void
2269 agt_request_replay_subsys (const xmlChar *subsys_id);
2270
2271
2277extern boolean agt_replay_requested (void);
2278
2279
2285extern void agt_start_replay (void);
2286
2287
2293extern void agt_finish_replay (void);
2294
2295
2304extern status_t
2306 agt_nvsave_fn_t store_fn);
2307
2308
2319extern status_t
2321 const xmlChar *filespec);
2322
2323
2332extern status_t
2333 agt_add_allowed_user (const xmlChar *username);
2334
2335
2342extern void
2343 agt_remove_allowed_user (const xmlChar *username);
2344
2345
2352extern status_t
2353 agt_check_allowed_user (const xmlChar *username);
2354
2355
2356
2365extern status_t
2366 agt_add_superuser (const xmlChar *username);
2367
2368
2375extern void
2376 agt_remove_superuser (const xmlChar *username);
2377
2378
2385extern status_t
2386 agt_check_superuser (const xmlChar *username);
2387
2388
2394extern void
2396
2397
2403extern const xmlChar *
2404 agt_get_server_id (void);
2405
2406
2413extern const xmlChar *
2414 agt_get_server_root (void);
2415
2416
2422extern const xmlChar *
2423 agt_get_server_key (void);
2424
2425
2431extern boolean
2432 agt_is_sil_sa (void);
2433
2434
2440extern dlq_hdr_t *
2441 agt_get_savedevQ (void);
2442
2443
2450extern boolean
2451 agt_replay_subsys_is_active (const xmlChar *subsys_id);
2452
2453
2460extern boolean
2462
2463
2470extern const xmlChar *
2472
2473
2480extern agt_ha_role_t
2481 agt_ha_role_enum (const xmlChar *ha_role);
2482
2483
2490extern boolean
2491 agt_use_notifications (void);
2492
2493
2501extern status_t
2503
2504
2513extern boolean
2514 agt_init2_done (void);
2515
2516
2523extern boolean
2524 agt_init2_load_done (void);
2525
2526
2538extern boolean
2540
2541
2547extern void
2549
2550
2560extern boolean
2562
2563
2570extern status_t
2572
2573
2580extern ncx_modcache_t *
2581 agt_find_modcache (const xmlChar *modname);
2582
2583
2589extern status_t
2590 agt_run_extloop (void);
2591
2592
2600extern status_t
2601 agt_enter_maintenance_mode (boolean read_ok,
2602 boolean operation_ok);
2603
2604
2610extern status_t
2612
2613
2619extern boolean
2621
2622
2630extern boolean
2632
2633
2641extern boolean
2643
2644
2650extern boolean
2652
2653
2659extern void
2660 agt_set_eventlog_size (uint32 eventlog_size);
2661
2662
2668extern void
2669 agt_set_max_burst (uint32 max_burst);
2670
2671
2677extern void
2678 agt_set_max_getbulk (uint32 max_getbulk);
2679
2680
2688extern agt_not_msg_t *
2689 agt_make_term_msg (const xmlChar *msg,
2690 status_t *res);
2691
2692
2698extern status_t
2700
2701
2707extern boolean
2708 agt_use_nmda (void);
2709
2710
2716extern boolean
2717 agt_use_new_yanglib (void);
2718
2719
2726extern boolean
2728
2729
2735extern boolean
2736 agt_use_yang_cbor (void);
2737
2738
2744extern const char *
2746
2747
2753extern const xmlChar *
2754 agt_get_user_parm (void);
2755
2756
2763extern status_t
2764 agt_add_maxuser_parm (const xmlChar *cliparm);
2765
2766
2767
2778 agt_get_maxuser_parm (const xmlChar *username,
2779 uint16 *retval);
2780
2781
2790extern boolean agt_protocol_enabled (const xmlChar *proto);
2791
2792
2803extern status_t agt_enable_protocol (const xmlChar *proto);
2804
2805
2816extern status_t agt_disable_protocol (const xmlChar *proto);
2817
2818
2826extern boolean
2828
2829
2833#ifdef __cplusplus
2834} /* end extern 'C' */
2835#endif
2836
2837#endif /* _H_agt */
NETCONF Notifications DM module support.
agt_exit_mode_t
exit reasons for YControl IO loop
Definition: agt.h:763
status_t(* agt_system_init2_fn_t)(boolean pre_load)
system init2 callback
Definition: agt.h:1893
agt_commit_type_t
NETCONF commit types.
Definition: agt.h:755
status_t(* agt_nvload_fn_t)(ncx_display_mode_t *encoding, xmlChar **filespec)
nvload callback
Definition: agt.h:1935
void(* agt_system_cleanup_fn_t)(void)
system cleanup callback
Definition: agt.h:1901
agt_hook_type_t
Hook types enumeration to specify Hook type.
Definition: agt.h:820
void(* agt_replay_fn_t)(boolean is_start)
replay callback (agt_replay_fn_t)
Definition: agt.h:1994
agt_transaction_model_t
not used yet in YANG-API or NETCONF!
Definition: agt.h:747
agt_ccparm_t
confirmed-commit parms
Definition: agt.h:783
status_t(* agt_system_init1_fn_t)(boolean pre_cli)
system init1 callback
Definition: agt.h:1876
agt_ch_proto_t
server callhome protocol
Definition: agt.h:802
status_t(* agt_nvsave_fn_t)(ncx_display_mode_t encoding, const xmlChar *filespec)
brief nvsave callback
Definition: agt.h:1915
agt_acmode_t
matches access-control enumeration in netconfd.yang
Definition: agt.h:713
agt_crl_mode_t
server TLS CRL mode
Definition: agt.h:811
agt_acm_model_t
select the YANG module for the access control model
Definition: agt.h:738
agt_tx_type_t
YControl transaction type.
Definition: agt.h:773
agt_ha_role_t
server HA mode mode
Definition: agt.h:793
#define AGT_MAX_PORTS
maximum number of "--port" leaf-list values that will be saved
Definition: agt.h:188
agt_cbtyp_t
enumeration of the different server EDIT callback types These are used as array indices so there is n...
Definition: agt.h:729
void(* agt_system_init_profile_fn_t)(agt_profile_t *profile)
system init server profile callback
Definition: agt.h:1860
@ AGT_EXIT_MODE_NONE
this value is used
Definition: agt.h:764
@ AGT_EXIT_MODE_ERROR
exit loop with error
Definition: agt.h:766
@ AGT_EXIT_MODE_TIMEOUT
exit loop with timeout
Definition: agt.h:767
@ AGT_EXIT_MODE_OK
exit loop with OK
Definition: agt.h:765
@ AGT_EXIT_MODE_DROPPED
exit loop with session dropped
Definition: agt.h:768
@ AGT_COMMIT_TYPE_NORMAL
normal client operation
Definition: agt.h:757
@ AGT_COMMIT_TYPE_REPLAY
internal replay commit
Definition: agt.h:758
@ AGT_COMMIT_TYPE_NONE
not set
Definition: agt.h:756
@ AGT_HOOK_TYPE_SETHOOK
Set-Hook.
Definition: agt.h:822
@ AGT_HOOK_TYPE_NONE
not set
Definition: agt.h:821
@ AGT_HOOK_TYPE_TRANSACTION
Transaction Hook.
Definition: agt.h:823
@ AGT_HOOK_TYPE_POST_SETHOOK
Post Set-Hook.
Definition: agt.h:824
@ AGT_TM_PRIVATE
private transactions
Definition: agt.h:750
@ AGT_TM_SHARED
shared transactions (only value supported)
Definition: agt.h:749
@ AGT_TM_NONE
this value is used
Definition: agt.h:748
@ AGT_CCPARM_CONFIRMED
confirmed
Definition: agt.h:785
@ AGT_CCPARM_NONE
not set
Definition: agt.h:784
@ AGT_CCPARM_PERSIST
persist
Definition: agt.h:787
@ AGT_CCPARM_CONFIRM_TIMEOUT
confirm-timeout
Definition: agt.h:786
@ AGT_CCPARM_PERSIST_ID
persist-id
Definition: agt.h:788
@ AGT_CH_PROTO_NONE
not set
Definition: agt.h:803
@ AGT_CH_PROTO_RESTCONF_TLS
restconf-over-ssh callhome
Definition: agt.h:806
@ AGT_CH_PROTO_NETCONF_SSH
netconf-over-ssh callhome
Definition: agt.h:804
@ AGT_CH_PROTO_NETCONF_TLS
netconf-over-tls callhome
Definition: agt.h:805
@ AGT_ACMOD_PERMISSIVE
permissive mode, read + exec allowed
Definition: agt.h:716
@ AGT_ACMOD_OFF
NACM completely off.
Definition: agt.h:718
@ AGT_ACMOD_DISABLED
almost all access control turned off
Definition: agt.h:717
@ AGT_ACMOD_NONE
not set
Definition: agt.h:714
@ AGT_ACMOD_ENFORCING
full enforcement
Definition: agt.h:715
@ AGT_CRL_MODE_CA
CRL check client and CA certs.
Definition: agt.h:815
@ AGT_CRL_MODE_CLIENT
CRL check client cert.
Definition: agt.h:814
@ AGT_CRL_MODE_NONE
not set
Definition: agt.h:812
@ AGT_CRL_MODE_OFF
CRL check off.
Definition: agt.h:813
@ AGT_ACM_MODEL_IETF_NACM
IETF NACM (default)
Definition: agt.h:740
@ AGT_ACM_MODEL_YUMA_NACM
YUMA NACM (obsolete, not supported)
Definition: agt.h:741
@ AGT_ACM_MODEL_NONE
not set
Definition: agt.h:739
@ AGT_ACM_MODEL_EXTERNAL
external ACM via yp_system library
Definition: agt.h:742
@ AGT_TX_TYPE_NONE
not set
Definition: agt.h:774
@ AGT_TX_TYPE_GET
GET2 transaction.
Definition: agt.h:775
@ AGT_TX_TYPE_HOOK
hook callback for edit
Definition: agt.h:778
@ AGT_TX_TYPE_RPC
DB-API RPC transaction.
Definition: agt.h:777
@ AGT_TX_TYPE_EDIT
EDIT1 or EDIT2 transaction.
Definition: agt.h:776
@ AGT_HA_ROLE_STANDBY
HA standby role.
Definition: agt.h:796
@ AGT_HA_ROLE_NONE
not set
Definition: agt.h:794
@ AGT_HA_ROLE_ACTIVE
HA active role.
Definition: agt.h:797
@ AGT_HA_ROLE_NOT_SET
HA role not set.
Definition: agt.h:795
@ AGT_CB_APPLY
P2: write operation apply.
Definition: agt.h:731
@ AGT_CB_VALIDATE
P1: write operation validate.
Definition: agt.h:730
@ AGT_CB_ROLLBACK
P3-neg: write operation rollback.
Definition: agt.h:733
@ AGT_CB_COMMIT
P3-pos: write operation commit.
Definition: agt.h:732
agt_not_msg_t * agt_make_term_msg(const xmlChar *msg, status_t *res)
Create a <term-msg> notification.
Definition: agt.c:6264
void agt_remove_superuser(const xmlChar *username)
Remove a superuser name from the running system Does not change any config file allowed-user paramete...
Definition: agt.c:5484
status_t agt_check_save_external_config(ncx_display_mode_t encoding, const xmlChar *filespec)
Check if an external NV handler needs to be used to save the config.
Definition: agt.c:5274
status_t agt_init1_ypserver(int argc, char *argv[], boolean factory_restart, boolean *showver, help_mode_t *showhelpmode)
Initialize the Server Library: stage 1: CLI and profile Added factory_restart parameter yp-controller...
Definition: agt.c:3892
boolean agt_protocol_enabled(const xmlChar *proto)
Check if protocol sessions are enabled.
Definition: agt.c:6568
void agt_cleanup(void)
Cleanup the Server Library.
Definition: agt.c:4812
const xmlChar * agt_get_user_parm(void)
Get the user-parm string (if any)
Definition: agt.c:6431
const xmlChar * agt_get_server_root(void)
Get the server-root string.
Definition: agt.c:5588
status_t agt_add_maxuser_parm(const xmlChar *cliparm)
Add a maxuser parameter value.
Definition: agt.c:6445
void agt_request_replay_subsys(const xmlChar *subsys_id)
Request replay of the running config to the SIL-SA modules on the specified subsystem.
Definition: agt.c:5089
void agt_cleanup_sil_sa(void)
Cleanup the Server Library for SIL-SA usage.
Definition: agt.c:4828
void * agt_get_replay_cookie(void)
Get the current replay cookie.
Definition: agt.c:5149
void agt_set_factory_restart(void)
Set the flag so the server will restart with the factory config.
Definition: agt.c:5952
status_t agt_enter_maintenance_mode(boolean read_ok, boolean operation_ok)
Set the server to mainenance mode to block client activity.
Definition: agt.c:6195
const char * agt_get_aflocal_sockname(void)
Get the AFLOCAL socket name to use for <ncx-connect>
Definition: agt.c:6416
status_t agt_init_term_msg_module(void)
Init the term-msg module and object backptr.
Definition: agt.c:6311
status_t agt_init2(void)
Initialize the Server Library (phase 2 init)
Definition: agt.c:3924
status_t agt_add_allowed_user(const xmlChar *username)
Add a backptr to the string in the val_value_t containing the username that is allowed.
Definition: agt.c:5314
boolean agt_use_nmda(void)
Check if NMDA is enabled.
Definition: agt.c:6345
int agt_shutdown_term_signal(void)
Get the shutdown termination signal if any.
Definition: agt.c:4974
boolean agt_replay_main_is_active(void)
Check if the replay in progress is for the main server or could be for a subsystem.
Definition: agt.c:5678
status_t agt_disable_protocol(const xmlChar *proto)
Disable the named protocol.
Definition: agt.c:6678
status_t agt_get_maxuser_parm(const xmlChar *username, uint16 *retval)
Get the maxuser max-sessions value for a specified user.
Definition: agt.c:6542
boolean agt_maintenance_mode_operation_ok(void)
Return true if in maintenance mode operations OK;.
Definition: agt.c:6132
const xmlChar * agt_ha_role_str(agt_ha_role_t ha_role)
Get the string for the specified HA role enumeration.
Definition: agt.c:5696
status_t agt_check_superuser(const xmlChar *username)
Check a username in the superuser Q.
Definition: agt.c:5525
boolean agt_is_sil_sa(void)
Check if server running in SIL-SA mode.
Definition: agt.c:5621
boolean agt_yang_push_is_enabled(void)
Check if agt_push is enabled.
Definition: agt.c:6738
status_t agt_add_modcache(ncx_modcache_t *mc)
Add a module to the modcache queue and hash table.
Definition: agt.c:5994
status_t agt_add_superuser(const xmlChar *username)
Add a backptr to the string in the val_value_t containing the username that is a superuser.
Definition: agt.c:5442
status_t agt_register_local_nv_handler(agt_nvload_fn_t load_fn, agt_nvsave_fn_t store_fn)
Register a set of nvstore and nvload callback functions to handle the non-volatile storage of the con...
Definition: agt.c:5234
status_t agt_enable_protocol(const xmlChar *proto)
Enable the named protocol.
Definition: agt.c:6616
const xmlChar * agt_cbtype_name(agt_cbtyp_t cbtyp)
Get the string for the server callback phase.
Definition: agt.c:4993
agt_profile_t * agt_get_profile(void)
Get the server profile struct.
Definition: agt.c:4846
boolean agt_waiting_datastore_ready(void)
Check if client sessions are blocked until the datastore is ready.
Definition: agt.c:6378
void agt_request_replay(void)
Request replay of the running config to SIL modules because SIL hardware has reset somehow.
Definition: agt.c:5047
const xmlChar * agt_get_server_id(void)
Get the server-id string.
Definition: agt.c:5571
boolean agt_maintenance_mode_session_ok(void)
Return true if in maintenance mode new sessions OK;.
Definition: agt.c:6145
status_t agt_init2_ex(boolean factory_restart)
Initialize the Server Library (phase 2 init - extended)
Definition: agt.c:3947
boolean agt_init2_load_done(void)
Check if the init2 phase is complete and all modules loaded.
Definition: agt.c:5899
void agt_request_replay_ex(void *cookie)
Request replay of the running config to SIL modules because SIL hardware has reset somehow.
Definition: agt.c:5065
boolean agt_use_yang_cbor(void)
Check if YANG CBOR is enabled.
Definition: agt.c:6399
void agt_request_shutdown(ncx_shutdowntyp_t mode, int intnum)
Request some sort of server shutdown.
Definition: agt.c:4864
status_t agt_init2_sil_sa(void)
Initialize the Server Library for SIL-SA.
Definition: agt.c:4774
void agt_start_replay(void)
Start replay of the running config to SIL modules.
Definition: agt.c:5162
status_t agt_check_allowed_user(const xmlChar *username)
Check a username in the allowed-user Q.
Definition: agt.c:5386
status_t agt_exit_maintenance_mode(void)
Exit the server from mainenance mode to unblock client activity.
Definition: agt.c:6233
status_t agt_init1_sil_sa(void)
Initialize the Server Library: stage 1: CLI and profile.
Definition: agt.c:3849
boolean agt_use_notifications(void)
Check if notifications currently enabled.
Definition: agt.c:5757
status_t agt_run_extloop(void)
Run the agt_ncxserver in external loop mode.
Definition: agt.c:6055
boolean agt_use_new_yanglib(void)
Check if NMDA or use-new-yanglib is enabled.
Definition: agt.c:6361
boolean agt_in_factory_restart(void)
Check if a factory restort is in progress.
Definition: agt.c:5974
const xmlChar * agt_get_server_key(void)
Get the ha-server-key string.
Definition: agt.c:5605
boolean agt_maintenance_mode_read_ok(void)
Return true if in maintenance mode reads OK;.
Definition: agt.c:6117
boolean agt_in_maintenance_mode(void)
Return true if in mainenance mode now.
Definition: agt.c:6102
ncx_modcache_t * agt_find_modcache(const xmlChar *modname)
Find a module to the modcache queue and hash table.
Definition: agt.c:6027
status_t agt_init1_ex(int argc, char *argv[], boolean factory_restart, boolean *showver, help_mode_t *showhelpmode)
Initialize the Server Library: stage 1: CLI and profile Added factory_restart parameter.
Definition: agt.c:3822
boolean agt_shutdown_requested(void)
Check if some sort of server shutdown is in progress.
Definition: agt.c:4934
boolean agt_replay_requested(void)
Check if config replay is pending.
Definition: agt.c:5132
status_t agt_check_load_config(agt_ha_role_t ha_role)
Check if the boot-time load-config should be done because it was deferred while waiting for the YP-HA...
Definition: agt.c:5787
void agt_set_max_burst(uint32 max_burst)
Set the max-burst parameter.
Definition: agt.c:6160
ncx_shutdowntyp_t agt_shutdown_mode_requested(void)
Check what shutdown mode was requested.
Definition: agt.c:4957
dlq_hdr_t * agt_get_savedevQ(void)
Get the agt_savedevQ pointer.
Definition: agt.c:5635
boolean agt_advertise_module_needed(const xmlChar *modname)
Check if the module should be advertised or not.
Definition: agt.c:5023
void agt_remove_allowed_user(const xmlChar *username)
Remove an allowed-user name from the running system Does not change any config file allowed-user para...
Definition: agt.c:5347
boolean agt_replay_subsys_is_active(const xmlChar *subsys_id)
Find a subsys replay request struct in the activeQ.
Definition: agt.c:5652
void agt_register_replay_callback(agt_replay_fn_t cbfn)
Register a callback function for a replay config event.
Definition: agt.c:5554
status_t agt_init1(int argc, char *argv[], boolean *showver, help_mode_t *showhelpmode)
Initialize the Server Library: stage 1: CLI and profile.
Definition: agt.c:3785
void agt_set_max_getbulk(uint32 max_getbulk)
Set the max-getbulk parameter.
Definition: agt.c:6175
void agt_set_eventlog_size(uint32 eventlog_size)
Set the eventlog-size parameter.
Definition: agt.c:6087
boolean agt_init2_done(void)
Check if the init2 phase is complete.
Definition: agt.c:5881
void agt_finish_replay(void)
Finish replay of the running config to SIL modules.
Definition: agt.c:5195
boolean agt_advertise_yang11_module_needed(ncx_module_t *mod)
Check whether the NETCONF hello message should conform to the standard and leave out YANG 1....
Definition: agt.c:5925
agt_ha_role_t agt_ha_role_enum(const xmlChar *ha_role)
Get the enum for the specified HA role string.
Definition: agt.c:5726
log_debug_t
The debug level enumerations used in util/log.c.
Definition: log.h:345
status_t
global error return code
Definition: status_enum.h:210
help_mode_t
modes to match the keywords brief, normal, full
Definition: help.h:84
ncx_agttarg_t
enum to identify the agent native target
Definition: ncxtypes.h:517
ncx_yang_sid_mode_t
YANG SID Allocation mode from yang-sid-mode typedef.
Definition: ncxtypes.h:1773
ncx_agtstart_t
enum to identify the agent native startup mode
Definition: ncxtypes.h:528
ncx_msg_encoding_t
enumeration for message encoding formats
Definition: ncxtypes.h:647
ncx_snmp_agt_role_t
enum to identify the SNMP agent native mode
Definition: ncxtypes.h:1603
ncx_name_match_t
Node name match modes.
Definition: ncxtypes.h:695
ncx_display_mode_t
enumeration of val_dump_value display modes Some RESTCONF code uses this field incorrectly for messag...
Definition: ncxtypes.h:617
ncx_withdefaults_t
enum for with-defaults enum values
Definition: ncxtypes.h:1274
ncx_shutdowntyp_t
enumeration of the different program shutdown modes
Definition: ncxtypes.h:536
uint8 obj_testflags_t
object test flags
Definition: obj.h:1213
YANG help text support for CLI Print help text for various templates.
NCX System Logging Manager.
YANG module data structures Many internal representations of YANG module constructs.
Global error messages for status code enumerations.
struct to contain all agt_send_edit parameters
Definition: agt.h:1976
for the list of username / max-session values to support the –max-per-user-sessions CLI parameter
Definition: agt.h:840
xmlChar * username
malloced user name string
Definition: agt.h:842
dlq_hdr_t qhdr
queue header
Definition: agt.h:841
uint16 max_sessions
max session count 0 .
Definition: agt.h:843
one notification message that will be sent to all subscriptions in the stream and kept in the replay ...
Definition: agt_not.h:143
Multiple instances are not supported.
Definition: agt.h:882
const xmlChar * agt_backup_dir
backup dir location
Definition: agt.h:1000
boolean agt_with_yp_coap_dtls
enable YP-CoAP DTLS sessions (not supported)
Definition: agt.h:1261
boolean agt_allow_tcp_socket
allow a TCP socket instead of an AF_LOCAL socket for connections
Definition: agt.h:1156
const xmlChar * agt_startup
startup filespec
Definition: agt.h:982
boolean agt_sil_validate_candidate
If true, the server will invoke the VALIDATE phase for SIL and SIL-SA callbacks when each edit is mad...
Definition: agt.h:1210
int32 agt_message_indent
–message-indent parameter
Definition: agt.h:1034
boolean agt_use_ccommit
enable confirmed-comiit
Definition: agt.h:1043
boolean agt_use_tcp_socket
use a TCP socket instead of an AF_LOCAL socket for connections
Definition: agt.h:1159
boolean agt_with_yumaworks_config_change
with-yumaworks-config-change
Definition: agt.h:1523
boolean agt_useurl_ftp
–with-url-ftp
Definition: agt.h:1416
boolean agt_with_yp_shell
enable yp-shell sessions
Definition: agt.h:1255
ncx_name_match_t agt_match_names
match names behavior; needs to be EXACT for YANG
Definition: agt.h:964
boolean agt_tls_deprecated_ok
YPW-1984: TLS Deprecated OK.
Definition: agt.h:1655
boolean agt_sil_test_get_when
enable config=false when-stmt checking for GET1 and GET2 callback functions; if false then the callba...
Definition: agt.h:1502
boolean agt_with_error_number
enable the <error-number) element added to error info some NC clients do not implement the error-info...
Definition: agt.h:1691
boolean agt_use_yuma_if
load yuma-if module
Definition: agt.h:1115
boolean agt_with_yp_coap
enable YP-CoAP sessions (not supported)
Definition: agt.h:1258
boolean agt_autodelete_pdu_error
If 'true' the server will treat edit-config auto-delete because of false when-stmts as an error inste...
Definition: agt.h:1220
uint16 agt_socket_port
listen on this TCP port if TCP socket is enabled
Definition: agt.h:1803
boolean agt_return_status
return exit code or zero
Definition: agt.h:1580
boolean agt_use_yuma_arp
load yuma-arp module
Definition: agt.h:1112
uint32 agt_linesize
line size for logging
Definition: agt.h:1028
boolean agt_useurl
–with-url parameter
Definition: agt.h:1040
ncx_yang_sid_mode_t agt_yang_sid_mode
yang-sid-mode parameter
Definition: agt.h:1649
boolean agt_sil_wait_sa
No CLI parameter!! Set to TRUE in agt_profile.c the load-config will wait if agt_ncx_load_any_waiting...
Definition: agt.h:1489
boolean agt_wait_datastore_ready
wait-datastore-ready parameter
Definition: agt.h:1577
boolean agt_with_new_notifs
flag to indicate that the new notifications defined in RFC 8639 should be used, even if bundle yang-p...
Definition: agt.h:1743
uint32 agt_max_nodes_per_update
IETF max-nodes-per-update NO CLI PARAMTER TO SET THIS VALUE.
Definition: agt.h:1574
boolean agt_sil_skip_load
skip the SIL callbacks for load-config Useful if the authoritative database is really the external sy...
Definition: agt.h:1141
const xmlChar * agt_netconf_tls_certificate
–netconf-tls-cerificate parameter
Definition: agt.h:1428
boolean agt_fileloc_fhs
this flag enables FHS file locations for server data files
Definition: agt.h:1386
uint16 agt_max_sessions
max sessions (total)
Definition: agt.h:1079
const xmlChar * agt_extern_libspec
superuser name (allowed to be NULL) moved to agt.c agt_superuserQ Q of ncx_backptr_t to malloced stri...
Definition: agt.h:997
boolean agt_with_yang11_hello
this field indicates whether the NETCONF hello message should conform to the standard and leave out Y...
Definition: agt.h:1337
boolean agt_load_rootcheck_errors
server load-config root-check had errors flag
Definition: agt.h:1776
uint8 agt_withdef_enabled
bitmask of the with-defaults enumerations that should be enabled in the server
Definition: agt.h:1191
uint16 agt_snmp_subagent_priority
identify the SNMP subagent priority, what priority will be used for OID callbacks registration
Definition: agt.h:1412
boolean agt_save_owners
flag to save owner strings in the database
Definition: agt.h:1169
boolean agt_with_yumaworks_callhome
with-yumaworks-callhome
Definition: agt.h:1520
const xmlChar * agt_yangapi_server_url
YANG-API server URL (obsolete)
Definition: agt.h:1103
boolean agt_restconf_strict_headers
If 'true' the server will only accept requests with normative Accept header entries specified in the ...
Definition: agt.h:1215
const xmlChar * agt_conffile
config file: default: /etc/yumapro/netconfd-pro.conf
Definition: agt.h:973
const xmlChar * agt_user_parm
back-pointer to the user-parm string if any
Definition: agt.h:1694
boolean agt_load_validate_errors
server load-config had errors flag
Definition: agt.h:1773
boolean agt_with_yang_patch_running
with-yang-patch-running parameter
Definition: agt.h:1547
boolean agt_with_config_id
this field indicates if the :config-id capability is enabled or not.
Definition: agt.h:1320
agt_crl_mode_t agt_crl_mode
tls-crl-mode parameter
Definition: agt.h:1529
boolean agt_use_local_transport
use local transport flag
Definition: agt.h:1058
boolean agt_ypserver_mode
this flag indicates the server is rnning as yp-controller and not netconfd-pro
Definition: agt.h:1471
boolean agt_sil_invoke_for_defaults
–sil-invoke-for-defaults parameter
Definition: agt.h:1463
boolean agt_create_empty_npcontainers_ro
special flag for create NP containers if read-only child nodes
Definition: agt.h:1301
boolean agt_use_rollback_on_error
Use rollback-on-error.
Definition: agt.h:1130
boolean agt_xmlorder
use strict XML order flag
Definition: agt.h:931
const xmlChar * agt_errmsg_lang
–errmsg-lang parameter
Definition: agt.h:1446
boolean agt_create_empty_npcontainers
LAST DATA SENT TO SUBSYSTEMS create empty NP containers d: true.
Definition: agt.h:1298
log_debug_t agt_audit_log_level
audit log level
Definition: agt.h:1270
boolean agt_system_sorted
enable system-sorted (obsolete: sorted by val_child algorithms)
Definition: agt.h:1064
ncx_withdefaults_t agt_defaultStyleEnum
default with-defaults enum
Definition: agt.h:1073
uint32 agt_watcher_interval
Specifies the number of seconds the YPWatcher process will sleep before checking if the netconfd-pro ...
Definition: agt.h:1197
boolean agt_library_mode
this field indicates the server is operating in library mode It will look for YANG modules but only l...
Definition: agt.h:1314
xmlChar * agt_subsys_info_file
location of subsys info file YPW-2080: Multi-Instance Mode This filespec will contain the SRID so it ...
Definition: agt.h:1166
obj_testflags_t agt_rootflags
root commit descendant test flags
Definition: agt.h:1767
uint16 agt_max_cli_sessions
max CLI sessions
Definition: agt.h:1082
boolean agt_delete_empty_npcontainers
delete empty config=true NP containers: d: false
Definition: agt.h:943
boolean agt_push_simop_enabled
push-simop-enabled parameter
Definition: agt.h:1565
boolean agt_validate_all
validate all flag
Definition: agt.h:910
uint8 agt_max_dblslash_matches
Max number of dblslash wildcard matches to allow this is an arbitrary limit meant to prevent the XPat...
Definition: agt.h:1728
boolean agt_with_nmda
with-nmda
Definition: agt.h:1535
boolean agt_load_def_startup_factory
server load-config factory flag
Definition: agt.h:1788
boolean agt_use_yuma_proc
load yuma-proc module
Definition: agt.h:1109
uint16 agt_callhome_retry_max
this field specifies the number of retry attempts the server should attempt to the callhome server be...
Definition: agt.h:1355
boolean agt_sil_root_check_first
–sil-root-check-first to do root check in edit-config before the SIL validate callbacks are invoked t...
Definition: agt.h:1483
boolean agt_no_yang_push
flag indicates that yang-push bundle is loaded only to use the notifications.
Definition: agt.h:1820
boolean agt_simple_json_names
use simple JSON names instead of YANG JSON names
Definition: agt.h:1293
uint16 agt_max_lock_hold_time
YPW-2027 Enforce a max lock hold time if non-zero value.
Definition: agt.h:1674
boolean agt_with_netconf_tls
enable NETCONF over TLS sessions
Definition: agt.h:1264
const xmlChar * agt_netconf_tls_address
–netconf-tls-address parameter
Definition: agt.h:1425
const xmlChar * agt_server_root
assigned server root ID
Definition: agt.h:1013
const xmlChar * agt_tls_cipherlist
–tls-cipherlist CLI parameter Use with extreme caution! Advanced libopenssl usage not supported passe...
Definition: agt.h:1635
boolean agt_use_ycontrol
enable YControl protocol
Definition: agt.h:1133
boolean agt_has_startup
has startup flag for –with-startup
Definition: agt.h:913
boolean agt_ha_sil_standby
call SIL code in standby mode
Definition: agt.h:1279
const xmlChar * agt_crypt_hash_prefix
specifies the string that will be pre-pended to the password before calling crypt_r to generate the h...
Definition: agt.h:1235
boolean agt_with_ocpattern
this flag enables/disables the special OpenConfig usage of the YANG pattern-statement.
Definition: agt.h:1383
boolean agt_use_rollback_failed_backup
save running config for a commit, in case the rollback fails
Definition: agt.h:1153
boolean agt_use_yuma_system
load yuma-system module
Definition: agt.h:1124
boolean agt_enable_grpc
flag to enable gRPC sessions
Definition: agt.h:1835
boolean agt_audit_log_candidate
If true, then transactions to the candidate datastore will be recorded in the audit log.
Definition: agt.h:1204
uint16 agt_push_min_dampening
push-min-dampening parameter
Definition: agt.h:1553
boolean agt_trim_whitespace
–trim-whitespace CLI parameter
Definition: agt.h:1422
uint32 agt_maxburst
–maxburst parameter
Definition: agt.h:1019
uint32 agt_push_max_periodic
push-max-periodic parameter
Definition: agt.h:1556
boolean agt_return_error_with_data
enable returning rpc-error with data YPW-2187: add –return-error-with-data parameter Allow GET2 callb...
Definition: agt.h:1722
boolean agt_with_callhome
this field indicates that the IETF Callhome feature is enabled if true and WITH_CALLHOME is built int...
Definition: agt.h:1344
boolean agt_yumaworks_ids
use the yumaworks-ids module
Definition: agt.h:1511
boolean agt_stream_output
stream message output: d:true; no CLI support yet
Definition: agt.h:940
boolean agt_save_load_events
No CLI parameter for save load events! If true then NETCONF notifications generated for the YANG libr...
Definition: agt.h:1715
const xmlChar * agt_ha_initial_active
active server to use if standby
Definition: agt.h:1288
const xmlChar * agt_cert_default_user
–cert-default-user parameter
Definition: agt.h:1443
boolean agt_ha_enabled
enable YP-HA
Definition: agt.h:1276
agt_ha_role_t agt_ha_role
saved HA role
Definition: agt.h:1810
boolean agt_enable_restconf
flag to enable RESTCONF sessions
Definition: agt.h:1826
boolean agt_yuma_time_filter
use the yuma-time-filter module
Definition: agt.h:1505
const xmlChar * agt_sshd_config
set the sshd_config file to use for sshd exectuable for callhome default is $HOME/....
Definition: agt.h:1375
boolean agt_with_sm
this flag indicates that the Schema Mount support should be enabled
Definition: agt.h:1588
boolean agt_use_netconf
enable NETCONF protocol
Definition: agt.h:1055
boolean agt_callhome_reconnect
CLI parameter –callhome-reconnect.
Definition: agt.h:1495
uint16 agt_ha_port
port number is default 8088
Definition: agt.h:1282
boolean agt_with_yumaworks_lock
enable the <lock-all> and <unlock-all> operations
Definition: agt.h:1683
boolean agt_enable_netconf
flag to enable NETCONF sessions
Definition: agt.h:1823
boolean agt_use_notifications
enable notifications
Definition: agt.h:1061
boolean agt_yuma_system_notifs
d: false
Definition: agt.h:946
boolean agt_with_netconf
If 'true' then the corresponding protocol will be enabled.
Definition: agt.h:1246
agt_acm_model_t agt_acm_model
NACM or external ACM model.
Definition: agt.h:1070
ncx_agttarg_t agt_targ
BEGIN DATA SENT TO SUBSYSTEMS; target type (candidate or running)
Definition: agt.h:886
boolean agt_xpath_dblslash_ok
YPW-1981: XPath Dblslash OK.
Definition: agt.h:1652
boolean agt_use_db_lock
db-lock used only if WITH_YCONTROL=1 and CLI set
Definition: agt.h:1514
boolean agt_insecure_ok
–insecure-ok parameter
Definition: agt.h:1440
const xmlChar * agt_subsys_path
set the netconf subsystem for sshd exectuable path for callhome default is /usr/sbin/netconf-subsyste...
Definition: agt.h:1369
boolean agt_support_save
d: true (needs WITH_SUPPORT_SAVE=1)
Definition: agt.h:952
boolean agt_defer_load
saved defer load config flag
Definition: agt.h:1813
boolean agt_running_error
–running-error parameter: stop, continue enums only
Definition: agt.h:925
boolean agt_audit_log_localtime
audit log localtime
Definition: agt.h:1273
agt_transaction_model_t agt_transaction_model
TBD private transaction model.
Definition: agt.h:967
uint16 agt_coap_dtls_port
Coap over DTLS port (not implemented)
Definition: agt.h:1097
boolean agt_cvt_subtree_filter
convert-subtree-filterparameter
Definition: agt.h:1541
const xmlChar * agt_netconf_tls_key
–netconf-tls-key parameter
Definition: agt.h:1431
boolean agt_with_yang_api
enable YANG-API sessions (obsolete)
Definition: agt.h:1252
const xmlChar * agt_sm_config
set the Schema Mount configuration file.
Definition: agt.h:1597
boolean agt_startup_fallback
this flag indicates the –startup-error parm is set to fallback
Definition: agt.h:1395
boolean agt_term_msg
d: true for <term-msg> notification
Definition: agt.h:955
const xmlChar * agt_sshd_path
set the sshd exectuable path for callhome default is /usr/sbin/sshd only set by vendor in agt_init1 p...
Definition: agt.h:1363
boolean agt_sil_cc_callback_all
YPW-2042 Apply Commit Completeness Callbacks to All Edit Transactions instead of just the <commit> op...
Definition: agt.h:1680
boolean agt_yumaworks_getbulk
use the yumaworks-getbulk module
Definition: agt.h:1508
boolean agt_yumaworks_system
d: true
Definition: agt.h:948
boolean agt_json_leaf_list_1line
flag to print JSON leaf-list value on 1 line
Definition: agt.h:1172
boolean agt_with_snmp
this flag indicates that the snmp agent should be enabled
Definition: agt.h:1404
boolean agt_logappend
–log-append parameter
Definition: agt.h:928
boolean agt_load_done
server load-config done flag
Definition: agt.h:1770
boolean agt_load_top_rootcheck_errors
server load-config had top root-check errors flag
Definition: agt.h:1779
xmlChar * agt_startup_txid_file
cached location of startup transaction ID file
Definition: agt.h:1797
boolean agt_with_yumaworks_event_stream
with-yumaworks-event-stream
Definition: agt.h:1526
dlq_hdr_t agt_savedevQ
Q of malloced ncx_save_deviations_t.
Definition: agt.h:1791
boolean agt_sil_autodelete
enable SIL/SIL-SA callback for auto-deletions
Definition: agt.h:1703
boolean agt_enable_gnmi
flag to enable gNMI sessions
Definition: agt.h:1832
ncx_snmp_agt_role_t agt_snmp_agent_role
identify the SNMP agent native mode master|subagent
Definition: agt.h:1407
log_debug_t agt_syslog_log_level
requested SYSLOG log-level
Definition: agt.h:895
boolean agt_factorystartup
track –factory-startup flag
Definition: agt.h:919
boolean agt_log_acm_writes
log NACM write requests
Definition: agt.h:907
boolean agt_use_yangapi
enable YANG-API protocol (obsolete: ignored)
Definition: agt.h:1046
boolean agt_enable_cli
flag to enable CLI sessions
Definition: agt.h:1829
const xmlChar * agt_startup_factory_file
factory startup filespec
Definition: agt.h:985
const xmlChar * agt_netconf_tls_trust_store
–netconf-tls-trust-store parameter
Definition: agt.h:1437
boolean agt_leaflist_deleteall_ok
allow delete-all and remove-all operations on a leaf-list
Definition: agt.h:937
uint16 agt_coap_port
the CoAP port number used only if WITH_COAP and agt_use_coap set
Definition: agt.h:1094
const xmlChar * agt_ha_server_key
server-key to keep HA pools separate
Definition: agt.h:1285
boolean agt_use_yumaworks_sm_yanglib
load yumaworks-sm-yanglib module ignored unless agt_with_sm and agt_sm_config both set
Definition: agt.h:1608
boolean agt_with_canonical
–with-canonical parameter
Definition: agt.h:1457
dlq_hdr_t agt_commit_testQ
Q of malloced agt_commit_test_t.
Definition: agt.h:1794
const xmlChar * agt_confdir
config dir: default: /etc/yumapro/netconfd-pro.d
Definition: agt.h:976
boolean agt_with_restconf
enable RESTCONF sessions
Definition: agt.h:1249
boolean agt_silcall_delete_first
YPW-1975: SILCALL delete first.
Definition: agt.h:1638
uint16 agt_subsys_timeout
subsystem timeout in seconds
Definition: agt.h:1088
boolean agt_with_modtags
–with-modtags parameter
Definition: agt.h:1460
boolean agt_highres_event_time
–highres-event-time parameter Affects the <eventTime> leaf in all notifications
Definition: agt.h:1643
boolean agt_ietf_system_notifs
d: true
Definition: agt.h:947
uint32 agt_audit_log_events
–audit-log-events to control audit log content
Definition: agt.h:1477
boolean agt_with_new_yanglib
Flag to indicate that the YANG Library from RFC 8525 will be present, even if with-nmda=false This do...
Definition: agt.h:1735
boolean agt_sil_skip_keys
do not invoke the SIL callback for a key leaf
Definition: agt.h:1150
boolean agt_use_yuma_mysession
load yuma-mysession module
Definition: agt.h:1118
boolean agt_load_apply_errors
server load-config had apply phase errors flag
Definition: agt.h:1782
boolean agt_sil_prio_reverse_for_deletes
–sil-prio-reverse-for-deletes parameter
Definition: agt.h:1474
boolean agt_load_factory_fallback
server load-config allowed to use factory-fallback flag
Definition: agt.h:1785
int32 agt_max_strlen
max-strlen parameter
Definition: agt.h:1517
boolean agt_alt_names
Yuma REST-API urlselect extra parameters.
Definition: agt.h:958
uint8 agt_min_passwd_len
minimum password length when setting crypt-hash variables
Definition: agt.h:1238
boolean agt_disable_imported_ok
YPW-2209: flag to enable disabling of imported objects that are not loaded via module or bundle param...
Definition: agt.h:1761
boolean agt_with_grpc
this flag indicates that the gRPC support should be enabled
Definition: agt.h:1583
boolean agt_use_yumaworks_event_filter
load yumaworks-event-filter module
Definition: agt.h:1121
boolean agt_useurl_tftp
the libcurl variables
Definition: agt.h:1415
boolean agt_use_cli
enable yp-shell
Definition: agt.h:1052
boolean agt_startup_prune_ok
–startup-prune-ok parameter
Definition: agt.h:1449
boolean agt_save_config_system
flag to skip generation of the startup XML file when a save_config is done by the server.
Definition: agt.h:1180
log_debug_t agt_pthread_log_level
requested PTHREADS log level
Definition: agt.h:898
boolean agt_import_version_bestmatch
import-version-bestmatch parameter
Definition: agt.h:1544
uint32 agt_idle_timeout
–idle-timeout parameter
Definition: agt.h:1025
uint32 agt_eventlog_size
eventlog-size set to 0 to disable replay
Definition: agt.h:1016
boolean agt_log_event_drops
log event drops
Definition: agt.h:1144
boolean agt_usevalidate
–with-validate parameter
Definition: agt.h:1037
boolean agt_with_gnmi
this flag indicates that the gNMI support should be enabled
Definition: agt.h:1466
boolean agt_remove_schema_aug_leafs
this flag indicates the deprecated schema list leafs added from yumaworks-system should be removed.
Definition: agt.h:1621
boolean agt_with_maint_mode
allow maintenance mode to be used
Definition: agt.h:1492
agt_acmode_t agt_accesscontrol_enum
access control enum
Definition: agt.h:1076
boolean agt_use_yumaworks_cert_usermap
load yumaworks-cert-usermap module
Definition: agt.h:1611
boolean agt_log_acm_reads
log NACM read requests
Definition: agt.h:904
boolean agt_push_simop_patch_update
push-simop-patch-update parameter
Definition: agt.h:1568
const xmlChar * agt_defaultStyle
default-style for with-defaults
Definition: agt.h:988
boolean agt_usestartup
track –no-startup flag
Definition: agt.h:916
boolean agt_with_warnings
this field indicates if agt_record_warning will be allowed to set the error-severity field to warning
Definition: agt.h:1308
boolean agt_startup_skip_validation
startup-skip-validation
Definition: agt.h:1538
boolean agt_startup_error
–startup-error parameter: stop, continue enums only
Definition: agt.h:922
boolean agt_no_audit_log
this flag indicates the –no-audit-log CLI parameter
Definition: agt.h:1389
boolean agt_running_fallback
this flag indicates the –running-error parm is set to fallback
Definition: agt.h:1398
uint16 agt_callhome_retry_interval
this field specifies the number of seconds to wait after a connect attempt to the callhome server has...
Definition: agt.h:1349
uint16 agt_max_user_sessions
max USER sessions
Definition: agt.h:1085
uint16 agt_netconf_tls_port
–netconf-tls-port parameter
Definition: agt.h:1434
boolean agt_with_ietf_caps
flag to indicate the ietf-system-capabilities module should be loaded if WITH_YANG_PUSH is used and a...
Definition: agt.h:1750
const xmlChar * agt_server_id
assigned server ID NcxName (1 .
Definition: agt.h:1005
xmlChar * agt_socket_address
strdup of socket-address CLI parameter
Definition: agt.h:1800
int32 agt_indent
–indent parameter
Definition: agt.h:1031
boolean agt_sil_delete_children_first
–sil-delete-children-first CLI parameter
Definition: agt.h:1419
log_debug_t agt_audit_log_console_level
log console level
Definition: agt.h:1267
boolean agt_startup_create_ok
no CLI parameter!! set to TRUE! change in yp-system library or agt_profile.c
Definition: agt.h:1454
const xmlChar * agt_restconf_server_url
RESTCONF server URL.
Definition: agt.h:1106
ncx_agtstart_t agt_start
startup type enum (distinct or mirror)
Definition: agt.h:889
uint32 agt_push_simop_period
push-simop-period parameter
Definition: agt.h:1562
const xmlChar * agt_logfile
main logfile
Definition: agt.h:979
uint32 agt_sil_getbulk_max
Specifies the maximum number of getbulk entries to request from a GET2 callback.
Definition: agt.h:1229
uint32 agt_push_max_operational
push-max-operational parameter
Definition: agt.h:1559
boolean agt_lax_namespaces
lax namespace usage: will try to match element name
Definition: agt.h:1067
uint32 agt_hello_timeout
–hello-timeout parameter
Definition: agt.h:1022
boolean agt_crl_missing_ok
tls-crl-missing-ok parameter
Definition: agt.h:1532
uint16 agt_push_min_period
push-min-period parameter
Definition: agt.h:1550
boolean agt_wildcards
Allow wildcards in filters.
Definition: agt.h:961
log_debug_t agt_log_level
requested log-level
Definition: agt.h:892
xmlChar * agt_conf_dirspec
malloced string indicating the confdir pathspec in use
Definition: agt.h:1806
boolean agt_list_deleteall_ok
allow delete-all and remove-all operations on a list
Definition: agt.h:934
const xmlChar * agt_coap_address
Coap over DTLS address (not implemented)
Definition: agt.h:1100
boolean agt_tls_debug
–tls-debug CLI parameter this flag indicates that extra TLS debugging should be enabled in the server
Definition: agt.h:1627
boolean agt_with_yang_cbor
with-yang-cbor parameter
Definition: agt.h:1646
boolean agt_tls_dh_enabled
YPW-1994: enable TLS DH parameters needed for TLS 1.3 there is no CLI parameter for this flag; defaul...
Definition: agt.h:1660
ncx_msg_encoding_t agt_restconf_default_encoding
this enum indicates the –restconf-default-encoding CLI parameter
Definition: agt.h:1392
const xmlChar * agt_accesscontrol
access control model
Definition: agt.h:970
boolean agt_sil_missing_error
treat missing SIL libraries as an error, not warning
Definition: agt.h:1147
boolean agt_yumaworks_templates
d: true
Definition: agt.h:949
boolean agt_no_nvstore
this field indicates that the server should not load or save using the normal APIs during transaction...
Definition: agt.h:1332
boolean agt_use_restconf
enable RESTCONF protocol
Definition: agt.h:1049
ncx_msg_encoding_t agt_sm_config_encoding
this flag indicates what parser engine to use to parse the SM Config file.
Definition: agt.h:1602
boolean agt_return_empty_npcontainers
–return-empty-npcontainers CLI parameter
Definition: agt.h:1706
boolean agt_session_sync_mutex
session sync mutex flag
Definition: agt.h:901
boolean agt_notif_sequence_id
d: false
Definition: agt.h:945
for the list of subsystems requesting or in progress for a config load or replay
Definition: agt.h:831
dlq_hdr_t qhdr
queue header
Definition: agt.h:832
xmlChar * subsys_id
malloced subsystem name string
Definition: agt.h:833
struct to keep track of the dynamic external yp-system hooks library
Definition: agt.h:1942
agt_system_init1_fn_t init1_fn
init1 callback
Definition: agt.h:1956
status_t init1_status
init1 callback result
Definition: agt.h:1965
boolean cleanup_done
cleanup done flag
Definition: agt.h:1971
dlq_hdr_t qhdr
queue header
Definition: agt.h:1944
xmlChar * libspec
yp-system library spec that was loaded (bundle or module)
Definition: agt.h:1950
agt_system_init_profile_fn_t init_profile_fn
init profile callback
Definition: agt.h:1953
void * handle
handle from dlopen
Definition: agt.h:1947
status_t init2_status
init2 callback result
Definition: agt.h:1968
agt_system_cleanup_fn_t cleanup_fn
cleanup callback
Definition: agt.h:1962
agt_system_init2_fn_t init2_fn
init2 callback
Definition: agt.h:1959
server module info cache record for def_reg_add_mod
Definition: ncxtypes.h:1611
representation of one module or submodule during and after parsing
Definition: ncxtypes.h:1134
One YANG Patch Request.
Definition: yang_patch.h:155