yumapro  25.10-3
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_RESTCONF (const xmlChar *)"ietf-restconf"
113
114#define NCXMOD_YANG_DATA_EXT (const xmlChar *)"yang-data-ext"
115
116#define NCXMOD_YANG_METADATA (const xmlChar *)"ietf-yang-metadata"
117
118#define NCXMOD_YANG_STRUCTURE (const xmlChar *)"ietf-yang-structure-ext"
119
120#define NCXMOD_YUMA_NACM (const xmlChar *)"yuma-nacm"
121
122#define NCXMOD_YUMA_TIME_FILTER (const xmlChar *)"yuma-time-filter"
123
124#define NCXMOD_YUMAWORKS_ATTRS (const xmlChar *)"yumaworks-attrs"
125
126#define NCXMOD_YUMAWORKS_CERT_USERMAP \
127 (const xmlChar *)"yumaworks-cert-usermap"
128
129#define NCXMOD_YUMAWORKS_CONFIG_CHANGE \
130 (const xmlChar *)"yumaworks-config-change"
131
132#define NCXMOD_YUMAWORKS_EVENT_FILTER \
133 (const xmlChar *)"yumaworks-event-filter"
134
135#define NCXMOD_YUMAWORKS_EVENT_STREAM \
136 (const xmlChar *)"yumaworks-event-stream"
137
138#define NCXMOD_YUMAWORKS_GETBULK (const xmlChar *)"yumaworks-getbulk"
139
140#define NCXMOD_YUMAWORKS_IDS (const xmlChar *)"yumaworks-ids"
141
142#define NCXMOD_YUMAWORKS_INTERNAL (const xmlChar *)"yumaworks-internal"
143
144#define NCXMOD_YUMAWORKS_SERVER (const xmlChar *)"yumaworks-server"
145
146#define NCXMOD_YUMAWORKS_SYSTEM (const xmlChar *)"yumaworks-system"
147
148#define NCXMOD_YUMAWORKS_TYPES (const xmlChar *)"yumaworks-types"
149
150#define NCXMOD_YUMAWORKS_APP_COMMON (const xmlChar *)"yumaworks-app-common"
151
152#define NCXMOD_YUMA_APP_COMMON (const xmlChar *)"yuma-app-common"
153
154#define NCXMOD_YUMA_TYPES (const xmlChar *)"yuma-types"
155
156#define NCXMOD_YANGCLI (const xmlChar *)"yangcli-pro"
157
158#define NCXMOD_YANG_API (const xmlChar *)"yumaworks-yang-api"
159
160#define NCXMOD_YUMAWORKS_GRPC_STATE \
161 (const xmlChar *)"yumaworks-grpc-mon"
162
163#define NCXMOD_YUMA_RESTCONF (const xmlChar *)"yumaworks-restconf"
164
165#define NCXMOD_YUMA_IDS (const xmlChar *)"yumaworks-ids"
166
167#define NCXMOD_YUMA_SUPPORT_SAVE (const xmlChar *)"yumaworks-support-save"
168
169#define NCXMOD_YUMA_TERM_MSG (const xmlChar *)"yumaworks-term-msg"
170
171/* name of the NETCONF module containing NETCONF protocol definitions,
172 * that is loaded by default during startup
173 */
174#define NCXMOD_NETCONF (const xmlChar *)"yuma-netconf"
175
176#define NCXMOD_YUMA_NETCONF (const xmlChar *)"yuma-netconf"
177
178#define NCXMOD_IETF_INTERFACES (const xmlChar *)"ietf-interfaces"
179
180#define NCXMOD_IETF_NETCONF (const xmlChar *)"ietf-netconf"
181
182#define NCXMOD_IETF_NETCONF_REV (const xmlChar *)"2011-06-01"
183
184#define NCXMOD_IETF_YANG_PATCH (const xmlChar *)"ietf-yang-patch"
185
186#define NCXMOD_IETF_YANG_TYPES (const xmlChar *)"ietf-yang-types"
187
188#define NCXMOD_IETF_INET_TYPES (const xmlChar *)"ietf-inet-types"
189
190#define NCXMOD_IETF_NETCONF_STATE (const xmlChar *)"ietf-netconf-monitoring"
191
192#define NCXMOD_IETF_NACM (const xmlChar *)"ietf-netconf-acm"
193
194#define NCXMOD_IETF_SID_FILE (const xmlChar *)"ietf-sid-file"
195
196#define NCXMOD_IETF_DISTRIBUTED_NOTIF \
197 (const xmlChar *)"ietf-distributed-notif"
198
199#define NCXMOD_IETF_YANG_PUSH_REVISION \
200 (const xmlChar *)"ietf-yang-push-revision"
201
202#define NCXMOD_WITH_DEFAULTS (const xmlChar *)"ietf-netconf-with-defaults"
203
204#define NCXMOD_YUMAWORKS_EXTENSIONS (const xmlChar *)"yumaworks-extensions"
205
206#define NCXMOD_YUMAWORKS_YANG_CBOR (const xmlChar *)"yumaworks-yang-cbor"
207
208#define NCXMOD_FHS_RUNDIR (const xmlChar *)"/var/run/netconfd-pro"
209
210#define NCXMOD_FHS_LIBDIR (const xmlChar *)"/var/lib/netconfd-pro"
211
212#define NCXMOD_FHS_LOGDIR (const xmlChar *)"/var/log/netconfd-pro"
213
214#define NCXMOD_FHS_LOGSPEC \
215 (const xmlChar *)"/var/log/netconfd-pro/server.log"
216
217#define NCXMOD_FHS_AUDIT_LOGSPEC \
218 (const xmlChar *)"/var/log/netconfd-pro/audit.log"
219
220#define NCXMOD_SRID_FHS_LOGSPEC \
221 (const xmlChar *)"/var/log/netconfd-pro/server.%s.log"
222
223#define NCXMOD_SRID_FHS_AUDIT_LOGSPEC \
224 (const xmlChar *)"/var/log/netconfd-pro/audit.%s.log"
225
226
227#define NCXMOD_NETCONF_NOTIFICATIONS \
228 (const xmlChar *)"ietf-netconf-notifications"
229
230#define NCXMOD_PARTIAL_LOCK (const xmlChar *)"ietf-netconf-partial-lock"
231
232#define NCXMOD_CRYPT_HASH (const xmlChar *)"iana-crypt-hash"
233
234/* name of the RESTCONF modules, that is loaded during startup
235 * if WITH_RESTCONF flag is present
236 */
237#define NCXMOD_YANG_LIBRARY (const xmlChar *)"ietf-yang-library"
238#define NCXMOD_RESTMON (const xmlChar *)"ietf-restconf-monitoring"
239
240/* IETF NMDA modules */
241#define NCXMOD_IETF_DATASTORES (const xmlChar *)"ietf-datastores"
242#define NCXMOD_IETF_ORIGIN (const xmlChar *)"ietf-origin"
243#define NCXMOD_IETF_NETCONF_NMDA (const xmlChar *)"ietf-netconf-nmda"
244
245/* IETF Schema Mount modules */
246#define NCXMOD_IETF_SM_MODULE (const xmlChar *)"ietf-yang-schema-mount"
247
248/* YumaWorks annotation to ietf-yang-schema-mount */
249#define NCXMOD_IETF_SM_MODULE_ANNOT \
250 (const xmlChar *)"yumaworks-schema-mount-annot"
251
252/* hooks-test modules is loaded during startup
253 * if WITH_HOKS_TEST flag is present
254 */
255#define NCXMOD_HOOKS_TEST (const xmlChar *)"hooks-test"
256
257#define NCXMOD_YUMA_SYSTEM (const xmlChar *)"yuma-system"
258
259/* Openconfig extensions module containing OpenConfig extension definitions
260 * "oc-ext:openconfig-version" that is mandadory filed in gNMI
261 * capability-request
262 */
263#define NCXMOD_OC_EXT (const xmlChar *)"openconfig-extensions"
264
265/* name of the NCX modules directory appended when YUMAPRO_HOME or HOME
266 * ENV vars used to construct NCX module filespec
267 */
268#define NCXMOD_DIR (const xmlChar *)"modules"
269
270/* name of the data direectory when YUMAPRO_HOME or HOME
271 * ENV vars used to construct an NCX filespec
272 */
273#define NCXMOD_DATA_DIR (const xmlChar *)"data"
274
275/* name of the scripts directory when YUMAPRO_HOME or HOME
276 * ENV vars used to construct a NCX filespec
277 */
278#define NCXMOD_SCRIPT_DIR (const xmlChar *)"scripts"
279
280/* name of the test-suites directory */
281#define NCXMOD_TEST_SUITE_DIR (const xmlChar *)"test-suites"
282
283/* STD Environment Variable for user home directory */
284#define NCXMOD_PWD "PWD"
285
286/* STD Environment Variable for user home directory */
287#define USER_HOME "HOME"
288
289/* NCX Environment Variable for YANG/NCX user work home directory */
290#define NCXMOD_HOME "YUMAPRO_HOME"
291
292/* NCX Environment Variable for tools install directory
293 * The default is /usr/share/yuma
294 */
295#define NCXMOD_INSTALL "YUMAPRO_INSTALL"
296
297/* !! should import this from make !! */
298#if defined(FREEBSD) || defined(MACOSX)
299#define NCXMOD_DEFAULT_INSTALL (const xmlChar *)"/usr/local/share/yumapro"
300#else
301#define NCXMOD_DEFAULT_INSTALL (const xmlChar *)"/usr/share/yumapro"
302#endif
303
304/* !! should import this from make !! */
305#define NCXMOD_DEFAULT_YUMALIB64 (const xmlChar *)"/usr/lib64/yumapro"
306
307#ifdef MACOSX
308#define NCXMOD_DEFAULT_YUMALIB (const xmlChar *)"/usr/local/lib/yumapro"
309#else
310#define NCXMOD_DEFAULT_YUMALIB (const xmlChar *)"/usr/lib/yumapro"
311#endif
312
313
314/* !! should import this from make !! */
315#define NCXMOD_ETC_DATA (const xmlChar *)"/etc/yumapro"
316
317/* NCX Environment Variable for MODULE search path */
318#define NCXMOD_MODPATH "YUMAPRO_MODPATH"
319
320/* NCX Environment Variable for DATA search path */
321#define NCXMOD_DATAPATH "YUMAPRO_DATAPATH"
322
323/* NCX Environment Variable for SCRIPTS search path */
324#define NCXMOD_RUNPATH "YUMAPRO_RUNPATH"
325
326/* NCX Environment Variable for MODULE load path */
327#define NCXMOD_LOADPATH "YUMAPRO_LOADPATH"
328
329/* per user yangcli internal data home when $HOME defined */
330#define NCXMOD_YUMA_DIR (const xmlChar *)"~/.yumapro"
331
332/* per user yangcli internal data home when $HOME not defined */
333#define NCXMOD_TEMP_YUMA_DIR (const xmlChar *)"/tmp/yumapro"
334
335/* Yuma work directory name */
336#define NCXMOD_YUMA_DIRNAME (const xmlChar *)".yumapro"
337
338/* sub-directory name yangcli uses to store local per-session workdirs
339 * appended to ncxmod_yumadir_path
340 */
341#define NCXMOD_TEMP_DIR (const xmlChar *)"/tmp"
342
343/* directory uses to store rpydata per step of recorded test
344 */
345#define NCXMOD_UT_RECORDTEST_DIR (const xmlChar *)"/recordtest"
346
347/* directory used to store cached schemas. */
348#define NCXMOD_YANGCLI_CACHE_DIR (const xmlChar *)"/.yangcli_cache"
349
350/* directory used to store yanglib and SID state (per server). */
351#define NCXMOD_YANGLIB_CACHE_DIR (const xmlChar *)"/.yanglib_cache"
352
353/* yanglib ID file name in the yanglib_cache/session dir */
354#define NCXMOD_YANGLIB_ID_FILE (const xmlChar *)"yangid.txt"
355
356
357#define NCXMOD_GET_SOURCE_NEEDED(s) \
358 (*(s) == (xmlChar)'~' || *(s) == (xmlChar)'.' || *(s) == (xmlChar)'$')
359
360#define NCXMOD_SEARCH_MODULE(R) (R)->module
361
362#define NCXMOD_SEARCH_REVISION(R) (R)->revision
363
364#define NCXMOD_SEARCH_SOURCE(R) (R)->source
365
366#define NCXMOD_SEARCH_NAMESPACE(R) (R)->namespacestr
367
368/* ncxmod_search_result_t flags */
369#define NCXMOD_FL_CAPMATCH bit0
370#define NCXMOD_FL_ISMOD bit1
371#define NCXMOD_FL_BEST bit2
372
373#define NCXMOD_SET_CAPMATCH(R) (R)->flags |= NCXMOD_FL_CAPMATCH
374#define NCXMOD_CLR_CAPMATCH(R) (R)->flags &= ~NCXMOD_FL_CAPMATCH
375#define NCXMOD_IS_CAPMATCH(R) ((R)->flags & NCXMOD_FL_CAPMATCH)
376
377#define NCXMOD_SET_ISMOD(R) (R)->flags |= NCXMOD_FL_ISMOD
378#define NCXMOD_IS_ISMOD(R) ((R)->flags & NCXMOD_FL_ISMOD)
379
380#define NCXMOD_SET_BEST(R) (R)->flags |= NCXMOD_FL_BEST
381#define NCXMOD_IS_BEST(R) ((R)->flags & NCXMOD_FL_BEST)
382
383/********************************************************************
384* *
385* T Y P E S *
386* *
387*********************************************************************/
388
401/* following 3 structs used for providing temporary
402 * work directories for yangcli sessions
403 */
404
406typedef struct ncxmod_temp_progcb_t_ {
407 dlq_hdr_t qhdr;
408 xmlChar *source;
409 dlq_hdr_t temp_sescbQ;
411
412
414typedef struct ncxmod_temp_sescb_t_ {
415 dlq_hdr_t qhdr;
416 xmlChar *source;
417 uint32 sidnum;
418 dlq_hdr_t temp_filcbQ;
420
421
423typedef struct ncxmod_temp_filcb_t_ {
424 dlq_hdr_t qhdr;
425 xmlChar *source;
426 const xmlChar *filename;
428
429
435typedef struct ncxmod_search_result_t_ {
436 dlq_hdr_t qhdr;
437 xmlChar *module;
438 xmlChar *belongsto;
439 xmlChar *revision;
440 xmlChar *namespacestr;
441 xmlChar *source;
444 uint32 nslen;
446 uint8 flags;
448
449
469typedef status_t (*ncxmod_callback_fn_t) (const char *fullspec,
470 void *cookie);
471
472
473
490typedef status_t (*ncxmod_backup_cbfn_t) (const char *fullspec,
491 const xmlChar *mtime,
492 void *cookie);
493
494
507typedef status_t
508 (*ncxmod_conf_cbfn_t) (const xmlChar *fullspec,
509 void *cookie);
510
511
512
520typedef void (*search_dumpfn_t) (log_debug_t level, const char *fstr, ...);
521
522
530typedef boolean
532 void *cookie);
533
534
535/********************************************************************
536* *
537* F U N C T I O N S *
538* *
539*********************************************************************/
540
541
547extern status_t
548 ncxmod_init (void);
549
550
555extern void
556 ncxmod_log_env (void);
557
558
563extern void
564 ncxmod_cleanup (void);
565
566
595extern status_t
596 ncxmod_load_module (const xmlChar *modname,
597 const xmlChar *revision,
598 dlq_hdr_t *savedevQ,
599 ncx_module_t **retmod);
600
601
628extern status_t
629 ncxmod_load_module_loadpath (const xmlChar *modname,
630 const xmlChar *revision,
631 dlq_hdr_t *savedevQ,
632 boolean is_loadpath,
633 ncx_module_t **retmod);
634
635
669extern status_t
670 ncxmod_autoload_module (const xmlChar *modname,
671 const xmlChar *revision,
672 dlq_hdr_t *savedevQ,
673 dlq_hdr_t *savemodQ,
674 dlq_hdr_t *topfailedQ,
675 ncx_module_t **retmod);
676
677
705 ncxmod_find_module (const xmlChar *modname,
706 const xmlChar *revision);
707
708
735extern status_t
736 ncxmod_find_all_modules (dlq_hdr_t *resultQ);
737
738
751extern status_t
752 ncxmod_find_all_modules_ycli_cache (dlq_hdr_t *resultQ);
753
754
755
782extern status_t
783 ncxmod_load_deviation (const xmlChar *deviname,
784 dlq_hdr_t *deviationQ);
785
786
811extern status_t
812 ncxmod_load_annotation (const xmlChar *deviname,
813 dlq_hdr_t *deviationQ);
814
815
845extern status_t
846 ncxmod_load_imodule (const xmlChar *modname,
847 const xmlChar *revision,
848 yang_pcb_t *pcb,
849 yang_parsetype_t ptyp,
850 ncx_module_t *parent,
851 ncx_module_t **retmod);
852
853
877extern yang_pcb_t *
878 ncxmod_load_module_ex (const xmlChar *modname,
879 const xmlChar *revision,
880 boolean with_submods,
881 boolean savetkc,
882 boolean keepmode,
883 boolean docmode,
884 dlq_hdr_t *savedevQ,
885 status_t *res);
886
887
907extern yang_pcb_t *
908 ncxmod_load_module_diff (const xmlChar *modname,
909 const xmlChar *revision,
910 boolean with_submods,
911 const xmlChar *modpath,
912 dlq_hdr_t *savedevQ,
913 status_t *res);
914
915
944extern xmlChar *
945 ncxmod_find_data_file (const xmlChar *fname,
946 boolean generrors,
947 boolean backup_file,
948 status_t *res);
949
950
983extern xmlChar *
984 ncxmod_find_server_data_file (const xmlChar *fname,
985 boolean fileloc_fhs,
986 boolean generrors,
987 boolean backup_file,
988 boolean keep_result,
989 status_t *res);
990
991
992
1017extern xmlChar *
1018 ncxmod_find_sil_file (const xmlChar *fname,
1019 boolean generrors,
1020 status_t *res);
1021
1022
1048extern xmlChar *
1049 ncxmod_make_data_filespec (const xmlChar *fname,
1050 boolean backup_file,
1051 status_t *res);
1052
1053
1054
1070extern xmlChar *
1071 ncxmod_make_server_data_filespec (const xmlChar *fname,
1072 boolean fileloc_fhs,
1073 boolean backup_file,
1074 status_t *res);
1075
1076
1091extern xmlChar *
1092 ncxmod_make_data_filespec_from_src (const xmlChar *srcspec,
1093 const xmlChar *fname,
1094 status_t *res);
1095
1096
1119extern xmlChar *
1120 ncxmod_find_script_file (const xmlChar *fname,
1121 status_t *res);
1122
1123
1124
1149extern xmlChar *
1150 ncxmod_find_script_file_ex (const xmlChar *fname,
1151 boolean no_err,
1152 status_t *res);
1153
1154
1177extern xmlChar *
1178 ncxmod_find_test_suite_file (const xmlChar *fname,
1179 status_t *res);
1180
1181
1189extern status_t
1190 ncxmod_set_home (const xmlChar *home);
1191
1192
1199extern const xmlChar *
1200 ncxmod_get_home (void);
1201
1202
1212extern status_t
1213 ncxmod_set_yuma_home (const xmlChar *yumahome);
1214
1215
1222extern const xmlChar *
1223 ncxmod_get_yuma_home (void);
1224
1225
1232extern const xmlChar *
1234
1235
1244extern void
1245 ncxmod_set_modpath (const xmlChar *modpath);
1246
1247
1256extern void
1257 ncxmod_set_loadpath (const xmlChar *loadpath);
1258
1259
1266extern void
1267 ncxmod_set_datapath (const xmlChar *datapath);
1268
1269
1276extern void
1277 ncxmod_set_runpath (const xmlChar *runpath);
1278
1279
1286extern void
1287 ncxmod_set_subdirs (boolean usesubdirs);
1288
1289
1295extern const xmlChar *
1296 ncxmod_get_yumadir (void);
1297
1298
1313extern status_t
1314 ncxmod_process_subtree (const char *startspec,
1315 ncxmod_callback_fn_t callback,
1316 void *cookie);
1317
1318
1327extern boolean
1328 ncxmod_test_subdir (const xmlChar *dirspec);
1329
1330
1338extern const xmlChar *
1339 ncxmod_get_userhome (const xmlChar *user,
1340 uint32 userlen);
1341
1342
1350extern const xmlChar *
1351 ncxmod_get_envvar (const xmlChar *name,
1352 uint32 namelen);
1353
1354
1362extern void
1363 ncxmod_set_altpath (const xmlChar *altpath);
1364
1365
1370extern void
1371 ncxmod_clear_altpath (void);
1372
1373
1392extern status_t
1394 boolean logstdout);
1395
1396
1415extern status_t
1417 boolean logstdout);
1418
1419
1438extern status_t
1440 boolean logstdout);
1441
1442
1448extern status_t
1449 ncxmod_setup_yumadir (void);
1450
1451
1461extern status_t
1462 ncxmod_setup_yumadir_srid (const xmlChar *srid);
1463
1464
1469extern status_t
1470 ncxmod_setup_backup_dir (const xmlChar *backup_dir);
1471
1472
1484extern status_t
1485 ncxmod_setup_fhs_dirs (void);
1486
1487
1499extern status_t
1500 ncxmod_setup_fhs_srid_dirs (const xmlChar *server_root);
1501
1502
1508extern status_t
1509 ncxmod_setup_tempdir (void);
1510
1511
1522extern status_t
1523 ncxmod_setup_yumadir_force (const xmlChar *path);
1524
1525
1533
1534
1543 ncxmod_setup_yangcli_cache_dir (const xmlChar *cache_dir);
1544
1545
1546
1547/********* YANG Library Caching Used in Client **********/
1548
1549
1561 ncxmod_setup_yanglib_cache_dir (const xmlChar *cache_dir);
1562
1563
1571extern void
1573
1574
1588 ncxmod_clear_yanglib_cache (const xmlChar *server_dir);
1589
1590
1610extern status_t
1611 ncxmod_setup_yanglib_server_dir (const xmlChar *server_dir,
1612 uint16 portnum,
1613 boolean *created);
1614
1615
1639extern status_t
1640 ncxmod_get_yanglib_id (const xmlChar *server_dir,
1641 uint16 port_num,
1642 xmlChar **retbuff);
1643
1644
1659extern status_t
1660 ncxmod_get_yanglib_filespec (const xmlChar *server_dir,
1661 uint16 port_num,
1662 const xmlChar *filename,
1663 xmlChar **retbuff);
1664
1665
1666
1681extern status_t
1682 ncxmod_set_yanglib_id (const xmlChar *server_dir,
1683 uint16 port_num,
1684 const xmlChar *yanglib_id,
1685 boolean is_replace);
1686
1687
1703extern status_t
1704 ncxmod_find_yanglib_server_dir (const xmlChar *server_dir,
1705 uint16 *portnum);
1706
1707
1715extern ncxmod_temp_progcb_t *
1717
1718
1724extern void
1726
1727
1737extern ncxmod_temp_sescb_t *
1739 uint32 sidnum,
1740 status_t *res);
1741
1742
1749extern void
1751 uint32 sidnum);
1752
1753
1763extern ncxmod_temp_filcb_t *
1765 const xmlChar *filename,
1766 status_t *res);
1767
1768
1774extern void
1776
1777
1785
1786
1795
1796
1805 ncxmod_new_search_result_str (const xmlChar *modname,
1806 const xmlChar *revision);
1807
1808
1814extern void
1816
1817
1818
1825extern void
1826 ncxmod_clean_search_result_queue (dlq_hdr_t *searchQ);
1827
1828
1842 ncxmod_find_search_result (dlq_hdr_t *searchQ,
1843 const xmlChar *modname,
1844 const xmlChar *revision,
1845 const xmlChar *nsuri);
1846
1847
1856
1857
1865extern boolean
1866 ncxmod_test_filespec (const xmlChar *filespec);
1867
1868
1875extern uint32
1876 ncxmod_get_pathlen_from_filespec (const xmlChar *filespec);
1877
1878
1886extern status_t
1887 ncxmod_get_file_mtime (const xmlChar *filespec,
1888 time_t *timebuff);
1889
1890
1901extern status_t
1903 void *cookie);
1904
1905
1915extern xmlChar *
1916 ncxmod_get_pid_filespec (const xmlChar *progname,
1917 boolean fileloc_fhs,
1918 status_t *res);
1919
1920
1931extern xmlChar *
1932 ncxmod_get_subdir_filespec (const xmlChar *subdir,
1933 boolean fileloc_fhs,
1934 status_t *res);
1935
1936
1948extern status_t
1949 ncxmod_read_num_file (const xmlChar *numfile,
1950 uint64 *curnum,
1951 boolean file_error);
1952
1953
1962extern status_t
1963 ncxmod_write_num_file (const xmlChar *numfile,
1964 uint64 curnum);
1965
1966
1974extern status_t
1975 ncxmod_copy_text_file (const xmlChar *src_filespec,
1976 const xmlChar *dest_filespec);
1977
1978
1979
1992extern status_t
1993 ncxmod_subsys_info_write (const xmlChar *filespec,
1994 const xmlChar *ipaddr,
1995 uint16 portnum);
1996
1997
2003extern void
2004 ncxmod_subsys_info_remove (const xmlChar *filespec);
2005
2006
2019extern status_t
2020 ncxmod_get_conf_files (const xmlChar *confdir,
2021 boolean must_exist,
2022 ncxmod_conf_cbfn_t cbfn,
2023 void *cookie);
2024
2025
2029extern status_t
2031
2032
2045extern status_t
2046 ncxmod_set_private_bestmatch (const xmlChar *modpath);
2047
2048
2063extern status_t
2065 void *cookie);
2066
2067
2072extern void
2074
2083extern status_t
2085 void *cookie);
2086
2087
2098extern status_t
2100 xmlChar *load_path,
2101 void *cookie);
2102
2103
2111extern boolean
2112 ncxmod_use_bestmatch_now (const xmlChar *revision);
2113
2114
2122extern void
2124 log_debug_t loglevel);
2125
2126
2134#ifdef WINDOWS
2135#define ncxmod_is_pschar(ch) \
2136 (((ch) == NCXMOD_PSCHAR) || ((ch) == NCXMOD_WIN_PSCHAR))
2137#else
2138#define ncxmod_is_pschar(ch) ((ch) == NCXMOD_PSCHAR)
2139#endif
2140
2141
2149extern const xmlChar *
2150 ncxmod_get_modpath (void);
2151
2152
2160extern const xmlChar *
2161 ncxmod_get_datapath (void);
2162
2163
2171extern const xmlChar *
2172 ncxmod_get_runpath (void);
2173
2174
2202extern xmlChar *
2203 ncxmod_find_sid_file (const xmlChar *fname,
2204 boolean generrors,
2205 status_t *res);
2206
2207
2211#ifdef __cplusplus
2212} /* end extern 'C' */
2213#endif
2214
2215#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:7240
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:7636
status_t ncxmod_get_file_mtime(const xmlChar *filespec, time_t *timebuff)
Get the last-modified time for a file.
Definition: ncxmod.c:10199
status_t ncxmod_init(void)
Initialize the ncxmod module.
Definition: ncxmod.c:4891
const xmlChar * ncxmod_get_modpath(void)
Get the ncxmod_mod_path value.
Definition: ncxmod.c:11494
status_t ncxmod_load_annotation(const xmlChar *deviname, dlq_hdr_t *deviationQ)
Load an annotation module (special compiler processing)
Definition: ncxmod.c:5628
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:9656
void ncxmod_set_altpath(const xmlChar *altpath)
Set the alternate path that should be used first (for yangdiff)
Definition: ncxmod.c:7587
ncxmod_search_result_t * ncxmod_clone_search_result(const ncxmod_search_result_t *sr)
Clone a search result.
Definition: ncxmod.c:10051
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:469
boolean ncxmod_test_subdir(const xmlChar *dirspec)
Check if the specified string is a directory.
Definition: ncxmod.c:7471
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:6284
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:7982
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:7403
void ncxmod_set_runpath(const xmlChar *runpath)
Override the YUMAPRO_RUNPATH env var with the runpath CLI var.
Definition: ncxmod.c:7331
status_t ncxmod_setup_fhs_dirs(void)
Setup the following FHS location server directories if they do not already exist.
Definition: ncxmod.c:8366
void ncxmod_free_program_tempdir(ncxmod_temp_progcb_t *progcb)
Remove a program instance temp files directory.
Definition: ncxmod.c:9482
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:5941
void ncxmod_clear_altpath(void)
Clear the alternate path so none is used (for yangdiff)
Definition: ncxmod.c:7606
const xmlChar * ncxmod_get_yumadir(void)
Get the yuma directory being used.
Definition: ncxmod.c:7376
status_t ncxmod_setup_tempdir(void)
Setup the ~/.yuma/tmp directory if it does not exist.
Definition: ncxmod.c:8536
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:7809
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:11360
status_t ncxmod_set_private_bestmatch(const xmlChar *modpath)
Check for all the modules avialable for bestmatch checking.
Definition: ncxmod.c:10875
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:10279
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:10790
status_t ncxmod_set_home(const xmlChar *home)
Override the HOME env var with the home CLI var.
Definition: ncxmod.c:7071
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:5782
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:8991
status_t ncxmod_set_bestmatch_modules(void)
Check for all the modules avialable for bestmatch checking.
Definition: ncxmod.c:10831
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:10235
uint32 ncxmod_get_pathlen_from_filespec(const xmlChar *filespec)
Get the length of th path part of the filespec string.
Definition: ncxmod.c:10158
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:7200
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:9509
boolean ncxmod_test_filespec(const xmlChar *filespec)
Check the exact filespec to see if it a file.
Definition: ncxmod.c:10129
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:5526
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:6164
status_t ncxmod_setup_yumadir(void)
Setup the ~/.yumapro directory if it does not exist.
Definition: ncxmod.c:8141
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:6457
status_t ncxmod_clear_yanglib_cache(const xmlChar *server_dir)
Clear the yanglib cache on this machine.
Definition: ncxmod.c:8930
boolean(* private_bestmatch_fn_t)(const ncxmod_search_result_t *sr, void *cookie)
Callback to walk the private_bastmatch_dict.
Definition: ncxmod.h:531
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:6812
void ncxmod_subsys_info_remove(const xmlChar *filespec)
Remove the subsystem info file.
Definition: ncxmod.c:10755
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:6609
ncxmod_search_result_t * ncxmod_new_search_result(void)
Malloc and initialize a search result struct.
Definition: ncxmod.c:9756
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:11020
void ncxmod_set_loadpath(const xmlChar *loadpath)
Override the YUMAPRO_LOADPATH env var with the loadpath CLI var.
Definition: ncxmod.c:7271
status_t ncxmod_setup_backup_dir(const xmlChar *backup_dir)
Setup the ~/.yumapro/backups directory if it does not exist.
Definition: ncxmod.c:8315
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:8681
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:5498
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:9979
status_t ncxmod_walk_private_bestmatch(private_bestmatch_fn_t cbfn, void *cookie)
Walk the private bastmatch dict.
Definition: ncxmod.c:10945
status_t ncxmod_set_yuma_home(const xmlChar *yumahome)
Override the YUMAPRO_HOME env var with the yuma-home CLI var.
Definition: ncxmod.c:7154
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:5673
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:9058
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:508
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:5210
const xmlChar * ncxmod_get_home(void)
Get the HOME or –home parameter value, whichever is in effect, if any.
Definition: ncxmod.c:7136
void ncxmod_free_session_tempfile(ncxmod_temp_filcb_t *filcb)
Clean and free a session instance temp files directory.
Definition: ncxmod.c:9734
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:10430
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:8724
status_t ncxmod_setup_recordtest_dir(void)
Setup the ~/.yumapro/recordtest directory if it does not exist.
Definition: ncxmod.c:8585
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:9105
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:5325
status_t ncxmod_setup_fhs_srid_dirs(const xmlChar *server_root)
Setup the following FHS SRID subdir location.
Definition: ncxmod.c:8453
void ncxmod_free_session_tempdir(ncxmod_temp_progcb_t *progcb, uint32 sidnum)
Clean and free a session instance temp files directory.
Definition: ncxmod.c:9605
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:490
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:5859
void ncxmod_clean_private_bestmatch(void)
clean up the private_bestmatch_dict after each use
Definition: ncxmod.c:10998
const xmlChar * ncxmod_get_datapath(void)
Get the ncxmod_data_path value.
Definition: ncxmod.c:11511
status_t ncxmod_setup_yumadir_force(const xmlChar *path)
Setup the ~/.yumapro directory if it does not exist.
Definition: ncxmod.c:8283
void ncxmod_dump_module_search_path(search_dumpfn_t dumpfn, log_debug_t loglevel)
Output the YANG module search path.
Definition: ncxmod.c:11100
status_t ncxmod_setup_yumadir_srid(const xmlChar *srid)
Setup the ~/.yumapro/SRID directory if it does not exist.
Definition: ncxmod.c:8216
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:10516
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:10360
void ncxmod_cleanup(void)
Cleanup the ncxmod module.
Definition: ncxmod.c:5091
status_t ncxmod_subsys_info_write(const xmlChar *filespec, const xmlChar *ipaddr, uint16 portnum)
Write the subsystem info file;.
Definition: ncxmod.c:10674
void ncxmod_set_subdirs(boolean usesubdirs)
Set the subdirs flag to FALSE if the no-subdirs CLI param is set.
Definition: ncxmod.c:7360
void ncxmod_set_datapath(const xmlChar *datapath)
Override the YUMA_DATAPATH env var with the datapath CLI var.
Definition: ncxmod.c:7301
ncxmod_temp_progcb_t * ncxmod_new_program_tempdir(status_t *res)
Setup a program instance temp files directory.
Definition: ncxmod.c:9379
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:9144
const xmlChar * ncxmod_get_runpath(void)
Get the ncxmod_run_path value.
Definition: ncxmod.c:11528
void ncxmod_log_env(void)
Report the environment variables used by the running system.
Definition: ncxmod.c:5040
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:8636
const xmlChar * ncxmod_get_envvar(const xmlChar *name, uint32 namelen)
Get the specified shell environment variable.
Definition: ncxmod.c:7552
boolean ncxmod_use_bestmatch_now(const xmlChar *revision)
Check if the bestmatch can be used for this module.
Definition: ncxmod.c:11084
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:9317
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:9866
const xmlChar * ncxmod_get_userhome(const xmlChar *user, uint32 userlen)
Get the user home dir from the passwd file.
Definition: ncxmod.c:7501
ncxmod_search_result_t * ncxmod_new_search_result_ex(const ncx_module_t *mod)
Malloc and initialize a search result struct.
Definition: ncxmod.c:9783
void ncxmod_free_search_result(ncxmod_search_result_t *searchresult)
Clean and free a search result struct.
Definition: ncxmod.c:9910
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:6717
xmlChar * ncxmod_find_script_file(const xmlChar *fname, status_t *res)
Determine the location of the specified script file.
Definition: ncxmod.c:6804
const xmlChar * ncxmod_get_yuma_install(void)
Get the YUMAPRO_INSTALL or default install parameter value, whichever is in effect.
Definition: ncxmod.c:7217
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:11051
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:9946
xmlChar * ncxmod_find_test_suite_file(const xmlChar *fname, status_t *res)
Determine the location of the specified test-suite file.
Definition: ncxmod.c:6944
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:10581
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:5422
void(* search_dumpfn_t)(log_debug_t level, const char *fstr,...)
Callback to do log dump function for show searchpath.
Definition: ncxmod.h:520
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:1180
struct for storing YANG file search results this is used by yangcli for schema auto-load also for fin...
Definition: ncxmod.h:435
xmlChar * source
file location
Definition: ncxmod.h:441
xmlChar * module
module or submodule name
Definition: ncxmod.h:437
dlq_hdr_t qhdr
queue header
Definition: ncxmod.h:436
xmlChar * namespacestr
set if module & namespace found
Definition: ncxmod.h:440
status_t res
search result, only use if NO_ERR
Definition: ncxmod.h:443
xmlChar * revision
set if most recent revision found
Definition: ncxmod.h:439
ncx_module_t * mod
back-ptr to found module if loaded
Definition: ncxmod.h:442
xmlChar * belongsto
set if submodule & belongs-to found
Definition: ncxmod.h:438
uint8 flags
replaces capmatch and ismod
Definition: ncxmod.h:446
cap_rec_t * cap
back-ptr to source capability URI
Definition: ncxmod.h:445
uint32 nslen
length of base part of namespacestr
Definition: ncxmod.h:444
temporary file control block
Definition: ncxmod.h:423
xmlChar * source
filespec source string
Definition: ncxmod.h:425
dlq_hdr_t qhdr
queue header
Definition: ncxmod.h:424
const xmlChar * filename
ptr into source
Definition: ncxmod.h:426
program-level temp dir control block
Definition: ncxmod.h:406
xmlChar * source
filespec source string
Definition: ncxmod.h:408
dlq_hdr_t temp_sescbQ
Q of ncxmod_temp_sescb_t.
Definition: ncxmod.h:409
dlq_hdr_t qhdr
queue header
Definition: ncxmod.h:407
session-level temp-dir control block
Definition: ncxmod.h:414
xmlChar * source
filespec source string
Definition: ncxmod.h:416
dlq_hdr_t temp_filcbQ
Q of ncxmod_temp_filcb_t.
Definition: ncxmod.h:418
dlq_hdr_t qhdr
queue header
Definition: ncxmod.h:415
uint32 sidnum
session ID number
Definition: ncxmod.h:417
YANG parser control block.
Definition: yang.h:204
YANG Module parser utilities.