summaryrefslogtreecommitdiff
path: root/external/mit/libcbor/dist/docs/doxygen/cbor_8c_source.html
blob: d034a5698cbf387da3af90444ea5d598ab5b1bdd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
<!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">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.12"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>libcbor: src/cbor.c Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="customdoxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">libcbor
   &#160;<span id="projectnumber">0.5.0</span>
   </div>
   <div id="projectbrief">libcbor is a C library for parsing and generating CBOR, the general-purpose schema-less binary data format.</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.12 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="headertitle">
<div class="title">cbor.c</div>  </div>
</div><!--header-->
<div class="contents">
<a href="cbor_8c.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">/*</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment"> * Copyright (c) 2014-2017 Pavel Kalvoda &lt;me@pavelkalvoda.com&gt;</span></div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment"> * libcbor is free software; you can redistribute it and/or modify</span></div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment"> * it under the terms of the MIT license. See LICENSE for details.</span></div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;</div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="cbor_8h.html">cbor.h</a>&quot;</span></div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="builder__callbacks_8h.html">cbor/internal/builder_callbacks.h</a>&quot;</span></div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="loaders_8h.html">cbor/internal/loaders.h</a>&quot;</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;</div><div class="line"><a name="l00012"></a><span class="lineno"><a class="line" href="cbor_8h.html#ae48d76b44e6de39a98ff3599d9acda8f">   12</a></span>&#160;<a class="code" href="structcbor__item__t.html">cbor_item_t</a> * <a class="code" href="cbor_8c.html#ae48d76b44e6de39a98ff3599d9acda8f">cbor_load</a>(<a class="code" href="data_8h.html#a121c5944682215e742475f12f07c0a72">cbor_data</a> source,</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;                        <span class="keywordtype">size_t</span> source_size,</div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;                        <span class="keyword">struct</span> <a class="code" href="structcbor__load__result.html">cbor_load_result</a> *result)</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;{</div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;    <span class="comment">/* Context stack */</span></div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;    <span class="keyword">static</span> <span class="keyword">struct </span><a class="code" href="structcbor__callbacks.html">cbor_callbacks</a> callbacks = {</div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;        .<a class="code" href="structcbor__callbacks.html#af2d69429c9bc71edf55b6f4f1dbb76d1">uint8</a> = &amp;<a class="code" href="builder__callbacks_8c.html#aa3cd19f25b7f29ddcd153e30b2e09824">cbor_builder_uint8_callback</a>,</div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;        .uint16 = &amp;<a class="code" href="builder__callbacks_8c.html#a8cac42a8aeaf19f532ccc5c21e851e8c">cbor_builder_uint16_callback</a>,</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;        .uint32 = &amp;<a class="code" href="builder__callbacks_8c.html#a69e152b1c2523502456301f878b07c49">cbor_builder_uint32_callback</a>,</div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;        .uint64 = &amp;<a class="code" href="builder__callbacks_8c.html#a119060abe3c5b1d936514063ca4db22e">cbor_builder_uint64_callback</a>,</div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;        .negint8 = &amp;<a class="code" href="builder__callbacks_8c.html#a9b1fada71e0c9cbc90ed6089ffc45958">cbor_builder_negint8_callback</a>,</div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;        .negint16 = &amp;<a class="code" href="builder__callbacks_8c.html#a355c63dd0e941d9f3bc18b95876d7b39">cbor_builder_negint16_callback</a>,</div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;        .negint32 = &amp;<a class="code" href="builder__callbacks_8c.html#a4b0a2d222bc823bb88f9b8ba38e00f05">cbor_builder_negint32_callback</a>,</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;        .negint64 = &amp;<a class="code" href="builder__callbacks_8c.html#ab99cc7da548fd54ed22a6c988be037ae">cbor_builder_negint64_callback</a>,</div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;</div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;        .byte_string = &amp;<a class="code" href="builder__callbacks_8c.html#a41f2a1f66f9cb53dd0075e88f0b640fb">cbor_builder_byte_string_callback</a>,</div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;        .byte_string_start = &amp;<a class="code" href="builder__callbacks_8c.html#a1c0c98b6c27ac737123ecb014cb6e9c7">cbor_builder_byte_string_start_callback</a>,</div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;</div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;        .string = &amp;<a class="code" href="builder__callbacks_8c.html#aa10a165cd945c03ad09ae0866287f6bd">cbor_builder_string_callback</a>,</div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;        .string_start = &amp;<a class="code" href="builder__callbacks_8c.html#a269aa36265c6fb1b18cad2a14cf355a0">cbor_builder_string_start_callback</a>,</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;</div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;        .array_start = &amp;<a class="code" href="builder__callbacks_8c.html#a2dd24b9dcda84915c4fc0229a6e52df6">cbor_builder_array_start_callback</a>,</div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;        .indef_array_start = &amp;<a class="code" href="builder__callbacks_8c.html#a7bcc936cb1cc653551de3d5b49fbe3f0">cbor_builder_indef_array_start_callback</a>,</div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;</div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;        .map_start = &amp;<a class="code" href="builder__callbacks_8c.html#a95d00fb404804d93ebffdaf607f48a62">cbor_builder_map_start_callback</a>,</div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;        .indef_map_start = &amp;<a class="code" href="builder__callbacks_8c.html#a28b2dc3b7b96debc8763407308c365ea">cbor_builder_indef_map_start_callback</a>,</div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;</div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;        .tag = &amp;<a class="code" href="builder__callbacks_8c.html#aa2b3ea257a52e3f002c79ca2740ef6a2">cbor_builder_tag_callback</a>,</div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;</div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;        .null = &amp;<a class="code" href="builder__callbacks_8c.html#a54852cd4c120b368d9b9b5cffb622303">cbor_builder_null_callback</a>,</div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;        .undefined = &amp;<a class="code" href="builder__callbacks_8c.html#a452f42c05cdf422e6526bc0d7cc135dc">cbor_builder_undefined_callback</a>,</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;        .boolean = &amp;<a class="code" href="builder__callbacks_8c.html#a1898083345b031539becf70203361860">cbor_builder_boolean_callback</a>,</div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;        .float2 = &amp;<a class="code" href="builder__callbacks_8c.html#ae1509582103b87cc5824c30f101f9d76">cbor_builder_float2_callback</a>,</div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;        .float4 = &amp;<a class="code" href="builder__callbacks_8c.html#aa86c973a7feebd7d4f12cd3014a36293">cbor_builder_float4_callback</a>,</div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;        .float8 = &amp;<a class="code" href="builder__callbacks_8c.html#ac78462da492c7d57dfb90f7aadcadc5e">cbor_builder_float8_callback</a>,</div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;        .indef_break = &amp;<a class="code" href="builder__callbacks_8c.html#ae386e2194dd97053acca4c26d6039ff6">cbor_builder_indef_break_callback</a></div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;    };</div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;</div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;    <span class="keywordflow">if</span> (source_size == 0) {</div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;        result-&gt;<a class="code" href="structcbor__load__result.html#af23777116487150fb1b06842fc57724f">error</a>.<a class="code" href="structcbor__error.html#a8674e7cac94b696eeea37db194026646">code</a> = <a class="code" href="data_8h.html#a13ad43c61d917938e0ce26173e6b2eb6a427a7d0fde29a84566e040d065cca6d1">CBOR_ERR_NODATA</a>;</div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;        <span class="keywordflow">return</span> NULL;</div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;    }</div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;    <span class="keyword">struct </span><a class="code" href="struct__cbor__stack.html">_cbor_stack</a> stack = <a class="code" href="stack_8c.html#a7702383747257f1df9c3ceda9fb9da58">_cbor_stack_init</a>();</div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;</div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;    <span class="comment">/* Target for callbacks */</span></div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;    <span class="keyword">struct </span><a class="code" href="struct__cbor__decoder__context.html">_cbor_decoder_context</a> context = (<span class="keyword">struct </span><a class="code" href="struct__cbor__decoder__context.html">_cbor_decoder_context</a>) {</div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;        .<a class="code" href="struct__cbor__decoder__context.html#af21635162948fc488da3c1625f1bc278">stack</a> = &amp;<a class="code" href="struct__cbor__decoder__context.html#af21635162948fc488da3c1625f1bc278">stack</a>,</div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;        .creation_failed = <span class="keyword">false</span>,</div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;        .syntax_error = <span class="keyword">false</span></div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;    };</div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;    <span class="keyword">struct </span><a class="code" href="structcbor__decoder__result.html">cbor_decoder_result</a> decode_result;</div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;    *result = (<span class="keyword">struct </span><a class="code" href="structcbor__load__result.html">cbor_load_result</a>) {.<a class="code" href="structcbor__load__result.html#ac5d6290cac5893bd060f6759beef2b28">read</a> = 0, .error = {.code = <a class="code" href="data_8h.html#a13ad43c61d917938e0ce26173e6b2eb6a711ecd32adcc030541f2cfb58f69856d">CBOR_ERR_NONE</a>}};</div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;</div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;    <span class="keywordflow">do</span> {</div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;        <span class="keywordflow">if</span> (source_size &gt; result-&gt;read) { <span class="comment">/* Check for overflows */</span></div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;            decode_result = <a class="code" href="streaming_8c.html#a99343d82e96110a364a6abc8f542172a">cbor_stream_decode</a>(</div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;                source + result-&gt;read,</div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;                source_size - result-&gt;read,</div><div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;                &amp;callbacks,</div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;                &amp;context);</div><div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;        } <span class="keywordflow">else</span> {</div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;            result-&gt;error = (<span class="keyword">struct </span><a class="code" href="structcbor__error.html">cbor_error</a>) {</div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;                .code = <a class="code" href="data_8h.html#a13ad43c61d917938e0ce26173e6b2eb6acdd41b7dd2155b68a7e78108551bbd9a">CBOR_ERR_NOTENOUGHDATA</a>,</div><div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;                .position = result-&gt;read</div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;            };</div><div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;            <span class="keywordflow">goto</span> error;</div><div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;        }</div><div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;</div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;        <span class="keywordflow">switch</span> (decode_result.<a class="code" href="structcbor__decoder__result.html#a1b775085d3696356c9ca284ffd9a264d">status</a>) {</div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;        <span class="keywordflow">case</span> <a class="code" href="data_8h.html#abfc88122444f085a1a3fee01687329fda2ebc9567c96c353e07f9d9025054c31a">CBOR_DECODER_FINISHED</a>:</div><div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;            <span class="comment">/* Everything OK */</span></div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;        {</div><div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;            result-&gt;read += decode_result.<a class="code" href="structcbor__decoder__result.html#a39828fd8d825610cda67d9738d2d5c23">read</a>;</div><div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;        }</div><div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;        <span class="keywordflow">case</span> <a class="code" href="data_8h.html#abfc88122444f085a1a3fee01687329fda178d826b0e7dd7571d1f2c3be335528d">CBOR_DECODER_NEDATA</a>:</div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;            <span class="comment">/* Data length doesn&#39;t match MTB expectation */</span></div><div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;        {</div><div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;            result-&gt;error.code = <a class="code" href="data_8h.html#a13ad43c61d917938e0ce26173e6b2eb6acdd41b7dd2155b68a7e78108551bbd9a">CBOR_ERR_NOTENOUGHDATA</a>;</div><div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;            <span class="keywordflow">goto</span> error;</div><div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;        }</div><div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;        <span class="keywordflow">case</span> <a class="code" href="data_8h.html#abfc88122444f085a1a3fee01687329fdace2bb1bc04e3f906bd02708e991289b8">CBOR_DECODER_EBUFFER</a>:</div><div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;            <span class="comment">/* Fallthrough */</span></div><div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;        <span class="keywordflow">case</span> <a class="code" href="data_8h.html#abfc88122444f085a1a3fee01687329fda410c07e9ff710573d28db2794e008cb4">CBOR_DECODER_ERROR</a>:</div><div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;            <span class="comment">/* Reserved/malformated item */</span></div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;        {</div><div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;            result-&gt;error.code = <a class="code" href="data_8h.html#a13ad43c61d917938e0ce26173e6b2eb6af2783808f2e475f57583511ef5eb6ea7">CBOR_ERR_MALFORMATED</a>;</div><div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;            <span class="keywordflow">goto</span> error;</div><div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;        }</div><div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;        }</div><div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;</div><div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;        <span class="keywordflow">if</span> (context.<a class="code" href="struct__cbor__decoder__context.html#ada14322afd080c27f3ea76b3ba657505">creation_failed</a>) {</div><div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;            <span class="comment">/* Most likely unsuccessful allocation - our callback has failed */</span></div><div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;            result-&gt;error.code = <a class="code" href="data_8h.html#a13ad43c61d917938e0ce26173e6b2eb6ae408fbed8924a3eeb005a8c6f79136cb">CBOR_ERR_MEMERROR</a>;</div><div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;            <span class="keywordflow">goto</span> error;</div><div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;        } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (context.<a class="code" href="struct__cbor__decoder__context.html#ae34e7cc9b435a63bc0e92c425279db84">syntax_error</a>) {</div><div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;            result-&gt;error.code = <a class="code" href="data_8h.html#a13ad43c61d917938e0ce26173e6b2eb6a001d313c68a4f7531026f63af3a755c7">CBOR_ERR_SYNTAXERROR</a>;</div><div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;            <span class="keywordflow">goto</span> error;</div><div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;        }</div><div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;    } <span class="keywordflow">while</span> (stack.<a class="code" href="struct__cbor__stack.html#aab7d9aefcd1c46603350a1d009c048d8">size</a> &gt; 0);</div><div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;</div><div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;    <span class="comment">/* Move the result before free */</span></div><div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;    <a class="code" href="structcbor__item__t.html">cbor_item_t</a> *result_item = context.<a class="code" href="struct__cbor__decoder__context.html#ad4c1540245b6241bc7aa3f7ade2fbf5a">root</a>;</div><div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;    <span class="keywordflow">return</span> result_item;</div><div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;</div><div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;    error:</div><div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;    result-&gt;error.position = result-&gt;read;</div><div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;    <span class="comment">//debug_print(&quot;Failed with decoder error %d at %d\n&quot;, result-&gt;error.code, result-&gt;error.position);</span></div><div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;    <span class="comment">//cbor_describe(stack.top-&gt;item, stdout);</span></div><div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;    <span class="comment">/* Free the stack */</span></div><div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;    <span class="keywordflow">while</span> (stack.<a class="code" href="struct__cbor__stack.html#aab7d9aefcd1c46603350a1d009c048d8">size</a> &gt; 0) {</div><div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;        <a class="code" href="common_8c.html#aedbe700f2241de4282aedaae017e0de9">cbor_decref</a>(&amp;stack.<a class="code" href="struct__cbor__stack.html#a559869a03a766ae041b1e385ceb34026">top</a>-&gt;<a class="code" href="struct__cbor__stack__record.html#a1a1d4be830fa1e0d9c5369cddccce47e">item</a>);</div><div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;        <a class="code" href="stack_8c.html#a6541672c7a6bcc55e6645cff2a5ab005">_cbor_stack_pop</a>(&amp;stack);</div><div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;    }</div><div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;    <span class="keywordflow">return</span> NULL;</div><div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;}</div><div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;</div><div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;</div><div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;<span class="keyword">static</span> <a class="code" href="structcbor__item__t.html">cbor_item_t</a> * _cbor_copy_int(<a class="code" href="structcbor__item__t.html">cbor_item_t</a> * item, <span class="keywordtype">bool</span> negative)</div><div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;{</div><div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;    <a class="code" href="structcbor__item__t.html">cbor_item_t</a> * res;</div><div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;    <span class="keywordflow">switch</span> (<a class="code" href="ints_8c.html#a30bcfb58aa41d4c44bc2d5d6b7de105d">cbor_int_get_width</a>(item)) {</div><div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;    <span class="keywordflow">case</span> <a class="code" href="data_8h.html#ae0fc9740f108f0f0078b93712b061e57aaa167d7a4fac34f2bae123761b4b6fc8">CBOR_INT_8</a>: res = <a class="code" href="ints_8c.html#ad4d9f92f14c640544386e6655283052d">cbor_build_uint8</a>(<a class="code" href="ints_8c.html#a2379bf36318e8e4faa7434c74d8553fb">cbor_get_uint8</a>(item)); <span class="keywordflow">break</span>;</div><div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;    <span class="keywordflow">case</span> <a class="code" href="data_8h.html#ae0fc9740f108f0f0078b93712b061e57a3a9caf604c45ce423b332e91f7370822">CBOR_INT_16</a>: res = <a class="code" href="ints_8c.html#a88f05c625ad9fa182bc95c9c97f87dda">cbor_build_uint16</a>(<a class="code" href="ints_8c.html#a06a0997aed16fe6aa540f57bf40ce400">cbor_get_uint16</a>(item)); <span class="keywordflow">break</span>;</div><div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;    <span class="keywordflow">case</span> <a class="code" href="data_8h.html#ae0fc9740f108f0f0078b93712b061e57ad429fc90ccfb94ec85996920fe115b51">CBOR_INT_32</a>: res = <a class="code" href="ints_8c.html#afcefa3190eeeff1e5ed0b5217761ad5a">cbor_build_uint32</a>(<a class="code" href="ints_8c.html#a0480e5b5849b757aa9416a4c1d51b36d">cbor_get_uint32</a>(item)); <span class="keywordflow">break</span>;</div><div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160;    <span class="keywordflow">case</span> <a class="code" href="data_8h.html#ae0fc9740f108f0f0078b93712b061e57aafaef7945451a7f4d12298f12f8acb2d">CBOR_INT_64</a>: res = <a class="code" href="ints_8c.html#adff4351ebc5bb6f69d8a2ea0c9439fc5">cbor_build_uint64</a>(<a class="code" href="ints_8c.html#a839ec2dc97dda1db54657cec50387a12">cbor_get_uint64</a>(item)); <span class="keywordflow">break</span>;</div><div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;    <span class="keywordflow">default</span>: <span class="keywordflow">return</span> NULL;</div><div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;    }</div><div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;</div><div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;    <span class="keywordflow">if</span> (negative)</div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;        <a class="code" href="ints_8c.html#a6ef24d3e2636c02de092fdfc337276b1">cbor_mark_negint</a>(res);</div><div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;</div><div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;    <span class="keywordflow">return</span> res;</div><div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;}</div><div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;</div><div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;<span class="keyword">static</span> <a class="code" href="structcbor__item__t.html">cbor_item_t</a> * _cbor_copy_float_ctrl(<a class="code" href="structcbor__item__t.html">cbor_item_t</a> * item)</div><div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;{</div><div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;    <span class="keywordflow">switch</span> (<a class="code" href="floats__ctrls_8c.html#a05778dc7349be636d47440f758ec96a6">cbor_float_get_width</a>(item)) {</div><div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;    <span class="keywordflow">case</span> <a class="code" href="data_8h.html#ac80d3ecbbdc88d96a7396ac986ee47e7ac3c49d03756f116648957c5d996f48b4">CBOR_FLOAT_0</a>:</div><div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;        <span class="keywordflow">return</span> <a class="code" href="floats__ctrls_8c.html#af31b0a42b2dd7f29efe42385bd4a58f1">cbor_build_ctrl</a>(<a class="code" href="floats__ctrls_8c.html#a9d15faa0a33797ce0b8a1a66d5773d88">cbor_ctrl_value</a>(item));</div><div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;    <span class="keywordflow">case</span> <a class="code" href="data_8h.html#ac80d3ecbbdc88d96a7396ac986ee47e7a6a044cc40003cef84432fe92780514e5">CBOR_FLOAT_16</a>:</div><div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;        <span class="keywordflow">return</span> <a class="code" href="floats__ctrls_8c.html#a9884b85abd0c0637a4377168d034260f">cbor_build_float2</a>(<a class="code" href="floats__ctrls_8c.html#aa85d79e0f060173a9dccdada2e551cf9">cbor_float_get_float2</a>(item));</div><div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;    <span class="keywordflow">case</span> <a class="code" href="data_8h.html#ac80d3ecbbdc88d96a7396ac986ee47e7a0b2ba87d2508e98e5f6fee7bf8beedd4">CBOR_FLOAT_32</a>:</div><div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;        <span class="keywordflow">return</span> <a class="code" href="floats__ctrls_8c.html#a1e3e9757ac809b6df56f1095a87bfdad">cbor_build_float4</a>(<a class="code" href="floats__ctrls_8c.html#ad504d3d291810b0c39fc498be0bd2639">cbor_float_get_float4</a>(item));</div><div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;    <span class="keywordflow">case</span> <a class="code" href="data_8h.html#ac80d3ecbbdc88d96a7396ac986ee47e7a792f18e66a6da153eb4f40a8f894c653">CBOR_FLOAT_64</a>:</div><div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;        <span class="keywordflow">return</span> <a class="code" href="floats__ctrls_8c.html#aad0e4103cf703b5c3e856956f5a2fb96">cbor_build_float8</a>(<a class="code" href="floats__ctrls_8c.html#a2f215940998d05730b23b7e0e7ad8ebe">cbor_float_get_float8</a>(item));</div><div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;    }</div><div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;</div><div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;    <span class="keywordflow">return</span> NULL;</div><div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160;}</div><div class="line"><a name="l00163"></a><span class="lineno">  163</span>&#160;</div><div class="line"><a name="l00164"></a><span class="lineno"><a class="line" href="cbor_8h.html#ac54800327647ea17db0f40d72873f505">  164</a></span>&#160;<a class="code" href="structcbor__item__t.html">cbor_item_t</a> * <a class="code" href="cbor_8c.html#ac54800327647ea17db0f40d72873f505">cbor_copy</a>(<a class="code" href="structcbor__item__t.html">cbor_item_t</a> * item)</div><div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160;{</div><div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;    <span class="keywordflow">switch</span> (<a class="code" href="common_8c.html#ac2b9aba4cf07857524a0a520eabeef52">cbor_typeof</a>(item)) {</div><div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;    <span class="keywordflow">case</span> <a class="code" href="data_8h.html#a3a931b40fc31b51cccfd1bc3dc5fc5d6a2137d55d8028e37ff4319a633ef0634f">CBOR_TYPE_UINT</a>:</div><div class="line"><a name="l00168"></a><span class="lineno">  168</span>&#160;        <span class="keywordflow">return</span> _cbor_copy_int(item, <span class="keyword">false</span>);</div><div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160;    <span class="keywordflow">case</span> <a class="code" href="data_8h.html#a3a931b40fc31b51cccfd1bc3dc5fc5d6ae140516103af792c8f2af84390acfdcd">CBOR_TYPE_NEGINT</a>:</div><div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;        <span class="keywordflow">return</span> _cbor_copy_int(item, <span class="keyword">true</span>);</div><div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;    <span class="keywordflow">case</span> <a class="code" href="data_8h.html#a3a931b40fc31b51cccfd1bc3dc5fc5d6a70b9f0b5958c8d51f15ad7bb7c4af01d">CBOR_TYPE_BYTESTRING</a>:</div><div class="line"><a name="l00172"></a><span class="lineno">  172</span>&#160;        <span class="keywordflow">if</span> (<a class="code" href="bytestrings_8c.html#a368222dbbcea25e06469524e26587e2a">cbor_bytestring_is_definite</a>(item)) {</div><div class="line"><a name="l00173"></a><span class="lineno">  173</span>&#160;            <span class="keywordflow">return</span> <a class="code" href="bytestrings_8c.html#ab76bd5ff62831739cd9a8d7ec2768c1a">cbor_build_bytestring</a>(<a class="code" href="bytestrings_8c.html#a2c9d6feda3d0f87782168fa817f83be6">cbor_bytestring_handle</a>(item), <a class="code" href="bytestrings_8c.html#a7c15a63fdc3830707eac0877a261f1cd">cbor_bytestring_length</a>(item));</div><div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160;        } <span class="keywordflow">else</span> {</div><div class="line"><a name="l00175"></a><span class="lineno">  175</span>&#160;            <a class="code" href="structcbor__item__t.html">cbor_item_t</a> * res = <a class="code" href="bytestrings_8c.html#a6de9d6387e856c33d2ef8e8e9fdac0ac">cbor_new_indefinite_bytestring</a>();</div><div class="line"><a name="l00176"></a><span class="lineno">  176</span>&#160;            <span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> i = 0; i &lt; <a class="code" href="bytestrings_8c.html#ad02102832d452fd5a5cfa96272b1095d">cbor_bytestring_chunk_count</a>(item); i++)</div><div class="line"><a name="l00177"></a><span class="lineno">  177</span>&#160;                <a class="code" href="bytestrings_8c.html#a5dc8c27d6e7acfdd05fdc15c01e25b47">cbor_bytestring_add_chunk</a>(</div><div class="line"><a name="l00178"></a><span class="lineno">  178</span>&#160;                    res,</div><div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;                    <a class="code" href="common_8c.html#a327dce45c1cb680953555290dba8e35b">cbor_move</a>(</div><div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;                        <a class="code" href="cbor_8c.html#ac54800327647ea17db0f40d72873f505">cbor_copy</a>(<a class="code" href="bytestrings_8c.html#a8ab6255d6f8f209149bdf794dffed849">cbor_bytestring_chunks_handle</a>(item)[i])</div><div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;                    )</div><div class="line"><a name="l00182"></a><span class="lineno">  182</span>&#160;                );</div><div class="line"><a name="l00183"></a><span class="lineno">  183</span>&#160;            <span class="keywordflow">return</span> res;</div><div class="line"><a name="l00184"></a><span class="lineno">  184</span>&#160;        }</div><div class="line"><a name="l00185"></a><span class="lineno">  185</span>&#160;    <span class="keywordflow">case</span> <a class="code" href="data_8h.html#a3a931b40fc31b51cccfd1bc3dc5fc5d6ae05102a66420250eacd5f17b95d04443">CBOR_TYPE_STRING</a>:</div><div class="line"><a name="l00186"></a><span class="lineno">  186</span>&#160;        <span class="keywordflow">if</span> (<a class="code" href="strings_8c.html#aa2778891e70dec4cd59c9a969294d4aa">cbor_string_is_definite</a>(item)) {</div><div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160;            <span class="keywordflow">return</span> <a class="code" href="strings_8c.html#a26f8c53bb33641408921c388bf539b0c">cbor_build_stringn</a>((<span class="keyword">const</span> <span class="keywordtype">char</span> *) <a class="code" href="strings_8c.html#ae9e5da7bdf2a79fab7965caeff49d5bb">cbor_string_handle</a>(item), <a class="code" href="strings_8c.html#aa0c17825f920ebf122bd7b9abede919f">cbor_string_length</a>(item));</div><div class="line"><a name="l00188"></a><span class="lineno">  188</span>&#160;        } <span class="keywordflow">else</span> {</div><div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160;            <a class="code" href="structcbor__item__t.html">cbor_item_t</a> * res = <a class="code" href="strings_8c.html#a226f91c7bfd6be9b0a52cdc6f0b17741">cbor_new_indefinite_string</a>();</div><div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;            <span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> i = 0; i &lt; <a class="code" href="strings_8c.html#ad8062db21711a51ae520cc1e4f5fe5ab">cbor_string_chunk_count</a>(item); i++)</div><div class="line"><a name="l00191"></a><span class="lineno">  191</span>&#160;                <a class="code" href="strings_8c.html#a634462c7237298a196413cd62d7d1877">cbor_string_add_chunk</a>(</div><div class="line"><a name="l00192"></a><span class="lineno">  192</span>&#160;                    res,</div><div class="line"><a name="l00193"></a><span class="lineno">  193</span>&#160;                    <a class="code" href="common_8c.html#a327dce45c1cb680953555290dba8e35b">cbor_move</a>(</div><div class="line"><a name="l00194"></a><span class="lineno">  194</span>&#160;                        <a class="code" href="cbor_8c.html#ac54800327647ea17db0f40d72873f505">cbor_copy</a>(<a class="code" href="strings_8c.html#a81d1160eed81b2a29b6c5e9ff6b9e02a">cbor_string_chunks_handle</a>(item)[i])</div><div class="line"><a name="l00195"></a><span class="lineno">  195</span>&#160;                    )</div><div class="line"><a name="l00196"></a><span class="lineno">  196</span>&#160;                );</div><div class="line"><a name="l00197"></a><span class="lineno">  197</span>&#160;            <span class="keywordflow">return</span> res;</div><div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;        }</div><div class="line"><a name="l00199"></a><span class="lineno">  199</span>&#160;    <span class="keywordflow">case</span> <a class="code" href="data_8h.html#a3a931b40fc31b51cccfd1bc3dc5fc5d6ae48b04b3538ade49d7eae9ee6b656103">CBOR_TYPE_ARRAY</a>: {</div><div class="line"><a name="l00200"></a><span class="lineno">  200</span>&#160;        <a class="code" href="structcbor__item__t.html">cbor_item_t</a> * res;</div><div class="line"><a name="l00201"></a><span class="lineno">  201</span>&#160;        <span class="keywordflow">if</span> (<a class="code" href="arrays_8c.html#ac2f1480c546a0268e8b046b365e58599">cbor_array_is_definite</a>(item))</div><div class="line"><a name="l00202"></a><span class="lineno">  202</span>&#160;            res = <a class="code" href="arrays_8c.html#a93d7c18019000d5e206a81a4cca70631">cbor_new_definite_array</a>(<a class="code" href="arrays_8c.html#a4f634a9a4bc834e4ea6ac43e94d51f84">cbor_array_size</a>(item));</div><div class="line"><a name="l00203"></a><span class="lineno">  203</span>&#160;        <span class="keywordflow">else</span></div><div class="line"><a name="l00204"></a><span class="lineno">  204</span>&#160;            res = <a class="code" href="arrays_8c.html#aaec916ccc6f19782b6aef5ec1da2cc26">cbor_new_indefinite_array</a>();</div><div class="line"><a name="l00205"></a><span class="lineno">  205</span>&#160;</div><div class="line"><a name="l00206"></a><span class="lineno">  206</span>&#160;        <span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> i = 0; i &lt; <a class="code" href="arrays_8c.html#a4f634a9a4bc834e4ea6ac43e94d51f84">cbor_array_size</a>(item); i++)</div><div class="line"><a name="l00207"></a><span class="lineno">  207</span>&#160;            <a class="code" href="arrays_8c.html#abb1c1c9731a2195857dc471f2a6f60f5">cbor_array_push</a>(</div><div class="line"><a name="l00208"></a><span class="lineno">  208</span>&#160;                res,</div><div class="line"><a name="l00209"></a><span class="lineno">  209</span>&#160;                <a class="code" href="common_8c.html#a327dce45c1cb680953555290dba8e35b">cbor_move</a>(<a class="code" href="cbor_8c.html#ac54800327647ea17db0f40d72873f505">cbor_copy</a>(<a class="code" href="common_8c.html#a327dce45c1cb680953555290dba8e35b">cbor_move</a>(<a class="code" href="arrays_8c.html#a1573139e26cf5b5acc4b0ed861291069">cbor_array_get</a>(item, i))))</div><div class="line"><a name="l00210"></a><span class="lineno">  210</span>&#160;            );</div><div class="line"><a name="l00211"></a><span class="lineno">  211</span>&#160;        <span class="keywordflow">return</span> res;</div><div class="line"><a name="l00212"></a><span class="lineno">  212</span>&#160;    }</div><div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;    <span class="keywordflow">case</span> <a class="code" href="data_8h.html#a3a931b40fc31b51cccfd1bc3dc5fc5d6a057fc3133cb4465f9eb734acfd195db2">CBOR_TYPE_MAP</a>: {</div><div class="line"><a name="l00214"></a><span class="lineno">  214</span>&#160;        <a class="code" href="structcbor__item__t.html">cbor_item_t</a> * res;</div><div class="line"><a name="l00215"></a><span class="lineno">  215</span>&#160;        <span class="keywordflow">if</span> (<a class="code" href="maps_8c.html#a0dccaa76ac293bb5a11dbca6d16f6253">cbor_map_is_definite</a>(item))</div><div class="line"><a name="l00216"></a><span class="lineno">  216</span>&#160;            res = <a class="code" href="maps_8c.html#adab3c6ff2e51dcf2637567431cc6e76e">cbor_new_definite_map</a>(<a class="code" href="maps_8c.html#a1bbbee9c6f1eaa0ff4c19559fe109baf">cbor_map_size</a>(item));</div><div class="line"><a name="l00217"></a><span class="lineno">  217</span>&#160;        <span class="keywordflow">else</span></div><div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;            res = <a class="code" href="maps_8c.html#a58ac69227f48815754651e93d15a5051">cbor_new_indefinite_map</a>();</div><div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;</div><div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;        <span class="keyword">struct </span><a class="code" href="structcbor__pair.html">cbor_pair</a> * it = <a class="code" href="maps_8c.html#a4cadc8eb7ae7ff8d3f73482fb24455c9">cbor_map_handle</a>(item);</div><div class="line"><a name="l00221"></a><span class="lineno">  221</span>&#160;        <span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> i = 0; i &lt; <a class="code" href="maps_8c.html#a1bbbee9c6f1eaa0ff4c19559fe109baf">cbor_map_size</a>(item); i++)</div><div class="line"><a name="l00222"></a><span class="lineno">  222</span>&#160;            <a class="code" href="maps_8c.html#af077a30d8258ab02307c24af28036fca">cbor_map_add</a>(res, (<span class="keyword">struct</span> <a class="code" href="structcbor__pair.html">cbor_pair</a>) {</div><div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160;                .key = <a class="code" href="common_8c.html#a327dce45c1cb680953555290dba8e35b">cbor_move</a>(<a class="code" href="cbor_8c.html#ac54800327647ea17db0f40d72873f505">cbor_copy</a>(it[i].<a class="code" href="structcbor__pair.html#a5122c22ad7ef32b2c6ae0a413caca7a1">key</a>)),</div><div class="line"><a name="l00224"></a><span class="lineno">  224</span>&#160;                .value = <a class="code" href="common_8c.html#a327dce45c1cb680953555290dba8e35b">cbor_move</a>(<a class="code" href="cbor_8c.html#ac54800327647ea17db0f40d72873f505">cbor_copy</a>(it[i].<a class="code" href="structcbor__pair.html#a44bbea9cc120de72fc4871a05dc8ec85">value</a>))</div><div class="line"><a name="l00225"></a><span class="lineno">  225</span>&#160;            });</div><div class="line"><a name="l00226"></a><span class="lineno">  226</span>&#160;        <span class="keywordflow">return</span> res;</div><div class="line"><a name="l00227"></a><span class="lineno">  227</span>&#160;    }</div><div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;    <span class="keywordflow">case</span> <a class="code" href="data_8h.html#a3a931b40fc31b51cccfd1bc3dc5fc5d6a16f0eaf29eeea66fe37ec1ed0fa45415">CBOR_TYPE_TAG</a>:</div><div class="line"><a name="l00229"></a><span class="lineno">  229</span>&#160;        <span class="keywordflow">return</span> <a class="code" href="tags_8c.html#a44840e7f4b0225eebf3a366fafff8e96">cbor_build_tag</a>(</div><div class="line"><a name="l00230"></a><span class="lineno">  230</span>&#160;            <a class="code" href="tags_8c.html#a2746e6a37373e0950b646e8146ed63b6">cbor_tag_value</a>(item),</div><div class="line"><a name="l00231"></a><span class="lineno">  231</span>&#160;            <a class="code" href="common_8c.html#a327dce45c1cb680953555290dba8e35b">cbor_move</a>(<a class="code" href="cbor_8c.html#ac54800327647ea17db0f40d72873f505">cbor_copy</a>(<a class="code" href="tags_8c.html#a162852da1313269e9d7b07dd4b964111">cbor_tag_item</a>(item)))</div><div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160;        );</div><div class="line"><a name="l00233"></a><span class="lineno">  233</span>&#160;    <span class="keywordflow">case</span> <a class="code" href="data_8h.html#a3a931b40fc31b51cccfd1bc3dc5fc5d6a1276dcc4ac56df5fd7e0270344a6e57d">CBOR_TYPE_FLOAT_CTRL</a>:</div><div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;        <span class="keywordflow">return</span> _cbor_copy_float_ctrl(item);</div><div class="line"><a name="l00235"></a><span class="lineno">  235</span>&#160;    }</div><div class="line"><a name="l00236"></a><span class="lineno">  236</span>&#160;</div><div class="line"><a name="l00237"></a><span class="lineno">  237</span>&#160;    <span class="keywordflow">return</span> NULL;</div><div class="line"><a name="l00238"></a><span class="lineno">  238</span>&#160;}</div><div class="line"><a name="l00239"></a><span class="lineno">  239</span>&#160;</div><div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;<span class="preprocessor">#if CBOR_PRETTY_PRINTER</span></div><div class="line"><a name="l00241"></a><span class="lineno">  241</span>&#160;</div><div class="line"><a name="l00242"></a><span class="lineno">  242</span>&#160;<span class="preprocessor">#include &lt;inttypes.h&gt;</span></div><div class="line"><a name="l00243"></a><span class="lineno">  243</span>&#160;<span class="preprocessor">#include &lt;wchar.h&gt;</span></div><div class="line"><a name="l00244"></a><span class="lineno">  244</span>&#160;<span class="preprocessor">#include &lt;locale.h&gt;</span></div><div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;<span class="preprocessor">#include &lt;stdlib.h&gt;</span></div><div class="line"><a name="l00246"></a><span class="lineno">  246</span>&#160;</div><div class="line"><a name="l00247"></a><span class="lineno">  247</span>&#160;<span class="preprocessor">#define __STDC_FORMAT_MACROS</span></div><div class="line"><a name="l00248"></a><span class="lineno">  248</span>&#160;</div><div class="line"><a name="l00249"></a><span class="lineno">  249</span>&#160;<span class="keyword">static</span> <span class="keywordtype">int</span> _pow(<span class="keywordtype">int</span> b, <span class="keywordtype">int</span> ex)</div><div class="line"><a name="l00250"></a><span class="lineno">  250</span>&#160;{</div><div class="line"><a name="l00251"></a><span class="lineno">  251</span>&#160;    <span class="keywordflow">if</span> (ex == 0) <span class="keywordflow">return</span> 1;</div><div class="line"><a name="l00252"></a><span class="lineno">  252</span>&#160;    <span class="keywordtype">int</span> res = b;</div><div class="line"><a name="l00253"></a><span class="lineno">  253</span>&#160;    <span class="keywordflow">while</span> (--ex &gt; 0) res *= b;</div><div class="line"><a name="l00254"></a><span class="lineno">  254</span>&#160;    <span class="keywordflow">return</span> res;</div><div class="line"><a name="l00255"></a><span class="lineno">  255</span>&#160;}</div><div class="line"><a name="l00256"></a><span class="lineno">  256</span>&#160;</div><div class="line"><a name="l00257"></a><span class="lineno">  257</span>&#160;<span class="keyword">static</span> <span class="keywordtype">void</span> _cbor_nested_describe(<a class="code" href="structcbor__item__t.html">cbor_item_t</a> *item, FILE *out, <span class="keywordtype">int</span> indent)</div><div class="line"><a name="l00258"></a><span class="lineno">  258</span>&#160;{</div><div class="line"><a name="l00259"></a><span class="lineno">  259</span>&#160;    setlocale(LC_ALL, <span class="stringliteral">&quot;&quot;</span>);</div><div class="line"><a name="l00260"></a><span class="lineno">  260</span>&#160;    <span class="keywordflow">switch</span> (<a class="code" href="common_8c.html#ac2b9aba4cf07857524a0a520eabeef52">cbor_typeof</a>(item)) {</div><div class="line"><a name="l00261"></a><span class="lineno">  261</span>&#160;    <span class="keywordflow">case</span> <a class="code" href="data_8h.html#a3a931b40fc31b51cccfd1bc3dc5fc5d6a2137d55d8028e37ff4319a633ef0634f">CBOR_TYPE_UINT</a>: {</div><div class="line"><a name="l00262"></a><span class="lineno">  262</span>&#160;        fprintf(out, <span class="stringliteral">&quot;%*s[CBOR_TYPE_UINT] &quot;</span>, indent, <span class="stringliteral">&quot; &quot;</span>);</div><div class="line"><a name="l00263"></a><span class="lineno">  263</span>&#160;        fprintf(out, <span class="stringliteral">&quot;Width: %dB, &quot;</span>, _pow(2, <a class="code" href="ints_8c.html#a30bcfb58aa41d4c44bc2d5d6b7de105d">cbor_int_get_width</a>(item)));</div><div class="line"><a name="l00264"></a><span class="lineno">  264</span>&#160;        fprintf(out, <span class="stringliteral">&quot;Value: %&quot;</span>PRIu64<span class="stringliteral">&quot;\n&quot;</span>, <a class="code" href="ints_8c.html#aacf93e9a8a2c4217d5cd84207b957cba">cbor_get_int</a>(item));</div><div class="line"><a name="l00265"></a><span class="lineno">  265</span>&#160;        <span class="keywordflow">break</span>;</div><div class="line"><a name="l00266"></a><span class="lineno">  266</span>&#160;    };</div><div class="line"><a name="l00267"></a><span class="lineno">  267</span>&#160;    <span class="keywordflow">case</span> <a class="code" href="data_8h.html#a3a931b40fc31b51cccfd1bc3dc5fc5d6ae140516103af792c8f2af84390acfdcd">CBOR_TYPE_NEGINT</a>: {</div><div class="line"><a name="l00268"></a><span class="lineno">  268</span>&#160;        fprintf(out, <span class="stringliteral">&quot;%*s[CBOR_TYPE_NEGINT] &quot;</span>, indent, <span class="stringliteral">&quot; &quot;</span>);</div><div class="line"><a name="l00269"></a><span class="lineno">  269</span>&#160;        fprintf(out, <span class="stringliteral">&quot;Width: %dB, &quot;</span>, _pow(2, <a class="code" href="ints_8c.html#a30bcfb58aa41d4c44bc2d5d6b7de105d">cbor_int_get_width</a>(item)));</div><div class="line"><a name="l00270"></a><span class="lineno">  270</span>&#160;        fprintf(out, <span class="stringliteral">&quot;Value: -%&quot;</span>PRIu64<span class="stringliteral">&quot; -1\n&quot;</span>, <a class="code" href="ints_8c.html#aacf93e9a8a2c4217d5cd84207b957cba">cbor_get_int</a>(item));</div><div class="line"><a name="l00271"></a><span class="lineno">  271</span>&#160;        <span class="keywordflow">break</span>;</div><div class="line"><a name="l00272"></a><span class="lineno">  272</span>&#160;    };</div><div class="line"><a name="l00273"></a><span class="lineno">  273</span>&#160;    <span class="keywordflow">case</span> <a class="code" href="data_8h.html#a3a931b40fc31b51cccfd1bc3dc5fc5d6a70b9f0b5958c8d51f15ad7bb7c4af01d">CBOR_TYPE_BYTESTRING</a>: {</div><div class="line"><a name="l00274"></a><span class="lineno">  274</span>&#160;        fprintf(out, <span class="stringliteral">&quot;%*s[CBOR_TYPE_BYTESTRING] &quot;</span>, indent, <span class="stringliteral">&quot; &quot;</span>);</div><div class="line"><a name="l00275"></a><span class="lineno">  275</span>&#160;        <span class="keywordflow">if</span> (<a class="code" href="bytestrings_8c.html#a3a6c450f105bb18b6b56d20f0de4786a">cbor_bytestring_is_indefinite</a>(item)) {</div><div class="line"><a name="l00276"></a><span class="lineno">  276</span>&#160;            fprintf(out,</div><div class="line"><a name="l00277"></a><span class="lineno">  277</span>&#160;                    <span class="stringliteral">&quot;Indefinite, with %zu chunks:\n&quot;</span>,</div><div class="line"><a name="l00278"></a><span class="lineno">  278</span>&#160;                    <a class="code" href="bytestrings_8c.html#ad02102832d452fd5a5cfa96272b1095d">cbor_bytestring_chunk_count</a>(item));</div><div class="line"><a name="l00279"></a><span class="lineno">  279</span>&#160;            <span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> i = 0; i &lt; <a class="code" href="bytestrings_8c.html#ad02102832d452fd5a5cfa96272b1095d">cbor_bytestring_chunk_count</a>(item); i++)</div><div class="line"><a name="l00280"></a><span class="lineno">  280</span>&#160;                _cbor_nested_describe(</div><div class="line"><a name="l00281"></a><span class="lineno">  281</span>&#160;                    <a class="code" href="bytestrings_8c.html#a8ab6255d6f8f209149bdf794dffed849">cbor_bytestring_chunks_handle</a>(item)[i],</div><div class="line"><a name="l00282"></a><span class="lineno">  282</span>&#160;                    out,</div><div class="line"><a name="l00283"></a><span class="lineno">  283</span>&#160;                    indent + 4);</div><div class="line"><a name="l00284"></a><span class="lineno">  284</span>&#160;        } <span class="keywordflow">else</span> {</div><div class="line"><a name="l00285"></a><span class="lineno">  285</span>&#160;            fprintf(out,</div><div class="line"><a name="l00286"></a><span class="lineno">  286</span>&#160;                    <span class="stringliteral">&quot;Definite, length %zuB\n&quot;</span>,</div><div class="line"><a name="l00287"></a><span class="lineno">  287</span>&#160;                    <a class="code" href="bytestrings_8c.html#a7c15a63fdc3830707eac0877a261f1cd">cbor_bytestring_length</a>(item));</div><div class="line"><a name="l00288"></a><span class="lineno">  288</span>&#160;        }</div><div class="line"><a name="l00289"></a><span class="lineno">  289</span>&#160;        <span class="keywordflow">break</span>;</div><div class="line"><a name="l00290"></a><span class="lineno">  290</span>&#160;    };</div><div class="line"><a name="l00291"></a><span class="lineno">  291</span>&#160;    <span class="keywordflow">case</span> <a class="code" href="data_8h.html#a3a931b40fc31b51cccfd1bc3dc5fc5d6ae05102a66420250eacd5f17b95d04443">CBOR_TYPE_STRING</a>: {</div><div class="line"><a name="l00292"></a><span class="lineno">  292</span>&#160;        fprintf(out, <span class="stringliteral">&quot;%*s[CBOR_TYPE_STRING] &quot;</span>, indent, <span class="stringliteral">&quot; &quot;</span>);</div><div class="line"><a name="l00293"></a><span class="lineno">  293</span>&#160;        <span class="keywordflow">if</span> (<a class="code" href="strings_8c.html#aa1a92438a04ae77beea9a17910805530">cbor_string_is_indefinite</a>(item)) {</div><div class="line"><a name="l00294"></a><span class="lineno">  294</span>&#160;            fprintf(out,</div><div class="line"><a name="l00295"></a><span class="lineno">  295</span>&#160;                    <span class="stringliteral">&quot;Indefinite, with %zu chunks:\n&quot;</span>,</div><div class="line"><a name="l00296"></a><span class="lineno">  296</span>&#160;                    <a class="code" href="strings_8c.html#ad8062db21711a51ae520cc1e4f5fe5ab">cbor_string_chunk_count</a>(item));</div><div class="line"><a name="l00297"></a><span class="lineno">  297</span>&#160;            <span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> i = 0; i &lt; <a class="code" href="strings_8c.html#ad8062db21711a51ae520cc1e4f5fe5ab">cbor_string_chunk_count</a>(item); i++)</div><div class="line"><a name="l00298"></a><span class="lineno">  298</span>&#160;                _cbor_nested_describe(</div><div class="line"><a name="l00299"></a><span class="lineno">  299</span>&#160;                    <a class="code" href="strings_8c.html#a81d1160eed81b2a29b6c5e9ff6b9e02a">cbor_string_chunks_handle</a>(item)[i],</div><div class="line"><a name="l00300"></a><span class="lineno">  300</span>&#160;                    out,</div><div class="line"><a name="l00301"></a><span class="lineno">  301</span>&#160;                    indent + 4);</div><div class="line"><a name="l00302"></a><span class="lineno">  302</span>&#160;        } <span class="keywordflow">else</span> {</div><div class="line"><a name="l00303"></a><span class="lineno">  303</span>&#160;            fprintf(out,</div><div class="line"><a name="l00304"></a><span class="lineno">  304</span>&#160;                    <span class="stringliteral">&quot;Definite, length %zuB, %zu codepoints\n&quot;</span>,</div><div class="line"><a name="l00305"></a><span class="lineno">  305</span>&#160;                    <a class="code" href="strings_8c.html#aa0c17825f920ebf122bd7b9abede919f">cbor_string_length</a>(item),</div><div class="line"><a name="l00306"></a><span class="lineno">  306</span>&#160;                    <a class="code" href="strings_8c.html#a90c1cf7781f7ef1f3549f497abd259ef">cbor_string_codepoint_count</a>(item));</div><div class="line"><a name="l00307"></a><span class="lineno">  307</span>&#160;            <span class="comment">/* Careful - this doesn&#39;t support multibyte characters! */</span></div><div class="line"><a name="l00308"></a><span class="lineno">  308</span>&#160;            <span class="comment">/* Printing those is out of the scope of this demo :) */</span></div><div class="line"><a name="l00309"></a><span class="lineno">  309</span>&#160;            <span class="comment">/* libICU is your friend */</span></div><div class="line"><a name="l00310"></a><span class="lineno">  310</span>&#160;            fprintf(out, <span class="stringliteral">&quot;%*s&quot;</span>, indent + 4, <span class="stringliteral">&quot; &quot;</span>);</div><div class="line"><a name="l00311"></a><span class="lineno">  311</span>&#160;            <span class="comment">/* XXX: no null at the end -&gt; confused vprintf */</span></div><div class="line"><a name="l00312"></a><span class="lineno">  312</span>&#160;            fwrite(<a class="code" href="strings_8c.html#ae9e5da7bdf2a79fab7965caeff49d5bb">cbor_string_handle</a>(item), (<span class="keywordtype">int</span>) <a class="code" href="strings_8c.html#aa0c17825f920ebf122bd7b9abede919f">cbor_string_length</a>(item), 1, out);</div><div class="line"><a name="l00313"></a><span class="lineno">  313</span>&#160;            fprintf(out, <span class="stringliteral">&quot;\n&quot;</span>);</div><div class="line"><a name="l00314"></a><span class="lineno">  314</span>&#160;        }</div><div class="line"><a name="l00315"></a><span class="lineno">  315</span>&#160;        <span class="keywordflow">break</span>;</div><div class="line"><a name="l00316"></a><span class="lineno">  316</span>&#160;    };</div><div class="line"><a name="l00317"></a><span class="lineno">  317</span>&#160;    <span class="keywordflow">case</span> <a class="code" href="data_8h.html#a3a931b40fc31b51cccfd1bc3dc5fc5d6ae48b04b3538ade49d7eae9ee6b656103">CBOR_TYPE_ARRAY</a>: {</div><div class="line"><a name="l00318"></a><span class="lineno">  318</span>&#160;        fprintf(out, <span class="stringliteral">&quot;%*s[CBOR_TYPE_ARRAY] &quot;</span>, indent, <span class="stringliteral">&quot; &quot;</span>);</div><div class="line"><a name="l00319"></a><span class="lineno">  319</span>&#160;        <span class="keywordflow">if</span> (<a class="code" href="arrays_8c.html#ac2f1480c546a0268e8b046b365e58599">cbor_array_is_definite</a>(item)) {</div><div class="line"><a name="l00320"></a><span class="lineno">  320</span>&#160;            fprintf(out,</div><div class="line"><a name="l00321"></a><span class="lineno">  321</span>&#160;                    <span class="stringliteral">&quot;Definite, size: %zu\n&quot;</span>,</div><div class="line"><a name="l00322"></a><span class="lineno">  322</span>&#160;                    <a class="code" href="arrays_8c.html#a4f634a9a4bc834e4ea6ac43e94d51f84">cbor_array_size</a>(item));</div><div class="line"><a name="l00323"></a><span class="lineno">  323</span>&#160;        } <span class="keywordflow">else</span> {</div><div class="line"><a name="l00324"></a><span class="lineno">  324</span>&#160;            fprintf(out,</div><div class="line"><a name="l00325"></a><span class="lineno">  325</span>&#160;                    <span class="stringliteral">&quot;Indefinite, size:  %zu\n&quot;</span>,</div><div class="line"><a name="l00326"></a><span class="lineno">  326</span>&#160;                    <a class="code" href="arrays_8c.html#a4f634a9a4bc834e4ea6ac43e94d51f84">cbor_array_size</a>(item));</div><div class="line"><a name="l00327"></a><span class="lineno">  327</span>&#160;        }</div><div class="line"><a name="l00328"></a><span class="lineno">  328</span>&#160;</div><div class="line"><a name="l00329"></a><span class="lineno">  329</span>&#160;        <span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> i = 0; i &lt; <a class="code" href="arrays_8c.html#a4f634a9a4bc834e4ea6ac43e94d51f84">cbor_array_size</a>(item); i++)</div><div class="line"><a name="l00330"></a><span class="lineno">  330</span>&#160;            _cbor_nested_describe(</div><div class="line"><a name="l00331"></a><span class="lineno">  331</span>&#160;                <a class="code" href="arrays_8c.html#a8dd01f4a46f162fa4f06b7df7428128e">cbor_array_handle</a>(item)[i],</div><div class="line"><a name="l00332"></a><span class="lineno">  332</span>&#160;                out,</div><div class="line"><a name="l00333"></a><span class="lineno">  333</span>&#160;                indent + 4);</div><div class="line"><a name="l00334"></a><span class="lineno">  334</span>&#160;        <span class="keywordflow">break</span>;</div><div class="line"><a name="l00335"></a><span class="lineno">  335</span>&#160;    };</div><div class="line"><a name="l00336"></a><span class="lineno">  336</span>&#160;    <span class="keywordflow">case</span> <a class="code" href="data_8h.html#a3a931b40fc31b51cccfd1bc3dc5fc5d6a057fc3133cb4465f9eb734acfd195db2">CBOR_TYPE_MAP</a>: {</div><div class="line"><a name="l00337"></a><span class="lineno">  337</span>&#160;        fprintf(out, <span class="stringliteral">&quot;%*s[CBOR_TYPE_MAP] &quot;</span>, indent, <span class="stringliteral">&quot; &quot;</span>);</div><div class="line"><a name="l00338"></a><span class="lineno">  338</span>&#160;        <span class="keywordflow">if</span> (<a class="code" href="maps_8c.html#a0dccaa76ac293bb5a11dbca6d16f6253">cbor_map_is_definite</a>(item)) {</div><div class="line"><a name="l00339"></a><span class="lineno">  339</span>&#160;            fprintf(out,</div><div class="line"><a name="l00340"></a><span class="lineno">  340</span>&#160;                    <span class="stringliteral">&quot;Definite, size: %zu\n&quot;</span>,</div><div class="line"><a name="l00341"></a><span class="lineno">  341</span>&#160;                    <a class="code" href="maps_8c.html#a1bbbee9c6f1eaa0ff4c19559fe109baf">cbor_map_size</a>(item));</div><div class="line"><a name="l00342"></a><span class="lineno">  342</span>&#160;        } <span class="keywordflow">else</span> {</div><div class="line"><a name="l00343"></a><span class="lineno">  343</span>&#160;            fprintf(out,</div><div class="line"><a name="l00344"></a><span class="lineno">  344</span>&#160;                    <span class="stringliteral">&quot;Indefinite, size:  %zu\n&quot;</span>,</div><div class="line"><a name="l00345"></a><span class="lineno">  345</span>&#160;                    <a class="code" href="maps_8c.html#a1bbbee9c6f1eaa0ff4c19559fe109baf">cbor_map_size</a>(item));</div><div class="line"><a name="l00346"></a><span class="lineno">  346</span>&#160;        }</div><div class="line"><a name="l00347"></a><span class="lineno">  347</span>&#160;</div><div class="line"><a name="l00348"></a><span class="lineno">  348</span>&#160;        <span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> i = 0; i &lt; <a class="code" href="maps_8c.html#a1bbbee9c6f1eaa0ff4c19559fe109baf">cbor_map_size</a>(item); i++) {</div><div class="line"><a name="l00349"></a><span class="lineno">  349</span>&#160;            _cbor_nested_describe(</div><div class="line"><a name="l00350"></a><span class="lineno">  350</span>&#160;                <a class="code" href="maps_8c.html#a4cadc8eb7ae7ff8d3f73482fb24455c9">cbor_map_handle</a>(item)[i].<a class="code" href="structcbor__pair.html#a5122c22ad7ef32b2c6ae0a413caca7a1">key</a>,</div><div class="line"><a name="l00351"></a><span class="lineno">  351</span>&#160;                out,</div><div class="line"><a name="l00352"></a><span class="lineno">  352</span>&#160;                indent + 4);</div><div class="line"><a name="l00353"></a><span class="lineno">  353</span>&#160;            _cbor_nested_describe(</div><div class="line"><a name="l00354"></a><span class="lineno">  354</span>&#160;                <a class="code" href="maps_8c.html#a4cadc8eb7ae7ff8d3f73482fb24455c9">cbor_map_handle</a>(item)[i].<a class="code" href="structcbor__pair.html#a44bbea9cc120de72fc4871a05dc8ec85">value</a>,</div><div class="line"><a name="l00355"></a><span class="lineno">  355</span>&#160;                out,</div><div class="line"><a name="l00356"></a><span class="lineno">  356</span>&#160;                indent + 4);</div><div class="line"><a name="l00357"></a><span class="lineno">  357</span>&#160;        }</div><div class="line"><a name="l00358"></a><span class="lineno">  358</span>&#160;        <span class="keywordflow">break</span>;</div><div class="line"><a name="l00359"></a><span class="lineno">  359</span>&#160;    };</div><div class="line"><a name="l00360"></a><span class="lineno">  360</span>&#160;    <span class="keywordflow">case</span> <a class="code" href="data_8h.html#a3a931b40fc31b51cccfd1bc3dc5fc5d6a16f0eaf29eeea66fe37ec1ed0fa45415">CBOR_TYPE_TAG</a>: {</div><div class="line"><a name="l00361"></a><span class="lineno">  361</span>&#160;        fprintf(out, <span class="stringliteral">&quot;%*s[CBOR_TYPE_TAG] &quot;</span>, indent, <span class="stringliteral">&quot; &quot;</span>);</div><div class="line"><a name="l00362"></a><span class="lineno">  362</span>&#160;        fprintf(out, <span class="stringliteral">&quot;Value: %&quot;</span>PRIu64<span class="stringliteral">&quot;\n&quot;</span>, <a class="code" href="tags_8c.html#a2746e6a37373e0950b646e8146ed63b6">cbor_tag_value</a>(item));</div><div class="line"><a name="l00363"></a><span class="lineno">  363</span>&#160;        _cbor_nested_describe(<a class="code" href="tags_8c.html#a162852da1313269e9d7b07dd4b964111">cbor_tag_item</a>(item), out, indent + 4);</div><div class="line"><a name="l00364"></a><span class="lineno">  364</span>&#160;        <span class="keywordflow">break</span>;</div><div class="line"><a name="l00365"></a><span class="lineno">  365</span>&#160;    };</div><div class="line"><a name="l00366"></a><span class="lineno">  366</span>&#160;    <span class="keywordflow">case</span> <a class="code" href="data_8h.html#a3a931b40fc31b51cccfd1bc3dc5fc5d6a1276dcc4ac56df5fd7e0270344a6e57d">CBOR_TYPE_FLOAT_CTRL</a>: {</div><div class="line"><a name="l00367"></a><span class="lineno">  367</span>&#160;        fprintf(out, <span class="stringliteral">&quot;%*s[CBOR_TYPE_FLOAT_CTRL] &quot;</span>, indent, <span class="stringliteral">&quot; &quot;</span>);</div><div class="line"><a name="l00368"></a><span class="lineno">  368</span>&#160;        <span class="keywordflow">if</span> (<a class="code" href="floats__ctrls_8c.html#a2b304df65e44de17064bc3de154522fa">cbor_float_ctrl_is_ctrl</a>(item)) {</div><div class="line"><a name="l00369"></a><span class="lineno">  369</span>&#160;            <span class="keywordflow">if</span> (<a class="code" href="common_8c.html#a5618a3689e31829f4f84da008e20798e">cbor_is_bool</a>(item))</div><div class="line"><a name="l00370"></a><span class="lineno">  370</span>&#160;                fprintf(out, <span class="stringliteral">&quot;Bool: %s\n&quot;</span>, <a class="code" href="floats__ctrls_8c.html#ac0c984ec79209ad710dd960ca9566f16">cbor_ctrl_is_bool</a>(item) ? <span class="stringliteral">&quot;true&quot;</span> : <span class="stringliteral">&quot;false&quot;</span>);</div><div class="line"><a name="l00371"></a><span class="lineno">  371</span>&#160;            <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="common_8c.html#afb7eb76a2953224c96d194640f3092e3">cbor_is_undef</a>(item))</div><div class="line"><a name="l00372"></a><span class="lineno">  372</span>&#160;                fprintf(out, <span class="stringliteral">&quot;Undefined\n&quot;</span>);</div><div class="line"><a name="l00373"></a><span class="lineno">  373</span>&#160;            <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="common_8c.html#ad1f5efac647b4d9c437c4441d1177e01">cbor_is_null</a>(item))</div><div class="line"><a name="l00374"></a><span class="lineno">  374</span>&#160;                fprintf(out, <span class="stringliteral">&quot;Null\n&quot;</span>);</div><div class="line"><a name="l00375"></a><span class="lineno">  375</span>&#160;            <span class="keywordflow">else</span></div><div class="line"><a name="l00376"></a><span class="lineno">  376</span>&#160;                fprintf(out, <span class="stringliteral">&quot;Simple value %d\n&quot;</span>, <a class="code" href="floats__ctrls_8c.html#a9d15faa0a33797ce0b8a1a66d5773d88">cbor_ctrl_value</a>(item));</div><div class="line"><a name="l00377"></a><span class="lineno">  377</span>&#160;        } <span class="keywordflow">else</span> {</div><div class="line"><a name="l00378"></a><span class="lineno">  378</span>&#160;            fprintf(out, <span class="stringliteral">&quot;Width: %dB, &quot;</span>, _pow(2, <a class="code" href="floats__ctrls_8c.html#a05778dc7349be636d47440f758ec96a6">cbor_float_get_width</a>(item)));</div><div class="line"><a name="l00379"></a><span class="lineno">  379</span>&#160;            fprintf(out, <span class="stringliteral">&quot;value: %lf\n&quot;</span>, <a class="code" href="floats__ctrls_8c.html#ad8316cf8b830431ef9ce9562ae679563">cbor_float_get_float</a>(item));</div><div class="line"><a name="l00380"></a><span class="lineno">  380</span>&#160;        }</div><div class="line"><a name="l00381"></a><span class="lineno">  381</span>&#160;        <span class="keywordflow">break</span>;</div><div class="line"><a name="l00382"></a><span class="lineno">  382</span>&#160;    };</div><div class="line"><a name="l00383"></a><span class="lineno">  383</span>&#160;    }</div><div class="line"><a name="l00384"></a><span class="lineno">  384</span>&#160;}</div><div class="line"><a name="l00385"></a><span class="lineno">  385</span>&#160;</div><div class="line"><a name="l00386"></a><span class="lineno">  386</span>&#160;<span class="keywordtype">void</span> cbor_describe(<a class="code" href="structcbor__item__t.html">cbor_item_t</a> *item, FILE *out)</div><div class="line"><a name="l00387"></a><span class="lineno">  387</span>&#160;{</div><div class="line"><a name="l00388"></a><span class="lineno">  388</span>&#160;    _cbor_nested_describe(item, out, 0);</div><div class="line"><a name="l00389"></a><span class="lineno">  389</span>&#160;}</div><div class="line"><a name="l00390"></a><span class="lineno">  390</span>&#160;</div><div class="line"><a name="l00391"></a><span class="lineno">  391</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="data_8h_html_abfc88122444f085a1a3fee01687329fda410c07e9ff710573d28db2794e008cb4"><div class="ttname"><a href="data_8h.html#abfc88122444f085a1a3fee01687329fda410c07e9ff710573d28db2794e008cb4">CBOR_DECODER_ERROR</a></div><div class="ttdoc">Malformed or reserved MTB/value. </div><div class="ttdef"><b>Definition:</b> <a href="data_8h_source.html#l00197">data.h:197</a></div></div>
<div class="ttc" id="ints_8c_html_ad4d9f92f14c640544386e6655283052d"><div class="ttname"><a href="ints_8c.html#ad4d9f92f14c640544386e6655283052d">cbor_build_uint8</a></div><div class="ttdeci">cbor_item_t * cbor_build_uint8(uint8_t value)</div><div class="ttdoc">Constructs a new positive integer. </div><div class="ttdef"><b>Definition:</b> <a href="ints_8c_source.html#l00145">ints.c:145</a></div></div>
<div class="ttc" id="builder__callbacks_8c_html_aa86c973a7feebd7d4f12cd3014a36293"><div class="ttname"><a href="builder__callbacks_8c.html#aa86c973a7feebd7d4f12cd3014a36293">cbor_builder_float4_callback</a></div><div class="ttdeci">void cbor_builder_float4_callback(void *context, float value)</div><div class="ttdef"><b>Definition:</b> <a href="builder__callbacks_8c_source.html#l00311">builder_callbacks.c:311</a></div></div>
<div class="ttc" id="structcbor__load__result_html"><div class="ttname"><a href="structcbor__load__result.html">cbor_load_result</a></div><div class="ttdoc">High-level decoding result. </div><div class="ttdef"><b>Definition:</b> <a href="data_8h_source.html#l00184">data.h:184</a></div></div>
<div class="ttc" id="data_8h_html_ae0fc9740f108f0f0078b93712b061e57aaa167d7a4fac34f2bae123761b4b6fc8"><div class="ttname"><a href="data_8h.html#ae0fc9740f108f0f0078b93712b061e57aaa167d7a4fac34f2bae123761b4b6fc8">CBOR_INT_8</a></div><div class="ttdef"><b>Definition:</b> <a href="data_8h_source.html#l00047">data.h:47</a></div></div>
<div class="ttc" id="struct__cbor__stack_html_aab7d9aefcd1c46603350a1d009c048d8"><div class="ttname"><a href="struct__cbor__stack.html#aab7d9aefcd1c46603350a1d009c048d8">_cbor_stack::size</a></div><div class="ttdeci">size_t size</div><div class="ttdef"><b>Definition:</b> <a href="stack_8h_source.html#l00027">stack.h:27</a></div></div>
<div class="ttc" id="bytestrings_8c_html_a368222dbbcea25e06469524e26587e2a"><div class="ttname"><a href="bytestrings_8c.html#a368222dbbcea25e06469524e26587e2a">cbor_bytestring_is_definite</a></div><div class="ttdeci">bool cbor_bytestring_is_definite(const cbor_item_t *item)</div><div class="ttdoc">Is the byte string definite? </div><div class="ttdef"><b>Definition:</b> <a href="bytestrings_8c_source.html#l00024">bytestrings.c:24</a></div></div>
<div class="ttc" id="struct__cbor__decoder__context_html_ae34e7cc9b435a63bc0e92c425279db84"><div class="ttname"><a href="struct__cbor__decoder__context.html#ae34e7cc9b435a63bc0e92c425279db84">_cbor_decoder_context::syntax_error</a></div><div class="ttdeci">bool syntax_error</div><div class="ttdoc">Stack expectation mismatch. </div><div class="ttdef"><b>Definition:</b> <a href="builder__callbacks_8h_source.html#l00024">builder_callbacks.h:24</a></div></div>
<div class="ttc" id="data_8h_html_a3a931b40fc31b51cccfd1bc3dc5fc5d6a16f0eaf29eeea66fe37ec1ed0fa45415"><div class="ttname"><a href="data_8h.html#a3a931b40fc31b51cccfd1bc3dc5fc5d6a16f0eaf29eeea66fe37ec1ed0fa45415">CBOR_TYPE_TAG</a></div><div class="ttdoc">6 - tags </div><div class="ttdef"><b>Definition:</b> <a href="data_8h_source.html#l00031">data.h:31</a></div></div>
<div class="ttc" id="ints_8c_html_aacf93e9a8a2c4217d5cd84207b957cba"><div class="ttname"><a href="ints_8c.html#aacf93e9a8a2c4217d5cd84207b957cba">cbor_get_int</a></div><div class="ttdeci">uint64_t cbor_get_int(const cbor_item_t *item)</div><div class="ttdoc">Extracts the integer value. </div><div class="ttdef"><b>Definition:</b> <a href="ints_8c_source.html#l00044">ints.c:44</a></div></div>
<div class="ttc" id="struct__cbor__stack_html"><div class="ttname"><a href="struct__cbor__stack.html">_cbor_stack</a></div><div class="ttdoc">Stack handle - contents and size. </div><div class="ttdef"><b>Definition:</b> <a href="stack_8h_source.html#l00025">stack.h:25</a></div></div>
<div class="ttc" id="floats__ctrls_8c_html_ad8316cf8b830431ef9ce9562ae679563"><div class="ttname"><a href="floats__ctrls_8c.html#ad8316cf8b830431ef9ce9562ae679563">cbor_float_get_float</a></div><div class="ttdeci">double cbor_float_get_float(const cbor_item_t *item)</div><div class="ttdoc">Get the float value represented as double. </div><div class="ttdef"><b>Definition:</b> <a href="floats__ctrls_8c_source.html#l00052">floats_ctrls.c:52</a></div></div>
<div class="ttc" id="strings_8c_html_a26f8c53bb33641408921c388bf539b0c"><div class="ttname"><a href="strings_8c.html#a26f8c53bb33641408921c388bf539b0c">cbor_build_stringn</a></div><div class="ttdeci">cbor_item_t * cbor_build_stringn(const char *val, size_t length)</div><div class="ttdoc">Creates a new string and initializes it. </div><div class="ttdef"><b>Definition:</b> <a href="strings_8c_source.html#l00050">strings.c:50</a></div></div>
<div class="ttc" id="data_8h_html_a3a931b40fc31b51cccfd1bc3dc5fc5d6ae05102a66420250eacd5f17b95d04443"><div class="ttname"><a href="data_8h.html#a3a931b40fc31b51cccfd1bc3dc5fc5d6ae05102a66420250eacd5f17b95d04443">CBOR_TYPE_STRING</a></div><div class="ttdoc">3 - strings </div><div class="ttdef"><b>Definition:</b> <a href="data_8h_source.html#l00028">data.h:28</a></div></div>
<div class="ttc" id="builder__callbacks_8c_html_a41f2a1f66f9cb53dd0075e88f0b640fb"><div class="ttname"><a href="builder__callbacks_8c.html#a41f2a1f66f9cb53dd0075e88f0b640fb">cbor_builder_byte_string_callback</a></div><div class="ttdeci">void cbor_builder_byte_string_callback(void *context, cbor_data data, size_t length)</div><div class="ttdef"><b>Definition:</b> <a href="builder__callbacks_8c_source.html#l00165">builder_callbacks.c:165</a></div></div>
<div class="ttc" id="data_8h_html_abfc88122444f085a1a3fee01687329fda2ebc9567c96c353e07f9d9025054c31a"><div class="ttname"><a href="data_8h.html#abfc88122444f085a1a3fee01687329fda2ebc9567c96c353e07f9d9025054c31a">CBOR_DECODER_FINISHED</a></div><div class="ttdoc">OK, finished. </div><div class="ttdef"><b>Definition:</b> <a href="data_8h_source.html#l00194">data.h:194</a></div></div>
<div class="ttc" id="builder__callbacks_8c_html_a69e152b1c2523502456301f878b07c49"><div class="ttname"><a href="builder__callbacks_8c.html#a69e152b1c2523502456301f878b07c49">cbor_builder_uint32_callback</a></div><div class="ttdeci">void cbor_builder_uint32_callback(void *context, uint32_t value)</div><div class="ttdef"><b>Definition:</b> <a href="builder__callbacks_8c_source.html#l00106">builder_callbacks.c:106</a></div></div>
<div class="ttc" id="structcbor__decoder__result_html_a39828fd8d825610cda67d9738d2d5c23"><div class="ttname"><a href="structcbor__decoder__result.html#a39828fd8d825610cda67d9738d2d5c23">cbor_decoder_result::read</a></div><div class="ttdeci">size_t read</div><div class="ttdoc">Bytes read. </div><div class="ttdef"><b>Definition:</b> <a href="data_8h_source.html#l00203">data.h:203</a></div></div>
<div class="ttc" id="ints_8c_html_a30bcfb58aa41d4c44bc2d5d6b7de105d"><div class="ttname"><a href="ints_8c.html#a30bcfb58aa41d4c44bc2d5d6b7de105d">cbor_int_get_width</a></div><div class="ttdeci">cbor_int_width cbor_int_get_width(const cbor_item_t *item)</div><div class="ttdoc">Queries the integer width. </div><div class="ttdef"><b>Definition:</b> <a href="ints_8c_source.html#l00010">ints.c:10</a></div></div>
<div class="ttc" id="data_8h_html_a3a931b40fc31b51cccfd1bc3dc5fc5d6a70b9f0b5958c8d51f15ad7bb7c4af01d"><div class="ttname"><a href="data_8h.html#a3a931b40fc31b51cccfd1bc3dc5fc5d6a70b9f0b5958c8d51f15ad7bb7c4af01d">CBOR_TYPE_BYTESTRING</a></div><div class="ttdoc">2 - byte strings </div><div class="ttdef"><b>Definition:</b> <a href="data_8h_source.html#l00027">data.h:27</a></div></div>
<div class="ttc" id="data_8h_html_ac80d3ecbbdc88d96a7396ac986ee47e7ac3c49d03756f116648957c5d996f48b4"><div class="ttname"><a href="data_8h.html#ac80d3ecbbdc88d96a7396ac986ee47e7ac3c49d03756f116648957c5d996f48b4">CBOR_FLOAT_0</a></div><div class="ttdoc">Internal use - ctrl and special values. </div><div class="ttdef"><b>Definition:</b> <a href="data_8h_source.html#l00055">data.h:55</a></div></div>
<div class="ttc" id="strings_8c_html_ae9e5da7bdf2a79fab7965caeff49d5bb"><div class="ttname"><a href="strings_8c.html#ae9e5da7bdf2a79fab7965caeff49d5bb">cbor_string_handle</a></div><div class="ttdeci">unsigned char * cbor_string_handle(const cbor_item_t *item)</div><div class="ttdoc">Get the handle to the underlying string. </div><div class="ttdef"><b>Definition:</b> <a href="strings_8c_source.html#l00112">strings.c:112</a></div></div>
<div class="ttc" id="bytestrings_8c_html_a6de9d6387e856c33d2ef8e8e9fdac0ac"><div class="ttname"><a href="bytestrings_8c.html#a6de9d6387e856c33d2ef8e8e9fdac0ac">cbor_new_indefinite_bytestring</a></div><div class="ttdeci">cbor_item_t * cbor_new_indefinite_bytestring()</div><div class="ttdoc">Creates a new indefinite byte string. </div><div class="ttdef"><b>Definition:</b> <a href="bytestrings_8c_source.html#l00046">bytestrings.c:46</a></div></div>
<div class="ttc" id="strings_8c_html_a226f91c7bfd6be9b0a52cdc6f0b17741"><div class="ttname"><a href="strings_8c.html#a226f91c7bfd6be9b0a52cdc6f0b17741">cbor_new_indefinite_string</a></div><div class="ttdeci">cbor_item_t * cbor_new_indefinite_string()</div><div class="ttdoc">Creates a new indefinite string. </div><div class="ttdef"><b>Definition:</b> <a href="strings_8c_source.html#l00023">strings.c:23</a></div></div>
<div class="ttc" id="structcbor__pair_html_a44bbea9cc120de72fc4871a05dc8ec85"><div class="ttname"><a href="structcbor__pair.html#a44bbea9cc120de72fc4871a05dc8ec85">cbor_pair::value</a></div><div class="ttdeci">cbor_item_t * value</div><div class="ttdef"><b>Definition:</b> <a href="data_8h_source.html#l00180">data.h:180</a></div></div>
<div class="ttc" id="floats__ctrls_8c_html_a9884b85abd0c0637a4377168d034260f"><div class="ttname"><a href="floats__ctrls_8c.html#a9884b85abd0c0637a4377168d034260f">cbor_build_float2</a></div><div class="ttdeci">cbor_item_t * cbor_build_float2(float value)</div><div class="ttdoc">Constructs a new float. </div><div class="ttdef"><b>Definition:</b> <a href="floats__ctrls_8c_source.html#l00165">floats_ctrls.c:165</a></div></div>
<div class="ttc" id="builder__callbacks_8c_html_aa3cd19f25b7f29ddcd153e30b2e09824"><div class="ttname"><a href="builder__callbacks_8c.html#aa3cd19f25b7f29ddcd153e30b2e09824">cbor_builder_uint8_callback</a></div><div class="ttdeci">void cbor_builder_uint8_callback(void *context, uint8_t value)</div><div class="ttdef"><b>Definition:</b> <a href="builder__callbacks_8c_source.html#l00086">builder_callbacks.c:86</a></div></div>
<div class="ttc" id="common_8c_html_aedbe700f2241de4282aedaae017e0de9"><div class="ttname"><a href="common_8c.html#aedbe700f2241de4282aedaae017e0de9">cbor_decref</a></div><div class="ttdeci">void cbor_decref(cbor_item_t **item_ref)</div><div class="ttdoc">Decreases the reference count by one, deallocating the item if needed. </div><div class="ttdef"><b>Definition:</b> <a href="common_8c_source.html#l00099">common.c:99</a></div></div>
<div class="ttc" id="structcbor__callbacks_html_af2d69429c9bc71edf55b6f4f1dbb76d1"><div class="ttname"><a href="structcbor__callbacks.html#af2d69429c9bc71edf55b6f4f1dbb76d1">cbor_callbacks::uint8</a></div><div class="ttdeci">cbor_int8_callback uint8</div><div class="ttdoc">Unsigned int. </div><div class="ttdef"><b>Definition:</b> <a href="callbacks_8h_source.html#l00050">callbacks.h:50</a></div></div>
<div class="ttc" id="data_8h_html_a13ad43c61d917938e0ce26173e6b2eb6a427a7d0fde29a84566e040d065cca6d1"><div class="ttname"><a href="data_8h.html#a13ad43c61d917938e0ce26173e6b2eb6a427a7d0fde29a84566e040d065cca6d1">CBOR_ERR_NODATA</a></div><div class="ttdef"><b>Definition:</b> <a href="data_8h_source.html#l00039">data.h:39</a></div></div>
<div class="ttc" id="bytestrings_8c_html_ad02102832d452fd5a5cfa96272b1095d"><div class="ttname"><a href="bytestrings_8c.html#ad02102832d452fd5a5cfa96272b1095d">cbor_bytestring_chunk_count</a></div><div class="ttdeci">size_t cbor_bytestring_chunk_count(const cbor_item_t *item)</div><div class="ttdoc">Get the number of chunks this string consist of. </div><div class="ttdef"><b>Definition:</b> <a href="bytestrings_8c_source.html#l00087">bytestrings.c:87</a></div></div>
<div class="ttc" id="strings_8c_html_a81d1160eed81b2a29b6c5e9ff6b9e02a"><div class="ttname"><a href="strings_8c.html#a81d1160eed81b2a29b6c5e9ff6b9e02a">cbor_string_chunks_handle</a></div><div class="ttdeci">cbor_item_t ** cbor_string_chunks_handle(const cbor_item_t *item)</div><div class="ttdoc">Get the handle to the array of chunks. </div><div class="ttdef"><b>Definition:</b> <a href="strings_8c_source.html#l00067">strings.c:67</a></div></div>
<div class="ttc" id="builder__callbacks_8c_html_a119060abe3c5b1d936514063ca4db22e"><div class="ttname"><a href="builder__callbacks_8c.html#a119060abe3c5b1d936514063ca4db22e">cbor_builder_uint64_callback</a></div><div class="ttdeci">void cbor_builder_uint64_callback(void *context, uint64_t value)</div><div class="ttdef"><b>Definition:</b> <a href="builder__callbacks_8c_source.html#l00116">builder_callbacks.c:116</a></div></div>
<div class="ttc" id="builder__callbacks_8c_html_aa2b3ea257a52e3f002c79ca2740ef6a2"><div class="ttname"><a href="builder__callbacks_8c.html#aa2b3ea257a52e3f002c79ca2740ef6a2">cbor_builder_tag_callback</a></div><div class="ttdeci">void cbor_builder_tag_callback(void *context, uint64_t value)</div><div class="ttdef"><b>Definition:</b> <a href="builder__callbacks_8c_source.html#l00353">builder_callbacks.c:353</a></div></div>
<div class="ttc" id="builder__callbacks_8c_html_ae1509582103b87cc5824c30f101f9d76"><div class="ttname"><a href="builder__callbacks_8c.html#ae1509582103b87cc5824c30f101f9d76">cbor_builder_float2_callback</a></div><div class="ttdeci">void cbor_builder_float2_callback(void *context, float value)</div><div class="ttdef"><b>Definition:</b> <a href="builder__callbacks_8c_source.html#l00303">builder_callbacks.c:303</a></div></div>
<div class="ttc" id="builder__callbacks_8c_html_ae386e2194dd97053acca4c26d6039ff6"><div class="ttname"><a href="builder__callbacks_8c.html#ae386e2194dd97053acca4c26d6039ff6">cbor_builder_indef_break_callback</a></div><div class="ttdeci">void cbor_builder_indef_break_callback(void *context)</div><div class="ttdef"><b>Definition:</b> <a href="builder__callbacks_8c_source.html#l00291">builder_callbacks.c:291</a></div></div>
<div class="ttc" id="builder__callbacks_8c_html_a9b1fada71e0c9cbc90ed6089ffc45958"><div class="ttname"><a href="builder__callbacks_8c.html#a9b1fada71e0c9cbc90ed6089ffc45958">cbor_builder_negint8_callback</a></div><div class="ttdeci">void cbor_builder_negint8_callback(void *context, uint8_t value)</div><div class="ttdef"><b>Definition:</b> <a href="builder__callbacks_8c_source.html#l00126">builder_callbacks.c:126</a></div></div>
<div class="ttc" id="stack_8c_html_a7702383747257f1df9c3ceda9fb9da58"><div class="ttname"><a href="stack_8c.html#a7702383747257f1df9c3ceda9fb9da58">_cbor_stack_init</a></div><div class="ttdeci">struct _cbor_stack _cbor_stack_init()</div><div class="ttdef"><b>Definition:</b> <a href="stack_8c_source.html#l00010">stack.c:10</a></div></div>
<div class="ttc" id="maps_8c_html_a1bbbee9c6f1eaa0ff4c19559fe109baf"><div class="ttname"><a href="maps_8c.html#a1bbbee9c6f1eaa0ff4c19559fe109baf">cbor_map_size</a></div><div class="ttdeci">size_t cbor_map_size(const cbor_item_t *item)</div><div class="ttdoc">Get the number of pairs. </div><div class="ttdef"><b>Definition:</b> <a href="maps_8c_source.html#l00011">maps.c:11</a></div></div>
<div class="ttc" id="floats__ctrls_8c_html_af31b0a42b2dd7f29efe42385bd4a58f1"><div class="ttname"><a href="floats__ctrls_8c.html#af31b0a42b2dd7f29efe42385bd4a58f1">cbor_build_ctrl</a></div><div class="ttdeci">cbor_item_t * cbor_build_ctrl(uint8_t value)</div><div class="ttdoc">Constructs a ctrl item. </div><div class="ttdef"><b>Definition:</b> <a href="floats__ctrls_8c_source.html#l00186">floats_ctrls.c:186</a></div></div>
<div class="ttc" id="bytestrings_8c_html_a8ab6255d6f8f209149bdf794dffed849"><div class="ttname"><a href="bytestrings_8c.html#a8ab6255d6f8f209149bdf794dffed849">cbor_bytestring_chunks_handle</a></div><div class="ttdeci">cbor_item_t ** cbor_bytestring_chunks_handle(const cbor_item_t *item)</div><div class="ttdoc">Get the handle to the array of chunks. </div><div class="ttdef"><b>Definition:</b> <a href="bytestrings_8c_source.html#l00080">bytestrings.c:80</a></div></div>
<div class="ttc" id="bytestrings_8c_html_a3a6c450f105bb18b6b56d20f0de4786a"><div class="ttname"><a href="bytestrings_8c.html#a3a6c450f105bb18b6b56d20f0de4786a">cbor_bytestring_is_indefinite</a></div><div class="ttdeci">bool cbor_bytestring_is_indefinite(const cbor_item_t *item)</div><div class="ttdoc">Is the byte string indefinite? </div><div class="ttdef"><b>Definition:</b> <a href="bytestrings_8c_source.html#l00030">bytestrings.c:30</a></div></div>
<div class="ttc" id="data_8h_html_ae0fc9740f108f0f0078b93712b061e57ad429fc90ccfb94ec85996920fe115b51"><div class="ttname"><a href="data_8h.html#ae0fc9740f108f0f0078b93712b061e57ad429fc90ccfb94ec85996920fe115b51">CBOR_INT_32</a></div><div class="ttdef"><b>Definition:</b> <a href="data_8h_source.html#l00049">data.h:49</a></div></div>
<div class="ttc" id="data_8h_html_a3a931b40fc31b51cccfd1bc3dc5fc5d6ae48b04b3538ade49d7eae9ee6b656103"><div class="ttname"><a href="data_8h.html#a3a931b40fc31b51cccfd1bc3dc5fc5d6ae48b04b3538ade49d7eae9ee6b656103">CBOR_TYPE_ARRAY</a></div><div class="ttdoc">4 - arrays </div><div class="ttdef"><b>Definition:</b> <a href="data_8h_source.html#l00029">data.h:29</a></div></div>
<div class="ttc" id="tags_8c_html_a162852da1313269e9d7b07dd4b964111"><div class="ttname"><a href="tags_8c.html#a162852da1313269e9d7b07dd4b964111">cbor_tag_item</a></div><div class="ttdeci">cbor_item_t * cbor_tag_item(const cbor_item_t *item)</div><div class="ttdoc">Get the tagged item. </div><div class="ttdef"><b>Definition:</b> <a href="tags_8c_source.html#l00022">tags.c:22</a></div></div>
<div class="ttc" id="structcbor__pair_html_a5122c22ad7ef32b2c6ae0a413caca7a1"><div class="ttname"><a href="structcbor__pair.html#a5122c22ad7ef32b2c6ae0a413caca7a1">cbor_pair::key</a></div><div class="ttdeci">cbor_item_t * key</div><div class="ttdef"><b>Definition:</b> <a href="data_8h_source.html#l00180">data.h:180</a></div></div>
<div class="ttc" id="arrays_8c_html_aaec916ccc6f19782b6aef5ec1da2cc26"><div class="ttname"><a href="arrays_8c.html#aaec916ccc6f19782b6aef5ec1da2cc26">cbor_new_indefinite_array</a></div><div class="ttdeci">cbor_item_t * cbor_new_indefinite_array()</div><div class="ttdoc">Create new indefinite array. </div><div class="ttdef"><b>Definition:</b> <a href="arrays_8c_source.html#l00138">arrays.c:138</a></div></div>
<div class="ttc" id="tags_8c_html_a44840e7f4b0225eebf3a366fafff8e96"><div class="ttname"><a href="tags_8c.html#a44840e7f4b0225eebf3a366fafff8e96">cbor_build_tag</a></div><div class="ttdeci">cbor_item_t * cbor_build_tag(uint64_t value, cbor_item_t *item)</div><div class="ttdoc">Build a new tag. </div><div class="ttdef"><b>Definition:</b> <a href="tags_8c_source.html#l00041">tags.c:41</a></div></div>
<div class="ttc" id="builder__callbacks_8c_html_a355c63dd0e941d9f3bc18b95876d7b39"><div class="ttname"><a href="builder__callbacks_8c.html#a355c63dd0e941d9f3bc18b95876d7b39">cbor_builder_negint16_callback</a></div><div class="ttdeci">void cbor_builder_negint16_callback(void *context, uint16_t value)</div><div class="ttdef"><b>Definition:</b> <a href="builder__callbacks_8c_source.html#l00136">builder_callbacks.c:136</a></div></div>
<div class="ttc" id="data_8h_html_a3a931b40fc31b51cccfd1bc3dc5fc5d6a1276dcc4ac56df5fd7e0270344a6e57d"><div class="ttname"><a href="data_8h.html#a3a931b40fc31b51cccfd1bc3dc5fc5d6a1276dcc4ac56df5fd7e0270344a6e57d">CBOR_TYPE_FLOAT_CTRL</a></div><div class="ttdoc">7 - decimals and special values (true, false, nil, ...) </div><div class="ttdef"><b>Definition:</b> <a href="data_8h_source.html#l00032">data.h:32</a></div></div>
<div class="ttc" id="ints_8c_html_a0480e5b5849b757aa9416a4c1d51b36d"><div class="ttname"><a href="ints_8c.html#a0480e5b5849b757aa9416a4c1d51b36d">cbor_get_uint32</a></div><div class="ttdeci">uint32_t cbor_get_uint32(const cbor_item_t *item)</div><div class="ttdoc">Extracts the integer value. </div><div class="ttdef"><b>Definition:</b> <a href="ints_8c_source.html#l00030">ints.c:30</a></div></div>
<div class="ttc" id="ints_8c_html_a6ef24d3e2636c02de092fdfc337276b1"><div class="ttname"><a href="ints_8c.html#a6ef24d3e2636c02de092fdfc337276b1">cbor_mark_negint</a></div><div class="ttdeci">void cbor_mark_negint(cbor_item_t *item)</div><div class="ttdoc">Marks the integer item as a negative integer. </div><div class="ttdef"><b>Definition:</b> <a href="ints_8c_source.html#l00091">ints.c:91</a></div></div>
<div class="ttc" id="struct__cbor__decoder__context_html"><div class="ttname"><a href="struct__cbor__decoder__context.html">_cbor_decoder_context</a></div><div class="ttdoc">High-level decoding context. </div><div class="ttdef"><b>Definition:</b> <a href="builder__callbacks_8h_source.html#l00020">builder_callbacks.h:20</a></div></div>
<div class="ttc" id="structcbor__pair_html"><div class="ttname"><a href="structcbor__pair.html">cbor_pair</a></div><div class="ttdoc">Simple pair of items for use in maps. </div><div class="ttdef"><b>Definition:</b> <a href="data_8h_source.html#l00179">data.h:179</a></div></div>
<div class="ttc" id="builder__callbacks_8c_html_a452f42c05cdf422e6526bc0d7cc135dc"><div class="ttname"><a href="builder__callbacks_8c.html#a452f42c05cdf422e6526bc0d7cc135dc">cbor_builder_undefined_callback</a></div><div class="ttdeci">void cbor_builder_undefined_callback(void *context)</div><div class="ttdef"><b>Definition:</b> <a href="builder__callbacks_8c_source.html#l00337">builder_callbacks.c:337</a></div></div>
<div class="ttc" id="data_8h_html_ae0fc9740f108f0f0078b93712b061e57aafaef7945451a7f4d12298f12f8acb2d"><div class="ttname"><a href="data_8h.html#ae0fc9740f108f0f0078b93712b061e57aafaef7945451a7f4d12298f12f8acb2d">CBOR_INT_64</a></div><div class="ttdef"><b>Definition:</b> <a href="data_8h_source.html#l00050">data.h:50</a></div></div>
<div class="ttc" id="structcbor__error_html_a8674e7cac94b696eeea37db194026646"><div class="ttname"><a href="structcbor__error.html#a8674e7cac94b696eeea37db194026646">cbor_error::code</a></div><div class="ttdeci">cbor_error_code code</div><div class="ttdoc">Description. </div><div class="ttdef"><b>Definition:</b> <a href="data_8h_source.html#l00175">data.h:175</a></div></div>
<div class="ttc" id="struct__cbor__decoder__context_html_ad4c1540245b6241bc7aa3f7ade2fbf5a"><div class="ttname"><a href="struct__cbor__decoder__context.html#ad4c1540245b6241bc7aa3f7ade2fbf5a">_cbor_decoder_context::root</a></div><div class="ttdeci">cbor_item_t * root</div><div class="ttdef"><b>Definition:</b> <a href="builder__callbacks_8h_source.html#l00025">builder_callbacks.h:25</a></div></div>
<div class="ttc" id="ints_8c_html_afcefa3190eeeff1e5ed0b5217761ad5a"><div class="ttname"><a href="ints_8c.html#afcefa3190eeeff1e5ed0b5217761ad5a">cbor_build_uint32</a></div><div class="ttdeci">cbor_item_t * cbor_build_uint32(uint32_t value)</div><div class="ttdoc">Constructs a new positive integer. </div><div class="ttdef"><b>Definition:</b> <a href="ints_8c_source.html#l00161">ints.c:161</a></div></div>
<div class="ttc" id="stack_8c_html_a6541672c7a6bcc55e6645cff2a5ab005"><div class="ttname"><a href="stack_8c.html#a6541672c7a6bcc55e6645cff2a5ab005">_cbor_stack_pop</a></div><div class="ttdeci">void _cbor_stack_pop(struct _cbor_stack *stack)</div><div class="ttdef"><b>Definition:</b> <a href="stack_8c_source.html#l00015">stack.c:15</a></div></div>
<div class="ttc" id="arrays_8c_html_ac2f1480c546a0268e8b046b365e58599"><div class="ttname"><a href="arrays_8c.html#ac2f1480c546a0268e8b046b365e58599">cbor_array_is_definite</a></div><div class="ttdeci">bool cbor_array_is_definite(const cbor_item_t *item)</div><div class="ttdoc">Is the array definite? </div><div class="ttdef"><b>Definition:</b> <a href="arrays_8c_source.html#l00088">arrays.c:88</a></div></div>
<div class="ttc" id="floats__ctrls_8c_html_a1e3e9757ac809b6df56f1095a87bfdad"><div class="ttname"><a href="floats__ctrls_8c.html#a1e3e9757ac809b6df56f1095a87bfdad">cbor_build_float4</a></div><div class="ttdeci">cbor_item_t * cbor_build_float4(float value)</div><div class="ttdoc">Constructs a new float. </div><div class="ttdef"><b>Definition:</b> <a href="floats__ctrls_8c_source.html#l00172">floats_ctrls.c:172</a></div></div>
<div class="ttc" id="builder__callbacks_8c_html_a54852cd4c120b368d9b9b5cffb622303"><div class="ttname"><a href="builder__callbacks_8c.html#a54852cd4c120b368d9b9b5cffb622303">cbor_builder_null_callback</a></div><div class="ttdeci">void cbor_builder_null_callback(void *context)</div><div class="ttdef"><b>Definition:</b> <a href="builder__callbacks_8c_source.html#l00329">builder_callbacks.c:329</a></div></div>
<div class="ttc" id="data_8h_html_ac80d3ecbbdc88d96a7396ac986ee47e7a792f18e66a6da153eb4f40a8f894c653"><div class="ttname"><a href="data_8h.html#ac80d3ecbbdc88d96a7396ac986ee47e7a792f18e66a6da153eb4f40a8f894c653">CBOR_FLOAT_64</a></div><div class="ttdoc">Double. </div><div class="ttdef"><b>Definition:</b> <a href="data_8h_source.html#l00058">data.h:58</a></div></div>
<div class="ttc" id="structcbor__error_html"><div class="ttname"><a href="structcbor__error.html">cbor_error</a></div><div class="ttdoc">High-level decoding error. </div><div class="ttdef"><b>Definition:</b> <a href="data_8h_source.html#l00171">data.h:171</a></div></div>
<div class="ttc" id="ints_8c_html_a06a0997aed16fe6aa540f57bf40ce400"><div class="ttname"><a href="ints_8c.html#a06a0997aed16fe6aa540f57bf40ce400">cbor_get_uint16</a></div><div class="ttdeci">uint16_t cbor_get_uint16(const cbor_item_t *item)</div><div class="ttdoc">Extracts the integer value. </div><div class="ttdef"><b>Definition:</b> <a href="ints_8c_source.html#l00023">ints.c:23</a></div></div>
<div class="ttc" id="data_8h_html_ac80d3ecbbdc88d96a7396ac986ee47e7a6a044cc40003cef84432fe92780514e5"><div class="ttname"><a href="data_8h.html#ac80d3ecbbdc88d96a7396ac986ee47e7a6a044cc40003cef84432fe92780514e5">CBOR_FLOAT_16</a></div><div class="ttdoc">Half float. </div><div class="ttdef"><b>Definition:</b> <a href="data_8h_source.html#l00056">data.h:56</a></div></div>
<div class="ttc" id="structcbor__load__result_html_af23777116487150fb1b06842fc57724f"><div class="ttname"><a href="structcbor__load__result.html#af23777116487150fb1b06842fc57724f">cbor_load_result::error</a></div><div class="ttdeci">struct cbor_error error</div><div class="ttdoc">Error indicator. </div><div class="ttdef"><b>Definition:</b> <a href="data_8h_source.html#l00186">data.h:186</a></div></div>
<div class="ttc" id="common_8c_html_ad1f5efac647b4d9c437c4441d1177e01"><div class="ttname"><a href="common_8c.html#ad1f5efac647b4d9c437c4441d1177e01">cbor_is_null</a></div><div class="ttdeci">bool cbor_is_null(const cbor_item_t *item)</div><div class="ttdoc">Does this item represent null </div><div class="ttdef"><b>Definition:</b> <a href="common_8c_source.html#l00077">common.c:77</a></div></div>
<div class="ttc" id="arrays_8c_html_abb1c1c9731a2195857dc471f2a6f60f5"><div class="ttname"><a href="arrays_8c.html#abb1c1c9731a2195857dc471f2a6f60f5">cbor_array_push</a></div><div class="ttdeci">bool cbor_array_push(cbor_item_t *array, cbor_item_t *pushee)</div><div class="ttdoc">Append to the end. </div><div class="ttdef"><b>Definition:</b> <a href="arrays_8c_source.html#l00052">arrays.c:52</a></div></div>
<div class="ttc" id="cbor_8c_html_ac54800327647ea17db0f40d72873f505"><div class="ttname"><a href="cbor_8c.html#ac54800327647ea17db0f40d72873f505">cbor_copy</a></div><div class="ttdeci">cbor_item_t * cbor_copy(cbor_item_t *item)</div><div class="ttdoc">Deep copy of an item. </div><div class="ttdef"><b>Definition:</b> <a href="cbor_8c_source.html#l00164">cbor.c:164</a></div></div>
<div class="ttc" id="builder__callbacks_8c_html_a269aa36265c6fb1b18cad2a14cf355a0"><div class="ttname"><a href="builder__callbacks_8c.html#a269aa36265c6fb1b18cad2a14cf355a0">cbor_builder_string_start_callback</a></div><div class="ttdeci">void cbor_builder_string_start_callback(void *context)</div><div class="ttdef"><b>Definition:</b> <a href="builder__callbacks_8c_source.html#l00243">builder_callbacks.c:243</a></div></div>
<div class="ttc" id="builder__callbacks_8c_html_a2dd24b9dcda84915c4fc0229a6e52df6"><div class="ttname"><a href="builder__callbacks_8c.html#a2dd24b9dcda84915c4fc0229a6e52df6">cbor_builder_array_start_callback</a></div><div class="ttdeci">void cbor_builder_array_start_callback(void *context, size_t size)</div><div class="ttdef"><b>Definition:</b> <a href="builder__callbacks_8c_source.html#l00251">builder_callbacks.c:251</a></div></div>
<div class="ttc" id="strings_8c_html_ad8062db21711a51ae520cc1e4f5fe5ab"><div class="ttname"><a href="strings_8c.html#ad8062db21711a51ae520cc1e4f5fe5ab">cbor_string_chunk_count</a></div><div class="ttdeci">size_t cbor_string_chunk_count(const cbor_item_t *item)</div><div class="ttdoc">Get the number of chunks this string consist of. </div><div class="ttdef"><b>Definition:</b> <a href="strings_8c_source.html#l00074">strings.c:74</a></div></div>
<div class="ttc" id="builder__callbacks_8c_html_aa10a165cd945c03ad09ae0866287f6bd"><div class="ttname"><a href="builder__callbacks_8c.html#aa10a165cd945c03ad09ae0866287f6bd">cbor_builder_string_callback</a></div><div class="ttdeci">void cbor_builder_string_callback(void *context, cbor_data data, size_t length)</div><div class="ttdef"><b>Definition:</b> <a href="builder__callbacks_8c_source.html#l00206">builder_callbacks.c:206</a></div></div>
<div class="ttc" id="arrays_8c_html_a4f634a9a4bc834e4ea6ac43e94d51f84"><div class="ttname"><a href="arrays_8c.html#a4f634a9a4bc834e4ea6ac43e94d51f84">cbor_array_size</a></div><div class="ttdeci">size_t cbor_array_size(const cbor_item_t *item)</div><div class="ttdoc">Get the number of members. </div><div class="ttdef"><b>Definition:</b> <a href="arrays_8c_source.html#l00012">arrays.c:12</a></div></div>
<div class="ttc" id="data_8h_html_a3a931b40fc31b51cccfd1bc3dc5fc5d6a2137d55d8028e37ff4319a633ef0634f"><div class="ttname"><a href="data_8h.html#a3a931b40fc31b51cccfd1bc3dc5fc5d6a2137d55d8028e37ff4319a633ef0634f">CBOR_TYPE_UINT</a></div><div class="ttdoc">0 - positive integers </div><div class="ttdef"><b>Definition:</b> <a href="data_8h_source.html#l00025">data.h:25</a></div></div>
<div class="ttc" id="bytestrings_8c_html_a5dc8c27d6e7acfdd05fdc15c01e25b47"><div class="ttname"><a href="bytestrings_8c.html#a5dc8c27d6e7acfdd05fdc15c01e25b47">cbor_bytestring_add_chunk</a></div><div class="ttdeci">bool cbor_bytestring_add_chunk(cbor_item_t *item, cbor_item_t *chunk)</div><div class="ttdoc">Appends a chunk to the bytestring. </div><div class="ttdef"><b>Definition:</b> <a href="bytestrings_8c_source.html#l00095">bytestrings.c:95</a></div></div>
<div class="ttc" id="ints_8c_html_a88f05c625ad9fa182bc95c9c97f87dda"><div class="ttname"><a href="ints_8c.html#a88f05c625ad9fa182bc95c9c97f87dda">cbor_build_uint16</a></div><div class="ttdeci">cbor_item_t * cbor_build_uint16(uint16_t value)</div><div class="ttdoc">Constructs a new positive integer. </div><div class="ttdef"><b>Definition:</b> <a href="ints_8c_source.html#l00153">ints.c:153</a></div></div>
<div class="ttc" id="ints_8c_html_a2379bf36318e8e4faa7434c74d8553fb"><div class="ttname"><a href="ints_8c.html#a2379bf36318e8e4faa7434c74d8553fb">cbor_get_uint8</a></div><div class="ttdeci">uint8_t cbor_get_uint8(const cbor_item_t *item)</div><div class="ttdoc">Extracts the integer value. </div><div class="ttdef"><b>Definition:</b> <a href="ints_8c_source.html#l00016">ints.c:16</a></div></div>
<div class="ttc" id="floats__ctrls_8c_html_ad504d3d291810b0c39fc498be0bd2639"><div class="ttname"><a href="floats__ctrls_8c.html#ad504d3d291810b0c39fc498be0bd2639">cbor_float_get_float4</a></div><div class="ttdeci">float cbor_float_get_float4(const cbor_item_t *item)</div><div class="ttdoc">Get a single precision float. </div><div class="ttdef"><b>Definition:</b> <a href="floats__ctrls_8c_source.html#l00038">floats_ctrls.c:38</a></div></div>
<div class="ttc" id="ints_8c_html_a839ec2dc97dda1db54657cec50387a12"><div class="ttname"><a href="ints_8c.html#a839ec2dc97dda1db54657cec50387a12">cbor_get_uint64</a></div><div class="ttdeci">uint64_t cbor_get_uint64(const cbor_item_t *item)</div><div class="ttdoc">Extracts the integer value. </div><div class="ttdef"><b>Definition:</b> <a href="ints_8c_source.html#l00037">ints.c:37</a></div></div>
<div class="ttc" id="floats__ctrls_8c_html_a9d15faa0a33797ce0b8a1a66d5773d88"><div class="ttname"><a href="floats__ctrls_8c.html#a9d15faa0a33797ce0b8a1a66d5773d88">cbor_ctrl_value</a></div><div class="ttdeci">uint8_t cbor_ctrl_value(const cbor_item_t *item)</div><div class="ttdoc">Reads the control value. </div><div class="ttdef"><b>Definition:</b> <a href="floats__ctrls_8c_source.html#l00018">floats_ctrls.c:18</a></div></div>
<div class="ttc" id="builder__callbacks_8c_html_a7bcc936cb1cc653551de3d5b49fbe3f0"><div class="ttname"><a href="builder__callbacks_8c.html#a7bcc936cb1cc653551de3d5b49fbe3f0">cbor_builder_indef_array_start_callback</a></div><div class="ttdeci">void cbor_builder_indef_array_start_callback(void *context)</div><div class="ttdef"><b>Definition:</b> <a href="builder__callbacks_8c_source.html#l00263">builder_callbacks.c:263</a></div></div>
<div class="ttc" id="structcbor__decoder__result_html"><div class="ttname"><a href="structcbor__decoder__result.html">cbor_decoder_result</a></div><div class="ttdoc">Streaming decoder result. </div><div class="ttdef"><b>Definition:</b> <a href="data_8h_source.html#l00201">data.h:201</a></div></div>
<div class="ttc" id="tags_8c_html_a2746e6a37373e0950b646e8146ed63b6"><div class="ttname"><a href="tags_8c.html#a2746e6a37373e0950b646e8146ed63b6">cbor_tag_value</a></div><div class="ttdeci">uint64_t cbor_tag_value(const cbor_item_t *item)</div><div class="ttdoc">Get tag value. </div><div class="ttdef"><b>Definition:</b> <a href="tags_8c_source.html#l00028">tags.c:28</a></div></div>
<div class="ttc" id="floats__ctrls_8c_html_a05778dc7349be636d47440f758ec96a6"><div class="ttname"><a href="floats__ctrls_8c.html#a05778dc7349be636d47440f758ec96a6">cbor_float_get_width</a></div><div class="ttdeci">cbor_float_width cbor_float_get_width(const cbor_item_t *item)</div><div class="ttdoc">Get the float width. </div><div class="ttdef"><b>Definition:</b> <a href="floats__ctrls_8c_source.html#l00012">floats_ctrls.c:12</a></div></div>
<div class="ttc" id="data_8h_html_a121c5944682215e742475f12f07c0a72"><div class="ttname"><a href="data_8h.html#a121c5944682215e742475f12f07c0a72">cbor_data</a></div><div class="ttdeci">const unsigned char * cbor_data</div><div class="ttdef"><b>Definition:</b> <a href="data_8h_source.html#l00020">data.h:20</a></div></div>
<div class="ttc" id="cbor_8c_html_ae48d76b44e6de39a98ff3599d9acda8f"><div class="ttname"><a href="cbor_8c.html#ae48d76b44e6de39a98ff3599d9acda8f">cbor_load</a></div><div class="ttdeci">cbor_item_t * cbor_load(cbor_data source, size_t source_size, struct cbor_load_result *result)</div><div class="ttdoc">Loads data item from a buffer. </div><div class="ttdef"><b>Definition:</b> <a href="cbor_8c_source.html#l00012">cbor.c:12</a></div></div>
<div class="ttc" id="struct__cbor__decoder__context_html_af21635162948fc488da3c1625f1bc278"><div class="ttname"><a href="struct__cbor__decoder__context.html#af21635162948fc488da3c1625f1bc278">_cbor_decoder_context::stack</a></div><div class="ttdeci">struct _cbor_stack * stack</div><div class="ttdef"><b>Definition:</b> <a href="builder__callbacks_8h_source.html#l00026">builder_callbacks.h:26</a></div></div>
<div class="ttc" id="ints_8c_html_adff4351ebc5bb6f69d8a2ea0c9439fc5"><div class="ttname"><a href="ints_8c.html#adff4351ebc5bb6f69d8a2ea0c9439fc5">cbor_build_uint64</a></div><div class="ttdeci">cbor_item_t * cbor_build_uint64(uint64_t value)</div><div class="ttdoc">Constructs a new positive integer. </div><div class="ttdef"><b>Definition:</b> <a href="ints_8c_source.html#l00169">ints.c:169</a></div></div>
<div class="ttc" id="cbor_8h_html"><div class="ttname"><a href="cbor_8h.html">cbor.h</a></div></div>
<div class="ttc" id="maps_8c_html_a0dccaa76ac293bb5a11dbca6d16f6253"><div class="ttname"><a href="maps_8c.html#a0dccaa76ac293bb5a11dbca6d16f6253">cbor_map_is_definite</a></div><div class="ttdeci">bool cbor_map_is_definite(const cbor_item_t *item)</div><div class="ttdoc">Is this map definite? </div><div class="ttdef"><b>Definition:</b> <a href="maps_8c_source.html#l00126">maps.c:126</a></div></div>
<div class="ttc" id="floats__ctrls_8c_html_aa85d79e0f060173a9dccdada2e551cf9"><div class="ttname"><a href="floats__ctrls_8c.html#aa85d79e0f060173a9dccdada2e551cf9">cbor_float_get_float2</a></div><div class="ttdeci">float cbor_float_get_float2(const cbor_item_t *item)</div><div class="ttdoc">Get a half precision float. </div><div class="ttdef"><b>Definition:</b> <a href="floats__ctrls_8c_source.html#l00031">floats_ctrls.c:31</a></div></div>
<div class="ttc" id="floats__ctrls_8c_html_aad0e4103cf703b5c3e856956f5a2fb96"><div class="ttname"><a href="floats__ctrls_8c.html#aad0e4103cf703b5c3e856956f5a2fb96">cbor_build_float8</a></div><div class="ttdeci">cbor_item_t * cbor_build_float8(double value)</div><div class="ttdoc">Constructs a new float. </div><div class="ttdef"><b>Definition:</b> <a href="floats__ctrls_8c_source.html#l00179">floats_ctrls.c:179</a></div></div>
<div class="ttc" id="common_8c_html_a327dce45c1cb680953555290dba8e35b"><div class="ttname"><a href="common_8c.html#a327dce45c1cb680953555290dba8e35b">cbor_move</a></div><div class="ttdeci">cbor_item_t * cbor_move(cbor_item_t *item)</div><div class="ttdoc">Provides CPP-like move construct. </div><div class="ttdef"><b>Definition:</b> <a href="common_8c_source.html#l00184">common.c:184</a></div></div>
<div class="ttc" id="builder__callbacks_8c_html_a4b0a2d222bc823bb88f9b8ba38e00f05"><div class="ttname"><a href="builder__callbacks_8c.html#a4b0a2d222bc823bb88f9b8ba38e00f05">cbor_builder_negint32_callback</a></div><div class="ttdeci">void cbor_builder_negint32_callback(void *context, uint32_t value)</div><div class="ttdef"><b>Definition:</b> <a href="builder__callbacks_8c_source.html#l00145">builder_callbacks.c:145</a></div></div>
<div class="ttc" id="floats__ctrls_8c_html_a2f215940998d05730b23b7e0e7ad8ebe"><div class="ttname"><a href="floats__ctrls_8c.html#a2f215940998d05730b23b7e0e7ad8ebe">cbor_float_get_float8</a></div><div class="ttdeci">double cbor_float_get_float8(const cbor_item_t *item)</div><div class="ttdoc">Get a double precision float. </div><div class="ttdef"><b>Definition:</b> <a href="floats__ctrls_8c_source.html#l00045">floats_ctrls.c:45</a></div></div>
<div class="ttc" id="common_8c_html_a5618a3689e31829f4f84da008e20798e"><div class="ttname"><a href="common_8c.html#a5618a3689e31829f4f84da008e20798e">cbor_is_bool</a></div><div class="ttdeci">bool cbor_is_bool(const cbor_item_t *item)</div><div class="ttdoc">Is the item an a boolean? </div><div class="ttdef"><b>Definition:</b> <a href="common_8c_source.html#l00071">common.c:71</a></div></div>
<div class="ttc" id="data_8h_html_ae0fc9740f108f0f0078b93712b061e57a3a9caf604c45ce423b332e91f7370822"><div class="ttname"><a href="data_8h.html#ae0fc9740f108f0f0078b93712b061e57a3a9caf604c45ce423b332e91f7370822">CBOR_INT_16</a></div><div class="ttdef"><b>Definition:</b> <a href="data_8h_source.html#l00048">data.h:48</a></div></div>
<div class="ttc" id="structcbor__decoder__result_html_a1b775085d3696356c9ca284ffd9a264d"><div class="ttname"><a href="structcbor__decoder__result.html#a1b775085d3696356c9ca284ffd9a264d">cbor_decoder_result::status</a></div><div class="ttdeci">enum cbor_decoder_status status</div><div class="ttdoc">The result. </div><div class="ttdef"><b>Definition:</b> <a href="data_8h_source.html#l00205">data.h:205</a></div></div>
<div class="ttc" id="builder__callbacks_8c_html_ab99cc7da548fd54ed22a6c988be037ae"><div class="ttname"><a href="builder__callbacks_8c.html#ab99cc7da548fd54ed22a6c988be037ae">cbor_builder_negint64_callback</a></div><div class="ttdeci">void cbor_builder_negint64_callback(void *context, uint64_t value)</div><div class="ttdef"><b>Definition:</b> <a href="builder__callbacks_8c_source.html#l00155">builder_callbacks.c:155</a></div></div>
<div class="ttc" id="structcbor__callbacks_html"><div class="ttname"><a href="structcbor__callbacks.html">cbor_callbacks</a></div><div class="ttdoc">Callback bundle – passed to the decoder. </div><div class="ttdef"><b>Definition:</b> <a href="callbacks_8h_source.html#l00048">callbacks.h:48</a></div></div>
<div class="ttc" id="common_8c_html_afb7eb76a2953224c96d194640f3092e3"><div class="ttname"><a href="common_8c.html#afb7eb76a2953224c96d194640f3092e3">cbor_is_undef</a></div><div class="ttdeci">bool cbor_is_undef(const cbor_item_t *item)</div><div class="ttdoc">Does this item represent undefined </div><div class="ttdef"><b>Definition:</b> <a href="common_8c_source.html#l00082">common.c:82</a></div></div>
<div class="ttc" id="builder__callbacks_8c_html_ac78462da492c7d57dfb90f7aadcadc5e"><div class="ttname"><a href="builder__callbacks_8c.html#ac78462da492c7d57dfb90f7aadcadc5e">cbor_builder_float8_callback</a></div><div class="ttdeci">void cbor_builder_float8_callback(void *context, double value)</div><div class="ttdef"><b>Definition:</b> <a href="builder__callbacks_8c_source.html#l00320">builder_callbacks.c:320</a></div></div>
<div class="ttc" id="common_8c_html_ac2b9aba4cf07857524a0a520eabeef52"><div class="ttname"><a href="common_8c.html#ac2b9aba4cf07857524a0a520eabeef52">cbor_typeof</a></div><div class="ttdeci">cbor_type cbor_typeof(const cbor_item_t *item)</div><div class="ttdoc">Get the type of the item. </div><div class="ttdef"><b>Definition:</b> <a href="common_8c_source.html#l00059">common.c:59</a></div></div>
<div class="ttc" id="loaders_8h_html"><div class="ttname"><a href="loaders_8h.html">loaders.h</a></div></div>
<div class="ttc" id="data_8h_html_a13ad43c61d917938e0ce26173e6b2eb6a001d313c68a4f7531026f63af3a755c7"><div class="ttname"><a href="data_8h.html#a13ad43c61d917938e0ce26173e6b2eb6a001d313c68a4f7531026f63af3a755c7">CBOR_ERR_SYNTAXERROR</a></div><div class="ttdoc">Stack parsing algorithm failed. </div><div class="ttdef"><b>Definition:</b> <a href="data_8h_source.html#l00042">data.h:42</a></div></div>
<div class="ttc" id="data_8h_html_abfc88122444f085a1a3fee01687329fda178d826b0e7dd7571d1f2c3be335528d"><div class="ttname"><a href="data_8h.html#abfc88122444f085a1a3fee01687329fda178d826b0e7dd7571d1f2c3be335528d">CBOR_DECODER_NEDATA</a></div><div class="ttdoc">Not enough data - mismatch with MTB. </div><div class="ttdef"><b>Definition:</b> <a href="data_8h_source.html#l00195">data.h:195</a></div></div>
<div class="ttc" id="strings_8c_html_a90c1cf7781f7ef1f3549f497abd259ef"><div class="ttname"><a href="strings_8c.html#a90c1cf7781f7ef1f3549f497abd259ef">cbor_string_codepoint_count</a></div><div class="ttdeci">size_t cbor_string_codepoint_count(const cbor_item_t *item)</div><div class="ttdoc">The number of codepoints in this string. </div><div class="ttdef"><b>Definition:</b> <a href="strings_8c_source.html#l00118">strings.c:118</a></div></div>
<div class="ttc" id="floats__ctrls_8c_html_ac0c984ec79209ad710dd960ca9566f16"><div class="ttname"><a href="floats__ctrls_8c.html#ac0c984ec79209ad710dd960ca9566f16">cbor_ctrl_is_bool</a></div><div class="ttdeci">bool cbor_ctrl_is_bool(const cbor_item_t *item)</div><div class="ttdoc">Is this ctrl item a boolean? </div><div class="ttdef"><b>Definition:</b> <a href="floats__ctrls_8c_source.html#l00092">floats_ctrls.c:92</a></div></div>
<div class="ttc" id="data_8h_html_a13ad43c61d917938e0ce26173e6b2eb6a711ecd32adcc030541f2cfb58f69856d"><div class="ttname"><a href="data_8h.html#a13ad43c61d917938e0ce26173e6b2eb6a711ecd32adcc030541f2cfb58f69856d">CBOR_ERR_NONE</a></div><div class="ttdef"><b>Definition:</b> <a href="data_8h_source.html#l00037">data.h:37</a></div></div>
<div class="ttc" id="strings_8c_html_a634462c7237298a196413cd62d7d1877"><div class="ttname"><a href="strings_8c.html#a634462c7237298a196413cd62d7d1877">cbor_string_add_chunk</a></div><div class="ttdeci">bool cbor_string_add_chunk(cbor_item_t *item, cbor_item_t *chunk)</div><div class="ttdoc">Appends a chunk to the string. </div><div class="ttdef"><b>Definition:</b> <a href="strings_8c_source.html#l00082">strings.c:82</a></div></div>
<div class="ttc" id="strings_8c_html_aa2778891e70dec4cd59c9a969294d4aa"><div class="ttname"><a href="strings_8c.html#aa2778891e70dec4cd59c9a969294d4aa">cbor_string_is_definite</a></div><div class="ttdeci">bool cbor_string_is_definite(const cbor_item_t *item)</div><div class="ttdoc">Is the string definite? </div><div class="ttdef"><b>Definition:</b> <a href="strings_8c_source.html#l00124">strings.c:124</a></div></div>
<div class="ttc" id="bytestrings_8c_html_a2c9d6feda3d0f87782168fa817f83be6"><div class="ttname"><a href="bytestrings_8c.html#a2c9d6feda3d0f87782168fa817f83be6">cbor_bytestring_handle</a></div><div class="ttdeci">unsigned char * cbor_bytestring_handle(const cbor_item_t *item)</div><div class="ttdoc">Get the handle to the binary data. </div><div class="ttdef"><b>Definition:</b> <a href="bytestrings_8c_source.html#l00018">bytestrings.c:18</a></div></div>
<div class="ttc" id="arrays_8c_html_a93d7c18019000d5e206a81a4cca70631"><div class="ttname"><a href="arrays_8c.html#a93d7c18019000d5e206a81a4cca70631">cbor_new_definite_array</a></div><div class="ttdeci">cbor_item_t * cbor_new_definite_array(size_t size)</div><div class="ttdoc">Create new definite array. </div><div class="ttdef"><b>Definition:</b> <a href="arrays_8c_source.html#l00106">arrays.c:106</a></div></div>
<div class="ttc" id="builder__callbacks_8h_html"><div class="ttname"><a href="builder__callbacks_8h.html">builder_callbacks.h</a></div></div>
<div class="ttc" id="builder__callbacks_8c_html_a95d00fb404804d93ebffdaf607f48a62"><div class="ttname"><a href="builder__callbacks_8c.html#a95d00fb404804d93ebffdaf607f48a62">cbor_builder_map_start_callback</a></div><div class="ttdeci">void cbor_builder_map_start_callback(void *context, size_t size)</div><div class="ttdef"><b>Definition:</b> <a href="builder__callbacks_8c_source.html#l00279">builder_callbacks.c:279</a></div></div>
<div class="ttc" id="builder__callbacks_8c_html_a1898083345b031539becf70203361860"><div class="ttname"><a href="builder__callbacks_8c.html#a1898083345b031539becf70203361860">cbor_builder_boolean_callback</a></div><div class="ttdeci">void cbor_builder_boolean_callback(void *context, bool value)</div><div class="ttdef"><b>Definition:</b> <a href="builder__callbacks_8c_source.html#l00345">builder_callbacks.c:345</a></div></div>
<div class="ttc" id="struct__cbor__stack__record_html_a1a1d4be830fa1e0d9c5369cddccce47e"><div class="ttname"><a href="struct__cbor__stack__record.html#a1a1d4be830fa1e0d9c5369cddccce47e">_cbor_stack_record::item</a></div><div class="ttdeci">cbor_item_t * item</div><div class="ttdef"><b>Definition:</b> <a href="stack_8h_source.html#l00020">stack.h:20</a></div></div>
<div class="ttc" id="floats__ctrls_8c_html_a2b304df65e44de17064bc3de154522fa"><div class="ttname"><a href="floats__ctrls_8c.html#a2b304df65e44de17064bc3de154522fa">cbor_float_ctrl_is_ctrl</a></div><div class="ttdeci">bool cbor_float_ctrl_is_ctrl(const cbor_item_t *item)</div><div class="ttdoc">Is this a ctrl value? </div><div class="ttdef"><b>Definition:</b> <a href="floats__ctrls_8c_source.html#l00025">floats_ctrls.c:25</a></div></div>
<div class="ttc" id="data_8h_html_a13ad43c61d917938e0ce26173e6b2eb6acdd41b7dd2155b68a7e78108551bbd9a"><div class="ttname"><a href="data_8h.html#a13ad43c61d917938e0ce26173e6b2eb6acdd41b7dd2155b68a7e78108551bbd9a">CBOR_ERR_NOTENOUGHDATA</a></div><div class="ttdef"><b>Definition:</b> <a href="data_8h_source.html#l00038">data.h:38</a></div></div>
<div class="ttc" id="strings_8c_html_aa0c17825f920ebf122bd7b9abede919f"><div class="ttname"><a href="strings_8c.html#aa0c17825f920ebf122bd7b9abede919f">cbor_string_length</a></div><div class="ttdeci">size_t cbor_string_length(const cbor_item_t *item)</div><div class="ttdoc">Returns the length of the underlying string. </div><div class="ttdef"><b>Definition:</b> <a href="strings_8c_source.html#l00106">strings.c:106</a></div></div>
<div class="ttc" id="maps_8c_html_a58ac69227f48815754651e93d15a5051"><div class="ttname"><a href="maps_8c.html#a58ac69227f48815754651e93d15a5051">cbor_new_indefinite_map</a></div><div class="ttdeci">cbor_item_t * cbor_new_indefinite_map()</div><div class="ttdoc">Create a new indefinite map. </div><div class="ttdef"><b>Definition:</b> <a href="maps_8c_source.html#l00046">maps.c:46</a></div></div>
<div class="ttc" id="builder__callbacks_8c_html_a8cac42a8aeaf19f532ccc5c21e851e8c"><div class="ttname"><a href="builder__callbacks_8c.html#a8cac42a8aeaf19f532ccc5c21e851e8c">cbor_builder_uint16_callback</a></div><div class="ttdeci">void cbor_builder_uint16_callback(void *context, uint16_t value)</div><div class="ttdef"><b>Definition:</b> <a href="builder__callbacks_8c_source.html#l00096">builder_callbacks.c:96</a></div></div>
<div class="ttc" id="maps_8c_html_af077a30d8258ab02307c24af28036fca"><div class="ttname"><a href="maps_8c.html#af077a30d8258ab02307c24af28036fca">cbor_map_add</a></div><div class="ttdeci">bool cbor_map_add(cbor_item_t *item, struct cbor_pair pair)</div><div class="ttdoc">Add a pair to the map. </div><div class="ttdef"><b>Definition:</b> <a href="maps_8c_source.html#l00118">maps.c:118</a></div></div>
<div class="ttc" id="structcbor__item__t_html"><div class="ttname"><a href="structcbor__item__t.html">cbor_item_t</a></div><div class="ttdoc">The item handle. </div><div class="ttdef"><b>Definition:</b> <a href="data_8h_source.html#l00149">data.h:149</a></div></div>
<div class="ttc" id="bytestrings_8c_html_ab76bd5ff62831739cd9a8d7ec2768c1a"><div class="ttname"><a href="bytestrings_8c.html#ab76bd5ff62831739cd9a8d7ec2768c1a">cbor_build_bytestring</a></div><div class="ttdeci">cbor_item_t * cbor_build_bytestring(cbor_data handle, size_t length)</div><div class="ttdoc">Creates a new byte string and initializes it. </div><div class="ttdef"><b>Definition:</b> <a href="bytestrings_8c_source.html#l00063">bytestrings.c:63</a></div></div>
<div class="ttc" id="builder__callbacks_8c_html_a1c0c98b6c27ac737123ecb014cb6e9c7"><div class="ttname"><a href="builder__callbacks_8c.html#a1c0c98b6c27ac737123ecb014cb6e9c7">cbor_builder_byte_string_start_callback</a></div><div class="ttdeci">void cbor_builder_byte_string_start_callback(void *context)</div><div class="ttdef"><b>Definition:</b> <a href="builder__callbacks_8c_source.html#l00197">builder_callbacks.c:197</a></div></div>
<div class="ttc" id="data_8h_html_a3a931b40fc31b51cccfd1bc3dc5fc5d6ae140516103af792c8f2af84390acfdcd"><div class="ttname"><a href="data_8h.html#a3a931b40fc31b51cccfd1bc3dc5fc5d6ae140516103af792c8f2af84390acfdcd">CBOR_TYPE_NEGINT</a></div><div class="ttdoc">1 - negative integers </div><div class="ttdef"><b>Definition:</b> <a href="data_8h_source.html#l00026">data.h:26</a></div></div>
<div class="ttc" id="maps_8c_html_a4cadc8eb7ae7ff8d3f73482fb24455c9"><div class="ttname"><a href="maps_8c.html#a4cadc8eb7ae7ff8d3f73482fb24455c9">cbor_map_handle</a></div><div class="ttdeci">struct cbor_pair * cbor_map_handle(const cbor_item_t *item)</div><div class="ttdoc">Get the pairs storage. </div><div class="ttdef"><b>Definition:</b> <a href="maps_8c_source.html#l00137">maps.c:137</a></div></div>
<div class="ttc" id="maps_8c_html_adab3c6ff2e51dcf2637567431cc6e76e"><div class="ttname"><a href="maps_8c.html#adab3c6ff2e51dcf2637567431cc6e76e">cbor_new_definite_map</a></div><div class="ttdeci">cbor_item_t * cbor_new_definite_map(size_t size)</div><div class="ttdoc">Create a new definite map. </div><div class="ttdef"><b>Definition:</b> <a href="maps_8c_source.html#l00023">maps.c:23</a></div></div>
<div class="ttc" id="arrays_8c_html_a1573139e26cf5b5acc4b0ed861291069"><div class="ttname"><a href="arrays_8c.html#a1573139e26cf5b5acc4b0ed861291069">cbor_array_get</a></div><div class="ttdeci">cbor_item_t * cbor_array_get(const cbor_item_t *item, size_t index)</div><div class="ttdoc">Get item by index. </div><div class="ttdef"><b>Definition:</b> <a href="arrays_8c_source.html#l00025">arrays.c:25</a></div></div>
<div class="ttc" id="builder__callbacks_8c_html_a28b2dc3b7b96debc8763407308c365ea"><div class="ttname"><a href="builder__callbacks_8c.html#a28b2dc3b7b96debc8763407308c365ea">cbor_builder_indef_map_start_callback</a></div><div class="ttdeci">void cbor_builder_indef_map_start_callback(void *context)</div><div class="ttdef"><b>Definition:</b> <a href="builder__callbacks_8c_source.html#l00271">builder_callbacks.c:271</a></div></div>
<div class="ttc" id="bytestrings_8c_html_a7c15a63fdc3830707eac0877a261f1cd"><div class="ttname"><a href="bytestrings_8c.html#a7c15a63fdc3830707eac0877a261f1cd">cbor_bytestring_length</a></div><div class="ttdeci">size_t cbor_bytestring_length(const cbor_item_t *item)</div><div class="ttdoc">Returns the length of the binary data. </div><div class="ttdef"><b>Definition:</b> <a href="bytestrings_8c_source.html#l00012">bytestrings.c:12</a></div></div>
<div class="ttc" id="data_8h_html_a13ad43c61d917938e0ce26173e6b2eb6ae408fbed8924a3eeb005a8c6f79136cb"><div class="ttname"><a href="data_8h.html#a13ad43c61d917938e0ce26173e6b2eb6ae408fbed8924a3eeb005a8c6f79136cb">CBOR_ERR_MEMERROR</a></div><div class="ttdoc">Memory error - item allocation failed. </div><div class="ttdef"><b>Definition:</b> <a href="data_8h_source.html#l00041">data.h:41</a></div></div>
<div class="ttc" id="structcbor__load__result_html_ac5d6290cac5893bd060f6759beef2b28"><div class="ttname"><a href="structcbor__load__result.html#ac5d6290cac5893bd060f6759beef2b28">cbor_load_result::read</a></div><div class="ttdeci">size_t read</div><div class="ttdoc">Number of bytes read. </div><div class="ttdef"><b>Definition:</b> <a href="data_8h_source.html#l00188">data.h:188</a></div></div>
<div class="ttc" id="data_8h_html_abfc88122444f085a1a3fee01687329fdace2bb1bc04e3f906bd02708e991289b8"><div class="ttname"><a href="data_8h.html#abfc88122444f085a1a3fee01687329fdace2bb1bc04e3f906bd02708e991289b8">CBOR_DECODER_EBUFFER</a></div><div class="ttdoc">Buffer manipulation problem. </div><div class="ttdef"><b>Definition:</b> <a href="data_8h_source.html#l00196">data.h:196</a></div></div>
<div class="ttc" id="data_8h_html_a13ad43c61d917938e0ce26173e6b2eb6af2783808f2e475f57583511ef5eb6ea7"><div class="ttname"><a href="data_8h.html#a13ad43c61d917938e0ce26173e6b2eb6af2783808f2e475f57583511ef5eb6ea7">CBOR_ERR_MALFORMATED</a></div><div class="ttdef"><b>Definition:</b> <a href="data_8h_source.html#l00040">data.h:40</a></div></div>
<div class="ttc" id="struct__cbor__stack_html_a559869a03a766ae041b1e385ceb34026"><div class="ttname"><a href="struct__cbor__stack.html#a559869a03a766ae041b1e385ceb34026">_cbor_stack::top</a></div><div class="ttdeci">struct _cbor_stack_record * top</div><div class="ttdef"><b>Definition:</b> <a href="stack_8h_source.html#l00026">stack.h:26</a></div></div>
<div class="ttc" id="streaming_8c_html_a99343d82e96110a364a6abc8f542172a"><div class="ttname"><a href="streaming_8c.html#a99343d82e96110a364a6abc8f542172a">cbor_stream_decode</a></div><div class="ttdeci">struct cbor_decoder_result cbor_stream_decode(cbor_data source, size_t source_size, const struct cbor_callbacks *callbacks, void *context)</div><div class="ttdoc">Stateless decoder. </div><div class="ttdef"><b>Definition:</b> <a href="streaming_8c_source.html#l00026">streaming.c:26</a></div></div>
<div class="ttc" id="arrays_8c_html_a8dd01f4a46f162fa4f06b7df7428128e"><div class="ttname"><a href="arrays_8c.html#a8dd01f4a46f162fa4f06b7df7428128e">cbor_array_handle</a></div><div class="ttdeci">cbor_item_t ** cbor_array_handle(const cbor_item_t *item)</div><div class="ttdoc">Get the array contents. </div><div class="ttdef"><b>Definition:</b> <a href="arrays_8c_source.html#l00100">arrays.c:100</a></div></div>
<div class="ttc" id="data_8h_html_a3a931b40fc31b51cccfd1bc3dc5fc5d6a057fc3133cb4465f9eb734acfd195db2"><div class="ttname"><a href="data_8h.html#a3a931b40fc31b51cccfd1bc3dc5fc5d6a057fc3133cb4465f9eb734acfd195db2">CBOR_TYPE_MAP</a></div><div class="ttdoc">5 - maps </div><div class="ttdef"><b>Definition:</b> <a href="data_8h_source.html#l00030">data.h:30</a></div></div>
<div class="ttc" id="data_8h_html_ac80d3ecbbdc88d96a7396ac986ee47e7a0b2ba87d2508e98e5f6fee7bf8beedd4"><div class="ttname"><a href="data_8h.html#ac80d3ecbbdc88d96a7396ac986ee47e7a0b2ba87d2508e98e5f6fee7bf8beedd4">CBOR_FLOAT_32</a></div><div class="ttdoc">Single float. </div><div class="ttdef"><b>Definition:</b> <a href="data_8h_source.html#l00057">data.h:57</a></div></div>
<div class="ttc" id="strings_8c_html_aa1a92438a04ae77beea9a17910805530"><div class="ttname"><a href="strings_8c.html#aa1a92438a04ae77beea9a17910805530">cbor_string_is_indefinite</a></div><div class="ttdeci">bool cbor_string_is_indefinite(const cbor_item_t *item)</div><div class="ttdoc">Is the string indefinite? </div><div class="ttdef"><b>Definition:</b> <a href="strings_8c_source.html#l00130">strings.c:130</a></div></div>
<div class="ttc" id="struct__cbor__decoder__context_html_ada14322afd080c27f3ea76b3ba657505"><div class="ttname"><a href="struct__cbor__decoder__context.html#ada14322afd080c27f3ea76b3ba657505">_cbor_decoder_context::creation_failed</a></div><div class="ttdeci">bool creation_failed</div><div class="ttdoc">Callback creating the last item has failed. </div><div class="ttdef"><b>Definition:</b> <a href="builder__callbacks_8h_source.html#l00022">builder_callbacks.h:22</a></div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Mon Feb 6 2017 00:26:19 for libcbor by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.12
</small></address>
</body>
</html>