yumapro  20.10-12
YumaPro SDK
agt_profile.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2008 - 2012, Andy Bierman, All Rights Reserved.
3  * Copyright (c) 2012 - 2021, YumaWorks, Inc., All Rights Reserved.
4  *
5  * Unless required by applicable law or agreed to in writing,
6  * software distributed under the License is distributed on an
7  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
8  * KIND, either express or implied. See the License for the
9  * specific language governing permissions and limitations
10  * under the License.
11  */
12 #ifndef _H_agt_profile
13 #define _H_agt_profile
14 
15 /* FILE: agt_profile.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 
34 date init comment
35 ----------------------------------------------------------------------
36 06-sep-14 abb Begun; split out from agt.c
37 */
38 
39 #ifndef _H_agt
40 #include "agt.h"
41 #endif
42 
43 #ifndef _H_status_enum
44 #include "status_enum.h"
45 #endif
46 
47 #ifndef _H_val
48 #include "val.h"
49 #endif
50 
51 #ifdef __cplusplus
52 extern "C" {
53 #endif
54 
55 /********************************************************************
56 * *
57 * C O N S T A N T S *
58 * *
59 *********************************************************************/
60 
61 
62 /********************************************************************
63 * *
64 * T Y P E S *
65 * *
66 *********************************************************************/
67 
68 
69 /********************************************************************
70 * *
71 * F U N C T I O N S *
72 * *
73 *********************************************************************/
74 
75 /* group defined in agt_cli.h */
76 
77 
91 extern void
92  agt_profile_init_server_profile (agt_profile_t *agt_profile);
93 
94 
100 extern void
101  agt_profile_clean_server_profile (agt_profile_t *agt_profile);
102 
103 
107 #ifdef __cplusplus
108 } /* end extern 'C' */
109 #endif
110 
111 #endif /* _H_agt_profile */
ncx_str.h
NCX Module Library String Utility Functions.
AGT_DEF_LAX_NAMESPACES
#define AGT_DEF_LAX_NAMESPACES
default allow missing namespaces if element is unique
Definition: agt.h:237
NCX_MATCH_EXACT
@ NCX_MATCH_EXACT
exact (default)
Definition: ncxtypes.h:523
agt_cap.h
NETCONF Server capabilities handler.
AGT_DEF_HA_PORT
#define AGT_DEF_HA_PORT
default –ha-port value
Definition: agt.h:337
agt_ses.h
Server Session Management.
agt_util.h
Utility Functions for NCX Server method routines.
AGT_DEF_CRL_MODE
#define AGT_DEF_CRL_MODE
default CRL mode for TLS
Definition: agt.h:564
agt_acm_extern.h
NETCONF Server Access Control handler for external data model.
AGT_DEF_STARTUP_SKIP_VALIDATION
#define AGT_DEF_STARTUP_SKIP_VALIDATION
enable skip startup validation at boot-time
Definition: agt.h:376
agt_state.h
NETCONF State Monitoring Data Model Module support.
AGT_DEF_CALLHOME_RETRY_MAX
#define AGT_DEF_CALLHOME_RETRY_MAX
default –callhome-retry-max value
Definition: agt.h:300
AGT_DEF_PUSH_MAX_OPERATIONAL
#define AGT_DEF_PUSH_MAX_OPERATIONAL
default max number of operational subscriptions
Definition: agt.h:581
AGT_DEF_WITH_YUMAWORKS_CONFIG_CHANGE
#define AGT_DEF_WITH_YUMAWORKS_CONFIG_CHANGE
allow netconf-config-change to include data that changed
Definition: agt.h:364
AGT_DEF_MAX_BURST
#define AGT_DEF_MAX_BURST
default –max-burst value
Definition: agt.h:243
val.h
Value Node Basic Support.
agt_rpc.h
NETCONF protocol remote procedure call server-side definitions.
status_enum.h
global error status code enumerations
AGT_DEF_SSHD_COMMAND
#define AGT_DEF_SSHD_COMMAND
default SSH command for callhome use
Definition: agt.h:513
AGT_DEF_WAT_INTERVAL
#define AGT_DEF_WAT_INTERVAL
default watcher check interval in seconds
Definition: agt.h:510
log_vendor.h
Logging manager vendor API.
NCX_DEF_TCP_PORT
#define NCX_DEF_TCP_PORT
port number for NETCONF over TCP
Definition: ncxconst.h:332
AGT_DEF_CONF_FILE
#define AGT_DEF_CONF_FILE
default etc config filespec
Definition: agt.h:196
AGT_DEF_YANGAPI_SERVER_URL
#define AGT_DEF_YANGAPI_SERVER_URL
default YANG-API URI start (obsolete)
Definition: agt.h:267
AGT_DEF_HELLO_TIMEOUT
#define AGT_DEF_HELLO_TIMEOUT
default –hello-timeout value
Definition: agt.h:246
ncx_clean_save_deviationsQ
void ncx_clean_save_deviationsQ(dlq_hdr_t *savedevQ)
Clean a Q of deviation save structs.
Definition: ncx.c:9719
agt_ncxserver.h
NCX Server Transport and IO Library.
AGT_DEF_CRYPT_HASH_PREFIX
#define AGT_DEF_CRYPT_HASH_PREFIX
default for crypt-hash is SHA-512 id=6 This prefix includes the just the <id> field The <salt> will b...
Definition: agt.h:325
AGT_DEF_SAVE_CONFIG_SYSTEM
#define AGT_DEF_SAVE_CONFIG_SYSTEM
default save config system
Definition: agt.h:279
AGT_DEF_WAIT_DATASTORE_READY
#define AGT_DEF_WAIT_DATASTORE_READY
do not wait for datastore startup to allow sessions This is the only behavior before this parameter
Definition: agt.h:384
AGT_DEF_GETBULK_MAX
#define AGT_DEF_GETBULK_MAX
default –getbulk-max value
Definition: agt.h:282
AGT_DEF_YPCOAP_DTLS_PORT
#define AGT_DEF_YPCOAP_DTLS_PORT
YP-CoAP over DTLS port number (not implemented)
Definition: agt.h:346
AGT_DEF_MAX_CLI_SESSIONS
#define AGT_DEF_MAX_CLI_SESSIONS
default –max-cli-sessions value
Definition: agt.h:264
AGT_DEF_PUSH_SIMOP_PERIOD
#define AGT_DEF_PUSH_SIMOP_PERIOD
default simop period is 5 seconds
Definition: agt.h:587
ncxconst.h
Contains NCX constants.
ncxmod.h
NCX Module Load Manager.
agt_not.h
NETCONF Notifications DM module support.
agt_yangapi.h
Yuma REST API Message Handler.
AGT_DEF_CVT_SUBTREE_FILTER
#define AGT_DEF_CVT_SUBTREE_FILTER
default convert subtree to XPath parameter
Definition: agt.h:567
agt_cb.h
NETCONF Server Data Model callback handler.
AGT_DEF_PUSH_SIMOP_ENABLED
#define AGT_DEF_PUSH_SIMOP_ENABLED
default simulated operational mode
Definition: agt.h:584
agt_val.h
NETCONF Server database callback handler.
agt_ietf_notif.h
ietf-netconf-notifications YANG module support
AGT_DEF_MIN_PASSWD_LEN
#define AGT_DEF_MIN_PASSWD_LEN
hard-wired minimum password length
Definition: agt.h:328
agt_commit_complete.h
NETCONF Server Commit Complete callback handler. This file contains functions to support registering,...
agt_signal.h
Handle interrupt signals for the server.
agt_profile.h
NETCONF Server agt_profile data structure.
log_vendor_extern.h
Logging manager vendor API registration.
y_yumaworks_event_filter.h
System SIL callbacks for yumaworks-event-filter module.
AGT_DEF_JSON_LEAF_LIST_1LINE
#define AGT_DEF_JSON_LEAF_LIST_1LINE
default allow leaf-lists on 1 line in JSON
Definition: agt.h:276
agt_ncx.h
NETCONF Server standard method routines.
agt_sil.h
SIL Transaction APIs.
dlq_createSQue
void dlq_createSQue(dlq_hdrT *queAddr)
create a static queue header
Definition: dlq.c:177
heapchk.h
Internal Heap Checking Utilities.
AGT_DEF_SYSTEM_SORTED
#define AGT_DEF_SYSTEM_SORTED
this can be over-ridden by the –system-sorted CLI parameter THIS PARAMETER IGNORED SINCE val_child DO...
Definition: agt.h:234
NCX_AGT_TARG_CANDIDATE
@ NCX_AGT_TARG_CANDIDATE
target=candidate
Definition: ncxtypes.h:354
agt_time_filter.h
Support yuma-time-filter YANG module.
AGT_DEF_SAVE_OWNERS
#define AGT_DEF_SAVE_OWNERS
default –save-owners value
Definition: agt.h:273
AGT_DEF_TLS_PORT
#define AGT_DEF_TLS_PORT
port assignment for netconf-tls in RFC 7589
Definition: agt.h:355
log_get_log_level
log_debug_t log_get_log_level(void)
Get the main log level.
Definition: log.c:3508
agt_sil_lib.h
Server Instrumentation Library Support.
AGT_DEF_IDLE_TIMEOUT
#define AGT_DEF_IDLE_TIMEOUT
default idle timeout value
Definition: agt.h:249
AGT_DEF_NO_AUDIT_LOG
#define AGT_DEF_NO_AUDIT_LOG
default –no-auditlog value
Definition: agt.h:319
NCX_DEF_MAX_STRLEN
#define NCX_DEF_MAX_STRLEN
default max strlen
Definition: ncxconst.h:370
AGT_DEF_SYSLIB_FILE
#define AGT_DEF_SYSLIB_FILE
hard-wired yp-startup full library name
Definition: agt.h:211
AGT_DEF_SUBSYS_TIMEOUT
#define AGT_DEF_SUBSYS_TIMEOUT
number of seconds before timeout for subsystems to respond to an edit request
Definition: agt.h:193
AGT_ACMOD_ENFORCING
@ AGT_ACMOD_ENFORCING
full enforcement
Definition: agt.h:609
AGT_DEF_RESTCONF_SERVER_URL
#define AGT_DEF_RESTCONF_SERVER_URL
default RESTCONF URI start
Definition: agt.h:270
agt_plock.h
Partial Lock Operation.
yangconst.h
Contains YANG constants separated to prevent H file include loops.
AGT_DEF_NO_NVSTORE
#define AGT_DEF_NO_NVSTORE
default –no-nvstore value
Definition: agt.h:291
AGT_DEF_MAX_SESSIONS
#define AGT_DEF_MAX_SESSIONS
default –max-sessions value
Definition: agt.h:261
AGT_DEF_WITH_OCPATTERN
#define AGT_DEF_WITH_OCPATTERN
default –with-ocpattern value
Definition: agt.h:288
agt.h
Multi-Protocol Network Management Server.
AGT_DEF_PUSH_MIN_PERIOD
#define AGT_DEF_PUSH_MIN_PERIOD
YANG Push Periodic Subscription: units centiseconds min period 1 second.
Definition: agt.h:572
NCX_AGT_START_MIRROR
@ NCX_AGT_START_MIRROR
with-startup=false
Definition: ncxtypes.h:365
AGT_DEF_RESTCONF_DEFAULT_ENCODING
#define AGT_DEF_RESTCONF_DEFAULT_ENCODING
default RESTCONF encoding when no Accept header
Definition: agt.h:352
AGT_DEF_EVENTLOG_SIZE
#define AGT_DEF_EVENTLOG_SIZE
default –eventlog-size value
Definition: agt.h:240
AGT_DEF_INDENT
#define AGT_DEF_INDENT
default –indent value
Definition: agt.h:255
AGT_DEF_WITH_YUMAWORKS_CALLHOME
#define AGT_DEF_WITH_YUMAWORKS_CALLHOME
allow yumaworks-callhome module to be present
Definition: agt.h:367
AGT_DEF_SNMP_SUBAGENT_PRIO
#define AGT_DEF_SNMP_SUBAGENT_PRIO
internal SNMP priority
Definition: agt.h:520
agt_profile_clean_server_profile
void agt_profile_clean_server_profile(agt_profile_t *agt_profile)
Clean the server profile variables.
Definition: agt_profile.c:656
AGT_DEF_LINESIZE
#define AGT_DEF_LINESIZE
default line size
Definition: agt.h:252
AGT_DEF_WITH_CALLHOME
#define AGT_DEF_WITH_CALLHOME
default –with-callhome value
Definition: agt.h:294
log_get_syslog_log_level
log_debug_t log_get_syslog_log_level(void)
Get the syslog log level.
Definition: log.c:3523
AGT_DEF_MESSAGE_INDENT
#define AGT_DEF_MESSAGE_INDENT
default –message-indent value
Definition: agt.h:258
log.h
NCX System Logging Manager.
agt_sys.h
NETCONF system.yang DM module support.
agt_cli.h
NETCONF Server Command Line Interface handler.
agt_hello.h
Handle the NETCONF <hello> (top-level) element.
AGT_DEF_RETURN_STATUS
#define AGT_DEF_RETURN_STATUS
return status to the shell on exit or not
Definition: agt.h:379
AGT_DEF_WITH_YUMAWORKS_EVENT_STREAM
#define AGT_DEF_WITH_YUMAWORKS_EVENT_STREAM
allow yumaworks-callhome module to be present
Definition: agt.h:370
agt_connect.h
Handle the <ncx-connect> (top-level) element.
AGT_DEF_PUSH_MAX_PERIODIC
#define AGT_DEF_PUSH_MAX_PERIODIC
default max number of periodic subscriptions
Definition: agt.h:578
agt_cfg.h
Manage Server configuration edit transactions.
AGT_DEF_CALLHOME_RETRY_INT
#define AGT_DEF_CALLHOME_RETRY_INT
default –callhome-retry-interval value
Definition: agt.h:297
dlq_deque
void * dlq_deque(dlq_hdrT *listP)
remove the first queue node from the queue list
Definition: dlq.c:286
AGT_DEF_SUBSYS_COMMAND
#define AGT_DEF_SUBSYS_COMMAND
default subsystem command for callhome use
Definition: agt.h:516
dlq_empty
#define dlq_empty(listP)
check if queue list is empty
Definition: dlq.h:367
agt_acm.h
NETCONF Server Access Control Entry Points.
thd.h
Thread support (for now limited to netconfd)
AGT_DEF_PUSH_MIN_DAMPENING
#define AGT_DEF_PUSH_MIN_DAMPENING
YANG Push min dampening 1 second.
Definition: agt.h:575
AGT_DEF_YPCOAP_PORT
#define AGT_DEF_YPCOAP_PORT
default agt_ypcoap_port value
Definition: agt.h:343
AGT_DEF_SERVER_ID
#define AGT_DEF_SERVER_ID
default –server-id value
Definition: agt.h:448
ncx.h
YANG module utility functions.
AGT_DEF_WITH_NMDA
#define AGT_DEF_WITH_NMDA
enable NMDA modules and standard datastores
Definition: agt.h:373
AGT_DEF_CONF_DIR
#define AGT_DEF_CONF_DIR
default –confdir value
Definition: agt.h:204
AGT_DEF_CRL_MISSING_OK
#define AGT_DEF_CRL_MISSING_OK
default CRL missing for TLS
Definition: agt.h:561
agt_cfg_free_commit_test
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:1690
LOG_DEBUG_DEBUG
@ LOG_DEBUG_DEBUG
debug level 1
Definition: log.h:394
LOG_DEBUG_INFO
@ LOG_DEBUG_INFO
all previous + user info trace
Definition: log.h:392
NCX_SNMP_AGT_ROLE_MASTER
@ NCX_SNMP_AGT_ROLE_MASTER
SNMP master server role.
Definition: ncxtypes.h:1315
agt_ycontrol.h
Handle the YumaPro Control Protocol <ycontrol> (top-level) element.
AGT_DEF_BACKUP_DIR
#define AGT_DEF_BACKUP_DIR
default server backups directory
Definition: agt.h:217
AGT_DEF_AUDIT_EVENTS
#define AGT_DEF_AUDIT_EVENTS
default bits set for audit-log-events parameter
Definition: agt.h:558
AGT_DEF_WITH_CONFIG_ID
#define AGT_DEF_WITH_CONFIG_ID
default with config-id value
Definition: agt.h:285
agt_timer.h
Handle timer services for the server.
log_get_pthread_log_level
log_debug_t log_get_pthread_log_level(void)
Get the pthreads log level.
Definition: log.c:3560
AGT_TM_SHARED
@ AGT_TM_SHARED
shared transactions (only value supported)
Definition: agt.h:639
AGT_DEF_PUSH_SIMOP_PATCH_UPDATE
#define AGT_DEF_PUSH_SIMOP_PATCH_UPDATE
default simop message mode (patch or update)
Definition: agt.h:590
AGT_DEF_YPCOAP_ADDRESS
#define AGT_DEF_YPCOAP_ADDRESS
YP-CoAP over DTLS IPv4 address (not implemented)
Definition: agt.h:349
agt_profile_init_server_profile
void agt_profile_init_server_profile(agt_profile_t *agt_profile)
Hardwire the initial server profile variables.
Definition: agt_profile.c:123
AGT_DEF_HA_SIL_STANDBY
#define AGT_DEF_HA_SIL_STANDBY
default –ha-sil-standby value
Definition: agt.h:334
status.h
Global error messages for status code enumerations.
NCX_WITHDEF_EXPLICIT
@ NCX_WITHDEF_EXPLICIT
explicit
Definition: ncxtypes.h:1015
AGT_DEF_HA_ENABLED
#define AGT_DEF_HA_ENABLED
YP-HA service enabled.
Definition: agt.h:331
NCX_DEF_LANG
#define NCX_DEF_LANG
Default language for error messages.
Definition: ncxconst.h:295
NCX_DEF_SUBSYS_INFO_FILE
#define NCX_DEF_SUBSYS_INFO_FILE
subsystem info file
Definition: ncxconst.h:322