yumapro  20.10-12
YumaPro SDK
ncx.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2008 - 2012, Andy Bierman, All Rights Reserved.
3  * Copyright (c) 2012 - 2021, YumaWorks, Inc., All Rights Reserved.
4  *
5  * Unless required by applicable law or agreed to in writing,
6  * software distributed under the License is distributed on an
7  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
8  * KIND, either express or implied. See the License for the
9  * specific language governing permissions and limitations
10  * under the License.
11  */
12 #ifndef _H_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 
38 date init comment
39 ----------------------------------------------------------------------
40 29-oct-05 abb Begun
41 20-jul-08 abb Start YANG rewrite; remove PSD and PS
42 23-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_grp
52 #include "grp.h"
53 #endif
54 
55 #ifndef _H_log
56 #include "log.h"
57 #endif
58 
59 #ifndef _H_ncxconst
60 #include "ncxconst.h"
61 #endif
62 
63 #ifndef _H_ncxtypes
64 #include "ncxtypes.h"
65 #endif
66 
67 #ifndef _H_obj
68 #include "obj.h"
69 #endif
70 
71 #ifndef _H_rpc
72 #include "rpc.h"
73 #endif
74 
75 #ifndef _H_tk
76 #include "tk.h"
77 #endif
78 
79 #ifndef _H_typ
80 #include "typ.h"
81 #endif
82 
83 #ifndef _H_val
84 #include "val.h"
85 #endif
86 
87 #ifndef _H_xmlns
88 #include "xmlns.h"
89 #endif
90 
91 #ifndef _H_yang
92 #include "yang.h"
93 #endif
94 
95 #ifdef __cplusplus
96 extern "C" {
97 #endif
98 
99 /* macro to convert 'foo' in -DRELEASE=foo to a string */
100 #define STRINGIFY0(v) #v
101 #define STRINGIFY(v) STRINGIFY0(v)
102 
103 #define PROGNAME_BUFFLEN 128
104 
105 /********************************************************************
106 * *
107 * F U N C T I O N S *
108 * *
109 *********************************************************************/
110 
186 extern status_t
187  ncx_init (boolean netconfd,
188  boolean savestr,
189  log_debug_t dlevel,
190  boolean logtstamps,
191  boolean collapse_submods,
192  boolean xpath_backptrs,
193  const char *startmsg,
194  int argc,
195  char *argv[]);
196 
197 
203 extern void
204  ncx_cleanup (void);
205  // END ncxlib/ncxinit
207 
208 
209 
210 
211 // Header only for NCX Global Data Docs
212 
222 // Header only for Protocol Support Docs
223 
233 // Header only for NCX Global Data Docs
234 
244 // Header only for YANG Compiler Docs
245 
255 // heading only for YANG Library Docs
256 
267 // Heading only for YANG Module Docs
268  // BEGIN ncxlib/yang/yangcomp/yangcompgen
288 
289 
296 extern ncx_module_t *
297  ncx_new_module (void);
298 
299 
316 extern void
317  ncx_free_module (ncx_module_t *mod);
318 
319 
329 extern status_t
330  ncx_add_namespace_to_registry (ncx_module_t *mod,
331  boolean tempmod);
332 
333 
343 extern status_t
344  ncx_add_to_registry (ncx_module_t *mod);
345 
346 
358 extern status_t
359  ncx_add_to_modQ (ncx_module_t *mod,
360  dlq_hdr_t *modQ);
361 
362 
375 extern void
376  ncx_match_rpc_error (ncx_module_t *mod,
377  const xmlChar *modname,
378  const xmlChar *rpcname,
379  boolean match,
380  boolean firstmsg);
381 
382 
392 extern const xmlChar *
393  ncx_get_name_segment (const xmlChar *str,
394  xmlChar *buff,
395  uint32 buffsize);
396 
397 
405 extern status_t
406  ncx_check_yang_status (ncx_status_t mystatus,
407  ncx_status_t depstatus);
408 
409 
418 extern void
419  ncx_free_node (ncx_node_t nodetyp,
420  void *node);
421 
422 
429 extern ncx_tclass_t
430  ncx_get_tclass (ncx_btype_t btyp);
431 
432 
444 extern status_t
445  ncx_parse_name (const xmlChar *str,
446  uint32 *len);
447 
448 
462 extern status_t
463  ncx_consume_tstring (tk_chain_t *tkc,
464  ncx_module_t *mod,
465  const xmlChar *name,
466  ncx_opt_t opt);
467 
468 
489 extern status_t
490  ncx_consume_name (tk_chain_t *tkc,
491  ncx_module_t *mod,
492  const xmlChar *name,
493  xmlChar **namebuff,
494  ncx_opt_t opt,
495  tk_type_t ctyp);
496 
497 
512 extern status_t
513  ncx_consume_token (tk_chain_t *tkc,
514  ncx_module_t *mod,
515  tk_type_t ttyp);
516 
517 
526 extern ncx_save_deviations_t *
527  ncx_new_save_deviations (ncx_module_t *devmod,
528  boolean annotation);
529 
530 
536 extern void
537  ncx_free_save_deviations (ncx_save_deviations_t *savedev);
538 
539 
545 extern void
546  ncx_clean_save_deviationsQ (dlq_hdr_t *savedevQ);
547 
548 
561 extern void
562  ncx_set_error (ncx_error_t *tkerr,
563  ncx_module_t *mod,
564  uint32 linenum,
565  uint32 linepos);
566 
567 
573 extern void
574  ncx_inc_warnings (ncx_module_t *mod);
575 
576 
585 extern boolean
586  ncx_need_modchecks (const xmlChar *modname);
587 
588 
594 extern status_t
595  ncx_init_user_types (void);
596 
597 
606 extern boolean
607  ncx_check_any_object_nolock_get (const xmlChar *objname);
608 
609  // END ncxlib/yang/yangcomp/yangcompgen
611 
612 
613  // BEGIN ncxlib/yang/yanglib/yanglibstatus
621 
622 
629 extern boolean
630  ncx_any_mod_errors (void);
631 
632 
639 extern boolean
640  ncx_save_descr (void);
641 
642 
652 extern uint32
653  ncx_mod_revision_count (const xmlChar *modname);
654 
655 
664 extern uint32
665  ncx_mod_revision_count_que (dlq_hdr_t *modQ,
666  const xmlChar *modname);
667 
668 
674 extern void
675  dump_modQ (dlq_hdr_t *modQ);
676 
677  // END ncxlib/yang/yanglib/yanglibstatus
679 
680  // BEGIN ncxlib/yang/yanglib/yanglibfind
699 
700 
711 extern ncx_module_t *
712  ncx_find_module (const xmlChar *modname,
713  const xmlChar *revision);
714 
715 
727 extern ncx_module_t *
728  ncx_find_module_ex (const xmlChar *modname,
729  const xmlChar *revision);
730 
731 
742 extern ncx_module_t *
743  ncx_find_module_by_prefix (const xmlChar *prefix);
744 
745 
755 extern ncx_module_t *
756  ncx_find_module_que (dlq_hdr_t *modQ,
757  const xmlChar *modname,
758  const xmlChar *revision);
759 
760 
768 extern ncx_module_t *
769  ncx_find_module_que_by_prefix (dlq_hdr_t *modQ,
770  const xmlChar *prefix);
771 
772 
782 extern ncx_module_t *
783  ncx_find_module_que_nsid (dlq_hdr_t *modQ,
784  xmlns_id_t nsid);
785 
786 
796 extern obj_template_t *
797  ncx_find_first_rpc (const xmlChar *rpcname);
798 
799 
812 extern obj_template_t *
813  ncx_match_any_rpc (const xmlChar *module,
814  const xmlChar *rpcname,
815  uint32 *retcount);
816 
817 
827 extern obj_template_t *
828  ncx_find_any_object (const xmlChar *objname);
829 
830 
849 extern obj_template_t *
850  ncx_match_any_object (const xmlChar *objname,
851  ncx_name_match_t name_match,
852  boolean alt_names,
853  status_t *retres);
854 
855 
877 extern obj_template_t *
878  ncx_match_any_object_ex (const xmlChar *modname,
879  const xmlChar *objname,
880  boolean dataonly,
881  ncx_name_match_t name_match,
882  boolean alt_names,
883  status_t *retres);
884 
885 
886 
897 extern obj_template_t *
898  ncx_find_any_object_que (dlq_hdr_t *modQ,
899  const xmlChar *objname);
900 
901 
908 extern ncx_module_t *
909  ncx_get_first_module (void);
910 
911 
918 extern ncx_module_t *
919  ncx_get_next_module_all (const ncx_module_t *mod);
920 
921 
929 extern ncx_module_t *
930  ncx_get_next_module (const ncx_module_t *mod);
931 
932 
942 extern ncx_module_t *
944 
945 
955 extern ncx_module_t *
956  ncx_get_next_session_module (const ncx_module_t *mod);
957 
958 
965 extern ncx_module_t *
966  ncx_find_first_importer (const xmlChar *module);
967 
968 
976 extern ncx_module_t *
977  ncx_find_next_importer (const xmlChar *module,
978  ncx_module_t *curmod);
979 
980 
987 extern ncx_module_t *
988  ncx_find_deviation_module (const xmlChar *modname);
989 
990 
998 extern obj_template_t *
999  ncx_first_data_node (boolean cfgonly);
1000 
1001 
1009 extern obj_template_t *
1010  ncx_next_data_node (obj_template_t *curnode);
1011 
1012 
1018 extern ncx_module_t *
1020 
1021 
1028 extern ncx_module_t *
1029  ncx_next_deviation_module (ncx_module_t *curmod);
1030 
1031  // END ncxlib/yang/yanglib/yanglibfind
1033 
1034 
1035 
1054 extern obj_template_t *
1055  ncx_match_rpc (ncx_module_t *mod,
1056  const xmlChar *rpcname,
1057  uint32 *retcount);
1058 
1059 
1074 extern typ_template_t *
1075  ncx_find_type (ncx_module_t *mod,
1076  const xmlChar *typname,
1077  boolean useall);
1078 
1079 
1091 extern typ_template_t *
1092  ncx_find_type_que (const dlq_hdr_t *typeQ,
1093  const xmlChar *typname);
1094 
1095 
1111 extern grp_template_t *
1112  ncx_find_grouping (ncx_module_t *mod,
1113  const xmlChar *grpname,
1114  boolean useall);
1115 
1116 
1125 extern grp_template_t *
1126  ncx_find_grouping_que (const dlq_hdr_t *groupingQ,
1127  const xmlChar *grpname);
1128 
1129 
1137 extern obj_template_t *
1138  ncx_find_rpc (const ncx_module_t *mod,
1139  const xmlChar *rpcname);
1140 
1141 
1151 extern obj_template_t *
1152  ncx_match_any_rpc_mod (ncx_module_t *mod,
1153  const xmlChar *rpcname,
1154  uint32 *retcount);
1155 
1156 
1167 extern obj_template_t *
1168  ncx_get_first_data_object (ncx_module_t *mod);
1169 
1170 
1180 extern obj_template_t *
1181  ncx_find_next_data_object (ncx_module_t *mod,
1182  obj_template_t *obj);
1183 
1184 
1192 extern obj_template_t *
1193  ncx_find_object (ncx_module_t *mod,
1194  const xmlChar *objname);
1195 
1203 extern obj_template_t *
1205  const xmlChar *objname);
1206 
1207 
1217 extern obj_template_t *
1218  ncx_get_first_object (ncx_module_t *mod);
1219 
1220 
1230 extern obj_template_t *
1231  ncx_get_first_object_ex (ncx_module_t *mod,
1232  boolean augment_ok);
1233 
1234 
1245 extern obj_template_t *
1246  ncx_get_next_object (ncx_module_t *mod,
1247  obj_template_t *curobj);
1248 
1249 
1263 extern obj_template_t *
1264  ncx_get_next_object_ex (ncx_module_t *mod,
1265  obj_template_t *curobj,
1266  boolean augment_ok);
1267 
1268 
1276 extern obj_template_t *
1277  ncx_get_next_data_object (ncx_module_t *mod,
1278  obj_template_t *curobj);
1279 
1280 
1289 extern obj_template_t *
1290  ncx_get_first_data_object_pick (ncx_module_t *mod,
1291  boolean config);
1292 
1293 
1303 extern obj_template_t *
1304  ncx_get_next_data_object_same (ncx_module_t *mod,
1305  obj_template_t *curobj);
1306 
1307  // END ncxlib/yang/yangmod/yangmodfind
1309 
1310  // BEGIN ncxlib/yang/yangmod/yangmodprop
1318 
1319 
1327 extern boolean
1328  ncx_any_dependency_errors (const ncx_module_t *mod);
1329 
1330 
1341 extern boolean
1342  ncx_is_duplicate (ncx_module_t *mod,
1343  const xmlChar *defname);
1344 
1345 
1352 extern const xmlChar *
1353  ncx_get_modname (const ncx_module_t *mod);
1354 
1355 
1362 extern xmlns_id_t
1363  ncx_get_mod_nsid (const ncx_module_t *mod);
1364 
1365 
1372 extern const xmlChar *
1373  ncx_get_modversion (const ncx_module_t *mod);
1374 
1375 
1382 extern const xmlChar *
1383  ncx_get_modnamespace (const ncx_module_t *mod);
1384 
1385 
1392 extern const xmlChar *
1393  ncx_get_modsource (const ncx_module_t *mod);
1394 
1395 
1402 extern ncx_module_t *
1403  ncx_get_mainmod (ncx_module_t *mod);
1404 
1405 
1406 
1413 extern const xmlChar *
1414  ncx_get_mod_prefix (const ncx_module_t *mod);
1415 
1416 
1428 extern const xmlChar *
1429  ncx_get_mod_xmlprefix (const ncx_module_t *mod);
1430 
1431 
1438 extern const xmlChar *
1439  ncx_get_mod_source (const ncx_module_t *mod);
1440 
1441 
1448 extern const xmlChar *
1449  ncx_get_mod_revision (const ncx_module_t *mod);
1450 
1451 
1458 extern const xmlChar *
1459  ncx_get_mod_ocversion (const ncx_module_t *mod);
1460 
1461 
1471 extern status_t
1472  ncx_set_mod_ocversion (ncx_module_t *mod,
1473  const xmlChar *ocversion);
1474 
1475 
1483 extern dlq_hdr_t *
1484  ncx_get_allincQ (ncx_module_t *mod);
1485 
1486 
1494 extern const dlq_hdr_t *
1495  ncx_get_const_allincQ (const ncx_module_t *mod);
1496 
1497 
1505 extern ncx_module_t *
1506  ncx_get_parent_mod (ncx_module_t *mod);
1507 
1508 
1515 extern boolean
1516  ncx_mod_has_rpcs (ncx_module_t *mod);
1517 
1518 
1527 extern boolean
1528  ncx_mod_has_data_nodes (ncx_module_t *mod,
1529  boolean check_config,
1530  boolean check_operational);
1531 
1532 
1542 extern boolean
1543  ncx_mod_has_augment_data_nodes (ncx_module_t *mod,
1544  boolean check_config,
1545  boolean check_operational);
1546 
1547 
1556 extern boolean
1557  ncx_mod_unloadable (ncx_module_t *mod);
1558 
1559 
1566 extern void
1567  ncx_set_mod_unloadable (ncx_module_t *mod);
1568 
1569 
1576 extern ncx_module_t *
1577  ncx_first_submodule (ncx_module_t *mod);
1578 
1579 
1580 
1588 extern ncx_module_t *
1589  ncx_next_submodule (ncx_module_t *mod,
1590  ncx_module_t *submod);
1591 
1592 
1599 extern void
1600  ncx_set_module_supported (ncx_module_t *mod,
1601  boolean supported);
1602 
1603 
1610 extern ncx_yang_version_t
1611  ncx_get_yang_version (const ncx_module_t *mod);
1612 
1613 
1619 extern void
1620  ncx_number_all_objects (ncx_module_t *mod);
1621 
1622 
1634 extern boolean
1635  ncx_mod_is_hidden (const ncx_module_t *mod);
1636 
1637 
1644 extern void
1645  ncx_set_mod_hidden (ncx_module_t *mod);
1646 
1647 
1655 extern status_t
1656  ncx_check_yang_identity (ncx_module_t *impmod,
1657  const xmlChar *idstr);
1658 
1659 
1666 extern void
1667  ncx_set_ocpattern_mode (ncx_module_t *mod,
1668  boolean mode);
1669 
1670 
1676 extern void
1677  ncx_force_ocpattern_mode (ncx_module_t *mod);
1678 
1679 
1686 extern boolean
1687  ncx_get_ocpattern_mode (const ncx_module_t *mod);
1688 
1689 
1696 extern boolean
1697  ncx_modname_is_ocpattern (const xmlChar *modname);
1698 
1699 
1710 extern boolean
1711  ncx_skip_child_node_warn (const xmlChar *modname);
1712 
1713 
1720 extern void ncx_clr_enable_chk (ncx_module_t *mod);
1721 
1722 
1729 extern void
1730  ncx_set_yangmap_type (ncx_module_t *mod,
1731  boolean is_src);
1732 
1733 
1741 extern boolean
1742  ncx_is_yangmap_type (ncx_module_t *mod,
1743  boolean is_src);
1744 
1745 
1754 extern boolean
1755  ncx_mod_has_submodules (const ncx_module_t *mod);
1756 
1757  // END ncxlib/yang/yangmod/yangmodprop
1759 
1760 
1761  // BEGIN ncxlib/yang/yangmod/yangmodutil
1769 
1770 
1780 extern void
1781  ncx_delete_mod_obsolete_objects (ncx_module_t *mod);
1782 
1783 
1794 extern void
1795  ncx_remove_augment_data_nodes (ncx_module_t *mod);
1796 
1797 
1814 extern void
1815  ncx_collapse_submod_defs (ncx_module_t *mod);
1816 
1817 
1818 
1828 extern status_t
1829  ncx_set_obj_xpath_backptrs (ncx_module_t *mod);
1830 
1831 
1838 extern void
1839  ncx_clear_mod_xpath_backptrs (ncx_module_t *mod);
1840 
1841 
1848 extern void
1849  ncx_unload_and_free_module (ncx_module_t *mod);
1850 
1851  // END ncxlib/yang/yangmod/yangmodutil
1853 
1854 
1855 
1856 
1857 // Heading only for YANG Data Docs
1858 
1859 
1885 extern ncx_import_t *
1886  ncx_new_import (void);
1887 
1888 
1899 extern void
1900  ncx_free_import (ncx_import_t *import);
1901 
1902 
1910 extern ncx_import_t *
1911  ncx_find_import (const ncx_module_t *mod,
1912  const xmlChar *module);
1913 
1914 
1922 extern ncx_import_t *
1923  ncx_find_import_que (const dlq_hdr_t *importQ,
1924  const xmlChar *module);
1925 
1926 
1936 extern ncx_import_t *
1937  ncx_find_import_test (const ncx_module_t *mod,
1938  const xmlChar *module);
1939 
1940 
1948 extern ncx_import_t *
1949  ncx_find_pre_import (const ncx_module_t *mod,
1950  const xmlChar *prefix);
1951 
1952 
1960 extern ncx_import_t *
1961  ncx_find_pre_import_que (const dlq_hdr_t *importQ,
1962  const xmlChar *prefix);
1963 
1964 
1974 extern ncx_import_t *
1975  ncx_find_pre_import_test (const ncx_module_t *mod,
1976  const xmlChar *prefix);
1977 
1978 
1987 extern boolean
1988  ncx_import_match_mod (const ncx_import_t *imp,
1989  const xmlChar *module,
1990  const xmlChar *revision);
1991 
1992 
2012 extern void *
2013  ncx_locate_modqual_import (yang_pcb_t *pcb,
2014  ncx_import_t *imp,
2015  const xmlChar *defname,
2016  ncx_node_t *deftyp);
2017  // END ncxlib/yang/yangdata/yangimport
2019 
2020 
2021 
2037 extern ncx_include_t *
2038  ncx_new_include (void);
2039 
2040 
2051 extern void
2052  ncx_free_include (ncx_include_t *inc);
2053 
2054 
2062 extern ncx_include_t *
2063  ncx_find_include (const ncx_module_t *mod,
2064  const xmlChar *submodule);
2065 
2066  // END ncxlib/yang/yangdata/yanginclude
2068 
2069 
2091 extern ncx_binary_t *
2092  ncx_new_binary (void);
2093 
2094 
2099 extern void
2100  ncx_init_binary (ncx_binary_t *binary);
2101 
2102 
2108 extern void
2109  ncx_clean_binary (ncx_binary_t *binary);
2110 
2111 
2117 extern void
2118  ncx_free_binary (ncx_binary_t *binary);
2119 
2120  // END ncxlib/yang/yangdata/yangbindata
2122 
2123  // BEGIN ncxlib/yang/yangdata/yangidentity
2131 
2132 
2138 extern ncx_identity_t *
2139  ncx_new_identity (void);
2140 
2141 
2148 extern ncx_identity_base_t *
2149  ncx_new_identity_base (void);
2150 
2151 
2157 extern void
2158  ncx_free_identity_base (ncx_identity_base_t *identity_base);
2159 
2160 
2167 extern ncx_identity_base_t *
2168  ncx_first_identity_base (ncx_identity_t *identity);
2169 
2170 
2177 extern ncx_identity_base_t *
2178  ncx_next_identity_base (ncx_identity_base_t *idbase);
2179 
2180 
2186 extern void
2187  ncx_free_identity (ncx_identity_t *identity);
2188 
2189 
2200 extern ncx_identity_t *
2201  ncx_find_identity (ncx_module_t *mod,
2202  const xmlChar *name,
2203  boolean useall);
2204 
2205 
2213 extern ncx_identity_t *
2214  ncx_find_identity_que (dlq_hdr_t *identityQ,
2215  const xmlChar *name);
2216 
2217 
2224 extern xmlns_id_t
2225  ncx_get_identity_nsid (const ncx_identity_t *identity);
2226 
2227 
2234 extern boolean
2235  ncx_get_identity_conditional(const ncx_identity_t *identity);
2236 
2237 
2250 extern void
2251  ncx_find_all_identities (ncx_identity_t *base,
2252  ncx_identity_cbfn_t cbfn,
2253  void *cookie);
2254 
2255 
2256  // END ncxlib/yang/yangdata/yangidentity
2258 
2259 
2276 extern ncx_filptr_t *
2277  ncx_new_filptr (void);
2278 
2279 
2285 extern void
2286  ncx_free_filptr (ncx_filptr_t *filptr);
2287 
2288 
2294 extern ncx_revhist_t *
2295  ncx_new_revhist (void);
2296 
2297 
2302 extern void
2303  ncx_free_revhist (ncx_revhist_t *revhist);
2304 
2305 
2313 extern ncx_revhist_t *
2314  ncx_find_revhist (const ncx_module_t *mod,
2315  const xmlChar *ver);
2316 
2317  // END ncxlib/yang/yangdata/yangcompgen
2319 
2320 
2336 extern void
2337  ncx_init_enum (ncx_enum_t *enu);
2338 
2339 
2345 extern void
2346  ncx_clean_enum (ncx_enum_t *enu);
2347 
2348 
2360 extern int32
2361  ncx_compare_enums (const ncx_enum_t *enu1,
2362  const ncx_enum_t *enu2);
2363 
2364 
2376 extern status_t
2377  ncx_set_enum (const xmlChar *enum_name,
2378  const int32 enum_val,
2379  ncx_enum_t *retenu);
2380 
2381  // END ncxlib/yang/yangdata/yangenum
2383 
2384 
2399 extern void
2400  ncx_init_bit (ncx_bit_t *bit);
2401 
2402 
2408 extern void
2409  ncx_clean_bit (ncx_bit_t *bit);
2410 
2411 
2424 extern int32
2425  ncx_compare_bits (const ncx_bit_t *bitone,
2426  const ncx_bit_t *bittwo);
2427 
2428  // END ncxlib/yang/yangdata/yangbit
2430 
2431 
2432 
2447 extern ncx_typname_t *
2448  ncx_new_typname (void);
2449 
2450 
2457 extern void
2458  ncx_free_typname (ncx_typname_t *typnam);
2459 
2460 
2468 extern const xmlChar *
2469  ncx_find_typname (const typ_template_t *typ,
2470  const dlq_hdr_t *que);
2471 
2472 
2481 extern const typ_template_t *
2482  ncx_find_typname_type (const dlq_hdr_t *que,
2483  const xmlChar *typname);
2484 
2485 
2491 extern void
2492  ncx_clean_typnameQ (dlq_hdr_t *que);
2493 
2494  // END ncxlib/yang/yangdata/yangtypname
2496 
2497 
2513 extern ncx_errinfo_t *
2514  ncx_new_errinfo (void);
2515 
2516 
2522 extern void
2523  ncx_init_errinfo (ncx_errinfo_t *err);
2524 
2525 
2532 extern void
2533  ncx_clean_errinfo (ncx_errinfo_t *err);
2534 
2535 
2542 extern void
2543  ncx_free_errinfo (ncx_errinfo_t *err);
2544 
2545 
2556 extern boolean
2557  ncx_errinfo_set (const ncx_errinfo_t *errinfo);
2558 
2559 
2568 extern status_t
2569  ncx_copy_errinfo (const ncx_errinfo_t *src,
2570  ncx_errinfo_t *dest);
2571 
2572 
2573  // END ncxlib/yang/yangdata/yangdataerrinfo
2575 
2576 
2577 
2578 
2579 
2580 
2581 
2582  // BEGIN ncxlib/ncxglobals/ncxgenobj
2592 
2593 
2599 extern obj_template_t *
2600  ncx_get_gen_anyxml (void);
2601 
2602 
2608 extern obj_template_t *
2609  ncx_get_gen_container (void);
2610 
2611 
2617 extern obj_template_t *
2618  ncx_get_gen_string (void);
2619 
2620 
2626 extern obj_template_t *
2627  ncx_get_gen_empty (void);
2628 
2629 
2635 extern obj_template_t *
2636  ncx_get_gen_root (void);
2637 
2638 
2644 extern obj_template_t *
2645  ncx_get_gen_binary (void);
2646 
2652 extern obj_template_t *
2653  ncx_get_gen_leaflist (void);
2654 
2655 
2661 extern obj_template_t *
2662  ncx_get_yang_insert (void);
2663 
2664 
2670 extern obj_template_t *
2671  ncx_get_yang_key (void);
2672 
2673 
2679 extern obj_template_t *
2680  ncx_get_yang_value (void);
2681 
2682 
2689 extern obj_template_t *
2690  ncx_get_nc_operation (void);
2691 
2692 
2699 extern obj_template_t *
2700  ncx_get_datapath_obj (void);
2701 
2702 
2709 extern obj_template_t *
2710  ncx_get_fixed_value_obj (void);
2711 
2712 
2719 extern obj_template_t *
2720  ncx_get_btype_obj (void);
2721 
2722 
2728 extern boolean
2729  ncx_obj_is_generic (const obj_template_t *obj);
2730 
2731  // END ncxlib/ncxglobals/ncxgenobj
2733 
2734 
2735  // BEGIN ncxlib/ncxglobals/ncxgenvar
2746 
2747 
2753 extern ncx_display_mode_t
2754  ncx_get_display_mode (void);
2755 
2756 
2762 extern uint32
2763  ncx_get_vtimeout_value (void);
2764 
2765 
2773 extern boolean
2774  ncx_get_useprefix (void);
2775 
2776 
2784 extern void
2785  ncx_set_useprefix (boolean val);
2786 
2787 
2795 extern boolean
2796  ncx_get_system_sorted (void);
2797 
2798 
2806 extern void
2807  ncx_set_system_sorted (boolean val);
2808 
2809 
2819 extern boolean
2820  ncx_get_cwd_subdirs (void);
2821 
2822 
2830 extern boolean
2831  ncx_protocol_enabled (ncx_protocol_t proto);
2832 
2833 
2840 extern void
2841  ncx_set_protocol_enabled (ncx_protocol_t proto);
2842 
2843 
2849 extern void
2850  ncx_set_protocol_disabled (ncx_protocol_t proto);
2851 
2852 
2860 extern void
2861  ncx_set_use_deadmodQ (void);
2862 
2863 
2873 extern int8
2874  ncx_get_message_indent (void);
2875 
2876 
2883 extern void
2884  ncx_set_message_indent (int8 msg_indent);
2885 
2886 
2893 extern boolean
2894  ncx_use_xpath_backptrs (void);
2895 
2896 
2903 extern status_t
2905 
2906 
2912 extern boolean
2913  ncx_fastpath_enabled (void);
2914 
2915 
2921 extern boolean
2922  ncx_netconfd_running (void);
2923 
2924 
2930 extern void
2931  ncx_use_data_templates (boolean enabled);
2932 
2933 
2939 extern boolean
2940  ncx_data_templates_ok (void);
2941 
2942 
2948 extern void
2949  ncx_ignore_missing_vars (boolean enabled);
2950 
2951 
2957 extern boolean
2958  ncx_missing_vars_ok (void);
2959 
2960 
2964 extern void
2965  ncx_set_ycontrol_running (void);
2966 
2967 
2971 extern void
2972  ncx_set_search_modQ_ok (void);
2973 
2979 extern boolean
2980  ncx_get_search_modQ_ok (void);
2981 
2982 
2989 extern status_t
2990  ncx_set_subsys_id (const xmlChar *id);
2991 
2997 extern const xmlChar *
2998  ncx_get_subsys_id (void);
2999 
3000 
3005 extern void
3006  ncx_set_use_objptrs (void);
3007 
3015 extern boolean
3016  ncx_use_objptrs (void);
3017 
3018 
3024 extern ncx_backptr_t *
3025  ncx_first_objptr (void);
3026 
3027 
3034 extern ncx_backptr_t *
3035  ncx_next_objptr (ncx_backptr_t *curptr);
3036 
3037 
3038 #ifdef DEBUG
3039 
3043 extern void
3044  ncx_dump_objptrQ (void);
3045 #endif // DEBUG
3046 
3047 
3055 extern void
3056  ncx_set_getbulk_max (uint32 max_entries);
3057 
3058 
3066 extern uint32
3067  ncx_get_getbulk_max (void);
3068 
3069 
3075 extern void
3077 
3078 
3084 extern boolean
3086 
3087 
3097 extern void
3099 
3100 
3107 extern boolean
3109 
3110 
3118 extern boolean
3119  ncx_base_schema_set (void);
3120 
3121 
3127 extern void
3128  ncx_set_base_schema (void);
3129 
3130 
3139 extern boolean
3140  ncx_need_get2_xpath (void);
3141 
3142 
3149 extern void
3150  ncx_set_with_ocpattern (boolean mode);
3151 
3152 
3158 extern boolean
3160 
3161 
3167 extern void
3168  ncx_set_add_toplevel_default_mode (boolean val);
3169 
3170 
3178 extern boolean
3179  ncx_is_with_snmp (void);
3180 
3181 
3189 extern void
3190  ncx_set_with_snmp (boolean val);
3191 
3192 
3198 extern void
3199  ncx_enable_bestmatch (void);
3200 
3201 
3210 extern status_t
3211  ncx_set_bestmatch (void);
3212 
3213 
3219 extern void
3220  ncx_allow_get_when_check (void);
3221 
3222 
3229 extern boolean
3230  ncx_use_get_when_check (void);
3231 
3232 
3238 extern boolean
3240 
3241 
3248 extern void
3249  ncx_set_sethook_registered (boolean val);
3250 
3251 
3257 extern void
3258  ncx_set_binary_display_maxlen (uint32 val);
3259 
3260 
3266 extern uint32
3268 
3269 
3275 extern boolean
3276  ncx_is_with_dblock (void);
3277 
3278 
3284 extern void
3285  ncx_set_with_dblock (boolean val);
3286 
3287 
3294 extern boolean
3295  ncx_is_db_lock_init_done (void);
3296 
3297 
3303 extern void
3304  ncx_set_db_lock_init_done (boolean val);
3305 
3306 
3312 extern void
3313  ncx_set_max_strlen (int32 num);
3314 
3315 
3321 extern int32
3322  ncx_get_max_strlen (void);
3323 
3324 
3329 extern void
3331 
3332 
3338 extern boolean
3340 
3341 
3346 extern void
3347  ncx_set_pidfile_cleaned (void);
3348 
3349 
3355 extern boolean
3356  ncx_get_pidfile_cleaned (void);
3357 
3358 
3368 extern void
3369  ncx_set_trim_whitespace (boolean val);
3370 
3371 
3378 extern boolean
3379  ncx_get_trim_whitespace (void);
3380 
3381 
3390 extern void
3391  ncx_set_startup_prune (boolean val);
3392 
3393 
3402 extern boolean
3403  ncx_get_startup_prune (void);
3404 
3405 
3415 extern boolean
3416  ncx_check_startup_prune (ses_cb_t *scb);
3417 
3418 
3426 extern void
3427  ncx_set_config_state (ncx_config_state_t val);
3428 
3429 
3435 extern ncx_config_state_t
3436  ncx_get_config_state (void);
3437 
3438 
3446 extern void
3447  ncx_set_xmlorder (boolean val);
3448 
3449 
3456 extern boolean
3457  ncx_get_xmlorder (void);
3458 
3459 
3467 extern void
3468  ncx_set_list_deleteall_ok (boolean val);
3469 
3470 
3478 extern boolean
3480 
3481 
3489 extern void
3490  ncx_set_leaflist_deleteall_ok (boolean val);
3491 
3492 
3500 extern boolean
3502 
3503 
3511 extern boolean
3512  ncx_check_delete_all_allowed (obj_template_t *testobj);
3513 
3514 
3521 extern void
3522  ncx_set_with_canonical (boolean val);
3523 
3524 
3531 extern boolean
3532  ncx_get_with_canonical (void);
3533 
3534 
3544 extern void
3545  ncx_set_save_owners (boolean val);
3546 
3547 
3554 extern boolean
3555  ncx_get_save_owners (void);
3556 
3557  // END ncxlib/ncxglobals/ncxgenvar
3559 
3560 
3561 // heading only
3562  // BEGIN ncxlib/ncxstrenum
3580 
3581 
3590 extern const xmlChar *
3591  ncx_get_layer (ncx_layer_t layer);
3592 
3593 
3600 extern ncx_cvttyp_t
3601  ncx_get_cvttyp_enum (const char *str);
3602 
3603 
3610 extern ncx_status_t
3611  ncx_get_status_enum (const xmlChar *str);
3612 
3613 
3620 extern const xmlChar *
3621  ncx_get_status_string (ncx_status_t status);
3622 
3623 
3630 extern ncx_data_class_t
3631  ncx_get_data_class_enum (const xmlChar *str);
3632 
3633 
3640 extern const xmlChar *
3641  ncx_get_data_class_str (ncx_data_class_t dataclass);
3642 
3643 
3650 extern const xmlChar *
3651  ncx_get_access_str (ncx_access_t max_access);
3652 
3653 
3660 extern ncx_access_t
3661  ncx_get_access_enum (const xmlChar *str);
3662 
3663 
3672 extern boolean
3673  ncx_is_true (const xmlChar *str);
3674 
3675 
3683 extern boolean
3684  ncx_is_false (const xmlChar *str);
3685 
3686 
3693 extern ncx_bad_data_t
3694  ncx_get_baddata_enum (const xmlChar *valstr);
3695 
3696 
3703 extern const xmlChar *
3704  ncx_get_baddata_string (ncx_bad_data_t baddata);
3705 
3706 
3713 extern const xmlChar *
3714  ncx_get_withdefaults_string (ncx_withdefaults_t withdef);
3715 
3716 
3723 extern ncx_withdefaults_t
3724  ncx_get_withdefaults_enum (const xmlChar *withdefstr);
3725 
3726 
3733 extern int32
3734  ncx_get_withdefaults_value (const xmlChar *withdefstr);
3735 
3736 
3744 extern ncx_display_mode_t
3745  ncx_get_display_mode_enum (const xmlChar *dmstr);
3746 
3747 
3754 extern const xmlChar *
3755  ncx_get_display_mode_str (ncx_display_mode_t dmode);
3756 
3757 
3764 extern const xmlChar *
3765  ncx_get_confirm_event_str (ncx_confirm_event_t event);
3766 
3767 
3776 extern const xmlChar *
3777  ncx_get_protocols_enabled (uint16 flags);
3778 
3779 
3786 extern const xmlChar *
3787  ncx_get_protocol_name (ncx_protocol_t proto);
3788 
3789 
3796 extern ncx_name_match_t
3797  ncx_get_name_match_enum (const xmlChar *str);
3798 
3799 
3806 extern const xmlChar *
3807  ncx_get_name_match_string (ncx_name_match_t match);
3808 
3809 
3816 extern int32
3817  ncx_get_name_match_value (ncx_name_match_t match);
3818 
3819 
3828 extern status_t
3829  ncx_str2txid (const xmlChar *str,
3830  ncx_transaction_id_t *txid);
3831 
3832 
3841 extern status_t
3843  xmlChar **retbuff);
3844 
3845 
3852 extern const xmlChar *
3853  ncx_get_btyp_string (ncx_btype_t btyp);
3854 
3855 
3862 extern const xmlChar *
3863  ncx_cvt_encoding_enum (ncx_msg_encoding_t msg_encoding);
3864 
3865 
3872 extern ncx_msg_encoding_t
3873  ncx_cvt_encoding_str (const xmlChar *msg_encoding);
3874 
3875 
3881 extern const xmlChar *
3882  ncx_get_yang_version_str (ncx_yang_version_t langver);
3883 
3884 
3891 extern const xmlChar *
3892  ncx_get_ses_event_str (ncx_ses_event_t ses_event);
3893 
3894  // END ncxlib/ncxutil/ncxstrenum
3896 
3897 
3898 
3918 extern void
3919  ncx_print_errormsg (tk_chain_t *tkc,
3920  ncx_module_t *mod,
3921  status_t res);
3922 
3923 
3937 extern void
3938  ncx_print_errormsg_ex (tk_chain_t *tkc,
3939  ncx_module_t *mod,
3940  status_t res,
3941  const char *filename,
3942  uint32 linenum,
3943  boolean fineoln);
3944 
3945 
3953 extern void
3954  ncx_conf_exp_err (tk_chain_t *tkc,
3955  status_t result,
3956  const char *expstr);
3957 
3958 
3967 extern void
3968  ncx_mod_exp_err (tk_chain_t *tkc,
3969  ncx_module_t *mod,
3970  status_t result,
3971  const char *expstr);
3972 
3973 
3983 extern void
3984  ncx_mod_missing_err (tk_chain_t *tkc,
3985  ncx_module_t *mod,
3986  const char *stmtstr,
3987  const char *expstr);
3988 
3989 
4000 extern ncx_errmsg_t *
4001  ncx_new_errmsg (status_t res,
4002  const xmlChar *str);
4003 
4004 
4010 extern void
4011  ncx_free_errmsg (ncx_errmsg_t *msg);
4012 
4013 
4014  // END ncxlib/yang/yangcomp/yangcomperr
4016 
4017 
4018  // BEGIN ncxlib/yang/yangcomp/yangcompidentifier
4028 
4029 
4036 extern boolean
4037  ncx_valid_name_ch (uint32 ch);
4038 
4039 
4046 extern boolean
4047  ncx_valid_fname_ch (uint32 ch);
4048 
4049 
4057 extern boolean
4058  ncx_valid_name (const xmlChar *str,
4059  uint32 len);
4060 
4061 
4070 extern boolean
4071  ncx_valid_name2 (const xmlChar *str);
4072 
4073  // END ncxlib/yang/yangcomp/yangcompidentifier
4075 
4076 
4077  // BEGIN ncxlib/ncxutil/ncxutilgen
4085 
4108 extern xmlChar *
4109  ncx_get_source_ex (const xmlChar *fspec,
4110  boolean expand_cwd,
4111  status_t *res);
4112 
4113 
4136 extern xmlChar *
4137  ncx_get_source (const xmlChar *fspec,
4138  status_t *res);
4139 
4140 
4150 extern boolean
4151  ncx_prefix_different (const xmlChar *prefix1,
4152  const xmlChar *prefix2,
4153  const xmlChar *modprefix);
4154 
4155 
4163 extern status_t
4164  ncx_get_version (xmlChar *buffer,
4165  uint32 buffsize);
4166 
4167 
4175 extern status_t
4176  ncx_get_feature_code (xmlChar *buffer,
4177  uint32 buffsize);
4178 
4187 extern int32
4188  ncx_compare_base_uris (const xmlChar *str1,
4189  const xmlChar *str2);
4190 
4191 
4200 extern boolean
4201  ncx_val_protocol_enabled (ncx_protocol_t proto,
4202  uint16 flags);
4203 
4204 
4205 
4215 extern void
4216  ncx_set_val_protocol_enabled (ncx_protocol_t proto,
4217  uint16 *flags);
4218 
4219 
4228 extern void
4229  ncx_set_val_protocol_disabled (ncx_protocol_t proto,
4230  uint16 *flags);
4231 
4232 
4239 extern boolean
4240  ncx_protocol_is_netconf (ncx_protocol_t proto);
4241 
4242 
4251 extern void
4252  ncx_write_tracefile (const char *buff, uint32 count);
4253 
4254 
4265 extern status_t
4266  ncx_decode_url_string (const xmlChar *urlstr,
4267  uint32 urlstrlen,
4268  xmlChar *buffer,
4269  uint32 *cnt);
4270 
4271 
4272 
4283 extern status_t
4284  ncx_create_pidfile (const xmlChar *progname,
4285  boolean fileloc_fhs);
4286 
4287 
4294 extern status_t
4295  ncx_add_ydtrace (const xmlChar *fspec);
4296 
4297 
4304 extern boolean
4305  ncx_find_ydtrace (const xmlChar *fspec);
4306 
4307 
4315 extern ncx_result_format_t
4316  ncx_get_file_result_format (const xmlChar *filespec);
4317 
4318 
4331 extern boolean
4332  ncx_library_mode_ok (const xmlChar *modname,
4333  const xmlChar *rpcname);
4334 
4335 
4341 extern const char *
4342  ncx_get_progname (void);
4343 
4344 
4351 extern boolean
4352  ncx_ok_for_inline_data (obj_template_t *obj);
4353 
4354 
4362 extern boolean
4363  ncx_check_inline_data_state (const xmlChar *line,
4364  boolean curstate);
4365 
4366  // END ncxlib/ncxutil/ncxutilgen
4368 
4369 
4370 
4371 // Heading Only
4396 extern void
4397  ncx_set_cur_modQ (dlq_hdr_t *que);
4398 
4399 
4403 extern void
4404  ncx_reset_modQ (void);
4405 
4406 
4421 extern void
4422  ncx_set_session_modQ (dlq_hdr_t *que);
4423 
4424 
4430 extern dlq_hdr_t *
4431  ncx_get_session_modQ (void);
4432 
4433 
4446 extern void
4447  ncx_clear_session_modQ (void);
4448 
4449 
4455 extern void
4456  ncx_set_temp_modQ (dlq_hdr_t *modQ);
4457 
4458 
4464 extern dlq_hdr_t *
4465  ncx_get_temp_modQ (void);
4466 
4467 
4472 extern void
4473  ncx_clear_temp_modQ (void);
4474 
4475 
4476  // END ncxlib/yang/yanglib/yanglibconf/yanglibconfq
4478 
4479 
4496 extern status_t
4498 
4499 
4505 extern void
4507 
4508 
4515 extern status_t
4517 
4518 
4524 extern void
4526 
4527 
4534 extern status_t
4536 
4537 
4543 extern void
4545 
4546 
4553 extern void
4554  ncx_invoke_yang_obj_callbacks (ncx_module_t *mod,
4555  obj_template_t *obj);
4556 
4557 
4563 extern void
4565 
4566 
4573 extern const xmlChar *
4575 
4576  // END ncxlib/yang/yanglib/yanglibconf/yanglibconfcb
4578 
4595 extern void
4596  ncx_set_warn_idlen (uint32 warnlen);
4597 
4598 
4604 extern uint32
4605  ncx_get_warn_idlen (void);
4606 
4607 
4613 extern void
4614  ncx_set_warn_linelen (uint32 warnlen);
4615 
4616 
4622 extern uint32
4623  ncx_get_warn_linelen (void);
4624 
4625 
4635 extern void
4636  ncx_check_warn_idlen (tk_chain_t *tkc,
4637  ncx_module_t *mod,
4638  const xmlChar *id);
4639 
4640 
4650 extern void
4651  ncx_check_warn_linelen (tk_chain_t *tkc,
4652  ncx_module_t *mod,
4653  const xmlChar *line);
4654 
4655 
4662 extern status_t
4663  ncx_turn_off_warning (status_t res);
4664 
4665 
4672 extern status_t
4673  ncx_turn_on_warning (status_t res);
4674 
4675 
4682 extern status_t
4683  ncx_turn_up_warning (status_t res);
4684 
4685 
4691 extern void
4692  ncx_set_warn_error (boolean val);
4693 
4694 
4702 extern boolean
4703  ncx_warning_enabled (status_t res);
4704 
4705 
4713 extern boolean
4714  ncx_warning_elevated (status_t res);
4715 
4716 
4723 extern void
4725 
4726 
4742 extern void
4743  ncx_set_top_mandatory_allowed (boolean allowed);
4744 
4745 
4752 extern boolean
4754 
4755 
4765 extern boolean
4767 
4768 
4774 extern void
4775  ncx_set_module_setid (uint32 new_setid);
4776 
4777 
4783 extern uint32
4784  ncx_get_module_setid (void);
4785 
4786 
4796 extern status_t
4797  ncx_sprintf_module_setid (uint32 id,
4798  xmlChar *buff,
4799  int32 buffsize);
4800 
4801 
4808 extern boolean
4810 
4811 
4818 extern void
4819  ncx_set_empty_npcon_presence (boolean val);
4820 
4821 
4822  // END ncxlib/yang/yanglib/yanglibconf/yanglibconfset
4824 
4825 
4826 
4827 
4828  // BEGIN ncxlib/ncxutil/ncxbackptr
4843 
4844 
4851 extern ncx_backptr_t *
4852  ncx_new_backptr (void *node);
4853 
4854 
4861 extern void
4862  ncx_free_backptr (ncx_backptr_t *ptr);
4863 
4864 
4875 extern void
4876  ncx_free_mbackptr (ncx_backptr_t *ptr);
4877 
4878 
4884 extern void
4885  ncx_clean_backptrQ (dlq_hdr_t *backptrQ);
4886 
4887 
4894 extern void
4895  ncx_clean_mbackptrQ (dlq_hdr_t *backptrQ);
4896 
4897 
4904 extern ncx_backptr_t *
4905  ncx_first_backptr (dlq_hdr_t *que);
4906 
4907 
4914 extern ncx_backptr_t *
4915  ncx_last_backptr (dlq_hdr_t *que);
4916 
4917 
4924 extern ncx_backptr_t *
4925  ncx_next_backptr (ncx_backptr_t *curptr);
4926 
4927 
4934 extern ncx_backptr_t *
4935  ncx_prev_backptr (ncx_backptr_t *curptr);
4936 
4937 
4944 extern void *
4945  ncx_get_backptr_node (ncx_backptr_t *backptr);
4946 
4947 
4953 extern void
4954  ncx_remove_backptr (ncx_backptr_t *ptr);
4955 
4956 
4964 extern ncx_backptr_t *
4965  ncx_find_backptr (const dlq_hdr_t *que,
4966  void *node);
4967 
4968 
4969 
4970  // END ncxlib/ncxutil/ncxbackptr
4972 
4973 
4995 extern ncx_save_deviations_t *
4996  ncx_find_save_deviations (const xmlChar *deviname,
4997  dlq_hdr_t *deviationQ);
4998 
4999 
5005 extern void
5006  ncx_save_deviation_module (ncx_module_t *mod);
5007 
5008 
5017 extern boolean
5018  ncx_ok_skip_deviation_module (const xmlChar *modname,
5019  dlq_hdr_t *save_deviationsQ);
5020 
5021 
5022  // END ncxlib/yang/yangdata/yangdeviation
5024 
5025 
5026 
5027  // BEGIN ncxlib/ncxutil/ncxutilfile
5035 
5036 
5042 extern void
5043  ncx_socket_close (int fd);
5044 
5045 
5051 extern void
5052  ncx_file_close (FILE *fp);
5053 
5054 
5062 extern status_t
5063  ncx_file_remove (const xmlChar *filespec,
5064  boolean do_warn);
5065 
5066 
5075 extern status_t
5076  ncx_file_rename (const xmlChar *old_filespec,
5077  const xmlChar *new_filespec,
5078  boolean do_warn);
5079 
5087 extern status_t
5088  ncx_file_copy (const xmlChar *src_filespec,
5089  const xmlChar *dst_filespec);
5090 
5091 
5100 extern status_t
5101  ncx_file_buffcopy (const xmlChar *src_buff,
5102  uint32 src_bufflen,
5103  const xmlChar *dst_filespec);
5104 
5105 
5114 extern status_t
5115  ncx_file_size (const char *filespec,
5116  uint32 *siz);
5117 
5118 
5128 extern status_t
5129  ncx_file_to_buffer (const char *filespec,
5130  xmlChar **outbuff);
5131 
5139 extern status_t
5140  ncx_buffer_to_file (const char *filespec,
5141  const xmlChar *inbuff);
5142 
5143 
5153 extern status_t
5154  ncx_get_temp_filespec (xmlChar *buff,
5155  uint32 bufflen,
5156  const xmlChar *rootpart,
5157  const xmlChar *ext);
5158 
5159 
5169 extern ncx_modcache_t *
5170  ncx_new_modcache (const xmlChar *modname,
5171  boolean hidemod);
5172 
5173 
5179 extern void
5180  ncx_free_modcache (ncx_modcache_t *mc);
5181 
5182 
5183  // END ncxlib/ncxutil/ncxutilfile
5185 
5186 
5187 
5199 extern void ncx_set_use_return_status (void);
5200 
5201 
5202 
5208 extern boolean ncx_use_return_status (void);
5209 
5210 
5217 extern ncx_bad_reply_enum
5218  ncx_get_handle_badreply_enum (const xmlChar *valstr);
5219 
5220 
5227 extern const xmlChar *
5228  ncx_get_handle_badreply_string (ncx_bad_reply_enum badreply);
5229 
5230 
5236 extern void
5237  ncx_set_handle_badreply (ncx_bad_reply_enum enumval);
5238 
5239 
5245 extern ncx_bad_reply_enum
5246  ncx_get_handle_badreply (void);
5247 
5248 
5257 extern boolean
5259 
5260 
5261 
5271 extern ncx_etag_t
5273 
5274  // END ncxlib/ncxutil/ncxutilfile
5276 
5277 
5278 #ifdef __cplusplus
5279 } /* end extern 'C' */
5280 #endif
5281 
5282 #endif /* _H_ncx */
ncx_get_yang_insert
obj_template_t * ncx_get_yang_insert(void)
Get the object template for the YANG insert attribute.
Definition: ncx.c:6763
obj_is_hidden
boolean obj_is_hidden(const obj_template_t *obj)
Check if object is marked as a hidden object.
Definition: obj.c:14139
obj_first_child
obj_template_t * obj_first_child(obj_template_t *obj)
Get the first child object if the specified object has any children.
Definition: obj.c:6687
NCX_RF_NONE
@ NCX_RF_NONE
not set
Definition: ncxtypes.h:540
ses.h
NETCONF Session Common definitions module.
TK_CUR
#define TK_CUR(T)
return the current token
Definition: tk.h:122
ncx_get_mainmod
ncx_module_t * ncx_get_mainmod(ncx_module_t *mod)
Get the main module.
Definition: ncx.c:4932
ERR_NCX_SKIPPED
@ ERR_NCX_SKIPPED
2001
Definition: status_enum.h:551
NCX_BAD_DATA_CHECK
@ NCX_BAD_DATA_CHECK
NCX_BAD_DATA_CHECK to prompt user to keep or re-enter value.
Definition: ncxtypes.h:439
ncx_find_grouping
grp_template_t * ncx_find_grouping(ncx_module_t *mod, const xmlChar *grpname, boolean useall)
Find the YANG grouping.
Definition: ncx.c:3651
NCX_MATCH_EXACT_NOCASE
@ NCX_MATCH_EXACT_NOCASE
exact but case-insensitive
Definition: ncxtypes.h:524
NCX_MATCH_EXACT
@ NCX_MATCH_EXACT
exact (default)
Definition: ncxtypes.h:523
xml_strlen
uint32 xml_strlen(const xmlChar *str)
Get the String len for xmlChar.
Definition: xml_util.c:1406
TK_TT_TSTRING
@ TK_TT_TSTRING
token string
Definition: tk.h:319
ncx_get_getbulk_max
uint32 ncx_get_getbulk_max(void)
Get the max_entries parameter for GET2 callbacks.
Definition: ncx.c:12899
ncx_set_sil_priority_used
void ncx_set_sil_priority_used(void)
Flag that an object set a non-default SIL priority.
Definition: ncx.c:12952
ncx_get_empty_npcon_presence
boolean ncx_get_empty_npcon_presence(void)
Get the empty_npcon_presence value.
Definition: ncx.c:13615
NCX_NT_STRING
@ NCX_NT_STRING
xmlChar *, error only
Definition: ncxtypes.h:279
cli_parse_raw
status_t cli_parse_raw(int argc, char *argv[], dlq_hdr_t *rawparmQ)
Generate N sets of variable/value pairs for the specified boot-strap CLI parameters.
Definition: cli.c:1212
ncx_clean_typnameQ
void ncx_clean_typnameQ(dlq_hdr_t *que)
Delete all the Q entries, of typname mapping structs.
Definition: ncx.c:6643
ncx_next_identity_base
ncx_identity_base_t * ncx_next_identity_base(ncx_identity_base_t *idbase)
Get the next base record for an identity.
Definition: ncx.c:6018
ncx_get_sethook_registered
boolean ncx_get_sethook_registered(void)
Check if the Set-Hook callbacks were registered.
Definition: ncx.c:14646
ncx_free_filptr
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:6271
ncx_find_identity
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:6082
cfg.h
ncx_ok_skip_deviation_module
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:12798
ncx_feature.h
NCX Module Library YANG Feature Utility Functions.
ncx_get_first_data_object
obj_template_t * ncx_get_first_data_object(ncx_module_t *mod)
Get the first datastore object in the module.
Definition: ncx.c:5169
NCX_BT_INT32
@ NCX_BT_INT32
int32
Definition: ncxtypes.h:209
log_set_syslog_log_level
void log_set_syslog_log_level(log_debug_t dlevel)
Set the syslog log level.
Definition: log.c:3438
yang_data.h
Support for RESTCONF yang-data extension.
ncx_appinfo.h
NCX Module Library Extension (Application Info) Utility Functions.
ncx_free_save_deviations
void ncx_free_save_deviations(ncx_save_deviations_t *savedev)
Free a deviation save struct.
Definition: ncx.c:9699
NCX_CC_EVENT_START
@ NCX_CC_EVENT_START
start event
Definition: ncxtypes.h:1224
XML_PREFIX
#define XML_PREFIX
prefix for XML
Definition: ncxconst.h:219
ncx_add_namespace_to_registry
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:4391
dlq_block_enque
void dlq_block_enque(dlq_hdrT *srcP, dlq_hdrT *dstP)
add all the queue entries in the srcP queue list to the end of the dstP queue list
Definition: dlq.c:731
NCX_CC_EVENT_TIMEOUT
@ NCX_CC_EVENT_TIMEOUT
timeout event
Definition: ncxtypes.h:1226
xml_strncpy
uint32 xml_strncpy(xmlChar *copyTo, const xmlChar *copyFrom, uint32 maxlen)
String copy for xmlChar – checks for buffer overflow.
Definition: xml_util.c:1518
ncx_save_deviation_module
void ncx_save_deviation_module(ncx_module_t *mod)
Save the deviations for the YANG module.
Definition: ncx.c:12778
TK_BKUP
#define TK_BKUP(T)
back-up the current token pointer
Definition: tk.h:112
ncx_first_identity_base
ncx_identity_base_t * ncx_first_identity_base(ncx_identity_t *identity)
Get the first base record for an identity.
Definition: ncx.c:6003
ncx_set_val_protocol_disabled
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:10397
ncx_decode_url_string
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:10822
NCX_BT_CASE
@ NCX_BT_CASE
internal, not a real type
Definition: ncxtypes.h:227
ncx_match_any_object
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:4084
dlq_insertAfter
void dlq_insertAfter(void *newP, void *nodeP)
insert the new queue entry after the current entry
Definition: dlq.c:482
ncx_next_submodule
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:12220
ncx_clear_session_modQ
void ncx_clear_session_modQ(void)
Clear the current session modQ.
Definition: ncx.c:8452
ncx_file_remove
status_t ncx_file_remove(const xmlChar *filespec, boolean do_warn)
Close a file; check result.
Definition: ncx.c:13262
ncx_new_identity_base
ncx_identity_base_t * ncx_new_identity_base(void)
Get a new ncx_identity_base_t struct.
Definition: ncx.c:5964
NCX_BT_BINARY
@ NCX_BT_BINARY
binary (base64)
Definition: ncxtypes.h:218
ncx_get_binary_display_maxlen
uint32 ncx_get_binary_display_maxlen(void)
Get the binary_display_maxlen parameter.
Definition: ncx.c:14697
ncx_need_get2_xpath
boolean ncx_need_get2_xpath(void)
Check if GET2 callback support needed in XPath.
Definition: ncx.c:13652
obj_clr_enable_chk
void obj_clr_enable_chk(obj_template_t *obj)
Force an object to re-evaluate the enable check Will call for all children.
Definition: obj.c:17875
ncx_get_yang_version_str
const xmlChar * ncx_get_yang_version_str(ncx_yang_version_t langver)
Get the yang-version string value for the enum.
Definition: ncx.c:12911
tk_get_token_name
const char * tk_get_token_name(tk_type_t ttyp)
Get the symbolic token name.
Definition: tk.c:3280
xml_strdup
xmlChar * xml_strdup(const xmlChar *copyFrom)
String duplicate for xmlChar.
Definition: xml_util.c:1553
NCX_BAD_DATA_ERROR
@ NCX_BAD_DATA_ERROR
NCX_BAD_DATA_ERROR to prompt user to re-enter value.
Definition: ncxtypes.h:442
ncx_warning_enabled
boolean ncx_warning_enabled(status_t res)
Check if a specific status_t code is enabled.
Definition: ncx.c:9394
ncx_library_mode_ok
boolean ncx_library_mode_ok(const xmlChar *modname, const xmlChar *rpcname)
Check if RPC OK to use in library mode.
Definition: ncx.c:13165
ncx_decode_num
status_t ncx_decode_num(const xmlChar *numstr, ncx_btype_t btyp, ncx_num_t *retnum)
Handle some sort of number string.
Definition: ncx_num.c:1288
obj_is_abstract
boolean obj_is_abstract(const obj_template_t *obj)
Check if object is being used as an object identifier or error-info.
Definition: obj.c:14291
def_reg_find_ns
xmlns_t * def_reg_find_ns(const xmlChar *nsname)
find one xmlns_t in the registry find a xmlns_t by its value (name)
Definition: def_reg.c:397
ncx_prev_backptr
ncx_backptr_t * ncx_prev_backptr(ncx_backptr_t *curptr)
Get previous back pointer struct.
Definition: ncx.c:11561
ncx_free_identity_base
void ncx_free_identity_base(ncx_identity_base_t *identity_base)
Free a malloced ncx_identity_base_t struct.
Definition: ncx.c:5984
E_BAD_REPLY_ADAPT
#define E_BAD_REPLY_ADAPT
handle-bad-reply enumeration values
Definition: ncxconst.h:1642
ncx_find_typname
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:6585
ERR_NCX_WRONG_TKVAL
@ ERR_NCX_WRONG_TKVAL
246
Definition: status_enum.h:285
ncx_consume_name
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:7801
ncx_get_first_data_object_pick
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:5317
ncx_valid_name2
boolean ncx_valid_name2(const xmlChar *str)
Check if an xmlChar string is a valid NCX name.
Definition: ncx.c:7637
ncx_get_mod_prefix
const xmlChar * ncx_get_mod_prefix(const ncx_module_t *mod)
Get the module prefix for the specified module.
Definition: ncx.c:8908
ncx_get_mod_xmlprefix
const xmlChar * ncx_get_mod_xmlprefix(const ncx_module_t *mod)
Get the module XML prefix for the specified module.
Definition: ncx.c:8929
ncx_buffer_to_file
status_t ncx_buffer_to_file(const char *filespec, const xmlChar *inbuff)
Write a buffer to a text file.
Definition: ncx.c:14213
ncx_find_module_que_by_prefix
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:3363
ncx_find_typname_type
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:6615
ERR_NCX_USING_OBSOLETE
@ ERR_NCX_USING_OBSOLETE
344
Definition: status_enum.h:387
xmlns_find_ns_by_prefix
xmlns_id_t xmlns_find_ns_by_prefix(const xmlChar *pfix)
Find the NS ID from its prefix.
Definition: xmlns.c:755
ncx_find_backptr
ncx_backptr_t * ncx_find_backptr(const dlq_hdr_t *que, void *node)
Find the specified back pointer struct.
Definition: ncx.c:11609
ncx_get_protocol_name
const xmlChar * ncx_get_protocol_name(ncx_protocol_t proto)
Get the name string for the protocol.
Definition: ncx.c:10480
ncx_get_mod_nsid
xmlns_id_t ncx_get_mod_nsid(const ncx_module_t *mod)
Get the main module namespace ID.
Definition: ncx.c:4850
ncx_owner_id_t
uint8 ncx_owner_id_t
used as index into the agt_owner registry
Definition: ncxtypes.h:1261
ncx_force_ocpattern_mode
void ncx_force_ocpattern_mode(ncx_module_t *mod)
Force the openconfig pattern mode to TRUE.
Definition: ncx.c:13847
ncx_free_include
void ncx_free_include(ncx_include_t *inc)
Free a ncx_include_t.
Definition: ncx.c:5796
ncx_mod_has_data_nodes
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:10981
ncx_delete_mod_obsolete_objects
void ncx_delete_mod_obsolete_objects(ncx_module_t *mod)
Delete all obsolete objects in mod.
Definition: ncx.c:10576
NCX_MATCH_FIRST_NOCASE
@ NCX_MATCH_FIRST_NOCASE
match all chars case-insensitive, return first match
Definition: ncxtypes.h:534
LOG_DEBUG_DEBUG4
@ LOG_DEBUG_DEBUG4
debug level 4
Definition: log.h:397
ncx_print_errormsg_ex
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:7070
ERR_NCX_DUP_PREFIX
@ ERR_NCX_DUP_PREFIX
1036
Definition: status_enum.h:525
xmlns_init
void xmlns_init(void)
Initialize the module static variables.
Definition: xmlns.c:437
ncx_set_unload_callback
status_t ncx_set_unload_callback(ncx_unload_cbfn_t cbfn)
Set the callback function for an unload-module event.
Definition: ncx.c:8541
ncx_collapse_submod_defs
void ncx_collapse_submod_defs(ncx_module_t *mod)
Collapse submodule definitions into the main module.
Definition: ncx.c:11287
ncx_next_objptr
ncx_backptr_t * ncx_next_objptr(ncx_backptr_t *curptr)
Get the next object pointer.
Definition: ncx.c:12681
ncx_collapse_submodules_ok
boolean ncx_collapse_submodules_ok(void)
Check if it is OK to collapse submodule definitions into the main module.
Definition: ncx.c:11264
ncx_get_next_session_module
ncx_module_t * ncx_get_next_session_module(const ncx_module_t *mod)
Get the next module in the ncx_sesmodQ.
Definition: ncx.c:4816
ERR_NCX_DEF_NOT_FOUND
@ ERR_NCX_DEF_NOT_FOUND
250
Definition: status_enum.h:289
LOG_DEBUG_NONE
@ LOG_DEBUG_NONE
value not set or error
Definition: log.h:386
ncx_file_size
status_t ncx_file_size(const char *filespec, uint32 *siz)
Get a file size.
Definition: ncx.c:14095
log_error
void log_error(const char *fstr,...) __attribute__((format(printf
Generate a new LOG_DEBUG_ERROR log entry.
NCX_LAYER_NONE
@ NCX_LAYER_NONE
not set
Definition: ncxtypes.h:343
obj_is_rpc
boolean obj_is_rpc(const obj_template_t *obj)
Check if the object is an RPC method.
Definition: obj.c:13983
ncx_get_warn_linelen
uint32 ncx_get_warn_linelen(void)
Get the warning length for YANG file lines.
Definition: ncx.c:9176
obj_find_template_top_ex
obj_template_t * obj_find_template_top_ex(ncx_module_t *mod, const xmlChar *modname, const xmlChar *objname, ncx_name_match_t match_names, boolean alt_names, boolean dataonly, status_t *retres)
Check if an obj_template_t in the mod->datadefQ or any of the include files visible to this module.
Definition: obj.c:5870
NCX_MSG_ENCODING_XML
@ NCX_MSG_ENCODING_XML
XML message encoding.
Definition: ncxtypes.h:477
NCX_CVTTYP_SQLDB
@ NCX_CVTTYP_SQLDB
netconfcentral.org dB format
Definition: ncxtypes.h:991
obj_is_leaf_list
boolean obj_is_leaf_list(const obj_template_t *obj)
Check if object is a proper leaf-list.
Definition: obj.c:13336
NCX_WITHDEF_TRIM
@ NCX_WITHDEF_TRIM
trim
Definition: ncxtypes.h:1014
ncx_get_modname
const xmlChar * ncx_get_modname(const ncx_module_t *mod)
Get the main module name.
Definition: ncx.c:4834
ncx_get_handle_badreply_string
const xmlChar * ncx_get_handle_badreply_string(ncx_bad_reply_enum badreply)
Get the string for the specified enum value.
Definition: ncx.c:15286
NCX_BT_BOOLEAN
@ NCX_BT_BOOLEAN
boolean
Definition: ncxtypes.h:206
ncx_set_module_setid
void ncx_set_module_setid(uint32 new_setid)
Update YANG-LIBRARY module set ID.
Definition: ncx.c:13510
ncx_get_warn_idlen
uint32 ncx_get_warn_idlen(void)
Get the warning length for identifiers.
Definition: ncx.c:9142
NCX_CVTTYP_BH
@ NCX_CVTTYP_BH
bundle y_foo.h file
Definition: ncxtypes.h:1005
val.h
Value Node Basic Support.
NCX_WITHDEF_NONE
@ NCX_WITHDEF_NONE
not set
Definition: ncxtypes.h:1011
ncx_get_layer
const xmlChar * ncx_get_layer(ncx_layer_t layer)
Translate ncx_layer_t enum to a string.
Definition: ncx.c:6806
ncx_cleanup
void ncx_cleanup(void)
cleanup NCX module
Definition: ncx.c:3009
NCX_BT_INSTANCE_ID
@ NCX_BT_INSTANCE_ID
instance-identifier
Definition: ncxtypes.h:219
obj_get_mustQ
dlq_hdr_t * obj_get_mustQ(const obj_template_t *obj)
Get the mustQ for this obj.
Definition: obj.c:11312
xml_util.h
XML Utilities.
errmsg_init
status_t errmsg_init(void)
Initialize this module; must be after ext_init!!!
Definition: errmsg.c:217
ipaddr_typ_init
status_t ipaddr_typ_init(void)
Initialize this module; must be after ietf-inet-types module has been loaded.
Definition: ipaddr_typ.c:402
ncx_get_search_modQ_ok
boolean ncx_get_search_modQ_ok(void)
Get the search_modQ_ok flag.
Definition: ncx.c:12554
ncx_get_first_module
ncx_module_t * ncx_get_first_module(void)
Get the first module in the ncx_modQ.
Definition: ncx.c:4729
NCX_BT_IDREF
@ NCX_BT_IDREF
identityref
Definition: ncxtypes.h:222
ncx_get_cvttyp_enum
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:6871
getcb.h
GET1 and GET2 Callback Support.
xmlns_clear_modptrs
void xmlns_clear_modptrs(void *modptr)
Clear the module pointer for the namespace ID.
Definition: xmlns.c:1216
NCX_BT_INTERN
@ NCX_BT_INTERN
not a real type, string buffer for contents
Definition: ncxtypes.h:231
ncx_clean_appinfoQ
void ncx_clean_appinfoQ(dlq_hdr_t *appinfoQ)
Check an initialized appinfoQ for any entries Remove them from the queue and delete them.
Definition: ncx_appinfo.c:723
ncx_get_save_owners
boolean ncx_get_save_owners(void)
Get the save_owners flag.
Definition: ncx.c:15197
TK_CUR_LNUM
#define TK_CUR_LNUM(T)
return the current line number
Definition: tk.h:179
xmlns_unregister_ns
void xmlns_unregister_ns(xmlns_id_t ns_id)
Unregister the specified namespace.
Definition: xmlns.c:525
ncx_set_sethook_registered
void ncx_set_sethook_registered(boolean val)
Set the sethook_registered value.
Definition: ncx.c:14664
ncx_free_module
void ncx_free_module(ncx_module_t *mod)
Free a YANG module.
Definition: ncx.c:3431
NCX_LAYER_OPERATION
@ NCX_LAYER_OPERATION
protocol operation layer
Definition: ncxtypes.h:346
ncx_get_list_deleteall_ok
boolean ncx_get_list_deleteall_ok(void)
Get the list_deleteall_ok flag.
Definition: ncx.c:15078
ncx_set_trim_whitespace
void ncx_set_trim_whitespace(boolean val)
Set the trim_whitespace flag.
Definition: ncx.c:14900
ncx_use_xpath_backptrs
boolean ncx_use_xpath_backptrs(void)
Check if it is OK to use XPath back pointers or not.
Definition: ncx.c:11335
ncx_data_templates_ok
boolean ncx_data_templates_ok(void)
Get the use-data-templates flag.
Definition: ncx.c:12393
ncx_set_yangmap_type
void ncx_set_yangmap_type(ncx_module_t *mod, boolean is_src)
Set the yangmap type flags.
Definition: ncx.c:14460
ERR_NCX_MULTIPLE_MATCHES
@ ERR_NCX_MULTIPLE_MATCHES
381
Definition: status_enum.h:424
ncx_any_dependency_errors
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:3478
ncx_clean_backptrQ
void ncx_clean_backptrQ(dlq_hdr_t *backptrQ)
Clean an entire Q of ncx_backptr_t structs.
Definition: ncx.c:11470
NCX_BT_LEAFREF
@ NCX_BT_LEAFREF
leafref (needs special processing)
Definition: ncxtypes.h:221
log_vendor.h
Logging manager vendor API.
obj_get_mod
ncx_module_t * obj_get_mod(obj_template_t *obj)
Get the module pointer for this object.
Definition: obj.c:12218
NCX_PROTO_NETCONF11
@ NCX_PROTO_NETCONF11
RFC 6241 base:1.1.
Definition: ncxtypes.h:784
tk.h
NCX Syntax Token Handler.
XML_URN
#define XML_URN
URN for XML.
Definition: ncxconst.h:215
ncx_get_session_modQ
dlq_hdr_t * ncx_get_session_modQ(void)
Get the current session modQ.
Definition: ncx.c:8432
yang_top_keyword
boolean yang_top_keyword(const xmlChar *keyword)
Check if the string is a top-level YANG keyword.
Definition: yang.c:3479
runstack_init
void runstack_init(void)
Initialize this module.
Definition: runstack.c:1000
yang_free_stmt
void yang_free_stmt(yang_stmt_t *stmt)
Delete a YANG statement node.
Definition: yang.c:3199
log_debug3
void void void void void void void void void void void log_debug3(const char *fstr,...) __attribute__((format(printf
Generate a new LOG_DEBUG_DEBUG3 log entry.
ncx_inc_warnings
void ncx_inc_warnings(ncx_module_t *mod)
Increment the module warning count for mod.
Definition: ncx.c:10156
ncx_new_revhist
ncx_revhist_t * ncx_new_revhist(void)
Create a revision history entry.
Definition: ncx.c:6302
ncx_num.h
NCX Module Library Number Utility Functions.
NCX_MATCH_FIRST
@ NCX_MATCH_FIRST
match all chars case-insensitive, return first match
Definition: ncxtypes.h:531
ncx_set_top_mandatory_allowed
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:10745
NCX_RF_XML
@ NCX_RF_XML
XML result.
Definition: ncxtypes.h:542
TK_SOURCE_YANG
@ TK_SOURCE_YANG
YANG.
Definition: tk.h:339
ncx_set_handle_badreply
void ncx_set_handle_badreply(ncx_bad_reply_enum enumval)
Set the enum value for the Bad Reply handling option.
Definition: ncx.c:15311
NCX_MAX_LOAD_CALLBACKS
#define NCX_MAX_LOAD_CALLBACKS
max number of moule load event callbacks
Definition: ncxconst.h:139
ncx_check_delete_all_allowed
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:15128
ncx_find_type_que
typ_template_t * ncx_find_type_que(const dlq_hdr_t *typeQ, const xmlChar *typname)
ncx_find_type_que
Definition: ncx.c:3620
NCX_NT_TYP
@ NCX_NT_TYP
typ_template_t
Definition: ncxtypes.h:274
ncx_next_data_node
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:13726
runstack.h
CLI run stack manager.
ncx_free_errmsg
void ncx_free_errmsg(ncx_errmsg_t *msg)
Clean and free an ncx_errmsg_t struct.
Definition: ncx.c:14536
NCX_RF_JSON
@ NCX_RF_JSON
JSON result.
Definition: ncxtypes.h:543
ncx_clean_save_deviationsQ
void ncx_clean_save_deviationsQ(dlq_hdr_t *savedevQ)
Clean a Q of deviation save structs.
Definition: ncx.c:9719
ncx_find_next_data_object
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:4266
ncxmod_set_home
status_t ncxmod_set_home(const xmlChar *home)
Override the HOME env var with the home CLI var.
Definition: ncxmod.c:6111
ncx_clean_iffeatureQ
void ncx_clean_iffeatureQ(dlq_hdr_t *iffeatureQ)
Clean a Q of malloced ncx_iffeature_t struct.
Definition: ncx_feature.c:720
ncx_get_withdefaults_value
int32 ncx_get_withdefaults_value(const xmlChar *withdefstr)
Get the YANG integer value for the enum for the specified string value.
Definition: ncx.c:8876
ncxmod_cleanup
void ncxmod_cleanup(void)
Cleanup the ncxmod module.
Definition: ncxmod.c:4273
ncx_find_all_identities
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:11637
ncx_set_list_deleteall_ok
void ncx_set_list_deleteall_ok(boolean val)
Set the list_deleteall_ok flag.
Definition: ncx.c:15061
ext_clean_extensionQ
void ext_clean_extensionQ(dlq_hdr_t *que)
Clean a queue of ext_template_t structs.
Definition: ext.c:200
yang_patch_init
status_t yang_patch_init(void)
Load the ietf-yang-patch module.
Definition: yang_patch.c:120
ncx_find_type
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:3522
ncx_remove_augment_data_nodes
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:11193
heapcheck_report
void heapcheck_report(boolean use_logger, log_debug_t level, const char *label)
Generate a heap check report.
xml_msg_cleanup
void xml_msg_cleanup(void)
Cleanup this module.
Definition: xml_msg.c:1235
ncx_get_access_enum
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:7474
ERR_NCX_TOO_BIG
@ ERR_NCX_TOO_BIG
259
Definition: status_enum.h:300
ncx_set_mod_hidden
void ncx_set_mod_hidden(ncx_module_t *mod)
Force the module to be hidden from advertisement.
Definition: ncx.c:13117
ncx_clean_mbackptrQ
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:11492
ncx_get_access_str
const xmlChar * ncx_get_access_str(ncx_access_t max_access)
Get the string name of a ncx_access_t enum.
Definition: ncx.c:7452
ncx_next_backptr
ncx_backptr_t * ncx_next_backptr(ncx_backptr_t *curptr)
Get next back pointer struct.
Definition: ncx.c:11545
ncx_file_to_buffer
status_t ncx_file_to_buffer(const char *filespec, xmlChar **outbuff)
Read a text file into a malloced buffer.
Definition: ncx.c:14136
NCX_NT_CFG
@ NCX_NT_CFG
cfg_template_t *, error only
Definition: ncxtypes.h:280
obj_is_external_augment
boolean obj_is_external_augment(obj_template_t *obj)
Check if an object is an external augment.
Definition: obj.c:15942
ncx_get_sil_priority_used
boolean ncx_get_sil_priority_used(void)
Get the sil_priority_used flag.
Definition: ncx.c:12965
ext_init
void ext_init(void)
Init the extension callback handler queue.
Definition: ext.c:419
cli_clean_rawparmQ
void cli_clean_rawparmQ(dlq_hdr_t *parmQ)
Clean and free a Q of raw parm entries.
Definition: cli.c:1109
NCX_NF_HEX
@ NCX_NF_HEX
YANG hexidecimal format.
Definition: ncxtypes.h:336
ncx_get_first_session_module
ncx_module_t * ncx_get_first_session_module(void)
Get the first module in the ncx_sesmodQ.
Definition: ncx.c:4796
log_close
void log_close(void)
Close the logfile.
Definition: log.c:1106
ncx_init_num
void ncx_init_num(ncx_num_t *num)
Init a ncx_num_t struct.
Definition: ncx_num.c:162
NCX_BT_ANYDATA
@ NCX_BT_ANYDATA
YANG 1.1 anydata.
Definition: ncxtypes.h:229
dlq_lastEntry
#define dlq_lastEntry(listP)
get the last entry in the queue list
Definition: dlq.h:352
obj_dict_cleanup
void obj_dict_cleanup(void)
Cleanup the object dictionary.
Definition: obj_dict.c:188
ncxmod_read_num_file
status_t ncxmod_read_num_file(const xmlChar *numfile, uint64 *curnum, boolean file_error)
Read the uint64 file and return the value found Expects full filespec, does not call ncx_get_source!...
Definition: ncxmod.c:8550
ncx_mod_has_submodules
boolean ncx_mod_has_submodules(const ncx_module_t *mod)
Check if this is a main module with submodules.
Definition: ncx.c:15215
ERR_NCX_DUP_ENTRY
@ ERR_NCX_DUP_ENTRY
224
Definition: status_enum.h:263
ncx_is_add_toplevel_default_mode
boolean ncx_is_add_toplevel_default_mode(void)
Get the add_toplevel_default_mode value.
Definition: ncx.c:13926
ncxmod_log_env
void ncxmod_log_env(void)
Report the environment variables used by the running system.
Definition: ncxmod.c:4222
ncx_feature_cleanup
void ncx_feature_cleanup(void)
Cleanup the ncx_feature module.
Definition: ncx_feature.c:425
dump_modQ
void dump_modQ(dlq_hdr_t *modQ)
dump module Q contents [name, revision] for debugging
Definition: ncx.c:10907
ncx_get_mod_ocversion
const xmlChar * ncx_get_mod_ocversion(const ncx_module_t *mod)
Get the module openconfig-version string for the specified module.
Definition: ncx.c:8994
ncxconst.h
Contains NCX constants.
ncxmod.h
NCX Module Load Manager.
NCX_DEF_MSG_INDENT
#define NCX_DEF_MSG_INDENT
default indent amount for protocol message output
Definition: ncxconst.h:444
ncx_get_datapath_obj
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:11691
NCX_PROTO_YUMA_YANGAPI
@ NCX_PROTO_YUMA_YANGAPI
YumaPro YANG-API 1.0.
Definition: ncxtypes.h:785
NCX_PROTO_YUMA_CLI
@ NCX_PROTO_YUMA_CLI
YumaPro Internal CLI 1.0.
Definition: ncxtypes.h:786
ncx_clear_load_callback
void ncx_clear_load_callback(ncx_load_cbfn_t cbfn)
Clear the callback function for a load-module event.
Definition: ncx.c:8510
runstack_cleanup
void runstack_cleanup(void)
Cleanup this module.
Definition: runstack.c:1016
ncx_use_objptrs
boolean ncx_use_objptrs(void)
Get the use_objptrs flag.
Definition: ncx.c:12647
grp_clean_groupingQ
void grp_clean_groupingQ(dlq_hdr_t *que)
Clean a queue of grp_template_t structs.
Definition: grp.c:164
log_vendor_extern_register_send_fn
void log_vendor_extern_register_send_fn(logfn_vendor_send_t new_vendor_logfn)
Register vendor function to accept YumaPro log output stream (mandatory)
Definition: log_vendor_extern.c:94
ncx_get_vtimeout_value
uint32 ncx_get_vtimeout_value(void)
Get the virtual node cache timeout value.
Definition: ncx.c:10021
NCX_DC_CONFIG
@ NCX_DC_CONFIG
persistent config
Definition: ncxtypes.h:192
ncx_check_warn_linelen
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:9238
obj_is_obsolete
boolean obj_is_obsolete(const obj_template_t *obj)
Check if the object has obsolete status.
Definition: obj.c:17094
TK_ADV
#define TK_ADV(T)
advance the current token pointer
Definition: tk.h:107
log_set_log_level
void log_set_log_level(log_debug_t dlevel)
Set the main log level.
Definition: log.c:3395
ses_msg.h
NETCONF Session Message Common definitions module.
ncx_set_warn_error
void ncx_set_warn_error(boolean val)
Set the warn_error flag.
Definition: ncx.c:9374
ncx_print_errormsg
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:7048
ncx_free_revhist
void ncx_free_revhist(ncx_revhist_t *revhist)
Free a revision history entry.
Definition: ncx.c:6322
ERR_FIL_WRITE
@ ERR_FIL_WRITE
103
Definition: status_enum.h:215
TK_CUR_VAL
#define TK_CUR_VAL(T)
return the current token value
Definition: tk.h:128
ncx_set_enum
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:6445
ncx_mod_has_rpcs
boolean ncx_mod_has_rpcs(ncx_module_t *mod)
Check if the module has any RPC operation definitions.
Definition: ncx.c:10937
NCX_MODULE
#define NCX_MODULE
Internal Yuma Extensions module.
Definition: ncxconst.h:80
SES_TYPE
#define SES_TYPE(S)
get the session type
Definition: ses.h:195
heapcheck_release_held_free
void heapcheck_release_held_free(boolean hold)
Internal release held free Do not use.
TK_CUR_LPOS
#define TK_CUR_LPOS(T)
return the current line position
Definition: tk.h:182
NCX_CVTTYP_C
@ NCX_CVTTYP_C
SIL or SIL-SA C file.
Definition: ncxtypes.h:996
ncx_set_ypwatcher_running
void ncx_set_ypwatcher_running(void)
Set the ypwatcher running flag.
Definition: ncx.c:14813
NCX_NF_DEC
@ NCX_NF_DEC
YANG deciaml format.
Definition: ncxtypes.h:335
NCX_CVTTYP_YANG
@ NCX_CVTTYP_YANG
canonical YANG (not supported)
Definition: ncxtypes.h:993
NCX_BT_UINT8
@ NCX_BT_UINT8
uint8
Definition: ncxtypes.h:211
ncx_first_objptr
ncx_backptr_t * ncx_first_objptr(void)
Get the first object pointer.
Definition: ncx.c:12662
obj_is_list
boolean obj_is_list(const obj_template_t *obj)
Check if object is a YANG list.
Definition: obj.c:13349
NCX_CVTTYP_UH
@ NCX_CVTTYP_UH
split u_foo.h file
Definition: ncxtypes.h:1002
NCX_CVTTYP_BC
@ NCX_CVTTYP_BC
bundle y_foo.c file
Definition: ncxtypes.h:1004
dlq_insertAhead
void dlq_insertAhead(void *newP, void *nodeP)
insert the new queue entry before the current entry
Definition: dlq.c:447
version.h
NCX Release Train Version. Contains the current Yuma version ID.
NCX_WITHDEF_REPORT_ALL
@ NCX_WITHDEF_REPORT_ALL
report-all
Definition: ncxtypes.h:1012
NCX_CC_EVENT_CANCEL
@ NCX_CC_EVENT_CANCEL
cancel event
Definition: ncxtypes.h:1225
xmlns_get_module
const xmlChar * xmlns_get_module(xmlns_id_t nsid)
get the module name of the namespace ID
Definition: xmlns.c:1126
ncx_set_warn_linelen
void ncx_set_warn_linelen(uint32 warnlen)
Set the warning length for YANG file lines.
Definition: ncx.c:9159
xmlns_id_t
uint16 xmlns_id_t
integer handle for registered namespaces
Definition: xmlns.h:89
log_info
void void void void void log_info(const char *fstr,...) __attribute__((format(printf
Generate a new LOG_DEBUG_INFO log entry.
ncx_valid_fname_ch
boolean ncx_valid_fname_ch(uint32 ch)
Check if an xmlChar is a valid NCX name string first char.
Definition: ncx.c:7573
ERR_NCX_ENTRY_EXISTS
@ ERR_NCX_ENTRY_EXISTS
223
Definition: status_enum.h:262
ERR_LAST_USR_ERR
@ ERR_LAST_USR_ERR
438 – not really used
Definition: status_enum.h:486
NCX_ACCESS_RC
@ NCX_ACCESS_RC
read-create (all access)
Definition: ncxtypes.h:178
NCX_CVTTYP_COPY
@ NCX_CVTTYP_COPY
copy with new name
Definition: ncxtypes.h:994
NCX_LAYER_RPC
@ NCX_LAYER_RPC
RPC operation layer.
Definition: ncxtypes.h:345
ncx_import_match_mod
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:5696
ncx_warning_elevated
boolean ncx_warning_elevated(status_t res)
Check if a specific status_t code is elevated.
Definition: ncx.c:9439
ncx_locate_modqual_import
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:5748
NCX_CC_EVENT_COMPLETE
@ NCX_CC_EVENT_COMPLETE
CC complete event.
Definition: ncxtypes.h:1228
ERR_NCX_MISSING_PARM
@ ERR_NCX_MISSING_PARM
233
Definition: status_enum.h:272
log_debug2
void void void void void void void void void log_debug2(const char *fstr,...) __attribute__((format(printf
Generate a new LOG_DEBUG_DEBUG2 log entry.
ncx_prefix_different
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:8709
obj_is_notif
boolean obj_is_notif(const obj_template_t *obj)
Check if the object is a notification.
Definition: obj.c:14083
ncx_first_deviation_module
ncx_module_t * ncx_first_deviation_module(void)
Get the first deviation module.
Definition: ncx.c:14008
ncx_set_obj_xpath_backptrs
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:11381
ncx_check_any_object_nolock_get
boolean ncx_check_any_object_nolock_get(const xmlChar *objname)
Check if the object name will match any config=true nodes.
Definition: ncx.c:14573
ncx_find_pre_import_test
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:5668
NCX_MIN_MAX_STRLEN
#define NCX_MIN_MAX_STRLEN
support max-strlen parameter for server; other programs use the default only
Definition: ncxconst.h:364
def_reg.h
Definition Registry module.
NCX_DISPLAY_MODE_NONE
@ NCX_DISPLAY_MODE_NONE
not set
Definition: ncxtypes.h:448
errno_to_status
status_t errno_to_status(void)
Get the errno variable and convert it to a status_t.
Definition: status.c:968
ncx_get_module_setid
uint32 ncx_get_module_setid(void)
GET YANG-LIBRARY module set ID.
Definition: ncx.c:13528
ncx_set_bestmatch
status_t ncx_set_bestmatch(void)
Setup the bestmatch module versions, if enabled.
Definition: ncx.c:14060
ncx_is_yangmap_type
boolean ncx_is_yangmap_type(ncx_module_t *mod, boolean is_src)
Check the yangmap type flags.
Definition: ncx.c:14485
ncx_find_module_ex
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:3258
NCX_BT_ENUM
@ NCX_BT_ENUM
enumeration
Definition: ncxtypes.h:204
NO_ERR
@ NO_ERR
000
Definition: status_enum.h:188
ncx_compare_enums
int32 ncx_compare_enums(const ncx_enum_t *enu1, const ncx_enum_t *enu2)
Compare 2 enum values.
Definition: ncx.c:6422
ncx_file_copy
status_t ncx_file_copy(const xmlChar *src_filespec, const xmlChar *dst_filespec)
Copy a file; check result.
Definition: ncx.c:13328
NCX_BT_LIST
@ NCX_BT_LIST
internal, YANG list
Definition: ncxtypes.h:228
ncxmod_init
status_t ncxmod_init(void)
Initialize the ncxmod module.
Definition: ncxmod.c:4087
ncx_get_gen_anyxml
obj_template_t * ncx_get_gen_anyxml(void)
Get the object template for the NCX generic anyxml container.
Definition: ncx.c:6664
log_vendor_extern.h
Logging manager vendor API registration.
ncx_set_system_sorted
void ncx_set_system_sorted(boolean val)
Set the system_sorted value.
Definition: ncx.c:10140
NCX_EL_DASHDASH
#define NCX_EL_DASHDASH
NCX and NETCONF element and attribute names.
Definition: ncxconst.h:600
ncx_check_yang_status
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:6979
ncx_clean_list
void ncx_clean_list(ncx_list_t *list)
Scrub the memory of a ncx_list_t but do not delete it.
Definition: ncx_list.c:139
ncx_any_mod_errors
boolean ncx_any_mod_errors(void)
Check if any of the loaded modules are loaded with non-fatal errors.
Definition: ncx.c:3451
TK_TT_RBRACE
@ TK_TT_RBRACE
right brace '}'
Definition: tk.h:287
NCX_CL_SIMPLE
@ NCX_CL_SIMPLE
a restriction of a base type
Definition: ncxtypes.h:245
ncx_set_save_owners
void ncx_set_save_owners(boolean val)
Set the save_owners flag.
Definition: ncx.c:15180
NCX_PROTO_RESTCONF
@ NCX_PROTO_RESTCONF
IETF RESTCONF.
Definition: ncxtypes.h:788
ncx_add_ydtrace
status_t ncx_add_ydtrace(const xmlChar *fspec)
Add the filespec of a yangdump file being processed.
Definition: ncx.c:12335
NC_MODULE
#define NC_MODULE
Internal NETCONF YANG module.
Definition: ncxconst.h:71
ncx_get_message_indent
int8 ncx_get_message_indent(void)
Get the protoco9l output indent amount.
Definition: ncx.c:10775
NCX_DEF_VTIMEOUT
#define NCX_DEF_VTIMEOUT
default virtual value cache timeout value in seconds use 0 to disable the cache and refresh a virtual...
Definition: ncxconst.h:451
NCX_BT_UINT64
@ NCX_BT_UINT64
uint64
Definition: ncxtypes.h:214
ncx_yang_obj_cbfn_t
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:1173
ncx_get_ypwatcher_running
boolean ncx_get_ypwatcher_running(void)
Get the ypwatcher running flag.
Definition: ncx.c:14829
ncx_get_yang_version
ncx_yang_version_t ncx_get_yang_version(const ncx_module_t *mod)
Get the yang-version used in the module.
Definition: ncx.c:12937
NCX_MATCH_ONE
@ NCX_MATCH_ONE
match all chars if only 1 match
Definition: ncxtypes.h:525
ncx_set_ocpattern_mode
void ncx_set_ocpattern_mode(ncx_module_t *mod, boolean mode)
Set the openconfig pattern mode.
Definition: ncx.c:13823
ncx_get_first_object_ex
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:4975
ncx_get_modsource
const xmlChar * ncx_get_modsource(const ncx_module_t *mod)
Get the module filespec source string.
Definition: ncx.c:4916
ERR_NCX_WRONG_TKTYPE
@ ERR_NCX_WRONG_TKTYPE
245
Definition: status_enum.h:284
ERR_NCX_MOD_NOT_FOUND
@ ERR_NCX_MOD_NOT_FOUND
236
Definition: status_enum.h:275
NCX_MAX_NLEN
#define NCX_MAX_NLEN
all name fields in YANG can be 1 to N bytes set a limit based on likely malloc failure CHANGE TO MATC...
Definition: ncxconst.h:149
NCX_SES_EVENT_END
@ NCX_SES_EVENT_END
session ended event
Definition: ncxtypes.h:1412
xml_strndup
xmlChar * xml_strndup(const xmlChar *copyFrom, uint32 maxlen)
String duplicate for max N xmlChars.
Definition: xml_util.c:1663
ERR_NCX_USING_DEPRECATED
@ ERR_NCX_USING_DEPRECATED
1027
Definition: status_enum.h:516
NCX_CVTTYP_CPP_TEST
@ NCX_CVTTYP_CPP_TEST
obsolete; not used
Definition: ncxtypes.h:997
yang_clean_nodeQ
void yang_clean_nodeQ(dlq_hdr_t *que)
Delete all the node entries in a YANG parser node Q.
Definition: yang.c:2745
ncx_consume_token
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:7901
ncxmod_write_num_file
status_t ncxmod_write_num_file(const xmlChar *numfile, uint64 curnum)
Write the number file with the supplied value Expects full filespec, does not call ncx_get_source!...
Definition: ncxmod.c:8630
ncx_get_fixed_value_obj
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:11724
ncx_set_search_modQ_ok
void ncx_set_search_modQ_ok(void)
Set the search_modQ_ok flag to TRUE.
Definition: ncx.c:12542
NCX_BAD_DATA_IGNORE
@ NCX_BAD_DATA_IGNORE
NCX_BAD_DATA_IGNORE to silently accept invalid input values.
Definition: ncxtypes.h:433
ncx_get_temp_modQ
dlq_hdr_t * ncx_get_temp_modQ(void)
Get the temp_modQ for yangcli session-specific module list.
Definition: ncx.c:9786
log_debug4
void void void void void void void void void void void void void log_debug4(const char *fstr,...) __attribute__((format(printf
Generate a new LOG_DEBUG_DEBUG4 log entry.
obj_get_name
const xmlChar * obj_get_name(const obj_template_t *obj)
Get the name field for this obj.
Definition: obj.c:10511
ncx_find_grouping_que
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:3746
ERR_NCX_OPERATION_FAILED
@ ERR_NCX_OPERATION_FAILED
274
Definition: status_enum.h:315
NCX_WITHDEF_REPORT_ALL_TAGGED
@ NCX_WITHDEF_REPORT_ALL_TAGGED
report-all-tagged
Definition: ncxtypes.h:1013
ncx_set_protocol_disabled
void ncx_set_protocol_disabled(ncx_protocol_t proto)
Set the specified protocol version to be disabled.
Definition: ncx.c:10312
NCX_CVTTYP_HTML
@ NCX_CVTTYP_HTML
netconfcentral WEB page format
Definition: ncxtypes.h:992
NCX_CVTTYP_YIN
@ NCX_CVTTYP_YIN
YIN format.
Definition: ncxtypes.h:998
NC_WD_ATTR_URN
#define NC_WD_ATTR_URN
URN for with-defaults 'default' XML attribute.
Definition: ncxconst.h:189
ncx_first_data_node
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:13668
ncx_find_object
obj_template_t * ncx_find_object(ncx_module_t *mod, const xmlChar *objname)
Find a top level module object.
Definition: ncx.c:4345
LOGDEBUG2
#define LOGDEBUG2
Check if at least log-level=debug2.
Definition: log.h:292
log_set_pthread_log_level
void log_set_pthread_log_level(log_debug_t dlevel)
Set the pthreads log level.
Definition: log.c:3470
ncx_get_allincQ
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:9945
ncx_errinfo_set
boolean ncx_errinfo_set(const ncx_errinfo_t *errinfo)
Check if error-app-tag or error-message set.
Definition: ncx.c:8071
xmlns_xsi_id
xmlns_id_t xmlns_xsi_id(void)
Get the ID for the XSD Instance (XSI) namespace or 0 if it doesn't exist.
Definition: xmlns.c:964
dlq_createSQue
void dlq_createSQue(dlq_hdrT *queAddr)
create a static queue header
Definition: dlq.c:177
log_open
status_t log_open(const char *fname, boolean append, boolean tstamps)
Open a logfile for writing.
Definition: log.c:1088
log_warn
void void void log_warn(const char *fstr,...) __attribute__((format(printf
Generate a new LOG_DEBUG_WARN log entry.
ERR_INTERNAL_VAL
@ ERR_INTERNAL_VAL
004
Definition: status_enum.h:194
NCX_ACCESS_NONE
@ NCX_ACCESS_NONE
enum not explicitly set
Definition: ncxtypes.h:175
status_cleanup
void status_cleanup(void)
Cleanup this module.
Definition: status.c:1033
ncx_set_mod_ocversion
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:9015
ncx_mod_has_augment_data_nodes
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:11082
heapchk.h
Internal Heap Checking Utilities.
xmlns_find_ns_by_module
xmlns_id_t xmlns_find_ns_by_module(const xmlChar *modname)
Find the NS ID from its module name that registered it.
Definition: xmlns.c:712
ncx_find_pre_import_que
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:5638
ncx_valid_name
boolean ncx_valid_name(const xmlChar *str, uint32 len)
Check if an xmlChar string is a valid YANG identifier value.
Definition: ncx.c:7596
YUMAPRO_VERSION
#define YUMAPRO_VERSION
YumaPro Release Train version string.
Definition: version.h:62
ncx_modname_is_ocpattern
boolean ncx_modname_is_ocpattern(const xmlChar *modname)
Check if the module name is an openconfig file.
Definition: ncx.c:13888
LOG_DEBUG_WARN
@ LOG_DEBUG_WARN
all errors + warnings
Definition: log.h:391
ncx_identity_cbfn_t
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:1257
ncx_match_any_object_ex
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:4171
dlq_remove
void dlq_remove(void *nodeP)
remove the queue entry from its queue list entry MUST have been enqueued somehow before this function...
Definition: dlq.c:519
ncx_compare_bits
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:6514
obj_set_dup_local
void obj_set_dup_local(obj_template_t *obj)
Flag the object as one that has a duplicate sibling with the same local-name and different module nam...
Definition: obj.c:16833
ncx_get_progname
const char * ncx_get_progname(void)
Get the progname buffer.
Definition: ncx.c:13993
LOGWARN
#define LOGWARN
Check if at least log-level=warn.
Definition: log.h:274
ncx_get_status_string
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:6951
ncxmod_get_pid_filespec
xmlChar * ncxmod_get_pid_filespec(const xmlChar *progname, boolean fileloc_fhs, status_t *res)
Get the PID file specification for the given program name.
Definition: ncxmod.c:8433
ncx_add_to_modQ
status_t ncx_add_to_modQ(ncx_module_t *mod, dlq_hdr_t *modQ)
Add module to the current module Q.
Definition: ncx.c:4678
ncx_get_baddata_string
const xmlChar * ncx_get_baddata_string(ncx_bad_data_t baddata)
Get the string for the specified enum value.
Definition: ncx.c:8776
yang_patch_cleanup
void yang_patch_cleanup(void)
Cleanup the yang_patch module.
Definition: yang_patch.c:141
ncx_new_errinfo
ncx_errinfo_t * ncx_new_errinfo(void)
Malloc and init a new ncx_errinfo_t.
Definition: ncx.c:7978
ncxmod_set_yuma_home
status_t ncxmod_set_yuma_home(const xmlChar *yumahome)
Override the YUMAPRO_HOME env var with the yuma-home CLI var.
Definition: ncxmod.c:6194
ncx_get_with_canonical
boolean ncx_get_with_canonical(void)
Get the with_canonical flag.
Definition: ncx.c:15166
xmlns_free_qname
void xmlns_free_qname(xmlns_qname_t *qname)
free a xmlns_qname_t struct
Definition: xmlns.c:1334
log_vendor_test_send_to_syslog
void log_vendor_test_send_to_syslog(log_debug_app_t app, log_debug_t level, const char *fstr, va_list args)
Pass vendor log data to syslog, but pretend to be a vendor callback.
Definition: log_vendor.c:156
ncx_find_module_que_nsid
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:3397
ERR_NCX_LINELEN_EXCEEDED
@ ERR_NCX_LINELEN_EXCEEDED
1038
Definition: status_enum.h:527
getcb_clean_get2_lookupQ
void getcb_clean_get2_lookupQ(dlq_hdr_t *lookupQ)
Clean a queue of getcb_get2_lookup_t.
Definition: getcb.c:7934
ncx_cvt_encoding_enum
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:12830
ncx_get_identity_nsid
xmlns_id_t ncx_get_identity_nsid(const ncx_identity_t *identity)
Get the namespace ID for an identity.
Definition: ncx.c:6202
NCX_CL_COMPLEX
@ NCX_CL_COMPLEX
a complex type
Definition: ncxtypes.h:246
ncx_find_ydtrace
boolean ncx_find_ydtrace(const xmlChar *fspec)
Find the filespec of a yangdump file being processed.
Definition: ncx.c:12361
ncx_get_gen_container
obj_template_t * ncx_get_gen_container(void)
Get the object template for the NCX generic container.
Definition: ncx.c:6678
ncx_get_feature_code
status_t ncx_get_feature_code(xmlChar *buffer, uint32 buffsize)
Get the the Feature Code String.
Definition: ncx.c:9478
obj_next_child_augok
obj_template_t * obj_next_child_augok(obj_template_t *obj)
Get the next child object if the specified object has any children; return augment,...
Definition: obj.c:7007
ncx_number_all_objects
void ncx_number_all_objects(ncx_module_t *mod)
Number all objects for internal ordering comparisons.
Definition: ncx.c:13025
ncx_invoke_yang_obj_callbacks
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:8678
NCX_BT_INT64
@ NCX_BT_INT64
int64
Definition: ncxtypes.h:210
NCX_MSG_ENCODING_JSON
@ NCX_MSG_ENCODING_JSON
JSON message encoding.
Definition: ncxtypes.h:480
ncx_set_load_callback
status_t ncx_set_load_callback(ncx_load_cbfn_t cbfn)
Set the callback function for a load-module event.
Definition: ncx.c:8472
obj_is_rpcio
boolean obj_is_rpcio(const obj_template_t *obj)
Check if the object is an RPC IO node.
Definition: obj.c:13996
ERR_NCX_INVALID_VALUE
@ ERR_NCX_INVALID_VALUE
258
Definition: status_enum.h:299
NCX_CVTTYP_TG2
@ NCX_CVTTYP_TG2
turbogears2 (not supported)
Definition: ncxtypes.h:999
ncxmod_get_envvar
const xmlChar * ncxmod_get_envvar(const xmlChar *name, uint32 namelen)
Get the specified shell environment variable.
Definition: ncxmod.c:6586
ncx_is_true
boolean ncx_is_true(const xmlChar *str)
Check if an xmlChar string is a string OK for XSD boolean.
Definition: ncx.c:7691
ncx_get_btype_obj
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:11757
ncx_clean_binary
void ncx_clean_binary(ncx_binary_t *binary)
Scrub the memory of a ncx_binary_t but do not delete it.
Definition: ncx.c:5897
obj_next_child
obj_template_t * obj_next_child(obj_template_t *obj)
Get the next child object if the specified object has any children.
Definition: obj.c:6860
NCX_NT_QNAME
@ NCX_NT_QNAME
xmlns_qname_t *, error only
Definition: ncxtypes.h:282
ncx_find_import_test
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:5591
ncx_skip_child_node_warn
boolean ncx_skip_child_node_warn(const xmlChar *modname)
Internal compiler check to suppress warnings.
Definition: ncx.c:14250
ncxmod_setup_fhs_dirs
status_t ncxmod_setup_fhs_dirs(void)
Setup the following FHS location server directories if they do not already exist.
Definition: ncxmod.c:7297
E_BAD_DATA_IGNORE
#define E_BAD_DATA_IGNORE
bad-data enumeration values
Definition: ncxconst.h:1636
ncx_clean_enum
void ncx_clean_enum(ncx_enum_t *enu)
Scrub the memory of a ncx_enum_t but do not delete it.
Definition: ncx.c:6399
obj_free_template
void obj_free_template(obj_template_t *obj)
Scrub the memory in a obj_template_t by freeing all the sub-fields and then freeing the entire struct...
Definition: obj.c:5531
NCX_CL_NONE
@ NCX_CL_NONE
not set
Definition: ncxtypes.h:243
NCX_BT_EMPTY
@ NCX_BT_EMPTY
empty
Definition: ncxtypes.h:205
ncx_get_display_mode_enum
ncx_display_mode_t ncx_get_display_mode_enum(const xmlChar *dmstr)
Get the enum for the specified string value.
Definition: ncx.c:9052
NCX_BT_UINT16
@ NCX_BT_UINT16
uint16
Definition: ncxtypes.h:212
rpc.h
NETCONF protocol remote procedure call common definitions.
ncx_get_next_module_all
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:4779
ncx_free_feature
void ncx_free_feature(ncx_feature_t *feature)
Free a malloced ncx_feature_t struct.
Definition: ncx_feature.c:823
ncx_check_startup_prune
boolean ncx_check_startup_prune(ses_cb_t *scb)
Check if the namespace error can be skipped.
Definition: ncx.c:15000
ncx_set_with_ocpattern
void ncx_set_with_ocpattern(boolean mode)
Set the openconfig pattern mode for the entire system.
Definition: ncx.c:13911
ERR_INTERNAL_MEM
@ ERR_INTERNAL_MEM
003
Definition: status_enum.h:193
ncx_check_warn_idlen
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:9198
xml_strncmp
int xml_strncmp(const xmlChar *s1, const xmlChar *s2, uint32 maxlen)
String compare for xmlChar for at most 'maxlen' xmlChars.
Definition: xml_util.c:1824
NCX_DISPLAY_MODE_XML_NONS
@ NCX_DISPLAY_MODE_XML_NONS
XML display mode without any prefixes (not compliant XML!)
Definition: ncxtypes.h:463
ncx_get_identity_conditional
boolean ncx_get_identity_conditional(const ncx_identity_t *identity)
Check if the identity is conditional on if-feature.
Definition: ncx.c:6217
ncx_mod_is_hidden
boolean ncx_mod_is_hidden(const ncx_module_t *mod)
Check if the module is forced no advertise (e.g.
Definition: ncx.c:13104
log_cleanup
void log_cleanup(boolean phase2, boolean debugs)
Final logger cleanup prior to restart or shutdown.
Definition: log.c:544
SES_TYP_DUMMY
@ SES_TYP_DUMMY
internal session for rollback, etc.
Definition: ses.h:321
NCX_DISPLAY_MODE_CLI
@ NCX_DISPLAY_MODE_CLI
yangcli-pro CLI mode
Definition: ncxtypes.h:469
support_save.h
Support Save operation handler.
ncx_feature_init
void ncx_feature_init(void)
Init the ncx_feature module.
Definition: ncx_feature.c:399
ncx_ok_for_inline_data
boolean ncx_ok_for_inline_data(obj_template_t *obj)
Check if the object is OK for inline data.
Definition: ncx.c:14405
ncx_need_modchecks
boolean ncx_need_modchecks(const xmlChar *modname)
Check if xpath_backptr and obj commit tests needed.
Definition: ncx.c:13485
NCX_DEF_MAX_STRLEN
#define NCX_DEF_MAX_STRLEN
default max strlen
Definition: ncxconst.h:370
LOG_DEBUG_WRITE
@ LOG_DEBUG_WRITE
logging turned on
Definition: log.h:388
ncx_get_leaflist_deleteall_ok
boolean ncx_get_leaflist_deleteall_ok(void)
Get the leaflist_deleteall_ok flag.
Definition: ncx.c:15109
ncx_consume_tstring
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:7745
ncx_get_modversion
const xmlChar * ncx_get_modversion(const ncx_module_t *mod)
Get the [sub]module version.
Definition: ncx.c:4871
get_error_string
const char * get_error_string(status_t res)
Get the error message for a specific internal error.
Definition: status.c:239
ncx_get_temp_filespec
status_t ncx_get_temp_filespec(xmlChar *buff, uint32 bufflen, const xmlChar *rootpart, const xmlChar *ext)
Generate a temporary filespec.
Definition: ncx.c:14349
ncx_load_cbfn_t
void(* ncx_load_cbfn_t)(ncx_module_t *mod)
user function callback template when a module is loaded into the system
Definition: ncxtypes.h:1139
ERR_INTERNAL_PTR
@ ERR_INTERNAL_PTR
002
Definition: status_enum.h:192
ncx_obj_is_generic
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:13013
NCX_NT_GRP
@ NCX_NT_GRP
grp_template_t
Definition: ncxtypes.h:275
getcb_free_get2cb
void getcb_free_get2cb(getcb_get2_t *get2cb)
Clean and free a malloced GET2 control block.
Definition: getcb.c:5694
yang.h
YANG Module parser utilities.
ncx_clear_yang_obj_callback
void ncx_clear_yang_obj_callback(ncx_yang_obj_cbfn_t cbfn)
Clear the callback function for a parse-object event.
Definition: ncx.c:8649
NCX_BT_CONTAINER
@ NCX_BT_CONTAINER
internal container
Definition: ncxtypes.h:225
log_debug
void void void void void void void log_debug(const char *fstr,...) __attribute__((format(printf
Generate a new LOG_DEBUG_DEBUG log entry.
ncx_clean_errinfo
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:8015
support_save_init2
status_t support_save_init2(void)
Load the yumaworks-support-save module (phase 2)
Definition: support_save.c:250
typ.h
Parameter Type Handler.
ncxmod_set_modpath
void ncxmod_set_modpath(const xmlChar *modpath)
Override the YUMAPRO_MODPATH env var with the modpath CLI var.
Definition: ncxmod.c:6281
errmsg.h
Handles the following YANG extensions.
ncx_new_errmsg
ncx_errmsg_t * ncx_new_errmsg(status_t res, const xmlChar *str)
Malloc and init an ncx_errmsg_t struct.
Definition: ncx.c:14512
ncx_protocol_enabled
boolean ncx_protocol_enabled(ncx_protocol_t proto)
Check if the specified protocol version is enabled.
Definition: ncx.c:10192
ncx_sprintf_module_setid
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:13551
NCX_BAD_REPLY_PRUNE
@ NCX_BAD_REPLY_PRUNE
prune failing node(s)
Definition: ncxtypes.h:1467
ncx_get_system_sorted
boolean ncx_get_system_sorted(void)
Get the system_sorted value.
Definition: ncx.c:10122
ncx_ignore_missing_vars
void ncx_ignore_missing_vars(boolean enabled)
Set the ignore-missing-vars flag.
Definition: ncx.c:12406
obj_set_xpath_backptrs
status_t obj_set_xpath_backptrs(obj_template_t *obj)
Check a top-level data node and all its descendants to see if they have any XPath expressions that ne...
Definition: obj.c:16491
yang_data_cleanup
void yang_data_cleanup(void)
Cleanup this module.
Definition: yang_data.c:414
YANG_MODULE
#define YANG_MODULE
yang attributes module
Definition: yangconst.h:70
yang_clean_import_ptrQ
void yang_clean_import_ptrQ(dlq_hdr_t *que)
Delete all the node entries in a YANG import pointer node Q.
Definition: yang.c:3633
NCX_BAD_DATA_NONE
@ NCX_BAD_DATA_NONE
not set
Definition: ncxtypes.h:430
ncx_get_name_segment
const xmlChar * ncx_get_name_segment(const xmlChar *str, xmlChar *buff, uint32 buffsize)
Get the name string between the dots.
Definition: ncx.c:6836
NCX_MSG_ENCODING_NONE
@ NCX_MSG_ENCODING_NONE
not set
Definition: ncxtypes.h:474
yangconst.h
Contains YANG constants separated to prevent H file include loops.
INVALID_URN
#define INVALID_URN
name used for invalid namespace
Definition: ncxconst.h:130
obj_get_config_flag
boolean obj_get_config_flag(const obj_template_t *obj)
Get the config flag for an obj_template_t Return the explicit value or the inherited value Also retur...
Definition: obj.c:11174
ncx_is_with_snmp
boolean ncx_is_with_snmp(void)
Get the with_snmp value.
Definition: ncx.c:13958
obj_is_anydata
boolean obj_is_anydata(const obj_template_t *obj)
Check if object is an anydata.
Definition: obj.c:13284
log_write
void void void log_write(const char *fstr,...) __attribute__((format(printf
Write a new entry to the main log.
obj_is_case
boolean obj_is_case(const obj_template_t *obj)
Check if object is a YANG case.
Definition: obj.c:13445
dlq_prevEntry
#define dlq_prevEntry(nodeP)
get the previous queue entry before the current entry
Definition: dlq.h:280
top_init
void top_init(void)
Initialize the Top Elelment Handler.
Definition: top.c:159
ncx_get_status_enum
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:6925
obj_delete_obsolete
void obj_delete_obsolete(dlq_hdr_t *objQ)
Delete any obsolete child nodes within the specified object subtree.
Definition: obj.c:15814
NCX_STATUS_CURRENT
@ NCX_STATUS_CURRENT
current (default)
Definition: ncxtypes.h:420
yang_patch.h
YANG Patch Media Type.
obj_find_template_top
obj_template_t * obj_find_template_top(ncx_module_t *mod, const xmlChar *modname, const xmlChar *objname)
Check if an obj_template_t in the mod->datadefQ or any of the include files visible to this module.
Definition: obj.c:5826
NCX_LAYER_TRANSPORT
@ NCX_LAYER_TRANSPORT
transport layer
Definition: ncxtypes.h:344
dlq_nextEntry
#define dlq_nextEntry(nodeP)
get the next queue entry after the current entry
Definition: dlq.h:265
ncx_set_yang_obj_callback
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:8610
ncx_txid2str
status_t ncx_txid2str(ncx_transaction_id_t *txid, xmlChar **retbuff)
Convert a transaction ID to a string.
Definition: ncx.c:12159
ncx_cvt_encoding_str
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:12861
ncx_get_secondary_sil_priority_used
boolean ncx_get_secondary_sil_priority_used(void)
Get the secondary_sil_priority_used flag.
Definition: ncx.c:13000
ERR_NCX_INVALID_NAME
@ ERR_NCX_INVALID_NAME
228
Definition: status_enum.h:267
ncx_free_node
void ncx_free_node(ncx_node_t nodetyp, void *node)
Delete a node based on its type.
Definition: ncx.c:7352
yang_find_node
yang_node_t * yang_find_node(const dlq_hdr_t *que, const xmlChar *name, const xmlChar *revision)
Find a YANG parser node in the specified Q.
Definition: yang.c:2778
ncx_get_protocols_enabled
const xmlChar * ncx_get_protocols_enabled(uint16 flags)
Get the string for the NETCONF protocols enabled in the flags.
Definition: ncx.c:10440
ncx_get_gen_root
obj_template_t * ncx_get_gen_root(void)
Get the object template for the NCX generic root container.
Definition: ncx.c:6720
ncx_find_any_object_que
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:4313
LOG_DEBUG_DEBUG2
@ LOG_DEBUG_DEBUG2
debug level 2
Definition: log.h:395
obj_clean_datadefQ
void obj_clean_datadefQ(dlq_hdr_t *que)
Clean and free all the obj_template_t structs in the specified Q.
Definition: obj.c:8148
ncx_get_const_allincQ
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:9970
NCX_PROTO_YCONTROL
@ NCX_PROTO_YCONTROL
YumaPro Internal Control 1.0.
Definition: ncxtypes.h:787
ncx_find_save_deviations
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:12743
ncx_last_backptr
ncx_backptr_t * ncx_last_backptr(dlq_hdr_t *que)
Get last back pointer struct.
Definition: ncx.c:11529
ncx_reset_modQ
void ncx_reset_modQ(void)
Set the current module Q to the original ncx_modQ.
Definition: ncx.c:8394
ncx_add_to_registry
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:4568
obj_find_template
obj_template_t * obj_find_template(dlq_hdr_t *que, const xmlChar *modname, const xmlChar *objname)
Find an object with the specified name.
Definition: obj.c:5678
ncx_new_modcache
ncx_modcache_t * ncx_new_modcache(const xmlChar *modname, boolean hidemod)
New ncx_modcache_t record.
Definition: ncx.c:14298
NCX_CVTTYP_SQL
@ NCX_CVTTYP_SQL
SQL format (not supported)
Definition: ncxtypes.h:990
LOG_DEBUG_DEV1
@ LOG_DEBUG_DEV1
Special use developer debugging only.
Definition: log.h:393
ncx_get_gen_leaflist
obj_template_t * ncx_get_gen_leaflist(void)
Get the object template for the NCX generic leaf-list string.
Definition: ncx.c:6750
ncx_get_display_mode_str
const xmlChar * ncx_get_display_mode_str(ncx_display_mode_t dmode)
Get the string for the specified enum value.
Definition: ncx.c:9090
TK_TT_SEMICOL
@ TK_TT_SEMICOL
semi-colon ';'
Definition: tk.h:288
ncx_init_errinfo
void ncx_init_errinfo(ncx_errinfo_t *err)
Init the fields in an ncx_errinfo_t struct.
Definition: ncx.c:7998
ncx_file_buffcopy
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:13432
support_save_init
status_t support_save_init(void)
Load the yumaworks-support-save module.
Definition: support_save.c:210
ncx_first_submodule
ncx_module_t * ncx_first_submodule(ncx_module_t *mod)
Get the first submodule in the specified main module.
Definition: ncx.c:12188
ncx_set_error
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:9746
ncx_get_btyp_string
const xmlChar * ncx_get_btyp_string(ncx_btype_t btyp)
Get the enumeration string to the base type enum.
Definition: ncx.c:12255
obj_clear_xpath_backptr
void obj_clear_xpath_backptr(obj_template_t *obj, struct xpath_pcb_t_ *xpath)
Clear an xpath-expr backptr.
Definition: obj.c:16418
errmsg_dict_cleanup
void errmsg_dict_cleanup(void)
Cleanup this module.
Definition: errmsg_dict.c:244
ncx_get_display_mode
ncx_display_mode_t ncx_get_display_mode(void)
Get the current default display mode.
Definition: ncx.c:9816
XSI_PREFIX
#define XSI_PREFIX
prefix for XSI
Definition: ncxconst.h:212
OBJ_TYP_RPC
@ OBJ_TYP_RPC
rpc-stmt
Definition: obj.h:623
typ_load_basetypes
status_t typ_load_basetypes(void)
Create typ_template_t structs for the base types.
Definition: typ.c:198
cfg_ypinit
void cfg_ypinit(void)
Initialize the config manager.
Definition: cfg.c:1203
def_reg_cleanup
void def_reg_cleanup(void)
Cleanup all the malloced memory in this module and return the module to an uninitialized state.
Definition: def_reg.c:316
YIN_URN
#define YIN_URN
YIN URN.
Definition: yangconst.h:76
ncx_set_with_snmp
void ncx_set_with_snmp(boolean val)
Set the with_snmp value.
Definition: ncx.c:13975
typ_unload_basetypes
void typ_unload_basetypes(void)
Unload and destroy the typ_template_t structs for the base types unload the typ_template_t structs fo...
Definition: typ.c:254
ncx_get_config_state
ncx_config_state_t ncx_get_config_state(void)
Get the config_state flag.
Definition: ncx.c:14979
ncx_file_rename
status_t ncx_file_rename(const xmlChar *old_filespec, const xmlChar *new_filespec, boolean do_warn)
Rename a file; check result.
Definition: ncx.c:13294
var_init
void var_init(void)
Init the var module.
Definition: var.c:2881
NCX_DC_STATE
@ NCX_DC_STATE
state or statistics
Definition: ncxtypes.h:193
NCX_SES_EVENT_START
@ NCX_SES_EVENT_START
session started event
Definition: ncxtypes.h:1411
NCX_BT_UNION
@ NCX_BT_UNION
union (needs special processing)
Definition: ncxtypes.h:220
ncx_is_duplicate
boolean ncx_is_duplicate(ncx_module_t *mod, const xmlChar *defname)
Check if a module definition name is a duplicate.
Definition: ncx.c:4705
thd_master_init
status_t thd_master_init(void)
Initialize all mutexes for use by threads.
Definition: thd.c:1508
ncx_get_withdefaults_enum
ncx_withdefaults_t ncx_get_withdefaults_enum(const xmlChar *withdefstr)
Get the enum for the specified string value.
Definition: ncx.c:8844
obj_is_anyxml
boolean obj_is_anyxml(const obj_template_t *obj)
Check if object is an anyxml.
Definition: obj.c:13271
ERR_FIL_READ
@ ERR_FIL_READ
101
Definition: status_enum.h:213
ncx_set_message_indent
void ncx_set_message_indent(int8 msg_indent)
Set the protocol output message indent amount.
Definition: ncx.c:10791
ncx_new_include
ncx_include_t * ncx_new_include(void)
Malloc and initialize the fields in a ncx_include_t.
Definition: ncx.c:5772
ncx_set_base_schema
void ncx_set_base_schema(void)
Set the base_schema_set flag to true.
Definition: ncx.c:13145
NCX_MAX_NUMLEN
#define NCX_MAX_NUMLEN
max number len to use for static buffer allocation only
Definition: ncxconst.h:136
obj_dict_add_object
status_t obj_dict_add_object(obj_template_t *obj)
Generate an object identifier and insert into the AVL tree.
Definition: obj_dict.c:273
xml_msg.h
XML and JSON Message send and receive support.
ncx_copy_errinfo
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:8093
ncx_get_yang_key
obj_template_t * ncx_get_yang_key(void)
Get the object template for the YANG key attribute.
Definition: ncx.c:6776
ncx_protocol_is_netconf
boolean ncx_protocol_is_netconf(ncx_protocol_t proto)
Check if the protocol is a NETCONF protocol.
Definition: ncx.c:10517
ncx_first_backptr
ncx_backptr_t * ncx_first_backptr(dlq_hdr_t *que)
Get first back pointer struct.
Definition: ncx.c:11513
obj_is_container
boolean obj_is_container(const obj_template_t *obj)
Check if object is a YANG container.
Definition: obj.c:13405
xmlns_xml_id
xmlns_id_t xmlns_xml_id(void)
Get the ID for the 1998 XML namespace or 0 if it doesn't exist.
Definition: xmlns.c:981
ncx_get_name_match_string
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:10649
ERR_NCX_INVALID_NUM
@ ERR_NCX_INVALID_NUM
241
Definition: status_enum.h:280
ncx_set_module_supported
void ncx_set_module_supported(ncx_module_t *mod, boolean supported)
Set the module supported field.
Definition: ncx.c:12505
ncx_set_binary_display_maxlen
void ncx_set_binary_display_maxlen(uint32 val)
Set the binary_display_maxlen parameter.
Definition: ncx.c:14681
NCX_ACCESS_RO
@ NCX_ACCESS_RO
read-only
Definition: ncxtypes.h:176
ncx_find_rpc
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:3775
ncx_check_inline_data_state
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:14431
log_debug4_append
void void void void void void void void void void void void void void log_debug4_append(const char *fstr,...) __attribute__((format(printf
Append to a LOG_DEBUG_DEBUG4 log entry.
yang_compare_revision_dates
int32 yang_compare_revision_dates(const xmlChar *revstring1, const xmlChar *revstring2)
Compare 2 revision strings, which either may be NULL.
Definition: yang.c:3705
NS_URN
#define NS_URN
XML Namespace URN.
Definition: ncxconst.h:268
ncx_get_next_data_object_same
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:5396
ipaddr_typ.h
Setup type callbacks for ip-address types.
ncx_set_add_toplevel_default_mode
void ncx_set_add_toplevel_default_mode(boolean val)
Set the add_toplevel_default_mode value.
Definition: ncx.c:13942
ncx_set_cur_modQ
void ncx_set_cur_modQ(dlq_hdr_t *que)
Set the current module Q to an alternate (for yangdiff)
Definition: ncx.c:8379
obj_get_mod_name
const xmlChar * obj_get_mod_name(const obj_template_t *obj)
Get the module name for this object.
Definition: obj.c:12176
ncx_get_owner_name
const xmlChar * ncx_get_owner_name(ncx_owner_id_t owner_id)
Get the registered YANG library owner namefor owner_id.
Definition: ncx.c:12615
obj_get_datadefQ
dlq_hdr_t * obj_get_datadefQ(obj_template_t *obj)
Get the datadefQ (or caseQ) if this object has one.
Definition: obj.c:11455
ncx_set_xmlorder
void ncx_set_xmlorder(boolean val)
Set the xmlorder flag.
Definition: ncx.c:15030
ncx_clean_num
void ncx_clean_num(ncx_btype_t btyp, ncx_num_t *num)
Scrub the memory in a ncx_num_t by freeing all the sub-fields.
Definition: ncx_num.c:189
NCX_BT_ANY
@ NCX_BT_ANY
anyxml
Definition: ncxtypes.h:202
XSD_PREFIX
#define XSD_PREFIX
prefix for XSD URN
Definition: ncxconst.h:205
ncx_get_source_ex
xmlChar * ncx_get_source_ex(const xmlChar *fspec, boolean expand_cwd, status_t *res)
Expand a filespec into an absolute path.
Definition: ncx.c:8163
ncx_set_use_objptrs
void ncx_set_use_objptrs(void)
Set the use_objptrs flag.
Definition: ncx.c:12631
NCX_DISPLAY_MODE_PREFIX
@ NCX_DISPLAY_MODE_PREFIX
plain CLI display mode with YANG prefixes added to nodes
Definition: ncxtypes.h:454
NCX_BT_SLIST
@ NCX_BT_SLIST
ncx:xsdlist extension (internal, deprecated)
Definition: ncxtypes.h:223
ncx_get_next_object
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:5048
EMPTY_STRING
#define EMPTY_STRING
empty string used to get const xmlChar * cast
Definition: ncxconst.h:289
obj_find_child
obj_template_t * obj_find_child(obj_template_t *obj, const xmlChar *modname, const xmlChar *objname)
Find a child object with the specified Qname.
Definition: obj.c:6116
NCX_NT_OBJ
@ NCX_NT_OBJ
obj_template_t
Definition: ncxtypes.h:277
status_init
void status_init(void)
Init this module.
Definition: status.c:1017
ncx_get_ocpattern_mode
boolean ncx_get_ocpattern_mode(const ncx_module_t *mod)
Get the openconfig pattern mode.
Definition: ncx.c:13869
NCX_ACCESS_RW
@ NCX_ACCESS_RW
read-write (create/delete not allowed)
Definition: ncxtypes.h:177
ncx_find_any_object
obj_template_t * ncx_find_any_object(const xmlChar *objname)
Find any top-level object in any YANG module.
Definition: ncx.c:4025
ncx_mod_missing_err
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:7316
LOG_DEBUG_ERROR
@ LOG_DEBUG_ERROR
fatal + internal errors only
Definition: log.h:390
ncx_get_next_object_ex
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:5066
def_reg_init
void def_reg_init(void)
Initialize the def_reg module.
Definition: def_reg.c:288
NCX_CVTTYP_YH
@ NCX_CVTTYP_YH
split y_foo.h file
Definition: ncxtypes.h:1000
ncx_str2txid
status_t ncx_str2txid(const xmlChar *str, ncx_transaction_id_t *txid)
Convert a string to a ncx_transaction_id_t.
Definition: ncx.c:12123
obj_dict_init
status_t obj_dict_init(void)
Initialize the object dictionary.
Definition: obj_dict.c:168
NCX_DISPLAY_MODE_PLAIN
@ NCX_DISPLAY_MODE_PLAIN
plain CLI display mode
Definition: ncxtypes.h:451
ncx_init_enum
void ncx_init_enum(ncx_enum_t *enu)
Init the memory of a ncx_enum_t.
Definition: ncx.c:6381
XSD_URN
#define XSD_URN
URN for XSD.
Definition: ncxconst.h:202
ncx_netconfd_running
boolean ncx_netconfd_running(void)
Check if netconfd running.
Definition: ncx.c:11805
NCX_BAD_REPLY_NONE
@ NCX_BAD_REPLY_NONE
not set
Definition: ncxtypes.h:1465
xml_strcmp
int xml_strcmp(const xmlChar *s1, const xmlChar *s2)
String compare for xmlChar.
Definition: xml_util.c:1746
ncx_valid_name_ch
boolean ncx_valid_name_ch(uint32 ch)
Check if the character is a valid YANG identifier chara.
Definition: ncx.c:7549
yang_data_init2
status_t yang_data_init2(void)
Load the yang-data-ext module.
Definition: yang_data.c:394
ERR_NCX_IDLEN_EXCEEDED
@ ERR_NCX_IDLEN_EXCEEDED
1037
Definition: status_enum.h:526
TK_TT_LBRACE
@ TK_TT_LBRACE
left brace '{'
Definition: tk.h:286
ncx_base_schema_set
boolean ncx_base_schema_set(void)
Check if the base schema features have been set yet.
Definition: ncx.c:13133
cli_new_empty_rawparm
cli_rawparm_t * cli_new_empty_rawparm(const xmlChar *name)
Malloc and init a raw parm entry that has no value (NCX_BT_EMPTY)
Definition: cli.c:1052
ncxmod_load_module
status_t ncxmod_load_module(const xmlChar *modname, const xmlChar *revision, dlq_hdr_t *savedevQ, ncx_module_t **retmod)
Determine the location of the specified module and then load it into the system, if not already loade...
Definition: ncxmod.c:4342
NCX_FL_PROTO_NETCONF10
#define NCX_FL_PROTO_NETCONF10
bit definitions for NETCONF session protocol versions
Definition: ncxconst.h:1585
obj_ok_for_nolock
boolean obj_ok_for_nolock(const obj_template_t *obj)
check an object OK for nolock
Definition: obj.c:18194
NCX_CC_EVENT_EXTEND
@ NCX_CC_EVENT_EXTEND
extend event
Definition: ncxtypes.h:1227
ncxmod_set_bestmatch_modules
status_t ncxmod_set_bestmatch_modules(void)
Check for all the modules avialable for bestmatch checking.
Definition: ncxmod.c:8931
ncx_use_get_when_check
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:14629
obj_is_choice
boolean obj_is_choice(const obj_template_t *obj)
Check if object is a YANG choice.
Definition: obj.c:13425
NCX_BAD_DATA_WARN
@ NCX_BAD_DATA_WARN
NCX_BAD_DATA_WARN to warn and accept invalid input values.
Definition: ncxtypes.h:436
LOGDEBUG4
#define LOGDEBUG4
Check if at least log-level=debug4.
Definition: log.h:302
log.h
NCX System Logging Manager.
ncx_result_format_t
ncx_result_format_t
specify the requested result format type
Definition: ncxtypes.h:539
ncx_get_file_result_format
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:12439
ncx_match_any_rpc_mod
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:3947
tstamp_now
void tstamp_now(time_t *tim)
Set the time_t to the current time.
Definition: tstamp.c:588
ncx_find_import_que
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:5560
ext_cleanup
void ext_cleanup(void)
Cleanup the extension callback handler queue.
Definition: ext.c:436
ERR_BUFF_OVFL
@ ERR_BUFF_OVFL
106
Definition: status_enum.h:218
ncxtypes.h
YANG module data structures Many internal representations of YANG module constructs.
ncx_free_identity
void ncx_free_identity(ncx_identity_t *identity)
Free a malloced ncx_identity_t struct.
Definition: ncx.c:6033
ncx_missing_vars_ok
boolean ncx_missing_vars_ok(void)
Get the ignore-missing-vars flag.
Definition: ncx.c:12419
ncx_conf_exp_err
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:7192
ncx_get_trim_whitespace
boolean ncx_get_trim_whitespace(void)
Get the trim_whitespace flag.
Definition: ncx.c:14917
ncx_get_withdefaults_string
const xmlChar * ncx_get_withdefaults_string(ncx_withdefaults_t withdef)
Get the string for the specified enum value.
Definition: ncx.c:8810
xmlns_nc_id
xmlns_id_t xmlns_nc_id(void)
Get the ID for the NETCONF namespace or 0 if it doesn't exist.
Definition: xmlns.c:880
NC_OPERATION_ATTR_NAME
#define NC_OPERATION_ATTR_NAME
NETCONF edit-config operation attribute name.
Definition: ncxconst.h:118
ncx_remove_backptr
void ncx_remove_backptr(ncx_backptr_t *ptr)
Remove the specified backptr for deletion.
Definition: ncx.c:11592
def_reg_del_ns
void def_reg_del_ns(const xmlChar *nsname)
unregister a xmlns_t delete one ncx_module from the registry
Definition: def_reg.c:426
ncx_get_gen_empty
obj_template_t * ncx_get_gen_empty(void)
Get the object template for the NCX generic empty leaf.
Definition: ncx.c:6706
ncx_find_import
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:5541
LOGDEBUG
#define LOGDEBUG
Check if at least log-level=debug.
Definition: log.h:287
obj_delete_mod_children
void obj_delete_mod_children(obj_template_t *obj, ncx_module_t *mod)
Check the childQ for the specified object and remove all the objects from the specified module.
Definition: obj.c:16789
LOG_DEBUG_DEV0
@ LOG_DEBUG_DEV0
Special use developer debugging only.
Definition: log.h:389
ncx_turn_off_warning
status_t ncx_turn_off_warning(status_t res)
Add a warning suppression entry.
Definition: ncx.c:9294
ncx_turn_up_warning
status_t ncx_turn_up_warning(status_t res)
Add a warning elevation entry.
Definition: ncx.c:9357
obj_is_augment
boolean obj_is_augment(const obj_template_t *obj)
Check if the obj is an augment statement.
Definition: obj.c:13703
errmsg_cleanup
void errmsg_cleanup(void)
Cleanup this module; must be before ext_cleanup!!!
Definition: errmsg.c:247
typ_free_template
void typ_free_template(typ_template_t *typ)
Scrub the memory in a typ_template_t by freeing all the sub-fields and then freeing the entire struct...
Definition: typ.c:311
ncx_set_secondary_sil_priority_used
void ncx_set_secondary_sil_priority_used(void)
Flag that a value node set a non-default secondary SIL priority.
Definition: ncx.c:12984
ncx_get_cwd_subdirs
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:10176
log_error_append
void void log_error_append(const char *fstr,...) __attribute__((format(printf
Append to a LOG_DEBUG_ERROR log entry.
xml_msg_init
void xml_msg_init(void)
Init this module.
Definition: xml_msg.c:1225
yang_data_init
status_t yang_data_init(void)
Initialize this module; must be after ext_init!!!
Definition: yang_data.c:353
errmsg_dict_init
void errmsg_dict_init(void)
Initialize this module.
Definition: errmsg_dict.c:226
ncx_enable_bestmatch
void ncx_enable_bestmatch(void)
Enable the bestmatch import processing feature.
Definition: ncx.c:14045
xmlns_xs_id
xmlns_id_t xmlns_xs_id(void)
Get the ID for the XSD namespace or 0 if it doesn't exist.
Definition: xmlns.c:948
cli.h
command line interpreter parsing to internal val_value_t format
XSI_URN
#define XSI_URN
URN for XSI.
Definition: ncxconst.h:208
NCX_SCOPE_CH
#define NCX_SCOPE_CH
scoped identifier field separator token
Definition: ncxconst.h:401
ncx_set_leaflist_deleteall_ok
void ncx_set_leaflist_deleteall_ok(boolean val)
Set the leaflist_deleteall_ok flag.
Definition: ncx.c:15092
NCX_CVTTYP_YC
@ NCX_CVTTYP_YC
split y_foo.c file
Definition: ncxtypes.h:1001
ncx_set_ycontrol_running
void ncx_set_ycontrol_running(void)
Set the ycontrol_running flag to TRUE.
Definition: ncx.c:12530
ncx_free_mbackptr
void ncx_free_mbackptr(ncx_backptr_t *ptr)
Free an ncx_backptr_t struct; Free the 'node' pointer first.
Definition: ncx.c:11451
ncx_set_useprefix
void ncx_set_useprefix(boolean val)
Set the use_prefix value.
Definition: ncx.c:10105
ncx_find_include
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:5833
NCX_SES_EVENT_NONE
@ NCX_SES_EVENT_NONE
not set
Definition: ncxtypes.h:1410
ncx_new_identity
ncx_identity_t * ncx_new_identity(void)
Get a new ncx_identity_t struct.
Definition: ncx.c:5938
NCX_BT_BITS
@ NCX_BT_BITS
bits
Definition: ncxtypes.h:203
ncx_new_save_deviations
ncx_save_deviations_t * ncx_new_save_deviations(ncx_module_t *devmod, boolean annotation)
Create a deviation save structure.
Definition: ncx.c:9671
cfg_free_template
void cfg_free_template(cfg_template_t *cfg)
Clean and free the cfg_template_t struct.
Definition: cfg.c:1383
NCX_NT_VAL
@ NCX_NT_VAL
val_value_t
Definition: ncxtypes.h:276
ncx_list.h
NCX Module Library List Utility Functions.
NCX_BT_FLOAT64
@ NCX_BT_FLOAT64
hidden: just for XPath
Definition: ncxtypes.h:216
NCX_BT_UINT32
@ NCX_BT_UINT32
uint32
Definition: ncxtypes.h:213
dlq_deque
void * dlq_deque(dlq_hdrT *listP)
remove the first queue node from the queue list
Definition: dlq.c:286
NCX_STATUS_OBSOLETE
@ NCX_STATUS_OBSOLETE
obsolete removed from tree
Definition: ncxtypes.h:422
ncx_get_data_class_str
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:7426
obj_is_cli
boolean obj_is_cli(const obj_template_t *obj)
Check if object is marked as a CLI object.
Definition: obj.c:14222
NCX_NT_NONE
@ NCX_NT_NONE
not set
Definition: ncxtypes.h:273
ncx_find_deviation_module
ncx_module_t * ncx_find_deviation_module(const xmlChar *modname)
Find a deviation module ncx_module_t in the deviation_moduleQ;.
Definition: ncx.c:13586
cfg_cleanup
void cfg_cleanup(void)
Cleanup the config manager.
Definition: cfg.c:1257
dlq_empty
#define dlq_empty(listP)
check if queue list is empty
Definition: dlq.h:367
thd.h
Thread support (for now limited to netconfd)
top_cleanup
void top_cleanup(void)
cleanup Top Element Handler
Definition: top.c:174
NCX_INLINE_TAG
#define NCX_INLINE_TAG
start/end inline XML or JSON data
Definition: ncxconst.h:1672
ncx_get_max_strlen
int32 ncx_get_max_strlen(void)
Get the –max-strlen parameter.
Definition: ncx.c:14799
xml_strcpy
uint32 xml_strcpy(xmlChar *copyTo, const xmlChar *copyFrom)
String copy for xmlChar.
Definition: xml_util.c:1486
ncx_register_get_owner_fn
void ncx_register_get_owner_fn(ncx_get_owner_fn_t cbfn)
Register a callback to get the owner name.
Definition: ncx.c:12600
ncx_get_pidfile_cleaned
boolean ncx_get_pidfile_cleaned(void)
Get the PID file cleaned flag.
Definition: ncx.c:14859
ncx_compare_base_uris
int32 ncx_compare_base_uris(const xmlChar *str1, const xmlChar *str2)
Compare the base part of 2 URI strings.
Definition: ncx.c:10043
xmlns_get_modptr
void * xmlns_get_modptr(xmlns_id_t nsid)
get the module pointer for the namespace ID
Definition: xmlns.c:1151
ncx_get_tclass
ncx_tclass_t ncx_get_tclass(ncx_btype_t btyp)
Get the token class.
Definition: ncx.c:7501
ncx_val_protocol_enabled
boolean ncx_val_protocol_enabled(ncx_protocol_t proto, uint16 flags)
Check if the specified protocol version is enabled.
Definition: ncx.c:10235
ncx_get_ses_event_str
const xmlChar * ncx_get_ses_event_str(ncx_ses_event_t ses_event)
Get the session event string for the enum.
Definition: ncx.c:14875
YIN_MODULE
#define YIN_MODULE
no YANG module for yin
Definition: yangconst.h:82
ncx_allow_get_when_check
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:14614
ncx_mod_revision_count
uint32 ncx_mod_revision_count(const xmlChar *modname)
Find all the ncx_module_t structs in the ncx_modQ that have the same module name.
Definition: ncx.c:9871
ncx_free_import
void ncx_free_import(ncx_import_t *import)
Free an ncx_import_t.
Definition: ncx.c:5498
NCX_STATUS_NONE
@ NCX_STATUS_NONE
not set
Definition: ncxtypes.h:419
ncx_new_typname
ncx_typname_t * ncx_new_typname(void)
Malloc and init a typname struct.
Definition: ncx.c:6542
ncx_get_mod_source
const xmlChar * ncx_get_mod_source(const ncx_module_t *mod)
Get the module file source string for the specified module.
Definition: ncx.c:8954
ncx_unload_cbfn_t
void(* ncx_unload_cbfn_t)(ncx_module_t *mod)
user function callback template when a module is unloaded from the system
Definition: ncxtypes.h:1153
NCX_CC_EVENT_NONE
@ NCX_CC_EVENT_NONE
not set
Definition: ncxtypes.h:1223
ncx_get_gen_string
obj_template_t * ncx_get_gen_string(void)
Get the object template for the NCX generic string leaf.
Definition: ncx.c:6692
grp_free_template
void grp_free_template(grp_template_t *grp)
Scrub the memory in a grp_template_t by freeing all the sub-fields and then freeing the entire struct...
Definition: grp.c:131
ncx_find_module_by_prefix
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:3286
NC_WD_ATTR_PREFIX
#define NC_WD_ATTR_PREFIX
with-defaults default prefix
Definition: ncxconst.h:193
ncx_set_temp_modQ
void ncx_set_temp_modQ(dlq_hdr_t *modQ)
Set the temp_modQ for yangcli session-specific module list.
Definition: ncx.c:9769
ncx_write_tracefile
void ncx_write_tracefile(const char *buff, uint32 count)
Write a byte to the tracefile.
Definition: ncx.c:10723
ncx_set_db_lock_init_done
void ncx_set_db_lock_init_done(boolean val)
Set if the <db-lock-init> message was processed by the server.
Definition: ncx.c:14767
top.h
NCX Common Top Element module.
obj_is_enabled
boolean obj_is_enabled(obj_template_t *obj)
Check any if-feature statement that may cause the specified object to be invisible.
Definition: obj.c:14527
NCX_MATCH_NONE
@ NCX_MATCH_NONE
not set
Definition: ncxtypes.h:522
ncx_match_any_rpc
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:3891
NCX_LAYER_CONTENT
@ NCX_LAYER_CONTENT
application layer
Definition: ncxtypes.h:347
ncx_get_backptr_node
void * ncx_get_backptr_node(ncx_backptr_t *backptr)
Get the back pointer node pointer.
Definition: ncx.c:11577
ncx_get_yang_value
obj_template_t * ncx_get_yang_value(void)
Get the object template for the YANG value attribute.
Definition: ncx.c:6789
cli_new_rawparm
cli_rawparm_t * cli_new_rawparm(const xmlChar *name, boolean xsdlist)
bootstrap CLI support Malloc and init a raw parm entry
Definition: cli.c:1018
dlq_firstEntry
#define dlq_firstEntry(listP)
get the first entry in the queue list
Definition: dlq.h:337
NCX_BAD_REPLY_ADAPT
@ NCX_BAD_REPLY_ADAPT
default; adapt node
Definition: ncxtypes.h:1466
NCX_BAD_REPLY_ERROR
@ NCX_BAD_REPLY_ERROR
report Error and stop parse
Definition: ncxtypes.h:1468
ncx_set_use_return_status
void ncx_set_use_return_status(void)
Enable the return_status parameter.
Definition: ncx.c:15232
ncx_use_data_templates
void ncx_use_data_templates(boolean enabled)
Set the use-data-templates flag.
Definition: ncx.c:12380
ncx_mod_exp_err
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:7220
NCX_CVTTYP_NONE
@ NCX_CVTTYP_NONE
not set
Definition: ncxtypes.h:988
ncx_clear_temp_modQ
void ncx_clear_temp_modQ(void)
Clear the temp_modQ for yangcli session-specific module list.
Definition: ncx.c:9800
ncx_set_protocol_enabled
void ncx_set_protocol_enabled(ncx_protocol_t proto)
Set the specified protocol version to be enabled.
Definition: ncx.c:10275
ncx_delete_all_obsolete_objects
void ncx_delete_all_obsolete_objects(void)
Go through all the modules and delete the obsolete nodes.
Definition: ncx.c:10553
ERR_NCX_ACCESS_DENIED
@ ERR_NCX_ACCESS_DENIED
267
Definition: status_enum.h:308
ncx_set_warn_idlen
void ncx_set_warn_idlen(uint32 warnlen)
Set the warning length for identifiers.
Definition: ncx.c:9126
ncx_get_source
xmlChar * ncx_get_source(const xmlChar *fspec, status_t *res)
Expand a filespec into an absolute path.
Definition: ncx.c:8362
ncx_save_descr
boolean ncx_save_descr(void)
Get the value of the save description strings variable.
Definition: ncx.c:7032
obj_get_augment_target
const xmlChar * obj_get_augment_target(obj_template_t *obj)
Get the target path string for an augments object.
Definition: obj.c:15924
ncx.h
YANG module utility functions.
NCX_MATCH_ONE_NOCASE
@ NCX_MATCH_ONE_NOCASE
match all chars case-insensitive if only 1 match
Definition: ncxtypes.h:528
ncx_get_mod_revision
const xmlChar * ncx_get_mod_revision(const ncx_module_t *mod)
Get the module revision string for the specified module.
Definition: ncx.c:8975
ncx_find_first_importer
ncx_module_t * ncx_find_first_importer(const xmlChar *module)
Search all modules importQs for a specified module name.
Definition: ncx.c:11883
YIN_PREFIX
#define YIN_PREFIX
YIN prefix.
Definition: yangconst.h:79
xmlns_convert_temp_ns
status_t xmlns_convert_temp_ns(xmlns_id_t nsid, const xmlChar *pfix, const xmlChar *modname, void *modptr)
Register the specified permanent namespace by converting the specified temporary NSID to a permanent ...
Definition: xmlns.c:597
LOG_DEBUG_DEBUG
@ LOG_DEBUG_DEBUG
debug level 1
Definition: log.h:394
NCX_PROTO_NONE
@ NCX_PROTO_NONE
not set
Definition: ncxtypes.h:782
obj.h
Data Object Support.
ncx_is_false
boolean ncx_is_false(const xmlChar *str)
Check if an xmlChar string is a string OK for XSD boolean.
Definition: ncx.c:7714
LOG_DEBUG_DEBUG3
@ LOG_DEBUG_DEBUG3
debug level 3
Definition: log.h:396
NCX_STATUS_DEPRECATED
@ NCX_STATUS_DEPRECATED
deprecated (treated as current
Definition: ncxtypes.h:421
ncx_is_db_lock_init_done
boolean ncx_is_db_lock_init_done(void)
Check if the <db-lock-init> message was processed by the server.
Definition: ncx.c:14750
TK_CUR_TYP
#define TK_CUR_TYP(T)
return the current token type
Definition: tk.h:125
ncx_set_empty_npcon_presence
void ncx_set_empty_npcon_presence(boolean val)
Set the empty_npcon_presence value.
Definition: ncx.c:13633
ncx_init_binary
void ncx_init_binary(ncx_binary_t *binary)
Init the memory of a ncx_binary_t struct.
Definition: ncx.c:5881
ncx_turn_on_warning
status_t ncx_turn_on_warning(status_t res)
Remove a warning suppression entry if it exists.
Definition: ncx.c:9313
ncx_get_owner_fn_t
const typedef 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:1272
ncx_unload_and_free_module
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:12011
grp.h
YANG Grouping Statement Handler.
typ_clean_typeQ
void typ_clean_typeQ(dlq_hdr_t *que)
Clean a queue of typ_template_t structs.
Definition: typ.c:4477
ncx_mod_revision_count_que
uint32 ncx_mod_revision_count_que(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:9902
ncx_init_bit
void ncx_init_bit(ncx_bit_t *bit)
Init the memory of a ncx_bit_t.
Definition: ncx.c:6473
ncx_new_filptr
ncx_filptr_t * ncx_new_filptr(void)
Get a new ncx_filptr_t struct.
Definition: ncx.c:6234
NCX_DISPLAY_MODE_MODULE
@ NCX_DISPLAY_MODE_MODULE
plain CLI display mode with YANG module names added to nodes
Definition: ncxtypes.h:457
LOG_DEBUG_INFO
@ LOG_DEBUG_INFO
all previous + user info trace
Definition: log.h:392
TK_TT_QSTRING
@ TK_TT_QSTRING
double quoted string
Definition: tk.h:322
ncx_init_list
void ncx_init_list(ncx_list_t *list, ncx_btype_t btyp)
Initialize an allocated ncx_list_t.
Definition: ncx_list.c:113
NCX_MSG_ENCODING_CBOR
@ NCX_MSG_ENCODING_CBOR
CBOR not used yet.
Definition: ncxtypes.h:483
obj_dict.h
Object Dictionary utilities (NOT USED) The YANG Hash for the object identifier is used as the hash ke...
ncx_set_with_dblock
void ncx_set_with_dblock(boolean val)
Set the is_with_dblock value.
Definition: ncx.c:14731
NCX_RF_TEXT
@ NCX_RF_TEXT
text result
Definition: ncxtypes.h:541
NCX_OPT
@ NCX_OPT
clause is optional
Definition: ncxtypes.h:1083
ncx_get_name_match_value
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:10687
ncx_set_val_protocol_enabled
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:10354
cli_find_rawparm
cli_rawparm_t * cli_find_rawparm(const xmlChar *name, dlq_hdr_t *parmQ)
Find the specified raw parm entry.
Definition: cli.c:1140
ncx_find_module_que
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:3316
ncx_clear_mod_xpath_backptrs
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:11944
ncx_set_getbulk_max
void ncx_set_getbulk_max(uint32 max_entries)
Set the max_entries parameter for GET2 callbacks.
Definition: ncx.c:12887
ncx_free_errinfo
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:8048
ncx_string_in_list
boolean ncx_string_in_list(const xmlChar *str, const ncx_list_t *list)
Check if the string value is in the list List type must be string based, or an enum.
Definition: ncx_list.c:343
ncx_set_use_deadmodQ
void ncx_set_use_deadmodQ(void)
Set the usedeadmodQ flag.
Definition: ncx.c:10539
CHK_EXIT
#define CHK_EXIT(res, retres)
used in parser routines to decide if processing can continue will exit the function if critical error...
Definition: yangconst.h:221
ncx_new_binary
ncx_binary_t * ncx_new_binary(void)
Malloc and fill in a new ncx_binary_t struct.
Definition: ncx.c:5860
ncx_get_subsys_id
const xmlChar * ncx_get_subsys_id(void)
Get the subsys_id value; NULL if not set.
Definition: ncx.c:12585
ncx_set_max_strlen
void ncx_set_max_strlen(int32 num)
Set the –max-strlen parameter.
Definition: ncx.c:14783
ncx_set_pidfile_cleaned
void ncx_set_pidfile_cleaned(void)
Set the pidfile cleaned flag.
Definition: ncx.c:14843
ncx_get_baddata_enum
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:8743
ncx_get_gen_binary
obj_template_t * ncx_get_gen_binary(void)
Get the object template for the NCX generic binary leaf.
Definition: ncx.c:6735
ncx_get_startup_prune
boolean ncx_get_startup_prune(void)
Get the startup_prune flag.
Definition: ncx.c:14948
NCX_BT_EXTERN
@ NCX_BT_EXTERN
not a real type, points fo file for contents
Definition: ncxtypes.h:230
ncx_get_handle_badreply_enum
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:15261
ncx_find_object_nsid
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:4363
ncx_file_close
void ncx_file_close(FILE *fp)
Close a file; check result.
Definition: ncx.c:13235
ncx_init
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:2616
dlq_enque
void dlq_enque(REG void *newP, REG dlq_hdrT *listP)
add a queue node to the end of a queue list Add newP to listP
Definition: dlq.c:246
NCX_FL_MOD_DONE
#define NCX_FL_MOD_DONE
bit definitions for the ncx_module_t 32-bit flags field
Definition: ncxconst.h:1593
ncx_next_deviation_module
ncx_module_t * ncx_next_deviation_module(ncx_module_t *curmod)
Get the next deviation module after curmod.
Definition: ncx.c:14027
ncx_find_pre_import
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:5619
ncx_set_with_canonical
void ncx_set_with_canonical(boolean val)
Set the with_canonical flag.
Definition: ncx.c:15149
TK_TYP_STR
#define TK_TYP_STR(T)
return TRUE if the specified token type is a string
Definition: tk.h:144
ncx_convert_num
status_t ncx_convert_num(const xmlChar *numstr, ncx_numfmt_t numfmt, ncx_btype_t btyp, ncx_num_t *val)
Convert a number string to a numeric type.
Definition: ncx_num.c:717
NCX_CVTTYP_XSD
@ NCX_CVTTYP_XSD
XSD format (obsolete)
Definition: ncxtypes.h:989
ncx_mod_unloadable
boolean ncx_mod_unloadable(ncx_module_t *mod)
Check if this module can be unloaded.
Definition: ncx.c:12082
ncx_free_binary
void ncx_free_binary(ncx_binary_t *binary)
Free all the memory in a ncx_binary_t struct.
Definition: ncx.c:5917
support_save_cleanup
void support_save_cleanup(void)
Cleanup the support_save module.
Definition: support_save.c:295
obj_is_data_db
boolean obj_is_data_db(const obj_template_t *obj)
Check if the object is some sort of data Constrained to only check the config DB objects,...
Definition: obj.c:13788
ncx_use_return_status
boolean ncx_use_return_status(void)
Check if the return_status should be returned.
Definition: ncx.c:15243
NCX_DC_NONE
@ NCX_DC_NONE
not set
Definition: ncxtypes.h:191
NCX_DEF_WARN_IDLEN
#define NCX_DEF_WARN_IDLEN
warning identifier length
Definition: ncxconst.h:313
ncx_get_next_module
ncx_module_t * ncx_get_next_module(const ncx_module_t *mod)
Get the next module in the ncx_modQ.
Definition: ncx.c:4751
ncx_find_module
ncx_module_t * ncx_find_module(const xmlChar *modname, const xmlChar *revision)
Find a ncx_module_t in the ncx_sesmodQ.
Definition: ncx.c:3227
ERR_DUP_NS
@ ERR_DUP_NS
211
Definition: status_enum.h:250
SET_ERROR
#define SET_ERROR(E)
macro SET_ERROR
Definition: status_enum.h:103
ncx_get_top_mandatory_allowed
boolean ncx_get_top_mandatory_allowed(void)
Check if top-level mandatory objects are allowed or not.
Definition: ncx.c:10760
ncx_set_all_obj_xpath_backptrs
status_t ncx_set_all_obj_xpath_backptrs(void)
Add Xpath back pointers to the data-db objects in the database.
Definition: ncx.c:11351
ERR_NCX_DATA_MISSING
@ ERR_NCX_DATA_MISSING
272
Definition: status_enum.h:313
xmlns_cleanup
void xmlns_cleanup(void)
Cleanup module static data.
Definition: xmlns.c:458
NCX_DEF_WARN_LINELEN
#define NCX_DEF_WARN_LINELEN
default warning linelen value
Definition: ncxconst.h:316
WILDCARD_URN
#define WILDCARD_URN
base:1.1 subtree wildcard URN
Definition: ncxconst.h:133
NEED_EXIT
#define NEED_EXIT(res)
used in parser routines to decide if processing can continue does not return, just evaluates to TRUE ...
Definition: yangconst.h:234
obj_has_name
boolean obj_has_name(const obj_template_t *obj)
Check if the specified object type has a name.
Definition: obj.c:10667
NCX_CFG_STATE_INIT
@ NCX_CFG_STATE_INIT
initialization phase
Definition: ncxtypes.h:1419
NCX_BT_DECIMAL64
@ NCX_BT_DECIMAL64
decimal64
Definition: ncxtypes.h:215
ncx_check_yang_identity
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:13765
ncx_get_handle_badreply
ncx_bad_reply_enum ncx_get_handle_badreply(void)
Get the Bad Reply Handling flag.
Definition: ncx.c:15324
ncx_set_session_modQ
void ncx_set_session_modQ(dlq_hdr_t *que)
Get the session module Q.
Definition: ncx.c:8417
NCX_BT_CHOICE
@ NCX_BT_CHOICE
internal choice, not really used
Definition: ncxtypes.h:226
obj_clean_deviationQ
void obj_clean_deviationQ(dlq_hdr_t *deviationQ)
Clean and free an Q of object deviation statements.
Definition: obj.c:9965
ncx_new_import
ncx_import_t * ncx_new_import(void)
Malloc and initialize the fields in a ncx_import_t.
Definition: ncx.c:5474
ncx_is_with_dblock
boolean ncx_is_with_dblock(void)
Get the is_with_dblock value.
Definition: ncx.c:14714
ncx_parse_name
status_t ncx_parse_name(const xmlChar *str, uint32 *len)
Check if the next N chars represent a valid NcxName.
Definition: ncx.c:7657
ncxmod_set_runpath
void ncxmod_set_runpath(const xmlChar *runpath)
Override the YUMAPRO_RUNPATH env var with the runpath CLI var.
Definition: ncxmod.c:6373
NCX_BT_STRING
@ NCX_BT_STRING
string
Definition: ncxtypes.h:217
ncx_find_first_rpc
obj_template_t * ncx_find_first_rpc(const xmlChar *rpcname)
Find the specified RPC Method in any module.
Definition: ncx.c:3805
heapcheck_init
void heapcheck_init(void)
Initialize heap checking module.
ncx_get_modnamespace
const xmlChar * ncx_get_modnamespace(const ncx_module_t *mod)
Get the module namespace URI.
Definition: ncx.c:4887
NCX_MAX_YANG_OBJ_CALLBACKS
#define NCX_MAX_YANG_OBJ_CALLBACKS
max number of YANG object callbacks
Definition: ncxconst.h:142
ses_msg_init
void ses_msg_init(void)
Initialize the session message manager module data structures.
Definition: ses_msg.c:218
ncx_get_next_data_object
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:5238
ncx_free_backptr
void ncx_free_backptr(ncx_backptr_t *ptr)
Free an ncx_backptr_t struct.
Definition: ncx.c:11433
NCX_BT_INT8
@ NCX_BT_INT8
int8
Definition: ncxtypes.h:207
ncx_fastpath_enabled
boolean ncx_fastpath_enabled(void)
Check if fast path value tree comparisons enabled.
Definition: ncx.c:11789
xmlns_register_ns
status_t xmlns_register_ns(const xmlChar *ns, const xmlChar *pfix, const xmlChar *modname, void *modptr, xmlns_id_t *ns_id)
Register the specified namespace.
Definition: xmlns.c:494
ncx_get_first_object
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:4957
LOGERROR
#define LOGERROR
Check if at least log-level=error.
Definition: log.h:269
NCX_DISPLAY_MODE_JSON
@ NCX_DISPLAY_MODE_JSON
JSON (RFC 7951 format)
Definition: ncxtypes.h:466
xmlns.h
XML namespace support.
ncx_clean_bit
void ncx_clean_bit(ncx_bit_t *bit)
Scrub the memory of a ncx_bit_t but do not delete it.
Definition: ncx.c:6491
obj_number_data_object
void obj_number_data_object(obj_template_t *obj)
Number the object tree; initial setup.
Definition: obj.c:17366
TK_TT_MSTRING
@ TK_TT_MSTRING
module-qualified token string
Definition: tk.h:320
val_free_value
void val_free_value(val_value_t *val)
Scrub the memory in a val_value_t by freeing all the sub-fields and then freeing the entire struct it...
Definition: val.c:2842
ncx_socket_close
void ncx_socket_close(int fd)
Close a socket; check result.
Definition: ncx.c:13214
ncx_conf_env_vars_enabled
boolean ncx_conf_env_vars_enabled(void)
Get the Config Environment Variable Replacement flag.
Definition: ncx.c:15340
ncx_get_parent_mod
ncx_module_t * ncx_get_parent_mod(ncx_module_t *mod)
Find the correct module by checking mod->parent nodes.
Definition: ncx.c:9995
ncx_new_module
ncx_module_t * ncx_new_module(void)
Malloc and initialize the fields in a ncx_module_t.
Definition: ncx.c:3177
NCX_PROTO_NETCONF10
@ NCX_PROTO_NETCONF10
RFC 4741 base:1.0
Definition: ncxtypes.h:783
ncx_txid2etag
ncx_etag_t ncx_txid2etag(ncx_transaction_id_t txid)
Cast ncx_txid_t to ncx_etag_t.
Definition: ncx.c:15358
status.h
Global error messages for status code enumerations.
NCX_BT_NONE
@ NCX_BT_NONE
base type not set
Definition: ncxtypes.h:201
ncx_get_confirm_event_str
const xmlChar * ncx_get_confirm_event_str(ncx_confirm_event_t event)
Get the string for the specified enum value.
Definition: ncx.c:9836
NCX_WITHDEF_EXPLICIT
@ NCX_WITHDEF_EXPLICIT
explicit
Definition: ncxtypes.h:1015
ncx_find_next_importer
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:11911
ncxmod_get_userhome
const xmlChar * ncxmod_get_userhome(const xmlChar *user, uint32 userlen)
Get the user home dir from the passwd file.
Definition: ncxmod.c:6545
ncx_find_identity_que
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:6174
NS_PREFIX
#define NS_PREFIX
default prefix for the xmlns namespace (not really used)
Definition: ncxconst.h:262
NCX_DISPLAY_MODE_XML
@ NCX_DISPLAY_MODE_XML
XML display mode.
Definition: ncxtypes.h:460
ncx_create_pidfile
status_t ncx_create_pidfile(const xmlChar *progname, boolean fileloc_fhs)
Create the pidfile for the specified program.
Definition: ncx.c:11826
obj_get_nsid
xmlns_id_t obj_get_nsid(const obj_template_t *obj)
Get the namespace ID for this object.
Definition: obj.c:12395
ncx_clear_unload_callback
void ncx_clear_unload_callback(ncx_unload_cbfn_t cbfn)
Clear the callback function for an unload-module event.
Definition: ncx.c:8579
dlq.h
dlq provides general double-linked list and queue support:
ncx_set_mod_unloadable
void ncx_set_mod_unloadable(ncx_module_t *mod)
Set this module so it can be unloaded.
Definition: ncx.c:12100
ncx_get_name_match_enum
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:10613
ncx_get_xmlorder
boolean ncx_get_xmlorder(void)
Get the xmlorder flag.
Definition: ncx.c:15047
NCX_CVTTYP_UC
@ NCX_CVTTYP_UC
split u_foo.c file
Definition: ncxtypes.h:1003
ncx_match_rpc_error
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:3979
ncx_new_backptr
ncx_backptr_t * ncx_new_backptr(void *node)
Malloc and initialize a new ncx_backptr_t struct.
Definition: ncx.c:11412
ncx_get_nc_operation
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:11657
obj_get_augment_targobj
obj_template_t * obj_get_augment_targobj(obj_template_t *obj)
Get the target object for an augments object.
Definition: obj.c:15905
ext.h
YANG Extension Handler.
ncx_set_subsys_id
status_t ncx_set_subsys_id(const xmlChar *id)
Set the subsys_id parameter for this subsystem.
Definition: ncx.c:12565
errmsg_dict.h
AVL Tree storage of Language Specific Error Messages.
ncx_set_config_state
void ncx_set_config_state(ncx_config_state_t val)
Set the config_state flag.
Definition: ncx.c:14962
LOGDEBUG3
#define LOGDEBUG3
Check if at least log-level=debug3.
Definition: log.h:297
ncx_free_modcache
void ncx_free_modcache(ncx_modcache_t *mc)
Free a ncx_modcache_t record.
Definition: ncx.c:14324
ncx_match_rpc
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:3842
ncx_find_revhist
ncx_revhist_t * ncx_find_revhist(const ncx_module_t *mod, const xmlChar *ver)
Search the revhistQ for a specified revision.
Definition: ncx.c:6351
tstamp_cvt_TIME
time_t tstamp_cvt_TIME(char const *time_str)
Convert the DATE string to a time_t.
Definition: tstamp.c:691
ncx_free_typname
void ncx_free_typname(ncx_typname_t *typnam)
Free a typname struct.
Definition: ncx.c:6562
ncx_set_startup_prune
void ncx_set_startup_prune(boolean val)
Set the startup_prune flag.
Definition: ncx.c:14931
ncx_init_user_types
status_t ncx_init_user_types(void)
Initialize the user types after ietf-inet-types module loaded.
Definition: ncx.c:14556
ncx_clr_enable_chk
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:14269
NCX_BT_INT16
@ NCX_BT_INT16
int16
Definition: ncxtypes.h:208
ncx_transaction_id_t
uint64 ncx_transaction_id_t
transaction is scoped to single session write operation on a config
Definition: ncxtypes.h:548
NCX_CVTTYP_H
@ NCX_CVTTYP_H
SIL or SIL-SA H file.
Definition: ncxtypes.h:995
ncx_get_data_class_enum
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:7400
ncx_get_useprefix
boolean ncx_get_useprefix(void)
Get the use_prefix value.
Definition: ncx.c:10087
xmlns_set_modptrs
void xmlns_set_modptrs(const xmlChar *modname, void *modptr)
get the module pointer for the namespace ID
Definition: xmlns.c:1176
ncx_get_version
status_t ncx_get_version(xmlChar *buffer, uint32 buffsize)
Get the the Yuma version ID string.
Definition: ncx.c:9577
ses_msg_cleanup
void ses_msg_cleanup(void)
Cleanup the session message manager module data structures.
Definition: ses_msg.c:242