yumapro  23.10T-7
YumaPro SDK
Loading...
Searching...
No Matches
def_reg.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_def_reg
13#define _H_def_reg
14
15/* FILE: def_reg.h
16*********************************************************************
17* *
18* P U R P O S E *
19* *
20*********************************************************************/
21
27/*********************************************************************
28* *
29* C H A N G E H I S T O R Y *
30* *
31*********************************************************************
32
33date init comment
34----------------------------------------------------------------------
3514-oct-05 abb Begun
3611-nov-05 abb re-design to add OWNER as top-level instead of APP
3711-feb-06 abb remove application layer; too complicated
3812-jul-07 abb changed owner-based definitions to
39 module-based definitions throughout all code
40 Change OWNER to MODULE
4119-feb-09 abb Give up on module/mod_def/cfg_def because
42 too complicated once import-by-revision added
43 Too much memory usage as well.
44*/
45
46#include <xmlstring.h>
47
48#ifndef _H_ncxtypes
49#include "ncxtypes.h"
50#endif
51
52#ifndef _H_ses
53#include "ses.h"
54#endif
55
56#ifndef _H_status_enum
57#include "status_enum.h"
58#endif
59
60#ifndef _H_xmlns
61#include "xmlns.h"
62#endif
63
64#ifndef _H_xpath
65#include "xpath.h"
66#endif
67
68#ifdef __cplusplus
69extern "C" {
70#endif
71
72/********************************************************************
73* *
74* F U N C T I O N S *
75* *
76*********************************************************************/
77
78
112extern void
113 def_reg_init (void);
114
115
123extern void
124 def_reg_cleanup (void);
125
126
127/*********************** NS ***************************/
128
129
136extern status_t
138
139
147extern xmlns_t *
148 def_reg_find_ns (const xmlChar *nsname);
149
150
158extern void
159 def_reg_del_ns (const xmlChar *nsname);
160
161
162/*********************** SCB ***************************/
163
164
172extern status_t
173 def_reg_add_scb (int fd,
174 ses_cb_t *scb);
175
176
183extern ses_cb_t *
184 def_reg_find_scb (int fd);
185
186
193extern void
194 def_reg_del_scb (int fd);
195
196
197/*********************** MOD CACHE ***************************/
198
199
206extern status_t
208
209
216extern ncx_modcache_t *
217 def_reg_find_modcache (const xmlChar *modname);
218
219
227extern void
228 def_reg_del_modcache (const xmlChar *modname);
229
230
231/*********************** MUST VISIT ***************************/
232
233
242extern status_t
244 val_value_t *curval);
245
246
255extern boolean
257 val_value_t *curval);
258
259
265extern void
267
268
271#ifdef __cplusplus
272} /* end extern 'C' */
273#endif
274
275#endif /* _H_def_reg */
void def_reg_clean_must_visit(void)
unregister all must visits entries delete all from the registry
Definition: def_reg.c:720
void def_reg_init(void)
Initialize the def_reg module.
Definition: def_reg.c:288
xmlns_t * def_reg_find_ns(const xmlChar *nsname)
find one xmlns_t in the registry find a xmlns_t by its value (name)
Definition: def_reg.c:395
ncx_modcache_t * def_reg_find_modcache(const xmlChar *modname)
find one modcache_t in the registry
Definition: def_reg.c:584
status_t def_reg_add_scb(int fd, ses_cb_t *scb)
add one FD to SCB mapping to the registry
Definition: def_reg.c:450
boolean def_reg_find_must_visit(xpath_pcb_t *must, val_value_t *curval)
find one must visit find a vist by curval value and must PCB expression value
Definition: def_reg.c:682
status_t def_reg_add_modcache(ncx_modcache_t *mc)
add one module info cache to the registry
Definition: def_reg.c:563
void def_reg_del_ns(const xmlChar *nsname)
unregister a xmlns_t delete one ncx_module from the registry
Definition: def_reg.c:422
status_t def_reg_add_ns(xmlns_t *ns)
add one xmlns_t to the registry
Definition: def_reg.c:372
void def_reg_del_scb(int fd)
delete one FD to SCB mapping from the registry
Definition: def_reg.c:533
void def_reg_del_modcache(const xmlChar *modname)
unregister a modcache_t delete one module cache record from the registry
Definition: def_reg.c:608
status_t def_reg_add_must_visit(xpath_pcb_t *must, val_value_t *curval)
add one MUST visit to the registry.
Definition: def_reg.c:641
ses_cb_t * def_reg_find_scb(int fd)
find one FD-to-SCB mapping in the registry
Definition: def_reg.c:497
void def_reg_cleanup(void)
Cleanup all the malloced memory in this module and return the module to an uninitialized state.
Definition: def_reg.c:316
status_t
global error return code
Definition: status_enum.h:210
YANG module data structures Many internal representations of YANG module constructs.
NETCONF Session Common definitions module.
global error status code enumerations
server module info cache record for def_reg_add_mod
Definition: ncxtypes.h:1610
Session Control Block.
Definition: ses.h:573
one value to match one type
Definition: val.h:911
represents one registered namespace
Definition: xmlns.h:99
XPath parser control block.
Definition: xpath.h:752
XML namespace support.
Schema and data model Xpath search support.