yumapro  25.10-4
YumaPro SDK
Loading...
Searching...
No Matches
ncxmod.h
Go to the documentation of this file.
1/*
2 * Copyright (c) 2008 - 2012, Andy Bierman, All Rights Reserved.
3 * Copyright (c) 2012 - 2025, 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_ncxmod
13#define _H_ncxmod
14
15/* FILE: ncxmod.h
16*********************************************************************
17* *
18* P U R P O S E *
19* *
20*********************************************************************/
21
30/*********************************************************************
31* *
32* C H A N G E H I S T O R Y *
33* *
34*********************************************************************
35
36date init comment
37----------------------------------------------------------------------
3810-nov-05 abb Begun
3922-jan-08 abb Add support for YANG import and include
40 Unlike NCX, forward references are allowed
41 so import/include loops have to be tracked
42 and prevented
4316-feb-08 abb Changed environment variables from NCX to YANG
44 Added YANG_INSTALL envvar as well.
4522-jul-08 abb Remove NCX support -- YANG only from now on
4606-oct-09 abb Change YANG_ env vars to YUMA_
47*/
48
49#include <xmlstring.h>
50
51/* used for timestamps and time deltas */
52#include <time.h>
53
54#ifndef _H_cap
55#include "cap.h"
56#endif
57
58#ifndef _H_help
59#include "help.h"
60#endif
61
62#ifndef _H_ncxtypes
63#include "ncxtypes.h"
64#endif
65
66#ifndef _H_status
67#include "status.h"
68#endif
69
70#ifndef _H_yang
71#include "yang.h"
72#endif
73
74#ifdef __cplusplus
75extern "C" {
76#endif
77
78/********************************************************************
79* *
80* C O N S T A N T S *
81* *
82*********************************************************************/
83
84/* max user-configurable directories for NCX and YANG modules */
85#define NCXMOD_MAX_SEARCHPATH 64
86
87/* maximum abolute filespec */
88#define NCXMOD_MAX_FSPEC_LEN 2047
89
90/* path, file separator char
91 * this is used to check file paths not XPath
92 * Windows allows foward and backslash so pick forward
93 * since that is all Linux and Mac support
94 */
95#define NCXMOD_PSCHAR '/'
96
97#define NCXMOD_WIN_PSCHAR '\\'
98
99#define NCXMOD_HMCHAR '~'
100
101#define NCXMOD_ENVCHAR '$'
102
103#define NCXMOD_DOTCHAR '.'
104
105/* name of the NCX module containing agent boot parameters
106 * loaded during startup
107 */
108#define NCXMOD_NETCONFD (const xmlChar *)"netconfd-pro"
109
110#define NCXMOD_NCX (const xmlChar *)"yuma-ncx"
111
112#define NCXMOD_FACTORY_DEFAULT (const xmlChar *)"ietf-factory-default"
113
114#define NCXMOD_RESTCONF (const xmlChar *)"ietf-restconf"
115
116#define NCXMOD_YANG_DATA_EXT (const xmlChar *)"yang-data-ext"
117
118#define NCXMOD_YANG_METADATA (const xmlChar *)"ietf-yang-metadata"
119
120#define NCXMOD_YANG_STRUCTURE (const xmlChar *)"ietf-yang-structure-ext"
121
122#define NCXMOD_YUMA_NACM (const xmlChar *)"yuma-nacm"
123
124#define NCXMOD_YUMA_TIME_FILTER (const xmlChar *)"yuma-time-filter"
125
126#define NCXMOD_YUMAWORKS_ATTRS (const xmlChar *)"yumaworks-attrs"
127
128#define NCXMOD_YUMAWORKS_CERT_USERMAP \
129 (const xmlChar *)"yumaworks-cert-usermap"
130
131#define NCXMOD_YUMAWORKS_COMPARE (const xmlChar *)"yumaworks-compare"
132
133#define NCXMOD_YUMAWORKS_CONFIG_CHANGE \
134 (const xmlChar *)"yumaworks-config-change"
135
136#define NCXMOD_YUMAWORKS_EVENT_FILTER \
137 (const xmlChar *)"yumaworks-event-filter"
138
139#define NCXMOD_YUMAWORKS_EVENT_STREAM \
140 (const xmlChar *)"yumaworks-event-stream"
141
142#define NCXMOD_YUMAWORKS_GETBULK (const xmlChar *)"yumaworks-getbulk"
143
144#define NCXMOD_YUMAWORKS_IDS (const xmlChar *)"yumaworks-ids"
145
146#define NCXMOD_YUMAWORKS_INTERNAL (const xmlChar *)"yumaworks-internal"
147
148#define NCXMOD_YUMAWORKS_SERVER (const xmlChar *)"yumaworks-server"
149
150#define NCXMOD_YUMAWORKS_SYSTEM (const xmlChar *)"yumaworks-system"
151
152#define NCXMOD_YUMAWORKS_TYPES (const xmlChar *)"yumaworks-types"
153
154#define NCXMOD_YUMAWORKS_APP_COMMON (const xmlChar *)"yumaworks-app-common"
155
156#define NCXMOD_YUMA_APP_COMMON (const xmlChar *)"yuma-app-common"
157
158#define NCXMOD_YUMA_TYPES (const xmlChar *)"yuma-types"
159
160#define NCXMOD_YANGCLI (const xmlChar *)"yangcli-pro"
161
162#define NCXMOD_YANG_API (const xmlChar *)"yumaworks-yang-api"
163
164#define NCXMOD_YUMAWORKS_GRPC_STATE \
165 (const xmlChar *)"yumaworks-grpc-mon"
166
167#define NCXMOD_YUMA_RESTCONF (const xmlChar *)"yumaworks-restconf"
168
169#define NCXMOD_YUMA_IDS (const xmlChar *)"yumaworks-ids"
170
171#define NCXMOD_YUMA_SUPPORT_SAVE (const xmlChar *)"yumaworks-support-save"
172
173#define NCXMOD_YUMA_TERM_MSG (const xmlChar *)"yumaworks-term-msg"
174
175/* name of the NETCONF module containing NETCONF protocol definitions,
176 * that is loaded by default during startup
177 */
178#define NCXMOD_NETCONF (const xmlChar *)"yuma-netconf"
179
180#define NCXMOD_YUMA_NETCONF (const xmlChar *)"yuma-netconf"
181
182#define NCXMOD_IETF_INTERFACES (const xmlChar *)"ietf-interfaces"
183
184#define NCXMOD_IETF_NETCONF (const xmlChar *)"ietf-netconf"
185
186#define NCXMOD_IETF_NETCONF_REV (const xmlChar *)"2011-06-01"
187
188#define NCXMOD_IETF_YANG_PATCH (const xmlChar *)"ietf-yang-patch"
189
190#define NCXMOD_IETF_YANG_TYPES (const xmlChar *)"ietf-yang-types"
191
192#define NCXMOD_IETF_INET_TYPES (const xmlChar *)"ietf-inet-types"
193
194#define NCXMOD_IETF_NETCONF_STATE (const xmlChar *)"ietf-netconf-monitoring"
195
196#define NCXMOD_IETF_NACM (const xmlChar *)"ietf-netconf-acm"
197
198#define NCXMOD_IETF_SID_FILE (const xmlChar *)"ietf-sid-file"
199
200#define NCXMOD_IETF_DISTRIBUTED_NOTIF \
201 (const xmlChar *)"ietf-distributed-notif"
202
203#define NCXMOD_IETF_YANG_PUSH_REVISION \
204 (const xmlChar *)"ietf-yang-push-revision"
205
206#define NCXMOD_WITH_DEFAULTS (const xmlChar *)"ietf-netconf-with-defaults"
207
208#define NCXMOD_YUMAWORKS_EXTENSIONS (const xmlChar *)"yumaworks-extensions"
209
210#define NCXMOD_YUMAWORKS_YANG_CBOR (const xmlChar *)"yumaworks-yang-cbor"
211
212#define NCXMOD_FHS_RUNDIR (const xmlChar *)"/var/run/netconfd-pro"
213
214#define NCXMOD_FHS_LIBDIR (const xmlChar *)"/var/lib/netconfd-pro"
215
216#define NCXMOD_FHS_LOGDIR (const xmlChar *)"/var/log/netconfd-pro"
217
218#define NCXMOD_FHS_LOGSPEC \
219 (const xmlChar *)"/var/log/netconfd-pro/server.log"
220
221#define NCXMOD_FHS_AUDIT_LOGSPEC \
222 (const xmlChar *)"/var/log/netconfd-pro/audit.log"
223
224#define NCXMOD_SRID_FHS_LOGSPEC \
225 (const xmlChar *)"/var/log/netconfd-pro/server.%s.log"
226
227#define NCXMOD_SRID_FHS_AUDIT_LOGSPEC \
228 (const xmlChar *)"/var/log/netconfd-pro/audit.%s.log"
229
230
231#define NCXMOD_NETCONF_NOTIFICATIONS \
232 (const xmlChar *)"ietf-netconf-notifications"
233
234#define NCXMOD_PARTIAL_LOCK (const xmlChar *)"ietf-netconf-partial-lock"
235
236#define NCXMOD_CRYPT_HASH (const xmlChar *)"iana-crypt-hash"
237
238/* name of the RESTCONF modules, that is loaded during startup
239 * if WITH_RESTCONF flag is present
240 */
241#define NCXMOD_YANG_LIBRARY (const xmlChar *)"ietf-yang-library"
242#define NCXMOD_RESTMON (const xmlChar *)"ietf-restconf-monitoring"
243
244/* IETF NMDA modules */
245#define NCXMOD_IETF_DATASTORES (const xmlChar *)"ietf-datastores"
246#define NCXMOD_IETF_ORIGIN (const xmlChar *)"ietf-origin"
247#define NCXMOD_IETF_NETCONF_NMDA (const xmlChar *)"ietf-netconf-nmda"
248
249/* IETF Schema Mount modules */
250#define NCXMOD_IETF_SM_MODULE (const xmlChar *)"ietf-yang-schema-mount"
251
252/* YumaWorks annotation to ietf-yang-schema-mount */
253#define NCXMOD_IETF_SM_MODULE_ANNOT \
254 (const xmlChar *)"yumaworks-schema-mount-annot"
255
256/* hooks-test modules is loaded during startup
257 * if WITH_HOKS_TEST flag is present
258 */
259#define NCXMOD_HOOKS_TEST (const xmlChar *)"hooks-test"
260
261#define NCXMOD_YUMA_SYSTEM (const xmlChar *)"yuma-system"
262
263/* Openconfig extensions module containing OpenConfig extension definitions
264 * "oc-ext:openconfig-version" that is mandadory filed in gNMI
265 * capability-request
266 */
267#define NCXMOD_OC_EXT (const xmlChar *)"openconfig-extensions"
268
269/* name of the NCX modules directory appended when YUMAPRO_HOME or HOME
270 * ENV vars used to construct NCX module filespec
271 */
272#define NCXMOD_DIR (const xmlChar *)"modules"
273
274/* name of the data direectory when YUMAPRO_HOME or HOME
275 * ENV vars used to construct an NCX filespec
276 */
277#define NCXMOD_DATA_DIR (const xmlChar *)"data"
278
279/* name of the scripts directory when YUMAPRO_HOME or HOME
280 * ENV vars used to construct a NCX filespec
281 */
282#define NCXMOD_SCRIPT_DIR (const xmlChar *)"scripts"
283
284/* name of the test-suites directory */
285#define NCXMOD_TEST_SUITE_DIR (const xmlChar *)"test-suites"
286
287/* STD Environment Variable for user home directory */
288#define NCXMOD_PWD "PWD"
289
290/* STD Environment Variable for user home directory */
291#define USER_HOME "HOME"
292
293/* NCX Environment Variable for YANG/NCX user work home directory */
294#define NCXMOD_HOME "YUMAPRO_HOME"
295
296/* NCX Environment Variable for tools install directory
297 * The default is /usr/share/yuma
298 */
299#define NCXMOD_INSTALL "YUMAPRO_INSTALL"
300
301/* !! should import this from make !! */
302#if defined(FREEBSD) || defined(MACOSX)
303#define NCXMOD_DEFAULT_INSTALL (const xmlChar *)"/usr/local/share/yumapro"
304#else
305#define NCXMOD_DEFAULT_INSTALL (const xmlChar *)"/usr/share/yumapro"
306#endif
307
308/* !! should import this from make !! */
309#define NCXMOD_DEFAULT_YUMALIB64 (const xmlChar *)"/usr/lib64/yumapro"
310
311#ifdef MACOSX
312#define NCXMOD_DEFAULT_YUMALIB (const xmlChar *)"/usr/local/lib/yumapro"
313#else
314#define NCXMOD_DEFAULT_YUMALIB (const xmlChar *)"/usr/lib/yumapro"
315#endif
316
317
318/* !! should import this from make !! */
319#define NCXMOD_ETC_DATA (const xmlChar *)"/etc/yumapro"
320
321/* NCX Environment Variable for MODULE search path */
322#define NCXMOD_MODPATH "YUMAPRO_MODPATH"
323
324/* NCX Environment Variable for DATA search path */
325#define NCXMOD_DATAPATH "YUMAPRO_DATAPATH"
326
327/* NCX Environment Variable for SCRIPTS search path */
328#define NCXMOD_RUNPATH "YUMAPRO_RUNPATH"
329
330/* NCX Environment Variable for MODULE load path */
331#define NCXMOD_LOADPATH "YUMAPRO_LOADPATH"
332
333/* per user yangcli internal data home when $HOME defined */
334#define NCXMOD_YUMA_DIR (const xmlChar *)"~/.yumapro"
335
336/* per user yangcli internal data home when $HOME not defined */
337#define NCXMOD_TEMP_YUMA_DIR (const xmlChar *)"/tmp/yumapro"
338
339/* Yuma work directory name */
340#define NCXMOD_YUMA_DIRNAME (const xmlChar *)".yumapro"
341
342/* sub-directory name yangcli uses to store local per-session workdirs
343 * appended to ncxmod_yumadir_path
344 */
345#define NCXMOD_TEMP_DIR (const xmlChar *)"/tmp"
346
347/* directory uses to store rpydata per step of recorded test
348 */
349#define NCXMOD_UT_RECORDTEST_DIR (const xmlChar *)"/recordtest"
350
351/* directory used to store cached schemas. */
352#define NCXMOD_YANGCLI_CACHE_DIR (const xmlChar *)"/.yangcli_cache"
353
354/* directory used to store yanglib and SID state (per server). */
355#define NCXMOD_YANGLIB_CACHE_DIR (const xmlChar *)"/.yanglib_cache"
356
357/* yanglib ID file name in the yanglib_cache/session dir */
358#define NCXMOD_YANGLIB_ID_FILE (const xmlChar *)"yangid.txt"
359
360
361#define NCXMOD_GET_SOURCE_NEEDED(s) \
362 (*(s) == (xmlChar)'~' || *(s) == (xmlChar)'.' || *(s) == (xmlChar)'$')
363
364#define NCXMOD_SEARCH_MODULE(R) (R)->module
365
366#define NCXMOD_SEARCH_REVISION(R) (R)->revision
367
368#define NCXMOD_SEARCH_SOURCE(R) (R)->source
369
370#define NCXMOD_SEARCH_NAMESPACE(R) (R)->namespacestr
371
372/* ncxmod_search_result_t flags */
373#define NCXMOD_FL_CAPMATCH bit0
374#define NCXMOD_FL_ISMOD bit1
375#define NCXMOD_FL_BEST bit2
376
377#define NCXMOD_SET_CAPMATCH(R) (R)->flags |= NCXMOD_FL_CAPMATCH
378#define NCXMOD_CLR_CAPMATCH(R) (R)->flags &= ~NCXMOD_FL_CAPMATCH
379#define NCXMOD_IS_CAPMATCH(R) ((R)->flags & NCXMOD_FL_CAPMATCH)
380
381#define NCXMOD_SET_ISMOD(R) (R)->flags |= NCXMOD_FL_ISMOD
382#define NCXMOD_IS_ISMOD(R) ((R)->flags & NCXMOD_FL_ISMOD)
383
384#define NCXMOD_SET_BEST(R) (R)->flags |= NCXMOD_FL_BEST
385#define NCXMOD_IS_BEST(R) ((R)->flags & NCXMOD_FL_BEST)
386
387/********************************************************************
388* *
389* T Y P E S *
390* *
391*********************************************************************/
392
405/* following 3 structs used for providing temporary
406 * work directories for yangcli sessions
407 */
408
410typedef struct ncxmod_temp_progcb_t_ {
411 dlq_hdr_t qhdr;
412 xmlChar *source;
413 dlq_hdr_t temp_sescbQ;
415
416
418typedef struct ncxmod_temp_sescb_t_ {
419 dlq_hdr_t qhdr;
420 xmlChar *source;
421 uint32 sidnum;
422 dlq_hdr_t temp_filcbQ;
424
425
427typedef struct ncxmod_temp_filcb_t_ {
428 dlq_hdr_t qhdr;
429 xmlChar *source;
430 const xmlChar *filename;
432
433
439typedef struct ncxmod_search_result_t_ {
440 dlq_hdr_t qhdr;
441 xmlChar *module;
442 xmlChar *belongsto;
443 xmlChar *revision;
444 xmlChar *namespacestr;
445 xmlChar *source;
448 uint32 nslen;
450 uint8 flags;
452
453
473typedef status_t (*ncxmod_callback_fn_t) (const char *fullspec,
474 void *cookie);
475
476
477
494typedef status_t (*ncxmod_backup_cbfn_t) (const char *fullspec,
495 const xmlChar *mtime,
496 void *cookie);
497
498
511typedef status_t
512 (*ncxmod_conf_cbfn_t) (const xmlChar *fullspec,
513 void *cookie);
514
515
516
524typedef void (*search_dumpfn_t) (log_debug_t level, const char *fstr, ...);
525
526
534typedef boolean
536 void *cookie);
537
538
539/********************************************************************
540* *
541* F U N C T I O N S *
542* *
543*********************************************************************/
544
545
551extern status_t
552 ncxmod_init (void);
553
554
559extern void
560 ncxmod_log_env (void);
561
562
567extern void
568 ncxmod_cleanup (void);
569
570
599extern status_t
600 ncxmod_load_module (const xmlChar *modname,
601 const xmlChar *revision,
602 dlq_hdr_t *savedevQ,
603 ncx_module_t **retmod);
604
605
632extern status_t
633 ncxmod_load_module_loadpath (const xmlChar *modname,
634 const xmlChar *revision,
635 dlq_hdr_t *savedevQ,
636 boolean is_loadpath,
637 ncx_module_t **retmod);
638
639
673extern status_t
674 ncxmod_autoload_module (const xmlChar *modname,
675 const xmlChar *revision,
676 dlq_hdr_t *savedevQ,
677 dlq_hdr_t *savemodQ,
678 dlq_hdr_t *topfailedQ,
679 ncx_module_t **retmod);
680
681
709 ncxmod_find_module (const xmlChar *modname,
710 const xmlChar *revision);
711
712
739extern status_t
740 ncxmod_find_all_modules (dlq_hdr_t *resultQ);
741
742
755extern status_t
756 ncxmod_find_all_modules_ycli_cache (dlq_hdr_t *resultQ);
757
758
759
786extern status_t
787 ncxmod_load_deviation (const xmlChar *deviname,
788 dlq_hdr_t *deviationQ);
789
790
815extern status_t
816 ncxmod_load_annotation (const xmlChar *deviname,
817 dlq_hdr_t *deviationQ);
818
819
849extern status_t
850 ncxmod_load_imodule (const xmlChar *modname,
851 const xmlChar *revision,
852 yang_pcb_t *pcb,
853 yang_parsetype_t ptyp,
854 ncx_module_t *parent,
855 ncx_module_t **retmod);
856
857
881extern yang_pcb_t *
882 ncxmod_load_module_ex (const xmlChar *modname,
883 const xmlChar *revision,
884 boolean with_submods,
885 boolean savetkc,
886 boolean keepmode,
887 boolean docmode,
888 dlq_hdr_t *savedevQ,
889 status_t *res);
890
891
911extern yang_pcb_t *
912 ncxmod_load_module_diff (const xmlChar *modname,
913 const xmlChar *revision,
914 boolean with_submods,
915 const xmlChar *modpath,
916 dlq_hdr_t *savedevQ,
917 status_t *res);
918
919
948extern xmlChar *
949 ncxmod_find_data_file (const xmlChar *fname,
950 boolean generrors,
951 boolean backup_file,
952 status_t *res);
953
954
987extern xmlChar *
988 ncxmod_find_server_data_file (const xmlChar *fname,
989 boolean fileloc_fhs,
990 boolean generrors,
991 boolean backup_file,
992 boolean keep_result,
993 status_t *res);
994
1005extern status_t
1006 ncxmod_delete_server_data_files (boolean fileloc_fhs,
1007 const xmlChar *exclude_file);
1008
1009
1034extern xmlChar *
1035 ncxmod_find_sil_file (const xmlChar *fname,
1036 boolean generrors,
1037 status_t *res);
1038
1039
1065extern xmlChar *
1066 ncxmod_make_data_filespec (const xmlChar *fname,
1067 boolean backup_file,
1068 status_t *res);
1069
1070
1071
1087extern xmlChar *
1088 ncxmod_make_server_data_filespec (const xmlChar *fname,
1089 boolean fileloc_fhs,
1090 boolean backup_file,
1091 status_t *res);
1092
1093
1108extern xmlChar *
1109 ncxmod_make_data_filespec_from_src (const xmlChar *srcspec,
1110 const xmlChar *fname,
1111 status_t *res);
1112
1113
1136extern xmlChar *
1137 ncxmod_find_script_file (const xmlChar *fname,
1138 status_t *res);
1139
1140
1141
1166extern xmlChar *
1167 ncxmod_find_script_file_ex (const xmlChar *fname,
1168 boolean no_err,
1169 status_t *res);
1170
1171
1194extern xmlChar *
1195 ncxmod_find_test_suite_file (const xmlChar *fname,
1196 status_t *res);
1197
1198
1206extern status_t
1207 ncxmod_set_home (const xmlChar *home);
1208
1209
1216extern const xmlChar *
1217 ncxmod_get_home (void);
1218
1219
1229extern status_t
1230 ncxmod_set_yuma_home (const xmlChar *yumahome);
1231
1232
1239extern const xmlChar *
1240 ncxmod_get_yuma_home (void);
1241
1242
1249extern const xmlChar *
1251
1252
1261extern void
1262 ncxmod_set_modpath (const xmlChar *modpath);
1263
1264
1273extern void
1274 ncxmod_set_loadpath (const xmlChar *loadpath);
1275
1276
1283extern void
1284 ncxmod_set_datapath (const xmlChar *datapath);
1285
1286
1293extern void
1294 ncxmod_set_runpath (const xmlChar *runpath);
1295
1296
1303extern void
1304 ncxmod_set_subdirs (boolean usesubdirs);
1305
1306
1312extern const xmlChar *
1313 ncxmod_get_yumadir (void);
1314
1315
1330extern status_t
1331 ncxmod_process_subtree (const char *startspec,
1332 ncxmod_callback_fn_t callback,
1333 void *cookie);
1334
1335
1344extern boolean
1345 ncxmod_test_subdir (const xmlChar *dirspec);
1346
1347
1355extern const xmlChar *
1356 ncxmod_get_userhome (const xmlChar *user,
1357 uint32 userlen);
1358
1359
1367extern const xmlChar *
1368 ncxmod_get_envvar (const xmlChar *name,
1369 uint32 namelen);
1370
1371
1379extern void
1380 ncxmod_set_altpath (const xmlChar *altpath);
1381
1382
1387extern void
1388 ncxmod_clear_altpath (void);
1389
1390
1409extern status_t
1411 boolean logstdout);
1412
1413
1432extern status_t
1434 boolean logstdout);
1435
1436
1455extern status_t
1457 boolean logstdout);
1458
1459
1465extern status_t
1466 ncxmod_setup_yumadir (void);
1467
1468
1478extern status_t
1479 ncxmod_setup_yumadir_srid (const xmlChar *srid);
1480
1481
1486extern status_t
1487 ncxmod_setup_backup_dir (const xmlChar *backup_dir);
1488
1489
1501extern status_t
1502 ncxmod_setup_fhs_dirs (void);
1503
1504
1516extern status_t
1517 ncxmod_setup_fhs_srid_dirs (const xmlChar *server_root);
1518
1519
1525extern status_t
1526 ncxmod_setup_tempdir (void);
1527
1528
1539extern status_t
1540 ncxmod_setup_yumadir_force (const xmlChar *path);
1541
1542
1550
1551
1560 ncxmod_setup_yangcli_cache_dir (const xmlChar *cache_dir);
1561
1562
1563
1564/********* YANG Library Caching Used in Client **********/
1565
1566
1578 ncxmod_setup_yanglib_cache_dir (const xmlChar *cache_dir);
1579
1580
1588extern void
1590
1591
1605 ncxmod_clear_yanglib_cache (const xmlChar *server_dir);
1606
1607
1627extern status_t
1628 ncxmod_setup_yanglib_server_dir (const xmlChar *server_dir,
1629 uint16 portnum,
1630 boolean *created);
1631
1632
1656extern status_t
1657 ncxmod_get_yanglib_id (const xmlChar *server_dir,
1658 uint16 port_num,
1659 xmlChar **retbuff);
1660
1661
1676extern status_t
1677 ncxmod_get_yanglib_filespec (const xmlChar *server_dir,
1678 uint16 port_num,
1679 const xmlChar *filename,
1680 xmlChar **retbuff);
1681
1682
1683
1698extern status_t
1699 ncxmod_set_yanglib_id (const xmlChar *server_dir,
1700 uint16 port_num,
1701 const xmlChar *yanglib_id,
1702 boolean is_replace);
1703
1704
1720extern status_t
1721 ncxmod_find_yanglib_server_dir (const xmlChar *server_dir,
1722 uint16 *portnum);
1723
1724
1732extern ncxmod_temp_progcb_t *
1734
1735
1741extern void
1743
1744
1754extern ncxmod_temp_sescb_t *
1756 uint32 sidnum,
1757 status_t *res);
1758
1759
1766extern void
1768 uint32 sidnum);
1769
1770
1780extern ncxmod_temp_filcb_t *
1782 const xmlChar *filename,
1783 status_t *res);
1784
1785
1791extern void
1793
1794
1802
1803
1812
1813
1822 ncxmod_new_search_result_str (const xmlChar *modname,
1823 const xmlChar *revision);
1824
1825
1831extern void
1833
1834
1835
1842extern void
1843 ncxmod_clean_search_result_queue (dlq_hdr_t *searchQ);
1844
1845
1859 ncxmod_find_search_result (dlq_hdr_t *searchQ,
1860 const xmlChar *modname,
1861 const xmlChar *revision,
1862 const xmlChar *nsuri);
1863
1864
1873
1874
1882extern boolean
1883 ncxmod_test_filespec (const xmlChar *filespec);
1884
1885
1892extern uint32
1893 ncxmod_get_pathlen_from_filespec (const xmlChar *filespec);
1894
1895
1903extern status_t
1904 ncxmod_get_file_mtime (const xmlChar *filespec,
1905 time_t *timebuff);
1906
1907
1918extern status_t
1920 void *cookie);
1921
1922
1932extern xmlChar *
1933 ncxmod_get_pid_filespec (const xmlChar *progname,
1934 boolean fileloc_fhs,
1935 status_t *res);
1936
1937
1948extern xmlChar *
1949 ncxmod_get_subdir_filespec (const xmlChar *subdir,
1950 boolean fileloc_fhs,
1951 status_t *res);
1952
1953
1965extern status_t
1966 ncxmod_read_num_file (const xmlChar *numfile,
1967 uint64 *curnum,
1968 boolean file_error);
1969
1970
1979extern status_t
1980 ncxmod_write_num_file (const xmlChar *numfile,
1981 uint64 curnum);
1982
1983
1991extern status_t
1992 ncxmod_copy_text_file (const xmlChar *src_filespec,
1993 const xmlChar *dest_filespec);
1994
1995
1996
2009extern status_t
2010 ncxmod_subsys_info_write (const xmlChar *filespec,
2011 const xmlChar *ipaddr,
2012 uint16 portnum);
2013
2014
2020extern void
2021 ncxmod_subsys_info_remove (const xmlChar *filespec);
2022
2023
2036extern status_t
2037 ncxmod_get_conf_files (const xmlChar *confdir,
2038 boolean must_exist,
2039 ncxmod_conf_cbfn_t cbfn,
2040 void *cookie);
2041
2042
2046extern status_t
2048
2049
2062extern status_t
2063 ncxmod_set_private_bestmatch (const xmlChar *modpath);
2064
2065
2080extern status_t
2082 void *cookie);
2083
2084
2089extern void
2091
2100extern status_t
2102 void *cookie);
2103
2104
2115extern status_t
2117 xmlChar *load_path,
2118 void *cookie);
2119
2120
2128extern boolean
2129 ncxmod_use_bestmatch_now (const xmlChar *revision);
2130
2131
2139extern void
2141 log_debug_t loglevel);
2142
2143
2151#ifdef WINDOWS
2152#define ncxmod_is_pschar(ch) \
2153 (((ch) == NCXMOD_PSCHAR) || ((ch) == NCXMOD_WIN_PSCHAR))
2154#else
2155#define ncxmod_is_pschar(ch) ((ch) == NCXMOD_PSCHAR)
2156#endif
2157
2158
2166extern const xmlChar *
2167 ncxmod_get_modpath (void);
2168
2169
2177extern const xmlChar *
2178 ncxmod_get_datapath (void);
2179
2180
2188extern const xmlChar *
2189 ncxmod_get_runpath (void);
2190
2191
2219extern xmlChar *
2220 ncxmod_find_sid_file (const xmlChar *fname,
2221 boolean generrors,
2222 status_t *res);
2223
2224
2228#ifdef __cplusplus
2229} /* end extern 'C' */
2230#endif
2231
2232#endif /* _H_ncxmod */
NETCONF protocol capabilities.
log_debug_t
The debug level enumerations used in util/log.c.
Definition: log.h:348
status_t
global error return code
Definition: status_enum.h:219
help_mode_t
modes to match the keywords brief, normal, full
Definition: help.h:84
void ncxmod_set_modpath(const xmlChar *modpath)
Override the YUMAPRO_MODPATH env var with the modpath CLI var.
Definition: ncxmod.c:7372
status_t ncxmod_list_data_files(help_mode_t helpmode, boolean logstdout)
List the available data files found in the data search parh.
Definition: ncxmod.c:7768
status_t ncxmod_get_file_mtime(const xmlChar *filespec, time_t *timebuff)
Get the last-modified time for a file.
Definition: ncxmod.c:10337
status_t ncxmod_init(void)
Initialize the ncxmod module.
Definition: ncxmod.c:4938
const xmlChar * ncxmod_get_modpath(void)
Get the ncxmod_mod_path value.
Definition: ncxmod.c:11632
status_t ncxmod_load_annotation(const xmlChar *deviname, dlq_hdr_t *deviationQ)
Load an annotation module (special compiler processing)
Definition: ncxmod.c:5675
ncxmod_temp_filcb_t * ncxmod_new_session_tempfile(ncxmod_temp_sescb_t *sescb, const xmlChar *filename, status_t *res)
Setup a session instance temp file for writing.
Definition: ncxmod.c:9794
void ncxmod_set_altpath(const xmlChar *altpath)
Set the alternate path that should be used first (for yangdiff)
Definition: ncxmod.c:7719
ncxmod_search_result_t * ncxmod_clone_search_result(const ncxmod_search_result_t *sr)
Clone a search result.
Definition: ncxmod.c:10189
status_t(* ncxmod_callback_fn_t)(const char *fullspec, void *cookie)
user function callback template to process a module during a subtree traversal
Definition: ncxmod.h:473
boolean ncxmod_test_subdir(const xmlChar *dirspec)
Check if the specified string is a directory.
Definition: ncxmod.c:7603
xmlChar * ncxmod_find_sil_file(const xmlChar *fname, boolean generrors, status_t *res)
Determine the location of the specified server instrumentation library file.
Definition: ncxmod.c:6416
status_t ncxmod_list_yang_files(help_mode_t helpmode, boolean logstdout)
List the available YANG files found in the 'mod' search parh.
Definition: ncxmod.c:8114
status_t ncxmod_process_subtree(const char *startspec, ncxmod_callback_fn_t callback, void *cookie)
Search the entire specified subtree, looking for YANG modules.
Definition: ncxmod.c:7535
void ncxmod_set_runpath(const xmlChar *runpath)
Override the YUMAPRO_RUNPATH env var with the runpath CLI var.
Definition: ncxmod.c:7463
status_t ncxmod_setup_fhs_dirs(void)
Setup the following FHS location server directories if they do not already exist.
Definition: ncxmod.c:8498
void ncxmod_free_program_tempdir(ncxmod_temp_progcb_t *progcb)
Remove a program instance temp files directory.
Definition: ncxmod.c:9620
xmlChar * ncxmod_find_data_file(const xmlChar *fname, boolean generrors, boolean backup_file, status_t *res)
Determine the location of the specified data file.
Definition: ncxmod.c:5988
void ncxmod_clear_altpath(void)
Clear the alternate path so none is used (for yangdiff)
Definition: ncxmod.c:7738
const xmlChar * ncxmod_get_yumadir(void)
Get the yuma directory being used.
Definition: ncxmod.c:7508
status_t ncxmod_setup_tempdir(void)
Setup the ~/.yuma/tmp directory if it does not exist.
Definition: ncxmod.c:8668
status_t ncxmod_list_script_files(help_mode_t helpmode, boolean logstdout)
List the available script files found in the 'run' search parh.
Definition: ncxmod.c:7941
xmlChar * ncxmod_find_sid_file(const xmlChar *fname, boolean generrors, status_t *res)
Determine the location of the specified Schema Item Identifier file.
Definition: ncxmod.c:11498
status_t ncxmod_set_private_bestmatch(const xmlChar *modpath)
Check for all the modules avialable for bestmatch checking.
Definition: ncxmod.c:11013
xmlChar * ncxmod_get_pid_filespec(const xmlChar *progname, boolean fileloc_fhs, status_t *res)
Get the PID file specification for the given program name.
Definition: ncxmod.c:10417
status_t ncxmod_get_conf_files(const xmlChar *confdir, boolean must_exist, ncxmod_conf_cbfn_t cbfn, void *cookie)
Get all the available conf files found in the specified config directory if it exist; Invoke the call...
Definition: ncxmod.c:10928
status_t ncxmod_set_home(const xmlChar *home)
Override the HOME env var with the home CLI var.
Definition: ncxmod.c:7203
yang_pcb_t * ncxmod_load_module_ex(const xmlChar *modname, const xmlChar *revision, boolean with_submods, boolean savetkc, boolean keepmode, boolean docmode, dlq_hdr_t *savedevQ, status_t *res)
Load a YANG module (extended)
Definition: ncxmod.c:5829
status_t ncxmod_setup_yanglib_server_dir(const xmlChar *server_dir, uint16 portnum, boolean *created)
Setup the ~/.yumapro/.yanglib_cache/<server> directory if it does not exist.
Definition: ncxmod.c:9126
status_t ncxmod_set_bestmatch_modules(void)
Check for all the modules avialable for bestmatch checking.
Definition: ncxmod.c:10969
status_t ncxmod_get_backup_files(ncxmod_backup_cbfn_t cbfn, void *cookie)
Get all the available backup files found in the specified backup directory if it exist;.
Definition: ncxmod.c:10373
uint32 ncxmod_get_pathlen_from_filespec(const xmlChar *filespec)
Get the length of th path part of the filespec string.
Definition: ncxmod.c:10296
const xmlChar * ncxmod_get_yuma_home(void)
Get the YUMAPRO_HOME or –yuma-home parameter value, whichever is in effect, if any.
Definition: ncxmod.c:7332
ncxmod_temp_sescb_t * ncxmod_new_session_tempdir(ncxmod_temp_progcb_t *progcb, uint32 sidnum, status_t *res)
Setup a session instance temp files directory.
Definition: ncxmod.c:9647
boolean ncxmod_test_filespec(const xmlChar *filespec)
Check the exact filespec to see if it a file.
Definition: ncxmod.c:10267
status_t ncxmod_find_all_modules_ycli_cache(dlq_hdr_t *resultQ)
Find all modules in the search path for the yangcli cache.
Definition: ncxmod.c:5573
xmlChar * ncxmod_find_server_data_file(const xmlChar *fname, boolean fileloc_fhs, boolean generrors, boolean backup_file, boolean keep_result, status_t *res)
Find a server data file.
Definition: ncxmod.c:6211
status_t ncxmod_setup_yumadir(void)
Setup the ~/.yumapro directory if it does not exist.
Definition: ncxmod.c:8273
xmlChar * ncxmod_make_data_filespec(const xmlChar *fname, boolean backup_file, status_t *res)
Determine a suitable path location for the specified data file name.
Definition: ncxmod.c:6589
status_t ncxmod_clear_yanglib_cache(const xmlChar *server_dir)
Clear the yanglib cache on this machine.
Definition: ncxmod.c:9062
boolean(* private_bestmatch_fn_t)(const ncxmod_search_result_t *sr, void *cookie)
Callback to walk the private_bastmatch_dict.
Definition: ncxmod.h:535
xmlChar * ncxmod_find_script_file_ex(const xmlChar *fname, boolean no_err, status_t *res)
Determine the location of the specified script file but can suppress error if not found.
Definition: ncxmod.c:6944
void ncxmod_subsys_info_remove(const xmlChar *filespec)
Remove the subsystem info file.
Definition: ncxmod.c:10893
xmlChar * ncxmod_make_server_data_filespec(const xmlChar *fname, boolean fileloc_fhs, boolean backup_file, status_t *res)
Determine a suitable path location for the specified data file name.
Definition: ncxmod.c:6741
ncxmod_search_result_t * ncxmod_new_search_result(void)
Malloc and initialize a search result struct.
Definition: ncxmod.c:9894
status_t ncxmod_scan_loadpath(ncxmod_callback_fn_t cbfn, void *cookie)
Check for all the modules in the YUMAPRO_LOADPATH (–loadpath) Invoke the callback function which will...
Definition: ncxmod.c:11158
void ncxmod_set_loadpath(const xmlChar *loadpath)
Override the YUMAPRO_LOADPATH env var with the loadpath CLI var.
Definition: ncxmod.c:7403
status_t ncxmod_setup_backup_dir(const xmlChar *backup_dir)
Setup the ~/.yumapro/backups directory if it does not exist.
Definition: ncxmod.c:8447
status_t ncxmod_setup_yanglib_cache_dir(const xmlChar *cache_dir)
Setup the ~/.yumapro/.yanglib_cache directory if it does not exist.
Definition: ncxmod.c:8813
status_t ncxmod_find_all_modules(dlq_hdr_t *resultQ)
Find all modules in the path and create a Q of search results.
Definition: ncxmod.c:5545
ncxmod_search_result_t * ncxmod_find_search_result(dlq_hdr_t *searchQ, const xmlChar *modname, const xmlChar *revision, const xmlChar *nsuri)
Find a search result inthe specified Q.
Definition: ncxmod.c:10117
status_t ncxmod_walk_private_bestmatch(private_bestmatch_fn_t cbfn, void *cookie)
Walk the private bastmatch dict.
Definition: ncxmod.c:11083
status_t ncxmod_set_yuma_home(const xmlChar *yumahome)
Override the YUMAPRO_HOME env var with the yuma-home CLI var.
Definition: ncxmod.c:7286
status_t ncxmod_load_imodule(const xmlChar *modname, const xmlChar *revision, yang_pcb_t *pcb, yang_parsetype_t ptyp, ncx_module_t *parent, ncx_module_t **retmod)
Load an import module (special compiler processing)
Definition: ncxmod.c:5720
status_t ncxmod_get_yanglib_id(const xmlChar *server_dir, uint16 port_num, xmlChar **retbuff)
Get the YANG Library value ID for the server if found
Definition: ncxmod.c:9193
status_t(* ncxmod_conf_cbfn_t)(const xmlChar *fullspec, void *cookie)
internal .conf file handler Read all the foo.conf files in the specified directory Call the cbfn for ...
Definition: ncxmod.h:512
status_t ncxmod_load_module_loadpath(const xmlChar *modname, const xmlChar *revision, dlq_hdr_t *savedevQ, boolean is_loadpath, 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:5257
const xmlChar * ncxmod_get_home(void)
Get the HOME or –home parameter value, whichever is in effect, if any.
Definition: ncxmod.c:7268
void ncxmod_free_session_tempfile(ncxmod_temp_filcb_t *filcb)
Clean and free a session instance temp files directory.
Definition: ncxmod.c:9872
status_t ncxmod_read_num_file(const xmlChar *numfile, uint64 *curnum, boolean file_error)
Read the uint64 file and return the value found Expects full filespec, does not call ncx_get_source!...
Definition: ncxmod.c:10568
void ncxmod_show_yanglib_cache(help_mode_t helpmode)
Show a summary of the contents of the yanglib cache on this machine.
Definition: ncxmod.c:8856
status_t ncxmod_setup_recordtest_dir(void)
Setup the ~/.yumapro/recordtest directory if it does not exist.
Definition: ncxmod.c:8717
status_t ncxmod_get_yanglib_filespec(const xmlChar *server_dir, uint16 port_num, const xmlChar *filename, xmlChar **retbuff)
Get the YANG Library full filespec for the filename
Definition: ncxmod.c:9240
status_t ncxmod_autoload_module(const xmlChar *modname, const xmlChar *revision, dlq_hdr_t *savedevQ, dlq_hdr_t *savemodQ, dlq_hdr_t *topfailedQ, ncx_module_t **retmod)
Load a YANG Module (Used by yangcli-pro)
Definition: ncxmod.c:5372
status_t ncxmod_setup_fhs_srid_dirs(const xmlChar *server_root)
Setup the following FHS SRID subdir location.
Definition: ncxmod.c:8585
void ncxmod_free_session_tempdir(ncxmod_temp_progcb_t *progcb, uint32 sidnum)
Clean and free a session instance temp files directory.
Definition: ncxmod.c:9743
status_t(* ncxmod_backup_cbfn_t)(const char *fullspec, const xmlChar *mtime, void *cookie)
user function callback template to process a backup file during a subtree traversal
Definition: ncxmod.h:494
yang_pcb_t * ncxmod_load_module_diff(const xmlChar *modname, const xmlChar *revision, boolean with_submods, const xmlChar *modpath, dlq_hdr_t *savedevQ, status_t *res)
Load a module (special yangdiff-pro handling)
Definition: ncxmod.c:5906
void ncxmod_clean_private_bestmatch(void)
clean up the private_bestmatch_dict after each use
Definition: ncxmod.c:11136
const xmlChar * ncxmod_get_datapath(void)
Get the ncxmod_data_path value.
Definition: ncxmod.c:11649
status_t ncxmod_setup_yumadir_force(const xmlChar *path)
Setup the ~/.yumapro directory if it does not exist.
Definition: ncxmod.c:8415
void ncxmod_dump_module_search_path(search_dumpfn_t dumpfn, log_debug_t loglevel)
Output the YANG module search path.
Definition: ncxmod.c:11238
status_t ncxmod_setup_yumadir_srid(const xmlChar *srid)
Setup the ~/.yumapro/SRID directory if it does not exist.
Definition: ncxmod.c:8348
status_t ncxmod_write_num_file(const xmlChar *numfile, uint64 curnum)
Write the number file with the supplied value Expects full filespec, does not call ncx_get_source!...
Definition: ncxmod.c:10654
xmlChar * ncxmod_get_subdir_filespec(const xmlChar *subdir, boolean fileloc_fhs, status_t *res)
Get the subdir specification for the given subdir name The correct .yumapro directory will be used fo...
Definition: ncxmod.c:10498
void ncxmod_cleanup(void)
Cleanup the ncxmod module.
Definition: ncxmod.c:5138
status_t ncxmod_subsys_info_write(const xmlChar *filespec, const xmlChar *ipaddr, uint16 portnum)
Write the subsystem info file;.
Definition: ncxmod.c:10812
void ncxmod_set_subdirs(boolean usesubdirs)
Set the subdirs flag to FALSE if the no-subdirs CLI param is set.
Definition: ncxmod.c:7492
void ncxmod_set_datapath(const xmlChar *datapath)
Override the YUMA_DATAPATH env var with the datapath CLI var.
Definition: ncxmod.c:7433
ncxmod_temp_progcb_t * ncxmod_new_program_tempdir(status_t *res)
Setup a program instance temp files directory.
Definition: ncxmod.c:9517
status_t ncxmod_set_yanglib_id(const xmlChar *server_dir, uint16 port_num, const xmlChar *yanglib_id, boolean is_replace)
Set the YANG Library value ID for the server.
Definition: ncxmod.c:9279
const xmlChar * ncxmod_get_runpath(void)
Get the ncxmod_run_path value.
Definition: ncxmod.c:11666
void ncxmod_log_env(void)
Report the environment variables used by the running system.
Definition: ncxmod.c:5087
status_t ncxmod_setup_yangcli_cache_dir(const xmlChar *cache_dir)
Setup the ~/.yumapro/.yangcli_cache directory if it does not exist.
Definition: ncxmod.c:8768
const xmlChar * ncxmod_get_envvar(const xmlChar *name, uint32 namelen)
Get the specified shell environment variable.
Definition: ncxmod.c:7684
boolean ncxmod_use_bestmatch_now(const xmlChar *revision)
Check if the bestmatch can be used for this module.
Definition: ncxmod.c:11222
status_t ncxmod_find_yanglib_server_dir(const xmlChar *server_dir, uint16 *portnum)
Find a server dir based on its IP address.
Definition: ncxmod.c:9455
ncxmod_search_result_t * ncxmod_new_search_result_str(const xmlChar *modname, const xmlChar *revision)
Malloc and initialize a search result struct.
Definition: ncxmod.c:10004
const xmlChar * ncxmod_get_userhome(const xmlChar *user, uint32 userlen)
Get the user home dir from the passwd file.
Definition: ncxmod.c:7633
ncxmod_search_result_t * ncxmod_new_search_result_ex(const ncx_module_t *mod)
Malloc and initialize a search result struct.
Definition: ncxmod.c:9921
void ncxmod_free_search_result(ncxmod_search_result_t *searchresult)
Clean and free a search result struct.
Definition: ncxmod.c:10048
xmlChar * ncxmod_make_data_filespec_from_src(const xmlChar *srcspec, const xmlChar *fname, status_t *res)
Determine the directory path portion of the specified source_url and change the filename to the speci...
Definition: ncxmod.c:6849
xmlChar * ncxmod_find_script_file(const xmlChar *fname, status_t *res)
Determine the location of the specified script file.
Definition: ncxmod.c:6936
const xmlChar * ncxmod_get_yuma_install(void)
Get the YUMAPRO_INSTALL or default install parameter value, whichever is in effect.
Definition: ncxmod.c:7349
status_t ncxmod_scan_loadpath_sm(ncxmod_callback_fn_t cbfn, xmlChar *load_path, void *cookie)
Check for all the modules in the YUMAPRO_LOADPATH (–loadpath) Invoke the callback function which will...
Definition: ncxmod.c:11189
void ncxmod_clean_search_result_queue(dlq_hdr_t *searchQ)
Clean and free all the search result structs in the specified Q.
Definition: ncxmod.c:10084
xmlChar * ncxmod_find_test_suite_file(const xmlChar *fname, status_t *res)
Determine the location of the specified test-suite file.
Definition: ncxmod.c:7076
status_t ncxmod_copy_text_file(const xmlChar *src_filespec, const xmlChar *dest_filespec)
Copy the source text file to the fully specified filespec.
Definition: ncxmod.c:10719
ncxmod_search_result_t * ncxmod_find_module(const xmlChar *modname, const xmlChar *revision)
Find a YANG module and generate a search result.
Definition: ncxmod.c:5469
void(* search_dumpfn_t)(log_debug_t level, const char *fstr,...)
Callback to do log dump function for show searchpath.
Definition: ncxmod.h:524
yang_parsetype_t
YANG parser mode entry types.
Definition: yang.h:104
YANG help text support for CLI Print help text for various templates.
YANG module data structures Many internal representations of YANG module constructs.
Global error messages for status code enumerations.
queue of this structure for list of enterprise capabilities
Definition: cap.h:319
representation of one module or submodule during and after parsing
Definition: ncxtypes.h:1181
struct for storing YANG file search results this is used by yangcli for schema auto-load also for fin...
Definition: ncxmod.h:439
xmlChar * source
file location
Definition: ncxmod.h:445
xmlChar * module
module or submodule name
Definition: ncxmod.h:441
dlq_hdr_t qhdr
queue header
Definition: ncxmod.h:440
xmlChar * namespacestr
set if module & namespace found
Definition: ncxmod.h:444
status_t res
search result, only use if NO_ERR
Definition: ncxmod.h:447
xmlChar * revision
set if most recent revision found
Definition: ncxmod.h:443
ncx_module_t * mod
back-ptr to found module if loaded
Definition: ncxmod.h:446
xmlChar * belongsto
set if submodule & belongs-to found
Definition: ncxmod.h:442
uint8 flags
replaces capmatch and ismod
Definition: ncxmod.h:450
cap_rec_t * cap
back-ptr to source capability URI
Definition: ncxmod.h:449
uint32 nslen
length of base part of namespacestr
Definition: ncxmod.h:448
temporary file control block
Definition: ncxmod.h:427
xmlChar * source
filespec source string
Definition: ncxmod.h:429
dlq_hdr_t qhdr
queue header
Definition: ncxmod.h:428
const xmlChar * filename
ptr into source
Definition: ncxmod.h:430
program-level temp dir control block
Definition: ncxmod.h:410
xmlChar * source
filespec source string
Definition: ncxmod.h:412
dlq_hdr_t temp_sescbQ
Q of ncxmod_temp_sescb_t.
Definition: ncxmod.h:413
dlq_hdr_t qhdr
queue header
Definition: ncxmod.h:411
session-level temp-dir control block
Definition: ncxmod.h:418
xmlChar * source
filespec source string
Definition: ncxmod.h:420
dlq_hdr_t temp_filcbQ
Q of ncxmod_temp_filcb_t.
Definition: ncxmod.h:422
dlq_hdr_t qhdr
queue header
Definition: ncxmod.h:419
uint32 sidnum
session ID number
Definition: ncxmod.h:421
YANG parser control block.
Definition: yang.h:204
YANG Module parser utilities.