yumapro  24.10-1
YumaPro SDK
Loading...
Searching...
No Matches
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 - 2022, 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
34date init comment
35----------------------------------------------------------------------
3625-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
61extern "C" {
62#endif
63
64
89 (const xmlChar *name, void *cookie);
90
91
92/********************************************************************
93* *
94* F U N C T I O N S *
95* *
96*********************************************************************/
97
98
104extern status_t
105 agt_ncx_load_init (void);
106
107
113extern void
115
116#ifdef WITH_YP_HA
129extern status_t
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
149extern void
151 xml_msg_hdr_t *mhdr,
152 xmlns_id_t parent_nsid,
153 int32 indent,
154 int32 startindent);
155
156
169extern status_t
170 agt_ncx_load_boot_bundle (const xmlChar *bundle);
171
172
190extern status_t
191 agt_ncx_load_boot_bundle_savedevQ (const xmlChar *bundle,
192 dlq_hdr_t *savedevQ);
193
194
202extern status_t
204 void *cookie);
205
206
214extern status_t
216 void *cookie);
217
218
225extern boolean
227
228
235extern void
236 agt_ncx_load_stop_waiting (const xmlChar *bundle_name);
237
238
251extern status_t
252 agt_ncx_load_add_to_bundle (const xmlChar *bundle_name,
253 const xmlChar *module_name,
254 const xmlChar *revision);
255
256
264extern status_t
266 void *cookie);
267
268
277extern boolean
278 agt_ncx_load_bundle_loaded (const xmlChar *bundle);
279
280
297extern status_t
299 const xmlChar *module,
300 const xmlChar *revision,
301 boolean *loaded);
302
303
304
305
306#if 0 // NOT USED
317extern status_t
318 agt_ncx_load_bundle_save_into_rootcb (const xmlChar *bundle,
319 dlq_hdr_t *que);
320
321#endif // 0 NOT USED
322
323
326#ifdef __cplusplus
327} /* end extern 'C' */
328#endif
329
330#endif /* _H_agt_ncx_load */
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:3568
void agt_ncx_load_cleanup(void)
Cleanup the NCX Load module.
Definition: agt_ncx_load.c:2913
status_t agt_ncx_load_init(void)
Initialize the NCX Load module.
Definition: agt_ncx_load.c:2883
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:3142
status_t agt_ncx_load_add_to_bundle(const xmlChar *bundle_name, const xmlChar *module_name, const xmlChar *revision)
Add the specified module name to the bundle.
Definition: agt_ncx_load.c:3505
status_t agt_ncx_load_boot_bundle(const xmlChar *bundle)
Load a bundle at boot-time.
Definition: agt_ncx_load.c:3253
status_t agt_ncx_load_boot_bundle_savedevQ(const xmlChar *bundle, dlq_hdr_t *savedevQ)
Load a bundle at boot-time.
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:3334
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:2946
boolean agt_ncx_load_bundle_loaded(const xmlChar *bundle)
Verify is the bundle was already loaded.
Definition: agt_ncx_load.c:3629
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:3375
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:3410
status_t agt_ncx_load_bundle_module(ses_cb_t *scb, const xmlChar *module, const xmlChar *revision, boolean *loaded)
Load the bundle module in all required locations.
Definition: agt_ncx_load.c:3733
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:3437
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
status_t
global error return code
Definition: status_enum.h:210
uint16 xmlns_id_t
integer handle for registered namespaces
Definition: xmlns.h:89
NETCONF protocol remote procedure call common definitions.
NETCONF Session Common definitions module.
global error status code enumerations
NETCONF Server and Client RPC Request/Reply Message Header.
Definition: rpc.h:181
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
XML and JSON Message send and receive support.
XML namespace support.