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  <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> | 70<a href="#typedef-members">Typedefs</a> | 71<a href="#func-members">Functions</a> | 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 <stdlib.h></code><br /> 78<code>#include <stddef.h></code><br /> 79<code>#include <stdint.h></code><br /> 80<code>#include <stdbool.h></code><br /> 81<code>#include <assert.h></code><br /> 82<code>#include "<a class="el" href="data_8h_source.html">data.h</a>"</code><br /> 83<code>#include "cbor/configuration.h"</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 </td><td class="memItemRight" valign="bottom"><a class="el" href="common_8h.html#a9ac79315ed2dcf2c9587e8e3a9a6bc97">CBOR_RESTRICT_POINTER</a>   CBOR_RESTRICT_SPECIFIER</td></tr> 90<tr class="separator:a9ac79315ed2dcf2c9587e8e3a9a6bc97"><td class="memSeparator" colspan="2"> </td></tr> 91<tr class="memitem:a956e417f98370dd1a96e4dac2e0ed7dd"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="common_8h.html#a956e417f98370dd1a96e4dac2e0ed7dd">CBOR_VERSION</a>   <a class="el" href="common_8h.html#ae45fd01d870751555ae09a0257f40eb2">TO_STR</a>(CBOR_MAJOR_VERSION) "." <a class="el" href="common_8h.html#ae45fd01d870751555ae09a0257f40eb2">TO_STR</a>(CBOR_MINOR_VERSION) "." <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"> </td></tr> 93<tr class="memitem:ac61efb646fdd1936ac0ce32829f947b8"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="common_8h.html#ac61efb646fdd1936ac0ce32829f947b8">CBOR_HEX_VERSION</a>   ((CBOR_MAJOR_VERSION << 16) | (CBOR_MINOR_VERSION << 8) | CBOR_PATCH_VERSION)</td></tr> 94<tr class="separator:ac61efb646fdd1936ac0ce32829f947b8"><td class="memSeparator" colspan="2"> </td></tr> 95<tr class="memitem:a7377cc956f5c81538f0fbf0a0492a539"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="common_8h.html#a7377cc956f5c81538f0fbf0a0492a539">debug_print</a>(fmt, ...)   do {} while (0)</td></tr> 96<tr class="separator:a7377cc956f5c81538f0fbf0a0492a539"><td class="memSeparator" colspan="2"> </td></tr> 97<tr class="memitem:a4576b20b5200a67aa939a1ce7fc27bd9"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="common_8h.html#a4576b20b5200a67aa939a1ce7fc27bd9">TO_STR_</a>(x)   #x</td></tr> 98<tr class="separator:a4576b20b5200a67aa939a1ce7fc27bd9"><td class="memSeparator" colspan="2"> </td></tr> 99<tr class="memitem:ae45fd01d870751555ae09a0257f40eb2"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="common_8h.html#ae45fd01d870751555ae09a0257f40eb2">TO_STR</a>(x)   <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"> </td></tr> 101<tr class="memitem:a07a781e9212fad361b0f59f7fc921057"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="common_8h.html#a07a781e9212fad361b0f59f7fc921057">_CBOR_MALLOC</a>   <a class="el" href="common_8h.html#a3218c24af00a3efeaecb1716c8f5a289">_cbor_malloc</a></td></tr> 102<tr class="separator:a07a781e9212fad361b0f59f7fc921057"><td class="memSeparator" colspan="2"> </td></tr> 103<tr class="memitem:a1e39038d9b8e9b3a1e6529c9ff6091b8"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="common_8h.html#a1e39038d9b8e9b3a1e6529c9ff6091b8">_CBOR_REALLOC</a>   <a class="el" href="common_8h.html#a84ecc1fc92c3812ab6ced693f2c6254c">_cbor_realloc</a></td></tr> 104<tr class="separator:a1e39038d9b8e9b3a1e6529c9ff6091b8"><td class="memSeparator" colspan="2"> </td></tr> 105<tr class="memitem:a1300043d7db8adf6ab67f7b787f14635"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="common_8h.html#a1300043d7db8adf6ab67f7b787f14635">_CBOR_FREE</a>   <a class="el" href="common_8h.html#a994f4145360ef0bfa3c48e59a5ca7186">_cbor_free</a></td></tr> 106<tr class="separator:a1300043d7db8adf6ab67f7b787f14635"><td class="memSeparator" colspan="2"> </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 *(* </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"> </td></tr> 112<tr class="memitem:a5b52369a95930104d33301d12faabe75"><td class="memItemLeft" align="right" valign="top">typedef void *(* </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"> </td></tr> 114<tr class="memitem:af05bb33f6d22cdac535576c8edaf208c"><td class="memItemLeft" align="right" valign="top">typedef void(* </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"> </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 </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"> </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"> </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> </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"> </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"> </td></tr> 125<tr class="memitem:a682a023f7012a5b66a57847e6f8d386f"><td class="memItemLeft" align="right" valign="top">bool </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"> </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"> </td></tr> 128<tr class="memitem:a0ca5042e3807d2cc9c3d40f9266460dd"><td class="memItemLeft" align="right" valign="top">bool </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"> </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"> </td></tr> 131<tr class="memitem:adedaf37527b8d8261e287a0001e5a190"><td class="memItemLeft" align="right" valign="top">bool </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"> </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"> </td></tr> 134<tr class="memitem:a02edd93bb8eab83bc2b8f8bf5d7d1335"><td class="memItemLeft" align="right" valign="top">bool </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"> </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"> </td></tr> 137<tr class="memitem:a9ed0fa96105c211867c5032f2a5a8b20"><td class="memItemLeft" align="right" valign="top">bool </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"> </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"> </td></tr> 140<tr class="memitem:af0de041481b61922d0995b63f82d8ddd"><td class="memItemLeft" align="right" valign="top">bool </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"> </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"> </td></tr> 143<tr class="memitem:a0d5054202c5ec9375e8daf5930087a61"><td class="memItemLeft" align="right" valign="top">bool </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"> </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"> </td></tr> 146<tr class="memitem:a983dec76e934c49ed6979226f9db4386"><td class="memItemLeft" align="right" valign="top">bool </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"> </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"> </td></tr> 149<tr class="memitem:a4e705f34221ba434756a4a1f8e3325e6"><td class="memItemLeft" align="right" valign="top">bool </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"> </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"> </td></tr> 152<tr class="memitem:a4dde28c548375aa954f1cad15b3739aa"><td class="memItemLeft" align="right" valign="top">bool </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"> </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"> </td></tr> 155<tr class="memitem:a5618a3689e31829f4f84da008e20798e"><td class="memItemLeft" align="right" valign="top">bool </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"> </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"> </td></tr> 158<tr class="memitem:ad1f5efac647b4d9c437c4441d1177e01"><td class="memItemLeft" align="right" valign="top">bool </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"> </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"> </td></tr> 161<tr class="memitem:afb7eb76a2953224c96d194640f3092e3"><td class="memItemLeft" align="right" valign="top">bool </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"> </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"> </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> * </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"> </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"> </td></tr> 167<tr class="memitem:aa10ebec46eddc9312ec46a0898b5d196"><td class="memItemLeft" align="right" valign="top">void </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"> </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"> </td></tr> 170<tr class="memitem:a4ed20937cc091bc1f481d53787fe306b"><td class="memItemLeft" align="right" valign="top">void </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"> </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"> </td></tr> 173<tr class="memitem:ab27dda20ad909cebaee1b2f43e676f2c"><td class="memItemLeft" align="right" valign="top">size_t </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"> </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"> </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> * </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"> </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"> </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> </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"> </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> </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"> </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> </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"> </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">§ </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   <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">§ </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   <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">§ </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   <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">§ </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   ((CBOR_MAJOR_VERSION << 16) | (CBOR_MINOR_VERSION << 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">§ </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   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">§ </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   <a class="el" href="common_8h.html#ae45fd01d870751555ae09a0257f40eb2">TO_STR</a>(CBOR_MAJOR_VERSION) "." <a class="el" href="common_8h.html#ae45fd01d870751555ae09a0257f40eb2">TO_STR</a>(CBOR_MINOR_VERSION) "." <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">§ </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"> </td> 296 <td class="paramname">fmt, </td> 297 </tr> 298 <tr> 299 <td class="paramkey"></td> 300 <td></td> 301 <td class="paramtype"> </td> 302 <td class="paramname"><em>...</em> </td> 303 </tr> 304 <tr> 305 <td></td> 306 <td>)</td> 307 <td></td><td>   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">§ </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"> </td> 326 <td class="paramname">x</td><td>)</td> 327 <td>   <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">§ </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"> </td> 346 <td class="paramname">x</td><td>)</td> 347 <td>   #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">§ </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">§ </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">§ </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">§ </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> ** </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">§ </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> * </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">§ </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> * </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">§ </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> * </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">§ </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> * </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">§ </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> * </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">§ </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> * </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">§ </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> * </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">§ </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> * </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">§ </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> * </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">§ </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> * </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">§ </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> * </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">§ </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> * </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">§ </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> * </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">§ </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> * </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">§ </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> * </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">§ </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> * </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">§ </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> * </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">§ </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> </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> </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> </td> 960 <td class="paramname"><em>custom_free</em> </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">§ </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> * </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">§ </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">§ </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">§ </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  <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