93typedef struct agt_sil_added_edit_t_ {
128 const xmlChar *subsys_id,
169 const xmlChar *subsys_id,
171 dlq_hdr_t *edded_editQ);
223 const xmlChar *user_id,
224 const xmlChar *client_addr,
225 const xmlChar *target,
228 boolean is_reverse_edit,
229 boolean is_load_config,
230 boolean is_hook_load,
231 boolean is_hook_validate,
251 const xmlChar *user_id,
252 const xmlChar *client_addr,
253 const xmlChar *target,
318 const xmlChar *modname,
319 const xmlChar *stream_name,
357 const xmlChar **txid_str);
420 const xmlChar *txid_str,
458 const xmlChar **txid_str);
494 const xmlChar *client_txid,
538 xmlChar **error_path,
540 boolean *need_reverse_edit);
634 const xmlChar *client_txid,
Multi-Protocol Network Management Server.
Manage Server configuration edit transactions.
dlq provides general double-linked list and queue support:
GET1 and GET2 Callback Support.
status_t agt_sil_continue_transaction(const xmlChar *txid_str, agt_cbtyp_t cur_phase)
Continue a transaction to apply or commit phase.
Definition: agt_sil.c:9712
boolean agt_sil_has_subsys_glob_edit3(void)
Check if there is Global EDIT3 callback in subsystem
Definition: agt_sil.c:11803
void agt_sil_end_transaction(const xmlChar *txid_str)
End a transaction.
Definition: agt_sil.c:9842
boolean agt_sil_has_subsys_glob_edit(void)
Check if there any EDIT2/3 Global callbacks in subsystem.
Definition: agt_sil.c:11915
status_t agt_sil_start_transaction(agt_cfg_transaction_t *txcb, const xmlChar *user_id, const xmlChar *client_addr, const xmlChar *target, boolean is_validate, boolean is_replay, boolean is_reverse_edit, boolean is_load_config, boolean is_hook_load, boolean is_hook_validate, dlq_hdr_t *editQ)
Start Transaction Handler.
Definition: agt_sil.c:9178
status_t agt_sil_walk_shook_results(ses_cb_t *scb, rpc_msg_t *msg, agt_cfg_transaction_t *txcb, const xmlChar *txid_str, agt_sil_shook_walker_fn_t shook_walker_fn)
Walk the Set Hook results.
Definition: agt_sil.c:10698
boolean agt_sil_has_subsys_glob_action(void)
Check if there is Global Action callback in subsystem
Definition: agt_sil.c:11751
status_t(* agt_sil_shook_walker_fn_t)(ses_cb_t *scb, rpc_msg_t *msg, agt_cfg_transaction_t *txcb, const xmlChar *subsys_id, status_t tx_status, dlq_hdr_t *edded_editQ)
Set Hook walker function.
Definition: agt_sil.h:166
status_t agt_sil_walk_rpc_results(const xmlChar *txid_str, agt_sil_rpc_walker_fn_t rpc_walker_fn, dlq_hdr_t *saveQ)
Walk the RPC transaction results.
Definition: agt_sil.c:10638
boolean agt_sil_edit_transaction_in_progress(void)
Check if a SIL-SA transaction is in progress.
Definition: agt_sil.c:10201
status_t agt_sil_transaction_complete_cb(const xmlChar *txid_str)
SIL transaction complete callback.
Definition: agt_sil.c:11145
status_t agt_sil_send_stream_callback_event(const xmlChar *subsys_id, const xmlChar *modname, const xmlChar *stream_name, boolean all_streams, agt_not_subevent_t subevent)
Send a "<stream-callback-event>" message to one subsystem.
Definition: agt_sil.c:10045
void(* agt_sil_get_walker_fn_t)(getcb_get2_t *get2cb, const xmlChar *subsys_id, status_t get_status, val_value_t *return_val)
get walker function for processing results from remote GET transaction from 1 or more subsystems
Definition: agt_sil.h:127
boolean agt_sil_has_subsys_glob_edit2(void)
Check if there is Global EDIT2 callback in subsystem
Definition: agt_sil.c:11777
status_t agt_sil_handle_remote_commit_completeness(ses_cb_t *client_scb, const xmlChar *client_txid, agt_cbtyp_t cbtyp, agt_commit_type_t commit_type)
Handle remote SIL-SA subsytem Commit Completeness callbacks.
Definition: agt_sil.c:11651
status_t agt_sil_init(void)
Initialize the SIL features module (phase 2)
Definition: agt_sil.c:9051
status_t agt_sil_handle_remote_trans_start(ses_cb_t *client_scb, const xmlChar *client_txid, boolean isvalidate, boolean isrollback, boolean isrunning)
Handle a remote transaction.
Definition: agt_sil.c:11362
boolean agt_sil_has_subsys_glob_rpc(void)
Check if there is Global RPC callback in subsystem
Definition: agt_sil.c:11855
boolean agt_sil_has_subsys_glob_get(void)
Check if there is Global GET2 callback in subsystem
Definition: agt_sil.c:11829
status_t agt_sil_rpc_transaction_status(const xmlChar *txid_str)
Get RPC transaction status.
Definition: agt_sil.c:11094
status_t agt_sil_get_exit_mode_edit(const xmlChar *txid_str, agt_tx_type_t tx_type, val_value_t **error_val, xmlChar **error_path, xmlChar **error_msg, boolean *need_reverse_edit)
Get the transaction exit code.
Definition: agt_sil.c:11215
boolean agt_sil_has_subsys_glob_any(void)
Check if there any any Global callbacks in subsystem.
Definition: agt_sil.c:11881
status_t agt_sil_continue_start_transaction(agt_cfg_transaction_t *txcb, const xmlChar *user_id, const xmlChar *client_addr, const xmlChar *target, boolean is_replay, dlq_hdr_t *editQ)
Continue already existed Start Transaction.
Definition: agt_sil.c:9450
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:11538
void agt_sil_end_rpc_transaction(const xmlChar *txid_str)
End an RPC transaction.
Definition: agt_sil.c:11125
status_t(* agt_sil_rpc_walker_fn_t)(const xmlChar *subsys_id, status_t rpc_status, val_value_t *return_val, dlq_hdr_t *saveQ)
RPC walker function for processing results from remote GET transaction from 1 or more subsystems.
Definition: agt_sil.h:144
status_t agt_sil_start_rpc_transaction(ses_cb_t *client_scb, rpc_msg_t *msg, obj_template_t *obj, val_value_t *actionval, const xmlChar **txid_str)
Start an RPC transaction.
Definition: agt_sil.c:10810
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:9964
boolean agt_sil_subsys_registered(const xmlChar *subsys_id)
Check if the subsystem has a SIL-SA service registered.
Definition: agt_sil.c:11726
void agt_sil_cancel_transaction(const xmlChar *txid_str)
Cancel and delete the transaction.
Definition: agt_sil.c:9864
void agt_sil_check_deleted_edits(agt_cfg_transaction_t *txcb)
Check for deleted edits.
Definition: agt_sil.c:10217
status_t agt_sil_module_walker(const xmlChar *name, void *cookie)
Callback for dynamically loaded modules.
Definition: agt_sil.c:11603
status_t agt_sil_start_get_transaction(ses_cb_t *client_scb, getcb_get2_t *get2cb, xml_msg_hdr_t *msg, const xmlChar **txid_str)
Start a GET2 transaction.
Definition: agt_sil.c:10268
boolean agt_sil_last_in_transaction(const xmlChar *txid_str, ses_id_t sid)
Check if the session is the last in the current transaction.
Definition: agt_sil.c:11442
void agt_sil_cleanup(void)
Cleanup the SIL Features Module.
Definition: agt_sil.c:9105
status_t agt_sil_get_transaction_status(const xmlChar *txid_str)
Get the GET2 transaction status.
Definition: agt_sil.c:10556
void agt_sil_walk_get_results(const xmlChar *txid_str, agt_sil_get_walker_fn_t get_walker_fn)
Walk the GET2 results.
Definition: agt_sil.c:10589
void agt_sil_set_subsys_timeout(uint32 val)
Set the subsys-timeout parameter.
Definition: agt_sil.c:10783
status_t agt_sil_get_exit_mode(const xmlChar *txid_str, agt_tx_type_t tx_type)
Get the transaction exit code.
Definition: agt_sil.c:11295
void agt_sil_end_get_transaction(const xmlChar *txid_str)
End a GET2 transaction.
Definition: agt_sil.c:10762
xmlChar * agt_sil_get_edit_subsys_id(void)
Get the subsystem ID that holds Global EDIT callback.
Definition: agt_sil.c:11941
status_t agt_sil_bundle_walker(const xmlChar *name, void *cookie)
Callback for bundles.
Definition: agt_sil.c:11563
agt_commit_type_t
NETCONF commit types.
Definition: agt.h:752
agt_tx_type_t
YControl transaction type.
Definition: agt.h:770
agt_cbtyp_t
enumeration of the different server EDIT callback types These are used as array indices so there is n...
Definition: agt.h:726
agt_not_subevent_t
event-stream sub-event types
Definition: agt_not.h:127
status_t
global error return code
Definition: status_enum.h:210
uint32 ses_id_t
Session ID.
Definition: ses.h:335
YANG module data structures Many internal representations of YANG module constructs.
Global error messages for status code enumerations.
Transaction Control Block.
Definition: agt_cfg.h:235
Set Hook added edits from subsystem(s)
Definition: agt_sil.h:93
xmlChar * point
point parameter string
Definition: agt_sil.h:110
val_value_t * editval
edit value being added
Definition: agt_sil.h:101
xmlChar * editop
edit operation string
Definition: agt_sil.h:104
dlq_hdr_t qhdr
queue header
Definition: agt_sil.h:95
boolean skipcb
skip callback flag
Definition: agt_sil.h:113
xmlChar * path
absolute path for the editval
Definition: agt_sil.h:98
xmlChar * where
where parameter string
Definition: agt_sil.h:107
GET2 control block.
Definition: getcb.h:357
One YANG data-def-stmt.
Definition: obj.h:1229
NETCONF Server and Client RPC Request/Reply Message Header.
Definition: rpc.h:185
Session Control Block.
Definition: ses.h:573
one value to match one type
Definition: val.h:912
Common Encoding Message Header No longer XML specific!! Used by JSON and CBOR parsing as well!...
Definition: xml_msg.h:404