yumapro  25.10-4
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 - 2025, YumaWorks, Inc., All Rights Reserved.
4 *
5 * Unless required by applicable law or agreed to in writing,
6 * software distributed under the License is distributed on an
7 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
8 * KIND, either express or implied. See the License for the
9 * specific language governing permissions and limitations
10 * under the License.
11 */
12#ifndef _H_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
1186extern typ_template_t *
1188 const xmlChar *name,
1189 boolean useall);
1190
1191
1203extern typ_template_t *
1204 ncx_find_type_que (const dlq_hdr_t *typeQ,
1205 const xmlChar *typname);
1206
1207
1223extern grp_template_t *
1225 const xmlChar *grpname,
1226 boolean useall);
1227
1228
1237extern grp_template_t *
1238 ncx_find_grouping_que (const dlq_hdr_t *groupingQ,
1239 const xmlChar *grpname);
1240
1241
1249extern obj_template_t *
1250 ncx_find_rpc (const ncx_module_t *mod,
1251 const xmlChar *rpcname);
1252
1253
1263extern obj_template_t *
1265 const xmlChar *rpcname,
1266 uint32 *retcount);
1267
1268
1279extern obj_template_t *
1281
1282
1292extern obj_template_t *
1294 obj_template_t *obj);
1295
1296
1304extern obj_template_t *
1306 const xmlChar *objname);
1307
1315extern obj_template_t *
1317 const xmlChar *objname);
1318
1319
1329extern obj_template_t *
1331
1332
1342extern obj_template_t *
1344 boolean augment_ok);
1345
1346
1358extern obj_template_t *
1360 boolean augment_ok);
1361
1362
1373extern obj_template_t *
1375 obj_template_t *curobj);
1376
1377
1391extern obj_template_t *
1393 obj_template_t *curobj,
1394 boolean augment_ok);
1395
1396
1409extern obj_template_t *
1411 obj_template_t *curobj,
1412 boolean augment_ok);
1413
1414
1422extern obj_template_t *
1424 obj_template_t *curobj);
1425
1426
1435extern obj_template_t *
1437 boolean config);
1438
1439
1449extern obj_template_t *
1451 obj_template_t *curobj);
1452
1453 // END ncxlib/yang/yangmod/yangmodfind
1455
1456 // BEGIN ncxlib/yang/yangmod/yangmodprop
1464
1465
1473extern boolean
1475
1476
1487extern boolean
1489 const xmlChar *defname);
1490
1491
1498extern const xmlChar *
1499 ncx_get_modname (const ncx_module_t *mod);
1500
1501
1508extern xmlns_id_t
1509 ncx_get_mod_nsid (const ncx_module_t *mod);
1510
1511
1518extern const xmlChar *
1519 ncx_get_modversion (const ncx_module_t *mod);
1520
1521
1528extern const xmlChar *
1530
1531
1538extern const xmlChar *
1539 ncx_get_modsource (const ncx_module_t *mod);
1540
1541
1548extern ncx_module_t *
1550
1551
1552
1559extern const xmlChar *
1560 ncx_get_mod_prefix (const ncx_module_t *mod);
1561
1562
1574extern const xmlChar *
1576
1577
1584extern const xmlChar *
1585 ncx_get_mod_source (const ncx_module_t *mod);
1586
1587
1594extern const xmlChar *
1596
1597
1604extern const xmlChar *
1606
1607
1617extern status_t
1619 const xmlChar *ocversion);
1620
1621
1628extern const xmlChar *
1630
1631
1641extern status_t
1643 const xmlChar *version);
1644
1645
1660extern status_t
1661 ncx_compare_semvers (const xmlChar *version1,
1662 const xmlChar *version2,
1663 int32 *ret);
1664
1665
1673extern dlq_hdr_t *
1675
1676
1684extern const dlq_hdr_t *
1686
1687
1695extern ncx_module_t *
1697
1698
1705extern boolean
1707
1708
1717extern boolean
1719 boolean check_config,
1720 boolean check_operational);
1721
1722
1732extern boolean
1734 boolean check_config,
1735 boolean check_operational);
1736
1737
1746extern boolean
1748
1749
1756extern void
1758
1759
1766extern ncx_module_t *
1768
1769
1770
1778extern ncx_module_t *
1780 ncx_module_t *submod);
1781
1782
1783
1790extern ncx_module_t *
1792 const xmlChar *submod_name);
1793
1794
1801extern void
1803 boolean supported);
1804
1805
1812extern ncx_yang_version_t
1814
1815
1821extern void
1823
1824
1836extern boolean
1837 ncx_mod_is_hidden (const ncx_module_t *mod);
1838
1839
1849extern void
1850 ncx_set_mod_hidden (ncx_module_t *mod);
1851
1852
1860extern status_t
1862 const xmlChar *idstr);
1863
1864
1871extern void
1873 boolean mode);
1874
1875
1881extern void
1883
1884
1891extern boolean
1893
1894
1901extern boolean
1902 ncx_modname_is_ocpattern (const xmlChar *modname);
1903
1904
1915extern boolean
1916 ncx_skip_child_node_warn (const xmlChar *modname);
1917
1918
1925extern void ncx_clr_enable_chk (ncx_module_t *mod);
1926
1927
1934extern void
1936 boolean is_src);
1937
1938
1946extern boolean
1948 boolean is_src);
1949
1950
1959extern boolean
1961
1962 // END ncxlib/yang/yangmod/yangmodprop
1964
1965
1966 // BEGIN ncxlib/yang/yangmod/yangmodutil
1974
1975
1985extern void
1987
1988
1999extern void
2001
2002
2019extern void
2021
2022
2023
2033extern status_t
2035
2036
2043extern void
2045
2046
2053extern void
2055
2056
2063extern void
2065
2066 // END ncxlib/yang/yangmod/yangmodutil
2068
2069
2070
2071
2072// Heading only for YANG Data Docs
2073
2074
2100extern ncx_import_t *
2101 ncx_new_import (void);
2102
2103
2114extern void
2115 ncx_free_import (ncx_import_t *import);
2116
2117
2125extern ncx_import_t *
2126 ncx_find_import (const ncx_module_t *mod,
2127 const xmlChar *module);
2128
2129
2137extern ncx_import_t *
2138 ncx_find_import_que (const dlq_hdr_t *importQ,
2139 const xmlChar *module);
2140
2141
2151extern ncx_import_t *
2153 const xmlChar *module);
2154
2155
2163extern ncx_import_t *
2165 const xmlChar *prefix);
2166
2167
2175extern ncx_import_t *
2176 ncx_find_pre_import_que (const dlq_hdr_t *importQ,
2177 const xmlChar *prefix);
2178
2179
2189extern ncx_import_t *
2191 const xmlChar *prefix);
2192
2193
2202extern boolean
2204 const xmlChar *module,
2205 const xmlChar *revision);
2206
2207
2227extern void *
2229 ncx_import_t *imp,
2230 const xmlChar *defname,
2231 ncx_node_t *deftyp);
2232 // END ncxlib/yang/yangdata/yangimport
2234
2235
2236
2252extern ncx_include_t *
2253 ncx_new_include (void);
2254
2255
2266extern void
2268
2269
2277extern ncx_include_t *
2278 ncx_find_include (const ncx_module_t *mod,
2279 const xmlChar *submodule);
2280
2281 // END ncxlib/yang/yangdata/yanginclude
2283
2284
2306extern ncx_binary_t *
2307 ncx_new_binary (void);
2308
2309
2314extern void
2315 ncx_init_binary (ncx_binary_t *binary);
2316
2317
2323extern void
2325
2326
2332extern void
2333 ncx_free_binary (ncx_binary_t *binary);
2334
2335 // END ncxlib/yang/yangdata/yangbindata
2337
2338 // BEGIN ncxlib/yang/yangdata/yangidentity
2346
2347
2353extern ncx_identity_t *
2354 ncx_new_identity (void);
2355
2356
2363extern ncx_identity_base_t *
2364 ncx_new_identity_base (void);
2365
2366
2372extern void
2374
2375
2382extern ncx_identity_base_t *
2384
2385
2392extern ncx_identity_base_t *
2394
2395
2402extern uint32
2403 ncx_identity_base_count (ncx_identity_t *identity);
2404
2405
2411extern void
2413
2414
2425extern ncx_identity_t *
2427 const xmlChar *name,
2428 boolean useall);
2429
2430
2439extern void
2442 void *cookie);
2443
2444
2445/*
2446 * @brief Iterate all the YANG object definitions in the module
2447 *
2448 * @param mod module to search
2449 * @param cbfn The object_cbfn_t to invoke for each object found
2450 * @param cookie User cookie to pass to callback (may be NULL)
2451 */
2452extern void
2453 ncx_for_all_objects (ncx_module_t *mod,
2454 ncx_object_cbfn_t cbfn,
2455 void *cookie);
2456
2457
2458
2459/*
2460 * @brief Iterate all the external augments YANG object definitions
2461 * in the module
2462 *
2463 * @param mod module to search
2464 * @param cbfn The object_cbfn_t to invoke for each object found
2465 * @param cookie User cookie to pass to callback (may be NULL)
2466 */
2467extern void
2468 ncx_for_all_ext_augments (ncx_module_t *mod,
2469 ncx_object_cbfn_t cbfn,
2470 void *cookie);
2471
2472
2480extern ncx_identity_t *
2481 ncx_find_identity_que (dlq_hdr_t *identityQ,
2482 const xmlChar *name);
2483
2484
2491extern xmlns_id_t
2492 ncx_get_identity_nsid (const ncx_identity_t *identity);
2493
2494
2501extern boolean
2503
2504
2517extern void
2520 void *cookie);
2521
2522
2523 // END ncxlib/yang/yangdata/yangidentity
2525
2526
2543extern ncx_filptr_t *
2544 ncx_new_filptr (void);
2545
2546
2552extern void
2553 ncx_free_filptr (ncx_filptr_t *filptr);
2554
2555
2561extern ncx_revhist_t *
2562 ncx_new_revhist (void);
2563
2564
2569extern void
2571
2572
2580extern ncx_revhist_t *
2581 ncx_find_revhist (const ncx_module_t *mod,
2582 const xmlChar *ver);
2583
2584 // END ncxlib/yang/yangdata/yangcompgen
2586
2587
2603extern void
2605
2606
2612extern void
2614
2615
2627extern int32
2628 ncx_compare_enums (const ncx_enum_t *enu1,
2629 const ncx_enum_t *enu2);
2630
2631
2643extern status_t
2644 ncx_set_enum (const xmlChar *enum_name,
2645 const int32 enum_val,
2646 ncx_enum_t *retenu);
2647
2648 // END ncxlib/yang/yangdata/yangenum
2650
2651
2666extern void
2667 ncx_init_bit (ncx_bit_t *bit);
2668
2669
2675extern void
2676 ncx_clean_bit (ncx_bit_t *bit);
2677
2678
2691extern int32
2692 ncx_compare_bits (const ncx_bit_t *bitone,
2693 const ncx_bit_t *bittwo);
2694
2695 // END ncxlib/yang/yangdata/yangbit
2697
2698
2699
2714extern ncx_typname_t *
2715 ncx_new_typname (void);
2716
2717
2724extern void
2726
2727
2735extern const xmlChar *
2736 ncx_find_typname (const typ_template_t *typ,
2737 const dlq_hdr_t *que);
2738
2739
2748extern const typ_template_t *
2749 ncx_find_typname_type (const dlq_hdr_t *que,
2750 const xmlChar *typname);
2751
2752
2758extern void
2759 ncx_clean_typnameQ (dlq_hdr_t *que);
2760
2761 // END ncxlib/yang/yangdata/yangtypname
2763
2764
2780extern ncx_errinfo_t *
2781 ncx_new_errinfo (void);
2782
2783
2789extern void
2791
2792
2799extern void
2801
2802
2809extern void
2811
2812
2823extern boolean
2824 ncx_errinfo_set (const ncx_errinfo_t *errinfo);
2825
2826
2835extern status_t
2836 ncx_copy_errinfo (const ncx_errinfo_t *src,
2837 ncx_errinfo_t *dest);
2838
2839
2840 // END ncxlib/yang/yangdata/yangdataerrinfo
2842
2843
2844
2845
2846
2847
2848
2849 // BEGIN ncxlib/ncxglobals/ncxgenobj
2859
2860
2866extern obj_template_t *
2867 ncx_get_gen_anyxml (void);
2868
2869
2875extern obj_template_t *
2876 ncx_get_gen_container (void);
2877
2878
2884extern obj_template_t *
2885 ncx_get_gen_string (void);
2886
2887
2893extern obj_template_t *
2894 ncx_get_gen_empty (void);
2895
2896
2902extern obj_template_t *
2903 ncx_get_gen_root (void);
2904
2905
2911extern obj_template_t *
2912 ncx_get_gen_binary (void);
2913
2919extern obj_template_t *
2920 ncx_get_gen_leaflist (void);
2921
2922
2928extern obj_template_t *
2929 ncx_get_yang_insert (void);
2930
2931
2937extern obj_template_t *
2938 ncx_get_yang_key (void);
2939
2940
2946extern obj_template_t *
2947 ncx_get_yang_value (void);
2948
2949
2956extern obj_template_t *
2957 ncx_get_nc_operation (void);
2958
2959
2966extern obj_template_t *
2967 ncx_get_datapath_obj (void);
2968
2969
2976extern obj_template_t *
2978
2979
2986extern obj_template_t *
2987 ncx_get_btype_obj (void);
2988
2989
2995extern boolean
2997
2998 // END ncxlib/ncxglobals/ncxgenobj
3000
3001
3002 // BEGIN ncxlib/ncxglobals/ncxgenvar
3013
3014
3020extern ncx_display_mode_t
3021 ncx_get_display_mode (void);
3022
3023
3029extern uint32
3031
3032
3040extern boolean
3041 ncx_get_useprefix (void);
3042
3043
3051extern void
3052 ncx_set_useprefix (boolean val);
3053
3054
3062extern boolean
3063 ncx_get_system_sorted (void);
3064
3065
3073extern void
3074 ncx_set_system_sorted (boolean val);
3075
3076
3085extern ncx_sort_type_t
3087
3088
3095extern void
3097
3098
3108extern boolean
3109 ncx_get_cwd_subdirs (void);
3110
3111
3119extern boolean
3121
3122
3129extern void
3131
3132
3138extern void
3140
3141
3149extern void
3150 ncx_set_use_deadmodQ (void);
3151
3152
3162extern int8
3164
3165
3172extern void
3173 ncx_set_message_indent (int8 msg_indent);
3174
3175
3182extern boolean
3184
3185
3192extern status_t
3194
3195
3201extern boolean
3202 ncx_fastpath_enabled (void);
3203
3204
3210extern boolean
3211 ncx_netconfd_running (void);
3212
3213
3219extern void
3220 ncx_use_data_templates (boolean enabled);
3221
3222
3228extern boolean
3229 ncx_data_templates_ok (void);
3230
3231
3237extern void
3238 ncx_ignore_missing_vars (boolean enabled);
3239
3240
3246extern boolean
3247 ncx_missing_vars_ok (void);
3248
3249
3253extern void
3255
3256
3260extern void
3262
3268extern boolean
3270
3271
3278extern status_t
3279 ncx_set_subsys_id (const xmlChar *id);
3280
3286extern const xmlChar *
3287 ncx_get_subsys_id (void);
3288
3289
3294extern void
3295 ncx_set_use_objptrs (void);
3296
3304extern boolean
3305 ncx_use_objptrs (void);
3306
3307
3313extern ncx_backptr_t *
3314 ncx_first_objptr (void);
3315
3316
3323extern ncx_backptr_t *
3325
3326
3327#ifdef DEBUG
3332extern void
3333 ncx_dump_objptrQ (void);
3334#endif // DEBUG
3335
3336
3344extern void
3345 ncx_set_getbulk_max (uint32 max_entries);
3346
3347
3353extern uint32
3354 ncx_get_getbulk_max (void);
3355
3356
3362extern void
3364
3365
3371extern boolean
3373
3374
3384extern void
3386
3387
3394extern boolean
3396
3397
3405extern boolean
3406 ncx_base_schema_set (void);
3407
3408
3414extern void
3415 ncx_set_base_schema (void);
3416
3417
3426extern boolean
3427 ncx_need_get2_xpath (void);
3428
3429
3436extern void
3437 ncx_set_with_ocpattern (boolean mode);
3438
3439
3445extern boolean
3447
3448
3454extern void
3456
3457
3465extern boolean
3466 ncx_is_with_snmp (void);
3467
3468
3476extern void
3477 ncx_set_with_snmp (boolean val);
3478
3479
3485extern void
3486 ncx_enable_bestmatch (void);
3487
3488
3497extern status_t
3498 ncx_set_bestmatch (void);
3499
3500
3508extern boolean
3509 ncx_get_bestmatch (void);
3510
3511
3517extern void
3519
3520
3527extern boolean
3529
3530
3536extern boolean
3538
3539
3546extern void
3547 ncx_set_sethook_registered (boolean val);
3548
3549
3555extern void
3556 ncx_set_binary_display_maxlen (uint32 val);
3557
3558
3564extern uint32
3566
3567
3573extern boolean
3574 ncx_is_with_dblock (void);
3575
3576
3582extern void
3583 ncx_set_with_dblock (boolean val);
3584
3585
3592extern boolean
3594
3595
3601extern void
3602 ncx_set_db_lock_init_done (boolean val);
3603
3604
3610extern void
3611 ncx_set_max_strlen (int32 num);
3612
3613
3619extern int32
3620 ncx_get_max_strlen (void);
3621
3622
3627extern void
3629
3630
3636extern boolean
3638
3639
3644extern void
3646
3647
3653extern boolean
3655
3656
3666extern void
3667 ncx_set_trim_whitespace (boolean val);
3668
3669
3676extern boolean
3678
3679
3688extern void
3689 ncx_set_startup_prune (boolean val);
3690
3691
3700extern boolean
3701 ncx_get_startup_prune (void);
3702
3703
3713extern boolean
3715
3716
3724extern void
3726
3727
3733extern ncx_config_state_t
3734 ncx_get_config_state (void);
3735
3736
3744extern void
3745 ncx_set_xmlorder (boolean val);
3746
3747
3754extern boolean
3755 ncx_get_xmlorder (void);
3756
3757
3765extern void
3766 ncx_set_list_deleteall_ok (boolean val);
3767
3768
3776extern boolean
3778
3779
3787extern void
3788 ncx_set_leaflist_deleteall_ok (boolean val);
3789
3790
3798extern boolean
3800
3801
3809extern boolean
3811
3812
3819extern void
3820 ncx_set_with_canonical (boolean val);
3821
3822
3829extern boolean
3831
3832
3842extern void
3843 ncx_set_save_owners (boolean val);
3844
3845
3852extern boolean
3853 ncx_get_save_owners (void);
3854
3855 // END ncxlib/ncxglobals/ncxgenvar
3857
3858
3859// heading only
3860 // BEGIN ncxlib/ncxstrenum
3878
3879
3888extern const xmlChar *
3889 ncx_get_layer (ncx_layer_t layer);
3890
3891
3898extern ncx_cvttyp_t
3899 ncx_get_cvttyp_enum (const char *str);
3900
3901
3908extern ncx_status_t
3909 ncx_get_status_enum (const xmlChar *str);
3910
3911
3918extern const xmlChar *
3920
3921
3928extern ncx_data_class_t
3929 ncx_get_data_class_enum (const xmlChar *str);
3930
3931
3938extern const xmlChar *
3940
3941
3948extern const xmlChar *
3949 ncx_get_access_str (ncx_access_t max_access);
3950
3951
3958extern ncx_access_t
3959 ncx_get_access_enum (const xmlChar *str);
3960
3961
3970extern boolean
3971 ncx_is_true (const xmlChar *str);
3972
3973
3981extern boolean
3982 ncx_is_false (const xmlChar *str);
3983
3984
3991extern ncx_bad_data_t
3992 ncx_get_baddata_enum (const xmlChar *valstr);
3993
3994
4001extern const xmlChar *
4003
4004
4011extern const xmlChar *
4013
4014
4021extern ncx_withdefaults_t
4022 ncx_get_withdefaults_enum (const xmlChar *withdefstr);
4023
4024
4031extern int32
4032 ncx_get_withdefaults_value (const xmlChar *withdefstr);
4033
4034
4042extern ncx_display_mode_t
4043 ncx_get_display_mode_enum (const xmlChar *dmstr);
4044
4045
4052extern const xmlChar *
4054
4055
4062extern const xmlChar *
4064
4065
4074extern const xmlChar *
4075 ncx_get_protocols_enabled (uint16 flags);
4076
4077
4084extern const xmlChar *
4086
4087
4094extern ncx_name_match_t
4095 ncx_get_name_match_enum (const xmlChar *str);
4096
4097
4104extern const xmlChar *
4106
4107
4114extern int32
4116
4117
4126extern status_t
4127 ncx_str2txid (const xmlChar *str,
4128 ncx_transaction_id_t *txid);
4129
4130
4139extern status_t
4141 xmlChar **retbuff);
4142
4143
4150extern const xmlChar *
4152
4153
4160extern const xmlChar *
4162
4163
4172extern const xmlChar *
4174
4175
4182extern ncx_msg_encoding_t
4183 ncx_cvt_encoding_str (const xmlChar *msg_encoding);
4184
4185
4194extern ncx_msg_encoding_t
4195 ncx_cvt_encoding_yang_str (const xmlChar *msg_encoding);
4196
4197
4203extern const xmlChar *
4205
4206
4213extern const xmlChar *
4215
4216 // END ncxlib/ncxutil/ncxstrenum
4218
4219
4220
4240extern void
4242 ncx_module_t *mod,
4243 status_t res);
4244
4245
4259extern void
4261 ncx_module_t *mod,
4262 status_t res,
4263 const char *filename,
4264 uint32 linenum,
4265 boolean fineoln);
4266
4267
4275extern void
4277 status_t result,
4278 const char *expstr);
4279
4280
4289extern void
4291 ncx_module_t *mod,
4292 status_t result,
4293 const char *expstr);
4294
4295
4305extern void
4307 ncx_module_t *mod,
4308 const char *stmtstr,
4309 const char *expstr);
4310
4311
4322extern ncx_errmsg_t *
4324 const xmlChar *str);
4325
4326
4332extern void
4334
4335
4336 // END ncxlib/yang/yangcomp/yangcomperr
4338
4339
4340 // BEGIN ncxlib/yang/yangcomp/yangcompidentifier
4350
4351
4358extern boolean
4359 ncx_valid_name_ch (uint32 ch);
4360
4361
4368extern boolean
4369 ncx_valid_fname_ch (uint32 ch);
4370
4371
4379extern boolean
4380 ncx_valid_name (const xmlChar *str,
4381 uint32 len);
4382
4383
4397extern boolean
4398 ncx_valid_num_name (const xmlChar *str);
4399
4400
4409extern boolean
4410 ncx_valid_name2 (const xmlChar *str);
4411
4412 // END ncxlib/yang/yangcomp/yangcompidentifier
4414
4415
4416 // BEGIN ncxlib/ncxutil/ncxutilgen
4424
4447extern xmlChar *
4448 ncx_get_source_ex (const xmlChar *fspec,
4449 boolean expand_cwd,
4450 status_t *res);
4451
4452
4475extern xmlChar *
4476 ncx_get_source (const xmlChar *fspec,
4477 status_t *res);
4478
4479
4489extern boolean
4490 ncx_prefix_different (const xmlChar *prefix1,
4491 const xmlChar *prefix2,
4492 const xmlChar *modprefix);
4493
4494
4504extern status_t
4505 ncx_get_version (xmlChar *buffer,
4506 uint32 buffsize);
4507
4508
4518extern status_t
4519 ncx_get_semver (xmlChar *buffer,
4520 uint32 buffsize);
4521
4522
4532extern status_t
4533 ncx_get_full_version (xmlChar *buffer,
4534 uint32 buffsize);
4535
4536
4537
4545extern const char *
4546 ncx_get_build_date (void);
4547
4548
4549
4557extern status_t
4558 ncx_get_feature_code (xmlChar *buffer,
4559 uint32 buffsize);
4560
4569extern int32
4570 ncx_compare_base_uris (const xmlChar *str1,
4571 const xmlChar *str2);
4572
4573
4582extern boolean
4584 uint16 flags);
4585
4586
4587
4597extern void
4599 uint16 *flags);
4600
4601
4610extern void
4612 uint16 *flags);
4613
4614
4621extern boolean
4623
4624
4633extern void
4634 ncx_write_tracefile (const char *buff, uint32 count);
4635
4636
4647extern status_t
4648 ncx_decode_url_string (const xmlChar *urlstr,
4649 uint32 urlstrlen,
4650 xmlChar *buffer,
4651 uint32 *cnt);
4652
4653
4654
4665extern status_t
4666 ncx_create_pidfile (const xmlChar *progname,
4667 boolean fileloc_fhs);
4668
4669
4676extern status_t
4677 ncx_add_ydtrace (const xmlChar *fspec);
4678
4679
4686extern boolean
4687 ncx_find_ydtrace (const xmlChar *fspec);
4688
4689
4698 ncx_get_file_result_format (const xmlChar *filespec);
4699
4700
4713extern boolean
4714 ncx_library_mode_ok (const xmlChar *modname,
4715 const xmlChar *rpcname);
4716
4717
4723extern const char *
4724 ncx_get_progname (void);
4725
4726
4733extern boolean
4735
4736
4744extern boolean
4745 ncx_check_inline_data_state (const xmlChar *line,
4746 boolean curstate);
4747
4748 // END ncxlib/ncxutil/ncxutilgen
4750
4751
4752
4753// Heading Only
4778extern void
4779 ncx_set_cur_modQ (dlq_hdr_t *que);
4780
4781
4785extern void
4786 ncx_reset_modQ (void);
4787
4788
4803extern void
4804 ncx_set_session_modQ (dlq_hdr_t *que);
4805
4806
4812extern dlq_hdr_t *
4813 ncx_get_session_modQ (void);
4814
4815
4828extern void
4830
4831
4837extern void
4838 ncx_set_temp_modQ (dlq_hdr_t *modQ);
4839
4840
4846extern dlq_hdr_t *
4847 ncx_get_temp_modQ (void);
4848
4849
4854extern void
4855 ncx_clear_temp_modQ (void);
4856
4857
4858 // END ncxlib/yang/yanglib/yanglibconf/yanglibconfq
4860
4861
4878extern status_t
4880
4881
4887extern void
4889
4890
4897extern status_t
4899
4900
4906extern void
4908
4909
4916extern status_t
4918
4919
4925extern void
4927
4928
4935extern void
4937 obj_template_t *obj);
4938
4939
4945extern void
4947
4948
4955extern const xmlChar *
4957
4958 // END ncxlib/yang/yanglib/yanglibconf/yanglibconfcb
4960
4977extern void
4978 ncx_set_warn_idlen (uint32 warnlen);
4979
4980
4986extern uint32
4987 ncx_get_warn_idlen (void);
4988
4989
4995extern void
4996 ncx_set_warn_linelen (uint32 warnlen);
4997
4998
5004extern uint32
5005 ncx_get_warn_linelen (void);
5006
5007
5017extern void
5019 ncx_module_t *mod,
5020 const xmlChar *id);
5021
5022
5032extern void
5034 ncx_module_t *mod,
5035 const xmlChar *line);
5036
5037
5044extern status_t
5046
5047
5054extern status_t
5056
5057
5064extern status_t
5066
5067
5073extern void
5074 ncx_set_warn_error (boolean val);
5075
5076
5082extern void
5083 ncx_set_warn_off_yang (boolean val);
5084
5085
5091extern boolean
5092 ncx_get_warn_off_yang (void);
5093
5101extern boolean
5103
5104
5112extern boolean
5114
5115
5122extern void
5124
5125
5141extern void
5142 ncx_set_top_mandatory_allowed (boolean allowed);
5143
5144
5151extern boolean
5153
5154
5164extern boolean
5166
5167
5173extern void
5174 ncx_set_module_setid (uint32 new_setid);
5175
5176
5182extern uint32
5183 ncx_get_module_setid (void);
5184
5185
5195extern status_t
5196 ncx_sprintf_module_setid (uint32 id,
5197 xmlChar *buff,
5198 int32 buffsize);
5199
5200
5207extern boolean
5209
5210
5217extern void
5218 ncx_set_empty_npcon_presence (boolean val);
5219
5220
5230extern boolean
5232
5233
5244extern void
5245 ncx_set_empty_npcon_presence_ro (boolean val);
5246
5247
5248
5249
5250 // END ncxlib/yang/yanglib/yanglibconf/yanglibconfset
5252
5253
5254
5255
5256 // BEGIN ncxlib/ncxutil/ncxbackptr
5271
5272
5279extern ncx_backptr_t *
5280 ncx_new_backptr (void *node);
5281
5282
5289extern void
5291
5292
5303extern void
5305
5306
5312extern void
5313 ncx_clean_backptrQ (dlq_hdr_t *backptrQ);
5314
5315
5322extern void
5323 ncx_clean_mbackptrQ (dlq_hdr_t *backptrQ);
5324
5325
5332extern ncx_backptr_t *
5333 ncx_first_backptr (dlq_hdr_t *que);
5334
5335
5342extern const ncx_backptr_t *
5343 ncx_first_const_backptr (const dlq_hdr_t *que);
5344
5345
5352extern ncx_backptr_t *
5353 ncx_last_backptr (dlq_hdr_t *que);
5354
5355
5362extern ncx_backptr_t *
5364
5371extern const ncx_backptr_t *
5372 ncx_next_const_backptr (const ncx_backptr_t *curptr);
5373
5374
5381extern ncx_backptr_t *
5383
5384
5391extern void *
5393
5394
5401extern const void *
5403
5404
5410extern void
5412
5413
5421extern ncx_backptr_t *
5422 ncx_find_backptr (const dlq_hdr_t *que,
5423 void *node);
5424
5425
5426
5427 // END ncxlib/ncxutil/ncxbackptr
5429
5430
5452extern ncx_save_deviations_t *
5453 ncx_find_save_deviations (const xmlChar *deviname,
5454 dlq_hdr_t *deviationQ);
5455
5456
5462extern void
5464
5465
5474extern boolean
5475 ncx_ok_skip_deviation_module (const xmlChar *modname,
5476 dlq_hdr_t *save_deviationsQ);
5477
5478
5479 // END ncxlib/yang/yangdata/yangdeviation
5481
5482
5483
5484 // BEGIN ncxlib/ncxutil/ncxutilfile
5492
5493
5499extern void
5500 ncx_socket_close (int fd);
5501
5512extern void
5513 ncx_socket_close_noerr (int fd);
5514
5515
5521extern void
5522 ncx_file_close (FILE *fp);
5523
5524
5532extern status_t
5533 ncx_file_remove (const xmlChar *filespec,
5534 boolean do_warn);
5535
5536
5545extern status_t
5546 ncx_file_rename (const xmlChar *old_filespec,
5547 const xmlChar *new_filespec,
5548 boolean do_warn);
5549
5550
5558 extern status_t
5559 ncx_file_flush (FILE *fp,
5560 boolean do_warn);
5561
5562
5570extern status_t
5571 ncx_file_copy (const xmlChar *src_filespec,
5572 const xmlChar *dst_filespec);
5573
5574
5583extern status_t
5584 ncx_file_buffcopy (const xmlChar *src_buff,
5585 uint32 src_bufflen,
5586 const xmlChar *dst_filespec);
5587
5588
5597extern status_t
5598 ncx_file_size (const char *filespec,
5599 uint32 *siz);
5600
5601
5611extern status_t
5612 ncx_file_to_buffer (const char *filespec,
5613 xmlChar **outbuff);
5614
5622extern status_t
5623 ncx_buffer_to_file (const char *filespec,
5624 const xmlChar *inbuff);
5625
5626
5636extern status_t
5637 ncx_get_temp_filespec (xmlChar *buff,
5638 uint32 bufflen,
5639 const xmlChar *rootpart,
5640 const xmlChar *ext);
5641
5642
5652extern ncx_modcache_t *
5653 ncx_new_modcache (const xmlChar *modname,
5654 boolean hidemod);
5655
5656
5662extern void
5664
5665
5666 // END ncxlib/ncxutil/ncxutilfile
5668
5669
5670
5682extern void ncx_set_use_return_status (void);
5683
5684
5685
5691extern boolean ncx_use_return_status (void);
5692
5693
5700extern ncx_bad_reply_enum
5701 ncx_get_handle_badreply_enum (const xmlChar *valstr);
5702
5703
5710extern const xmlChar *
5712
5713
5719extern void
5721
5722
5728extern ncx_bad_reply_enum
5730
5731
5740extern boolean
5742
5743
5744
5754extern ncx_etag_t
5756
5757
5764extern const xmlChar *
5766
5767
5774extern uint16
5776
5777
5783extern dlq_hdr_t *
5784 ncx_get_rootQ (void);
5785
5786
5792extern ncx_sm_rootcb_t *
5793 ncx_first_rootcb (void);
5794
5795
5803extern ncx_sm_rootcb_t *
5805
5806
5817extern boolean
5818 ncx_is_sm_mode (void);
5819
5820
5831extern void
5832 ncx_set_sm_mode (boolean val);
5833
5834
5842extern ncx_sm_rootcb_t *
5843 ncx_get_cur_rootcb (void);
5844
5845
5853extern void
5855
5856
5864extern obj_template_t *
5866
5867
5868
5879extern boolean
5880 ncx_get_sm_enabled (void);
5881
5882
5888extern void
5889 ncx_set_sm_enabled (boolean val);
5890
5896extern boolean
5897 ncx_yang_cbor_enabled (void);
5898
5904extern unsigned short
5906
5907
5913extern void
5914 ncx_set_tcp_connect_timeout (unsigned short timeout_sec);
5915
5916
5925extern ncx_module_t *
5926 ncx_find_module_que_all (dlq_hdr_t *modQ,
5927 const xmlChar *modname,
5928 const xmlChar *revision);
5938extern void
5939 ncx_invoke_load_callbacks (ncx_module_t *mod);
5940
5949extern void
5950 ncx_redo_loadmod_all (void);
5951
5952
5958extern void
5960
5961
5967extern boolean
5969
5975extern void
5977
5978
5985extern boolean
5986 ncx_save_error_input (void);
5987
5993extern void
5995
6003extern boolean
6004 ncx_mod_parse_done (const ncx_module_t *mod);
6005
6006
6013extern status_t ncx_set_chunk_size (uint16 chunksize);
6014
6015
6021extern uint16 ncx_get_chunk_size (void);
6022
6023
6036extern const xmlChar *
6037 ncx_get_real_notif_modname (const xmlChar *modname,
6038 const xmlChar *name);
6039
6040
6053extern const xmlChar *
6054 ncx_get_fake_notif_modname (const xmlChar *modname,
6055 const xmlChar *name);
6056
6057
6072extern void
6073 ncx_set_mod_stable (boolean state);
6074
6075
6082extern boolean
6083 ncx_get_mod_stable (void);
6084
6085
6091extern void
6092 ncx_set_yang_metadata (boolean state);
6093
6094
6100extern boolean
6101 ncx_get_yang_metadata (void);
6102
6103
6109extern ncx_sid_range_t *
6110 ncx_new_sid_range (void);
6111
6112
6118extern void
6120
6121
6127extern void
6128 ncx_clean_sid_rangeQ (dlq_hdr_t *sid_rangeQ);
6129
6130 // END ncxlib/ncxutil/ncxutilfile
6132
6133#ifdef __cplusplus
6134} /* end extern 'C' */
6135#endif
6136
6137#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:219
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:13336
void ncx_free_mbackptr(ncx_backptr_t *ptr)
Free an ncx_backptr_t struct; Free the 'node' pointer first.
Definition: ncx.c:13255
void ncx_clean_backptrQ(dlq_hdr_t *backptrQ)
Clean an entire Q of ncx_backptr_t structs.
Definition: ncx.c:13274
ncx_backptr_t * ncx_first_backptr(dlq_hdr_t *que)
Get first back pointer struct.
Definition: ncx.c:13317
ncx_backptr_t * ncx_new_backptr(void *node)
Malloc and initialize a new ncx_backptr_t struct.
Definition: ncx.c:13216
ncx_backptr_t * ncx_next_backptr(ncx_backptr_t *curptr)
Get next back pointer struct.
Definition: ncx.c:13374
ncx_backptr_t * ncx_last_backptr(dlq_hdr_t *que)
Get last back pointer struct.
Definition: ncx.c:13355
ncx_backptr_t * ncx_find_backptr(const dlq_hdr_t *que, void *node)
Find the specified back pointer struct.
Definition: ncx.c:13488
void * ncx_get_backptr_node(ncx_backptr_t *backptr)
Get the back pointer node pointer.
Definition: ncx.c:13431
void ncx_free_backptr(ncx_backptr_t *ptr)
Free an ncx_backptr_t struct.
Definition: ncx.c:13237
ncx_backptr_t * ncx_prev_backptr(ncx_backptr_t *curptr)
Get previous back pointer struct.
Definition: ncx.c:13412
const void * ncx_get_const_backptr_node(const ncx_backptr_t *backptr)
Get the back pointer node pointer CONST.
Definition: ncx.c:13450
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:13296
const ncx_backptr_t * ncx_next_const_backptr(const ncx_backptr_t *curptr)
Get next back pointer struct CONST.
Definition: ncx.c:13393
void ncx_remove_backptr(ncx_backptr_t *ptr)
Remove the specified backptr for deletion.
Definition: ncx.c:13468
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:15132
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:13642
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:13542
obj_template_t * ncx_get_yang_insert(void)
Get the object template for the YANG insert attribute.
Definition: ncx.c:7987
obj_template_t * ncx_get_yang_value(void)
Get the object template for the YANG value attribute.
Definition: ncx.c:8013
obj_template_t * ncx_get_gen_root(void)
Get the object template for the NCX generic root container.
Definition: ncx.c:7944
obj_template_t * ncx_get_gen_empty(void)
Get the object template for the NCX generic empty leaf.
Definition: ncx.c:7930
obj_template_t * ncx_get_gen_container(void)
Get the object template for the NCX generic container.
Definition: ncx.c:7902
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:13609
obj_template_t * ncx_get_yang_key(void)
Get the object template for the YANG key attribute.
Definition: ncx.c:8000
obj_template_t * ncx_get_gen_leaflist(void)
Get the object template for the NCX generic leaf-list string.
Definition: ncx.c:7974
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:13576
obj_template_t * ncx_get_gen_anyxml(void)
Get the object template for the NCX generic anyxml container.
Definition: ncx.c:7888
obj_template_t * ncx_get_gen_binary(void)
Get the object template for the NCX generic binary leaf.
Definition: ncx.c:7959
obj_template_t * ncx_get_gen_string(void)
Get the object template for the NCX generic string leaf.
Definition: ncx.c:7916
boolean ncx_get_pidfile_cleaned(void)
Get the PID file cleaned flag.
Definition: ncx.c:17193
const xmlChar * ncx_get_subsys_id(void)
Get the subsys_id value; NULL if not set.
Definition: ncx.c:14617
boolean ncx_get_startup_prune(void)
Get the startup_prune flag.
Definition: ncx.c:17282
boolean ncx_need_get2_xpath(void)
Check if GET2 callback support needed in XPath.
Definition: ncx.c:15933
boolean ncx_is_with_snmp(void)
Get the with_snmp value.
Definition: ncx.c:16253
boolean ncx_get_search_modQ_ok(void)
Get the search_modQ_ok flag.
Definition: ncx.c:14583
void ncx_set_sil_priority_used(void)
Flag that an object set a non-default SIL priority.
Definition: ncx.c:15071
ncx_backptr_t * ncx_first_objptr(void)
Get the first object pointer.
Definition: ncx.c:14694
boolean ncx_netconfd_running(void)
Check if netconfd running.
Definition: ncx.c:13690
boolean ncx_data_templates_ok(void)
Get the use-data-templates flag.
Definition: ncx.c:14412
uint32 ncx_get_binary_display_maxlen(void)
Get the binary_display_maxlen parameter.
Definition: ncx.c:17031
void ncx_set_binary_display_maxlen(uint32 val)
Set the binary_display_maxlen parameter.
Definition: ncx.c:17015
boolean ncx_get_leaflist_deleteall_ok(void)
Get the leaflist_deleteall_ok flag.
Definition: ncx.c:17443
void ncx_set_base_schema(void)
Set the base_schema_set flag to true.
Definition: ncx.c:15276
boolean ncx_get_sethook_registered(void)
Check if the Set-Hook callbacks were registered.
Definition: ncx.c:16980
uint32 ncx_get_vtimeout_value(void)
Get the virtual node cache timeout value.
Definition: ncx.c:11759
void ncx_set_max_strlen(int32 num)
Set the –max-strlen parameter.
Definition: ncx.c:17117
void ncx_set_protocol_disabled(ncx_protocol_t proto)
Set the specified protocol version to be disabled.
Definition: ncx.c:12091
status_t ncx_set_all_obj_xpath_backptrs(void)
Add Xpath back pointers to the data-db objects in the database.
Definition: ncx.c:13156
void ncx_set_save_owners(boolean val)
Set the save_owners flag.
Definition: ncx.c:17514
void ncx_set_trim_whitespace(boolean val)
Set the trim_whitespace flag.
Definition: ncx.c:17234
boolean ncx_get_secondary_sil_priority_used(void)
Get the secondary_sil_priority_used flag.
Definition: ncx.c:15119
boolean ncx_protocol_enabled(ncx_protocol_t proto)
Check if the specified protocol version is enabled.
Definition: ncx.c:11971
ncx_sort_type_t ncx_get_system_sort_type(void)
Get the system_sort_type value.
Definition: ncx.c:11897
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:17462
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:11955
boolean ncx_get_with_canonical(void)
Get the with_canonical flag.
Definition: ncx.c:17500
void ncx_set_ypwatcher_running(void)
Set the ypwatcher running flag.
Definition: ncx.c:17147
void ncx_set_db_lock_init_done(boolean val)
Set if the <db-lock-init> message was processed by the server.
Definition: ncx.c:17101
boolean ncx_use_objptrs(void)
Get the use_objptrs flag.
Definition: ncx.c:14679
ncx_display_mode_t ncx_get_display_mode(void)
Get the current default display mode.
Definition: ncx.c:11471
boolean ncx_get_system_sorted(void)
Get the system_sorted value.
Definition: ncx.c:11862
void ncx_set_config_state(ncx_config_state_t val)
Set the config_state flag.
Definition: ncx.c:17296
boolean ncx_get_save_owners(void)
Get the save_owners flag.
Definition: ncx.c:17531
boolean ncx_is_add_toplevel_default_mode(void)
Get the add_toplevel_default_mode value.
Definition: ncx.c:16221
void ncx_set_leaflist_deleteall_ok(boolean val)
Set the leaflist_deleteall_ok flag.
Definition: ncx.c:17426
boolean ncx_use_xpath_backptrs(void)
Check if it is OK to use XPath back pointers or not.
Definition: ncx.c:13140
void ncx_ignore_missing_vars(boolean enabled)
Set the ignore-missing-vars flag.
Definition: ncx.c:14425
void ncx_set_getbulk_max(uint32 max_entries)
Set the max_entries parameter for GET2 callbacks.
Definition: ncx.c:15003
void ncx_set_list_deleteall_ok(boolean val)
Set the list_deleteall_ok flag.
Definition: ncx.c:17395
void ncx_set_system_sorted(boolean val)
Set the system_sorted value.
Definition: ncx.c:11881
status_t ncx_set_bestmatch(void)
Setup the bestmatch module versions, if enabled.
Definition: ncx.c:16371
void ncx_set_with_dblock(boolean val)
Set the is_with_dblock value.
Definition: ncx.c:17065
void ncx_set_search_modQ_ok(void)
Set the search_modQ_ok flag to TRUE.
Definition: ncx.c:14571
void ncx_set_add_toplevel_default_mode(boolean val)
Set the add_toplevel_default_mode value.
Definition: ncx.c:16237
status_t ncx_set_subsys_id(const xmlChar *id)
Set the subsys_id parameter for this subsystem.
Definition: ncx.c:14594
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:16948
void ncx_set_startup_prune(boolean val)
Set the startup_prune flag.
Definition: ncx.c:17265
int8 ncx_get_message_indent(void)
Get the protoco9l output indent amount.
Definition: ncx.c:12564
ncx_config_state_t ncx_get_config_state(void)
Get the config_state flag.
Definition: ncx.c:17313
void ncx_enable_bestmatch(void)
Enable the bestmatch import processing feature.
Definition: ncx.c:16340
boolean ncx_is_db_lock_init_done(void)
Check if the <db-lock-init> message was processed by the server.
Definition: ncx.c:17084
boolean ncx_get_bestmatch(void)
Get the bestmatch module versions, if enabled.
Definition: ncx.c:16353
boolean ncx_base_schema_set(void)
Check if the base schema features have been set yet.
Definition: ncx.c:15264
boolean ncx_get_ypwatcher_running(void)
Get the ypwatcher running flag.
Definition: ncx.c:17163
int32 ncx_get_max_strlen(void)
Get the –max-strlen parameter.
Definition: ncx.c:17133
void ncx_set_useprefix(boolean val)
Set the use_prefix value.
Definition: ncx.c:11845
boolean ncx_get_xmlorder(void)
Get the xmlorder flag.
Definition: ncx.c:17381
void ncx_set_protocol_enabled(ncx_protocol_t proto)
Set the specified protocol version to be enabled.
Definition: ncx.c:12054
boolean ncx_is_with_dblock(void)
Get the is_with_dblock value.
Definition: ncx.c:17048
void ncx_set_ycontrol_running(void)
Set the ycontrol_running flag to TRUE.
Definition: ncx.c:14559
void ncx_set_pidfile_cleaned(void)
Set the pidfile cleaned flag.
Definition: ncx.c:17177
void ncx_set_with_snmp(boolean val)
Set the with_snmp value.
Definition: ncx.c:16270
void ncx_set_with_ocpattern(boolean mode)
Set the openconfig pattern mode for the entire system.
Definition: ncx.c:16206
void ncx_set_xmlorder(boolean val)
Set the xmlorder flag.
Definition: ncx.c:17364
void ncx_set_system_sort_type(ncx_sort_type_t val)
Set the system_sort_type value.
Definition: ncx.c:11916
boolean ncx_missing_vars_ok(void)
Get the ignore-missing-vars flag.
Definition: ncx.c:14438
boolean ncx_get_useprefix(void)
Get the use_prefix value.
Definition: ncx.c:11827
boolean ncx_get_sil_priority_used(void)
Get the sil_priority_used flag.
Definition: ncx.c:15084
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:16963
void ncx_set_use_deadmodQ(void)
Set the usedeadmodQ flag.
Definition: ncx.c:12320
void ncx_set_message_indent(int8 msg_indent)
Set the protocol output message indent amount.
Definition: ncx.c:12580
boolean ncx_get_list_deleteall_ok(void)
Get the list_deleteall_ok flag.
Definition: ncx.c:17412
void ncx_use_data_templates(boolean enabled)
Set the use-data-templates flag.
Definition: ncx.c:14399
boolean ncx_get_trim_whitespace(void)
Get the trim_whitespace flag.
Definition: ncx.c:17251
boolean ncx_fastpath_enabled(void)
Check if fast path value tree comparisons enabled.
Definition: ncx.c:13674
void ncx_set_with_canonical(boolean val)
Set the with_canonical flag.
Definition: ncx.c:17483
ncx_backptr_t * ncx_next_objptr(ncx_backptr_t *curptr)
Get the next object pointer.
Definition: ncx.c:14713
void ncx_set_sethook_registered(boolean val)
Set the sethook_registered value.
Definition: ncx.c:16998
uint32 ncx_get_getbulk_max(void)
Get the max_entries parameter for GET2 callbacks.
Definition: ncx.c:15015
void ncx_set_secondary_sil_priority_used(void)
Flag that a value node set a non-default secondary SIL priority.
Definition: ncx.c:15103
boolean ncx_check_startup_prune(ses_cb_t *scb)
Check if the namespace error can be skipped.
Definition: ncx.c:17334
void ncx_set_use_objptrs(void)
Set the use_objptrs flag.
Definition: ncx.c:14663
void ncx_cleanup(void)
Cleanup the NCX library.
Definition: ncx.c:3464
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:2977
const xmlChar * ncx_get_display_mode_str(ncx_display_mode_t dmode)
Get the string for the specified enum value.
Definition: ncx.c:10572
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:12476
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:14875
const xmlChar * ncx_get_yang_version_str(ncx_yang_version_t langver)
Get the yang-version string value for the enum.
Definition: ncx.c:15027
const xmlChar * ncx_get_btyp_string(ncx_btype_t btyp)
Get the enumeration string to the base type enum.
Definition: ncx.c:14274
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:8702
const xmlChar * ncx_get_protocols_enabled(uint16 flags)
Get the string for the NETCONF protocols enabled in the flags.
Definition: ncx.c:12219
status_t ncx_str2txid(const xmlChar *str, ncx_transaction_id_t *txid)
Convert a string to a ncx_transaction_id_t.
Definition: ncx.c:14094
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:14938
const xmlChar * ncx_get_baddata_string(ncx_bad_data_t baddata)
Get the string for the specified enum value.
Definition: ncx.c:10100
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:12399
ncx_withdefaults_t ncx_get_withdefaults_enum(const xmlChar *withdefstr)
Get the enum for the specified string value.
Definition: ncx.c:10168
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:8654
const xmlChar * ncx_get_protocol_name(ncx_protocol_t proto)
Get the name string for the protocol.
Definition: ncx.c:12259
const xmlChar * ncx_get_withdefaults_string(ncx_withdefaults_t withdef)
Get the string for the specified enum value.
Definition: ncx.c:10134
status_t ncx_txid2str(ncx_transaction_id_t *txid, xmlChar **retbuff)
Convert a transaction ID to a string.
Definition: ncx.c:14131
const xmlChar * ncx_get_access_str(ncx_access_t max_access)
Get the string name of a ncx_access_t enum.
Definition: ncx.c:8680
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:12438
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:8151
const xmlChar * ncx_get_confirm_event_str(ncx_confirm_event_t event)
Get the string for the specified enum value.
Definition: ncx.c:11491
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:8180
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:8629
ncx_msg_encoding_t ncx_cvt_encoding_yang_str(const xmlChar *msg_encoding)
Convert a ncx_msg_encoding_t string to its YANG enum.
Definition: ncx.c:14971
boolean ncx_is_false(const xmlChar *str)
Check if an xmlChar string is a string OK for XSD boolean.
Definition: ncx.c:9000
const xmlChar * ncx_cvt_encoding_yang_enum(ncx_msg_encoding_t msg_encoding)
Convert an ncx_msg_encoding_t enum to a YANG string.
Definition: ncx.c:14907
const xmlChar * ncx_get_ses_event_str(ncx_ses_event_t ses_event)
Get the session event string for the enum.
Definition: ncx.c:17209
const xmlChar * ncx_get_layer(ncx_layer_t layer)
Translate ncx_layer_t enum to a string.
Definition: ncx.c:8030
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:10064
boolean ncx_is_true(const xmlChar *str)
Check if an xmlChar string is a string OK for XSD boolean.
Definition: ncx.c:8974
int32 ncx_get_withdefaults_value(const xmlChar *withdefstr)
Get the YANG integer value for the enum for the specified string value.
Definition: ncx.c:10203
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:8095
ncx_display_mode_t ncx_get_display_mode_enum(const xmlChar *dmstr)
Get the enum for the specified string value.
Definition: ncx.c:10528
ncx_node_t
NCX Internal Node Types.
Definition: ncxtypes.h:460
ncx_status_t
enumeration for different YANG data-def status values
Definition: ncxtypes.h:608
uint32 ncx_etag_t
The ETag used in RESTCONF messages is the lower 32 bits of a ncx_transaction_id_t.
Definition: ncxtypes.h:778
ncx_ses_event_t
internal enumerations for session event types
Definition: ncxtypes.h:1759
ncx_confirm_event_t
type of confirmEvent in the sysConfirmedCommit notification Used in confirmed-commit standard as well
Definition: ncxtypes.h:1570
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:1497
ncx_sort_type_t
the sort type enumeration used for system-ordered list aand leaf-list objects
Definition: ncxtypes.h:1857
ncx_cvttyp_t
enumeration for different NCX module conversion output types
Definition: ncxtypes.h:1310
ncx_yang_version_t
enumeration for different YANG language versions
Definition: ncxtypes.h:1050
ncx_tclass_t
Enumeration of the basic value type classifications.
Definition: ncxtypes.h:430
uint64 ncx_transaction_id_t
transaction is scoped to single session write operation on a config
Definition: ncxtypes.h:753
ncx_msg_encoding_t
enumeration for message encoding formats
Definition: ncxtypes.h:672
ncx_protocol_t
NCX session protocol versions supported.
Definition: ncxtypes.h:1037
ncx_btype_t
enumeration of the built-in NCX types These types cannot be overridden and cannot be imported
Definition: ncxtypes.h:236
ncx_access_t
NCX Access Control 'max-access' enumeration values Note that access control is applied to the session...
Definition: ncxtypes.h:205
void(* ncx_unload_cbfn_t)(ncx_module_t *mod)
user function callback template when a module is unloaded from the system
Definition: ncxtypes.h:1477
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:1605
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:1814
ncx_data_class_t
NCX Persistence Control.
Definition: ncxtypes.h:226
uint8 ncx_owner_id_t
used as index into the agt_owner registry
Definition: ncxtypes.h:1609
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:1620
ncx_opt_t
enum for REQUIRED vs.
Definition: ncxtypes.h:1405
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:619
ncx_name_match_t
Node name match modes.
Definition: ncxtypes.h:720
ncx_layer_t
Enumeration of NETCONF protocol layers.
Definition: ncxtypes.h:530
ncx_result_format_t
specify the requested result format type Used by yangcli-pro assign statement
Definition: ncxtypes.h:744
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:1518
ncx_xpath_type_t
enumeration for different XPath back pointer types
Definition: ncxtypes.h:1342
ncx_config_state_t
server config state Root Check
Definition: ncxtypes.h:1767
ncx_display_mode_t
enumeration of val_dump_value display modes Some RESTCONF code uses this field incorrectly for messag...
Definition: ncxtypes.h:642
ncx_withdefaults_t
enum for with-defaults enum values
Definition: ncxtypes.h:1333
void(* ncx_load_cbfn_t)(ncx_module_t *mod)
user function callback template when a module is loaded into the system
Definition: ncxtypes.h:1463
status_t ncx_file_rename(const xmlChar *old_filespec, const xmlChar *new_filespec, boolean do_warn)
Rename a file; check result.
Definition: ncx.c:15464
ncx_modcache_t * ncx_new_modcache(const xmlChar *modname, boolean hidemod)
New ncx_modcache_t record.
Definition: ncx.c:16618
status_t ncx_file_remove(const xmlChar *filespec, boolean do_warn)
Close a file; check result.
Definition: ncx.c:15430
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:15662
void ncx_socket_close_noerr(int fd)
Close a socket; check result; SUPPRESS ERROR MESSAGE.
Definition: ncx.c:15353
void ncx_file_close(FILE *fp)
Close a file; check result.
Definition: ncx.c:15403
void ncx_socket_close(int fd)
Close a socket; check result.
Definition: ncx.c:15378
status_t ncx_file_to_buffer(const char *filespec, xmlChar **outbuff)
Read a text file into a malloced buffer.
Definition: ncx.c:16449
status_t ncx_file_size(const char *filespec, uint32 *siz)
Get a file size.
Definition: ncx.c:16406
status_t ncx_buffer_to_file(const char *filespec, const xmlChar *inbuff)
Write a buffer to a text file.
Definition: ncx.c:16526
status_t ncx_file_copy(const xmlChar *src_filespec, const xmlChar *dst_filespec)
Copy a file; check result.
Definition: ncx.c:15557
void ncx_free_modcache(ncx_modcache_t *mc)
Free a ncx_modcache_t record.
Definition: ncx.c:16647
status_t ncx_file_flush(FILE *fp, boolean do_warn)
Flush file data to disk to prevent corruption on crash/power loss.
Definition: ncx.c:15504
status_t ncx_get_temp_filespec(xmlChar *buff, uint32 bufflen, const xmlChar *rootpart, const xmlChar *ext)
Generate a temporary filespec.
Definition: ncx.c:16672
ncx_sm_rootcb_t * ncx_get_cur_rootcb(void)
Gte the current root control block value.
Definition: ncx.c:17846
void ncx_redo_loadmod_all(void)
Set the redo_loadmod flag for all modules.
Definition: ncx.c:18076
void ncx_set_cur_rootcb(ncx_sm_rootcb_t *rootcb)
Set the current root control block.
Definition: ncx.c:17864
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:17711
boolean ncx_is_sm_mode(void)
Check if the Schema Mount mode is enabled.
Definition: ncx.c:17815
boolean ncx_protocol_is_netconf(ncx_protocol_t proto)
Check if the protocol is a NETCONF protocol.
Definition: ncx.c:12298
void ncx_set_handle_badreply(ncx_bad_reply_enum enumval)
Set the enum value for the Bad Reply handling option.
Definition: ncx.c:17648
void ncx_set_mod_augmented(ncx_module_t *mod)
Set the module as supported because it is being augmented.
Definition: ncx.c:18175
obj_template_t * ncx_get_cur_rootcb_obj(void)
Get the current root control block object.
Definition: ncx.c:17882
void ncx_set_disable_imported(void)
Allow the obj_is_enabled funtion to disable all import-only modules.
Definition: ncx.c:18114
boolean ncx_ok_for_inline_data(obj_template_t *obj)
Check if the object is OK for inline data.
Definition: ncx.c:16728
void ncx_set_sm_enabled(boolean val)
Set schema mount enabled flag.
Definition: ncx.c:17919
int32 ncx_compare_base_uris(const xmlChar *str1, const xmlChar *str2)
Compare the base part of 2 URI strings.
Definition: ncx.c:11781
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:16750
status_t ncx_get_version(xmlChar *buffer, uint32 buffsize)
Get the the Yuma version ID string.
Definition: ncx.c:11112
boolean ncx_use_return_status(void)
Check if the return_status should be returned.
Definition: ncx.c:17577
ncx_bad_reply_enum ncx_get_handle_badreply(void)
Get the enum for the Bad Reply Handling option.
Definition: ncx.c:17661
unsigned short ncx_get_tcp_connect_timeout(void)
Get the configured TCP connect timeout value.
Definition: ncx.c:17954
void ncx_set_sm_mode(boolean val)
Set the Schema Mount mode.
Definition: ncx.c:17831
ncx_etag_t ncx_txid2etag(ncx_transaction_id_t txid)
Cast ncx_txid_t to ncx_etag_t.
Definition: ncx.c:17695
boolean ncx_find_ydtrace(const xmlChar *fspec)
Find the filespec of a yangdump file being processed.
Definition: ncx.c:14380
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:10030
void ncx_set_save_error_input(void)
Allow the audit-log reporting to show the bad input instead of discarding nodes with invalid-value er...
Definition: ncx.c:18143
const char * ncx_get_progname(void)
Get the progname buffer.
Definition: ncx.c:16288
boolean ncx_mod_parse_done(const ncx_module_t *mod)
Check if the module is completely parsed yet.
Definition: ncx.c:18096
void ncx_set_use_return_status(void)
Enable the return_status parameter.
Definition: ncx.c:17566
boolean ncx_disable_imported_ok(void)
Check if disable all import-only modules OK.
Definition: ncx.c:18127
boolean ncx_get_mod_stable(void)
Get the yangcli flag to indicate the module set loading modules from the server capabilities is in pr...
Definition: ncx.c:18322
status_t ncx_get_feature_code(xmlChar *buffer, uint32 buffsize)
Get the the Feature Code String.
Definition: ncx.c:11004
void ncx_set_tcp_connect_timeout(unsigned short timeout_sec)
Set the configured TCP connect timeout value.
Definition: ncx.c:17970
ncx_sm_rootcb_t * ncx_next_rootcb(ncx_sm_rootcb_t *rootcb)
Get the next Mount Point Entry in the rootcbQ.
Definition: ncx.c:17796
xmlChar * ncx_get_source(const xmlChar *fspec, status_t *res)
Expand a filespec into an absolute path.
Definition: ncx.c:9675
boolean ncx_save_error_input(void)
Check if the error input should be saved instead of discarding nodes with invalid-value errors.
Definition: ncx.c:18158
boolean ncx_yang_cbor_enabled(void)
Get the YANG to CBOR Code enabled flag.
Definition: ncx.c:17935
status_t ncx_add_ydtrace(const xmlChar *fspec)
Add the filespec of a yangdump file being processed.
Definition: ncx.c:14354
status_t ncx_get_semver(xmlChar *buffer, uint32 buffsize)
Get the the Yuma SEMVER version ID string.
Definition: ncx.c:11220
ncx_sm_rootcb_t * ncx_first_rootcb(void)
Get the first Mount Point Control Block Entry in the rootcbQ.
Definition: ncx.c:17781
boolean ncx_library_mode_ok(const xmlChar *modname, const xmlChar *rpcname)
Check if RPC OK to use in library mode.
Definition: ncx.c:15296
status_t ncx_create_pidfile(const xmlChar *progname, boolean fileloc_fhs)
Create the pidfile for the specified program.
Definition: ncx.c:13711
void ncx_set_yang_metadata(boolean state)
Enable the –ietf-yang-metadata module.
Definition: ncx.c:18340
ncx_sid_range_t * ncx_new_sid_range(void)
Malloc a new ncx_sid_range_t.
Definition: ncx.c:18371
void ncx_write_tracefile(const char *buff, uint32 count)
Write a byte to the tracefile.
Definition: ncx.c:12512
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:12133
uint16 ncx_get_chunk_size(void)
Get the default chunk size for session buffers.
Definition: ncx.c:18210
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:17990
xmlChar * ncx_get_source_ex(const xmlChar *fspec, boolean expand_cwd, status_t *res)
Expand a filespec into an absolute path.
Definition: ncx.c:9466
boolean ncx_conf_env_vars_enabled(void)
Get the Config Environment Variable Replacement flag.
Definition: ncx.c:17677
uint16 ncx_get_curQ_mod_count(void)
Get the total count of the currently fully loaded modules in the ncx_curQ.
Definition: ncx.c:17742
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:14458
boolean ncx_get_yang_metadata(void)
Get the yang_metadata flag.
Definition: ncx.c:18355
boolean ncx_val_protocol_enabled(ncx_protocol_t proto, uint16 flags)
Check if the specified protocol version is enabled.
Definition: ncx.c:12014
boolean ncx_get_sm_enabled(void)
Get schema mount enabled flag.
Definition: ncx.c:17903
status_t ncx_set_chunk_size(uint16 chunksize)
Set the default chunk size for session buffers.
Definition: ncx.c:18193
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:17595
status_t ncx_get_full_version(xmlChar *buffer, uint32 buffsize)
Get the the Yuma version ID string and SEMVER added.
Definition: ncx.c:11259
const char * ncx_get_build_date(void)
Get the build date string encoded into this C file.
Definition: ncx.c:11298
const xmlChar * ncx_get_handle_badreply_string(ncx_bad_reply_enum badreply)
Get the string for the specified enum value.
Definition: ncx.c:17623
void ncx_free_sid_range(ncx_sid_range_t *sid_range)
Free an ncx_sid_range_t.
Definition: ncx.c:18389
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:12176
void ncx_clean_sid_rangeQ(dlq_hdr_t *sid_rangeQ)
Clean a Queue of ncx_sid_range_t structs.
Definition: ncx.c:18405
dlq_hdr_t * ncx_get_rootQ(void)
Get the Root control block queue.
Definition: ncx.c:17768
const xmlChar * ncx_get_fake_notif_modname(const xmlChar *modname, const xmlChar *name)
check RESTCONF modname and convert to fake module name Used by JSON decoder.
Definition: ncx.c:18267
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:12611
void ncx_set_mod_stable(boolean state)
Set the yangcli flag to indicate the module set loading modules from the server capabilities is in pr...
Definition: ncx.c:18304
const xmlChar * ncx_get_real_notif_modname(const xmlChar *modname, const xmlChar *name)
check fake notification object and get RESTCONF modname if found.
Definition: ncx.c:18234
void ncx_free_binary(ncx_binary_t *binary)
Free all the memory in a ncx_binary_t struct.
Definition: ncx.c:6875
ncx_binary_t * ncx_new_binary(void)
Malloc and fill in a new ncx_binary_t struct.
Definition: ncx.c:6812
void ncx_init_binary(ncx_binary_t *binary)
Init the memory of a ncx_binary_t struct.
Definition: ncx.c:6833
void ncx_clean_binary(ncx_binary_t *binary)
Scrub the memory of a ncx_binary_t but do not delete it.
Definition: ncx.c:6853
void ncx_clean_bit(ncx_bit_t *bit)
Scrub the memory of a ncx_bit_t but do not delete it.
Definition: ncx.c:7705
void ncx_init_bit(ncx_bit_t *bit)
Init the memory of a ncx_bit_t.
Definition: ncx.c:7683
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:7730
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:8302
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:8451
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:8423
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:8280
void ncx_free_errmsg(ncx_errmsg_t *msg)
Clean and free an ncx_errmsg_t struct.
Definition: ncx.c:16867
ncx_errmsg_t * ncx_new_errmsg(status_t res, const xmlChar *str)
Malloc and init an ncx_errmsg_t struct.
Definition: ncx.c:16839
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:8547
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:4555
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:4984
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:11398
boolean ncx_check_any_object_nolock_get(const xmlChar *objname)
Check if the object name will match any config=true nodes.
Definition: ncx.c:16904
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:5181
void ncx_clean_save_deviationsQ(dlq_hdr_t *savedevQ)
Clean a Q of deviation save structs.
Definition: ncx.c:11369
void ncx_free_save_deviations(ncx_save_deviations_t *savedev)
Free a deviation save struct.
Definition: ncx.c:11349
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:8208
void ncx_inc_warnings(ncx_module_t *mod)
Increment the module warning count for mod.
Definition: ncx.c:11932
status_t ncx_add_to_modQ(ncx_module_t *mod, dlq_hdr_t *modQ)
Add module to the current module Q.
Definition: ncx.c:5268
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:9034
void ncx_free_module(ncx_module_t *mod)
Free a YANG module.
Definition: ncx.c:3919
ncx_save_deviations_t * ncx_new_save_deviations(ncx_module_t *devmod, boolean annotation)
Create a deviation save structure.
Definition: ncx.c:11318
status_t ncx_parse_name(const xmlChar *str, uint32 *len)
Check if the next N chars represent a valid NcxName.
Definition: ncx.c:8938
status_t ncx_setup_mounted_mod(ncx_module_t *mod)
Setup a module for yangcli in parsemode in SM mode.
Definition: ncx.c:5356
boolean ncx_need_modchecks(const xmlChar *modname)
Check if xpath_backptr and obj commit tests needed.
Definition: ncx.c:15716
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:9092
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:9192
void ncx_free_node(ncx_node_t nodetyp, void *node)
Delete a node based on its type.
Definition: ncx.c:8581
const xmlChar * ncx_get_name_segment(const xmlChar *str, xmlChar *buff, uint32 buffsize)
Get the name string between the dots.
Definition: ncx.c:8060
ncx_tclass_t ncx_get_tclass(ncx_btype_t btyp)
Get the token class.
Definition: ncx.c:8731
ncx_module_t * ncx_new_module(void)
Malloc and initialize the fields in a ncx_module_t.
Definition: ncx.c:3646
status_t ncx_init_user_types(void)
Initialize the user types after ietf-inet-types module loaded.
Definition: ncx.c:16887
status_t ncx_add_to_root_modQ(ncx_module_t *mod)
Add module to the current module Q.
Definition: ncx.c:5297
boolean ncx_errinfo_set(const ncx_errinfo_t *errinfo)
Check if error-app-tag or error-message set.
Definition: ncx.c:9370
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:9312
ncx_errinfo_t * ncx_new_errinfo(void)
Malloc and init a new ncx_errinfo_t.
Definition: ncx.c:9271
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:9395
void ncx_init_errinfo(ncx_errinfo_t *err)
Init the fields in an ncx_errinfo_t struct.
Definition: ncx.c:9291
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:9347
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:7469
ncx_filptr_t * ncx_new_filptr(void)
Get a new ncx_filptr_t struct.
Definition: ncx.c:7432
ncx_revhist_t * ncx_new_revhist(void)
Create a revision history entry.
Definition: ncx.c:7500
ncx_revhist_t * ncx_find_revhist(const ncx_module_t *mod, const xmlChar *ver)
Search the revhistQ for a specified revision.
Definition: ncx.c:7549
void ncx_free_revhist(ncx_revhist_t *revhist)
Free a revision history entry.
Definition: ncx.c:7520
void ncx_clean_typnameQ(dlq_hdr_t *que)
Delete all the Q entries, of typname mapping structs.
Definition: ncx.c:7865
void ncx_free_typname(ncx_typname_t *typnam)
Free a typname struct.
Definition: ncx.c:7780
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:7803
ncx_typname_t * ncx_new_typname(void)
Malloc and init a typname struct.
Definition: ncx.c:7760
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:7835
void ncx_save_deviation_module(ncx_module_t *mod)
Save the deviations for the YANG module.
Definition: ncx.c:14816
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:14840
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:14779
void ncx_init_enum(ncx_enum_t *enu)
Init the memory of a ncx_enum_t.
Definition: ncx.c:7581
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:7654
void ncx_clean_enum(ncx_enum_t *enu)
Scrub the memory of a ncx_enum_t but do not delete it.
Definition: ncx.c:7603
int32 ncx_compare_enums(const ncx_enum_t *enu1, const ncx_enum_t *enu2)
Compare 2 enum values.
Definition: ncx.c:7628
boolean ncx_valid_name(const xmlChar *str, uint32 len)
Check if an xmlChar string is a valid YANG identifier value.
Definition: ncx.c:8826
boolean ncx_valid_name2(const xmlChar *str)
Check if an xmlChar string is a valid NCX name.
Definition: ncx.c:8871
boolean ncx_valid_name_ch(uint32 ch)
Check if the character is a valid YANG identifier chara.
Definition: ncx.c:8779
boolean ncx_valid_fname_ch(uint32 ch)
Check if an xmlChar is a valid NCX name string first char.
Definition: ncx.c:8803
ncx_identity_base_t * ncx_next_identity_base(ncx_identity_base_t *idbase)
Get the next base record for an identity.
Definition: ncx.c:6980
void ncx_free_identity_base(ncx_identity_base_t *identity_base)
Free a malloced ncx_identity_base_t struct.
Definition: ncx.c:6942
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:7166
ncx_identity_base_t * ncx_new_identity_base(void)
Get a new ncx_identity_base_t struct.
Definition: ncx.c:6922
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:13518
xmlns_id_t ncx_get_identity_nsid(const ncx_identity_t *identity)
Get the namespace ID for an identity.
Definition: ncx.c:7392
void ncx_free_identity(ncx_identity_t *identity)
Free a malloced ncx_identity_t struct.
Definition: ncx.c:7017
ncx_identity_t * ncx_new_identity(void)
Get a new ncx_identity_t struct.
Definition: ncx.c:6896
ncx_identity_base_t * ncx_first_identity_base(ncx_identity_t *identity)
Get the first base record for an identity.
Definition: ncx.c:6961
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:7362
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:7072
boolean ncx_get_identity_conditional(const ncx_identity_t *identity)
Check if the identity is conditional on if-feature.
Definition: ncx.c:7411
ncx_import_t * ncx_new_import(void)
Malloc and initialize the fields in a ncx_import_t.
Definition: ncx.c:6407
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:6496
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:6697
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:6559
void ncx_free_import(ncx_import_t *import)
Free an ncx_import_t.
Definition: ncx.c:6431
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:6529
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:6643
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:6581
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:6474
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:6613
ncx_include_t * ncx_new_include(void)
Malloc and initialize the fields in a ncx_include_t.
Definition: ncx.c:6722
void ncx_free_include(ncx_include_t *inc)
Free a ncx_include_t.
Definition: ncx.c:6746
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:6783
void ncx_clear_unload_callback(ncx_unload_cbfn_t cbfn)
Clear the callback function for an unload-module event.
Definition: ncx.c:9900
status_t ncx_set_load_callback(ncx_load_cbfn_t cbfn)
Set the callback function for a load-module event.
Definition: ncx.c:9793
void ncx_register_get_owner_fn(ncx_get_owner_fn_t cbfn)
Register a callback to get the owner name.
Definition: ncx.c:14632
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:9999
status_t ncx_set_unload_callback(ncx_unload_cbfn_t cbfn)
Set the callback function for an unload-module event.
Definition: ncx.c:9862
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:9931
void ncx_clear_load_callback(ncx_load_cbfn_t cbfn)
Clear the callback function for a load-module event.
Definition: ncx.c:9831
void ncx_clear_yang_obj_callback(ncx_yang_obj_cbfn_t cbfn)
Clear the callback function for a parse-object event.
Definition: ncx.c:9970
const xmlChar * ncx_get_owner_name(ncx_owner_id_t owner_id)
Get the registered YANG library owner namefor owner_id.
Definition: ncx.c:14647
dlq_hdr_t * ncx_get_session_modQ(void)
Get the current session modQ.
Definition: ncx.c:9753
void ncx_set_cur_modQ(dlq_hdr_t *que)
Set the current module Q to an alternate (for yangdiff)
Definition: ncx.c:9692
void ncx_clear_temp_modQ(void)
Clear the temp_modQ for yangcli session-specific module list.
Definition: ncx.c:11455
void ncx_clear_session_modQ(void)
Clear the current session modQ.
Definition: ncx.c:9773
dlq_hdr_t * ncx_get_temp_modQ(void)
Get the temp_modQ for yangcli session-specific module list.
Definition: ncx.c:11441
void ncx_set_temp_modQ(dlq_hdr_t *modQ)
Set the temp_modQ for yangcli session-specific module list.
Definition: ncx.c:11425
void ncx_reset_modQ(void)
Set the current module Q to the original ncx_modQ.
Definition: ncx.c:9711
void ncx_set_session_modQ(dlq_hdr_t *que)
Get the session module Q.
Definition: ncx.c:9734
status_t ncx_turn_up_warning(status_t res)
Add a warning elevation entry.
Definition: ncx.c:10848
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:10683
void ncx_set_warn_error(boolean val)
Set the warn_error flag.
Definition: ncx.c:10865
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:12534
void ncx_set_warn_idlen(uint32 warnlen)
Set the warning length for identifiers.
Definition: ncx.c:10611
uint32 ncx_get_warn_idlen(void)
Get the warning length for identifiers.
Definition: ncx.c:10627
void ncx_set_empty_npcon_presence(boolean val)
Set the empty_npcon_presence value.
Definition: ncx.c:15876
void ncx_set_module_setid(uint32 new_setid)
Update YANG-LIBRARY module set ID.
Definition: ncx.c:15745
boolean ncx_get_empty_npcon_presence(void)
Get the empty_npcon_presence value.
Definition: ncx.c:15858
void ncx_set_warn_linelen(uint32 warnlen)
Set the warning length for YANG file lines.
Definition: ncx.c:10644
void ncx_set_warn_off_yang(boolean val)
Set the warn_off_yang flag.
Definition: ncx.c:10882
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:10726
status_t ncx_turn_off_warning(status_t res)
Add a warning suppression entry.
Definition: ncx.c:10785
boolean ncx_get_empty_npcon_presence_ro(void)
Get the empty_npcon_presence value READ-ONLY check.
Definition: ncx.c:15895
boolean ncx_get_warn_off_yang(void)
Get the warn_off_yang flag.
Definition: ncx.c:10899
boolean ncx_get_top_mandatory_allowed(void)
Check if top-level mandatory objects are allowed or not.
Definition: ncx.c:12549
uint32 ncx_get_module_setid(void)
GET YANG-LIBRARY module set ID.
Definition: ncx.c:15763
uint32 ncx_get_warn_linelen(void)
Get the warning length for YANG file lines.
Definition: ncx.c:10661
status_t ncx_turn_on_warning(status_t res)
Remove a warning suppression entry if it exists.
Definition: ncx.c:10804
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:15786
void ncx_delete_all_obsolete_objects(void)
Go through all the modules and delete the obsolete nodes.
Definition: ncx.c:12334
boolean ncx_collapse_submodules_ok(void)
Check if it is OK to collapse submodule definitions into the main module.
Definition: ncx.c:13065
void ncx_set_empty_npcon_presence_ro(boolean val)
Set the empty_npcon_presence value READ-ONLY check.
Definition: ncx.c:15914
boolean ncx_warning_elevated(status_t res)
Check if a specific status_t code is elevated.
Definition: ncx.c:10965
boolean ncx_warning_enabled(status_t res)
Check if a specific status_t code is enabled.
Definition: ncx.c:10922
ncx_module_t * ncx_find_deviation_module(const xmlChar *modname)
Find a deviation module ncx_module_t in the deviation_moduleQ;.
Definition: ncx.c:15829
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:16007
ncx_module_t * ncx_get_first_module(void)
Get the first module in the ncx_modQ.
Definition: ncx.c:5442
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:4754
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:4665
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:3798
obj_template_t * ncx_find_first_rpc(const xmlChar *rpcname)
Find the specified RPC Method in any module.
Definition: ncx.c:4374
ncx_module_t * ncx_get_next_module(const ncx_module_t *mod)
Get the next module in the ncx_modQ.
Definition: ncx.c:5464
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:13811
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:3883
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:5524
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:4900
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:3765
ncx_module_t * ncx_get_first_session_module(void)
Get the first module in the ncx_sesmodQ.
Definition: ncx.c:5545
ncx_module_t * ncx_first_deviation_module(void)
Get the first deviation module.
Definition: ncx.c:16303
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:4464
ncx_module_t * ncx_next_deviation_module(ncx_module_t *curmod)
Get the next deviation module after curmod.
Definition: ncx.c:16322
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:3847
ncx_module_t * ncx_find_first_importer(const xmlChar *module)
Search all modules importQs for a specified module name.
Definition: ncx.c:13780
obj_template_t * ncx_find_any_object(const xmlChar *objname)
Find any top-level object in any YANG module.
Definition: ncx.c:4603
ncx_module_t * ncx_get_next_session_module(const ncx_module_t *mod)
Get the next module in the ncx_sesmodQ.
Definition: ncx.c:5565
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:15949
ncx_module_t * ncx_get_prev_module(const ncx_module_t *mod)
Get the previous module.
Definition: ncx.c:5492
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:3734
ncx_module_t * ncx_find_module(const xmlChar *modname, const xmlChar *revision)
Find a ncx_module_t in the ncx_sesmodQ.
Definition: ncx.c:3700
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:11563
boolean ncx_any_mod_errors(void)
Check if any of the loaded modules are loaded with non-fatal errors.
Definition: ncx.c:3939
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:11527
void dump_modQ(dlq_hdr_t *modQ)
dump module Q contents [name, revision] for debugging
Definition: ncx.c:12696
boolean ncx_save_descr(void)
Get the value of the save description strings variable.
Definition: ncx.c:8264
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:11624
obj_template_t * ncx_get_last_object(ncx_module_t *mod, boolean augment_ok)
Find the last data node.
Definition: ncx.c:5826
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:4414
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:5918
obj_template_t * ncx_find_object(ncx_module_t *mod, const xmlChar *objname)
Find a top level module object.
Definition: ncx.c:4934
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:4851
grp_template_t * ncx_find_grouping(ncx_module_t *mod, const xmlChar *grpname, boolean useall)
Find the YANG grouping.
Definition: ncx.c:4214
obj_template_t * ncx_get_first_data_object(ncx_module_t *mod)
Get the first datastore object in the module.
Definition: ncx.c:6092
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:4522
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:4342
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:6007
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:6328
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:5748
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:4141
typ_template_t * ncx_find_type_que(const dlq_hdr_t *typeQ, const xmlChar *typname)
ncx_find_type_que
Definition: ncx.c:4181
typ_template_t * ncx_find_annotation(ncx_module_t *mod, const xmlChar *name, boolean useall)
Find an annotation.
Definition: ncx.c:4159
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:6164
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:5900
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:4954
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:4311
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:5730
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:6246
const xmlChar * ncx_get_modversion(const ncx_module_t *mod)
Get the [sub]module version.
Definition: ncx.c:5630
const xmlChar * ncx_get_mod_source(const ncx_module_t *mod)
Get the module file source string for the specified module.
Definition: ncx.c:10290
ncx_module_t * ncx_get_mainmod(ncx_module_t *mod)
Get the main module.
Definition: ncx.c:5703
const xmlChar * ncx_get_mod_xmlprefix(const ncx_module_t *mod)
Get the module XML prefix for the specified module.
Definition: ncx.c:10262
ncx_module_t * ncx_find_submodule(ncx_module_t *mod, const xmlChar *submod_name)
Find the specified submodule.
Definition: ncx.c:14239
boolean ncx_mod_unloadable(ncx_module_t *mod)
Check if this module can be unloaded.
Definition: ncx.c:14045
ncx_module_t * ncx_first_submodule(ncx_module_t *mod)
Get the first submodule in the specified main module.
Definition: ncx.c:14168
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:11702
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:16586
const xmlChar * ncx_get_mod_prefix(const ncx_module_t *mod)
Get the module prefix for the specified module.
Definition: ncx.c:10237
void ncx_set_mod_unloadable(ncx_module_t *mod)
Set this module so it can be unloaded.
Definition: ncx.c:14067
boolean ncx_modname_is_ocpattern(const xmlChar *modname)
Check if the module name is an openconfig file.
Definition: ncx.c:16179
const xmlChar * ncx_get_mod_ocversion(const ncx_module_t *mod)
Get the module openconfig-version string for the specified module.
Definition: ncx.c:10338
const xmlChar * ncx_get_modnamespace(const ncx_module_t *mod)
Get the module namespace URI.
Definition: ncx.c:5650
boolean ncx_get_ocpattern_mode(const ncx_module_t *mod)
Get the openconfig pattern mode.
Definition: ncx.c:16157
ncx_module_t * ncx_get_parent_mod(ncx_module_t *mod)
Find the correct module by checking mod->parent nodes.
Definition: ncx.c:11730
boolean ncx_is_yangmap_type(ncx_module_t *mod, boolean is_src)
Check the yangmap type flags.
Definition: ncx.c:16808
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:16046
status_t ncx_set_mod_ietfversion(ncx_module_t *mod, const xmlChar *version)
Set the module IETF Semver string for the specified module.
Definition: ncx.c:10418
xmlns_id_t ncx_get_mod_nsid(const ncx_module_t *mod)
Get the main module namespace ID.
Definition: ncx.c:5606
const xmlChar * ncx_get_mod_revision(const ncx_module_t *mod)
Get the module revision string for the specified module.
Definition: ncx.c:10315
boolean ncx_mod_has_rpcs(ncx_module_t *mod)
Check if the module has any RPC operation definitions.
Definition: ncx.c:12726
void ncx_set_ocpattern_mode(ncx_module_t *mod, boolean mode)
Set the openconfig pattern mode.
Definition: ncx.c:16105
boolean ncx_mod_has_submodules(const ncx_module_t *mod)
Check if this is a main module with submodules.
Definition: ncx.c:17549
void ncx_set_module_supported(ncx_module_t *mod, boolean supported)
Set the module supported field.
Definition: ncx.c:14522
const xmlChar * ncx_get_modsource(const ncx_module_t *mod)
Get the module filespec source string.
Definition: ncx.c:5683
boolean ncx_skip_child_node_warn(const xmlChar *modname)
Internal compiler check to suppress warnings.
Definition: ncx.c:16563
void ncx_force_ocpattern_mode(ncx_module_t *mod)
Force the openconfig pattern mode to TRUE.
Definition: ncx.c:16132
const xmlChar * ncx_get_mod_ietfversion(const ncx_module_t *mod)
Get the module IETF Semver string for the specified module.
Definition: ncx.c:10397
boolean ncx_mod_is_hidden(const ncx_module_t *mod)
Check if the module is forced no advertise (e.g.
Definition: ncx.c:15227
ncx_yang_version_t ncx_get_yang_version(const ncx_module_t *mod)
Get the yang-version used in the module.
Definition: ncx.c:15053
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:14202
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:10361
boolean ncx_is_duplicate(ncx_module_t *mod, const xmlChar *defname)
Check if a module definition name is a duplicate.
Definition: ncx.c:5416
status_t ncx_compare_semvers(const xmlChar *version1, const xmlChar *version2, int32 *ret)
Compare two IETF or OC Semver values.
Definition: ncx.c:10463
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:11674
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:12877
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:12773
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:3966
const xmlChar * ncx_get_modname(const ncx_module_t *mod)
Get the main module name.
Definition: ncx.c:5586
void ncx_number_all_objects(ncx_module_t *mod)
Number all objects for internal ordering comparisons.
Definition: ncx.c:15148
void ncx_set_yangmap_type(ncx_module_t *mod, boolean is_src)
Set the yangmap type flags.
Definition: ncx.c:16779
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:13913
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:13846
void ncx_collapse_submod_defs(ncx_module_t *mod)
Collapse submodule definitions into the main module.
Definition: ncx.c:13088
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:13984
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:12991
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:13186
void ncx_delete_mod_obsolete_objects(ncx_module_t *mod)
Delete all obsolete objects in mod.
Definition: ncx.c:12357
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:1585
NCX base64 string node for YANG 'binary' built-in type.
Definition: ncxtypes.h:902
one NCX_BT_BITS bit value
Definition: ncxtypes.h:855
one NCX_BT_ENUM enumeration value (user may enter 1 of 3 forms)
Definition: ncxtypes.h:847
YANG error info statement struct used to override default error handling in the server.
Definition: ncxtypes.h:1421
error message replacement record
Definition: ncxtypes.h:1679
struct to remember error info tkc->cur_err will be checked before tkc->cur for error information
Definition: ncxtypes.h:913
struct for holding r/o pointer to generic internal node for filtering purposes
Definition: ncxtypes.h:1101
YANG identity base.
Definition: ncxtypes.h:1135
YANG identity entry.
Definition: ncxtypes.h:1144
One 'import' clause in YANG.
Definition: ncxtypes.h:1353
One 'include' clause, YANG only.
Definition: ncxtypes.h:1383
server module info cache record for def_reg_add_mod
Definition: ncxtypes.h:1670
representation of one module or submodule during and after parsing
Definition: ncxtypes.h:1181
YANG revision entry.
Definition: ncxtypes.h:951
used with obj_deviation_t to defer object lookups
Definition: ncxtypes.h:1560
YANG SID assignment range struct.
Definition: ncxtypes.h:782
Schema Mount Root Control Block used in the object template.
Definition: ncxtypes.h:1949
keep track of the typenames used for local typedefs only used by ncxdump to generate XSDs OBSOLETE: D...
Definition: ncxtypes.h:1443
One YANG data-def-stmt.
Definition: obj.h:1284
Session Control Block.
Definition: ses.h:759
token parsing chain (main parser control block)
Definition: tk.h:415
One YANG 'typedef' definition – top-level type template Also used for a YANG Metadata Annotation.
Definition: typ.h:501
Common Encoding Message Header No longer XML specific!! Used by JSON and CBOR parsing as well!...
Definition: xml_msg.h:476
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.