yumapro  20.10-12
YumaPro SDK
agt_ncx_load.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_ncx_load
13 #define _H_agt_ncx_load
14 
15 /* FILE: agt_ncx_load.h
16 *********************************************************************
17 * *
18 * P U R P O S E *
19 * *
20 *********************************************************************/
21 
22 
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 25-aug-16 abb Begun; split from agt_ncx.c
37 
38 */
39 
40 #ifndef _H_rpc
41 #include "rpc.h"
42 #endif
43 
44 #ifndef _H_status_enum
45 #include "status_enum.h"
46 #endif
47 
48 #ifndef _H_ses
49 #include "ses.h"
50 #endif
51 
52 #ifndef _H_xml_msg
53 #include "xml_msg.h"
54 #endif
55 
56 #ifndef _H_xmlns
57 #include "xmlns.h"
58 #endif
59 
60 #ifdef __cplusplus
61 extern "C" {
62 #endif
63 
64 
88 typedef status_t (*agt_ncx_load_cbfn_t)
89  (const xmlChar *name, void *cookie);
90 
91 
92 /********************************************************************
93 * *
94 * F U N C T I O N S *
95 * *
96 *********************************************************************/
97 
98 
104 extern status_t
105  agt_ncx_load_init (void);
106 
107 
113 extern void
114  agt_ncx_load_cleanup (void);
115 
116 #ifdef WITH_YP_HA
117 
129 extern status_t
130  agt_ncx_load_module_ha (ses_cb_t *scb,
131  rpc_msg_t *msg,
132  const xmlChar *name,
133  const xmlChar *revision,
134  boolean is_module,
135  boolean is_load,
136  val_value_t *dev_parent);
137 #endif // WITH_YP_HA
138 
139 
149 extern void
150  agt_ncx_load_dump_bundles (ses_cb_t *scb,
151  xml_msg_hdr_t *mhdr,
152  xmlns_id_t parent_nsid,
153  int32 indent,
154  int32 startindent);
155 
156 
169 extern status_t
170  agt_ncx_load_boot_bundle (const xmlChar *bundle);
171 
172 
180 extern status_t
182  void *cookie);
183 
184 
192 extern status_t
194  void *cookie);
195 
196 
203 extern boolean
205 
206 
213 extern void
214  agt_ncx_load_stop_waiting (const xmlChar *bundle_name);
215 
216 
217 /********************************************************************
218 * FUNCTION agt_ncx_load_add_to_bundle
219 *
220 * Add the specified module name to the bundle
221 *
222 * Processing a <bundle-load-event> from a subsystem.
223 * Do not know any of the modules in the SIL-SA bundle when
224 * the <load-bundle> operation is invoked so need to fill in
225 * the list as the event is processed.
226 *
227 * INPUTS:
228 * bundle_name == the bundle that was previously loaded
229 * module_name == module to add to the bundle
230 *********************************************************************/
231 extern status_t
232  agt_ncx_load_add_to_bundle (const xmlChar *bundle_name,
233  const xmlChar *module_name);
234 
235 
243 extern status_t
245  void *cookie);
246 
249 #ifdef __cplusplus
250 } /* end extern 'C' */
251 #endif
252 
253 #endif /* _H_agt_ncx_load */
ses.h
NETCONF Session Common definitions module.
agt_sys_send_sysCapabilityChange
void agt_sys_send_sysCapabilityChange(ses_cb_t *changed_by, boolean is_add, const xmlChar *capstr)
Send a Capability Change notification.
Definition: agt_sys.c:1477
ERR_NCX_SKIPPED
@ ERR_NCX_SKIPPED
2001
Definition: status_enum.h:551
NCX_NT_STRING
@ NCX_NT_STRING
xmlChar *, error only
Definition: ncxtypes.h:279
agt_cap.h
NETCONF Server capabilities handler.
cfg.h
agt_conf.h
NETCONF Server Configuration File Handling.
AGT_SILTYP_MODULE
@ AGT_SILTYP_MODULE
SIL is a module.
Definition: agt_sil_lib.h:108
agt_util.h
Utility Functions for NCX Server method routines.
ses_new_indent_count
int32 ses_new_indent_count(boolean indent_in, int32 indent, int32 indent_amount)
Get the new indent count from the current and indent_amount.
Definition: ses.c:4148
agt_rpc_register_method
status_t agt_rpc_register_method(const xmlChar *module, const xmlChar *method_name, agt_rpc_phase_t phase, agt_rpc_method_t method)
add callback for 1 phase of RPC processing
Definition: agt_rpc.c:2557
tstamp.h
Timestamp utilities.
xml_strdup
xmlChar * xml_strdup(const xmlChar *copyFrom)
String duplicate for xmlChar.
Definition: xml_util.c:1553
AGT_CFG_EDIT_TYPE_FULL
@ AGT_CFG_EDIT_TYPE_FULL
REPLACE = full database replace.
Definition: agt_cfg.h:191
val_find_child
val_value_t * val_find_child(const val_value_t *parent, const xmlChar *modname, const xmlChar *childname)
Find the first instance of the specified child node.
Definition: val.c:8560
agt_state.h
NETCONF State Monitoring Data Model Module support.
ncx_mod_has_data_nodes
boolean ncx_mod_has_data_nodes(ncx_module_t *mod, boolean check_config, boolean check_operational)
Check if the module has any datastore definitions.
Definition: ncx.c:10981
log_error
void log_error(const char *fstr,...) __attribute__((format(printf
Generate a new LOG_DEBUG_ERROR log entry.
val_make_string
val_value_t * val_make_string(xmlns_id_t nsid, const xmlChar *valname, const xmlChar *valstr)
Malloc and set a val_value_t as a generic NCX_BT_STRING namespace set to 0 !!!
Definition: val.c:7557
val.h
Value Node Basic Support.
agt_ncx_load_any_waiting
boolean agt_ncx_load_any_waiting(void)
Check if any bundles are waiting to be loaded from a SIL-SA subsystem.
Definition: agt_ncx_load.c:3172
agt_rpc.h
NETCONF protocol remote procedure call server-side definitions.
AGT_RPC_PH_VALIDATE
@ AGT_RPC_PH_VALIDATE
(2) cb after the input is parsed
Definition: agt_rpc.h:115
status_enum.h
global error status code enumerations
NCX_LAYER_OPERATION
@ NCX_LAYER_OPERATION
protocol operation layer
Definition: ncxtypes.h:346
ncx_use_xpath_backptrs
boolean ncx_use_xpath_backptrs(void)
Check if it is OK to use XPath back pointers or not.
Definition: ncx.c:11335
ncx_clean_backptrQ
void ncx_clean_backptrQ(dlq_hdr_t *backptrQ)
Clean an entire Q of ncx_backptr_t structs.
Definition: ncx.c:11470
log_debug3
void void void void void void void void void void void log_debug3(const char *fstr,...) __attribute__((format(printf
Generate a new LOG_DEBUG_DEBUG3 log entry.
agt_action.h
NETCONF Server YANG action handler.
xml_wr.h
XML Write functions.
agt_ncx_load_cleanup
void agt_ncx_load_cleanup(void)
Cleanup the NCX Load module.
Definition: agt_ncx_load.c:2734
agt_conf_create_file
status_t agt_conf_create_file(const xmlChar *confname, const xmlChar *revision, agt_conf_write_fn_t conf_write_fn, void *cookie)
Create a module or bundle config in the confdir.
Definition: agt_conf.c:301
ncx_remove_augment_data_nodes
void ncx_remove_augment_data_nodes(ncx_module_t *mod)
Check if YANG objects related to this augment need to be removed.
Definition: ncx.c:11193
ERR_NCX_WRONG_VERSION
@ ERR_NCX_WRONG_VERSION
314
Definition: status_enum.h:357
agt_not_remove_module_filters
void agt_not_remove_module_filters(const ncx_module_t *mod)
Invoke Module Removed Callback.
Definition: agt_not.c:8432
agt_yp_ha_mod_event
void agt_yp_ha_mod_event(const xmlChar *name, const xmlChar *revision, val_value_t *inputval, boolean is_module, boolean is_load)
Generate a module event.
Definition: agt_yp_ha.c:1254
agt_ncx_cc_active
boolean agt_ncx_cc_active(void)
Check if a confirmed-commit is active, and the timeout may need to be processed.
Definition: agt_ncx.c:5623
ncx_clean_mbackptrQ
void ncx_clean_mbackptrQ(dlq_hdr_t *backptrQ)
Clean an entire Q of ncx_backptr_t structs Use ncx_free_mbackptr to free node pointers.
Definition: ncx.c:11492
ncx_next_backptr
ncx_backptr_t * ncx_next_backptr(ncx_backptr_t *curptr)
Get next back pointer struct.
Definition: ncx.c:11545
NCX_NT_CFG
@ NCX_NT_CFG
cfg_template_t *, error only
Definition: ncxtypes.h:280
agt_rpc_add_return_val
void agt_rpc_add_return_val(val_value_t *return_val, rpc_msg_t *msg)
Add a return value to the msg.
Definition: agt_rpc.c:4350
AGT_SILTYP_BUNDLE
@ AGT_SILTYP_BUNDLE
SIL is a bundle.
Definition: agt_sil_lib.h:109
RPC_DATA_YANG
@ RPC_DATA_YANG
STD is used by YANG rpc or action stmts; no extra <data> container will be added to the <rpc-reply> c...
Definition: rpc.h:167
NCN_MODULE
#define NCN_MODULE
Internal notifications module.
Definition: ncxconst.h:74
op.h
NETCONF protocol operations.
ncxmod.h
NCX Module Load Manager.
agt_not.h
NETCONF Notifications DM module support.
agt_cap_remove_module
status_t agt_cap_remove_module(ncx_module_t *mod)
Remove a module at runtime, after the initial set has been set MUST call after agt_cap_set_caps.
Definition: agt_cap.c:895
ncx_clear_load_callback
void ncx_clear_load_callback(ncx_load_cbfn_t cbfn)
Clear the callback function for a load-module event.
Definition: ncx.c:8510
cfg_get_dirty_flag
boolean cfg_get_dirty_flag(const cfg_template_t *cfg)
Get the config dirty flag value.
Definition: cfg.c:2066
xml_wr_begin_elem
void xml_wr_begin_elem(ses_cb_t *scb, xml_msg_hdr_t *msg, xmlns_id_t parent_nsid, xmlns_id_t nsid, const xmlChar *elname, int32 indent)
Write a start XML tag to the specified session without attributes.
Definition: xml_wr.c:3040
agt_cfg_new_transaction_ex3
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:960
agt_unload_sil_code
status_t agt_unload_sil_code(const xmlChar *modname)
Unload the Server Instrumentation Library for the specified module.
Definition: agt_sil_lib.c:681
agt_ncx_load_for_all_modules
status_t agt_ncx_load_for_all_modules(agt_ncx_load_cbfn_t cbfn, void *cookie)
Invoke a callback for all the modules loaded dynamically.
Definition: agt_ncx_load.c:3139
val_find_next_child
val_value_t * val_find_next_child(const val_value_t *parent, const xmlChar *modname, const xmlChar *childname, const val_value_t *curchild)
Find the next instance of the specified child node.
Definition: val.c:8748
agt_action_unload_module
void agt_action_unload_module(ncx_module_t *mod)
Check all the action objects from this module and clean any callbacks because the module is being unl...
Definition: agt_action.c:766
xmlns_id_t
uint16 xmlns_id_t
integer handle for registered namespaces
Definition: xmlns.h:89
log_info
void void void void void log_info(const char *fstr,...) __attribute__((format(printf
Generate a new LOG_DEBUG_INFO log entry.
agt_record_error
void agt_record_error(ses_cb_t *scb, xml_msg_hdr_t *msghdr, ncx_layer_t layer, status_t res, const xml_node_t *xmlnode, ncx_node_t parmtyp, const void *error_info, ncx_node_t nodetyp, void *error_path)
Generate an rpc_err_rec_t and save it in the msg.
Definition: agt_util.c:1942
SET_MOD_SIL_LOADED
#define SET_MOD_SIL_LOADED(M)
set flag used by agt_sil_lib to make sure modules loaded by import do not get skipped when they are e...
Definition: ncxtypes.h:76
agt_state_remove_module_schema
void agt_state_remove_module_schema(ncx_module_t *mod)
Remove a schema entry from the netconf-state DM.
Definition: agt_state.c:2587
agt_rpc_unregister_method
void agt_rpc_unregister_method(const xmlChar *module, const xmlChar *method_name)
remove the callback functions for all phases of RPC or Action processing for the specified RPC method...
Definition: agt_rpc.c:2759
log_debug2
void void void void void void void void void log_debug2(const char *fstr,...) __attribute__((format(printf
Generate a new LOG_DEBUG_DEBUG2 log entry.
agt_val.h
NETCONF Server database callback handler.
errno_to_status
status_t errno_to_status(void)
Get the errno variable and convert it to a status_t.
Definition: status.c:968
NO_ERR
@ NO_ERR
000
Definition: status_enum.h:188
agt_ncx_load_boot_bundle
status_t agt_ncx_load_boot_bundle(const xmlChar *bundle)
Load a bundle at boot-time.
Definition: agt_ncx_load.c:3058
ERR_NCX_MOD_NOT_FOUND
@ ERR_NCX_MOD_NOT_FOUND
236
Definition: status_enum.h:275
val_get_nsid
xmlns_id_t val_get_nsid(const val_value_t *val)
Get the namespace ID for the specified value node.
Definition: val.c:12277
log_debug4
void void void void void void void void void void void void void log_debug4(const char *fstr,...) __attribute__((format(printf
Generate a new LOG_DEBUG_DEBUG4 log entry.
agt_ncx.h
NETCONF Server standard method routines.
ERR_NCX_OPERATION_FAILED
@ ERR_NCX_OPERATION_FAILED
274
Definition: status_enum.h:315
GET_MOD_SIL_LOADED
#define GET_MOD_SIL_LOADED(M)
check flag used by agt_sil_lib to make sure modules loaded by import
Definition: ncxtypes.h:79
agt_sil.h
SIL Transaction APIs.
LOGDEBUG2
#define LOGDEBUG2
Check if at least log-level=debug2.
Definition: log.h:292
dlq_createSQue
void dlq_createSQue(dlq_hdrT *queAddr)
create a static queue header
Definition: dlq.c:177
log_warn
void void void log_warn(const char *fstr,...) __attribute__((format(printf
Generate a new LOG_DEBUG_WARN log entry.
ncx_mod_has_augment_data_nodes
boolean ncx_mod_has_augment_data_nodes(ncx_module_t *mod, boolean check_config, boolean check_operational)
Check if the module has any augment datastore definitions.
Definition: ncx.c:11082
ERR_NCX_CANDIDATE_DIRTY
@ ERR_NCX_CANDIDATE_DIRTY
367
Definition: status_enum.h:410
dlq_remove
void dlq_remove(void *nodeP)
remove the queue entry from its queue list entry MUST have been enqueued somehow before this function...
Definition: dlq.c:519
agt_ncx_final_process_loaded_modules
status_t agt_ncx_final_process_loaded_modules(ses_cb_t *scb, rpc_msg_t *msg)
post-process all modules just loaded with load or load-bundle
Definition: agt_ncx.c:6248
agt_ncx_load_init
status_t agt_ncx_load_init(void)
Initialize the NCX Load module.
Definition: agt_ncx_load.c:2704
agt_get_savedevQ
dlq_hdr_t * agt_get_savedevQ(void)
Get the agt_savedevQ pointer.
Definition: agt.c:4747
agt_ncx_load_for_modules_in_bundles
status_t agt_ncx_load_for_modules_in_bundles(agt_ncx_load_cbfn_t cbfn, void *cookie)
Invoke a callback for all modules in all the bundles.
Definition: agt_ncx_load.c:3277
ERR_NCX_IN_USE_COMMIT
@ ERR_NCX_IN_USE_COMMIT
373
Definition: status_enum.h:416
ncx_set_load_callback
status_t ncx_set_load_callback(ncx_load_cbfn_t cbfn)
Set the callback function for a load-module event.
Definition: ncx.c:8472
agt_val_unload_mod_nodes
status_t agt_val_unload_mod_nodes(ses_cb_t *scb, rpc_msg_t *msg, xml_node_t *methnode, ncx_module_t *mod)
Unload the module data nodes.
Definition: agt_val_unload.c:644
ERR_NCX_INVALID_VALUE
@ ERR_NCX_INVALID_VALUE
258
Definition: status_enum.h:299
thd_module_db_wrlock
status_t thd_module_db_wrlock(thd_tcb_t *tcb)
Request write access to the module DB ("object tree").
Definition: thd.c:1397
NCX_CFGID_CANDIDATE
@ NCX_CFGID_CANDIDATE
candidate datastore
Definition: ncxtypes.h:385
agt_sil_lib.h
Server Instrumentation Library Support.
NCX_CFGID_STARTUP
@ NCX_CFGID_STARTUP
startup datastore
Definition: ncxtypes.h:386
rpc.h
NETCONF protocol remote procedure call common definitions.
ERR_INTERNAL_MEM
@ ERR_INTERNAL_MEM
003
Definition: status_enum.h:193
agt_rpc_unload_module
void agt_rpc_unload_module(ncx_module_t *mod)
Check all the rpc objects from this module and clean any callbacks because the module is being unload...
Definition: agt_rpc.c:5141
xml_wr_end_elem
void xml_wr_end_elem(ses_cb_t *scb, xml_msg_hdr_t *msg, xmlns_id_t nsid, const xmlChar *elname, int32 indent)
Write an end tag to the specified session.
Definition: xml_wr.c:3114
ERR_INTERNAL_INIT_SEQ
@ ERR_INTERNAL_INIT_SEQ
007
Definition: status_enum.h:197
get_error_string
const char * get_error_string(status_t res)
Get the error message for a specific internal error.
Definition: status.c:239
log_debug
void void void void void void void log_debug(const char *fstr,...) __attribute__((format(printf
Generate a new LOG_DEBUG_DEBUG log entry.
thd_module_db_unlock
status_t thd_module_db_unlock(thd_tcb_t *tcb)
Unlock (release access) to the module DB ("object tree").
Definition: thd.c:1453
NCX_CFGID_RUNNING
@ NCX_CFGID_RUNNING
running datastore (no value for not set!)
Definition: ncxtypes.h:384
yangconst.h
Contains YANG constants separated to prevent H file include loops.
load_SIL
status_t load_SIL(const xmlChar *modname, const xmlChar *revision, agt_siltype_t siltyp, boolean is_sil_sa)
Load the SIL code or load the YANG module.
Definition: agt_sil_lib.c:260
cfg_unlock_ex
status_t cfg_unlock_ex(cfg_template_t *cfg, ses_id_t locked_by, boolean skip_reload)
Unlock the specified config.
Definition: cfg.c:2586
LOGINFO
#define LOGINFO
Check if at least log-level=info.
Definition: log.h:279
dlq_nextEntry
#define dlq_nextEntry(nodeP)
get the next queue entry after the current entry
Definition: dlq.h:265
agt.h
Multi-Protocol Network Management Server.
agt_acm_clean_xpath_cache
void agt_acm_clean_xpath_cache(void)
Clean any cached XPath results because the data rule results may not be valid anymore.
Definition: agt_acm.c:1023
agt_conf_delete_file
status_t agt_conf_delete_file(const xmlChar *confname, const xmlChar *revision)
Delete a module or bundle config in the confdir.
Definition: agt_conf.c:378
ERR_NCX_OPERATION_NOT_SUPPORTED
@ ERR_NCX_OPERATION_NOT_SUPPORTED
273
Definition: status_enum.h:314
xml_msg.h
XML and JSON Message send and receive support.
ncx_first_backptr
ncx_backptr_t * ncx_first_backptr(dlq_hdr_t *que)
Get first back pointer struct.
Definition: ncx.c:11513
xml_wr_string_elem
void xml_wr_string_elem(ses_cb_t *scb, xml_msg_hdr_t *msg, const xmlChar *str, xmlns_id_t parent_nsid, xmlns_id_t nsid, const xmlChar *elname, const dlq_hdr_t *attrQ, boolean isattrq, int32 indent)
Write a start tag, simple string content, and an end tag to the specified session.
Definition: xml_wr.c:3235
ERR_NCX_EXP_MODULE
@ ERR_NCX_EXP_MODULE
329
Definition: status_enum.h:372
EMPTY_STRING
#define EMPTY_STRING
empty string used to get const xmlChar * cast
Definition: ncxconst.h:289
tstamp_datetime
void tstamp_datetime(xmlChar *buff)
Set the current date and time in an XML dateTime string format.
Definition: tstamp.c:160
agt_cfg_free_transaction
void agt_cfg_free_transaction(agt_cfg_transaction_t *txcb)
Clean and free a agt_cfg_transaction_t struct.
Definition: agt_cfg.c:1278
agt_sil_unload_module
void agt_sil_unload_module(const xmlChar *modname)
Unload a module from the subsystem register messages so the cleanup is not attempted again during sys...
Definition: agt_sil.c:9827
xml_strcmp
int xml_strcmp(const xmlChar *s1, const xmlChar *s2)
String compare for xmlChar.
Definition: xml_util.c:1746
VAL_BOOL
#define VAL_BOOL(V)
Access the value as a boolean ONLY IF btyp == NCX_BT_BOOLEAN.
Definition: val.h:405
ncxmod_load_module
status_t ncxmod_load_module(const xmlChar *modname, const xmlChar *revision, dlq_hdr_t *savedevQ, ncx_module_t **retmod)
Determine the location of the specified module and then load it into the system, if not already loade...
Definition: ncxmod.c:4342
LOGDEBUG4
#define LOGDEBUG4
Check if at least log-level=debug4.
Definition: log.h:302
AGT_RPC_PH_INVOKE
@ AGT_RPC_PH_INVOKE
(3) cb to invoke the requested method
Definition: agt_rpc.h:118
agt_ncx_load.h
NETCONF Server load and unload operations.
agt_sys.h
NETCONF system.yang DM module support.
LOGDEBUG
#define LOGDEBUG
Check if at least log-level=debug.
Definition: log.h:287
ERR_NCX_UNLOAD_NOT_ALLOWED
@ ERR_NCX_UNLOAD_NOT_ALLOWED
397
Definition: status_enum.h:440
rpc_err.h
NETCONF protocol standard error definitions.
agt_ncx_load_for_all_bundles
status_t agt_ncx_load_for_all_bundles(agt_ncx_load_cbfn_t cbfn, void *cookie)
Invoke a callback for all the bundles.
Definition: agt_ncx_load.c:3104
NCX_NT_VAL
@ NCX_NT_VAL
val_value_t
Definition: ncxtypes.h:276
agt_cfg.h
Manage Server configuration edit transactions.
dlq_deque
void * dlq_deque(dlq_hdrT *listP)
remove the first queue node from the queue list
Definition: dlq.c:286
NCX_NT_NONE
@ NCX_NT_NONE
not set
Definition: ncxtypes.h:273
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_SYS_MODULE
#define AGT_SYS_MODULE
older yuma-system module
Definition: agt_sys.h:96
cfg_lock
status_t cfg_lock(cfg_template_t *cfg, ses_id_t locked_by, cfg_source_t lock_src)
Lock the specified config.
Definition: cfg.c:2518
agt_ncx_load_dump_bundles
void agt_ncx_load_dump_bundles(ses_cb_t *scb, xml_msg_hdr_t *mhdr, xmlns_id_t parent_nsid, int32 indent, int32 startindent)
Generate XML <bundle> records for the support-save output.
Definition: agt_ncx_load.c:2955
AGT_YWSYS_MODULE
#define AGT_YWSYS_MODULE
newerr yumaworks-system module mostly replaces yuma-system
Definition: agt_sys.h:99
agt_get_profile
agt_profile_t * agt_get_profile(void)
Get the server profile struct.
Definition: agt.c:4118
ncx_get_backptr_node
void * ncx_get_backptr_node(ncx_backptr_t *backptr)
Get the back pointer node pointer.
Definition: ncx.c:11577
agt_val_unload.h
Handle SIL and SIL-SA callbacks for a library unload.
dlq_firstEntry
#define dlq_firstEntry(listP)
get the first entry in the queue list
Definition: dlq.h:337
agt_ncx_load_module_ha
status_t agt_ncx_load_module_ha(ses_cb_t *scb, rpc_msg_t *msg, const xmlChar *name, const xmlChar *revision, boolean is_module, boolean is_load, val_value_t *dev_parent)
Handle a <module-update> event in YP-HA standby mode.
Definition: agt_ncx_load.c:2767
NCN2_MODULE
#define NCN2_MODULE
Internal notifications 2nd module.
Definition: ncxconst.h:77
ncx_find_first_importer
ncx_module_t * ncx_find_first_importer(const xmlChar *module)
Search all modules importQs for a specified module name.
Definition: ncx.c:11883
agt_rpcerr.h
NETCONF protocol <rpc-error> server-side handler.
ncxmod_load_deviation
status_t ncxmod_load_deviation(const xmlChar *deviname, dlq_hdr_t *deviationQ)
Load a deviation module (special handling by compiler)
Definition: ncxmod.c:4744
agt_yp_ha.h
YumaPro High Availability module (YP-HA)
obj.h
Data Object Support.
cfg_get_config_id
cfg_template_t * cfg_get_config_id(ncx_cfg_t cfgid)
Get the config struct from its ID.
Definition: cfg.c:1530
TSTAMP_MIN_SIZE
#define TSTAMP_MIN_SIZE
normal minimum buffer size for a tstamp buffer
Definition: tstamp.h:67
ncx_unload_and_free_module
void ncx_unload_and_free_module(ncx_module_t *mod)
Clear out the xmlns, def_ref, and modQ entries for a module and then delete the module.
Definition: ncx.c:12011
SES_MY_SID
#define SES_MY_SID(S)
get session-id
Definition: ses.h:105
agt_conf_test_write_file
status_t agt_conf_test_write_file(const xmlChar *confname, const xmlChar *revision)
Test Append a conf dir.
Definition: agt_conf.c:431
ncx_clear_mod_xpath_backptrs
void ncx_clear_mod_xpath_backptrs(ncx_module_t *mod)
Clear Xpath back pointers for the data-db objects in the database for 1 module.
Definition: ncx.c:11944
dlq_enque
void dlq_enque(REG void *newP, REG dlq_hdrT *listP)
add a queue node to the end of a queue list Add newP to listP
Definition: dlq.c:246
ncx_mod_unloadable
boolean ncx_mod_unloadable(ncx_module_t *mod)
Check if this module can be unloaded.
Definition: ncx.c:12082
agt_ncx_process_one_loaded_module
status_t agt_ncx_process_one_loaded_module(ses_cb_t *scb, ncx_module_t *mod)
process 1 modules just loaded with load or load-bundle
Definition: agt_ncx.c:6160
agt_acm_clean_obj_datarule_cache
void agt_acm_clean_obj_datarule_cache(ncx_module_t *mod)
Check all the rule list entry and its OBJ datarule cache and clean if the modules is getting unloaded...
Definition: agt_acm.c:1095
VAL_STR
#define VAL_STR(V)
Access the value as a string ONLY if typ_is_string() is true.
Definition: val.h:464
agt_cfg_remove_module_commit_tests
void agt_cfg_remove_module_commit_tests(ncx_module_t *mod)
Remove module commit tests for specified module.
Definition: agt_cfg.c:1789
agt_ncx_do_lock_validate
status_t agt_ncx_do_lock_validate(cfg_template_t *cfg)
lock : validate params common callback
Definition: agt_ncx.c:6698
ncx_find_module
ncx_module_t * ncx_find_module(const xmlChar *modname, const xmlChar *revision)
Find a ncx_module_t in the ncx_sesmodQ.
Definition: ncx.c:3227
ncx_set_all_obj_xpath_backptrs
status_t ncx_set_all_obj_xpath_backptrs(void)
Add Xpath back pointers to the data-db objects in the database.
Definition: ncx.c:11351
agt_sil_send_load_event
status_t agt_sil_send_load_event(const xmlChar *name, boolean is_bundle, boolean is_load)
Send a <load-event> to all subsystems.
Definition: agt_sil.c:8429
agt_ncx_load_stop_waiting
void agt_ncx_load_stop_waiting(const xmlChar *bundle_name)
Signal that a SIL-SA loaded a bundle and that bundle is no longer waiting and blocking load_running_c...
Definition: agt_ncx_load.c:3199
cap_make_moduri
xmlChar * cap_make_moduri(ncx_module_t *mod)
Malloc and construct a module URI for the specified module make the module URI string (for sysCapabil...
Definition: cap.c:2779
ncx_free_backptr
void ncx_free_backptr(ncx_backptr_t *ptr)
Free an ncx_backptr_t struct.
Definition: ncx.c:11433
ERR_NCX_IMPORT_DEPENDENCY
@ ERR_NCX_IMPORT_DEPENDENCY
396
Definition: status_enum.h:439
agt_load_sil_code
status_t agt_load_sil_code(const xmlChar *modname, const xmlChar *revision, boolean cfgloaded, agt_siltype_t siltyp, boolean is_sil_sa)
Load the Server Instrumentation Library for the specified module.
Definition: agt_sil_lib.c:435
xmlns.h
XML namespace support.
val_free_value
void val_free_value(val_value_t *val)
Scrub the memory in a val_value_t by freeing all the sub-fields and then freeing the entire struct it...
Definition: val.c:2842
status.h
Global error messages for status code enumerations.
ncx_find_next_importer
ncx_module_t * ncx_find_next_importer(const xmlChar *module, ncx_module_t *curmod)
Search all modules importQs for a specified module name.
Definition: ncx.c:11911
agt_cap_update_module_setid
status_t agt_cap_update_module_setid(void)
Update YANG-LIBRARY capability module setID.
Definition: agt_cap.c:1175
ncx_set_mod_unloadable
void ncx_set_mod_unloadable(ncx_module_t *mod)
Set this module so it can be unloaded.
Definition: ncx.c:12100
agt_not_unload_module
void agt_not_unload_module(const xmlChar *modname)
Unload any remote stream callbacks when a module is unloaded.
Definition: agt_not.c:9342
ncx_new_backptr
ncx_backptr_t * ncx_new_backptr(void *node)
Malloc and initialize a new ncx_backptr_t struct.
Definition: ncx.c:11412
LOGDEBUG3
#define LOGDEBUG3
Check if at least log-level=debug3.
Definition: log.h:297
agt_ncx_load_cbfn_t
status_t(* agt_ncx_load_cbfn_t)(const xmlChar *name, void *cookie)
callback function used by agt_ncx_load_for_all_bundles
Definition: agt_ncx_load.h:89