xref: /netbsd-src/external/mit/libcbor/dist/docs/doxygen/common_8h.html (revision 5dd36a3bc8bf2a9dec29ceb6349550414570c447)
1<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2<html xmlns="http://www.w3.org/1999/xhtml">
3<head>
4<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5<meta http-equiv="X-UA-Compatible" content="IE=9"/>
6<meta name="generator" content="Doxygen 1.8.12"/>
7<meta name="viewport" content="width=device-width, initial-scale=1"/>
8<title>libcbor: src/cbor/common.h File Reference</title>
9<link href="tabs.css" rel="stylesheet" type="text/css"/>
10<script type="text/javascript" src="jquery.js"></script>
11<script type="text/javascript" src="dynsections.js"></script>
12<link href="search/search.css" rel="stylesheet" type="text/css"/>
13<script type="text/javascript" src="search/searchdata.js"></script>
14<script type="text/javascript" src="search/search.js"></script>
15<link href="doxygen.css" rel="stylesheet" type="text/css" />
16<link href="customdoxygen.css" rel="stylesheet" type="text/css"/>
17</head>
18<body>
19<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
20<div id="titlearea">
21<table cellspacing="0" cellpadding="0">
22 <tbody>
23 <tr style="height: 56px;">
24  <td id="projectalign" style="padding-left: 0.5em;">
25   <div id="projectname">libcbor
26   &#160;<span id="projectnumber">0.5.0</span>
27   </div>
28   <div id="projectbrief">libcbor is a C library for parsing and generating CBOR, the general-purpose schema-less binary data format.</div>
29  </td>
30 </tr>
31 </tbody>
32</table>
33</div>
34<!-- end header part -->
35<!-- Generated by Doxygen 1.8.12 -->
36<script type="text/javascript">
37var searchBox = new SearchBox("searchBox", "search",false,'Search');
38</script>
39<script type="text/javascript" src="menudata.js"></script>
40<script type="text/javascript" src="menu.js"></script>
41<script type="text/javascript">
42$(function() {
43  initMenu('',true,false,'search.php','Search');
44  $(document).ready(function() { init_search(); });
45});
46</script>
47<div id="main-nav"></div>
48<!-- window showing the filter options -->
49<div id="MSearchSelectWindow"
50     onmouseover="return searchBox.OnSearchSelectShow()"
51     onmouseout="return searchBox.OnSearchSelectHide()"
52     onkeydown="return searchBox.OnSearchSelectKey(event)">
53</div>
54
55<!-- iframe showing the search results (closed by default) -->
56<div id="MSearchResultsWindow">
57<iframe src="javascript:void(0)" frameborder="0"
58        name="MSearchResults" id="MSearchResults">
59</iframe>
60</div>
61
62<div id="nav-path" class="navpath">
63  <ul>
64<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_cb565ba51d82ea933604984cbab6233d.html">cbor</a></li>  </ul>
65</div>
66</div><!-- top -->
67<div class="header">
68  <div class="summary">
69<a href="#define-members">Macros</a> &#124;
70<a href="#typedef-members">Typedefs</a> &#124;
71<a href="#func-members">Functions</a> &#124;
72<a href="#var-members">Variables</a>  </div>
73  <div class="headertitle">
74<div class="title">common.h File Reference</div>  </div>
75</div><!--header-->
76<div class="contents">
77<div class="textblock"><code>#include &lt;stdlib.h&gt;</code><br />
78<code>#include &lt;stddef.h&gt;</code><br />
79<code>#include &lt;stdint.h&gt;</code><br />
80<code>#include &lt;stdbool.h&gt;</code><br />
81<code>#include &lt;assert.h&gt;</code><br />
82<code>#include &quot;<a class="el" href="data_8h_source.html">data.h</a>&quot;</code><br />
83<code>#include &quot;cbor/configuration.h&quot;</code><br />
84</div>
85<p><a href="common_8h_source.html">Go to the source code of this file.</a></p>
86<table class="memberdecls">
87<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
88Macros</h2></td></tr>
89<tr class="memitem:a9ac79315ed2dcf2c9587e8e3a9a6bc97"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="common_8h.html#a9ac79315ed2dcf2c9587e8e3a9a6bc97">CBOR_RESTRICT_POINTER</a>&#160;&#160;&#160;CBOR_RESTRICT_SPECIFIER</td></tr>
90<tr class="separator:a9ac79315ed2dcf2c9587e8e3a9a6bc97"><td class="memSeparator" colspan="2">&#160;</td></tr>
91<tr class="memitem:a956e417f98370dd1a96e4dac2e0ed7dd"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="common_8h.html#a956e417f98370dd1a96e4dac2e0ed7dd">CBOR_VERSION</a>&#160;&#160;&#160;<a class="el" href="common_8h.html#ae45fd01d870751555ae09a0257f40eb2">TO_STR</a>(CBOR_MAJOR_VERSION) &quot;.&quot; <a class="el" href="common_8h.html#ae45fd01d870751555ae09a0257f40eb2">TO_STR</a>(CBOR_MINOR_VERSION) &quot;.&quot; <a class="el" href="common_8h.html#ae45fd01d870751555ae09a0257f40eb2">TO_STR</a>(CBOR_PATCH_VERSION)</td></tr>
92<tr class="separator:a956e417f98370dd1a96e4dac2e0ed7dd"><td class="memSeparator" colspan="2">&#160;</td></tr>
93<tr class="memitem:ac61efb646fdd1936ac0ce32829f947b8"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="common_8h.html#ac61efb646fdd1936ac0ce32829f947b8">CBOR_HEX_VERSION</a>&#160;&#160;&#160;((CBOR_MAJOR_VERSION &lt;&lt; 16) | (CBOR_MINOR_VERSION &lt;&lt; 8) | CBOR_PATCH_VERSION)</td></tr>
94<tr class="separator:ac61efb646fdd1936ac0ce32829f947b8"><td class="memSeparator" colspan="2">&#160;</td></tr>
95<tr class="memitem:a7377cc956f5c81538f0fbf0a0492a539"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="common_8h.html#a7377cc956f5c81538f0fbf0a0492a539">debug_print</a>(fmt, ...)&#160;&#160;&#160;do {} while (0)</td></tr>
96<tr class="separator:a7377cc956f5c81538f0fbf0a0492a539"><td class="memSeparator" colspan="2">&#160;</td></tr>
97<tr class="memitem:a4576b20b5200a67aa939a1ce7fc27bd9"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="common_8h.html#a4576b20b5200a67aa939a1ce7fc27bd9">TO_STR_</a>(x)&#160;&#160;&#160;#x</td></tr>
98<tr class="separator:a4576b20b5200a67aa939a1ce7fc27bd9"><td class="memSeparator" colspan="2">&#160;</td></tr>
99<tr class="memitem:ae45fd01d870751555ae09a0257f40eb2"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="common_8h.html#ae45fd01d870751555ae09a0257f40eb2">TO_STR</a>(x)&#160;&#160;&#160;<a class="el" href="common_8h.html#a4576b20b5200a67aa939a1ce7fc27bd9">TO_STR_</a>(x) /* enables proper double expansion */</td></tr>
100<tr class="separator:ae45fd01d870751555ae09a0257f40eb2"><td class="memSeparator" colspan="2">&#160;</td></tr>
101<tr class="memitem:a07a781e9212fad361b0f59f7fc921057"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="common_8h.html#a07a781e9212fad361b0f59f7fc921057">_CBOR_MALLOC</a>&#160;&#160;&#160;<a class="el" href="common_8h.html#a3218c24af00a3efeaecb1716c8f5a289">_cbor_malloc</a></td></tr>
102<tr class="separator:a07a781e9212fad361b0f59f7fc921057"><td class="memSeparator" colspan="2">&#160;</td></tr>
103<tr class="memitem:a1e39038d9b8e9b3a1e6529c9ff6091b8"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="common_8h.html#a1e39038d9b8e9b3a1e6529c9ff6091b8">_CBOR_REALLOC</a>&#160;&#160;&#160;<a class="el" href="common_8h.html#a84ecc1fc92c3812ab6ced693f2c6254c">_cbor_realloc</a></td></tr>
104<tr class="separator:a1e39038d9b8e9b3a1e6529c9ff6091b8"><td class="memSeparator" colspan="2">&#160;</td></tr>
105<tr class="memitem:a1300043d7db8adf6ab67f7b787f14635"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="common_8h.html#a1300043d7db8adf6ab67f7b787f14635">_CBOR_FREE</a>&#160;&#160;&#160;<a class="el" href="common_8h.html#a994f4145360ef0bfa3c48e59a5ca7186">_cbor_free</a></td></tr>
106<tr class="separator:a1300043d7db8adf6ab67f7b787f14635"><td class="memSeparator" colspan="2">&#160;</td></tr>
107</table><table class="memberdecls">
108<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
109Typedefs</h2></td></tr>
110<tr class="memitem:ad89d15c2e3f18e8914fcdffe4d725d42"><td class="memItemLeft" align="right" valign="top">typedef void *(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="common_8h.html#ad89d15c2e3f18e8914fcdffe4d725d42">_cbor_malloc_t</a>) (size_t)</td></tr>
111<tr class="separator:ad89d15c2e3f18e8914fcdffe4d725d42"><td class="memSeparator" colspan="2">&#160;</td></tr>
112<tr class="memitem:a5b52369a95930104d33301d12faabe75"><td class="memItemLeft" align="right" valign="top">typedef void *(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="common_8h.html#a5b52369a95930104d33301d12faabe75">_cbor_realloc_t</a>) (void *, size_t)</td></tr>
113<tr class="separator:a5b52369a95930104d33301d12faabe75"><td class="memSeparator" colspan="2">&#160;</td></tr>
114<tr class="memitem:af05bb33f6d22cdac535576c8edaf208c"><td class="memItemLeft" align="right" valign="top">typedef void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="common_8h.html#af05bb33f6d22cdac535576c8edaf208c">_cbor_free_t</a>) (void *)</td></tr>
115<tr class="separator:af05bb33f6d22cdac535576c8edaf208c"><td class="memSeparator" colspan="2">&#160;</td></tr>
116</table><table class="memberdecls">
117<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
118Functions</h2></td></tr>
119<tr class="memitem:a3f9f1d527374dbb4b48ef3fafa92e0bf"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="common_8h.html#a3f9f1d527374dbb4b48ef3fafa92e0bf">cbor_set_allocs</a> (<a class="el" href="common_8h.html#ad89d15c2e3f18e8914fcdffe4d725d42">_cbor_malloc_t</a> custom_malloc, <a class="el" href="common_8h.html#a5b52369a95930104d33301d12faabe75">_cbor_realloc_t</a> custom_realloc, <a class="el" href="common_8h.html#af05bb33f6d22cdac535576c8edaf208c">_cbor_free_t</a> custom_free)</td></tr>
120<tr class="memdesc:a3f9f1d527374dbb4b48ef3fafa92e0bf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the memory management routines to use.  <a href="#a3f9f1d527374dbb4b48ef3fafa92e0bf">More...</a><br /></td></tr>
121<tr class="separator:a3f9f1d527374dbb4b48ef3fafa92e0bf"><td class="memSeparator" colspan="2">&#160;</td></tr>
122<tr class="memitem:ac2b9aba4cf07857524a0a520eabeef52"><td class="memItemLeft" align="right" valign="top"><a class="el" href="data_8h.html#a3a931b40fc31b51cccfd1bc3dc5fc5d6">cbor_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="common_8h.html#ac2b9aba4cf07857524a0a520eabeef52">cbor_typeof</a> (const <a class="el" href="structcbor__item__t.html">cbor_item_t</a> *item)</td></tr>
123<tr class="memdesc:ac2b9aba4cf07857524a0a520eabeef52"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the type of the item.  <a href="#ac2b9aba4cf07857524a0a520eabeef52">More...</a><br /></td></tr>
124<tr class="separator:ac2b9aba4cf07857524a0a520eabeef52"><td class="memSeparator" colspan="2">&#160;</td></tr>
125<tr class="memitem:a682a023f7012a5b66a57847e6f8d386f"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="common_8h.html#a682a023f7012a5b66a57847e6f8d386f">cbor_isa_uint</a> (const <a class="el" href="structcbor__item__t.html">cbor_item_t</a> *item)</td></tr>
126<tr class="memdesc:a682a023f7012a5b66a57847e6f8d386f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Does the item have the appropriate major type?  <a href="#a682a023f7012a5b66a57847e6f8d386f">More...</a><br /></td></tr>
127<tr class="separator:a682a023f7012a5b66a57847e6f8d386f"><td class="memSeparator" colspan="2">&#160;</td></tr>
128<tr class="memitem:a0ca5042e3807d2cc9c3d40f9266460dd"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="common_8h.html#a0ca5042e3807d2cc9c3d40f9266460dd">cbor_isa_negint</a> (const <a class="el" href="structcbor__item__t.html">cbor_item_t</a> *item)</td></tr>
129<tr class="memdesc:a0ca5042e3807d2cc9c3d40f9266460dd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Does the item have the appropriate major type?  <a href="#a0ca5042e3807d2cc9c3d40f9266460dd">More...</a><br /></td></tr>
130<tr class="separator:a0ca5042e3807d2cc9c3d40f9266460dd"><td class="memSeparator" colspan="2">&#160;</td></tr>
131<tr class="memitem:adedaf37527b8d8261e287a0001e5a190"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="common_8h.html#adedaf37527b8d8261e287a0001e5a190">cbor_isa_bytestring</a> (const <a class="el" href="structcbor__item__t.html">cbor_item_t</a> *item)</td></tr>
132<tr class="memdesc:adedaf37527b8d8261e287a0001e5a190"><td class="mdescLeft">&#160;</td><td class="mdescRight">Does the item have the appropriate major type?  <a href="#adedaf37527b8d8261e287a0001e5a190">More...</a><br /></td></tr>
133<tr class="separator:adedaf37527b8d8261e287a0001e5a190"><td class="memSeparator" colspan="2">&#160;</td></tr>
134<tr class="memitem:a02edd93bb8eab83bc2b8f8bf5d7d1335"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="common_8h.html#a02edd93bb8eab83bc2b8f8bf5d7d1335">cbor_isa_string</a> (const <a class="el" href="structcbor__item__t.html">cbor_item_t</a> *item)</td></tr>
135<tr class="memdesc:a02edd93bb8eab83bc2b8f8bf5d7d1335"><td class="mdescLeft">&#160;</td><td class="mdescRight">Does the item have the appropriate major type?  <a href="#a02edd93bb8eab83bc2b8f8bf5d7d1335">More...</a><br /></td></tr>
136<tr class="separator:a02edd93bb8eab83bc2b8f8bf5d7d1335"><td class="memSeparator" colspan="2">&#160;</td></tr>
137<tr class="memitem:a9ed0fa96105c211867c5032f2a5a8b20"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="common_8h.html#a9ed0fa96105c211867c5032f2a5a8b20">cbor_isa_array</a> (const <a class="el" href="structcbor__item__t.html">cbor_item_t</a> *item)</td></tr>
138<tr class="memdesc:a9ed0fa96105c211867c5032f2a5a8b20"><td class="mdescLeft">&#160;</td><td class="mdescRight">Does the item have the appropriate major type?  <a href="#a9ed0fa96105c211867c5032f2a5a8b20">More...</a><br /></td></tr>
139<tr class="separator:a9ed0fa96105c211867c5032f2a5a8b20"><td class="memSeparator" colspan="2">&#160;</td></tr>
140<tr class="memitem:af0de041481b61922d0995b63f82d8ddd"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="common_8h.html#af0de041481b61922d0995b63f82d8ddd">cbor_isa_map</a> (const <a class="el" href="structcbor__item__t.html">cbor_item_t</a> *item)</td></tr>
141<tr class="memdesc:af0de041481b61922d0995b63f82d8ddd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Does the item have the appropriate major type?  <a href="#af0de041481b61922d0995b63f82d8ddd">More...</a><br /></td></tr>
142<tr class="separator:af0de041481b61922d0995b63f82d8ddd"><td class="memSeparator" colspan="2">&#160;</td></tr>
143<tr class="memitem:a0d5054202c5ec9375e8daf5930087a61"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="common_8h.html#a0d5054202c5ec9375e8daf5930087a61">cbor_isa_tag</a> (const <a class="el" href="structcbor__item__t.html">cbor_item_t</a> *item)</td></tr>
144<tr class="memdesc:a0d5054202c5ec9375e8daf5930087a61"><td class="mdescLeft">&#160;</td><td class="mdescRight">Does the item have the appropriate major type?  <a href="#a0d5054202c5ec9375e8daf5930087a61">More...</a><br /></td></tr>
145<tr class="separator:a0d5054202c5ec9375e8daf5930087a61"><td class="memSeparator" colspan="2">&#160;</td></tr>
146<tr class="memitem:a983dec76e934c49ed6979226f9db4386"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="common_8h.html#a983dec76e934c49ed6979226f9db4386">cbor_isa_float_ctrl</a> (const <a class="el" href="structcbor__item__t.html">cbor_item_t</a> *item)</td></tr>
147<tr class="memdesc:a983dec76e934c49ed6979226f9db4386"><td class="mdescLeft">&#160;</td><td class="mdescRight">Does the item have the appropriate major type?  <a href="#a983dec76e934c49ed6979226f9db4386">More...</a><br /></td></tr>
148<tr class="separator:a983dec76e934c49ed6979226f9db4386"><td class="memSeparator" colspan="2">&#160;</td></tr>
149<tr class="memitem:a4e705f34221ba434756a4a1f8e3325e6"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="common_8h.html#a4e705f34221ba434756a4a1f8e3325e6">cbor_is_int</a> (const <a class="el" href="structcbor__item__t.html">cbor_item_t</a> *item)</td></tr>
150<tr class="memdesc:a4e705f34221ba434756a4a1f8e3325e6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Is the item an integer, either positive or negative?  <a href="#a4e705f34221ba434756a4a1f8e3325e6">More...</a><br /></td></tr>
151<tr class="separator:a4e705f34221ba434756a4a1f8e3325e6"><td class="memSeparator" colspan="2">&#160;</td></tr>
152<tr class="memitem:a4dde28c548375aa954f1cad15b3739aa"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="common_8h.html#a4dde28c548375aa954f1cad15b3739aa">cbor_is_float</a> (const <a class="el" href="structcbor__item__t.html">cbor_item_t</a> *item)</td></tr>
153<tr class="memdesc:a4dde28c548375aa954f1cad15b3739aa"><td class="mdescLeft">&#160;</td><td class="mdescRight">Is the item an a floating point number?  <a href="#a4dde28c548375aa954f1cad15b3739aa">More...</a><br /></td></tr>
154<tr class="separator:a4dde28c548375aa954f1cad15b3739aa"><td class="memSeparator" colspan="2">&#160;</td></tr>
155<tr class="memitem:a5618a3689e31829f4f84da008e20798e"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="common_8h.html#a5618a3689e31829f4f84da008e20798e">cbor_is_bool</a> (const <a class="el" href="structcbor__item__t.html">cbor_item_t</a> *item)</td></tr>
156<tr class="memdesc:a5618a3689e31829f4f84da008e20798e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Is the item an a boolean?  <a href="#a5618a3689e31829f4f84da008e20798e">More...</a><br /></td></tr>
157<tr class="separator:a5618a3689e31829f4f84da008e20798e"><td class="memSeparator" colspan="2">&#160;</td></tr>
158<tr class="memitem:ad1f5efac647b4d9c437c4441d1177e01"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="common_8h.html#ad1f5efac647b4d9c437c4441d1177e01">cbor_is_null</a> (const <a class="el" href="structcbor__item__t.html">cbor_item_t</a> *item)</td></tr>
159<tr class="memdesc:ad1f5efac647b4d9c437c4441d1177e01"><td class="mdescLeft">&#160;</td><td class="mdescRight">Does this item represent <code>null</code>  <a href="#ad1f5efac647b4d9c437c4441d1177e01">More...</a><br /></td></tr>
160<tr class="separator:ad1f5efac647b4d9c437c4441d1177e01"><td class="memSeparator" colspan="2">&#160;</td></tr>
161<tr class="memitem:afb7eb76a2953224c96d194640f3092e3"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="common_8h.html#afb7eb76a2953224c96d194640f3092e3">cbor_is_undef</a> (const <a class="el" href="structcbor__item__t.html">cbor_item_t</a> *item)</td></tr>
162<tr class="memdesc:afb7eb76a2953224c96d194640f3092e3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Does this item represent <code>undefined</code>  <a href="#afb7eb76a2953224c96d194640f3092e3">More...</a><br /></td></tr>
163<tr class="separator:afb7eb76a2953224c96d194640f3092e3"><td class="memSeparator" colspan="2">&#160;</td></tr>
164<tr class="memitem:aa62e72f275c2f0fa604896bfed18e992"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structcbor__item__t.html">cbor_item_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="common_8h.html#aa62e72f275c2f0fa604896bfed18e992">cbor_incref</a> (<a class="el" href="structcbor__item__t.html">cbor_item_t</a> *item)</td></tr>
165<tr class="memdesc:aa62e72f275c2f0fa604896bfed18e992"><td class="mdescLeft">&#160;</td><td class="mdescRight">Increases the reference count by one.  <a href="#aa62e72f275c2f0fa604896bfed18e992">More...</a><br /></td></tr>
166<tr class="separator:aa62e72f275c2f0fa604896bfed18e992"><td class="memSeparator" colspan="2">&#160;</td></tr>
167<tr class="memitem:aa10ebec46eddc9312ec46a0898b5d196"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="common_8h.html#aa10ebec46eddc9312ec46a0898b5d196">cbor_decref</a> (<a class="el" href="structcbor__item__t.html">cbor_item_t</a> **item)</td></tr>
168<tr class="memdesc:aa10ebec46eddc9312ec46a0898b5d196"><td class="mdescLeft">&#160;</td><td class="mdescRight">Decreases the reference count by one, deallocating the item if needed.  <a href="#aa10ebec46eddc9312ec46a0898b5d196">More...</a><br /></td></tr>
169<tr class="separator:aa10ebec46eddc9312ec46a0898b5d196"><td class="memSeparator" colspan="2">&#160;</td></tr>
170<tr class="memitem:a4ed20937cc091bc1f481d53787fe306b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="common_8h.html#a4ed20937cc091bc1f481d53787fe306b">cbor_intermediate_decref</a> (<a class="el" href="structcbor__item__t.html">cbor_item_t</a> *item)</td></tr>
171<tr class="memdesc:a4ed20937cc091bc1f481d53787fe306b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Decreases the reference count by one, deallocating the item if needed.  <a href="#a4ed20937cc091bc1f481d53787fe306b">More...</a><br /></td></tr>
172<tr class="separator:a4ed20937cc091bc1f481d53787fe306b"><td class="memSeparator" colspan="2">&#160;</td></tr>
173<tr class="memitem:ab27dda20ad909cebaee1b2f43e676f2c"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="common_8h.html#ab27dda20ad909cebaee1b2f43e676f2c">cbor_refcount</a> (const <a class="el" href="structcbor__item__t.html">cbor_item_t</a> *item)</td></tr>
174<tr class="memdesc:ab27dda20ad909cebaee1b2f43e676f2c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the reference count.  <a href="#ab27dda20ad909cebaee1b2f43e676f2c">More...</a><br /></td></tr>
175<tr class="separator:ab27dda20ad909cebaee1b2f43e676f2c"><td class="memSeparator" colspan="2">&#160;</td></tr>
176<tr class="memitem:a327dce45c1cb680953555290dba8e35b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structcbor__item__t.html">cbor_item_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="common_8h.html#a327dce45c1cb680953555290dba8e35b">cbor_move</a> (<a class="el" href="structcbor__item__t.html">cbor_item_t</a> *item)</td></tr>
177<tr class="memdesc:a327dce45c1cb680953555290dba8e35b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Provides CPP-like move construct.  <a href="#a327dce45c1cb680953555290dba8e35b">More...</a><br /></td></tr>
178<tr class="separator:a327dce45c1cb680953555290dba8e35b"><td class="memSeparator" colspan="2">&#160;</td></tr>
179</table><table class="memberdecls">
180<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a>
181Variables</h2></td></tr>
182<tr class="memitem:a3218c24af00a3efeaecb1716c8f5a289"><td class="memItemLeft" align="right" valign="top"><a class="el" href="common_8h.html#ad89d15c2e3f18e8914fcdffe4d725d42">_cbor_malloc_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="common_8h.html#a3218c24af00a3efeaecb1716c8f5a289">_cbor_malloc</a></td></tr>
183<tr class="separator:a3218c24af00a3efeaecb1716c8f5a289"><td class="memSeparator" colspan="2">&#160;</td></tr>
184<tr class="memitem:a84ecc1fc92c3812ab6ced693f2c6254c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="common_8h.html#a5b52369a95930104d33301d12faabe75">_cbor_realloc_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="common_8h.html#a84ecc1fc92c3812ab6ced693f2c6254c">_cbor_realloc</a></td></tr>
185<tr class="separator:a84ecc1fc92c3812ab6ced693f2c6254c"><td class="memSeparator" colspan="2">&#160;</td></tr>
186<tr class="memitem:a994f4145360ef0bfa3c48e59a5ca7186"><td class="memItemLeft" align="right" valign="top"><a class="el" href="common_8h.html#af05bb33f6d22cdac535576c8edaf208c">_cbor_free_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="common_8h.html#a994f4145360ef0bfa3c48e59a5ca7186">_cbor_free</a></td></tr>
187<tr class="separator:a994f4145360ef0bfa3c48e59a5ca7186"><td class="memSeparator" colspan="2">&#160;</td></tr>
188</table>
189<h2 class="groupheader">Macro Definition Documentation</h2>
190<a id="a1300043d7db8adf6ab67f7b787f14635"></a>
191<h2 class="memtitle"><span class="permalink"><a href="#a1300043d7db8adf6ab67f7b787f14635">&sect;&nbsp;</a></span>_CBOR_FREE</h2>
192
193<div class="memitem">
194<div class="memproto">
195      <table class="memname">
196        <tr>
197          <td class="memname">#define _CBOR_FREE&#160;&#160;&#160;<a class="el" href="common_8h.html#a994f4145360ef0bfa3c48e59a5ca7186">_cbor_free</a></td>
198        </tr>
199      </table>
200</div><div class="memdoc">
201
202<p>Definition at line <a class="el" href="common_8h_source.html#l00086">86</a> of file <a class="el" href="common_8h_source.html">common.h</a>.</p>
203
204</div>
205</div>
206<a id="a07a781e9212fad361b0f59f7fc921057"></a>
207<h2 class="memtitle"><span class="permalink"><a href="#a07a781e9212fad361b0f59f7fc921057">&sect;&nbsp;</a></span>_CBOR_MALLOC</h2>
208
209<div class="memitem">
210<div class="memproto">
211      <table class="memname">
212        <tr>
213          <td class="memname">#define _CBOR_MALLOC&#160;&#160;&#160;<a class="el" href="common_8h.html#a3218c24af00a3efeaecb1716c8f5a289">_cbor_malloc</a></td>
214        </tr>
215      </table>
216</div><div class="memdoc">
217
218<p>Definition at line <a class="el" href="common_8h_source.html#l00084">84</a> of file <a class="el" href="common_8h_source.html">common.h</a>.</p>
219
220</div>
221</div>
222<a id="a1e39038d9b8e9b3a1e6529c9ff6091b8"></a>
223<h2 class="memtitle"><span class="permalink"><a href="#a1e39038d9b8e9b3a1e6529c9ff6091b8">&sect;&nbsp;</a></span>_CBOR_REALLOC</h2>
224
225<div class="memitem">
226<div class="memproto">
227      <table class="memname">
228        <tr>
229          <td class="memname">#define _CBOR_REALLOC&#160;&#160;&#160;<a class="el" href="common_8h.html#a84ecc1fc92c3812ab6ced693f2c6254c">_cbor_realloc</a></td>
230        </tr>
231      </table>
232</div><div class="memdoc">
233
234<p>Definition at line <a class="el" href="common_8h_source.html#l00085">85</a> of file <a class="el" href="common_8h_source.html">common.h</a>.</p>
235
236</div>
237</div>
238<a id="ac61efb646fdd1936ac0ce32829f947b8"></a>
239<h2 class="memtitle"><span class="permalink"><a href="#ac61efb646fdd1936ac0ce32829f947b8">&sect;&nbsp;</a></span>CBOR_HEX_VERSION</h2>
240
241<div class="memitem">
242<div class="memproto">
243      <table class="memname">
244        <tr>
245          <td class="memname">#define CBOR_HEX_VERSION&#160;&#160;&#160;((CBOR_MAJOR_VERSION &lt;&lt; 16) | (CBOR_MINOR_VERSION &lt;&lt; 8) | CBOR_PATCH_VERSION)</td>
246        </tr>
247      </table>
248</div><div class="memdoc">
249
250<p>Definition at line <a class="el" href="common_8h_source.html#l00042">42</a> of file <a class="el" href="common_8h_source.html">common.h</a>.</p>
251
252</div>
253</div>
254<a id="a9ac79315ed2dcf2c9587e8e3a9a6bc97"></a>
255<h2 class="memtitle"><span class="permalink"><a href="#a9ac79315ed2dcf2c9587e8e3a9a6bc97">&sect;&nbsp;</a></span>CBOR_RESTRICT_POINTER</h2>
256
257<div class="memitem">
258<div class="memproto">
259      <table class="memname">
260        <tr>
261          <td class="memname">#define CBOR_RESTRICT_POINTER&#160;&#160;&#160;CBOR_RESTRICT_SPECIFIER</td>
262        </tr>
263      </table>
264</div><div class="memdoc">
265
266<p>Definition at line <a class="el" href="common_8h_source.html#l00033">33</a> of file <a class="el" href="common_8h_source.html">common.h</a>.</p>
267
268</div>
269</div>
270<a id="a956e417f98370dd1a96e4dac2e0ed7dd"></a>
271<h2 class="memtitle"><span class="permalink"><a href="#a956e417f98370dd1a96e4dac2e0ed7dd">&sect;&nbsp;</a></span>CBOR_VERSION</h2>
272
273<div class="memitem">
274<div class="memproto">
275      <table class="memname">
276        <tr>
277          <td class="memname">#define CBOR_VERSION&#160;&#160;&#160;<a class="el" href="common_8h.html#ae45fd01d870751555ae09a0257f40eb2">TO_STR</a>(CBOR_MAJOR_VERSION) &quot;.&quot; <a class="el" href="common_8h.html#ae45fd01d870751555ae09a0257f40eb2">TO_STR</a>(CBOR_MINOR_VERSION) &quot;.&quot; <a class="el" href="common_8h.html#ae45fd01d870751555ae09a0257f40eb2">TO_STR</a>(CBOR_PATCH_VERSION)</td>
278        </tr>
279      </table>
280</div><div class="memdoc">
281
282<p>Definition at line <a class="el" href="common_8h_source.html#l00041">41</a> of file <a class="el" href="common_8h_source.html">common.h</a>.</p>
283
284</div>
285</div>
286<a id="a7377cc956f5c81538f0fbf0a0492a539"></a>
287<h2 class="memtitle"><span class="permalink"><a href="#a7377cc956f5c81538f0fbf0a0492a539">&sect;&nbsp;</a></span>debug_print</h2>
288
289<div class="memitem">
290<div class="memproto">
291      <table class="memname">
292        <tr>
293          <td class="memname">#define debug_print</td>
294          <td>(</td>
295          <td class="paramtype">&#160;</td>
296          <td class="paramname">fmt, </td>
297        </tr>
298        <tr>
299          <td class="paramkey"></td>
300          <td></td>
301          <td class="paramtype">&#160;</td>
302          <td class="paramname"><em>...</em>&#160;</td>
303        </tr>
304        <tr>
305          <td></td>
306          <td>)</td>
307          <td></td><td>&#160;&#160;&#160;do {} while (0)</td>
308        </tr>
309      </table>
310</div><div class="memdoc">
311
312<p>Definition at line <a class="el" href="common_8h_source.html#l00053">53</a> of file <a class="el" href="common_8h_source.html">common.h</a>.</p>
313
314</div>
315</div>
316<a id="ae45fd01d870751555ae09a0257f40eb2"></a>
317<h2 class="memtitle"><span class="permalink"><a href="#ae45fd01d870751555ae09a0257f40eb2">&sect;&nbsp;</a></span>TO_STR</h2>
318
319<div class="memitem">
320<div class="memproto">
321      <table class="memname">
322        <tr>
323          <td class="memname">#define TO_STR</td>
324          <td>(</td>
325          <td class="paramtype">&#160;</td>
326          <td class="paramname">x</td><td>)</td>
327          <td>&#160;&#160;&#160;<a class="el" href="common_8h.html#a4576b20b5200a67aa939a1ce7fc27bd9">TO_STR_</a>(x) /* enables proper double expansion */</td>
328        </tr>
329      </table>
330</div><div class="memdoc">
331
332<p>Definition at line <a class="el" href="common_8h_source.html#l00057">57</a> of file <a class="el" href="common_8h_source.html">common.h</a>.</p>
333
334</div>
335</div>
336<a id="a4576b20b5200a67aa939a1ce7fc27bd9"></a>
337<h2 class="memtitle"><span class="permalink"><a href="#a4576b20b5200a67aa939a1ce7fc27bd9">&sect;&nbsp;</a></span>TO_STR_</h2>
338
339<div class="memitem">
340<div class="memproto">
341      <table class="memname">
342        <tr>
343          <td class="memname">#define TO_STR_</td>
344          <td>(</td>
345          <td class="paramtype">&#160;</td>
346          <td class="paramname">x</td><td>)</td>
347          <td>&#160;&#160;&#160;#x</td>
348        </tr>
349      </table>
350</div><div class="memdoc">
351
352<p>Definition at line <a class="el" href="common_8h_source.html#l00056">56</a> of file <a class="el" href="common_8h_source.html">common.h</a>.</p>
353
354</div>
355</div>
356<h2 class="groupheader">Typedef Documentation</h2>
357<a id="af05bb33f6d22cdac535576c8edaf208c"></a>
358<h2 class="memtitle"><span class="permalink"><a href="#af05bb33f6d22cdac535576c8edaf208c">&sect;&nbsp;</a></span>_cbor_free_t</h2>
359
360<div class="memitem">
361<div class="memproto">
362      <table class="memname">
363        <tr>
364          <td class="memname">typedef void(*  _cbor_free_t) (void *)</td>
365        </tr>
366      </table>
367</div><div class="memdoc">
368
369<p>Definition at line <a class="el" href="common_8h_source.html#l00063">63</a> of file <a class="el" href="common_8h_source.html">common.h</a>.</p>
370
371</div>
372</div>
373<a id="ad89d15c2e3f18e8914fcdffe4d725d42"></a>
374<h2 class="memtitle"><span class="permalink"><a href="#ad89d15c2e3f18e8914fcdffe4d725d42">&sect;&nbsp;</a></span>_cbor_malloc_t</h2>
375
376<div class="memitem">
377<div class="memproto">
378      <table class="memname">
379        <tr>
380          <td class="memname">typedef void*(*  _cbor_malloc_t) (size_t)</td>
381        </tr>
382      </table>
383</div><div class="memdoc">
384
385<p>Definition at line <a class="el" href="common_8h_source.html#l00061">61</a> of file <a class="el" href="common_8h_source.html">common.h</a>.</p>
386
387</div>
388</div>
389<a id="a5b52369a95930104d33301d12faabe75"></a>
390<h2 class="memtitle"><span class="permalink"><a href="#a5b52369a95930104d33301d12faabe75">&sect;&nbsp;</a></span>_cbor_realloc_t</h2>
391
392<div class="memitem">
393<div class="memproto">
394      <table class="memname">
395        <tr>
396          <td class="memname">typedef void*(*  _cbor_realloc_t) (void *, size_t)</td>
397        </tr>
398      </table>
399</div><div class="memdoc">
400
401<p>Definition at line <a class="el" href="common_8h_source.html#l00062">62</a> of file <a class="el" href="common_8h_source.html">common.h</a>.</p>
402
403</div>
404</div>
405<h2 class="groupheader">Function Documentation</h2>
406<a id="aa10ebec46eddc9312ec46a0898b5d196"></a>
407<h2 class="memtitle"><span class="permalink"><a href="#aa10ebec46eddc9312ec46a0898b5d196">&sect;&nbsp;</a></span>cbor_decref()</h2>
408
409<div class="memitem">
410<div class="memproto">
411      <table class="memname">
412        <tr>
413          <td class="memname">void cbor_decref </td>
414          <td>(</td>
415          <td class="paramtype"><a class="el" href="structcbor__item__t.html">cbor_item_t</a> **&#160;</td>
416          <td class="paramname"><em>item</em></td><td>)</td>
417          <td></td>
418        </tr>
419      </table>
420</div><div class="memdoc">
421
422<p>Decreases the reference count by one, deallocating the item if needed. </p>
423<p>In case the item is deallocated, the reference count of any dependent items is adjusted accordingly in a recursive manner.</p>
424<dl class="params"><dt>Parameters</dt><dd>
425  <table class="params">
426    <tr><td class="paramname">item[take]</td><td>the item. Set to <code>NULL</code> if deallocated </td></tr>
427  </table>
428  </dd>
429</dl>
430
431<p>Definition at line <a class="el" href="common_8c_source.html#l00099">99</a> of file <a class="el" href="common_8c_source.html">common.c</a>.</p>
432
433</div>
434</div>
435<a id="aa62e72f275c2f0fa604896bfed18e992"></a>
436<h2 class="memtitle"><span class="permalink"><a href="#aa62e72f275c2f0fa604896bfed18e992">&sect;&nbsp;</a></span>cbor_incref()</h2>
437
438<div class="memitem">
439<div class="memproto">
440      <table class="memname">
441        <tr>
442          <td class="memname"><a class="el" href="structcbor__item__t.html">cbor_item_t</a>* cbor_incref </td>
443          <td>(</td>
444          <td class="paramtype"><a class="el" href="structcbor__item__t.html">cbor_item_t</a> *&#160;</td>
445          <td class="paramname"><em>item</em></td><td>)</td>
446          <td></td>
447        </tr>
448      </table>
449</div><div class="memdoc">
450
451<p>Increases the reference count by one. </p>
452<p>No dependent items are affected.</p>
453<dl class="params"><dt>Parameters</dt><dd>
454  <table class="params">
455    <tr><td class="paramname">item[incref]</td><td>item the item </td></tr>
456  </table>
457  </dd>
458</dl>
459<dl class="section return"><dt>Returns</dt><dd>the input reference </dd></dl>
460
461<p>Definition at line <a class="el" href="common_8c_source.html#l00093">93</a> of file <a class="el" href="common_8c_source.html">common.c</a>.</p>
462
463</div>
464</div>
465<a id="a4ed20937cc091bc1f481d53787fe306b"></a>
466<h2 class="memtitle"><span class="permalink"><a href="#a4ed20937cc091bc1f481d53787fe306b">&sect;&nbsp;</a></span>cbor_intermediate_decref()</h2>
467
468<div class="memitem">
469<div class="memproto">
470      <table class="memname">
471        <tr>
472          <td class="memname">void cbor_intermediate_decref </td>
473          <td>(</td>
474          <td class="paramtype"><a class="el" href="structcbor__item__t.html">cbor_item_t</a> *&#160;</td>
475          <td class="paramname"><em>item</em></td><td>)</td>
476          <td></td>
477        </tr>
478      </table>
479</div><div class="memdoc">
480
481<p>Decreases the reference count by one, deallocating the item if needed. </p>
482<p>Convenience wrapper for <a class="el" href="common_8h.html#aa10ebec46eddc9312ec46a0898b5d196" title="Decreases the reference count by one, deallocating the item if needed. ">cbor_decref</a> when its set-to-null behavior is not needed</p>
483<dl class="params"><dt>Parameters</dt><dd>
484  <table class="params">
485    <tr><td class="paramname">item[take]</td><td>the item </td></tr>
486  </table>
487  </dd>
488</dl>
489
490<p>Definition at line <a class="el" href="common_8c_source.html#l00174">174</a> of file <a class="el" href="common_8c_source.html">common.c</a>.</p>
491
492</div>
493</div>
494<a id="a5618a3689e31829f4f84da008e20798e"></a>
495<h2 class="memtitle"><span class="permalink"><a href="#a5618a3689e31829f4f84da008e20798e">&sect;&nbsp;</a></span>cbor_is_bool()</h2>
496
497<div class="memitem">
498<div class="memproto">
499      <table class="memname">
500        <tr>
501          <td class="memname">bool cbor_is_bool </td>
502          <td>(</td>
503          <td class="paramtype">const <a class="el" href="structcbor__item__t.html">cbor_item_t</a> *&#160;</td>
504          <td class="paramname"><em>item</em></td><td>)</td>
505          <td></td>
506        </tr>
507      </table>
508</div><div class="memdoc">
509
510<p>Is the item an a boolean? </p>
511<dl class="params"><dt>Parameters</dt><dd>
512  <table class="params">
513    <tr><td class="paramname">item[borrow]</td><td>the item </td></tr>
514  </table>
515  </dd>
516</dl>
517<dl class="section return"><dt>Returns</dt><dd>Is the item a boolean? </dd></dl>
518
519<p>Definition at line <a class="el" href="common_8c_source.html#l00071">71</a> of file <a class="el" href="common_8c_source.html">common.c</a>.</p>
520
521</div>
522</div>
523<a id="a4dde28c548375aa954f1cad15b3739aa"></a>
524<h2 class="memtitle"><span class="permalink"><a href="#a4dde28c548375aa954f1cad15b3739aa">&sect;&nbsp;</a></span>cbor_is_float()</h2>
525
526<div class="memitem">
527<div class="memproto">
528      <table class="memname">
529        <tr>
530          <td class="memname">bool cbor_is_float </td>
531          <td>(</td>
532          <td class="paramtype">const <a class="el" href="structcbor__item__t.html">cbor_item_t</a> *&#160;</td>
533          <td class="paramname"><em>item</em></td><td>)</td>
534          <td></td>
535        </tr>
536      </table>
537</div><div class="memdoc">
538
539<p>Is the item an a floating point number? </p>
540<dl class="params"><dt>Parameters</dt><dd>
541  <table class="params">
542    <tr><td class="paramname">item[borrow]</td><td>the item </td></tr>
543  </table>
544  </dd>
545</dl>
546<dl class="section return"><dt>Returns</dt><dd>Is the item a floating point number? </dd></dl>
547
548<p>Definition at line <a class="el" href="common_8c_source.html#l00087">87</a> of file <a class="el" href="common_8c_source.html">common.c</a>.</p>
549
550</div>
551</div>
552<a id="a4e705f34221ba434756a4a1f8e3325e6"></a>
553<h2 class="memtitle"><span class="permalink"><a href="#a4e705f34221ba434756a4a1f8e3325e6">&sect;&nbsp;</a></span>cbor_is_int()</h2>
554
555<div class="memitem">
556<div class="memproto">
557      <table class="memname">
558        <tr>
559          <td class="memname">bool cbor_is_int </td>
560          <td>(</td>
561          <td class="paramtype">const <a class="el" href="structcbor__item__t.html">cbor_item_t</a> *&#160;</td>
562          <td class="paramname"><em>item</em></td><td>)</td>
563          <td></td>
564        </tr>
565      </table>
566</div><div class="memdoc">
567
568<p>Is the item an integer, either positive or negative? </p>
569<dl class="params"><dt>Parameters</dt><dd>
570  <table class="params">
571    <tr><td class="paramname">item[borrow]</td><td>the item </td></tr>
572  </table>
573  </dd>
574</dl>
575<dl class="section return"><dt>Returns</dt><dd>Is the item an integer, either positive or negative? </dd></dl>
576
577<p>Definition at line <a class="el" href="common_8c_source.html#l00065">65</a> of file <a class="el" href="common_8c_source.html">common.c</a>.</p>
578
579</div>
580</div>
581<a id="ad1f5efac647b4d9c437c4441d1177e01"></a>
582<h2 class="memtitle"><span class="permalink"><a href="#ad1f5efac647b4d9c437c4441d1177e01">&sect;&nbsp;</a></span>cbor_is_null()</h2>
583
584<div class="memitem">
585<div class="memproto">
586      <table class="memname">
587        <tr>
588          <td class="memname">bool cbor_is_null </td>
589          <td>(</td>
590          <td class="paramtype">const <a class="el" href="structcbor__item__t.html">cbor_item_t</a> *&#160;</td>
591          <td class="paramname"><em>item</em></td><td>)</td>
592          <td></td>
593        </tr>
594      </table>
595</div><div class="memdoc">
596
597<p>Does this item represent <code>null</code> </p>
598<pre class="fragment">embed:rst:leading-asterisk
599* .. warning:: This is in no way related to the value of the pointer. Passing a null pointer will most likely result in a crash.
600* </pre> <dl class="params"><dt>Parameters</dt><dd>
601  <table class="params">
602    <tr><td class="paramname">item[borrow]</td><td>the item </td></tr>
603  </table>
604  </dd>
605</dl>
606<dl class="section return"><dt>Returns</dt><dd>Is the item (CBOR logical) null? </dd></dl>
607
608<p>Definition at line <a class="el" href="common_8c_source.html#l00077">77</a> of file <a class="el" href="common_8c_source.html">common.c</a>.</p>
609
610</div>
611</div>
612<a id="afb7eb76a2953224c96d194640f3092e3"></a>
613<h2 class="memtitle"><span class="permalink"><a href="#afb7eb76a2953224c96d194640f3092e3">&sect;&nbsp;</a></span>cbor_is_undef()</h2>
614
615<div class="memitem">
616<div class="memproto">
617      <table class="memname">
618        <tr>
619          <td class="memname">bool cbor_is_undef </td>
620          <td>(</td>
621          <td class="paramtype">const <a class="el" href="structcbor__item__t.html">cbor_item_t</a> *&#160;</td>
622          <td class="paramname"><em>item</em></td><td>)</td>
623          <td></td>
624        </tr>
625      </table>
626</div><div class="memdoc">
627
628<p>Does this item represent <code>undefined</code> </p>
629<pre class="fragment">embed:rst:leading-asterisk
630* .. warning:: Care must be taken to distinguish nulls and undefined values in C.
631* </pre> <dl class="params"><dt>Parameters</dt><dd>
632  <table class="params">
633    <tr><td class="paramname">item[borrow]</td><td>the item </td></tr>
634  </table>
635  </dd>
636</dl>
637<dl class="section return"><dt>Returns</dt><dd>Is the item (CBOR logical) undefined? </dd></dl>
638
639<p>Definition at line <a class="el" href="common_8c_source.html#l00082">82</a> of file <a class="el" href="common_8c_source.html">common.c</a>.</p>
640
641</div>
642</div>
643<a id="a9ed0fa96105c211867c5032f2a5a8b20"></a>
644<h2 class="memtitle"><span class="permalink"><a href="#a9ed0fa96105c211867c5032f2a5a8b20">&sect;&nbsp;</a></span>cbor_isa_array()</h2>
645
646<div class="memitem">
647<div class="memproto">
648      <table class="memname">
649        <tr>
650          <td class="memname">bool cbor_isa_array </td>
651          <td>(</td>
652          <td class="paramtype">const <a class="el" href="structcbor__item__t.html">cbor_item_t</a> *&#160;</td>
653          <td class="paramname"><em>item</em></td><td>)</td>
654          <td></td>
655        </tr>
656      </table>
657</div><div class="memdoc">
658
659<p>Does the item have the appropriate major type? </p>
660<dl class="params"><dt>Parameters</dt><dd>
661  <table class="params">
662    <tr><td class="paramname">item[borrow]</td><td>the item </td></tr>
663  </table>
664  </dd>
665</dl>
666<dl class="section return"><dt>Returns</dt><dd>Is the item an <a class="el" href="data_8h.html#a3a931b40fc31b51cccfd1bc3dc5fc5d6ae48b04b3538ade49d7eae9ee6b656103" title="4 - arrays ">CBOR_TYPE_ARRAY</a>? </dd></dl>
667
668<p>Definition at line <a class="el" href="common_8c_source.html#l00038">38</a> of file <a class="el" href="common_8c_source.html">common.c</a>.</p>
669
670</div>
671</div>
672<a id="adedaf37527b8d8261e287a0001e5a190"></a>
673<h2 class="memtitle"><span class="permalink"><a href="#adedaf37527b8d8261e287a0001e5a190">&sect;&nbsp;</a></span>cbor_isa_bytestring()</h2>
674
675<div class="memitem">
676<div class="memproto">
677      <table class="memname">
678        <tr>
679          <td class="memname">bool cbor_isa_bytestring </td>
680          <td>(</td>
681          <td class="paramtype">const <a class="el" href="structcbor__item__t.html">cbor_item_t</a> *&#160;</td>
682          <td class="paramname"><em>item</em></td><td>)</td>
683          <td></td>
684        </tr>
685      </table>
686</div><div class="memdoc">
687
688<p>Does the item have the appropriate major type? </p>
689<dl class="params"><dt>Parameters</dt><dd>
690  <table class="params">
691    <tr><td class="paramname">item[borrow]</td><td>the item </td></tr>
692  </table>
693  </dd>
694</dl>
695<dl class="section return"><dt>Returns</dt><dd>Is the item a <a class="el" href="data_8h.html#a3a931b40fc31b51cccfd1bc3dc5fc5d6a70b9f0b5958c8d51f15ad7bb7c4af01d" title="2 - byte strings ">CBOR_TYPE_BYTESTRING</a>? </dd></dl>
696
697<p>Definition at line <a class="el" href="common_8c_source.html#l00028">28</a> of file <a class="el" href="common_8c_source.html">common.c</a>.</p>
698
699</div>
700</div>
701<a id="a983dec76e934c49ed6979226f9db4386"></a>
702<h2 class="memtitle"><span class="permalink"><a href="#a983dec76e934c49ed6979226f9db4386">&sect;&nbsp;</a></span>cbor_isa_float_ctrl()</h2>
703
704<div class="memitem">
705<div class="memproto">
706      <table class="memname">
707        <tr>
708          <td class="memname">bool cbor_isa_float_ctrl </td>
709          <td>(</td>
710          <td class="paramtype">const <a class="el" href="structcbor__item__t.html">cbor_item_t</a> *&#160;</td>
711          <td class="paramname"><em>item</em></td><td>)</td>
712          <td></td>
713        </tr>
714      </table>
715</div><div class="memdoc">
716
717<p>Does the item have the appropriate major type? </p>
718<dl class="params"><dt>Parameters</dt><dd>
719  <table class="params">
720    <tr><td class="paramname">item[borrow]</td><td>the item </td></tr>
721  </table>
722  </dd>
723</dl>
724<dl class="section return"><dt>Returns</dt><dd>Is the item a <a class="el" href="data_8h.html#a3a931b40fc31b51cccfd1bc3dc5fc5d6a1276dcc4ac56df5fd7e0270344a6e57d" title="7 - decimals and special values (true, false, nil, ...) ">CBOR_TYPE_FLOAT_CTRL</a>? </dd></dl>
725
726<p>Definition at line <a class="el" href="common_8c_source.html#l00053">53</a> of file <a class="el" href="common_8c_source.html">common.c</a>.</p>
727
728</div>
729</div>
730<a id="af0de041481b61922d0995b63f82d8ddd"></a>
731<h2 class="memtitle"><span class="permalink"><a href="#af0de041481b61922d0995b63f82d8ddd">&sect;&nbsp;</a></span>cbor_isa_map()</h2>
732
733<div class="memitem">
734<div class="memproto">
735      <table class="memname">
736        <tr>
737          <td class="memname">bool cbor_isa_map </td>
738          <td>(</td>
739          <td class="paramtype">const <a class="el" href="structcbor__item__t.html">cbor_item_t</a> *&#160;</td>
740          <td class="paramname"><em>item</em></td><td>)</td>
741          <td></td>
742        </tr>
743      </table>
744</div><div class="memdoc">
745
746<p>Does the item have the appropriate major type? </p>
747<dl class="params"><dt>Parameters</dt><dd>
748  <table class="params">
749    <tr><td class="paramname">item[borrow]</td><td>the item </td></tr>
750  </table>
751  </dd>
752</dl>
753<dl class="section return"><dt>Returns</dt><dd>Is the item a <a class="el" href="data_8h.html#a3a931b40fc31b51cccfd1bc3dc5fc5d6a057fc3133cb4465f9eb734acfd195db2" title="5 - maps ">CBOR_TYPE_MAP</a>? </dd></dl>
754
755<p>Definition at line <a class="el" href="common_8c_source.html#l00043">43</a> of file <a class="el" href="common_8c_source.html">common.c</a>.</p>
756
757</div>
758</div>
759<a id="a0ca5042e3807d2cc9c3d40f9266460dd"></a>
760<h2 class="memtitle"><span class="permalink"><a href="#a0ca5042e3807d2cc9c3d40f9266460dd">&sect;&nbsp;</a></span>cbor_isa_negint()</h2>
761
762<div class="memitem">
763<div class="memproto">
764      <table class="memname">
765        <tr>
766          <td class="memname">bool cbor_isa_negint </td>
767          <td>(</td>
768          <td class="paramtype">const <a class="el" href="structcbor__item__t.html">cbor_item_t</a> *&#160;</td>
769          <td class="paramname"><em>item</em></td><td>)</td>
770          <td></td>
771        </tr>
772      </table>
773</div><div class="memdoc">
774
775<p>Does the item have the appropriate major type? </p>
776<dl class="params"><dt>Parameters</dt><dd>
777  <table class="params">
778    <tr><td class="paramname">item[borrow]</td><td>the item </td></tr>
779  </table>
780  </dd>
781</dl>
782<dl class="section return"><dt>Returns</dt><dd>Is the item a <a class="el" href="data_8h.html#a3a931b40fc31b51cccfd1bc3dc5fc5d6ae140516103af792c8f2af84390acfdcd" title="1 - negative integers ">CBOR_TYPE_NEGINT</a>? </dd></dl>
783
784<p>Definition at line <a class="el" href="common_8c_source.html#l00023">23</a> of file <a class="el" href="common_8c_source.html">common.c</a>.</p>
785
786</div>
787</div>
788<a id="a02edd93bb8eab83bc2b8f8bf5d7d1335"></a>
789<h2 class="memtitle"><span class="permalink"><a href="#a02edd93bb8eab83bc2b8f8bf5d7d1335">&sect;&nbsp;</a></span>cbor_isa_string()</h2>
790
791<div class="memitem">
792<div class="memproto">
793      <table class="memname">
794        <tr>
795          <td class="memname">bool cbor_isa_string </td>
796          <td>(</td>
797          <td class="paramtype">const <a class="el" href="structcbor__item__t.html">cbor_item_t</a> *&#160;</td>
798          <td class="paramname"><em>item</em></td><td>)</td>
799          <td></td>
800        </tr>
801      </table>
802</div><div class="memdoc">
803
804<p>Does the item have the appropriate major type? </p>
805<dl class="params"><dt>Parameters</dt><dd>
806  <table class="params">
807    <tr><td class="paramname">item[borrow]</td><td>the item </td></tr>
808  </table>
809  </dd>
810</dl>
811<dl class="section return"><dt>Returns</dt><dd>Is the item a <a class="el" href="data_8h.html#a3a931b40fc31b51cccfd1bc3dc5fc5d6ae05102a66420250eacd5f17b95d04443" title="3 - strings ">CBOR_TYPE_STRING</a>? </dd></dl>
812
813<p>Definition at line <a class="el" href="common_8c_source.html#l00033">33</a> of file <a class="el" href="common_8c_source.html">common.c</a>.</p>
814
815</div>
816</div>
817<a id="a0d5054202c5ec9375e8daf5930087a61"></a>
818<h2 class="memtitle"><span class="permalink"><a href="#a0d5054202c5ec9375e8daf5930087a61">&sect;&nbsp;</a></span>cbor_isa_tag()</h2>
819
820<div class="memitem">
821<div class="memproto">
822      <table class="memname">
823        <tr>
824          <td class="memname">bool cbor_isa_tag </td>
825          <td>(</td>
826          <td class="paramtype">const <a class="el" href="structcbor__item__t.html">cbor_item_t</a> *&#160;</td>
827          <td class="paramname"><em>item</em></td><td>)</td>
828          <td></td>
829        </tr>
830      </table>
831</div><div class="memdoc">
832
833<p>Does the item have the appropriate major type? </p>
834<dl class="params"><dt>Parameters</dt><dd>
835  <table class="params">
836    <tr><td class="paramname">item[borrow]</td><td>the item </td></tr>
837  </table>
838  </dd>
839</dl>
840<dl class="section return"><dt>Returns</dt><dd>Is the item a <a class="el" href="data_8h.html#a3a931b40fc31b51cccfd1bc3dc5fc5d6a16f0eaf29eeea66fe37ec1ed0fa45415" title="6 - tags ">CBOR_TYPE_TAG</a>? </dd></dl>
841
842<p>Definition at line <a class="el" href="common_8c_source.html#l00048">48</a> of file <a class="el" href="common_8c_source.html">common.c</a>.</p>
843
844</div>
845</div>
846<a id="a682a023f7012a5b66a57847e6f8d386f"></a>
847<h2 class="memtitle"><span class="permalink"><a href="#a682a023f7012a5b66a57847e6f8d386f">&sect;&nbsp;</a></span>cbor_isa_uint()</h2>
848
849<div class="memitem">
850<div class="memproto">
851      <table class="memname">
852        <tr>
853          <td class="memname">bool cbor_isa_uint </td>
854          <td>(</td>
855          <td class="paramtype">const <a class="el" href="structcbor__item__t.html">cbor_item_t</a> *&#160;</td>
856          <td class="paramname"><em>item</em></td><td>)</td>
857          <td></td>
858        </tr>
859      </table>
860</div><div class="memdoc">
861
862<p>Does the item have the appropriate major type? </p>
863<dl class="params"><dt>Parameters</dt><dd>
864  <table class="params">
865    <tr><td class="paramname">item[borrow]</td><td>the item </td></tr>
866  </table>
867  </dd>
868</dl>
869<dl class="section return"><dt>Returns</dt><dd>Is the item an <a class="el" href="data_8h.html#a3a931b40fc31b51cccfd1bc3dc5fc5d6a2137d55d8028e37ff4319a633ef0634f" title="0 - positive integers ">CBOR_TYPE_UINT</a>? </dd></dl>
870
871<p>Definition at line <a class="el" href="common_8c_source.html#l00018">18</a> of file <a class="el" href="common_8c_source.html">common.c</a>.</p>
872
873</div>
874</div>
875<a id="a327dce45c1cb680953555290dba8e35b"></a>
876<h2 class="memtitle"><span class="permalink"><a href="#a327dce45c1cb680953555290dba8e35b">&sect;&nbsp;</a></span>cbor_move()</h2>
877
878<div class="memitem">
879<div class="memproto">
880      <table class="memname">
881        <tr>
882          <td class="memname"><a class="el" href="structcbor__item__t.html">cbor_item_t</a>* cbor_move </td>
883          <td>(</td>
884          <td class="paramtype"><a class="el" href="structcbor__item__t.html">cbor_item_t</a> *&#160;</td>
885          <td class="paramname"><em>item</em></td><td>)</td>
886          <td></td>
887        </tr>
888      </table>
889</div><div class="memdoc">
890
891<p>Provides CPP-like move construct. </p>
892<p>Decreases the reference count by one, but does not deallocate the item even if its refcount reaches zero. This is useful for passing intermediate values to functions that increase reference count. Should only be used with functions that <code>incref</code> their arguments.</p>
893<pre class="fragment">embed:rst:leading-asterisk
894* .. warning:: If the item is moved without correctly increasing the reference count afterwards, the memory will be leaked.
895* </pre><dl class="params"><dt>Parameters</dt><dd>
896  <table class="params">
897    <tr><td class="paramname">item[take]</td><td>the item </td></tr>
898  </table>
899  </dd>
900</dl>
901<dl class="section return"><dt>Returns</dt><dd>the item with reference count decreased by one </dd></dl>
902
903<p>Definition at line <a class="el" href="common_8c_source.html#l00184">184</a> of file <a class="el" href="common_8c_source.html">common.c</a>.</p>
904
905</div>
906</div>
907<a id="ab27dda20ad909cebaee1b2f43e676f2c"></a>
908<h2 class="memtitle"><span class="permalink"><a href="#ab27dda20ad909cebaee1b2f43e676f2c">&sect;&nbsp;</a></span>cbor_refcount()</h2>
909
910<div class="memitem">
911<div class="memproto">
912      <table class="memname">
913        <tr>
914          <td class="memname">size_t cbor_refcount </td>
915          <td>(</td>
916          <td class="paramtype">const <a class="el" href="structcbor__item__t.html">cbor_item_t</a> *&#160;</td>
917          <td class="paramname"><em>item</em></td><td>)</td>
918          <td></td>
919        </tr>
920      </table>
921</div><div class="memdoc">
922
923<p>Get the reference count. </p>
924<pre class="fragment">embed:rst:leading-asterisk
925* .. warning:: This does *not* account for transitive references.
926* </pre><dl class="params"><dt>Parameters</dt><dd>
927  <table class="params">
928    <tr><td class="paramname">item[borrow]</td><td>the item </td></tr>
929  </table>
930  </dd>
931</dl>
932<dl class="section return"><dt>Returns</dt><dd>the reference count </dd></dl>
933
934<p>Definition at line <a class="el" href="common_8c_source.html#l00179">179</a> of file <a class="el" href="common_8c_source.html">common.c</a>.</p>
935
936</div>
937</div>
938<a id="a3f9f1d527374dbb4b48ef3fafa92e0bf"></a>
939<h2 class="memtitle"><span class="permalink"><a href="#a3f9f1d527374dbb4b48ef3fafa92e0bf">&sect;&nbsp;</a></span>cbor_set_allocs()</h2>
940
941<div class="memitem">
942<div class="memproto">
943      <table class="memname">
944        <tr>
945          <td class="memname">void cbor_set_allocs </td>
946          <td>(</td>
947          <td class="paramtype"><a class="el" href="common_8h.html#ad89d15c2e3f18e8914fcdffe4d725d42">_cbor_malloc_t</a>&#160;</td>
948          <td class="paramname"><em>custom_malloc</em>, </td>
949        </tr>
950        <tr>
951          <td class="paramkey"></td>
952          <td></td>
953          <td class="paramtype"><a class="el" href="common_8h.html#a5b52369a95930104d33301d12faabe75">_cbor_realloc_t</a>&#160;</td>
954          <td class="paramname"><em>custom_realloc</em>, </td>
955        </tr>
956        <tr>
957          <td class="paramkey"></td>
958          <td></td>
959          <td class="paramtype"><a class="el" href="common_8h.html#af05bb33f6d22cdac535576c8edaf208c">_cbor_free_t</a>&#160;</td>
960          <td class="paramname"><em>custom_free</em>&#160;</td>
961        </tr>
962        <tr>
963          <td></td>
964          <td>)</td>
965          <td></td><td></td>
966        </tr>
967      </table>
968</div><div class="memdoc">
969
970<p>Sets the memory management routines to use. </p>
971<p>Only available when CBOR_CUSTOM_ALLOC is truthy</p>
972<pre class="fragment">embed:rst:leading-asterisk
973* .. warning:: This function modifies the global state and should therefore be used accordingly. Changing the memory handlers while allocated items exist will result in a ``free``/``malloc`` mismatch. This function is not thread safe with respect to both itself and all the other *libcbor* functions that work with the heap.
974* .. note:: `realloc` implementation must correctly support `NULL` reallocation
975* </pre><dl class="params"><dt>Parameters</dt><dd>
976  <table class="params">
977    <tr><td class="paramname">custom_malloc</td><td>malloc implementation </td></tr>
978    <tr><td class="paramname">custom_realloc</td><td>realloc implementation </td></tr>
979    <tr><td class="paramname">custom_free</td><td>free implementation </td></tr>
980  </table>
981  </dd>
982</dl>
983
984<p>Definition at line <a class="el" href="allocators_8c_source.html#l00014">14</a> of file <a class="el" href="allocators_8c_source.html">allocators.c</a>.</p>
985
986</div>
987</div>
988<a id="ac2b9aba4cf07857524a0a520eabeef52"></a>
989<h2 class="memtitle"><span class="permalink"><a href="#ac2b9aba4cf07857524a0a520eabeef52">&sect;&nbsp;</a></span>cbor_typeof()</h2>
990
991<div class="memitem">
992<div class="memproto">
993      <table class="memname">
994        <tr>
995          <td class="memname"><a class="el" href="data_8h.html#a3a931b40fc31b51cccfd1bc3dc5fc5d6">cbor_type</a> cbor_typeof </td>
996          <td>(</td>
997          <td class="paramtype">const <a class="el" href="structcbor__item__t.html">cbor_item_t</a> *&#160;</td>
998          <td class="paramname"><em>item</em></td><td>)</td>
999          <td></td>
1000        </tr>
1001      </table>
1002</div><div class="memdoc">
1003
1004<p>Get the type of the item. </p>
1005<dl class="params"><dt>Parameters</dt><dd>
1006  <table class="params">
1007    <tr><td class="paramname">item[borrow]</td><td></td></tr>
1008  </table>
1009  </dd>
1010</dl>
1011<dl class="section return"><dt>Returns</dt><dd>The type </dd></dl>
1012
1013<p>Definition at line <a class="el" href="common_8c_source.html#l00059">59</a> of file <a class="el" href="common_8c_source.html">common.c</a>.</p>
1014
1015</div>
1016</div>
1017<h2 class="groupheader">Variable Documentation</h2>
1018<a id="a994f4145360ef0bfa3c48e59a5ca7186"></a>
1019<h2 class="memtitle"><span class="permalink"><a href="#a994f4145360ef0bfa3c48e59a5ca7186">&sect;&nbsp;</a></span>_cbor_free</h2>
1020
1021<div class="memitem">
1022<div class="memproto">
1023      <table class="memname">
1024        <tr>
1025          <td class="memname"><a class="el" href="common_8h.html#af05bb33f6d22cdac535576c8edaf208c">_cbor_free_t</a> _cbor_free</td>
1026        </tr>
1027      </table>
1028</div><div class="memdoc">
1029
1030<p>Definition at line <a class="el" href="allocators_8c_source.html#l00012">12</a> of file <a class="el" href="allocators_8c_source.html">allocators.c</a>.</p>
1031
1032</div>
1033</div>
1034<a id="a3218c24af00a3efeaecb1716c8f5a289"></a>
1035<h2 class="memtitle"><span class="permalink"><a href="#a3218c24af00a3efeaecb1716c8f5a289">&sect;&nbsp;</a></span>_cbor_malloc</h2>
1036
1037<div class="memitem">
1038<div class="memproto">
1039      <table class="memname">
1040        <tr>
1041          <td class="memname"><a class="el" href="common_8h.html#ad89d15c2e3f18e8914fcdffe4d725d42">_cbor_malloc_t</a> _cbor_malloc</td>
1042        </tr>
1043      </table>
1044</div><div class="memdoc">
1045
1046<p>Definition at line <a class="el" href="allocators_8c_source.html#l00010">10</a> of file <a class="el" href="allocators_8c_source.html">allocators.c</a>.</p>
1047
1048</div>
1049</div>
1050<a id="a84ecc1fc92c3812ab6ced693f2c6254c"></a>
1051<h2 class="memtitle"><span class="permalink"><a href="#a84ecc1fc92c3812ab6ced693f2c6254c">&sect;&nbsp;</a></span>_cbor_realloc</h2>
1052
1053<div class="memitem">
1054<div class="memproto">
1055      <table class="memname">
1056        <tr>
1057          <td class="memname"><a class="el" href="common_8h.html#a5b52369a95930104d33301d12faabe75">_cbor_realloc_t</a> _cbor_realloc</td>
1058        </tr>
1059      </table>
1060</div><div class="memdoc">
1061
1062<p>Definition at line <a class="el" href="allocators_8c_source.html#l00011">11</a> of file <a class="el" href="allocators_8c_source.html">allocators.c</a>.</p>
1063
1064</div>
1065</div>
1066</div><!-- contents -->
1067<!-- start footer part -->
1068<hr class="footer"/><address class="footer"><small>
1069Generated on Mon Feb 6 2017 00:26:19 for libcbor by &#160;<a href="http://www.doxygen.org/index.html">
1070<img class="footer" src="doxygen.png" alt="doxygen"/>
1071</a> 1.8.12
1072</small></address>
1073</body>
1074</html>
1075