diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-07-23 09:41:28 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-07-23 09:41:28 +0000 |
commit | 76ffd5ce84e4adb412833c8186fc6b26b656947f (patch) | |
tree | 11da7c12c05e9d2a85ec40022d43a970184bb867 /doc | |
parent | Initial commit. (diff) | |
download | libyang3-upstream/3.1.0.tar.xz libyang3-upstream/3.1.0.zip |
Adding upstream version 3.1.0.upstream/3.1.0
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'doc')
-rw-r--r-- | doc/build.dox | 139 | ||||
-rw-r--r-- | doc/cesnet-style.css | 106 | ||||
-rw-r--r-- | doc/compat_report_1_2.html | 7645 | ||||
-rw-r--r-- | doc/compat_report_2_3.html | 3221 | ||||
-rw-r--r-- | doc/logo.png | bin | 0 -> 2792 bytes | |||
-rw-r--r-- | doc/transition_1_2.dox | 406 | ||||
-rw-r--r-- | doc/transition_2_3.dox | 74 |
7 files changed, 11591 insertions, 0 deletions
diff --git a/doc/build.dox b/doc/build.dox new file mode 100644 index 0000000..d5f69b4 --- /dev/null +++ b/doc/build.dox @@ -0,0 +1,139 @@ +/** + * @page build Building libyang + * + * [TOC] + * + * libyang utilizes CMake build system to detect necessary dependencies, checkout the build environment and prepare Makefiles + * for the compilation of the library and acompanied tools. + * + * @section buildRequirements Requirements + * + * @subsection buildRequirementsCompile Building Requirements + * + * - C compiler (gcc, clang, ...) + * - CMake >= 2.8.12 + * - libpcre2 (including headers - devel package) >= 10.30 + * + * @subsubsection buildRequirementsCompileOptional Optional Requirements + * + * - doxygen (for generating documentation) + * - cmocka >= 1.0.0 (for tests) + * - valgrind (for enhanced testing) + * - gcov (for code coverage) + * - lcov (for code coverage) + * - genhtml (for code coverage) + * + * @subsection buildRequirementsRun Runtime Requirements + * + * - libpcre2 (runtime package) >= 10.30 + * + * @section buildCommands Building + * + * To simply build libyang library and the accompanied tools with the default settings, follow these steps (the `#` character + * indicates command(s) to run with `root` privileges): + * + * $ mkdir build; cd build + * $ cmake .. + * $ make + * # make install + * + * The default settings can be changed with various CMake variables set via command line or using e.g. `ccmake(1)` tool. + * The following sections introduces those variables and explain their meaning. + * + * @section buildTypes Build Types + * + * There are several build types according to the primary goal of using the built binaries. + * + * @subsection buildTypesRelese Release + * + * Build type to produce final binaries for production use without any debug option. The compiler flags are set as follows: + * + * -Wall -Wextra -Wno-missing-field-initializers -std=c99 -O3 -DNDEBUG + * + * Here is the list of the selected additional options available in the *Release* build type. + * + * Option | Description | Default + * ----------------------|------------------------------------------------------------------------------------|-------- + * ENABLE_BUILD_TESTS | Build tests. | OFF + * ENABLE_VALGRIND_TESTS | Build tests with valgrind. | OFF + * ENABLE_COVERAGE | Build code coverage report from tests. | OFF + * ENABLE_FUZZ_TARGETS | Build target programs suitable for fuzzing with AFL. | OFF + * BUILD_SHARED_LIBS | Build shared (.so) instead of static (.a) library | ON + * INTERNAL_DOCS | Include developers notes and internal API description into generated Documentation | OFF + * + * Here is the list of available important targets for the `make(1)` tool: + * + * Target | Description + * -------|------------------------------------------------------------------------------------------------------------ + * all | Default target, builds libyang library (.so), `yanglint(1)` and `yangre(1)`. + * clean | Removes files generated by the make process. + * cclean | Extends the `clean` target by removing all the cmake generated files. + * doc | Generate HTML documentation. Requires `doxygen(1)`. + * + * @subsection buildTypesDebug Debug + * + * `Debug` is the default build type, the produced binaries include additional debug information and the prepared tests are + * also built. The compiler flags are set as follows: + * + * -Wall -Wextra -Wno-missing-field-initializers -std=c99 -g3 -O0 + * + * Here is the list of the selected additional options available in the *Debug* build type. + * + * Option | Description | Default + * ----------------------|------------------------------------------------------------------------------------|-------- + * ENABLE_BUILD_TESTS | Build tests. | ON + * ENABLE_VALGRIND_TESTS | Build tests with valgrind. | ON + * ENABLE_COVERAGE | Build code coverage report from tests. | OFF + * ENABLE_FUZZ_TARGETS | Build target programs suitable for fuzzing with AFL. | OFF + * BUILD_SHARED_LIBS | Build shared (.so) instead of static (.a) library | ON + * INTERNAL_DOCS | Include developers notes and internal API description into generated Documentation | OFF + * + * Here is the list of available important targets for the `make(1)` tool: + * + * Target | Description + * -------------|------------------------------------------------------------------------------------------------------ + * all | Default target, builds libyang library (.so), `yanglint(1)` and `yangre(1)`. + * clean | Removes files generated by the make process. + * cclean | Extends the `clean` target by removing all the cmake generated files. + * doc | Generate HTML documentation. Requires `doxygen(1)`. + * test | Run implementation tests. Requires `cmocka` (and `valgrind(1)` for part of the tests). + * format | Reformat source codes using `uncrustify(1)`. + * format-check | Dry-run of the `format` target. + * + * @subsection buildTypesABICheck ABICheck + * + * Special build type to perform check of the ABI/API compatibility and generate reports. In addition to the basic + * requirements, the build type requires some of the <a href="https://abi-laboratory.pro/">ABI Laboratory tools</a>: + * `abi-dumper(1)` and `abi-compliance-checker(1)`. + * + * The compiler flags are set as follows: + * + * -Wall -Wextra -Wno-missing-field-initializers -std=c99 -g -Og + * + * All the additional options are switched OFF and the settings should not be changed. + * + * Here is the list of available important targets for the `make(1)` tool: + * + * Target | Description + * -------------|------------------------------------------------------------------------------------------------------ + * all | Default target, builds libyang library (.so), `yanglint(1)` and `yangre(1)`. + * clean | Removes files generated by the make process. + * cclean | Extends the `clean` target by removing all the cmake generated files. + * doc | Generate HTML documentation. Requires `doxygen(1)`. + * abi-check | Check the backward compatibility of the API/ABI changes. Requires `abi-compliance-checker(1)` and `abi-dump(1)`. + * abi-dump | Helper target for `abi-check` generating API/ABI reports. Requires `abi-dump(1)`. + + * @subsection buildTypesDocOnly DocOnly + * + * Special build type to avoid any requirements except those for building documentation. There are no compiler flags set + * since the build type does not allow building any binary output. The settings of the additional options should not be + * changed. + * + * Here is the list of available important targets for the `make(1)` tool: + * + * Target | Description + * -------------|------------------------------------------------------------------------------------------------------ + * all | Default target, does nothing. + * doc | Generate HTML documentation. Requires `doxygen(1)`. + * + */ diff --git a/doc/cesnet-style.css b/doc/cesnet-style.css new file mode 100644 index 0000000..296c260 --- /dev/null +++ b/doc/cesnet-style.css @@ -0,0 +1,106 @@ +/* CESNET blue: #0068a2 */
+
+body {
+ background-color: #fff;
+}
+
+div.header {
+ background-image: none;
+ background-color: #fff;
+}
+
+div.contents {
+ background-color: #fff;
+ padding: 1.618em 3.236em;
+ max-width: 60em;
+ margin: auto;
+ margin-left: 0;
+ text-align: justify;
+}
+
+.sm-dox {
+ background-image: none;
+ background-color: #0068a2;
+ border-bottom: 1px solid white;
+}
+
+.sm-dox a {
+ background-image: none;
+ border-right: 1px solid white;
+ color: white;
+ text-shadow: none;
+}
+
+.sm-dox a:hover {
+ background-image: none;
+ background-color: rgba(0,0,0,0.3);
+}
+
+.sm-dox ul a:hover {
+ background-image: none;
+ background-color: #ddd;
+ text-shadow: none;
+ color: #555;
+}
+
+.navpath ul {
+ background-image: none;
+ background-color: #0068a2;
+}
+
+.navpath li.footer {
+ color: white;
+}
+img.footer {
+ height: 20px;
+}
+
+.navpath li.navelem a {
+ color: white;
+ text-shadow: none;
+}
+
+#side-nav {
+ background-color: #343131;
+}
+
+#nav-tree::-webkit-scrollbar {
+ width: 5px;
+}
+
+#nav-tree::-webkit-scrollbar-track {
+ background: #333;
+ border-radius: 50px;
+ }
+
+#nav-tree::-webkit-scrollbar-thumb {
+ background: #ccc;
+ border-radius: 50px;
+}
+
+#nav-tree {
+ background: none;
+}
+
+#nav-tree .item {
+ padding-top: 10px;
+ padding-bottom: 10px;
+}
+
+#nav-tree .item:hover {
+ background-color: rgba(255,255,255,0.2);
+}
+
+#nav-tree a {
+ color: #fff;
+ font-size: 1.2em;
+}
+
+#nav-tree .selected {
+ background-image: none;
+ background-color: #0068a2;
+}
+
+#nav-tree-contents {
+ margin: 0;
+}
diff --git a/doc/compat_report_1_2.html b/doc/compat_report_1_2.html new file mode 100644 index 0000000..5bcf4d9 --- /dev/null +++ b/doc/compat_report_1_2.html @@ -0,0 +1,7645 @@ +<!-- kind:binary;verdict:incompatible;affected:81.2;added:153;removed:114;type_problems_high:17;type_problems_medium:37;type_problems_low:90;interface_problems_high:18;interface_problems_medium:57;interface_problems_low:57;changed_constants:0;type_changes_other:7;tool_version:2.3 --> +<!-- kind:source;verdict:incompatible;affected:85.9;added:154;removed:114;type_problems_high:112;type_problems_medium:2;type_problems_low:9;interface_problems_high:13;interface_problems_medium:47;interface_problems_low:52;changed_constants:0;type_changes_other:24;interface_changes_other:10;tool_version:2.3 --> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> +<meta name="viewport" content="width=device-width,initial-scale=1" /> +<meta name="keywords" content="libyang.so, compatibility, API, ABI, report" /> +<meta name="description" content="API/ABI compatibility report for the libyang.so object between 1.9.19 and 2.0.0 versions" /> +<title>libyang.so: 1.9.19 to 2.0.0 compatibility report</title> +<style type="text/css"> +body { + font-family:Arial, sans-serif; + background-color:White; + color:Black; +} +hr { + color:Black; + background-color:Black; + height:1px; + border:0; +} +h1 { + margin-bottom:0px; + padding-bottom:0px; + font-size:1.625em; +} +h2 { + margin-bottom:0px; + padding-bottom:0px; + font-size:1.25em; + white-space:nowrap; +} +span.section { + font-weight:bold; + cursor:pointer; + color:#003E69; + white-space:nowrap; + margin-left:0.3125em; +} +span.new_sign { + font-weight:bold; + margin-left:1.65em; + color:#003E69; +} +span.new_sign_lbl { + margin-left:3em; + font-size:1em; + color:Black; +} +span:hover.section { + color:#336699; +} +span.sect_aff { + cursor:pointer; + padding-left:1.55em; + font-size:0.875em; + color:#cc3300; +} +span.sect_info { + cursor:pointer; + padding-left:1.55em; + font-size:0.875em; + color:Black; +} +span.ext { + font-weight:normal; +} +span.h_name { + color:#cc3300; + font-size:0.875em; + font-weight:bold; +} +div.h_list, div.lib_list { + font-size:0.94em; + padding-left:0.4em; +} +span.ns { + color:#408080; + font-size:0.94em; +} +span.lib_name { + color:Green; + font-size:0.875em; + font-weight:bold; +} +span.iname { + font-weight:bold; + color:#003E69; + margin-left:0.3125em; +} +span.iname_b { + font-weight:bold; +} +span.iname_a { + color:#333333; + font-weight:bold; + font-size:0.94em; +} +span.sym_p { + font-weight:normal; + white-space:normal; +} +span.sym_pd { + white-space:normal; +} +span.sym_p span, span.sym_pd span { + white-space:nowrap; +} +div.affect { + padding-left:1em; + padding-bottom:10px; + font-size:0.87em; + font-style:italic; + line-height:0.9em; +} +div.affected { + padding-left:1.9em; + padding-top:10px; +} +table.ptable { + border-collapse:collapse; + border:1px outset black; + margin-left:0.95em; + margin-top:3px; + margin-bottom:3px; + width:56.25em; +} +table.ptable td { + border:1px solid gray; + padding:3px; + font-size:0.875em; + text-align:left; + vertical-align:top; + max-width:28em; + word-wrap:break-word; +} +table.ptable th.pn { + width:2%; +} +table.ptable th.chg { + width:47%; +} +table.vtable { + border-collapse:collapse; + border:1px outset black; + margin-left:1.9em; + margin-top:0.7em; +} +table.vtable td { + border:1px solid gray; + padding:3px; + font-size:0.875em; + vertical-align:top; + max-width:450px; + word-wrap:break-word; +} +table.ptable th, table.vtable th { + background-color:#eeeeee; + font-weight:bold; + color:#333333; + font-family:Verdana, Arial; + font-size:0.875em; + border:1px solid gray; + text-align:center; + vertical-align:top; + white-space:nowrap; + padding:3px; +} +table.summary { + border-collapse:collapse; + border:1px outset black; +} +table.summary th { + background-color:#eeeeee; + font-weight:normal; + text-align:left; + font-size:0.94em; + white-space:nowrap; + border:1px inset gray; + padding:3px; +} +table.summary td { + text-align:right; + white-space:nowrap; + border:1px inset gray; + padding:3px 5px 3px 10px; +} +span.mngl { + padding-left:1em; + font-size:0.875em; + cursor:text; + color:#444444; + font-weight:bold; +} +span.pleft { + padding-left:2.5em; +} +span.sym_ver { + color:#333333; + white-space:nowrap; + font-family:"DejaVu Sans Mono", Monospace; +} +span.attr { + color:#333333; + font-weight:normal; +} +span.color_p { + font-style:italic; + color:Brown; +} +span.p { + font-style:italic; +} +span.fp { + font-style:italic; + background-color:#DCDCDC; +} +span.ttype { + font-weight:normal; +} +span.nowrap { + white-space:nowrap; +} +span.value { + font-weight:bold; +} +.passed { + background-color:#CCFFCC; + font-weight:normal; +} +.warning { + background-color:#F4F4AF; + font-weight:normal; +} +.failed { + background-color:#FFCCCC; + font-weight:normal; +} +.new { + background-color:#C6DEFF; + font-weight:normal; +} +.compatible { + background-color:#CCFFCC; + font-weight:normal; +} +.almost_compatible { + background-color:#FFDAA3; + font-weight:normal; +} +.incompatible { + background-color:#FFCCCC; + font-weight:normal; +} +.gray { + background-color:#DCDCDC; + font-weight:normal; +} +.top_ref { + font-size:0.69em; +} +.footer { + font-size:0.75em; +} + +.tabset { + float:left; +} +a.tab { + border:1px solid Black; + float:left; + margin:0px 5px -1px 0px; + padding:3px 5px 3px 5px; + position:relative; + font-size:0.875em; + background-color:#DDD; + text-decoration:none; + color:Black; +} +a.disabled:hover +{ + color:Black; + background:#EEE; +} +a.active:hover +{ + color:Black; + background:White; +} +a.active { + border-bottom-color:White; + background-color:White; +} +div.tab { + border-top:1px solid Black; + padding:0px; + width:100%; + clear:both; +} +</style> +<script type="text/javascript" language="JavaScript"> +<!-- +function showContent(header, id) +{ + e = document.getElementById(id); + if(e.style.display == 'none') + { + e.style.display = 'block'; + e.style.visibility = 'visible'; + header.innerHTML = header.innerHTML.replace(/\[[^0-9 ]\]/gi,"[−]"); + } + else + { + e.style.display = 'none'; + e.style.visibility = 'hidden'; + header.innerHTML = header.innerHTML.replace(/\[[^0-9 ]\]/gi,"[+]"); + } +} +function initTabs() +{ + var url = window.location.href; + if(url.indexOf('_Source_')!=-1 || url.indexOf('#Source')!=-1) + { + var tab1 = document.getElementById('BinaryID'); + var tab2 = document.getElementById('SourceID'); + tab1.className='tab disabled'; + tab2.className='tab active'; + } + var sets = document.getElementsByTagName('div'); + for (var i = 0; i < sets.length; i++) + { + if (sets[i].className.indexOf('tabset') != -1) + { + var tabs = []; + var links = sets[i].getElementsByTagName('a'); + for (var j = 0; j < links.length; j++) + { + if (links[j].className.indexOf('tab') != -1) + { + tabs.push(links[j]); + links[j].tabs = tabs; + var tab = document.getElementById(links[j].href.substr(links[j].href.indexOf('#') + 1)); + //reset all tabs on start + if (tab) + { + if (links[j].className.indexOf('active')!=-1) { + tab.style.display = 'block'; + } + else { + tab.style.display = 'none'; + } + } + links[j].onclick = function() + { + var tab = document.getElementById(this.href.substr(this.href.indexOf('#') + 1)); + if (tab) + { + //reset all tabs before change + for (var k = 0; k < this.tabs.length; k++) + { + document.getElementById(this.tabs[k].href.substr(this.tabs[k].href.indexOf('#') + 1)).style.display = 'none'; + this.tabs[k].className = this.tabs[k].className.replace('active', 'disabled'); + } + this.className = 'tab active'; + tab.style.display = 'block'; + // window.location.hash = this.id.replace('ID', ''); + return false; + } + } + } + } + } + } + if(url.indexOf('#')!=-1) { + location.href=location.href; + } +} +if (window.addEventListener) window.addEventListener('load', initTabs, false); +else if (window.attachEvent) window.attachEvent('onload', initTabs); +--> +</script> +</head> +<body><a name='Source'></a><a name='Binary'></a><a name='Top'></a><h1>API compatibility report for the <span style='color:Blue;'>libyang.so</span> object between <span style='color:Red;'>1.9.19</span> and <span style='color:Red;'>2.0.0</span> versions on <span style='color:Blue;'>x86_64</span></h1> + + <br/> + <div class='tabset'> + <a id='BinaryID' href='#BinaryTab' class='tab active'>Binary<br/>Compatibility</a> + <a id='SourceID' href='#SourceTab' style='margin-left:3px' class='tab disabled'>Source<br/>Compatibility</a> + </div><div id='BinaryTab' class='tab'> +<h2>Test Info</h2><hr/> +<table class='summary'> +<tr><th>Module Name</th><td>libyang.so</td></tr> +<tr><th>Version #1</th><td>1.9.19</td></tr> +<tr><th>Version #2</th><td>2.0.0</td></tr> +<tr><th>Arch</th><td>x86_64</td></tr> +<tr><th>GCC Version</th><td>7.5.0</td></tr> +<tr><th>Subject</th><td width='150px'>Binary Compatibility</td></tr> +</table> +<h2>Test Results</h2><hr/> +<table class='summary'><tr><th>Total Header Files</th><td><a href='#Headers' style='color:Blue;'>7</a></td></tr> +<tr><th>Total Source Files</th><td><a href='#Sources' style='color:Blue;'>11</a></td></tr> +<tr><th>Total Objects</th><td><a href='#Libs' style='color:Blue;'>1</a></td></tr> +<tr><th>Total Symbols / Types</th><td>174 / 22</td></tr> +<tr><th>Compatibility</th> +<td class='incompatible'>18.8%</td> +</tr> +</table> +<h2>Problem Summary</h2><hr/> +<table class='summary'><tr><th></th><th style='text-align:center;'>Severity</th><th style='text-align:center;'>Count</th></tr><tr><th>Added Symbols</th><td>-</td><td class='new'><a href='#Binary_Added' style='color:Blue;'>153</a></td></tr> +<tr><th>Removed Symbols</th><td>High</td><td class='failed'><a href='#Binary_Removed' style='color:Blue;'>114</a></td></tr> +<tr><th rowspan='3'>Problems with<br/>Data Types</th><td>High</td><td class='failed'><a href='#Type_Binary_Problems_High' style='color:Blue;'>17</a></td></tr> +<tr><td>Medium</td><td class='failed'><a href='#Type_Binary_Problems_Medium' style='color:Blue;'>37</a></td></tr> +<tr><td>Low</td><td class='warning'><a href='#Type_Binary_Problems_Low' style='color:Blue;'>90</a></td></tr> +<tr><th rowspan='3'>Problems with<br/>Symbols</th><td>High</td><td class='failed'><a href='#Symbol_Binary_Problems_High' style='color:Blue;'>18</a></td></tr> +<tr><td>Medium</td><td class='failed'><a href='#Symbol_Binary_Problems_Medium' style='color:Blue;'>57</a></td></tr> +<tr><td>Low</td><td class='warning'><a href='#Symbol_Binary_Problems_Low' style='color:Blue;'>57</a></td></tr> +<tr><th>Problems with<br/>Constants</th><td>Low</td><td>0</td></tr> +<tr><th>Other Changes<br/>in Data Types</th><td>-</td><td class='passed'><a href='#Other_Binary_Changes_In_Types' style='color:Blue;'>7</a></td></tr> +</table> + +<a name='Binary_Added'></a><h2>Added Symbols <span class='new'> 153 </span></h2><hr/> +<span class='h_name'>context.h</span>, <span class='lib_name'>libyang.so.2.0.0</span><br/> +<span class="iname">ly_ctx_get_module_implemented <span class='sym_p'><span>( struct ly_ctx const* <span class='color_p'>ctx</span></span>, <span>char const* <span class='color_p'>name</span></span> )</span></span><br/> +<span class="iname">ly_ctx_get_module_implemented_ns <span class='sym_p'><span>( struct ly_ctx const* <span class='color_p'>ctx</span></span>, <span>char const* <span class='color_p'>ns</span></span> )</span></span><br/> +<span class="iname">ly_ctx_get_module_latest <span class='sym_p'><span>( struct ly_ctx const* <span class='color_p'>ctx</span></span>, <span>char const* <span class='color_p'>name</span></span> )</span></span><br/> +<span class="iname">ly_ctx_get_module_latest_ns <span class='sym_p'><span>( struct ly_ctx const* <span class='color_p'>ctx</span></span>, <span>char const* <span class='color_p'>ns</span></span> )</span></span><br/> +<span class="iname">ly_ctx_get_module_ns <span class='sym_p'><span>( struct ly_ctx const* <span class='color_p'>ctx</span></span>, <span>char const* <span class='color_p'>ns</span></span>, <span>char const* <span class='color_p'>revision</span></span> )</span></span><br/> +<span class="iname">ly_ctx_get_yanglib_data <span class='sym_p'><span>( struct ly_ctx const* <span class='color_p'>ctx</span></span>, <span>struct lyd_node** <span class='color_p'>root_p</span></span> )</span></span><br/> +<span class="iname">ly_ctx_get_yanglib_id <span class='sym_p'><span>( struct ly_ctx const* <span class='color_p'>ctx</span></span> )</span></span><br/> +<span class="iname">ly_ctx_reset_latests <span class='sym_p'><span>( struct ly_ctx* <span class='color_p'>ctx</span></span> )</span></span><br/> +<span class="iname">ly_ctx_set_options <span class='sym_p'><span>( struct ly_ctx* <span class='color_p'>ctx</span></span>, <span>uint16_t <span class='color_p'>option</span></span> )</span></span><br/> +<span class="iname">ly_ctx_unset_options <span class='sym_p'><span>( struct ly_ctx* <span class='color_p'>ctx</span></span>, <span>uint16_t <span class='color_p'>option</span></span> )</span></span><br/> +<span class="iname">ly_ctx_unset_searchdir <span class='sym_p'><span>( struct ly_ctx* <span class='color_p'>ctx</span></span>, <span>char const* <span class='color_p'>value</span></span> )</span></span><br/> +<span class="iname">ly_ctx_unset_searchdir_last <span class='sym_p'><span>( struct ly_ctx* <span class='color_p'>ctx</span></span>, <span>uint32_t <span class='color_p'>count</span></span> )</span></span><br/> +<br/> +<span class='h_name'>in.h</span>, <span class='lib_name'>libyang.so.2.0.0</span><br/> +<span class="iname">ly_in_fd <span class='sym_p'><span>( struct ly_in* <span class='color_p'>in</span></span>, <span>int <span class='color_p'>fd</span></span> )</span></span><br/> +<span class="iname">ly_in_file <span class='sym_p'><span>( struct ly_in* <span class='color_p'>in</span></span>, <span>FILE* <span class='color_p'>f</span></span> )</span></span><br/> +<span class="iname">ly_in_filepath <span class='sym_p'><span>( struct ly_in* <span class='color_p'>in</span></span>, <span>char const* <span class='color_p'>filepath</span></span>, <span>size_t <span class='color_p'>len</span></span> )</span></span><br/> +<span class="iname">ly_in_free <span class='sym_p'><span>( struct ly_in* <span class='color_p'>in</span></span>, <span>ly_bool <span class='color_p'>destroy</span></span> )</span></span><br/> +<span class="iname">ly_in_memory <span class='sym_p'><span>( struct ly_in* <span class='color_p'>in</span></span>, <span>char const* <span class='color_p'>str</span></span> )</span></span><br/> +<span class="iname">ly_in_new_fd <span class='sym_p'><span>( int <span class='color_p'>fd</span></span>, <span>struct ly_in** <span class='color_p'>in</span></span> )</span></span><br/> +<span class="iname">ly_in_new_file <span class='sym_p'><span>( FILE* <span class='color_p'>f</span></span>, <span>struct ly_in** <span class='color_p'>in</span></span> )</span></span><br/> +<span class="iname">ly_in_new_filepath <span class='sym_p'><span>( char const* <span class='color_p'>filepath</span></span>, <span>size_t <span class='color_p'>len</span></span>, <span>struct ly_in** <span class='color_p'>in</span></span> )</span></span><br/> +<span class="iname">ly_in_new_memory <span class='sym_p'><span>( char const* <span class='color_p'>str</span></span>, <span>struct ly_in** <span class='color_p'>in</span></span> )</span></span><br/> +<span class="iname">ly_in_parsed <span class='sym_p'><span>( struct ly_in const* <span class='color_p'>in</span></span> )</span></span><br/> +<span class="iname">ly_in_reset <span class='sym_p'><span>( struct ly_in* <span class='color_p'>in</span></span> )</span></span><br/> +<span class="iname">ly_in_type <span class='sym_p'><span>( struct ly_in const* <span class='color_p'>in</span></span> )</span></span><br/> +<br/> +<span class='h_name'>log.h</span>, <span class='lib_name'>libyang.so.2.0.0</span><br/> +<span class="iname">ly_err_last <span class='sym_p'><span>( struct ly_ctx const* <span class='color_p'>ctx</span></span> )</span></span><br/> +<span class="iname">ly_errcode <span class='sym_p'><span>( struct ly_ctx const* <span class='color_p'>ctx</span></span> )</span></span><br/> +<span class="iname">ly_log_dbg_groups <span class='sym_p'><span>( uint32_t <span class='color_p'>dbg_groups</span></span> )</span></span><br/> +<span class="iname">ly_log_level <span class='sym_p'><span>( enum LY_LOG_LEVEL <span class='color_p'>level</span></span> )</span></span><br/> +<br/> +<span class='h_name'>out.h</span>, <span class='lib_name'>libyang.so.2.0.0</span><br/> +<span class="iname">ly_out_clb <span class='sym_p'><span>( struct ly_out* <span class='color_p'>out</span></span>, <span>ly_write_clb <span class='color_p'>writeclb</span></span> )</span></span><br/> +<span class="iname">ly_out_clb_arg <span class='sym_p'><span>( struct ly_out* <span class='color_p'>out</span></span>, <span>void* <span class='color_p'>arg</span></span> )</span></span><br/> +<span class="iname">ly_out_fd <span class='sym_p'><span>( struct ly_out* <span class='color_p'>out</span></span>, <span>int <span class='color_p'>fd</span></span> )</span></span><br/> +<span class="iname">ly_out_file <span class='sym_p'><span>( struct ly_out* <span class='color_p'>out</span></span>, <span>FILE* <span class='color_p'>f</span></span> )</span></span><br/> +<span class="iname">ly_out_filepath <span class='sym_p'><span>( struct ly_out* <span class='color_p'>out</span></span>, <span>char const* <span class='color_p'>filepath</span></span> )</span></span><br/> +<span class="iname">ly_out_free <span class='sym_p'><span>( struct ly_out* <span class='color_p'>out</span></span>, <span>void(*<span class='color_p'>clb_arg_destructor</span>)(void*)</span>, <span>ly_bool <span class='color_p'>destroy</span></span> )</span></span><br/> +<span class="iname">ly_out_new_clb <span class='sym_p'><span>( ly_write_clb <span class='color_p'>writeclb</span></span>, <span>void* <span class='color_p'>user_data</span></span>, <span>struct ly_out** <span class='color_p'>out</span></span> )</span></span><br/> +<span class="iname">ly_out_new_fd <span class='sym_p'><span>( int <span class='color_p'>fd</span></span>, <span>struct ly_out** <span class='color_p'>out</span></span> )</span></span><br/> +<span class="iname">ly_out_new_file <span class='sym_p'><span>( FILE* <span class='color_p'>f</span></span>, <span>struct ly_out** <span class='color_p'>out</span></span> )</span></span><br/> +<span class="iname">ly_out_new_filepath <span class='sym_p'><span>( char const* <span class='color_p'>filepath</span></span>, <span>struct ly_out** <span class='color_p'>out</span></span> )</span></span><br/> +<span class="iname">ly_out_new_memory <span class='sym_p'><span>( char** <span class='color_p'>strp</span></span>, <span>size_t <span class='color_p'>size</span></span>, <span>struct ly_out** <span class='color_p'>out</span></span> )</span></span><br/> +<span class="iname">ly_out_printed <span class='sym_p'><span>( struct ly_out const* <span class='color_p'>out</span></span> )</span></span><br/> +<span class="iname">ly_out_reset <span class='sym_p'><span>( struct ly_out* <span class='color_p'>out</span></span> )</span></span><br/> +<span class="iname">ly_out_type <span class='sym_p'><span>( struct ly_out const* <span class='color_p'>out</span></span> )</span></span><br/> +<span class="iname">ly_print <span class='sym_p'><span>( struct ly_out* <span class='color_p'>out</span></span>, <span>char const* <span class='color_p'>format</span></span>, <span>...</span> )</span></span><br/> +<span class="iname">ly_print_flush <span class='sym_p'><span>( struct ly_out* <span class='color_p'>out</span></span> )</span></span><br/> +<span class="iname">ly_write <span class='sym_p'><span>( struct ly_out* <span class='color_p'>out</span></span>, <span>char const* <span class='color_p'>buf</span></span>, <span>size_t <span class='color_p'>len</span></span> )</span></span><br/> +<br/> +<span class='h_name'>parser_data.h</span>, <span class='lib_name'>libyang.so.2.0.0</span><br/> +<span class="iname">lyd_parse_data <span class='sym_p'><span>( struct ly_ctx const* <span class='color_p'>ctx</span></span>, <span>struct ly_in* <span class='color_p'>in</span></span>, <span>enum LYD_FORMAT <span class='color_p'>format</span></span>, <span>uint32_t <span class='color_p'>parse_options</span></span>, <span>uint32_t <span class='color_p'>validate_options</span></span>, <span>struct lyd_node** <span class='color_p'>tree</span></span> )</span></span><br/> +<span class="iname">lyd_parse_data_fd <span class='sym_p'><span>( struct ly_ctx const* <span class='color_p'>ctx</span></span>, <span>int <span class='color_p'>fd</span></span>, <span>enum LYD_FORMAT <span class='color_p'>format</span></span>, <span>uint32_t <span class='color_p'>parse_options</span></span>, <span>uint32_t <span class='color_p'>validate_options</span></span>, <span>struct lyd_node** <span class='color_p'>tree</span></span> )</span></span><br/> +<span class="iname">lyd_parse_data_mem <span class='sym_p'><span>( struct ly_ctx const* <span class='color_p'>ctx</span></span>, <span>char const* <span class='color_p'>data</span></span>, <span>enum LYD_FORMAT <span class='color_p'>format</span></span>, <span>uint32_t <span class='color_p'>parse_options</span></span>, <span>uint32_t <span class='color_p'>validate_options</span></span>, <span>struct lyd_node** <span class='color_p'>tree</span></span> )</span></span><br/> +<span class="iname">lyd_parse_data_path <span class='sym_p'><span>( struct ly_ctx const* <span class='color_p'>ctx</span></span>, <span>char const* <span class='color_p'>path</span></span>, <span>enum LYD_FORMAT <span class='color_p'>format</span></span>, <span>uint32_t <span class='color_p'>parse_options</span></span>, <span>uint32_t <span class='color_p'>validate_options</span></span>, <span>struct lyd_node** <span class='color_p'>tree</span></span> )</span></span><br/> +<span class="iname">lyd_parse_notif <span class='sym_p'><span>( struct ly_ctx const* <span class='color_p'>ctx</span></span>, <span>struct ly_in* <span class='color_p'>in</span></span>, <span>enum LYD_FORMAT <span class='color_p'>format</span></span>, <span>struct lyd_node** <span class='color_p'>tree</span></span>, <span>struct lyd_node** <span class='color_p'>ntf</span></span> )</span></span><br/> +<span class="iname">lyd_parse_reply <span class='sym_p'><span>( struct lyd_node const* <span class='color_p'>request</span></span>, <span>struct ly_in* <span class='color_p'>in</span></span>, <span>enum LYD_FORMAT <span class='color_p'>format</span></span>, <span>struct lyd_node** <span class='color_p'>tree</span></span>, <span>struct lyd_node** <span class='color_p'>op</span></span> )</span></span><br/> +<span class="iname">lyd_parse_rpc <span class='sym_p'><span>( struct ly_ctx const* <span class='color_p'>ctx</span></span>, <span>struct ly_in* <span class='color_p'>in</span></span>, <span>enum LYD_FORMAT <span class='color_p'>format</span></span>, <span>struct lyd_node** <span class='color_p'>tree</span></span>, <span>struct lyd_node** <span class='color_p'>op</span></span> )</span></span><br/> +<span class="iname">lyd_validate_all <span class='sym_p'><span>( struct lyd_node** <span class='color_p'>tree</span></span>, <span>struct ly_ctx const* <span class='color_p'>ctx</span></span>, <span>uint32_t <span class='color_p'>val_opts</span></span>, <span>struct lyd_node** <span class='color_p'>diff</span></span> )</span></span><br/> +<span class="iname">lyd_validate_module <span class='sym_p'><span>( struct lyd_node** <span class='color_p'>tree</span></span>, <span>struct lys_module const* <span class='color_p'>module</span></span>, <span>uint32_t <span class='color_p'>val_opts</span></span>, <span>struct lyd_node** <span class='color_p'>diff</span></span> )</span></span><br/> +<span class="iname">lyd_validate_op <span class='sym_p'><span>( struct lyd_node* <span class='color_p'>op_tree</span></span>, <span>struct lyd_node const* <span class='color_p'>tree</span></span>, <span>enum LYD_VALIDATE_OP <span class='color_p'>op</span></span>, <span>struct lyd_node** <span class='color_p'>diff</span></span> )</span></span><br/> +<br/> +<span class='h_name'>parser_schema.h</span>, <span class='lib_name'>libyang.so.2.0.0</span><br/> +<span class="iname">lys_parse <span class='sym_p'><span>( struct ly_ctx* <span class='color_p'>ctx</span></span>, <span>struct ly_in* <span class='color_p'>in</span></span>, <span>enum LYS_INFORMAT <span class='color_p'>format</span></span>, <span>char const** <span class='color_p'>features</span></span>, <span>struct lys_module const** <span class='color_p'>module</span></span> )</span></span><br/> +<br/> +<span class='h_name'>plugins_types.h</span>, <span class='lib_name'>libyang.so.2.0.0</span><br/> +<span class="iname">ly_err_free <span class='sym_p'><span>( void* <span class='color_p'>ptr</span></span> )</span></span><br/> +<span class="iname">ly_err_new <span class='sym_p'><span>( enum LY_LOG_LEVEL <span class='color_p'>level</span></span>, <span>enum LY_ERR <span class='color_p'>no</span></span>, <span>enum LY_VECODE <span class='color_p'>vecode</span></span>, <span>char* <span class='color_p'>msg</span></span>, <span>char* <span class='color_p'>path</span></span>, <span>char* <span class='color_p'>apptag</span></span> )</span></span><br/> +<span class="iname">ly_type_identity_isderived <span class='sym_p'><span>( struct lysc_ident* <span class='color_p'>base</span></span>, <span>struct lysc_ident* <span class='color_p'>der</span></span> )</span></span><br/> +<span class="iname">ly_type_parse_dec64 <span class='sym_p'><span>( uint8_t <span class='color_p'>fraction_digits</span></span>, <span>char const* <span class='color_p'>value</span></span>, <span>size_t <span class='color_p'>value_len</span></span>, <span>int64_t* <span class='color_p'>ret</span></span>, <span>struct ly_err_item** <span class='color_p'>err</span></span> )</span></span><br/> +<span class="iname">ly_type_parse_int <span class='sym_p'><span>( char const* <span class='color_p'>datatype</span></span>, <span>int <span class='color_p'>base</span></span>, <span>int64_t <span class='color_p'>min</span></span>, <span>int64_t <span class='color_p'>max</span></span>, <span>char const* <span class='color_p'>value</span></span>, <span>size_t <span class='color_p'>value_len</span></span>, <span>int64_t* <span class='color_p'>ret</span></span>, <span>struct ly_err_item** <span class='color_p'>err</span></span> )</span></span><br/> +<span class="iname">ly_type_parse_uint <span class='sym_p'><span>( char const* <span class='color_p'>datatype</span></span>, <span>int <span class='color_p'>base</span></span>, <span>uint64_t <span class='color_p'>max</span></span>, <span>char const* <span class='color_p'>value</span></span>, <span>size_t <span class='color_p'>value_len</span></span>, <span>uint64_t* <span class='color_p'>ret</span></span>, <span>struct ly_err_item** <span class='color_p'>err</span></span> )</span></span><br/> +<span class="iname">ly_type_print_get_prefix <span class='sym_p'><span>( struct lys_module const* <span class='color_p'>mod</span></span>, <span>enum LY_PREFIX_FORMAT <span class='color_p'>format</span></span>, <span>void* <span class='color_p'>prefix_data</span></span> )</span></span><br/> +<span class="iname">ly_type_store_resolve_prefix <span class='sym_p'><span>( struct ly_ctx const* <span class='color_p'>ctx</span></span>, <span>char const* <span class='color_p'>prefix</span></span>, <span>size_t <span class='color_p'>prefix_len</span></span>, <span>enum LY_PREFIX_FORMAT <span class='color_p'>format</span></span>, <span>void* <span class='color_p'>prefix_data</span></span> )</span></span><br/> +<span class="iname">ly_type_validate_patterns <span class='sym_p'><span>( struct lysc_pattern** <span class='color_p'>patterns</span></span>, <span>char const* <span class='color_p'>str</span></span>, <span>size_t <span class='color_p'>str_len</span></span>, <span>struct ly_err_item** <span class='color_p'>err</span></span> )</span></span><br/> +<span class="iname">ly_type_validate_range <span class='sym_p'><span>( enum LY_DATA_TYPE <span class='color_p'>basetype</span></span>, <span>struct lysc_range* <span class='color_p'>range</span></span>, <span>int64_t <span class='color_p'>value</span></span>, <span>char const* <span class='color_p'>strval</span></span>, <span>struct ly_err_item** <span class='color_p'>err</span></span> )</span></span><br/> +<span class="iname">lysc_prefixes_compile <span class='sym_p'><span>( char const* <span class='color_p'>str</span></span>, <span>size_t <span class='color_p'>str_len</span></span>, <span>struct lysp_module const* <span class='color_p'>prefix_mod</span></span>, <span>struct lysc_prefix** <span class='color_p'>prefixes</span></span> )</span></span><br/> +<span class="iname">lysc_prefixes_dup <span class='sym_p'><span>( struct lysc_prefix const* <span class='color_p'>orig</span></span>, <span>struct lysc_prefix** <span class='color_p'>dup</span></span> )</span></span><br/> +<span class="iname">lysc_prefixes_free <span class='sym_p'><span>( struct lysc_prefix* <span class='color_p'>prefixes</span></span> )</span></span><br/> +<br/> +<span class='h_name'>printer_data.h</span>, <span class='lib_name'>libyang.so.2.0.0</span><br/> +<span class="iname">lyd_print_all <span class='sym_p'><span>( struct ly_out* <span class='color_p'>out</span></span>, <span>struct lyd_node const* <span class='color_p'>root</span></span>, <span>enum LYD_FORMAT <span class='color_p'>format</span></span>, <span>uint32_t <span class='color_p'>options</span></span> )</span></span><br/> +<span class="iname">lyd_print_tree <span class='sym_p'><span>( struct ly_out* <span class='color_p'>out</span></span>, <span>struct lyd_node const* <span class='color_p'>root</span></span>, <span>enum LYD_FORMAT <span class='color_p'>format</span></span>, <span>uint32_t <span class='color_p'>options</span></span> )</span></span><br/> +<br/> +<span class='h_name'>printer_schema.h</span>, <span class='lib_name'>libyang.so.2.0.0</span><br/> +<span class="iname">lys_print_module <span class='sym_p'><span>( struct ly_out* <span class='color_p'>out</span></span>, <span>struct lys_module const* <span class='color_p'>module</span></span>, <span>enum LYS_OUTFORMAT <span class='color_p'>format</span></span>, <span>size_t <span class='color_p'>UNUSED_line_length</span></span>, <span>uint32_t <span class='color_p'>options</span></span> )</span></span><br/> +<span class="iname">lys_print_node <span class='sym_p'><span>( struct ly_out* <span class='color_p'>out</span></span>, <span>struct lysc_node const* <span class='color_p'>node</span></span>, <span>enum LYS_OUTFORMAT <span class='color_p'>format</span></span>, <span>size_t <span class='color_p'>UNUSED_line_length</span></span>, <span>uint32_t <span class='color_p'>options</span></span> )</span></span><br/> +<span class="iname">lys_print_submodule <span class='sym_p'><span>( struct ly_out* <span class='color_p'>out</span></span>, <span>struct lys_module const* <span class='color_p'>module</span></span>, <span>struct lysp_submodule const* <span class='color_p'>submodule</span></span>, <span>enum LYS_OUTFORMAT <span class='color_p'>format</span></span>, <span>size_t <span class='color_p'>UNUSED_line_length</span></span>, <span>uint32_t <span class='color_p'>options</span></span> )</span></span><br/> +<br/> +<span class='h_name'>set.h</span>, <span class='lib_name'>libyang.so.2.0.0</span><br/> +<span class="iname">ly_set_erase <span class='sym_p'><span>( struct ly_set* <span class='color_p'>set</span></span>, <span>void(*<span class='color_p'>destructor</span>)(void*)</span> )</span></span><br/> +<br/> +<span class='h_name'>tree_data.h</span>, <span class='lib_name'>libyang.so.2.0.0</span><br/> +<span class="iname">lyd_any_copy_value <span class='sym_p'><span>( struct lyd_node* <span class='color_p'>trg</span></span>, <span>union lyd_any_value const* <span class='color_p'>value</span></span>, <span>enum LYD_ANYDATA_VALUETYPE <span class='color_p'>value_type</span></span> )</span></span><br/> +<span class="iname">lyd_change_meta <span class='sym_p'><span>( struct lyd_meta* <span class='color_p'>meta</span></span>, <span>char const* <span class='color_p'>val_str</span></span> )</span></span><br/> +<span class="iname">lyd_change_term <span class='sym_p'><span>( struct lyd_node* <span class='color_p'>term</span></span>, <span>char const* <span class='color_p'>val_str</span></span> )</span></span><br/> +<span class="iname">lyd_child <span class='sym_p'><span>( struct lyd_node const* <span class='color_p'>node</span></span> )</span></span><br/> +<span class="iname">lyd_child_no_keys <span class='sym_p'><span>( struct lyd_node const* <span class='color_p'>node</span></span> )</span></span><br/> +<span class="iname">lyd_compare_meta <span class='sym_p'><span>( struct lyd_meta const* <span class='color_p'>meta1</span></span>, <span>struct lyd_meta const* <span class='color_p'>meta2</span></span> )</span></span><br/> +<span class="iname">lyd_compare_siblings <span class='sym_p'><span>( struct lyd_node const* <span class='color_p'>node1</span></span>, <span>struct lyd_node const* <span class='color_p'>node2</span></span>, <span>uint32_t <span class='color_p'>options</span></span> )</span></span><br/> +<span class="iname">lyd_compare_single <span class='sym_p'><span>( struct lyd_node const* <span class='color_p'>node1</span></span>, <span>struct lyd_node const* <span class='color_p'>node2</span></span>, <span>uint32_t <span class='color_p'>options</span></span> )</span></span><br/> +<span class="iname">lyd_diff_apply_all <span class='sym_p'><span>( struct lyd_node** <span class='color_p'>data</span></span>, <span>struct lyd_node const* <span class='color_p'>diff</span></span> )</span></span><br/> +<span class="iname">lyd_diff_apply_module <span class='sym_p'><span>( struct lyd_node** <span class='color_p'>data</span></span>, <span>struct lyd_node const* <span class='color_p'>diff</span></span>, <span>struct lys_module const* <span class='color_p'>mod</span></span>, <span>lyd_diff_cb <span class='color_p'>diff_cb</span></span>, <span>void* <span class='color_p'>cb_data</span></span> )</span></span><br/> +<span class="iname">lyd_diff_merge_all <span class='sym_p'><span>( struct lyd_node** <span class='color_p'>diff</span></span>, <span>struct lyd_node const* <span class='color_p'>src_diff</span></span> )</span></span><br/> +<span class="iname">lyd_diff_merge_module <span class='sym_p'><span>( struct lyd_node** <span class='color_p'>diff</span></span>, <span>struct lyd_node const* <span class='color_p'>src_diff</span></span>, <span>struct lys_module const* <span class='color_p'>mod</span></span>, <span>lyd_diff_cb <span class='color_p'>diff_cb</span></span>, <span>void* <span class='color_p'>cb_data</span></span> )</span></span><br/> +<span class="iname">lyd_diff_merge_tree <span class='sym_p'><span>( struct lyd_node** <span class='color_p'>diff_first</span></span>, <span>struct lyd_node* <span class='color_p'>diff_parent</span></span>, <span>struct lyd_node const* <span class='color_p'>src_sibling</span></span>, <span>lyd_diff_cb <span class='color_p'>diff_cb</span></span>, <span>void* <span class='color_p'>cb_data</span></span> )</span></span><br/> +<span class="iname">lyd_diff_reverse_all <span class='sym_p'><span>( struct lyd_node const* <span class='color_p'>src_diff</span></span>, <span>struct lyd_node** <span class='color_p'>diff</span></span> )</span></span><br/> +<span class="iname">lyd_diff_siblings <span class='sym_p'><span>( struct lyd_node const* <span class='color_p'>first</span></span>, <span>struct lyd_node const* <span class='color_p'>second</span></span>, <span>uint16_t <span class='color_p'>options</span></span>, <span>struct lyd_node** <span class='color_p'>diff</span></span> )</span></span><br/> +<span class="iname">lyd_diff_tree <span class='sym_p'><span>( struct lyd_node const* <span class='color_p'>first</span></span>, <span>struct lyd_node const* <span class='color_p'>second</span></span>, <span>uint16_t <span class='color_p'>options</span></span>, <span>struct lyd_node** <span class='color_p'>diff</span></span> )</span></span><br/> +<span class="iname">lyd_dup_meta_single <span class='sym_p'><span>( struct lyd_meta const* <span class='color_p'>meta</span></span>, <span>struct lyd_node* <span class='color_p'>node</span></span>, <span>struct lyd_meta** <span class='color_p'>dup</span></span> )</span></span><br/> +<span class="iname">lyd_dup_siblings <span class='sym_p'><span>( struct lyd_node const* <span class='color_p'>node</span></span>, <span>struct lyd_node_inner* <span class='color_p'>parent</span></span>, <span>uint32_t <span class='color_p'>options</span></span>, <span>struct lyd_node** <span class='color_p'>dup</span></span> )</span></span><br/> +<span class="iname">lyd_dup_single <span class='sym_p'><span>( struct lyd_node const* <span class='color_p'>node</span></span>, <span>struct lyd_node_inner* <span class='color_p'>parent</span></span>, <span>uint32_t <span class='color_p'>options</span></span>, <span>struct lyd_node** <span class='color_p'>dup</span></span> )</span></span><br/> +<span class="iname">lyd_find_meta <span class='sym_p'><span>( struct lyd_meta const* <span class='color_p'>first</span></span>, <span>struct lys_module const* <span class='color_p'>module</span></span>, <span>char const* <span class='color_p'>name</span></span> )</span></span><br/> +<span class="iname">lyd_find_sibling_first <span class='sym_p'><span>( struct lyd_node const* <span class='color_p'>siblings</span></span>, <span>struct lyd_node const* <span class='color_p'>target</span></span>, <span>struct lyd_node** <span class='color_p'>match</span></span> )</span></span><br/> +<span class="iname">lyd_find_xpath <span class='sym_p'><span>( struct lyd_node const* <span class='color_p'>ctx_node</span></span>, <span>char const* <span class='color_p'>xpath</span></span>, <span>struct ly_set** <span class='color_p'>set</span></span> )</span></span><br/> +<span class="iname">lyd_free_all <span class='sym_p'><span>( struct lyd_node* <span class='color_p'>node</span></span> )</span></span><br/> +<span class="iname">lyd_free_attr_siblings <span class='sym_p'><span>( struct ly_ctx const* <span class='color_p'>ctx</span></span>, <span>struct lyd_attr* <span class='color_p'>attr</span></span> )</span></span><br/> +<span class="iname">lyd_free_attr_single <span class='sym_p'><span>( struct ly_ctx const* <span class='color_p'>ctx</span></span>, <span>struct lyd_attr* <span class='color_p'>attr</span></span> )</span></span><br/> +<span class="iname">lyd_free_meta_siblings <span class='sym_p'><span>( struct lyd_meta* <span class='color_p'>meta</span></span> )</span></span><br/> +<span class="iname">lyd_free_meta_single <span class='sym_p'><span>( struct lyd_meta* <span class='color_p'>meta</span></span> )</span></span><br/> +<span class="iname">lyd_free_siblings <span class='sym_p'><span>( struct lyd_node* <span class='color_p'>node</span></span> )</span></span><br/> +<span class="iname">lyd_free_tree <span class='sym_p'><span>( struct lyd_node* <span class='color_p'>node</span></span> )</span></span><br/> +<span class="iname">lyd_insert_child <span class='sym_p'><span>( struct lyd_node* <span class='color_p'>parent</span></span>, <span>struct lyd_node* <span class='color_p'>node</span></span> )</span></span><br/> +<span class="iname">lyd_is_default <span class='sym_p'><span>( struct lyd_node const* <span class='color_p'>node</span></span> )</span></span><br/> +<span class="iname">lyd_merge_siblings <span class='sym_p'><span>( struct lyd_node** <span class='color_p'>target</span></span>, <span>struct lyd_node const* <span class='color_p'>source</span></span>, <span>uint16_t <span class='color_p'>options</span></span> )</span></span><br/> +<span class="iname">lyd_merge_tree <span class='sym_p'><span>( struct lyd_node** <span class='color_p'>target</span></span>, <span>struct lyd_node const* <span class='color_p'>source</span></span>, <span>uint16_t <span class='color_p'>options</span></span> )</span></span><br/> +<span class="iname">lyd_new_any <span class='sym_p'><span>( struct lyd_node* <span class='color_p'>parent</span></span>, <span>struct lys_module const* <span class='color_p'>module</span></span>, <span>char const* <span class='color_p'>name</span></span>, <span>void const* <span class='color_p'>value</span></span>, <span>enum LYD_ANYDATA_VALUETYPE <span class='color_p'>value_type</span></span>, <span>ly_bool <span class='color_p'>output</span></span>, <span>struct lyd_node** <span class='color_p'>node</span></span> )</span></span><br/> +<span class="iname">lyd_new_attr <span class='sym_p'><span>( struct lyd_node* <span class='color_p'>parent</span></span>, <span>char const* <span class='color_p'>module_name</span></span>, <span>char const* <span class='color_p'>name</span></span>, <span>char const* <span class='color_p'>val_str</span></span>, <span>struct lyd_attr** <span class='color_p'>attr</span></span> )</span></span><br/> +<span class="iname">lyd_new_implicit_all <span class='sym_p'><span>( struct lyd_node** <span class='color_p'>tree</span></span>, <span>struct ly_ctx const* <span class='color_p'>ctx</span></span>, <span>uint32_t <span class='color_p'>implicit_options</span></span>, <span>struct lyd_node** <span class='color_p'>diff</span></span> )</span></span><br/> +<span class="iname">lyd_new_implicit_module <span class='sym_p'><span>( struct lyd_node** <span class='color_p'>tree</span></span>, <span>struct lys_module const* <span class='color_p'>module</span></span>, <span>uint32_t <span class='color_p'>implicit_options</span></span>, <span>struct lyd_node** <span class='color_p'>diff</span></span> )</span></span><br/> +<span class="iname">lyd_new_implicit_tree <span class='sym_p'><span>( struct lyd_node* <span class='color_p'>tree</span></span>, <span>uint32_t <span class='color_p'>implicit_options</span></span>, <span>struct lyd_node** <span class='color_p'>diff</span></span> )</span></span><br/> +<span class="iname">lyd_new_inner <span class='sym_p'><span>( struct lyd_node* <span class='color_p'>parent</span></span>, <span>struct lys_module const* <span class='color_p'>module</span></span>, <span>char const* <span class='color_p'>name</span></span>, <span>ly_bool <span class='color_p'>output</span></span>, <span>struct lyd_node** <span class='color_p'>node</span></span> )</span></span><br/> +<span class="iname">lyd_new_list <span class='sym_p'><span>( struct lyd_node* <span class='color_p'>parent</span></span>, <span>struct lys_module const* <span class='color_p'>module</span></span>, <span>char const* <span class='color_p'>name</span></span>, <span>ly_bool <span class='color_p'>output</span></span>, <span>struct lyd_node** <span class='color_p'>node</span></span>, <span>...</span> )</span></span><br/> +<span class="iname">lyd_new_list2 <span class='sym_p'><span>( struct lyd_node* <span class='color_p'>parent</span></span>, <span>struct lys_module const* <span class='color_p'>module</span></span>, <span>char const* <span class='color_p'>name</span></span>, <span>char const* <span class='color_p'>keys</span></span>, <span>ly_bool <span class='color_p'>output</span></span>, <span>struct lyd_node** <span class='color_p'>node</span></span> )</span></span><br/> +<span class="iname">lyd_new_meta <span class='sym_p'><span>( struct lyd_node* <span class='color_p'>parent</span></span>, <span>struct lys_module const* <span class='color_p'>module</span></span>, <span>char const* <span class='color_p'>name</span></span>, <span>char const* <span class='color_p'>val_str</span></span>, <span>struct lyd_meta** <span class='color_p'>meta</span></span> )</span></span><br/> +<span class="iname">lyd_new_opaq <span class='sym_p'><span>( struct lyd_node* <span class='color_p'>parent</span></span>, <span>struct ly_ctx const* <span class='color_p'>ctx</span></span>, <span>char const* <span class='color_p'>name</span></span>, <span>char const* <span class='color_p'>value</span></span>, <span>char const* <span class='color_p'>module_name</span></span>, <span>struct lyd_node** <span class='color_p'>node</span></span> )</span></span><br/> +<span class="iname">lyd_new_path2 <span class='sym_p'><span>( struct lyd_node* <span class='color_p'>parent</span></span>, <span>struct ly_ctx const* <span class='color_p'>ctx</span></span>, <span>char const* <span class='color_p'>path</span></span>, <span>void const* <span class='color_p'>value</span></span>, <span>enum LYD_ANYDATA_VALUETYPE <span class='color_p'>value_type</span></span>, <span>uint32_t <span class='color_p'>options</span></span>, <span>struct lyd_node** <span class='color_p'>new_parent</span></span>, <span>struct lyd_node** <span class='color_p'>new_node</span></span> )</span></span><br/> +<span class="iname">lyd_new_term <span class='sym_p'><span>( struct lyd_node* <span class='color_p'>parent</span></span>, <span>struct lys_module const* <span class='color_p'>module</span></span>, <span>char const* <span class='color_p'>name</span></span>, <span>char const* <span class='color_p'>val_str</span></span>, <span>ly_bool <span class='color_p'>output</span></span>, <span>struct lyd_node** <span class='color_p'>node</span></span> )</span></span><br/> +<span class="iname">lyd_owner_module <span class='sym_p'><span>( struct lyd_node const* <span class='color_p'>node</span></span> )</span></span><br/> +<span class="iname">lyd_parent <span class='sym_p'><span>( struct lyd_node const* <span class='color_p'>node</span></span> )</span></span><br/> +<span class="iname">lyd_target <span class='sym_p'><span>( struct ly_path const* <span class='color_p'>path</span></span>, <span>struct lyd_node const* <span class='color_p'>tree</span></span> )</span></span><br/> +<span class="iname">lyd_unlink_tree <span class='sym_p'><span>( struct lyd_node* <span class='color_p'>node</span></span> )</span></span><br/> +<span class="iname">lyd_value_compare <span class='sym_p'><span>( struct lyd_node_term const* <span class='color_p'>node</span></span>, <span>char const* <span class='color_p'>value</span></span>, <span>size_t <span class='color_p'>value_len</span></span> )</span></span><br/> +<span class="iname">lyd_value_validate <span class='sym_p'><span>( struct ly_ctx const* <span class='color_p'>ctx</span></span>, <span>struct lyd_node_term const* <span class='color_p'>node</span></span>, <span>char const* <span class='color_p'>value</span></span>, <span>size_t <span class='color_p'>value_len</span></span>, <span>struct lyd_node const* <span class='color_p'>tree</span></span>, <span>struct lysc_type const** <span class='color_p'>realtype</span></span> )</span></span><br/> +<br/> +<span class='h_name'>tree_schema.h</span>, <span class='lib_name'>libyang.so.2.0.0</span><br/> +<span class="iname">lyext_parent2str <span class='sym_p'><span>( enum LYEXT_PARENT <span class='color_p'>type</span></span> )</span></span><br/> +<span class="iname">lys_feature_value <span class='sym_p'><span>( struct lys_module const* <span class='color_p'>module</span></span>, <span>char const* <span class='color_p'>feature</span></span> )</span></span><br/> +<span class="iname">lys_find_child <span class='sym_p'><span>( struct lysc_node const* <span class='color_p'>parent</span></span>, <span>struct lys_module const* <span class='color_p'>module</span></span>, <span>char const* <span class='color_p'>name</span></span>, <span>size_t <span class='color_p'>name_len</span></span>, <span>uint16_t <span class='color_p'>nodetype</span></span>, <span>uint32_t <span class='color_p'>options</span></span> )</span></span><br/> +<span class="iname">lys_find_expr_atoms <span class='sym_p'><span>( struct lysc_node const* <span class='color_p'>ctx_node</span></span>, <span>struct lys_module const* <span class='color_p'>cur_mod</span></span>, <span>struct lyxp_expr const* <span class='color_p'>expr</span></span>, <span>struct lysc_prefix const* <span class='color_p'>prefixes</span></span>, <span>uint32_t <span class='color_p'>options</span></span>, <span>struct ly_set** <span class='color_p'>set</span></span> )</span></span><br/> +<span class="iname">lys_find_lypath_atoms <span class='sym_p'><span>( struct ly_path const* <span class='color_p'>path</span></span>, <span>struct ly_set** <span class='color_p'>set</span></span> )</span></span><br/> +<span class="iname">lys_find_path_atoms <span class='sym_p'><span>( struct ly_ctx const* <span class='color_p'>ctx</span></span>, <span>struct lysc_node const* <span class='color_p'>ctx_node</span></span>, <span>char const* <span class='color_p'>path</span></span>, <span>ly_bool <span class='color_p'>output</span></span>, <span>struct ly_set** <span class='color_p'>set</span></span> )</span></span><br/> +<span class="iname">lys_find_xpath <span class='sym_p'><span>( struct lysc_node const* <span class='color_p'>ctx_node</span></span>, <span>char const* <span class='color_p'>xpath</span></span>, <span>uint32_t <span class='color_p'>options</span></span>, <span>struct ly_set** <span class='color_p'>set</span></span> )</span></span><br/> +<span class="iname">lys_find_xpath_atoms <span class='sym_p'><span>( struct lysc_node const* <span class='color_p'>ctx_node</span></span>, <span>char const* <span class='color_p'>xpath</span></span>, <span>uint32_t <span class='color_p'>options</span></span>, <span>struct ly_set** <span class='color_p'>set</span></span> )</span></span><br/> +<span class="iname">lys_nodetype2str <span class='sym_p'><span>( uint16_t <span class='color_p'>nodetype</span></span> )</span></span><br/> +<span class="iname">lys_value_validate <span class='sym_p'><span>( struct ly_ctx const* <span class='color_p'>ctx</span></span>, <span>struct lysc_node const* <span class='color_p'>node</span></span>, <span>char const* <span class='color_p'>value</span></span>, <span>size_t <span class='color_p'>value_len</span></span> )</span></span><br/> +<span class="iname">lysc_iffeature_value <span class='sym_p'><span>( struct lysc_iffeature const* <span class='color_p'>iff</span></span> )</span></span><br/> +<span class="iname">lysc_module_dfs_full <span class='sym_p'><span>( struct lys_module const* <span class='color_p'>mod</span></span>, <span>lysc_dfs_clb <span class='color_p'>dfs_clb</span></span>, <span>void* <span class='color_p'>data</span></span> )</span></span><br/> +<span class="iname">lysc_node_actions <span class='sym_p'><span>( struct lysc_node const* <span class='color_p'>node</span></span> )</span></span><br/> +<span class="iname">lysc_node_children <span class='sym_p'><span>( struct lysc_node const* <span class='color_p'>node</span></span>, <span>uint16_t <span class='color_p'>flags</span></span> )</span></span><br/> +<span class="iname">lysc_node_children_full <span class='sym_p'><span>( struct lysc_node const* <span class='color_p'>node</span></span>, <span>uint16_t <span class='color_p'>flags</span></span> )</span></span><br/> +<span class="iname">lysc_node_notifs <span class='sym_p'><span>( struct lysc_node const* <span class='color_p'>node</span></span> )</span></span><br/> +<span class="iname">lysc_node_parent_full <span class='sym_p'><span>( struct lysc_node const* <span class='color_p'>node</span></span> )</span></span><br/> +<span class="iname">lysc_path <span class='sym_p'><span>( struct lysc_node const* <span class='color_p'>node</span></span>, <span>enum LYSC_PATH_TYPE <span class='color_p'>pathtype</span></span>, <span>char* <span class='color_p'>buffer</span></span>, <span>size_t <span class='color_p'>buflen</span></span> )</span></span><br/> +<span class="iname">lysc_set_private <span class='sym_p'><span>( struct lysc_node const* <span class='color_p'>node</span></span>, <span>void* <span class='color_p'>priv</span></span>, <span>void** <span class='color_p'>prev_priv_p</span></span> )</span></span><br/> +<span class="iname">lysc_tree_dfs_full <span class='sym_p'><span>( struct lysc_node const* <span class='color_p'>root</span></span>, <span>lysc_dfs_clb <span class='color_p'>dfs_clb</span></span>, <span>void* <span class='color_p'>data</span></span> )</span></span><br/> +<span class="iname">lysp_feature_next <span class='sym_p'><span>( struct lysp_feature const* <span class='color_p'>last</span></span>, <span>struct lysp_module const* <span class='color_p'>pmod</span></span>, <span>uint32_t* <span class='color_p'>idx</span></span> )</span></span><br/> +<span class="iname">lysp_node_actions <span class='sym_p'><span>( struct lysp_node const* <span class='color_p'>node</span></span> )</span></span><br/> +<span class="iname">lysp_node_children <span class='sym_p'><span>( struct lysp_node const* <span class='color_p'>node</span></span> )</span></span><br/> +<span class="iname">lysp_node_groupings <span class='sym_p'><span>( struct lysp_node const* <span class='color_p'>node</span></span> )</span></span><br/> +<span class="iname">lysp_node_notifs <span class='sym_p'><span>( struct lysp_node const* <span class='color_p'>node</span></span> )</span></span><br/> +<span class="iname">lysp_node_typedefs <span class='sym_p'><span>( struct lysp_node const* <span class='color_p'>node</span></span> )</span></span><br/> +<span class="iname">lyxp_get_expr <span class='sym_p'><span>( struct lyxp_expr const* <span class='color_p'>path</span></span> )</span></span><br/> +<br/> +<a class='top_ref' href='#Top'>to the top</a><br/> +<a name='Binary_Removed'></a><a name='Binary_Withdrawn'></a><h2>Removed Symbols <span class='failed'> 114 </span></h2><hr/> +<span class='h_name'>extensions.h</span>, <span class='lib_name'>libyang.so.1.9.19</span><br/> +<span class="iname">lyext_vlog <span class='sym_p'><span>( struct ly_ctx const* <span class='color_p'>ctx</span></span>, <span>enum LY_VECODE <span class='color_p'>vecode</span></span>, <span>char const* <span class='color_p'>plugin</span></span>, <span>char const* <span class='color_p'>function</span></span>, <span>enum LYEXT_VLOG_ELEM <span class='color_p'>elem_type</span></span>, <span>void const* <span class='color_p'>elem</span></span>, <span>char const* <span class='color_p'>format</span></span>, <span>...</span> )</span></span><br/> +<span class="iname">lys_iffeature_free <span class='sym_p'><span>( struct ly_ctx* <span class='color_p'>ctx</span></span>, <span>struct lys_iffeature* <span class='color_p'>iffeature</span></span>, <span>uint8_t <span class='color_p'>iffeature_size</span></span>, <span>int <span class='color_p'>shallow</span></span>, <span>void(*<span class='color_p'>private_destructor</span>)(struct lys_node const*, void*)</span> )</span></span><br/> +<br/> +<span class='h_name'>libyang.h</span>, <span class='lib_name'>libyang.so.1.9.19</span><br/> +<span class="iname">ly_ctx_clean <span class='sym_p'><span>( struct ly_ctx* <span class='color_p'>ctx</span></span>, <span>void(*<span class='color_p'>private_destructor</span>)(struct lys_node const*, void*)</span> )</span></span><br/> +<span class="iname">ly_ctx_find_path <span class='sym_p'><span>( struct ly_ctx* <span class='color_p'>ctx</span></span>, <span>char const* <span class='color_p'>path</span></span> )</span></span><br/> +<span class="iname">ly_ctx_get_disabled_module_iter <span class='sym_p'><span>( struct ly_ctx const* <span class='color_p'>ctx</span></span>, <span>uint32_t* <span class='color_p'>idx</span></span> )</span></span><br/> +<span class="iname">ly_ctx_get_module_by_ns <span class='sym_p'><span>( struct ly_ctx const* <span class='color_p'>ctx</span></span>, <span>char const* <span class='color_p'>ns</span></span>, <span>char const* <span class='color_p'>revision</span></span>, <span>int <span class='color_p'>implemented</span></span> )</span></span><br/> +<span class="iname">ly_ctx_get_module_data_clb <span class='sym_p'><span>( struct ly_ctx const* <span class='color_p'>ctx</span></span>, <span>void** <span class='color_p'>user_data</span></span> )</span></span><br/> +<span class="iname">ly_ctx_get_module_older <span class='sym_p'><span>( struct ly_ctx const* <span class='color_p'>ctx</span></span>, <span>struct lys_module const* <span class='color_p'>module</span></span> )</span></span><br/> +<span class="iname">ly_ctx_get_node <span class='sym_p'><span>( struct ly_ctx const* <span class='color_p'>ctx</span></span>, <span>struct lys_node const* <span class='color_p'>start</span></span>, <span>char const* <span class='color_p'>nodeid</span></span>, <span>int <span class='color_p'>output</span></span> )</span></span><br/> +<span class="iname">ly_ctx_get_submodule <span class='sym_p'><span>( struct ly_ctx const* <span class='color_p'>ctx</span></span>, <span>char const* <span class='color_p'>module</span></span>, <span>char const* <span class='color_p'>revision</span></span>, <span>char const* <span class='color_p'>submodule</span></span>, <span>char const* <span class='color_p'>sub_revision</span></span> )</span></span><br/> +<span class="iname">ly_ctx_get_submodule2 <span class='sym_p'><span>( struct lys_module const* <span class='color_p'>main_module</span></span>, <span>char const* <span class='color_p'>submodule</span></span> )</span></span><br/> +<span class="iname">ly_ctx_info <span class='sym_p'><span>( struct ly_ctx* <span class='color_p'>ctx</span></span> )</span></span><br/> +<span class="iname">ly_ctx_new_ylmem <span class='sym_p'><span>( char const* <span class='color_p'>search_dir</span></span>, <span>char const* <span class='color_p'>data</span></span>, <span>enum LYD_FORMAT <span class='color_p'>format</span></span>, <span>int <span class='color_p'>options</span></span> )</span></span><br/> +<span class="iname">ly_ctx_new_ylpath <span class='sym_p'><span>( char const* <span class='color_p'>search_dir</span></span>, <span>char const* <span class='color_p'>path</span></span>, <span>enum LYD_FORMAT <span class='color_p'>format</span></span>, <span>int <span class='color_p'>options</span></span> )</span></span><br/> +<span class="iname">ly_ctx_remove_module <span class='sym_p'><span>( struct lys_module const* <span class='color_p'>module</span></span>, <span>void(*<span class='color_p'>private_destructor</span>)(struct lys_node const*, void*)</span> )</span></span><br/> +<span class="iname">ly_ctx_set_allimplemented <span class='sym_p'><span>( struct ly_ctx* <span class='color_p'>ctx</span></span> )</span></span><br/> +<span class="iname">ly_ctx_set_disable_searchdir_cwd <span class='sym_p'><span>( struct ly_ctx* <span class='color_p'>ctx</span></span> )</span></span><br/> +<span class="iname">ly_ctx_set_disable_searchdirs <span class='sym_p'><span>( struct ly_ctx* <span class='color_p'>ctx</span></span> )</span></span><br/> +<span class="iname">ly_ctx_set_module_data_clb <span class='sym_p'><span>( struct ly_ctx* <span class='color_p'>ctx</span></span>, <span>ly_module_data_clb <span class='color_p'>clb</span></span>, <span>void* <span class='color_p'>user_data</span></span> )</span></span><br/> +<span class="iname">ly_ctx_set_prefer_searchdirs <span class='sym_p'><span>( struct ly_ctx* <span class='color_p'>ctx</span></span> )</span></span><br/> +<span class="iname">ly_ctx_set_trusted <span class='sym_p'><span>( struct ly_ctx* <span class='color_p'>ctx</span></span> )</span></span><br/> +<span class="iname">ly_ctx_unset_allimplemented <span class='sym_p'><span>( struct ly_ctx* <span class='color_p'>ctx</span></span> )</span></span><br/> +<span class="iname">ly_ctx_unset_disable_searchdir_cwd <span class='sym_p'><span>( struct ly_ctx* <span class='color_p'>ctx</span></span> )</span></span><br/> +<span class="iname">ly_ctx_unset_disable_searchdirs <span class='sym_p'><span>( struct ly_ctx* <span class='color_p'>ctx</span></span> )</span></span><br/> +<span class="iname">ly_ctx_unset_prefer_searchdirs <span class='sym_p'><span>( struct ly_ctx* <span class='color_p'>ctx</span></span> )</span></span><br/> +<span class="iname">ly_ctx_unset_searchdirs <span class='sym_p'><span>( struct ly_ctx* <span class='color_p'>ctx</span></span>, <span>int <span class='color_p'>index</span></span> )</span></span><br/> +<span class="iname">ly_ctx_unset_trusted <span class='sym_p'><span>( struct ly_ctx* <span class='color_p'>ctx</span></span> )</span></span><br/> +<span class="iname">ly_errno_glob_address <span class='sym_p'>( )</span></span><br/> +<span class="iname">ly_path_data2schema <span class='sym_p'><span>( struct ly_ctx* <span class='color_p'>ctx</span></span>, <span>char const* <span class='color_p'>data_path</span></span> )</span></span><br/> +<span class="iname">ly_path_xml2json <span class='sym_p'><span>( struct ly_ctx* <span class='color_p'>ctx</span></span>, <span>char const* <span class='color_p'>xml_path</span></span>, <span>struct lyxml_elem* <span class='color_p'>xml</span></span> )</span></span><br/> +<span class="iname">ly_verb <span class='sym_p'><span>( enum LY_LOG_LEVEL <span class='color_p'>level</span></span> )</span></span><br/> +<span class="iname">ly_verb_dbg <span class='sym_p'><span>( int <span class='color_p'>dbg_groups</span></span> )</span></span><br/> +<br/> +<span class='h_name'>tree_data.h</span>, <span class='lib_name'>libyang.so.1.9.19</span><br/> +<span class="iname">lyd_change_leaf <span class='sym_p'><span>( struct lyd_node_leaf_list* <span class='color_p'>leaf</span></span>, <span>char const* <span class='color_p'>val_str</span></span> )</span></span><br/> +<span class="iname">lyd_dec64_to_double <span class='sym_p'><span>( struct lyd_node const* <span class='color_p'>node</span></span> )</span></span><br/> +<span class="iname">lyd_diff <span class='sym_p'><span>( struct lyd_node* <span class='color_p'>first</span></span>, <span>struct lyd_node* <span class='color_p'>second</span></span>, <span>int <span class='color_p'>options</span></span> )</span></span><br/> +<span class="iname">lyd_dup <span class='sym_p'><span>( struct lyd_node const* <span class='color_p'>node</span></span>, <span>int <span class='color_p'>options</span></span> )</span></span><br/> +<span class="iname">lyd_dup_to_ctx <span class='sym_p'><span>( struct lyd_node const* <span class='color_p'>node</span></span>, <span>int <span class='color_p'>options</span></span>, <span>struct ly_ctx* <span class='color_p'>ctx</span></span> )</span></span><br/> +<span class="iname">lyd_dup_withsiblings <span class='sym_p'><span>( struct lyd_node const* <span class='color_p'>node</span></span>, <span>int <span class='color_p'>options</span></span> )</span></span><br/> +<span class="iname">lyd_find_instance <span class='sym_p'><span>( struct lyd_node const* <span class='color_p'>data</span></span>, <span>struct lys_node const* <span class='color_p'>schema</span></span> )</span></span><br/> +<span class="iname">lyd_find_path <span class='sym_p'><span>( struct lyd_node const* <span class='color_p'>ctx_node</span></span>, <span>char const* <span class='color_p'>path</span></span> )</span></span><br/> +<span class="iname">lyd_find_sibling <span class='sym_p'><span>( struct lyd_node const* <span class='color_p'>siblings</span></span>, <span>struct lyd_node const* <span class='color_p'>target</span></span>, <span>struct lyd_node** <span class='color_p'>match</span></span> )</span></span><br/> +<span class="iname">lyd_find_sibling_set <span class='sym_p'><span>( struct lyd_node const* <span class='color_p'>siblings</span></span>, <span>struct lyd_node const* <span class='color_p'>target</span></span>, <span>struct ly_set** <span class='color_p'>set</span></span> )</span></span><br/> +<span class="iname">lyd_free <span class='sym_p'><span>( struct lyd_node* <span class='color_p'>node</span></span> )</span></span><br/> +<span class="iname">lyd_free_attr <span class='sym_p'><span>( struct ly_ctx* <span class='color_p'>ctx</span></span>, <span>struct lyd_node* <span class='color_p'>parent</span></span>, <span>struct lyd_attr* <span class='color_p'>attr</span></span>, <span>int <span class='color_p'>recursive</span></span> )</span></span><br/> +<span class="iname">lyd_free_diff <span class='sym_p'><span>( struct lyd_difflist* <span class='color_p'>diff</span></span> )</span></span><br/> +<span class="iname">lyd_free_val_diff <span class='sym_p'><span>( struct lyd_difflist* <span class='color_p'>diff</span></span> )</span></span><br/> +<span class="iname">lyd_free_withsiblings <span class='sym_p'><span>( struct lyd_node* <span class='color_p'>node</span></span> )</span></span><br/> +<span class="iname">lyd_insert <span class='sym_p'><span>( struct lyd_node* <span class='color_p'>parent</span></span>, <span>struct lyd_node* <span class='color_p'>node</span></span> )</span></span><br/> +<span class="iname">lyd_insert_attr <span class='sym_p'><span>( struct lyd_node* <span class='color_p'>parent</span></span>, <span>struct lys_module const* <span class='color_p'>mod</span></span>, <span>char const* <span class='color_p'>name</span></span>, <span>char const* <span class='color_p'>value</span></span> )</span></span><br/> +<span class="iname">lyd_leaf_type <span class='sym_p'><span>( struct lyd_node_leaf_list const* <span class='color_p'>leaf</span></span> )</span></span><br/> +<span class="iname">lyd_merge <span class='sym_p'><span>( struct lyd_node* <span class='color_p'>target</span></span>, <span>struct lyd_node const* <span class='color_p'>source</span></span>, <span>int <span class='color_p'>options</span></span> )</span></span><br/> +<span class="iname">lyd_merge_to_ctx <span class='sym_p'><span>( struct lyd_node** <span class='color_p'>trg</span></span>, <span>struct lyd_node const* <span class='color_p'>src</span></span>, <span>int <span class='color_p'>options</span></span>, <span>struct ly_ctx* <span class='color_p'>ctx</span></span> )</span></span><br/> +<span class="iname">lyd_new <span class='sym_p'><span>( struct lyd_node* <span class='color_p'>parent</span></span>, <span>struct lys_module const* <span class='color_p'>module</span></span>, <span>char const* <span class='color_p'>name</span></span> )</span></span><br/> +<span class="iname">lyd_new_anydata <span class='sym_p'><span>( struct lyd_node* <span class='color_p'>parent</span></span>, <span>struct lys_module const* <span class='color_p'>module</span></span>, <span>char const* <span class='color_p'>name</span></span>, <span>void* <span class='color_p'>value</span></span>, <span>enum LYD_ANYDATA_VALUETYPE <span class='color_p'>value_type</span></span> )</span></span><br/> +<span class="iname">lyd_new_leaf <span class='sym_p'><span>( struct lyd_node* <span class='color_p'>parent</span></span>, <span>struct lys_module const* <span class='color_p'>module</span></span>, <span>char const* <span class='color_p'>name</span></span>, <span>char const* <span class='color_p'>val_str</span></span> )</span></span><br/> +<span class="iname">lyd_new_output <span class='sym_p'><span>( struct lyd_node* <span class='color_p'>parent</span></span>, <span>struct lys_module const* <span class='color_p'>module</span></span>, <span>char const* <span class='color_p'>name</span></span> )</span></span><br/> +<span class="iname">lyd_new_output_anydata <span class='sym_p'><span>( struct lyd_node* <span class='color_p'>parent</span></span>, <span>struct lys_module const* <span class='color_p'>module</span></span>, <span>char const* <span class='color_p'>name</span></span>, <span>void* <span class='color_p'>value</span></span>, <span>enum LYD_ANYDATA_VALUETYPE <span class='color_p'>value_type</span></span> )</span></span><br/> +<span class="iname">lyd_new_output_leaf <span class='sym_p'><span>( struct lyd_node* <span class='color_p'>parent</span></span>, <span>struct lys_module const* <span class='color_p'>module</span></span>, <span>char const* <span class='color_p'>name</span></span>, <span>char const* <span class='color_p'>val_str</span></span> )</span></span><br/> +<span class="iname">lyd_new_yangdata <span class='sym_p'><span>( struct lys_module const* <span class='color_p'>module</span></span>, <span>char const* <span class='color_p'>name_template</span></span>, <span>char const* <span class='color_p'>name</span></span> )</span></span><br/> +<span class="iname">lyd_node_module <span class='sym_p'><span>( struct lyd_node const* <span class='color_p'>node</span></span> )</span></span><br/> +<span class="iname">lyd_node_should_print <span class='sym_p'><span>( struct lyd_node const* <span class='color_p'>node</span></span>, <span>int <span class='color_p'>options</span></span> )</span></span><br/> +<span class="iname">lyd_parse_fd <span class='sym_p'><span>( struct ly_ctx* <span class='color_p'>ctx</span></span>, <span>int <span class='color_p'>fd</span></span>, <span>enum LYD_FORMAT <span class='color_p'>format</span></span>, <span>int <span class='color_p'>options</span></span>, <span>...</span> )</span></span><br/> +<span class="iname">lyd_parse_mem <span class='sym_p'><span>( struct ly_ctx* <span class='color_p'>ctx</span></span>, <span>char const* <span class='color_p'>data</span></span>, <span>enum LYD_FORMAT <span class='color_p'>format</span></span>, <span>int <span class='color_p'>options</span></span>, <span>...</span> )</span></span><br/> +<span class="iname">lyd_parse_path <span class='sym_p'><span>( struct ly_ctx* <span class='color_p'>ctx</span></span>, <span>char const* <span class='color_p'>path</span></span>, <span>enum LYD_FORMAT <span class='color_p'>format</span></span>, <span>int <span class='color_p'>options</span></span>, <span>...</span> )</span></span><br/> +<span class="iname">lyd_parse_xml <span class='sym_p'><span>( struct ly_ctx* <span class='color_p'>ctx</span></span>, <span>struct lyxml_elem** <span class='color_p'>root</span></span>, <span>int <span class='color_p'>options</span></span>, <span>...</span> )</span></span><br/> +<span class="iname">lyd_schema_sort <span class='sym_p'><span>( struct lyd_node* <span class='color_p'>sibling</span></span>, <span>int <span class='color_p'>recursive</span></span> )</span></span><br/> +<span class="iname">lyd_unlink <span class='sym_p'><span>( struct lyd_node* <span class='color_p'>node</span></span> )</span></span><br/> +<span class="iname">lyd_validate <span class='sym_p'><span>( struct lyd_node** <span class='color_p'>node</span></span>, <span>int <span class='color_p'>options</span></span>, <span>void* <span class='color_p'>var_arg</span></span>, <span>...</span> )</span></span><br/> +<span class="iname">lyd_validate_modules <span class='sym_p'><span>( struct lyd_node** <span class='color_p'>node</span></span>, <span>struct lys_module const** <span class='color_p'>modules</span></span>, <span>int <span class='color_p'>mod_count</span></span>, <span>int <span class='color_p'>options</span></span>, <span>...</span> )</span></span><br/> +<span class="iname">lyd_validate_value <span class='sym_p'><span>( struct lys_node* <span class='color_p'>node</span></span>, <span>char const* <span class='color_p'>value</span></span> )</span></span><br/> +<span class="iname">lyd_value_type <span class='sym_p'><span>( struct lys_node* <span class='color_p'>node</span></span>, <span>char const* <span class='color_p'>value</span></span>, <span>struct lys_type** <span class='color_p'>type</span></span> )</span></span><br/> +<span class="iname">lyd_wd_default <span class='sym_p'><span>( struct lyd_node_leaf_list* <span class='color_p'>node</span></span> )</span></span><br/> +<br/> +<span class='h_name'>tree_schema.h</span>, <span class='lib_name'>libyang.so.1.9.19</span><br/> +<span class="iname">ly_clean_plugins <span class='sym_p'>( )</span></span><br/> +<span class="iname">ly_get_loaded_plugins <span class='sym_p'>( )</span></span><br/> +<span class="iname">ly_load_plugins <span class='sym_p'>( )</span></span><br/> +<span class="iname">ly_register_exts <span class='sym_p'><span>( struct lyext_plugin_list* <span class='color_p'>plugin</span></span>, <span>char const* <span class='color_p'>log_name</span></span> )</span></span><br/> +<span class="iname">ly_register_types <span class='sym_p'><span>( struct lytype_plugin_list* <span class='color_p'>plugin</span></span>, <span>char const* <span class='color_p'>log_name</span></span> )</span></span><br/> +<span class="iname">lys_data_path <span class='sym_p'><span>( struct lys_node const* <span class='color_p'>node</span></span> )</span></span><br/> +<span class="iname">lys_data_path_pattern <span class='sym_p'><span>( struct lys_node const* <span class='color_p'>node</span></span>, <span>char const* <span class='color_p'>placeholder</span></span> )</span></span><br/> +<span class="iname">lys_ext_complex_get_substmt <span class='sym_p'><span>( enum LY_STMT <span class='color_p'>stmt</span></span>, <span>struct lys_ext_instance_complex* <span class='color_p'>ext</span></span>, <span>struct lyext_substmt** <span class='color_p'>info</span></span> )</span></span><br/> +<span class="iname">lys_ext_instance_presence <span class='sym_p'><span>( struct lys_ext* <span class='color_p'>def</span></span>, <span>struct lys_ext_instance** <span class='color_p'>ext</span></span>, <span>uint8_t <span class='color_p'>ext_size</span></span> )</span></span><br/> +<span class="iname">lys_ext_instance_substmt <span class='sym_p'><span>( struct lys_ext_instance const* <span class='color_p'>ext</span></span> )</span></span><br/> +<span class="iname">lys_features_disable <span class='sym_p'><span>( struct lys_module const* <span class='color_p'>module</span></span>, <span>char const* <span class='color_p'>feature</span></span> )</span></span><br/> +<span class="iname">lys_features_disable_force <span class='sym_p'><span>( struct lys_module const* <span class='color_p'>module</span></span>, <span>char const* <span class='color_p'>feature</span></span> )</span></span><br/> +<span class="iname">lys_features_enable <span class='sym_p'><span>( struct lys_module const* <span class='color_p'>module</span></span>, <span>char const* <span class='color_p'>feature</span></span> )</span></span><br/> +<span class="iname">lys_features_enable_force <span class='sym_p'><span>( struct lys_module const* <span class='color_p'>module</span></span>, <span>char const* <span class='color_p'>feature</span></span> )</span></span><br/> +<span class="iname">lys_features_list <span class='sym_p'><span>( struct lys_module const* <span class='color_p'>module</span></span>, <span>uint8_t** <span class='color_p'>states</span></span> )</span></span><br/> +<span class="iname">lys_features_state <span class='sym_p'><span>( struct lys_module const* <span class='color_p'>module</span></span>, <span>char const* <span class='color_p'>feature</span></span> )</span></span><br/> +<span class="iname">lys_getnext_union_type <span class='sym_p'><span>( struct lys_type const* <span class='color_p'>last</span></span>, <span>struct lys_type const* <span class='color_p'>type</span></span> )</span></span><br/> +<span class="iname">lys_iffeature_value <span class='sym_p'><span>( struct lys_iffeature const* <span class='color_p'>iff</span></span> )</span></span><br/> +<span class="iname">lys_implemented_module <span class='sym_p'><span>( struct lys_module const* <span class='color_p'>mod</span></span> )</span></span><br/> +<span class="iname">lys_is_disabled <span class='sym_p'><span>( struct lys_node const* <span class='color_p'>node</span></span>, <span>int <span class='color_p'>recursive</span></span> )</span></span><br/> +<span class="iname">lys_is_key <span class='sym_p'><span>( struct lys_node_leaf const* <span class='color_p'>node</span></span>, <span>uint8_t* <span class='color_p'>index</span></span> )</span></span><br/> +<span class="iname">lys_main_module <span class='sym_p'><span>( struct lys_module const* <span class='color_p'>module</span></span> )</span></span><br/> +<span class="iname">lys_node_module <span class='sym_p'><span>( struct lys_node const* <span class='color_p'>node</span></span> )</span></span><br/> +<span class="iname">lys_node_xpath_atomize <span class='sym_p'><span>( struct lys_node const* <span class='color_p'>node</span></span>, <span>int <span class='color_p'>options</span></span> )</span></span><br/> +<span class="iname">lys_parent <span class='sym_p'><span>( struct lys_node const* <span class='color_p'>node</span></span> )</span></span><br/> +<span class="iname">lys_path <span class='sym_p'><span>( struct lys_node const* <span class='color_p'>node</span></span>, <span>int <span class='color_p'>options</span></span> )</span></span><br/> +<span class="iname">lys_set_disabled <span class='sym_p'><span>( struct lys_module const* <span class='color_p'>module</span></span> )</span></span><br/> +<span class="iname">lys_set_enabled <span class='sym_p'><span>( struct lys_module const* <span class='color_p'>module</span></span> )</span></span><br/> +<span class="iname">lys_set_private <span class='sym_p'><span>( struct lys_node const* <span class='color_p'>node</span></span>, <span>void* <span class='color_p'>priv</span></span> )</span></span><br/> +<span class="iname">lys_xpath_atomize <span class='sym_p'><span>( struct lys_node const* <span class='color_p'>ctx_node</span></span>, <span>enum lyxp_node_type <span class='color_p'>ctx_node_type</span></span>, <span>char const* <span class='color_p'>expr</span></span>, <span>int <span class='color_p'>options</span></span> )</span></span><br/> +<br/> +<span class='h_name'>xml.h</span>, <span class='lib_name'>libyang.so.1.9.19</span><br/> +<span class="iname">lyxml_dup <span class='sym_p'><span>( struct ly_ctx* <span class='color_p'>ctx</span></span>, <span>struct lyxml_elem* <span class='color_p'>root</span></span> )</span></span><br/> +<span class="iname">lyxml_free <span class='sym_p'><span>( struct ly_ctx* <span class='color_p'>ctx</span></span>, <span>struct lyxml_elem* <span class='color_p'>elem</span></span> )</span></span><br/> +<span class="iname">lyxml_free_withsiblings <span class='sym_p'><span>( struct ly_ctx* <span class='color_p'>ctx</span></span>, <span>struct lyxml_elem* <span class='color_p'>elem</span></span> )</span></span><br/> +<span class="iname">lyxml_get_attr <span class='sym_p'><span>( struct lyxml_elem const* <span class='color_p'>elem</span></span>, <span>char const* <span class='color_p'>name</span></span>, <span>char const* <span class='color_p'>ns</span></span> )</span></span><br/> +<span class="iname">lyxml_get_ns <span class='sym_p'><span>( struct lyxml_elem const* <span class='color_p'>elem</span></span>, <span>char const* <span class='color_p'>prefix</span></span> )</span></span><br/> +<span class="iname">lyxml_parse_mem <span class='sym_p'><span>( struct ly_ctx* <span class='color_p'>ctx</span></span>, <span>char const* <span class='color_p'>data</span></span>, <span>int <span class='color_p'>options</span></span> )</span></span><br/> +<span class="iname">lyxml_parse_path <span class='sym_p'><span>( struct ly_ctx* <span class='color_p'>ctx</span></span>, <span>char const* <span class='color_p'>filename</span></span>, <span>int <span class='color_p'>options</span></span> )</span></span><br/> +<span class="iname">lyxml_print_clb <span class='sym_p'><span>( ssize_t(*<span class='color_p'>writeclb</span>)(void*, void const*, size_t)</span>, <span>void* <span class='color_p'>arg</span></span>, <span>struct lyxml_elem const* <span class='color_p'>elem</span></span>, <span>int <span class='color_p'>options</span></span> )</span></span><br/> +<span class="iname">lyxml_print_fd <span class='sym_p'><span>( int <span class='color_p'>fd</span></span>, <span>struct lyxml_elem const* <span class='color_p'>elem</span></span>, <span>int <span class='color_p'>options</span></span> )</span></span><br/> +<span class="iname">lyxml_print_file <span class='sym_p'><span>( FILE* <span class='color_p'>stream</span></span>, <span>struct lyxml_elem const* <span class='color_p'>elem</span></span>, <span>int <span class='color_p'>options</span></span> )</span></span><br/> +<span class="iname">lyxml_print_mem <span class='sym_p'><span>( char** <span class='color_p'>strp</span></span>, <span>struct lyxml_elem const* <span class='color_p'>elem</span></span>, <span>int <span class='color_p'>options</span></span> )</span></span><br/> +<span class="iname">lyxml_unlink <span class='sym_p'><span>( struct ly_ctx* <span class='color_p'>ctx</span></span>, <span>struct lyxml_elem* <span class='color_p'>elem</span></span> )</span></span><br/> +<br/> +<a class='top_ref' href='#Top'>to the top</a><br/> +<a name='High_Risk_Binary_Problems'></a><a name='Type_Binary_Problems_High'></a> +<h2>Problems with Data Types, High Severity <span class='failed'> 17 </span></h2><hr/> +<span class='h_name'>tree_schema.h</span><br/> +<span class="section" onclick="javascript:showContent(this, 'c_1')"> +<span class='ext'>[+]</span> <span class='ttype'>struct</span> lys_module <span class='failed'> 17 </span></span> +<br/> +<div id="c_1" style="display:none;"> +<table class='ptable'><tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th></tr><tr> +<th>1</th> +<td>Field <b>augment</b> has been removed from the middle position of this structural type.</td> +<td>1) Previous accesses of applications to the removed field will be incorrect.<br/>2) Layout of structure fields has been changed and therefore fields at higher positions of the structure definition may be incorrectly accessed by applications.</td> +</tr> +<tr> +<th>2</th> +<td>Field <b>data</b> has been removed from the middle position of this structural type.</td> +<td>1) Previous accesses of applications to the removed field will be incorrect.<br/>2) Layout of structure fields has been changed and therefore fields at higher positions of the structure definition may be incorrectly accessed by applications.</td> +</tr> +<tr> +<th>3</th> +<td>Field <b>deviated</b> has been removed from the middle position of this structural type.</td> +<td>1) Previous accesses of applications to the removed field will be incorrect.<br/>2) Layout of structure fields has been changed and therefore fields at higher positions of the structure definition may be incorrectly accessed by applications.</td> +</tr> +<tr> +<th>4</th> +<td>Field <b>deviation</b> has been removed from the middle position of this structural type.</td> +<td>1) Previous accesses of applications to the removed field will be incorrect.<br/>2) Layout of structure fields has been changed and therefore fields at higher positions of the structure definition may be incorrectly accessed by applications.</td> +</tr> +<tr> +<th>5</th> +<td>Field <b>disabled</b> has been removed from the middle position of this structural type.</td> +<td>1) Previous accesses of applications to the removed field will be incorrect.<br/>2) Layout of structure fields has been changed and therefore fields at higher positions of the structure definition may be incorrectly accessed by applications.</td> +</tr> +<tr> +<th>6</th> +<td>Field <b>ext</b> has been removed from the middle position of this structural type.</td> +<td>1) Previous accesses of applications to the removed field will be incorrect.<br/>2) Layout of structure fields has been changed and therefore fields at higher positions of the structure definition may be incorrectly accessed by applications.</td> +</tr> +<tr> +<th>7</th> +<td>Field <b>ext_size</b> has been removed from the middle position of this structural type.</td> +<td>1) Previous accesses of applications to the removed field will be incorrect.<br/>2) Layout of structure fields has been changed and therefore fields at higher positions of the structure definition may be incorrectly accessed by applications.</td> +</tr> +<tr> +<th>8</th> +<td>Field <b>extensions</b> has been removed from the middle position of this structural type.</td> +<td>1) Previous accesses of applications to the removed field will be incorrect.<br/>2) Layout of structure fields has been changed and therefore fields at higher positions of the structure definition may be incorrectly accessed by applications.</td> +</tr> +<tr> +<th>9</th> +<td>Field <b>features</b> has been removed from the middle position of this structural type.</td> +<td>1) Previous accesses of applications to the removed field will be incorrect.<br/>2) Layout of structure fields has been changed and therefore fields at higher positions of the structure definition may be incorrectly accessed by applications.</td> +</tr> +<tr> +<th>10</th> +<td>Field <b>ident</b> has been removed from the middle position of this structural type.</td> +<td>1) Previous accesses of applications to the removed field will be incorrect.<br/>2) Layout of structure fields has been changed and therefore fields at higher positions of the structure definition may be incorrectly accessed by applications.</td> +</tr> +<tr> +<th>11</th> +<td>Field <b>ident_size</b> has been removed from the middle position of this structural type.</td> +<td>1) Previous accesses of applications to the removed field will be incorrect.<br/>2) Layout of structure fields has been changed and therefore fields at higher positions of the structure definition may be incorrectly accessed by applications.</td> +</tr> +<tr> +<th>12</th> +<td>Field <b>imp</b> has been removed from the middle position of this structural type.</td> +<td>1) Previous accesses of applications to the removed field will be incorrect.<br/>2) Layout of structure fields has been changed and therefore fields at higher positions of the structure definition may be incorrectly accessed by applications.</td> +</tr> +<tr> +<th>13</th> +<td>Field <b>inc</b> has been removed from the middle position of this structural type.</td> +<td>1) Previous accesses of applications to the removed field will be incorrect.<br/>2) Layout of structure fields has been changed and therefore fields at higher positions of the structure definition may be incorrectly accessed by applications.</td> +</tr> +<tr> +<th>14</th> +<td>Field <b>rev</b> has been removed from the middle position of this structural type.</td> +<td>1) Previous accesses of applications to the removed field will be incorrect.<br/>2) Layout of structure fields has been changed and therefore fields at higher positions of the structure definition may be incorrectly accessed by applications.</td> +</tr> +<tr> +<th>15</th> +<td>Field <b>tpdf</b> has been removed from the middle position of this structural type.</td> +<td>1) Previous accesses of applications to the removed field will be incorrect.<br/>2) Layout of structure fields has been changed and therefore fields at higher positions of the structure definition may be incorrectly accessed by applications.</td> +</tr> +<tr> +<th>16</th> +<td>Field <b>type</b> has been removed from the middle position of this structural type.</td> +<td>1) Previous accesses of applications to the removed field will be incorrect.<br/>2) Layout of structure fields has been changed and therefore fields at higher positions of the structure definition may be incorrectly accessed by applications.</td> +</tr> +<tr> +<th>17</th> +<td>Field <b>version</b> has been removed from the middle position of this structural type.</td> +<td>1) Previous accesses of applications to the removed field will be incorrect.<br/>2) Layout of structure fields has been changed and therefore fields at higher positions of the structure definition may be incorrectly accessed by applications.</td> +</tr> +</table> +<span class="sect_aff" onclick="javascript:showContent(this, 'c_2')"> +[+] affected symbols: 8 (4.6%)</span> +<div id="c_2" style="display:none;"> +<div class='affected'><span class='iname_a'>ly_ctx_get_module <span class='sym_p'><span>( struct ly_ctx const* <i>ctx</i></span>, <span>char const* <i>name</i></span>, <span>char const* <i>revision</i></span>, <span>int <i>implemented</i></span> )</span></span><br/> +<div class='affect'>Return value (pointer) has base type 'struct lys_module'.</div> +<span class='iname_a'>ly_ctx_get_module_iter <span class='sym_p'><span>( struct ly_ctx const* <i>ctx</i></span>, <span>uint32_t* <i>idx</i></span> )</span></span><br/> +<div class='affect'>Return value (pointer) has base type 'struct lys_module'.</div> +<span class='iname_a'>ly_ctx_load_module <span class='sym_p'><span>( struct ly_ctx* <i>ctx</i></span>, <span>char const* <i>name</i></span>, <span>char const* <i>revision</i></span> )</span></span><br/> +<div class='affect'>Return value (pointer) has base type 'struct lys_module'.</div> +<span class='iname_a'>lys_print_clb <span class='sym_p'><span>( ssize_t(*<i>writeclb</i>)(void*, void const*, size_t)</span>, <span>void* <i>arg</i></span>, <span>struct lys_module const* <span class='fp'>module</span></span>, <span>enum LYS_OUTFORMAT <i>format</i></span>, <span>char const* <i>target_node</i></span>, <span>int <i>line_length</i></span>, <span>int <i>options</i></span> )</span></span><br/> +<div class='affect'>3rd parameter 'module' (pointer) has base type 'struct lys_module'.</div> +<span class='iname_a'>lys_print_fd <span class='sym_p'><span>( int <i>fd</i></span>, <span>struct lys_module const* <span class='fp'>module</span></span>, <span>enum LYS_OUTFORMAT <i>format</i></span>, <span>char const* <i>target_node</i></span>, <span>int <i>line_length</i></span>, <span>int <i>options</i></span> )</span></span><br/> +<div class='affect'>2nd parameter 'module' (pointer) has base type 'struct lys_module'.</div> +<span class='iname_a'>lys_print_file <span class='sym_p'><span>( FILE* <i>f</i></span>, <span>struct lys_module const* <span class='fp'>module</span></span>, <span>enum LYS_OUTFORMAT <i>format</i></span>, <span>char const* <i>target_node</i></span>, <span>int <i>line_length</i></span>, <span>int <i>options</i></span> )</span></span><br/> +<div class='affect'>2nd parameter 'module' (pointer) has base type 'struct lys_module'.</div> +<span class='iname_a'>lys_print_mem <span class='sym_p'><span>( char** <i>strp</i></span>, <span>struct lys_module const* <span class='fp'>module</span></span>, <span>enum LYS_OUTFORMAT <i>format</i></span>, <span>char const* <i>target_node</i></span>, <span>int <i>line_length</i></span>, <span>int <i>options</i></span> )</span></span><br/> +<div class='affect'>2nd parameter 'module' (pointer) has base type 'struct lys_module'.</div> +<span class='iname_a'>lys_print_path <span class='sym_p'><span>( char const* <i>path</i></span>, <span>struct lys_module const* <span class='fp'>module</span></span>, <span>enum LYS_OUTFORMAT <i>format</i></span>, <span>char const* <i>target_node</i></span>, <span>int <i>line_length</i></span>, <span>int <i>options</i></span> )</span></span><br/> +<div class='affect'>2nd parameter 'module' (pointer) has base type 'struct lys_module'.</div> +</div> +</div> +<br/><br/></div> + +<br/> +<a class='top_ref' href='#Top'>to the top</a><br/> +<a name='Symbol_Binary_Problems_High'></a><a name='Interface_Binary_Problems_High'></a> +<h2>Problems with Symbols, High Severity <span class='failed'> 18 </span></h2><hr/> +<span class='h_name'>libyang.h</span>, <span class='lib_name'>libyang.so.1.9.19</span><br/> +<span class="section" onclick="javascript:showContent(this, 'c_3')"> +<span class='ext'>[+]</span> ly_ctx_new <span class='sym_p'><span>( char const* <span class='color_p'>search_dir</span></span>, <span>int <span class='color_p'>options</span></span> )</span> <span class='failed'> 1 </span></span> +<br/> +<div id="c_3" style="display:none;"> + + +<span class='new_sign_lbl'>⇣</span> +<br/> +<span class='new_sign'>ly_ctx_new <span class='sym_p'><span>( char const* <span class='color_p'>search_dir</span></span>, <span>uint16_t <span class='color_p'>options</span></span>, <span>struct ly_ctx** <span class='color_p'>new_ctx</span></span> )</span></span><br/> +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td>Type of <b>2nd</b> parameter <b>options</b> has been changed from <span class='nowrap'><b>int</b> (<b>4</b> bytes)</span> to <span class='nowrap'><b>uint16_t</b> (<b>2</b> bytes)</span>.</td> +<td>Layout of parameter's stack has been changed and therefore parameters at higher positions in the stack may be incorrectly initialized by applications.</td> +</tr> +</table> +<br/> +</div> +<span class="section" onclick="javascript:showContent(this, 'c_4')"> +<span class='ext'>[+]</span> ly_set_add <span class='sym_p'><span>( struct ly_set* <span class='color_p'>set</span></span>, <span>void* <span class='color_p'>node</span></span>, <span>int <span class='color_p'>options</span></span> )</span> <span class='failed'> 1 </span></span> +<br/> +<div id="c_4" style="display:none;"> + + +<span class='new_sign_lbl'>⇣</span> +<br/> +<span class='new_sign'>ly_set_add <span class='sym_p'><span>( struct ly_set* <span class='color_p'>set</span></span>, <span>void* <span class='color_p'>object</span></span>, <span>ly_bool <span class='color_p'>list</span></span>, <span>uint32_t* <span class='color_p'>index_p</span></span> )</span></span><br/> +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td>Parameter <b>list</b> of type <b>ly_bool</b> has been added to the calling stack at the middle position.</td> +<td>Layout of parameter's stack has been changed and therefore parameters at higher positions in the stack may be incorrectly initialized by applications.</td> +</tr> +</table> +<br/> +</div> +<span class="section" onclick="javascript:showContent(this, 'c_5')"> +<span class='ext'>[+]</span> ly_set_log_clb <span class='sym_p'><span>( void(*<span class='color_p'>clb</span>)(LY_LOG_LEVEL, char const*, char const*)</span>, <span>int <span class='color_p'>path</span></span> )</span> <span class='failed'> 1 </span></span> +<br/> +<div id="c_5" style="display:none;"> + + +<span class='new_sign_lbl'>⇣</span> +<br/> +<span class='new_sign'>ly_set_log_clb <span class='sym_p'><span>( ly_log_clb <span class='color_p'>clb</span></span>, <span>ly_bool <span class='color_p'>path</span></span> )</span></span><br/> +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td>Type of <b>2nd</b> parameter <b>path</b> has been changed from <span class='nowrap'><b>int</b> (<b>4</b> bytes)</span> to <span class='nowrap'><b>ly_bool</b> (<b>1</b> byte)</span>.</td> +<td>Layout of parameter's stack has been changed and therefore parameters at higher positions in the stack may be incorrectly initialized by applications.</td> +</tr> +</table> +<br/> +</div> +<span class="section" onclick="javascript:showContent(this, 'c_6')"> +<span class='ext'>[+]</span> ly_set_merge <span class='sym_p'><span>( struct ly_set* <span class='color_p'>trg</span></span>, <span>struct ly_set* <span class='color_p'>src</span></span>, <span>int <span class='color_p'>options</span></span> )</span> <span class='failed'> 1 </span></span> +<br/> +<div id="c_6" style="display:none;"> + + +<span class='new_sign_lbl'>⇣</span> +<br/> +<span class='new_sign'>ly_set_merge <span class='sym_p'><span>( struct ly_set* <span class='color_p'>trg</span></span>, <span>struct ly_set* <span class='color_p'>src</span></span>, <span>ly_bool <span class='color_p'>list</span></span>, <span>void*(*<span class='color_p'>duplicator</span>)(void*)</span> )</span></span><br/> +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td>Parameter <b>list</b> of type <b>ly_bool</b> has been added to the calling stack at the middle position.</td> +<td>Layout of parameter's stack has been changed and therefore parameters at higher positions in the stack may be incorrectly initialized by applications.</td> +</tr> +</table> +<br/> +</div> +<br/> +<span class='h_name'>tree_data.h</span>, <span class='lib_name'>libyang.so.1.9.19</span><br/> +<span class="section" onclick="javascript:showContent(this, 'c_7')"> +<span class='ext'>[+]</span> lyd_find_sibling_val <span class='sym_p'><span>( struct lyd_node const* <span class='color_p'>siblings</span></span>, <span>struct lys_node const* <span class='color_p'>schema</span></span>, <span>char const* <span class='color_p'>key_or_value</span></span>, <span>struct lyd_node** <span class='color_p'>match</span></span> )</span> <span class='failed'> 1 </span></span> +<br/> +<div id="c_7" style="display:none;"> + + +<span class='new_sign_lbl'>⇣</span> +<br/> +<span class='new_sign'>lyd_find_sibling_val <span class='sym_p'><span>( struct lyd_node const* <span class='color_p'>siblings</span></span>, <span>struct lysc_node const* <span class='color_p'>schema</span></span>, <span>char const* <span class='color_p'>key_or_value</span></span>, <span>size_t <span class='color_p'>val_len</span></span>, <span>struct lyd_node** <span class='color_p'>match</span></span> )</span></span><br/> +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td>Parameter <b>val_len</b> of type <b>size_t</b> has been added to the calling stack at the middle position.</td> +<td>Layout of parameter's stack has been changed and therefore parameters at higher positions in the stack may be incorrectly initialized by applications.</td> +</tr> +</table> +<br/> +</div> +<span class="section" onclick="javascript:showContent(this, 'c_8')"> +<span class='ext'>[+]</span> lyd_new_path <span class='sym_p'><span>( struct lyd_node* <span class='color_p'>data_tree</span></span>, <span>struct ly_ctx const* <span class='color_p'>ctx</span></span>, <span>char const* <span class='color_p'>path</span></span>, <span>void* <span class='color_p'>value</span></span>, <span>enum LYD_ANYDATA_VALUETYPE <span class='color_p'>value_type</span></span>, <span>int <span class='color_p'>options</span></span> )</span> <span class='failed'> 2 </span></span> +<br/> +<div id="c_8" style="display:none;"> + + +<span class='new_sign_lbl'>⇣</span> +<br/> +<span class='new_sign'>lyd_new_path <span class='sym_p'><span>( struct lyd_node* <span class='color_p'>parent</span></span>, <span>struct ly_ctx const* <span class='color_p'>ctx</span></span>, <span>char const* <span class='color_p'>path</span></span>, <span>char const* <span class='color_p'>value</span></span>, <span>uint32_t <span class='color_p'>options</span></span>, <span>struct lyd_node** <span class='color_p'>node</span></span> )</span></span><br/> +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td>The pointer level of <b>6th</b> parameter <b>options</b> has been increased from <b>0</b> to <b>2</b>.</td> +<td>The library function may try to access unallocated memory by the dereferencing of old parameter value and therefore cause a crash of applications.</td> +</tr> +<tr> +<th>2</th> +<td>Type of <b>6th</b> parameter <b>options</b> has been changed from <span class='nowrap'><b>int</b> (<b>4</b> bytes)</span> to <span class='nowrap'><span class='value'>struct lyd_node**</span> (<b>8</b> bytes)</span>.</td> +<td>Layout of parameter's stack has been changed and therefore parameters at higher positions in the stack may be incorrectly initialized by applications.</td> +</tr> +</table> +<br/> +</div> +<br/> +<span class='h_name'>tree_schema.h</span>, <span class='lib_name'>libyang.so.1.9.19</span><br/> +<span class="section" onclick="javascript:showContent(this, 'c_9')"> +<span class='ext'>[+]</span> lys_find_path <span class='sym_p'><span>( struct lys_module const* <span class='color_p'>cur_module</span></span>, <span>struct lys_node const* <span class='color_p'>cur_node</span></span>, <span>char const* <span class='color_p'>path</span></span> )</span> <span class='failed'> 4 </span></span> +<br/> +<div id="c_9" style="display:none;"> + + +<span class='new_sign_lbl'>⇣</span> +<br/> +<span class='new_sign'>lys_find_path <span class='sym_p'><span>( struct ly_ctx const* <span class='color_p'>ctx</span></span>, <span>struct lysc_node const* <span class='color_p'>ctx_node</span></span>, <span>char const* <span class='color_p'>path</span></span>, <span>ly_bool <span class='color_p'>output</span></span> )</span></span><br/> +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td>Parameter <b>ctx</b> of type <span class='value'>struct ly_ctx const*</span> has been added to the calling stack at the middle position.</td> +<td>Layout of parameter's stack has been changed and therefore parameters at higher positions in the stack may be incorrectly initialized by applications.</td> +</tr> +<tr> +<th>2</th> +<td>Parameter <b>ctx_node</b> of type <span class='value'>struct lysc_node const*</span> has been added to the calling stack at the middle position.</td> +<td>Layout of parameter's stack has been changed and therefore parameters at higher positions in the stack may be incorrectly initialized by applications.</td> +</tr> +<tr> +<th>3</th> +<td><b>1st</b> middle parameter <b>cur_module</b> has been removed from the calling stack.</td> +<td>Layout of parameter's stack has been changed and therefore parameters at higher positions in the stack may be incorrectly initialized by applications.</td> +</tr> +<tr> +<th>4</th> +<td><b>2nd</b> middle parameter <b>cur_node</b> has been removed from the calling stack.</td> +<td>Layout of parameter's stack has been changed and therefore parameters at higher positions in the stack may be incorrectly initialized by applications.</td> +</tr> +</table> +<br/> +</div> +<span class="section" onclick="javascript:showContent(this, 'c_10')"> +<span class='ext'>[+]</span> lys_print_clb <span class='sym_p'><span>( ssize_t(*<span class='color_p'>writeclb</span>)(void*, void const*, size_t)</span>, <span>void* <span class='color_p'>arg</span></span>, <span>struct lys_module const* <span class='color_p'>module</span></span>, <span>enum LYS_OUTFORMAT <span class='color_p'>format</span></span>, <span>char const* <span class='color_p'>target_node</span></span>, <span>int <span class='color_p'>line_length</span></span>, <span>int <span class='color_p'>options</span></span> )</span> <span class='failed'> 1 </span></span> +<br/> +<div id="c_10" style="display:none;"> + + +<span class='new_sign_lbl'>⇣</span> +<br/> +<span class='new_sign'>lys_print_clb <span class='sym_p'><span>( ly_write_clb <span class='color_p'>writeclb</span></span>, <span>void* <span class='color_p'>user_data</span></span>, <span>struct lys_module const* <span class='color_p'>module</span></span>, <span>enum LYS_OUTFORMAT <span class='color_p'>format</span></span>, <span>uint32_t <span class='color_p'>options</span></span> )</span></span><br/> +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td><b>5th</b> middle parameter <b>target_node</b> has been removed from the calling stack.</td> +<td>Layout of parameter's stack has been changed and therefore parameters at higher positions in the stack may be incorrectly initialized by applications.</td> +</tr> +</table> +<br/> +</div> +<span class="section" onclick="javascript:showContent(this, 'c_11')"> +<span class='ext'>[+]</span> lys_print_fd <span class='sym_p'><span>( int <span class='color_p'>fd</span></span>, <span>struct lys_module const* <span class='color_p'>module</span></span>, <span>enum LYS_OUTFORMAT <span class='color_p'>format</span></span>, <span>char const* <span class='color_p'>target_node</span></span>, <span>int <span class='color_p'>line_length</span></span>, <span>int <span class='color_p'>options</span></span> )</span> <span class='failed'> 1 </span></span> +<br/> +<div id="c_11" style="display:none;"> + + +<span class='new_sign_lbl'>⇣</span> +<br/> +<span class='new_sign'>lys_print_fd <span class='sym_p'><span>( int <span class='color_p'>fd</span></span>, <span>struct lys_module const* <span class='color_p'>module</span></span>, <span>enum LYS_OUTFORMAT <span class='color_p'>format</span></span>, <span>uint32_t <span class='color_p'>options</span></span> )</span></span><br/> +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td><b>4th</b> middle parameter <b>target_node</b> has been removed from the calling stack.</td> +<td>Layout of parameter's stack has been changed and therefore parameters at higher positions in the stack may be incorrectly initialized by applications.</td> +</tr> +</table> +<br/> +</div> +<span class="section" onclick="javascript:showContent(this, 'c_12')"> +<span class='ext'>[+]</span> lys_print_file <span class='sym_p'><span>( FILE* <span class='color_p'>f</span></span>, <span>struct lys_module const* <span class='color_p'>module</span></span>, <span>enum LYS_OUTFORMAT <span class='color_p'>format</span></span>, <span>char const* <span class='color_p'>target_node</span></span>, <span>int <span class='color_p'>line_length</span></span>, <span>int <span class='color_p'>options</span></span> )</span> <span class='failed'> 1 </span></span> +<br/> +<div id="c_12" style="display:none;"> + + +<span class='new_sign_lbl'>⇣</span> +<br/> +<span class='new_sign'>lys_print_file <span class='sym_p'><span>( FILE* <span class='color_p'>f</span></span>, <span>struct lys_module const* <span class='color_p'>module</span></span>, <span>enum LYS_OUTFORMAT <span class='color_p'>format</span></span>, <span>uint32_t <span class='color_p'>options</span></span> )</span></span><br/> +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td><b>4th</b> middle parameter <b>target_node</b> has been removed from the calling stack.</td> +<td>Layout of parameter's stack has been changed and therefore parameters at higher positions in the stack may be incorrectly initialized by applications.</td> +</tr> +</table> +<br/> +</div> +<span class="section" onclick="javascript:showContent(this, 'c_13')"> +<span class='ext'>[+]</span> lys_print_mem <span class='sym_p'><span>( char** <span class='color_p'>strp</span></span>, <span>struct lys_module const* <span class='color_p'>module</span></span>, <span>enum LYS_OUTFORMAT <span class='color_p'>format</span></span>, <span>char const* <span class='color_p'>target_node</span></span>, <span>int <span class='color_p'>line_length</span></span>, <span>int <span class='color_p'>options</span></span> )</span> <span class='failed'> 1 </span></span> +<br/> +<div id="c_13" style="display:none;"> + + +<span class='new_sign_lbl'>⇣</span> +<br/> +<span class='new_sign'>lys_print_mem <span class='sym_p'><span>( char** <span class='color_p'>strp</span></span>, <span>struct lys_module const* <span class='color_p'>module</span></span>, <span>enum LYS_OUTFORMAT <span class='color_p'>format</span></span>, <span>uint32_t <span class='color_p'>options</span></span> )</span></span><br/> +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td><b>4th</b> middle parameter <b>target_node</b> has been removed from the calling stack.</td> +<td>Layout of parameter's stack has been changed and therefore parameters at higher positions in the stack may be incorrectly initialized by applications.</td> +</tr> +</table> +<br/> +</div> +<span class="section" onclick="javascript:showContent(this, 'c_14')"> +<span class='ext'>[+]</span> lys_print_path <span class='sym_p'><span>( char const* <span class='color_p'>path</span></span>, <span>struct lys_module const* <span class='color_p'>module</span></span>, <span>enum LYS_OUTFORMAT <span class='color_p'>format</span></span>, <span>char const* <span class='color_p'>target_node</span></span>, <span>int <span class='color_p'>line_length</span></span>, <span>int <span class='color_p'>options</span></span> )</span> <span class='failed'> 1 </span></span> +<br/> +<div id="c_14" style="display:none;"> + + +<span class='new_sign_lbl'>⇣</span> +<br/> +<span class='new_sign'>lys_print_path <span class='sym_p'><span>( char const* <span class='color_p'>path</span></span>, <span>struct lys_module const* <span class='color_p'>module</span></span>, <span>enum LYS_OUTFORMAT <span class='color_p'>format</span></span>, <span>uint32_t <span class='color_p'>options</span></span> )</span></span><br/> +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td><b>4th</b> middle parameter <b>target_node</b> has been removed from the calling stack.</td> +<td>Layout of parameter's stack has been changed and therefore parameters at higher positions in the stack may be incorrectly initialized by applications.</td> +</tr> +</table> +<br/> +</div> +<span class="section" onclick="javascript:showContent(this, 'c_15')"> +<span class='ext'>[+]</span> lys_search_localfile <span class='sym_p'><span>( char const*const* <span class='color_p'>searchpaths</span></span>, <span>int <span class='color_p'>cwd</span></span>, <span>char const* <span class='color_p'>name</span></span>, <span>char const* <span class='color_p'>revision</span></span>, <span>char** <span class='color_p'>localfile</span></span>, <span>LYS_INFORMAT* <span class='color_p'>format</span></span> )</span> <span class='failed'> 1 </span></span> +<br/> +<div id="c_15" style="display:none;"> + + +<span class='new_sign_lbl'>⇣</span> +<br/> +<span class='new_sign'>lys_search_localfile <span class='sym_p'><span>( char const*const* <span class='color_p'>searchpaths</span></span>, <span>ly_bool <span class='color_p'>cwd</span></span>, <span>char const* <span class='color_p'>name</span></span>, <span>char const* <span class='color_p'>revision</span></span>, <span>char** <span class='color_p'>localfile</span></span>, <span>LYS_INFORMAT* <span class='color_p'>format</span></span> )</span></span><br/> +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td>Type of <b>2nd</b> parameter <b>cwd</b> has been changed from <span class='nowrap'><b>int</b> (<b>4</b> bytes)</span> to <span class='nowrap'><b>ly_bool</b> (<b>1</b> byte)</span>.</td> +<td>Layout of parameter's stack has been changed and therefore parameters at higher positions in the stack may be incorrectly initialized by applications.</td> +</tr> +</table> +<br/> +</div> +<span class="section" onclick="javascript:showContent(this, 'c_16')"> +<span class='ext'>[+]</span> lys_set_implemented <span class='sym_p'><span>( struct lys_module const* <span class='color_p'>module</span></span> )</span> <span class='failed'> 1 </span></span> +<br/> +<div id="c_16" style="display:none;"> + + +<span class='new_sign_lbl'>⇣</span> +<br/> +<span class='new_sign'>lys_set_implemented <span class='sym_p'><span>( struct lys_module* <span class='color_p'>mod</span></span>, <span>char const** <span class='color_p'>features</span></span> )</span></span><br/> +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td>Parameter <b>mod</b> of type <span class='value'>struct lys_module*</span> has been added to the calling stack at the middle position.</td> +<td>Layout of parameter's stack has been changed and therefore parameters at higher positions in the stack may be incorrectly initialized by applications.</td> +</tr> +</table> +<br/> +</div> +<br/> +<a class='top_ref' href='#Top'>to the top</a><br/> +<a name='Medium_Risk_Binary_Problems'></a><a name='Type_Binary_Problems_Medium'></a> +<h2>Problems with Data Types, Medium Severity <span class='failed'> 37 </span></h2><hr/> +<span class='h_name'>libyang.h</span><br/> +<span class="section" onclick="javascript:showContent(this, 'c_17')"> +<span class='ext'>[+]</span> <span class='ttype'>enum</span> LY_ERR <span class='failed'> 3 </span></span> +<br/> +<div id="c_17" style="display:none;"> +<table class='ptable'><tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th></tr><tr> +<th>1</th> +<td>Value of member <b>LY_EINT</b> has been changed from <b>4</b> to <b>6</b>.</td> +<td>Applications may execute a wrong branch of code in the library and therefore change the behavior.</td> +</tr> +<tr> +<th>2</th> +<td>Value of member <b>LY_EPLUGIN</b> has been changed from <b>6</b> to <b>128</b>.</td> +<td>Applications may execute a wrong branch of code in the library and therefore change the behavior.</td> +</tr> +<tr> +<th>3</th> +<td>Value of member <b>LY_EVALID</b> has been changed from <b>5</b> to <b>7</b>.</td> +<td>Applications may execute a wrong branch of code in the library and therefore change the behavior.</td> +</tr> +</table> +<span class="sect_aff" onclick="javascript:showContent(this, 'c_18')"> +[+] affected symbols: 3 (1.7%)</span> +<div id="c_18" style="display:none;"> +<div class='affected'><span class='iname_a'>ly_err_clean <span class='sym_p'><span>( struct ly_ctx* <i>ctx</i></span>, <span>struct ly_err_item* <span class='fp'>eitem</span></span> )</span></span><br/> +<div class='affect'>Field 'eitem.no' in 2nd parameter 'eitem' (pointer) is of type 'enum LY_ERR'.</div> +<span class='iname_a'>ly_err_first <span class='sym_p'><span>( struct ly_ctx const* <i>ctx</i></span> )</span></span><br/> +<div class='affect'>Field 'retval.no' in the return value (pointer) is of type 'enum LY_ERR'.</div> +<span class='iname_a'>ly_err_print <span class='sym_p'><span>( struct ly_err_item* <span class='fp'>eitem</span></span> )</span></span><br/> +<div class='affect'>Field 'eitem.no' in 1st parameter 'eitem' (pointer) is of type 'enum LY_ERR'.</div> +</div> +</div> +<br/><br/></div> + +<br/> +<span class='h_name'>tree_data.h</span><br/> +<span class="section" onclick="javascript:showContent(this, 'c_19')"> +<span class='ext'>[+]</span> <span class='ttype'>struct</span> lyd_node <span class='failed'> 11 </span></span> +<br/> +<div id="c_19" style="display:none;"> +<table class='ptable'><tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th></tr><tr> +<th>1</th> +<td>The relative position of field <b>hash</b> has been changed from <b>4</b> to <b>0</b>.</td> +<td>1) Applications will access incorrect memory when attempting to access this field.<br/>2) Size of the inclusive type has been changed.</td> +</tr> +<tr> +<th>2</th> +<td>The relative position of field <b>prev</b> has been changed from <b>2</b> to <b>4</b>.</td> +<td>1) Applications will access incorrect memory when attempting to access this field.<br/>2) Size of the inclusive type has been changed.</td> +</tr> +<tr> +<th>3</th> +<td>Field <b>attr</b> has been removed from this type.</td> +<td>1) Applications will access incorrect memory when attempting to access this field.<br/>2) Size of the inclusive type has been changed.</td> +</tr> +<tr> +<th>4</th> +<td>Field <b>child</b> has been removed from this type.</td> +<td>1) Applications will access incorrect memory when attempting to access this field.<br/>2) Size of the inclusive type has been changed.</td> +</tr> +<tr> +<th>5</th> +<td>Field <b>ht</b> has been removed from this type.</td> +<td>1) Applications will access incorrect memory when attempting to access this field.<br/>2) Size of the inclusive type has been changed.</td> +</tr> +<tr> +<th>6</th> +<td>Field <b>validity</b> has been removed from this type.</td> +<td>1) Applications will access incorrect memory when attempting to access this field.<br/>2) Size of the inclusive type has been changed.</td> +</tr> +<tr> +<th>7</th> +<td>The relative position of field <b>next</b> has been changed from <b>1</b> to <b>3</b>.</td> +<td>Applications will access incorrect memory when attempting to access this field.</td> +</tr> +<tr> +<th>8</th> +<td>The relative position of field <b>parent</b> has been changed from <b>3</b> to <b>2</b>.</td> +<td>Applications will access incorrect memory when attempting to access this field.</td> +</tr> +<tr> +<th>9</th> +<td>The relative position of field <b>schema</b> has been changed from <b>0</b> to <b>1</b>.</td> +<td>Applications will access incorrect memory when attempting to access this field.</td> +</tr> +<tr> +<th>10</th> +<td>Field <b>dflt</b> has been removed from this type.</td> +<td>Applications will access incorrect memory when attempting to access this field.</td> +</tr> +<tr> +<th>11</th> +<td>Field <b>when_status</b> has been removed from this type.</td> +<td>Applications will access incorrect memory when attempting to access this field.</td> +</tr> +</table> +<span class="sect_aff" onclick="javascript:showContent(this, 'c_20')"> +[+] affected symbols: 9 (5.2%)</span> +<div id="c_20" style="display:none;"> +<div class='affected'><span class='iname_a'>lyd_find_sibling_val <span class='sym_p'><span>( struct lyd_node const* <span class='fp'>siblings</span></span>, <span>struct lys_node const* <i>schema</i></span>, <span>char const* <i>key_or_value</i></span>, <span>struct lyd_node** <i>match</i></span> )</span></span><br/> +<div class='affect'>1st parameter 'siblings' (pointer) has base type 'struct lyd_node'.</div> +<span class='iname_a'>lyd_first_sibling <span class='sym_p'><span>( struct lyd_node* <span class='fp'>node</span></span> )</span></span><br/> +<div class='affect'>1st parameter 'node' (pointer) has base type 'struct lyd_node'.</div> +<span class='iname_a'>lyd_list_pos <span class='sym_p'><span>( struct lyd_node const* <span class='fp'>node</span></span> )</span></span><br/> +<div class='affect'>1st parameter 'node' (pointer) has base type 'struct lyd_node'.</div> +<span class='iname_a'>lyd_path <span class='sym_p'><span>( struct lyd_node const* <span class='fp'>node</span></span> )</span></span><br/> +<div class='affect'>1st parameter 'node' (pointer) has base type 'struct lyd_node'.</div> +<span class='iname_a'>lyd_print_clb <span class='sym_p'><span>( ssize_t(*<i>writeclb</i>)(void*, void const*, size_t)</span>, <span>void* <i>arg</i></span>, <span>struct lyd_node const* <span class='fp'>root</span></span>, <span>enum LYD_FORMAT <i>format</i></span>, <span>int <i>options</i></span> )</span></span><br/> +<div class='affect'>3rd parameter 'root' (pointer) has base type 'struct lyd_node'.</div> +<span class='iname_a'>lyd_print_fd <span class='sym_p'><span>( int <i>fd</i></span>, <span>struct lyd_node const* <span class='fp'>root</span></span>, <span>enum LYD_FORMAT <i>format</i></span>, <span>int <i>options</i></span> )</span></span><br/> +<div class='affect'>2nd parameter 'root' (pointer) has base type 'struct lyd_node'.</div> +<span class='iname_a'>lyd_print_file <span class='sym_p'><span>( FILE* <i>f</i></span>, <span>struct lyd_node const* <span class='fp'>root</span></span>, <span>enum LYD_FORMAT <i>format</i></span>, <span>int <i>options</i></span> )</span></span><br/> +<div class='affect'>2nd parameter 'root' (pointer) has base type 'struct lyd_node'.</div> +<span class='iname_a'>lyd_print_mem <span class='sym_p'><span>( char** <i>strp</i></span>, <span>struct lyd_node const* <span class='fp'>root</span></span>, <span>enum LYD_FORMAT <i>format</i></span>, <span>int <i>options</i></span> )</span></span><br/> +<div class='affect'>2nd parameter 'root' (pointer) has base type 'struct lyd_node'.</div> +<span class='iname_a'>lyd_print_path <span class='sym_p'><span>( char const* <i>path</i></span>, <span>struct lyd_node const* <span class='fp'>root</span></span>, <span>enum LYD_FORMAT <i>format</i></span>, <span>int <i>options</i></span> )</span></span><br/> +<div class='affect'>2nd parameter 'root' (pointer) has base type 'struct lyd_node'.</div> +</div> +</div> +<br/><br/></div> + +<br/> +<span class='h_name'>tree_schema.h</span><br/> +<span class="section" onclick="javascript:showContent(this, 'c_21')"> +<span class='ext'>[+]</span> <span class='ttype'>enum</span> LYS_INFORMAT <span class='failed'> 1 </span></span> +<br/> +<div id="c_21" style="display:none;"> +<table class='ptable'><tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th></tr><tr> +<th>1</th> +<td>Value of member <b>LYS_IN_YIN</b> has been changed from <b>2</b> to <b>3</b>.</td> +<td>Applications may execute a wrong branch of code in the library and therefore change the behavior.</td> +</tr> +</table> +<span class="sect_aff" onclick="javascript:showContent(this, 'c_22')"> +[+] affected symbols: 4 (2.3%)</span> +<div id="c_22" style="display:none;"> +<div class='affected'><span class='iname_a'>lys_parse_fd <span class='sym_p'><span>( struct ly_ctx* <i>ctx</i></span>, <span>int <i>fd</i></span>, <span>enum LYS_INFORMAT <span class='fp'>format</span></span> )</span></span><br/> +<div class='affect'>3rd parameter 'format' is of type 'enum LYS_INFORMAT'.</div> +<span class='iname_a'>lys_parse_mem <span class='sym_p'><span>( struct ly_ctx* <i>ctx</i></span>, <span>char const* <i>data</i></span>, <span>enum LYS_INFORMAT <span class='fp'>format</span></span> )</span></span><br/> +<div class='affect'>3rd parameter 'format' is of type 'enum LYS_INFORMAT'.</div> +<span class='iname_a'>lys_parse_path <span class='sym_p'><span>( struct ly_ctx* <i>ctx</i></span>, <span>char const* <i>path</i></span>, <span>enum LYS_INFORMAT <span class='fp'>format</span></span> )</span></span><br/> +<div class='affect'>3rd parameter 'format' is of type 'enum LYS_INFORMAT'.</div> +<span class='iname_a'>lys_search_localfile <span class='sym_p'><span>( char const*const* <i>searchpaths</i></span>, <span>int <i>cwd</i></span>, <span>char const* <i>name</i></span>, <span>char const* <i>revision</i></span>, <span>char** <i>localfile</i></span>, <span>LYS_INFORMAT* <span class='fp'>format</span></span> )</span></span><br/> +<div class='affect'>6th parameter 'format' (pointer) has base type 'enum LYS_INFORMAT'.</div> +</div> +</div> +<br/><br/></div> + +<span class="section" onclick="javascript:showContent(this, 'c_23')"> +<span class='ext'>[+]</span> <span class='ttype'>enum</span> LYS_OUTFORMAT <span class='failed'> 2 </span></span> +<br/> +<div id="c_23" style="display:none;"> +<table class='ptable'><tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th></tr><tr> +<th>1</th> +<td>Value of member <b>LYS_OUT_TREE</b> has been changed from <b>3</b> to <b>4</b>.</td> +<td>Applications may execute a wrong branch of code in the library and therefore change the behavior.</td> +</tr> +<tr> +<th>2</th> +<td>Value of member <b>LYS_OUT_YIN</b> has been changed from <b>2</b> to <b>3</b>.</td> +<td>Applications may execute a wrong branch of code in the library and therefore change the behavior.</td> +</tr> +</table> +<span class="sect_aff" onclick="javascript:showContent(this, 'c_24')"> +[+] affected symbols: 5 (2.9%)</span> +<div id="c_24" style="display:none;"> +<div class='affected'><span class='iname_a'>lys_print_clb <span class='sym_p'><span>( ssize_t(*<i>writeclb</i>)(void*, void const*, size_t)</span>, <span>void* <i>arg</i></span>, <span>struct lys_module const* <i>module</i></span>, <span>enum LYS_OUTFORMAT <span class='fp'>format</span></span>, <span>char const* <i>target_node</i></span>, <span>int <i>line_length</i></span>, <span>int <i>options</i></span> )</span></span><br/> +<div class='affect'>4th parameter 'format' is of type 'enum LYS_OUTFORMAT'.</div> +<span class='iname_a'>lys_print_fd <span class='sym_p'><span>( int <i>fd</i></span>, <span>struct lys_module const* <i>module</i></span>, <span>enum LYS_OUTFORMAT <span class='fp'>format</span></span>, <span>char const* <i>target_node</i></span>, <span>int <i>line_length</i></span>, <span>int <i>options</i></span> )</span></span><br/> +<div class='affect'>3rd parameter 'format' is of type 'enum LYS_OUTFORMAT'.</div> +<span class='iname_a'>lys_print_file <span class='sym_p'><span>( FILE* <i>f</i></span>, <span>struct lys_module const* <i>module</i></span>, <span>enum LYS_OUTFORMAT <span class='fp'>format</span></span>, <span>char const* <i>target_node</i></span>, <span>int <i>line_length</i></span>, <span>int <i>options</i></span> )</span></span><br/> +<div class='affect'>3rd parameter 'format' is of type 'enum LYS_OUTFORMAT'.</div> +<span class='iname_a'>lys_print_mem <span class='sym_p'><span>( char** <i>strp</i></span>, <span>struct lys_module const* <i>module</i></span>, <span>enum LYS_OUTFORMAT <span class='fp'>format</span></span>, <span>char const* <i>target_node</i></span>, <span>int <i>line_length</i></span>, <span>int <i>options</i></span> )</span></span><br/> +<div class='affect'>3rd parameter 'format' is of type 'enum LYS_OUTFORMAT'.</div> +<span class='iname_a'>lys_print_path <span class='sym_p'><span>( char const* <i>path</i></span>, <span>struct lys_module const* <i>module</i></span>, <span>enum LYS_OUTFORMAT <span class='fp'>format</span></span>, <span>char const* <i>target_node</i></span>, <span>int <i>line_length</i></span>, <span>int <i>options</i></span> )</span></span><br/> +<div class='affect'>3rd parameter 'format' is of type 'enum LYS_OUTFORMAT'.</div> +</div> +</div> +<br/><br/></div> + +<span class="section" onclick="javascript:showContent(this, 'c_25')"> +<span class='ext'>[+]</span> <span class='ttype'>struct</span> lys_module <span class='failed'> 20 </span></span> +<br/> +<div id="c_25" style="display:none;"> +<table class='ptable'><tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th></tr><tr> +<th>1</th> +<td>Field <b>augmented_by</b> has been added at the middle position of this structural type.</td> +<td>1) Size of the inclusive type has been changed.<br/>2) Layout of structure fields has been changed and therefore fields at higher positions of the structure definition may be incorrectly accessed by applications.</td> +</tr> +<tr> +<th>2</th> +<td>Field <b>compiled</b> has been added at the middle position of this structural type.</td> +<td>1) Size of the inclusive type has been changed.<br/>2) Layout of structure fields has been changed and therefore fields at higher positions of the structure definition may be incorrectly accessed by applications.</td> +</tr> +<tr> +<th>3</th> +<td>Field <b>deviated_by</b> has been added at the middle position of this structural type.</td> +<td>1) Size of the inclusive type has been changed.<br/>2) Layout of structure fields has been changed and therefore fields at higher positions of the structure definition may be incorrectly accessed by applications.</td> +</tr> +<tr> +<th>4</th> +<td>Field <b>identities</b> has been added at the middle position of this structural type.</td> +<td>1) Size of the inclusive type has been changed.<br/>2) Layout of structure fields has been changed and therefore fields at higher positions of the structure definition may be incorrectly accessed by applications.</td> +</tr> +<tr> +<th>5</th> +<td>Field <b>parsed</b> has been added at the middle position of this structural type.</td> +<td>1) Size of the inclusive type has been changed.<br/>2) Layout of structure fields has been changed and therefore fields at higher positions of the structure definition may be incorrectly accessed by applications.</td> +</tr> +<tr> +<th>6</th> +<td>Field <b>revision</b> has been added at the middle position of this structural type.</td> +<td>1) Size of the inclusive type has been changed.<br/>2) Layout of structure fields has been changed and therefore fields at higher positions of the structure definition may be incorrectly accessed by applications.</td> +</tr> +<tr> +<th>7</th> +<td>The relative position of field <b>latest_revision</b> has been changed from <b>9</b> to <b>10</b>.</td> +<td>1) Applications will access incorrect memory when attempting to access this field.<br/>2) Size of the inclusive type has been changed.</td> +</tr> +<tr> +<th>8</th> +<td>The relative position of field <b>ref</b> has been changed from <b>4</b> to <b>8</b>.</td> +<td>1) Applications will access incorrect memory when attempting to access this field.<br/>2) Size of the inclusive type has been changed.</td> +</tr> +<tr> +<th>9</th> +<td>The relative position of field <b>dsc</b> has been changed from <b>3</b> to <b>7</b>.</td> +<td>Applications will access incorrect memory when attempting to access this field.</td> +</tr> +<tr> +<th>10</th> +<td>The relative position of field <b>filepath</b> has been changed from <b>7</b> to <b>4</b>.</td> +<td>Applications will access incorrect memory when attempting to access this field.</td> +</tr> +<tr> +<th>11</th> +<td>The relative position of field <b>ns</b> has been changed from <b>10</b> to <b>2</b>.</td> +<td>Applications will access incorrect memory when attempting to access this field.</td> +</tr> +<tr> +<th>12</th> +<td>The relative position of field <b>prefix</b> has been changed from <b>2</b> to <b>3</b>.</td> +<td>Applications will access incorrect memory when attempting to access this field.</td> +</tr> +<tr> +<th>13</th> +<td>Field <b>augment_size</b> has been removed from this type.</td> +<td>Applications will access incorrect memory when attempting to access this field.</td> +</tr> +<tr> +<th>14</th> +<td>Field <b>deviation_size</b> has been removed from this type.</td> +<td>Applications will access incorrect memory when attempting to access this field.</td> +</tr> +<tr> +<th>15</th> +<td>Field <b>extensions_size</b> has been removed from this type.</td> +<td>Applications will access incorrect memory when attempting to access this field.</td> +</tr> +<tr> +<th>16</th> +<td>Field <b>features_size</b> has been removed from this type.</td> +<td>Applications will access incorrect memory when attempting to access this field.</td> +</tr> +<tr> +<th>17</th> +<td>Field <b>imp_size</b> has been removed from this type.</td> +<td>Applications will access incorrect memory when attempting to access this field.</td> +</tr> +<tr> +<th>18</th> +<td>Field <b>inc_size</b> has been removed from this type.</td> +<td>Applications will access incorrect memory when attempting to access this field.</td> +</tr> +<tr> +<th>19</th> +<td>Field <b>rev_size</b> has been removed from this type.</td> +<td>Applications will access incorrect memory when attempting to access this field.</td> +</tr> +<tr> +<th>20</th> +<td>Field <b>tpdf_size</b> has been removed from this type.</td> +<td>Applications will access incorrect memory when attempting to access this field.</td> +</tr> +</table> +<span class="sect_aff" onclick="javascript:showContent(this, 'c_26')"> +[+] affected symbols: 8 (4.6%)</span> +<div id="c_26" style="display:none;"> +<div class='affected'><span class='iname_a'>ly_ctx_get_module <span class='sym_p'><span>( struct ly_ctx const* <i>ctx</i></span>, <span>char const* <i>name</i></span>, <span>char const* <i>revision</i></span>, <span>int <i>implemented</i></span> )</span></span><br/> +<div class='affect'>Return value (pointer) has base type 'struct lys_module'.</div> +<span class='iname_a'>ly_ctx_get_module_iter <span class='sym_p'><span>( struct ly_ctx const* <i>ctx</i></span>, <span>uint32_t* <i>idx</i></span> )</span></span><br/> +<div class='affect'>Return value (pointer) has base type 'struct lys_module'.</div> +<span class='iname_a'>ly_ctx_load_module <span class='sym_p'><span>( struct ly_ctx* <i>ctx</i></span>, <span>char const* <i>name</i></span>, <span>char const* <i>revision</i></span> )</span></span><br/> +<div class='affect'>Return value (pointer) has base type 'struct lys_module'.</div> +<span class='iname_a'>lys_print_clb <span class='sym_p'><span>( ssize_t(*<i>writeclb</i>)(void*, void const*, size_t)</span>, <span>void* <i>arg</i></span>, <span>struct lys_module const* <span class='fp'>module</span></span>, <span>enum LYS_OUTFORMAT <i>format</i></span>, <span>char const* <i>target_node</i></span>, <span>int <i>line_length</i></span>, <span>int <i>options</i></span> )</span></span><br/> +<div class='affect'>3rd parameter 'module' (pointer) has base type 'struct lys_module'.</div> +<span class='iname_a'>lys_print_fd <span class='sym_p'><span>( int <i>fd</i></span>, <span>struct lys_module const* <span class='fp'>module</span></span>, <span>enum LYS_OUTFORMAT <i>format</i></span>, <span>char const* <i>target_node</i></span>, <span>int <i>line_length</i></span>, <span>int <i>options</i></span> )</span></span><br/> +<div class='affect'>2nd parameter 'module' (pointer) has base type 'struct lys_module'.</div> +<span class='iname_a'>lys_print_file <span class='sym_p'><span>( FILE* <i>f</i></span>, <span>struct lys_module const* <span class='fp'>module</span></span>, <span>enum LYS_OUTFORMAT <i>format</i></span>, <span>char const* <i>target_node</i></span>, <span>int <i>line_length</i></span>, <span>int <i>options</i></span> )</span></span><br/> +<div class='affect'>2nd parameter 'module' (pointer) has base type 'struct lys_module'.</div> +<span class='iname_a'>lys_print_mem <span class='sym_p'><span>( char** <i>strp</i></span>, <span>struct lys_module const* <span class='fp'>module</span></span>, <span>enum LYS_OUTFORMAT <i>format</i></span>, <span>char const* <i>target_node</i></span>, <span>int <i>line_length</i></span>, <span>int <i>options</i></span> )</span></span><br/> +<div class='affect'>2nd parameter 'module' (pointer) has base type 'struct lys_module'.</div> +<span class='iname_a'>lys_print_path <span class='sym_p'><span>( char const* <i>path</i></span>, <span>struct lys_module const* <span class='fp'>module</span></span>, <span>enum LYS_OUTFORMAT <i>format</i></span>, <span>char const* <i>target_node</i></span>, <span>int <i>line_length</i></span>, <span>int <i>options</i></span> )</span></span><br/> +<div class='affect'>2nd parameter 'module' (pointer) has base type 'struct lys_module'.</div> +</div> +</div> +<br/><br/></div> + +<br/> +<a class='top_ref' href='#Top'>to the top</a><br/> +<a name='Symbol_Binary_Problems_Medium'></a><a name='Interface_Binary_Problems_Medium'></a> +<h2>Problems with Symbols, Medium Severity <span class='failed'> 57 </span></h2><hr/> +<span class='h_name'>dict.h</span>, <span class='lib_name'>libyang.so.1.9.19</span><br/> +<span class="section" onclick="javascript:showContent(this, 'c_27')"> +<span class='ext'>[+]</span> lydict_insert <span class='sym_p'><span>( struct ly_ctx* <span class='color_p'>ctx</span></span>, <span>char const* <span class='color_p'>value</span></span>, <span>size_t <span class='color_p'>len</span></span> )</span> <span class='failed'> 3 </span></span> +<br/> +<div id="c_27" style="display:none;"> + + +<span class='new_sign_lbl'>⇣</span> +<br/> +<span class='new_sign'>lydict_insert <span class='sym_p'><span>( struct ly_ctx const* <span class='color_p'>ctx</span></span>, <span>char const* <span class='color_p'>value</span></span>, <span>size_t <span class='color_p'>len</span></span>, <span>char const** <span class='color_p'>str_p</span></span> )</span></span><br/> +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td>Parameter <b>str_p</b> of type <span class='value'>char const**</span> has been added to the calling stack.</td> +<td>This parameter will not be initialized by old clients.</td> +</tr> +<tr> +<th>2</th> +<td>The pointer level of return value has been decreased from <b>1</b> to <b>0</b>.</td> +<td>Applications may try to access unallocated memory by the dereferencing of new return value and therefore cause a crash.</td> +</tr> +<tr> +<th>3</th> +<td>Type of return value has been changed from <span class='nowrap'><span class='value'>char const*</span> (<b>8</b> bytes)</span> to <span class='nowrap'><span class='value'>enum LY_ERR</span> (<b>4</b> bytes)</span>.</td> +<td>Applications will obtain a different return value and execution may change.</td> +</tr> +</table> +<br/> +</div> +<span class="section" onclick="javascript:showContent(this, 'c_28')"> +<span class='ext'>[+]</span> lydict_insert_zc <span class='sym_p'><span>( struct ly_ctx* <span class='color_p'>ctx</span></span>, <span>char* <span class='color_p'>value</span></span> )</span> <span class='failed'> 3 </span></span> +<br/> +<div id="c_28" style="display:none;"> + + +<span class='new_sign_lbl'>⇣</span> +<br/> +<span class='new_sign'>lydict_insert_zc <span class='sym_p'><span>( struct ly_ctx const* <span class='color_p'>ctx</span></span>, <span>char* <span class='color_p'>value</span></span>, <span>char const** <span class='color_p'>str_p</span></span> )</span></span><br/> +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td>Parameter <b>str_p</b> of type <span class='value'>char const**</span> has been added to the calling stack.</td> +<td>This parameter will not be initialized by old clients.</td> +</tr> +<tr> +<th>2</th> +<td>The pointer level of return value has been decreased from <b>1</b> to <b>0</b>.</td> +<td>Applications may try to access unallocated memory by the dereferencing of new return value and therefore cause a crash.</td> +</tr> +<tr> +<th>3</th> +<td>Type of return value has been changed from <span class='nowrap'><span class='value'>char const*</span> (<b>8</b> bytes)</span> to <span class='nowrap'><span class='value'>enum LY_ERR</span> (<b>4</b> bytes)</span>.</td> +<td>Applications will obtain a different return value and execution may change.</td> +</tr> +</table> +<br/> +</div> +<br/> +<span class='h_name'>libyang.h</span>, <span class='lib_name'>libyang.so.1.9.19</span><br/> +<span class="section" onclick="javascript:showContent(this, 'c_29')"> +<span class='ext'>[+]</span> ly_ctx_get_module <span class='sym_p'><span>( struct ly_ctx const* <span class='color_p'>ctx</span></span>, <span>char const* <span class='color_p'>name</span></span>, <span>char const* <span class='color_p'>revision</span></span>, <span>int <span class='color_p'>implemented</span></span> )</span> <span class='failed'> 1 </span></span> +<br/> +<div id="c_29" style="display:none;"> + + +<span class='new_sign_lbl'>⇣</span> +<br/> +<span class='new_sign'>ly_ctx_get_module <span class='sym_p'><span>( struct ly_ctx const* <span class='color_p'>ctx</span></span>, <span>char const* <span class='color_p'>name</span></span>, <span>char const* <span class='color_p'>revision</span></span> )</span></span><br/> +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td><b>4th</b> parameter <b>implemented</b> has been removed from the calling stack.</td> +<td>This parameter will be ignored by the function.</td> +</tr> +</table> +<br/> +</div> +<span class="section" onclick="javascript:showContent(this, 'c_30')"> +<span class='ext'>[+]</span> ly_ctx_get_options <span class='sym_p'><span>( struct ly_ctx* <span class='color_p'>ctx</span></span> )</span> <span class='failed'> 1 </span></span> +<br/> +<div id="c_30" style="display:none;"> + +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td>Type of return value has been changed from <span class='nowrap'><b>int</b> (<b>4</b> bytes)</span> to <span class='nowrap'><b>uint16_t</b> (<b>2</b> bytes)</span>.</td> +<td>Applications will obtain a different return value and execution may change.</td> +</tr> +</table> +<br/> +</div> +<span class="section" onclick="javascript:showContent(this, 'c_31')"> +<span class='ext'>[+]</span> ly_ctx_load_module <span class='sym_p'><span>( struct ly_ctx* <span class='color_p'>ctx</span></span>, <span>char const* <span class='color_p'>name</span></span>, <span>char const* <span class='color_p'>revision</span></span> )</span> <span class='failed'> 1 </span></span> +<br/> +<div id="c_31" style="display:none;"> + + +<span class='new_sign_lbl'>⇣</span> +<br/> +<span class='new_sign'>ly_ctx_load_module <span class='sym_p'><span>( struct ly_ctx* <span class='color_p'>ctx</span></span>, <span>char const* <span class='color_p'>name</span></span>, <span>char const* <span class='color_p'>revision</span></span>, <span>char const** <span class='color_p'>features</span></span> )</span></span><br/> +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td>Parameter <b>features</b> of type <span class='value'>char const**</span> has been added to the calling stack.</td> +<td>This parameter will not be initialized by old clients.</td> +</tr> +</table> +<br/> +</div> +<span class="section" onclick="javascript:showContent(this, 'c_32')"> +<span class='ext'>[+]</span> ly_ctx_new <span class='sym_p'><span>( char const* <span class='color_p'>search_dir</span></span>, <span>int <span class='color_p'>options</span></span> )</span> <span class='failed'> 3 </span></span> +<br/> +<div id="c_32" style="display:none;"> + + +<span class='new_sign_lbl'>⇣</span> +<br/> +<span class='new_sign'>ly_ctx_new <span class='sym_p'><span>( char const* <span class='color_p'>search_dir</span></span>, <span>uint16_t <span class='color_p'>options</span></span>, <span>struct ly_ctx** <span class='color_p'>new_ctx</span></span> )</span></span><br/> +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td>Parameter <b>new_ctx</b> of type <span class='value'>struct ly_ctx**</span> has been added to the calling stack.</td> +<td>This parameter will not be initialized by old clients.</td> +</tr> +<tr> +<th>2</th> +<td>The pointer level of return value has been decreased from <b>1</b> to <b>0</b>.</td> +<td>Applications may try to access unallocated memory by the dereferencing of new return value and therefore cause a crash.</td> +</tr> +<tr> +<th>3</th> +<td>Type of return value has been changed from <span class='nowrap'><span class='value'>struct ly_ctx*</span> (<b>8</b> bytes)</span> to <span class='nowrap'><span class='value'>enum LY_ERR</span> (<b>4</b> bytes)</span>.</td> +<td>Applications will obtain a different return value and execution may change.</td> +</tr> +</table> +<br/> +</div> +<span class="section" onclick="javascript:showContent(this, 'c_33')"> +<span class='ext'>[+]</span> ly_set_add <span class='sym_p'><span>( struct ly_set* <span class='color_p'>set</span></span>, <span>void* <span class='color_p'>node</span></span>, <span>int <span class='color_p'>options</span></span> )</span> <span class='failed'> 1 </span></span> +<br/> +<div id="c_33" style="display:none;"> + + +<span class='new_sign_lbl'>⇣</span> +<br/> +<span class='new_sign'>ly_set_add <span class='sym_p'><span>( struct ly_set* <span class='color_p'>set</span></span>, <span>void* <span class='color_p'>object</span></span>, <span>ly_bool <span class='color_p'>list</span></span>, <span>uint32_t* <span class='color_p'>index_p</span></span> )</span></span><br/> +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td>Parameter <b>index_p</b> of type <b>uint32_t*</b> has been added to the calling stack.</td> +<td>This parameter will not be initialized by old clients.</td> +</tr> +</table> +<br/> +</div> +<span class="section" onclick="javascript:showContent(this, 'c_34')"> +<span class='ext'>[+]</span> ly_set_clean <span class='sym_p'><span>( struct ly_set* <span class='color_p'>set</span></span> )</span> <span class='failed'> 2 </span></span> +<br/> +<div id="c_34" style="display:none;"> + + +<span class='new_sign_lbl'>⇣</span> +<br/> +<span class='new_sign'>ly_set_clean <span class='sym_p'><span>( struct ly_set* <span class='color_p'>set</span></span>, <span>void(*<span class='color_p'>destructor</span>)(void*)</span> )</span></span><br/> +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td>Parameter <b>destructor</b> of type <b>void(*)(void*)</b> has been added to the calling stack.</td> +<td>This parameter will not be initialized by old clients.</td> +</tr> +<tr> +<th>2</th> +<td>Type of return value has been changed from <span class='nowrap'><b>int</b> (<b>4</b> bytes)</span> to <b>void</b>.</td> +<td>Applications will not obtain a return value and execution may change.</td> +</tr> +</table> +<br/> +</div> +<span class="section" onclick="javascript:showContent(this, 'c_35')"> +<span class='ext'>[+]</span> ly_set_contains <span class='sym_p'><span>( struct ly_set const* <span class='color_p'>set</span></span>, <span>void* <span class='color_p'>node</span></span> )</span> <span class='failed'> 2 </span></span> +<br/> +<div id="c_35" style="display:none;"> + + +<span class='new_sign_lbl'>⇣</span> +<br/> +<span class='new_sign'>ly_set_contains <span class='sym_p'><span>( struct ly_set const* <span class='color_p'>set</span></span>, <span>void* <span class='color_p'>object</span></span>, <span>uint32_t* <span class='color_p'>index_p</span></span> )</span></span><br/> +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td>Parameter <b>index_p</b> of type <b>uint32_t*</b> has been added to the calling stack.</td> +<td>This parameter will not be initialized by old clients.</td> +</tr> +<tr> +<th>2</th> +<td>Type of return value has been changed from <span class='nowrap'><b>int</b> (<b>4</b> bytes)</span> to <span class='nowrap'><b>ly_bool</b> (<b>1</b> byte)</span>.</td> +<td>Applications will obtain a different return value and execution may change.</td> +</tr> +</table> +<br/> +</div> +<span class="section" onclick="javascript:showContent(this, 'c_36')"> +<span class='ext'>[+]</span> ly_set_dup <span class='sym_p'><span>( struct ly_set const* <span class='color_p'>set</span></span> )</span> <span class='failed'> 4 </span></span> +<br/> +<div id="c_36" style="display:none;"> + + +<span class='new_sign_lbl'>⇣</span> +<br/> +<span class='new_sign'>ly_set_dup <span class='sym_p'><span>( struct ly_set const* <span class='color_p'>set</span></span>, <span>void*(*<span class='color_p'>duplicator</span>)(void*)</span>, <span>struct ly_set** <span class='color_p'>newset_p</span></span> )</span></span><br/> +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td>Parameter <b>duplicator</b> of type <b>void*(*)(void*)</b> has been added to the calling stack.</td> +<td>This parameter will not be initialized by old clients.</td> +</tr> +<tr> +<th>2</th> +<td>Parameter <b>newset_p</b> of type <span class='value'>struct ly_set**</span> has been added to the calling stack.</td> +<td>This parameter will not be initialized by old clients.</td> +</tr> +<tr> +<th>3</th> +<td>The pointer level of return value has been decreased from <b>1</b> to <b>0</b>.</td> +<td>Applications may try to access unallocated memory by the dereferencing of new return value and therefore cause a crash.</td> +</tr> +<tr> +<th>4</th> +<td>Type of return value has been changed from <span class='nowrap'><span class='value'>struct ly_set*</span> (<b>8</b> bytes)</span> to <span class='nowrap'><span class='value'>enum LY_ERR</span> (<b>4</b> bytes)</span>.</td> +<td>Applications will obtain a different return value and execution may change.</td> +</tr> +</table> +<br/> +</div> +<span class="section" onclick="javascript:showContent(this, 'c_37')"> +<span class='ext'>[+]</span> ly_set_free <span class='sym_p'><span>( struct ly_set* <span class='color_p'>set</span></span> )</span> <span class='failed'> 1 </span></span> +<br/> +<div id="c_37" style="display:none;"> + + +<span class='new_sign_lbl'>⇣</span> +<br/> +<span class='new_sign'>ly_set_free <span class='sym_p'><span>( struct ly_set* <span class='color_p'>set</span></span>, <span>void(*<span class='color_p'>destructor</span>)(void*)</span> )</span></span><br/> +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td>Parameter <b>destructor</b> of type <b>void(*)(void*)</b> has been added to the calling stack.</td> +<td>This parameter will not be initialized by old clients.</td> +</tr> +</table> +<br/> +</div> +<span class="section" onclick="javascript:showContent(this, 'c_38')"> +<span class='ext'>[+]</span> ly_set_merge <span class='sym_p'><span>( struct ly_set* <span class='color_p'>trg</span></span>, <span>struct ly_set* <span class='color_p'>src</span></span>, <span>int <span class='color_p'>options</span></span> )</span> <span class='failed'> 1 </span></span> +<br/> +<div id="c_38" style="display:none;"> + + +<span class='new_sign_lbl'>⇣</span> +<br/> +<span class='new_sign'>ly_set_merge <span class='sym_p'><span>( struct ly_set* <span class='color_p'>trg</span></span>, <span>struct ly_set* <span class='color_p'>src</span></span>, <span>ly_bool <span class='color_p'>list</span></span>, <span>void*(*<span class='color_p'>duplicator</span>)(void*)</span> )</span></span><br/> +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td>Parameter <b>duplicator</b> of type <b>void*(*)(void*)</b> has been added to the calling stack.</td> +<td>This parameter will not be initialized by old clients.</td> +</tr> +</table> +<br/> +</div> +<span class="section" onclick="javascript:showContent(this, 'c_39')"> +<span class='ext'>[+]</span> ly_set_new <span class='sym_p'>( )</span> <span class='failed'> 3 </span></span> +<br/> +<div id="c_39" style="display:none;"> + + +<span class='new_sign_lbl'>⇣</span> +<br/> +<span class='new_sign'>ly_set_new <span class='sym_p'><span>( struct ly_set** <span class='color_p'>set_p</span></span> )</span></span><br/> +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td>Parameter <b>set_p</b> of type <span class='value'>struct ly_set**</span> has been added to the calling stack.</td> +<td>This parameter will not be initialized by old clients.</td> +</tr> +<tr> +<th>2</th> +<td>The pointer level of return value has been decreased from <b>1</b> to <b>0</b>.</td> +<td>Applications may try to access unallocated memory by the dereferencing of new return value and therefore cause a crash.</td> +</tr> +<tr> +<th>3</th> +<td>Type of return value has been changed from <span class='nowrap'><span class='value'>struct ly_set*</span> (<b>8</b> bytes)</span> to <span class='nowrap'><span class='value'>enum LY_ERR</span> (<b>4</b> bytes)</span>.</td> +<td>Applications will obtain a different return value and execution may change.</td> +</tr> +</table> +<br/> +</div> +<span class="section" onclick="javascript:showContent(this, 'c_40')"> +<span class='ext'>[+]</span> ly_set_rm <span class='sym_p'><span>( struct ly_set* <span class='color_p'>set</span></span>, <span>void* <span class='color_p'>node</span></span> )</span> <span class='failed'> 1 </span></span> +<br/> +<div id="c_40" style="display:none;"> + + +<span class='new_sign_lbl'>⇣</span> +<br/> +<span class='new_sign'>ly_set_rm <span class='sym_p'><span>( struct ly_set* <span class='color_p'>set</span></span>, <span>void* <span class='color_p'>object</span></span>, <span>void(*<span class='color_p'>destructor</span>)(void*)</span> )</span></span><br/> +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td>Parameter <b>destructor</b> of type <b>void(*)(void*)</b> has been added to the calling stack.</td> +<td>This parameter will not be initialized by old clients.</td> +</tr> +</table> +<br/> +</div> +<span class="section" onclick="javascript:showContent(this, 'c_41')"> +<span class='ext'>[+]</span> ly_set_rm_index <span class='sym_p'><span>( struct ly_set* <span class='color_p'>set</span></span>, <span>unsigned int <span class='color_p'>index</span></span> )</span> <span class='failed'> 1 </span></span> +<br/> +<div id="c_41" style="display:none;"> + + +<span class='new_sign_lbl'>⇣</span> +<br/> +<span class='new_sign'>ly_set_rm_index <span class='sym_p'><span>( struct ly_set* <span class='color_p'>set</span></span>, <span>uint32_t <span class='color_p'>index</span></span>, <span>void(*<span class='color_p'>destructor</span>)(void*)</span> )</span></span><br/> +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td>Parameter <b>destructor</b> of type <b>void(*)(void*)</b> has been added to the calling stack.</td> +<td>This parameter will not be initialized by old clients.</td> +</tr> +</table> +<br/> +</div> +<br/> +<span class='h_name'>tree_data.h</span>, <span class='lib_name'>libyang.so.1.9.19</span><br/> +<span class="section" onclick="javascript:showContent(this, 'c_42')"> +<span class='ext'>[+]</span> lyd_find_sibling_val <span class='sym_p'><span>( struct lyd_node const* <span class='color_p'>siblings</span></span>, <span>struct lys_node const* <span class='color_p'>schema</span></span>, <span>char const* <span class='color_p'>key_or_value</span></span>, <span>struct lyd_node** <span class='color_p'>match</span></span> )</span> <span class='failed'> 1 </span></span> +<br/> +<div id="c_42" style="display:none;"> + + +<span class='new_sign_lbl'>⇣</span> +<br/> +<span class='new_sign'>lyd_find_sibling_val <span class='sym_p'><span>( struct lyd_node const* <span class='color_p'>siblings</span></span>, <span>struct lysc_node const* <span class='color_p'>schema</span></span>, <span>char const* <span class='color_p'>key_or_value</span></span>, <span>size_t <span class='color_p'>val_len</span></span>, <span>struct lyd_node** <span class='color_p'>match</span></span> )</span></span><br/> +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td>Base type of <b>2nd</b> parameter <b>schema</b> has been changed from <span class='nowrap'><span class='value'>struct lys_node</span> (<b>112</b> bytes)</span> to <span class='nowrap'><span class='value'>struct lysc_node</span> (<b>88</b> bytes)</span>.</td> +<td>This parameter may be incorrectly initialized by applications.</td> +</tr> +</table> +<br/> +</div> +<span class="section" onclick="javascript:showContent(this, 'c_43')"> +<span class='ext'>[+]</span> lyd_insert_sibling <span class='sym_p'><span>( struct lyd_node** <span class='color_p'>sibling</span></span>, <span>struct lyd_node* <span class='color_p'>node</span></span> )</span> <span class='failed'> 2 </span></span> +<br/> +<div id="c_43" style="display:none;"> + + +<span class='new_sign_lbl'>⇣</span> +<br/> +<span class='new_sign'>lyd_insert_sibling <span class='sym_p'><span>( struct lyd_node* <span class='color_p'>sibling</span></span>, <span>struct lyd_node* <span class='color_p'>node</span></span>, <span>struct lyd_node** <span class='color_p'>first</span></span> )</span></span><br/> +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td>Parameter <b>first</b> of type <span class='value'>struct lyd_node**</span> has been added to the calling stack.</td> +<td>This parameter will not be initialized by old clients.</td> +</tr> +<tr> +<th>2</th> +<td>The pointer level of <b>1st</b> parameter <b>sibling</b> has been decreased from <b>2</b> to <b>1</b>.</td> +<td>The library function will treat the parameter as the lower-dimension array and will not read all elements. This may change the behavior of applications.<br/><br/><b>NOTE</b>: if this is <b>out</b>-parameter then this change may cause a crash of applications.</td> +</tr> +</table> +<br/> +</div> +<span class="section" onclick="javascript:showContent(this, 'c_44')"> +<span class='ext'>[+]</span> lyd_new_path <span class='sym_p'><span>( struct lyd_node* <span class='color_p'>data_tree</span></span>, <span>struct ly_ctx const* <span class='color_p'>ctx</span></span>, <span>char const* <span class='color_p'>path</span></span>, <span>void* <span class='color_p'>value</span></span>, <span>enum LYD_ANYDATA_VALUETYPE <span class='color_p'>value_type</span></span>, <span>int <span class='color_p'>options</span></span> )</span> <span class='failed'> 2 </span></span> +<br/> +<div id="c_44" style="display:none;"> + +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td>The pointer level of return value has been decreased from <b>1</b> to <b>0</b>.</td> +<td>Applications may try to access unallocated memory by the dereferencing of new return value and therefore cause a crash.</td> +</tr> +<tr> +<th>2</th> +<td>Type of return value has been changed from <span class='nowrap'><span class='value'>struct lyd_node*</span> (<b>8</b> bytes)</span> to <span class='nowrap'><span class='value'>enum LY_ERR</span> (<b>4</b> bytes)</span>.</td> +<td>Applications will obtain a different return value and execution may change.</td> +</tr> +</table> +<br/> +</div> +<span class="section" onclick="javascript:showContent(this, 'c_45')"> +<span class='ext'>[+]</span> lyd_path <span class='sym_p'><span>( struct lyd_node const* <span class='color_p'>node</span></span> )</span> <span class='failed'> 3 </span></span> +<br/> +<div id="c_45" style="display:none;"> + + +<span class='new_sign_lbl'>⇣</span> +<br/> +<span class='new_sign'>lyd_path <span class='sym_p'><span>( struct lyd_node const* <span class='color_p'>node</span></span>, <span>enum LYD_PATH_TYPE <span class='color_p'>pathtype</span></span>, <span>char* <span class='color_p'>buffer</span></span>, <span>size_t <span class='color_p'>buflen</span></span> )</span></span><br/> +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td>Parameter <b>pathtype</b> of type <span class='value'>enum LYD_PATH_TYPE</span> has been added to the calling stack.</td> +<td>This parameter will not be initialized by old clients.</td> +</tr> +<tr> +<th>2</th> +<td>Parameter <b>buffer</b> of type <b>char*</b> has been added to the calling stack.</td> +<td>This parameter will not be initialized by old clients.</td> +</tr> +<tr> +<th>3</th> +<td>Parameter <b>buflen</b> of type <b>size_t</b> has been added to the calling stack.</td> +<td>This parameter will not be initialized by old clients.</td> +</tr> +</table> +<br/> +</div> +<br/> +<span class='h_name'>tree_schema.h</span>, <span class='lib_name'>libyang.so.1.9.19</span><br/> +<span class="section" onclick="javascript:showContent(this, 'c_46')"> +<span class='ext'>[+]</span> lys_find_path <span class='sym_p'><span>( struct lys_module const* <span class='color_p'>cur_module</span></span>, <span>struct lys_node const* <span class='color_p'>cur_node</span></span>, <span>char const* <span class='color_p'>path</span></span> )</span> <span class='failed'> 2 </span></span> +<br/> +<div id="c_46" style="display:none;"> + + +<span class='new_sign_lbl'>⇣</span> +<br/> +<span class='new_sign'>lys_find_path <span class='sym_p'><span>( struct ly_ctx const* <span class='color_p'>ctx</span></span>, <span>struct lysc_node const* <span class='color_p'>ctx_node</span></span>, <span>char const* <span class='color_p'>path</span></span>, <span>ly_bool <span class='color_p'>output</span></span> )</span></span><br/> +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td>Parameter <b>output</b> of type <b>ly_bool</b> has been added to the calling stack.</td> +<td>This parameter will not be initialized by old clients.</td> +</tr> +<tr> +<th>2</th> +<td>Base type of return value has been changed from <span class='nowrap'><span class='value'>struct ly_set</span> (<b>16</b> bytes)</span> to <span class='nowrap'><span class='value'>struct lysc_node</span> (<b>88</b> bytes)</span>.</td> +<td>Applications will obtain a different return value and execution may change.</td> +</tr> +</table> +<br/> +</div> +<span class="section" onclick="javascript:showContent(this, 'c_47')"> +<span class='ext'>[+]</span> lys_getnext <span class='sym_p'><span>( struct lys_node const* <span class='color_p'>last</span></span>, <span>struct lys_node const* <span class='color_p'>parent</span></span>, <span>struct lys_module const* <span class='color_p'>module</span></span>, <span>int <span class='color_p'>options</span></span> )</span> <span class='failed'> 4 </span></span> +<br/> +<div id="c_47" style="display:none;"> + + +<span class='new_sign_lbl'>⇣</span> +<br/> +<span class='new_sign'>lys_getnext <span class='sym_p'><span>( struct lysc_node const* <span class='color_p'>last</span></span>, <span>struct lysc_node const* <span class='color_p'>parent</span></span>, <span>struct lysc_module const* <span class='color_p'>module</span></span>, <span>uint32_t <span class='color_p'>options</span></span> )</span></span><br/> +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td>Base type of <b>1st</b> parameter <b>last</b> has been changed from <span class='nowrap'><span class='value'>struct lys_node</span> (<b>112</b> bytes)</span> to <span class='nowrap'><span class='value'>struct lysc_node</span> (<b>88</b> bytes)</span>.</td> +<td>This parameter may be incorrectly initialized by applications.</td> +</tr> +<tr> +<th>2</th> +<td>Base type of <b>3rd</b> parameter <b>module</b> has been changed from <span class='nowrap'><span class='value'>struct lys_module</span> (<b>184</b> bytes)</span> to <span class='nowrap'><span class='value'>struct lysc_module</span> (<b>40</b> bytes)</span>.</td> +<td>This parameter may be incorrectly initialized by applications.</td> +</tr> +<tr> +<th>3</th> +<td>Base type of <b>2nd</b> parameter <b>parent</b> has been changed from <span class='nowrap'><span class='value'>struct lys_node</span> (<b>112</b> bytes)</span> to <span class='nowrap'><span class='value'>struct lysc_node</span> (<b>88</b> bytes)</span>.</td> +<td>This parameter may be incorrectly initialized by applications.</td> +</tr> +<tr> +<th>4</th> +<td>Base type of return value has been changed from <span class='nowrap'><span class='value'>struct lys_node</span> (<b>112</b> bytes)</span> to <span class='nowrap'><span class='value'>struct lysc_node</span> (<b>88</b> bytes)</span>.</td> +<td>Applications will obtain a different return value and execution may change.</td> +</tr> +</table> +<br/> +</div> +<span class="section" onclick="javascript:showContent(this, 'c_48')"> +<span class='ext'>[+]</span> lys_parse_fd <span class='sym_p'><span>( struct ly_ctx* <span class='color_p'>ctx</span></span>, <span>int <span class='color_p'>fd</span></span>, <span>enum LYS_INFORMAT <span class='color_p'>format</span></span> )</span> <span class='failed'> 3 </span></span> +<br/> +<div id="c_48" style="display:none;"> + + +<span class='new_sign_lbl'>⇣</span> +<br/> +<span class='new_sign'>lys_parse_fd <span class='sym_p'><span>( struct ly_ctx* <span class='color_p'>ctx</span></span>, <span>int <span class='color_p'>fd</span></span>, <span>enum LYS_INFORMAT <span class='color_p'>format</span></span>, <span>struct lys_module const** <span class='color_p'>module</span></span> )</span></span><br/> +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td>Parameter <b>module</b> of type <span class='value'>struct lys_module const**</span> has been added to the calling stack.</td> +<td>This parameter will not be initialized by old clients.</td> +</tr> +<tr> +<th>2</th> +<td>The pointer level of return value has been decreased from <b>1</b> to <b>0</b>.</td> +<td>Applications may try to access unallocated memory by the dereferencing of new return value and therefore cause a crash.</td> +</tr> +<tr> +<th>3</th> +<td>Type of return value has been changed from <span class='nowrap'><span class='value'>struct lys_module const*</span> (<b>8</b> bytes)</span> to <span class='nowrap'><span class='value'>enum LY_ERR</span> (<b>4</b> bytes)</span>.</td> +<td>Applications will obtain a different return value and execution may change.</td> +</tr> +</table> +<br/> +</div> +<span class="section" onclick="javascript:showContent(this, 'c_49')"> +<span class='ext'>[+]</span> lys_parse_mem <span class='sym_p'><span>( struct ly_ctx* <span class='color_p'>ctx</span></span>, <span>char const* <span class='color_p'>data</span></span>, <span>enum LYS_INFORMAT <span class='color_p'>format</span></span> )</span> <span class='failed'> 3 </span></span> +<br/> +<div id="c_49" style="display:none;"> + + +<span class='new_sign_lbl'>⇣</span> +<br/> +<span class='new_sign'>lys_parse_mem <span class='sym_p'><span>( struct ly_ctx* <span class='color_p'>ctx</span></span>, <span>char const* <span class='color_p'>data</span></span>, <span>enum LYS_INFORMAT <span class='color_p'>format</span></span>, <span>struct lys_module const** <span class='color_p'>module</span></span> )</span></span><br/> +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td>Parameter <b>module</b> of type <span class='value'>struct lys_module const**</span> has been added to the calling stack.</td> +<td>This parameter will not be initialized by old clients.</td> +</tr> +<tr> +<th>2</th> +<td>The pointer level of return value has been decreased from <b>1</b> to <b>0</b>.</td> +<td>Applications may try to access unallocated memory by the dereferencing of new return value and therefore cause a crash.</td> +</tr> +<tr> +<th>3</th> +<td>Type of return value has been changed from <span class='nowrap'><span class='value'>struct lys_module const*</span> (<b>8</b> bytes)</span> to <span class='nowrap'><span class='value'>enum LY_ERR</span> (<b>4</b> bytes)</span>.</td> +<td>Applications will obtain a different return value and execution may change.</td> +</tr> +</table> +<br/> +</div> +<span class="section" onclick="javascript:showContent(this, 'c_50')"> +<span class='ext'>[+]</span> lys_parse_path <span class='sym_p'><span>( struct ly_ctx* <span class='color_p'>ctx</span></span>, <span>char const* <span class='color_p'>path</span></span>, <span>enum LYS_INFORMAT <span class='color_p'>format</span></span> )</span> <span class='failed'> 3 </span></span> +<br/> +<div id="c_50" style="display:none;"> + + +<span class='new_sign_lbl'>⇣</span> +<br/> +<span class='new_sign'>lys_parse_path <span class='sym_p'><span>( struct ly_ctx* <span class='color_p'>ctx</span></span>, <span>char const* <span class='color_p'>path</span></span>, <span>enum LYS_INFORMAT <span class='color_p'>format</span></span>, <span>struct lys_module const** <span class='color_p'>module</span></span> )</span></span><br/> +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td>Parameter <b>module</b> of type <span class='value'>struct lys_module const**</span> has been added to the calling stack.</td> +<td>This parameter will not be initialized by old clients.</td> +</tr> +<tr> +<th>2</th> +<td>The pointer level of return value has been decreased from <b>1</b> to <b>0</b>.</td> +<td>Applications may try to access unallocated memory by the dereferencing of new return value and therefore cause a crash.</td> +</tr> +<tr> +<th>3</th> +<td>Type of return value has been changed from <span class='nowrap'><span class='value'>struct lys_module const*</span> (<b>8</b> bytes)</span> to <span class='nowrap'><span class='value'>enum LY_ERR</span> (<b>4</b> bytes)</span>.</td> +<td>Applications will obtain a different return value and execution may change.</td> +</tr> +</table> +<br/> +</div> +<span class="section" onclick="javascript:showContent(this, 'c_51')"> +<span class='ext'>[+]</span> lys_print_clb <span class='sym_p'><span>( ssize_t(*<span class='color_p'>writeclb</span>)(void*, void const*, size_t)</span>, <span>void* <span class='color_p'>arg</span></span>, <span>struct lys_module const* <span class='color_p'>module</span></span>, <span>enum LYS_OUTFORMAT <span class='color_p'>format</span></span>, <span>char const* <span class='color_p'>target_node</span></span>, <span>int <span class='color_p'>line_length</span></span>, <span>int <span class='color_p'>options</span></span> )</span> <span class='failed'> 1 </span></span> +<br/> +<div id="c_51" style="display:none;"> + + +<span class='new_sign_lbl'>⇣</span> +<br/> +<span class='new_sign'>lys_print_clb <span class='sym_p'><span>( ly_write_clb <span class='color_p'>writeclb</span></span>, <span>void* <span class='color_p'>user_data</span></span>, <span>struct lys_module const* <span class='color_p'>module</span></span>, <span>enum LYS_OUTFORMAT <span class='color_p'>format</span></span>, <span>uint32_t <span class='color_p'>options</span></span> )</span></span><br/> +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td><b>6th</b> parameter <b>line_length</b> has been removed from the calling stack.</td> +<td>This parameter will be ignored by the function.</td> +</tr> +</table> +<br/> +</div> +<span class="section" onclick="javascript:showContent(this, 'c_52')"> +<span class='ext'>[+]</span> lys_print_fd <span class='sym_p'><span>( int <span class='color_p'>fd</span></span>, <span>struct lys_module const* <span class='color_p'>module</span></span>, <span>enum LYS_OUTFORMAT <span class='color_p'>format</span></span>, <span>char const* <span class='color_p'>target_node</span></span>, <span>int <span class='color_p'>line_length</span></span>, <span>int <span class='color_p'>options</span></span> )</span> <span class='failed'> 1 </span></span> +<br/> +<div id="c_52" style="display:none;"> + + +<span class='new_sign_lbl'>⇣</span> +<br/> +<span class='new_sign'>lys_print_fd <span class='sym_p'><span>( int <span class='color_p'>fd</span></span>, <span>struct lys_module const* <span class='color_p'>module</span></span>, <span>enum LYS_OUTFORMAT <span class='color_p'>format</span></span>, <span>uint32_t <span class='color_p'>options</span></span> )</span></span><br/> +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td><b>5th</b> parameter <b>line_length</b> has been removed from the calling stack.</td> +<td>This parameter will be ignored by the function.</td> +</tr> +</table> +<br/> +</div> +<span class="section" onclick="javascript:showContent(this, 'c_53')"> +<span class='ext'>[+]</span> lys_print_file <span class='sym_p'><span>( FILE* <span class='color_p'>f</span></span>, <span>struct lys_module const* <span class='color_p'>module</span></span>, <span>enum LYS_OUTFORMAT <span class='color_p'>format</span></span>, <span>char const* <span class='color_p'>target_node</span></span>, <span>int <span class='color_p'>line_length</span></span>, <span>int <span class='color_p'>options</span></span> )</span> <span class='failed'> 1 </span></span> +<br/> +<div id="c_53" style="display:none;"> + + +<span class='new_sign_lbl'>⇣</span> +<br/> +<span class='new_sign'>lys_print_file <span class='sym_p'><span>( FILE* <span class='color_p'>f</span></span>, <span>struct lys_module const* <span class='color_p'>module</span></span>, <span>enum LYS_OUTFORMAT <span class='color_p'>format</span></span>, <span>uint32_t <span class='color_p'>options</span></span> )</span></span><br/> +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td><b>5th</b> parameter <b>line_length</b> has been removed from the calling stack.</td> +<td>This parameter will be ignored by the function.</td> +</tr> +</table> +<br/> +</div> +<span class="section" onclick="javascript:showContent(this, 'c_54')"> +<span class='ext'>[+]</span> lys_print_mem <span class='sym_p'><span>( char** <span class='color_p'>strp</span></span>, <span>struct lys_module const* <span class='color_p'>module</span></span>, <span>enum LYS_OUTFORMAT <span class='color_p'>format</span></span>, <span>char const* <span class='color_p'>target_node</span></span>, <span>int <span class='color_p'>line_length</span></span>, <span>int <span class='color_p'>options</span></span> )</span> <span class='failed'> 1 </span></span> +<br/> +<div id="c_54" style="display:none;"> + + +<span class='new_sign_lbl'>⇣</span> +<br/> +<span class='new_sign'>lys_print_mem <span class='sym_p'><span>( char** <span class='color_p'>strp</span></span>, <span>struct lys_module const* <span class='color_p'>module</span></span>, <span>enum LYS_OUTFORMAT <span class='color_p'>format</span></span>, <span>uint32_t <span class='color_p'>options</span></span> )</span></span><br/> +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td><b>5th</b> parameter <b>line_length</b> has been removed from the calling stack.</td> +<td>This parameter will be ignored by the function.</td> +</tr> +</table> +<br/> +</div> +<span class="section" onclick="javascript:showContent(this, 'c_55')"> +<span class='ext'>[+]</span> lys_print_path <span class='sym_p'><span>( char const* <span class='color_p'>path</span></span>, <span>struct lys_module const* <span class='color_p'>module</span></span>, <span>enum LYS_OUTFORMAT <span class='color_p'>format</span></span>, <span>char const* <span class='color_p'>target_node</span></span>, <span>int <span class='color_p'>line_length</span></span>, <span>int <span class='color_p'>options</span></span> )</span> <span class='failed'> 1 </span></span> +<br/> +<div id="c_55" style="display:none;"> + + +<span class='new_sign_lbl'>⇣</span> +<br/> +<span class='new_sign'>lys_print_path <span class='sym_p'><span>( char const* <span class='color_p'>path</span></span>, <span>struct lys_module const* <span class='color_p'>module</span></span>, <span>enum LYS_OUTFORMAT <span class='color_p'>format</span></span>, <span>uint32_t <span class='color_p'>options</span></span> )</span></span><br/> +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td><b>5th</b> parameter <b>line_length</b> has been removed from the calling stack.</td> +<td>This parameter will be ignored by the function.</td> +</tr> +</table> +<br/> +</div> +<span class="section" onclick="javascript:showContent(this, 'c_56')"> +<span class='ext'>[+]</span> lys_set_implemented <span class='sym_p'><span>( struct lys_module const* <span class='color_p'>module</span></span> )</span> <span class='failed'> 1 </span></span> +<br/> +<div id="c_56" style="display:none;"> + + +<span class='new_sign_lbl'>⇣</span> +<br/> +<span class='new_sign'>lys_set_implemented <span class='sym_p'><span>( struct lys_module* <span class='color_p'>mod</span></span>, <span>char const** <span class='color_p'>features</span></span> )</span></span><br/> +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td>Parameter <b>features</b> of type <span class='value'>char const**</span> has been added to the calling stack.</td> +<td>This parameter will not be initialized by old clients.</td> +</tr> +</table> +<br/> +</div> +<br/> +<a class='top_ref' href='#Top'>to the top</a><br/> +<a name='Low_Risk_Binary_Problems'></a><a name='Type_Binary_Problems_Low'></a> +<h2>Problems with Data Types, Low Severity <span class='warning'> 90 </span></h2><hr/> +<span class='h_name'>libyang.h</span><br/> +<span class="section" onclick="javascript:showContent(this, 'c_57')"> +<span class='ext'>[+]</span> <span class='ttype'>enum</span> LY_VECODE <span class='warning'> 77 </span></span> +<br/> +<div id="c_57" style="display:none;"> +<table class='ptable'><tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th></tr><tr> +<th>1</th> +<td>Name of member with value <b>1</b> has been changed from <b>LYVE_XML_MISS</b> to <b>LYVE_SYNTAX</b>.</td> +<td>Applications may execute a wrong branch of code in the library and therefore change the behavior.</td> +</tr> +<tr> +<th>2</th> +<td>Name of member with value <b>10</b> has been changed from <b>LYVE_MISSSTMT</b> to <b>LYVE_OTHER</b>.</td> +<td>Applications may execute a wrong branch of code in the library and therefore change the behavior.</td> +</tr> +<tr> +<th>3</th> +<td>Name of member with value <b>2</b> has been changed from <b>LYVE_XML_INVAL</b> to <b>LYVE_SYNTAX_YANG</b>.</td> +<td>Applications may execute a wrong branch of code in the library and therefore change the behavior.</td> +</tr> +<tr> +<th>4</th> +<td>Name of member with value <b>3</b> has been changed from <b>LYVE_XML_INCHAR</b> to <b>LYVE_SYNTAX_YIN</b>.</td> +<td>Applications may execute a wrong branch of code in the library and therefore change the behavior.</td> +</tr> +<tr> +<th>5</th> +<td>Name of member with value <b>4</b> has been changed from <b>LYVE_EOF</b> to <b>LYVE_REFERENCE</b>.</td> +<td>Applications may execute a wrong branch of code in the library and therefore change the behavior.</td> +</tr> +<tr> +<th>6</th> +<td>Name of member with value <b>5</b> has been changed from <b>LYVE_INSTMT</b> to <b>LYVE_XPATH</b>.</td> +<td>Applications may execute a wrong branch of code in the library and therefore change the behavior.</td> +</tr> +<tr> +<th>7</th> +<td>Name of member with value <b>6</b> has been changed from <b>LYVE_INPAR</b> to <b>LYVE_SEMANTICS</b>.</td> +<td>Applications may execute a wrong branch of code in the library and therefore change the behavior.</td> +</tr> +<tr> +<th>8</th> +<td>Name of member with value <b>7</b> has been changed from <b>LYVE_INID</b> to <b>LYVE_SYNTAX_XML</b>.</td> +<td>Applications may execute a wrong branch of code in the library and therefore change the behavior.</td> +</tr> +<tr> +<th>9</th> +<td>Name of member with value <b>8</b> has been changed from <b>LYVE_INDATE</b> to <b>LYVE_SYNTAX_JSON</b>.</td> +<td>Applications may execute a wrong branch of code in the library and therefore change the behavior.</td> +</tr> +<tr> +<th>10</th> +<td>Name of member with value <b>9</b> has been changed from <b>LYVE_INARG</b> to <b>LYVE_DATA</b>.</td> +<td>Applications may execute a wrong branch of code in the library and therefore change the behavior.</td> +</tr> +<tr> +<th>11</th> +<td>The member <b>LYVE_BITS_INNAME</b> has been removed.</td> +<td>This may result in crash or incorrect behavior of applications because the library may not handle removed member anymore.</td> +</tr> +<tr> +<th>12</th> +<td>The member <b>LYVE_BITS_INVAL</b> has been removed.</td> +<td>This may result in crash or incorrect behavior of applications because the library may not handle removed member anymore.</td> +</tr> +<tr> +<th>13</th> +<td>The member <b>LYVE_CIRC_FEATURES</b> has been removed.</td> +<td>This may result in crash or incorrect behavior of applications because the library may not handle removed member anymore.</td> +</tr> +<tr> +<th>14</th> +<td>The member <b>LYVE_CIRC_IMPORTS</b> has been removed.</td> +<td>This may result in crash or incorrect behavior of applications because the library may not handle removed member anymore.</td> +</tr> +<tr> +<th>15</th> +<td>The member <b>LYVE_CIRC_INCLUDES</b> has been removed.</td> +<td>This may result in crash or incorrect behavior of applications because the library may not handle removed member anymore.</td> +</tr> +<tr> +<th>16</th> +<td>The member <b>LYVE_CIRC_LEAFREFS</b> has been removed.</td> +<td>This may result in crash or incorrect behavior of applications because the library may not handle removed member anymore.</td> +</tr> +<tr> +<th>17</th> +<td>The member <b>LYVE_DUPID</b> has been removed.</td> +<td>This may result in crash or incorrect behavior of applications because the library may not handle removed member anymore.</td> +</tr> +<tr> +<th>18</th> +<td>The member <b>LYVE_DUPLEAFLIST</b> has been removed.</td> +<td>This may result in crash or incorrect behavior of applications because the library may not handle removed member anymore.</td> +</tr> +<tr> +<th>19</th> +<td>The member <b>LYVE_DUPLIST</b> has been removed.</td> +<td>This may result in crash or incorrect behavior of applications because the library may not handle removed member anymore.</td> +</tr> +<tr> +<th>20</th> +<td>The member <b>LYVE_ENUM_INNAME</b> has been removed.</td> +<td>This may result in crash or incorrect behavior of applications because the library may not handle removed member anymore.</td> +</tr> +<tr> +<th>21</th> +<td>The member <b>LYVE_ENUM_INVAL</b> has been removed.</td> +<td>This may result in crash or incorrect behavior of applications because the library may not handle removed member anymore.</td> +</tr> +<tr> +<th>22</th> +<td>The member <b>LYVE_ENUM_WS</b> has been removed.</td> +<td>This may result in crash or incorrect behavior of applications because the library may not handle removed member anymore.</td> +</tr> +<tr> +<th>23</th> +<td>The member <b>LYVE_INATTR</b> has been removed.</td> +<td>This may result in crash or incorrect behavior of applications because the library may not handle removed member anymore.</td> +</tr> +<tr> +<th>24</th> +<td>The member <b>LYVE_INCHAR</b> has been removed.</td> +<td>This may result in crash or incorrect behavior of applications because the library may not handle removed member anymore.</td> +</tr> +<tr> +<th>25</th> +<td>The member <b>LYVE_INELEM</b> has been removed.</td> +<td>This may result in crash or incorrect behavior of applications because the library may not handle removed member anymore.</td> +</tr> +<tr> +<th>26</th> +<td>The member <b>LYVE_INMETA</b> has been removed.</td> +<td>This may result in crash or incorrect behavior of applications because the library may not handle removed member anymore.</td> +</tr> +<tr> +<th>27</th> +<td>The member <b>LYVE_INMOD</b> has been removed.</td> +<td>This may result in crash or incorrect behavior of applications because the library may not handle removed member anymore.</td> +</tr> +<tr> +<th>28</th> +<td>The member <b>LYVE_INORDER</b> has been removed.</td> +<td>This may result in crash or incorrect behavior of applications because the library may not handle removed member anymore.</td> +</tr> +<tr> +<th>29</th> +<td>The member <b>LYVE_INPRED</b> has been removed.</td> +<td>This may result in crash or incorrect behavior of applications because the library may not handle removed member anymore.</td> +</tr> +<tr> +<th>30</th> +<td>The member <b>LYVE_INREGEX</b> has been removed.</td> +<td>This may result in crash or incorrect behavior of applications because the library may not handle removed member anymore.</td> +</tr> +<tr> +<th>31</th> +<td>The member <b>LYVE_INRESOLV</b> has been removed.</td> +<td>This may result in crash or incorrect behavior of applications because the library may not handle removed member anymore.</td> +</tr> +<tr> +<th>32</th> +<td>The member <b>LYVE_INSTATUS</b> has been removed.</td> +<td>This may result in crash or incorrect behavior of applications because the library may not handle removed member anymore.</td> +</tr> +<tr> +<th>33</th> +<td>The member <b>LYVE_INVAL</b> has been removed.</td> +<td>This may result in crash or incorrect behavior of applications because the library may not handle removed member anymore.</td> +</tr> +<tr> +<th>34</th> +<td>The member <b>LYVE_INVER</b> has been removed.</td> +<td>This may result in crash or incorrect behavior of applications because the library may not handle removed member anymore.</td> +</tr> +<tr> +<th>35</th> +<td>The member <b>LYVE_INWHEN</b> has been removed.</td> +<td>This may result in crash or incorrect behavior of applications because the library may not handle removed member anymore.</td> +</tr> +<tr> +<th>36</th> +<td>The member <b>LYVE_KEY_CONFIG</b> has been removed.</td> +<td>This may result in crash or incorrect behavior of applications because the library may not handle removed member anymore.</td> +</tr> +<tr> +<th>37</th> +<td>The member <b>LYVE_KEY_DUP</b> has been removed.</td> +<td>This may result in crash or incorrect behavior of applications because the library may not handle removed member anymore.</td> +</tr> +<tr> +<th>38</th> +<td>The member <b>LYVE_KEY_MISS</b> has been removed.</td> +<td>This may result in crash or incorrect behavior of applications because the library may not handle removed member anymore.</td> +</tr> +<tr> +<th>39</th> +<td>The member <b>LYVE_KEY_NLEAF</b> has been removed.</td> +<td>This may result in crash or incorrect behavior of applications because the library may not handle removed member anymore.</td> +</tr> +<tr> +<th>40</th> +<td>The member <b>LYVE_KEY_TYPE</b> has been removed.</td> +<td>This may result in crash or incorrect behavior of applications because the library may not handle removed member anymore.</td> +</tr> +<tr> +<th>41</th> +<td>The member <b>LYVE_MCASEDATA</b> has been removed.</td> +<td>This may result in crash or incorrect behavior of applications because the library may not handle removed member anymore.</td> +</tr> +<tr> +<th>42</th> +<td>The member <b>LYVE_MISSARG</b> has been removed.</td> +<td>This may result in crash or incorrect behavior of applications because the library may not handle removed member anymore.</td> +</tr> +<tr> +<th>43</th> +<td>The member <b>LYVE_MISSATTR</b> has been removed.</td> +<td>This may result in crash or incorrect behavior of applications because the library may not handle removed member anymore.</td> +</tr> +<tr> +<th>44</th> +<td>The member <b>LYVE_MISSELEM</b> has been removed.</td> +<td>This may result in crash or incorrect behavior of applications because the library may not handle removed member anymore.</td> +</tr> +<tr> +<th>45</th> +<td>The member <b>LYVE_NOCONSTR</b> has been removed.</td> +<td>This may result in crash or incorrect behavior of applications because the library may not handle removed member anymore.</td> +</tr> +<tr> +<th>46</th> +<td>The member <b>LYVE_NOLEAFREF</b> has been removed.</td> +<td>This may result in crash or incorrect behavior of applications because the library may not handle removed member anymore.</td> +</tr> +<tr> +<th>47</th> +<td>The member <b>LYVE_NOMANDCHOICE</b> has been removed.</td> +<td>This may result in crash or incorrect behavior of applications because the library may not handle removed member anymore.</td> +</tr> +<tr> +<th>48</th> +<td>The member <b>LYVE_NOMAX</b> has been removed.</td> +<td>This may result in crash or incorrect behavior of applications because the library may not handle removed member anymore.</td> +</tr> +<tr> +<th>49</th> +<td>The member <b>LYVE_NOMIN</b> has been removed.</td> +<td>This may result in crash or incorrect behavior of applications because the library may not handle removed member anymore.</td> +</tr> +<tr> +<th>50</th> +<td>The member <b>LYVE_NOMUST</b> has been removed.</td> +<td>This may result in crash or incorrect behavior of applications because the library may not handle removed member anymore.</td> +</tr> +<tr> +<th>51</th> +<td>The member <b>LYVE_NOREQINS</b> has been removed.</td> +<td>This may result in crash or incorrect behavior of applications because the library may not handle removed member anymore.</td> +</tr> +<tr> +<th>52</th> +<td>The member <b>LYVE_NORESOLV</b> has been removed.</td> +<td>This may result in crash or incorrect behavior of applications because the library may not handle removed member anymore.</td> +</tr> +<tr> +<th>53</th> +<td>The member <b>LYVE_NOUNIQ</b> has been removed.</td> +<td>This may result in crash or incorrect behavior of applications because the library may not handle removed member anymore.</td> +</tr> +<tr> +<th>54</th> +<td>The member <b>LYVE_NOWHEN</b> has been removed.</td> +<td>This may result in crash or incorrect behavior of applications because the library may not handle removed member anymore.</td> +</tr> +<tr> +<th>55</th> +<td>The member <b>LYVE_OBSDATA</b> has been removed.</td> +<td>This may result in crash or incorrect behavior of applications because the library may not handle removed member anymore.</td> +</tr> +<tr> +<th>56</th> +<td>The member <b>LYVE_PATH_EXISTS</b> has been removed.</td> +<td>This may result in crash or incorrect behavior of applications because the library may not handle removed member anymore.</td> +</tr> +<tr> +<th>57</th> +<td>The member <b>LYVE_PATH_INCHAR</b> has been removed.</td> +<td>This may result in crash or incorrect behavior of applications because the library may not handle removed member anymore.</td> +</tr> +<tr> +<th>58</th> +<td>The member <b>LYVE_PATH_INIDENTREF</b> has been removed.</td> +<td>This may result in crash or incorrect behavior of applications because the library may not handle removed member anymore.</td> +</tr> +<tr> +<th>59</th> +<td>The member <b>LYVE_PATH_INKEY</b> has been removed.</td> +<td>This may result in crash or incorrect behavior of applications because the library may not handle removed member anymore.</td> +</tr> +<tr> +<th>60</th> +<td>The member <b>LYVE_PATH_INMOD</b> has been removed.</td> +<td>This may result in crash or incorrect behavior of applications because the library may not handle removed member anymore.</td> +</tr> +<tr> +<th>61</th> +<td>The member <b>LYVE_PATH_INNODE</b> has been removed.</td> +<td>This may result in crash or incorrect behavior of applications because the library may not handle removed member anymore.</td> +</tr> +<tr> +<th>62</th> +<td>The member <b>LYVE_PATH_MISSKEY</b> has been removed.</td> +<td>This may result in crash or incorrect behavior of applications because the library may not handle removed member anymore.</td> +</tr> +<tr> +<th>63</th> +<td>The member <b>LYVE_PATH_MISSMOD</b> has been removed.</td> +<td>This may result in crash or incorrect behavior of applications because the library may not handle removed member anymore.</td> +</tr> +<tr> +<th>64</th> +<td>The member <b>LYVE_PATH_MISSPAR</b> has been removed.</td> +<td>This may result in crash or incorrect behavior of applications because the library may not handle removed member anymore.</td> +</tr> +<tr> +<th>65</th> +<td>The member <b>LYVE_PATH_PREDTOOMANY</b> has been removed.</td> +<td>This may result in crash or incorrect behavior of applications because the library may not handle removed member anymore.</td> +</tr> +<tr> +<th>66</th> +<td>The member <b>LYVE_SUBMODULE</b> has been removed.</td> +<td>This may result in crash or incorrect behavior of applications because the library may not handle removed member anymore.</td> +</tr> +<tr> +<th>67</th> +<td>The member <b>LYVE_TOOMANY</b> has been removed.</td> +<td>This may result in crash or incorrect behavior of applications because the library may not handle removed member anymore.</td> +</tr> +<tr> +<th>68</th> +<td>The member <b>LYVE_XPATH_DUMMY</b> has been removed.</td> +<td>This may result in crash or incorrect behavior of applications because the library may not handle removed member anymore.</td> +</tr> +<tr> +<th>69</th> +<td>The member <b>LYVE_XPATH_EOF</b> has been removed.</td> +<td>This may result in crash or incorrect behavior of applications because the library may not handle removed member anymore.</td> +</tr> +<tr> +<th>70</th> +<td>The member <b>LYVE_XPATH_INARGCOUNT</b> has been removed.</td> +<td>This may result in crash or incorrect behavior of applications because the library may not handle removed member anymore.</td> +</tr> +<tr> +<th>71</th> +<td>The member <b>LYVE_XPATH_INARGTYPE</b> has been removed.</td> +<td>This may result in crash or incorrect behavior of applications because the library may not handle removed member anymore.</td> +</tr> +<tr> +<th>72</th> +<td>The member <b>LYVE_XPATH_INCTX</b> has been removed.</td> +<td>This may result in crash or incorrect behavior of applications because the library may not handle removed member anymore.</td> +</tr> +<tr> +<th>73</th> +<td>The member <b>LYVE_XPATH_INFUNC</b> has been removed.</td> +<td>This may result in crash or incorrect behavior of applications because the library may not handle removed member anymore.</td> +</tr> +<tr> +<th>74</th> +<td>The member <b>LYVE_XPATH_INMOD</b> has been removed.</td> +<td>This may result in crash or incorrect behavior of applications because the library may not handle removed member anymore.</td> +</tr> +<tr> +<th>75</th> +<td>The member <b>LYVE_XPATH_INOP</b> has been removed.</td> +<td>This may result in crash or incorrect behavior of applications because the library may not handle removed member anymore.</td> +</tr> +<tr> +<th>76</th> +<td>The member <b>LYVE_XPATH_INTOK</b> has been removed.</td> +<td>This may result in crash or incorrect behavior of applications because the library may not handle removed member anymore.</td> +</tr> +<tr> +<th>77</th> +<td>The member <b>LYVE_XPATH_NOEND</b> has been removed.</td> +<td>This may result in crash or incorrect behavior of applications because the library may not handle removed member anymore.</td> +</tr> +</table> +<span class="sect_aff" onclick="javascript:showContent(this, 'c_58')"> +[+] affected symbols: 4 (2.3%)</span> +<div id="c_58" style="display:none;"> +<div class='affected'><span class='iname_a'>ly_err_clean <span class='sym_p'><span>( struct ly_ctx* <i>ctx</i></span>, <span>struct ly_err_item* <span class='fp'>eitem</span></span> )</span></span><br/> +<div class='affect'>Field 'eitem.vecode' in 2nd parameter 'eitem' (pointer) is of type 'enum LY_VECODE'.</div> +<span class='iname_a'>ly_err_first <span class='sym_p'><span>( struct ly_ctx const* <i>ctx</i></span> )</span></span><br/> +<div class='affect'>Field 'retval.vecode' in the return value (pointer) is of type 'enum LY_VECODE'.</div> +<span class='iname_a'>ly_err_print <span class='sym_p'><span>( struct ly_err_item* <span class='fp'>eitem</span></span> )</span></span><br/> +<div class='affect'>Field 'eitem.vecode' in 1st parameter 'eitem' (pointer) is of type 'enum LY_VECODE'.</div> +<span class='iname_a'>ly_vecode <span class='sym_p'><span>( struct ly_ctx const* <i>ctx</i></span> )</span></span><br/> +<div class='affect'>Return value is of type 'enum LY_VECODE'.</div> +</div> +</div> +<br/><br/></div> + +<span class="section" onclick="javascript:showContent(this, 'c_59')"> +<span class='ext'>[+]</span> <span class='ttype'>struct</span> ly_set <span class='warning'> 3 </span></span> +<br/> +<div id="c_59" style="display:none;"> +<table class='ptable'><tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th></tr><tr> +<th>1</th> +<td>Type of field <b>size</b> has been changed from <span class='value'>unsigned int</span> to <b>uint32_t</b>.</td> +<td>Replacement of the field data type may indicate a change in the semantic meaning of the field.</td> +</tr> +<tr> +<th>2</th> +<td>Field <b>number</b> has been renamed to <b>count</b>.</td> +<td>Renaming of a field in data type may indicate a change in the semantic meaning of the field.</td> +</tr> +<tr> +<th>3</th> +<td>Field <b>set</b> has been renamed to <b>unnamed0</b>.</td> +<td>Renaming of a field in data type may indicate a change in the semantic meaning of the field.</td> +</tr> +</table> +<span class="sect_aff" onclick="javascript:showContent(this, 'c_60')"> +[+] affected symbols: 8 (4.6%)</span> +<div id="c_60" style="display:none;"> +<div class='affected'><span class='iname_a'>ly_set_add <span class='sym_p'><span>( struct ly_set* <span class='fp'>set</span></span>, <span>void* <i>node</i></span>, <span>int <i>options</i></span> )</span></span><br/> +<div class='affect'>1st parameter 'set' (pointer) has base type 'struct ly_set'.</div> +<span class='iname_a'>ly_set_clean <span class='sym_p'><span>( struct ly_set* <span class='fp'>set</span></span> )</span></span><br/> +<div class='affect'>1st parameter 'set' (pointer) has base type 'struct ly_set'.</div> +<span class='iname_a'>ly_set_contains <span class='sym_p'><span>( struct ly_set const* <span class='fp'>set</span></span>, <span>void* <i>node</i></span> )</span></span><br/> +<div class='affect'>1st parameter 'set' (pointer) has base type 'struct ly_set'.</div> +<span class='iname_a'>ly_set_dup <span class='sym_p'><span>( struct ly_set const* <span class='fp'>set</span></span> )</span></span><br/> +<div class='affect'>1st parameter 'set' (pointer) has base type 'struct ly_set'.</div> +<span class='iname_a'>ly_set_free <span class='sym_p'><span>( struct ly_set* <span class='fp'>set</span></span> )</span></span><br/> +<div class='affect'>1st parameter 'set' (pointer) has base type 'struct ly_set'.</div> +<span class='iname_a'>ly_set_merge <span class='sym_p'><span>( struct ly_set* <i>trg</i></span>, <span>struct ly_set* <span class='fp'>src</span></span>, <span>int <i>options</i></span> )</span></span><br/> +<div class='affect'>2nd parameter 'src' (pointer) has base type 'struct ly_set'.</div> +<span class='iname_a'>ly_set_rm <span class='sym_p'><span>( struct ly_set* <span class='fp'>set</span></span>, <span>void* <i>node</i></span> )</span></span><br/> +<div class='affect'>1st parameter 'set' (pointer) has base type 'struct ly_set'.</div> +<span class='iname_a'>ly_set_rm_index <span class='sym_p'><span>( struct ly_set* <span class='fp'>set</span></span>, <span>unsigned int <i>index</i></span> )</span></span><br/> +<div class='affect'>1st parameter 'set' (pointer) has base type 'struct ly_set'.</div> +</div> +</div> +<br/><br/></div> + +<span class="section" onclick="javascript:showContent(this, 'c_61')"> +<span class='ext'>[+]</span> <span class='ttype'>typedef</span> ly_module_imp_clb <span class='warning'> 1 </span></span> +<br/> +<div id="c_61" style="display:none;"> +<table class='ptable'><tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th></tr><tr> +<th>1</th> +<td>Base type has been changed from <span class='value'>char const*(*)(char const*, char const*, char const*, char const*, void*, LYS_INFORMAT*, void(**)(void*, void*))</span> to <span class='value'>LY_ERR(*)(char const*, char const*, char const*, char const*, void*, LYS_INFORMAT*, char const**, ly_module_imp_data_free_clb*)</span>.</td> +<td>Replacement of the base data type may indicate a change in its semantic meaning.</td> +</tr> +</table> +<span class="sect_aff" onclick="javascript:showContent(this, 'c_62')"> +[+] affected symbols: 2 (1.1%)</span> +<div id="c_62" style="display:none;"> +<div class='affected'><span class='iname_a'>ly_ctx_get_module_imp_clb <span class='sym_p'><span>( struct ly_ctx const* <i>ctx</i></span>, <span>void** <i>user_data</i></span> )</span></span><br/> +<div class='affect'>Return value is of type 'ly_module_imp_clb'.</div> +<span class='iname_a'>ly_ctx_set_module_imp_clb <span class='sym_p'><span>( struct ly_ctx* <i>ctx</i></span>, <span>char const*(*<span class='fp'>clb</span>)(char const*, char const*, char const*, char const*, void*, LYS_INFORMAT*, void(**)(void*, void*))</span>, <span>void* <i>user_data</i></span> )</span></span><br/> +<div class='affect'>2nd parameter 'clb' is of type 'ly_module_imp_clb'.</div> +</div> +</div> +<br/><br/></div> + +<br/> +<span class='h_name'>tree_data.h</span><br/> +<span class="section" onclick="javascript:showContent(this, 'c_63')"> +<span class='ext'>[+]</span> <span class='ttype'>struct</span> lyd_node <span class='warning'> 5 </span></span> +<br/> +<div id="c_63" style="display:none;"> +<table class='ptable'><tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th></tr><tr> +<th>1</th> +<td>Field <b>meta</b> has been added to this type.</td> +<td>1) This field will not be initialized by old clients.<br/>2) Size of the inclusive type has been changed.<br/><br/><b>NOTE</b>: this field should be accessed only from the new library functions, otherwise it may result in crash or incorrect behavior of applications.</td> +</tr> +<tr> +<th>2</th> +<td>Size of this type has been changed from <b>72</b> bytes to <b>48</b> bytes.</td> +<td>The fields or parameters of such data type may be incorrectly initialized or accessed by old client applications.</td> +</tr> +<tr> +<th>3</th> +<td>Base type of field <b>parent</b> has been changed from <span class='nowrap'><span class='value'>struct lyd_node</span> (<b>72</b> bytes)</span> to <span class='nowrap'><span class='value'>struct lyd_node_inner</span> (<b>64</b> bytes)</span>.</td> +<td>Possible access of applications to incorrect memory through the pointer.</td> +</tr> +<tr> +<th>4</th> +<td>Base type of field <b>schema</b> has been changed from <span class='nowrap'><span class='value'>struct lys_node</span> (<b>112</b> bytes)</span> to <span class='nowrap'><span class='value'>struct lysc_node</span> (<b>88</b> bytes)</span>.</td> +<td>Possible access of applications to incorrect memory through the pointer.</td> +</tr> +<tr> +<th>5</th> +<td>Field <b>flags</b> has been added to this type.</td> +<td>This field will not be initialized by old clients.<br/><br/><b>NOTE</b>: this field should be accessed only from the new library functions, otherwise it may result in crash or incorrect behavior of applications.</td> +</tr> +</table> +<span class="sect_aff" onclick="javascript:showContent(this, 'c_64')"> +[+] affected symbols: 9 (5.2%)</span> +<div id="c_64" style="display:none;"> +<div class='affected'><span class='iname_a'>lyd_find_sibling_val <span class='sym_p'><span>( struct lyd_node const* <span class='fp'>siblings</span></span>, <span>struct lys_node const* <i>schema</i></span>, <span>char const* <i>key_or_value</i></span>, <span>struct lyd_node** <i>match</i></span> )</span></span><br/> +<div class='affect'>1st parameter 'siblings' (pointer) has base type 'struct lyd_node'.</div> +<span class='iname_a'>lyd_first_sibling <span class='sym_p'><span>( struct lyd_node* <span class='fp'>node</span></span> )</span></span><br/> +<div class='affect'>1st parameter 'node' (pointer) has base type 'struct lyd_node'.</div> +<span class='iname_a'>lyd_list_pos <span class='sym_p'><span>( struct lyd_node const* <span class='fp'>node</span></span> )</span></span><br/> +<div class='affect'>1st parameter 'node' (pointer) has base type 'struct lyd_node'.</div> +<span class='iname_a'>lyd_path <span class='sym_p'><span>( struct lyd_node const* <span class='fp'>node</span></span> )</span></span><br/> +<div class='affect'>1st parameter 'node' (pointer) has base type 'struct lyd_node'.</div> +<span class='iname_a'>lyd_print_clb <span class='sym_p'><span>( ssize_t(*<i>writeclb</i>)(void*, void const*, size_t)</span>, <span>void* <i>arg</i></span>, <span>struct lyd_node const* <span class='fp'>root</span></span>, <span>enum LYD_FORMAT <i>format</i></span>, <span>int <i>options</i></span> )</span></span><br/> +<div class='affect'>3rd parameter 'root' (pointer) has base type 'struct lyd_node'.</div> +<span class='iname_a'>lyd_print_fd <span class='sym_p'><span>( int <i>fd</i></span>, <span>struct lyd_node const* <span class='fp'>root</span></span>, <span>enum LYD_FORMAT <i>format</i></span>, <span>int <i>options</i></span> )</span></span><br/> +<div class='affect'>2nd parameter 'root' (pointer) has base type 'struct lyd_node'.</div> +<span class='iname_a'>lyd_print_file <span class='sym_p'><span>( FILE* <i>f</i></span>, <span>struct lyd_node const* <span class='fp'>root</span></span>, <span>enum LYD_FORMAT <i>format</i></span>, <span>int <i>options</i></span> )</span></span><br/> +<div class='affect'>2nd parameter 'root' (pointer) has base type 'struct lyd_node'.</div> +<span class='iname_a'>lyd_print_mem <span class='sym_p'><span>( char** <i>strp</i></span>, <span>struct lyd_node const* <span class='fp'>root</span></span>, <span>enum LYD_FORMAT <i>format</i></span>, <span>int <i>options</i></span> )</span></span><br/> +<div class='affect'>2nd parameter 'root' (pointer) has base type 'struct lyd_node'.</div> +<span class='iname_a'>lyd_print_path <span class='sym_p'><span>( char const* <i>path</i></span>, <span>struct lyd_node const* <span class='fp'>root</span></span>, <span>enum LYD_FORMAT <i>format</i></span>, <span>int <i>options</i></span> )</span></span><br/> +<div class='affect'>2nd parameter 'root' (pointer) has base type 'struct lyd_node'.</div> +</div> +</div> +<br/><br/></div> + +<br/> +<span class='h_name'>tree_schema.h</span><br/> +<span class="section" onclick="javascript:showContent(this, 'c_65')"> +<span class='ext'>[+]</span> <span class='ttype'>enum</span> LYS_OUTFORMAT <span class='warning'> 2 </span></span> +<br/> +<div id="c_65" style="display:none;"> +<table class='ptable'><tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th></tr><tr> +<th>1</th> +<td>The member <b>LYS_OUT_INFO</b> has been removed.</td> +<td>This may result in crash or incorrect behavior of applications because the library may not handle removed member anymore.</td> +</tr> +<tr> +<th>2</th> +<td>The member <b>LYS_OUT_JSON</b> has been removed.</td> +<td>This may result in crash or incorrect behavior of applications because the library may not handle removed member anymore.</td> +</tr> +</table> +<span class="sect_aff" onclick="javascript:showContent(this, 'c_66')"> +[+] affected symbols: 5 (2.9%)</span> +<div id="c_66" style="display:none;"> +<div class='affected'><span class='iname_a'>lys_print_clb <span class='sym_p'><span>( ssize_t(*<i>writeclb</i>)(void*, void const*, size_t)</span>, <span>void* <i>arg</i></span>, <span>struct lys_module const* <i>module</i></span>, <span>enum LYS_OUTFORMAT <span class='fp'>format</span></span>, <span>char const* <i>target_node</i></span>, <span>int <i>line_length</i></span>, <span>int <i>options</i></span> )</span></span><br/> +<div class='affect'>4th parameter 'format' is of type 'enum LYS_OUTFORMAT'.</div> +<span class='iname_a'>lys_print_fd <span class='sym_p'><span>( int <i>fd</i></span>, <span>struct lys_module const* <i>module</i></span>, <span>enum LYS_OUTFORMAT <span class='fp'>format</span></span>, <span>char const* <i>target_node</i></span>, <span>int <i>line_length</i></span>, <span>int <i>options</i></span> )</span></span><br/> +<div class='affect'>3rd parameter 'format' is of type 'enum LYS_OUTFORMAT'.</div> +<span class='iname_a'>lys_print_file <span class='sym_p'><span>( FILE* <i>f</i></span>, <span>struct lys_module const* <i>module</i></span>, <span>enum LYS_OUTFORMAT <span class='fp'>format</span></span>, <span>char const* <i>target_node</i></span>, <span>int <i>line_length</i></span>, <span>int <i>options</i></span> )</span></span><br/> +<div class='affect'>3rd parameter 'format' is of type 'enum LYS_OUTFORMAT'.</div> +<span class='iname_a'>lys_print_mem <span class='sym_p'><span>( char** <i>strp</i></span>, <span>struct lys_module const* <i>module</i></span>, <span>enum LYS_OUTFORMAT <span class='fp'>format</span></span>, <span>char const* <i>target_node</i></span>, <span>int <i>line_length</i></span>, <span>int <i>options</i></span> )</span></span><br/> +<div class='affect'>3rd parameter 'format' is of type 'enum LYS_OUTFORMAT'.</div> +<span class='iname_a'>lys_print_path <span class='sym_p'><span>( char const* <i>path</i></span>, <span>struct lys_module const* <i>module</i></span>, <span>enum LYS_OUTFORMAT <span class='fp'>format</span></span>, <span>char const* <i>target_node</i></span>, <span>int <i>line_length</i></span>, <span>int <i>options</i></span> )</span></span><br/> +<div class='affect'>3rd parameter 'format' is of type 'enum LYS_OUTFORMAT'.</div> +</div> +</div> +<br/><br/></div> + +<span class="section" onclick="javascript:showContent(this, 'c_67')"> +<span class='ext'>[+]</span> <span class='ttype'>struct</span> lys_module <span class='warning'> 2 </span></span> +<br/> +<div id="c_67" style="display:none;"> +<table class='ptable'><tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th></tr><tr> +<th>1</th> +<td>Size of this type has been changed from <b>184</b> bytes to <b>128</b> bytes.</td> +<td>The fields or parameters of such data type may be incorrectly initialized or accessed by old client applications.</td> +</tr> +<tr> +<th>2</th> +<td>Size of field <b>latest_revision</b> has been changed from <b>1</b> bit to <b>1</b> byte.</td> +<td>Previous accesses of applications and library functions to this field may be broken.</td> +</tr> +</table> +<span class="sect_aff" onclick="javascript:showContent(this, 'c_68')"> +[+] affected symbols: 8 (4.6%)</span> +<div id="c_68" style="display:none;"> +<div class='affected'><span class='iname_a'>ly_ctx_get_module <span class='sym_p'><span>( struct ly_ctx const* <i>ctx</i></span>, <span>char const* <i>name</i></span>, <span>char const* <i>revision</i></span>, <span>int <i>implemented</i></span> )</span></span><br/> +<div class='affect'>Return value (pointer) has base type 'struct lys_module'.</div> +<span class='iname_a'>ly_ctx_get_module_iter <span class='sym_p'><span>( struct ly_ctx const* <i>ctx</i></span>, <span>uint32_t* <i>idx</i></span> )</span></span><br/> +<div class='affect'>Return value (pointer) has base type 'struct lys_module'.</div> +<span class='iname_a'>ly_ctx_load_module <span class='sym_p'><span>( struct ly_ctx* <i>ctx</i></span>, <span>char const* <i>name</i></span>, <span>char const* <i>revision</i></span> )</span></span><br/> +<div class='affect'>Return value (pointer) has base type 'struct lys_module'.</div> +<span class='iname_a'>lys_print_clb <span class='sym_p'><span>( ssize_t(*<i>writeclb</i>)(void*, void const*, size_t)</span>, <span>void* <i>arg</i></span>, <span>struct lys_module const* <span class='fp'>module</span></span>, <span>enum LYS_OUTFORMAT <i>format</i></span>, <span>char const* <i>target_node</i></span>, <span>int <i>line_length</i></span>, <span>int <i>options</i></span> )</span></span><br/> +<div class='affect'>3rd parameter 'module' (pointer) has base type 'struct lys_module'.</div> +<span class='iname_a'>lys_print_fd <span class='sym_p'><span>( int <i>fd</i></span>, <span>struct lys_module const* <span class='fp'>module</span></span>, <span>enum LYS_OUTFORMAT <i>format</i></span>, <span>char const* <i>target_node</i></span>, <span>int <i>line_length</i></span>, <span>int <i>options</i></span> )</span></span><br/> +<div class='affect'>2nd parameter 'module' (pointer) has base type 'struct lys_module'.</div> +<span class='iname_a'>lys_print_file <span class='sym_p'><span>( FILE* <i>f</i></span>, <span>struct lys_module const* <span class='fp'>module</span></span>, <span>enum LYS_OUTFORMAT <i>format</i></span>, <span>char const* <i>target_node</i></span>, <span>int <i>line_length</i></span>, <span>int <i>options</i></span> )</span></span><br/> +<div class='affect'>2nd parameter 'module' (pointer) has base type 'struct lys_module'.</div> +<span class='iname_a'>lys_print_mem <span class='sym_p'><span>( char** <i>strp</i></span>, <span>struct lys_module const* <span class='fp'>module</span></span>, <span>enum LYS_OUTFORMAT <i>format</i></span>, <span>char const* <i>target_node</i></span>, <span>int <i>line_length</i></span>, <span>int <i>options</i></span> )</span></span><br/> +<div class='affect'>2nd parameter 'module' (pointer) has base type 'struct lys_module'.</div> +<span class='iname_a'>lys_print_path <span class='sym_p'><span>( char const* <i>path</i></span>, <span>struct lys_module const* <span class='fp'>module</span></span>, <span>enum LYS_OUTFORMAT <i>format</i></span>, <span>char const* <i>target_node</i></span>, <span>int <i>line_length</i></span>, <span>int <i>options</i></span> )</span></span><br/> +<div class='affect'>2nd parameter 'module' (pointer) has base type 'struct lys_module'.</div> +</div> +</div> +<br/><br/></div> + +<br/> +<a class='top_ref' href='#Top'>to the top</a><br/> +<a name='Symbol_Binary_Problems_Low'></a><a name='Interface_Binary_Problems_Low'></a> +<h2>Problems with Symbols, Low Severity <span class='warning'> 57 </span></h2><hr/> +<span class='h_name'>dict.h</span>, <span class='lib_name'>libyang.so.1.9.19</span><br/> +<span class="section" onclick="javascript:showContent(this, 'c_69')"> +<span class='ext'>[+]</span> lydict_insert <span class='sym_p'><span>( struct ly_ctx* <span class='color_p'>ctx</span></span>, <span>char const* <span class='color_p'>value</span></span>, <span>size_t <span class='color_p'>len</span></span> )</span> <span class='warning'> 1 </span></span> +<br/> +<div id="c_69" style="display:none;"> + + +<span class='new_sign_lbl'>⇣</span> +<br/> +<span class='new_sign'>lydict_insert <span class='sym_p'><span>( struct ly_ctx const* <span class='color_p'>ctx</span></span>, <span>char const* <span class='color_p'>value</span></span>, <span>size_t <span class='color_p'>len</span></span>, <span>char const** <span class='color_p'>str_p</span></span> )</span></span><br/> +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td>Type of <b>1st</b> parameter <b>ctx</b> has been changed from <span class='value'>struct ly_ctx*</span> to <span class='value'>struct ly_ctx const*</span>.</td> +<td>Replacement of parameter data type may indicate a change in its semantic meaning.</td> +</tr> +</table> +<br/> +</div> +<span class="section" onclick="javascript:showContent(this, 'c_70')"> +<span class='ext'>[+]</span> lydict_insert_zc <span class='sym_p'><span>( struct ly_ctx* <span class='color_p'>ctx</span></span>, <span>char* <span class='color_p'>value</span></span> )</span> <span class='warning'> 1 </span></span> +<br/> +<div id="c_70" style="display:none;"> + + +<span class='new_sign_lbl'>⇣</span> +<br/> +<span class='new_sign'>lydict_insert_zc <span class='sym_p'><span>( struct ly_ctx const* <span class='color_p'>ctx</span></span>, <span>char* <span class='color_p'>value</span></span>, <span>char const** <span class='color_p'>str_p</span></span> )</span></span><br/> +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td>Type of <b>1st</b> parameter <b>ctx</b> has been changed from <span class='value'>struct ly_ctx*</span> to <span class='value'>struct ly_ctx const*</span>.</td> +<td>Replacement of parameter data type may indicate a change in its semantic meaning.</td> +</tr> +</table> +<br/> +</div> +<span class="section" onclick="javascript:showContent(this, 'c_71')"> +<span class='ext'>[+]</span> lydict_remove <span class='sym_p'><span>( struct ly_ctx* <span class='color_p'>ctx</span></span>, <span>char const* <span class='color_p'>value</span></span> )</span> <span class='warning'> 1 </span></span> +<br/> +<div id="c_71" style="display:none;"> + + +<span class='new_sign_lbl'>⇣</span> +<br/> +<span class='new_sign'>lydict_remove <span class='sym_p'><span>( struct ly_ctx const* <span class='color_p'>ctx</span></span>, <span>char const* <span class='color_p'>value</span></span> )</span></span><br/> +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td>Type of <b>1st</b> parameter <b>ctx</b> has been changed from <span class='value'>struct ly_ctx*</span> to <span class='value'>struct ly_ctx const*</span>.</td> +<td>Replacement of parameter data type may indicate a change in its semantic meaning.</td> +</tr> +</table> +<br/> +</div> +<br/> +<span class='h_name'>libyang.h</span>, <span class='lib_name'>libyang.so.1.9.19</span><br/> +<span class="section" onclick="javascript:showContent(this, 'c_72')"> +<span class='ext'>[+]</span> ly_ctx_destroy <span class='sym_p'><span>( struct ly_ctx* <span class='color_p'>ctx</span></span>, <span>void(*<span class='color_p'>private_destructor</span>)(struct lys_node const*, void*)</span> )</span> <span class='warning'> 1 </span></span> +<br/> +<div id="c_72" style="display:none;"> + + +<span class='new_sign_lbl'>⇣</span> +<br/> +<span class='new_sign'>ly_ctx_destroy <span class='sym_p'><span>( struct ly_ctx* <span class='color_p'>ctx</span></span>, <span>void(*<span class='color_p'>private_destructor</span>)(struct lysc_node const*, void*)</span> )</span></span><br/> +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td>Base type of <b>2nd</b> parameter <b>private_destructor</b> has been changed from <span class='value'>void(*)(struct lys_node const*, void*)</span> to <span class='value'>void(*)(struct lysc_node const*, void*)</span>.</td> +<td>Replacement of parameter base type may indicate a change in its semantic meaning.</td> +</tr> +</table> +<br/> +</div> +<span class="section" onclick="javascript:showContent(this, 'c_73')"> +<span class='ext'>[+]</span> ly_ctx_get_module <span class='sym_p'><span>( struct ly_ctx const* <span class='color_p'>ctx</span></span>, <span>char const* <span class='color_p'>name</span></span>, <span>char const* <span class='color_p'>revision</span></span>, <span>int <span class='color_p'>implemented</span></span> )</span> <span class='warning'> 1 </span></span> +<br/> +<div id="c_73" style="display:none;"> + +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td>Type of return value has been changed from <span class='value'>struct lys_module const*</span> to <span class='value'>struct lys_module*</span>.</td> +<td>Replacement of return type may indicate a change in its semantic meaning.</td> +</tr> +</table> +<br/> +</div> +<span class="section" onclick="javascript:showContent(this, 'c_74')"> +<span class='ext'>[+]</span> ly_ctx_get_module_iter <span class='sym_p'><span>( struct ly_ctx const* <span class='color_p'>ctx</span></span>, <span>uint32_t* <span class='color_p'>idx</span></span> )</span> <span class='warning'> 1 </span></span> +<br/> +<div id="c_74" style="display:none;"> + + +<span class='new_sign_lbl'>⇣</span> +<br/> +<span class='new_sign'>ly_ctx_get_module_iter <span class='sym_p'><span>( struct ly_ctx const* <span class='color_p'>ctx</span></span>, <span>uint32_t* <span class='color_p'>index</span></span> )</span></span><br/> +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td><b>2nd</b> parameter <b>idx</b> has been renamed to <b>index</b>.</td> +<td>Renaming of a parameter may indicate a change in its semantic meaning.</td> +</tr> +</table> +<br/> +</div> +<span class="section" onclick="javascript:showContent(this, 'c_75')"> +<span class='ext'>[+]</span> ly_ctx_get_options <span class='sym_p'><span>( struct ly_ctx* <span class='color_p'>ctx</span></span> )</span> <span class='warning'> 1 </span></span> +<br/> +<div id="c_75" style="display:none;"> + + +<span class='new_sign_lbl'>⇣</span> +<br/> +<span class='new_sign'>ly_ctx_get_options <span class='sym_p'><span>( struct ly_ctx const* <span class='color_p'>ctx</span></span> )</span></span><br/> +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td>Type of <b>1st</b> parameter <b>ctx</b> has been changed from <span class='value'>struct ly_ctx*</span> to <span class='value'>struct ly_ctx const*</span>.</td> +<td>Replacement of parameter data type may indicate a change in its semantic meaning.</td> +</tr> +</table> +<br/> +</div> +<span class="section" onclick="javascript:showContent(this, 'c_76')"> +<span class='ext'>[+]</span> ly_ctx_internal_modules_count <span class='sym_p'><span>( struct ly_ctx* <span class='color_p'>ctx</span></span> )</span> <span class='warning'> 2 </span></span> +<br/> +<div id="c_76" style="display:none;"> + + +<span class='new_sign_lbl'>⇣</span> +<br/> +<span class='new_sign'>ly_ctx_internal_modules_count <span class='sym_p'><span>( struct ly_ctx const* <span class='color_p'>ctx</span></span> )</span></span><br/> +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td>Type of <b>1st</b> parameter <b>ctx</b> has been changed from <span class='value'>struct ly_ctx*</span> to <span class='value'>struct ly_ctx const*</span>.</td> +<td>Replacement of parameter data type may indicate a change in its semantic meaning.</td> +</tr> +<tr> +<th>2</th> +<td>Type of return value has been changed from <span class='value'>unsigned int</span> to <b>uint32_t</b>.</td> +<td>Replacement of return type may indicate a change in its semantic meaning.</td> +</tr> +</table> +<br/> +</div> +<span class="section" onclick="javascript:showContent(this, 'c_77')"> +<span class='ext'>[+]</span> ly_ctx_set_searchdir <span class='sym_p'><span>( struct ly_ctx* <span class='color_p'>ctx</span></span>, <span>char const* <span class='color_p'>search_dir</span></span> )</span> <span class='warning'> 1 </span></span> +<br/> +<div id="c_77" style="display:none;"> + +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td>Type of return value has been changed from <b>int</b> to <span class='value'>enum LY_ERR</span>.</td> +<td>Replacement of return type may indicate a change in its semantic meaning.</td> +</tr> +</table> +<br/> +</div> +<span class="section" onclick="javascript:showContent(this, 'c_78')"> +<span class='ext'>[+]</span> ly_get_log_clb <span class='sym_p'>( )</span> <span class='warning'> 1 </span></span> +<br/> +<div id="c_78" style="display:none;"> + +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td>Type of return value has been changed from <span class='value'>void(*)(LY_LOG_LEVEL, char const*, char const*)</span> to <b>ly_log_clb</b>.</td> +<td>Replacement of return type may indicate a change in its semantic meaning.</td> +</tr> +</table> +<br/> +</div> +<span class="section" onclick="javascript:showContent(this, 'c_79')"> +<span class='ext'>[+]</span> ly_log_options <span class='sym_p'><span>( int <span class='color_p'>opts</span></span> )</span> <span class='warning'> 2 </span></span> +<br/> +<div id="c_79" style="display:none;"> + + +<span class='new_sign_lbl'>⇣</span> +<br/> +<span class='new_sign'>ly_log_options <span class='sym_p'><span>( uint32_t <span class='color_p'>opts</span></span> )</span></span><br/> +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td>Type of <b>1st</b> parameter <b>opts</b> has been changed from <b>int</b> to <b>uint32_t</b>.</td> +<td>Replacement of parameter data type may indicate a change in its semantic meaning.</td> +</tr> +<tr> +<th>2</th> +<td>Type of return value has been changed from <b>int</b> to <b>uint32_t</b>.</td> +<td>Replacement of return type may indicate a change in its semantic meaning.</td> +</tr> +</table> +<br/> +</div> +<span class="section" onclick="javascript:showContent(this, 'c_80')"> +<span class='ext'>[+]</span> ly_set_add <span class='sym_p'><span>( struct ly_set* <span class='color_p'>set</span></span>, <span>void* <span class='color_p'>node</span></span>, <span>int <span class='color_p'>options</span></span> )</span> <span class='warning'> 2 </span></span> +<br/> +<div id="c_80" style="display:none;"> + + +<span class='new_sign_lbl'>⇣</span> +<br/> +<span class='new_sign'>ly_set_add <span class='sym_p'><span>( struct ly_set* <span class='color_p'>set</span></span>, <span>void* <span class='color_p'>object</span></span>, <span>ly_bool <span class='color_p'>list</span></span>, <span>uint32_t* <span class='color_p'>index_p</span></span> )</span></span><br/> +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td><b>2nd</b> parameter <b>node</b> has been renamed to <b>object</b>.</td> +<td>Renaming of a parameter may indicate a change in its semantic meaning.</td> +</tr> +<tr> +<th>2</th> +<td>Type of return value has been changed from <b>int</b> to <span class='value'>enum LY_ERR</span>.</td> +<td>Replacement of return type may indicate a change in its semantic meaning.</td> +</tr> +</table> +<br/> +</div> +<span class="section" onclick="javascript:showContent(this, 'c_81')"> +<span class='ext'>[+]</span> ly_set_contains <span class='sym_p'><span>( struct ly_set const* <span class='color_p'>set</span></span>, <span>void* <span class='color_p'>node</span></span> )</span> <span class='warning'> 1 </span></span> +<br/> +<div id="c_81" style="display:none;"> + + +<span class='new_sign_lbl'>⇣</span> +<br/> +<span class='new_sign'>ly_set_contains <span class='sym_p'><span>( struct ly_set const* <span class='color_p'>set</span></span>, <span>void* <span class='color_p'>object</span></span>, <span>uint32_t* <span class='color_p'>index_p</span></span> )</span></span><br/> +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td><b>2nd</b> parameter <b>node</b> has been renamed to <b>object</b>.</td> +<td>Renaming of a parameter may indicate a change in its semantic meaning.</td> +</tr> +</table> +<br/> +</div> +<span class="section" onclick="javascript:showContent(this, 'c_82')"> +<span class='ext'>[+]</span> ly_set_log_clb <span class='sym_p'><span>( void(*<span class='color_p'>clb</span>)(LY_LOG_LEVEL, char const*, char const*)</span>, <span>int <span class='color_p'>path</span></span> )</span> <span class='warning'> 1 </span></span> +<br/> +<div id="c_82" style="display:none;"> + + +<span class='new_sign_lbl'>⇣</span> +<br/> +<span class='new_sign'>ly_set_log_clb <span class='sym_p'><span>( ly_log_clb <span class='color_p'>clb</span></span>, <span>ly_bool <span class='color_p'>path</span></span> )</span></span><br/> +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td>Type of <b>1st</b> parameter <b>clb</b> has been changed from <span class='value'>void(*)(LY_LOG_LEVEL, char const*, char const*)</span> to <b>ly_log_clb</b>.</td> +<td>Replacement of parameter data type may indicate a change in its semantic meaning.</td> +</tr> +</table> +<br/> +</div> +<span class="section" onclick="javascript:showContent(this, 'c_83')"> +<span class='ext'>[+]</span> ly_set_merge <span class='sym_p'><span>( struct ly_set* <span class='color_p'>trg</span></span>, <span>struct ly_set* <span class='color_p'>src</span></span>, <span>int <span class='color_p'>options</span></span> )</span> <span class='warning'> 1 </span></span> +<br/> +<div id="c_83" style="display:none;"> + +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td>Type of return value has been changed from <b>int</b> to <span class='value'>enum LY_ERR</span>.</td> +<td>Replacement of return type may indicate a change in its semantic meaning.</td> +</tr> +</table> +<br/> +</div> +<span class="section" onclick="javascript:showContent(this, 'c_84')"> +<span class='ext'>[+]</span> ly_set_rm <span class='sym_p'><span>( struct ly_set* <span class='color_p'>set</span></span>, <span>void* <span class='color_p'>node</span></span> )</span> <span class='warning'> 2 </span></span> +<br/> +<div id="c_84" style="display:none;"> + + +<span class='new_sign_lbl'>⇣</span> +<br/> +<span class='new_sign'>ly_set_rm <span class='sym_p'><span>( struct ly_set* <span class='color_p'>set</span></span>, <span>void* <span class='color_p'>object</span></span>, <span>void(*<span class='color_p'>destructor</span>)(void*)</span> )</span></span><br/> +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td><b>2nd</b> parameter <b>node</b> has been renamed to <b>object</b>.</td> +<td>Renaming of a parameter may indicate a change in its semantic meaning.</td> +</tr> +<tr> +<th>2</th> +<td>Type of return value has been changed from <b>int</b> to <span class='value'>enum LY_ERR</span>.</td> +<td>Replacement of return type may indicate a change in its semantic meaning.</td> +</tr> +</table> +<br/> +</div> +<span class="section" onclick="javascript:showContent(this, 'c_85')"> +<span class='ext'>[+]</span> ly_set_rm_index <span class='sym_p'><span>( struct ly_set* <span class='color_p'>set</span></span>, <span>unsigned int <span class='color_p'>index</span></span> )</span> <span class='warning'> 2 </span></span> +<br/> +<div id="c_85" style="display:none;"> + + +<span class='new_sign_lbl'>⇣</span> +<br/> +<span class='new_sign'>ly_set_rm_index <span class='sym_p'><span>( struct ly_set* <span class='color_p'>set</span></span>, <span>uint32_t <span class='color_p'>index</span></span>, <span>void(*<span class='color_p'>destructor</span>)(void*)</span> )</span></span><br/> +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td>Type of <b>2nd</b> parameter <b>index</b> has been changed from <span class='value'>unsigned int</span> to <b>uint32_t</b>.</td> +<td>Replacement of parameter data type may indicate a change in its semantic meaning.</td> +</tr> +<tr> +<th>2</th> +<td>Type of return value has been changed from <b>int</b> to <span class='value'>enum LY_ERR</span>.</td> +<td>Replacement of return type may indicate a change in its semantic meaning.</td> +</tr> +</table> +<br/> +</div> +<br/> +<span class='h_name'>tree_data.h</span>, <span class='lib_name'>libyang.so.1.9.19</span><br/> +<span class="section" onclick="javascript:showContent(this, 'c_86')"> +<span class='ext'>[+]</span> lyd_find_sibling_val <span class='sym_p'><span>( struct lyd_node const* <span class='color_p'>siblings</span></span>, <span>struct lys_node const* <span class='color_p'>schema</span></span>, <span>char const* <span class='color_p'>key_or_value</span></span>, <span>struct lyd_node** <span class='color_p'>match</span></span> )</span> <span class='warning'> 1 </span></span> +<br/> +<div id="c_86" style="display:none;"> + +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td>Type of return value has been changed from <b>int</b> to <span class='value'>enum LY_ERR</span>.</td> +<td>Replacement of return type may indicate a change in its semantic meaning.</td> +</tr> +</table> +<br/> +</div> +<span class="section" onclick="javascript:showContent(this, 'c_87')"> +<span class='ext'>[+]</span> lyd_first_sibling <span class='sym_p'><span>( struct lyd_node* <span class='color_p'>node</span></span> )</span> <span class='warning'> 1 </span></span> +<br/> +<div id="c_87" style="display:none;"> + + +<span class='new_sign_lbl'>⇣</span> +<br/> +<span class='new_sign'>lyd_first_sibling <span class='sym_p'><span>( struct lyd_node const* <span class='color_p'>node</span></span> )</span></span><br/> +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td>Type of <b>1st</b> parameter <b>node</b> has been changed from <span class='value'>struct lyd_node*</span> to <span class='value'>struct lyd_node const*</span>.</td> +<td>Replacement of parameter data type may indicate a change in its semantic meaning.</td> +</tr> +</table> +<br/> +</div> +<span class="section" onclick="javascript:showContent(this, 'c_88')"> +<span class='ext'>[+]</span> lyd_insert_after <span class='sym_p'><span>( struct lyd_node* <span class='color_p'>sibling</span></span>, <span>struct lyd_node* <span class='color_p'>node</span></span> )</span> <span class='warning'> 1 </span></span> +<br/> +<div id="c_88" style="display:none;"> + +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td>Type of return value has been changed from <b>int</b> to <span class='value'>enum LY_ERR</span>.</td> +<td>Replacement of return type may indicate a change in its semantic meaning.</td> +</tr> +</table> +<br/> +</div> +<span class="section" onclick="javascript:showContent(this, 'c_89')"> +<span class='ext'>[+]</span> lyd_insert_before <span class='sym_p'><span>( struct lyd_node* <span class='color_p'>sibling</span></span>, <span>struct lyd_node* <span class='color_p'>node</span></span> )</span> <span class='warning'> 1 </span></span> +<br/> +<div id="c_89" style="display:none;"> + +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td>Type of return value has been changed from <b>int</b> to <span class='value'>enum LY_ERR</span>.</td> +<td>Replacement of return type may indicate a change in its semantic meaning.</td> +</tr> +</table> +<br/> +</div> +<span class="section" onclick="javascript:showContent(this, 'c_90')"> +<span class='ext'>[+]</span> lyd_insert_sibling <span class='sym_p'><span>( struct lyd_node** <span class='color_p'>sibling</span></span>, <span>struct lyd_node* <span class='color_p'>node</span></span> )</span> <span class='warning'> 2 </span></span> +<br/> +<div id="c_90" style="display:none;"> + + +<span class='new_sign_lbl'>⇣</span> +<br/> +<span class='new_sign'>lyd_insert_sibling <span class='sym_p'><span>( struct lyd_node* <span class='color_p'>sibling</span></span>, <span>struct lyd_node* <span class='color_p'>node</span></span>, <span>struct lyd_node** <span class='color_p'>first</span></span> )</span></span><br/> +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td>Type of <b>1st</b> parameter <b>sibling</b> has been changed from <span class='value'>struct lyd_node**</span> to <span class='value'>struct lyd_node*</span>.</td> +<td>Replacement of parameter data type may indicate a change in its semantic meaning.</td> +</tr> +<tr> +<th>2</th> +<td>Type of return value has been changed from <b>int</b> to <span class='value'>enum LY_ERR</span>.</td> +<td>Replacement of return type may indicate a change in its semantic meaning.</td> +</tr> +</table> +<br/> +</div> +<span class="section" onclick="javascript:showContent(this, 'c_91')"> +<span class='ext'>[+]</span> lyd_list_pos <span class='sym_p'><span>( struct lyd_node const* <span class='color_p'>node</span></span> )</span> <span class='warning'> 2 </span></span> +<br/> +<div id="c_91" style="display:none;"> + + +<span class='new_sign_lbl'>⇣</span> +<br/> +<span class='new_sign'>lyd_list_pos <span class='sym_p'><span>( struct lyd_node const* <span class='color_p'>instance</span></span> )</span></span><br/> +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td><b>1st</b> parameter <b>node</b> has been renamed to <b>instance</b>.</td> +<td>Renaming of a parameter may indicate a change in its semantic meaning.</td> +</tr> +<tr> +<th>2</th> +<td>Type of return value has been changed from <span class='value'>unsigned int</span> to <b>uint32_t</b>.</td> +<td>Replacement of return type may indicate a change in its semantic meaning.</td> +</tr> +</table> +<br/> +</div> +<span class="section" onclick="javascript:showContent(this, 'c_92')"> +<span class='ext'>[+]</span> lyd_new_path <span class='sym_p'><span>( struct lyd_node* <span class='color_p'>data_tree</span></span>, <span>struct ly_ctx const* <span class='color_p'>ctx</span></span>, <span>char const* <span class='color_p'>path</span></span>, <span>void* <span class='color_p'>value</span></span>, <span>enum LYD_ANYDATA_VALUETYPE <span class='color_p'>value_type</span></span>, <span>int <span class='color_p'>options</span></span> )</span> <span class='warning'> 5 </span></span> +<br/> +<div id="c_92" style="display:none;"> + + +<span class='new_sign_lbl'>⇣</span> +<br/> +<span class='new_sign'>lyd_new_path <span class='sym_p'><span>( struct lyd_node* <span class='color_p'>parent</span></span>, <span>struct ly_ctx const* <span class='color_p'>ctx</span></span>, <span>char const* <span class='color_p'>path</span></span>, <span>char const* <span class='color_p'>value</span></span>, <span>uint32_t <span class='color_p'>options</span></span>, <span>struct lyd_node** <span class='color_p'>node</span></span> )</span></span><br/> +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td>Type of <b>4th</b> parameter <b>value</b> has been changed from <b>void*</b> to <span class='value'>char const*</span>.</td> +<td>Replacement of parameter data type may indicate a change in its semantic meaning.</td> +</tr> +<tr> +<th>2</th> +<td>Type of <b>5th</b> parameter <b>value_type</b> has been changed from <span class='value'>enum LYD_ANYDATA_VALUETYPE</span> to <b>uint32_t</b>.</td> +<td>Replacement of parameter data type may indicate a change in its semantic meaning.</td> +</tr> +<tr> +<th>3</th> +<td><b>1st</b> parameter <b>data_tree</b> has been renamed to <b>parent</b>.</td> +<td>Renaming of a parameter may indicate a change in its semantic meaning.</td> +</tr> +<tr> +<th>4</th> +<td><b>5th</b> parameter <b>value_type</b> has been renamed to <b>options</b>.</td> +<td>Renaming of a parameter may indicate a change in its semantic meaning.</td> +</tr> +<tr> +<th>5</th> +<td><b>6th</b> parameter <b>options</b> has been renamed to <b>node</b>.</td> +<td>Renaming of a parameter may indicate a change in its semantic meaning.</td> +</tr> +</table> +<br/> +</div> +<span class="section" onclick="javascript:showContent(this, 'c_93')"> +<span class='ext'>[+]</span> lyd_print_clb <span class='sym_p'><span>( ssize_t(*<span class='color_p'>writeclb</span>)(void*, void const*, size_t)</span>, <span>void* <span class='color_p'>arg</span></span>, <span>struct lyd_node const* <span class='color_p'>root</span></span>, <span>enum LYD_FORMAT <span class='color_p'>format</span></span>, <span>int <span class='color_p'>options</span></span> )</span> <span class='warning'> 4 </span></span> +<br/> +<div id="c_93" style="display:none;"> + + +<span class='new_sign_lbl'>⇣</span> +<br/> +<span class='new_sign'>lyd_print_clb <span class='sym_p'><span>( ly_write_clb <span class='color_p'>writeclb</span></span>, <span>void* <span class='color_p'>user_data</span></span>, <span>struct lyd_node const* <span class='color_p'>root</span></span>, <span>enum LYD_FORMAT <span class='color_p'>format</span></span>, <span>uint32_t <span class='color_p'>options</span></span> )</span></span><br/> +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td>Type of <b>5th</b> parameter <b>options</b> has been changed from <b>int</b> to <b>uint32_t</b>.</td> +<td>Replacement of parameter data type may indicate a change in its semantic meaning.</td> +</tr> +<tr> +<th>2</th> +<td>Type of <b>1st</b> parameter <b>writeclb</b> has been changed from <span class='value'>ssize_t(*)(void*, void const*, size_t)</span> to <b>ly_write_clb</b>.</td> +<td>Replacement of parameter data type may indicate a change in its semantic meaning.</td> +</tr> +<tr> +<th>3</th> +<td><b>2nd</b> parameter <b>arg</b> has been renamed to <b>user_data</b>.</td> +<td>Renaming of a parameter may indicate a change in its semantic meaning.</td> +</tr> +<tr> +<th>4</th> +<td>Type of return value has been changed from <b>int</b> to <span class='value'>enum LY_ERR</span>.</td> +<td>Replacement of return type may indicate a change in its semantic meaning.</td> +</tr> +</table> +<br/> +</div> +<span class="section" onclick="javascript:showContent(this, 'c_94')"> +<span class='ext'>[+]</span> lyd_print_fd <span class='sym_p'><span>( int <span class='color_p'>fd</span></span>, <span>struct lyd_node const* <span class='color_p'>root</span></span>, <span>enum LYD_FORMAT <span class='color_p'>format</span></span>, <span>int <span class='color_p'>options</span></span> )</span> <span class='warning'> 2 </span></span> +<br/> +<div id="c_94" style="display:none;"> + + +<span class='new_sign_lbl'>⇣</span> +<br/> +<span class='new_sign'>lyd_print_fd <span class='sym_p'><span>( int <span class='color_p'>fd</span></span>, <span>struct lyd_node const* <span class='color_p'>root</span></span>, <span>enum LYD_FORMAT <span class='color_p'>format</span></span>, <span>uint32_t <span class='color_p'>options</span></span> )</span></span><br/> +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td>Type of <b>4th</b> parameter <b>options</b> has been changed from <b>int</b> to <b>uint32_t</b>.</td> +<td>Replacement of parameter data type may indicate a change in its semantic meaning.</td> +</tr> +<tr> +<th>2</th> +<td>Type of return value has been changed from <b>int</b> to <span class='value'>enum LY_ERR</span>.</td> +<td>Replacement of return type may indicate a change in its semantic meaning.</td> +</tr> +</table> +<br/> +</div> +<span class="section" onclick="javascript:showContent(this, 'c_95')"> +<span class='ext'>[+]</span> lyd_print_file <span class='sym_p'><span>( FILE* <span class='color_p'>f</span></span>, <span>struct lyd_node const* <span class='color_p'>root</span></span>, <span>enum LYD_FORMAT <span class='color_p'>format</span></span>, <span>int <span class='color_p'>options</span></span> )</span> <span class='warning'> 2 </span></span> +<br/> +<div id="c_95" style="display:none;"> + + +<span class='new_sign_lbl'>⇣</span> +<br/> +<span class='new_sign'>lyd_print_file <span class='sym_p'><span>( FILE* <span class='color_p'>f</span></span>, <span>struct lyd_node const* <span class='color_p'>root</span></span>, <span>enum LYD_FORMAT <span class='color_p'>format</span></span>, <span>uint32_t <span class='color_p'>options</span></span> )</span></span><br/> +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td>Type of <b>4th</b> parameter <b>options</b> has been changed from <b>int</b> to <b>uint32_t</b>.</td> +<td>Replacement of parameter data type may indicate a change in its semantic meaning.</td> +</tr> +<tr> +<th>2</th> +<td>Type of return value has been changed from <b>int</b> to <span class='value'>enum LY_ERR</span>.</td> +<td>Replacement of return type may indicate a change in its semantic meaning.</td> +</tr> +</table> +<br/> +</div> +<span class="section" onclick="javascript:showContent(this, 'c_96')"> +<span class='ext'>[+]</span> lyd_print_mem <span class='sym_p'><span>( char** <span class='color_p'>strp</span></span>, <span>struct lyd_node const* <span class='color_p'>root</span></span>, <span>enum LYD_FORMAT <span class='color_p'>format</span></span>, <span>int <span class='color_p'>options</span></span> )</span> <span class='warning'> 2 </span></span> +<br/> +<div id="c_96" style="display:none;"> + + +<span class='new_sign_lbl'>⇣</span> +<br/> +<span class='new_sign'>lyd_print_mem <span class='sym_p'><span>( char** <span class='color_p'>strp</span></span>, <span>struct lyd_node const* <span class='color_p'>root</span></span>, <span>enum LYD_FORMAT <span class='color_p'>format</span></span>, <span>uint32_t <span class='color_p'>options</span></span> )</span></span><br/> +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td>Type of <b>4th</b> parameter <b>options</b> has been changed from <b>int</b> to <b>uint32_t</b>.</td> +<td>Replacement of parameter data type may indicate a change in its semantic meaning.</td> +</tr> +<tr> +<th>2</th> +<td>Type of return value has been changed from <b>int</b> to <span class='value'>enum LY_ERR</span>.</td> +<td>Replacement of return type may indicate a change in its semantic meaning.</td> +</tr> +</table> +<br/> +</div> +<span class="section" onclick="javascript:showContent(this, 'c_97')"> +<span class='ext'>[+]</span> lyd_print_path <span class='sym_p'><span>( char const* <span class='color_p'>path</span></span>, <span>struct lyd_node const* <span class='color_p'>root</span></span>, <span>enum LYD_FORMAT <span class='color_p'>format</span></span>, <span>int <span class='color_p'>options</span></span> )</span> <span class='warning'> 2 </span></span> +<br/> +<div id="c_97" style="display:none;"> + + +<span class='new_sign_lbl'>⇣</span> +<br/> +<span class='new_sign'>lyd_print_path <span class='sym_p'><span>( char const* <span class='color_p'>path</span></span>, <span>struct lyd_node const* <span class='color_p'>root</span></span>, <span>enum LYD_FORMAT <span class='color_p'>format</span></span>, <span>uint32_t <span class='color_p'>options</span></span> )</span></span><br/> +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td>Type of <b>4th</b> parameter <b>options</b> has been changed from <b>int</b> to <b>uint32_t</b>.</td> +<td>Replacement of parameter data type may indicate a change in its semantic meaning.</td> +</tr> +<tr> +<th>2</th> +<td>Type of return value has been changed from <b>int</b> to <span class='value'>enum LY_ERR</span>.</td> +<td>Replacement of return type may indicate a change in its semantic meaning.</td> +</tr> +</table> +<br/> +</div> +<br/> +<span class='h_name'>tree_schema.h</span>, <span class='lib_name'>libyang.so.1.9.19</span><br/> +<span class="section" onclick="javascript:showContent(this, 'c_98')"> +<span class='ext'>[+]</span> lys_getnext <span class='sym_p'><span>( struct lys_node const* <span class='color_p'>last</span></span>, <span>struct lys_node const* <span class='color_p'>parent</span></span>, <span>struct lys_module const* <span class='color_p'>module</span></span>, <span>int <span class='color_p'>options</span></span> )</span> <span class='warning'> 1 </span></span> +<br/> +<div id="c_98" style="display:none;"> + + +<span class='new_sign_lbl'>⇣</span> +<br/> +<span class='new_sign'>lys_getnext <span class='sym_p'><span>( struct lysc_node const* <span class='color_p'>last</span></span>, <span>struct lysc_node const* <span class='color_p'>parent</span></span>, <span>struct lysc_module const* <span class='color_p'>module</span></span>, <span>uint32_t <span class='color_p'>options</span></span> )</span></span><br/> +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td>Type of <b>4th</b> parameter <b>options</b> has been changed from <b>int</b> to <b>uint32_t</b>.</td> +<td>Replacement of parameter data type may indicate a change in its semantic meaning.</td> +</tr> +</table> +<br/> +</div> +<span class="section" onclick="javascript:showContent(this, 'c_99')"> +<span class='ext'>[+]</span> lys_print_clb <span class='sym_p'><span>( ssize_t(*<span class='color_p'>writeclb</span>)(void*, void const*, size_t)</span>, <span>void* <span class='color_p'>arg</span></span>, <span>struct lys_module const* <span class='color_p'>module</span></span>, <span>enum LYS_OUTFORMAT <span class='color_p'>format</span></span>, <span>char const* <span class='color_p'>target_node</span></span>, <span>int <span class='color_p'>line_length</span></span>, <span>int <span class='color_p'>options</span></span> )</span> <span class='warning'> 3 </span></span> +<br/> +<div id="c_99" style="display:none;"> + + +<span class='new_sign_lbl'>⇣</span> +<br/> +<span class='new_sign'>lys_print_clb <span class='sym_p'><span>( ly_write_clb <span class='color_p'>writeclb</span></span>, <span>void* <span class='color_p'>user_data</span></span>, <span>struct lys_module const* <span class='color_p'>module</span></span>, <span>enum LYS_OUTFORMAT <span class='color_p'>format</span></span>, <span>uint32_t <span class='color_p'>options</span></span> )</span></span><br/> +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td>Type of <b>1st</b> parameter <b>writeclb</b> has been changed from <span class='value'>ssize_t(*)(void*, void const*, size_t)</span> to <b>ly_write_clb</b>.</td> +<td>Replacement of parameter data type may indicate a change in its semantic meaning.</td> +</tr> +<tr> +<th>2</th> +<td><b>2nd</b> parameter <b>arg</b> has been renamed to <b>user_data</b>.</td> +<td>Renaming of a parameter may indicate a change in its semantic meaning.</td> +</tr> +<tr> +<th>3</th> +<td>Type of return value has been changed from <b>int</b> to <span class='value'>enum LY_ERR</span>.</td> +<td>Replacement of return type may indicate a change in its semantic meaning.</td> +</tr> +</table> +<br/> +</div> +<span class="section" onclick="javascript:showContent(this, 'c_100')"> +<span class='ext'>[+]</span> lys_print_fd <span class='sym_p'><span>( int <span class='color_p'>fd</span></span>, <span>struct lys_module const* <span class='color_p'>module</span></span>, <span>enum LYS_OUTFORMAT <span class='color_p'>format</span></span>, <span>char const* <span class='color_p'>target_node</span></span>, <span>int <span class='color_p'>line_length</span></span>, <span>int <span class='color_p'>options</span></span> )</span> <span class='warning'> 1 </span></span> +<br/> +<div id="c_100" style="display:none;"> + +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td>Type of return value has been changed from <b>int</b> to <span class='value'>enum LY_ERR</span>.</td> +<td>Replacement of return type may indicate a change in its semantic meaning.</td> +</tr> +</table> +<br/> +</div> +<span class="section" onclick="javascript:showContent(this, 'c_101')"> +<span class='ext'>[+]</span> lys_print_file <span class='sym_p'><span>( FILE* <span class='color_p'>f</span></span>, <span>struct lys_module const* <span class='color_p'>module</span></span>, <span>enum LYS_OUTFORMAT <span class='color_p'>format</span></span>, <span>char const* <span class='color_p'>target_node</span></span>, <span>int <span class='color_p'>line_length</span></span>, <span>int <span class='color_p'>options</span></span> )</span> <span class='warning'> 1 </span></span> +<br/> +<div id="c_101" style="display:none;"> + +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td>Type of return value has been changed from <b>int</b> to <span class='value'>enum LY_ERR</span>.</td> +<td>Replacement of return type may indicate a change in its semantic meaning.</td> +</tr> +</table> +<br/> +</div> +<span class="section" onclick="javascript:showContent(this, 'c_102')"> +<span class='ext'>[+]</span> lys_print_mem <span class='sym_p'><span>( char** <span class='color_p'>strp</span></span>, <span>struct lys_module const* <span class='color_p'>module</span></span>, <span>enum LYS_OUTFORMAT <span class='color_p'>format</span></span>, <span>char const* <span class='color_p'>target_node</span></span>, <span>int <span class='color_p'>line_length</span></span>, <span>int <span class='color_p'>options</span></span> )</span> <span class='warning'> 1 </span></span> +<br/> +<div id="c_102" style="display:none;"> + +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td>Type of return value has been changed from <b>int</b> to <span class='value'>enum LY_ERR</span>.</td> +<td>Replacement of return type may indicate a change in its semantic meaning.</td> +</tr> +</table> +<br/> +</div> +<span class="section" onclick="javascript:showContent(this, 'c_103')"> +<span class='ext'>[+]</span> lys_print_path <span class='sym_p'><span>( char const* <span class='color_p'>path</span></span>, <span>struct lys_module const* <span class='color_p'>module</span></span>, <span>enum LYS_OUTFORMAT <span class='color_p'>format</span></span>, <span>char const* <span class='color_p'>target_node</span></span>, <span>int <span class='color_p'>line_length</span></span>, <span>int <span class='color_p'>options</span></span> )</span> <span class='warning'> 1 </span></span> +<br/> +<div id="c_103" style="display:none;"> + +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td>Type of return value has been changed from <b>int</b> to <span class='value'>enum LY_ERR</span>.</td> +<td>Replacement of return type may indicate a change in its semantic meaning.</td> +</tr> +</table> +<br/> +</div> +<span class="section" onclick="javascript:showContent(this, 'c_104')"> +<span class='ext'>[+]</span> lys_search_localfile <span class='sym_p'><span>( char const*const* <span class='color_p'>searchpaths</span></span>, <span>int <span class='color_p'>cwd</span></span>, <span>char const* <span class='color_p'>name</span></span>, <span>char const* <span class='color_p'>revision</span></span>, <span>char** <span class='color_p'>localfile</span></span>, <span>LYS_INFORMAT* <span class='color_p'>format</span></span> )</span> <span class='warning'> 1 </span></span> +<br/> +<div id="c_104" style="display:none;"> + +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td>Type of return value has been changed from <b>int</b> to <span class='value'>enum LY_ERR</span>.</td> +<td>Replacement of return type may indicate a change in its semantic meaning.</td> +</tr> +</table> +<br/> +</div> +<span class="section" onclick="javascript:showContent(this, 'c_105')"> +<span class='ext'>[+]</span> lys_set_implemented <span class='sym_p'><span>( struct lys_module const* <span class='color_p'>module</span></span> )</span> <span class='warning'> 1 </span></span> +<br/> +<div id="c_105" style="display:none;"> + +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td>Type of return value has been changed from <b>int</b> to <span class='value'>enum LY_ERR</span>.</td> +<td>Replacement of return type may indicate a change in its semantic meaning.</td> +</tr> +</table> +<br/> +</div> +<br/> +<a class='top_ref' href='#Top'>to the top</a><br/> +<a name='Other_Binary_Changes'></a><a name='Other_Binary_Changes_In_Types'></a> +<h2>Other Changes in Data Types <span class='passed'> 7 </span></h2><hr/> +<span class='h_name'>libyang.h</span><br/> +<span class="section" onclick="javascript:showContent(this, 'c_106')"> +<span class='ext'>[+]</span> <span class='ttype'>enum</span> LY_ERR <span class='passed'> 6 </span></span> +<br/> +<div id="c_106" style="display:none;"> +<table class='ptable'><tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th></tr><tr> +<th>1</th> +<td>The member <b>LY_EDENIED</b> with value <b>8</b> has been added.</td> +<td>No effect.</td> +</tr> +<tr> +<th>2</th> +<td>The member <b>LY_EEXIST</b> with value <b>4</b> has been added.</td> +<td>No effect.</td> +</tr> +<tr> +<th>3</th> +<td>The member <b>LY_EINCOMPLETE</b> with value <b>9</b> has been added.</td> +<td>No effect.</td> +</tr> +<tr> +<th>4</th> +<td>The member <b>LY_ENOT</b> with value <b>10</b> has been added.</td> +<td>No effect.</td> +</tr> +<tr> +<th>5</th> +<td>The member <b>LY_ENOTFOUND</b> with value <b>5</b> has been added.</td> +<td>No effect.</td> +</tr> +<tr> +<th>6</th> +<td>The member <b>LY_EOTHER</b> with value <b>11</b> has been added.</td> +<td>No effect.</td> +</tr> +</table> +<span class="sect_aff" onclick="javascript:showContent(this, 'c_107')"> +[+] affected symbols: 3 (1.7%)</span> +<div id="c_107" style="display:none;"> +<div class='affected'><span class='iname_a'>ly_err_clean <span class='sym_p'><span>( struct ly_ctx* <i>ctx</i></span>, <span>struct ly_err_item* <span class='fp'>eitem</span></span> )</span></span><br/> +<div class='affect'>Field 'eitem.no' in 2nd parameter 'eitem' (pointer) is of type 'enum LY_ERR'.</div> +<span class='iname_a'>ly_err_first <span class='sym_p'><span>( struct ly_ctx const* <i>ctx</i></span> )</span></span><br/> +<div class='affect'>Field 'retval.no' in the return value (pointer) is of type 'enum LY_ERR'.</div> +<span class='iname_a'>ly_err_print <span class='sym_p'><span>( struct ly_err_item* <span class='fp'>eitem</span></span> )</span></span><br/> +<div class='affect'>Field 'eitem.no' in 1st parameter 'eitem' (pointer) is of type 'enum LY_ERR'.</div> +</div> +</div> +<br/><br/></div> + +<br/> +<span class='h_name'>tree_schema.h</span><br/> +<span class="section" onclick="javascript:showContent(this, 'c_108')"> +<span class='ext'>[+]</span> <span class='ttype'>enum</span> LYS_OUTFORMAT <span class='passed'> 1 </span></span> +<br/> +<div id="c_108" style="display:none;"> +<table class='ptable'><tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th></tr><tr> +<th>1</th> +<td>The member <b>LYS_OUT_YANG_COMPILED</b> with value <b>2</b> has been added.</td> +<td>No effect.</td> +</tr> +</table> +<span class="sect_aff" onclick="javascript:showContent(this, 'c_109')"> +[+] affected symbols: 5 (2.9%)</span> +<div id="c_109" style="display:none;"> +<div class='affected'><span class='iname_a'>lys_print_clb <span class='sym_p'><span>( ssize_t(*<i>writeclb</i>)(void*, void const*, size_t)</span>, <span>void* <i>arg</i></span>, <span>struct lys_module const* <i>module</i></span>, <span>enum LYS_OUTFORMAT <span class='fp'>format</span></span>, <span>char const* <i>target_node</i></span>, <span>int <i>line_length</i></span>, <span>int <i>options</i></span> )</span></span><br/> +<div class='affect'>4th parameter 'format' is of type 'enum LYS_OUTFORMAT'.</div> +<span class='iname_a'>lys_print_fd <span class='sym_p'><span>( int <i>fd</i></span>, <span>struct lys_module const* <i>module</i></span>, <span>enum LYS_OUTFORMAT <span class='fp'>format</span></span>, <span>char const* <i>target_node</i></span>, <span>int <i>line_length</i></span>, <span>int <i>options</i></span> )</span></span><br/> +<div class='affect'>3rd parameter 'format' is of type 'enum LYS_OUTFORMAT'.</div> +<span class='iname_a'>lys_print_file <span class='sym_p'><span>( FILE* <i>f</i></span>, <span>struct lys_module const* <i>module</i></span>, <span>enum LYS_OUTFORMAT <span class='fp'>format</span></span>, <span>char const* <i>target_node</i></span>, <span>int <i>line_length</i></span>, <span>int <i>options</i></span> )</span></span><br/> +<div class='affect'>3rd parameter 'format' is of type 'enum LYS_OUTFORMAT'.</div> +<span class='iname_a'>lys_print_mem <span class='sym_p'><span>( char** <i>strp</i></span>, <span>struct lys_module const* <i>module</i></span>, <span>enum LYS_OUTFORMAT <span class='fp'>format</span></span>, <span>char const* <i>target_node</i></span>, <span>int <i>line_length</i></span>, <span>int <i>options</i></span> )</span></span><br/> +<div class='affect'>3rd parameter 'format' is of type 'enum LYS_OUTFORMAT'.</div> +<span class='iname_a'>lys_print_path <span class='sym_p'><span>( char const* <i>path</i></span>, <span>struct lys_module const* <i>module</i></span>, <span>enum LYS_OUTFORMAT <span class='fp'>format</span></span>, <span>char const* <i>target_node</i></span>, <span>int <i>line_length</i></span>, <span>int <i>options</i></span> )</span></span><br/> +<div class='affect'>3rd parameter 'format' is of type 'enum LYS_OUTFORMAT'.</div> +</div> +</div> +<br/><br/></div> + +<br/> +<a class='top_ref' href='#Top'>to the top</a><br/> +<a name='Headers'></a><h2>Header Files <span class='gray'> 7 </span></h2><hr/> +<div class='h_list'> +dict.h<br/> +extensions.h<br/> +libyang.h<br/> +tree_data.h<br/> +tree_schema.h<br/> +user_types.h<br/> +xml.h<br/> +</div> +<br/><a class='top_ref' href='#Top'>to the top</a><br/> +<a name='Sources'></a><h2>Source Files <span class='gray'> 11 </span></h2><hr/> +<div class='h_list'> +common.c<br/> +context.c<br/> +hash_table.c<br/> +log.c<br/> +parser_lyb.c<br/> +parser_xml.c<br/> +plugins.c<br/> +printer.c<br/> +tree_data.c<br/> +tree_schema.c<br/> +xml.c<br/> +</div> +<br/><a class='top_ref' href='#Top'>to the top</a><br/> +<a name='Libs'></a><h2>Objects <span class='gray'> 1 </span></h2><hr/> +<div class='lib_list'> +libyang.so.1.9.19<br/> +</div> +<br/><a class='top_ref' href='#Top'>to the top</a><br/> +<br/><br/><br/></div><div id='SourceTab' class='tab'> +<h2>Test Info</h2><hr/> +<table class='summary'> +<tr><th>Module Name</th><td>libyang.so</td></tr> +<tr><th>Version #1</th><td>1.9.19</td></tr> +<tr><th>Version #2</th><td>2.0.0</td></tr> +<tr><th>Arch</th><td>x86_64</td></tr> +<tr><th>Subject</th><td width='150px'>Source Compatibility</td></tr> +</table> +<h2>Test Results</h2><hr/> +<table class='summary'><tr><th>Total Header Files</th><td><a href='#Headers' style='color:Blue;'>7</a></td></tr> +<tr><th>Total Source Files</th><td><a href='#Sources' style='color:Blue;'>11</a></td></tr> +<tr><th>Total Objects</th><td><a href='#Libs' style='color:Blue;'>1</a></td></tr> +<tr><th>Total Symbols / Types</th><td>174 / 22</td></tr> +<tr><th>Compatibility</th> +<td class='incompatible'>14.1%</td> +</tr> +</table> +<h2>Problem Summary</h2><hr/> +<table class='summary'><tr><th></th><th style='text-align:center;'>Severity</th><th style='text-align:center;'>Count</th></tr><tr><th>Added Symbols</th><td>-</td><td class='new'><a href='#Source_Added' style='color:Blue;'>154</a></td></tr> +<tr><th>Removed Symbols</th><td>High</td><td class='failed'><a href='#Source_Removed' style='color:Blue;'>114</a></td></tr> +<tr><th rowspan='3'>Problems with<br/>Data Types</th><td>High</td><td class='failed'><a href='#Type_Source_Problems_High' style='color:Blue;'>112</a></td></tr> +<tr><td>Medium</td><td class='failed'><a href='#Type_Source_Problems_Medium' style='color:Blue;'>2</a></td></tr> +<tr><td>Low</td><td class='warning'><a href='#Type_Source_Problems_Low' style='color:Blue;'>9</a></td></tr> +<tr><th rowspan='3'>Problems with<br/>Symbols</th><td>High</td><td class='failed'><a href='#Symbol_Source_Problems_High' style='color:Blue;'>13</a></td></tr> +<tr><td>Medium</td><td class='failed'><a href='#Symbol_Source_Problems_Medium' style='color:Blue;'>47</a></td></tr> +<tr><td>Low</td><td class='warning'><a href='#Symbol_Source_Problems_Low' style='color:Blue;'>52</a></td></tr> +<tr><th>Problems with<br/>Constants</th><td>Low</td><td>0</td></tr> +<tr><th>Other Changes<br/>in Data Types</th><td>-</td><td class='passed'><a href='#Other_Source_Changes_In_Types' style='color:Blue;'>24</a></td></tr> +<tr><th>Other Changes<br/>in Symbols</th><td>-</td><td class='passed'><a href='#Other_Source_Changes_In_Symbols' style='color:Blue;'>10</a></td></tr> +</table> + +<a name='Source_Added'></a><h2>Added Symbols <span class='new'> 154 </span></h2><hr/> +<span class='h_name'>context.h</span><br/> +<span class="iname">ly_ctx_get_module_implemented <span class='sym_p'><span>( struct ly_ctx const* <span class='color_p'>ctx</span></span>, <span>char const* <span class='color_p'>name</span></span> )</span></span><br/> +<span class="iname">ly_ctx_get_module_implemented_ns <span class='sym_p'><span>( struct ly_ctx const* <span class='color_p'>ctx</span></span>, <span>char const* <span class='color_p'>ns</span></span> )</span></span><br/> +<span class="iname">ly_ctx_get_module_latest <span class='sym_p'><span>( struct ly_ctx const* <span class='color_p'>ctx</span></span>, <span>char const* <span class='color_p'>name</span></span> )</span></span><br/> +<span class="iname">ly_ctx_get_module_latest_ns <span class='sym_p'><span>( struct ly_ctx const* <span class='color_p'>ctx</span></span>, <span>char const* <span class='color_p'>ns</span></span> )</span></span><br/> +<span class="iname">ly_ctx_get_module_ns <span class='sym_p'><span>( struct ly_ctx const* <span class='color_p'>ctx</span></span>, <span>char const* <span class='color_p'>ns</span></span>, <span>char const* <span class='color_p'>revision</span></span> )</span></span><br/> +<span class="iname">ly_ctx_get_yanglib_data <span class='sym_p'><span>( struct ly_ctx const* <span class='color_p'>ctx</span></span>, <span>struct lyd_node** <span class='color_p'>root_p</span></span> )</span></span><br/> +<span class="iname">ly_ctx_get_yanglib_id <span class='sym_p'><span>( struct ly_ctx const* <span class='color_p'>ctx</span></span> )</span></span><br/> +<span class="iname">ly_ctx_reset_latests <span class='sym_p'><span>( struct ly_ctx* <span class='color_p'>ctx</span></span> )</span></span><br/> +<span class="iname">ly_ctx_set_options <span class='sym_p'><span>( struct ly_ctx* <span class='color_p'>ctx</span></span>, <span>uint16_t <span class='color_p'>option</span></span> )</span></span><br/> +<span class="iname">ly_ctx_unset_options <span class='sym_p'><span>( struct ly_ctx* <span class='color_p'>ctx</span></span>, <span>uint16_t <span class='color_p'>option</span></span> )</span></span><br/> +<span class="iname">ly_ctx_unset_searchdir <span class='sym_p'><span>( struct ly_ctx* <span class='color_p'>ctx</span></span>, <span>char const* <span class='color_p'>value</span></span> )</span></span><br/> +<span class="iname">ly_ctx_unset_searchdir_last <span class='sym_p'><span>( struct ly_ctx* <span class='color_p'>ctx</span></span>, <span>uint32_t <span class='color_p'>count</span></span> )</span></span><br/> +<br/> +<span class='h_name'>in.h</span><br/> +<span class="iname">ly_in_fd <span class='sym_p'><span>( struct ly_in* <span class='color_p'>in</span></span>, <span>int <span class='color_p'>fd</span></span> )</span></span><br/> +<span class="iname">ly_in_file <span class='sym_p'><span>( struct ly_in* <span class='color_p'>in</span></span>, <span>FILE* <span class='color_p'>f</span></span> )</span></span><br/> +<span class="iname">ly_in_filepath <span class='sym_p'><span>( struct ly_in* <span class='color_p'>in</span></span>, <span>char const* <span class='color_p'>filepath</span></span>, <span>size_t <span class='color_p'>len</span></span> )</span></span><br/> +<span class="iname">ly_in_free <span class='sym_p'><span>( struct ly_in* <span class='color_p'>in</span></span>, <span>ly_bool <span class='color_p'>destroy</span></span> )</span></span><br/> +<span class="iname">ly_in_memory <span class='sym_p'><span>( struct ly_in* <span class='color_p'>in</span></span>, <span>char const* <span class='color_p'>str</span></span> )</span></span><br/> +<span class="iname">ly_in_new_fd <span class='sym_p'><span>( int <span class='color_p'>fd</span></span>, <span>struct ly_in** <span class='color_p'>in</span></span> )</span></span><br/> +<span class="iname">ly_in_new_file <span class='sym_p'><span>( FILE* <span class='color_p'>f</span></span>, <span>struct ly_in** <span class='color_p'>in</span></span> )</span></span><br/> +<span class="iname">ly_in_new_filepath <span class='sym_p'><span>( char const* <span class='color_p'>filepath</span></span>, <span>size_t <span class='color_p'>len</span></span>, <span>struct ly_in** <span class='color_p'>in</span></span> )</span></span><br/> +<span class="iname">ly_in_new_memory <span class='sym_p'><span>( char const* <span class='color_p'>str</span></span>, <span>struct ly_in** <span class='color_p'>in</span></span> )</span></span><br/> +<span class="iname">ly_in_parsed <span class='sym_p'><span>( struct ly_in const* <span class='color_p'>in</span></span> )</span></span><br/> +<span class="iname">ly_in_reset <span class='sym_p'><span>( struct ly_in* <span class='color_p'>in</span></span> )</span></span><br/> +<span class="iname">ly_in_type <span class='sym_p'><span>( struct ly_in const* <span class='color_p'>in</span></span> )</span></span><br/> +<br/> +<span class='h_name'>log.h</span><br/> +<span class="iname">ly_err_last <span class='sym_p'><span>( struct ly_ctx const* <span class='color_p'>ctx</span></span> )</span></span><br/> +<span class="iname">ly_errcode <span class='sym_p'><span>( struct ly_ctx const* <span class='color_p'>ctx</span></span> )</span></span><br/> +<span class="iname">ly_log_dbg_groups <span class='sym_p'><span>( uint32_t <span class='color_p'>dbg_groups</span></span> )</span></span><br/> +<span class="iname">ly_log_level <span class='sym_p'><span>( enum LY_LOG_LEVEL <span class='color_p'>level</span></span> )</span></span><br/> +<br/> +<span class='h_name'>out.h</span><br/> +<span class="iname">ly_out_clb <span class='sym_p'><span>( struct ly_out* <span class='color_p'>out</span></span>, <span>ly_write_clb <span class='color_p'>writeclb</span></span> )</span></span><br/> +<span class="iname">ly_out_clb_arg <span class='sym_p'><span>( struct ly_out* <span class='color_p'>out</span></span>, <span>void* <span class='color_p'>arg</span></span> )</span></span><br/> +<span class="iname">ly_out_fd <span class='sym_p'><span>( struct ly_out* <span class='color_p'>out</span></span>, <span>int <span class='color_p'>fd</span></span> )</span></span><br/> +<span class="iname">ly_out_file <span class='sym_p'><span>( struct ly_out* <span class='color_p'>out</span></span>, <span>FILE* <span class='color_p'>f</span></span> )</span></span><br/> +<span class="iname">ly_out_filepath <span class='sym_p'><span>( struct ly_out* <span class='color_p'>out</span></span>, <span>char const* <span class='color_p'>filepath</span></span> )</span></span><br/> +<span class="iname">ly_out_free <span class='sym_p'><span>( struct ly_out* <span class='color_p'>out</span></span>, <span>void(*<span class='color_p'>clb_arg_destructor</span>)(void*)</span>, <span>ly_bool <span class='color_p'>destroy</span></span> )</span></span><br/> +<span class="iname">ly_out_new_clb <span class='sym_p'><span>( ly_write_clb <span class='color_p'>writeclb</span></span>, <span>void* <span class='color_p'>user_data</span></span>, <span>struct ly_out** <span class='color_p'>out</span></span> )</span></span><br/> +<span class="iname">ly_out_new_fd <span class='sym_p'><span>( int <span class='color_p'>fd</span></span>, <span>struct ly_out** <span class='color_p'>out</span></span> )</span></span><br/> +<span class="iname">ly_out_new_file <span class='sym_p'><span>( FILE* <span class='color_p'>f</span></span>, <span>struct ly_out** <span class='color_p'>out</span></span> )</span></span><br/> +<span class="iname">ly_out_new_filepath <span class='sym_p'><span>( char const* <span class='color_p'>filepath</span></span>, <span>struct ly_out** <span class='color_p'>out</span></span> )</span></span><br/> +<span class="iname">ly_out_new_memory <span class='sym_p'><span>( char** <span class='color_p'>strp</span></span>, <span>size_t <span class='color_p'>size</span></span>, <span>struct ly_out** <span class='color_p'>out</span></span> )</span></span><br/> +<span class="iname">ly_out_printed <span class='sym_p'><span>( struct ly_out const* <span class='color_p'>out</span></span> )</span></span><br/> +<span class="iname">ly_out_reset <span class='sym_p'><span>( struct ly_out* <span class='color_p'>out</span></span> )</span></span><br/> +<span class="iname">ly_out_type <span class='sym_p'><span>( struct ly_out const* <span class='color_p'>out</span></span> )</span></span><br/> +<span class="iname">ly_print <span class='sym_p'><span>( struct ly_out* <span class='color_p'>out</span></span>, <span>char const* <span class='color_p'>format</span></span>, <span>...</span> )</span></span><br/> +<span class="iname">ly_print_flush <span class='sym_p'><span>( struct ly_out* <span class='color_p'>out</span></span> )</span></span><br/> +<span class="iname">ly_write <span class='sym_p'><span>( struct ly_out* <span class='color_p'>out</span></span>, <span>char const* <span class='color_p'>buf</span></span>, <span>size_t <span class='color_p'>len</span></span> )</span></span><br/> +<br/> +<span class='h_name'>parser_data.h</span><br/> +<span class="iname">lyd_parse_data <span class='sym_p'><span>( struct ly_ctx const* <span class='color_p'>ctx</span></span>, <span>struct ly_in* <span class='color_p'>in</span></span>, <span>enum LYD_FORMAT <span class='color_p'>format</span></span>, <span>uint32_t <span class='color_p'>parse_options</span></span>, <span>uint32_t <span class='color_p'>validate_options</span></span>, <span>struct lyd_node** <span class='color_p'>tree</span></span> )</span></span><br/> +<span class="iname">lyd_parse_data_fd <span class='sym_p'><span>( struct ly_ctx const* <span class='color_p'>ctx</span></span>, <span>int <span class='color_p'>fd</span></span>, <span>enum LYD_FORMAT <span class='color_p'>format</span></span>, <span>uint32_t <span class='color_p'>parse_options</span></span>, <span>uint32_t <span class='color_p'>validate_options</span></span>, <span>struct lyd_node** <span class='color_p'>tree</span></span> )</span></span><br/> +<span class="iname">lyd_parse_data_mem <span class='sym_p'><span>( struct ly_ctx const* <span class='color_p'>ctx</span></span>, <span>char const* <span class='color_p'>data</span></span>, <span>enum LYD_FORMAT <span class='color_p'>format</span></span>, <span>uint32_t <span class='color_p'>parse_options</span></span>, <span>uint32_t <span class='color_p'>validate_options</span></span>, <span>struct lyd_node** <span class='color_p'>tree</span></span> )</span></span><br/> +<span class="iname">lyd_parse_data_path <span class='sym_p'><span>( struct ly_ctx const* <span class='color_p'>ctx</span></span>, <span>char const* <span class='color_p'>path</span></span>, <span>enum LYD_FORMAT <span class='color_p'>format</span></span>, <span>uint32_t <span class='color_p'>parse_options</span></span>, <span>uint32_t <span class='color_p'>validate_options</span></span>, <span>struct lyd_node** <span class='color_p'>tree</span></span> )</span></span><br/> +<span class="iname">lyd_parse_notif <span class='sym_p'><span>( struct ly_ctx const* <span class='color_p'>ctx</span></span>, <span>struct ly_in* <span class='color_p'>in</span></span>, <span>enum LYD_FORMAT <span class='color_p'>format</span></span>, <span>struct lyd_node** <span class='color_p'>tree</span></span>, <span>struct lyd_node** <span class='color_p'>ntf</span></span> )</span></span><br/> +<span class="iname">lyd_parse_reply <span class='sym_p'><span>( struct lyd_node const* <span class='color_p'>request</span></span>, <span>struct ly_in* <span class='color_p'>in</span></span>, <span>enum LYD_FORMAT <span class='color_p'>format</span></span>, <span>struct lyd_node** <span class='color_p'>tree</span></span>, <span>struct lyd_node** <span class='color_p'>op</span></span> )</span></span><br/> +<span class="iname">lyd_parse_rpc <span class='sym_p'><span>( struct ly_ctx const* <span class='color_p'>ctx</span></span>, <span>struct ly_in* <span class='color_p'>in</span></span>, <span>enum LYD_FORMAT <span class='color_p'>format</span></span>, <span>struct lyd_node** <span class='color_p'>tree</span></span>, <span>struct lyd_node** <span class='color_p'>op</span></span> )</span></span><br/> +<span class="iname">lyd_validate_all <span class='sym_p'><span>( struct lyd_node** <span class='color_p'>tree</span></span>, <span>struct ly_ctx const* <span class='color_p'>ctx</span></span>, <span>uint32_t <span class='color_p'>val_opts</span></span>, <span>struct lyd_node** <span class='color_p'>diff</span></span> )</span></span><br/> +<span class="iname">lyd_validate_module <span class='sym_p'><span>( struct lyd_node** <span class='color_p'>tree</span></span>, <span>struct lys_module const* <span class='color_p'>module</span></span>, <span>uint32_t <span class='color_p'>val_opts</span></span>, <span>struct lyd_node** <span class='color_p'>diff</span></span> )</span></span><br/> +<span class="iname">lyd_validate_op <span class='sym_p'><span>( struct lyd_node* <span class='color_p'>op_tree</span></span>, <span>struct lyd_node const* <span class='color_p'>tree</span></span>, <span>enum LYD_VALIDATE_OP <span class='color_p'>op</span></span>, <span>struct lyd_node** <span class='color_p'>diff</span></span> )</span></span><br/> +<br/> +<span class='h_name'>parser_schema.h</span><br/> +<span class="iname">lys_parse <span class='sym_p'><span>( struct ly_ctx* <span class='color_p'>ctx</span></span>, <span>struct ly_in* <span class='color_p'>in</span></span>, <span>enum LYS_INFORMAT <span class='color_p'>format</span></span>, <span>char const** <span class='color_p'>features</span></span>, <span>struct lys_module const** <span class='color_p'>module</span></span> )</span></span><br/> +<br/> +<span class='h_name'>plugins_types.h</span><br/> +<span class="iname">ly_builtin_type_plugins <span class='attr'>[data]</span></span><br/> +<span class="iname">ly_err_free <span class='sym_p'><span>( void* <span class='color_p'>ptr</span></span> )</span></span><br/> +<span class="iname">ly_err_new <span class='sym_p'><span>( enum LY_LOG_LEVEL <span class='color_p'>level</span></span>, <span>enum LY_ERR <span class='color_p'>no</span></span>, <span>enum LY_VECODE <span class='color_p'>vecode</span></span>, <span>char* <span class='color_p'>msg</span></span>, <span>char* <span class='color_p'>path</span></span>, <span>char* <span class='color_p'>apptag</span></span> )</span></span><br/> +<span class="iname">ly_type_identity_isderived <span class='sym_p'><span>( struct lysc_ident* <span class='color_p'>base</span></span>, <span>struct lysc_ident* <span class='color_p'>der</span></span> )</span></span><br/> +<span class="iname">ly_type_parse_dec64 <span class='sym_p'><span>( uint8_t <span class='color_p'>fraction_digits</span></span>, <span>char const* <span class='color_p'>value</span></span>, <span>size_t <span class='color_p'>value_len</span></span>, <span>int64_t* <span class='color_p'>ret</span></span>, <span>struct ly_err_item** <span class='color_p'>err</span></span> )</span></span><br/> +<span class="iname">ly_type_parse_int <span class='sym_p'><span>( char const* <span class='color_p'>datatype</span></span>, <span>int <span class='color_p'>base</span></span>, <span>int64_t <span class='color_p'>min</span></span>, <span>int64_t <span class='color_p'>max</span></span>, <span>char const* <span class='color_p'>value</span></span>, <span>size_t <span class='color_p'>value_len</span></span>, <span>int64_t* <span class='color_p'>ret</span></span>, <span>struct ly_err_item** <span class='color_p'>err</span></span> )</span></span><br/> +<span class="iname">ly_type_parse_uint <span class='sym_p'><span>( char const* <span class='color_p'>datatype</span></span>, <span>int <span class='color_p'>base</span></span>, <span>uint64_t <span class='color_p'>max</span></span>, <span>char const* <span class='color_p'>value</span></span>, <span>size_t <span class='color_p'>value_len</span></span>, <span>uint64_t* <span class='color_p'>ret</span></span>, <span>struct ly_err_item** <span class='color_p'>err</span></span> )</span></span><br/> +<span class="iname">ly_type_print_get_prefix <span class='sym_p'><span>( struct lys_module const* <span class='color_p'>mod</span></span>, <span>enum LY_PREFIX_FORMAT <span class='color_p'>format</span></span>, <span>void* <span class='color_p'>prefix_data</span></span> )</span></span><br/> +<span class="iname">ly_type_store_resolve_prefix <span class='sym_p'><span>( struct ly_ctx const* <span class='color_p'>ctx</span></span>, <span>char const* <span class='color_p'>prefix</span></span>, <span>size_t <span class='color_p'>prefix_len</span></span>, <span>enum LY_PREFIX_FORMAT <span class='color_p'>format</span></span>, <span>void* <span class='color_p'>prefix_data</span></span> )</span></span><br/> +<span class="iname">ly_type_validate_patterns <span class='sym_p'><span>( struct lysc_pattern** <span class='color_p'>patterns</span></span>, <span>char const* <span class='color_p'>str</span></span>, <span>size_t <span class='color_p'>str_len</span></span>, <span>struct ly_err_item** <span class='color_p'>err</span></span> )</span></span><br/> +<span class="iname">ly_type_validate_range <span class='sym_p'><span>( enum LY_DATA_TYPE <span class='color_p'>basetype</span></span>, <span>struct lysc_range* <span class='color_p'>range</span></span>, <span>int64_t <span class='color_p'>value</span></span>, <span>char const* <span class='color_p'>strval</span></span>, <span>struct ly_err_item** <span class='color_p'>err</span></span> )</span></span><br/> +<span class="iname">lysc_prefixes_compile <span class='sym_p'><span>( char const* <span class='color_p'>str</span></span>, <span>size_t <span class='color_p'>str_len</span></span>, <span>struct lysp_module const* <span class='color_p'>prefix_mod</span></span>, <span>struct lysc_prefix** <span class='color_p'>prefixes</span></span> )</span></span><br/> +<span class="iname">lysc_prefixes_dup <span class='sym_p'><span>( struct lysc_prefix const* <span class='color_p'>orig</span></span>, <span>struct lysc_prefix** <span class='color_p'>dup</span></span> )</span></span><br/> +<span class="iname">lysc_prefixes_free <span class='sym_p'><span>( struct lysc_prefix* <span class='color_p'>prefixes</span></span> )</span></span><br/> +<br/> +<span class='h_name'>printer_data.h</span><br/> +<span class="iname">lyd_print_all <span class='sym_p'><span>( struct ly_out* <span class='color_p'>out</span></span>, <span>struct lyd_node const* <span class='color_p'>root</span></span>, <span>enum LYD_FORMAT <span class='color_p'>format</span></span>, <span>uint32_t <span class='color_p'>options</span></span> )</span></span><br/> +<span class="iname">lyd_print_tree <span class='sym_p'><span>( struct ly_out* <span class='color_p'>out</span></span>, <span>struct lyd_node const* <span class='color_p'>root</span></span>, <span>enum LYD_FORMAT <span class='color_p'>format</span></span>, <span>uint32_t <span class='color_p'>options</span></span> )</span></span><br/> +<br/> +<span class='h_name'>printer_schema.h</span><br/> +<span class="iname">lys_print_module <span class='sym_p'><span>( struct ly_out* <span class='color_p'>out</span></span>, <span>struct lys_module const* <span class='color_p'>module</span></span>, <span>enum LYS_OUTFORMAT <span class='color_p'>format</span></span>, <span>size_t <span class='color_p'>UNUSED_line_length</span></span>, <span>uint32_t <span class='color_p'>options</span></span> )</span></span><br/> +<span class="iname">lys_print_node <span class='sym_p'><span>( struct ly_out* <span class='color_p'>out</span></span>, <span>struct lysc_node const* <span class='color_p'>node</span></span>, <span>enum LYS_OUTFORMAT <span class='color_p'>format</span></span>, <span>size_t <span class='color_p'>UNUSED_line_length</span></span>, <span>uint32_t <span class='color_p'>options</span></span> )</span></span><br/> +<span class="iname">lys_print_submodule <span class='sym_p'><span>( struct ly_out* <span class='color_p'>out</span></span>, <span>struct lys_module const* <span class='color_p'>module</span></span>, <span>struct lysp_submodule const* <span class='color_p'>submodule</span></span>, <span>enum LYS_OUTFORMAT <span class='color_p'>format</span></span>, <span>size_t <span class='color_p'>UNUSED_line_length</span></span>, <span>uint32_t <span class='color_p'>options</span></span> )</span></span><br/> +<br/> +<span class='h_name'>set.h</span><br/> +<span class="iname">ly_set_erase <span class='sym_p'><span>( struct ly_set* <span class='color_p'>set</span></span>, <span>void(*<span class='color_p'>destructor</span>)(void*)</span> )</span></span><br/> +<br/> +<span class='h_name'>tree_data.h</span><br/> +<span class="iname">lyd_any_copy_value <span class='sym_p'><span>( struct lyd_node* <span class='color_p'>trg</span></span>, <span>union lyd_any_value const* <span class='color_p'>value</span></span>, <span>enum LYD_ANYDATA_VALUETYPE <span class='color_p'>value_type</span></span> )</span></span><br/> +<span class="iname">lyd_change_meta <span class='sym_p'><span>( struct lyd_meta* <span class='color_p'>meta</span></span>, <span>char const* <span class='color_p'>val_str</span></span> )</span></span><br/> +<span class="iname">lyd_change_term <span class='sym_p'><span>( struct lyd_node* <span class='color_p'>term</span></span>, <span>char const* <span class='color_p'>val_str</span></span> )</span></span><br/> +<span class="iname">lyd_child <span class='sym_p'><span>( struct lyd_node const* <span class='color_p'>node</span></span> )</span></span><br/> +<span class="iname">lyd_child_no_keys <span class='sym_p'><span>( struct lyd_node const* <span class='color_p'>node</span></span> )</span></span><br/> +<span class="iname">lyd_compare_meta <span class='sym_p'><span>( struct lyd_meta const* <span class='color_p'>meta1</span></span>, <span>struct lyd_meta const* <span class='color_p'>meta2</span></span> )</span></span><br/> +<span class="iname">lyd_compare_siblings <span class='sym_p'><span>( struct lyd_node const* <span class='color_p'>node1</span></span>, <span>struct lyd_node const* <span class='color_p'>node2</span></span>, <span>uint32_t <span class='color_p'>options</span></span> )</span></span><br/> +<span class="iname">lyd_compare_single <span class='sym_p'><span>( struct lyd_node const* <span class='color_p'>node1</span></span>, <span>struct lyd_node const* <span class='color_p'>node2</span></span>, <span>uint32_t <span class='color_p'>options</span></span> )</span></span><br/> +<span class="iname">lyd_diff_apply_all <span class='sym_p'><span>( struct lyd_node** <span class='color_p'>data</span></span>, <span>struct lyd_node const* <span class='color_p'>diff</span></span> )</span></span><br/> +<span class="iname">lyd_diff_apply_module <span class='sym_p'><span>( struct lyd_node** <span class='color_p'>data</span></span>, <span>struct lyd_node const* <span class='color_p'>diff</span></span>, <span>struct lys_module const* <span class='color_p'>mod</span></span>, <span>lyd_diff_cb <span class='color_p'>diff_cb</span></span>, <span>void* <span class='color_p'>cb_data</span></span> )</span></span><br/> +<span class="iname">lyd_diff_merge_all <span class='sym_p'><span>( struct lyd_node** <span class='color_p'>diff</span></span>, <span>struct lyd_node const* <span class='color_p'>src_diff</span></span> )</span></span><br/> +<span class="iname">lyd_diff_merge_module <span class='sym_p'><span>( struct lyd_node** <span class='color_p'>diff</span></span>, <span>struct lyd_node const* <span class='color_p'>src_diff</span></span>, <span>struct lys_module const* <span class='color_p'>mod</span></span>, <span>lyd_diff_cb <span class='color_p'>diff_cb</span></span>, <span>void* <span class='color_p'>cb_data</span></span> )</span></span><br/> +<span class="iname">lyd_diff_merge_tree <span class='sym_p'><span>( struct lyd_node** <span class='color_p'>diff_first</span></span>, <span>struct lyd_node* <span class='color_p'>diff_parent</span></span>, <span>struct lyd_node const* <span class='color_p'>src_sibling</span></span>, <span>lyd_diff_cb <span class='color_p'>diff_cb</span></span>, <span>void* <span class='color_p'>cb_data</span></span> )</span></span><br/> +<span class="iname">lyd_diff_reverse_all <span class='sym_p'><span>( struct lyd_node const* <span class='color_p'>src_diff</span></span>, <span>struct lyd_node** <span class='color_p'>diff</span></span> )</span></span><br/> +<span class="iname">lyd_diff_siblings <span class='sym_p'><span>( struct lyd_node const* <span class='color_p'>first</span></span>, <span>struct lyd_node const* <span class='color_p'>second</span></span>, <span>uint16_t <span class='color_p'>options</span></span>, <span>struct lyd_node** <span class='color_p'>diff</span></span> )</span></span><br/> +<span class="iname">lyd_diff_tree <span class='sym_p'><span>( struct lyd_node const* <span class='color_p'>first</span></span>, <span>struct lyd_node const* <span class='color_p'>second</span></span>, <span>uint16_t <span class='color_p'>options</span></span>, <span>struct lyd_node** <span class='color_p'>diff</span></span> )</span></span><br/> +<span class="iname">lyd_dup_meta_single <span class='sym_p'><span>( struct lyd_meta const* <span class='color_p'>meta</span></span>, <span>struct lyd_node* <span class='color_p'>node</span></span>, <span>struct lyd_meta** <span class='color_p'>dup</span></span> )</span></span><br/> +<span class="iname">lyd_dup_siblings <span class='sym_p'><span>( struct lyd_node const* <span class='color_p'>node</span></span>, <span>struct lyd_node_inner* <span class='color_p'>parent</span></span>, <span>uint32_t <span class='color_p'>options</span></span>, <span>struct lyd_node** <span class='color_p'>dup</span></span> )</span></span><br/> +<span class="iname">lyd_dup_single <span class='sym_p'><span>( struct lyd_node const* <span class='color_p'>node</span></span>, <span>struct lyd_node_inner* <span class='color_p'>parent</span></span>, <span>uint32_t <span class='color_p'>options</span></span>, <span>struct lyd_node** <span class='color_p'>dup</span></span> )</span></span><br/> +<span class="iname">lyd_find_meta <span class='sym_p'><span>( struct lyd_meta const* <span class='color_p'>first</span></span>, <span>struct lys_module const* <span class='color_p'>module</span></span>, <span>char const* <span class='color_p'>name</span></span> )</span></span><br/> +<span class="iname">lyd_find_sibling_first <span class='sym_p'><span>( struct lyd_node const* <span class='color_p'>siblings</span></span>, <span>struct lyd_node const* <span class='color_p'>target</span></span>, <span>struct lyd_node** <span class='color_p'>match</span></span> )</span></span><br/> +<span class="iname">lyd_find_xpath <span class='sym_p'><span>( struct lyd_node const* <span class='color_p'>ctx_node</span></span>, <span>char const* <span class='color_p'>xpath</span></span>, <span>struct ly_set** <span class='color_p'>set</span></span> )</span></span><br/> +<span class="iname">lyd_free_all <span class='sym_p'><span>( struct lyd_node* <span class='color_p'>node</span></span> )</span></span><br/> +<span class="iname">lyd_free_attr_siblings <span class='sym_p'><span>( struct ly_ctx const* <span class='color_p'>ctx</span></span>, <span>struct lyd_attr* <span class='color_p'>attr</span></span> )</span></span><br/> +<span class="iname">lyd_free_attr_single <span class='sym_p'><span>( struct ly_ctx const* <span class='color_p'>ctx</span></span>, <span>struct lyd_attr* <span class='color_p'>attr</span></span> )</span></span><br/> +<span class="iname">lyd_free_meta_siblings <span class='sym_p'><span>( struct lyd_meta* <span class='color_p'>meta</span></span> )</span></span><br/> +<span class="iname">lyd_free_meta_single <span class='sym_p'><span>( struct lyd_meta* <span class='color_p'>meta</span></span> )</span></span><br/> +<span class="iname">lyd_free_siblings <span class='sym_p'><span>( struct lyd_node* <span class='color_p'>node</span></span> )</span></span><br/> +<span class="iname">lyd_free_tree <span class='sym_p'><span>( struct lyd_node* <span class='color_p'>node</span></span> )</span></span><br/> +<span class="iname">lyd_insert_child <span class='sym_p'><span>( struct lyd_node* <span class='color_p'>parent</span></span>, <span>struct lyd_node* <span class='color_p'>node</span></span> )</span></span><br/> +<span class="iname">lyd_is_default <span class='sym_p'><span>( struct lyd_node const* <span class='color_p'>node</span></span> )</span></span><br/> +<span class="iname">lyd_merge_siblings <span class='sym_p'><span>( struct lyd_node** <span class='color_p'>target</span></span>, <span>struct lyd_node const* <span class='color_p'>source</span></span>, <span>uint16_t <span class='color_p'>options</span></span> )</span></span><br/> +<span class="iname">lyd_merge_tree <span class='sym_p'><span>( struct lyd_node** <span class='color_p'>target</span></span>, <span>struct lyd_node const* <span class='color_p'>source</span></span>, <span>uint16_t <span class='color_p'>options</span></span> )</span></span><br/> +<span class="iname">lyd_new_any <span class='sym_p'><span>( struct lyd_node* <span class='color_p'>parent</span></span>, <span>struct lys_module const* <span class='color_p'>module</span></span>, <span>char const* <span class='color_p'>name</span></span>, <span>void const* <span class='color_p'>value</span></span>, <span>enum LYD_ANYDATA_VALUETYPE <span class='color_p'>value_type</span></span>, <span>ly_bool <span class='color_p'>output</span></span>, <span>struct lyd_node** <span class='color_p'>node</span></span> )</span></span><br/> +<span class="iname">lyd_new_attr <span class='sym_p'><span>( struct lyd_node* <span class='color_p'>parent</span></span>, <span>char const* <span class='color_p'>module_name</span></span>, <span>char const* <span class='color_p'>name</span></span>, <span>char const* <span class='color_p'>val_str</span></span>, <span>struct lyd_attr** <span class='color_p'>attr</span></span> )</span></span><br/> +<span class="iname">lyd_new_implicit_all <span class='sym_p'><span>( struct lyd_node** <span class='color_p'>tree</span></span>, <span>struct ly_ctx const* <span class='color_p'>ctx</span></span>, <span>uint32_t <span class='color_p'>implicit_options</span></span>, <span>struct lyd_node** <span class='color_p'>diff</span></span> )</span></span><br/> +<span class="iname">lyd_new_implicit_module <span class='sym_p'><span>( struct lyd_node** <span class='color_p'>tree</span></span>, <span>struct lys_module const* <span class='color_p'>module</span></span>, <span>uint32_t <span class='color_p'>implicit_options</span></span>, <span>struct lyd_node** <span class='color_p'>diff</span></span> )</span></span><br/> +<span class="iname">lyd_new_implicit_tree <span class='sym_p'><span>( struct lyd_node* <span class='color_p'>tree</span></span>, <span>uint32_t <span class='color_p'>implicit_options</span></span>, <span>struct lyd_node** <span class='color_p'>diff</span></span> )</span></span><br/> +<span class="iname">lyd_new_inner <span class='sym_p'><span>( struct lyd_node* <span class='color_p'>parent</span></span>, <span>struct lys_module const* <span class='color_p'>module</span></span>, <span>char const* <span class='color_p'>name</span></span>, <span>ly_bool <span class='color_p'>output</span></span>, <span>struct lyd_node** <span class='color_p'>node</span></span> )</span></span><br/> +<span class="iname">lyd_new_list <span class='sym_p'><span>( struct lyd_node* <span class='color_p'>parent</span></span>, <span>struct lys_module const* <span class='color_p'>module</span></span>, <span>char const* <span class='color_p'>name</span></span>, <span>ly_bool <span class='color_p'>output</span></span>, <span>struct lyd_node** <span class='color_p'>node</span></span>, <span>...</span> )</span></span><br/> +<span class="iname">lyd_new_list2 <span class='sym_p'><span>( struct lyd_node* <span class='color_p'>parent</span></span>, <span>struct lys_module const* <span class='color_p'>module</span></span>, <span>char const* <span class='color_p'>name</span></span>, <span>char const* <span class='color_p'>keys</span></span>, <span>ly_bool <span class='color_p'>output</span></span>, <span>struct lyd_node** <span class='color_p'>node</span></span> )</span></span><br/> +<span class="iname">lyd_new_meta <span class='sym_p'><span>( struct lyd_node* <span class='color_p'>parent</span></span>, <span>struct lys_module const* <span class='color_p'>module</span></span>, <span>char const* <span class='color_p'>name</span></span>, <span>char const* <span class='color_p'>val_str</span></span>, <span>struct lyd_meta** <span class='color_p'>meta</span></span> )</span></span><br/> +<span class="iname">lyd_new_opaq <span class='sym_p'><span>( struct lyd_node* <span class='color_p'>parent</span></span>, <span>struct ly_ctx const* <span class='color_p'>ctx</span></span>, <span>char const* <span class='color_p'>name</span></span>, <span>char const* <span class='color_p'>value</span></span>, <span>char const* <span class='color_p'>module_name</span></span>, <span>struct lyd_node** <span class='color_p'>node</span></span> )</span></span><br/> +<span class="iname">lyd_new_path2 <span class='sym_p'><span>( struct lyd_node* <span class='color_p'>parent</span></span>, <span>struct ly_ctx const* <span class='color_p'>ctx</span></span>, <span>char const* <span class='color_p'>path</span></span>, <span>void const* <span class='color_p'>value</span></span>, <span>enum LYD_ANYDATA_VALUETYPE <span class='color_p'>value_type</span></span>, <span>uint32_t <span class='color_p'>options</span></span>, <span>struct lyd_node** <span class='color_p'>new_parent</span></span>, <span>struct lyd_node** <span class='color_p'>new_node</span></span> )</span></span><br/> +<span class="iname">lyd_new_term <span class='sym_p'><span>( struct lyd_node* <span class='color_p'>parent</span></span>, <span>struct lys_module const* <span class='color_p'>module</span></span>, <span>char const* <span class='color_p'>name</span></span>, <span>char const* <span class='color_p'>val_str</span></span>, <span>ly_bool <span class='color_p'>output</span></span>, <span>struct lyd_node** <span class='color_p'>node</span></span> )</span></span><br/> +<span class="iname">lyd_owner_module <span class='sym_p'><span>( struct lyd_node const* <span class='color_p'>node</span></span> )</span></span><br/> +<span class="iname">lyd_parent <span class='sym_p'><span>( struct lyd_node const* <span class='color_p'>node</span></span> )</span></span><br/> +<span class="iname">lyd_target <span class='sym_p'><span>( struct ly_path const* <span class='color_p'>path</span></span>, <span>struct lyd_node const* <span class='color_p'>tree</span></span> )</span></span><br/> +<span class="iname">lyd_unlink_tree <span class='sym_p'><span>( struct lyd_node* <span class='color_p'>node</span></span> )</span></span><br/> +<span class="iname">lyd_value_compare <span class='sym_p'><span>( struct lyd_node_term const* <span class='color_p'>node</span></span>, <span>char const* <span class='color_p'>value</span></span>, <span>size_t <span class='color_p'>value_len</span></span> )</span></span><br/> +<span class="iname">lyd_value_validate <span class='sym_p'><span>( struct ly_ctx const* <span class='color_p'>ctx</span></span>, <span>struct lyd_node_term const* <span class='color_p'>node</span></span>, <span>char const* <span class='color_p'>value</span></span>, <span>size_t <span class='color_p'>value_len</span></span>, <span>struct lyd_node const* <span class='color_p'>tree</span></span>, <span>struct lysc_type const** <span class='color_p'>realtype</span></span> )</span></span><br/> +<br/> +<span class='h_name'>tree_schema.h</span><br/> +<span class="iname">lyext_parent2str <span class='sym_p'><span>( enum LYEXT_PARENT <span class='color_p'>type</span></span> )</span></span><br/> +<span class="iname">lys_feature_value <span class='sym_p'><span>( struct lys_module const* <span class='color_p'>module</span></span>, <span>char const* <span class='color_p'>feature</span></span> )</span></span><br/> +<span class="iname">lys_find_child <span class='sym_p'><span>( struct lysc_node const* <span class='color_p'>parent</span></span>, <span>struct lys_module const* <span class='color_p'>module</span></span>, <span>char const* <span class='color_p'>name</span></span>, <span>size_t <span class='color_p'>name_len</span></span>, <span>uint16_t <span class='color_p'>nodetype</span></span>, <span>uint32_t <span class='color_p'>options</span></span> )</span></span><br/> +<span class="iname">lys_find_expr_atoms <span class='sym_p'><span>( struct lysc_node const* <span class='color_p'>ctx_node</span></span>, <span>struct lys_module const* <span class='color_p'>cur_mod</span></span>, <span>struct lyxp_expr const* <span class='color_p'>expr</span></span>, <span>struct lysc_prefix const* <span class='color_p'>prefixes</span></span>, <span>uint32_t <span class='color_p'>options</span></span>, <span>struct ly_set** <span class='color_p'>set</span></span> )</span></span><br/> +<span class="iname">lys_find_lypath_atoms <span class='sym_p'><span>( struct ly_path const* <span class='color_p'>path</span></span>, <span>struct ly_set** <span class='color_p'>set</span></span> )</span></span><br/> +<span class="iname">lys_find_path_atoms <span class='sym_p'><span>( struct ly_ctx const* <span class='color_p'>ctx</span></span>, <span>struct lysc_node const* <span class='color_p'>ctx_node</span></span>, <span>char const* <span class='color_p'>path</span></span>, <span>ly_bool <span class='color_p'>output</span></span>, <span>struct ly_set** <span class='color_p'>set</span></span> )</span></span><br/> +<span class="iname">lys_find_xpath <span class='sym_p'><span>( struct lysc_node const* <span class='color_p'>ctx_node</span></span>, <span>char const* <span class='color_p'>xpath</span></span>, <span>uint32_t <span class='color_p'>options</span></span>, <span>struct ly_set** <span class='color_p'>set</span></span> )</span></span><br/> +<span class="iname">lys_find_xpath_atoms <span class='sym_p'><span>( struct lysc_node const* <span class='color_p'>ctx_node</span></span>, <span>char const* <span class='color_p'>xpath</span></span>, <span>uint32_t <span class='color_p'>options</span></span>, <span>struct ly_set** <span class='color_p'>set</span></span> )</span></span><br/> +<span class="iname">lys_nodetype2str <span class='sym_p'><span>( uint16_t <span class='color_p'>nodetype</span></span> )</span></span><br/> +<span class="iname">lys_value_validate <span class='sym_p'><span>( struct ly_ctx const* <span class='color_p'>ctx</span></span>, <span>struct lysc_node const* <span class='color_p'>node</span></span>, <span>char const* <span class='color_p'>value</span></span>, <span>size_t <span class='color_p'>value_len</span></span> )</span></span><br/> +<span class="iname">lysc_iffeature_value <span class='sym_p'><span>( struct lysc_iffeature const* <span class='color_p'>iff</span></span> )</span></span><br/> +<span class="iname">lysc_module_dfs_full <span class='sym_p'><span>( struct lys_module const* <span class='color_p'>mod</span></span>, <span>lysc_dfs_clb <span class='color_p'>dfs_clb</span></span>, <span>void* <span class='color_p'>data</span></span> )</span></span><br/> +<span class="iname">lysc_node_actions <span class='sym_p'><span>( struct lysc_node const* <span class='color_p'>node</span></span> )</span></span><br/> +<span class="iname">lysc_node_children <span class='sym_p'><span>( struct lysc_node const* <span class='color_p'>node</span></span>, <span>uint16_t <span class='color_p'>flags</span></span> )</span></span><br/> +<span class="iname">lysc_node_children_full <span class='sym_p'><span>( struct lysc_node const* <span class='color_p'>node</span></span>, <span>uint16_t <span class='color_p'>flags</span></span> )</span></span><br/> +<span class="iname">lysc_node_notifs <span class='sym_p'><span>( struct lysc_node const* <span class='color_p'>node</span></span> )</span></span><br/> +<span class="iname">lysc_node_parent_full <span class='sym_p'><span>( struct lysc_node const* <span class='color_p'>node</span></span> )</span></span><br/> +<span class="iname">lysc_path <span class='sym_p'><span>( struct lysc_node const* <span class='color_p'>node</span></span>, <span>enum LYSC_PATH_TYPE <span class='color_p'>pathtype</span></span>, <span>char* <span class='color_p'>buffer</span></span>, <span>size_t <span class='color_p'>buflen</span></span> )</span></span><br/> +<span class="iname">lysc_set_private <span class='sym_p'><span>( struct lysc_node const* <span class='color_p'>node</span></span>, <span>void* <span class='color_p'>priv</span></span>, <span>void** <span class='color_p'>prev_priv_p</span></span> )</span></span><br/> +<span class="iname">lysc_tree_dfs_full <span class='sym_p'><span>( struct lysc_node const* <span class='color_p'>root</span></span>, <span>lysc_dfs_clb <span class='color_p'>dfs_clb</span></span>, <span>void* <span class='color_p'>data</span></span> )</span></span><br/> +<span class="iname">lysp_feature_next <span class='sym_p'><span>( struct lysp_feature const* <span class='color_p'>last</span></span>, <span>struct lysp_module const* <span class='color_p'>pmod</span></span>, <span>uint32_t* <span class='color_p'>idx</span></span> )</span></span><br/> +<span class="iname">lysp_node_actions <span class='sym_p'><span>( struct lysp_node const* <span class='color_p'>node</span></span> )</span></span><br/> +<span class="iname">lysp_node_children <span class='sym_p'><span>( struct lysp_node const* <span class='color_p'>node</span></span> )</span></span><br/> +<span class="iname">lysp_node_groupings <span class='sym_p'><span>( struct lysp_node const* <span class='color_p'>node</span></span> )</span></span><br/> +<span class="iname">lysp_node_notifs <span class='sym_p'><span>( struct lysp_node const* <span class='color_p'>node</span></span> )</span></span><br/> +<span class="iname">lysp_node_typedefs <span class='sym_p'><span>( struct lysp_node const* <span class='color_p'>node</span></span> )</span></span><br/> +<span class="iname">lyxp_get_expr <span class='sym_p'><span>( struct lyxp_expr const* <span class='color_p'>path</span></span> )</span></span><br/> +<br/> +<a class='top_ref' href='#Top'>to the top</a><br/> +<a name='Source_Removed'></a><a name='Source_Withdrawn'></a><h2>Removed Symbols <span class='failed'> 114 </span></h2><hr/> +<span class='h_name'>extensions.h</span><br/> +<span class="iname">lyext_vlog <span class='sym_p'><span>( struct ly_ctx const* <span class='color_p'>ctx</span></span>, <span>enum LY_VECODE <span class='color_p'>vecode</span></span>, <span>char const* <span class='color_p'>plugin</span></span>, <span>char const* <span class='color_p'>function</span></span>, <span>enum LYEXT_VLOG_ELEM <span class='color_p'>elem_type</span></span>, <span>void const* <span class='color_p'>elem</span></span>, <span>char const* <span class='color_p'>format</span></span>, <span>...</span> )</span></span><br/> +<span class="iname">lys_iffeature_free <span class='sym_p'><span>( struct ly_ctx* <span class='color_p'>ctx</span></span>, <span>struct lys_iffeature* <span class='color_p'>iffeature</span></span>, <span>uint8_t <span class='color_p'>iffeature_size</span></span>, <span>int <span class='color_p'>shallow</span></span>, <span>void(*<span class='color_p'>private_destructor</span>)(struct lys_node const*, void*)</span> )</span></span><br/> +<br/> +<span class='h_name'>libyang.h</span><br/> +<span class="iname">ly_ctx_clean <span class='sym_p'><span>( struct ly_ctx* <span class='color_p'>ctx</span></span>, <span>void(*<span class='color_p'>private_destructor</span>)(struct lys_node const*, void*)</span> )</span></span><br/> +<span class="iname">ly_ctx_find_path <span class='sym_p'><span>( struct ly_ctx* <span class='color_p'>ctx</span></span>, <span>char const* <span class='color_p'>path</span></span> )</span></span><br/> +<span class="iname">ly_ctx_get_disabled_module_iter <span class='sym_p'><span>( struct ly_ctx const* <span class='color_p'>ctx</span></span>, <span>uint32_t* <span class='color_p'>idx</span></span> )</span></span><br/> +<span class="iname">ly_ctx_get_module_by_ns <span class='sym_p'><span>( struct ly_ctx const* <span class='color_p'>ctx</span></span>, <span>char const* <span class='color_p'>ns</span></span>, <span>char const* <span class='color_p'>revision</span></span>, <span>int <span class='color_p'>implemented</span></span> )</span></span><br/> +<span class="iname">ly_ctx_get_module_data_clb <span class='sym_p'><span>( struct ly_ctx const* <span class='color_p'>ctx</span></span>, <span>void** <span class='color_p'>user_data</span></span> )</span></span><br/> +<span class="iname">ly_ctx_get_module_older <span class='sym_p'><span>( struct ly_ctx const* <span class='color_p'>ctx</span></span>, <span>struct lys_module const* <span class='color_p'>module</span></span> )</span></span><br/> +<span class="iname">ly_ctx_get_node <span class='sym_p'><span>( struct ly_ctx const* <span class='color_p'>ctx</span></span>, <span>struct lys_node const* <span class='color_p'>start</span></span>, <span>char const* <span class='color_p'>nodeid</span></span>, <span>int <span class='color_p'>output</span></span> )</span></span><br/> +<span class="iname">ly_ctx_get_submodule <span class='sym_p'><span>( struct ly_ctx const* <span class='color_p'>ctx</span></span>, <span>char const* <span class='color_p'>module</span></span>, <span>char const* <span class='color_p'>revision</span></span>, <span>char const* <span class='color_p'>submodule</span></span>, <span>char const* <span class='color_p'>sub_revision</span></span> )</span></span><br/> +<span class="iname">ly_ctx_get_submodule2 <span class='sym_p'><span>( struct lys_module const* <span class='color_p'>main_module</span></span>, <span>char const* <span class='color_p'>submodule</span></span> )</span></span><br/> +<span class="iname">ly_ctx_info <span class='sym_p'><span>( struct ly_ctx* <span class='color_p'>ctx</span></span> )</span></span><br/> +<span class="iname">ly_ctx_new_ylmem <span class='sym_p'><span>( char const* <span class='color_p'>search_dir</span></span>, <span>char const* <span class='color_p'>data</span></span>, <span>enum LYD_FORMAT <span class='color_p'>format</span></span>, <span>int <span class='color_p'>options</span></span> )</span></span><br/> +<span class="iname">ly_ctx_new_ylpath <span class='sym_p'><span>( char const* <span class='color_p'>search_dir</span></span>, <span>char const* <span class='color_p'>path</span></span>, <span>enum LYD_FORMAT <span class='color_p'>format</span></span>, <span>int <span class='color_p'>options</span></span> )</span></span><br/> +<span class="iname">ly_ctx_remove_module <span class='sym_p'><span>( struct lys_module const* <span class='color_p'>module</span></span>, <span>void(*<span class='color_p'>private_destructor</span>)(struct lys_node const*, void*)</span> )</span></span><br/> +<span class="iname">ly_ctx_set_allimplemented <span class='sym_p'><span>( struct ly_ctx* <span class='color_p'>ctx</span></span> )</span></span><br/> +<span class="iname">ly_ctx_set_disable_searchdir_cwd <span class='sym_p'><span>( struct ly_ctx* <span class='color_p'>ctx</span></span> )</span></span><br/> +<span class="iname">ly_ctx_set_disable_searchdirs <span class='sym_p'><span>( struct ly_ctx* <span class='color_p'>ctx</span></span> )</span></span><br/> +<span class="iname">ly_ctx_set_module_data_clb <span class='sym_p'><span>( struct ly_ctx* <span class='color_p'>ctx</span></span>, <span>ly_module_data_clb <span class='color_p'>clb</span></span>, <span>void* <span class='color_p'>user_data</span></span> )</span></span><br/> +<span class="iname">ly_ctx_set_prefer_searchdirs <span class='sym_p'><span>( struct ly_ctx* <span class='color_p'>ctx</span></span> )</span></span><br/> +<span class="iname">ly_ctx_set_trusted <span class='sym_p'><span>( struct ly_ctx* <span class='color_p'>ctx</span></span> )</span></span><br/> +<span class="iname">ly_ctx_unset_allimplemented <span class='sym_p'><span>( struct ly_ctx* <span class='color_p'>ctx</span></span> )</span></span><br/> +<span class="iname">ly_ctx_unset_disable_searchdir_cwd <span class='sym_p'><span>( struct ly_ctx* <span class='color_p'>ctx</span></span> )</span></span><br/> +<span class="iname">ly_ctx_unset_disable_searchdirs <span class='sym_p'><span>( struct ly_ctx* <span class='color_p'>ctx</span></span> )</span></span><br/> +<span class="iname">ly_ctx_unset_prefer_searchdirs <span class='sym_p'><span>( struct ly_ctx* <span class='color_p'>ctx</span></span> )</span></span><br/> +<span class="iname">ly_ctx_unset_searchdirs <span class='sym_p'><span>( struct ly_ctx* <span class='color_p'>ctx</span></span>, <span>int <span class='color_p'>index</span></span> )</span></span><br/> +<span class="iname">ly_ctx_unset_trusted <span class='sym_p'><span>( struct ly_ctx* <span class='color_p'>ctx</span></span> )</span></span><br/> +<span class="iname">ly_errno_glob_address <span class='sym_p'>( )</span></span><br/> +<span class="iname">ly_path_data2schema <span class='sym_p'><span>( struct ly_ctx* <span class='color_p'>ctx</span></span>, <span>char const* <span class='color_p'>data_path</span></span> )</span></span><br/> +<span class="iname">ly_path_xml2json <span class='sym_p'><span>( struct ly_ctx* <span class='color_p'>ctx</span></span>, <span>char const* <span class='color_p'>xml_path</span></span>, <span>struct lyxml_elem* <span class='color_p'>xml</span></span> )</span></span><br/> +<span class="iname">ly_verb <span class='sym_p'><span>( enum LY_LOG_LEVEL <span class='color_p'>level</span></span> )</span></span><br/> +<span class="iname">ly_verb_dbg <span class='sym_p'><span>( int <span class='color_p'>dbg_groups</span></span> )</span></span><br/> +<br/> +<span class='h_name'>tree_data.h</span><br/> +<span class="iname">lyd_change_leaf <span class='sym_p'><span>( struct lyd_node_leaf_list* <span class='color_p'>leaf</span></span>, <span>char const* <span class='color_p'>val_str</span></span> )</span></span><br/> +<span class="iname">lyd_dec64_to_double <span class='sym_p'><span>( struct lyd_node const* <span class='color_p'>node</span></span> )</span></span><br/> +<span class="iname">lyd_diff <span class='sym_p'><span>( struct lyd_node* <span class='color_p'>first</span></span>, <span>struct lyd_node* <span class='color_p'>second</span></span>, <span>int <span class='color_p'>options</span></span> )</span></span><br/> +<span class="iname">lyd_dup <span class='sym_p'><span>( struct lyd_node const* <span class='color_p'>node</span></span>, <span>int <span class='color_p'>options</span></span> )</span></span><br/> +<span class="iname">lyd_dup_to_ctx <span class='sym_p'><span>( struct lyd_node const* <span class='color_p'>node</span></span>, <span>int <span class='color_p'>options</span></span>, <span>struct ly_ctx* <span class='color_p'>ctx</span></span> )</span></span><br/> +<span class="iname">lyd_dup_withsiblings <span class='sym_p'><span>( struct lyd_node const* <span class='color_p'>node</span></span>, <span>int <span class='color_p'>options</span></span> )</span></span><br/> +<span class="iname">lyd_find_instance <span class='sym_p'><span>( struct lyd_node const* <span class='color_p'>data</span></span>, <span>struct lys_node const* <span class='color_p'>schema</span></span> )</span></span><br/> +<span class="iname">lyd_find_path <span class='sym_p'><span>( struct lyd_node const* <span class='color_p'>ctx_node</span></span>, <span>char const* <span class='color_p'>path</span></span> )</span></span><br/> +<span class="iname">lyd_find_sibling <span class='sym_p'><span>( struct lyd_node const* <span class='color_p'>siblings</span></span>, <span>struct lyd_node const* <span class='color_p'>target</span></span>, <span>struct lyd_node** <span class='color_p'>match</span></span> )</span></span><br/> +<span class="iname">lyd_find_sibling_set <span class='sym_p'><span>( struct lyd_node const* <span class='color_p'>siblings</span></span>, <span>struct lyd_node const* <span class='color_p'>target</span></span>, <span>struct ly_set** <span class='color_p'>set</span></span> )</span></span><br/> +<span class="iname">lyd_free <span class='sym_p'><span>( struct lyd_node* <span class='color_p'>node</span></span> )</span></span><br/> +<span class="iname">lyd_free_attr <span class='sym_p'><span>( struct ly_ctx* <span class='color_p'>ctx</span></span>, <span>struct lyd_node* <span class='color_p'>parent</span></span>, <span>struct lyd_attr* <span class='color_p'>attr</span></span>, <span>int <span class='color_p'>recursive</span></span> )</span></span><br/> +<span class="iname">lyd_free_diff <span class='sym_p'><span>( struct lyd_difflist* <span class='color_p'>diff</span></span> )</span></span><br/> +<span class="iname">lyd_free_val_diff <span class='sym_p'><span>( struct lyd_difflist* <span class='color_p'>diff</span></span> )</span></span><br/> +<span class="iname">lyd_free_withsiblings <span class='sym_p'><span>( struct lyd_node* <span class='color_p'>node</span></span> )</span></span><br/> +<span class="iname">lyd_insert <span class='sym_p'><span>( struct lyd_node* <span class='color_p'>parent</span></span>, <span>struct lyd_node* <span class='color_p'>node</span></span> )</span></span><br/> +<span class="iname">lyd_insert_attr <span class='sym_p'><span>( struct lyd_node* <span class='color_p'>parent</span></span>, <span>struct lys_module const* <span class='color_p'>mod</span></span>, <span>char const* <span class='color_p'>name</span></span>, <span>char const* <span class='color_p'>value</span></span> )</span></span><br/> +<span class="iname">lyd_leaf_type <span class='sym_p'><span>( struct lyd_node_leaf_list const* <span class='color_p'>leaf</span></span> )</span></span><br/> +<span class="iname">lyd_merge <span class='sym_p'><span>( struct lyd_node* <span class='color_p'>target</span></span>, <span>struct lyd_node const* <span class='color_p'>source</span></span>, <span>int <span class='color_p'>options</span></span> )</span></span><br/> +<span class="iname">lyd_merge_to_ctx <span class='sym_p'><span>( struct lyd_node** <span class='color_p'>trg</span></span>, <span>struct lyd_node const* <span class='color_p'>src</span></span>, <span>int <span class='color_p'>options</span></span>, <span>struct ly_ctx* <span class='color_p'>ctx</span></span> )</span></span><br/> +<span class="iname">lyd_new <span class='sym_p'><span>( struct lyd_node* <span class='color_p'>parent</span></span>, <span>struct lys_module const* <span class='color_p'>module</span></span>, <span>char const* <span class='color_p'>name</span></span> )</span></span><br/> +<span class="iname">lyd_new_anydata <span class='sym_p'><span>( struct lyd_node* <span class='color_p'>parent</span></span>, <span>struct lys_module const* <span class='color_p'>module</span></span>, <span>char const* <span class='color_p'>name</span></span>, <span>void* <span class='color_p'>value</span></span>, <span>enum LYD_ANYDATA_VALUETYPE <span class='color_p'>value_type</span></span> )</span></span><br/> +<span class="iname">lyd_new_leaf <span class='sym_p'><span>( struct lyd_node* <span class='color_p'>parent</span></span>, <span>struct lys_module const* <span class='color_p'>module</span></span>, <span>char const* <span class='color_p'>name</span></span>, <span>char const* <span class='color_p'>val_str</span></span> )</span></span><br/> +<span class="iname">lyd_new_output <span class='sym_p'><span>( struct lyd_node* <span class='color_p'>parent</span></span>, <span>struct lys_module const* <span class='color_p'>module</span></span>, <span>char const* <span class='color_p'>name</span></span> )</span></span><br/> +<span class="iname">lyd_new_output_anydata <span class='sym_p'><span>( struct lyd_node* <span class='color_p'>parent</span></span>, <span>struct lys_module const* <span class='color_p'>module</span></span>, <span>char const* <span class='color_p'>name</span></span>, <span>void* <span class='color_p'>value</span></span>, <span>enum LYD_ANYDATA_VALUETYPE <span class='color_p'>value_type</span></span> )</span></span><br/> +<span class="iname">lyd_new_output_leaf <span class='sym_p'><span>( struct lyd_node* <span class='color_p'>parent</span></span>, <span>struct lys_module const* <span class='color_p'>module</span></span>, <span>char const* <span class='color_p'>name</span></span>, <span>char const* <span class='color_p'>val_str</span></span> )</span></span><br/> +<span class="iname">lyd_new_yangdata <span class='sym_p'><span>( struct lys_module const* <span class='color_p'>module</span></span>, <span>char const* <span class='color_p'>name_template</span></span>, <span>char const* <span class='color_p'>name</span></span> )</span></span><br/> +<span class="iname">lyd_node_module <span class='sym_p'><span>( struct lyd_node const* <span class='color_p'>node</span></span> )</span></span><br/> +<span class="iname">lyd_node_should_print <span class='sym_p'><span>( struct lyd_node const* <span class='color_p'>node</span></span>, <span>int <span class='color_p'>options</span></span> )</span></span><br/> +<span class="iname">lyd_parse_fd <span class='sym_p'><span>( struct ly_ctx* <span class='color_p'>ctx</span></span>, <span>int <span class='color_p'>fd</span></span>, <span>enum LYD_FORMAT <span class='color_p'>format</span></span>, <span>int <span class='color_p'>options</span></span>, <span>...</span> )</span></span><br/> +<span class="iname">lyd_parse_mem <span class='sym_p'><span>( struct ly_ctx* <span class='color_p'>ctx</span></span>, <span>char const* <span class='color_p'>data</span></span>, <span>enum LYD_FORMAT <span class='color_p'>format</span></span>, <span>int <span class='color_p'>options</span></span>, <span>...</span> )</span></span><br/> +<span class="iname">lyd_parse_path <span class='sym_p'><span>( struct ly_ctx* <span class='color_p'>ctx</span></span>, <span>char const* <span class='color_p'>path</span></span>, <span>enum LYD_FORMAT <span class='color_p'>format</span></span>, <span>int <span class='color_p'>options</span></span>, <span>...</span> )</span></span><br/> +<span class="iname">lyd_parse_xml <span class='sym_p'><span>( struct ly_ctx* <span class='color_p'>ctx</span></span>, <span>struct lyxml_elem** <span class='color_p'>root</span></span>, <span>int <span class='color_p'>options</span></span>, <span>...</span> )</span></span><br/> +<span class="iname">lyd_schema_sort <span class='sym_p'><span>( struct lyd_node* <span class='color_p'>sibling</span></span>, <span>int <span class='color_p'>recursive</span></span> )</span></span><br/> +<span class="iname">lyd_unlink <span class='sym_p'><span>( struct lyd_node* <span class='color_p'>node</span></span> )</span></span><br/> +<span class="iname">lyd_validate <span class='sym_p'><span>( struct lyd_node** <span class='color_p'>node</span></span>, <span>int <span class='color_p'>options</span></span>, <span>void* <span class='color_p'>var_arg</span></span>, <span>...</span> )</span></span><br/> +<span class="iname">lyd_validate_modules <span class='sym_p'><span>( struct lyd_node** <span class='color_p'>node</span></span>, <span>struct lys_module const** <span class='color_p'>modules</span></span>, <span>int <span class='color_p'>mod_count</span></span>, <span>int <span class='color_p'>options</span></span>, <span>...</span> )</span></span><br/> +<span class="iname">lyd_validate_value <span class='sym_p'><span>( struct lys_node* <span class='color_p'>node</span></span>, <span>char const* <span class='color_p'>value</span></span> )</span></span><br/> +<span class="iname">lyd_value_type <span class='sym_p'><span>( struct lys_node* <span class='color_p'>node</span></span>, <span>char const* <span class='color_p'>value</span></span>, <span>struct lys_type** <span class='color_p'>type</span></span> )</span></span><br/> +<span class="iname">lyd_wd_default <span class='sym_p'><span>( struct lyd_node_leaf_list* <span class='color_p'>node</span></span> )</span></span><br/> +<br/> +<span class='h_name'>tree_schema.h</span><br/> +<span class="iname">ly_clean_plugins <span class='sym_p'>( )</span></span><br/> +<span class="iname">ly_get_loaded_plugins <span class='sym_p'>( )</span></span><br/> +<span class="iname">ly_load_plugins <span class='sym_p'>( )</span></span><br/> +<span class="iname">ly_register_exts <span class='sym_p'><span>( struct lyext_plugin_list* <span class='color_p'>plugin</span></span>, <span>char const* <span class='color_p'>log_name</span></span> )</span></span><br/> +<span class="iname">ly_register_types <span class='sym_p'><span>( struct lytype_plugin_list* <span class='color_p'>plugin</span></span>, <span>char const* <span class='color_p'>log_name</span></span> )</span></span><br/> +<span class="iname">lys_data_path <span class='sym_p'><span>( struct lys_node const* <span class='color_p'>node</span></span> )</span></span><br/> +<span class="iname">lys_data_path_pattern <span class='sym_p'><span>( struct lys_node const* <span class='color_p'>node</span></span>, <span>char const* <span class='color_p'>placeholder</span></span> )</span></span><br/> +<span class="iname">lys_ext_complex_get_substmt <span class='sym_p'><span>( enum LY_STMT <span class='color_p'>stmt</span></span>, <span>struct lys_ext_instance_complex* <span class='color_p'>ext</span></span>, <span>struct lyext_substmt** <span class='color_p'>info</span></span> )</span></span><br/> +<span class="iname">lys_ext_instance_presence <span class='sym_p'><span>( struct lys_ext* <span class='color_p'>def</span></span>, <span>struct lys_ext_instance** <span class='color_p'>ext</span></span>, <span>uint8_t <span class='color_p'>ext_size</span></span> )</span></span><br/> +<span class="iname">lys_ext_instance_substmt <span class='sym_p'><span>( struct lys_ext_instance const* <span class='color_p'>ext</span></span> )</span></span><br/> +<span class="iname">lys_features_disable <span class='sym_p'><span>( struct lys_module const* <span class='color_p'>module</span></span>, <span>char const* <span class='color_p'>feature</span></span> )</span></span><br/> +<span class="iname">lys_features_disable_force <span class='sym_p'><span>( struct lys_module const* <span class='color_p'>module</span></span>, <span>char const* <span class='color_p'>feature</span></span> )</span></span><br/> +<span class="iname">lys_features_enable <span class='sym_p'><span>( struct lys_module const* <span class='color_p'>module</span></span>, <span>char const* <span class='color_p'>feature</span></span> )</span></span><br/> +<span class="iname">lys_features_enable_force <span class='sym_p'><span>( struct lys_module const* <span class='color_p'>module</span></span>, <span>char const* <span class='color_p'>feature</span></span> )</span></span><br/> +<span class="iname">lys_features_list <span class='sym_p'><span>( struct lys_module const* <span class='color_p'>module</span></span>, <span>uint8_t** <span class='color_p'>states</span></span> )</span></span><br/> +<span class="iname">lys_features_state <span class='sym_p'><span>( struct lys_module const* <span class='color_p'>module</span></span>, <span>char const* <span class='color_p'>feature</span></span> )</span></span><br/> +<span class="iname">lys_getnext_union_type <span class='sym_p'><span>( struct lys_type const* <span class='color_p'>last</span></span>, <span>struct lys_type const* <span class='color_p'>type</span></span> )</span></span><br/> +<span class="iname">lys_iffeature_value <span class='sym_p'><span>( struct lys_iffeature const* <span class='color_p'>iff</span></span> )</span></span><br/> +<span class="iname">lys_implemented_module <span class='sym_p'><span>( struct lys_module const* <span class='color_p'>mod</span></span> )</span></span><br/> +<span class="iname">lys_is_disabled <span class='sym_p'><span>( struct lys_node const* <span class='color_p'>node</span></span>, <span>int <span class='color_p'>recursive</span></span> )</span></span><br/> +<span class="iname">lys_is_key <span class='sym_p'><span>( struct lys_node_leaf const* <span class='color_p'>node</span></span>, <span>uint8_t* <span class='color_p'>index</span></span> )</span></span><br/> +<span class="iname">lys_main_module <span class='sym_p'><span>( struct lys_module const* <span class='color_p'>module</span></span> )</span></span><br/> +<span class="iname">lys_node_module <span class='sym_p'><span>( struct lys_node const* <span class='color_p'>node</span></span> )</span></span><br/> +<span class="iname">lys_node_xpath_atomize <span class='sym_p'><span>( struct lys_node const* <span class='color_p'>node</span></span>, <span>int <span class='color_p'>options</span></span> )</span></span><br/> +<span class="iname">lys_parent <span class='sym_p'><span>( struct lys_node const* <span class='color_p'>node</span></span> )</span></span><br/> +<span class="iname">lys_path <span class='sym_p'><span>( struct lys_node const* <span class='color_p'>node</span></span>, <span>int <span class='color_p'>options</span></span> )</span></span><br/> +<span class="iname">lys_set_disabled <span class='sym_p'><span>( struct lys_module const* <span class='color_p'>module</span></span> )</span></span><br/> +<span class="iname">lys_set_enabled <span class='sym_p'><span>( struct lys_module const* <span class='color_p'>module</span></span> )</span></span><br/> +<span class="iname">lys_set_private <span class='sym_p'><span>( struct lys_node const* <span class='color_p'>node</span></span>, <span>void* <span class='color_p'>priv</span></span> )</span></span><br/> +<span class="iname">lys_xpath_atomize <span class='sym_p'><span>( struct lys_node const* <span class='color_p'>ctx_node</span></span>, <span>enum lyxp_node_type <span class='color_p'>ctx_node_type</span></span>, <span>char const* <span class='color_p'>expr</span></span>, <span>int <span class='color_p'>options</span></span> )</span></span><br/> +<br/> +<span class='h_name'>xml.h</span><br/> +<span class="iname">lyxml_dup <span class='sym_p'><span>( struct ly_ctx* <span class='color_p'>ctx</span></span>, <span>struct lyxml_elem* <span class='color_p'>root</span></span> )</span></span><br/> +<span class="iname">lyxml_free <span class='sym_p'><span>( struct ly_ctx* <span class='color_p'>ctx</span></span>, <span>struct lyxml_elem* <span class='color_p'>elem</span></span> )</span></span><br/> +<span class="iname">lyxml_free_withsiblings <span class='sym_p'><span>( struct ly_ctx* <span class='color_p'>ctx</span></span>, <span>struct lyxml_elem* <span class='color_p'>elem</span></span> )</span></span><br/> +<span class="iname">lyxml_get_attr <span class='sym_p'><span>( struct lyxml_elem const* <span class='color_p'>elem</span></span>, <span>char const* <span class='color_p'>name</span></span>, <span>char const* <span class='color_p'>ns</span></span> )</span></span><br/> +<span class="iname">lyxml_get_ns <span class='sym_p'><span>( struct lyxml_elem const* <span class='color_p'>elem</span></span>, <span>char const* <span class='color_p'>prefix</span></span> )</span></span><br/> +<span class="iname">lyxml_parse_mem <span class='sym_p'><span>( struct ly_ctx* <span class='color_p'>ctx</span></span>, <span>char const* <span class='color_p'>data</span></span>, <span>int <span class='color_p'>options</span></span> )</span></span><br/> +<span class="iname">lyxml_parse_path <span class='sym_p'><span>( struct ly_ctx* <span class='color_p'>ctx</span></span>, <span>char const* <span class='color_p'>filename</span></span>, <span>int <span class='color_p'>options</span></span> )</span></span><br/> +<span class="iname">lyxml_print_clb <span class='sym_p'><span>( ssize_t(*<span class='color_p'>writeclb</span>)(void*, void const*, size_t)</span>, <span>void* <span class='color_p'>arg</span></span>, <span>struct lyxml_elem const* <span class='color_p'>elem</span></span>, <span>int <span class='color_p'>options</span></span> )</span></span><br/> +<span class="iname">lyxml_print_fd <span class='sym_p'><span>( int <span class='color_p'>fd</span></span>, <span>struct lyxml_elem const* <span class='color_p'>elem</span></span>, <span>int <span class='color_p'>options</span></span> )</span></span><br/> +<span class="iname">lyxml_print_file <span class='sym_p'><span>( FILE* <span class='color_p'>stream</span></span>, <span>struct lyxml_elem const* <span class='color_p'>elem</span></span>, <span>int <span class='color_p'>options</span></span> )</span></span><br/> +<span class="iname">lyxml_print_mem <span class='sym_p'><span>( char** <span class='color_p'>strp</span></span>, <span>struct lyxml_elem const* <span class='color_p'>elem</span></span>, <span>int <span class='color_p'>options</span></span> )</span></span><br/> +<span class="iname">lyxml_unlink <span class='sym_p'><span>( struct ly_ctx* <span class='color_p'>ctx</span></span>, <span>struct lyxml_elem* <span class='color_p'>elem</span></span> )</span></span><br/> +<br/> +<a class='top_ref' href='#Top'>to the top</a><br/> +<a name='High_Risk_Source_Problems'></a><a name='Type_Source_Problems_High'></a> +<h2>Problems with Data Types, High Severity <span class='failed'> 112 </span></h2><hr/> +<span class='h_name'>libyang.h</span><br/> +<span class="section" onclick="javascript:showContent(this, 'c_110')"> +<span class='ext'>[+]</span> <span class='ttype'>enum</span> LY_VECODE <span class='failed'> 77 </span></span> +<br/> +<div id="c_110" style="display:none;"> +<table class='ptable'><tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th></tr><tr> +<th>1</th> +<td>Name of member with value <b>1</b> has been changed from <b>LYVE_XML_MISS</b> to <b>LYVE_SYNTAX</b>.</td> +<td>Recompilation of a client program may be broken with the error message: '<b>LYVE_XML_MISS</b>' was not declared in this scope.</td> +</tr> +<tr> +<th>2</th> +<td>Name of member with value <b>10</b> has been changed from <b>LYVE_MISSSTMT</b> to <b>LYVE_OTHER</b>.</td> +<td>Recompilation of a client program may be broken with the error message: '<b>LYVE_MISSSTMT</b>' was not declared in this scope.</td> +</tr> +<tr> +<th>3</th> +<td>Name of member with value <b>2</b> has been changed from <b>LYVE_XML_INVAL</b> to <b>LYVE_SYNTAX_YANG</b>.</td> +<td>Recompilation of a client program may be broken with the error message: '<b>LYVE_XML_INVAL</b>' was not declared in this scope.</td> +</tr> +<tr> +<th>4</th> +<td>Name of member with value <b>3</b> has been changed from <b>LYVE_XML_INCHAR</b> to <b>LYVE_SYNTAX_YIN</b>.</td> +<td>Recompilation of a client program may be broken with the error message: '<b>LYVE_XML_INCHAR</b>' was not declared in this scope.</td> +</tr> +<tr> +<th>5</th> +<td>Name of member with value <b>4</b> has been changed from <b>LYVE_EOF</b> to <b>LYVE_REFERENCE</b>.</td> +<td>Recompilation of a client program may be broken with the error message: '<b>LYVE_EOF</b>' was not declared in this scope.</td> +</tr> +<tr> +<th>6</th> +<td>Name of member with value <b>5</b> has been changed from <b>LYVE_INSTMT</b> to <b>LYVE_XPATH</b>.</td> +<td>Recompilation of a client program may be broken with the error message: '<b>LYVE_INSTMT</b>' was not declared in this scope.</td> +</tr> +<tr> +<th>7</th> +<td>Name of member with value <b>6</b> has been changed from <b>LYVE_INPAR</b> to <b>LYVE_SEMANTICS</b>.</td> +<td>Recompilation of a client program may be broken with the error message: '<b>LYVE_INPAR</b>' was not declared in this scope.</td> +</tr> +<tr> +<th>8</th> +<td>Name of member with value <b>7</b> has been changed from <b>LYVE_INID</b> to <b>LYVE_SYNTAX_XML</b>.</td> +<td>Recompilation of a client program may be broken with the error message: '<b>LYVE_INID</b>' was not declared in this scope.</td> +</tr> +<tr> +<th>9</th> +<td>Name of member with value <b>8</b> has been changed from <b>LYVE_INDATE</b> to <b>LYVE_SYNTAX_JSON</b>.</td> +<td>Recompilation of a client program may be broken with the error message: '<b>LYVE_INDATE</b>' was not declared in this scope.</td> +</tr> +<tr> +<th>10</th> +<td>Name of member with value <b>9</b> has been changed from <b>LYVE_INARG</b> to <b>LYVE_DATA</b>.</td> +<td>Recompilation of a client program may be broken with the error message: '<b>LYVE_INARG</b>' was not declared in this scope.</td> +</tr> +<tr> +<th>11</th> +<td>The member <b>LYVE_BITS_INNAME</b> has been removed.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +<tr> +<th>12</th> +<td>The member <b>LYVE_BITS_INVAL</b> has been removed.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +<tr> +<th>13</th> +<td>The member <b>LYVE_CIRC_FEATURES</b> has been removed.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +<tr> +<th>14</th> +<td>The member <b>LYVE_CIRC_IMPORTS</b> has been removed.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +<tr> +<th>15</th> +<td>The member <b>LYVE_CIRC_INCLUDES</b> has been removed.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +<tr> +<th>16</th> +<td>The member <b>LYVE_CIRC_LEAFREFS</b> has been removed.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +<tr> +<th>17</th> +<td>The member <b>LYVE_DUPID</b> has been removed.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +<tr> +<th>18</th> +<td>The member <b>LYVE_DUPLEAFLIST</b> has been removed.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +<tr> +<th>19</th> +<td>The member <b>LYVE_DUPLIST</b> has been removed.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +<tr> +<th>20</th> +<td>The member <b>LYVE_ENUM_INNAME</b> has been removed.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +<tr> +<th>21</th> +<td>The member <b>LYVE_ENUM_INVAL</b> has been removed.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +<tr> +<th>22</th> +<td>The member <b>LYVE_ENUM_WS</b> has been removed.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +<tr> +<th>23</th> +<td>The member <b>LYVE_INATTR</b> has been removed.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +<tr> +<th>24</th> +<td>The member <b>LYVE_INCHAR</b> has been removed.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +<tr> +<th>25</th> +<td>The member <b>LYVE_INELEM</b> has been removed.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +<tr> +<th>26</th> +<td>The member <b>LYVE_INMETA</b> has been removed.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +<tr> +<th>27</th> +<td>The member <b>LYVE_INMOD</b> has been removed.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +<tr> +<th>28</th> +<td>The member <b>LYVE_INORDER</b> has been removed.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +<tr> +<th>29</th> +<td>The member <b>LYVE_INPRED</b> has been removed.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +<tr> +<th>30</th> +<td>The member <b>LYVE_INREGEX</b> has been removed.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +<tr> +<th>31</th> +<td>The member <b>LYVE_INRESOLV</b> has been removed.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +<tr> +<th>32</th> +<td>The member <b>LYVE_INSTATUS</b> has been removed.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +<tr> +<th>33</th> +<td>The member <b>LYVE_INVAL</b> has been removed.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +<tr> +<th>34</th> +<td>The member <b>LYVE_INVER</b> has been removed.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +<tr> +<th>35</th> +<td>The member <b>LYVE_INWHEN</b> has been removed.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +<tr> +<th>36</th> +<td>The member <b>LYVE_KEY_CONFIG</b> has been removed.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +<tr> +<th>37</th> +<td>The member <b>LYVE_KEY_DUP</b> has been removed.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +<tr> +<th>38</th> +<td>The member <b>LYVE_KEY_MISS</b> has been removed.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +<tr> +<th>39</th> +<td>The member <b>LYVE_KEY_NLEAF</b> has been removed.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +<tr> +<th>40</th> +<td>The member <b>LYVE_KEY_TYPE</b> has been removed.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +<tr> +<th>41</th> +<td>The member <b>LYVE_MCASEDATA</b> has been removed.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +<tr> +<th>42</th> +<td>The member <b>LYVE_MISSARG</b> has been removed.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +<tr> +<th>43</th> +<td>The member <b>LYVE_MISSATTR</b> has been removed.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +<tr> +<th>44</th> +<td>The member <b>LYVE_MISSELEM</b> has been removed.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +<tr> +<th>45</th> +<td>The member <b>LYVE_NOCONSTR</b> has been removed.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +<tr> +<th>46</th> +<td>The member <b>LYVE_NOLEAFREF</b> has been removed.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +<tr> +<th>47</th> +<td>The member <b>LYVE_NOMANDCHOICE</b> has been removed.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +<tr> +<th>48</th> +<td>The member <b>LYVE_NOMAX</b> has been removed.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +<tr> +<th>49</th> +<td>The member <b>LYVE_NOMIN</b> has been removed.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +<tr> +<th>50</th> +<td>The member <b>LYVE_NOMUST</b> has been removed.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +<tr> +<th>51</th> +<td>The member <b>LYVE_NOREQINS</b> has been removed.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +<tr> +<th>52</th> +<td>The member <b>LYVE_NORESOLV</b> has been removed.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +<tr> +<th>53</th> +<td>The member <b>LYVE_NOUNIQ</b> has been removed.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +<tr> +<th>54</th> +<td>The member <b>LYVE_NOWHEN</b> has been removed.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +<tr> +<th>55</th> +<td>The member <b>LYVE_OBSDATA</b> has been removed.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +<tr> +<th>56</th> +<td>The member <b>LYVE_PATH_EXISTS</b> has been removed.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +<tr> +<th>57</th> +<td>The member <b>LYVE_PATH_INCHAR</b> has been removed.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +<tr> +<th>58</th> +<td>The member <b>LYVE_PATH_INIDENTREF</b> has been removed.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +<tr> +<th>59</th> +<td>The member <b>LYVE_PATH_INKEY</b> has been removed.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +<tr> +<th>60</th> +<td>The member <b>LYVE_PATH_INMOD</b> has been removed.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +<tr> +<th>61</th> +<td>The member <b>LYVE_PATH_INNODE</b> has been removed.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +<tr> +<th>62</th> +<td>The member <b>LYVE_PATH_MISSKEY</b> has been removed.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +<tr> +<th>63</th> +<td>The member <b>LYVE_PATH_MISSMOD</b> has been removed.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +<tr> +<th>64</th> +<td>The member <b>LYVE_PATH_MISSPAR</b> has been removed.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +<tr> +<th>65</th> +<td>The member <b>LYVE_PATH_PREDTOOMANY</b> has been removed.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +<tr> +<th>66</th> +<td>The member <b>LYVE_SUBMODULE</b> has been removed.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +<tr> +<th>67</th> +<td>The member <b>LYVE_TOOMANY</b> has been removed.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +<tr> +<th>68</th> +<td>The member <b>LYVE_XPATH_DUMMY</b> has been removed.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +<tr> +<th>69</th> +<td>The member <b>LYVE_XPATH_EOF</b> has been removed.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +<tr> +<th>70</th> +<td>The member <b>LYVE_XPATH_INARGCOUNT</b> has been removed.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +<tr> +<th>71</th> +<td>The member <b>LYVE_XPATH_INARGTYPE</b> has been removed.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +<tr> +<th>72</th> +<td>The member <b>LYVE_XPATH_INCTX</b> has been removed.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +<tr> +<th>73</th> +<td>The member <b>LYVE_XPATH_INFUNC</b> has been removed.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +<tr> +<th>74</th> +<td>The member <b>LYVE_XPATH_INMOD</b> has been removed.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +<tr> +<th>75</th> +<td>The member <b>LYVE_XPATH_INOP</b> has been removed.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +<tr> +<th>76</th> +<td>The member <b>LYVE_XPATH_INTOK</b> has been removed.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +<tr> +<th>77</th> +<td>The member <b>LYVE_XPATH_NOEND</b> has been removed.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +</table> +<span class="sect_aff" onclick="javascript:showContent(this, 'c_111')"> +[+] affected symbols: 4 (2.3%)</span> +<div id="c_111" style="display:none;"> +<div class='affected'><span class='iname_a'>ly_err_clean <span class='sym_p'><span>( struct ly_ctx* <i>ctx</i></span>, <span>struct ly_err_item* <span class='fp'>eitem</span></span> )</span></span><br/> +<div class='affect'>Field 'eitem.vecode' in 2nd parameter 'eitem' (pointer) is of type 'enum LY_VECODE'.</div> +<span class='iname_a'>ly_err_first <span class='sym_p'><span>( struct ly_ctx const* <i>ctx</i></span> )</span></span><br/> +<div class='affect'>Field 'retval.vecode' in the return value (pointer) is of type 'enum LY_VECODE'.</div> +<span class='iname_a'>ly_err_print <span class='sym_p'><span>( struct ly_err_item* <span class='fp'>eitem</span></span> )</span></span><br/> +<div class='affect'>Field 'eitem.vecode' in 1st parameter 'eitem' (pointer) is of type 'enum LY_VECODE'.</div> +<span class='iname_a'>ly_vecode <span class='sym_p'><span>( struct ly_ctx const* <i>ctx</i></span> )</span></span><br/> +<div class='affect'>Return value is of type 'enum LY_VECODE'.</div> +</div> +</div> +<br/><br/></div> + +<span class="section" onclick="javascript:showContent(this, 'c_112')"> +<span class='ext'>[+]</span> <span class='ttype'>struct</span> ly_set <span class='failed'> 2 </span></span> +<br/> +<div id="c_112" style="display:none;"> +<table class='ptable'><tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th></tr><tr> +<th>1</th> +<td>Field <b>number</b> has been renamed to <b>count</b>.</td> +<td>Recompilation of a client program may be broken with the error message: <span class='value'>struct ly_set</span> has no member named <b>number</b>.</td> +</tr> +<tr> +<th>2</th> +<td>Field <b>set</b> has been renamed to <b>unnamed0</b>.</td> +<td>Recompilation of a client program may be broken with the error message: <span class='value'>struct ly_set</span> has no member named <b>set</b>.</td> +</tr> +</table> +<span class="sect_aff" onclick="javascript:showContent(this, 'c_113')"> +[+] affected symbols: 8 (4.6%)</span> +<div id="c_113" style="display:none;"> +<div class='affected'><span class='iname_a'>ly_set_add <span class='sym_p'><span>( struct ly_set* <span class='fp'>set</span></span>, <span>void* <i>node</i></span>, <span>int <i>options</i></span> )</span></span><br/> +<div class='affect'>1st parameter 'set' (pointer) has base type 'struct ly_set'.</div> +<span class='iname_a'>ly_set_clean <span class='sym_p'><span>( struct ly_set* <span class='fp'>set</span></span> )</span></span><br/> +<div class='affect'>1st parameter 'set' (pointer) has base type 'struct ly_set'.</div> +<span class='iname_a'>ly_set_contains <span class='sym_p'><span>( struct ly_set const* <span class='fp'>set</span></span>, <span>void* <i>node</i></span> )</span></span><br/> +<div class='affect'>1st parameter 'set' (pointer) has base type 'struct ly_set'.</div> +<span class='iname_a'>ly_set_dup <span class='sym_p'><span>( struct ly_set const* <span class='fp'>set</span></span> )</span></span><br/> +<div class='affect'>1st parameter 'set' (pointer) has base type 'struct ly_set'.</div> +<span class='iname_a'>ly_set_free <span class='sym_p'><span>( struct ly_set* <span class='fp'>set</span></span> )</span></span><br/> +<div class='affect'>1st parameter 'set' (pointer) has base type 'struct ly_set'.</div> +<span class='iname_a'>ly_set_merge <span class='sym_p'><span>( struct ly_set* <i>trg</i></span>, <span>struct ly_set* <span class='fp'>src</span></span>, <span>int <i>options</i></span> )</span></span><br/> +<div class='affect'>2nd parameter 'src' (pointer) has base type 'struct ly_set'.</div> +<span class='iname_a'>ly_set_rm <span class='sym_p'><span>( struct ly_set* <span class='fp'>set</span></span>, <span>void* <i>node</i></span> )</span></span><br/> +<div class='affect'>1st parameter 'set' (pointer) has base type 'struct ly_set'.</div> +<span class='iname_a'>ly_set_rm_index <span class='sym_p'><span>( struct ly_set* <span class='fp'>set</span></span>, <span>unsigned int <i>index</i></span> )</span></span><br/> +<div class='affect'>1st parameter 'set' (pointer) has base type 'struct ly_set'.</div> +</div> +</div> +<br/><br/></div> + +<br/> +<span class='h_name'>tree_data.h</span><br/> +<span class="section" onclick="javascript:showContent(this, 'c_114')"> +<span class='ext'>[+]</span> <span class='ttype'>struct</span> lyd_node <span class='failed'> 6 </span></span> +<br/> +<div id="c_114" style="display:none;"> +<table class='ptable'><tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th></tr><tr> +<th>1</th> +<td>Field <b>attr</b> has been removed from this type.</td> +<td>Recompilation of a client program may be broken with the error message: '<span class='value'>struct lyd_node</span>' has no member named '<b>attr</b>'.</td> +</tr> +<tr> +<th>2</th> +<td>Field <b>child</b> has been removed from this type.</td> +<td>Recompilation of a client program may be broken with the error message: '<span class='value'>struct lyd_node</span>' has no member named '<b>child</b>'.</td> +</tr> +<tr> +<th>3</th> +<td>Field <b>dflt</b> has been removed from this type.</td> +<td>Recompilation of a client program may be broken with the error message: '<span class='value'>struct lyd_node</span>' has no member named '<b>dflt</b>'.</td> +</tr> +<tr> +<th>4</th> +<td>Field <b>ht</b> has been removed from this type.</td> +<td>Recompilation of a client program may be broken with the error message: '<span class='value'>struct lyd_node</span>' has no member named '<b>ht</b>'.</td> +</tr> +<tr> +<th>5</th> +<td>Field <b>validity</b> has been removed from this type.</td> +<td>Recompilation of a client program may be broken with the error message: '<span class='value'>struct lyd_node</span>' has no member named '<b>validity</b>'.</td> +</tr> +<tr> +<th>6</th> +<td>Field <b>when_status</b> has been removed from this type.</td> +<td>Recompilation of a client program may be broken with the error message: '<span class='value'>struct lyd_node</span>' has no member named '<b>when_status</b>'.</td> +</tr> +</table> +<span class="sect_aff" onclick="javascript:showContent(this, 'c_115')"> +[+] affected symbols: 9 (5.2%)</span> +<div id="c_115" style="display:none;"> +<div class='affected'><span class='iname_a'>lyd_find_sibling_val <span class='sym_p'><span>( struct lyd_node const* <span class='fp'>siblings</span></span>, <span>struct lys_node const* <i>schema</i></span>, <span>char const* <i>key_or_value</i></span>, <span>struct lyd_node** <i>match</i></span> )</span></span><br/> +<div class='affect'>1st parameter 'siblings' (pointer) has base type 'struct lyd_node'.</div> +<span class='iname_a'>lyd_first_sibling <span class='sym_p'><span>( struct lyd_node* <span class='fp'>node</span></span> )</span></span><br/> +<div class='affect'>1st parameter 'node' (pointer) has base type 'struct lyd_node'.</div> +<span class='iname_a'>lyd_list_pos <span class='sym_p'><span>( struct lyd_node const* <span class='fp'>node</span></span> )</span></span><br/> +<div class='affect'>1st parameter 'node' (pointer) has base type 'struct lyd_node'.</div> +<span class='iname_a'>lyd_path <span class='sym_p'><span>( struct lyd_node const* <span class='fp'>node</span></span> )</span></span><br/> +<div class='affect'>1st parameter 'node' (pointer) has base type 'struct lyd_node'.</div> +<span class='iname_a'>lyd_print_clb <span class='sym_p'><span>( ssize_t(*<i>writeclb</i>)(void*, void const*, size_t)</span>, <span>void* <i>arg</i></span>, <span>struct lyd_node const* <span class='fp'>root</span></span>, <span>enum LYD_FORMAT <i>format</i></span>, <span>int <i>options</i></span> )</span></span><br/> +<div class='affect'>3rd parameter 'root' (pointer) has base type 'struct lyd_node'.</div> +<span class='iname_a'>lyd_print_fd <span class='sym_p'><span>( int <i>fd</i></span>, <span>struct lyd_node const* <span class='fp'>root</span></span>, <span>enum LYD_FORMAT <i>format</i></span>, <span>int <i>options</i></span> )</span></span><br/> +<div class='affect'>2nd parameter 'root' (pointer) has base type 'struct lyd_node'.</div> +<span class='iname_a'>lyd_print_file <span class='sym_p'><span>( FILE* <i>f</i></span>, <span>struct lyd_node const* <span class='fp'>root</span></span>, <span>enum LYD_FORMAT <i>format</i></span>, <span>int <i>options</i></span> )</span></span><br/> +<div class='affect'>2nd parameter 'root' (pointer) has base type 'struct lyd_node'.</div> +<span class='iname_a'>lyd_print_mem <span class='sym_p'><span>( char** <i>strp</i></span>, <span>struct lyd_node const* <span class='fp'>root</span></span>, <span>enum LYD_FORMAT <i>format</i></span>, <span>int <i>options</i></span> )</span></span><br/> +<div class='affect'>2nd parameter 'root' (pointer) has base type 'struct lyd_node'.</div> +<span class='iname_a'>lyd_print_path <span class='sym_p'><span>( char const* <i>path</i></span>, <span>struct lyd_node const* <span class='fp'>root</span></span>, <span>enum LYD_FORMAT <i>format</i></span>, <span>int <i>options</i></span> )</span></span><br/> +<div class='affect'>2nd parameter 'root' (pointer) has base type 'struct lyd_node'.</div> +</div> +</div> +<br/><br/></div> + +<br/> +<span class='h_name'>tree_schema.h</span><br/> +<span class="section" onclick="javascript:showContent(this, 'c_116')"> +<span class='ext'>[+]</span> <span class='ttype'>enum</span> LYS_OUTFORMAT <span class='failed'> 2 </span></span> +<br/> +<div id="c_116" style="display:none;"> +<table class='ptable'><tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th></tr><tr> +<th>1</th> +<td>The member <b>LYS_OUT_INFO</b> has been removed.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +<tr> +<th>2</th> +<td>The member <b>LYS_OUT_JSON</b> has been removed.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +</table> +<span class="sect_aff" onclick="javascript:showContent(this, 'c_117')"> +[+] affected symbols: 5 (2.9%)</span> +<div id="c_117" style="display:none;"> +<div class='affected'><span class='iname_a'>lys_print_clb <span class='sym_p'><span>( ssize_t(*<i>writeclb</i>)(void*, void const*, size_t)</span>, <span>void* <i>arg</i></span>, <span>struct lys_module const* <i>module</i></span>, <span>enum LYS_OUTFORMAT <span class='fp'>format</span></span>, <span>char const* <i>target_node</i></span>, <span>int <i>line_length</i></span>, <span>int <i>options</i></span> )</span></span><br/> +<div class='affect'>4th parameter 'format' is of type 'enum LYS_OUTFORMAT'.</div> +<span class='iname_a'>lys_print_fd <span class='sym_p'><span>( int <i>fd</i></span>, <span>struct lys_module const* <i>module</i></span>, <span>enum LYS_OUTFORMAT <span class='fp'>format</span></span>, <span>char const* <i>target_node</i></span>, <span>int <i>line_length</i></span>, <span>int <i>options</i></span> )</span></span><br/> +<div class='affect'>3rd parameter 'format' is of type 'enum LYS_OUTFORMAT'.</div> +<span class='iname_a'>lys_print_file <span class='sym_p'><span>( FILE* <i>f</i></span>, <span>struct lys_module const* <i>module</i></span>, <span>enum LYS_OUTFORMAT <span class='fp'>format</span></span>, <span>char const* <i>target_node</i></span>, <span>int <i>line_length</i></span>, <span>int <i>options</i></span> )</span></span><br/> +<div class='affect'>3rd parameter 'format' is of type 'enum LYS_OUTFORMAT'.</div> +<span class='iname_a'>lys_print_mem <span class='sym_p'><span>( char** <i>strp</i></span>, <span>struct lys_module const* <i>module</i></span>, <span>enum LYS_OUTFORMAT <span class='fp'>format</span></span>, <span>char const* <i>target_node</i></span>, <span>int <i>line_length</i></span>, <span>int <i>options</i></span> )</span></span><br/> +<div class='affect'>3rd parameter 'format' is of type 'enum LYS_OUTFORMAT'.</div> +<span class='iname_a'>lys_print_path <span class='sym_p'><span>( char const* <i>path</i></span>, <span>struct lys_module const* <i>module</i></span>, <span>enum LYS_OUTFORMAT <span class='fp'>format</span></span>, <span>char const* <i>target_node</i></span>, <span>int <i>line_length</i></span>, <span>int <i>options</i></span> )</span></span><br/> +<div class='affect'>3rd parameter 'format' is of type 'enum LYS_OUTFORMAT'.</div> +</div> +</div> +<br/><br/></div> + +<span class="section" onclick="javascript:showContent(this, 'c_118')"> +<span class='ext'>[+]</span> <span class='ttype'>struct</span> lys_module <span class='failed'> 25 </span></span> +<br/> +<div id="c_118" style="display:none;"> +<table class='ptable'><tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th></tr><tr> +<th>1</th> +<td>Field <b>augment</b> has been removed from this type.</td> +<td>Recompilation of a client program may be broken with the error message: '<span class='value'>struct lys_module</span>' has no member named '<b>augment</b>'.</td> +</tr> +<tr> +<th>2</th> +<td>Field <b>augment_size</b> has been removed from this type.</td> +<td>Recompilation of a client program may be broken with the error message: '<span class='value'>struct lys_module</span>' has no member named '<b>augment_size</b>'.</td> +</tr> +<tr> +<th>3</th> +<td>Field <b>data</b> has been removed from this type.</td> +<td>Recompilation of a client program may be broken with the error message: '<span class='value'>struct lys_module</span>' has no member named '<b>data</b>'.</td> +</tr> +<tr> +<th>4</th> +<td>Field <b>deviated</b> has been removed from this type.</td> +<td>Recompilation of a client program may be broken with the error message: '<span class='value'>struct lys_module</span>' has no member named '<b>deviated</b>'.</td> +</tr> +<tr> +<th>5</th> +<td>Field <b>deviation</b> has been removed from this type.</td> +<td>Recompilation of a client program may be broken with the error message: '<span class='value'>struct lys_module</span>' has no member named '<b>deviation</b>'.</td> +</tr> +<tr> +<th>6</th> +<td>Field <b>deviation_size</b> has been removed from this type.</td> +<td>Recompilation of a client program may be broken with the error message: '<span class='value'>struct lys_module</span>' has no member named '<b>deviation_size</b>'.</td> +</tr> +<tr> +<th>7</th> +<td>Field <b>disabled</b> has been removed from this type.</td> +<td>Recompilation of a client program may be broken with the error message: '<span class='value'>struct lys_module</span>' has no member named '<b>disabled</b>'.</td> +</tr> +<tr> +<th>8</th> +<td>Field <b>ext</b> has been removed from this type.</td> +<td>Recompilation of a client program may be broken with the error message: '<span class='value'>struct lys_module</span>' has no member named '<b>ext</b>'.</td> +</tr> +<tr> +<th>9</th> +<td>Field <b>ext_size</b> has been removed from this type.</td> +<td>Recompilation of a client program may be broken with the error message: '<span class='value'>struct lys_module</span>' has no member named '<b>ext_size</b>'.</td> +</tr> +<tr> +<th>10</th> +<td>Field <b>extensions</b> has been removed from this type.</td> +<td>Recompilation of a client program may be broken with the error message: '<span class='value'>struct lys_module</span>' has no member named '<b>extensions</b>'.</td> +</tr> +<tr> +<th>11</th> +<td>Field <b>extensions_size</b> has been removed from this type.</td> +<td>Recompilation of a client program may be broken with the error message: '<span class='value'>struct lys_module</span>' has no member named '<b>extensions_size</b>'.</td> +</tr> +<tr> +<th>12</th> +<td>Field <b>features</b> has been removed from this type.</td> +<td>Recompilation of a client program may be broken with the error message: '<span class='value'>struct lys_module</span>' has no member named '<b>features</b>'.</td> +</tr> +<tr> +<th>13</th> +<td>Field <b>features_size</b> has been removed from this type.</td> +<td>Recompilation of a client program may be broken with the error message: '<span class='value'>struct lys_module</span>' has no member named '<b>features_size</b>'.</td> +</tr> +<tr> +<th>14</th> +<td>Field <b>ident</b> has been removed from this type.</td> +<td>Recompilation of a client program may be broken with the error message: '<span class='value'>struct lys_module</span>' has no member named '<b>ident</b>'.</td> +</tr> +<tr> +<th>15</th> +<td>Field <b>ident_size</b> has been removed from this type.</td> +<td>Recompilation of a client program may be broken with the error message: '<span class='value'>struct lys_module</span>' has no member named '<b>ident_size</b>'.</td> +</tr> +<tr> +<th>16</th> +<td>Field <b>imp</b> has been removed from this type.</td> +<td>Recompilation of a client program may be broken with the error message: '<span class='value'>struct lys_module</span>' has no member named '<b>imp</b>'.</td> +</tr> +<tr> +<th>17</th> +<td>Field <b>imp_size</b> has been removed from this type.</td> +<td>Recompilation of a client program may be broken with the error message: '<span class='value'>struct lys_module</span>' has no member named '<b>imp_size</b>'.</td> +</tr> +<tr> +<th>18</th> +<td>Field <b>inc</b> has been removed from this type.</td> +<td>Recompilation of a client program may be broken with the error message: '<span class='value'>struct lys_module</span>' has no member named '<b>inc</b>'.</td> +</tr> +<tr> +<th>19</th> +<td>Field <b>inc_size</b> has been removed from this type.</td> +<td>Recompilation of a client program may be broken with the error message: '<span class='value'>struct lys_module</span>' has no member named '<b>inc_size</b>'.</td> +</tr> +<tr> +<th>20</th> +<td>Field <b>rev</b> has been removed from this type.</td> +<td>Recompilation of a client program may be broken with the error message: '<span class='value'>struct lys_module</span>' has no member named '<b>rev</b>'.</td> +</tr> +<tr> +<th>21</th> +<td>Field <b>rev_size</b> has been removed from this type.</td> +<td>Recompilation of a client program may be broken with the error message: '<span class='value'>struct lys_module</span>' has no member named '<b>rev_size</b>'.</td> +</tr> +<tr> +<th>22</th> +<td>Field <b>tpdf</b> has been removed from this type.</td> +<td>Recompilation of a client program may be broken with the error message: '<span class='value'>struct lys_module</span>' has no member named '<b>tpdf</b>'.</td> +</tr> +<tr> +<th>23</th> +<td>Field <b>tpdf_size</b> has been removed from this type.</td> +<td>Recompilation of a client program may be broken with the error message: '<span class='value'>struct lys_module</span>' has no member named '<b>tpdf_size</b>'.</td> +</tr> +<tr> +<th>24</th> +<td>Field <b>type</b> has been removed from this type.</td> +<td>Recompilation of a client program may be broken with the error message: '<span class='value'>struct lys_module</span>' has no member named '<b>type</b>'.</td> +</tr> +<tr> +<th>25</th> +<td>Field <b>version</b> has been removed from this type.</td> +<td>Recompilation of a client program may be broken with the error message: '<span class='value'>struct lys_module</span>' has no member named '<b>version</b>'.</td> +</tr> +</table> +<span class="sect_aff" onclick="javascript:showContent(this, 'c_119')"> +[+] affected symbols: 8 (4.6%)</span> +<div id="c_119" style="display:none;"> +<div class='affected'><span class='iname_a'>ly_ctx_get_module <span class='sym_p'><span>( struct ly_ctx const* <i>ctx</i></span>, <span>char const* <i>name</i></span>, <span>char const* <i>revision</i></span>, <span>int <i>implemented</i></span> )</span></span><br/> +<div class='affect'>Return value (pointer) has base type 'struct lys_module'.</div> +<span class='iname_a'>ly_ctx_get_module_iter <span class='sym_p'><span>( struct ly_ctx const* <i>ctx</i></span>, <span>uint32_t* <i>idx</i></span> )</span></span><br/> +<div class='affect'>Return value (pointer) has base type 'struct lys_module'.</div> +<span class='iname_a'>ly_ctx_load_module <span class='sym_p'><span>( struct ly_ctx* <i>ctx</i></span>, <span>char const* <i>name</i></span>, <span>char const* <i>revision</i></span> )</span></span><br/> +<div class='affect'>Return value (pointer) has base type 'struct lys_module'.</div> +<span class='iname_a'>lys_print_clb <span class='sym_p'><span>( ssize_t(*<i>writeclb</i>)(void*, void const*, size_t)</span>, <span>void* <i>arg</i></span>, <span>struct lys_module const* <span class='fp'>module</span></span>, <span>enum LYS_OUTFORMAT <i>format</i></span>, <span>char const* <i>target_node</i></span>, <span>int <i>line_length</i></span>, <span>int <i>options</i></span> )</span></span><br/> +<div class='affect'>3rd parameter 'module' (pointer) has base type 'struct lys_module'.</div> +<span class='iname_a'>lys_print_fd <span class='sym_p'><span>( int <i>fd</i></span>, <span>struct lys_module const* <span class='fp'>module</span></span>, <span>enum LYS_OUTFORMAT <i>format</i></span>, <span>char const* <i>target_node</i></span>, <span>int <i>line_length</i></span>, <span>int <i>options</i></span> )</span></span><br/> +<div class='affect'>2nd parameter 'module' (pointer) has base type 'struct lys_module'.</div> +<span class='iname_a'>lys_print_file <span class='sym_p'><span>( FILE* <i>f</i></span>, <span>struct lys_module const* <span class='fp'>module</span></span>, <span>enum LYS_OUTFORMAT <i>format</i></span>, <span>char const* <i>target_node</i></span>, <span>int <i>line_length</i></span>, <span>int <i>options</i></span> )</span></span><br/> +<div class='affect'>2nd parameter 'module' (pointer) has base type 'struct lys_module'.</div> +<span class='iname_a'>lys_print_mem <span class='sym_p'><span>( char** <i>strp</i></span>, <span>struct lys_module const* <span class='fp'>module</span></span>, <span>enum LYS_OUTFORMAT <i>format</i></span>, <span>char const* <i>target_node</i></span>, <span>int <i>line_length</i></span>, <span>int <i>options</i></span> )</span></span><br/> +<div class='affect'>2nd parameter 'module' (pointer) has base type 'struct lys_module'.</div> +<span class='iname_a'>lys_print_path <span class='sym_p'><span>( char const* <i>path</i></span>, <span>struct lys_module const* <span class='fp'>module</span></span>, <span>enum LYS_OUTFORMAT <i>format</i></span>, <span>char const* <i>target_node</i></span>, <span>int <i>line_length</i></span>, <span>int <i>options</i></span> )</span></span><br/> +<div class='affect'>2nd parameter 'module' (pointer) has base type 'struct lys_module'.</div> +</div> +</div> +<br/><br/></div> + +<br/> +<a class='top_ref' href='#Top'>to the top</a><br/> +<a name='Symbol_Source_Problems_High'></a><a name='Interface_Source_Problems_High'></a> +<h2>Problems with Symbols, High Severity <span class='failed'> 13 </span></h2><hr/> +<span class='h_name'>libyang.h</span><br/> +<span class="section" onclick="javascript:showContent(this, 'c_120')"> +<span class='ext'>[+]</span> ly_set_add <span class='sym_p'><span>( struct ly_set* <span class='color_p'>set</span></span>, <span>void* <span class='color_p'>node</span></span>, <span>int <span class='color_p'>options</span></span> )</span> <span class='failed'> 1 </span></span> +<br/> +<div id="c_120" style="display:none;"> + + +<span class='new_sign_lbl'>⇣</span> +<br/> +<span class='new_sign'>ly_set_add <span class='sym_p'><span>( struct ly_set* <span class='color_p'>set</span></span>, <span>void* <span class='color_p'>object</span></span>, <span>ly_bool <span class='color_p'>list</span></span>, <span>uint32_t* <span class='color_p'>index_p</span></span> )</span></span><br/> +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td>Parameter <b>list</b> of type <b>ly_bool</b> has been added to the calling stack at the middle position.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +</table> +<br/> +</div> +<span class="section" onclick="javascript:showContent(this, 'c_121')"> +<span class='ext'>[+]</span> ly_set_merge <span class='sym_p'><span>( struct ly_set* <span class='color_p'>trg</span></span>, <span>struct ly_set* <span class='color_p'>src</span></span>, <span>int <span class='color_p'>options</span></span> )</span> <span class='failed'> 1 </span></span> +<br/> +<div id="c_121" style="display:none;"> + + +<span class='new_sign_lbl'>⇣</span> +<br/> +<span class='new_sign'>ly_set_merge <span class='sym_p'><span>( struct ly_set* <span class='color_p'>trg</span></span>, <span>struct ly_set* <span class='color_p'>src</span></span>, <span>ly_bool <span class='color_p'>list</span></span>, <span>void*(*<span class='color_p'>duplicator</span>)(void*)</span> )</span></span><br/> +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td>Parameter <b>list</b> of type <b>ly_bool</b> has been added to the calling stack at the middle position.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +</table> +<br/> +</div> +<br/> +<span class='h_name'>tree_data.h</span><br/> +<span class="section" onclick="javascript:showContent(this, 'c_122')"> +<span class='ext'>[+]</span> lyd_find_sibling_val <span class='sym_p'><span>( struct lyd_node const* <span class='color_p'>siblings</span></span>, <span>struct lys_node const* <span class='color_p'>schema</span></span>, <span>char const* <span class='color_p'>key_or_value</span></span>, <span>struct lyd_node** <span class='color_p'>match</span></span> )</span> <span class='failed'> 1 </span></span> +<br/> +<div id="c_122" style="display:none;"> + + +<span class='new_sign_lbl'>⇣</span> +<br/> +<span class='new_sign'>lyd_find_sibling_val <span class='sym_p'><span>( struct lyd_node const* <span class='color_p'>siblings</span></span>, <span>struct lysc_node const* <span class='color_p'>schema</span></span>, <span>char const* <span class='color_p'>key_or_value</span></span>, <span>size_t <span class='color_p'>val_len</span></span>, <span>struct lyd_node** <span class='color_p'>match</span></span> )</span></span><br/> +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td>Parameter <b>val_len</b> of type <b>size_t</b> has been added to the calling stack at the middle position.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +</table> +<br/> +</div> +<br/> +<span class='h_name'>tree_schema.h</span><br/> +<span class="section" onclick="javascript:showContent(this, 'c_123')"> +<span class='ext'>[+]</span> lys_find_path <span class='sym_p'><span>( struct lys_module const* <span class='color_p'>cur_module</span></span>, <span>struct lys_node const* <span class='color_p'>cur_node</span></span>, <span>char const* <span class='color_p'>path</span></span> )</span> <span class='failed'> 4 </span></span> +<br/> +<div id="c_123" style="display:none;"> + + +<span class='new_sign_lbl'>⇣</span> +<br/> +<span class='new_sign'>lys_find_path <span class='sym_p'><span>( struct ly_ctx const* <span class='color_p'>ctx</span></span>, <span>struct lysc_node const* <span class='color_p'>ctx_node</span></span>, <span>char const* <span class='color_p'>path</span></span>, <span>ly_bool <span class='color_p'>output</span></span> )</span></span><br/> +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td>Parameter <b>ctx</b> of type <span class='value'>struct ly_ctx const*</span> has been added to the calling stack at the middle position.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +<tr> +<th>2</th> +<td>Parameter <b>ctx_node</b> of type <span class='value'>struct lysc_node const*</span> has been added to the calling stack at the middle position.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +<tr> +<th>3</th> +<td><b>1st</b> middle parameter <b>cur_module</b> has been removed from the calling stack.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +<tr> +<th>4</th> +<td><b>2nd</b> middle parameter <b>cur_node</b> has been removed from the calling stack.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +</table> +<br/> +</div> +<span class="section" onclick="javascript:showContent(this, 'c_124')"> +<span class='ext'>[+]</span> lys_print_clb <span class='sym_p'><span>( ssize_t(*<span class='color_p'>writeclb</span>)(void*, void const*, size_t)</span>, <span>void* <span class='color_p'>arg</span></span>, <span>struct lys_module const* <span class='color_p'>module</span></span>, <span>enum LYS_OUTFORMAT <span class='color_p'>format</span></span>, <span>char const* <span class='color_p'>target_node</span></span>, <span>int <span class='color_p'>line_length</span></span>, <span>int <span class='color_p'>options</span></span> )</span> <span class='failed'> 1 </span></span> +<br/> +<div id="c_124" style="display:none;"> + + +<span class='new_sign_lbl'>⇣</span> +<br/> +<span class='new_sign'>lys_print_clb <span class='sym_p'><span>( ly_write_clb <span class='color_p'>writeclb</span></span>, <span>void* <span class='color_p'>user_data</span></span>, <span>struct lys_module const* <span class='color_p'>module</span></span>, <span>enum LYS_OUTFORMAT <span class='color_p'>format</span></span>, <span>uint32_t <span class='color_p'>options</span></span> )</span></span><br/> +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td><b>5th</b> middle parameter <b>target_node</b> has been removed from the calling stack.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +</table> +<br/> +</div> +<span class="section" onclick="javascript:showContent(this, 'c_125')"> +<span class='ext'>[+]</span> lys_print_fd <span class='sym_p'><span>( int <span class='color_p'>fd</span></span>, <span>struct lys_module const* <span class='color_p'>module</span></span>, <span>enum LYS_OUTFORMAT <span class='color_p'>format</span></span>, <span>char const* <span class='color_p'>target_node</span></span>, <span>int <span class='color_p'>line_length</span></span>, <span>int <span class='color_p'>options</span></span> )</span> <span class='failed'> 1 </span></span> +<br/> +<div id="c_125" style="display:none;"> + + +<span class='new_sign_lbl'>⇣</span> +<br/> +<span class='new_sign'>lys_print_fd <span class='sym_p'><span>( int <span class='color_p'>fd</span></span>, <span>struct lys_module const* <span class='color_p'>module</span></span>, <span>enum LYS_OUTFORMAT <span class='color_p'>format</span></span>, <span>uint32_t <span class='color_p'>options</span></span> )</span></span><br/> +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td><b>4th</b> middle parameter <b>target_node</b> has been removed from the calling stack.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +</table> +<br/> +</div> +<span class="section" onclick="javascript:showContent(this, 'c_126')"> +<span class='ext'>[+]</span> lys_print_file <span class='sym_p'><span>( FILE* <span class='color_p'>f</span></span>, <span>struct lys_module const* <span class='color_p'>module</span></span>, <span>enum LYS_OUTFORMAT <span class='color_p'>format</span></span>, <span>char const* <span class='color_p'>target_node</span></span>, <span>int <span class='color_p'>line_length</span></span>, <span>int <span class='color_p'>options</span></span> )</span> <span class='failed'> 1 </span></span> +<br/> +<div id="c_126" style="display:none;"> + + +<span class='new_sign_lbl'>⇣</span> +<br/> +<span class='new_sign'>lys_print_file <span class='sym_p'><span>( FILE* <span class='color_p'>f</span></span>, <span>struct lys_module const* <span class='color_p'>module</span></span>, <span>enum LYS_OUTFORMAT <span class='color_p'>format</span></span>, <span>uint32_t <span class='color_p'>options</span></span> )</span></span><br/> +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td><b>4th</b> middle parameter <b>target_node</b> has been removed from the calling stack.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +</table> +<br/> +</div> +<span class="section" onclick="javascript:showContent(this, 'c_127')"> +<span class='ext'>[+]</span> lys_print_mem <span class='sym_p'><span>( char** <span class='color_p'>strp</span></span>, <span>struct lys_module const* <span class='color_p'>module</span></span>, <span>enum LYS_OUTFORMAT <span class='color_p'>format</span></span>, <span>char const* <span class='color_p'>target_node</span></span>, <span>int <span class='color_p'>line_length</span></span>, <span>int <span class='color_p'>options</span></span> )</span> <span class='failed'> 1 </span></span> +<br/> +<div id="c_127" style="display:none;"> + + +<span class='new_sign_lbl'>⇣</span> +<br/> +<span class='new_sign'>lys_print_mem <span class='sym_p'><span>( char** <span class='color_p'>strp</span></span>, <span>struct lys_module const* <span class='color_p'>module</span></span>, <span>enum LYS_OUTFORMAT <span class='color_p'>format</span></span>, <span>uint32_t <span class='color_p'>options</span></span> )</span></span><br/> +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td><b>4th</b> middle parameter <b>target_node</b> has been removed from the calling stack.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +</table> +<br/> +</div> +<span class="section" onclick="javascript:showContent(this, 'c_128')"> +<span class='ext'>[+]</span> lys_print_path <span class='sym_p'><span>( char const* <span class='color_p'>path</span></span>, <span>struct lys_module const* <span class='color_p'>module</span></span>, <span>enum LYS_OUTFORMAT <span class='color_p'>format</span></span>, <span>char const* <span class='color_p'>target_node</span></span>, <span>int <span class='color_p'>line_length</span></span>, <span>int <span class='color_p'>options</span></span> )</span> <span class='failed'> 1 </span></span> +<br/> +<div id="c_128" style="display:none;"> + + +<span class='new_sign_lbl'>⇣</span> +<br/> +<span class='new_sign'>lys_print_path <span class='sym_p'><span>( char const* <span class='color_p'>path</span></span>, <span>struct lys_module const* <span class='color_p'>module</span></span>, <span>enum LYS_OUTFORMAT <span class='color_p'>format</span></span>, <span>uint32_t <span class='color_p'>options</span></span> )</span></span><br/> +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td><b>4th</b> middle parameter <b>target_node</b> has been removed from the calling stack.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +</table> +<br/> +</div> +<span class="section" onclick="javascript:showContent(this, 'c_129')"> +<span class='ext'>[+]</span> lys_set_implemented <span class='sym_p'><span>( struct lys_module const* <span class='color_p'>module</span></span> )</span> <span class='failed'> 1 </span></span> +<br/> +<div id="c_129" style="display:none;"> + + +<span class='new_sign_lbl'>⇣</span> +<br/> +<span class='new_sign'>lys_set_implemented <span class='sym_p'><span>( struct lys_module* <span class='color_p'>mod</span></span>, <span>char const** <span class='color_p'>features</span></span> )</span></span><br/> +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td>Parameter <b>mod</b> of type <span class='value'>struct lys_module*</span> has been added to the calling stack at the middle position.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +</table> +<br/> +</div> +<br/> +<a class='top_ref' href='#Top'>to the top</a><br/> +<a name='Medium_Risk_Source_Problems'></a><a name='Type_Source_Problems_Medium'></a> +<h2>Problems with Data Types, Medium Severity <span class='failed'> 2 </span></h2><hr/> +<span class='h_name'>tree_data.h</span><br/> +<span class="section" onclick="javascript:showContent(this, 'c_130')"> +<span class='ext'>[+]</span> <span class='ttype'>struct</span> lyd_node <span class='failed'> 2 </span></span> +<br/> +<div id="c_130" style="display:none;"> +<table class='ptable'><tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th></tr><tr> +<th>1</th> +<td>Base type of field <b>parent</b> has been changed from <span class='value'>struct lyd_node</span> to <span class='value'>struct lyd_node_inner</span> of different format.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +<tr> +<th>2</th> +<td>Base type of field <b>schema</b> has been changed from <span class='value'>struct lys_node</span> to <span class='value'>struct lysc_node</span> of different format.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +</table> +<span class="sect_aff" onclick="javascript:showContent(this, 'c_131')"> +[+] affected symbols: 9 (5.2%)</span> +<div id="c_131" style="display:none;"> +<div class='affected'><span class='iname_a'>lyd_find_sibling_val <span class='sym_p'><span>( struct lyd_node const* <span class='fp'>siblings</span></span>, <span>struct lys_node const* <i>schema</i></span>, <span>char const* <i>key_or_value</i></span>, <span>struct lyd_node** <i>match</i></span> )</span></span><br/> +<div class='affect'>1st parameter 'siblings' (pointer) has base type 'struct lyd_node'.</div> +<span class='iname_a'>lyd_first_sibling <span class='sym_p'><span>( struct lyd_node* <span class='fp'>node</span></span> )</span></span><br/> +<div class='affect'>1st parameter 'node' (pointer) has base type 'struct lyd_node'.</div> +<span class='iname_a'>lyd_list_pos <span class='sym_p'><span>( struct lyd_node const* <span class='fp'>node</span></span> )</span></span><br/> +<div class='affect'>1st parameter 'node' (pointer) has base type 'struct lyd_node'.</div> +<span class='iname_a'>lyd_path <span class='sym_p'><span>( struct lyd_node const* <span class='fp'>node</span></span> )</span></span><br/> +<div class='affect'>1st parameter 'node' (pointer) has base type 'struct lyd_node'.</div> +<span class='iname_a'>lyd_print_clb <span class='sym_p'><span>( ssize_t(*<i>writeclb</i>)(void*, void const*, size_t)</span>, <span>void* <i>arg</i></span>, <span>struct lyd_node const* <span class='fp'>root</span></span>, <span>enum LYD_FORMAT <i>format</i></span>, <span>int <i>options</i></span> )</span></span><br/> +<div class='affect'>3rd parameter 'root' (pointer) has base type 'struct lyd_node'.</div> +<span class='iname_a'>lyd_print_fd <span class='sym_p'><span>( int <i>fd</i></span>, <span>struct lyd_node const* <span class='fp'>root</span></span>, <span>enum LYD_FORMAT <i>format</i></span>, <span>int <i>options</i></span> )</span></span><br/> +<div class='affect'>2nd parameter 'root' (pointer) has base type 'struct lyd_node'.</div> +<span class='iname_a'>lyd_print_file <span class='sym_p'><span>( FILE* <i>f</i></span>, <span>struct lyd_node const* <span class='fp'>root</span></span>, <span>enum LYD_FORMAT <i>format</i></span>, <span>int <i>options</i></span> )</span></span><br/> +<div class='affect'>2nd parameter 'root' (pointer) has base type 'struct lyd_node'.</div> +<span class='iname_a'>lyd_print_mem <span class='sym_p'><span>( char** <i>strp</i></span>, <span>struct lyd_node const* <span class='fp'>root</span></span>, <span>enum LYD_FORMAT <i>format</i></span>, <span>int <i>options</i></span> )</span></span><br/> +<div class='affect'>2nd parameter 'root' (pointer) has base type 'struct lyd_node'.</div> +<span class='iname_a'>lyd_print_path <span class='sym_p'><span>( char const* <i>path</i></span>, <span>struct lyd_node const* <span class='fp'>root</span></span>, <span>enum LYD_FORMAT <i>format</i></span>, <span>int <i>options</i></span> )</span></span><br/> +<div class='affect'>2nd parameter 'root' (pointer) has base type 'struct lyd_node'.</div> +</div> +</div> +<br/><br/></div> + +<br/> +<a class='top_ref' href='#Top'>to the top</a><br/> +<a name='Symbol_Source_Problems_Medium'></a><a name='Interface_Source_Problems_Medium'></a> +<h2>Problems with Symbols, Medium Severity <span class='failed'> 47 </span></h2><hr/> +<span class='h_name'>dict.h</span><br/> +<span class="section" onclick="javascript:showContent(this, 'c_132')"> +<span class='ext'>[+]</span> lydict_insert <span class='sym_p'><span>( struct ly_ctx* <span class='color_p'>ctx</span></span>, <span>char const* <span class='color_p'>value</span></span>, <span>size_t <span class='color_p'>len</span></span> )</span> <span class='failed'> 2 </span></span> +<br/> +<div id="c_132" style="display:none;"> + + +<span class='new_sign_lbl'>⇣</span> +<br/> +<span class='new_sign'>lydict_insert <span class='sym_p'><span>( struct ly_ctx const* <span class='color_p'>ctx</span></span>, <span>char const* <span class='color_p'>value</span></span>, <span>size_t <span class='color_p'>len</span></span>, <span>char const** <span class='color_p'>str_p</span></span> )</span></span><br/> +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td>Parameter <b>str_p</b> of type <span class='value'>char const**</span> has been added to the calling stack.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +<tr> +<th>2</th> +<td>The pointer level of return value has been increased from <b>1</b> to <b>0</b>.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +</table> +<br/> +</div> +<span class="section" onclick="javascript:showContent(this, 'c_133')"> +<span class='ext'>[+]</span> lydict_insert_zc <span class='sym_p'><span>( struct ly_ctx* <span class='color_p'>ctx</span></span>, <span>char* <span class='color_p'>value</span></span> )</span> <span class='failed'> 2 </span></span> +<br/> +<div id="c_133" style="display:none;"> + + +<span class='new_sign_lbl'>⇣</span> +<br/> +<span class='new_sign'>lydict_insert_zc <span class='sym_p'><span>( struct ly_ctx const* <span class='color_p'>ctx</span></span>, <span>char* <span class='color_p'>value</span></span>, <span>char const** <span class='color_p'>str_p</span></span> )</span></span><br/> +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td>Parameter <b>str_p</b> of type <span class='value'>char const**</span> has been added to the calling stack.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +<tr> +<th>2</th> +<td>The pointer level of return value has been increased from <b>1</b> to <b>0</b>.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +</table> +<br/> +</div> +<br/> +<span class='h_name'>libyang.h</span><br/> +<span class="section" onclick="javascript:showContent(this, 'c_134')"> +<span class='ext'>[+]</span> ly_ctx_get_module <span class='sym_p'><span>( struct ly_ctx const* <span class='color_p'>ctx</span></span>, <span>char const* <span class='color_p'>name</span></span>, <span>char const* <span class='color_p'>revision</span></span>, <span>int <span class='color_p'>implemented</span></span> )</span> <span class='failed'> 1 </span></span> +<br/> +<div id="c_134" style="display:none;"> + + +<span class='new_sign_lbl'>⇣</span> +<br/> +<span class='new_sign'>ly_ctx_get_module <span class='sym_p'><span>( struct ly_ctx const* <span class='color_p'>ctx</span></span>, <span>char const* <span class='color_p'>name</span></span>, <span>char const* <span class='color_p'>revision</span></span> )</span></span><br/> +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td><b>4th</b> parameter <b>implemented</b> has been removed from the calling stack.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +</table> +<br/> +</div> +<span class="section" onclick="javascript:showContent(this, 'c_135')"> +<span class='ext'>[+]</span> ly_ctx_load_module <span class='sym_p'><span>( struct ly_ctx* <span class='color_p'>ctx</span></span>, <span>char const* <span class='color_p'>name</span></span>, <span>char const* <span class='color_p'>revision</span></span> )</span> <span class='failed'> 1 </span></span> +<br/> +<div id="c_135" style="display:none;"> + + +<span class='new_sign_lbl'>⇣</span> +<br/> +<span class='new_sign'>ly_ctx_load_module <span class='sym_p'><span>( struct ly_ctx* <span class='color_p'>ctx</span></span>, <span>char const* <span class='color_p'>name</span></span>, <span>char const* <span class='color_p'>revision</span></span>, <span>char const** <span class='color_p'>features</span></span> )</span></span><br/> +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td>Parameter <b>features</b> of type <span class='value'>char const**</span> has been added to the calling stack.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +</table> +<br/> +</div> +<span class="section" onclick="javascript:showContent(this, 'c_136')"> +<span class='ext'>[+]</span> ly_ctx_new <span class='sym_p'><span>( char const* <span class='color_p'>search_dir</span></span>, <span>int <span class='color_p'>options</span></span> )</span> <span class='failed'> 2 </span></span> +<br/> +<div id="c_136" style="display:none;"> + + +<span class='new_sign_lbl'>⇣</span> +<br/> +<span class='new_sign'>ly_ctx_new <span class='sym_p'><span>( char const* <span class='color_p'>search_dir</span></span>, <span>uint16_t <span class='color_p'>options</span></span>, <span>struct ly_ctx** <span class='color_p'>new_ctx</span></span> )</span></span><br/> +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td>Parameter <b>new_ctx</b> of type <span class='value'>struct ly_ctx**</span> has been added to the calling stack.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +<tr> +<th>2</th> +<td>The pointer level of return value has been increased from <b>1</b> to <b>0</b>.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +</table> +<br/> +</div> +<span class="section" onclick="javascript:showContent(this, 'c_137')"> +<span class='ext'>[+]</span> ly_set_add <span class='sym_p'><span>( struct ly_set* <span class='color_p'>set</span></span>, <span>void* <span class='color_p'>node</span></span>, <span>int <span class='color_p'>options</span></span> )</span> <span class='failed'> 1 </span></span> +<br/> +<div id="c_137" style="display:none;"> + + +<span class='new_sign_lbl'>⇣</span> +<br/> +<span class='new_sign'>ly_set_add <span class='sym_p'><span>( struct ly_set* <span class='color_p'>set</span></span>, <span>void* <span class='color_p'>object</span></span>, <span>ly_bool <span class='color_p'>list</span></span>, <span>uint32_t* <span class='color_p'>index_p</span></span> )</span></span><br/> +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td>Parameter <b>index_p</b> of type <b>uint32_t*</b> has been added to the calling stack.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +</table> +<br/> +</div> +<span class="section" onclick="javascript:showContent(this, 'c_138')"> +<span class='ext'>[+]</span> ly_set_clean <span class='sym_p'><span>( struct ly_set* <span class='color_p'>set</span></span> )</span> <span class='failed'> 2 </span></span> +<br/> +<div id="c_138" style="display:none;"> + + +<span class='new_sign_lbl'>⇣</span> +<br/> +<span class='new_sign'>ly_set_clean <span class='sym_p'><span>( struct ly_set* <span class='color_p'>set</span></span>, <span>void(*<span class='color_p'>destructor</span>)(void*)</span> )</span></span><br/> +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td>Parameter <b>destructor</b> of type <b>void(*)(void*)</b> has been added to the calling stack.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +<tr> +<th>2</th> +<td>Type of return value has been changed from <span class='nowrap'><b>int</b> (<b>4</b> bytes)</span> to <b>void</b>.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +</table> +<br/> +</div> +<span class="section" onclick="javascript:showContent(this, 'c_139')"> +<span class='ext'>[+]</span> ly_set_contains <span class='sym_p'><span>( struct ly_set const* <span class='color_p'>set</span></span>, <span>void* <span class='color_p'>node</span></span> )</span> <span class='failed'> 1 </span></span> +<br/> +<div id="c_139" style="display:none;"> + + +<span class='new_sign_lbl'>⇣</span> +<br/> +<span class='new_sign'>ly_set_contains <span class='sym_p'><span>( struct ly_set const* <span class='color_p'>set</span></span>, <span>void* <span class='color_p'>object</span></span>, <span>uint32_t* <span class='color_p'>index_p</span></span> )</span></span><br/> +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td>Parameter <b>index_p</b> of type <b>uint32_t*</b> has been added to the calling stack.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +</table> +<br/> +</div> +<span class="section" onclick="javascript:showContent(this, 'c_140')"> +<span class='ext'>[+]</span> ly_set_dup <span class='sym_p'><span>( struct ly_set const* <span class='color_p'>set</span></span> )</span> <span class='failed'> 3 </span></span> +<br/> +<div id="c_140" style="display:none;"> + + +<span class='new_sign_lbl'>⇣</span> +<br/> +<span class='new_sign'>ly_set_dup <span class='sym_p'><span>( struct ly_set const* <span class='color_p'>set</span></span>, <span>void*(*<span class='color_p'>duplicator</span>)(void*)</span>, <span>struct ly_set** <span class='color_p'>newset_p</span></span> )</span></span><br/> +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td>Parameter <b>duplicator</b> of type <b>void*(*)(void*)</b> has been added to the calling stack.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +<tr> +<th>2</th> +<td>Parameter <b>newset_p</b> of type <span class='value'>struct ly_set**</span> has been added to the calling stack.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +<tr> +<th>3</th> +<td>The pointer level of return value has been increased from <b>1</b> to <b>0</b>.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +</table> +<br/> +</div> +<span class="section" onclick="javascript:showContent(this, 'c_141')"> +<span class='ext'>[+]</span> ly_set_free <span class='sym_p'><span>( struct ly_set* <span class='color_p'>set</span></span> )</span> <span class='failed'> 1 </span></span> +<br/> +<div id="c_141" style="display:none;"> + + +<span class='new_sign_lbl'>⇣</span> +<br/> +<span class='new_sign'>ly_set_free <span class='sym_p'><span>( struct ly_set* <span class='color_p'>set</span></span>, <span>void(*<span class='color_p'>destructor</span>)(void*)</span> )</span></span><br/> +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td>Parameter <b>destructor</b> of type <b>void(*)(void*)</b> has been added to the calling stack.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +</table> +<br/> +</div> +<span class="section" onclick="javascript:showContent(this, 'c_142')"> +<span class='ext'>[+]</span> ly_set_merge <span class='sym_p'><span>( struct ly_set* <span class='color_p'>trg</span></span>, <span>struct ly_set* <span class='color_p'>src</span></span>, <span>int <span class='color_p'>options</span></span> )</span> <span class='failed'> 1 </span></span> +<br/> +<div id="c_142" style="display:none;"> + + +<span class='new_sign_lbl'>⇣</span> +<br/> +<span class='new_sign'>ly_set_merge <span class='sym_p'><span>( struct ly_set* <span class='color_p'>trg</span></span>, <span>struct ly_set* <span class='color_p'>src</span></span>, <span>ly_bool <span class='color_p'>list</span></span>, <span>void*(*<span class='color_p'>duplicator</span>)(void*)</span> )</span></span><br/> +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td>Parameter <b>duplicator</b> of type <b>void*(*)(void*)</b> has been added to the calling stack.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +</table> +<br/> +</div> +<span class="section" onclick="javascript:showContent(this, 'c_143')"> +<span class='ext'>[+]</span> ly_set_new <span class='sym_p'>( )</span> <span class='failed'> 2 </span></span> +<br/> +<div id="c_143" style="display:none;"> + + +<span class='new_sign_lbl'>⇣</span> +<br/> +<span class='new_sign'>ly_set_new <span class='sym_p'><span>( struct ly_set** <span class='color_p'>set_p</span></span> )</span></span><br/> +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td>Parameter <b>set_p</b> of type <span class='value'>struct ly_set**</span> has been added to the calling stack.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +<tr> +<th>2</th> +<td>The pointer level of return value has been increased from <b>1</b> to <b>0</b>.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +</table> +<br/> +</div> +<span class="section" onclick="javascript:showContent(this, 'c_144')"> +<span class='ext'>[+]</span> ly_set_rm <span class='sym_p'><span>( struct ly_set* <span class='color_p'>set</span></span>, <span>void* <span class='color_p'>node</span></span> )</span> <span class='failed'> 1 </span></span> +<br/> +<div id="c_144" style="display:none;"> + + +<span class='new_sign_lbl'>⇣</span> +<br/> +<span class='new_sign'>ly_set_rm <span class='sym_p'><span>( struct ly_set* <span class='color_p'>set</span></span>, <span>void* <span class='color_p'>object</span></span>, <span>void(*<span class='color_p'>destructor</span>)(void*)</span> )</span></span><br/> +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td>Parameter <b>destructor</b> of type <b>void(*)(void*)</b> has been added to the calling stack.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +</table> +<br/> +</div> +<span class="section" onclick="javascript:showContent(this, 'c_145')"> +<span class='ext'>[+]</span> ly_set_rm_index <span class='sym_p'><span>( struct ly_set* <span class='color_p'>set</span></span>, <span>unsigned int <span class='color_p'>index</span></span> )</span> <span class='failed'> 1 </span></span> +<br/> +<div id="c_145" style="display:none;"> + + +<span class='new_sign_lbl'>⇣</span> +<br/> +<span class='new_sign'>ly_set_rm_index <span class='sym_p'><span>( struct ly_set* <span class='color_p'>set</span></span>, <span>uint32_t <span class='color_p'>index</span></span>, <span>void(*<span class='color_p'>destructor</span>)(void*)</span> )</span></span><br/> +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td>Parameter <b>destructor</b> of type <b>void(*)(void*)</b> has been added to the calling stack.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +</table> +<br/> +</div> +<br/> +<span class='h_name'>tree_data.h</span><br/> +<span class="section" onclick="javascript:showContent(this, 'c_146')"> +<span class='ext'>[+]</span> lyd_find_sibling_val <span class='sym_p'><span>( struct lyd_node const* <span class='color_p'>siblings</span></span>, <span>struct lys_node const* <span class='color_p'>schema</span></span>, <span>char const* <span class='color_p'>key_or_value</span></span>, <span>struct lyd_node** <span class='color_p'>match</span></span> )</span> <span class='failed'> 1 </span></span> +<br/> +<div id="c_146" style="display:none;"> + + +<span class='new_sign_lbl'>⇣</span> +<br/> +<span class='new_sign'>lyd_find_sibling_val <span class='sym_p'><span>( struct lyd_node const* <span class='color_p'>siblings</span></span>, <span>struct lysc_node const* <span class='color_p'>schema</span></span>, <span>char const* <span class='color_p'>key_or_value</span></span>, <span>size_t <span class='color_p'>val_len</span></span>, <span>struct lyd_node** <span class='color_p'>match</span></span> )</span></span><br/> +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td>Base type of parameter <b>schema</b> has been changed from <span class='value'>struct lys_node</span> to <span class='value'>struct lysc_node</span> of different format.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +</table> +<br/> +</div> +<span class="section" onclick="javascript:showContent(this, 'c_147')"> +<span class='ext'>[+]</span> lyd_insert_sibling <span class='sym_p'><span>( struct lyd_node** <span class='color_p'>sibling</span></span>, <span>struct lyd_node* <span class='color_p'>node</span></span> )</span> <span class='failed'> 2 </span></span> +<br/> +<div id="c_147" style="display:none;"> + + +<span class='new_sign_lbl'>⇣</span> +<br/> +<span class='new_sign'>lyd_insert_sibling <span class='sym_p'><span>( struct lyd_node* <span class='color_p'>sibling</span></span>, <span>struct lyd_node* <span class='color_p'>node</span></span>, <span>struct lyd_node** <span class='color_p'>first</span></span> )</span></span><br/> +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td>Parameter <b>first</b> of type <span class='value'>struct lyd_node**</span> has been added to the calling stack.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +<tr> +<th>2</th> +<td>The pointer level of <b>1st</b> parameter <b>sibling</b> has been increased from <b>2</b> to <b>1</b>.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +</table> +<br/> +</div> +<span class="section" onclick="javascript:showContent(this, 'c_148')"> +<span class='ext'>[+]</span> lyd_new_path <span class='sym_p'><span>( struct lyd_node* <span class='color_p'>data_tree</span></span>, <span>struct ly_ctx const* <span class='color_p'>ctx</span></span>, <span>char const* <span class='color_p'>path</span></span>, <span>void* <span class='color_p'>value</span></span>, <span>enum LYD_ANYDATA_VALUETYPE <span class='color_p'>value_type</span></span>, <span>int <span class='color_p'>options</span></span> )</span> <span class='failed'> 2 </span></span> +<br/> +<div id="c_148" style="display:none;"> + + +<span class='new_sign_lbl'>⇣</span> +<br/> +<span class='new_sign'>lyd_new_path <span class='sym_p'><span>( struct lyd_node* <span class='color_p'>parent</span></span>, <span>struct ly_ctx const* <span class='color_p'>ctx</span></span>, <span>char const* <span class='color_p'>path</span></span>, <span>char const* <span class='color_p'>value</span></span>, <span>uint32_t <span class='color_p'>options</span></span>, <span>struct lyd_node** <span class='color_p'>node</span></span> )</span></span><br/> +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td>The pointer level of <b>6th</b> parameter <b>options</b> has been increased from <b>0</b> to <b>2</b>.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +<tr> +<th>2</th> +<td>The pointer level of return value has been increased from <b>1</b> to <b>0</b>.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +</table> +<br/> +</div> +<span class="section" onclick="javascript:showContent(this, 'c_149')"> +<span class='ext'>[+]</span> lyd_path <span class='sym_p'><span>( struct lyd_node const* <span class='color_p'>node</span></span> )</span> <span class='failed'> 3 </span></span> +<br/> +<div id="c_149" style="display:none;"> + + +<span class='new_sign_lbl'>⇣</span> +<br/> +<span class='new_sign'>lyd_path <span class='sym_p'><span>( struct lyd_node const* <span class='color_p'>node</span></span>, <span>enum LYD_PATH_TYPE <span class='color_p'>pathtype</span></span>, <span>char* <span class='color_p'>buffer</span></span>, <span>size_t <span class='color_p'>buflen</span></span> )</span></span><br/> +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td>Parameter <b>pathtype</b> of type <span class='value'>enum LYD_PATH_TYPE</span> has been added to the calling stack.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +<tr> +<th>2</th> +<td>Parameter <b>buffer</b> of type <b>char*</b> has been added to the calling stack.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +<tr> +<th>3</th> +<td>Parameter <b>buflen</b> of type <b>size_t</b> has been added to the calling stack.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +</table> +<br/> +</div> +<br/> +<span class='h_name'>tree_schema.h</span><br/> +<span class="section" onclick="javascript:showContent(this, 'c_150')"> +<span class='ext'>[+]</span> lys_find_path <span class='sym_p'><span>( struct lys_module const* <span class='color_p'>cur_module</span></span>, <span>struct lys_node const* <span class='color_p'>cur_node</span></span>, <span>char const* <span class='color_p'>path</span></span> )</span> <span class='failed'> 2 </span></span> +<br/> +<div id="c_150" style="display:none;"> + + +<span class='new_sign_lbl'>⇣</span> +<br/> +<span class='new_sign'>lys_find_path <span class='sym_p'><span>( struct ly_ctx const* <span class='color_p'>ctx</span></span>, <span>struct lysc_node const* <span class='color_p'>ctx_node</span></span>, <span>char const* <span class='color_p'>path</span></span>, <span>ly_bool <span class='color_p'>output</span></span> )</span></span><br/> +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td>Parameter <b>output</b> of type <b>ly_bool</b> has been added to the calling stack.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +<tr> +<th>2</th> +<td>Base type of return value has been changed from <span class='value'>struct ly_set</span> to <span class='value'>struct lysc_node</span> of different format.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +</table> +<br/> +</div> +<span class="section" onclick="javascript:showContent(this, 'c_151')"> +<span class='ext'>[+]</span> lys_getnext <span class='sym_p'><span>( struct lys_node const* <span class='color_p'>last</span></span>, <span>struct lys_node const* <span class='color_p'>parent</span></span>, <span>struct lys_module const* <span class='color_p'>module</span></span>, <span>int <span class='color_p'>options</span></span> )</span> <span class='failed'> 4 </span></span> +<br/> +<div id="c_151" style="display:none;"> + + +<span class='new_sign_lbl'>⇣</span> +<br/> +<span class='new_sign'>lys_getnext <span class='sym_p'><span>( struct lysc_node const* <span class='color_p'>last</span></span>, <span>struct lysc_node const* <span class='color_p'>parent</span></span>, <span>struct lysc_module const* <span class='color_p'>module</span></span>, <span>uint32_t <span class='color_p'>options</span></span> )</span></span><br/> +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td>Base type of parameter <b>last</b> has been changed from <span class='value'>struct lys_node</span> to <span class='value'>struct lysc_node</span> of different format.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +<tr> +<th>2</th> +<td>Base type of parameter <b>module</b> has been changed from <span class='value'>struct lys_module</span> to <span class='value'>struct lysc_module</span> of different format.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +<tr> +<th>3</th> +<td>Base type of parameter <b>parent</b> has been changed from <span class='value'>struct lys_node</span> to <span class='value'>struct lysc_node</span> of different format.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +<tr> +<th>4</th> +<td>Base type of return value has been changed from <span class='value'>struct lys_node</span> to <span class='value'>struct lysc_node</span> of different format.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +</table> +<br/> +</div> +<span class="section" onclick="javascript:showContent(this, 'c_152')"> +<span class='ext'>[+]</span> lys_parse_fd <span class='sym_p'><span>( struct ly_ctx* <span class='color_p'>ctx</span></span>, <span>int <span class='color_p'>fd</span></span>, <span>enum LYS_INFORMAT <span class='color_p'>format</span></span> )</span> <span class='failed'> 2 </span></span> +<br/> +<div id="c_152" style="display:none;"> + + +<span class='new_sign_lbl'>⇣</span> +<br/> +<span class='new_sign'>lys_parse_fd <span class='sym_p'><span>( struct ly_ctx* <span class='color_p'>ctx</span></span>, <span>int <span class='color_p'>fd</span></span>, <span>enum LYS_INFORMAT <span class='color_p'>format</span></span>, <span>struct lys_module const** <span class='color_p'>module</span></span> )</span></span><br/> +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td>Parameter <b>module</b> of type <span class='value'>struct lys_module const**</span> has been added to the calling stack.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +<tr> +<th>2</th> +<td>The pointer level of return value has been increased from <b>1</b> to <b>0</b>.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +</table> +<br/> +</div> +<span class="section" onclick="javascript:showContent(this, 'c_153')"> +<span class='ext'>[+]</span> lys_parse_mem <span class='sym_p'><span>( struct ly_ctx* <span class='color_p'>ctx</span></span>, <span>char const* <span class='color_p'>data</span></span>, <span>enum LYS_INFORMAT <span class='color_p'>format</span></span> )</span> <span class='failed'> 2 </span></span> +<br/> +<div id="c_153" style="display:none;"> + + +<span class='new_sign_lbl'>⇣</span> +<br/> +<span class='new_sign'>lys_parse_mem <span class='sym_p'><span>( struct ly_ctx* <span class='color_p'>ctx</span></span>, <span>char const* <span class='color_p'>data</span></span>, <span>enum LYS_INFORMAT <span class='color_p'>format</span></span>, <span>struct lys_module const** <span class='color_p'>module</span></span> )</span></span><br/> +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td>Parameter <b>module</b> of type <span class='value'>struct lys_module const**</span> has been added to the calling stack.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +<tr> +<th>2</th> +<td>The pointer level of return value has been increased from <b>1</b> to <b>0</b>.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +</table> +<br/> +</div> +<span class="section" onclick="javascript:showContent(this, 'c_154')"> +<span class='ext'>[+]</span> lys_parse_path <span class='sym_p'><span>( struct ly_ctx* <span class='color_p'>ctx</span></span>, <span>char const* <span class='color_p'>path</span></span>, <span>enum LYS_INFORMAT <span class='color_p'>format</span></span> )</span> <span class='failed'> 2 </span></span> +<br/> +<div id="c_154" style="display:none;"> + + +<span class='new_sign_lbl'>⇣</span> +<br/> +<span class='new_sign'>lys_parse_path <span class='sym_p'><span>( struct ly_ctx* <span class='color_p'>ctx</span></span>, <span>char const* <span class='color_p'>path</span></span>, <span>enum LYS_INFORMAT <span class='color_p'>format</span></span>, <span>struct lys_module const** <span class='color_p'>module</span></span> )</span></span><br/> +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td>Parameter <b>module</b> of type <span class='value'>struct lys_module const**</span> has been added to the calling stack.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +<tr> +<th>2</th> +<td>The pointer level of return value has been increased from <b>1</b> to <b>0</b>.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +</table> +<br/> +</div> +<span class="section" onclick="javascript:showContent(this, 'c_155')"> +<span class='ext'>[+]</span> lys_print_clb <span class='sym_p'><span>( ssize_t(*<span class='color_p'>writeclb</span>)(void*, void const*, size_t)</span>, <span>void* <span class='color_p'>arg</span></span>, <span>struct lys_module const* <span class='color_p'>module</span></span>, <span>enum LYS_OUTFORMAT <span class='color_p'>format</span></span>, <span>char const* <span class='color_p'>target_node</span></span>, <span>int <span class='color_p'>line_length</span></span>, <span>int <span class='color_p'>options</span></span> )</span> <span class='failed'> 1 </span></span> +<br/> +<div id="c_155" style="display:none;"> + + +<span class='new_sign_lbl'>⇣</span> +<br/> +<span class='new_sign'>lys_print_clb <span class='sym_p'><span>( ly_write_clb <span class='color_p'>writeclb</span></span>, <span>void* <span class='color_p'>user_data</span></span>, <span>struct lys_module const* <span class='color_p'>module</span></span>, <span>enum LYS_OUTFORMAT <span class='color_p'>format</span></span>, <span>uint32_t <span class='color_p'>options</span></span> )</span></span><br/> +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td><b>6th</b> parameter <b>line_length</b> has been removed from the calling stack.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +</table> +<br/> +</div> +<span class="section" onclick="javascript:showContent(this, 'c_156')"> +<span class='ext'>[+]</span> lys_print_fd <span class='sym_p'><span>( int <span class='color_p'>fd</span></span>, <span>struct lys_module const* <span class='color_p'>module</span></span>, <span>enum LYS_OUTFORMAT <span class='color_p'>format</span></span>, <span>char const* <span class='color_p'>target_node</span></span>, <span>int <span class='color_p'>line_length</span></span>, <span>int <span class='color_p'>options</span></span> )</span> <span class='failed'> 1 </span></span> +<br/> +<div id="c_156" style="display:none;"> + + +<span class='new_sign_lbl'>⇣</span> +<br/> +<span class='new_sign'>lys_print_fd <span class='sym_p'><span>( int <span class='color_p'>fd</span></span>, <span>struct lys_module const* <span class='color_p'>module</span></span>, <span>enum LYS_OUTFORMAT <span class='color_p'>format</span></span>, <span>uint32_t <span class='color_p'>options</span></span> )</span></span><br/> +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td><b>5th</b> parameter <b>line_length</b> has been removed from the calling stack.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +</table> +<br/> +</div> +<span class="section" onclick="javascript:showContent(this, 'c_157')"> +<span class='ext'>[+]</span> lys_print_file <span class='sym_p'><span>( FILE* <span class='color_p'>f</span></span>, <span>struct lys_module const* <span class='color_p'>module</span></span>, <span>enum LYS_OUTFORMAT <span class='color_p'>format</span></span>, <span>char const* <span class='color_p'>target_node</span></span>, <span>int <span class='color_p'>line_length</span></span>, <span>int <span class='color_p'>options</span></span> )</span> <span class='failed'> 1 </span></span> +<br/> +<div id="c_157" style="display:none;"> + + +<span class='new_sign_lbl'>⇣</span> +<br/> +<span class='new_sign'>lys_print_file <span class='sym_p'><span>( FILE* <span class='color_p'>f</span></span>, <span>struct lys_module const* <span class='color_p'>module</span></span>, <span>enum LYS_OUTFORMAT <span class='color_p'>format</span></span>, <span>uint32_t <span class='color_p'>options</span></span> )</span></span><br/> +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td><b>5th</b> parameter <b>line_length</b> has been removed from the calling stack.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +</table> +<br/> +</div> +<span class="section" onclick="javascript:showContent(this, 'c_158')"> +<span class='ext'>[+]</span> lys_print_mem <span class='sym_p'><span>( char** <span class='color_p'>strp</span></span>, <span>struct lys_module const* <span class='color_p'>module</span></span>, <span>enum LYS_OUTFORMAT <span class='color_p'>format</span></span>, <span>char const* <span class='color_p'>target_node</span></span>, <span>int <span class='color_p'>line_length</span></span>, <span>int <span class='color_p'>options</span></span> )</span> <span class='failed'> 1 </span></span> +<br/> +<div id="c_158" style="display:none;"> + + +<span class='new_sign_lbl'>⇣</span> +<br/> +<span class='new_sign'>lys_print_mem <span class='sym_p'><span>( char** <span class='color_p'>strp</span></span>, <span>struct lys_module const* <span class='color_p'>module</span></span>, <span>enum LYS_OUTFORMAT <span class='color_p'>format</span></span>, <span>uint32_t <span class='color_p'>options</span></span> )</span></span><br/> +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td><b>5th</b> parameter <b>line_length</b> has been removed from the calling stack.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +</table> +<br/> +</div> +<span class="section" onclick="javascript:showContent(this, 'c_159')"> +<span class='ext'>[+]</span> lys_print_path <span class='sym_p'><span>( char const* <span class='color_p'>path</span></span>, <span>struct lys_module const* <span class='color_p'>module</span></span>, <span>enum LYS_OUTFORMAT <span class='color_p'>format</span></span>, <span>char const* <span class='color_p'>target_node</span></span>, <span>int <span class='color_p'>line_length</span></span>, <span>int <span class='color_p'>options</span></span> )</span> <span class='failed'> 1 </span></span> +<br/> +<div id="c_159" style="display:none;"> + + +<span class='new_sign_lbl'>⇣</span> +<br/> +<span class='new_sign'>lys_print_path <span class='sym_p'><span>( char const* <span class='color_p'>path</span></span>, <span>struct lys_module const* <span class='color_p'>module</span></span>, <span>enum LYS_OUTFORMAT <span class='color_p'>format</span></span>, <span>uint32_t <span class='color_p'>options</span></span> )</span></span><br/> +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td><b>5th</b> parameter <b>line_length</b> has been removed from the calling stack.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +</table> +<br/> +</div> +<span class="section" onclick="javascript:showContent(this, 'c_160')"> +<span class='ext'>[+]</span> lys_set_implemented <span class='sym_p'><span>( struct lys_module const* <span class='color_p'>module</span></span> )</span> <span class='failed'> 1 </span></span> +<br/> +<div id="c_160" style="display:none;"> + + +<span class='new_sign_lbl'>⇣</span> +<br/> +<span class='new_sign'>lys_set_implemented <span class='sym_p'><span>( struct lys_module* <span class='color_p'>mod</span></span>, <span>char const** <span class='color_p'>features</span></span> )</span></span><br/> +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td>Parameter <b>features</b> of type <span class='value'>char const**</span> has been added to the calling stack.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +</table> +<br/> +</div> +<br/> +<a class='top_ref' href='#Top'>to the top</a><br/> +<a name='Low_Risk_Source_Problems'></a><a name='Type_Source_Problems_Low'></a> +<h2>Problems with Data Types, Low Severity <span class='warning'> 9 </span></h2><hr/> +<span class='h_name'>libyang.h</span><br/> +<span class="section" onclick="javascript:showContent(this, 'c_161')"> +<span class='ext'>[+]</span> <span class='ttype'>typedef</span> ly_module_imp_clb <span class='warning'> 1 </span></span> +<br/> +<div id="c_161" style="display:none;"> +<table class='ptable'><tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th></tr><tr> +<th>1</th> +<td>Base type has been changed from <span class='value'>char const*(*)(char const*, char const*, char const*, char const*, void*, LYS_INFORMAT*, void(**)(void*, void*))</span> to <span class='value'>LY_ERR(*)(char const*, char const*, char const*, char const*, void*, LYS_INFORMAT*, char const**, ly_module_imp_data_free_clb*)</span>.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +</table> +<span class="sect_aff" onclick="javascript:showContent(this, 'c_162')"> +[+] affected symbols: 2 (1.1%)</span> +<div id="c_162" style="display:none;"> +<div class='affected'><span class='iname_a'>ly_ctx_get_module_imp_clb <span class='sym_p'><span>( struct ly_ctx const* <i>ctx</i></span>, <span>void** <i>user_data</i></span> )</span></span><br/> +<div class='affect'>Return value is of type 'ly_module_imp_clb'.</div> +<span class='iname_a'>ly_ctx_set_module_imp_clb <span class='sym_p'><span>( struct ly_ctx* <i>ctx</i></span>, <span>char const*(*<span class='fp'>clb</span>)(char const*, char const*, char const*, char const*, void*, LYS_INFORMAT*, void(**)(void*, void*))</span>, <span>void* <i>user_data</i></span> )</span></span><br/> +<div class='affect'>2nd parameter 'clb' is of type 'ly_module_imp_clb'.</div> +</div> +</div> +<br/><br/></div> + +<br/> +<span class='h_name'>tree_data.h</span><br/> +<span class="section" onclick="javascript:showContent(this, 'c_163')"> +<span class='ext'>[+]</span> <span class='ttype'>struct</span> lyd_node <span class='warning'> 2 </span></span> +<br/> +<div id="c_163" style="display:none;"> +<table class='ptable'><tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th></tr><tr> +<th>1</th> +<td>Field <b>flags</b> has been added to this type.</td> +<td>This field will not be initialized or used by old client applications.</td> +</tr> +<tr> +<th>2</th> +<td>Field <b>meta</b> has been added to this type.</td> +<td>This field will not be initialized or used by old client applications.</td> +</tr> +</table> +<span class="sect_aff" onclick="javascript:showContent(this, 'c_164')"> +[+] affected symbols: 9 (5.2%)</span> +<div id="c_164" style="display:none;"> +<div class='affected'><span class='iname_a'>lyd_find_sibling_val <span class='sym_p'><span>( struct lyd_node const* <span class='fp'>siblings</span></span>, <span>struct lys_node const* <i>schema</i></span>, <span>char const* <i>key_or_value</i></span>, <span>struct lyd_node** <i>match</i></span> )</span></span><br/> +<div class='affect'>1st parameter 'siblings' (pointer) has base type 'struct lyd_node'.</div> +<span class='iname_a'>lyd_first_sibling <span class='sym_p'><span>( struct lyd_node* <span class='fp'>node</span></span> )</span></span><br/> +<div class='affect'>1st parameter 'node' (pointer) has base type 'struct lyd_node'.</div> +<span class='iname_a'>lyd_list_pos <span class='sym_p'><span>( struct lyd_node const* <span class='fp'>node</span></span> )</span></span><br/> +<div class='affect'>1st parameter 'node' (pointer) has base type 'struct lyd_node'.</div> +<span class='iname_a'>lyd_path <span class='sym_p'><span>( struct lyd_node const* <span class='fp'>node</span></span> )</span></span><br/> +<div class='affect'>1st parameter 'node' (pointer) has base type 'struct lyd_node'.</div> +<span class='iname_a'>lyd_print_clb <span class='sym_p'><span>( ssize_t(*<i>writeclb</i>)(void*, void const*, size_t)</span>, <span>void* <i>arg</i></span>, <span>struct lyd_node const* <span class='fp'>root</span></span>, <span>enum LYD_FORMAT <i>format</i></span>, <span>int <i>options</i></span> )</span></span><br/> +<div class='affect'>3rd parameter 'root' (pointer) has base type 'struct lyd_node'.</div> +<span class='iname_a'>lyd_print_fd <span class='sym_p'><span>( int <i>fd</i></span>, <span>struct lyd_node const* <span class='fp'>root</span></span>, <span>enum LYD_FORMAT <i>format</i></span>, <span>int <i>options</i></span> )</span></span><br/> +<div class='affect'>2nd parameter 'root' (pointer) has base type 'struct lyd_node'.</div> +<span class='iname_a'>lyd_print_file <span class='sym_p'><span>( FILE* <i>f</i></span>, <span>struct lyd_node const* <span class='fp'>root</span></span>, <span>enum LYD_FORMAT <i>format</i></span>, <span>int <i>options</i></span> )</span></span><br/> +<div class='affect'>2nd parameter 'root' (pointer) has base type 'struct lyd_node'.</div> +<span class='iname_a'>lyd_print_mem <span class='sym_p'><span>( char** <i>strp</i></span>, <span>struct lyd_node const* <span class='fp'>root</span></span>, <span>enum LYD_FORMAT <i>format</i></span>, <span>int <i>options</i></span> )</span></span><br/> +<div class='affect'>2nd parameter 'root' (pointer) has base type 'struct lyd_node'.</div> +<span class='iname_a'>lyd_print_path <span class='sym_p'><span>( char const* <i>path</i></span>, <span>struct lyd_node const* <span class='fp'>root</span></span>, <span>enum LYD_FORMAT <i>format</i></span>, <span>int <i>options</i></span> )</span></span><br/> +<div class='affect'>2nd parameter 'root' (pointer) has base type 'struct lyd_node'.</div> +</div> +</div> +<br/><br/></div> + +<br/> +<span class='h_name'>tree_schema.h</span><br/> +<span class="section" onclick="javascript:showContent(this, 'c_165')"> +<span class='ext'>[+]</span> <span class='ttype'>struct</span> lys_module <span class='warning'> 6 </span></span> +<br/> +<div id="c_165" style="display:none;"> +<table class='ptable'><tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th></tr><tr> +<th>1</th> +<td>Field <b>augmented_by</b> has been added to this type.</td> +<td>This field will not be initialized or used by old client applications.</td> +</tr> +<tr> +<th>2</th> +<td>Field <b>compiled</b> has been added to this type.</td> +<td>This field will not be initialized or used by old client applications.</td> +</tr> +<tr> +<th>3</th> +<td>Field <b>deviated_by</b> has been added to this type.</td> +<td>This field will not be initialized or used by old client applications.</td> +</tr> +<tr> +<th>4</th> +<td>Field <b>identities</b> has been added to this type.</td> +<td>This field will not be initialized or used by old client applications.</td> +</tr> +<tr> +<th>5</th> +<td>Field <b>parsed</b> has been added to this type.</td> +<td>This field will not be initialized or used by old client applications.</td> +</tr> +<tr> +<th>6</th> +<td>Field <b>revision</b> has been added to this type.</td> +<td>This field will not be initialized or used by old client applications.</td> +</tr> +</table> +<span class="sect_aff" onclick="javascript:showContent(this, 'c_166')"> +[+] affected symbols: 8 (4.6%)</span> +<div id="c_166" style="display:none;"> +<div class='affected'><span class='iname_a'>ly_ctx_get_module <span class='sym_p'><span>( struct ly_ctx const* <i>ctx</i></span>, <span>char const* <i>name</i></span>, <span>char const* <i>revision</i></span>, <span>int <i>implemented</i></span> )</span></span><br/> +<div class='affect'>Return value (pointer) has base type 'struct lys_module'.</div> +<span class='iname_a'>ly_ctx_get_module_iter <span class='sym_p'><span>( struct ly_ctx const* <i>ctx</i></span>, <span>uint32_t* <i>idx</i></span> )</span></span><br/> +<div class='affect'>Return value (pointer) has base type 'struct lys_module'.</div> +<span class='iname_a'>ly_ctx_load_module <span class='sym_p'><span>( struct ly_ctx* <i>ctx</i></span>, <span>char const* <i>name</i></span>, <span>char const* <i>revision</i></span> )</span></span><br/> +<div class='affect'>Return value (pointer) has base type 'struct lys_module'.</div> +<span class='iname_a'>lys_print_clb <span class='sym_p'><span>( ssize_t(*<i>writeclb</i>)(void*, void const*, size_t)</span>, <span>void* <i>arg</i></span>, <span>struct lys_module const* <span class='fp'>module</span></span>, <span>enum LYS_OUTFORMAT <i>format</i></span>, <span>char const* <i>target_node</i></span>, <span>int <i>line_length</i></span>, <span>int <i>options</i></span> )</span></span><br/> +<div class='affect'>3rd parameter 'module' (pointer) has base type 'struct lys_module'.</div> +<span class='iname_a'>lys_print_fd <span class='sym_p'><span>( int <i>fd</i></span>, <span>struct lys_module const* <span class='fp'>module</span></span>, <span>enum LYS_OUTFORMAT <i>format</i></span>, <span>char const* <i>target_node</i></span>, <span>int <i>line_length</i></span>, <span>int <i>options</i></span> )</span></span><br/> +<div class='affect'>2nd parameter 'module' (pointer) has base type 'struct lys_module'.</div> +<span class='iname_a'>lys_print_file <span class='sym_p'><span>( FILE* <i>f</i></span>, <span>struct lys_module const* <span class='fp'>module</span></span>, <span>enum LYS_OUTFORMAT <i>format</i></span>, <span>char const* <i>target_node</i></span>, <span>int <i>line_length</i></span>, <span>int <i>options</i></span> )</span></span><br/> +<div class='affect'>2nd parameter 'module' (pointer) has base type 'struct lys_module'.</div> +<span class='iname_a'>lys_print_mem <span class='sym_p'><span>( char** <i>strp</i></span>, <span>struct lys_module const* <span class='fp'>module</span></span>, <span>enum LYS_OUTFORMAT <i>format</i></span>, <span>char const* <i>target_node</i></span>, <span>int <i>line_length</i></span>, <span>int <i>options</i></span> )</span></span><br/> +<div class='affect'>2nd parameter 'module' (pointer) has base type 'struct lys_module'.</div> +<span class='iname_a'>lys_print_path <span class='sym_p'><span>( char const* <i>path</i></span>, <span>struct lys_module const* <span class='fp'>module</span></span>, <span>enum LYS_OUTFORMAT <i>format</i></span>, <span>char const* <i>target_node</i></span>, <span>int <i>line_length</i></span>, <span>int <i>options</i></span> )</span></span><br/> +<div class='affect'>2nd parameter 'module' (pointer) has base type 'struct lys_module'.</div> +</div> +</div> +<br/><br/></div> + +<br/> +<a class='top_ref' href='#Top'>to the top</a><br/> +<a name='Symbol_Source_Problems_Low'></a><a name='Interface_Source_Problems_Low'></a> +<h2>Problems with Symbols, Low Severity <span class='warning'> 52 </span></h2><hr/> +<span class='h_name'>dict.h</span><br/> +<span class="section" onclick="javascript:showContent(this, 'c_167')"> +<span class='ext'>[+]</span> lydict_insert <span class='sym_p'><span>( struct ly_ctx* <span class='color_p'>ctx</span></span>, <span>char const* <span class='color_p'>value</span></span>, <span>size_t <span class='color_p'>len</span></span> )</span> <span class='warning'> 1 </span></span> +<br/> +<div id="c_167" style="display:none;"> + +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td>Type of return value has been changed from <span class='value'>char const*</span> to <span class='value'>enum LY_ERR</span>.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +</table> +<br/> +</div> +<span class="section" onclick="javascript:showContent(this, 'c_168')"> +<span class='ext'>[+]</span> lydict_insert_zc <span class='sym_p'><span>( struct ly_ctx* <span class='color_p'>ctx</span></span>, <span>char* <span class='color_p'>value</span></span> )</span> <span class='warning'> 1 </span></span> +<br/> +<div id="c_168" style="display:none;"> + +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td>Type of return value has been changed from <span class='value'>char const*</span> to <span class='value'>enum LY_ERR</span>.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +</table> +<br/> +</div> +<br/> +<span class='h_name'>libyang.h</span><br/> +<span class="section" onclick="javascript:showContent(this, 'c_169')"> +<span class='ext'>[+]</span> ly_ctx_destroy <span class='sym_p'><span>( struct ly_ctx* <span class='color_p'>ctx</span></span>, <span>void(*<span class='color_p'>private_destructor</span>)(struct lys_node const*, void*)</span> )</span> <span class='warning'> 1 </span></span> +<br/> +<div id="c_169" style="display:none;"> + + +<span class='new_sign_lbl'>⇣</span> +<br/> +<span class='new_sign'>ly_ctx_destroy <span class='sym_p'><span>( struct ly_ctx* <span class='color_p'>ctx</span></span>, <span>void(*<span class='color_p'>private_destructor</span>)(struct lysc_node const*, void*)</span> )</span></span><br/> +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td>Base type of <b>2nd</b> parameter <b>private_destructor</b> has been changed from <span class='value'>void(*)(struct lys_node const*, void*)</span> to <span class='value'>void(*)(struct lysc_node const*, void*)</span>.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +</table> +<br/> +</div> +<span class="section" onclick="javascript:showContent(this, 'c_170')"> +<span class='ext'>[+]</span> ly_ctx_get_module <span class='sym_p'><span>( struct ly_ctx const* <span class='color_p'>ctx</span></span>, <span>char const* <span class='color_p'>name</span></span>, <span>char const* <span class='color_p'>revision</span></span>, <span>int <span class='color_p'>implemented</span></span> )</span> <span class='warning'> 1 </span></span> +<br/> +<div id="c_170" style="display:none;"> + +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td>Type of return value has been changed from <span class='value'>struct lys_module const*</span> to <span class='value'>struct lys_module*</span>.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +</table> +<br/> +</div> +<span class="section" onclick="javascript:showContent(this, 'c_171')"> +<span class='ext'>[+]</span> ly_ctx_get_options <span class='sym_p'><span>( struct ly_ctx* <span class='color_p'>ctx</span></span> )</span> <span class='warning'> 1 </span></span> +<br/> +<div id="c_171" style="display:none;"> + +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td>Type of return value has been changed from <b>int</b> to <b>uint16_t</b>.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +</table> +<br/> +</div> +<span class="section" onclick="javascript:showContent(this, 'c_172')"> +<span class='ext'>[+]</span> ly_ctx_internal_modules_count <span class='sym_p'><span>( struct ly_ctx* <span class='color_p'>ctx</span></span> )</span> <span class='warning'> 1 </span></span> +<br/> +<div id="c_172" style="display:none;"> + +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td>Type of return value has been changed from <span class='value'>unsigned int</span> to <b>uint32_t</b>.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +</table> +<br/> +</div> +<span class="section" onclick="javascript:showContent(this, 'c_173')"> +<span class='ext'>[+]</span> ly_ctx_new <span class='sym_p'><span>( char const* <span class='color_p'>search_dir</span></span>, <span>int <span class='color_p'>options</span></span> )</span> <span class='warning'> 2 </span></span> +<br/> +<div id="c_173" style="display:none;"> + + +<span class='new_sign_lbl'>⇣</span> +<br/> +<span class='new_sign'>ly_ctx_new <span class='sym_p'><span>( char const* <span class='color_p'>search_dir</span></span>, <span>uint16_t <span class='color_p'>options</span></span>, <span>struct ly_ctx** <span class='color_p'>new_ctx</span></span> )</span></span><br/> +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td>Type of <b>2nd</b> parameter <b>options</b> has been changed from <b>int</b> to <b>uint16_t</b>.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +<tr> +<th>2</th> +<td>Type of return value has been changed from <span class='value'>struct ly_ctx*</span> to <span class='value'>enum LY_ERR</span>.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +</table> +<br/> +</div> +<span class="section" onclick="javascript:showContent(this, 'c_174')"> +<span class='ext'>[+]</span> ly_ctx_set_searchdir <span class='sym_p'><span>( struct ly_ctx* <span class='color_p'>ctx</span></span>, <span>char const* <span class='color_p'>search_dir</span></span> )</span> <span class='warning'> 1 </span></span> +<br/> +<div id="c_174" style="display:none;"> + +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td>Type of return value has been changed from <b>int</b> to <span class='value'>enum LY_ERR</span>.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +</table> +<br/> +</div> +<span class="section" onclick="javascript:showContent(this, 'c_175')"> +<span class='ext'>[+]</span> ly_get_log_clb <span class='sym_p'>( )</span> <span class='warning'> 1 </span></span> +<br/> +<div id="c_175" style="display:none;"> + +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td>Type of return value has been changed from <span class='value'>void(*)(LY_LOG_LEVEL, char const*, char const*)</span> to <b>ly_log_clb</b>.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +</table> +<br/> +</div> +<span class="section" onclick="javascript:showContent(this, 'c_176')"> +<span class='ext'>[+]</span> ly_log_options <span class='sym_p'><span>( int <span class='color_p'>opts</span></span> )</span> <span class='warning'> 2 </span></span> +<br/> +<div id="c_176" style="display:none;"> + + +<span class='new_sign_lbl'>⇣</span> +<br/> +<span class='new_sign'>ly_log_options <span class='sym_p'><span>( uint32_t <span class='color_p'>opts</span></span> )</span></span><br/> +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td>Type of <b>1st</b> parameter <b>opts</b> has been changed from <b>int</b> to <b>uint32_t</b>.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +<tr> +<th>2</th> +<td>Type of return value has been changed from <b>int</b> to <b>uint32_t</b>.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +</table> +<br/> +</div> +<span class="section" onclick="javascript:showContent(this, 'c_177')"> +<span class='ext'>[+]</span> ly_set_add <span class='sym_p'><span>( struct ly_set* <span class='color_p'>set</span></span>, <span>void* <span class='color_p'>node</span></span>, <span>int <span class='color_p'>options</span></span> )</span> <span class='warning'> 1 </span></span> +<br/> +<div id="c_177" style="display:none;"> + +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td>Type of return value has been changed from <b>int</b> to <span class='value'>enum LY_ERR</span>.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +</table> +<br/> +</div> +<span class="section" onclick="javascript:showContent(this, 'c_178')"> +<span class='ext'>[+]</span> ly_set_contains <span class='sym_p'><span>( struct ly_set const* <span class='color_p'>set</span></span>, <span>void* <span class='color_p'>node</span></span> )</span> <span class='warning'> 1 </span></span> +<br/> +<div id="c_178" style="display:none;"> + +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td>Type of return value has been changed from <b>int</b> to <b>ly_bool</b>.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +</table> +<br/> +</div> +<span class="section" onclick="javascript:showContent(this, 'c_179')"> +<span class='ext'>[+]</span> ly_set_dup <span class='sym_p'><span>( struct ly_set const* <span class='color_p'>set</span></span> )</span> <span class='warning'> 1 </span></span> +<br/> +<div id="c_179" style="display:none;"> + +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td>Type of return value has been changed from <span class='value'>struct ly_set*</span> to <span class='value'>enum LY_ERR</span>.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +</table> +<br/> +</div> +<span class="section" onclick="javascript:showContent(this, 'c_180')"> +<span class='ext'>[+]</span> ly_set_log_clb <span class='sym_p'><span>( void(*<span class='color_p'>clb</span>)(LY_LOG_LEVEL, char const*, char const*)</span>, <span>int <span class='color_p'>path</span></span> )</span> <span class='warning'> 1 </span></span> +<br/> +<div id="c_180" style="display:none;"> + + +<span class='new_sign_lbl'>⇣</span> +<br/> +<span class='new_sign'>ly_set_log_clb <span class='sym_p'><span>( ly_log_clb <span class='color_p'>clb</span></span>, <span>ly_bool <span class='color_p'>path</span></span> )</span></span><br/> +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td>Type of <b>2nd</b> parameter <b>path</b> has been changed from <b>int</b> to <b>ly_bool</b>.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +</table> +<br/> +</div> +<span class="section" onclick="javascript:showContent(this, 'c_181')"> +<span class='ext'>[+]</span> ly_set_merge <span class='sym_p'><span>( struct ly_set* <span class='color_p'>trg</span></span>, <span>struct ly_set* <span class='color_p'>src</span></span>, <span>int <span class='color_p'>options</span></span> )</span> <span class='warning'> 1 </span></span> +<br/> +<div id="c_181" style="display:none;"> + +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td>Type of return value has been changed from <b>int</b> to <span class='value'>enum LY_ERR</span>.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +</table> +<br/> +</div> +<span class="section" onclick="javascript:showContent(this, 'c_182')"> +<span class='ext'>[+]</span> ly_set_new <span class='sym_p'>( )</span> <span class='warning'> 1 </span></span> +<br/> +<div id="c_182" style="display:none;"> + +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td>Type of return value has been changed from <span class='value'>struct ly_set*</span> to <span class='value'>enum LY_ERR</span>.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +</table> +<br/> +</div> +<span class="section" onclick="javascript:showContent(this, 'c_183')"> +<span class='ext'>[+]</span> ly_set_rm <span class='sym_p'><span>( struct ly_set* <span class='color_p'>set</span></span>, <span>void* <span class='color_p'>node</span></span> )</span> <span class='warning'> 1 </span></span> +<br/> +<div id="c_183" style="display:none;"> + +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td>Type of return value has been changed from <b>int</b> to <span class='value'>enum LY_ERR</span>.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +</table> +<br/> +</div> +<span class="section" onclick="javascript:showContent(this, 'c_184')"> +<span class='ext'>[+]</span> ly_set_rm_index <span class='sym_p'><span>( struct ly_set* <span class='color_p'>set</span></span>, <span>unsigned int <span class='color_p'>index</span></span> )</span> <span class='warning'> 1 </span></span> +<br/> +<div id="c_184" style="display:none;"> + +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td>Type of return value has been changed from <b>int</b> to <span class='value'>enum LY_ERR</span>.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +</table> +<br/> +</div> +<br/> +<span class='h_name'>tree_data.h</span><br/> +<span class="section" onclick="javascript:showContent(this, 'c_185')"> +<span class='ext'>[+]</span> lyd_find_sibling_val <span class='sym_p'><span>( struct lyd_node const* <span class='color_p'>siblings</span></span>, <span>struct lys_node const* <span class='color_p'>schema</span></span>, <span>char const* <span class='color_p'>key_or_value</span></span>, <span>struct lyd_node** <span class='color_p'>match</span></span> )</span> <span class='warning'> 1 </span></span> +<br/> +<div id="c_185" style="display:none;"> + +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td>Type of return value has been changed from <b>int</b> to <span class='value'>enum LY_ERR</span>.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +</table> +<br/> +</div> +<span class="section" onclick="javascript:showContent(this, 'c_186')"> +<span class='ext'>[+]</span> lyd_insert_after <span class='sym_p'><span>( struct lyd_node* <span class='color_p'>sibling</span></span>, <span>struct lyd_node* <span class='color_p'>node</span></span> )</span> <span class='warning'> 1 </span></span> +<br/> +<div id="c_186" style="display:none;"> + +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td>Type of return value has been changed from <b>int</b> to <span class='value'>enum LY_ERR</span>.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +</table> +<br/> +</div> +<span class="section" onclick="javascript:showContent(this, 'c_187')"> +<span class='ext'>[+]</span> lyd_insert_before <span class='sym_p'><span>( struct lyd_node* <span class='color_p'>sibling</span></span>, <span>struct lyd_node* <span class='color_p'>node</span></span> )</span> <span class='warning'> 1 </span></span> +<br/> +<div id="c_187" style="display:none;"> + +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td>Type of return value has been changed from <b>int</b> to <span class='value'>enum LY_ERR</span>.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +</table> +<br/> +</div> +<span class="section" onclick="javascript:showContent(this, 'c_188')"> +<span class='ext'>[+]</span> lyd_insert_sibling <span class='sym_p'><span>( struct lyd_node** <span class='color_p'>sibling</span></span>, <span>struct lyd_node* <span class='color_p'>node</span></span> )</span> <span class='warning'> 2 </span></span> +<br/> +<div id="c_188" style="display:none;"> + + +<span class='new_sign_lbl'>⇣</span> +<br/> +<span class='new_sign'>lyd_insert_sibling <span class='sym_p'><span>( struct lyd_node* <span class='color_p'>sibling</span></span>, <span>struct lyd_node* <span class='color_p'>node</span></span>, <span>struct lyd_node** <span class='color_p'>first</span></span> )</span></span><br/> +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td>Type of <b>1st</b> parameter <b>sibling</b> has been changed from <span class='value'>struct lyd_node**</span> to <span class='value'>struct lyd_node*</span>.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +<tr> +<th>2</th> +<td>Type of return value has been changed from <b>int</b> to <span class='value'>enum LY_ERR</span>.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +</table> +<br/> +</div> +<span class="section" onclick="javascript:showContent(this, 'c_189')"> +<span class='ext'>[+]</span> lyd_list_pos <span class='sym_p'><span>( struct lyd_node const* <span class='color_p'>node</span></span> )</span> <span class='warning'> 1 </span></span> +<br/> +<div id="c_189" style="display:none;"> + +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td>Type of return value has been changed from <span class='value'>unsigned int</span> to <b>uint32_t</b>.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +</table> +<br/> +</div> +<span class="section" onclick="javascript:showContent(this, 'c_190')"> +<span class='ext'>[+]</span> lyd_new_path <span class='sym_p'><span>( struct lyd_node* <span class='color_p'>data_tree</span></span>, <span>struct ly_ctx const* <span class='color_p'>ctx</span></span>, <span>char const* <span class='color_p'>path</span></span>, <span>void* <span class='color_p'>value</span></span>, <span>enum LYD_ANYDATA_VALUETYPE <span class='color_p'>value_type</span></span>, <span>int <span class='color_p'>options</span></span> )</span> <span class='warning'> 4 </span></span> +<br/> +<div id="c_190" style="display:none;"> + + +<span class='new_sign_lbl'>⇣</span> +<br/> +<span class='new_sign'>lyd_new_path <span class='sym_p'><span>( struct lyd_node* <span class='color_p'>parent</span></span>, <span>struct ly_ctx const* <span class='color_p'>ctx</span></span>, <span>char const* <span class='color_p'>path</span></span>, <span>char const* <span class='color_p'>value</span></span>, <span>uint32_t <span class='color_p'>options</span></span>, <span>struct lyd_node** <span class='color_p'>node</span></span> )</span></span><br/> +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td>Type of <b>6th</b> parameter <b>options</b> has been changed from <b>int</b> to <span class='value'>struct lyd_node**</span>.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +<tr> +<th>2</th> +<td>Type of <b>4th</b> parameter <b>value</b> has been changed from <b>void*</b> to <span class='value'>char const*</span>.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +<tr> +<th>3</th> +<td>Type of <b>5th</b> parameter <b>value_type</b> has been changed from <span class='value'>enum LYD_ANYDATA_VALUETYPE</span> to <b>uint32_t</b>.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +<tr> +<th>4</th> +<td>Type of return value has been changed from <span class='value'>struct lyd_node*</span> to <span class='value'>enum LY_ERR</span>.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +</table> +<br/> +</div> +<span class="section" onclick="javascript:showContent(this, 'c_191')"> +<span class='ext'>[+]</span> lyd_print_clb <span class='sym_p'><span>( ssize_t(*<span class='color_p'>writeclb</span>)(void*, void const*, size_t)</span>, <span>void* <span class='color_p'>arg</span></span>, <span>struct lyd_node const* <span class='color_p'>root</span></span>, <span>enum LYD_FORMAT <span class='color_p'>format</span></span>, <span>int <span class='color_p'>options</span></span> )</span> <span class='warning'> 2 </span></span> +<br/> +<div id="c_191" style="display:none;"> + + +<span class='new_sign_lbl'>⇣</span> +<br/> +<span class='new_sign'>lyd_print_clb <span class='sym_p'><span>( ly_write_clb <span class='color_p'>writeclb</span></span>, <span>void* <span class='color_p'>user_data</span></span>, <span>struct lyd_node const* <span class='color_p'>root</span></span>, <span>enum LYD_FORMAT <span class='color_p'>format</span></span>, <span>uint32_t <span class='color_p'>options</span></span> )</span></span><br/> +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td>Type of <b>5th</b> parameter <b>options</b> has been changed from <b>int</b> to <b>uint32_t</b>.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +<tr> +<th>2</th> +<td>Type of return value has been changed from <b>int</b> to <span class='value'>enum LY_ERR</span>.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +</table> +<br/> +</div> +<span class="section" onclick="javascript:showContent(this, 'c_192')"> +<span class='ext'>[+]</span> lyd_print_fd <span class='sym_p'><span>( int <span class='color_p'>fd</span></span>, <span>struct lyd_node const* <span class='color_p'>root</span></span>, <span>enum LYD_FORMAT <span class='color_p'>format</span></span>, <span>int <span class='color_p'>options</span></span> )</span> <span class='warning'> 2 </span></span> +<br/> +<div id="c_192" style="display:none;"> + + +<span class='new_sign_lbl'>⇣</span> +<br/> +<span class='new_sign'>lyd_print_fd <span class='sym_p'><span>( int <span class='color_p'>fd</span></span>, <span>struct lyd_node const* <span class='color_p'>root</span></span>, <span>enum LYD_FORMAT <span class='color_p'>format</span></span>, <span>uint32_t <span class='color_p'>options</span></span> )</span></span><br/> +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td>Type of <b>4th</b> parameter <b>options</b> has been changed from <b>int</b> to <b>uint32_t</b>.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +<tr> +<th>2</th> +<td>Type of return value has been changed from <b>int</b> to <span class='value'>enum LY_ERR</span>.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +</table> +<br/> +</div> +<span class="section" onclick="javascript:showContent(this, 'c_193')"> +<span class='ext'>[+]</span> lyd_print_file <span class='sym_p'><span>( FILE* <span class='color_p'>f</span></span>, <span>struct lyd_node const* <span class='color_p'>root</span></span>, <span>enum LYD_FORMAT <span class='color_p'>format</span></span>, <span>int <span class='color_p'>options</span></span> )</span> <span class='warning'> 2 </span></span> +<br/> +<div id="c_193" style="display:none;"> + + +<span class='new_sign_lbl'>⇣</span> +<br/> +<span class='new_sign'>lyd_print_file <span class='sym_p'><span>( FILE* <span class='color_p'>f</span></span>, <span>struct lyd_node const* <span class='color_p'>root</span></span>, <span>enum LYD_FORMAT <span class='color_p'>format</span></span>, <span>uint32_t <span class='color_p'>options</span></span> )</span></span><br/> +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td>Type of <b>4th</b> parameter <b>options</b> has been changed from <b>int</b> to <b>uint32_t</b>.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +<tr> +<th>2</th> +<td>Type of return value has been changed from <b>int</b> to <span class='value'>enum LY_ERR</span>.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +</table> +<br/> +</div> +<span class="section" onclick="javascript:showContent(this, 'c_194')"> +<span class='ext'>[+]</span> lyd_print_mem <span class='sym_p'><span>( char** <span class='color_p'>strp</span></span>, <span>struct lyd_node const* <span class='color_p'>root</span></span>, <span>enum LYD_FORMAT <span class='color_p'>format</span></span>, <span>int <span class='color_p'>options</span></span> )</span> <span class='warning'> 2 </span></span> +<br/> +<div id="c_194" style="display:none;"> + + +<span class='new_sign_lbl'>⇣</span> +<br/> +<span class='new_sign'>lyd_print_mem <span class='sym_p'><span>( char** <span class='color_p'>strp</span></span>, <span>struct lyd_node const* <span class='color_p'>root</span></span>, <span>enum LYD_FORMAT <span class='color_p'>format</span></span>, <span>uint32_t <span class='color_p'>options</span></span> )</span></span><br/> +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td>Type of <b>4th</b> parameter <b>options</b> has been changed from <b>int</b> to <b>uint32_t</b>.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +<tr> +<th>2</th> +<td>Type of return value has been changed from <b>int</b> to <span class='value'>enum LY_ERR</span>.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +</table> +<br/> +</div> +<span class="section" onclick="javascript:showContent(this, 'c_195')"> +<span class='ext'>[+]</span> lyd_print_path <span class='sym_p'><span>( char const* <span class='color_p'>path</span></span>, <span>struct lyd_node const* <span class='color_p'>root</span></span>, <span>enum LYD_FORMAT <span class='color_p'>format</span></span>, <span>int <span class='color_p'>options</span></span> )</span> <span class='warning'> 2 </span></span> +<br/> +<div id="c_195" style="display:none;"> + + +<span class='new_sign_lbl'>⇣</span> +<br/> +<span class='new_sign'>lyd_print_path <span class='sym_p'><span>( char const* <span class='color_p'>path</span></span>, <span>struct lyd_node const* <span class='color_p'>root</span></span>, <span>enum LYD_FORMAT <span class='color_p'>format</span></span>, <span>uint32_t <span class='color_p'>options</span></span> )</span></span><br/> +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td>Type of <b>4th</b> parameter <b>options</b> has been changed from <b>int</b> to <b>uint32_t</b>.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +<tr> +<th>2</th> +<td>Type of return value has been changed from <b>int</b> to <span class='value'>enum LY_ERR</span>.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +</table> +<br/> +</div> +<br/> +<span class='h_name'>tree_schema.h</span><br/> +<span class="section" onclick="javascript:showContent(this, 'c_196')"> +<span class='ext'>[+]</span> lys_getnext <span class='sym_p'><span>( struct lys_node const* <span class='color_p'>last</span></span>, <span>struct lys_node const* <span class='color_p'>parent</span></span>, <span>struct lys_module const* <span class='color_p'>module</span></span>, <span>int <span class='color_p'>options</span></span> )</span> <span class='warning'> 1 </span></span> +<br/> +<div id="c_196" style="display:none;"> + + +<span class='new_sign_lbl'>⇣</span> +<br/> +<span class='new_sign'>lys_getnext <span class='sym_p'><span>( struct lysc_node const* <span class='color_p'>last</span></span>, <span>struct lysc_node const* <span class='color_p'>parent</span></span>, <span>struct lysc_module const* <span class='color_p'>module</span></span>, <span>uint32_t <span class='color_p'>options</span></span> )</span></span><br/> +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td>Type of <b>4th</b> parameter <b>options</b> has been changed from <b>int</b> to <b>uint32_t</b>.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +</table> +<br/> +</div> +<span class="section" onclick="javascript:showContent(this, 'c_197')"> +<span class='ext'>[+]</span> lys_parse_fd <span class='sym_p'><span>( struct ly_ctx* <span class='color_p'>ctx</span></span>, <span>int <span class='color_p'>fd</span></span>, <span>enum LYS_INFORMAT <span class='color_p'>format</span></span> )</span> <span class='warning'> 1 </span></span> +<br/> +<div id="c_197" style="display:none;"> + +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td>Type of return value has been changed from <span class='value'>struct lys_module const*</span> to <span class='value'>enum LY_ERR</span>.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +</table> +<br/> +</div> +<span class="section" onclick="javascript:showContent(this, 'c_198')"> +<span class='ext'>[+]</span> lys_parse_mem <span class='sym_p'><span>( struct ly_ctx* <span class='color_p'>ctx</span></span>, <span>char const* <span class='color_p'>data</span></span>, <span>enum LYS_INFORMAT <span class='color_p'>format</span></span> )</span> <span class='warning'> 1 </span></span> +<br/> +<div id="c_198" style="display:none;"> + +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td>Type of return value has been changed from <span class='value'>struct lys_module const*</span> to <span class='value'>enum LY_ERR</span>.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +</table> +<br/> +</div> +<span class="section" onclick="javascript:showContent(this, 'c_199')"> +<span class='ext'>[+]</span> lys_parse_path <span class='sym_p'><span>( struct ly_ctx* <span class='color_p'>ctx</span></span>, <span>char const* <span class='color_p'>path</span></span>, <span>enum LYS_INFORMAT <span class='color_p'>format</span></span> )</span> <span class='warning'> 1 </span></span> +<br/> +<div id="c_199" style="display:none;"> + +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td>Type of return value has been changed from <span class='value'>struct lys_module const*</span> to <span class='value'>enum LY_ERR</span>.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +</table> +<br/> +</div> +<span class="section" onclick="javascript:showContent(this, 'c_200')"> +<span class='ext'>[+]</span> lys_print_clb <span class='sym_p'><span>( ssize_t(*<span class='color_p'>writeclb</span>)(void*, void const*, size_t)</span>, <span>void* <span class='color_p'>arg</span></span>, <span>struct lys_module const* <span class='color_p'>module</span></span>, <span>enum LYS_OUTFORMAT <span class='color_p'>format</span></span>, <span>char const* <span class='color_p'>target_node</span></span>, <span>int <span class='color_p'>line_length</span></span>, <span>int <span class='color_p'>options</span></span> )</span> <span class='warning'> 1 </span></span> +<br/> +<div id="c_200" style="display:none;"> + +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td>Type of return value has been changed from <b>int</b> to <span class='value'>enum LY_ERR</span>.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +</table> +<br/> +</div> +<span class="section" onclick="javascript:showContent(this, 'c_201')"> +<span class='ext'>[+]</span> lys_print_fd <span class='sym_p'><span>( int <span class='color_p'>fd</span></span>, <span>struct lys_module const* <span class='color_p'>module</span></span>, <span>enum LYS_OUTFORMAT <span class='color_p'>format</span></span>, <span>char const* <span class='color_p'>target_node</span></span>, <span>int <span class='color_p'>line_length</span></span>, <span>int <span class='color_p'>options</span></span> )</span> <span class='warning'> 1 </span></span> +<br/> +<div id="c_201" style="display:none;"> + +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td>Type of return value has been changed from <b>int</b> to <span class='value'>enum LY_ERR</span>.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +</table> +<br/> +</div> +<span class="section" onclick="javascript:showContent(this, 'c_202')"> +<span class='ext'>[+]</span> lys_print_file <span class='sym_p'><span>( FILE* <span class='color_p'>f</span></span>, <span>struct lys_module const* <span class='color_p'>module</span></span>, <span>enum LYS_OUTFORMAT <span class='color_p'>format</span></span>, <span>char const* <span class='color_p'>target_node</span></span>, <span>int <span class='color_p'>line_length</span></span>, <span>int <span class='color_p'>options</span></span> )</span> <span class='warning'> 1 </span></span> +<br/> +<div id="c_202" style="display:none;"> + +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td>Type of return value has been changed from <b>int</b> to <span class='value'>enum LY_ERR</span>.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +</table> +<br/> +</div> +<span class="section" onclick="javascript:showContent(this, 'c_203')"> +<span class='ext'>[+]</span> lys_print_mem <span class='sym_p'><span>( char** <span class='color_p'>strp</span></span>, <span>struct lys_module const* <span class='color_p'>module</span></span>, <span>enum LYS_OUTFORMAT <span class='color_p'>format</span></span>, <span>char const* <span class='color_p'>target_node</span></span>, <span>int <span class='color_p'>line_length</span></span>, <span>int <span class='color_p'>options</span></span> )</span> <span class='warning'> 1 </span></span> +<br/> +<div id="c_203" style="display:none;"> + +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td>Type of return value has been changed from <b>int</b> to <span class='value'>enum LY_ERR</span>.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +</table> +<br/> +</div> +<span class="section" onclick="javascript:showContent(this, 'c_204')"> +<span class='ext'>[+]</span> lys_print_path <span class='sym_p'><span>( char const* <span class='color_p'>path</span></span>, <span>struct lys_module const* <span class='color_p'>module</span></span>, <span>enum LYS_OUTFORMAT <span class='color_p'>format</span></span>, <span>char const* <span class='color_p'>target_node</span></span>, <span>int <span class='color_p'>line_length</span></span>, <span>int <span class='color_p'>options</span></span> )</span> <span class='warning'> 1 </span></span> +<br/> +<div id="c_204" style="display:none;"> + +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td>Type of return value has been changed from <b>int</b> to <span class='value'>enum LY_ERR</span>.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +</table> +<br/> +</div> +<span class="section" onclick="javascript:showContent(this, 'c_205')"> +<span class='ext'>[+]</span> lys_search_localfile <span class='sym_p'><span>( char const*const* <span class='color_p'>searchpaths</span></span>, <span>int <span class='color_p'>cwd</span></span>, <span>char const* <span class='color_p'>name</span></span>, <span>char const* <span class='color_p'>revision</span></span>, <span>char** <span class='color_p'>localfile</span></span>, <span>LYS_INFORMAT* <span class='color_p'>format</span></span> )</span> <span class='warning'> 2 </span></span> +<br/> +<div id="c_205" style="display:none;"> + + +<span class='new_sign_lbl'>⇣</span> +<br/> +<span class='new_sign'>lys_search_localfile <span class='sym_p'><span>( char const*const* <span class='color_p'>searchpaths</span></span>, <span>ly_bool <span class='color_p'>cwd</span></span>, <span>char const* <span class='color_p'>name</span></span>, <span>char const* <span class='color_p'>revision</span></span>, <span>char** <span class='color_p'>localfile</span></span>, <span>LYS_INFORMAT* <span class='color_p'>format</span></span> )</span></span><br/> +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td>Type of <b>2nd</b> parameter <b>cwd</b> has been changed from <b>int</b> to <b>ly_bool</b>.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +<tr> +<th>2</th> +<td>Type of return value has been changed from <b>int</b> to <span class='value'>enum LY_ERR</span>.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +</table> +<br/> +</div> +<span class="section" onclick="javascript:showContent(this, 'c_206')"> +<span class='ext'>[+]</span> lys_set_implemented <span class='sym_p'><span>( struct lys_module const* <span class='color_p'>module</span></span> )</span> <span class='warning'> 1 </span></span> +<br/> +<div id="c_206" style="display:none;"> + +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td>Type of return value has been changed from <b>int</b> to <span class='value'>enum LY_ERR</span>.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +</table> +<br/> +</div> +<br/> +<a class='top_ref' href='#Top'>to the top</a><br/> +<a name='Other_Source_Changes'></a><a name='Other_Source_Changes_In_Types'></a> +<h2>Other Changes in Data Types <span class='passed'> 24 </span></h2><hr/> +<span class='h_name'>libyang.h</span><br/> +<span class="section" onclick="javascript:showContent(this, 'c_207')"> +<span class='ext'>[+]</span> <span class='ttype'>enum</span> LY_ERR <span class='passed'> 9 </span></span> +<br/> +<div id="c_207" style="display:none;"> +<table class='ptable'><tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th></tr><tr> +<th>1</th> +<td>The member <b>LY_EDENIED</b> with value <b>8</b> has been added.</td> +<td>No effect.</td> +</tr> +<tr> +<th>2</th> +<td>The member <b>LY_EEXIST</b> with value <b>4</b> has been added.</td> +<td>No effect.</td> +</tr> +<tr> +<th>3</th> +<td>The member <b>LY_EINCOMPLETE</b> with value <b>9</b> has been added.</td> +<td>No effect.</td> +</tr> +<tr> +<th>4</th> +<td>The member <b>LY_ENOT</b> with value <b>10</b> has been added.</td> +<td>No effect.</td> +</tr> +<tr> +<th>5</th> +<td>The member <b>LY_ENOTFOUND</b> with value <b>5</b> has been added.</td> +<td>No effect.</td> +</tr> +<tr> +<th>6</th> +<td>The member <b>LY_EOTHER</b> with value <b>11</b> has been added.</td> +<td>No effect.</td> +</tr> +<tr> +<th>7</th> +<td>Value of member <b>LY_EINT</b> has been changed from <b>4</b> to <b>6</b>.</td> +<td>No effect.</td> +</tr> +<tr> +<th>8</th> +<td>Value of member <b>LY_EPLUGIN</b> has been changed from <b>6</b> to <b>128</b>.</td> +<td>No effect.</td> +</tr> +<tr> +<th>9</th> +<td>Value of member <b>LY_EVALID</b> has been changed from <b>5</b> to <b>7</b>.</td> +<td>No effect.</td> +</tr> +</table> +<span class="sect_aff" onclick="javascript:showContent(this, 'c_208')"> +[+] affected symbols: 3 (1.7%)</span> +<div id="c_208" style="display:none;"> +<div class='affected'><span class='iname_a'>ly_err_clean <span class='sym_p'><span>( struct ly_ctx* <i>ctx</i></span>, <span>struct ly_err_item* <span class='fp'>eitem</span></span> )</span></span><br/> +<div class='affect'>Field 'eitem.no' in 2nd parameter 'eitem' (pointer) is of type 'enum LY_ERR'.</div> +<span class='iname_a'>ly_err_first <span class='sym_p'><span>( struct ly_ctx const* <i>ctx</i></span> )</span></span><br/> +<div class='affect'>Field 'retval.no' in the return value (pointer) is of type 'enum LY_ERR'.</div> +<span class='iname_a'>ly_err_print <span class='sym_p'><span>( struct ly_err_item* <span class='fp'>eitem</span></span> )</span></span><br/> +<div class='affect'>Field 'eitem.no' in 1st parameter 'eitem' (pointer) is of type 'enum LY_ERR'.</div> +</div> +</div> +<br/><br/></div> + +<br/> +<span class='h_name'>tree_data.h</span><br/> +<span class="section" onclick="javascript:showContent(this, 'c_209')"> +<span class='ext'>[+]</span> <span class='ttype'>struct</span> lyd_node <span class='passed'> 5 </span></span> +<br/> +<div id="c_209" style="display:none;"> +<table class='ptable'><tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th></tr><tr> +<th>1</th> +<td>The relative position of field <b>hash</b> has been changed from <b>4</b> to <b>0</b>.</td> +<td>No effect.</td> +</tr> +<tr> +<th>2</th> +<td>The relative position of field <b>next</b> has been changed from <b>1</b> to <b>3</b>.</td> +<td>No effect.</td> +</tr> +<tr> +<th>3</th> +<td>The relative position of field <b>parent</b> has been changed from <b>3</b> to <b>2</b>.</td> +<td>No effect.</td> +</tr> +<tr> +<th>4</th> +<td>The relative position of field <b>prev</b> has been changed from <b>2</b> to <b>4</b>.</td> +<td>No effect.</td> +</tr> +<tr> +<th>5</th> +<td>The relative position of field <b>schema</b> has been changed from <b>0</b> to <b>1</b>.</td> +<td>No effect.</td> +</tr> +</table> +<span class="sect_aff" onclick="javascript:showContent(this, 'c_210')"> +[+] affected symbols: 9 (5.2%)</span> +<div id="c_210" style="display:none;"> +<div class='affected'><span class='iname_a'>lyd_find_sibling_val <span class='sym_p'><span>( struct lyd_node const* <span class='fp'>siblings</span></span>, <span>struct lys_node const* <i>schema</i></span>, <span>char const* <i>key_or_value</i></span>, <span>struct lyd_node** <i>match</i></span> )</span></span><br/> +<div class='affect'>1st parameter 'siblings' (pointer) has base type 'struct lyd_node'.</div> +<span class='iname_a'>lyd_first_sibling <span class='sym_p'><span>( struct lyd_node* <span class='fp'>node</span></span> )</span></span><br/> +<div class='affect'>1st parameter 'node' (pointer) has base type 'struct lyd_node'.</div> +<span class='iname_a'>lyd_list_pos <span class='sym_p'><span>( struct lyd_node const* <span class='fp'>node</span></span> )</span></span><br/> +<div class='affect'>1st parameter 'node' (pointer) has base type 'struct lyd_node'.</div> +<span class='iname_a'>lyd_path <span class='sym_p'><span>( struct lyd_node const* <span class='fp'>node</span></span> )</span></span><br/> +<div class='affect'>1st parameter 'node' (pointer) has base type 'struct lyd_node'.</div> +<span class='iname_a'>lyd_print_clb <span class='sym_p'><span>( ssize_t(*<i>writeclb</i>)(void*, void const*, size_t)</span>, <span>void* <i>arg</i></span>, <span>struct lyd_node const* <span class='fp'>root</span></span>, <span>enum LYD_FORMAT <i>format</i></span>, <span>int <i>options</i></span> )</span></span><br/> +<div class='affect'>3rd parameter 'root' (pointer) has base type 'struct lyd_node'.</div> +<span class='iname_a'>lyd_print_fd <span class='sym_p'><span>( int <i>fd</i></span>, <span>struct lyd_node const* <span class='fp'>root</span></span>, <span>enum LYD_FORMAT <i>format</i></span>, <span>int <i>options</i></span> )</span></span><br/> +<div class='affect'>2nd parameter 'root' (pointer) has base type 'struct lyd_node'.</div> +<span class='iname_a'>lyd_print_file <span class='sym_p'><span>( FILE* <i>f</i></span>, <span>struct lyd_node const* <span class='fp'>root</span></span>, <span>enum LYD_FORMAT <i>format</i></span>, <span>int <i>options</i></span> )</span></span><br/> +<div class='affect'>2nd parameter 'root' (pointer) has base type 'struct lyd_node'.</div> +<span class='iname_a'>lyd_print_mem <span class='sym_p'><span>( char** <i>strp</i></span>, <span>struct lyd_node const* <span class='fp'>root</span></span>, <span>enum LYD_FORMAT <i>format</i></span>, <span>int <i>options</i></span> )</span></span><br/> +<div class='affect'>2nd parameter 'root' (pointer) has base type 'struct lyd_node'.</div> +<span class='iname_a'>lyd_print_path <span class='sym_p'><span>( char const* <i>path</i></span>, <span>struct lyd_node const* <span class='fp'>root</span></span>, <span>enum LYD_FORMAT <i>format</i></span>, <span>int <i>options</i></span> )</span></span><br/> +<div class='affect'>2nd parameter 'root' (pointer) has base type 'struct lyd_node'.</div> +</div> +</div> +<br/><br/></div> + +<br/> +<span class='h_name'>tree_schema.h</span><br/> +<span class="section" onclick="javascript:showContent(this, 'c_211')"> +<span class='ext'>[+]</span> <span class='ttype'>enum</span> LYS_INFORMAT <span class='passed'> 1 </span></span> +<br/> +<div id="c_211" style="display:none;"> +<table class='ptable'><tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th></tr><tr> +<th>1</th> +<td>Value of member <b>LYS_IN_YIN</b> has been changed from <b>2</b> to <b>3</b>.</td> +<td>No effect.</td> +</tr> +</table> +<span class="sect_aff" onclick="javascript:showContent(this, 'c_212')"> +[+] affected symbols: 4 (2.3%)</span> +<div id="c_212" style="display:none;"> +<div class='affected'><span class='iname_a'>lys_parse_fd <span class='sym_p'><span>( struct ly_ctx* <i>ctx</i></span>, <span>int <i>fd</i></span>, <span>enum LYS_INFORMAT <span class='fp'>format</span></span> )</span></span><br/> +<div class='affect'>3rd parameter 'format' is of type 'enum LYS_INFORMAT'.</div> +<span class='iname_a'>lys_parse_mem <span class='sym_p'><span>( struct ly_ctx* <i>ctx</i></span>, <span>char const* <i>data</i></span>, <span>enum LYS_INFORMAT <span class='fp'>format</span></span> )</span></span><br/> +<div class='affect'>3rd parameter 'format' is of type 'enum LYS_INFORMAT'.</div> +<span class='iname_a'>lys_parse_path <span class='sym_p'><span>( struct ly_ctx* <i>ctx</i></span>, <span>char const* <i>path</i></span>, <span>enum LYS_INFORMAT <span class='fp'>format</span></span> )</span></span><br/> +<div class='affect'>3rd parameter 'format' is of type 'enum LYS_INFORMAT'.</div> +<span class='iname_a'>lys_search_localfile <span class='sym_p'><span>( char const*const* <i>searchpaths</i></span>, <span>int <i>cwd</i></span>, <span>char const* <i>name</i></span>, <span>char const* <i>revision</i></span>, <span>char** <i>localfile</i></span>, <span>LYS_INFORMAT* <span class='fp'>format</span></span> )</span></span><br/> +<div class='affect'>6th parameter 'format' (pointer) has base type 'enum LYS_INFORMAT'.</div> +</div> +</div> +<br/><br/></div> + +<span class="section" onclick="javascript:showContent(this, 'c_213')"> +<span class='ext'>[+]</span> <span class='ttype'>enum</span> LYS_OUTFORMAT <span class='passed'> 3 </span></span> +<br/> +<div id="c_213" style="display:none;"> +<table class='ptable'><tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th></tr><tr> +<th>1</th> +<td>The member <b>LYS_OUT_YANG_COMPILED</b> with value <b>2</b> has been added.</td> +<td>No effect.</td> +</tr> +<tr> +<th>2</th> +<td>Value of member <b>LYS_OUT_TREE</b> has been changed from <b>3</b> to <b>4</b>.</td> +<td>No effect.</td> +</tr> +<tr> +<th>3</th> +<td>Value of member <b>LYS_OUT_YIN</b> has been changed from <b>2</b> to <b>3</b>.</td> +<td>No effect.</td> +</tr> +</table> +<span class="sect_aff" onclick="javascript:showContent(this, 'c_214')"> +[+] affected symbols: 5 (2.9%)</span> +<div id="c_214" style="display:none;"> +<div class='affected'><span class='iname_a'>lys_print_clb <span class='sym_p'><span>( ssize_t(*<i>writeclb</i>)(void*, void const*, size_t)</span>, <span>void* <i>arg</i></span>, <span>struct lys_module const* <i>module</i></span>, <span>enum LYS_OUTFORMAT <span class='fp'>format</span></span>, <span>char const* <i>target_node</i></span>, <span>int <i>line_length</i></span>, <span>int <i>options</i></span> )</span></span><br/> +<div class='affect'>4th parameter 'format' is of type 'enum LYS_OUTFORMAT'.</div> +<span class='iname_a'>lys_print_fd <span class='sym_p'><span>( int <i>fd</i></span>, <span>struct lys_module const* <i>module</i></span>, <span>enum LYS_OUTFORMAT <span class='fp'>format</span></span>, <span>char const* <i>target_node</i></span>, <span>int <i>line_length</i></span>, <span>int <i>options</i></span> )</span></span><br/> +<div class='affect'>3rd parameter 'format' is of type 'enum LYS_OUTFORMAT'.</div> +<span class='iname_a'>lys_print_file <span class='sym_p'><span>( FILE* <i>f</i></span>, <span>struct lys_module const* <i>module</i></span>, <span>enum LYS_OUTFORMAT <span class='fp'>format</span></span>, <span>char const* <i>target_node</i></span>, <span>int <i>line_length</i></span>, <span>int <i>options</i></span> )</span></span><br/> +<div class='affect'>3rd parameter 'format' is of type 'enum LYS_OUTFORMAT'.</div> +<span class='iname_a'>lys_print_mem <span class='sym_p'><span>( char** <i>strp</i></span>, <span>struct lys_module const* <i>module</i></span>, <span>enum LYS_OUTFORMAT <span class='fp'>format</span></span>, <span>char const* <i>target_node</i></span>, <span>int <i>line_length</i></span>, <span>int <i>options</i></span> )</span></span><br/> +<div class='affect'>3rd parameter 'format' is of type 'enum LYS_OUTFORMAT'.</div> +<span class='iname_a'>lys_print_path <span class='sym_p'><span>( char const* <i>path</i></span>, <span>struct lys_module const* <i>module</i></span>, <span>enum LYS_OUTFORMAT <span class='fp'>format</span></span>, <span>char const* <i>target_node</i></span>, <span>int <i>line_length</i></span>, <span>int <i>options</i></span> )</span></span><br/> +<div class='affect'>3rd parameter 'format' is of type 'enum LYS_OUTFORMAT'.</div> +</div> +</div> +<br/><br/></div> + +<span class="section" onclick="javascript:showContent(this, 'c_215')"> +<span class='ext'>[+]</span> <span class='ttype'>struct</span> lys_module <span class='passed'> 6 </span></span> +<br/> +<div id="c_215" style="display:none;"> +<table class='ptable'><tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th></tr><tr> +<th>1</th> +<td>The relative position of field <b>dsc</b> has been changed from <b>3</b> to <b>7</b>.</td> +<td>No effect.</td> +</tr> +<tr> +<th>2</th> +<td>The relative position of field <b>filepath</b> has been changed from <b>7</b> to <b>4</b>.</td> +<td>No effect.</td> +</tr> +<tr> +<th>3</th> +<td>The relative position of field <b>latest_revision</b> has been changed from <b>9</b> to <b>10</b>.</td> +<td>No effect.</td> +</tr> +<tr> +<th>4</th> +<td>The relative position of field <b>ns</b> has been changed from <b>10</b> to <b>2</b>.</td> +<td>No effect.</td> +</tr> +<tr> +<th>5</th> +<td>The relative position of field <b>prefix</b> has been changed from <b>2</b> to <b>3</b>.</td> +<td>No effect.</td> +</tr> +<tr> +<th>6</th> +<td>The relative position of field <b>ref</b> has been changed from <b>4</b> to <b>8</b>.</td> +<td>No effect.</td> +</tr> +</table> +<span class="sect_aff" onclick="javascript:showContent(this, 'c_216')"> +[+] affected symbols: 8 (4.6%)</span> +<div id="c_216" style="display:none;"> +<div class='affected'><span class='iname_a'>ly_ctx_get_module <span class='sym_p'><span>( struct ly_ctx const* <i>ctx</i></span>, <span>char const* <i>name</i></span>, <span>char const* <i>revision</i></span>, <span>int <i>implemented</i></span> )</span></span><br/> +<div class='affect'>Return value (pointer) has base type 'struct lys_module'.</div> +<span class='iname_a'>ly_ctx_get_module_iter <span class='sym_p'><span>( struct ly_ctx const* <i>ctx</i></span>, <span>uint32_t* <i>idx</i></span> )</span></span><br/> +<div class='affect'>Return value (pointer) has base type 'struct lys_module'.</div> +<span class='iname_a'>ly_ctx_load_module <span class='sym_p'><span>( struct ly_ctx* <i>ctx</i></span>, <span>char const* <i>name</i></span>, <span>char const* <i>revision</i></span> )</span></span><br/> +<div class='affect'>Return value (pointer) has base type 'struct lys_module'.</div> +<span class='iname_a'>lys_print_clb <span class='sym_p'><span>( ssize_t(*<i>writeclb</i>)(void*, void const*, size_t)</span>, <span>void* <i>arg</i></span>, <span>struct lys_module const* <span class='fp'>module</span></span>, <span>enum LYS_OUTFORMAT <i>format</i></span>, <span>char const* <i>target_node</i></span>, <span>int <i>line_length</i></span>, <span>int <i>options</i></span> )</span></span><br/> +<div class='affect'>3rd parameter 'module' (pointer) has base type 'struct lys_module'.</div> +<span class='iname_a'>lys_print_fd <span class='sym_p'><span>( int <i>fd</i></span>, <span>struct lys_module const* <span class='fp'>module</span></span>, <span>enum LYS_OUTFORMAT <i>format</i></span>, <span>char const* <i>target_node</i></span>, <span>int <i>line_length</i></span>, <span>int <i>options</i></span> )</span></span><br/> +<div class='affect'>2nd parameter 'module' (pointer) has base type 'struct lys_module'.</div> +<span class='iname_a'>lys_print_file <span class='sym_p'><span>( FILE* <i>f</i></span>, <span>struct lys_module const* <span class='fp'>module</span></span>, <span>enum LYS_OUTFORMAT <i>format</i></span>, <span>char const* <i>target_node</i></span>, <span>int <i>line_length</i></span>, <span>int <i>options</i></span> )</span></span><br/> +<div class='affect'>2nd parameter 'module' (pointer) has base type 'struct lys_module'.</div> +<span class='iname_a'>lys_print_mem <span class='sym_p'><span>( char** <i>strp</i></span>, <span>struct lys_module const* <span class='fp'>module</span></span>, <span>enum LYS_OUTFORMAT <i>format</i></span>, <span>char const* <i>target_node</i></span>, <span>int <i>line_length</i></span>, <span>int <i>options</i></span> )</span></span><br/> +<div class='affect'>2nd parameter 'module' (pointer) has base type 'struct lys_module'.</div> +<span class='iname_a'>lys_print_path <span class='sym_p'><span>( char const* <i>path</i></span>, <span>struct lys_module const* <span class='fp'>module</span></span>, <span>enum LYS_OUTFORMAT <i>format</i></span>, <span>char const* <i>target_node</i></span>, <span>int <i>line_length</i></span>, <span>int <i>options</i></span> )</span></span><br/> +<div class='affect'>2nd parameter 'module' (pointer) has base type 'struct lys_module'.</div> +</div> +</div> +<br/><br/></div> + +<br/> +<a class='top_ref' href='#Top'>to the top</a><br/> +<a name='Other_Source_Changes_In_Symbols'></a><a name='Other_Source_Changes_In_Interfaces'></a> +<h2>Other Changes in Symbols <span class='passed'> 10 </span></h2><hr/> +<span class='h_name'>libyang.h</span><br/> +<span class="section" onclick="javascript:showContent(this, 'c_217')"> +<span class='ext'>[+]</span> ly_ctx_get_module_iter <span class='sym_p'><span>( struct ly_ctx const* <span class='color_p'>ctx</span></span>, <span>uint32_t* <span class='color_p'>idx</span></span> )</span> <span class='passed'> 1 </span></span> +<br/> +<div id="c_217" style="display:none;"> + + +<span class='new_sign_lbl'>⇣</span> +<br/> +<span class='new_sign'>ly_ctx_get_module_iter <span class='sym_p'><span>( struct ly_ctx const* <span class='color_p'>ctx</span></span>, <span>uint32_t* <span class='color_p'>index</span></span> )</span></span><br/> +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td><b>2nd</b> parameter <b>idx</b> has been renamed to <b>index</b>.</td> +<td>No effect.</td> +</tr> +</table> +<br/> +</div> +<span class="section" onclick="javascript:showContent(this, 'c_218')"> +<span class='ext'>[+]</span> ly_set_add <span class='sym_p'><span>( struct ly_set* <span class='color_p'>set</span></span>, <span>void* <span class='color_p'>node</span></span>, <span>int <span class='color_p'>options</span></span> )</span> <span class='passed'> 1 </span></span> +<br/> +<div id="c_218" style="display:none;"> + + +<span class='new_sign_lbl'>⇣</span> +<br/> +<span class='new_sign'>ly_set_add <span class='sym_p'><span>( struct ly_set* <span class='color_p'>set</span></span>, <span>void* <span class='color_p'>object</span></span>, <span>ly_bool <span class='color_p'>list</span></span>, <span>uint32_t* <span class='color_p'>index_p</span></span> )</span></span><br/> +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td><b>2nd</b> parameter <b>node</b> has been renamed to <b>object</b>.</td> +<td>No effect.</td> +</tr> +</table> +<br/> +</div> +<span class="section" onclick="javascript:showContent(this, 'c_219')"> +<span class='ext'>[+]</span> ly_set_contains <span class='sym_p'><span>( struct ly_set const* <span class='color_p'>set</span></span>, <span>void* <span class='color_p'>node</span></span> )</span> <span class='passed'> 1 </span></span> +<br/> +<div id="c_219" style="display:none;"> + + +<span class='new_sign_lbl'>⇣</span> +<br/> +<span class='new_sign'>ly_set_contains <span class='sym_p'><span>( struct ly_set const* <span class='color_p'>set</span></span>, <span>void* <span class='color_p'>object</span></span>, <span>uint32_t* <span class='color_p'>index_p</span></span> )</span></span><br/> +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td><b>2nd</b> parameter <b>node</b> has been renamed to <b>object</b>.</td> +<td>No effect.</td> +</tr> +</table> +<br/> +</div> +<span class="section" onclick="javascript:showContent(this, 'c_220')"> +<span class='ext'>[+]</span> ly_set_rm <span class='sym_p'><span>( struct ly_set* <span class='color_p'>set</span></span>, <span>void* <span class='color_p'>node</span></span> )</span> <span class='passed'> 1 </span></span> +<br/> +<div id="c_220" style="display:none;"> + + +<span class='new_sign_lbl'>⇣</span> +<br/> +<span class='new_sign'>ly_set_rm <span class='sym_p'><span>( struct ly_set* <span class='color_p'>set</span></span>, <span>void* <span class='color_p'>object</span></span>, <span>void(*<span class='color_p'>destructor</span>)(void*)</span> )</span></span><br/> +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td><b>2nd</b> parameter <b>node</b> has been renamed to <b>object</b>.</td> +<td>No effect.</td> +</tr> +</table> +<br/> +</div> +<br/> +<span class='h_name'>tree_data.h</span><br/> +<span class="section" onclick="javascript:showContent(this, 'c_221')"> +<span class='ext'>[+]</span> lyd_list_pos <span class='sym_p'><span>( struct lyd_node const* <span class='color_p'>node</span></span> )</span> <span class='passed'> 1 </span></span> +<br/> +<div id="c_221" style="display:none;"> + + +<span class='new_sign_lbl'>⇣</span> +<br/> +<span class='new_sign'>lyd_list_pos <span class='sym_p'><span>( struct lyd_node const* <span class='color_p'>instance</span></span> )</span></span><br/> +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td><b>1st</b> parameter <b>node</b> has been renamed to <b>instance</b>.</td> +<td>No effect.</td> +</tr> +</table> +<br/> +</div> +<span class="section" onclick="javascript:showContent(this, 'c_222')"> +<span class='ext'>[+]</span> lyd_new_path <span class='sym_p'><span>( struct lyd_node* <span class='color_p'>data_tree</span></span>, <span>struct ly_ctx const* <span class='color_p'>ctx</span></span>, <span>char const* <span class='color_p'>path</span></span>, <span>void* <span class='color_p'>value</span></span>, <span>enum LYD_ANYDATA_VALUETYPE <span class='color_p'>value_type</span></span>, <span>int <span class='color_p'>options</span></span> )</span> <span class='passed'> 3 </span></span> +<br/> +<div id="c_222" style="display:none;"> + + +<span class='new_sign_lbl'>⇣</span> +<br/> +<span class='new_sign'>lyd_new_path <span class='sym_p'><span>( struct lyd_node* <span class='color_p'>parent</span></span>, <span>struct ly_ctx const* <span class='color_p'>ctx</span></span>, <span>char const* <span class='color_p'>path</span></span>, <span>char const* <span class='color_p'>value</span></span>, <span>uint32_t <span class='color_p'>options</span></span>, <span>struct lyd_node** <span class='color_p'>node</span></span> )</span></span><br/> +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td><b>1st</b> parameter <b>data_tree</b> has been renamed to <b>parent</b>.</td> +<td>No effect.</td> +</tr> +<tr> +<th>2</th> +<td><b>5th</b> parameter <b>value_type</b> has been renamed to <b>options</b>.</td> +<td>No effect.</td> +</tr> +<tr> +<th>3</th> +<td><b>6th</b> parameter <b>options</b> has been renamed to <b>node</b>.</td> +<td>No effect.</td> +</tr> +</table> +<br/> +</div> +<span class="section" onclick="javascript:showContent(this, 'c_223')"> +<span class='ext'>[+]</span> lyd_print_clb <span class='sym_p'><span>( ssize_t(*<span class='color_p'>writeclb</span>)(void*, void const*, size_t)</span>, <span>void* <span class='color_p'>arg</span></span>, <span>struct lyd_node const* <span class='color_p'>root</span></span>, <span>enum LYD_FORMAT <span class='color_p'>format</span></span>, <span>int <span class='color_p'>options</span></span> )</span> <span class='passed'> 1 </span></span> +<br/> +<div id="c_223" style="display:none;"> + + +<span class='new_sign_lbl'>⇣</span> +<br/> +<span class='new_sign'>lyd_print_clb <span class='sym_p'><span>( ly_write_clb <span class='color_p'>writeclb</span></span>, <span>void* <span class='color_p'>user_data</span></span>, <span>struct lyd_node const* <span class='color_p'>root</span></span>, <span>enum LYD_FORMAT <span class='color_p'>format</span></span>, <span>uint32_t <span class='color_p'>options</span></span> )</span></span><br/> +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td><b>2nd</b> parameter <b>arg</b> has been renamed to <b>user_data</b>.</td> +<td>No effect.</td> +</tr> +</table> +<br/> +</div> +<br/> +<span class='h_name'>tree_schema.h</span><br/> +<span class="section" onclick="javascript:showContent(this, 'c_224')"> +<span class='ext'>[+]</span> lys_print_clb <span class='sym_p'><span>( ssize_t(*<span class='color_p'>writeclb</span>)(void*, void const*, size_t)</span>, <span>void* <span class='color_p'>arg</span></span>, <span>struct lys_module const* <span class='color_p'>module</span></span>, <span>enum LYS_OUTFORMAT <span class='color_p'>format</span></span>, <span>char const* <span class='color_p'>target_node</span></span>, <span>int <span class='color_p'>line_length</span></span>, <span>int <span class='color_p'>options</span></span> )</span> <span class='passed'> 1 </span></span> +<br/> +<div id="c_224" style="display:none;"> + + +<span class='new_sign_lbl'>⇣</span> +<br/> +<span class='new_sign'>lys_print_clb <span class='sym_p'><span>( ly_write_clb <span class='color_p'>writeclb</span></span>, <span>void* <span class='color_p'>user_data</span></span>, <span>struct lys_module const* <span class='color_p'>module</span></span>, <span>enum LYS_OUTFORMAT <span class='color_p'>format</span></span>, <span>uint32_t <span class='color_p'>options</span></span> )</span></span><br/> +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td><b>2nd</b> parameter <b>arg</b> has been renamed to <b>user_data</b>.</td> +<td>No effect.</td> +</tr> +</table> +<br/> +</div> +<br/> +<a class='top_ref' href='#Top'>to the top</a><br/> +<a name='Headers'></a><h2>Header Files <span class='gray'> 7 </span></h2><hr/> +<div class='h_list'> +dict.h<br/> +extensions.h<br/> +libyang.h<br/> +tree_data.h<br/> +tree_schema.h<br/> +user_types.h<br/> +xml.h<br/> +</div> +<br/><a class='top_ref' href='#Top'>to the top</a><br/> +<a name='Sources'></a><h2>Source Files <span class='gray'> 11 </span></h2><hr/> +<div class='h_list'> +common.c<br/> +context.c<br/> +hash_table.c<br/> +log.c<br/> +parser_lyb.c<br/> +parser_xml.c<br/> +plugins.c<br/> +printer.c<br/> +tree_data.c<br/> +tree_schema.c<br/> +xml.c<br/> +</div> +<br/><a class='top_ref' href='#Top'>to the top</a><br/> +<a name='Libs'></a><h2>Objects <span class='gray'> 1 </span></h2><hr/> +<div class='lib_list'> +libyang.so.1.9.19<br/> +</div> +<br/><a class='top_ref' href='#Top'>to the top</a><br/> +<br/><br/><br/></div><hr/> +<div class='footer' align='right'><i>Generated by <a href='https://github.com/lvc/abi-compliance-checker'>ABI Compliance Checker</a> 2.3  </i> +</div> +<br/> + +</body></html> diff --git a/doc/compat_report_2_3.html b/doc/compat_report_2_3.html new file mode 100644 index 0000000..90bfe04 --- /dev/null +++ b/doc/compat_report_2_3.html @@ -0,0 +1,3221 @@ +<!-- kind:binary;verdict:incompatible;affected:34.1;added:15;removed:19;type_problems_high:0;type_problems_medium:7;type_problems_low:7;interface_problems_high:26;interface_problems_medium:4;interface_problems_low:18;changed_constants:0;tool_version:2.3 --> +<!-- kind:source;verdict:incompatible;affected:57.7;added:15;removed:19;type_problems_high:4;type_problems_medium:0;type_problems_low:7;interface_problems_high:20;interface_problems_medium:4;interface_problems_low:6;changed_constants:0;interface_changes_other:15;tool_version:2.3 --> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> +<meta name="viewport" content="width=device-width,initial-scale=1" /> +<meta name="keywords" content="libyang.so, compatibility, API, ABI, report" /> +<meta name="description" content="API/ABI compatibility report for the libyang.so object between 2.47.2 and 3.0.0 versions" /> +<title>libyang.so: 2.47.2 to 3.0.0 compatibility report</title> +<style type="text/css"> +body { + font-family:Arial, sans-serif; + background-color:White; + color:Black; +} +hr { + color:Black; + background-color:Black; + height:1px; + border:0; +} +h1 { + margin-bottom:0px; + padding-bottom:0px; + font-size:1.625em; +} +h2 { + margin-bottom:0px; + padding-bottom:0px; + font-size:1.25em; + white-space:nowrap; +} +span.section { + font-weight:bold; + cursor:pointer; + color:#003E69; + white-space:nowrap; + margin-left:0.3125em; +} +span.new_sign { + font-weight:bold; + margin-left:1.65em; + color:#003E69; +} +span.new_sign_lbl { + margin-left:3em; + font-size:1em; + color:Black; +} +span:hover.section { + color:#336699; +} +span.sect_aff { + cursor:pointer; + padding-left:1.55em; + font-size:0.875em; + color:#cc3300; +} +span.sect_info { + cursor:pointer; + padding-left:1.55em; + font-size:0.875em; + color:Black; +} +span.ext { + font-weight:normal; +} +span.h_name { + color:#cc3300; + font-size:0.875em; + font-weight:bold; +} +div.h_list, div.lib_list { + font-size:0.94em; + padding-left:0.4em; +} +span.ns { + color:#408080; + font-size:0.94em; +} +span.lib_name { + color:Green; + font-size:0.875em; + font-weight:bold; +} +span.iname { + font-weight:bold; + color:#003E69; + margin-left:0.3125em; +} +span.iname_b { + font-weight:bold; +} +span.iname_a { + color:#333333; + font-weight:bold; + font-size:0.94em; +} +span.sym_p { + font-weight:normal; + white-space:normal; +} +span.sym_pd { + white-space:normal; +} +span.sym_p span, span.sym_pd span { + white-space:nowrap; +} +div.affect { + padding-left:1em; + padding-bottom:10px; + font-size:0.87em; + font-style:italic; + line-height:0.9em; +} +div.affected { + padding-left:1.9em; + padding-top:10px; +} +table.ptable { + border-collapse:collapse; + border:1px outset black; + margin-left:0.95em; + margin-top:3px; + margin-bottom:3px; + width:56.25em; +} +table.ptable td { + border:1px solid gray; + padding:3px; + font-size:0.875em; + text-align:left; + vertical-align:top; + max-width:28em; + word-wrap:break-word; +} +table.ptable th.pn { + width:2%; +} +table.ptable th.chg { + width:47%; +} +table.vtable { + border-collapse:collapse; + border:1px outset black; + margin-left:1.9em; + margin-top:0.7em; +} +table.vtable td { + border:1px solid gray; + padding:3px; + font-size:0.875em; + vertical-align:top; + max-width:450px; + word-wrap:break-word; +} +table.ptable th, table.vtable th { + background-color:#eeeeee; + font-weight:bold; + color:#333333; + font-family:Verdana, Arial; + font-size:0.875em; + border:1px solid gray; + text-align:center; + vertical-align:top; + white-space:nowrap; + padding:3px; +} +table.summary { + border-collapse:collapse; + border:1px outset black; +} +table.summary th { + background-color:#eeeeee; + font-weight:normal; + text-align:left; + font-size:0.94em; + white-space:nowrap; + border:1px inset gray; + padding:3px; +} +table.summary td { + text-align:right; + white-space:nowrap; + border:1px inset gray; + padding:3px 5px 3px 10px; +} +span.mngl { + padding-left:1em; + font-size:0.875em; + cursor:text; + color:#444444; + font-weight:bold; +} +span.pleft { + padding-left:2.5em; +} +span.sym_ver { + color:#333333; + white-space:nowrap; + font-family:"DejaVu Sans Mono", Monospace; +} +span.attr { + color:#333333; + font-weight:normal; +} +span.color_p { + font-style:italic; + color:Brown; +} +span.p { + font-style:italic; +} +span.fp { + font-style:italic; + background-color:#DCDCDC; +} +span.ttype { + font-weight:normal; +} +span.nowrap { + white-space:nowrap; +} +span.value { + font-weight:bold; +} +.passed { + background-color:#CCFFCC; + font-weight:normal; +} +.warning { + background-color:#F4F4AF; + font-weight:normal; +} +.failed { + background-color:#FFCCCC; + font-weight:normal; +} +.new { + background-color:#C6DEFF; + font-weight:normal; +} +.compatible { + background-color:#CCFFCC; + font-weight:normal; +} +.almost_compatible { + background-color:#FFDAA3; + font-weight:normal; +} +.incompatible { + background-color:#FFCCCC; + font-weight:normal; +} +.gray { + background-color:#DCDCDC; + font-weight:normal; +} +.top_ref { + font-size:0.69em; +} +.footer { + font-size:0.75em; +} + +.tabset { + float:left; +} +a.tab { + border:1px solid Black; + float:left; + margin:0px 5px -1px 0px; + padding:3px 5px 3px 5px; + position:relative; + font-size:0.875em; + background-color:#DDD; + text-decoration:none; + color:Black; +} +a.disabled:hover +{ + color:Black; + background:#EEE; +} +a.active:hover +{ + color:Black; + background:White; +} +a.active { + border-bottom-color:White; + background-color:White; +} +div.tab { + border-top:1px solid Black; + padding:0px; + width:100%; + clear:both; +} +</style> +<script type="text/javascript" language="JavaScript"> +<!-- +function showContent(header, id) +{ + e = document.getElementById(id); + if(e.style.display == 'none') + { + e.style.display = 'block'; + e.style.visibility = 'visible'; + header.innerHTML = header.innerHTML.replace(/\[[^0-9 ]\]/gi,"[−]"); + } + else + { + e.style.display = 'none'; + e.style.visibility = 'hidden'; + header.innerHTML = header.innerHTML.replace(/\[[^0-9 ]\]/gi,"[+]"); + } +} +function initTabs() +{ + var url = window.location.href; + if(url.indexOf('_Source_')!=-1 || url.indexOf('#Source')!=-1) + { + var tab1 = document.getElementById('BinaryID'); + var tab2 = document.getElementById('SourceID'); + tab1.className='tab disabled'; + tab2.className='tab active'; + } + var sets = document.getElementsByTagName('div'); + for (var i = 0; i < sets.length; i++) + { + if (sets[i].className.indexOf('tabset') != -1) + { + var tabs = []; + var links = sets[i].getElementsByTagName('a'); + for (var j = 0; j < links.length; j++) + { + if (links[j].className.indexOf('tab') != -1) + { + tabs.push(links[j]); + links[j].tabs = tabs; + var tab = document.getElementById(links[j].href.substr(links[j].href.indexOf('#') + 1)); + //reset all tabs on start + if (tab) + { + if (links[j].className.indexOf('active')!=-1) { + tab.style.display = 'block'; + } + else { + tab.style.display = 'none'; + } + } + links[j].onclick = function() + { + var tab = document.getElementById(this.href.substr(this.href.indexOf('#') + 1)); + if (tab) + { + //reset all tabs before change + for (var k = 0; k < this.tabs.length; k++) + { + document.getElementById(this.tabs[k].href.substr(this.tabs[k].href.indexOf('#') + 1)).style.display = 'none'; + this.tabs[k].className = this.tabs[k].className.replace('active', 'disabled'); + } + this.className = 'tab active'; + tab.style.display = 'block'; + // window.location.hash = this.id.replace('ID', ''); + return false; + } + } + } + } + } + } + if(url.indexOf('#')!=-1) { + location.href=location.href; + } +} +if (window.addEventListener) window.addEventListener('load', initTabs, false); +else if (window.attachEvent) window.attachEvent('onload', initTabs); +--> +</script> +</head> +<body><a name='Source'></a><a name='Binary'></a><a name='Top'></a><h1>API compatibility report for the <span style='color:Blue;'>libyang.so</span> object between <span style='color:Red;'>2.47.2</span> and <span style='color:Red;'>3.0.0</span> versions on <span style='color:Blue;'>x86_64</span></h1> + + <br/> + <div class='tabset'> + <a id='BinaryID' href='#BinaryTab' class='tab active'>Binary<br/>Compatibility</a> + <a id='SourceID' href='#SourceTab' style='margin-left:3px' class='tab disabled'>Source<br/>Compatibility</a> + </div><div id='BinaryTab' class='tab'> +<h2>Test Info</h2><hr/> +<table class='summary'> +<tr><th>Module Name</th><td>libyang.so</td></tr> +<tr><th>Version #1</th><td>2.47.2</td></tr> +<tr><th>Version #2</th><td>3.0.0</td></tr> +<tr><th>Arch</th><td>x86_64</td></tr> +<tr><th>GCC Version</th><td>13.2.1</td></tr> +<tr><th>Subject</th><td width='150px'>Binary Compatibility</td></tr> +</table> +<h2>Test Results</h2><hr/> +<table class='summary'><tr><th>Total Header Files</th><td><a href='#Headers' style='color:Blue;'>17</a></td></tr> +<tr><th>Total Objects</th><td><a href='#Libs' style='color:Blue;'>1</a></td></tr> +<tr><th>Total Symbols / Types</th><td>391 / 104</td></tr> +<tr><th>Compatibility</th> +<td class='incompatible'>65.9%</td> +</tr> +</table> +<h2>Problem Summary</h2><hr/> +<table class='summary'><tr><th></th><th style='text-align:center;'>Severity</th><th style='text-align:center;'>Count</th></tr><tr><th>Added Symbols</th><td>-</td><td class='new'><a href='#Binary_Added' style='color:Blue;'>15</a></td></tr> +<tr><th>Removed Symbols</th><td>High</td><td class='failed'><a href='#Binary_Removed' style='color:Blue;'>19</a></td></tr> +<tr><th rowspan='3'>Problems with<br/>Data Types</th><td>High</td><td>0</td></tr> +<tr><td>Medium</td><td class='failed'><a href='#Type_Binary_Problems_Medium' style='color:Blue;'>7</a></td></tr> +<tr><td>Low</td><td class='warning'><a href='#Type_Binary_Problems_Low' style='color:Blue;'>7</a></td></tr> +<tr><th rowspan='3'>Problems with<br/>Symbols</th><td>High</td><td class='failed'><a href='#Symbol_Binary_Problems_High' style='color:Blue;'>26</a></td></tr> +<tr><td>Medium</td><td class='failed'><a href='#Symbol_Binary_Problems_Medium' style='color:Blue;'>4</a></td></tr> +<tr><td>Low</td><td class='warning'><a href='#Symbol_Binary_Problems_Low' style='color:Blue;'>18</a></td></tr> +<tr><th>Problems with<br/>Constants</th><td>Low</td><td>0</td></tr> +</table> + +<a name='Binary_Added'></a><h2>Added Symbols <span class='new'> 15 </span></h2><hr/> +<span class='h_name'>log.h</span>, <span class='lib_name'>libyang.so.3.0.0</span><br/> +<span class="iname">ly_last_logmsg <span class='sym_p'>( )</span></span><br/> +<span class="iname">ly_strerr <span class='sym_p'>( )</span></span><br/> +<br/> +<span class='h_name'>plugins_types.h</span>, <span class='lib_name'>libyang.so.3.0.0</span><br/> +<span class="iname">lyplg_type_sort_binary <span class='sym_p'><span>( struct ly_ctx const* <span class='color_p'>UNUSED_ctx</span></span>, <span>struct lyd_value const* <span class='color_p'>val1</span></span>, <span>struct lyd_value const* <span class='color_p'>val2</span></span> )</span></span><br/> +<span class="iname">lyplg_type_sort_bits <span class='sym_p'><span>( struct ly_ctx const* <span class='color_p'>UNUSED_ctx</span></span>, <span>struct lyd_value const* <span class='color_p'>val1</span></span>, <span>struct lyd_value const* <span class='color_p'>val2</span></span> )</span></span><br/> +<span class="iname">lyplg_type_sort_boolean <span class='sym_p'><span>( struct ly_ctx const* <span class='color_p'>UNUSED_ctx</span></span>, <span>struct lyd_value const* <span class='color_p'>val1</span></span>, <span>struct lyd_value const* <span class='color_p'>val2</span></span> )</span></span><br/> +<span class="iname">lyplg_type_sort_decimal64 <span class='sym_p'><span>( struct ly_ctx const* <span class='color_p'>UNUSED_ctx</span></span>, <span>struct lyd_value const* <span class='color_p'>val1</span></span>, <span>struct lyd_value const* <span class='color_p'>val2</span></span> )</span></span><br/> +<span class="iname">lyplg_type_sort_enum <span class='sym_p'><span>( struct ly_ctx const* <span class='color_p'>UNUSED_ctx</span></span>, <span>struct lyd_value const* <span class='color_p'>val1</span></span>, <span>struct lyd_value const* <span class='color_p'>val2</span></span> )</span></span><br/> +<span class="iname">lyplg_type_sort_identityref <span class='sym_p'><span>( struct ly_ctx const* <span class='color_p'>UNUSED_ctx</span></span>, <span>struct lyd_value const* <span class='color_p'>val1</span></span>, <span>struct lyd_value const* <span class='color_p'>val2</span></span> )</span></span><br/> +<span class="iname">lyplg_type_sort_instanceid <span class='sym_p'><span>( struct ly_ctx const* <span class='color_p'>ctx</span></span>, <span>struct lyd_value const* <span class='color_p'>val1</span></span>, <span>struct lyd_value const* <span class='color_p'>val2</span></span> )</span></span><br/> +<span class="iname">lyplg_type_sort_int <span class='sym_p'><span>( struct ly_ctx const* <span class='color_p'>UNUSED_ctx</span></span>, <span>struct lyd_value const* <span class='color_p'>val1</span></span>, <span>struct lyd_value const* <span class='color_p'>val2</span></span> )</span></span><br/> +<span class="iname">lyplg_type_sort_leafref <span class='sym_p'><span>( struct ly_ctx const* <span class='color_p'>ctx</span></span>, <span>struct lyd_value const* <span class='color_p'>val1</span></span>, <span>struct lyd_value const* <span class='color_p'>val2</span></span> )</span></span><br/> +<span class="iname">lyplg_type_sort_simple <span class='sym_p'><span>( struct ly_ctx const* <span class='color_p'>ctx</span></span>, <span>struct lyd_value const* <span class='color_p'>val1</span></span>, <span>struct lyd_value const* <span class='color_p'>val2</span></span> )</span></span><br/> +<span class="iname">lyplg_type_sort_uint <span class='sym_p'><span>( struct ly_ctx const* <span class='color_p'>UNUSED_ctx</span></span>, <span>struct lyd_value const* <span class='color_p'>val1</span></span>, <span>struct lyd_value const* <span class='color_p'>val2</span></span> )</span></span><br/> +<span class="iname">lyplg_type_sort_union <span class='sym_p'><span>( struct ly_ctx const* <span class='color_p'>ctx</span></span>, <span>struct lyd_value const* <span class='color_p'>val1</span></span>, <span>struct lyd_value const* <span class='color_p'>val2</span></span> )</span></span><br/> +<br/> +<span class='h_name'>printer_data.h</span>, <span class='lib_name'>libyang.so.3.0.0</span><br/> +<span class="iname">lyd_metadata_should_print <span class='sym_p'><span>( struct lyd_meta const* <span class='color_p'>meta</span></span> )</span></span><br/> +<br/> +<a class='top_ref' href='#Top'>to the top</a><br/> +<a name='Binary_Removed'></a><a name='Binary_Withdrawn'></a><h2>Removed Symbols <span class='failed'> 19 </span></h2><hr/> +<span class='h_name'>context.h</span>, <span class='lib_name'>libyang.so.2.47.2</span><br/> +<span class="iname">ly_ctx_reset_latests <span class='sym_p'><span>( struct ly_ctx* <span class='color_p'>ctx</span></span> )</span></span><br/> +<br/> +<span class='h_name'>log.h</span>, <span class='lib_name'>libyang.so.2.47.2</span><br/> +<span class="iname">ly_errapptag <span class='sym_p'><span>( struct ly_ctx const* <span class='color_p'>ctx</span></span> )</span></span><br/> +<span class="iname">ly_errcode <span class='sym_p'><span>( struct ly_ctx const* <span class='color_p'>ctx</span></span> )</span></span><br/> +<span class="iname">ly_errmsg <span class='sym_p'><span>( struct ly_ctx const* <span class='color_p'>ctx</span></span> )</span></span><br/> +<span class="iname">ly_errpath <span class='sym_p'><span>( struct ly_ctx const* <span class='color_p'>ctx</span></span> )</span></span><br/> +<span class="iname">ly_last_errmsg <span class='sym_p'>( )</span></span><br/> +<span class="iname">ly_strerrcode <span class='sym_p'>( )</span></span><br/> +<span class="iname">ly_vecode <span class='sym_p'><span>( struct ly_ctx const* <span class='color_p'>ctx</span></span> )</span></span><br/> +<br/> +<span class='h_name'>tree_data.h</span>, <span class='lib_name'>libyang.so.2.47.2</span><br/> +<span class="iname">lyd_child <span class='sym_p'><span>( struct lyd_node const* <span class='color_p'>node</span></span> )</span></span><br/> +<span class="iname">lyd_find_xpath4 <span class='sym_p'><span>( struct lyd_node const* <span class='color_p'>ctx_node</span></span>, <span>struct lyd_node const* <span class='color_p'>tree</span></span>, <span>char const* <span class='color_p'>xpath</span></span>, <span>void* <span class='color_p'>prefix_data</span></span>, <span>struct lyxp_var const* <span class='color_p'>vars</span></span>, <span>struct ly_set** <span class='color_p'>set</span></span> )</span></span><br/> +<span class="iname">lyd_get_value <span class='sym_p'><span>( struct lyd_node const* <span class='color_p'>node</span></span> )</span></span><br/> +<span class="iname">lyd_new_list3_bin <span class='sym_p'><span>( struct lyd_node* <span class='color_p'>parent</span></span>, <span>struct lys_module const* <span class='color_p'>module</span></span>, <span>char const* <span class='color_p'>name</span></span>, <span>void const** <span class='color_p'>key_values</span></span>, <span>uint32_t* <span class='color_p'>value_lengths</span></span>, <span>ly_bool <span class='color_p'>output</span></span>, <span>struct lyd_node** <span class='color_p'>node</span></span> )</span></span><br/> +<span class="iname">lyd_new_list3_canon <span class='sym_p'><span>( struct lyd_node* <span class='color_p'>parent</span></span>, <span>struct lys_module const* <span class='color_p'>module</span></span>, <span>char const* <span class='color_p'>name</span></span>, <span>char const** <span class='color_p'>key_values</span></span>, <span>uint32_t* <span class='color_p'>value_lengths</span></span>, <span>ly_bool <span class='color_p'>output</span></span>, <span>struct lyd_node** <span class='color_p'>node</span></span> )</span></span><br/> +<span class="iname">lyd_new_list_bin <span class='sym_p'><span>( struct lyd_node* <span class='color_p'>parent</span></span>, <span>struct lys_module const* <span class='color_p'>module</span></span>, <span>char const* <span class='color_p'>name</span></span>, <span>ly_bool <span class='color_p'>output</span></span>, <span>struct lyd_node** <span class='color_p'>node</span></span>, <span>...</span> )</span></span><br/> +<span class="iname">lyd_new_list_canon <span class='sym_p'><span>( struct lyd_node* <span class='color_p'>parent</span></span>, <span>struct lys_module const* <span class='color_p'>module</span></span>, <span>char const* <span class='color_p'>name</span></span>, <span>ly_bool <span class='color_p'>output</span></span>, <span>struct lyd_node** <span class='color_p'>node</span></span>, <span>...</span> )</span></span><br/> +<span class="iname">lyd_new_term_bin <span class='sym_p'><span>( struct lyd_node* <span class='color_p'>parent</span></span>, <span>struct lys_module const* <span class='color_p'>module</span></span>, <span>char const* <span class='color_p'>name</span></span>, <span>void const* <span class='color_p'>value</span></span>, <span>size_t <span class='color_p'>value_len</span></span>, <span>ly_bool <span class='color_p'>output</span></span>, <span>struct lyd_node** <span class='color_p'>node</span></span> )</span></span><br/> +<span class="iname">lyd_new_term_canon <span class='sym_p'><span>( struct lyd_node* <span class='color_p'>parent</span></span>, <span>struct lys_module const* <span class='color_p'>module</span></span>, <span>char const* <span class='color_p'>name</span></span>, <span>char const* <span class='color_p'>val_str</span></span>, <span>ly_bool <span class='color_p'>output</span></span>, <span>struct lyd_node** <span class='color_p'>node</span></span> )</span></span><br/> +<span class="iname">lyd_parent <span class='sym_p'><span>( struct lyd_node const* <span class='color_p'>node</span></span> )</span></span><br/> +<span class="iname">lyd_target <span class='sym_p'><span>( struct ly_path const* <span class='color_p'>path</span></span>, <span>struct lyd_node const* <span class='color_p'>tree</span></span> )</span></span><br/> +<br/> +<a class='top_ref' href='#Top'>to the top</a><br/> +<a name='High_Risk_Binary_Problems'></a><a name='Symbol_Binary_Problems_High'></a><a name='Interface_Binary_Problems_High'></a> +<h2>Problems with Symbols, High Severity <span class='failed'> 26 </span></h2><hr/> +<span class='h_name'>plugins_types.h</span>, <span class='lib_name'>libyang.so.2.47.2</span><br/> +<span class="section" onclick="javascript:showContent(this, 'c_1')"> +<span class='ext'>[+]</span> lyplg_type_compare_binary <span class='sym_p'><span>( struct lyd_value const* <span class='color_p'>val1</span></span>, <span>struct lyd_value const* <span class='color_p'>val2</span></span> )</span> <span class='failed'> 1 </span></span> +<br/> +<div id="c_1" style="display:none;"> + + +<span class='new_sign_lbl'>⇣</span> +<br/> +<span class='new_sign'>lyplg_type_compare_binary <span class='sym_p'><span>( struct ly_ctx const* <span class='color_p'>UNUSED_ctx</span></span>, <span>struct lyd_value const* <span class='color_p'>val1</span></span>, <span>struct lyd_value const* <span class='color_p'>val2</span></span> )</span></span><br/> +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td>Parameter <b>UNUSED_ctx</b> of type <span class='value'>struct ly_ctx const*</span> has been added to the calling stack at the middle position.</td> +<td>Layout of parameter's stack has been changed and therefore parameters at higher positions in the stack may be incorrectly initialized by applications.</td> +</tr> +</table> +<br/> +</div> +<span class="section" onclick="javascript:showContent(this, 'c_2')"> +<span class='ext'>[+]</span> lyplg_type_compare_bits <span class='sym_p'><span>( struct lyd_value const* <span class='color_p'>val1</span></span>, <span>struct lyd_value const* <span class='color_p'>val2</span></span> )</span> <span class='failed'> 1 </span></span> +<br/> +<div id="c_2" style="display:none;"> + + +<span class='new_sign_lbl'>⇣</span> +<br/> +<span class='new_sign'>lyplg_type_compare_bits <span class='sym_p'><span>( struct ly_ctx const* <span class='color_p'>UNUSED_ctx</span></span>, <span>struct lyd_value const* <span class='color_p'>val1</span></span>, <span>struct lyd_value const* <span class='color_p'>val2</span></span> )</span></span><br/> +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td>Parameter <b>UNUSED_ctx</b> of type <span class='value'>struct ly_ctx const*</span> has been added to the calling stack at the middle position.</td> +<td>Layout of parameter's stack has been changed and therefore parameters at higher positions in the stack may be incorrectly initialized by applications.</td> +</tr> +</table> +<br/> +</div> +<span class="section" onclick="javascript:showContent(this, 'c_3')"> +<span class='ext'>[+]</span> lyplg_type_compare_boolean <span class='sym_p'><span>( struct lyd_value const* <span class='color_p'>val1</span></span>, <span>struct lyd_value const* <span class='color_p'>val2</span></span> )</span> <span class='failed'> 1 </span></span> +<br/> +<div id="c_3" style="display:none;"> + + +<span class='new_sign_lbl'>⇣</span> +<br/> +<span class='new_sign'>lyplg_type_compare_boolean <span class='sym_p'><span>( struct ly_ctx const* <span class='color_p'>UNUSED_ctx</span></span>, <span>struct lyd_value const* <span class='color_p'>val1</span></span>, <span>struct lyd_value const* <span class='color_p'>val2</span></span> )</span></span><br/> +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td>Parameter <b>UNUSED_ctx</b> of type <span class='value'>struct ly_ctx const*</span> has been added to the calling stack at the middle position.</td> +<td>Layout of parameter's stack has been changed and therefore parameters at higher positions in the stack may be incorrectly initialized by applications.</td> +</tr> +</table> +<br/> +</div> +<span class="section" onclick="javascript:showContent(this, 'c_4')"> +<span class='ext'>[+]</span> lyplg_type_compare_decimal64 <span class='sym_p'><span>( struct lyd_value const* <span class='color_p'>val1</span></span>, <span>struct lyd_value const* <span class='color_p'>val2</span></span> )</span> <span class='failed'> 1 </span></span> +<br/> +<div id="c_4" style="display:none;"> + + +<span class='new_sign_lbl'>⇣</span> +<br/> +<span class='new_sign'>lyplg_type_compare_decimal64 <span class='sym_p'><span>( struct ly_ctx const* <span class='color_p'>UNUSED_ctx</span></span>, <span>struct lyd_value const* <span class='color_p'>val1</span></span>, <span>struct lyd_value const* <span class='color_p'>val2</span></span> )</span></span><br/> +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td>Parameter <b>UNUSED_ctx</b> of type <span class='value'>struct ly_ctx const*</span> has been added to the calling stack at the middle position.</td> +<td>Layout of parameter's stack has been changed and therefore parameters at higher positions in the stack may be incorrectly initialized by applications.</td> +</tr> +</table> +<br/> +</div> +<span class="section" onclick="javascript:showContent(this, 'c_5')"> +<span class='ext'>[+]</span> lyplg_type_compare_identityref <span class='sym_p'><span>( struct lyd_value const* <span class='color_p'>val1</span></span>, <span>struct lyd_value const* <span class='color_p'>val2</span></span> )</span> <span class='failed'> 1 </span></span> +<br/> +<div id="c_5" style="display:none;"> + + +<span class='new_sign_lbl'>⇣</span> +<br/> +<span class='new_sign'>lyplg_type_compare_identityref <span class='sym_p'><span>( struct ly_ctx const* <span class='color_p'>UNUSED_ctx</span></span>, <span>struct lyd_value const* <span class='color_p'>val1</span></span>, <span>struct lyd_value const* <span class='color_p'>val2</span></span> )</span></span><br/> +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td>Parameter <b>UNUSED_ctx</b> of type <span class='value'>struct ly_ctx const*</span> has been added to the calling stack at the middle position.</td> +<td>Layout of parameter's stack has been changed and therefore parameters at higher positions in the stack may be incorrectly initialized by applications.</td> +</tr> +</table> +<br/> +</div> +<span class="section" onclick="javascript:showContent(this, 'c_6')"> +<span class='ext'>[+]</span> lyplg_type_compare_instanceid <span class='sym_p'><span>( struct lyd_value const* <span class='color_p'>val1</span></span>, <span>struct lyd_value const* <span class='color_p'>val2</span></span> )</span> <span class='failed'> 1 </span></span> +<br/> +<div id="c_6" style="display:none;"> + + +<span class='new_sign_lbl'>⇣</span> +<br/> +<span class='new_sign'>lyplg_type_compare_instanceid <span class='sym_p'><span>( struct ly_ctx const* <span class='color_p'>ctx</span></span>, <span>struct lyd_value const* <span class='color_p'>val1</span></span>, <span>struct lyd_value const* <span class='color_p'>val2</span></span> )</span></span><br/> +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td>Parameter <b>ctx</b> of type <span class='value'>struct ly_ctx const*</span> has been added to the calling stack at the middle position.</td> +<td>Layout of parameter's stack has been changed and therefore parameters at higher positions in the stack may be incorrectly initialized by applications.</td> +</tr> +</table> +<br/> +</div> +<span class="section" onclick="javascript:showContent(this, 'c_7')"> +<span class='ext'>[+]</span> lyplg_type_compare_int <span class='sym_p'><span>( struct lyd_value const* <span class='color_p'>val1</span></span>, <span>struct lyd_value const* <span class='color_p'>val2</span></span> )</span> <span class='failed'> 1 </span></span> +<br/> +<div id="c_7" style="display:none;"> + + +<span class='new_sign_lbl'>⇣</span> +<br/> +<span class='new_sign'>lyplg_type_compare_int <span class='sym_p'><span>( struct ly_ctx const* <span class='color_p'>UNUSED_ctx</span></span>, <span>struct lyd_value const* <span class='color_p'>val1</span></span>, <span>struct lyd_value const* <span class='color_p'>val2</span></span> )</span></span><br/> +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td>Parameter <b>UNUSED_ctx</b> of type <span class='value'>struct ly_ctx const*</span> has been added to the calling stack at the middle position.</td> +<td>Layout of parameter's stack has been changed and therefore parameters at higher positions in the stack may be incorrectly initialized by applications.</td> +</tr> +</table> +<br/> +</div> +<span class="section" onclick="javascript:showContent(this, 'c_8')"> +<span class='ext'>[+]</span> lyplg_type_compare_leafref <span class='sym_p'><span>( struct lyd_value const* <span class='color_p'>val1</span></span>, <span>struct lyd_value const* <span class='color_p'>val2</span></span> )</span> <span class='failed'> 1 </span></span> +<br/> +<div id="c_8" style="display:none;"> + + +<span class='new_sign_lbl'>⇣</span> +<br/> +<span class='new_sign'>lyplg_type_compare_leafref <span class='sym_p'><span>( struct ly_ctx const* <span class='color_p'>ctx</span></span>, <span>struct lyd_value const* <span class='color_p'>val1</span></span>, <span>struct lyd_value const* <span class='color_p'>val2</span></span> )</span></span><br/> +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td>Parameter <b>ctx</b> of type <span class='value'>struct ly_ctx const*</span> has been added to the calling stack at the middle position.</td> +<td>Layout of parameter's stack has been changed and therefore parameters at higher positions in the stack may be incorrectly initialized by applications.</td> +</tr> +</table> +<br/> +</div> +<span class="section" onclick="javascript:showContent(this, 'c_9')"> +<span class='ext'>[+]</span> lyplg_type_compare_simple <span class='sym_p'><span>( struct lyd_value const* <span class='color_p'>val1</span></span>, <span>struct lyd_value const* <span class='color_p'>val2</span></span> )</span> <span class='failed'> 1 </span></span> +<br/> +<div id="c_9" style="display:none;"> + + +<span class='new_sign_lbl'>⇣</span> +<br/> +<span class='new_sign'>lyplg_type_compare_simple <span class='sym_p'><span>( struct ly_ctx const* <span class='color_p'>ctx</span></span>, <span>struct lyd_value const* <span class='color_p'>val1</span></span>, <span>struct lyd_value const* <span class='color_p'>val2</span></span> )</span></span><br/> +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td>Parameter <b>ctx</b> of type <span class='value'>struct ly_ctx const*</span> has been added to the calling stack at the middle position.</td> +<td>Layout of parameter's stack has been changed and therefore parameters at higher positions in the stack may be incorrectly initialized by applications.</td> +</tr> +</table> +<br/> +</div> +<span class="section" onclick="javascript:showContent(this, 'c_10')"> +<span class='ext'>[+]</span> lyplg_type_compare_uint <span class='sym_p'><span>( struct lyd_value const* <span class='color_p'>val1</span></span>, <span>struct lyd_value const* <span class='color_p'>val2</span></span> )</span> <span class='failed'> 1 </span></span> +<br/> +<div id="c_10" style="display:none;"> + + +<span class='new_sign_lbl'>⇣</span> +<br/> +<span class='new_sign'>lyplg_type_compare_uint <span class='sym_p'><span>( struct ly_ctx const* <span class='color_p'>UNUSED_ctx</span></span>, <span>struct lyd_value const* <span class='color_p'>val1</span></span>, <span>struct lyd_value const* <span class='color_p'>val2</span></span> )</span></span><br/> +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td>Parameter <b>UNUSED_ctx</b> of type <span class='value'>struct ly_ctx const*</span> has been added to the calling stack at the middle position.</td> +<td>Layout of parameter's stack has been changed and therefore parameters at higher positions in the stack may be incorrectly initialized by applications.</td> +</tr> +</table> +<br/> +</div> +<span class="section" onclick="javascript:showContent(this, 'c_11')"> +<span class='ext'>[+]</span> lyplg_type_compare_union <span class='sym_p'><span>( struct lyd_value const* <span class='color_p'>val1</span></span>, <span>struct lyd_value const* <span class='color_p'>val2</span></span> )</span> <span class='failed'> 1 </span></span> +<br/> +<div id="c_11" style="display:none;"> + + +<span class='new_sign_lbl'>⇣</span> +<br/> +<span class='new_sign'>lyplg_type_compare_union <span class='sym_p'><span>( struct ly_ctx const* <span class='color_p'>ctx</span></span>, <span>struct lyd_value const* <span class='color_p'>val1</span></span>, <span>struct lyd_value const* <span class='color_p'>val2</span></span> )</span></span><br/> +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td>Parameter <b>ctx</b> of type <span class='value'>struct ly_ctx const*</span> has been added to the calling stack at the middle position.</td> +<td>Layout of parameter's stack has been changed and therefore parameters at higher positions in the stack may be incorrectly initialized by applications.</td> +</tr> +</table> +<br/> +</div> +<br/> +<span class='h_name'>tree_data.h</span>, <span class='lib_name'>libyang.so.2.47.2</span><br/> +<span class="section" onclick="javascript:showContent(this, 'c_12')"> +<span class='ext'>[+]</span> lyd_find_xpath3 <span class='sym_p'><span>( struct lyd_node const* <span class='color_p'>ctx_node</span></span>, <span>struct lyd_node const* <span class='color_p'>tree</span></span>, <span>char const* <span class='color_p'>xpath</span></span>, <span>struct lyxp_var const* <span class='color_p'>vars</span></span>, <span>struct ly_set** <span class='color_p'>set</span></span> )</span> <span class='failed'> 2 </span></span> +<br/> +<div id="c_12" style="display:none;"> + + +<span class='new_sign_lbl'>⇣</span> +<br/> +<span class='new_sign'>lyd_find_xpath3 <span class='sym_p'><span>( struct lyd_node const* <span class='color_p'>ctx_node</span></span>, <span>struct lyd_node const* <span class='color_p'>tree</span></span>, <span>char const* <span class='color_p'>xpath</span></span>, <span>void* <span class='color_p'>prefix_data</span></span>, <span>struct lyxp_var const* <span class='color_p'>vars</span></span>, <span>struct ly_set** <span class='color_p'>set</span></span> )</span></span><br/> +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td>Parameter <b>format</b> of type @param_type has been added to the calling stack at the middle position.</td> +<td>Layout of parameter's stack has been changed and therefore parameters at higher positions in the stack may be incorrectly initialized by applications.</td> +</tr> +<tr> +<th>2</th> +<td>Parameter <b>prefix_data</b> of type <b>void*</b> has been added to the calling stack at the middle position.</td> +<td>Layout of parameter's stack has been changed and therefore parameters at higher positions in the stack may be incorrectly initialized by applications.</td> +</tr> +</table> +<br/> +</div> +<span class="section" onclick="javascript:showContent(this, 'c_13')"> +<span class='ext'>[+]</span> lyd_new_any <span class='sym_p'><span>( struct lyd_node* <span class='color_p'>parent</span></span>, <span>struct lys_module const* <span class='color_p'>module</span></span>, <span>char const* <span class='color_p'>name</span></span>, <span>void const* <span class='color_p'>value</span></span>, <span>ly_bool <span class='color_p'>use_value</span></span>, <span>ly_bool <span class='color_p'>output</span></span>, <span>struct lyd_node** <span class='color_p'>node</span></span> )</span> <span class='failed'> 3 </span></span> +<br/> +<div id="c_13" style="display:none;"> + + +<span class='new_sign_lbl'>⇣</span> +<br/> +<span class='new_sign'>lyd_new_any <span class='sym_p'><span>( struct lyd_node* <span class='color_p'>parent</span></span>, <span>struct lys_module const* <span class='color_p'>module</span></span>, <span>char const* <span class='color_p'>name</span></span>, <span>void const* <span class='color_p'>value</span></span>, <span>uint32_t <span class='color_p'>options</span></span>, <span>struct lyd_node** <span class='color_p'>node</span></span> )</span></span><br/> +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td>Parameter <b>options</b> of type <b>uint32_t</b> has been added to the calling stack at the middle position.</td> +<td>Layout of parameter's stack has been changed and therefore parameters at higher positions in the stack may be incorrectly initialized by applications.</td> +</tr> +<tr> +<th>2</th> +<td><b>5th</b> middle parameter <b>use_value</b> has been removed from the calling stack.</td> +<td>Layout of parameter's stack has been changed and therefore parameters at higher positions in the stack may be incorrectly initialized by applications.</td> +</tr> +<tr> +<th>3</th> +<td><b>7th</b> middle parameter <b>output</b> has been removed from the calling stack.</td> +<td>Layout of parameter's stack has been changed and therefore parameters at higher positions in the stack may be incorrectly initialized by applications.</td> +</tr> +</table> +<br/> +</div> +<span class="section" onclick="javascript:showContent(this, 'c_14')"> +<span class='ext'>[+]</span> lyd_new_ext_list <span class='sym_p'><span>( struct lysc_ext_instance const* <span class='color_p'>ext</span></span>, <span>char const* <span class='color_p'>name</span></span>, <span>struct lyd_node** <span class='color_p'>node</span></span>, <span>...</span> )</span> <span class='failed'> 1 </span></span> +<br/> +<div id="c_14" style="display:none;"> + + +<span class='new_sign_lbl'>⇣</span> +<br/> +<span class='new_sign'>lyd_new_ext_list <span class='sym_p'><span>( struct lysc_ext_instance const* <span class='color_p'>ext</span></span>, <span>char const* <span class='color_p'>name</span></span>, <span>uint32_t <span class='color_p'>options</span></span>, <span>struct lyd_node** <span class='color_p'>node</span></span>, <span>...</span> )</span></span><br/> +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td>Parameter <b>options</b> of type <b>uint32_t</b> has been added to the calling stack at the middle position.</td> +<td>Layout of parameter's stack has been changed and therefore parameters at higher positions in the stack may be incorrectly initialized by applications.</td> +</tr> +</table> +<br/> +</div> +<span class="section" onclick="javascript:showContent(this, 'c_15')"> +<span class='ext'>[+]</span> lyd_new_ext_term <span class='sym_p'><span>( struct lysc_ext_instance const* <span class='color_p'>ext</span></span>, <span>char const* <span class='color_p'>name</span></span>, <span>char const* <span class='color_p'>val_str</span></span>, <span>struct lyd_node** <span class='color_p'>node</span></span> )</span> <span class='failed'> 3 </span></span> +<br/> +<div id="c_15" style="display:none;"> + + +<span class='new_sign_lbl'>⇣</span> +<br/> +<span class='new_sign'>lyd_new_ext_term <span class='sym_p'><span>( struct lysc_ext_instance const* <span class='color_p'>ext</span></span>, <span>char const* <span class='color_p'>name</span></span>, <span>void const* <span class='color_p'>value</span></span>, <span>size_t <span class='color_p'>value_len</span></span>, <span>uint32_t <span class='color_p'>options</span></span>, <span>struct lyd_node** <span class='color_p'>node</span></span> )</span></span><br/> +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td>Parameter <b>value</b> of type <span class='value'>void const*</span> has been added to the calling stack at the middle position.</td> +<td>Layout of parameter's stack has been changed and therefore parameters at higher positions in the stack may be incorrectly initialized by applications.</td> +</tr> +<tr> +<th>2</th> +<td>Parameter <b>value_len</b> of type <b>size_t</b> has been added to the calling stack at the middle position.</td> +<td>Layout of parameter's stack has been changed and therefore parameters at higher positions in the stack may be incorrectly initialized by applications.</td> +</tr> +<tr> +<th>3</th> +<td><b>3rd</b> middle parameter <b>val_str</b> has been removed from the calling stack.</td> +<td>Layout of parameter's stack has been changed and therefore parameters at higher positions in the stack may be incorrectly initialized by applications.</td> +</tr> +</table> +<br/> +</div> +<span class="section" onclick="javascript:showContent(this, 'c_16')"> +<span class='ext'>[+]</span> lyd_new_list <span class='sym_p'><span>( struct lyd_node* <span class='color_p'>parent</span></span>, <span>struct lys_module const* <span class='color_p'>module</span></span>, <span>char const* <span class='color_p'>name</span></span>, <span>ly_bool <span class='color_p'>output</span></span>, <span>struct lyd_node** <span class='color_p'>node</span></span>, <span>...</span> )</span> <span class='failed'> 1 </span></span> +<br/> +<div id="c_16" style="display:none;"> + + +<span class='new_sign_lbl'>⇣</span> +<br/> +<span class='new_sign'>lyd_new_list <span class='sym_p'><span>( struct lyd_node* <span class='color_p'>parent</span></span>, <span>struct lys_module const* <span class='color_p'>module</span></span>, <span>char const* <span class='color_p'>name</span></span>, <span>uint32_t <span class='color_p'>options</span></span>, <span>struct lyd_node** <span class='color_p'>node</span></span>, <span>...</span> )</span></span><br/> +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td>Type of <b>4th</b> parameter <b>output</b> has been changed from <span class='nowrap'><b>ly_bool</b> (<b>1</b> byte)</span> to <span class='nowrap'><b>uint32_t</b> (<b>4</b> bytes)</span>.</td> +<td>Layout of parameter's stack has been changed and therefore parameters at higher positions in the stack may be incorrectly initialized by applications.</td> +</tr> +</table> +<br/> +</div> +<span class="section" onclick="javascript:showContent(this, 'c_17')"> +<span class='ext'>[+]</span> lyd_new_list2 <span class='sym_p'><span>( struct lyd_node* <span class='color_p'>parent</span></span>, <span>struct lys_module const* <span class='color_p'>module</span></span>, <span>char const* <span class='color_p'>name</span></span>, <span>char const* <span class='color_p'>keys</span></span>, <span>ly_bool <span class='color_p'>output</span></span>, <span>struct lyd_node** <span class='color_p'>node</span></span> )</span> <span class='failed'> 1 </span></span> +<br/> +<div id="c_17" style="display:none;"> + + +<span class='new_sign_lbl'>⇣</span> +<br/> +<span class='new_sign'>lyd_new_list2 <span class='sym_p'><span>( struct lyd_node* <span class='color_p'>parent</span></span>, <span>struct lys_module const* <span class='color_p'>module</span></span>, <span>char const* <span class='color_p'>name</span></span>, <span>char const* <span class='color_p'>keys</span></span>, <span>uint32_t <span class='color_p'>options</span></span>, <span>struct lyd_node** <span class='color_p'>node</span></span> )</span></span><br/> +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td>Type of <b>5th</b> parameter <b>output</b> has been changed from <span class='nowrap'><b>ly_bool</b> (<b>1</b> byte)</span> to <span class='nowrap'><b>uint32_t</b> (<b>4</b> bytes)</span>.</td> +<td>Layout of parameter's stack has been changed and therefore parameters at higher positions in the stack may be incorrectly initialized by applications.</td> +</tr> +</table> +<br/> +</div> +<span class="section" onclick="javascript:showContent(this, 'c_18')"> +<span class='ext'>[+]</span> lyd_new_list3 <span class='sym_p'><span>( struct lyd_node* <span class='color_p'>parent</span></span>, <span>struct lys_module const* <span class='color_p'>module</span></span>, <span>char const* <span class='color_p'>name</span></span>, <span>char const** <span class='color_p'>key_values</span></span>, <span>uint32_t* <span class='color_p'>value_lengths</span></span>, <span>ly_bool <span class='color_p'>output</span></span>, <span>struct lyd_node** <span class='color_p'>node</span></span> )</span> <span class='failed'> 1 </span></span> +<br/> +<div id="c_18" style="display:none;"> + + +<span class='new_sign_lbl'>⇣</span> +<br/> +<span class='new_sign'>lyd_new_list3 <span class='sym_p'><span>( struct lyd_node* <span class='color_p'>parent</span></span>, <span>struct lys_module const* <span class='color_p'>module</span></span>, <span>char const* <span class='color_p'>name</span></span>, <span>char const** <span class='color_p'>key_values</span></span>, <span>uint32_t* <span class='color_p'>value_lengths</span></span>, <span>uint32_t <span class='color_p'>options</span></span>, <span>struct lyd_node** <span class='color_p'>node</span></span> )</span></span><br/> +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td>Type of <b>6th</b> parameter <b>output</b> has been changed from <span class='nowrap'><b>ly_bool</b> (<b>1</b> byte)</span> to <span class='nowrap'><b>uint32_t</b> (<b>4</b> bytes)</span>.</td> +<td>Layout of parameter's stack has been changed and therefore parameters at higher positions in the stack may be incorrectly initialized by applications.</td> +</tr> +</table> +<br/> +</div> +<span class="section" onclick="javascript:showContent(this, 'c_19')"> +<span class='ext'>[+]</span> lyd_new_meta <span class='sym_p'><span>( struct ly_ctx const* <span class='color_p'>ctx</span></span>, <span>struct lyd_node* <span class='color_p'>parent</span></span>, <span>struct lys_module const* <span class='color_p'>module</span></span>, <span>char const* <span class='color_p'>name</span></span>, <span>char const* <span class='color_p'>val_str</span></span>, <span>ly_bool <span class='color_p'>clear_dflt</span></span>, <span>struct lyd_meta** <span class='color_p'>meta</span></span> )</span> <span class='failed'> 1 </span></span> +<br/> +<div id="c_19" style="display:none;"> + + +<span class='new_sign_lbl'>⇣</span> +<br/> +<span class='new_sign'>lyd_new_meta <span class='sym_p'><span>( struct ly_ctx const* <span class='color_p'>ctx</span></span>, <span>struct lyd_node* <span class='color_p'>parent</span></span>, <span>struct lys_module const* <span class='color_p'>module</span></span>, <span>char const* <span class='color_p'>name</span></span>, <span>char const* <span class='color_p'>val_str</span></span>, <span>uint32_t <span class='color_p'>options</span></span>, <span>struct lyd_meta** <span class='color_p'>meta</span></span> )</span></span><br/> +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td>Type of <b>6th</b> parameter <b>clear_dflt</b> has been changed from <span class='nowrap'><b>ly_bool</b> (<b>1</b> byte)</span> to <span class='nowrap'><b>uint32_t</b> (<b>4</b> bytes)</span>.</td> +<td>Layout of parameter's stack has been changed and therefore parameters at higher positions in the stack may be incorrectly initialized by applications.</td> +</tr> +</table> +<br/> +</div> +<span class="section" onclick="javascript:showContent(this, 'c_20')"> +<span class='ext'>[+]</span> lyd_new_meta2 <span class='sym_p'><span>( struct ly_ctx const* <span class='color_p'>ctx</span></span>, <span>struct lyd_node* <span class='color_p'>parent</span></span>, <span>ly_bool <span class='color_p'>clear_dflt</span></span>, <span>struct lyd_attr const* <span class='color_p'>attr</span></span>, <span>struct lyd_meta** <span class='color_p'>meta</span></span> )</span> <span class='failed'> 1 </span></span> +<br/> +<div id="c_20" style="display:none;"> + + +<span class='new_sign_lbl'>⇣</span> +<br/> +<span class='new_sign'>lyd_new_meta2 <span class='sym_p'><span>( struct ly_ctx const* <span class='color_p'>ctx</span></span>, <span>struct lyd_node* <span class='color_p'>parent</span></span>, <span>uint32_t <span class='color_p'>options</span></span>, <span>struct lyd_attr const* <span class='color_p'>attr</span></span>, <span>struct lyd_meta** <span class='color_p'>meta</span></span> )</span></span><br/> +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td>Type of <b>3rd</b> parameter <b>clear_dflt</b> has been changed from <span class='nowrap'><b>ly_bool</b> (<b>1</b> byte)</span> to <span class='nowrap'><b>uint32_t</b> (<b>4</b> bytes)</span>.</td> +<td>Layout of parameter's stack has been changed and therefore parameters at higher positions in the stack may be incorrectly initialized by applications.</td> +</tr> +</table> +<br/> +</div> +<span class="section" onclick="javascript:showContent(this, 'c_21')"> +<span class='ext'>[+]</span> lyd_new_term <span class='sym_p'><span>( struct lyd_node* <span class='color_p'>parent</span></span>, <span>struct lys_module const* <span class='color_p'>module</span></span>, <span>char const* <span class='color_p'>name</span></span>, <span>char const* <span class='color_p'>val_str</span></span>, <span>ly_bool <span class='color_p'>output</span></span>, <span>struct lyd_node** <span class='color_p'>node</span></span> )</span> <span class='failed'> 1 </span></span> +<br/> +<div id="c_21" style="display:none;"> + + +<span class='new_sign_lbl'>⇣</span> +<br/> +<span class='new_sign'>lyd_new_term <span class='sym_p'><span>( struct lyd_node* <span class='color_p'>parent</span></span>, <span>struct lys_module const* <span class='color_p'>module</span></span>, <span>char const* <span class='color_p'>name</span></span>, <span>char const* <span class='color_p'>value</span></span>, <span>uint32_t <span class='color_p'>options</span></span>, <span>struct lyd_node** <span class='color_p'>node</span></span> )</span></span><br/> +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td>Type of <b>5th</b> parameter <b>output</b> has been changed from <span class='nowrap'><b>ly_bool</b> (<b>1</b> byte)</span> to <span class='nowrap'><b>uint32_t</b> (<b>4</b> bytes)</span>.</td> +<td>Layout of parameter's stack has been changed and therefore parameters at higher positions in the stack may be incorrectly initialized by applications.</td> +</tr> +</table> +<br/> +</div> +<br/> +<a class='top_ref' href='#Top'>to the top</a><br/> +<a name='Medium_Risk_Binary_Problems'></a><a name='Type_Binary_Problems_Medium'></a> +<h2>Problems with Data Types, Medium Severity <span class='failed'> 7 </span></h2><hr/> +<span class='h_name'>log.h</span><br/> +<span class="section" onclick="javascript:showContent(this, 'c_22')"> +<span class='ext'>[+]</span> <span class='ttype'>struct</span> ly_err_item <span class='failed'> 2 </span></span> +<br/> +<div id="c_22" style="display:none;"> +<table class='ptable'><tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th></tr><tr> +<th>1</th> +<td>Field <b>line</b> has been added at the middle position of this structural type.</td> +<td>1) Size of the inclusive type has been changed.<br/>2) Layout of structure fields has been changed and therefore fields at higher positions of the structure definition may be incorrectly accessed by applications.</td> +</tr> +<tr> +<th>2</th> +<td>Field <b>schema_path</b> has been added at the middle position of this structural type.</td> +<td>1) Size of the inclusive type has been changed.<br/>2) Layout of structure fields has been changed and therefore fields at higher positions of the structure definition may be incorrectly accessed by applications.</td> +</tr> +</table> +<span class="sect_aff" onclick="javascript:showContent(this, 'c_23')"> +[+] affected symbols: 34 (8.7%)</span> +<div id="c_23" style="display:none;"> +<div class='affected'><span class='iname_a'>ly_err_clean <span class='sym_p'><span>( struct ly_ctx* <i>ctx</i></span>, <span>struct ly_err_item* <span class='fp'>eitem</span></span> )</span></span><br/> +<div class='affect'>2nd parameter 'eitem' (pointer) has base type 'struct ly_err_item'.</div> +<span class='iname_a'>ly_err_first <span class='sym_p'><span>( struct ly_ctx const* <i>ctx</i></span> )</span></span><br/> +<div class='affect'>Return value (pointer) has base type 'struct ly_err_item'.</div> +<span class='iname_a'>ly_err_last <span class='sym_p'><span>( struct ly_ctx const* <i>ctx</i></span> )</span></span><br/> +<div class='affect'>Return value (pointer) has base type 'struct ly_err_item'.</div> +<span class='iname_a'>ly_err_new <span class='sym_p'><span>( struct ly_err_item** <span class='fp'>err</span></span>, <span>char* <i>path</i></span>, <span>char* <i>apptag</i></span>, <span>char const* <i>err_format</i></span>, <span>...</span> )</span></span><br/> +<div class='affect'>1st parameter 'err' (pointer) has base type 'struct ly_err_item'.</div> +<span class='iname_a'>ly_err_print <span class='sym_p'><span>( struct ly_ctx const* <i>ctx</i></span>, <span>struct ly_err_item* <span class='fp'>eitem</span></span> )</span></span><br/> +<div class='affect'>2nd parameter 'eitem' (pointer) has base type 'struct ly_err_item'.</div> +<span class='iname_a'>lyplg_ext_compile_log_err <span class='sym_p'><span>( struct ly_err_item const* <span class='fp'>err</span></span>, <span>struct lysc_ext_instance const* <i>ext</i></span> )</span></span><br/> +<div class='affect'>1st parameter 'err' (pointer) has base type 'struct ly_err_item'.</div> +<span class='iname_a'>lyplg_type_check_hints <span class='sym_p'><span>( uint32_t <i>hints</i></span>, <span>char const* <i>value</i></span>, <span>size_t <i>value_len</i></span>, <span>int* <i>base</i></span>, <span>struct ly_err_item** <span class='fp'>err</span></span> )</span></span><br/> +<div class='affect'>6th parameter 'err' (pointer) has base type 'struct ly_err_item'.</div> +<span class='iname_a'>lyplg_type_check_status <span class='sym_p'><span>( struct lysc_node const* <i>ctx_node</i></span>, <span>uint16_t <i>val_flags</i></span>, <span>void* <i>prefix_data</i></span>, <span>char const* <i>val_name</i></span>, <span>struct ly_err_item** <span class='fp'>err</span></span> )</span></span><br/> +<div class='affect'>6th parameter 'err' (pointer) has base type 'struct ly_err_item'.</div> +<span class='iname_a'>lyplg_type_lypath_check_status <span class='sym_p'><span>( struct lysc_node const* <i>ctx_node</i></span>, <span>struct ly_path const* <i>path</i></span>, <span>void* <i>prefix_data</i></span>, <span>struct ly_err_item** <span class='fp'>err</span></span> )</span></span><br/> +<div class='affect'>5th parameter 'err' (pointer) has base type 'struct ly_err_item'.</div> +<span class='iname_a'>lyplg_type_lypath_new <span class='sym_p'><span>( struct ly_ctx const* <i>ctx</i></span>, <span>char const* <i>value</i></span>, <span>size_t <i>value_len</i></span>, <span>uint32_t <i>options</i></span>, <span>void* <i>prefix_data</i></span>, <span>struct lysc_node const* <i>ctx_node</i></span>, <span>struct lys_glob_unres* <i>unres</i></span>, <span>struct ly_path** <i>path</i></span>, <span>struct ly_err_item** <span class='fp'>err</span></span> )</span></span><br/> +<div class='affect'>10th parameter 'err' (pointer) has base type 'struct ly_err_item'.</div> + <b>...</b> +<br/> +</div> +</div> +<br/><br/></div> + +<br/> +<span class='h_name'>tree_schema.h</span><br/> +<span class="section" onclick="javascript:showContent(this, 'c_24')"> +<span class='ext'>[+]</span> <span class='ttype'>struct</span> lysc_ext <span class='failed'> 1 </span></span> +<br/> +<div id="c_24" style="display:none;"> +<table class='ptable'><tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th></tr><tr> +<th>1</th> +<td>Field <b>refcount</b> has been removed from the middle position of this structural type.</td> +<td>1) Applications will access incorrect memory when attempting to access this field.<br/>2) Layout of structure fields has been changed and therefore fields at higher positions of the structure definition may be incorrectly accessed by applications.</td> +</tr> +</table> +<span class="sect_aff" onclick="javascript:showContent(this, 'c_25')"> +[+] affected symbols: 182 (46.5%)</span> +<div id="c_25" style="display:none;"> +<div class='affected'><span class='iname_a'>ly_ctx_get_module <span class='sym_p'><span>( struct ly_ctx const* <i>ctx</i></span>, <span>char const* <i>name</i></span>, <span>char const* <i>revision</i></span> )</span></span><br/> +<div class='affect'>Field 'retval.parsed.exts.def.compiled' in the return value (pointer) has base type 'struct lysc_ext'.</div> +<span class='iname_a'>ly_ctx_get_module_implemented <span class='sym_p'><span>( struct ly_ctx const* <i>ctx</i></span>, <span>char const* <i>name</i></span> )</span></span><br/> +<div class='affect'>Field 'retval.parsed.exts.def.compiled' in the return value (pointer) has base type 'struct lysc_ext'.</div> +<span class='iname_a'>ly_ctx_get_module_implemented_ns <span class='sym_p'><span>( struct ly_ctx const* <i>ctx</i></span>, <span>char const* <i>ns</i></span> )</span></span><br/> +<div class='affect'>Field 'retval.parsed.exts.def.compiled' in the return value (pointer) has base type 'struct lysc_ext'.</div> +<span class='iname_a'>ly_ctx_get_module_iter <span class='sym_p'><span>( struct ly_ctx const* <i>ctx</i></span>, <span>uint32_t* <i>index</i></span> )</span></span><br/> +<div class='affect'>Field 'retval.parsed.exts.def.compiled' in the return value (pointer) has base type 'struct lysc_ext'.</div> +<span class='iname_a'>ly_ctx_get_module_latest <span class='sym_p'><span>( struct ly_ctx const* <i>ctx</i></span>, <span>char const* <i>name</i></span> )</span></span><br/> +<div class='affect'>Field 'retval.parsed.exts.def.compiled' in the return value (pointer) has base type 'struct lysc_ext'.</div> +<span class='iname_a'>ly_ctx_get_module_latest_ns <span class='sym_p'><span>( struct ly_ctx const* <i>ctx</i></span>, <span>char const* <i>ns</i></span> )</span></span><br/> +<div class='affect'>Field 'retval.parsed.exts.def.compiled' in the return value (pointer) has base type 'struct lysc_ext'.</div> +<span class='iname_a'>ly_ctx_get_module_ns <span class='sym_p'><span>( struct ly_ctx const* <i>ctx</i></span>, <span>char const* <i>ns</i></span>, <span>char const* <i>revision</i></span> )</span></span><br/> +<div class='affect'>Field 'retval.parsed.exts.def.compiled' in the return value (pointer) has base type 'struct lysc_ext'.</div> +<span class='iname_a'>ly_ctx_get_submodule <span class='sym_p'><span>( struct ly_ctx const* <i>ctx</i></span>, <span>char const* <i>submodule</i></span>, <span>char const* <i>revision</i></span> )</span></span><br/> +<div class='affect'>Field 'retval.augments.when.exts.def.compiled' in the return value (pointer) has base type 'struct lysc_ext'.</div> +<span class='iname_a'>ly_ctx_get_submodule2 <span class='sym_p'><span>( struct lys_module const* <i>module</i></span>, <span>char const* <i>submodule</i></span>, <span>char const* <i>revision</i></span> )</span></span><br/> +<div class='affect'>Field 'retval.augments.when.exts.def.compiled' in the return value (pointer) has base type 'struct lysc_ext'.</div> +<span class='iname_a'>ly_ctx_get_submodule2_latest <span class='sym_p'><span>( struct lys_module const* <i>module</i></span>, <span>char const* <i>submodule</i></span> )</span></span><br/> +<div class='affect'>Field 'retval.augments.when.exts.def.compiled' in the return value (pointer) has base type 'struct lysc_ext'.</div> + <b>...</b> +<br/> +</div> +</div> +<br/><br/></div> + +<span class="section" onclick="javascript:showContent(this, 'c_26')"> +<span class='ext'>[+]</span> <span class='ttype'>struct</span> lysc_type <span class='failed'> 1 </span></span> +<br/> +<div id="c_26" style="display:none;"> +<table class='ptable'><tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th></tr><tr> +<th>1</th> +<td>Field <b>name</b> has been added at the middle position of this structural type.</td> +<td>1) Size of the inclusive type has been changed.<br/>2) Layout of structure fields has been changed and therefore fields at higher positions of the structure definition may be incorrectly accessed by applications.</td> +</tr> +</table> +<span class="sect_aff" onclick="javascript:showContent(this, 'c_27')"> +[+] affected symbols: 177 (45.3%)</span> +<div id="c_27" style="display:none;"> +<div class='affected'><span class='iname_a'>ly_ctx_get_module <span class='sym_p'><span>( struct ly_ctx const* <i>ctx</i></span>, <span>char const* <i>name</i></span>, <span>char const* <i>revision</i></span> )</span></span><br/> +<div class='affect'>Field 'retval.parsed.typedefs.type.compiled' in the return value (pointer) has base type 'struct lysc_type'.</div> +<span class='iname_a'>ly_ctx_get_module_implemented <span class='sym_p'><span>( struct ly_ctx const* <i>ctx</i></span>, <span>char const* <i>name</i></span> )</span></span><br/> +<div class='affect'>Field 'retval.parsed.typedefs.type.compiled' in the return value (pointer) has base type 'struct lysc_type'.</div> +<span class='iname_a'>ly_ctx_get_module_implemented_ns <span class='sym_p'><span>( struct ly_ctx const* <i>ctx</i></span>, <span>char const* <i>ns</i></span> )</span></span><br/> +<div class='affect'>Field 'retval.parsed.typedefs.type.compiled' in the return value (pointer) has base type 'struct lysc_type'.</div> +<span class='iname_a'>ly_ctx_get_module_iter <span class='sym_p'><span>( struct ly_ctx const* <i>ctx</i></span>, <span>uint32_t* <i>index</i></span> )</span></span><br/> +<div class='affect'>Field 'retval.parsed.typedefs.type.compiled' in the return value (pointer) has base type 'struct lysc_type'.</div> +<span class='iname_a'>ly_ctx_get_module_latest <span class='sym_p'><span>( struct ly_ctx const* <i>ctx</i></span>, <span>char const* <i>name</i></span> )</span></span><br/> +<div class='affect'>Field 'retval.parsed.typedefs.type.compiled' in the return value (pointer) has base type 'struct lysc_type'.</div> +<span class='iname_a'>ly_ctx_get_module_latest_ns <span class='sym_p'><span>( struct ly_ctx const* <i>ctx</i></span>, <span>char const* <i>ns</i></span> )</span></span><br/> +<div class='affect'>Field 'retval.parsed.typedefs.type.compiled' in the return value (pointer) has base type 'struct lysc_type'.</div> +<span class='iname_a'>ly_ctx_get_module_ns <span class='sym_p'><span>( struct ly_ctx const* <i>ctx</i></span>, <span>char const* <i>ns</i></span>, <span>char const* <i>revision</i></span> )</span></span><br/> +<div class='affect'>Field 'retval.parsed.typedefs.type.compiled' in the return value (pointer) has base type 'struct lysc_type'.</div> +<span class='iname_a'>ly_ctx_get_submodule <span class='sym_p'><span>( struct ly_ctx const* <i>ctx</i></span>, <span>char const* <i>submodule</i></span>, <span>char const* <i>revision</i></span> )</span></span><br/> +<div class='affect'>Field 'retval.augments.notifs.typedefs.type.compiled' in the return value (pointer) has base type 'struct lysc_type'.</div> +<span class='iname_a'>ly_ctx_get_submodule2 <span class='sym_p'><span>( struct lys_module const* <i>module</i></span>, <span>char const* <i>submodule</i></span>, <span>char const* <i>revision</i></span> )</span></span><br/> +<div class='affect'>Field 'retval.augments.notifs.typedefs.type.compiled' in the return value (pointer) has base type 'struct lysc_type'.</div> +<span class='iname_a'>ly_ctx_get_submodule2_latest <span class='sym_p'><span>( struct lys_module const* <i>module</i></span>, <span>char const* <i>submodule</i></span> )</span></span><br/> +<div class='affect'>Field 'retval.augments.notifs.typedefs.type.compiled' in the return value (pointer) has base type 'struct lysc_type'.</div> + <b>...</b> +<br/> +</div> +</div> +<br/><br/></div> + +<span class="section" onclick="javascript:showContent(this, 'c_28')"> +<span class='ext'>[+]</span> <span class='ttype'>struct</span> lysc_type_bits <span class='failed'> 1 </span></span> +<br/> +<div id="c_28" style="display:none;"> +<table class='ptable'><tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th></tr><tr> +<th>1</th> +<td>Field <b>name</b> has been added at the middle position of this structural type.</td> +<td>1) Size of the inclusive type has been changed.<br/>2) Layout of structure fields has been changed and therefore fields at higher positions of the structure definition may be incorrectly accessed by applications.</td> +</tr> +</table> +<span class="sect_aff" onclick="javascript:showContent(this, 'c_29')"> +[+] affected symbols: 1 (0.3%)</span> +<div id="c_29" style="display:none;"> +<div class='affected'><span class='iname_a'>lyplg_type_bits_bitmap_size <span class='sym_p'><span>( struct lysc_type_bits const* <span class='fp'>type</span></span> )</span></span><br/> +<div class='affect'>1st parameter 'type' (pointer) has base type 'struct lysc_type_bits'.</div> +</div> +</div> +<br/><br/></div> + +<span class="section" onclick="javascript:showContent(this, 'c_30')"> +<span class='ext'>[+]</span> <span class='ttype'>struct</span> lysc_type_leafref <span class='failed'> 2 </span></span> +<br/> +<div id="c_30" style="display:none;"> +<table class='ptable'><tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th></tr><tr> +<th>1</th> +<td>Field <b>name</b> has been added at the middle position of this structural type.</td> +<td>Layout of structure fields has been changed and therefore fields at higher positions of the structure definition may be incorrectly accessed by applications.</td> +</tr> +<tr> +<th>2</th> +<td>Field <b>cur_mod</b> has been removed from this type.</td> +<td>Applications will access incorrect memory when attempting to access this field.</td> +</tr> +</table> +<span class="sect_aff" onclick="javascript:showContent(this, 'c_31')"> +[+] affected symbols: 1 (0.3%)</span> +<div id="c_31" style="display:none;"> +<div class='affected'><span class='iname_a'>lyplg_type_resolve_leafref <span class='sym_p'><span>( struct lysc_type_leafref const* <span class='fp'>lref</span></span>, <span>struct lyd_node const* <i>node</i></span>, <span>struct lyd_value* <i>value</i></span>, <span>struct lyd_node const* <i>tree</i></span>, <span>struct ly_set** <i>targets</i></span>, <span>char** <i>errmsg</i></span> )</span></span><br/> +<div class='affect'>1st parameter 'lref' (pointer) has base type 'struct lysc_type_leafref'.</div> +</div> +</div> +<br/><br/></div> + +<br/> +<a class='top_ref' href='#Top'>to the top</a><br/> +<a name='Symbol_Binary_Problems_Medium'></a><a name='Interface_Binary_Problems_Medium'></a> +<h2>Problems with Symbols, Medium Severity <span class='failed'> 4 </span></h2><hr/> +<span class='h_name'>log.h</span>, <span class='lib_name'>libyang.so.2.47.2</span><br/> +<span class="section" onclick="javascript:showContent(this, 'c_32')"> +<span class='ext'>[+]</span> ly_err_first <span class='sym_p'><span>( struct ly_ctx const* <span class='color_p'>ctx</span></span> )</span> <span class='failed'> 1 </span></span> +<br/> +<div id="c_32" style="display:none;"> + +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td>Type of return value became <b>const</b> (has been changed from <span class='value'>struct ly_err_item*</span> to <span class='value'>struct ly_err_item const*</span>).</td> +<td>The return value will be treated as non-const by old client applications. This may result in crash or incorrect behavior of applications.</td> +</tr> +</table> +<br/> +</div> +<span class="section" onclick="javascript:showContent(this, 'c_33')"> +<span class='ext'>[+]</span> ly_err_last <span class='sym_p'><span>( struct ly_ctx const* <span class='color_p'>ctx</span></span> )</span> <span class='failed'> 1 </span></span> +<br/> +<div id="c_33" style="display:none;"> + +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td>Type of return value became <b>const</b> (has been changed from <span class='value'>struct ly_err_item*</span> to <span class='value'>struct ly_err_item const*</span>).</td> +<td>The return value will be treated as non-const by old client applications. This may result in crash or incorrect behavior of applications.</td> +</tr> +</table> +<br/> +</div> +<span class="section" onclick="javascript:showContent(this, 'c_34')"> +<span class='ext'>[+]</span> ly_set_log_clb <span class='sym_p'><span>( void(*<span class='color_p'>clb</span>)(, char const*, char const*)</span>, <span>ly_bool <span class='color_p'>path</span></span> )</span> <span class='failed'> 1 </span></span> +<br/> +<div id="c_34" style="display:none;"> + + +<span class='new_sign_lbl'>⇣</span> +<br/> +<span class='new_sign'>ly_set_log_clb <span class='sym_p'><span>( void(*<span class='color_p'>clb</span>)(, char const*, char const*, char const*, unsigned long)</span> )</span></span><br/> +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td><b>2nd</b> parameter <b>path</b> has been removed from the calling stack.</td> +<td>This parameter will be ignored by the function.</td> +</tr> +</table> +<br/> +</div> +<br/> +<span class='h_name'>tree_data.h</span>, <span class='lib_name'>libyang.so.2.47.2</span><br/> +<span class="section" onclick="javascript:showContent(this, 'c_35')"> +<span class='ext'>[+]</span> lyd_new_ext_term <span class='sym_p'><span>( struct lysc_ext_instance const* <span class='color_p'>ext</span></span>, <span>char const* <span class='color_p'>name</span></span>, <span>char const* <span class='color_p'>val_str</span></span>, <span>struct lyd_node** <span class='color_p'>node</span></span> )</span> <span class='failed'> 1 </span></span> +<br/> +<div id="c_35" style="display:none;"> + + +<span class='new_sign_lbl'>⇣</span> +<br/> +<span class='new_sign'>lyd_new_ext_term <span class='sym_p'><span>( struct lysc_ext_instance const* <span class='color_p'>ext</span></span>, <span>char const* <span class='color_p'>name</span></span>, <span>void const* <span class='color_p'>value</span></span>, <span>size_t <span class='color_p'>value_len</span></span>, <span>uint32_t <span class='color_p'>options</span></span>, <span>struct lyd_node** <span class='color_p'>node</span></span> )</span></span><br/> +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td>Parameter <b>options</b> of type <b>uint32_t</b> has been added to the calling stack.</td> +<td>This parameter will not be initialized by old clients.</td> +</tr> +</table> +<br/> +</div> +<br/> +<a class='top_ref' href='#Top'>to the top</a><br/> +<a name='Low_Risk_Binary_Problems'></a><a name='Type_Binary_Problems_Low'></a> +<h2>Problems with Data Types, Low Severity <span class='warning'> 7 </span></h2><hr/> +<span class='h_name'>log.h</span><br/> +<span class="section" onclick="javascript:showContent(this, 'c_36')"> +<span class='ext'>[+]</span> <span class='ttype'>struct</span> ly_err_item <span class='warning'> 3 </span></span> +<br/> +<div id="c_36" style="display:none;"> +<table class='ptable'><tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th></tr><tr> +<th>1</th> +<td>Size of this type has been changed from <b>56</b> bytes to <b>72</b> bytes.</td> +<td>The fields or parameters of such data type may be incorrectly initialized or accessed by old client applications.</td> +</tr> +<tr> +<th>2</th> +<td>Field <b>no</b> has been renamed to <b>err</b>.</td> +<td>Renaming of a field in data type may indicate a change in the semantic meaning of the field.</td> +</tr> +<tr> +<th>3</th> +<td>Field <b>path</b> has been renamed to <b>data_path</b>.</td> +<td>Renaming of a field in data type may indicate a change in the semantic meaning of the field.</td> +</tr> +</table> +<span class="sect_aff" onclick="javascript:showContent(this, 'c_37')"> +[+] affected symbols: 34 (8.7%)</span> +<div id="c_37" style="display:none;"> +<div class='affected'><span class='iname_a'>ly_err_clean <span class='sym_p'><span>( struct ly_ctx* <i>ctx</i></span>, <span>struct ly_err_item* <span class='fp'>eitem</span></span> )</span></span><br/> +<div class='affect'>2nd parameter 'eitem' (pointer) has base type 'struct ly_err_item'.</div> +<span class='iname_a'>ly_err_first <span class='sym_p'><span>( struct ly_ctx const* <i>ctx</i></span> )</span></span><br/> +<div class='affect'>Field 'retval.next' in the return value (pointer) has base type 'struct ly_err_item'.</div> +<span class='iname_a'>ly_err_last <span class='sym_p'><span>( struct ly_ctx const* <i>ctx</i></span> )</span></span><br/> +<div class='affect'>Field 'retval.next' in the return value (pointer) has base type 'struct ly_err_item'.</div> +<span class='iname_a'>ly_err_new <span class='sym_p'><span>( struct ly_err_item** <span class='fp'>err</span></span>, <span>char* <i>path</i></span>, <span>char* <i>apptag</i></span>, <span>char const* <i>err_format</i></span>, <span>...</span> )</span></span><br/> +<div class='affect'>1st parameter 'err' (pointer) has base type 'struct ly_err_item'.</div> +<span class='iname_a'>ly_err_print <span class='sym_p'><span>( struct ly_ctx const* <i>ctx</i></span>, <span>struct ly_err_item* <span class='fp'>eitem</span></span> )</span></span><br/> +<div class='affect'>Field 'eitem.next' in 2nd parameter 'eitem' (pointer) has base type 'struct ly_err_item'.</div> +<span class='iname_a'>lyplg_ext_compile_log_err <span class='sym_p'><span>( struct ly_err_item const* <span class='fp'>err</span></span>, <span>struct lysc_ext_instance const* <i>ext</i></span> )</span></span><br/> +<div class='affect'>Field 'err.next' in 1st parameter 'err' (pointer) has base type 'struct ly_err_item'.</div> +<span class='iname_a'>lyplg_type_check_hints <span class='sym_p'><span>( uint32_t <i>hints</i></span>, <span>char const* <i>value</i></span>, <span>size_t <i>value_len</i></span>, <span>int* <i>base</i></span>, <span>struct ly_err_item** <span class='fp'>err</span></span> )</span></span><br/> +<div class='affect'>6th parameter 'err' (pointer) has base type 'struct ly_err_item'.</div> +<span class='iname_a'>lyplg_type_check_status <span class='sym_p'><span>( struct lysc_node const* <i>ctx_node</i></span>, <span>uint16_t <i>val_flags</i></span>, <span>void* <i>prefix_data</i></span>, <span>char const* <i>val_name</i></span>, <span>struct ly_err_item** <span class='fp'>err</span></span> )</span></span><br/> +<div class='affect'>6th parameter 'err' (pointer) has base type 'struct ly_err_item'.</div> +<span class='iname_a'>lyplg_type_lypath_check_status <span class='sym_p'><span>( struct lysc_node const* <i>ctx_node</i></span>, <span>struct ly_path const* <i>path</i></span>, <span>void* <i>prefix_data</i></span>, <span>struct ly_err_item** <span class='fp'>err</span></span> )</span></span><br/> +<div class='affect'>5th parameter 'err' (pointer) has base type 'struct ly_err_item'.</div> +<span class='iname_a'>lyplg_type_lypath_new <span class='sym_p'><span>( struct ly_ctx const* <i>ctx</i></span>, <span>char const* <i>value</i></span>, <span>size_t <i>value_len</i></span>, <span>uint32_t <i>options</i></span>, <span>void* <i>prefix_data</i></span>, <span>struct lysc_node const* <i>ctx_node</i></span>, <span>struct lys_glob_unres* <i>unres</i></span>, <span>struct ly_path** <i>path</i></span>, <span>struct ly_err_item** <span class='fp'>err</span></span> )</span></span><br/> +<div class='affect'>10th parameter 'err' (pointer) has base type 'struct ly_err_item'.</div> + <b>...</b> +<br/> +</div> +</div> +<br/><br/></div> + +<span class="section" onclick="javascript:showContent(this, 'c_38')"> +<span class='ext'>[+]</span> <span class='ttype'>typedef</span> ly_log_clb <span class='warning'> 1 </span></span> +<br/> +<div id="c_38" style="display:none;"> +<table class='ptable'><tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th></tr><tr> +<th>1</th> +<td>Base type has been changed from <span class='value'>void(*)(, char const*, char const*)</span> to <span class='value'>void(*)(, char const*, char const*, char const*, uint64_t)</span>.</td> +<td>Replacement of the base data type may indicate a change in its semantic meaning.</td> +</tr> +</table> +<span class="sect_aff" onclick="javascript:showContent(this, 'c_39')"> +[+] affected symbols: 2 (0.5%)</span> +<div id="c_39" style="display:none;"> +<div class='affected'><span class='iname_a'>ly_get_log_clb <span class='sym_p'>( )</span></span><br/> +<div class='affect'>Return value is of type 'ly_log_clb'.</div> +<span class='iname_a'>ly_set_log_clb <span class='sym_p'><span>( void(*<span class='fp'>clb</span>)(, char const*, char const*)</span>, <span>ly_bool <i>path</i></span> )</span></span><br/> +<div class='affect'>1st parameter 'clb' is of type 'ly_log_clb'.</div> +</div> +</div> +<br/><br/></div> + +<br/> +<span class='h_name'>plugins_types.h</span><br/> +<span class="section" onclick="javascript:showContent(this, 'c_40')"> +<span class='ext'>[+]</span> <span class='ttype'>typedef</span> lyplg_type_sort_clb <span class='warning'> 1 </span></span> +<br/> +<div id="c_40" style="display:none;"> +<table class='ptable'><tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th></tr><tr> +<th>1</th> +<td>Base type has been changed from <span class='value'>int(*)(struct lyd_value const*, struct lyd_value const*)</span> to <span class='value'>int(*)(struct ly_ctx const*, struct lyd_value const*, struct lyd_value const*)</span>.</td> +<td>Replacement of the base data type may indicate a change in its semantic meaning.</td> +</tr> +</table> +<span class="sect_aff" onclick="javascript:showContent(this, 'c_41')"> +[+] affected symbols: 178 (45.5%)</span> +<div id="c_41" style="display:none;"> +<div class='affected'><span class='iname_a'>ly_ctx_get_module <span class='sym_p'><span>( struct ly_ctx const* <i>ctx</i></span>, <span>char const* <i>name</i></span>, <span>char const* <i>revision</i></span> )</span></span><br/> +<div class='affect'>Field 'retval.parsed.typedefs.type.compiled.plugin.sort' in the return value (pointer) is of type 'lyplg_type_sort_clb'.</div> +<span class='iname_a'>ly_ctx_get_module_implemented <span class='sym_p'><span>( struct ly_ctx const* <i>ctx</i></span>, <span>char const* <i>name</i></span> )</span></span><br/> +<div class='affect'>Field 'retval.parsed.typedefs.type.compiled.plugin.sort' in the return value (pointer) is of type 'lyplg_type_sort_clb'.</div> +<span class='iname_a'>ly_ctx_get_module_implemented_ns <span class='sym_p'><span>( struct ly_ctx const* <i>ctx</i></span>, <span>char const* <i>ns</i></span> )</span></span><br/> +<div class='affect'>Field 'retval.parsed.typedefs.type.compiled.plugin.sort' in the return value (pointer) is of type 'lyplg_type_sort_clb'.</div> +<span class='iname_a'>ly_ctx_get_module_iter <span class='sym_p'><span>( struct ly_ctx const* <i>ctx</i></span>, <span>uint32_t* <i>index</i></span> )</span></span><br/> +<div class='affect'>Field 'retval.parsed.typedefs.type.compiled.plugin.sort' in the return value (pointer) is of type 'lyplg_type_sort_clb'.</div> +<span class='iname_a'>ly_ctx_get_module_latest <span class='sym_p'><span>( struct ly_ctx const* <i>ctx</i></span>, <span>char const* <i>name</i></span> )</span></span><br/> +<div class='affect'>Field 'retval.parsed.typedefs.type.compiled.plugin.sort' in the return value (pointer) is of type 'lyplg_type_sort_clb'.</div> +<span class='iname_a'>ly_ctx_get_module_latest_ns <span class='sym_p'><span>( struct ly_ctx const* <i>ctx</i></span>, <span>char const* <i>ns</i></span> )</span></span><br/> +<div class='affect'>Field 'retval.parsed.typedefs.type.compiled.plugin.sort' in the return value (pointer) is of type 'lyplg_type_sort_clb'.</div> +<span class='iname_a'>ly_ctx_get_module_ns <span class='sym_p'><span>( struct ly_ctx const* <i>ctx</i></span>, <span>char const* <i>ns</i></span>, <span>char const* <i>revision</i></span> )</span></span><br/> +<div class='affect'>Field 'retval.parsed.typedefs.type.compiled.plugin.sort' in the return value (pointer) is of type 'lyplg_type_sort_clb'.</div> +<span class='iname_a'>ly_ctx_get_submodule <span class='sym_p'><span>( struct ly_ctx const* <i>ctx</i></span>, <span>char const* <i>submodule</i></span>, <span>char const* <i>revision</i></span> )</span></span><br/> +<div class='affect'>Field 'retval.augments.notifs.typedefs.type.compiled.plugin.sort' in the return value (pointer) is of type 'lyplg_type_sort_clb'.</div> +<span class='iname_a'>ly_ctx_get_submodule2 <span class='sym_p'><span>( struct lys_module const* <i>module</i></span>, <span>char const* <i>submodule</i></span>, <span>char const* <i>revision</i></span> )</span></span><br/> +<div class='affect'>Field 'retval.augments.notifs.typedefs.type.compiled.plugin.sort' in the return value (pointer) is of type 'lyplg_type_sort_clb'.</div> +<span class='iname_a'>ly_ctx_get_submodule2_latest <span class='sym_p'><span>( struct lys_module const* <i>module</i></span>, <span>char const* <i>submodule</i></span> )</span></span><br/> +<div class='affect'>Field 'retval.augments.notifs.typedefs.type.compiled.plugin.sort' in the return value (pointer) is of type 'lyplg_type_sort_clb'.</div> + <b>...</b> +<br/> +</div> +</div> +<br/><br/></div> + +<br/> +<span class='h_name'>tree_schema.h</span><br/> +<span class="section" onclick="javascript:showContent(this, 'c_42')"> +<span class='ext'>[+]</span> <span class='ttype'>struct</span> lysc_type <span class='warning'> 1 </span></span> +<br/> +<div id="c_42" style="display:none;"> +<table class='ptable'><tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th></tr><tr> +<th>1</th> +<td>Size of this type has been changed from <b>24</b> bytes to <b>32</b> bytes.</td> +<td>The fields or parameters of such data type may be incorrectly initialized or accessed by old client applications.</td> +</tr> +</table> +<span class="sect_aff" onclick="javascript:showContent(this, 'c_43')"> +[+] affected symbols: 177 (45.3%)</span> +<div id="c_43" style="display:none;"> +<div class='affected'><span class='iname_a'>ly_ctx_get_module <span class='sym_p'><span>( struct ly_ctx const* <i>ctx</i></span>, <span>char const* <i>name</i></span>, <span>char const* <i>revision</i></span> )</span></span><br/> +<div class='affect'>Field 'retval.parsed.typedefs.type.compiled' in the return value (pointer) has base type 'struct lysc_type'.</div> +<span class='iname_a'>ly_ctx_get_module_implemented <span class='sym_p'><span>( struct ly_ctx const* <i>ctx</i></span>, <span>char const* <i>name</i></span> )</span></span><br/> +<div class='affect'>Field 'retval.parsed.typedefs.type.compiled' in the return value (pointer) has base type 'struct lysc_type'.</div> +<span class='iname_a'>ly_ctx_get_module_implemented_ns <span class='sym_p'><span>( struct ly_ctx const* <i>ctx</i></span>, <span>char const* <i>ns</i></span> )</span></span><br/> +<div class='affect'>Field 'retval.parsed.typedefs.type.compiled' in the return value (pointer) has base type 'struct lysc_type'.</div> +<span class='iname_a'>ly_ctx_get_module_iter <span class='sym_p'><span>( struct ly_ctx const* <i>ctx</i></span>, <span>uint32_t* <i>index</i></span> )</span></span><br/> +<div class='affect'>Field 'retval.parsed.typedefs.type.compiled' in the return value (pointer) has base type 'struct lysc_type'.</div> +<span class='iname_a'>ly_ctx_get_module_latest <span class='sym_p'><span>( struct ly_ctx const* <i>ctx</i></span>, <span>char const* <i>name</i></span> )</span></span><br/> +<div class='affect'>Field 'retval.parsed.typedefs.type.compiled' in the return value (pointer) has base type 'struct lysc_type'.</div> +<span class='iname_a'>ly_ctx_get_module_latest_ns <span class='sym_p'><span>( struct ly_ctx const* <i>ctx</i></span>, <span>char const* <i>ns</i></span> )</span></span><br/> +<div class='affect'>Field 'retval.parsed.typedefs.type.compiled' in the return value (pointer) has base type 'struct lysc_type'.</div> +<span class='iname_a'>ly_ctx_get_module_ns <span class='sym_p'><span>( struct ly_ctx const* <i>ctx</i></span>, <span>char const* <i>ns</i></span>, <span>char const* <i>revision</i></span> )</span></span><br/> +<div class='affect'>Field 'retval.parsed.typedefs.type.compiled' in the return value (pointer) has base type 'struct lysc_type'.</div> +<span class='iname_a'>ly_ctx_get_submodule <span class='sym_p'><span>( struct ly_ctx const* <i>ctx</i></span>, <span>char const* <i>submodule</i></span>, <span>char const* <i>revision</i></span> )</span></span><br/> +<div class='affect'>Field 'retval.augments.notifs.typedefs.type.compiled' in the return value (pointer) has base type 'struct lysc_type'.</div> +<span class='iname_a'>ly_ctx_get_submodule2 <span class='sym_p'><span>( struct lys_module const* <i>module</i></span>, <span>char const* <i>submodule</i></span>, <span>char const* <i>revision</i></span> )</span></span><br/> +<div class='affect'>Field 'retval.augments.notifs.typedefs.type.compiled' in the return value (pointer) has base type 'struct lysc_type'.</div> +<span class='iname_a'>ly_ctx_get_submodule2_latest <span class='sym_p'><span>( struct lys_module const* <i>module</i></span>, <span>char const* <i>submodule</i></span> )</span></span><br/> +<div class='affect'>Field 'retval.augments.notifs.typedefs.type.compiled' in the return value (pointer) has base type 'struct lysc_type'.</div> + <b>...</b> +<br/> +</div> +</div> +<br/><br/></div> + +<span class="section" onclick="javascript:showContent(this, 'c_44')"> +<span class='ext'>[+]</span> <span class='ttype'>struct</span> lysc_type_bits <span class='warning'> 1 </span></span> +<br/> +<div id="c_44" style="display:none;"> +<table class='ptable'><tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th></tr><tr> +<th>1</th> +<td>Size of this type has been changed from <b>32</b> bytes to <b>40</b> bytes.</td> +<td>The fields or parameters of such data type may be incorrectly initialized or accessed by old client applications.</td> +</tr> +</table> +<span class="sect_aff" onclick="javascript:showContent(this, 'c_45')"> +[+] affected symbols: 1 (0.3%)</span> +<div id="c_45" style="display:none;"> +<div class='affected'><span class='iname_a'>lyplg_type_bits_bitmap_size <span class='sym_p'><span>( struct lysc_type_bits const* <span class='fp'>type</span></span> )</span></span><br/> +<div class='affect'>1st parameter 'type' (pointer) has base type 'struct lysc_type_bits'.</div> +</div> +</div> +<br/><br/></div> + +<br/> +<a class='top_ref' href='#Top'>to the top</a><br/> +<a name='Symbol_Binary_Problems_Low'></a><a name='Interface_Binary_Problems_Low'></a> +<h2>Problems with Symbols, Low Severity <span class='warning'> 18 </span></h2><hr/> +<span class='h_name'>log.h</span>, <span class='lib_name'>libyang.so.2.47.2</span><br/> +<span class="section" onclick="javascript:showContent(this, 'c_46')"> +<span class='ext'>[+]</span> ly_err_first <span class='sym_p'><span>( struct ly_ctx const* <span class='color_p'>ctx</span></span> )</span> <span class='warning'> 1 </span></span> +<br/> +<div id="c_46" style="display:none;"> + +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td>Type of return value has been changed from <span class='value'>struct ly_err_item*</span> to <span class='value'>struct ly_err_item const*</span>.</td> +<td>Replacement of return type may indicate a change in its semantic meaning.</td> +</tr> +</table> +<br/> +</div> +<span class="section" onclick="javascript:showContent(this, 'c_47')"> +<span class='ext'>[+]</span> ly_err_last <span class='sym_p'><span>( struct ly_ctx const* <span class='color_p'>ctx</span></span> )</span> <span class='warning'> 1 </span></span> +<br/> +<div id="c_47" style="display:none;"> + +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td>Type of return value has been changed from <span class='value'>struct ly_err_item*</span> to <span class='value'>struct ly_err_item const*</span>.</td> +<td>Replacement of return type may indicate a change in its semantic meaning.</td> +</tr> +</table> +<br/> +</div> +<span class="section" onclick="javascript:showContent(this, 'c_48')"> +<span class='ext'>[+]</span> ly_err_print <span class='sym_p'><span>( struct ly_ctx const* <span class='color_p'>ctx</span></span>, <span>struct ly_err_item* <span class='color_p'>eitem</span></span> )</span> <span class='warning'> 1 </span></span> +<br/> +<div id="c_48" style="display:none;"> + + +<span class='new_sign_lbl'>⇣</span> +<br/> +<span class='new_sign'>ly_err_print <span class='sym_p'><span>( struct ly_ctx const* <span class='color_p'>ctx</span></span>, <span>struct ly_err_item const* <span class='color_p'>eitem</span></span> )</span></span><br/> +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td>Type of <b>2nd</b> parameter <b>eitem</b> has been changed from <span class='value'>struct ly_err_item*</span> to <span class='value'>struct ly_err_item const*</span>.</td> +<td>Replacement of parameter data type may indicate a change in its semantic meaning.</td> +</tr> +</table> +<br/> +</div> +<span class="section" onclick="javascript:showContent(this, 'c_49')"> +<span class='ext'>[+]</span> ly_temp_log_options <span class='sym_p'><span>( uint32_t* <span class='color_p'>opts</span></span> )</span> <span class='warning'> 1 </span></span> +<br/> +<div id="c_49" style="display:none;"> + +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td>Type of return value has been changed from <b>void</b> to <span class='nowrap'><b>uint32_t*</b> (<b>8</b> bytes)</span>.</td> +<td>Replacement of return type may indicate a change in its semantic meaning.</td> +</tr> +</table> +<br/> +</div> +<br/> +<span class='h_name'>plugins_exts.h</span>, <span class='lib_name'>libyang.so.2.47.2</span><br/> +<span class="section" onclick="javascript:showContent(this, 'c_50')"> +<span class='ext'>[+]</span> lyplg_ext_compile_log <span class='sym_p'><span>( struct lysc_ctx const* <span class='color_p'>cctx</span></span>, <span>struct lysc_ext_instance const* <span class='color_p'>ext</span></span>, <span>char const* <span class='color_p'>format</span></span>, <span>...</span> )</span> <span class='warning'> 1 </span></span> +<br/> +<div id="c_50" style="display:none;"> + + +<span class='new_sign_lbl'>⇣</span> +<br/> +<span class='new_sign'>lyplg_ext_compile_log <span class='sym_p'><span>( struct lysc_ctx const* <span class='color_p'>cctx</span></span>, <span>struct lysc_ext_instance const* <span class='color_p'>ext</span></span>, <span>char const* <span class='color_p'>format</span></span>, <span>...</span> )</span></span><br/> +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td><b>4th</b> parameter <b>err_no</b> has been renamed to <b>err</b>.</td> +<td>Renaming of a parameter may indicate a change in its semantic meaning.</td> +</tr> +</table> +<br/> +</div> +<span class="section" onclick="javascript:showContent(this, 'c_51')"> +<span class='ext'>[+]</span> lyplg_ext_compile_log_err <span class='sym_p'><span>( struct ly_err_item const* <span class='color_p'>err</span></span>, <span>struct lysc_ext_instance const* <span class='color_p'>ext</span></span> )</span> <span class='warning'> 1 </span></span> +<br/> +<div id="c_51" style="display:none;"> + + +<span class='new_sign_lbl'>⇣</span> +<br/> +<span class='new_sign'>lyplg_ext_compile_log_err <span class='sym_p'><span>( struct ly_err_item const* <span class='color_p'>eitem</span></span>, <span>struct lysc_ext_instance const* <span class='color_p'>ext</span></span> )</span></span><br/> +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td><b>1st</b> parameter <b>err</b> has been renamed to <b>eitem</b>.</td> +<td>Renaming of a parameter may indicate a change in its semantic meaning.</td> +</tr> +</table> +<br/> +</div> +<span class="section" onclick="javascript:showContent(this, 'c_52')"> +<span class='ext'>[+]</span> lyplg_ext_compile_log_path <span class='sym_p'><span>( char const* <span class='color_p'>path</span></span>, <span>struct lysc_ext_instance const* <span class='color_p'>ext</span></span>, <span>char const* <span class='color_p'>format</span></span>, <span>...</span> )</span> <span class='warning'> 1 </span></span> +<br/> +<div id="c_52" style="display:none;"> + + +<span class='new_sign_lbl'>⇣</span> +<br/> +<span class='new_sign'>lyplg_ext_compile_log_path <span class='sym_p'><span>( char const* <span class='color_p'>path</span></span>, <span>struct lysc_ext_instance const* <span class='color_p'>ext</span></span>, <span>char const* <span class='color_p'>format</span></span>, <span>...</span> )</span></span><br/> +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td><b>4th</b> parameter <b>err_no</b> has been renamed to <b>err</b>.</td> +<td>Renaming of a parameter may indicate a change in its semantic meaning.</td> +</tr> +</table> +<br/> +</div> +<span class="section" onclick="javascript:showContent(this, 'c_53')"> +<span class='ext'>[+]</span> lyplg_ext_parse_log <span class='sym_p'><span>( struct lysp_ctx const* <span class='color_p'>pctx</span></span>, <span>struct lysp_ext_instance const* <span class='color_p'>ext</span></span>, <span>char const* <span class='color_p'>format</span></span>, <span>...</span> )</span> <span class='warning'> 1 </span></span> +<br/> +<div id="c_53" style="display:none;"> + + +<span class='new_sign_lbl'>⇣</span> +<br/> +<span class='new_sign'>lyplg_ext_parse_log <span class='sym_p'><span>( struct lysp_ctx const* <span class='color_p'>pctx</span></span>, <span>struct lysp_ext_instance const* <span class='color_p'>ext</span></span>, <span>char const* <span class='color_p'>format</span></span>, <span>...</span> )</span></span><br/> +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td><b>4th</b> parameter <b>err_no</b> has been renamed to <b>err</b>.</td> +<td>Renaming of a parameter may indicate a change in its semantic meaning.</td> +</tr> +</table> +<br/> +</div> +<br/> +<span class='h_name'>plugins_types.h</span>, <span class='lib_name'>libyang.so.2.47.2</span><br/> +<span class="section" onclick="javascript:showContent(this, 'c_54')"> +<span class='ext'>[+]</span> ly_err_new <span class='sym_p'><span>( struct ly_err_item** <span class='color_p'>err</span></span>, <span>char* <span class='color_p'>path</span></span>, <span>char* <span class='color_p'>apptag</span></span>, <span>char const* <span class='color_p'>err_format</span></span>, <span>...</span> )</span> <span class='warning'> 1 </span></span> +<br/> +<div id="c_54" style="display:none;"> + + +<span class='new_sign_lbl'>⇣</span> +<br/> +<span class='new_sign'>ly_err_new <span class='sym_p'><span>( struct ly_err_item** <span class='color_p'>err</span></span>, <span>char* <span class='color_p'>data_path</span></span>, <span>char* <span class='color_p'>apptag</span></span>, <span>char const* <span class='color_p'>err_format</span></span>, <span>...</span> )</span></span><br/> +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td><b>4th</b> parameter <b>path</b> has been renamed to <b>data_path</b>.</td> +<td>Renaming of a parameter may indicate a change in its semantic meaning.</td> +</tr> +</table> +<br/> +</div> +<br/> +<span class='h_name'>tree_data.h</span>, <span class='lib_name'>libyang.so.2.47.2</span><br/> +<span class="section" onclick="javascript:showContent(this, 'c_55')"> +<span class='ext'>[+]</span> lyd_new_ext_any <span class='sym_p'><span>( struct lysc_ext_instance const* <span class='color_p'>ext</span></span>, <span>char const* <span class='color_p'>name</span></span>, <span>void const* <span class='color_p'>value</span></span>, <span>ly_bool <span class='color_p'>use_value</span></span>, <span>struct lyd_node** <span class='color_p'>node</span></span> )</span> <span class='warning'> 2 </span></span> +<br/> +<div id="c_55" style="display:none;"> + + +<span class='new_sign_lbl'>⇣</span> +<br/> +<span class='new_sign'>lyd_new_ext_any <span class='sym_p'><span>( struct lysc_ext_instance const* <span class='color_p'>ext</span></span>, <span>char const* <span class='color_p'>name</span></span>, <span>void const* <span class='color_p'>value</span></span>, <span>uint32_t <span class='color_p'>options</span></span>, <span>struct lyd_node** <span class='color_p'>node</span></span> )</span></span><br/> +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td><b>4th</b> parameter <b>use_value</b> has been renamed to <b>value_type</b>.</td> +<td>Renaming of a parameter may indicate a change in its semantic meaning.</td> +</tr> +<tr> +<th>2</th> +<td><b>5th</b> parameter <b>value_type</b> has been renamed to <b>options</b>.</td> +<td>Renaming of a parameter may indicate a change in its semantic meaning.</td> +</tr> +</table> +<br/> +</div> +<span class="section" onclick="javascript:showContent(this, 'c_56')"> +<span class='ext'>[+]</span> lyd_new_list <span class='sym_p'><span>( struct lyd_node* <span class='color_p'>parent</span></span>, <span>struct lys_module const* <span class='color_p'>module</span></span>, <span>char const* <span class='color_p'>name</span></span>, <span>ly_bool <span class='color_p'>output</span></span>, <span>struct lyd_node** <span class='color_p'>node</span></span>, <span>...</span> )</span> <span class='warning'> 1 </span></span> +<br/> +<div id="c_56" style="display:none;"> + + +<span class='new_sign_lbl'>⇣</span> +<br/> +<span class='new_sign'>lyd_new_list <span class='sym_p'><span>( struct lyd_node* <span class='color_p'>parent</span></span>, <span>struct lys_module const* <span class='color_p'>module</span></span>, <span>char const* <span class='color_p'>name</span></span>, <span>uint32_t <span class='color_p'>options</span></span>, <span>struct lyd_node** <span class='color_p'>node</span></span>, <span>...</span> )</span></span><br/> +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td><b>4th</b> parameter <b>output</b> has been renamed to <b>options</b>.</td> +<td>Renaming of a parameter may indicate a change in its semantic meaning.</td> +</tr> +</table> +<br/> +</div> +<span class="section" onclick="javascript:showContent(this, 'c_57')"> +<span class='ext'>[+]</span> lyd_new_list2 <span class='sym_p'><span>( struct lyd_node* <span class='color_p'>parent</span></span>, <span>struct lys_module const* <span class='color_p'>module</span></span>, <span>char const* <span class='color_p'>name</span></span>, <span>char const* <span class='color_p'>keys</span></span>, <span>ly_bool <span class='color_p'>output</span></span>, <span>struct lyd_node** <span class='color_p'>node</span></span> )</span> <span class='warning'> 1 </span></span> +<br/> +<div id="c_57" style="display:none;"> + + +<span class='new_sign_lbl'>⇣</span> +<br/> +<span class='new_sign'>lyd_new_list2 <span class='sym_p'><span>( struct lyd_node* <span class='color_p'>parent</span></span>, <span>struct lys_module const* <span class='color_p'>module</span></span>, <span>char const* <span class='color_p'>name</span></span>, <span>char const* <span class='color_p'>keys</span></span>, <span>uint32_t <span class='color_p'>options</span></span>, <span>struct lyd_node** <span class='color_p'>node</span></span> )</span></span><br/> +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td><b>5th</b> parameter <b>output</b> has been renamed to <b>options</b>.</td> +<td>Renaming of a parameter may indicate a change in its semantic meaning.</td> +</tr> +</table> +<br/> +</div> +<span class="section" onclick="javascript:showContent(this, 'c_58')"> +<span class='ext'>[+]</span> lyd_new_list3 <span class='sym_p'><span>( struct lyd_node* <span class='color_p'>parent</span></span>, <span>struct lys_module const* <span class='color_p'>module</span></span>, <span>char const* <span class='color_p'>name</span></span>, <span>char const** <span class='color_p'>key_values</span></span>, <span>uint32_t* <span class='color_p'>value_lengths</span></span>, <span>ly_bool <span class='color_p'>output</span></span>, <span>struct lyd_node** <span class='color_p'>node</span></span> )</span> <span class='warning'> 1 </span></span> +<br/> +<div id="c_58" style="display:none;"> + + +<span class='new_sign_lbl'>⇣</span> +<br/> +<span class='new_sign'>lyd_new_list3 <span class='sym_p'><span>( struct lyd_node* <span class='color_p'>parent</span></span>, <span>struct lys_module const* <span class='color_p'>module</span></span>, <span>char const* <span class='color_p'>name</span></span>, <span>char const** <span class='color_p'>key_values</span></span>, <span>uint32_t* <span class='color_p'>value_lengths</span></span>, <span>uint32_t <span class='color_p'>options</span></span>, <span>struct lyd_node** <span class='color_p'>node</span></span> )</span></span><br/> +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td><b>6th</b> parameter <b>output</b> has been renamed to <b>options</b>.</td> +<td>Renaming of a parameter may indicate a change in its semantic meaning.</td> +</tr> +</table> +<br/> +</div> +<span class="section" onclick="javascript:showContent(this, 'c_59')"> +<span class='ext'>[+]</span> lyd_new_meta <span class='sym_p'><span>( struct ly_ctx const* <span class='color_p'>ctx</span></span>, <span>struct lyd_node* <span class='color_p'>parent</span></span>, <span>struct lys_module const* <span class='color_p'>module</span></span>, <span>char const* <span class='color_p'>name</span></span>, <span>char const* <span class='color_p'>val_str</span></span>, <span>ly_bool <span class='color_p'>clear_dflt</span></span>, <span>struct lyd_meta** <span class='color_p'>meta</span></span> )</span> <span class='warning'> 1 </span></span> +<br/> +<div id="c_59" style="display:none;"> + + +<span class='new_sign_lbl'>⇣</span> +<br/> +<span class='new_sign'>lyd_new_meta <span class='sym_p'><span>( struct ly_ctx const* <span class='color_p'>ctx</span></span>, <span>struct lyd_node* <span class='color_p'>parent</span></span>, <span>struct lys_module const* <span class='color_p'>module</span></span>, <span>char const* <span class='color_p'>name</span></span>, <span>char const* <span class='color_p'>val_str</span></span>, <span>uint32_t <span class='color_p'>options</span></span>, <span>struct lyd_meta** <span class='color_p'>meta</span></span> )</span></span><br/> +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td><b>6th</b> parameter <b>clear_dflt</b> has been renamed to <b>options</b>.</td> +<td>Renaming of a parameter may indicate a change in its semantic meaning.</td> +</tr> +</table> +<br/> +</div> +<span class="section" onclick="javascript:showContent(this, 'c_60')"> +<span class='ext'>[+]</span> lyd_new_meta2 <span class='sym_p'><span>( struct ly_ctx const* <span class='color_p'>ctx</span></span>, <span>struct lyd_node* <span class='color_p'>parent</span></span>, <span>ly_bool <span class='color_p'>clear_dflt</span></span>, <span>struct lyd_attr const* <span class='color_p'>attr</span></span>, <span>struct lyd_meta** <span class='color_p'>meta</span></span> )</span> <span class='warning'> 1 </span></span> +<br/> +<div id="c_60" style="display:none;"> + + +<span class='new_sign_lbl'>⇣</span> +<br/> +<span class='new_sign'>lyd_new_meta2 <span class='sym_p'><span>( struct ly_ctx const* <span class='color_p'>ctx</span></span>, <span>struct lyd_node* <span class='color_p'>parent</span></span>, <span>uint32_t <span class='color_p'>options</span></span>, <span>struct lyd_attr const* <span class='color_p'>attr</span></span>, <span>struct lyd_meta** <span class='color_p'>meta</span></span> )</span></span><br/> +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td><b>3rd</b> parameter <b>clear_dflt</b> has been renamed to <b>options</b>.</td> +<td>Renaming of a parameter may indicate a change in its semantic meaning.</td> +</tr> +</table> +<br/> +</div> +<span class="section" onclick="javascript:showContent(this, 'c_61')"> +<span class='ext'>[+]</span> lyd_new_term <span class='sym_p'><span>( struct lyd_node* <span class='color_p'>parent</span></span>, <span>struct lys_module const* <span class='color_p'>module</span></span>, <span>char const* <span class='color_p'>name</span></span>, <span>char const* <span class='color_p'>val_str</span></span>, <span>ly_bool <span class='color_p'>output</span></span>, <span>struct lyd_node** <span class='color_p'>node</span></span> )</span> <span class='warning'> 2 </span></span> +<br/> +<div id="c_61" style="display:none;"> + + +<span class='new_sign_lbl'>⇣</span> +<br/> +<span class='new_sign'>lyd_new_term <span class='sym_p'><span>( struct lyd_node* <span class='color_p'>parent</span></span>, <span>struct lys_module const* <span class='color_p'>module</span></span>, <span>char const* <span class='color_p'>name</span></span>, <span>char const* <span class='color_p'>value</span></span>, <span>uint32_t <span class='color_p'>options</span></span>, <span>struct lyd_node** <span class='color_p'>node</span></span> )</span></span><br/> +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td><b>4th</b> parameter <b>val_str</b> has been renamed to <b>value</b>.</td> +<td>Renaming of a parameter may indicate a change in its semantic meaning.</td> +</tr> +<tr> +<th>2</th> +<td><b>5th</b> parameter <b>output</b> has been renamed to <b>options</b>.</td> +<td>Renaming of a parameter may indicate a change in its semantic meaning.</td> +</tr> +</table> +<br/> +</div> +<br/> +<a class='top_ref' href='#Top'>to the top</a><br/> +<a name='Headers'></a><h2>Header Files <span class='gray'> 17 </span></h2><hr/> +<div class='h_list'> +context.h<br/> +dict.h<br/> +hash_table.h<br/> +in.h<br/> +log.h<br/> +metadata.h<br/> +out.h<br/> +parser_data.h<br/> +parser_schema.h<br/> +plugins.h<br/> +plugins_exts.h<br/> +plugins_types.h<br/> +printer_data.h<br/> +printer_schema.h<br/> +set.h<br/> +tree_data.h<br/> +tree_schema.h<br/> +</div> +<br/><a class='top_ref' href='#Top'>to the top</a><br/> +<a name='Libs'></a><h2>Objects <span class='gray'> 1 </span></h2><hr/> +<div class='lib_list'> +libyang.so.2.47.2<br/> +</div> +<br/><a class='top_ref' href='#Top'>to the top</a><br/> +<br/><br/><br/></div><div id='SourceTab' class='tab'> +<h2>Test Info</h2><hr/> +<table class='summary'> +<tr><th>Module Name</th><td>libyang.so</td></tr> +<tr><th>Version #1</th><td>2.47.2</td></tr> +<tr><th>Version #2</th><td>3.0.0</td></tr> +<tr><th>Arch</th><td>x86_64</td></tr> +<tr><th>Subject</th><td width='150px'>Source Compatibility</td></tr> +</table> +<h2>Test Results</h2><hr/> +<table class='summary'><tr><th>Total Header Files</th><td><a href='#Headers' style='color:Blue;'>17</a></td></tr> +<tr><th>Total Objects</th><td><a href='#Libs' style='color:Blue;'>1</a></td></tr> +<tr><th>Total Symbols / Types</th><td>391 / 104</td></tr> +<tr><th>Compatibility</th> +<td class='incompatible'>42.3%</td> +</tr> +</table> +<h2>Problem Summary</h2><hr/> +<table class='summary'><tr><th></th><th style='text-align:center;'>Severity</th><th style='text-align:center;'>Count</th></tr><tr><th>Added Symbols</th><td>-</td><td class='new'><a href='#Source_Added' style='color:Blue;'>15</a></td></tr> +<tr><th>Removed Symbols</th><td>High</td><td class='failed'><a href='#Source_Removed' style='color:Blue;'>19</a></td></tr> +<tr><th rowspan='3'>Problems with<br/>Data Types</th><td>High</td><td class='failed'><a href='#Type_Source_Problems_High' style='color:Blue;'>4</a></td></tr> +<tr><td>Medium</td><td>0</td></tr> +<tr><td>Low</td><td class='warning'><a href='#Type_Source_Problems_Low' style='color:Blue;'>7</a></td></tr> +<tr><th rowspan='3'>Problems with<br/>Symbols</th><td>High</td><td class='failed'><a href='#Symbol_Source_Problems_High' style='color:Blue;'>20</a></td></tr> +<tr><td>Medium</td><td class='failed'><a href='#Symbol_Source_Problems_Medium' style='color:Blue;'>4</a></td></tr> +<tr><td>Low</td><td class='warning'><a href='#Symbol_Source_Problems_Low' style='color:Blue;'>6</a></td></tr> +<tr><th>Problems with<br/>Constants</th><td>Low</td><td>0</td></tr> +<tr><th>Other Changes<br/>in Symbols</th><td>-</td><td class='passed'><a href='#Other_Source_Changes_In_Symbols' style='color:Blue;'>15</a></td></tr> +</table> + +<a name='Source_Added'></a><h2>Added Symbols <span class='new'> 15 </span></h2><hr/> +<span class='h_name'>log.h</span><br/> +<span class="iname">ly_last_logmsg <span class='sym_p'>( )</span></span><br/> +<span class="iname">ly_strerr <span class='sym_p'>( )</span></span><br/> +<br/> +<span class='h_name'>plugins_types.h</span><br/> +<span class="iname">lyplg_type_sort_binary <span class='sym_p'><span>( struct ly_ctx const* <span class='color_p'>UNUSED_ctx</span></span>, <span>struct lyd_value const* <span class='color_p'>val1</span></span>, <span>struct lyd_value const* <span class='color_p'>val2</span></span> )</span></span><br/> +<span class="iname">lyplg_type_sort_bits <span class='sym_p'><span>( struct ly_ctx const* <span class='color_p'>UNUSED_ctx</span></span>, <span>struct lyd_value const* <span class='color_p'>val1</span></span>, <span>struct lyd_value const* <span class='color_p'>val2</span></span> )</span></span><br/> +<span class="iname">lyplg_type_sort_boolean <span class='sym_p'><span>( struct ly_ctx const* <span class='color_p'>UNUSED_ctx</span></span>, <span>struct lyd_value const* <span class='color_p'>val1</span></span>, <span>struct lyd_value const* <span class='color_p'>val2</span></span> )</span></span><br/> +<span class="iname">lyplg_type_sort_decimal64 <span class='sym_p'><span>( struct ly_ctx const* <span class='color_p'>UNUSED_ctx</span></span>, <span>struct lyd_value const* <span class='color_p'>val1</span></span>, <span>struct lyd_value const* <span class='color_p'>val2</span></span> )</span></span><br/> +<span class="iname">lyplg_type_sort_enum <span class='sym_p'><span>( struct ly_ctx const* <span class='color_p'>UNUSED_ctx</span></span>, <span>struct lyd_value const* <span class='color_p'>val1</span></span>, <span>struct lyd_value const* <span class='color_p'>val2</span></span> )</span></span><br/> +<span class="iname">lyplg_type_sort_identityref <span class='sym_p'><span>( struct ly_ctx const* <span class='color_p'>UNUSED_ctx</span></span>, <span>struct lyd_value const* <span class='color_p'>val1</span></span>, <span>struct lyd_value const* <span class='color_p'>val2</span></span> )</span></span><br/> +<span class="iname">lyplg_type_sort_instanceid <span class='sym_p'><span>( struct ly_ctx const* <span class='color_p'>ctx</span></span>, <span>struct lyd_value const* <span class='color_p'>val1</span></span>, <span>struct lyd_value const* <span class='color_p'>val2</span></span> )</span></span><br/> +<span class="iname">lyplg_type_sort_int <span class='sym_p'><span>( struct ly_ctx const* <span class='color_p'>UNUSED_ctx</span></span>, <span>struct lyd_value const* <span class='color_p'>val1</span></span>, <span>struct lyd_value const* <span class='color_p'>val2</span></span> )</span></span><br/> +<span class="iname">lyplg_type_sort_leafref <span class='sym_p'><span>( struct ly_ctx const* <span class='color_p'>ctx</span></span>, <span>struct lyd_value const* <span class='color_p'>val1</span></span>, <span>struct lyd_value const* <span class='color_p'>val2</span></span> )</span></span><br/> +<span class="iname">lyplg_type_sort_simple <span class='sym_p'><span>( struct ly_ctx const* <span class='color_p'>ctx</span></span>, <span>struct lyd_value const* <span class='color_p'>val1</span></span>, <span>struct lyd_value const* <span class='color_p'>val2</span></span> )</span></span><br/> +<span class="iname">lyplg_type_sort_uint <span class='sym_p'><span>( struct ly_ctx const* <span class='color_p'>UNUSED_ctx</span></span>, <span>struct lyd_value const* <span class='color_p'>val1</span></span>, <span>struct lyd_value const* <span class='color_p'>val2</span></span> )</span></span><br/> +<span class="iname">lyplg_type_sort_union <span class='sym_p'><span>( struct ly_ctx const* <span class='color_p'>ctx</span></span>, <span>struct lyd_value const* <span class='color_p'>val1</span></span>, <span>struct lyd_value const* <span class='color_p'>val2</span></span> )</span></span><br/> +<br/> +<span class='h_name'>printer_data.h</span><br/> +<span class="iname">lyd_metadata_should_print <span class='sym_p'><span>( struct lyd_meta const* <span class='color_p'>meta</span></span> )</span></span><br/> +<br/> +<a class='top_ref' href='#Top'>to the top</a><br/> +<a name='Source_Removed'></a><a name='Source_Withdrawn'></a><h2>Removed Symbols <span class='failed'> 19 </span></h2><hr/> +<span class='h_name'>context.h</span><br/> +<span class="iname">ly_ctx_reset_latests <span class='sym_p'><span>( struct ly_ctx* <span class='color_p'>ctx</span></span> )</span></span><br/> +<br/> +<span class='h_name'>log.h</span><br/> +<span class="iname">ly_errapptag <span class='sym_p'><span>( struct ly_ctx const* <span class='color_p'>ctx</span></span> )</span></span><br/> +<span class="iname">ly_errcode <span class='sym_p'><span>( struct ly_ctx const* <span class='color_p'>ctx</span></span> )</span></span><br/> +<span class="iname">ly_errmsg <span class='sym_p'><span>( struct ly_ctx const* <span class='color_p'>ctx</span></span> )</span></span><br/> +<span class="iname">ly_errpath <span class='sym_p'><span>( struct ly_ctx const* <span class='color_p'>ctx</span></span> )</span></span><br/> +<span class="iname">ly_last_errmsg <span class='sym_p'>( )</span></span><br/> +<span class="iname">ly_strerrcode <span class='sym_p'>( )</span></span><br/> +<span class="iname">ly_vecode <span class='sym_p'><span>( struct ly_ctx const* <span class='color_p'>ctx</span></span> )</span></span><br/> +<br/> +<span class='h_name'>tree_data.h</span><br/> +<span class="iname">lyd_child <span class='sym_p'><span>( struct lyd_node const* <span class='color_p'>node</span></span> )</span></span><br/> +<span class="iname">lyd_find_xpath4 <span class='sym_p'><span>( struct lyd_node const* <span class='color_p'>ctx_node</span></span>, <span>struct lyd_node const* <span class='color_p'>tree</span></span>, <span>char const* <span class='color_p'>xpath</span></span>, <span>void* <span class='color_p'>prefix_data</span></span>, <span>struct lyxp_var const* <span class='color_p'>vars</span></span>, <span>struct ly_set** <span class='color_p'>set</span></span> )</span></span><br/> +<span class="iname">lyd_get_value <span class='sym_p'><span>( struct lyd_node const* <span class='color_p'>node</span></span> )</span></span><br/> +<span class="iname">lyd_new_list3_bin <span class='sym_p'><span>( struct lyd_node* <span class='color_p'>parent</span></span>, <span>struct lys_module const* <span class='color_p'>module</span></span>, <span>char const* <span class='color_p'>name</span></span>, <span>void const** <span class='color_p'>key_values</span></span>, <span>uint32_t* <span class='color_p'>value_lengths</span></span>, <span>ly_bool <span class='color_p'>output</span></span>, <span>struct lyd_node** <span class='color_p'>node</span></span> )</span></span><br/> +<span class="iname">lyd_new_list3_canon <span class='sym_p'><span>( struct lyd_node* <span class='color_p'>parent</span></span>, <span>struct lys_module const* <span class='color_p'>module</span></span>, <span>char const* <span class='color_p'>name</span></span>, <span>char const** <span class='color_p'>key_values</span></span>, <span>uint32_t* <span class='color_p'>value_lengths</span></span>, <span>ly_bool <span class='color_p'>output</span></span>, <span>struct lyd_node** <span class='color_p'>node</span></span> )</span></span><br/> +<span class="iname">lyd_new_list_bin <span class='sym_p'><span>( struct lyd_node* <span class='color_p'>parent</span></span>, <span>struct lys_module const* <span class='color_p'>module</span></span>, <span>char const* <span class='color_p'>name</span></span>, <span>ly_bool <span class='color_p'>output</span></span>, <span>struct lyd_node** <span class='color_p'>node</span></span>, <span>...</span> )</span></span><br/> +<span class="iname">lyd_new_list_canon <span class='sym_p'><span>( struct lyd_node* <span class='color_p'>parent</span></span>, <span>struct lys_module const* <span class='color_p'>module</span></span>, <span>char const* <span class='color_p'>name</span></span>, <span>ly_bool <span class='color_p'>output</span></span>, <span>struct lyd_node** <span class='color_p'>node</span></span>, <span>...</span> )</span></span><br/> +<span class="iname">lyd_new_term_bin <span class='sym_p'><span>( struct lyd_node* <span class='color_p'>parent</span></span>, <span>struct lys_module const* <span class='color_p'>module</span></span>, <span>char const* <span class='color_p'>name</span></span>, <span>void const* <span class='color_p'>value</span></span>, <span>size_t <span class='color_p'>value_len</span></span>, <span>ly_bool <span class='color_p'>output</span></span>, <span>struct lyd_node** <span class='color_p'>node</span></span> )</span></span><br/> +<span class="iname">lyd_new_term_canon <span class='sym_p'><span>( struct lyd_node* <span class='color_p'>parent</span></span>, <span>struct lys_module const* <span class='color_p'>module</span></span>, <span>char const* <span class='color_p'>name</span></span>, <span>char const* <span class='color_p'>val_str</span></span>, <span>ly_bool <span class='color_p'>output</span></span>, <span>struct lyd_node** <span class='color_p'>node</span></span> )</span></span><br/> +<span class="iname">lyd_parent <span class='sym_p'><span>( struct lyd_node const* <span class='color_p'>node</span></span> )</span></span><br/> +<span class="iname">lyd_target <span class='sym_p'><span>( struct ly_path const* <span class='color_p'>path</span></span>, <span>struct lyd_node const* <span class='color_p'>tree</span></span> )</span></span><br/> +<br/> +<a class='top_ref' href='#Top'>to the top</a><br/> +<a name='High_Risk_Source_Problems'></a><a name='Type_Source_Problems_High'></a> +<h2>Problems with Data Types, High Severity <span class='failed'> 4 </span></h2><hr/> +<span class='h_name'>log.h</span><br/> +<span class="section" onclick="javascript:showContent(this, 'c_62')"> +<span class='ext'>[+]</span> <span class='ttype'>struct</span> ly_err_item <span class='failed'> 2 </span></span> +<br/> +<div id="c_62" style="display:none;"> +<table class='ptable'><tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th></tr><tr> +<th>1</th> +<td>Field <b>no</b> has been renamed to <b>err</b>.</td> +<td>Recompilation of a client program may be broken with the error message: <span class='value'>struct ly_err_item</span> has no member named <b>no</b>.</td> +</tr> +<tr> +<th>2</th> +<td>Field <b>path</b> has been renamed to <b>data_path</b>.</td> +<td>Recompilation of a client program may be broken with the error message: <span class='value'>struct ly_err_item</span> has no member named <b>path</b>.</td> +</tr> +</table> +<span class="sect_aff" onclick="javascript:showContent(this, 'c_63')"> +[+] affected symbols: 34 (8.7%)</span> +<div id="c_63" style="display:none;"> +<div class='affected'><span class='iname_a'>ly_err_clean <span class='sym_p'><span>( struct ly_ctx* <i>ctx</i></span>, <span>struct ly_err_item* <span class='fp'>eitem</span></span> )</span></span><br/> +<div class='affect'>2nd parameter 'eitem' (pointer) has base type 'struct ly_err_item'.</div> +<span class='iname_a'>ly_err_first <span class='sym_p'><span>( struct ly_ctx const* <i>ctx</i></span> )</span></span><br/> +<div class='affect'>Field 'retval.next' in the return value (pointer) has base type 'struct ly_err_item'.</div> +<span class='iname_a'>ly_err_last <span class='sym_p'><span>( struct ly_ctx const* <i>ctx</i></span> )</span></span><br/> +<div class='affect'>Field 'retval.next' in the return value (pointer) has base type 'struct ly_err_item'.</div> +<span class='iname_a'>ly_err_new <span class='sym_p'><span>( struct ly_err_item** <span class='fp'>err</span></span>, <span>char* <i>path</i></span>, <span>char* <i>apptag</i></span>, <span>char const* <i>err_format</i></span>, <span>...</span> )</span></span><br/> +<div class='affect'>1st parameter 'err' (pointer) has base type 'struct ly_err_item'.</div> +<span class='iname_a'>ly_err_print <span class='sym_p'><span>( struct ly_ctx const* <i>ctx</i></span>, <span>struct ly_err_item* <span class='fp'>eitem</span></span> )</span></span><br/> +<div class='affect'>Field 'eitem.next' in 2nd parameter 'eitem' (pointer) has base type 'struct ly_err_item'.</div> +<span class='iname_a'>lyplg_ext_compile_log_err <span class='sym_p'><span>( struct ly_err_item const* <span class='fp'>err</span></span>, <span>struct lysc_ext_instance const* <i>ext</i></span> )</span></span><br/> +<div class='affect'>Field 'err.next' in 1st parameter 'err' (pointer) has base type 'struct ly_err_item'.</div> +<span class='iname_a'>lyplg_type_check_hints <span class='sym_p'><span>( uint32_t <i>hints</i></span>, <span>char const* <i>value</i></span>, <span>size_t <i>value_len</i></span>, <span>int* <i>base</i></span>, <span>struct ly_err_item** <span class='fp'>err</span></span> )</span></span><br/> +<div class='affect'>6th parameter 'err' (pointer) has base type 'struct ly_err_item'.</div> +<span class='iname_a'>lyplg_type_check_status <span class='sym_p'><span>( struct lysc_node const* <i>ctx_node</i></span>, <span>uint16_t <i>val_flags</i></span>, <span>void* <i>prefix_data</i></span>, <span>char const* <i>val_name</i></span>, <span>struct ly_err_item** <span class='fp'>err</span></span> )</span></span><br/> +<div class='affect'>6th parameter 'err' (pointer) has base type 'struct ly_err_item'.</div> +<span class='iname_a'>lyplg_type_lypath_check_status <span class='sym_p'><span>( struct lysc_node const* <i>ctx_node</i></span>, <span>struct ly_path const* <i>path</i></span>, <span>void* <i>prefix_data</i></span>, <span>struct ly_err_item** <span class='fp'>err</span></span> )</span></span><br/> +<div class='affect'>5th parameter 'err' (pointer) has base type 'struct ly_err_item'.</div> +<span class='iname_a'>lyplg_type_lypath_new <span class='sym_p'><span>( struct ly_ctx const* <i>ctx</i></span>, <span>char const* <i>value</i></span>, <span>size_t <i>value_len</i></span>, <span>uint32_t <i>options</i></span>, <span>void* <i>prefix_data</i></span>, <span>struct lysc_node const* <i>ctx_node</i></span>, <span>struct lys_glob_unres* <i>unres</i></span>, <span>struct ly_path** <i>path</i></span>, <span>struct ly_err_item** <span class='fp'>err</span></span> )</span></span><br/> +<div class='affect'>10th parameter 'err' (pointer) has base type 'struct ly_err_item'.</div> + <b>...</b> +<br/> +</div> +</div> +<br/><br/></div> + +<br/> +<span class='h_name'>tree_schema.h</span><br/> +<span class="section" onclick="javascript:showContent(this, 'c_64')"> +<span class='ext'>[+]</span> <span class='ttype'>struct</span> lysc_ext <span class='failed'> 1 </span></span> +<br/> +<div id="c_64" style="display:none;"> +<table class='ptable'><tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th></tr><tr> +<th>1</th> +<td>Field <b>refcount</b> has been removed from this type.</td> +<td>Recompilation of a client program may be broken with the error message: '<span class='value'>struct lysc_ext</span>' has no member named '<b>refcount</b>'.</td> +</tr> +</table> +<span class="sect_aff" onclick="javascript:showContent(this, 'c_65')"> +[+] affected symbols: 182 (46.5%)</span> +<div id="c_65" style="display:none;"> +<div class='affected'><span class='iname_a'>ly_ctx_get_module <span class='sym_p'><span>( struct ly_ctx const* <i>ctx</i></span>, <span>char const* <i>name</i></span>, <span>char const* <i>revision</i></span> )</span></span><br/> +<div class='affect'>Field 'retval.parsed.exts.def.compiled' in the return value (pointer) has base type 'struct lysc_ext'.</div> +<span class='iname_a'>ly_ctx_get_module_implemented <span class='sym_p'><span>( struct ly_ctx const* <i>ctx</i></span>, <span>char const* <i>name</i></span> )</span></span><br/> +<div class='affect'>Field 'retval.parsed.exts.def.compiled' in the return value (pointer) has base type 'struct lysc_ext'.</div> +<span class='iname_a'>ly_ctx_get_module_implemented_ns <span class='sym_p'><span>( struct ly_ctx const* <i>ctx</i></span>, <span>char const* <i>ns</i></span> )</span></span><br/> +<div class='affect'>Field 'retval.parsed.exts.def.compiled' in the return value (pointer) has base type 'struct lysc_ext'.</div> +<span class='iname_a'>ly_ctx_get_module_iter <span class='sym_p'><span>( struct ly_ctx const* <i>ctx</i></span>, <span>uint32_t* <i>index</i></span> )</span></span><br/> +<div class='affect'>Field 'retval.parsed.exts.def.compiled' in the return value (pointer) has base type 'struct lysc_ext'.</div> +<span class='iname_a'>ly_ctx_get_module_latest <span class='sym_p'><span>( struct ly_ctx const* <i>ctx</i></span>, <span>char const* <i>name</i></span> )</span></span><br/> +<div class='affect'>Field 'retval.parsed.exts.def.compiled' in the return value (pointer) has base type 'struct lysc_ext'.</div> +<span class='iname_a'>ly_ctx_get_module_latest_ns <span class='sym_p'><span>( struct ly_ctx const* <i>ctx</i></span>, <span>char const* <i>ns</i></span> )</span></span><br/> +<div class='affect'>Field 'retval.parsed.exts.def.compiled' in the return value (pointer) has base type 'struct lysc_ext'.</div> +<span class='iname_a'>ly_ctx_get_module_ns <span class='sym_p'><span>( struct ly_ctx const* <i>ctx</i></span>, <span>char const* <i>ns</i></span>, <span>char const* <i>revision</i></span> )</span></span><br/> +<div class='affect'>Field 'retval.parsed.exts.def.compiled' in the return value (pointer) has base type 'struct lysc_ext'.</div> +<span class='iname_a'>ly_ctx_get_submodule <span class='sym_p'><span>( struct ly_ctx const* <i>ctx</i></span>, <span>char const* <i>submodule</i></span>, <span>char const* <i>revision</i></span> )</span></span><br/> +<div class='affect'>Field 'retval.augments.when.exts.def.compiled' in the return value (pointer) has base type 'struct lysc_ext'.</div> +<span class='iname_a'>ly_ctx_get_submodule2 <span class='sym_p'><span>( struct lys_module const* <i>module</i></span>, <span>char const* <i>submodule</i></span>, <span>char const* <i>revision</i></span> )</span></span><br/> +<div class='affect'>Field 'retval.augments.when.exts.def.compiled' in the return value (pointer) has base type 'struct lysc_ext'.</div> +<span class='iname_a'>ly_ctx_get_submodule2_latest <span class='sym_p'><span>( struct lys_module const* <i>module</i></span>, <span>char const* <i>submodule</i></span> )</span></span><br/> +<div class='affect'>Field 'retval.augments.when.exts.def.compiled' in the return value (pointer) has base type 'struct lysc_ext'.</div> + <b>...</b> +<br/> +</div> +</div> +<br/><br/></div> + +<span class="section" onclick="javascript:showContent(this, 'c_66')"> +<span class='ext'>[+]</span> <span class='ttype'>struct</span> lysc_type_leafref <span class='failed'> 1 </span></span> +<br/> +<div id="c_66" style="display:none;"> +<table class='ptable'><tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th></tr><tr> +<th>1</th> +<td>Field <b>cur_mod</b> has been removed from this type.</td> +<td>Recompilation of a client program may be broken with the error message: '<span class='value'>struct lysc_type_leafref</span>' has no member named '<b>cur_mod</b>'.</td> +</tr> +</table> +<span class="sect_aff" onclick="javascript:showContent(this, 'c_67')"> +[+] affected symbols: 1 (0.3%)</span> +<div id="c_67" style="display:none;"> +<div class='affected'><span class='iname_a'>lyplg_type_resolve_leafref <span class='sym_p'><span>( struct lysc_type_leafref const* <span class='fp'>lref</span></span>, <span>struct lyd_node const* <i>node</i></span>, <span>struct lyd_value* <i>value</i></span>, <span>struct lyd_node const* <i>tree</i></span>, <span>struct ly_set** <i>targets</i></span>, <span>char** <i>errmsg</i></span> )</span></span><br/> +<div class='affect'>1st parameter 'lref' (pointer) has base type 'struct lysc_type_leafref'.</div> +</div> +</div> +<br/><br/></div> + +<br/> +<a class='top_ref' href='#Top'>to the top</a><br/> +<a name='Symbol_Source_Problems_High'></a><a name='Interface_Source_Problems_High'></a> +<h2>Problems with Symbols, High Severity <span class='failed'> 20 </span></h2><hr/> +<span class='h_name'>plugins_types.h</span><br/> +<span class="section" onclick="javascript:showContent(this, 'c_68')"> +<span class='ext'>[+]</span> lyplg_type_compare_binary <span class='sym_p'><span>( struct lyd_value const* <span class='color_p'>val1</span></span>, <span>struct lyd_value const* <span class='color_p'>val2</span></span> )</span> <span class='failed'> 1 </span></span> +<br/> +<div id="c_68" style="display:none;"> + + +<span class='new_sign_lbl'>⇣</span> +<br/> +<span class='new_sign'>lyplg_type_compare_binary <span class='sym_p'><span>( struct ly_ctx const* <span class='color_p'>UNUSED_ctx</span></span>, <span>struct lyd_value const* <span class='color_p'>val1</span></span>, <span>struct lyd_value const* <span class='color_p'>val2</span></span> )</span></span><br/> +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td>Parameter <b>UNUSED_ctx</b> of type <span class='value'>struct ly_ctx const*</span> has been added to the calling stack at the middle position.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +</table> +<br/> +</div> +<span class="section" onclick="javascript:showContent(this, 'c_69')"> +<span class='ext'>[+]</span> lyplg_type_compare_bits <span class='sym_p'><span>( struct lyd_value const* <span class='color_p'>val1</span></span>, <span>struct lyd_value const* <span class='color_p'>val2</span></span> )</span> <span class='failed'> 1 </span></span> +<br/> +<div id="c_69" style="display:none;"> + + +<span class='new_sign_lbl'>⇣</span> +<br/> +<span class='new_sign'>lyplg_type_compare_bits <span class='sym_p'><span>( struct ly_ctx const* <span class='color_p'>UNUSED_ctx</span></span>, <span>struct lyd_value const* <span class='color_p'>val1</span></span>, <span>struct lyd_value const* <span class='color_p'>val2</span></span> )</span></span><br/> +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td>Parameter <b>UNUSED_ctx</b> of type <span class='value'>struct ly_ctx const*</span> has been added to the calling stack at the middle position.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +</table> +<br/> +</div> +<span class="section" onclick="javascript:showContent(this, 'c_70')"> +<span class='ext'>[+]</span> lyplg_type_compare_boolean <span class='sym_p'><span>( struct lyd_value const* <span class='color_p'>val1</span></span>, <span>struct lyd_value const* <span class='color_p'>val2</span></span> )</span> <span class='failed'> 1 </span></span> +<br/> +<div id="c_70" style="display:none;"> + + +<span class='new_sign_lbl'>⇣</span> +<br/> +<span class='new_sign'>lyplg_type_compare_boolean <span class='sym_p'><span>( struct ly_ctx const* <span class='color_p'>UNUSED_ctx</span></span>, <span>struct lyd_value const* <span class='color_p'>val1</span></span>, <span>struct lyd_value const* <span class='color_p'>val2</span></span> )</span></span><br/> +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td>Parameter <b>UNUSED_ctx</b> of type <span class='value'>struct ly_ctx const*</span> has been added to the calling stack at the middle position.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +</table> +<br/> +</div> +<span class="section" onclick="javascript:showContent(this, 'c_71')"> +<span class='ext'>[+]</span> lyplg_type_compare_decimal64 <span class='sym_p'><span>( struct lyd_value const* <span class='color_p'>val1</span></span>, <span>struct lyd_value const* <span class='color_p'>val2</span></span> )</span> <span class='failed'> 1 </span></span> +<br/> +<div id="c_71" style="display:none;"> + + +<span class='new_sign_lbl'>⇣</span> +<br/> +<span class='new_sign'>lyplg_type_compare_decimal64 <span class='sym_p'><span>( struct ly_ctx const* <span class='color_p'>UNUSED_ctx</span></span>, <span>struct lyd_value const* <span class='color_p'>val1</span></span>, <span>struct lyd_value const* <span class='color_p'>val2</span></span> )</span></span><br/> +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td>Parameter <b>UNUSED_ctx</b> of type <span class='value'>struct ly_ctx const*</span> has been added to the calling stack at the middle position.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +</table> +<br/> +</div> +<span class="section" onclick="javascript:showContent(this, 'c_72')"> +<span class='ext'>[+]</span> lyplg_type_compare_identityref <span class='sym_p'><span>( struct lyd_value const* <span class='color_p'>val1</span></span>, <span>struct lyd_value const* <span class='color_p'>val2</span></span> )</span> <span class='failed'> 1 </span></span> +<br/> +<div id="c_72" style="display:none;"> + + +<span class='new_sign_lbl'>⇣</span> +<br/> +<span class='new_sign'>lyplg_type_compare_identityref <span class='sym_p'><span>( struct ly_ctx const* <span class='color_p'>UNUSED_ctx</span></span>, <span>struct lyd_value const* <span class='color_p'>val1</span></span>, <span>struct lyd_value const* <span class='color_p'>val2</span></span> )</span></span><br/> +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td>Parameter <b>UNUSED_ctx</b> of type <span class='value'>struct ly_ctx const*</span> has been added to the calling stack at the middle position.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +</table> +<br/> +</div> +<span class="section" onclick="javascript:showContent(this, 'c_73')"> +<span class='ext'>[+]</span> lyplg_type_compare_instanceid <span class='sym_p'><span>( struct lyd_value const* <span class='color_p'>val1</span></span>, <span>struct lyd_value const* <span class='color_p'>val2</span></span> )</span> <span class='failed'> 1 </span></span> +<br/> +<div id="c_73" style="display:none;"> + + +<span class='new_sign_lbl'>⇣</span> +<br/> +<span class='new_sign'>lyplg_type_compare_instanceid <span class='sym_p'><span>( struct ly_ctx const* <span class='color_p'>ctx</span></span>, <span>struct lyd_value const* <span class='color_p'>val1</span></span>, <span>struct lyd_value const* <span class='color_p'>val2</span></span> )</span></span><br/> +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td>Parameter <b>ctx</b> of type <span class='value'>struct ly_ctx const*</span> has been added to the calling stack at the middle position.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +</table> +<br/> +</div> +<span class="section" onclick="javascript:showContent(this, 'c_74')"> +<span class='ext'>[+]</span> lyplg_type_compare_int <span class='sym_p'><span>( struct lyd_value const* <span class='color_p'>val1</span></span>, <span>struct lyd_value const* <span class='color_p'>val2</span></span> )</span> <span class='failed'> 1 </span></span> +<br/> +<div id="c_74" style="display:none;"> + + +<span class='new_sign_lbl'>⇣</span> +<br/> +<span class='new_sign'>lyplg_type_compare_int <span class='sym_p'><span>( struct ly_ctx const* <span class='color_p'>UNUSED_ctx</span></span>, <span>struct lyd_value const* <span class='color_p'>val1</span></span>, <span>struct lyd_value const* <span class='color_p'>val2</span></span> )</span></span><br/> +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td>Parameter <b>UNUSED_ctx</b> of type <span class='value'>struct ly_ctx const*</span> has been added to the calling stack at the middle position.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +</table> +<br/> +</div> +<span class="section" onclick="javascript:showContent(this, 'c_75')"> +<span class='ext'>[+]</span> lyplg_type_compare_leafref <span class='sym_p'><span>( struct lyd_value const* <span class='color_p'>val1</span></span>, <span>struct lyd_value const* <span class='color_p'>val2</span></span> )</span> <span class='failed'> 1 </span></span> +<br/> +<div id="c_75" style="display:none;"> + + +<span class='new_sign_lbl'>⇣</span> +<br/> +<span class='new_sign'>lyplg_type_compare_leafref <span class='sym_p'><span>( struct ly_ctx const* <span class='color_p'>ctx</span></span>, <span>struct lyd_value const* <span class='color_p'>val1</span></span>, <span>struct lyd_value const* <span class='color_p'>val2</span></span> )</span></span><br/> +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td>Parameter <b>ctx</b> of type <span class='value'>struct ly_ctx const*</span> has been added to the calling stack at the middle position.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +</table> +<br/> +</div> +<span class="section" onclick="javascript:showContent(this, 'c_76')"> +<span class='ext'>[+]</span> lyplg_type_compare_simple <span class='sym_p'><span>( struct lyd_value const* <span class='color_p'>val1</span></span>, <span>struct lyd_value const* <span class='color_p'>val2</span></span> )</span> <span class='failed'> 1 </span></span> +<br/> +<div id="c_76" style="display:none;"> + + +<span class='new_sign_lbl'>⇣</span> +<br/> +<span class='new_sign'>lyplg_type_compare_simple <span class='sym_p'><span>( struct ly_ctx const* <span class='color_p'>ctx</span></span>, <span>struct lyd_value const* <span class='color_p'>val1</span></span>, <span>struct lyd_value const* <span class='color_p'>val2</span></span> )</span></span><br/> +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td>Parameter <b>ctx</b> of type <span class='value'>struct ly_ctx const*</span> has been added to the calling stack at the middle position.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +</table> +<br/> +</div> +<span class="section" onclick="javascript:showContent(this, 'c_77')"> +<span class='ext'>[+]</span> lyplg_type_compare_uint <span class='sym_p'><span>( struct lyd_value const* <span class='color_p'>val1</span></span>, <span>struct lyd_value const* <span class='color_p'>val2</span></span> )</span> <span class='failed'> 1 </span></span> +<br/> +<div id="c_77" style="display:none;"> + + +<span class='new_sign_lbl'>⇣</span> +<br/> +<span class='new_sign'>lyplg_type_compare_uint <span class='sym_p'><span>( struct ly_ctx const* <span class='color_p'>UNUSED_ctx</span></span>, <span>struct lyd_value const* <span class='color_p'>val1</span></span>, <span>struct lyd_value const* <span class='color_p'>val2</span></span> )</span></span><br/> +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td>Parameter <b>UNUSED_ctx</b> of type <span class='value'>struct ly_ctx const*</span> has been added to the calling stack at the middle position.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +</table> +<br/> +</div> +<span class="section" onclick="javascript:showContent(this, 'c_78')"> +<span class='ext'>[+]</span> lyplg_type_compare_union <span class='sym_p'><span>( struct lyd_value const* <span class='color_p'>val1</span></span>, <span>struct lyd_value const* <span class='color_p'>val2</span></span> )</span> <span class='failed'> 1 </span></span> +<br/> +<div id="c_78" style="display:none;"> + + +<span class='new_sign_lbl'>⇣</span> +<br/> +<span class='new_sign'>lyplg_type_compare_union <span class='sym_p'><span>( struct ly_ctx const* <span class='color_p'>ctx</span></span>, <span>struct lyd_value const* <span class='color_p'>val1</span></span>, <span>struct lyd_value const* <span class='color_p'>val2</span></span> )</span></span><br/> +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td>Parameter <b>ctx</b> of type <span class='value'>struct ly_ctx const*</span> has been added to the calling stack at the middle position.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +</table> +<br/> +</div> +<br/> +<span class='h_name'>tree_data.h</span><br/> +<span class="section" onclick="javascript:showContent(this, 'c_79')"> +<span class='ext'>[+]</span> lyd_find_xpath3 <span class='sym_p'><span>( struct lyd_node const* <span class='color_p'>ctx_node</span></span>, <span>struct lyd_node const* <span class='color_p'>tree</span></span>, <span>char const* <span class='color_p'>xpath</span></span>, <span>struct lyxp_var const* <span class='color_p'>vars</span></span>, <span>struct ly_set** <span class='color_p'>set</span></span> )</span> <span class='failed'> 2 </span></span> +<br/> +<div id="c_79" style="display:none;"> + + +<span class='new_sign_lbl'>⇣</span> +<br/> +<span class='new_sign'>lyd_find_xpath3 <span class='sym_p'><span>( struct lyd_node const* <span class='color_p'>ctx_node</span></span>, <span>struct lyd_node const* <span class='color_p'>tree</span></span>, <span>char const* <span class='color_p'>xpath</span></span>, <span>void* <span class='color_p'>prefix_data</span></span>, <span>struct lyxp_var const* <span class='color_p'>vars</span></span>, <span>struct ly_set** <span class='color_p'>set</span></span> )</span></span><br/> +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td>Parameter <b>format</b> of type @param_type has been added to the calling stack at the middle position.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +<tr> +<th>2</th> +<td>Parameter <b>prefix_data</b> of type <b>void*</b> has been added to the calling stack at the middle position.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +</table> +<br/> +</div> +<span class="section" onclick="javascript:showContent(this, 'c_80')"> +<span class='ext'>[+]</span> lyd_new_any <span class='sym_p'><span>( struct lyd_node* <span class='color_p'>parent</span></span>, <span>struct lys_module const* <span class='color_p'>module</span></span>, <span>char const* <span class='color_p'>name</span></span>, <span>void const* <span class='color_p'>value</span></span>, <span>ly_bool <span class='color_p'>use_value</span></span>, <span>ly_bool <span class='color_p'>output</span></span>, <span>struct lyd_node** <span class='color_p'>node</span></span> )</span> <span class='failed'> 3 </span></span> +<br/> +<div id="c_80" style="display:none;"> + + +<span class='new_sign_lbl'>⇣</span> +<br/> +<span class='new_sign'>lyd_new_any <span class='sym_p'><span>( struct lyd_node* <span class='color_p'>parent</span></span>, <span>struct lys_module const* <span class='color_p'>module</span></span>, <span>char const* <span class='color_p'>name</span></span>, <span>void const* <span class='color_p'>value</span></span>, <span>uint32_t <span class='color_p'>options</span></span>, <span>struct lyd_node** <span class='color_p'>node</span></span> )</span></span><br/> +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td>Parameter <b>options</b> of type <b>uint32_t</b> has been added to the calling stack at the middle position.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +<tr> +<th>2</th> +<td><b>5th</b> middle parameter <b>use_value</b> has been removed from the calling stack.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +<tr> +<th>3</th> +<td><b>7th</b> middle parameter <b>output</b> has been removed from the calling stack.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +</table> +<br/> +</div> +<span class="section" onclick="javascript:showContent(this, 'c_81')"> +<span class='ext'>[+]</span> lyd_new_ext_list <span class='sym_p'><span>( struct lysc_ext_instance const* <span class='color_p'>ext</span></span>, <span>char const* <span class='color_p'>name</span></span>, <span>struct lyd_node** <span class='color_p'>node</span></span>, <span>...</span> )</span> <span class='failed'> 1 </span></span> +<br/> +<div id="c_81" style="display:none;"> + + +<span class='new_sign_lbl'>⇣</span> +<br/> +<span class='new_sign'>lyd_new_ext_list <span class='sym_p'><span>( struct lysc_ext_instance const* <span class='color_p'>ext</span></span>, <span>char const* <span class='color_p'>name</span></span>, <span>uint32_t <span class='color_p'>options</span></span>, <span>struct lyd_node** <span class='color_p'>node</span></span>, <span>...</span> )</span></span><br/> +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td>Parameter <b>options</b> of type <b>uint32_t</b> has been added to the calling stack at the middle position.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +</table> +<br/> +</div> +<span class="section" onclick="javascript:showContent(this, 'c_82')"> +<span class='ext'>[+]</span> lyd_new_ext_term <span class='sym_p'><span>( struct lysc_ext_instance const* <span class='color_p'>ext</span></span>, <span>char const* <span class='color_p'>name</span></span>, <span>char const* <span class='color_p'>val_str</span></span>, <span>struct lyd_node** <span class='color_p'>node</span></span> )</span> <span class='failed'> 3 </span></span> +<br/> +<div id="c_82" style="display:none;"> + + +<span class='new_sign_lbl'>⇣</span> +<br/> +<span class='new_sign'>lyd_new_ext_term <span class='sym_p'><span>( struct lysc_ext_instance const* <span class='color_p'>ext</span></span>, <span>char const* <span class='color_p'>name</span></span>, <span>void const* <span class='color_p'>value</span></span>, <span>size_t <span class='color_p'>value_len</span></span>, <span>uint32_t <span class='color_p'>options</span></span>, <span>struct lyd_node** <span class='color_p'>node</span></span> )</span></span><br/> +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td>Parameter <b>value</b> of type <span class='value'>void const*</span> has been added to the calling stack at the middle position.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +<tr> +<th>2</th> +<td>Parameter <b>value_len</b> of type <b>size_t</b> has been added to the calling stack at the middle position.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +<tr> +<th>3</th> +<td><b>3rd</b> middle parameter <b>val_str</b> has been removed from the calling stack.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +</table> +<br/> +</div> +<br/> +<a class='top_ref' href='#Top'>to the top</a><br/> +<a name='Medium_Risk_Source_Problems'></a><a name='Symbol_Source_Problems_Medium'></a><a name='Interface_Source_Problems_Medium'></a> +<h2>Problems with Symbols, Medium Severity <span class='failed'> 4 </span></h2><hr/> +<span class='h_name'>log.h</span><br/> +<span class="section" onclick="javascript:showContent(this, 'c_83')"> +<span class='ext'>[+]</span> ly_err_first <span class='sym_p'><span>( struct ly_ctx const* <span class='color_p'>ctx</span></span> )</span> <span class='failed'> 1 </span></span> +<br/> +<div id="c_83" style="display:none;"> + +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td>Type of return value became <b>const</b> (has been changed from <span class='value'>struct ly_err_item*</span> to <span class='value'>struct ly_err_item const*</span>).</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +</table> +<br/> +</div> +<span class="section" onclick="javascript:showContent(this, 'c_84')"> +<span class='ext'>[+]</span> ly_err_last <span class='sym_p'><span>( struct ly_ctx const* <span class='color_p'>ctx</span></span> )</span> <span class='failed'> 1 </span></span> +<br/> +<div id="c_84" style="display:none;"> + +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td>Type of return value became <b>const</b> (has been changed from <span class='value'>struct ly_err_item*</span> to <span class='value'>struct ly_err_item const*</span>).</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +</table> +<br/> +</div> +<span class="section" onclick="javascript:showContent(this, 'c_85')"> +<span class='ext'>[+]</span> ly_set_log_clb <span class='sym_p'><span>( void(*<span class='color_p'>clb</span>)(, char const*, char const*)</span>, <span>ly_bool <span class='color_p'>path</span></span> )</span> <span class='failed'> 1 </span></span> +<br/> +<div id="c_85" style="display:none;"> + + +<span class='new_sign_lbl'>⇣</span> +<br/> +<span class='new_sign'>ly_set_log_clb <span class='sym_p'><span>( void(*<span class='color_p'>clb</span>)(, char const*, char const*, char const*, unsigned long)</span> )</span></span><br/> +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td><b>2nd</b> parameter <b>path</b> has been removed from the calling stack.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +</table> +<br/> +</div> +<br/> +<span class='h_name'>tree_data.h</span><br/> +<span class="section" onclick="javascript:showContent(this, 'c_86')"> +<span class='ext'>[+]</span> lyd_new_ext_term <span class='sym_p'><span>( struct lysc_ext_instance const* <span class='color_p'>ext</span></span>, <span>char const* <span class='color_p'>name</span></span>, <span>char const* <span class='color_p'>val_str</span></span>, <span>struct lyd_node** <span class='color_p'>node</span></span> )</span> <span class='failed'> 1 </span></span> +<br/> +<div id="c_86" style="display:none;"> + + +<span class='new_sign_lbl'>⇣</span> +<br/> +<span class='new_sign'>lyd_new_ext_term <span class='sym_p'><span>( struct lysc_ext_instance const* <span class='color_p'>ext</span></span>, <span>char const* <span class='color_p'>name</span></span>, <span>void const* <span class='color_p'>value</span></span>, <span>size_t <span class='color_p'>value_len</span></span>, <span>uint32_t <span class='color_p'>options</span></span>, <span>struct lyd_node** <span class='color_p'>node</span></span> )</span></span><br/> +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td>Parameter <b>options</b> of type <b>uint32_t</b> has been added to the calling stack.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +</table> +<br/> +</div> +<br/> +<a class='top_ref' href='#Top'>to the top</a><br/> +<a name='Low_Risk_Source_Problems'></a><a name='Type_Source_Problems_Low'></a> +<h2>Problems with Data Types, Low Severity <span class='warning'> 7 </span></h2><hr/> +<span class='h_name'>log.h</span><br/> +<span class="section" onclick="javascript:showContent(this, 'c_87')"> +<span class='ext'>[+]</span> <span class='ttype'>struct</span> ly_err_item <span class='warning'> 2 </span></span> +<br/> +<div id="c_87" style="display:none;"> +<table class='ptable'><tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th></tr><tr> +<th>1</th> +<td>Field <b>line</b> has been added to this type.</td> +<td>This field will not be initialized or used by old client applications.</td> +</tr> +<tr> +<th>2</th> +<td>Field <b>schema_path</b> has been added to this type.</td> +<td>This field will not be initialized or used by old client applications.</td> +</tr> +</table> +<span class="sect_aff" onclick="javascript:showContent(this, 'c_88')"> +[+] affected symbols: 34 (8.7%)</span> +<div id="c_88" style="display:none;"> +<div class='affected'><span class='iname_a'>ly_err_clean <span class='sym_p'><span>( struct ly_ctx* <i>ctx</i></span>, <span>struct ly_err_item* <span class='fp'>eitem</span></span> )</span></span><br/> +<div class='affect'>2nd parameter 'eitem' (pointer) has base type 'struct ly_err_item'.</div> +<span class='iname_a'>ly_err_first <span class='sym_p'><span>( struct ly_ctx const* <i>ctx</i></span> )</span></span><br/> +<div class='affect'>Return value (pointer) has base type 'struct ly_err_item'.</div> +<span class='iname_a'>ly_err_last <span class='sym_p'><span>( struct ly_ctx const* <i>ctx</i></span> )</span></span><br/> +<div class='affect'>Return value (pointer) has base type 'struct ly_err_item'.</div> +<span class='iname_a'>ly_err_new <span class='sym_p'><span>( struct ly_err_item** <span class='fp'>err</span></span>, <span>char* <i>path</i></span>, <span>char* <i>apptag</i></span>, <span>char const* <i>err_format</i></span>, <span>...</span> )</span></span><br/> +<div class='affect'>1st parameter 'err' (pointer) has base type 'struct ly_err_item'.</div> +<span class='iname_a'>ly_err_print <span class='sym_p'><span>( struct ly_ctx const* <i>ctx</i></span>, <span>struct ly_err_item* <span class='fp'>eitem</span></span> )</span></span><br/> +<div class='affect'>2nd parameter 'eitem' (pointer) has base type 'struct ly_err_item'.</div> +<span class='iname_a'>lyplg_ext_compile_log_err <span class='sym_p'><span>( struct ly_err_item const* <span class='fp'>err</span></span>, <span>struct lysc_ext_instance const* <i>ext</i></span> )</span></span><br/> +<div class='affect'>1st parameter 'err' (pointer) has base type 'struct ly_err_item'.</div> +<span class='iname_a'>lyplg_type_check_hints <span class='sym_p'><span>( uint32_t <i>hints</i></span>, <span>char const* <i>value</i></span>, <span>size_t <i>value_len</i></span>, <span>int* <i>base</i></span>, <span>struct ly_err_item** <span class='fp'>err</span></span> )</span></span><br/> +<div class='affect'>6th parameter 'err' (pointer) has base type 'struct ly_err_item'.</div> +<span class='iname_a'>lyplg_type_check_status <span class='sym_p'><span>( struct lysc_node const* <i>ctx_node</i></span>, <span>uint16_t <i>val_flags</i></span>, <span>void* <i>prefix_data</i></span>, <span>char const* <i>val_name</i></span>, <span>struct ly_err_item** <span class='fp'>err</span></span> )</span></span><br/> +<div class='affect'>6th parameter 'err' (pointer) has base type 'struct ly_err_item'.</div> +<span class='iname_a'>lyplg_type_lypath_check_status <span class='sym_p'><span>( struct lysc_node const* <i>ctx_node</i></span>, <span>struct ly_path const* <i>path</i></span>, <span>void* <i>prefix_data</i></span>, <span>struct ly_err_item** <span class='fp'>err</span></span> )</span></span><br/> +<div class='affect'>5th parameter 'err' (pointer) has base type 'struct ly_err_item'.</div> +<span class='iname_a'>lyplg_type_lypath_new <span class='sym_p'><span>( struct ly_ctx const* <i>ctx</i></span>, <span>char const* <i>value</i></span>, <span>size_t <i>value_len</i></span>, <span>uint32_t <i>options</i></span>, <span>void* <i>prefix_data</i></span>, <span>struct lysc_node const* <i>ctx_node</i></span>, <span>struct lys_glob_unres* <i>unres</i></span>, <span>struct ly_path** <i>path</i></span>, <span>struct ly_err_item** <span class='fp'>err</span></span> )</span></span><br/> +<div class='affect'>10th parameter 'err' (pointer) has base type 'struct ly_err_item'.</div> + <b>...</b> +<br/> +</div> +</div> +<br/><br/></div> + +<span class="section" onclick="javascript:showContent(this, 'c_89')"> +<span class='ext'>[+]</span> <span class='ttype'>typedef</span> ly_log_clb <span class='warning'> 1 </span></span> +<br/> +<div id="c_89" style="display:none;"> +<table class='ptable'><tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th></tr><tr> +<th>1</th> +<td>Base type has been changed from <span class='value'>void(*)(, char const*, char const*)</span> to <span class='value'>void(*)(, char const*, char const*, char const*, uint64_t)</span>.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +</table> +<span class="sect_aff" onclick="javascript:showContent(this, 'c_90')"> +[+] affected symbols: 2 (0.5%)</span> +<div id="c_90" style="display:none;"> +<div class='affected'><span class='iname_a'>ly_get_log_clb <span class='sym_p'>( )</span></span><br/> +<div class='affect'>Return value is of type 'ly_log_clb'.</div> +<span class='iname_a'>ly_set_log_clb <span class='sym_p'><span>( void(*<span class='fp'>clb</span>)(, char const*, char const*)</span>, <span>ly_bool <i>path</i></span> )</span></span><br/> +<div class='affect'>1st parameter 'clb' is of type 'ly_log_clb'.</div> +</div> +</div> +<br/><br/></div> + +<br/> +<span class='h_name'>plugins_types.h</span><br/> +<span class="section" onclick="javascript:showContent(this, 'c_91')"> +<span class='ext'>[+]</span> <span class='ttype'>typedef</span> lyplg_type_sort_clb <span class='warning'> 1 </span></span> +<br/> +<div id="c_91" style="display:none;"> +<table class='ptable'><tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th></tr><tr> +<th>1</th> +<td>Base type has been changed from <span class='value'>int(*)(struct lyd_value const*, struct lyd_value const*)</span> to <span class='value'>int(*)(struct ly_ctx const*, struct lyd_value const*, struct lyd_value const*)</span>.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +</table> +<span class="sect_aff" onclick="javascript:showContent(this, 'c_92')"> +[+] affected symbols: 178 (45.5%)</span> +<div id="c_92" style="display:none;"> +<div class='affected'><span class='iname_a'>ly_ctx_get_module <span class='sym_p'><span>( struct ly_ctx const* <i>ctx</i></span>, <span>char const* <i>name</i></span>, <span>char const* <i>revision</i></span> )</span></span><br/> +<div class='affect'>Field 'retval.parsed.typedefs.type.compiled.plugin.sort' in the return value (pointer) is of type 'lyplg_type_sort_clb'.</div> +<span class='iname_a'>ly_ctx_get_module_implemented <span class='sym_p'><span>( struct ly_ctx const* <i>ctx</i></span>, <span>char const* <i>name</i></span> )</span></span><br/> +<div class='affect'>Field 'retval.parsed.typedefs.type.compiled.plugin.sort' in the return value (pointer) is of type 'lyplg_type_sort_clb'.</div> +<span class='iname_a'>ly_ctx_get_module_implemented_ns <span class='sym_p'><span>( struct ly_ctx const* <i>ctx</i></span>, <span>char const* <i>ns</i></span> )</span></span><br/> +<div class='affect'>Field 'retval.parsed.typedefs.type.compiled.plugin.sort' in the return value (pointer) is of type 'lyplg_type_sort_clb'.</div> +<span class='iname_a'>ly_ctx_get_module_iter <span class='sym_p'><span>( struct ly_ctx const* <i>ctx</i></span>, <span>uint32_t* <i>index</i></span> )</span></span><br/> +<div class='affect'>Field 'retval.parsed.typedefs.type.compiled.plugin.sort' in the return value (pointer) is of type 'lyplg_type_sort_clb'.</div> +<span class='iname_a'>ly_ctx_get_module_latest <span class='sym_p'><span>( struct ly_ctx const* <i>ctx</i></span>, <span>char const* <i>name</i></span> )</span></span><br/> +<div class='affect'>Field 'retval.parsed.typedefs.type.compiled.plugin.sort' in the return value (pointer) is of type 'lyplg_type_sort_clb'.</div> +<span class='iname_a'>ly_ctx_get_module_latest_ns <span class='sym_p'><span>( struct ly_ctx const* <i>ctx</i></span>, <span>char const* <i>ns</i></span> )</span></span><br/> +<div class='affect'>Field 'retval.parsed.typedefs.type.compiled.plugin.sort' in the return value (pointer) is of type 'lyplg_type_sort_clb'.</div> +<span class='iname_a'>ly_ctx_get_module_ns <span class='sym_p'><span>( struct ly_ctx const* <i>ctx</i></span>, <span>char const* <i>ns</i></span>, <span>char const* <i>revision</i></span> )</span></span><br/> +<div class='affect'>Field 'retval.parsed.typedefs.type.compiled.plugin.sort' in the return value (pointer) is of type 'lyplg_type_sort_clb'.</div> +<span class='iname_a'>ly_ctx_get_submodule <span class='sym_p'><span>( struct ly_ctx const* <i>ctx</i></span>, <span>char const* <i>submodule</i></span>, <span>char const* <i>revision</i></span> )</span></span><br/> +<div class='affect'>Field 'retval.augments.notifs.typedefs.type.compiled.plugin.sort' in the return value (pointer) is of type 'lyplg_type_sort_clb'.</div> +<span class='iname_a'>ly_ctx_get_submodule2 <span class='sym_p'><span>( struct lys_module const* <i>module</i></span>, <span>char const* <i>submodule</i></span>, <span>char const* <i>revision</i></span> )</span></span><br/> +<div class='affect'>Field 'retval.augments.notifs.typedefs.type.compiled.plugin.sort' in the return value (pointer) is of type 'lyplg_type_sort_clb'.</div> +<span class='iname_a'>ly_ctx_get_submodule2_latest <span class='sym_p'><span>( struct lys_module const* <i>module</i></span>, <span>char const* <i>submodule</i></span> )</span></span><br/> +<div class='affect'>Field 'retval.augments.notifs.typedefs.type.compiled.plugin.sort' in the return value (pointer) is of type 'lyplg_type_sort_clb'.</div> + <b>...</b> +<br/> +</div> +</div> +<br/><br/></div> + +<br/> +<span class='h_name'>tree_schema.h</span><br/> +<span class="section" onclick="javascript:showContent(this, 'c_93')"> +<span class='ext'>[+]</span> <span class='ttype'>struct</span> lysc_type <span class='warning'> 1 </span></span> +<br/> +<div id="c_93" style="display:none;"> +<table class='ptable'><tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th></tr><tr> +<th>1</th> +<td>Field <b>name</b> has been added to this type.</td> +<td>This field will not be initialized or used by old client applications.</td> +</tr> +</table> +<span class="sect_aff" onclick="javascript:showContent(this, 'c_94')"> +[+] affected symbols: 177 (45.3%)</span> +<div id="c_94" style="display:none;"> +<div class='affected'><span class='iname_a'>ly_ctx_get_module <span class='sym_p'><span>( struct ly_ctx const* <i>ctx</i></span>, <span>char const* <i>name</i></span>, <span>char const* <i>revision</i></span> )</span></span><br/> +<div class='affect'>Field 'retval.parsed.typedefs.type.compiled' in the return value (pointer) has base type 'struct lysc_type'.</div> +<span class='iname_a'>ly_ctx_get_module_implemented <span class='sym_p'><span>( struct ly_ctx const* <i>ctx</i></span>, <span>char const* <i>name</i></span> )</span></span><br/> +<div class='affect'>Field 'retval.parsed.typedefs.type.compiled' in the return value (pointer) has base type 'struct lysc_type'.</div> +<span class='iname_a'>ly_ctx_get_module_implemented_ns <span class='sym_p'><span>( struct ly_ctx const* <i>ctx</i></span>, <span>char const* <i>ns</i></span> )</span></span><br/> +<div class='affect'>Field 'retval.parsed.typedefs.type.compiled' in the return value (pointer) has base type 'struct lysc_type'.</div> +<span class='iname_a'>ly_ctx_get_module_iter <span class='sym_p'><span>( struct ly_ctx const* <i>ctx</i></span>, <span>uint32_t* <i>index</i></span> )</span></span><br/> +<div class='affect'>Field 'retval.parsed.typedefs.type.compiled' in the return value (pointer) has base type 'struct lysc_type'.</div> +<span class='iname_a'>ly_ctx_get_module_latest <span class='sym_p'><span>( struct ly_ctx const* <i>ctx</i></span>, <span>char const* <i>name</i></span> )</span></span><br/> +<div class='affect'>Field 'retval.parsed.typedefs.type.compiled' in the return value (pointer) has base type 'struct lysc_type'.</div> +<span class='iname_a'>ly_ctx_get_module_latest_ns <span class='sym_p'><span>( struct ly_ctx const* <i>ctx</i></span>, <span>char const* <i>ns</i></span> )</span></span><br/> +<div class='affect'>Field 'retval.parsed.typedefs.type.compiled' in the return value (pointer) has base type 'struct lysc_type'.</div> +<span class='iname_a'>ly_ctx_get_module_ns <span class='sym_p'><span>( struct ly_ctx const* <i>ctx</i></span>, <span>char const* <i>ns</i></span>, <span>char const* <i>revision</i></span> )</span></span><br/> +<div class='affect'>Field 'retval.parsed.typedefs.type.compiled' in the return value (pointer) has base type 'struct lysc_type'.</div> +<span class='iname_a'>ly_ctx_get_submodule <span class='sym_p'><span>( struct ly_ctx const* <i>ctx</i></span>, <span>char const* <i>submodule</i></span>, <span>char const* <i>revision</i></span> )</span></span><br/> +<div class='affect'>Field 'retval.augments.notifs.typedefs.type.compiled' in the return value (pointer) has base type 'struct lysc_type'.</div> +<span class='iname_a'>ly_ctx_get_submodule2 <span class='sym_p'><span>( struct lys_module const* <i>module</i></span>, <span>char const* <i>submodule</i></span>, <span>char const* <i>revision</i></span> )</span></span><br/> +<div class='affect'>Field 'retval.augments.notifs.typedefs.type.compiled' in the return value (pointer) has base type 'struct lysc_type'.</div> +<span class='iname_a'>ly_ctx_get_submodule2_latest <span class='sym_p'><span>( struct lys_module const* <i>module</i></span>, <span>char const* <i>submodule</i></span> )</span></span><br/> +<div class='affect'>Field 'retval.augments.notifs.typedefs.type.compiled' in the return value (pointer) has base type 'struct lysc_type'.</div> + <b>...</b> +<br/> +</div> +</div> +<br/><br/></div> + +<span class="section" onclick="javascript:showContent(this, 'c_95')"> +<span class='ext'>[+]</span> <span class='ttype'>struct</span> lysc_type_bits <span class='warning'> 1 </span></span> +<br/> +<div id="c_95" style="display:none;"> +<table class='ptable'><tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th></tr><tr> +<th>1</th> +<td>Field <b>name</b> has been added to this type.</td> +<td>This field will not be initialized or used by old client applications.</td> +</tr> +</table> +<span class="sect_aff" onclick="javascript:showContent(this, 'c_96')"> +[+] affected symbols: 1 (0.3%)</span> +<div id="c_96" style="display:none;"> +<div class='affected'><span class='iname_a'>lyplg_type_bits_bitmap_size <span class='sym_p'><span>( struct lysc_type_bits const* <span class='fp'>type</span></span> )</span></span><br/> +<div class='affect'>1st parameter 'type' (pointer) has base type 'struct lysc_type_bits'.</div> +</div> +</div> +<br/><br/></div> + +<span class="section" onclick="javascript:showContent(this, 'c_97')"> +<span class='ext'>[+]</span> <span class='ttype'>struct</span> lysc_type_leafref <span class='warning'> 1 </span></span> +<br/> +<div id="c_97" style="display:none;"> +<table class='ptable'><tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th></tr><tr> +<th>1</th> +<td>Field <b>name</b> has been added to this type.</td> +<td>This field will not be initialized or used by old client applications.</td> +</tr> +</table> +<span class="sect_aff" onclick="javascript:showContent(this, 'c_98')"> +[+] affected symbols: 1 (0.3%)</span> +<div id="c_98" style="display:none;"> +<div class='affected'><span class='iname_a'>lyplg_type_resolve_leafref <span class='sym_p'><span>( struct lysc_type_leafref const* <span class='fp'>lref</span></span>, <span>struct lyd_node const* <i>node</i></span>, <span>struct lyd_value* <i>value</i></span>, <span>struct lyd_node const* <i>tree</i></span>, <span>struct ly_set** <i>targets</i></span>, <span>char** <i>errmsg</i></span> )</span></span><br/> +<div class='affect'>1st parameter 'lref' (pointer) has base type 'struct lysc_type_leafref'.</div> +</div> +</div> +<br/><br/></div> + +<br/> +<a class='top_ref' href='#Top'>to the top</a><br/> +<a name='Symbol_Source_Problems_Low'></a><a name='Interface_Source_Problems_Low'></a> +<h2>Problems with Symbols, Low Severity <span class='warning'> 6 </span></h2><hr/> +<span class='h_name'>tree_data.h</span><br/> +<span class="section" onclick="javascript:showContent(this, 'c_99')"> +<span class='ext'>[+]</span> lyd_new_list <span class='sym_p'><span>( struct lyd_node* <span class='color_p'>parent</span></span>, <span>struct lys_module const* <span class='color_p'>module</span></span>, <span>char const* <span class='color_p'>name</span></span>, <span>ly_bool <span class='color_p'>output</span></span>, <span>struct lyd_node** <span class='color_p'>node</span></span>, <span>...</span> )</span> <span class='warning'> 1 </span></span> +<br/> +<div id="c_99" style="display:none;"> + + +<span class='new_sign_lbl'>⇣</span> +<br/> +<span class='new_sign'>lyd_new_list <span class='sym_p'><span>( struct lyd_node* <span class='color_p'>parent</span></span>, <span>struct lys_module const* <span class='color_p'>module</span></span>, <span>char const* <span class='color_p'>name</span></span>, <span>uint32_t <span class='color_p'>options</span></span>, <span>struct lyd_node** <span class='color_p'>node</span></span>, <span>...</span> )</span></span><br/> +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td>Type of <b>4th</b> parameter <b>output</b> has been changed from <b>ly_bool</b> to <b>uint32_t</b>.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +</table> +<br/> +</div> +<span class="section" onclick="javascript:showContent(this, 'c_100')"> +<span class='ext'>[+]</span> lyd_new_list2 <span class='sym_p'><span>( struct lyd_node* <span class='color_p'>parent</span></span>, <span>struct lys_module const* <span class='color_p'>module</span></span>, <span>char const* <span class='color_p'>name</span></span>, <span>char const* <span class='color_p'>keys</span></span>, <span>ly_bool <span class='color_p'>output</span></span>, <span>struct lyd_node** <span class='color_p'>node</span></span> )</span> <span class='warning'> 1 </span></span> +<br/> +<div id="c_100" style="display:none;"> + + +<span class='new_sign_lbl'>⇣</span> +<br/> +<span class='new_sign'>lyd_new_list2 <span class='sym_p'><span>( struct lyd_node* <span class='color_p'>parent</span></span>, <span>struct lys_module const* <span class='color_p'>module</span></span>, <span>char const* <span class='color_p'>name</span></span>, <span>char const* <span class='color_p'>keys</span></span>, <span>uint32_t <span class='color_p'>options</span></span>, <span>struct lyd_node** <span class='color_p'>node</span></span> )</span></span><br/> +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td>Type of <b>5th</b> parameter <b>output</b> has been changed from <b>ly_bool</b> to <b>uint32_t</b>.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +</table> +<br/> +</div> +<span class="section" onclick="javascript:showContent(this, 'c_101')"> +<span class='ext'>[+]</span> lyd_new_list3 <span class='sym_p'><span>( struct lyd_node* <span class='color_p'>parent</span></span>, <span>struct lys_module const* <span class='color_p'>module</span></span>, <span>char const* <span class='color_p'>name</span></span>, <span>char const** <span class='color_p'>key_values</span></span>, <span>uint32_t* <span class='color_p'>value_lengths</span></span>, <span>ly_bool <span class='color_p'>output</span></span>, <span>struct lyd_node** <span class='color_p'>node</span></span> )</span> <span class='warning'> 1 </span></span> +<br/> +<div id="c_101" style="display:none;"> + + +<span class='new_sign_lbl'>⇣</span> +<br/> +<span class='new_sign'>lyd_new_list3 <span class='sym_p'><span>( struct lyd_node* <span class='color_p'>parent</span></span>, <span>struct lys_module const* <span class='color_p'>module</span></span>, <span>char const* <span class='color_p'>name</span></span>, <span>char const** <span class='color_p'>key_values</span></span>, <span>uint32_t* <span class='color_p'>value_lengths</span></span>, <span>uint32_t <span class='color_p'>options</span></span>, <span>struct lyd_node** <span class='color_p'>node</span></span> )</span></span><br/> +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td>Type of <b>6th</b> parameter <b>output</b> has been changed from <b>ly_bool</b> to <b>uint32_t</b>.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +</table> +<br/> +</div> +<span class="section" onclick="javascript:showContent(this, 'c_102')"> +<span class='ext'>[+]</span> lyd_new_meta <span class='sym_p'><span>( struct ly_ctx const* <span class='color_p'>ctx</span></span>, <span>struct lyd_node* <span class='color_p'>parent</span></span>, <span>struct lys_module const* <span class='color_p'>module</span></span>, <span>char const* <span class='color_p'>name</span></span>, <span>char const* <span class='color_p'>val_str</span></span>, <span>ly_bool <span class='color_p'>clear_dflt</span></span>, <span>struct lyd_meta** <span class='color_p'>meta</span></span> )</span> <span class='warning'> 1 </span></span> +<br/> +<div id="c_102" style="display:none;"> + + +<span class='new_sign_lbl'>⇣</span> +<br/> +<span class='new_sign'>lyd_new_meta <span class='sym_p'><span>( struct ly_ctx const* <span class='color_p'>ctx</span></span>, <span>struct lyd_node* <span class='color_p'>parent</span></span>, <span>struct lys_module const* <span class='color_p'>module</span></span>, <span>char const* <span class='color_p'>name</span></span>, <span>char const* <span class='color_p'>val_str</span></span>, <span>uint32_t <span class='color_p'>options</span></span>, <span>struct lyd_meta** <span class='color_p'>meta</span></span> )</span></span><br/> +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td>Type of <b>6th</b> parameter <b>clear_dflt</b> has been changed from <b>ly_bool</b> to <b>uint32_t</b>.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +</table> +<br/> +</div> +<span class="section" onclick="javascript:showContent(this, 'c_103')"> +<span class='ext'>[+]</span> lyd_new_meta2 <span class='sym_p'><span>( struct ly_ctx const* <span class='color_p'>ctx</span></span>, <span>struct lyd_node* <span class='color_p'>parent</span></span>, <span>ly_bool <span class='color_p'>clear_dflt</span></span>, <span>struct lyd_attr const* <span class='color_p'>attr</span></span>, <span>struct lyd_meta** <span class='color_p'>meta</span></span> )</span> <span class='warning'> 1 </span></span> +<br/> +<div id="c_103" style="display:none;"> + + +<span class='new_sign_lbl'>⇣</span> +<br/> +<span class='new_sign'>lyd_new_meta2 <span class='sym_p'><span>( struct ly_ctx const* <span class='color_p'>ctx</span></span>, <span>struct lyd_node* <span class='color_p'>parent</span></span>, <span>uint32_t <span class='color_p'>options</span></span>, <span>struct lyd_attr const* <span class='color_p'>attr</span></span>, <span>struct lyd_meta** <span class='color_p'>meta</span></span> )</span></span><br/> +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td>Type of <b>3rd</b> parameter <b>clear_dflt</b> has been changed from <b>ly_bool</b> to <b>uint32_t</b>.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +</table> +<br/> +</div> +<span class="section" onclick="javascript:showContent(this, 'c_104')"> +<span class='ext'>[+]</span> lyd_new_term <span class='sym_p'><span>( struct lyd_node* <span class='color_p'>parent</span></span>, <span>struct lys_module const* <span class='color_p'>module</span></span>, <span>char const* <span class='color_p'>name</span></span>, <span>char const* <span class='color_p'>val_str</span></span>, <span>ly_bool <span class='color_p'>output</span></span>, <span>struct lyd_node** <span class='color_p'>node</span></span> )</span> <span class='warning'> 1 </span></span> +<br/> +<div id="c_104" style="display:none;"> + + +<span class='new_sign_lbl'>⇣</span> +<br/> +<span class='new_sign'>lyd_new_term <span class='sym_p'><span>( struct lyd_node* <span class='color_p'>parent</span></span>, <span>struct lys_module const* <span class='color_p'>module</span></span>, <span>char const* <span class='color_p'>name</span></span>, <span>char const* <span class='color_p'>value</span></span>, <span>uint32_t <span class='color_p'>options</span></span>, <span>struct lyd_node** <span class='color_p'>node</span></span> )</span></span><br/> +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td>Type of <b>5th</b> parameter <b>output</b> has been changed from <b>ly_bool</b> to <b>uint32_t</b>.</td> +<td>Recompilation of a client program may be broken.</td> +</tr> +</table> +<br/> +</div> +<br/> +<a class='top_ref' href='#Top'>to the top</a><br/> +<a name='Other_Source_Changes'></a><a name='Other_Source_Changes_In_Symbols'></a><a name='Other_Source_Changes_In_Interfaces'></a> +<h2>Other Changes in Symbols <span class='passed'> 15 </span></h2><hr/> +<span class='h_name'>log.h</span><br/> +<span class="section" onclick="javascript:showContent(this, 'c_105')"> +<span class='ext'>[+]</span> ly_temp_log_options <span class='sym_p'><span>( uint32_t* <span class='color_p'>opts</span></span> )</span> <span class='passed'> 1 </span></span> +<br/> +<div id="c_105" style="display:none;"> + +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td>Type of return value has been changed from <b>void</b> to <b>uint32_t*</b>.</td> +<td>No effect.</td> +</tr> +</table> +<br/> +</div> +<br/> +<span class='h_name'>plugins_exts.h</span><br/> +<span class="section" onclick="javascript:showContent(this, 'c_106')"> +<span class='ext'>[+]</span> lyplg_ext_compile_log <span class='sym_p'><span>( struct lysc_ctx const* <span class='color_p'>cctx</span></span>, <span>struct lysc_ext_instance const* <span class='color_p'>ext</span></span>, <span>char const* <span class='color_p'>format</span></span>, <span>...</span> )</span> <span class='passed'> 1 </span></span> +<br/> +<div id="c_106" style="display:none;"> + + +<span class='new_sign_lbl'>⇣</span> +<br/> +<span class='new_sign'>lyplg_ext_compile_log <span class='sym_p'><span>( struct lysc_ctx const* <span class='color_p'>cctx</span></span>, <span>struct lysc_ext_instance const* <span class='color_p'>ext</span></span>, <span>char const* <span class='color_p'>format</span></span>, <span>...</span> )</span></span><br/> +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td><b>4th</b> parameter <b>err_no</b> has been renamed to <b>err</b>.</td> +<td>No effect.</td> +</tr> +</table> +<br/> +</div> +<span class="section" onclick="javascript:showContent(this, 'c_107')"> +<span class='ext'>[+]</span> lyplg_ext_compile_log_err <span class='sym_p'><span>( struct ly_err_item const* <span class='color_p'>err</span></span>, <span>struct lysc_ext_instance const* <span class='color_p'>ext</span></span> )</span> <span class='passed'> 1 </span></span> +<br/> +<div id="c_107" style="display:none;"> + + +<span class='new_sign_lbl'>⇣</span> +<br/> +<span class='new_sign'>lyplg_ext_compile_log_err <span class='sym_p'><span>( struct ly_err_item const* <span class='color_p'>eitem</span></span>, <span>struct lysc_ext_instance const* <span class='color_p'>ext</span></span> )</span></span><br/> +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td><b>1st</b> parameter <b>err</b> has been renamed to <b>eitem</b>.</td> +<td>No effect.</td> +</tr> +</table> +<br/> +</div> +<span class="section" onclick="javascript:showContent(this, 'c_108')"> +<span class='ext'>[+]</span> lyplg_ext_compile_log_path <span class='sym_p'><span>( char const* <span class='color_p'>path</span></span>, <span>struct lysc_ext_instance const* <span class='color_p'>ext</span></span>, <span>char const* <span class='color_p'>format</span></span>, <span>...</span> )</span> <span class='passed'> 1 </span></span> +<br/> +<div id="c_108" style="display:none;"> + + +<span class='new_sign_lbl'>⇣</span> +<br/> +<span class='new_sign'>lyplg_ext_compile_log_path <span class='sym_p'><span>( char const* <span class='color_p'>path</span></span>, <span>struct lysc_ext_instance const* <span class='color_p'>ext</span></span>, <span>char const* <span class='color_p'>format</span></span>, <span>...</span> )</span></span><br/> +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td><b>4th</b> parameter <b>err_no</b> has been renamed to <b>err</b>.</td> +<td>No effect.</td> +</tr> +</table> +<br/> +</div> +<span class="section" onclick="javascript:showContent(this, 'c_109')"> +<span class='ext'>[+]</span> lyplg_ext_parse_log <span class='sym_p'><span>( struct lysp_ctx const* <span class='color_p'>pctx</span></span>, <span>struct lysp_ext_instance const* <span class='color_p'>ext</span></span>, <span>char const* <span class='color_p'>format</span></span>, <span>...</span> )</span> <span class='passed'> 1 </span></span> +<br/> +<div id="c_109" style="display:none;"> + + +<span class='new_sign_lbl'>⇣</span> +<br/> +<span class='new_sign'>lyplg_ext_parse_log <span class='sym_p'><span>( struct lysp_ctx const* <span class='color_p'>pctx</span></span>, <span>struct lysp_ext_instance const* <span class='color_p'>ext</span></span>, <span>char const* <span class='color_p'>format</span></span>, <span>...</span> )</span></span><br/> +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td><b>4th</b> parameter <b>err_no</b> has been renamed to <b>err</b>.</td> +<td>No effect.</td> +</tr> +</table> +<br/> +</div> +<br/> +<span class='h_name'>plugins_types.h</span><br/> +<span class="section" onclick="javascript:showContent(this, 'c_110')"> +<span class='ext'>[+]</span> ly_err_new <span class='sym_p'><span>( struct ly_err_item** <span class='color_p'>err</span></span>, <span>char* <span class='color_p'>path</span></span>, <span>char* <span class='color_p'>apptag</span></span>, <span>char const* <span class='color_p'>err_format</span></span>, <span>...</span> )</span> <span class='passed'> 1 </span></span> +<br/> +<div id="c_110" style="display:none;"> + + +<span class='new_sign_lbl'>⇣</span> +<br/> +<span class='new_sign'>ly_err_new <span class='sym_p'><span>( struct ly_err_item** <span class='color_p'>err</span></span>, <span>char* <span class='color_p'>data_path</span></span>, <span>char* <span class='color_p'>apptag</span></span>, <span>char const* <span class='color_p'>err_format</span></span>, <span>...</span> )</span></span><br/> +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td><b>4th</b> parameter <b>path</b> has been renamed to <b>data_path</b>.</td> +<td>No effect.</td> +</tr> +</table> +<br/> +</div> +<br/> +<span class='h_name'>tree_data.h</span><br/> +<span class="section" onclick="javascript:showContent(this, 'c_111')"> +<span class='ext'>[+]</span> lyd_new_ext_any <span class='sym_p'><span>( struct lysc_ext_instance const* <span class='color_p'>ext</span></span>, <span>char const* <span class='color_p'>name</span></span>, <span>void const* <span class='color_p'>value</span></span>, <span>ly_bool <span class='color_p'>use_value</span></span>, <span>struct lyd_node** <span class='color_p'>node</span></span> )</span> <span class='passed'> 2 </span></span> +<br/> +<div id="c_111" style="display:none;"> + + +<span class='new_sign_lbl'>⇣</span> +<br/> +<span class='new_sign'>lyd_new_ext_any <span class='sym_p'><span>( struct lysc_ext_instance const* <span class='color_p'>ext</span></span>, <span>char const* <span class='color_p'>name</span></span>, <span>void const* <span class='color_p'>value</span></span>, <span>uint32_t <span class='color_p'>options</span></span>, <span>struct lyd_node** <span class='color_p'>node</span></span> )</span></span><br/> +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td><b>4th</b> parameter <b>use_value</b> has been renamed to <b>value_type</b>.</td> +<td>No effect.</td> +</tr> +<tr> +<th>2</th> +<td><b>5th</b> parameter <b>value_type</b> has been renamed to <b>options</b>.</td> +<td>No effect.</td> +</tr> +</table> +<br/> +</div> +<span class="section" onclick="javascript:showContent(this, 'c_112')"> +<span class='ext'>[+]</span> lyd_new_list <span class='sym_p'><span>( struct lyd_node* <span class='color_p'>parent</span></span>, <span>struct lys_module const* <span class='color_p'>module</span></span>, <span>char const* <span class='color_p'>name</span></span>, <span>ly_bool <span class='color_p'>output</span></span>, <span>struct lyd_node** <span class='color_p'>node</span></span>, <span>...</span> )</span> <span class='passed'> 1 </span></span> +<br/> +<div id="c_112" style="display:none;"> + + +<span class='new_sign_lbl'>⇣</span> +<br/> +<span class='new_sign'>lyd_new_list <span class='sym_p'><span>( struct lyd_node* <span class='color_p'>parent</span></span>, <span>struct lys_module const* <span class='color_p'>module</span></span>, <span>char const* <span class='color_p'>name</span></span>, <span>uint32_t <span class='color_p'>options</span></span>, <span>struct lyd_node** <span class='color_p'>node</span></span>, <span>...</span> )</span></span><br/> +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td><b>4th</b> parameter <b>output</b> has been renamed to <b>options</b>.</td> +<td>No effect.</td> +</tr> +</table> +<br/> +</div> +<span class="section" onclick="javascript:showContent(this, 'c_113')"> +<span class='ext'>[+]</span> lyd_new_list2 <span class='sym_p'><span>( struct lyd_node* <span class='color_p'>parent</span></span>, <span>struct lys_module const* <span class='color_p'>module</span></span>, <span>char const* <span class='color_p'>name</span></span>, <span>char const* <span class='color_p'>keys</span></span>, <span>ly_bool <span class='color_p'>output</span></span>, <span>struct lyd_node** <span class='color_p'>node</span></span> )</span> <span class='passed'> 1 </span></span> +<br/> +<div id="c_113" style="display:none;"> + + +<span class='new_sign_lbl'>⇣</span> +<br/> +<span class='new_sign'>lyd_new_list2 <span class='sym_p'><span>( struct lyd_node* <span class='color_p'>parent</span></span>, <span>struct lys_module const* <span class='color_p'>module</span></span>, <span>char const* <span class='color_p'>name</span></span>, <span>char const* <span class='color_p'>keys</span></span>, <span>uint32_t <span class='color_p'>options</span></span>, <span>struct lyd_node** <span class='color_p'>node</span></span> )</span></span><br/> +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td><b>5th</b> parameter <b>output</b> has been renamed to <b>options</b>.</td> +<td>No effect.</td> +</tr> +</table> +<br/> +</div> +<span class="section" onclick="javascript:showContent(this, 'c_114')"> +<span class='ext'>[+]</span> lyd_new_list3 <span class='sym_p'><span>( struct lyd_node* <span class='color_p'>parent</span></span>, <span>struct lys_module const* <span class='color_p'>module</span></span>, <span>char const* <span class='color_p'>name</span></span>, <span>char const** <span class='color_p'>key_values</span></span>, <span>uint32_t* <span class='color_p'>value_lengths</span></span>, <span>ly_bool <span class='color_p'>output</span></span>, <span>struct lyd_node** <span class='color_p'>node</span></span> )</span> <span class='passed'> 1 </span></span> +<br/> +<div id="c_114" style="display:none;"> + + +<span class='new_sign_lbl'>⇣</span> +<br/> +<span class='new_sign'>lyd_new_list3 <span class='sym_p'><span>( struct lyd_node* <span class='color_p'>parent</span></span>, <span>struct lys_module const* <span class='color_p'>module</span></span>, <span>char const* <span class='color_p'>name</span></span>, <span>char const** <span class='color_p'>key_values</span></span>, <span>uint32_t* <span class='color_p'>value_lengths</span></span>, <span>uint32_t <span class='color_p'>options</span></span>, <span>struct lyd_node** <span class='color_p'>node</span></span> )</span></span><br/> +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td><b>6th</b> parameter <b>output</b> has been renamed to <b>options</b>.</td> +<td>No effect.</td> +</tr> +</table> +<br/> +</div> +<span class="section" onclick="javascript:showContent(this, 'c_115')"> +<span class='ext'>[+]</span> lyd_new_meta <span class='sym_p'><span>( struct ly_ctx const* <span class='color_p'>ctx</span></span>, <span>struct lyd_node* <span class='color_p'>parent</span></span>, <span>struct lys_module const* <span class='color_p'>module</span></span>, <span>char const* <span class='color_p'>name</span></span>, <span>char const* <span class='color_p'>val_str</span></span>, <span>ly_bool <span class='color_p'>clear_dflt</span></span>, <span>struct lyd_meta** <span class='color_p'>meta</span></span> )</span> <span class='passed'> 1 </span></span> +<br/> +<div id="c_115" style="display:none;"> + + +<span class='new_sign_lbl'>⇣</span> +<br/> +<span class='new_sign'>lyd_new_meta <span class='sym_p'><span>( struct ly_ctx const* <span class='color_p'>ctx</span></span>, <span>struct lyd_node* <span class='color_p'>parent</span></span>, <span>struct lys_module const* <span class='color_p'>module</span></span>, <span>char const* <span class='color_p'>name</span></span>, <span>char const* <span class='color_p'>val_str</span></span>, <span>uint32_t <span class='color_p'>options</span></span>, <span>struct lyd_meta** <span class='color_p'>meta</span></span> )</span></span><br/> +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td><b>6th</b> parameter <b>clear_dflt</b> has been renamed to <b>options</b>.</td> +<td>No effect.</td> +</tr> +</table> +<br/> +</div> +<span class="section" onclick="javascript:showContent(this, 'c_116')"> +<span class='ext'>[+]</span> lyd_new_meta2 <span class='sym_p'><span>( struct ly_ctx const* <span class='color_p'>ctx</span></span>, <span>struct lyd_node* <span class='color_p'>parent</span></span>, <span>ly_bool <span class='color_p'>clear_dflt</span></span>, <span>struct lyd_attr const* <span class='color_p'>attr</span></span>, <span>struct lyd_meta** <span class='color_p'>meta</span></span> )</span> <span class='passed'> 1 </span></span> +<br/> +<div id="c_116" style="display:none;"> + + +<span class='new_sign_lbl'>⇣</span> +<br/> +<span class='new_sign'>lyd_new_meta2 <span class='sym_p'><span>( struct ly_ctx const* <span class='color_p'>ctx</span></span>, <span>struct lyd_node* <span class='color_p'>parent</span></span>, <span>uint32_t <span class='color_p'>options</span></span>, <span>struct lyd_attr const* <span class='color_p'>attr</span></span>, <span>struct lyd_meta** <span class='color_p'>meta</span></span> )</span></span><br/> +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td><b>3rd</b> parameter <b>clear_dflt</b> has been renamed to <b>options</b>.</td> +<td>No effect.</td> +</tr> +</table> +<br/> +</div> +<span class="section" onclick="javascript:showContent(this, 'c_117')"> +<span class='ext'>[+]</span> lyd_new_term <span class='sym_p'><span>( struct lyd_node* <span class='color_p'>parent</span></span>, <span>struct lys_module const* <span class='color_p'>module</span></span>, <span>char const* <span class='color_p'>name</span></span>, <span>char const* <span class='color_p'>val_str</span></span>, <span>ly_bool <span class='color_p'>output</span></span>, <span>struct lyd_node** <span class='color_p'>node</span></span> )</span> <span class='passed'> 2 </span></span> +<br/> +<div id="c_117" style="display:none;"> + + +<span class='new_sign_lbl'>⇣</span> +<br/> +<span class='new_sign'>lyd_new_term <span class='sym_p'><span>( struct lyd_node* <span class='color_p'>parent</span></span>, <span>struct lys_module const* <span class='color_p'>module</span></span>, <span>char const* <span class='color_p'>name</span></span>, <span>char const* <span class='color_p'>value</span></span>, <span>uint32_t <span class='color_p'>options</span></span>, <span>struct lyd_node** <span class='color_p'>node</span></span> )</span></span><br/> +<table class='ptable'> +<tr> +<th class='pn'></th> +<th class='chg'>Change</th> +<th>Effect</th> +</tr> +<tr> +<th>1</th> +<td><b>4th</b> parameter <b>val_str</b> has been renamed to <b>value</b>.</td> +<td>No effect.</td> +</tr> +<tr> +<th>2</th> +<td><b>5th</b> parameter <b>output</b> has been renamed to <b>options</b>.</td> +<td>No effect.</td> +</tr> +</table> +<br/> +</div> +<br/> +<a class='top_ref' href='#Top'>to the top</a><br/> +<a name='Headers'></a><h2>Header Files <span class='gray'> 17 </span></h2><hr/> +<div class='h_list'> +context.h<br/> +dict.h<br/> +hash_table.h<br/> +in.h<br/> +log.h<br/> +metadata.h<br/> +out.h<br/> +parser_data.h<br/> +parser_schema.h<br/> +plugins.h<br/> +plugins_exts.h<br/> +plugins_types.h<br/> +printer_data.h<br/> +printer_schema.h<br/> +set.h<br/> +tree_data.h<br/> +tree_schema.h<br/> +</div> +<br/><a class='top_ref' href='#Top'>to the top</a><br/> +<a name='Libs'></a><h2>Objects <span class='gray'> 1 </span></h2><hr/> +<div class='lib_list'> +libyang.so.2.47.2<br/> +</div> +<br/><a class='top_ref' href='#Top'>to the top</a><br/> +<br/><br/><br/></div><hr/> +<div class='footer' align='right'><i>Generated by <a href='https://github.com/lvc/abi-compliance-checker'>ABI Compliance Checker</a> 2.3  </i> +</div> +<br/> + +</body></html> diff --git a/doc/logo.png b/doc/logo.png Binary files differnew file mode 100644 index 0000000..13878b7 --- /dev/null +++ b/doc/logo.png diff --git a/doc/transition_1_2.dox b/doc/transition_1_2.dox new file mode 100644 index 0000000..d116a16 --- /dev/null +++ b/doc/transition_1_2.dox @@ -0,0 +1,406 @@ +/** + * @page transition1_2 Transition Manual (1.x -> 2.0) + * + * [TOC] + * + * Rewriting libyang codebase and creating libyang version 2.0 was motivated mainly by improving long term maintainability. + * Especially some of the features and design decisions become killers for further development and maintaining the libyang + * codebase. On the other hand, most of the principles introduced in libyang 1.x to handle YANG schemas and manipulate + * instantiated data have proved successful. Therefore, we have decided to keep the basic mechanisms from version 1.x and + * remove the problematic features and modify the improper design decisions. Despite the vision to keep with the mechanisms + * also the API, the new version became a great opportunity to clean up the API and improve its usability mainly by unifying + * how the libyang functions are used. So, in the end, this manual is not just a description of the removed features listing + * removed, modified or added functions. The API should be even better prepared for adding new features and functions. + * Shortly, almost everything has changed at least a little, so you cannot move from version 1.x to 2.0 just by replacing + * code snippets. However, we believe that the change is good and libyang 2.0 is simply better. + * + * In this Manual, we want to introduce the differences between libyang 1.x and 2.0. It is intended for the transition + * from 1.x to 2.0, so if you are new to libyang, simply go to the @ref howto section, this Manual is not for you. + * + * The complete generated list of changes (without any additional notes) can be found in + * <a href="../compat_report_1_2.html">the compatibility report</a>. + * + * @section transition1_2General General Changes + * + * + * @subsection transition1_2GeneralErros Errors Handling + * + * The most visible change is probably the changed approach to handling errors. While libyang 1.x was using variable + * *ly_errno* to provide error information in case the called function failed, there is no such variable in libyang 2.0. + * On the other hand, most API functions now return ::LY_ERR values directly stating the result. In addition, in case + * the error is somehow connected with the [context](@ref howtoContext), more detailed error information can be obtained + * from the context handler itself. Mainly this change is responsible for the backward incompatibility of almost all + * functions between versions 1.x and 2.0. + * + * Here is the overview of the changed / removed / added functions connected with errors and logging. + * + * libyang 1.x | libyang 2.0 | Notes + * :-------------------------|:-------------------------------------|:------------------------------------------------------- + * - | ::ly_err_last() | New API for handling errors. + * ly_verb_dbg() | ::ly_log_dbg_groups() | Rename to align with the names of the accepted values. + * ly_verb() | ::ly_log_level() | ^ + * + * More information about error handling in libyang 2.0 can be found at @ref howtoErrors page. + * + * @subsection transition1_2GeneralInOut Input / Output Processing + * + * libyang 2.0 introduces input (::ly_in) and output (::ly_out) handlers covering the specific input sources for parsers and + * output targets for printers. They are supposed mainly to simplify parser's and printer's API to avoid the need for + * separate functions for each source/target. The handlers can be used repeatedly to split the inputs or join the outputs. + * + * More information can be found at @ref howtoInput and @ref howtoOutput pages. + * + * + * @subsection transition1_2GeneralOutputFormatting Output Formatting + * + * In libyang 1.x, there was an inconsistency in printing schemas and data. While the schemas were always printed formatted, + * the data were printed by default without additional indentation. It is clearly visible in the YIN format of the schema, + * which is XML, and the XML encoding of the data. While there was a possibility to format data output with the LYP_FORMAT + * flag, it wasn't possible to change schema output formatting. + * + * libyang 2.0 unifies the behavior of all printers. By default, all the output formats are formatted now. Both, the data as + * well as the schema printers, accept the option to remove additional formatting (different for the specific format, usually + * indentations and blank lines): ::LYD_PRINT_SHRINK for the data printer and ::LYS_PRINT_SHRINK for the schema printer. + * + * + * @subsection transition1_2GeneralXPath Addressing + * + * If you compare the @ref howtoXPath page from libyang 1.x and 2.0 documentation, you will be probably confused since they + * seem very different. In fact, we have tried to simplify the API by removing the original Schema path format from the + * public API. Since this format is used in YANG format, libyang still supports it internally, but it is not possible to use + * it anywhere in the API. The new formats XPath and Path, mentioned at the @ref howtoXPath page, are both the Data paths + * used in libyang 1.x. The Path format is a subset of XPath format limited to refer to a single node. + * + * This change was reflected in functions serving to get a node based on the specified path. Unfortunately, when comparing + * old and new API, the transition can be confusing since the names are sometimes overloaded (be careful mainly of + * ::lys_find_path()). The following table depicts the changes, but probably a better approach is to handle the functions as + * a completely new API. + * + * libyang 1.x | libyang 2.0 | Notes + * :-------------------------|:-------------------------------------|:------------------------------------------------------- + * ly_ctx_find_path() | - | To simplify the different [types of paths](@ref howtoXPath), the Schema path format is not supported for now. If there will be use cases for it, it can be re-added later, but for now try using ::lys_find_xpath(). + * %lys_find_path() | - | To simplify the different [types of paths](@ref howtoXPath), the Schema path format is not supported for now. If there will be use cases for it, it can be re-added later, but for now try using ::lys_find_xpath(). + * ly_ctx_get_node() | ::lys_find_path() | Renamed to unify API functions, note that there was lys_find_path in libyang 1.x with different functionality in comparison to the function of the same name from libyang 2.0. + * - | ::lys_find_path_atoms() | Extension of ::lys_find_path(). + * - | ::lys_find_lypath_atoms() | ^ + * - | ::lys_find_xpath() | New function reflecting updated @ref howtoXPath\. + * lys_xpath_atomize() | ::lys_find_xpath_atoms() | Rename to unify with the new API, extends ::lys_find_xpath(). + * - | ::lys_find_expr_atoms() | Extension of ::lys_find_xpath(). + * %lyd_path() | ::lyd_path() | Same purpose, just extended functionality. + * lyd_find_path() | ::lyd_find_xpath() | Rename to unify with the new API. + * - | ::lyd_find_path() | Simplified version of ::lyd_find_path(). + * - | ::lyxp_get_expr() | Added functionality due to the changed representation of XPath expressions. + * ly_path_data2schema() | - | Removed since the schema path is not available in API. + * ly_path_xml2json() | - | Removed since done internally, note that even the generic XML parser is not available now. + * lys_node_xpath_atomize() | - | Removed as useless/redundant, use ::lys_find_xpath_atoms(). + * + * @section transition1_2Context Context + * + * Context, as a concept of a storage interconnecting YANG modules into a YANG schema and YANG schema with the instantiated + * data, was preserved. However, it is now more supposed to be prepared just once before connecting it with any instantiated + * data. The possibility of removing YANG modules from the context was completely dropped. Furthermore, we would like to + * introduce some kind of context lock to completely abandon any change of the YANG modules after starting work with the + * instantiated data. + * + * Another change to note is the removed destructor of private data (::lysc_node.priv) in ::ly_ctx_destroy(). The mechanism + * was not reliable with the context recompilation and the splitted parsed and compiled schema trees or the complexity of + * YANG extensions. It is better to let the caller maintain the allocated data directly via some memory pool or using + * ::lysc_tree_dfs_full() since he is the best to know where the additional data were added. + * + * The meaining of the ::lysc_node.priv pointer can be now also changed by ::LY_CTX_SET_PRIV_PARSED context option, which + * makes libyang to connect the original parsed schema node structure (::lysp_node) into the compiled nodes via their 'priv' + * pointer. + * + * Other significant changes connected with the context are depicted in the following table. + * + * libyang 1.x | libyang 2.0 | Notes + * :-------------------------|:-------------------------------------|:------------------------------------------------------- + * ly_ctx_clean() | - | Removed functionality of manipulating with the context and the modules already placed in the context. + * ly_ctx_remove_module() | - | ^ + * ly_ctx_set_module_data_clb() and the associated ly_module_data_clb type. | - | ^ + * ly_ctx_get_disabled_module() and the associated ly_ctx_get_disabled_module_iter() | - | ^ + * ly_ctx_info() | ::ly_ctx_get_yanglib_data() | Clarification of what to expect as the output of the function and possibility to specify custom content ID. + * ly_ctx_get_module_set_id() | ::ly_ctx_get_change_count() | The functionality is the same but the exact meaning of the value was clarified. + * - | ::ly_ctx_unset_searchdir_last() | Extend the functionality of the ::ly_ctx_unset_searchdir() to make its use easier. + * ly_ctx_get_module_older() | - | Removed functionality. + * - | ::ly_ctx_get_module_implemented() | Supplement for ::ly_ctx_get_module() + * - | ::ly_ctx_get_module_latest() | ^ + * - | ::ly_ctx_get_module_implemented_ns() | Supplement for ::ly_ctx_get_module_ns() + * - | ::ly_ctx_get_module_latest_ns() | ^ + * - | ::ly_ctx_get_submodule_latest() | Supplement for ::ly_ctx_get_submodule() + * - | ::ly_ctx_get_submodule2_latest() | Supplement for ::ly_ctx_get_submodule2() + * ly_ctx_get_module_by_ns() | ::ly_ctx_get_module_ns () | Redesign the API - replace some of the parameters with standalone supplement functions. + * ly_ctx_unset_searchdirs() | ::ly_ctx_unset_searchdir() | Simplify API and instead of index numbers, work with the values themselves. + * ly_ctx_set*() | ::ly_ctx_set_options() | API simplification. + * ly_ctx_unset*() | ::ly_ctx_unset_options() | ^ + * ly_ctx_destroy() | ::ly_ctx_destroy() | The destructor callback parameter was removed, see the notes above. + * + * + * @section transition1_2Schemas YANG Modules (Schema) + * + * The most significant change between libyang 1.x and 2.0 can be found in schema structures. The schema tree now has two + * different forms - parsed and compiled trees. While the parsed tree reflects the source of the YANG module, the compiled + * tree represents the final tree used to validate the instantiated data. Both formats can be found inside the covering + * ::lys_module structure. More about the new structures can be found at @ref howtoSchema page. + * + * This is an essential change allowing speed up and simplification of data validation, but requiring carefully determine + * which format is more suitable for the specific use case. As mentioned, the compiled trees are better for data validation + * and getting information about the intentioned structure of the schema with all the applied groupings, type modifications, + * augments, deviations, and any defined if-features. On the other hand, the parsed trees are useful for the schema format conversions since they + * provide the original structure of the modules. There is a number of new functions intended to work only with the + * parsed or the compiled tree. These functions are prefixed with `lysp_` and `lysp_` prefixes. + * + * Schema parser, as well as printer functions, are now extended to accept new + * [input / output handlers](@ref transition1_2GeneralInOut). The previous API working directly with inputs and outputs is + * preserved (or slightly changed), but the functions can be limited in the functionality of the new API. More information + * can be found at @ref howtoSchemaParsers and @ref howtoSchemaPrinters pages. + * + * libyang 1.x | libyang 2.0 | Notes + * :----------------------------|:--------------------------------|:--------------------------------------------------------- + * - | ::lys_parse() | New generic schema parser API using [generic input handler](@ref howtoInput). + * - | ::lys_print_module() | New generic schema printer API using [generic output handler](@ref howtoOutput). + * - | ::lys_print_node() | ^ + * - | ::lys_print_submodule() | ^ + * + * + * The following table introduces other significant changes in the API functions connected with the schema. + * + * libyang 1.x | libyang 2.0 | Notes + * :----------------------------|:--------------------------------|:--------------------------------------------------------- + * lys_set_private() | - | Not needed, all ::lysc_node compatible structures have this pointer so it can be accessed directly. + * lys_is_disabled() | - | Make no sense since the nodes disabled by if-feature are not present in the compiled tree. + * lys_features_list() | - | Not needed, the list of features is available in the parsed tree of the module and submodule. + * lys_features_enable(), lys_features_enable_force() | ::lys_set_implemented() | Set of enabled features can be changed but it causes the whole context (all the modules) to recompile. + * lys_features_disable(), lys_features_disable_force() | - | ^ + * lys_features_state() | - | Redesign of the features handling in the schema tree, the feature's status is newly directly visible as ::LYS_FENABLED flag (in parsed feature structure). + * - | ::lys_feature_value() | Simplified API to get feature's state only based on a feature name string. + * - | ::lysp_feature_next() | After redesigning features handling, this function helps to iterate over all features connected with the module. + * lys_iffeature_value() | ::lysc_iffeature_value() | Renamed, but note that after features handling redesign, the compiled if-feature structure to evaluate is only in ::lysp_feature.iffeatures_c. + * lys_iffeature_value() | - | Not needed since the if-feature statements are directly applied onto the compiled tree. + * lys_is_disabled() | - | ^ + * lys_parent() | - | The compiled tree is more straightforward without the need to take care of nodes added via augments. + * lys_main_module() | - | The compiled tree does not include submodules, so there is always only the main module. + * lys_node_module() | - | ^ + * lys_set_enabled() | - | It is not possible to change context this way (remove or disable modules). + * lys_set_disabled() | - | ^ + * - | ::lys_find_child() | Helpers wrapper around ::lys_getnext(). + * - | ::lys_getnext_ext() | Alternative to ::lys_getnext() allowing processing schema trees inside extension instances. + * - | ::lys_nodetype2str() | New functionality. + * lys_is_key() | ::lysc_is_key() | Renamed to connect with the compiled schema tree. + * - | ::lysc_is_userordered() | Added functionality to simplify the examination of generic compiled schema nodes. + * - | ::lysc_is_np_cont() | ^ + * - | ::lysc_node_child() | ^ + * - | ::lysc_node_actions() | ^ + * - | ::lysc_node_notifs() | ^ + * - | ::lysp_node_child() | Added functionality to simplify the examination of generic parsed schema nodes. + * - | ::lysp_node_actions() | ^ + * - | ::lysp_node_notifs() | ^ + * - | ::lysp_node_groupings() | ^ + * - | ::lysp_node_typedefs() | ^ + * - | ::lysc_tree_dfs_full() | Alternative DFS passing implementation to ::LYSC_TREE_DFS_BEGIN macro. + * - | ::lysc_module_dfs_full() | Supplement functionality to ::lysc_tree_dfs_full(). + * lys_path(), lys_data_path() | ::lysc_path() | Redesigned functionality. + * lys_data_path_pattern() | - | Removed as useless + * lys_implemented_module() | ::ly_ctx_get_module_implemented() | Removed, the same result can be simply achieved using ::ly_ctx_get_module_implemented(). + * + * There is a set of functions available to implement data type plugins for storing and manipulating data values in a more + * natural way to the specific data type. For example, IPv4 address type is defined as a string with a pattern, but it is + * more effective and usual to store and handle IPv4 as a 32-bit number. + * + * libyang 1.x | libyang 2.0 | Notes + * :----------------------------|:---------------------------------|:-------------------------------------------------------- + * lys_getnext_union_type() | - | Removed after the type representation redesign. + * - | ::lyplg_type_identity_isderived()| Helper functions for base types. + * - | ::lyplg_type_parse_dec64() | ^ + * - | ::lyplg_type_parse_int() | ^ + * - | ::lyplg_type_parse_uint() | ^ + * - | ::lyplg_type_validate_patterns() | ^ + * - | ::lyplg_type_validate_range() | ^ + * - | ::lyplg_type_get_prefix() | Helper functions for processing prefixes in data values. + * - | ::lyplg_type_prefix_data_new() | ^ + * - | ::lyplg_type_prefix_data_dup() | ^ + * - | ::lyplg_type_prefix_data_free() | ^ + * + * + * YANG extensions are supported via [extension plugins API](@ref pluginsExtensions) allowing to implement specific extension + * and load its support into libyang as a shared module. libyang implements several extensions on its own (see + * @ref howtoPluginsExtensions), but even these internal implementations use the same API. The API and [mechanism of loading + * external plugins](@ref howtoPlugins) changed a lot in contrast to libyang 1.x. The plugins are now loaded automatically + * with creating the first libyang context. The only public function to handle external plugins is ::lyplg_add(). + * + * + * libyang 1.x | libyang 2.0 | Notes + * :----------------------------|:--------------------------------|:--------------------------------------------------------- + * lys_ext_complex_get_substmt()| lysc_ext_substmt() | Changed design of the extensions and the way how it's substatements are accessed. + * lys_ext_instance_presence() | lysc_ext_substmt() | ^ + * lys_ext_instance_substmt() | lysc_ext_substmt() | ^ + * ly_clean_plugins() | - | Manipulating external plugins (from plugins directories) is now automatically connected with creating (first) and destroying (last) libyang contexts. + * ly_get_loaded_plugins() | - | ^ + * ly_load_plugins() | - | ^ + * ly_register_exts() | ::lyplg_add() | Redesigned to a common function for any plugin type. + * ly_register_types() | ::lyplg_add() | ^ + * + * + * @section transition1_2Data Data Instances + * + * Conceptually, the data tree did not change as much as the schema tree. There is still a generic ::lyd_node structure that + * maps according to the schema node's nodetype to some of the other lyd_node_* structures. All the data nodes were extended + * by hashes to improve performance when searching and processing data trees. The hashes are used for example in the + * lyd_find_* functions. + * + * All the data nodes are also implicitly ordered following the order of the schema nodes. This is the + * reason to change the insertion function. Only the user-ordered lists and leaf-lists can be now placed relative to other + * instances of the same list/leaf-list. Otherwise, the data instance is always inserted/created at the correct place beside + * the right sibling nodes. + * + * For any functions that are available on inputs of different scale (node, subtree, all siblings, whole data tree), + * there are several variants of the specific function with suffix specifying what exactly the processed input will be + * (_single, _tree, _siblings, _all). This way the behavior is always clear in the code. + * + * libyang 1.x | libyang 2.0 | Notes + * :----------------------------|:--------------------------------|:--------------------------------------------------------- + * %lyd_insert_after() | ::lyd_insert_after() | Changed meaning by limiting applicability only to user-ordered list and leaf-list instances. + * %lyd_insert_before() | ::lyd_insert_before() | ^ + * lyd_schema_sort() | - | Not necessary since the nodes are sorted implicitly. + * + * + * Parsing data instances in XML format is newly done directly, without any interstep. Therefore, complete XML API + * (lyxml_*() functions) from libyang 1.x was removed. + * + * Parser's API was simplified to avoid variadic parameters. The functions are newly split to parsed data, notifications, + * RPCs and replies to the RPCs. Similarly to the schema parsers, also the new data parser API works with + * [input handlers](@ref transition1_2GeneralInOut). The data printer's API was also extended to use new + * [output handlers](@ref transition1_2GeneralInOut). However, part of the previous API working directly with inputs + * and outputs was preserved. More information about the data parser and printer can be found at + * @ref howtoDataParsers and @ref howtoDataPrinters pages. + * + * libyang 1.x | libyang 2.0 | Notes + * :----------------------------|:--------------------------------|:--------------------------------------------------------- + * - | ::lyd_parse_data() | Redesigned data tree parser. + * lyd_parse_xml() | - | XML tree format was removed. + * lyd_parse_fd() | ::lyd_parse_data_fd() | Renamed and limited to data trees only. + * lyd_parse_mem() | ::lyd_parse_data_mem() | ^ + * lyd_parse_path() | ::lyd_parse_data_path() | ^ + * - | ::lyd_parse_ext_data() | Separated function for parsing data trees matching a schema tree of the given extension instance. + * - | ::lyd_parse_op() | Separated function for parsing RPCs, actions, replies, and notifications. + * - | ::lyd_parse_ext_op() | Separated function for parsing RPCs, actions, replies, and notifications of the given extension instance. + * - | ::lyd_print_all() | New API accepting ::ly_out. + * - | ::lyd_print_tree() | ^ + * + * + * Data validation is still done as part of the parser's process. The standalone functionality is available to check the + * result of data manipulation with the values of the terminal nodes or with the structure of the data tree. In contrast to + * libyang 1.x, adding the default nodes was made available as a standalone function to simplify the data manipulation + * process before the final validation. + * + * Many validation flags were removed because they became obsolete (LYD_OPT_DESTRUCT, LYD_OPT_WHENAUTODEL, + * LYD_OPT_NOEXTDEPS, LYD_OPT_DATA_NO_YANGLIB, LYD_OPT_VAL_DIFF) or we consider them redundant (LYD_OPT_OBSOLETE, + * LYD_OPT_NOSIBLINGS, LYD_OPT_DATA_ADD_YANGLIB). As for LYD_OPT_TRUSTED, this option was mostly replaced with + * ::LYD_PARSE_ONLY because both skip validation but with the significant difference that LYD_OPT_TRUSTED also sets + * the data node flags to be considered validated. The current option ::LYD_PARSE_ONLY does not do this because + * there is now much better support for working with non-validated data trees. Also, in case an invalid tree was marked + * as validated, it could lead to some undesired behavior, which is now avoided. + * + * Worth mentioning is a difference in the LYB format, which now also stores its validation flags. So, in case + * a validated data tree is stored, it is also loaded as validated. + * + * libyang 1.x | libyang 2.0 | Notes + * :----------------------------|:--------------------------------|:--------------------------------------------------------- + * lyd_validate() | ::lyd_validate_all(), ::lyd_validate_op() | Redesigned functionality. + * lyd_validate_modules() | ::lyd_validate_module() | ^ + * lyd_validate_value(), lyd_value_type() | ::lyd_value_validate() | Redesigned functionality. + * - | ::lyd_new_implicit_all() | New in API to explicitly add default nodes, previously done only as part of the validation process. + * - | ::lyd_new_implicit_module() | Supplement functionality to ::lyd_new_implicit_all(). + * - | ::lyd_new_implicit_tree() | ^ + * + * + * The `diff` functionality was completely redesigned. Instead of the array of operations to transform one tree into another, + * the difference between two data trees has newly a form of the annotated data tree describing the differences. A number of + * functions to use the diff tree was added into API. To simply compare just nodes, there are the `compare` functions. + * + * libyang 1.x | libyang 2.0 | Notes + * :----------------------------|:--------------------------------|:--------------------------------------------------------- + * lyd_diff() | ::lyd_diff_tree() | Redesigned functionality. + * - | ::lyd_diff_siblings() | Supplement functionality to ::lyd_diff_tree(). + * - | ::lyd_diff_apply_all() | ^ + * - | ::lyd_diff_apply_module() | ^ + * - | ::lyd_diff_merge_all() | ^ + * - | ::lyd_diff_merge_module() | ^ + * - | ::lyd_diff_merge_tree() | ^ + * - | ::lyd_diff_reverse_all() | ^ + * lyd_free_diff() | - | Removed. + * lyd_free_val_diff() | - | Removed. + * - | ::lyd_compare_single() | Added functionality. + * - | ::lyd_compare_meta() | Supplement functionality to ::lyd_compare_single() + * - | ::lyd_compare_siblings() | ^ + * + * + * For now, the functionality of moving data between two different contexts is not implemented. If you have a real use case + * for this functionality, let us know. + * + * libyang 1.x | libyang 2.0 | Notes + * :----------------------------|:--------------------------------|:--------------------------------------------------------- + * lyd_dup() | ::lyd_dup_single() | Redesigned functionality. + * lyd_dup_withsiblings() | ::lyd_dup_siblings() | ^ + * - | ::lyd_dup_meta_single() | Supplement functionality to ::lyd_dup_single(). + * lyd_dup_to_ctx() | - | Transferring data from one context to another is not supported. + * lyd_merge() | ::lyd_merge_tree() | Renamed. + * - | ::lyd_merge_siblings() | Supplement functionality to ::lyd_merge_tree() + * lyd_merge_to_ctx() | - | Transferring data from one context to another is not supported. + * + * + * There is a significant change in the value structure in terminal nodes. Thanks to the changes in the schema tree, + * it is now much more straightforward to get the type of the value and work with the alternative representation of the value + * fitting better to its type. There is also a new API for the type plugins (see @ref howtoPluginsTypes). Even the base YANG + * data types are now implemented using this API and can be taken as examples for implementing derived data types. + * + * libyang 1.x | libyang 2.0 | Notes + * :----------------------------|:--------------------------------|:--------------------------------------------------------- + * lyd_new(), lyd_new_output() | ::lyd_new_inner(), ::lyd_new_list(), ::lyd_new_list2() | Redesigned functionality to better fit new lyd_node structures, creating RPC's output data is now done via a flag parameter of the functions. + * lyd_new_leaf(), lyd_new_output_leaf() | ::lyd_new_term() | ^ + * lyd_new_anydata(), lyd_new_output_anydata() | ::lyd_new_any() | ^ + * lyd_new_yangdata() | ::lyd_new_ext_inner(), ::lyd_new_ext_list(), ::lyd_new_ext_term(), ::lyd_new_ext_any() | Additional functionality to lyd_new_* functions to cover top-level nodes in extension instances. + * lyd_insert_attr() | ::lyd_new_meta() | Unify naming used in other functions with the similar functionality. + * - | ::lyd_new_attr() | Added functionality to store the data (temporarily) not connected with schema definitions. + * - | ::lyd_new_attr2() | ^ + * - | ::lyd_new_opaq() | ^ + * - | ::lyd_new_opaq2() | ^ + * - | ::lyd_new_path2() | Supplement functionality to ::lyd_new_path(). + * LYD_PATH_OPT_NOPARENTRET | ::lyd_new_path2() | ::lyd_new_path2() returns both the first parent and the wanted node. + * LYD_PATH_OPT_EDIT | ::LYD_NEW_PATH_OPAQ | This functionality was replaced by opaq nodes. + * - | ::lyd_new_ext_path() | Supplement functionality to ::lyd_new_path() covering data defined in extension instances. + * lyd_insert() | ::lyd_insert_child() | Renamed to better distinguish from ::lyd_insert_sibling(). + * lyd_change_leaf() | ::lyd_change_term() | Align naming with changed names of data structures. + * - | ::lyd_change_meta() | Transferred functionality of ::lyd_change_term() to metadata. + * - | ::lyd_any_copy_value() | Added functionality. + * lyd_free() | ::lyd_free_tree() | Renamed. + * lyd_free_withsiblings() | ::lyd_free_all() | ^ + * - | ::lyd_free_siblings() | Supplement functionality to ::lyd_free_siblings(). + * lyd_free_attr() | ::lyd_free_attr_single() | Renamed. + * - | ::lyd_free_attr_siblings() | Supplement functionality to ::lyd_free_attr_single(). + * - | ::lyd_free_meta_single() | Added functionality. + * - | ::lyd_free_meta_siblings() | ^ + * lyd_unlink() | ::lyd_unlink_tree() | Renamed. + * + * + * Here is the table of other changes in data API. + * + * libyang 1.x | libyang 2.0 | Notes + * :----------------------------|:--------------------------------|:--------------------------------------------------------- + * lyd_find_instance() | - | Removed. + * lyd_find_sibling() | - | Removed, functionality can be replaced by ::lyd_find_sibling_val(). + * lyd_find_sibling_set() | - | ^ + * - | ::lyd_find_sibling_first() | Alternative function to ::lyd_find_sibling_val(). + * - | ::lyd_find_meta() | New functionality. + * lyd_wd_default() | ::lyd_is_default() | Renamed to unlink from with-default capability. + * - | ::lyd_parent() | New wrapper to get generic ::lyd_node pointer of the parent. + * - | ::lyd_child(), ::lyd_child_no_keys() | New wrapper to cover all children possibilities hidden behind a generic ::lyd_node structure. + * - | ::lyd_owner_module() | Added functionality. + * - | ::lyd_value_compare() | Added Functionality. + * - | ::lyd_find_target() | Added functionality for the instance-identifier representation. + * lyd_node_module() | - | Not necessary since the connection with the compiled modules is much more straightforward. + * lyd_leaf_type() | - | Not necessary since the real type information is much more clear from the new ::lyd_value. + * lyd_dec64_to_double() | - | Removed as useless. + * lyd_node_should_print() | - | ^ + + */ diff --git a/doc/transition_2_3.dox b/doc/transition_2_3.dox new file mode 100644 index 0000000..87e3dcf --- /dev/null +++ b/doc/transition_2_3.dox @@ -0,0 +1,74 @@ +/** + * @page transition2_3 Transition Manual (2.x -> 3.0) + * + * [TOC] + * + * Non-backwards-compatible changes between libyang version 2 and 3 are rather minor and can be summarized as providing + * structured error information (instead of a single message), unifying **lyd_new_*()** function options, and some + * minor changes such as removing deprecated functions or making a few functions inlined. However, there is another + * large change that has not affected the API, specifically configuration system-ordered lists and leaf-lists are now + * ordered based on their keys/values, respectively. Except for moderately slower performance and negligible increased + * memory requirements, it should not affect existing applications (assuming they do not rely on the previous order of + * these instances). + * + * The complete generated list of changes (without any additional notes) can be found in + * <a href="../compat_report_2_3.html">the compatibility report</a>. + * + * @section transition2_3Logging Logging + * + * Except for some function adjustments, ::ly_err_item has been changed to provide every piece of error information in a + * separate member to allow for easier processing. + * + * Here is the overview of the changed / removed / added functions connected to logging. + * + * libyang 2.x | libyang 3.0 | Notes + * :-------------------------|:-------------------------------------|:------------------------------------------------------- + * ly_last_errmsg() | ::ly_last_logmsg() | Function renamed with the same functionality. + * ly_strerrcode() | ::ly_strerr() | Function renamed with the same functionality. + * ly_errcode() | - | Now requires ::ly_err_last() call. + * ly_errmsg() | - | ^ + * ly_errpath() | - | ^ + * ly_vecode() | - | ^ + * + * + * + * @section transition2_3New Data Creation + * + * libyang 2.x | libyang 3.0 | Notes + * :-------------------------|:-------------------------------------|:------------------------------------------------------- + * lyd_find_xpath3() | ::lyd_find_xpath3() | Optional prefix data parameter added. + * LYD_NEW_PATH_OUTPUT | ::LYD_NEW_VAL_OUTPUT | Some LYD_NEW_PATH_* options now also used for other lyd_new_* functions. + * LYD_NEW_PATH_BIN_VALUE | ::LYD_NEW_VAL_BIN | ^ + * LYD_NEW_PATH_CANON_VALUE | ::LYD_NEW_VAL_CANON | ^ + * lyd_new_path() | ::lyd_new_path() | All options now in a single bitmap parameter of @ref newvaloptions. + * lyd_new_any() | ::lyd_new_any() | ^ + * lyd_new_list() | ::lyd_new_list() | ^ + * lyd_new_list2() | ::lyd_new_list2() | ^ + * lyd_new_list3() | ::lyd_new_list3() | ^ + * lyd_new_meta() | ::lyd_new_meta() | ^ + * lyd_new_meta2() | ::lyd_new_meta2() | ^ + * lyd_new_term() | ::lyd_new_term() | ^ + * lyd_new_list3_bin() | ::lyd_new_list3() | Functionality now merged into the single function. + * lyd_new_list3_canon() | ^ | ^ + * lyd_new_list_bin() | ::lyd_new_list() | Functionality now merged into the single function. + * lyd_new_list_canon() | ^ | ^ + * lyd_new_term_canon() | ::lyd_new_term() | Functionality now merged into the single function. + * + * + * + * @section transition2_3Minor Other Minor Changes + * + * Except for the function changes below, ::lysc_type now has a copy of the typedef name, if applicable. There + * are use-cases when this information is needed even in the compiled schema tree such as checking the real type of + * a union value. + * + * libyang 2.x | libyang 3.0 | Notes + * :-------------------------|:-------------------------------------|:------------------------------------------------------- + * lyd_child() | ::lyd_child() | Now an inlined function for better performance. + * lyd_get_value() | ::lyd_get_value() | ^ + * lyd_parent() | ::lyd_parent() | ^ + * lyd_find_xpath4() | ::lyd_find_xpath3() | Previous lyd_find_xpath3 was removed to reduce symbols. + * lyd_target() | - | Deprecated. + * ly_ctx_reset_latests() | - | ^ + * + */ |