yumapro  24.10-5
YumaPro SDK
Loading...
Searching...
No Matches
ncx.h
Go to the documentation of this file.
1/*
2 * Copyright (c) 2008 - 2012, Andy Bierman, All Rights Reserved.
3 * Copyright (c) 2012 - 2024, 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_ncx
13#define _H_ncx
14
15/*
16*********************************************************************
17* *
18* P U R P O S E *
19* *
20*********************************************************************/
21
32/********************************************************************
33* *
34* C H A N G E H I S T O R Y *
35* *
36*********************************************************************
37
38date init comment
39----------------------------------------------------------------------
4029-oct-05 abb Begun
4120-jul-08 abb Start YANG rewrite; remove PSD and PS
4223-aug-09 abb Update diagram in header
43*/
44
45#include <xmlstring.h>
46
47#ifndef _H_dlq
48#include "dlq.h"
49#endif
50
51#ifndef _H_getcb
52#include "getcb.h"
53#endif
54
55#ifndef _H_grp
56#include "grp.h"
57#endif
58
59#ifndef _H_log
60#include "log.h"
61#endif
62
63#ifndef _H_ncxconst
64#include "ncxconst.h"
65#endif
66
67#ifndef _H_ncxtypes
68#include "ncxtypes.h"
69#endif
70
71#ifndef _H_obj
72#include "obj.h"
73#endif
74
75#ifndef _H_rpc
76#include "rpc.h"
77#endif
78
79#ifndef _H_tk
80#include "tk.h"
81#endif
82
83#ifndef _H_typ
84#include "typ.h"
85#endif
86
87#ifndef _H_val
88#include "val.h"
89#endif
90
91#ifndef _H_xmlns
92#include "xmlns.h"
93#endif
94
95#ifndef _H_yang
96#include "yang.h"
97#endif
98
99#ifdef __cplusplus
100extern "C" {
101#endif
102
103/* macro to convert 'foo' in -DRELEASE=foo to a string */
104#define STRINGIFY0(v) #v
105#define STRINGIFY(v) STRINGIFY0(v)
106
108#define MOD_NAME(M) (M)->name
109
110
111#define PROGNAME_BUFFLEN 128
112
113/********************************************************************
114* *
115* F U N C T I O N S *
116* *
117*********************************************************************/
118
156/* access the rootcb 'active' flag; set differently
157 * on server than on the client
158 */
159#define ROOTCB_ACTIVE(R) (R)->active
160
161/* access label in rootcb */
162#define ROOTCB_LABEL(R) (R)->label
163
164/* access modname in rootcb */
165#define ROOTCB_MODNAME(R) (R)->modname
166
167/* access yanglib_cb field in rootcb */
168#define ROOTCB_YANGLIB_CB(R) &((R)->yanglib_cb)
169
170/* access objpath field */
171#define ROOTCB_OBJPATH(R) (R)->objpath
172
173/* access rootobj field */
174#define ROOTCB_ROOTOBJ(R) (R)->rootobj
175
176/* access module queue */
177#define ROOTCB_MODQ(R) &((R)->modQ)
178
179/* access deviation queue */
180#define ROOTCB_DEVQ(R) &((R)->devQ)
181
183#define ROOTCB_CAPLIST(R) (R)->caplist
184
220extern status_t
221 ncx_init (boolean netconfd,
222 boolean savestr,
223 log_debug_t dlevel,
224 boolean logtstamps,
225 boolean collapse_submods,
226 boolean xpath_backptrs,
227 const char *startmsg,
228 int argc,
229 char *argv[]);
230
231
237extern void
238 ncx_cleanup (void);
239 // END ncxlib/ncxinit
241
242
243
244
245// Header only for NCX Global Data Docs
246
256// Header only for Protocol Support Docs
257
267// Header only for NCX Global Data Docs
268
278// Header only for YANG Compiler Docs
279
289// heading only for YANG Library Docs
290
301// Heading only for YANG Module Docs
302 // BEGIN ncxlib/yang/yangcomp/yangcompgen
322
323
330extern ncx_module_t *
331 ncx_new_module (void);
332
333
350extern void
352
353
363extern status_t
365 boolean tempmod);
366
367
377extern status_t
379
380
392extern status_t
394 dlq_hdr_t *modQ);
395
396
407extern status_t
409
410
420extern status_t
422
423
436extern void
438 const xmlChar *modname,
439 const xmlChar *rpcname,
440 boolean match,
441 boolean firstmsg);
442
443
453extern const xmlChar *
454 ncx_get_name_segment (const xmlChar *str,
455 xmlChar *buff,
456 uint32 buffsize);
457
458
466extern status_t
468 ncx_status_t depstatus);
469
470
479extern void
480 ncx_free_node (ncx_node_t nodetyp,
481 void *node);
482
483
490extern ncx_tclass_t
492
493
505extern status_t
506 ncx_parse_name (const xmlChar *str,
507 uint32 *len);
508
509
523extern status_t
525 ncx_module_t *mod,
526 const xmlChar *name,
527 ncx_opt_t opt);
528
529
550extern status_t
552 ncx_module_t *mod,
553 const xmlChar *name,
554 xmlChar **namebuff,
555 ncx_opt_t opt,
556 tk_type_t ctyp);
557
558
573extern status_t
575 ncx_module_t *mod,
576 tk_type_t ttyp);
577
578
589 boolean annotation);
590
591
597extern void
599
600
606extern void
607 ncx_clean_save_deviationsQ (dlq_hdr_t *savedevQ);
608
609
622extern void
624 ncx_module_t *mod,
625 uint32 linenum,
626 uint32 linepos);
627
628
634extern void
636
637
646extern boolean
647 ncx_need_modchecks (const xmlChar *modname);
648
649
655extern status_t
656 ncx_init_user_types (void);
657
658
667extern boolean
668 ncx_check_any_object_nolock_get (const xmlChar *objname);
669
670 // END ncxlib/yang/yangcomp/yangcompgen
672
673
674 // BEGIN ncxlib/yang/yanglib/yanglibstatus
682
683
690extern boolean
691 ncx_any_mod_errors (void);
692
693
700extern boolean
701 ncx_save_descr (void);
702
703
714extern uint32
716 const xmlChar *modname);
717
718
728extern uint32
730 dlq_hdr_t *modQ,
731 const xmlChar *modname);
732
733
743extern uint32
745 dlq_hdr_t *deviationQ,
746 const xmlChar *modname);
747
748
754extern void
755 dump_modQ (dlq_hdr_t *modQ);
756
757 // END ncxlib/yang/yanglib/yanglibstatus
759
760 // BEGIN ncxlib/yang/yanglib/yanglibfind
779
780
791extern ncx_module_t *
792 ncx_find_module (const xmlChar *modname,
793 const xmlChar *revision);
794
795
807extern ncx_module_t *
808 ncx_find_module_ex (const xmlChar *modname,
809 const xmlChar *revision);
810
811
822extern ncx_module_t *
823 ncx_find_module_by_prefix (const xmlChar *prefix);
824
825
835extern ncx_module_t *
836 ncx_find_module_que (dlq_hdr_t *modQ,
837 const xmlChar *modname,
838 const xmlChar *revision);
839
840
848extern ncx_module_t *
849 ncx_find_module_que_by_prefix (dlq_hdr_t *modQ,
850 const xmlChar *prefix);
851
852
862extern ncx_module_t *
863 ncx_find_module_que_nsid (dlq_hdr_t *modQ,
864 xmlns_id_t nsid);
865
866
876extern obj_template_t *
877 ncx_find_first_rpc (const xmlChar *rpcname);
878
879
892extern obj_template_t *
893 ncx_match_any_rpc (const xmlChar *module,
894 const xmlChar *rpcname,
895 uint32 *retcount);
896
897
907extern obj_template_t *
908 ncx_find_any_object (const xmlChar *objname);
909
910
928extern obj_template_t *
929 ncx_match_any_object (const xmlChar *objname,
930 ncx_name_match_t name_match,
931 boolean alt_names,
932 status_t *retres);
933
934
955extern obj_template_t *
956 ncx_match_any_object_ex (const xmlChar *modname,
957 const xmlChar *objname,
958 boolean dataonly,
959 ncx_name_match_t name_match,
960 boolean alt_names,
961 status_t *retres);
962
963
964
975extern obj_template_t *
976 ncx_find_any_object_que (dlq_hdr_t *modQ,
977 const xmlChar *objname);
978
979
986extern ncx_module_t *
988
989
998extern ncx_module_t *
1000
1001
1008extern ncx_module_t *
1010
1011
1019extern ncx_module_t *
1020 ncx_get_next_module (const ncx_module_t *mod);
1021
1022
1032extern ncx_module_t *
1034
1035
1045extern ncx_module_t *
1047
1048
1055extern ncx_module_t *
1056 ncx_find_first_importer (const xmlChar *module);
1057
1058
1066extern ncx_module_t *
1067 ncx_find_next_importer (const xmlChar *module,
1068 ncx_module_t *curmod);
1069
1070
1077extern ncx_module_t *
1078 ncx_find_deviation_module (const xmlChar *modname);
1079
1080
1088extern obj_template_t *
1089 ncx_first_data_node (boolean cfgonly);
1090
1091
1099extern obj_template_t *
1101
1102
1108extern ncx_module_t *
1110
1111
1118extern ncx_module_t *
1120
1121 // END ncxlib/yang/yanglib/yanglibfind
1123
1124
1125
1144extern obj_template_t *
1146 const xmlChar *rpcname,
1147 uint32 *retcount);
1148
1149
1164extern typ_template_t *
1166 const xmlChar *typname,
1167 boolean useall);
1168
1169
1181extern typ_template_t *
1182 ncx_find_type_que (const dlq_hdr_t *typeQ,
1183 const xmlChar *typname);
1184
1185
1201extern grp_template_t *
1203 const xmlChar *grpname,
1204 boolean useall);
1205
1206
1215extern grp_template_t *
1216 ncx_find_grouping_que (const dlq_hdr_t *groupingQ,
1217 const xmlChar *grpname);
1218
1219
1227extern obj_template_t *
1228 ncx_find_rpc (const ncx_module_t *mod,
1229 const xmlChar *rpcname);
1230
1231
1241extern obj_template_t *
1243 const xmlChar *rpcname,
1244 uint32 *retcount);
1245
1246
1257extern obj_template_t *
1259
1260
1270extern obj_template_t *
1272 obj_template_t *obj);
1273
1274
1282extern obj_template_t *
1284 const xmlChar *objname);
1285
1293extern obj_template_t *
1295 const xmlChar *objname);
1296
1297
1307extern obj_template_t *
1309
1310
1320extern obj_template_t *
1322 boolean augment_ok);
1323
1324
1336extern obj_template_t *
1338 boolean augment_ok);
1339
1340
1351extern obj_template_t *
1353 obj_template_t *curobj);
1354
1355
1369extern obj_template_t *
1371 obj_template_t *curobj,
1372 boolean augment_ok);
1373
1374
1387extern obj_template_t *
1389 obj_template_t *curobj,
1390 boolean augment_ok);
1391
1392
1400extern obj_template_t *
1402 obj_template_t *curobj);
1403
1404
1413extern obj_template_t *
1415 boolean config);
1416
1417
1427extern obj_template_t *
1429 obj_template_t *curobj);
1430
1431 // END ncxlib/yang/yangmod/yangmodfind
1433
1434 // BEGIN ncxlib/yang/yangmod/yangmodprop
1442
1443
1451extern boolean
1453
1454
1465extern boolean
1467 const xmlChar *defname);
1468
1469
1476extern const xmlChar *
1477 ncx_get_modname (const ncx_module_t *mod);
1478
1479
1486extern xmlns_id_t
1487 ncx_get_mod_nsid (const ncx_module_t *mod);
1488
1489
1496extern const xmlChar *
1497 ncx_get_modversion (const ncx_module_t *mod);
1498
1499
1506extern const xmlChar *
1508
1509
1516extern const xmlChar *
1517 ncx_get_modsource (const ncx_module_t *mod);
1518
1519
1526extern ncx_module_t *
1528
1529
1530
1537extern const xmlChar *
1538 ncx_get_mod_prefix (const ncx_module_t *mod);
1539
1540
1552extern const xmlChar *
1554
1555
1562extern const xmlChar *
1563 ncx_get_mod_source (const ncx_module_t *mod);
1564
1565
1572extern const xmlChar *
1574
1575
1582extern const xmlChar *
1584
1585
1595extern status_t
1597 const xmlChar *ocversion);
1598
1599
1607extern dlq_hdr_t *
1609
1610
1618extern const dlq_hdr_t *
1620
1621
1629extern ncx_module_t *
1631
1632
1639extern boolean
1641
1642
1651extern boolean
1653 boolean check_config,
1654 boolean check_operational);
1655
1656
1666extern boolean
1668 boolean check_config,
1669 boolean check_operational);
1670
1671
1680extern boolean
1682
1683
1690extern void
1692
1693
1700extern ncx_module_t *
1702
1703
1704
1712extern ncx_module_t *
1714 ncx_module_t *submod);
1715
1716
1723extern void
1725 boolean supported);
1726
1727
1734extern ncx_yang_version_t
1736
1737
1743extern void
1745
1746
1758extern boolean
1759 ncx_mod_is_hidden (const ncx_module_t *mod);
1760
1761
1768extern void
1770
1771
1779extern status_t
1781 const xmlChar *idstr);
1782
1783
1790extern void
1792 boolean mode);
1793
1794
1800extern void
1802
1803
1810extern boolean
1812
1813
1820extern boolean
1821 ncx_modname_is_ocpattern (const xmlChar *modname);
1822
1823
1834extern boolean
1835 ncx_skip_child_node_warn (const xmlChar *modname);
1836
1837
1844extern void ncx_clr_enable_chk (ncx_module_t *mod);
1845
1846
1853extern void
1855 boolean is_src);
1856
1857
1865extern boolean
1867 boolean is_src);
1868
1869
1878extern boolean
1880
1881 // END ncxlib/yang/yangmod/yangmodprop
1883
1884
1885 // BEGIN ncxlib/yang/yangmod/yangmodutil
1893
1894
1904extern void
1906
1907
1918extern void
1920
1921
1938extern void
1940
1941
1942
1952extern status_t
1954
1955
1962extern void
1964
1965
1972extern void
1974
1975
1982extern void
1984
1985 // END ncxlib/yang/yangmod/yangmodutil
1987
1988
1989
1990
1991// Heading only for YANG Data Docs
1992
1993
2019extern ncx_import_t *
2020 ncx_new_import (void);
2021
2022
2033extern void
2034 ncx_free_import (ncx_import_t *import);
2035
2036
2044extern ncx_import_t *
2045 ncx_find_import (const ncx_module_t *mod,
2046 const xmlChar *module);
2047
2048
2056extern ncx_import_t *
2057 ncx_find_import_que (const dlq_hdr_t *importQ,
2058 const xmlChar *module);
2059
2060
2070extern ncx_import_t *
2072 const xmlChar *module);
2073
2074
2082extern ncx_import_t *
2084 const xmlChar *prefix);
2085
2086
2094extern ncx_import_t *
2095 ncx_find_pre_import_que (const dlq_hdr_t *importQ,
2096 const xmlChar *prefix);
2097
2098
2108extern ncx_import_t *
2110 const xmlChar *prefix);
2111
2112
2121extern boolean
2123 const xmlChar *module,
2124 const xmlChar *revision);
2125
2126
2146extern void *
2148 ncx_import_t *imp,
2149 const xmlChar *defname,
2150 ncx_node_t *deftyp);
2151 // END ncxlib/yang/yangdata/yangimport
2153
2154
2155
2171extern ncx_include_t *
2172 ncx_new_include (void);
2173
2174
2185extern void
2187
2188
2196extern ncx_include_t *
2197 ncx_find_include (const ncx_module_t *mod,
2198 const xmlChar *submodule);
2199
2200 // END ncxlib/yang/yangdata/yanginclude
2202
2203
2225extern ncx_binary_t *
2226 ncx_new_binary (void);
2227
2228
2233extern void
2234 ncx_init_binary (ncx_binary_t *binary);
2235
2236
2242extern void
2244
2245
2251extern void
2252 ncx_free_binary (ncx_binary_t *binary);
2253
2254 // END ncxlib/yang/yangdata/yangbindata
2256
2257 // BEGIN ncxlib/yang/yangdata/yangidentity
2265
2266
2272extern ncx_identity_t *
2273 ncx_new_identity (void);
2274
2275
2282extern ncx_identity_base_t *
2283 ncx_new_identity_base (void);
2284
2285
2291extern void
2293
2294
2301extern ncx_identity_base_t *
2303
2304
2311extern ncx_identity_base_t *
2313
2314
2321extern uint32
2322 ncx_identity_base_count (ncx_identity_t *identity);
2323
2324
2330extern void
2332
2333
2344extern ncx_identity_t *
2346 const xmlChar *name,
2347 boolean useall);
2348
2349
2358extern void
2361 void *cookie);
2362
2363
2364/*
2365 * @brief Iterate all the YANG object definitions in the module
2366 *
2367 * @param mod module to search
2368 * @param cbfn The object_cbfn_t to invoke for each object found
2369 * @param cookie User cookie to pass to callback (may be NULL)
2370 */
2371extern void
2372 ncx_for_all_objects (ncx_module_t *mod,
2373 ncx_object_cbfn_t cbfn,
2374 void *cookie);
2375
2376
2384extern ncx_identity_t *
2385 ncx_find_identity_que (dlq_hdr_t *identityQ,
2386 const xmlChar *name);
2387
2388
2395extern xmlns_id_t
2396 ncx_get_identity_nsid (const ncx_identity_t *identity);
2397
2398
2405extern boolean
2407
2408
2421extern void
2424 void *cookie);
2425
2426
2427 // END ncxlib/yang/yangdata/yangidentity
2429
2430
2447extern ncx_filptr_t *
2448 ncx_new_filptr (void);
2449
2450
2456extern void
2457 ncx_free_filptr (ncx_filptr_t *filptr);
2458
2459
2465extern ncx_revhist_t *
2466 ncx_new_revhist (void);
2467
2468
2473extern void
2475
2476
2484extern ncx_revhist_t *
2485 ncx_find_revhist (const ncx_module_t *mod,
2486 const xmlChar *ver);
2487
2488 // END ncxlib/yang/yangdata/yangcompgen
2490
2491
2507extern void
2509
2510
2516extern void
2518
2519
2531extern int32
2532 ncx_compare_enums (const ncx_enum_t *enu1,
2533 const ncx_enum_t *enu2);
2534
2535
2547extern status_t
2548 ncx_set_enum (const xmlChar *enum_name,
2549 const int32 enum_val,
2550 ncx_enum_t *retenu);
2551
2552 // END ncxlib/yang/yangdata/yangenum
2554
2555
2570extern void
2571 ncx_init_bit (ncx_bit_t *bit);
2572
2573
2579extern void
2580 ncx_clean_bit (ncx_bit_t *bit);
2581
2582
2595extern int32
2596 ncx_compare_bits (const ncx_bit_t *bitone,
2597 const ncx_bit_t *bittwo);
2598
2599 // END ncxlib/yang/yangdata/yangbit
2601
2602
2603
2618extern ncx_typname_t *
2619 ncx_new_typname (void);
2620
2621
2628extern void
2630
2631
2639extern const xmlChar *
2640 ncx_find_typname (const typ_template_t *typ,
2641 const dlq_hdr_t *que);
2642
2643
2652extern const typ_template_t *
2653 ncx_find_typname_type (const dlq_hdr_t *que,
2654 const xmlChar *typname);
2655
2656
2662extern void
2663 ncx_clean_typnameQ (dlq_hdr_t *que);
2664
2665 // END ncxlib/yang/yangdata/yangtypname
2667
2668
2684extern ncx_errinfo_t *
2685 ncx_new_errinfo (void);
2686
2687
2693extern void
2695
2696
2703extern void
2705
2706
2713extern void
2715
2716
2727extern boolean
2728 ncx_errinfo_set (const ncx_errinfo_t *errinfo);
2729
2730
2739extern status_t
2740 ncx_copy_errinfo (const ncx_errinfo_t *src,
2741 ncx_errinfo_t *dest);
2742
2743
2744 // END ncxlib/yang/yangdata/yangdataerrinfo
2746
2747
2748
2749
2750
2751
2752
2753 // BEGIN ncxlib/ncxglobals/ncxgenobj
2763
2764
2770extern obj_template_t *
2771 ncx_get_gen_anyxml (void);
2772
2773
2779extern obj_template_t *
2780 ncx_get_gen_container (void);
2781
2782
2788extern obj_template_t *
2789 ncx_get_gen_string (void);
2790
2791
2797extern obj_template_t *
2798 ncx_get_gen_empty (void);
2799
2800
2806extern obj_template_t *
2807 ncx_get_gen_root (void);
2808
2809
2815extern obj_template_t *
2816 ncx_get_gen_binary (void);
2817
2823extern obj_template_t *
2824 ncx_get_gen_leaflist (void);
2825
2826
2832extern obj_template_t *
2833 ncx_get_yang_insert (void);
2834
2835
2841extern obj_template_t *
2842 ncx_get_yang_key (void);
2843
2844
2850extern obj_template_t *
2851 ncx_get_yang_value (void);
2852
2853
2860extern obj_template_t *
2861 ncx_get_nc_operation (void);
2862
2863
2870extern obj_template_t *
2871 ncx_get_datapath_obj (void);
2872
2873
2880extern obj_template_t *
2882
2883
2890extern obj_template_t *
2891 ncx_get_btype_obj (void);
2892
2893
2899extern boolean
2901
2902 // END ncxlib/ncxglobals/ncxgenobj
2904
2905
2906 // BEGIN ncxlib/ncxglobals/ncxgenvar
2917
2918
2924extern ncx_display_mode_t
2925 ncx_get_display_mode (void);
2926
2927
2933extern uint32
2935
2936
2944extern boolean
2945 ncx_get_useprefix (void);
2946
2947
2955extern void
2956 ncx_set_useprefix (boolean val);
2957
2958
2966extern boolean
2967 ncx_get_system_sorted (void);
2968
2969
2977extern void
2978 ncx_set_system_sorted (boolean val);
2979
2980
2989extern ncx_sort_type_t
2991
2992
2999extern void
3001
3002
3012extern boolean
3013 ncx_get_cwd_subdirs (void);
3014
3015
3023extern boolean
3025
3026
3033extern void
3035
3036
3042extern void
3044
3045
3053extern void
3054 ncx_set_use_deadmodQ (void);
3055
3056
3066extern int8
3068
3069
3076extern void
3077 ncx_set_message_indent (int8 msg_indent);
3078
3079
3086extern boolean
3088
3089
3096extern status_t
3098
3099
3105extern boolean
3106 ncx_fastpath_enabled (void);
3107
3108
3114extern boolean
3115 ncx_netconfd_running (void);
3116
3117
3123extern void
3124 ncx_use_data_templates (boolean enabled);
3125
3126
3132extern boolean
3133 ncx_data_templates_ok (void);
3134
3135
3141extern void
3142 ncx_ignore_missing_vars (boolean enabled);
3143
3144
3150extern boolean
3151 ncx_missing_vars_ok (void);
3152
3153
3157extern void
3159
3160
3164extern void
3166
3172extern boolean
3174
3175
3182extern status_t
3183 ncx_set_subsys_id (const xmlChar *id);
3184
3190extern const xmlChar *
3191 ncx_get_subsys_id (void);
3192
3193
3198extern void
3199 ncx_set_use_objptrs (void);
3200
3208extern boolean
3209 ncx_use_objptrs (void);
3210
3211
3217extern ncx_backptr_t *
3218 ncx_first_objptr (void);
3219
3220
3227extern ncx_backptr_t *
3229
3230
3231#ifdef DEBUG
3236extern void
3237 ncx_dump_objptrQ (void);
3238#endif // DEBUG
3239
3240
3248extern void
3249 ncx_set_getbulk_max (uint32 max_entries);
3250
3251
3257extern uint32
3258 ncx_get_getbulk_max (void);
3259
3260
3266extern void
3268
3269
3275extern boolean
3277
3278
3288extern void
3290
3291
3298extern boolean
3300
3301
3309extern boolean
3310 ncx_base_schema_set (void);
3311
3312
3318extern void
3319 ncx_set_base_schema (void);
3320
3321
3330extern boolean
3331 ncx_need_get2_xpath (void);
3332
3333
3340extern void
3341 ncx_set_with_ocpattern (boolean mode);
3342
3343
3349extern boolean
3351
3352
3358extern void
3360
3361
3369extern boolean
3370 ncx_is_with_snmp (void);
3371
3372
3380extern void
3381 ncx_set_with_snmp (boolean val);
3382
3383
3389extern void
3390 ncx_enable_bestmatch (void);
3391
3392
3401extern status_t
3402 ncx_set_bestmatch (void);
3403
3404
3410extern void
3412
3413
3420extern boolean
3422
3423
3429extern boolean
3431
3432
3439extern void
3440 ncx_set_sethook_registered (boolean val);
3441
3442
3448extern void
3449 ncx_set_binary_display_maxlen (uint32 val);
3450
3451
3457extern uint32
3459
3460
3466extern boolean
3467 ncx_is_with_dblock (void);
3468
3469
3475extern void
3476 ncx_set_with_dblock (boolean val);
3477
3478
3485extern boolean
3487
3488
3494extern void
3495 ncx_set_db_lock_init_done (boolean val);
3496
3497
3503extern void
3504 ncx_set_max_strlen (int32 num);
3505
3506
3512extern int32
3513 ncx_get_max_strlen (void);
3514
3515
3520extern void
3522
3523
3529extern boolean
3531
3532
3537extern void
3539
3540
3546extern boolean
3548
3549
3559extern void
3560 ncx_set_trim_whitespace (boolean val);
3561
3562
3569extern boolean
3571
3572
3581extern void
3582 ncx_set_startup_prune (boolean val);
3583
3584
3593extern boolean
3594 ncx_get_startup_prune (void);
3595
3596
3606extern boolean
3608
3609
3617extern void
3619
3620
3626extern ncx_config_state_t
3627 ncx_get_config_state (void);
3628
3629
3637extern void
3638 ncx_set_xmlorder (boolean val);
3639
3640
3647extern boolean
3648 ncx_get_xmlorder (void);
3649
3650
3658extern void
3659 ncx_set_list_deleteall_ok (boolean val);
3660
3661
3669extern boolean
3671
3672
3680extern void
3681 ncx_set_leaflist_deleteall_ok (boolean val);
3682
3683
3691extern boolean
3693
3694
3702extern boolean
3704
3705
3712extern void
3713 ncx_set_with_canonical (boolean val);
3714
3715
3722extern boolean
3724
3725
3735extern void
3736 ncx_set_save_owners (boolean val);
3737
3738
3745extern boolean
3746 ncx_get_save_owners (void);
3747
3748 // END ncxlib/ncxglobals/ncxgenvar
3750
3751
3752// heading only
3753 // BEGIN ncxlib/ncxstrenum
3771
3772
3781extern const xmlChar *
3782 ncx_get_layer (ncx_layer_t layer);
3783
3784
3791extern ncx_cvttyp_t
3792 ncx_get_cvttyp_enum (const char *str);
3793
3794
3801extern ncx_status_t
3802 ncx_get_status_enum (const xmlChar *str);
3803
3804
3811extern const xmlChar *
3813
3814
3821extern ncx_data_class_t
3822 ncx_get_data_class_enum (const xmlChar *str);
3823
3824
3831extern const xmlChar *
3833
3834
3841extern const xmlChar *
3842 ncx_get_access_str (ncx_access_t max_access);
3843
3844
3851extern ncx_access_t
3852 ncx_get_access_enum (const xmlChar *str);
3853
3854
3863extern boolean
3864 ncx_is_true (const xmlChar *str);
3865
3866
3874extern boolean
3875 ncx_is_false (const xmlChar *str);
3876
3877
3884extern ncx_bad_data_t
3885 ncx_get_baddata_enum (const xmlChar *valstr);
3886
3887
3894extern const xmlChar *
3896
3897
3904extern const xmlChar *
3906
3907
3914extern ncx_withdefaults_t
3915 ncx_get_withdefaults_enum (const xmlChar *withdefstr);
3916
3917
3924extern int32
3925 ncx_get_withdefaults_value (const xmlChar *withdefstr);
3926
3927
3935extern ncx_display_mode_t
3936 ncx_get_display_mode_enum (const xmlChar *dmstr);
3937
3938
3945extern const xmlChar *
3947
3948
3955extern const xmlChar *
3957
3958
3967extern const xmlChar *
3968 ncx_get_protocols_enabled (uint16 flags);
3969
3970
3977extern const xmlChar *
3979
3980
3987extern ncx_name_match_t
3988 ncx_get_name_match_enum (const xmlChar *str);
3989
3990
3997extern const xmlChar *
3999
4000
4007extern int32
4009
4010
4019extern status_t
4020 ncx_str2txid (const xmlChar *str,
4021 ncx_transaction_id_t *txid);
4022
4023
4032extern status_t
4034 xmlChar **retbuff);
4035
4036
4043extern const xmlChar *
4045
4046
4053extern const xmlChar *
4055
4056
4063extern ncx_msg_encoding_t
4064 ncx_cvt_encoding_str (const xmlChar *msg_encoding);
4065
4066
4072extern const xmlChar *
4074
4075
4082extern const xmlChar *
4084
4085 // END ncxlib/ncxutil/ncxstrenum
4087
4088
4089
4109extern void
4111 ncx_module_t *mod,
4112 status_t res);
4113
4114
4128extern void
4130 ncx_module_t *mod,
4131 status_t res,
4132 const char *filename,
4133 uint32 linenum,
4134 boolean fineoln);
4135
4136
4144extern void
4146 status_t result,
4147 const char *expstr);
4148
4149
4158extern void
4160 ncx_module_t *mod,
4161 status_t result,
4162 const char *expstr);
4163
4164
4174extern void
4176 ncx_module_t *mod,
4177 const char *stmtstr,
4178 const char *expstr);
4179
4180
4191extern ncx_errmsg_t *
4193 const xmlChar *str);
4194
4195
4201extern void
4203
4204
4205 // END ncxlib/yang/yangcomp/yangcomperr
4207
4208
4209 // BEGIN ncxlib/yang/yangcomp/yangcompidentifier
4219
4220
4227extern boolean
4228 ncx_valid_name_ch (uint32 ch);
4229
4230
4237extern boolean
4238 ncx_valid_fname_ch (uint32 ch);
4239
4240
4248extern boolean
4249 ncx_valid_name (const xmlChar *str,
4250 uint32 len);
4251
4252
4266extern boolean
4267 ncx_valid_num_name (const xmlChar *str);
4268
4269
4278extern boolean
4279 ncx_valid_name2 (const xmlChar *str);
4280
4281 // END ncxlib/yang/yangcomp/yangcompidentifier
4283
4284
4285 // BEGIN ncxlib/ncxutil/ncxutilgen
4293
4316extern xmlChar *
4317 ncx_get_source_ex (const xmlChar *fspec,
4318 boolean expand_cwd,
4319 status_t *res);
4320
4321
4344extern xmlChar *
4345 ncx_get_source (const xmlChar *fspec,
4346 status_t *res);
4347
4348
4358extern boolean
4359 ncx_prefix_different (const xmlChar *prefix1,
4360 const xmlChar *prefix2,
4361 const xmlChar *modprefix);
4362
4363
4373extern status_t
4374 ncx_get_version (xmlChar *buffer,
4375 uint32 buffsize);
4376
4377
4387extern status_t
4388 ncx_get_semver (xmlChar *buffer,
4389 uint32 buffsize);
4390
4391
4401extern status_t
4402 ncx_get_full_version (xmlChar *buffer,
4403 uint32 buffsize);
4404
4405
4406
4414extern const char *
4415 ncx_get_build_date (void);
4416
4417
4418
4426extern status_t
4427 ncx_get_feature_code (xmlChar *buffer,
4428 uint32 buffsize);
4429
4438extern int32
4439 ncx_compare_base_uris (const xmlChar *str1,
4440 const xmlChar *str2);
4441
4442
4451extern boolean
4453 uint16 flags);
4454
4455
4456
4466extern void
4468 uint16 *flags);
4469
4470
4479extern void
4481 uint16 *flags);
4482
4483
4490extern boolean
4492
4493
4502extern void
4503 ncx_write_tracefile (const char *buff, uint32 count);
4504
4505
4516extern status_t
4517 ncx_decode_url_string (const xmlChar *urlstr,
4518 uint32 urlstrlen,
4519 xmlChar *buffer,
4520 uint32 *cnt);
4521
4522
4523
4534extern status_t
4535 ncx_create_pidfile (const xmlChar *progname,
4536 boolean fileloc_fhs);
4537
4538
4545extern status_t
4546 ncx_add_ydtrace (const xmlChar *fspec);
4547
4548
4555extern boolean
4556 ncx_find_ydtrace (const xmlChar *fspec);
4557
4558
4567 ncx_get_file_result_format (const xmlChar *filespec);
4568
4569
4582extern boolean
4583 ncx_library_mode_ok (const xmlChar *modname,
4584 const xmlChar *rpcname);
4585
4586
4592extern const char *
4593 ncx_get_progname (void);
4594
4595
4602extern boolean
4604
4605
4613extern boolean
4614 ncx_check_inline_data_state (const xmlChar *line,
4615 boolean curstate);
4616
4617 // END ncxlib/ncxutil/ncxutilgen
4619
4620
4621
4622// Heading Only
4647extern void
4648 ncx_set_cur_modQ (dlq_hdr_t *que);
4649
4650
4654extern void
4655 ncx_reset_modQ (void);
4656
4657
4672extern void
4673 ncx_set_session_modQ (dlq_hdr_t *que);
4674
4675
4681extern dlq_hdr_t *
4682 ncx_get_session_modQ (void);
4683
4684
4697extern void
4699
4700
4706extern void
4707 ncx_set_temp_modQ (dlq_hdr_t *modQ);
4708
4709
4715extern dlq_hdr_t *
4716 ncx_get_temp_modQ (void);
4717
4718
4723extern void
4724 ncx_clear_temp_modQ (void);
4725
4726
4727 // END ncxlib/yang/yanglib/yanglibconf/yanglibconfq
4729
4730
4747extern status_t
4749
4750
4756extern void
4758
4759
4766extern status_t
4768
4769
4775extern void
4777
4778
4785extern status_t
4787
4788
4794extern void
4796
4797
4804extern void
4806 obj_template_t *obj);
4807
4808
4814extern void
4816
4817
4824extern const xmlChar *
4826
4827 // END ncxlib/yang/yanglib/yanglibconf/yanglibconfcb
4829
4846extern void
4847 ncx_set_warn_idlen (uint32 warnlen);
4848
4849
4855extern uint32
4856 ncx_get_warn_idlen (void);
4857
4858
4864extern void
4865 ncx_set_warn_linelen (uint32 warnlen);
4866
4867
4873extern uint32
4874 ncx_get_warn_linelen (void);
4875
4876
4886extern void
4888 ncx_module_t *mod,
4889 const xmlChar *id);
4890
4891
4901extern void
4903 ncx_module_t *mod,
4904 const xmlChar *line);
4905
4906
4913extern status_t
4915
4916
4923extern status_t
4925
4926
4933extern status_t
4935
4936
4942extern void
4943 ncx_set_warn_error (boolean val);
4944
4945
4951extern void
4952 ncx_set_warn_off_yang (boolean val);
4953
4954
4960extern boolean
4961 ncx_get_warn_off_yang (void);
4962
4970extern boolean
4972
4973
4981extern boolean
4983
4984
4991extern void
4993
4994
5010extern void
5011 ncx_set_top_mandatory_allowed (boolean allowed);
5012
5013
5020extern boolean
5022
5023
5033extern boolean
5035
5036
5042extern void
5043 ncx_set_module_setid (uint32 new_setid);
5044
5045
5051extern uint32
5052 ncx_get_module_setid (void);
5053
5054
5064extern status_t
5065 ncx_sprintf_module_setid (uint32 id,
5066 xmlChar *buff,
5067 int32 buffsize);
5068
5069
5076extern boolean
5078
5079
5086extern void
5087 ncx_set_empty_npcon_presence (boolean val);
5088
5089
5099extern boolean
5101
5102
5113extern void
5114 ncx_set_empty_npcon_presence_ro (boolean val);
5115
5116
5117
5118
5119 // END ncxlib/yang/yanglib/yanglibconf/yanglibconfset
5121
5122
5123
5124
5125 // BEGIN ncxlib/ncxutil/ncxbackptr
5140
5141
5148extern ncx_backptr_t *
5149 ncx_new_backptr (void *node);
5150
5151
5158extern void
5160
5161
5172extern void
5174
5175
5181extern void
5182 ncx_clean_backptrQ (dlq_hdr_t *backptrQ);
5183
5184
5191extern void
5192 ncx_clean_mbackptrQ (dlq_hdr_t *backptrQ);
5193
5194
5201extern ncx_backptr_t *
5202 ncx_first_backptr (dlq_hdr_t *que);
5203
5204
5211extern const ncx_backptr_t *
5212 ncx_first_const_backptr (const dlq_hdr_t *que);
5213
5214
5221extern ncx_backptr_t *
5222 ncx_last_backptr (dlq_hdr_t *que);
5223
5224
5231extern ncx_backptr_t *
5233
5240extern const ncx_backptr_t *
5241 ncx_next_const_backptr (const ncx_backptr_t *curptr);
5242
5243
5250extern ncx_backptr_t *
5252
5253
5260extern void *
5262
5263
5270extern const void *
5272
5273
5279extern void
5281
5282
5290extern ncx_backptr_t *
5291 ncx_find_backptr (const dlq_hdr_t *que,
5292 void *node);
5293
5294
5295
5296 // END ncxlib/ncxutil/ncxbackptr
5298
5299
5321extern ncx_save_deviations_t *
5322 ncx_find_save_deviations (const xmlChar *deviname,
5323 dlq_hdr_t *deviationQ);
5324
5325
5331extern void
5333
5334
5343extern boolean
5344 ncx_ok_skip_deviation_module (const xmlChar *modname,
5345 dlq_hdr_t *save_deviationsQ);
5346
5347
5348 // END ncxlib/yang/yangdata/yangdeviation
5350
5351
5352
5353 // BEGIN ncxlib/ncxutil/ncxutilfile
5361
5362
5368extern void
5369 ncx_socket_close (int fd);
5370
5381extern void
5382 ncx_socket_close_noerr (int fd);
5383
5384
5390extern void
5391 ncx_file_close (FILE *fp);
5392
5393
5401extern status_t
5402 ncx_file_remove (const xmlChar *filespec,
5403 boolean do_warn);
5404
5405
5414extern status_t
5415 ncx_file_rename (const xmlChar *old_filespec,
5416 const xmlChar *new_filespec,
5417 boolean do_warn);
5418
5426extern status_t
5427 ncx_file_copy (const xmlChar *src_filespec,
5428 const xmlChar *dst_filespec);
5429
5430
5439extern status_t
5440 ncx_file_buffcopy (const xmlChar *src_buff,
5441 uint32 src_bufflen,
5442 const xmlChar *dst_filespec);
5443
5444
5453extern status_t
5454 ncx_file_size (const char *filespec,
5455 uint32 *siz);
5456
5457
5467extern status_t
5468 ncx_file_to_buffer (const char *filespec,
5469 xmlChar **outbuff);
5470
5478extern status_t
5479 ncx_buffer_to_file (const char *filespec,
5480 const xmlChar *inbuff);
5481
5482
5492extern status_t
5493 ncx_get_temp_filespec (xmlChar *buff,
5494 uint32 bufflen,
5495 const xmlChar *rootpart,
5496 const xmlChar *ext);
5497
5498
5508extern ncx_modcache_t *
5509 ncx_new_modcache (const xmlChar *modname,
5510 boolean hidemod);
5511
5512
5518extern void
5520
5521
5522 // END ncxlib/ncxutil/ncxutilfile
5524
5525
5526
5538extern void ncx_set_use_return_status (void);
5539
5540
5541
5547extern boolean ncx_use_return_status (void);
5548
5549
5556extern ncx_bad_reply_enum
5557 ncx_get_handle_badreply_enum (const xmlChar *valstr);
5558
5559
5566extern const xmlChar *
5568
5569
5575extern void
5577
5578
5584extern ncx_bad_reply_enum
5586
5587
5596extern boolean
5598
5599
5600
5610extern ncx_etag_t
5612
5613
5620extern const xmlChar *
5622
5623
5630extern uint16
5632
5633
5639extern dlq_hdr_t *
5640 ncx_get_rootQ (void);
5641
5642
5648extern ncx_sm_rootcb_t *
5649 ncx_first_rootcb (void);
5650
5651
5659extern ncx_sm_rootcb_t *
5661
5662
5673extern boolean
5674 ncx_is_sm_mode (void);
5675
5676
5687extern void
5688 ncx_set_sm_mode (boolean val);
5689
5690
5698extern ncx_sm_rootcb_t *
5699 ncx_get_cur_rootcb (void);
5700
5701
5709extern void
5711
5712
5720extern obj_template_t *
5722
5723
5724
5735extern boolean
5736 ncx_get_sm_enabled (void);
5737
5738
5744extern void
5745 ncx_set_sm_enabled (boolean val);
5746
5752extern boolean
5753 ncx_yang_cbor_enabled (void);
5754
5760extern unsigned short
5762
5763
5769extern void
5770 ncx_set_tcp_connect_timeout (unsigned short timeout_sec);
5771
5772
5781extern ncx_module_t *
5782 ncx_find_module_que_all (dlq_hdr_t *modQ,
5783 const xmlChar *modname,
5784 const xmlChar *revision);
5793extern void
5795
5804extern void
5805 ncx_redo_loadmod_all (void);
5806
5807
5814extern void
5816
5817
5823extern boolean
5825
5832extern void
5834
5842extern boolean
5843 ncx_mod_parse_done (const ncx_module_t *mod);
5844
5845 // END ncxlib/ncxutil/ncxutilfile
5847
5848#ifdef __cplusplus
5849} /* end extern 'C' */
5850#endif
5851
5852#endif /* _H_ncx */
dlq provides general double-linked list and queue support:
GET1 and GET2 Callback Support.
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:210
uint16 xmlns_id_t
integer handle for registered namespaces
Definition: xmlns.h:89
const ncx_backptr_t * ncx_first_const_backptr(const dlq_hdr_t *que)
Get first back pointer struct CONST.
Definition: ncx.c:12966
void ncx_free_mbackptr(ncx_backptr_t *ptr)
Free an ncx_backptr_t struct; Free the 'node' pointer first.
Definition: ncx.c:12885
void ncx_clean_backptrQ(dlq_hdr_t *backptrQ)
Clean an entire Q of ncx_backptr_t structs.
Definition: ncx.c:12904
ncx_backptr_t * ncx_first_backptr(dlq_hdr_t *que)
Get first back pointer struct.
Definition: ncx.c:12947
ncx_backptr_t * ncx_new_backptr(void *node)
Malloc and initialize a new ncx_backptr_t struct.
Definition: ncx.c:12846
ncx_backptr_t * ncx_next_backptr(ncx_backptr_t *curptr)
Get next back pointer struct.
Definition: ncx.c:13004
ncx_backptr_t * ncx_last_backptr(dlq_hdr_t *que)
Get last back pointer struct.
Definition: ncx.c:12985
ncx_backptr_t * ncx_find_backptr(const dlq_hdr_t *que, void *node)
Find the specified back pointer struct.
Definition: ncx.c:13118
void * ncx_get_backptr_node(ncx_backptr_t *backptr)
Get the back pointer node pointer.
Definition: ncx.c:13061
void ncx_free_backptr(ncx_backptr_t *ptr)
Free an ncx_backptr_t struct.
Definition: ncx.c:12867
ncx_backptr_t * ncx_prev_backptr(ncx_backptr_t *curptr)
Get previous back pointer struct.
Definition: ncx.c:13042
const void * ncx_get_const_backptr_node(const ncx_backptr_t *backptr)
Get the back pointer node pointer CONST.
Definition: ncx.c:13080
void ncx_clean_mbackptrQ(dlq_hdr_t *backptrQ)
Clean an entire Q of ncx_backptr_t structs Use ncx_free_mbackptr to free node pointers.
Definition: ncx.c:12926
const ncx_backptr_t * ncx_next_const_backptr(const ncx_backptr_t *curptr)
Get next back pointer struct CONST.
Definition: ncx.c:13023
void ncx_remove_backptr(ncx_backptr_t *ptr)
Remove the specified backptr for deletion.
Definition: ncx.c:13098
boolean ncx_obj_is_generic(const obj_template_t *obj)
Check if the object is 1 of the gen_foo object templates.
Definition: ncx.c:14649
obj_template_t * ncx_get_btype_obj(void)
Get the cached datapath meta-object template used to contruct a metaval for the attribute.
Definition: ncx.c:13272
obj_template_t * ncx_get_nc_operation(void)
Get the cached operation meta-object template used to contruct a metaval for the attribute.
Definition: ncx.c:13172
obj_template_t * ncx_get_yang_insert(void)
Get the object template for the YANG insert attribute.
Definition: ncx.c:7768
obj_template_t * ncx_get_yang_value(void)
Get the object template for the YANG value attribute.
Definition: ncx.c:7794
obj_template_t * ncx_get_gen_root(void)
Get the object template for the NCX generic root container.
Definition: ncx.c:7725
obj_template_t * ncx_get_gen_empty(void)
Get the object template for the NCX generic empty leaf.
Definition: ncx.c:7711
obj_template_t * ncx_get_gen_container(void)
Get the object template for the NCX generic container.
Definition: ncx.c:7683
obj_template_t * ncx_get_fixed_value_obj(void)
Get the cached fixed-value meta-object template used to contruct a metaval for the attribute.
Definition: ncx.c:13239
obj_template_t * ncx_get_yang_key(void)
Get the object template for the YANG key attribute.
Definition: ncx.c:7781
obj_template_t * ncx_get_gen_leaflist(void)
Get the object template for the NCX generic leaf-list string.
Definition: ncx.c:7755
obj_template_t * ncx_get_datapath_obj(void)
Get the cached datapath meta-object template used to contruct a metaval for the attribute.
Definition: ncx.c:13206
obj_template_t * ncx_get_gen_anyxml(void)
Get the object template for the NCX generic anyxml container.
Definition: ncx.c:7669
obj_template_t * ncx_get_gen_binary(void)
Get the object template for the NCX generic binary leaf.
Definition: ncx.c:7740
obj_template_t * ncx_get_gen_string(void)
Get the object template for the NCX generic string leaf.
Definition: ncx.c:7697
boolean ncx_get_pidfile_cleaned(void)
Get the PID file cleaned flag.
Definition: ncx.c:16634
const xmlChar * ncx_get_subsys_id(void)
Get the subsys_id value; NULL if not set.
Definition: ncx.c:14203
boolean ncx_get_startup_prune(void)
Get the startup_prune flag.
Definition: ncx.c:16723
boolean ncx_need_get2_xpath(void)
Check if GET2 callback support needed in XPath.
Definition: ncx.c:15392
boolean ncx_is_with_snmp(void)
Get the with_snmp value.
Definition: ncx.c:15712
boolean ncx_get_search_modQ_ok(void)
Get the search_modQ_ok flag.
Definition: ncx.c:14169
void ncx_set_sil_priority_used(void)
Flag that an object set a non-default SIL priority.
Definition: ncx.c:14588
ncx_backptr_t * ncx_first_objptr(void)
Get the first object pointer.
Definition: ncx.c:14280
boolean ncx_netconfd_running(void)
Check if netconfd running.
Definition: ncx.c:13320
boolean ncx_data_templates_ok(void)
Get the use-data-templates flag.
Definition: ncx.c:14007
uint32 ncx_get_binary_display_maxlen(void)
Get the binary_display_maxlen parameter.
Definition: ncx.c:16472
void ncx_set_binary_display_maxlen(uint32 val)
Set the binary_display_maxlen parameter.
Definition: ncx.c:16456
boolean ncx_get_leaflist_deleteall_ok(void)
Get the leaflist_deleteall_ok flag.
Definition: ncx.c:16884
void ncx_set_base_schema(void)
Set the base_schema_set flag to true.
Definition: ncx.c:14793
boolean ncx_get_sethook_registered(void)
Check if the Set-Hook callbacks were registered.
Definition: ncx.c:16421
uint32 ncx_get_vtimeout_value(void)
Get the virtual node cache timeout value.
Definition: ncx.c:11396
void ncx_set_max_strlen(int32 num)
Set the –max-strlen parameter.
Definition: ncx.c:16558
void ncx_set_protocol_disabled(ncx_protocol_t proto)
Set the specified protocol version to be disabled.
Definition: ncx.c:11728
status_t ncx_set_all_obj_xpath_backptrs(void)
Add Xpath back pointers to the data-db objects in the database.
Definition: ncx.c:12785
void ncx_set_save_owners(boolean val)
Set the save_owners flag.
Definition: ncx.c:16955
void ncx_set_trim_whitespace(boolean val)
Set the trim_whitespace flag.
Definition: ncx.c:16675
boolean ncx_get_secondary_sil_priority_used(void)
Get the secondary_sil_priority_used flag.
Definition: ncx.c:14636
boolean ncx_protocol_enabled(ncx_protocol_t proto)
Check if the specified protocol version is enabled.
Definition: ncx.c:11608
ncx_sort_type_t ncx_get_system_sort_type(void)
Get the system_sort_type value.
Definition: ncx.c:11534
boolean ncx_check_delete_all_allowed(obj_template_t *testobj)
Check if the delete-all or remove-all operation is enabled for for specified object.
Definition: ncx.c:16903
boolean ncx_get_cwd_subdirs(void)
Get the CLI parameter value whether to search for modules in subdirs of the CWD by default.
Definition: ncx.c:11592
boolean ncx_get_with_canonical(void)
Get the with_canonical flag.
Definition: ncx.c:16941
void ncx_set_ypwatcher_running(void)
Set the ypwatcher running flag.
Definition: ncx.c:16588
void ncx_set_db_lock_init_done(boolean val)
Set if the <db-lock-init> message was processed by the server.
Definition: ncx.c:16542
boolean ncx_use_objptrs(void)
Get the use_objptrs flag.
Definition: ncx.c:14265
ncx_display_mode_t ncx_get_display_mode(void)
Get the current default display mode.
Definition: ncx.c:11108
boolean ncx_get_system_sorted(void)
Get the system_sorted value.
Definition: ncx.c:11499
void ncx_set_config_state(ncx_config_state_t val)
Set the config_state flag.
Definition: ncx.c:16737
boolean ncx_get_save_owners(void)
Get the save_owners flag.
Definition: ncx.c:16972
boolean ncx_is_add_toplevel_default_mode(void)
Get the add_toplevel_default_mode value.
Definition: ncx.c:15680
void ncx_set_leaflist_deleteall_ok(boolean val)
Set the leaflist_deleteall_ok flag.
Definition: ncx.c:16867
boolean ncx_use_xpath_backptrs(void)
Check if it is OK to use XPath back pointers or not.
Definition: ncx.c:12769
void ncx_ignore_missing_vars(boolean enabled)
Set the ignore-missing-vars flag.
Definition: ncx.c:14020
void ncx_set_getbulk_max(uint32 max_entries)
Set the max_entries parameter for GET2 callbacks.
Definition: ncx.c:14520
void ncx_set_list_deleteall_ok(boolean val)
Set the list_deleteall_ok flag.
Definition: ncx.c:16836
void ncx_set_system_sorted(boolean val)
Set the system_sorted value.
Definition: ncx.c:11518
status_t ncx_set_bestmatch(void)
Setup the bestmatch module versions, if enabled.
Definition: ncx.c:15814
void ncx_set_with_dblock(boolean val)
Set the is_with_dblock value.
Definition: ncx.c:16506
void ncx_set_search_modQ_ok(void)
Set the search_modQ_ok flag to TRUE.
Definition: ncx.c:14157
void ncx_set_add_toplevel_default_mode(boolean val)
Set the add_toplevel_default_mode value.
Definition: ncx.c:15696
status_t ncx_set_subsys_id(const xmlChar *id)
Set the subsys_id parameter for this subsystem.
Definition: ncx.c:14180
void ncx_allow_get_when_check(void)
Allow server get retrievals to test for false when-stmt during retrieval operations on YANG data.
Definition: ncx.c:16389
void ncx_set_startup_prune(boolean val)
Set the startup_prune flag.
Definition: ncx.c:16706
int8 ncx_get_message_indent(void)
Get the protoco9l output indent amount.
Definition: ncx.c:12194
ncx_config_state_t ncx_get_config_state(void)
Get the config_state flag.
Definition: ncx.c:16754
void ncx_enable_bestmatch(void)
Enable the bestmatch import processing feature.
Definition: ncx.c:15799
boolean ncx_is_db_lock_init_done(void)
Check if the <db-lock-init> message was processed by the server.
Definition: ncx.c:16525
boolean ncx_base_schema_set(void)
Check if the base schema features have been set yet.
Definition: ncx.c:14781
boolean ncx_get_ypwatcher_running(void)
Get the ypwatcher running flag.
Definition: ncx.c:16604
int32 ncx_get_max_strlen(void)
Get the –max-strlen parameter.
Definition: ncx.c:16574
void ncx_set_useprefix(boolean val)
Set the use_prefix value.
Definition: ncx.c:11482
boolean ncx_get_xmlorder(void)
Get the xmlorder flag.
Definition: ncx.c:16822
void ncx_set_protocol_enabled(ncx_protocol_t proto)
Set the specified protocol version to be enabled.
Definition: ncx.c:11691
boolean ncx_is_with_dblock(void)
Get the is_with_dblock value.
Definition: ncx.c:16489
void ncx_set_ycontrol_running(void)
Set the ycontrol_running flag to TRUE.
Definition: ncx.c:14145
void ncx_set_pidfile_cleaned(void)
Set the pidfile cleaned flag.
Definition: ncx.c:16618
void ncx_set_with_snmp(boolean val)
Set the with_snmp value.
Definition: ncx.c:15729
void ncx_set_with_ocpattern(boolean mode)
Set the openconfig pattern mode for the entire system.
Definition: ncx.c:15665
void ncx_set_xmlorder(boolean val)
Set the xmlorder flag.
Definition: ncx.c:16805
void ncx_set_system_sort_type(ncx_sort_type_t val)
Set the system_sort_type value.
Definition: ncx.c:11553
boolean ncx_missing_vars_ok(void)
Get the ignore-missing-vars flag.
Definition: ncx.c:14033
boolean ncx_get_useprefix(void)
Get the use_prefix value.
Definition: ncx.c:11464
boolean ncx_get_sil_priority_used(void)
Get the sil_priority_used flag.
Definition: ncx.c:14601
boolean ncx_use_get_when_check(void)
Check server get retrievals to test for false when-stmt during retrieval operations on YANG data.
Definition: ncx.c:16404
void ncx_set_use_deadmodQ(void)
Set the usedeadmodQ flag.
Definition: ncx.c:11955
void ncx_set_message_indent(int8 msg_indent)
Set the protocol output message indent amount.
Definition: ncx.c:12210
boolean ncx_get_list_deleteall_ok(void)
Get the list_deleteall_ok flag.
Definition: ncx.c:16853
void ncx_use_data_templates(boolean enabled)
Set the use-data-templates flag.
Definition: ncx.c:13994
boolean ncx_get_trim_whitespace(void)
Get the trim_whitespace flag.
Definition: ncx.c:16692
boolean ncx_fastpath_enabled(void)
Check if fast path value tree comparisons enabled.
Definition: ncx.c:13304
void ncx_set_with_canonical(boolean val)
Set the with_canonical flag.
Definition: ncx.c:16924
ncx_backptr_t * ncx_next_objptr(ncx_backptr_t *curptr)
Get the next object pointer.
Definition: ncx.c:14299
void ncx_set_sethook_registered(boolean val)
Set the sethook_registered value.
Definition: ncx.c:16439
uint32 ncx_get_getbulk_max(void)
Get the max_entries parameter for GET2 callbacks.
Definition: ncx.c:14532
void ncx_set_secondary_sil_priority_used(void)
Flag that a value node set a non-default secondary SIL priority.
Definition: ncx.c:14620
boolean ncx_check_startup_prune(ses_cb_t *scb)
Check if the namespace error can be skipped.
Definition: ncx.c:16775
void ncx_set_use_objptrs(void)
Set the use_objptrs flag.
Definition: ncx.c:14249
void ncx_cleanup(void)
Cleanup the NCX library.
Definition: ncx.c:3373
status_t ncx_init(boolean netconfd, boolean savestr, log_debug_t dlevel, boolean logtstamps, boolean collapse_submods, boolean xpath_backptrs, const char *startmsg, int argc, char *argv[])
Initialize the NCX library.
Definition: ncx.c:2899
const xmlChar * ncx_get_display_mode_str(ncx_display_mode_t dmode)
Get the string for the specified enum value.
Definition: ncx.c:10221
int32 ncx_get_name_match_value(ncx_name_match_t match)
Get the YANG integer value for the ncx_name_match_t enum.
Definition: ncx.c:12106
const xmlChar * ncx_cvt_encoding_enum(ncx_msg_encoding_t msg_encoding)
Convert an ncx_msg_encoding_t enum to a string.
Definition: ncx.c:14461
const xmlChar * ncx_get_yang_version_str(ncx_yang_version_t langver)
Get the yang-version string value for the enum.
Definition: ncx.c:14544
const xmlChar * ncx_get_btyp_string(ncx_btype_t btyp)
Get the enumeration string to the base type enum.
Definition: ncx.c:13869
ncx_access_t ncx_get_access_enum(const xmlChar *str)
Get the enum for the string name of a ncx_access_t enum.
Definition: ncx.c:8483
const xmlChar * ncx_get_protocols_enabled(uint16 flags)
Get the string for the NETCONF protocols enabled in the flags.
Definition: ncx.c:11856
status_t ncx_str2txid(const xmlChar *str, ncx_transaction_id_t *txid)
Convert a string to a ncx_transaction_id_t.
Definition: ncx.c:13724
ncx_msg_encoding_t ncx_cvt_encoding_str(const xmlChar *msg_encoding)
Convert a ncx_msg_encoding_t string to its enum.
Definition: ncx.c:14492
const xmlChar * ncx_get_baddata_string(ncx_bad_data_t baddata)
Get the string for the specified enum value.
Definition: ncx.c:9881
ncx_name_match_t ncx_get_name_match_enum(const xmlChar *str)
Get the enum for the string name of a ncx_name_match_t enum.
Definition: ncx.c:12029
ncx_withdefaults_t ncx_get_withdefaults_enum(const xmlChar *withdefstr)
Get the enum for the specified string value.
Definition: ncx.c:9949
const xmlChar * ncx_get_data_class_str(ncx_data_class_t dataclass)
Get the string value for the ncx_data_class_t enum.
Definition: ncx.c:8435
const xmlChar * ncx_get_protocol_name(ncx_protocol_t proto)
Get the name string for the protocol.
Definition: ncx.c:11896
const xmlChar * ncx_get_withdefaults_string(ncx_withdefaults_t withdef)
Get the string for the specified enum value.
Definition: ncx.c:9915
status_t ncx_txid2str(ncx_transaction_id_t *txid, xmlChar **retbuff)
Convert a transaction ID to a string.
Definition: ncx.c:13761
const xmlChar * ncx_get_access_str(ncx_access_t max_access)
Get the string name of a ncx_access_t enum.
Definition: ncx.c:8461
const xmlChar * ncx_get_name_match_string(ncx_name_match_t match)
Get the string for the ncx_name_match_t enum.
Definition: ncx.c:12068
ncx_status_t ncx_get_status_enum(const xmlChar *str)
Get the enum for the string name of a ncx_status_t enum.
Definition: ncx.c:7932
const xmlChar * ncx_get_confirm_event_str(ncx_confirm_event_t event)
Get the string for the specified enum value.
Definition: ncx.c:11128
const xmlChar * ncx_get_status_string(ncx_status_t status)
Get the string for the enum value of a ncx_status_t enum.
Definition: ncx.c:7961
ncx_data_class_t ncx_get_data_class_enum(const xmlChar *str)
Get the enum for the string name of a ncx_data_class_t enum.
Definition: ncx.c:8410
boolean ncx_is_false(const xmlChar *str)
Check if an xmlChar string is a string OK for XSD boolean.
Definition: ncx.c:8781
const xmlChar * ncx_get_ses_event_str(ncx_ses_event_t ses_event)
Get the session event string for the enum.
Definition: ncx.c:16650
const xmlChar * ncx_get_layer(ncx_layer_t layer)
Translate ncx_layer_t enum to a string.
Definition: ncx.c:7811
ncx_bad_data_t ncx_get_baddata_enum(const xmlChar *valstr)
Check if the specified string matches an ncx_baddata_t enum.
Definition: ncx.c:9845
boolean ncx_is_true(const xmlChar *str)
Check if an xmlChar string is a string OK for XSD boolean.
Definition: ncx.c:8755
int32 ncx_get_withdefaults_value(const xmlChar *withdefstr)
Get the YANG integer value for the enum for the specified string value.
Definition: ncx.c:9984
ncx_cvttyp_t ncx_get_cvttyp_enum(const char *str)
Get the enum for the string name of a ncx_cvttyp_t enum.
Definition: ncx.c:7876
ncx_display_mode_t ncx_get_display_mode_enum(const xmlChar *dmstr)
Get the enum for the specified string value.
Definition: ncx.c:10177
ncx_node_t
NCX Internal Node Types.
Definition: ncxtypes.h:437
ncx_status_t
enumeration for different YANG data-def status values
Definition: ncxtypes.h:583
uint32 ncx_etag_t
The ETag used in RESTCONF messages is the lower 32 bits of a ncx_transaction_id_t.
Definition: ncxtypes.h:771
ncx_ses_event_t
internal enumerations for session event types
Definition: ncxtypes.h:1703
ncx_confirm_event_t
type of confirmEvent in the sysConfirmedCommit notification Used in confirmed-commit standard as well
Definition: ncxtypes.h:1515
void(* ncx_yang_obj_cbfn_t)(ncx_module_t *mod, struct obj_template_t_ *obj)
user function callback template when a YANG object is parsed by yang_obj.c.
Definition: ncxtypes.h:1442
ncx_sort_type_t
the sort type enumeration used for system-ordered list aand leaf-list objects
Definition: ncxtypes.h:1801
ncx_cvttyp_t
enumeration for different NCX module conversion output types
Definition: ncxtypes.h:1255
ncx_yang_version_t
enumeration for different YANG language versions
Definition: ncxtypes.h:1013
ncx_tclass_t
Enumeration of the basic value type classifications.
Definition: ncxtypes.h:407
uint64 ncx_transaction_id_t
transaction is scoped to single session write operation on a config
Definition: ncxtypes.h:728
ncx_msg_encoding_t
enumeration for message encoding formats
Definition: ncxtypes.h:647
ncx_protocol_t
NCX session protocol versions supported.
Definition: ncxtypes.h:1001
ncx_btype_t
enumeration of the built-in NCX types These types cannot be overridden and cannot be imported
Definition: ncxtypes.h:213
ncx_access_t
NCX Access Control 'max-access' enumeration values Note that access control is applied to the session...
Definition: ncxtypes.h:182
void(* ncx_unload_cbfn_t)(ncx_module_t *mod)
user function callback template when a module is unloaded from the system
Definition: ncxtypes.h:1422
boolean(* ncx_identity_cbfn_t)(ncx_identity_t *identity, void *cookie)
user function callback template to traverse all module identities looking for matches for a specified...
Definition: ncxtypes.h:1550
ncx_bad_reply_enum
enumeration for CLI handling of bad nodes from RPC reply Controls the behavior of the MGR XML parser
Definition: ncxtypes.h:1758
ncx_data_class_t
NCX Persistence Control.
Definition: ncxtypes.h:203
uint8 ncx_owner_id_t
used as index into the agt_owner registry
Definition: ncxtypes.h:1554
const xmlChar *(* ncx_get_owner_fn_t)(ncx_owner_id_t owner_id)
get owner name callback function to check if a value node has an owner name; get the value if so
Definition: ncxtypes.h:1565
ncx_opt_t
enum for REQUIRED vs.
Definition: ncxtypes.h:1350
ncx_bad_data_t
enumeration for CLI handling of bad input data used by yangcli, all others use NCX_BAD_DATA_ERROR
Definition: ncxtypes.h:594
ncx_name_match_t
Node name match modes.
Definition: ncxtypes.h:695
ncx_layer_t
Enumeration of NETCONF protocol layers.
Definition: ncxtypes.h:507
ncx_result_format_t
specify the requested result format type Used by yangcli-pro assign statement
Definition: ncxtypes.h:719
boolean(* ncx_object_cbfn_t)(const ncx_module_t *mod, struct obj_template_t_ *object, void *cookie)
user function callback template to traverse all module objects for a specified module
Definition: ncxtypes.h:1463
ncx_xpath_type_t
enumeration for different XPath back pointer types
Definition: ncxtypes.h:1287
ncx_config_state_t
server config state Root Check
Definition: ncxtypes.h:1711
ncx_display_mode_t
enumeration of val_dump_value display modes Some RESTCONF code uses this field incorrectly for messag...
Definition: ncxtypes.h:617
ncx_withdefaults_t
enum for with-defaults enum values
Definition: ncxtypes.h:1278
void(* ncx_load_cbfn_t)(ncx_module_t *mod)
user function callback template when a module is loaded into the system
Definition: ncxtypes.h:1408
status_t ncx_file_rename(const xmlChar *old_filespec, const xmlChar *new_filespec, boolean do_warn)
Rename a file; check result.
Definition: ncx.c:14981
ncx_modcache_t * ncx_new_modcache(const xmlChar *modname, boolean hidemod)
New ncx_modcache_t record.
Definition: ncx.c:16059
status_t ncx_file_remove(const xmlChar *filespec, boolean do_warn)
Close a file; check result.
Definition: ncx.c:14947
status_t ncx_file_buffcopy(const xmlChar *src_buff, uint32 src_bufflen, const xmlChar *dst_filespec)
Copy a buffer to a file; check result.
Definition: ncx.c:15121
void ncx_socket_close_noerr(int fd)
Close a socket; check result; SUPPRESS ERROR MESSAGE.
Definition: ncx.c:14870
void ncx_file_close(FILE *fp)
Close a file; check result.
Definition: ncx.c:14920
void ncx_socket_close(int fd)
Close a socket; check result.
Definition: ncx.c:14895
status_t ncx_file_to_buffer(const char *filespec, xmlChar **outbuff)
Read a text file into a malloced buffer.
Definition: ncx.c:15890
status_t ncx_file_size(const char *filespec, uint32 *siz)
Get a file size.
Definition: ncx.c:15849
status_t ncx_buffer_to_file(const char *filespec, const xmlChar *inbuff)
Write a buffer to a text file.
Definition: ncx.c:15967
status_t ncx_file_copy(const xmlChar *src_filespec, const xmlChar *dst_filespec)
Copy a file; check result.
Definition: ncx.c:15016
void ncx_free_modcache(ncx_modcache_t *mc)
Free a ncx_modcache_t record.
Definition: ncx.c:16088
status_t ncx_get_temp_filespec(xmlChar *buff, uint32 bufflen, const xmlChar *rootpart, const xmlChar *ext)
Generate a temporary filespec.
Definition: ncx.c:16113
ncx_sm_rootcb_t * ncx_get_cur_rootcb(void)
Gte the current root control block value.
Definition: ncx.c:17287
void ncx_redo_loadmod_all(void)
Set the redo_loadmod flag for all modules.
Definition: ncx.c:17516
void ncx_set_cur_rootcb(ncx_sm_rootcb_t *rootcb)
Set the current root control block.
Definition: ncx.c:17305
const xmlChar * ncx_get_xpath_type_str(ncx_xpath_type_t xpath_typ)
Get the string for the ncx_xpath_type_t enum.
Definition: ncx.c:17152
boolean ncx_is_sm_mode(void)
Check if the Schema Mount mode is enabled.
Definition: ncx.c:17256
boolean ncx_protocol_is_netconf(ncx_protocol_t proto)
Check if the protocol is a NETCONF protocol.
Definition: ncx.c:11933
void ncx_set_handle_badreply(ncx_bad_reply_enum enumval)
Set the enum value for the Bad Reply handling option.
Definition: ncx.c:17089
void ncx_set_mod_augmented(ncx_module_t *mod)
Set the module as supported because it is being augmented.
Definition: ncx.c:17583
obj_template_t * ncx_get_cur_rootcb_obj(void)
Get the current root control block object.
Definition: ncx.c:17323
void ncx_set_disable_imported(void)
Allow the obj_is_enabled funtion to disable all import-only modules.
Definition: ncx.c:17553
boolean ncx_ok_for_inline_data(obj_template_t *obj)
Check if the object is OK for inline data.
Definition: ncx.c:16169
void ncx_set_sm_enabled(boolean val)
Set schema mount enabled flag.
Definition: ncx.c:17360
int32 ncx_compare_base_uris(const xmlChar *str1, const xmlChar *str2)
Compare the base part of 2 URI strings.
Definition: ncx.c:11418
boolean ncx_check_inline_data_state(const xmlChar *line, boolean curstate)
Check the input line for Start or End of data tags.
Definition: ncx.c:16191
status_t ncx_get_version(xmlChar *buffer, uint32 buffsize)
Get the the Yuma version ID string.
Definition: ncx.c:10761
boolean ncx_use_return_status(void)
Check if the return_status should be returned.
Definition: ncx.c:17018
ncx_bad_reply_enum ncx_get_handle_badreply(void)
Get the enum for the Bad Reply Handling option.
Definition: ncx.c:17102
unsigned short ncx_get_tcp_connect_timeout(void)
Get the configured TCP connect timeout value.
Definition: ncx.c:17395
void ncx_set_sm_mode(boolean val)
Set the Schema Mount mode.
Definition: ncx.c:17272
ncx_etag_t ncx_txid2etag(ncx_transaction_id_t txid)
Cast ncx_txid_t to ncx_etag_t.
Definition: ncx.c:17136
boolean ncx_find_ydtrace(const xmlChar *fspec)
Find the filespec of a yangdump file being processed.
Definition: ncx.c:13975
boolean ncx_prefix_different(const xmlChar *prefix1, const xmlChar *prefix2, const xmlChar *modprefix)
Check if the specified prefix pair reference different modules.
Definition: ncx.c:9811
const char * ncx_get_progname(void)
Get the progname buffer.
Definition: ncx.c:15747
boolean ncx_mod_parse_done(const ncx_module_t *mod)
Check if the module is completely parsed yet.
Definition: ncx.c:17536
void ncx_set_use_return_status(void)
Enable the return_status parameter.
Definition: ncx.c:17007
boolean ncx_disable_imported_ok(void)
Check if disable all import-only modules OK.
Definition: ncx.c:17566
status_t ncx_get_feature_code(xmlChar *buffer, uint32 buffsize)
Get the the Feature Code String.
Definition: ncx.c:10653
void ncx_set_tcp_connect_timeout(unsigned short timeout_sec)
Set the configured TCP connect timeout value.
Definition: ncx.c:17411
ncx_sm_rootcb_t * ncx_next_rootcb(ncx_sm_rootcb_t *rootcb)
Get the next Mount Point Entry in the rootcbQ.
Definition: ncx.c:17237
xmlChar * ncx_get_source(const xmlChar *fspec, status_t *res)
Expand a filespec into an absolute path.
Definition: ncx.c:9456
boolean ncx_yang_cbor_enabled(void)
Get the YANG to CBOR Code enabled flag.
Definition: ncx.c:17376
status_t ncx_add_ydtrace(const xmlChar *fspec)
Add the filespec of a yangdump file being processed.
Definition: ncx.c:13949
status_t ncx_get_semver(xmlChar *buffer, uint32 buffsize)
Get the the Yuma SEMVER version ID string.
Definition: ncx.c:10857
ncx_sm_rootcb_t * ncx_first_rootcb(void)
Get the first Mount Point Control Block Entry in the rootcbQ.
Definition: ncx.c:17222
boolean ncx_library_mode_ok(const xmlChar *modname, const xmlChar *rpcname)
Check if RPC OK to use in library mode.
Definition: ncx.c:14813
status_t ncx_create_pidfile(const xmlChar *progname, boolean fileloc_fhs)
Create the pidfile for the specified program.
Definition: ncx.c:13341
void ncx_write_tracefile(const char *buff, uint32 count)
Write a byte to the tracefile.
Definition: ncx.c:12142
void ncx_set_val_protocol_enabled(ncx_protocol_t proto, uint16 *flags)
Set the specified protocol version to be enabled in a uint16 bits val.
Definition: ncx.c:11770
ncx_module_t * ncx_find_module_que_all(dlq_hdr_t *modQ, const xmlChar *modname, const xmlChar *revision)
Find a ncx_module_t in the specified Q and check the namespace ID check submodules,...
Definition: ncx.c:17431
xmlChar * ncx_get_source_ex(const xmlChar *fspec, boolean expand_cwd, status_t *res)
Expand a filespec into an absolute path.
Definition: ncx.c:9247
boolean ncx_conf_env_vars_enabled(void)
Get the Config Environment Variable Replacement flag.
Definition: ncx.c:17118
uint16 ncx_get_curQ_mod_count(void)
Get the total count of the currently fully loaded modules in the ncx_curQ.
Definition: ncx.c:17183
ncx_result_format_t ncx_get_file_result_format(const xmlChar *filespec)
Check the filespec string for a file assignment statement to see if it is text, XML,...
Definition: ncx.c:14053
void ncx_invoke_load_callbacks(ncx_module_t *mod)
ncx_invoke_load_callbacks
Definition: ncx.c:17493
boolean ncx_val_protocol_enabled(ncx_protocol_t proto, uint16 flags)
Check if the specified protocol version is enabled.
Definition: ncx.c:11651
boolean ncx_get_sm_enabled(void)
Get schema mount enabled flag.
Definition: ncx.c:17344
ncx_bad_reply_enum ncx_get_handle_badreply_enum(const xmlChar *valstr)
Check if the specified string matches an ncx_bad_reply_enum enum.
Definition: ncx.c:17036
status_t ncx_get_full_version(xmlChar *buffer, uint32 buffsize)
Get the the Yuma version ID string and SEMVER added.
Definition: ncx.c:10896
const char * ncx_get_build_date(void)
Get the build date string encoded into this C file.
Definition: ncx.c:10935
const xmlChar * ncx_get_handle_badreply_string(ncx_bad_reply_enum badreply)
Get the string for the specified enum value.
Definition: ncx.c:17064
void ncx_set_val_protocol_disabled(ncx_protocol_t proto, uint16 *flags)
Set the specified protocol version to be disabled in a uint16 bits val.
Definition: ncx.c:11813
dlq_hdr_t * ncx_get_rootQ(void)
Get the Root control block queue.
Definition: ncx.c:17209
status_t ncx_decode_url_string(const xmlChar *urlstr, uint32 urlstrlen, xmlChar *buffer, uint32 *cnt)
Fill buffer with a plain string from a URL string.
Definition: ncx.c:12241
void ncx_free_binary(ncx_binary_t *binary)
Free all the memory in a ncx_binary_t struct.
Definition: ncx.c:6714
ncx_binary_t * ncx_new_binary(void)
Malloc and fill in a new ncx_binary_t struct.
Definition: ncx.c:6651
void ncx_init_binary(ncx_binary_t *binary)
Init the memory of a ncx_binary_t struct.
Definition: ncx.c:6672
void ncx_clean_binary(ncx_binary_t *binary)
Scrub the memory of a ncx_binary_t but do not delete it.
Definition: ncx.c:6692
void ncx_clean_bit(ncx_bit_t *bit)
Scrub the memory of a ncx_bit_t but do not delete it.
Definition: ncx.c:7486
void ncx_init_bit(ncx_bit_t *bit)
Init the memory of a ncx_bit_t.
Definition: ncx.c:7464
int32 ncx_compare_bits(const ncx_bit_t *bitone, const ncx_bit_t *bittwo)
Compare 2 bit values by their schema order position.
Definition: ncx.c:7511
tk_type_t
different types of tokens parsed during 1st pass
Definition: tk.h:279
void ncx_print_errormsg_ex(tk_chain_t *tkc, ncx_module_t *mod, status_t res, const char *filename, uint32 linenum, boolean fineoln)
Print an parse error message to STDOUT (Extended)
Definition: ncx.c:8083
void ncx_mod_exp_err(tk_chain_t *tkc, ncx_module_t *mod, status_t result, const char *expstr)
Print an error for wrong token, expected a different token.
Definition: ncx.c:8232
void ncx_conf_exp_err(tk_chain_t *tkc, status_t result, const char *expstr)
Print an error for wrong token, expected a different token.
Definition: ncx.c:8204
void ncx_print_errormsg(tk_chain_t *tkc, ncx_module_t *mod, status_t res)
Print an parse error message to STDOUT.
Definition: ncx.c:8061
void ncx_free_errmsg(ncx_errmsg_t *msg)
Clean and free an ncx_errmsg_t struct.
Definition: ncx.c:16308
ncx_errmsg_t * ncx_new_errmsg(status_t res, const xmlChar *str)
Malloc and init an ncx_errmsg_t struct.
Definition: ncx.c:16280
void ncx_mod_missing_err(tk_chain_t *tkc, ncx_module_t *mod, const char *stmtstr, const char *expstr)
Print an error for wrong token, mandatory sub-statement is missing.
Definition: ncx.c:8328
void ncx_match_rpc_error(ncx_module_t *mod, const xmlChar *modname, const xmlChar *rpcname, boolean match, boolean firstmsg)
Generate an error for multiple matches.
Definition: ncx.c:4394
status_t ncx_add_namespace_to_registry(ncx_module_t *mod, boolean tempmod)
Add the namespace and prefix to the registry or retrieve it if already set.
Definition: ncx.c:4823
void ncx_set_error(ncx_error_t *tkerr, ncx_module_t *mod, uint32 linenum, uint32 linepos)
Set the fields in an ncx_error_t struct.
Definition: ncx.c:11035
boolean ncx_check_any_object_nolock_get(const xmlChar *objname)
Check if the object name will match any config=true nodes.
Definition: ncx.c:16345
status_t ncx_add_to_registry(ncx_module_t *mod)
Add all the definitions stored in an ncx_module_t to the registry.
Definition: ncx.c:5020
void ncx_clean_save_deviationsQ(dlq_hdr_t *savedevQ)
Clean a Q of deviation save structs.
Definition: ncx.c:11006
void ncx_free_save_deviations(ncx_save_deviations_t *savedev)
Free a deviation save struct.
Definition: ncx.c:10986
status_t ncx_check_yang_status(ncx_status_t mystatus, ncx_status_t depstatus)
Check the backward compatibility of the 2 YANG status fields.
Definition: ncx.c:7989
void ncx_inc_warnings(ncx_module_t *mod)
Increment the module warning count for mod.
Definition: ncx.c:11569
status_t ncx_add_to_modQ(ncx_module_t *mod, dlq_hdr_t *modQ)
Add module to the current module Q.
Definition: ncx.c:5107
status_t ncx_consume_tstring(tk_chain_t *tkc, ncx_module_t *mod, const xmlChar *name, ncx_opt_t opt)
Consume a TK_TT_TSTRING with the specified value.
Definition: ncx.c:8815
void ncx_free_module(ncx_module_t *mod)
Free a YANG module.
Definition: ncx.c:3826
ncx_save_deviations_t * ncx_new_save_deviations(ncx_module_t *devmod, boolean annotation)
Create a deviation save structure.
Definition: ncx.c:10955
status_t ncx_parse_name(const xmlChar *str, uint32 *len)
Check if the next N chars represent a valid NcxName.
Definition: ncx.c:8719
status_t ncx_setup_mounted_mod(ncx_module_t *mod)
Setup a module for yangcli in parsemode in SM mode.
Definition: ncx.c:5195
boolean ncx_need_modchecks(const xmlChar *modname)
Check if xpath_backptr and obj commit tests needed.
Definition: ncx.c:15175
status_t ncx_consume_name(tk_chain_t *tkc, ncx_module_t *mod, const xmlChar *name, xmlChar **namebuff, ncx_opt_t opt, tk_type_t ctyp)
Consume a TK_TSTRING that matches the 'name', then retrieve the next TK_TSTRING token into the namebu...
Definition: ncx.c:8873
status_t ncx_consume_token(tk_chain_t *tkc, ncx_module_t *mod, tk_type_t ttyp)
Consume the next token which should be a 1 or 2 char token without any value.
Definition: ncx.c:8973
void ncx_free_node(ncx_node_t nodetyp, void *node)
Delete a node based on its type.
Definition: ncx.c:8362
const xmlChar * ncx_get_name_segment(const xmlChar *str, xmlChar *buff, uint32 buffsize)
Get the name string between the dots.
Definition: ncx.c:7841
ncx_tclass_t ncx_get_tclass(ncx_btype_t btyp)
Get the token class.
Definition: ncx.c:8512
ncx_module_t * ncx_new_module(void)
Malloc and initialize the fields in a ncx_module_t.
Definition: ncx.c:3554
status_t ncx_init_user_types(void)
Initialize the user types after ietf-inet-types module loaded.
Definition: ncx.c:16328
status_t ncx_add_to_root_modQ(ncx_module_t *mod)
Add module to the current module Q.
Definition: ncx.c:5136
boolean ncx_errinfo_set(const ncx_errinfo_t *errinfo)
Check if error-app-tag or error-message set.
Definition: ncx.c:9151
void ncx_clean_errinfo(ncx_errinfo_t *err)
Scrub the memory in a ncx_errinfo_t by freeing all the sub-fields.
Definition: ncx.c:9093
ncx_errinfo_t * ncx_new_errinfo(void)
Malloc and init a new ncx_errinfo_t.
Definition: ncx.c:9052
status_t ncx_copy_errinfo(const ncx_errinfo_t *src, ncx_errinfo_t *dest)
Copy the fields from one errinfo to a blank errinfo.
Definition: ncx.c:9176
void ncx_init_errinfo(ncx_errinfo_t *err)
Init the fields in an ncx_errinfo_t struct.
Definition: ncx.c:9072
void ncx_free_errinfo(ncx_errinfo_t *err)
Scrub the memory in a ncx_errinfo_t by freeing all the sub-fields, then free the errinfo struct.
Definition: ncx.c:9128
void ncx_free_filptr(ncx_filptr_t *filptr)
Free a new ncx_filptr_t struct or add to the cache if room.
Definition: ncx.c:7250
ncx_filptr_t * ncx_new_filptr(void)
Get a new ncx_filptr_t struct.
Definition: ncx.c:7213
ncx_revhist_t * ncx_new_revhist(void)
Create a revision history entry.
Definition: ncx.c:7281
ncx_revhist_t * ncx_find_revhist(const ncx_module_t *mod, const xmlChar *ver)
Search the revhistQ for a specified revision.
Definition: ncx.c:7330
void ncx_free_revhist(ncx_revhist_t *revhist)
Free a revision history entry.
Definition: ncx.c:7301
void ncx_clean_typnameQ(dlq_hdr_t *que)
Delete all the Q entries, of typname mapping structs.
Definition: ncx.c:7646
void ncx_free_typname(ncx_typname_t *typnam)
Free a typname struct.
Definition: ncx.c:7561
const xmlChar * ncx_find_typname(const typ_template_t *typ, const dlq_hdr_t *que)
Find a typname struct in the specified Q for a typ pointer.
Definition: ncx.c:7584
ncx_typname_t * ncx_new_typname(void)
Malloc and init a typname struct.
Definition: ncx.c:7541
const typ_template_t * ncx_find_typname_type(const dlq_hdr_t *que, const xmlChar *typname)
Find a typ_template_t pointer in a typename mapping, in the specified Q.
Definition: ncx.c:7616
void ncx_save_deviation_module(ncx_module_t *mod)
Save the deviations for the YANG module.
Definition: ncx.c:14402
boolean ncx_ok_skip_deviation_module(const xmlChar *modname, dlq_hdr_t *save_deviationsQ)
Check if it is OK to skip this YANG module for deviations.
Definition: ncx.c:14426
ncx_save_deviations_t * ncx_find_save_deviations(const xmlChar *deviname, dlq_hdr_t *deviationQ)
Find the specified deviname in the deviationQ.
Definition: ncx.c:14365
void ncx_init_enum(ncx_enum_t *enu)
Init the memory of a ncx_enum_t.
Definition: ncx.c:7362
status_t ncx_set_enum(const xmlChar *enum_name, const int32 enum_val, ncx_enum_t *retenu)
Parse an enumerated integer string into an ncx_enum_t without matching it against any typdef.
Definition: ncx.c:7435
void ncx_clean_enum(ncx_enum_t *enu)
Scrub the memory of a ncx_enum_t but do not delete it.
Definition: ncx.c:7384
int32 ncx_compare_enums(const ncx_enum_t *enu1, const ncx_enum_t *enu2)
Compare 2 enum values.
Definition: ncx.c:7409
boolean ncx_valid_name(const xmlChar *str, uint32 len)
Check if an xmlChar string is a valid YANG identifier value.
Definition: ncx.c:8607
boolean ncx_valid_name2(const xmlChar *str)
Check if an xmlChar string is a valid NCX name.
Definition: ncx.c:8652
boolean ncx_valid_name_ch(uint32 ch)
Check if the character is a valid YANG identifier chara.
Definition: ncx.c:8560
boolean ncx_valid_fname_ch(uint32 ch)
Check if an xmlChar is a valid NCX name string first char.
Definition: ncx.c:8584
ncx_identity_base_t * ncx_next_identity_base(ncx_identity_base_t *idbase)
Get the next base record for an identity.
Definition: ncx.c:6819
void ncx_free_identity_base(ncx_identity_base_t *identity_base)
Free a malloced ncx_identity_base_t struct.
Definition: ncx.c:6781
void ncx_for_all_identities(ncx_module_t *mod, ncx_identity_cbfn_t cbfn, void *cookie)
Iterate all the YANG identities in the module.
Definition: ncx.c:7004
ncx_identity_base_t * ncx_new_identity_base(void)
Get a new ncx_identity_base_t struct.
Definition: ncx.c:6761
void ncx_find_all_identities(ncx_identity_t *base, ncx_identity_cbfn_t cbfn, void *cookie)
Invoke callback for all the found identities.
Definition: ncx.c:13148
xmlns_id_t ncx_get_identity_nsid(const ncx_identity_t *identity)
Get the namespace ID for an identity.
Definition: ncx.c:7173
void ncx_free_identity(ncx_identity_t *identity)
Free a malloced ncx_identity_t struct.
Definition: ncx.c:6855
ncx_identity_t * ncx_new_identity(void)
Get a new ncx_identity_t struct.
Definition: ncx.c:6735
ncx_identity_base_t * ncx_first_identity_base(ncx_identity_t *identity)
Get the first base record for an identity.
Definition: ncx.c:6800
ncx_identity_t * ncx_find_identity_que(dlq_hdr_t *identityQ, const xmlChar *name)
Find a ncx_identity_t struct in the specified Q.
Definition: ncx.c:7143
ncx_identity_t * ncx_find_identity(ncx_module_t *mod, const xmlChar *name, boolean useall)
Find a ncx_identity_t struct in the module and perhaps any of its submodules.
Definition: ncx.c:6910
boolean ncx_get_identity_conditional(const ncx_identity_t *identity)
Check if the identity is conditional on if-feature.
Definition: ncx.c:7192
ncx_import_t * ncx_new_import(void)
Malloc and initialize the fields in a ncx_import_t.
Definition: ncx.c:6246
ncx_import_t * ncx_find_import_que(const dlq_hdr_t *importQ, const xmlChar *module)
Search the specified importQ for a specified module name.
Definition: ncx.c:6335
void * ncx_locate_modqual_import(yang_pcb_t *pcb, ncx_import_t *imp, const xmlChar *defname, ncx_node_t *deftyp)
Search the specific module for the specified definition name.
Definition: ncx.c:6536
ncx_import_t * ncx_find_pre_import(const ncx_module_t *mod, const xmlChar *prefix)
Search the importQ for a specified prefix value.
Definition: ncx.c:6398
void ncx_free_import(ncx_import_t *import)
Free an ncx_import_t.
Definition: ncx.c:6270
ncx_import_t * ncx_find_import_test(const ncx_module_t *mod, const xmlChar *module)
Search the importQ for a specified module name.
Definition: ncx.c:6368
boolean ncx_import_match_mod(const ncx_import_t *imp, const xmlChar *module, const xmlChar *revision)
Check if the import matches the specified module.
Definition: ncx.c:6482
ncx_import_t * ncx_find_pre_import_que(const dlq_hdr_t *importQ, const xmlChar *prefix)
Search the specified importQ for a specified prefix value.
Definition: ncx.c:6420
ncx_import_t * ncx_find_import(const ncx_module_t *mod, const xmlChar *module)
Search the importQ for a specified module name.
Definition: ncx.c:6313
ncx_import_t * ncx_find_pre_import_test(const ncx_module_t *mod, const xmlChar *prefix)
Search the importQ for a specified prefix value.
Definition: ncx.c:6452
ncx_include_t * ncx_new_include(void)
Malloc and initialize the fields in a ncx_include_t.
Definition: ncx.c:6561
void ncx_free_include(ncx_include_t *inc)
Free a ncx_include_t.
Definition: ncx.c:6585
ncx_include_t * ncx_find_include(const ncx_module_t *mod, const xmlChar *submodule)
Search the includeQ for a specified submodule name.
Definition: ncx.c:6622
void ncx_clear_unload_callback(ncx_unload_cbfn_t cbfn)
Clear the callback function for an unload-module event.
Definition: ncx.c:9681
status_t ncx_set_load_callback(ncx_load_cbfn_t cbfn)
Set the callback function for a load-module event.
Definition: ncx.c:9574
void ncx_register_get_owner_fn(ncx_get_owner_fn_t cbfn)
Register a callback to get the owner name.
Definition: ncx.c:14218
void ncx_invoke_yang_obj_callbacks(ncx_module_t *mod, obj_template_t *obj)
Invoke all the callback functions for a parse-object event.
Definition: ncx.c:9780
status_t ncx_set_unload_callback(ncx_unload_cbfn_t cbfn)
Set the callback function for an unload-module event.
Definition: ncx.c:9643
status_t ncx_set_yang_obj_callback(ncx_yang_obj_cbfn_t cbfn)
Set the callback function for a YANG object parse event.
Definition: ncx.c:9712
void ncx_clear_load_callback(ncx_load_cbfn_t cbfn)
Clear the callback function for a load-module event.
Definition: ncx.c:9612
void ncx_clear_yang_obj_callback(ncx_yang_obj_cbfn_t cbfn)
Clear the callback function for a parse-object event.
Definition: ncx.c:9751
const xmlChar * ncx_get_owner_name(ncx_owner_id_t owner_id)
Get the registered YANG library owner namefor owner_id.
Definition: ncx.c:14233
dlq_hdr_t * ncx_get_session_modQ(void)
Get the current session modQ.
Definition: ncx.c:9534
void ncx_set_cur_modQ(dlq_hdr_t *que)
Set the current module Q to an alternate (for yangdiff)
Definition: ncx.c:9473
void ncx_clear_temp_modQ(void)
Clear the temp_modQ for yangcli session-specific module list.
Definition: ncx.c:11092
void ncx_clear_session_modQ(void)
Clear the current session modQ.
Definition: ncx.c:9554
dlq_hdr_t * ncx_get_temp_modQ(void)
Get the temp_modQ for yangcli session-specific module list.
Definition: ncx.c:11078
void ncx_set_temp_modQ(dlq_hdr_t *modQ)
Set the temp_modQ for yangcli session-specific module list.
Definition: ncx.c:11062
void ncx_reset_modQ(void)
Set the current module Q to the original ncx_modQ.
Definition: ncx.c:9492
void ncx_set_session_modQ(dlq_hdr_t *que)
Get the session module Q.
Definition: ncx.c:9515
status_t ncx_turn_up_warning(status_t res)
Add a warning elevation entry.
Definition: ncx.c:10497
void ncx_check_warn_idlen(tk_chain_t *tkc, ncx_module_t *mod, const xmlChar *id)
Check if the identifier length is greater than the specified amount.
Definition: ncx.c:10332
void ncx_set_warn_error(boolean val)
Set the warn_error flag.
Definition: ncx.c:10514
void ncx_set_top_mandatory_allowed(boolean allowed)
Allow or disallow modules with top-level mandatory object to be loaded; used by the server when agt_r...
Definition: ncx.c:12164
void ncx_set_warn_idlen(uint32 warnlen)
Set the warning length for identifiers.
Definition: ncx.c:10260
uint32 ncx_get_warn_idlen(void)
Get the warning length for identifiers.
Definition: ncx.c:10276
void ncx_set_empty_npcon_presence(boolean val)
Set the empty_npcon_presence value.
Definition: ncx.c:15335
void ncx_set_module_setid(uint32 new_setid)
Update YANG-LIBRARY module set ID.
Definition: ncx.c:15204
boolean ncx_get_empty_npcon_presence(void)
Get the empty_npcon_presence value.
Definition: ncx.c:15317
void ncx_set_warn_linelen(uint32 warnlen)
Set the warning length for YANG file lines.
Definition: ncx.c:10293
void ncx_set_warn_off_yang(boolean val)
Set the warn_off_yang flag.
Definition: ncx.c:10531
void ncx_check_warn_linelen(tk_chain_t *tkc, ncx_module_t *mod, const xmlChar *line)
Check if the line display length is greater than the specified amount.
Definition: ncx.c:10375
status_t ncx_turn_off_warning(status_t res)
Add a warning suppression entry.
Definition: ncx.c:10434
boolean ncx_get_empty_npcon_presence_ro(void)
Get the empty_npcon_presence value READ-ONLY check.
Definition: ncx.c:15354
boolean ncx_get_warn_off_yang(void)
Get the warn_off_yang flag.
Definition: ncx.c:10548
boolean ncx_get_top_mandatory_allowed(void)
Check if top-level mandatory objects are allowed or not.
Definition: ncx.c:12179
uint32 ncx_get_module_setid(void)
GET YANG-LIBRARY module set ID.
Definition: ncx.c:15222
uint32 ncx_get_warn_linelen(void)
Get the warning length for YANG file lines.
Definition: ncx.c:10310
status_t ncx_turn_on_warning(status_t res)
Remove a warning suppression entry if it exists.
Definition: ncx.c:10453
status_t ncx_sprintf_module_setid(uint32 id, xmlChar *buff, int32 buffsize)
Write the module set ID for the yang-library to the specified buffer.
Definition: ncx.c:15245
void ncx_delete_all_obsolete_objects(void)
Go through all the modules and delete the obsolete nodes.
Definition: ncx.c:11969
boolean ncx_collapse_submodules_ok(void)
Check if it is OK to collapse submodule definitions into the main module.
Definition: ncx.c:12695
void ncx_set_empty_npcon_presence_ro(boolean val)
Set the empty_npcon_presence value READ-ONLY check.
Definition: ncx.c:15373
boolean ncx_warning_elevated(status_t res)
Check if a specific status_t code is elevated.
Definition: ncx.c:10614
boolean ncx_warning_enabled(status_t res)
Check if a specific status_t code is enabled.
Definition: ncx.c:10571
ncx_module_t * ncx_find_deviation_module(const xmlChar *modname)
Find a deviation module ncx_module_t in the deviation_moduleQ;.
Definition: ncx.c:15288
obj_template_t * ncx_next_data_node(obj_template_t *curnode)
Check if an obj_template_t in in any module that matches a data node either config or all.
Definition: ncx.c:15466
ncx_module_t * ncx_get_first_module(void)
Get the first module in the ncx_modQ.
Definition: ncx.c:5281
obj_template_t * ncx_match_any_object_ex(const xmlChar *modname, const xmlChar *objname, boolean dataonly, ncx_name_match_t name_match, boolean alt_names, status_t *retres)
Match any object in any YANG module with double extra search options.
Definition: ncx.c:4593
obj_template_t * ncx_match_any_object(const xmlChar *objname, ncx_name_match_t name_match, boolean alt_names, status_t *retres)
Match any object in any YANG module with extra search options.
Definition: ncx.c:4504
ncx_module_t * ncx_find_module_que(dlq_hdr_t *modQ, const xmlChar *modname, const xmlChar *revision)
Find a ncx_module_t in the specified Q of ncx_module_t.
Definition: ncx.c:3705
obj_template_t * ncx_find_first_rpc(const xmlChar *rpcname)
Find the specified RPC Method in any module.
Definition: ncx.c:4213
ncx_module_t * ncx_get_next_module(const ncx_module_t *mod)
Get the next module in the ncx_modQ.
Definition: ncx.c:5303
ncx_module_t * ncx_find_next_importer(const xmlChar *module, ncx_module_t *curmod)
Search all modules importQs for a specified module name.
Definition: ncx.c:13441
ncx_module_t * ncx_find_module_que_nsid(dlq_hdr_t *modQ, xmlns_id_t nsid)
Find a ncx_module_t in the specified Q by namespace ID.
Definition: ncx.c:3790
ncx_module_t * ncx_get_next_module_all(const ncx_module_t *mod)
Get the first module entry in the ncx_modQ.
Definition: ncx.c:5363
obj_template_t * ncx_find_any_object_que(dlq_hdr_t *modQ, const xmlChar *objname)
Find any top-level YANG object in a module in the modQ.
Definition: ncx.c:4739
ncx_module_t * ncx_find_module_by_prefix(const xmlChar *prefix)
Find an ncx_module_t in the ncx_sesmodQ by prefix.
Definition: ncx.c:3672
ncx_module_t * ncx_get_first_session_module(void)
Get the first module in the ncx_sesmodQ.
Definition: ncx.c:5384
ncx_module_t * ncx_first_deviation_module(void)
Get the first deviation module.
Definition: ncx.c:15762
obj_template_t * ncx_match_any_rpc(const xmlChar *module, const xmlChar *rpcname, uint32 *retcount)
Match the specified module name in any module.
Definition: ncx.c:4303
ncx_module_t * ncx_next_deviation_module(ncx_module_t *curmod)
Get the next deviation module after curmod.
Definition: ncx.c:15781
ncx_module_t * ncx_find_module_que_by_prefix(dlq_hdr_t *modQ, const xmlChar *prefix)
Find a ncx_module_t in the specified Q by prefix value.
Definition: ncx.c:3754
ncx_module_t * ncx_find_first_importer(const xmlChar *module)
Search all modules importQs for a specified module name.
Definition: ncx.c:13410
obj_template_t * ncx_find_any_object(const xmlChar *objname)
Find any top-level object in any YANG module.
Definition: ncx.c:4442
ncx_module_t * ncx_get_next_session_module(const ncx_module_t *mod)
Get the next module in the ncx_sesmodQ.
Definition: ncx.c:5404
obj_template_t * ncx_first_data_node(boolean cfgonly)
Check if an obj_template_t in in any module that matches a data node either config or all.
Definition: ncx.c:15408
ncx_module_t * ncx_get_prev_module(const ncx_module_t *mod)
Get the previous module.
Definition: ncx.c:5331
ncx_module_t * ncx_find_module_ex(const xmlChar *modname, const xmlChar *revision)
Find an ncx_module_t in the ncx_sesmodQ.
Definition: ncx.c:3641
ncx_module_t * ncx_find_module(const xmlChar *modname, const xmlChar *revision)
Find a ncx_module_t in the ncx_sesmodQ.
Definition: ncx.c:3607
uint32 ncx_mod_revision_count_que(xml_msg_hdr_t *msg, dlq_hdr_t *modQ, const xmlChar *modname)
Find all the ncx_module_t structs in the specified queue that have the same module name.
Definition: ncx.c:11200
boolean ncx_any_mod_errors(void)
Check if any of the loaded modules are loaded with non-fatal errors.
Definition: ncx.c:3846
uint32 ncx_mod_revision_count(xml_msg_hdr_t *msg, const xmlChar *modname)
Find all the ncx_module_t structs in the ncx_modQ that have the same module name.
Definition: ncx.c:11164
void dump_modQ(dlq_hdr_t *modQ)
dump module Q contents [name, revision] for debugging
Definition: ncx.c:12326
boolean ncx_save_descr(void)
Get the value of the save description strings variable.
Definition: ncx.c:8045
uint32 ncx_dev_revision_count_que(xml_msg_hdr_t *msg, dlq_hdr_t *deviationQ, const xmlChar *modname)
Find all the ncx_save_deviations_t structs in the specified queue that have the same module name.
Definition: ncx.c:11261
obj_template_t * ncx_get_last_object(ncx_module_t *mod, boolean augment_ok)
Find the last data node.
Definition: ncx.c:5665
obj_template_t * ncx_match_rpc(ncx_module_t *mod, const xmlChar *rpcname, uint32 *retcount)
Check if a rpc_template_t in the mod->rpcQ.
Definition: ncx.c:4253
obj_template_t * ncx_get_next_object_ex(ncx_module_t *mod, obj_template_t *curobj, boolean augment_ok)
Get the next object in the specified module.
Definition: ncx.c:5757
obj_template_t * ncx_find_object(ncx_module_t *mod, const xmlChar *objname)
Find a top level module object.
Definition: ncx.c:4773
obj_template_t * ncx_find_next_data_object(ncx_module_t *mod, obj_template_t *obj)
Check the next obj_template_t in in any module that matches the object name string.
Definition: ncx.c:4690
grp_template_t * ncx_find_grouping(ncx_module_t *mod, const xmlChar *grpname, boolean useall)
Find the YANG grouping.
Definition: ncx.c:4053
obj_template_t * ncx_get_first_data_object(ncx_module_t *mod)
Get the first datastore object in the module.
Definition: ncx.c:5931
obj_template_t * ncx_match_any_rpc_mod(ncx_module_t *mod, const xmlChar *rpcname, uint32 *retcount)
Check if a rpc_template_t is in the specified module.
Definition: ncx.c:4361
obj_template_t * ncx_find_rpc(const ncx_module_t *mod, const xmlChar *rpcname)
Check if a rpc_template_t in the mod->rpcQ.
Definition: ncx.c:4181
obj_template_t * ncx_get_prev_object(ncx_module_t *mod, obj_template_t *curobj, boolean augment_ok)
Find the previous object node.
Definition: ncx.c:5846
obj_template_t * ncx_get_next_data_object_same(ncx_module_t *mod, obj_template_t *curobj)
Get the next database object in the specified module.
Definition: ncx.c:6167
obj_template_t * ncx_get_first_object_ex(ncx_module_t *mod, boolean augment_ok)
Get the first object in the datadefQs for the specified module.
Definition: ncx.c:5587
typ_template_t * ncx_find_type(ncx_module_t *mod, const xmlChar *typname, boolean useall)
Check if a typ_template_t in the mod->typeQ.
Definition: ncx.c:3920
typ_template_t * ncx_find_type_que(const dlq_hdr_t *typeQ, const xmlChar *typname)
ncx_find_type_que
Definition: ncx.c:4020
obj_template_t * ncx_get_next_data_object(ncx_module_t *mod, obj_template_t *curobj)
Get the next database object in the specified module.
Definition: ncx.c:6003
obj_template_t * ncx_get_next_object(ncx_module_t *mod, obj_template_t *curobj)
Get the next object in the specified module.
Definition: ncx.c:5739
obj_template_t * ncx_find_object_nsid(xmlns_id_t nsid, const xmlChar *objname)
Find a top level module object by module NSID.
Definition: ncx.c:4793
grp_template_t * ncx_find_grouping_que(const dlq_hdr_t *groupingQ, const xmlChar *grpname)
Check if a grp_template_t in the specified Q.
Definition: ncx.c:4150
obj_template_t * ncx_get_first_object(ncx_module_t *mod)
Get the first object in the datadefQs for the specified module.
Definition: ncx.c:5569
obj_template_t * ncx_get_first_data_object_pick(ncx_module_t *mod, boolean config)
Get the first database object in the datadefQs for the specified module.
Definition: ncx.c:6085
const xmlChar * ncx_get_modversion(const ncx_module_t *mod)
Get the [sub]module version.
Definition: ncx.c:5469
const xmlChar * ncx_get_mod_source(const ncx_module_t *mod)
Get the module file source string for the specified module.
Definition: ncx.c:10071
ncx_module_t * ncx_get_mainmod(ncx_module_t *mod)
Get the main module.
Definition: ncx.c:5542
const xmlChar * ncx_get_mod_xmlprefix(const ncx_module_t *mod)
Get the module XML prefix for the specified module.
Definition: ncx.c:10043
boolean ncx_mod_unloadable(ncx_module_t *mod)
Check if this module can be unloaded.
Definition: ncx.c:13675
ncx_module_t * ncx_first_submodule(ncx_module_t *mod)
Get the first submodule in the specified main module.
Definition: ncx.c:13798
const dlq_hdr_t * ncx_get_const_allincQ(const ncx_module_t *mod)
Find the correct Q of yang_node_t for all include files that have the same 'belongs-to' value (const ...
Definition: ncx.c:11339
void ncx_clr_enable_chk(ncx_module_t *mod)
Clear the enable check test done flag in all objects in the specified module.
Definition: ncx.c:16027
const xmlChar * ncx_get_mod_prefix(const ncx_module_t *mod)
Get the module prefix for the specified module.
Definition: ncx.c:10018
void ncx_set_mod_unloadable(ncx_module_t *mod)
Set this module so it can be unloaded.
Definition: ncx.c:13697
boolean ncx_modname_is_ocpattern(const xmlChar *modname)
Check if the module name is an openconfig file.
Definition: ncx.c:15638
const xmlChar * ncx_get_mod_ocversion(const ncx_module_t *mod)
Get the module openconfig-version string for the specified module.
Definition: ncx.c:10119
const xmlChar * ncx_get_modnamespace(const ncx_module_t *mod)
Get the module namespace URI.
Definition: ncx.c:5489
boolean ncx_get_ocpattern_mode(const ncx_module_t *mod)
Get the openconfig pattern mode.
Definition: ncx.c:15616
ncx_module_t * ncx_get_parent_mod(ncx_module_t *mod)
Find the correct module by checking mod->parent nodes.
Definition: ncx.c:11367
boolean ncx_is_yangmap_type(ncx_module_t *mod, boolean is_src)
Check the yangmap type flags.
Definition: ncx.c:16249
status_t ncx_check_yang_identity(ncx_module_t *impmod, const xmlChar *idstr)
Check if an identity string is available in the module.
Definition: ncx.c:15505
void ncx_set_mod_hidden(ncx_module_t *mod)
Force the module to be hidden from advertisement.
Definition: ncx.c:14761
xmlns_id_t ncx_get_mod_nsid(const ncx_module_t *mod)
Get the main module namespace ID.
Definition: ncx.c:5445
const xmlChar * ncx_get_mod_revision(const ncx_module_t *mod)
Get the module revision string for the specified module.
Definition: ncx.c:10096
boolean ncx_mod_has_rpcs(ncx_module_t *mod)
Check if the module has any RPC operation definitions.
Definition: ncx.c:12356
void ncx_set_ocpattern_mode(ncx_module_t *mod, boolean mode)
Set the openconfig pattern mode.
Definition: ncx.c:15564
boolean ncx_mod_has_submodules(const ncx_module_t *mod)
Check if this is a main module with submodules.
Definition: ncx.c:16990
void ncx_set_module_supported(ncx_module_t *mod, boolean supported)
Set the module supported field.
Definition: ncx.c:14117
const xmlChar * ncx_get_modsource(const ncx_module_t *mod)
Get the module filespec source string.
Definition: ncx.c:5522
boolean ncx_skip_child_node_warn(const xmlChar *modname)
Internal compiler check to suppress warnings.
Definition: ncx.c:16004
void ncx_force_ocpattern_mode(ncx_module_t *mod)
Force the openconfig pattern mode to TRUE.
Definition: ncx.c:15591
boolean ncx_mod_is_hidden(const ncx_module_t *mod)
Check if the module is forced no advertise (e.g.
Definition: ncx.c:14744
ncx_yang_version_t ncx_get_yang_version(const ncx_module_t *mod)
Get the yang-version used in the module.
Definition: ncx.c:14570
ncx_module_t * ncx_next_submodule(ncx_module_t *mod, ncx_module_t *submod)
Get the next submodule in the specified main module.
Definition: ncx.c:13832
status_t ncx_set_mod_ocversion(ncx_module_t *mod, const xmlChar *ocversion)
Set the module openconfig-version string for the specified module.
Definition: ncx.c:10140
boolean ncx_is_duplicate(ncx_module_t *mod, const xmlChar *defname)
Check if a module definition name is a duplicate.
Definition: ncx.c:5255
dlq_hdr_t * ncx_get_allincQ(ncx_module_t *mod)
Find the correct Q of yang_node_t for all include files that have the same 'belongs-to' value.
Definition: ncx.c:11311
boolean ncx_mod_has_augment_data_nodes(ncx_module_t *mod, boolean check_config, boolean check_operational)
Check if the module has any augment datastore definitions.
Definition: ncx.c:12507
boolean ncx_mod_has_data_nodes(ncx_module_t *mod, boolean check_config, boolean check_operational)
Check if the module has any datastore definitions.
Definition: ncx.c:12403
boolean ncx_any_dependency_errors(const ncx_module_t *mod)
Check if any of the imports that this module relies on were loadeds are loaded with non-fatal errors.
Definition: ncx.c:3873
const xmlChar * ncx_get_modname(const ncx_module_t *mod)
Get the main module name.
Definition: ncx.c:5425
void ncx_number_all_objects(ncx_module_t *mod)
Number all objects for internal ordering comparisons.
Definition: ncx.c:14665
void ncx_set_yangmap_type(ncx_module_t *mod, boolean is_src)
Set the yangmap type flags.
Definition: ncx.c:16220
void ncx_unload_and_free_module(ncx_module_t *mod)
Clear out the xmlns, def_ref, and modQ entries for a module and then delete the module.
Definition: ncx.c:13543
void ncx_clear_mod_xpath_backptrs(ncx_module_t *mod)
Clear Xpath back pointers for the data-db objects in the database for 1 module.
Definition: ncx.c:13476
void ncx_collapse_submod_defs(ncx_module_t *mod)
Collapse submodule definitions into the main module.
Definition: ncx.c:12718
void ncx_soft_unload_and_free_module(ncx_module_t *mod)
Clear out the modQ entries for a module and then delete the module.
Definition: ncx.c:13614
void ncx_remove_augment_data_nodes(ncx_module_t *mod)
Check if YANG objects related to this augment need to be removed.
Definition: ncx.c:12621
status_t ncx_set_obj_xpath_backptrs(ncx_module_t *mod)
Add Xpath back pointers to the data-db objects in the database for 1 module.
Definition: ncx.c:12815
void ncx_delete_mod_obsolete_objects(ncx_module_t *mod)
Delete all obsolete objects in mod.
Definition: ncx.c:11992
YANG Grouping Statement Handler.
NCX System Logging Manager.
Contains NCX constants.
YANG module data structures Many internal representations of YANG module constructs.
Data Object Support.
NETCONF protocol remote procedure call common definitions.
One YANG 'grouping' definition – sibling set template.
Definition: grp.h:87
used with various structs to cache back-ptrs the 'node' pointer may or may not be malloced!...
Definition: ncxtypes.h:1530
NCX base64 string node for YANG 'binary' built-in type.
Definition: ncxtypes.h:866
one NCX_BT_BITS bit value
Definition: ncxtypes.h:819
one NCX_BT_ENUM enumeration value (user may enter 1 of 3 forms)
Definition: ncxtypes.h:811
YANG error info statement struct used to override default error handling in the server.
Definition: ncxtypes.h:1366
error message replacement record
Definition: ncxtypes.h:1624
struct to remember error info tkc->cur_err will be checked before tkc->cur for error information
Definition: ncxtypes.h:877
struct for holding r/o pointer to generic internal node for filtering purposes
Definition: ncxtypes.h:1061
YANG identity base.
Definition: ncxtypes.h:1095
YANG identity entry.
Definition: ncxtypes.h:1104
One 'import' clause in YANG.
Definition: ncxtypes.h:1298
One 'include' clause, YANG only.
Definition: ncxtypes.h:1328
server module info cache record for def_reg_add_mod
Definition: ncxtypes.h:1615
representation of one module or submodule during and after parsing
Definition: ncxtypes.h:1138
YANG revision entry.
Definition: ncxtypes.h:915
used with obj_deviation_t to defer object lookups
Definition: ncxtypes.h:1505
Schema Mount Root Control Block used in the object template.
Definition: ncxtypes.h:1893
keep track of the typenames used for local typedefs only used by ncxdump to generate XSDs OBSOLETE: D...
Definition: ncxtypes.h:1388
One YANG data-def-stmt.
Definition: obj.h:1230
Session Control Block.
Definition: ses.h:573
token parsing chain (main parser control block)
Definition: tk.h:415
One YANG 'typedef' definition – top-level type template.
Definition: typ.h:477
Common Encoding Message Header No longer XML specific!! Used by JSON and CBOR parsing as well!...
Definition: xml_msg.h:404
YANG parser control block.
Definition: yang.h:204
NCX Syntax Token Handler.
Parameter Type Handler.
Value Node Basic Support.
XML namespace support.
YANG Module parser utilities.