blob: c8a96c7694ebf7a52f62836d4be0dfef5ad5cfa9 [file] [log] [blame]
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.20"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Qpid Proton C API: Data</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function() { init_search(); });
/* @license-end */
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">Qpid Proton C API
&#160;<span id="projectnumber">0.32.0</span>
</div>
</td>
<td> <div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="search/mag_sel.svg"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.svg" alt=""/></a>
</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.20 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('group__data.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="summary">
<a href="#typedef-members">Typedefs</a> &#124;
<a href="#func-members">Functions</a> </div>
<div class="headertitle">
<div class="title">Data<div class="ingroups"><a class="el" href="group__codec.html">Codec</a></div></div> </div>
</div><!--header-->
<div class="contents">
<p>A data structure for AMQP data.
<a href="#details">More...</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr class="memitem:ga5d6cf528776e8b6ad6d67caf095986bf"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf">pn_data_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf">pn_data_t</a></td></tr>
<tr class="memdesc:ga5d6cf528776e8b6ad6d67caf095986bf"><td class="mdescLeft">&#160;</td><td class="mdescRight">An AMQP Data object. <a href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf">More...</a><br /></td></tr>
<tr class="separator:ga5d6cf528776e8b6ad6d67caf095986bf"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:gac21c6f1c517ac486e2923baa3d0c5db4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf">pn_data_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__data.html#gac21c6f1c517ac486e2923baa3d0c5db4">pn_data</a> (size_t capacity)</td></tr>
<tr class="memdesc:gac21c6f1c517ac486e2923baa3d0c5db4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Construct a pn_data_t object with the supplied initial capacity. <a href="group__data.html#gac21c6f1c517ac486e2923baa3d0c5db4">More...</a><br /></td></tr>
<tr class="separator:gac21c6f1c517ac486e2923baa3d0c5db4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga2c02eee58084ba9b77a37c086e195802"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__data.html#ga2c02eee58084ba9b77a37c086e195802">pn_data_free</a> (<a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf">pn_data_t</a> *data)</td></tr>
<tr class="memdesc:ga2c02eee58084ba9b77a37c086e195802"><td class="mdescLeft">&#160;</td><td class="mdescRight">Free a pn_data_t object. <a href="group__data.html#ga2c02eee58084ba9b77a37c086e195802">More...</a><br /></td></tr>
<tr class="separator:ga2c02eee58084ba9b77a37c086e195802"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga68e94dfa5d7ab568425c4a6587bac1db"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__data.html#ga68e94dfa5d7ab568425c4a6587bac1db">pn_data_errno</a> (<a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf">pn_data_t</a> *data)</td></tr>
<tr class="memdesc:ga68e94dfa5d7ab568425c4a6587bac1db"><td class="mdescLeft">&#160;</td><td class="mdescRight">Access the current error code for a given pn_data_t. <a href="group__data.html#ga68e94dfa5d7ab568425c4a6587bac1db">More...</a><br /></td></tr>
<tr class="separator:ga68e94dfa5d7ab568425c4a6587bac1db"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gada171f4740e6a1132b4d4b9c0aea645c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__error.html#ga24a289d5b32c9bd8a775600a5af83d52">pn_error_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__data.html#gada171f4740e6a1132b4d4b9c0aea645c">pn_data_error</a> (<a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf">pn_data_t</a> *data)</td></tr>
<tr class="memdesc:gada171f4740e6a1132b4d4b9c0aea645c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Access the current error for a given pn_data_t. <a href="group__data.html#gada171f4740e6a1132b4d4b9c0aea645c">More...</a><br /></td></tr>
<tr class="separator:gada171f4740e6a1132b4d4b9c0aea645c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7611c1394e80b5166b8b8647659f97e6"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__data.html#ga7611c1394e80b5166b8b8647659f97e6">pn_data_clear</a> (<a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf">pn_data_t</a> *data)</td></tr>
<tr class="memdesc:ga7611c1394e80b5166b8b8647659f97e6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Clears a pn_data_t object. <a href="group__data.html#ga7611c1394e80b5166b8b8647659f97e6">More...</a><br /></td></tr>
<tr class="separator:ga7611c1394e80b5166b8b8647659f97e6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga148ae972de23a6694cd18a510eee4856"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__data.html#ga148ae972de23a6694cd18a510eee4856">pn_data_size</a> (<a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf">pn_data_t</a> *data)</td></tr>
<tr class="memdesc:ga148ae972de23a6694cd18a510eee4856"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the total number of nodes contained in a pn_data_t object. <a href="group__data.html#ga148ae972de23a6694cd18a510eee4856">More...</a><br /></td></tr>
<tr class="separator:ga148ae972de23a6694cd18a510eee4856"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga26d61fd9b512c322344d410384202005"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__data.html#ga26d61fd9b512c322344d410384202005">pn_data_rewind</a> (<a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf">pn_data_t</a> *data)</td></tr>
<tr class="memdesc:ga26d61fd9b512c322344d410384202005"><td class="mdescLeft">&#160;</td><td class="mdescRight">Clears current node pointer and sets the parent to the root node. <a href="group__data.html#ga26d61fd9b512c322344d410384202005">More...</a><br /></td></tr>
<tr class="separator:ga26d61fd9b512c322344d410384202005"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga96c9a1c5f179036cd9513c50c0ac57de"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__data.html#ga96c9a1c5f179036cd9513c50c0ac57de">pn_data_next</a> (<a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf">pn_data_t</a> *data)</td></tr>
<tr class="memdesc:ga96c9a1c5f179036cd9513c50c0ac57de"><td class="mdescLeft">&#160;</td><td class="mdescRight">Advances the current node to its next sibling and returns true. <a href="group__data.html#ga96c9a1c5f179036cd9513c50c0ac57de">More...</a><br /></td></tr>
<tr class="separator:ga96c9a1c5f179036cd9513c50c0ac57de"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9ee214dd19c845f76e29651682732e16"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__data.html#ga9ee214dd19c845f76e29651682732e16">pn_data_prev</a> (<a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf">pn_data_t</a> *data)</td></tr>
<tr class="memdesc:ga9ee214dd19c845f76e29651682732e16"><td class="mdescLeft">&#160;</td><td class="mdescRight">Moves the current node to its previous sibling and returns true. <a href="group__data.html#ga9ee214dd19c845f76e29651682732e16">More...</a><br /></td></tr>
<tr class="separator:ga9ee214dd19c845f76e29651682732e16"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1093449b80357dabf3f70a4bf804f4f7"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__data.html#ga1093449b80357dabf3f70a4bf804f4f7">pn_data_enter</a> (<a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf">pn_data_t</a> *data)</td></tr>
<tr class="memdesc:ga1093449b80357dabf3f70a4bf804f4f7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the parent node to the current node and clears the current node. <a href="group__data.html#ga1093449b80357dabf3f70a4bf804f4f7">More...</a><br /></td></tr>
<tr class="separator:ga1093449b80357dabf3f70a4bf804f4f7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga67a656cbdbf0a47a223ff1c8507ecf48"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__data.html#ga67a656cbdbf0a47a223ff1c8507ecf48">pn_data_exit</a> (<a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf">pn_data_t</a> *data)</td></tr>
<tr class="memdesc:ga67a656cbdbf0a47a223ff1c8507ecf48"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the current node to the parent node and the parent node to its own parent. <a href="group__data.html#ga67a656cbdbf0a47a223ff1c8507ecf48">More...</a><br /></td></tr>
<tr class="separator:ga67a656cbdbf0a47a223ff1c8507ecf48"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga2843b707e33437a8673e8b904c8faea1"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__amqp__types.html#ga4465b5ea7d3c4f15c1dffa4deda905db">pn_type_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__data.html#ga2843b707e33437a8673e8b904c8faea1">pn_data_type</a> (<a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf">pn_data_t</a> *data)</td></tr>
<tr class="memdesc:ga2843b707e33437a8673e8b904c8faea1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Access the type of the current node. <a href="group__data.html#ga2843b707e33437a8673e8b904c8faea1">More...</a><br /></td></tr>
<tr class="separator:ga2843b707e33437a8673e8b904c8faea1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaaf46509788aba824bb16343b566f1929"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__data.html#gaaf46509788aba824bb16343b566f1929">pn_data_print</a> (<a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf">pn_data_t</a> *data)</td></tr>
<tr class="memdesc:gaaf46509788aba824bb16343b566f1929"><td class="mdescLeft">&#160;</td><td class="mdescRight">Prints the contents of a pn_data_t object using <a class="el" href="group__data.html#gaa63068cf2ed94f05b20f6c49c908a2c6" title="Formats the contents of a pn_data_t object in a human readable way and writes them to the indicated l...">pn_data_format()</a> to stdout. <a href="group__data.html#gaaf46509788aba824bb16343b566f1929">More...</a><br /></td></tr>
<tr class="separator:gaaf46509788aba824bb16343b566f1929"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa63068cf2ed94f05b20f6c49c908a2c6"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__data.html#gaa63068cf2ed94f05b20f6c49c908a2c6">pn_data_format</a> (<a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf">pn_data_t</a> *data, char *bytes, size_t *size)</td></tr>
<tr class="memdesc:gaa63068cf2ed94f05b20f6c49c908a2c6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Formats the contents of a pn_data_t object in a human readable way and writes them to the indicated location. <a href="group__data.html#gaa63068cf2ed94f05b20f6c49c908a2c6">More...</a><br /></td></tr>
<tr class="separator:gaa63068cf2ed94f05b20f6c49c908a2c6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga5502724bcde68615bc47e09a3335b527"><td class="memItemLeft" align="right" valign="top">ssize_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__data.html#ga5502724bcde68615bc47e09a3335b527">pn_data_encode</a> (<a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf">pn_data_t</a> *data, char *bytes, size_t size)</td></tr>
<tr class="memdesc:ga5502724bcde68615bc47e09a3335b527"><td class="mdescLeft">&#160;</td><td class="mdescRight">Writes the contents of a data object to the given buffer as an AMQP data stream. <a href="group__data.html#ga5502724bcde68615bc47e09a3335b527">More...</a><br /></td></tr>
<tr class="separator:ga5502724bcde68615bc47e09a3335b527"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae71bfb440cc4f0b15fe958bf55a3f6af"><td class="memItemLeft" align="right" valign="top">ssize_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__data.html#gae71bfb440cc4f0b15fe958bf55a3f6af">pn_data_encoded_size</a> (<a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf">pn_data_t</a> *data)</td></tr>
<tr class="memdesc:gae71bfb440cc4f0b15fe958bf55a3f6af"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the number of bytes needed to encode a data object. <a href="group__data.html#gae71bfb440cc4f0b15fe958bf55a3f6af">More...</a><br /></td></tr>
<tr class="separator:gae71bfb440cc4f0b15fe958bf55a3f6af"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga74430b712be334a05861cfd5e9b312b9"><td class="memItemLeft" align="right" valign="top">ssize_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__data.html#ga74430b712be334a05861cfd5e9b312b9">pn_data_decode</a> (<a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf">pn_data_t</a> *data, const char *bytes, size_t size)</td></tr>
<tr class="memdesc:ga74430b712be334a05861cfd5e9b312b9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Decodes a single value from the contents of the AMQP data stream into the current data object. <a href="group__data.html#ga74430b712be334a05861cfd5e9b312b9">More...</a><br /></td></tr>
<tr class="separator:ga74430b712be334a05861cfd5e9b312b9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga95c0c0750831ee3b8454af8bc51a787b"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__data.html#ga95c0c0750831ee3b8454af8bc51a787b">pn_data_put_list</a> (<a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf">pn_data_t</a> *data)</td></tr>
<tr class="memdesc:ga95c0c0750831ee3b8454af8bc51a787b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Puts an empty list value into a pn_data_t. <a href="group__data.html#ga95c0c0750831ee3b8454af8bc51a787b">More...</a><br /></td></tr>
<tr class="separator:ga95c0c0750831ee3b8454af8bc51a787b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga4c77c7a884bbd9a757b31060962d8543"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__data.html#ga4c77c7a884bbd9a757b31060962d8543">pn_data_put_map</a> (<a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf">pn_data_t</a> *data)</td></tr>
<tr class="memdesc:ga4c77c7a884bbd9a757b31060962d8543"><td class="mdescLeft">&#160;</td><td class="mdescRight">Puts an empty map value into a pn_data_t. <a href="group__data.html#ga4c77c7a884bbd9a757b31060962d8543">More...</a><br /></td></tr>
<tr class="separator:ga4c77c7a884bbd9a757b31060962d8543"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga20dda5db37c55c12b28e428c311b79da"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__data.html#ga20dda5db37c55c12b28e428c311b79da">pn_data_put_array</a> (<a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf">pn_data_t</a> *data, bool described, <a class="el" href="group__amqp__types.html#ga4465b5ea7d3c4f15c1dffa4deda905db">pn_type_t</a> type)</td></tr>
<tr class="memdesc:ga20dda5db37c55c12b28e428c311b79da"><td class="mdescLeft">&#160;</td><td class="mdescRight">Puts an empty array value into a pn_data_t. <a href="group__data.html#ga20dda5db37c55c12b28e428c311b79da">More...</a><br /></td></tr>
<tr class="separator:ga20dda5db37c55c12b28e428c311b79da"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7490c3ee3444557fba3c7ad92e0f0d77"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__data.html#ga7490c3ee3444557fba3c7ad92e0f0d77">pn_data_put_described</a> (<a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf">pn_data_t</a> *data)</td></tr>
<tr class="memdesc:ga7490c3ee3444557fba3c7ad92e0f0d77"><td class="mdescLeft">&#160;</td><td class="mdescRight">Puts a described value into a pn_data_t object. <a href="group__data.html#ga7490c3ee3444557fba3c7ad92e0f0d77">More...</a><br /></td></tr>
<tr class="separator:ga7490c3ee3444557fba3c7ad92e0f0d77"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf76476c18ae09c520a3ae01eaa62cc92"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__data.html#gaf76476c18ae09c520a3ae01eaa62cc92">pn_data_put_null</a> (<a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf">pn_data_t</a> *data)</td></tr>
<tr class="memdesc:gaf76476c18ae09c520a3ae01eaa62cc92"><td class="mdescLeft">&#160;</td><td class="mdescRight">Puts a <a class="el" href="group__amqp__types.html#gga4465b5ea7d3c4f15c1dffa4deda905dbaee48efaa3cb0c5b5d16c5b869b7e8fbe" title="The NULL AMQP type.">PN_NULL</a> value. <a href="group__data.html#gaf76476c18ae09c520a3ae01eaa62cc92">More...</a><br /></td></tr>
<tr class="separator:gaf76476c18ae09c520a3ae01eaa62cc92"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga4a35f7001de91101d78143e4e98e6556"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__data.html#ga4a35f7001de91101d78143e4e98e6556">pn_data_put_bool</a> (<a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf">pn_data_t</a> *data, bool b)</td></tr>
<tr class="memdesc:ga4a35f7001de91101d78143e4e98e6556"><td class="mdescLeft">&#160;</td><td class="mdescRight">Puts a <a class="el" href="group__amqp__types.html#gga4465b5ea7d3c4f15c1dffa4deda905dba2d6444a931a66258de3c73ad01238ae7" title="The boolean AMQP type.">PN_BOOL</a> value. <a href="group__data.html#ga4a35f7001de91101d78143e4e98e6556">More...</a><br /></td></tr>
<tr class="separator:ga4a35f7001de91101d78143e4e98e6556"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga49df9ede673853123d84861c169d6113"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__data.html#ga49df9ede673853123d84861c169d6113">pn_data_put_ubyte</a> (<a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf">pn_data_t</a> *data, uint8_t ub)</td></tr>
<tr class="memdesc:ga49df9ede673853123d84861c169d6113"><td class="mdescLeft">&#160;</td><td class="mdescRight">Puts a <a class="el" href="group__amqp__types.html#gga4465b5ea7d3c4f15c1dffa4deda905dba99223ec8d1ae5d915a1eaa7e8fef0256" title="The unsigned byte AMQP type.">PN_UBYTE</a> value. <a href="group__data.html#ga49df9ede673853123d84861c169d6113">More...</a><br /></td></tr>
<tr class="separator:ga49df9ede673853123d84861c169d6113"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga182347d1d444bf6290b39239c4c13d0f"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__data.html#ga182347d1d444bf6290b39239c4c13d0f">pn_data_put_byte</a> (<a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf">pn_data_t</a> *data, int8_t b)</td></tr>
<tr class="memdesc:ga182347d1d444bf6290b39239c4c13d0f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Puts a <a class="el" href="group__amqp__types.html#gga4465b5ea7d3c4f15c1dffa4deda905dba32d7a9a461945791cb02902af9ff6592" title="The byte AMQP type.">PN_BYTE</a> value. <a href="group__data.html#ga182347d1d444bf6290b39239c4c13d0f">More...</a><br /></td></tr>
<tr class="separator:ga182347d1d444bf6290b39239c4c13d0f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9b5888f354a3a3b084c74186ed59284c"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__data.html#ga9b5888f354a3a3b084c74186ed59284c">pn_data_put_ushort</a> (<a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf">pn_data_t</a> *data, uint16_t us)</td></tr>
<tr class="memdesc:ga9b5888f354a3a3b084c74186ed59284c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Puts a <a class="el" href="group__amqp__types.html#gga4465b5ea7d3c4f15c1dffa4deda905dba657a836a5ee74d9468924982ba3a3b41" title="The unsigned short AMQP type.">PN_USHORT</a> value. <a href="group__data.html#ga9b5888f354a3a3b084c74186ed59284c">More...</a><br /></td></tr>
<tr class="separator:ga9b5888f354a3a3b084c74186ed59284c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab230cca5089c6c28c4c12d507513fde9"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__data.html#gab230cca5089c6c28c4c12d507513fde9">pn_data_put_short</a> (<a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf">pn_data_t</a> *data, int16_t s)</td></tr>
<tr class="memdesc:gab230cca5089c6c28c4c12d507513fde9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Puts a <a class="el" href="group__amqp__types.html#gga4465b5ea7d3c4f15c1dffa4deda905dba3dbf1221e02329a7f41b41e597833d97" title="The short AMQP type.">PN_SHORT</a> value. <a href="group__data.html#gab230cca5089c6c28c4c12d507513fde9">More...</a><br /></td></tr>
<tr class="separator:gab230cca5089c6c28c4c12d507513fde9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga549ee35ecd73ac55e9e8aa196a6ba2ec"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__data.html#ga549ee35ecd73ac55e9e8aa196a6ba2ec">pn_data_put_uint</a> (<a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf">pn_data_t</a> *data, uint32_t ui)</td></tr>
<tr class="memdesc:ga549ee35ecd73ac55e9e8aa196a6ba2ec"><td class="mdescLeft">&#160;</td><td class="mdescRight">Puts a <a class="el" href="group__amqp__types.html#gga4465b5ea7d3c4f15c1dffa4deda905dbaa7a251ed9fe5c31f0473976467bfefdd" title="The unsigned int AMQP type.">PN_UINT</a> value. <a href="group__data.html#ga549ee35ecd73ac55e9e8aa196a6ba2ec">More...</a><br /></td></tr>
<tr class="separator:ga549ee35ecd73ac55e9e8aa196a6ba2ec"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6cfb9e64b87f8d90a5b4237ca016a016"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__data.html#ga6cfb9e64b87f8d90a5b4237ca016a016">pn_data_put_int</a> (<a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf">pn_data_t</a> *data, int32_t i)</td></tr>
<tr class="memdesc:ga6cfb9e64b87f8d90a5b4237ca016a016"><td class="mdescLeft">&#160;</td><td class="mdescRight">Puts a <a class="el" href="group__amqp__types.html#gga4465b5ea7d3c4f15c1dffa4deda905dba175c594857c135ea2a9c3a2d415366ab" title="The signed int AMQP type.">PN_INT</a> value. <a href="group__data.html#ga6cfb9e64b87f8d90a5b4237ca016a016">More...</a><br /></td></tr>
<tr class="separator:ga6cfb9e64b87f8d90a5b4237ca016a016"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad406a4cf5bbc22b47cae78954b44c9ef"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__data.html#gad406a4cf5bbc22b47cae78954b44c9ef">pn_data_put_char</a> (<a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf">pn_data_t</a> *data, <a class="el" href="group__amqp__types.html#gaa1713f25d484600197d2a25ace856672">pn_char_t</a> c)</td></tr>
<tr class="memdesc:gad406a4cf5bbc22b47cae78954b44c9ef"><td class="mdescLeft">&#160;</td><td class="mdescRight">Puts a <a class="el" href="group__amqp__types.html#gga4465b5ea7d3c4f15c1dffa4deda905dba905512ea57a64d4e2aecf4877b192124" title="The char AMQP type.">PN_CHAR</a> value. <a href="group__data.html#gad406a4cf5bbc22b47cae78954b44c9ef">More...</a><br /></td></tr>
<tr class="separator:gad406a4cf5bbc22b47cae78954b44c9ef"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gacc4bf3683c8234a94bca8af3ced8c875"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__data.html#gacc4bf3683c8234a94bca8af3ced8c875">pn_data_put_ulong</a> (<a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf">pn_data_t</a> *data, uint64_t ul)</td></tr>
<tr class="memdesc:gacc4bf3683c8234a94bca8af3ced8c875"><td class="mdescLeft">&#160;</td><td class="mdescRight">Puts a <a class="el" href="group__amqp__types.html#gga4465b5ea7d3c4f15c1dffa4deda905dba5f6b5fd2edbedf3f21285b69b8864777" title="The ulong AMQP type.">PN_ULONG</a> value. <a href="group__data.html#gacc4bf3683c8234a94bca8af3ced8c875">More...</a><br /></td></tr>
<tr class="separator:gacc4bf3683c8234a94bca8af3ced8c875"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga90f32862f64d65091d6fb1e7380a672b"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__data.html#ga90f32862f64d65091d6fb1e7380a672b">pn_data_put_long</a> (<a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf">pn_data_t</a> *data, int64_t l)</td></tr>
<tr class="memdesc:ga90f32862f64d65091d6fb1e7380a672b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Puts a <a class="el" href="group__amqp__types.html#gga4465b5ea7d3c4f15c1dffa4deda905dba7a1b08f15b17b3d820a6fb50e65ffe1c" title="The long AMQP type.">PN_LONG</a> value. <a href="group__data.html#ga90f32862f64d65091d6fb1e7380a672b">More...</a><br /></td></tr>
<tr class="separator:ga90f32862f64d65091d6fb1e7380a672b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gacb2c0b2c56d587ee354aaa0f21f2c9b1"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__data.html#gacb2c0b2c56d587ee354aaa0f21f2c9b1">pn_data_put_timestamp</a> (<a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf">pn_data_t</a> *data, <a class="el" href="group__amqp__types.html#gad337c365b498106064ec28e00e5fb6dd">pn_timestamp_t</a> t)</td></tr>
<tr class="memdesc:gacb2c0b2c56d587ee354aaa0f21f2c9b1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Puts a <a class="el" href="group__amqp__types.html#gga4465b5ea7d3c4f15c1dffa4deda905dbaca241b4fa6cd92fdf26b4460d02a17b1" title="The timestamp AMQP type.">PN_TIMESTAMP</a> value. <a href="group__data.html#gacb2c0b2c56d587ee354aaa0f21f2c9b1">More...</a><br /></td></tr>
<tr class="separator:gacb2c0b2c56d587ee354aaa0f21f2c9b1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1fce9c3194a700eb99552c71651d28fc"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__data.html#ga1fce9c3194a700eb99552c71651d28fc">pn_data_put_float</a> (<a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf">pn_data_t</a> *data, float f)</td></tr>
<tr class="memdesc:ga1fce9c3194a700eb99552c71651d28fc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Puts a <a class="el" href="group__amqp__types.html#gga4465b5ea7d3c4f15c1dffa4deda905dba9c27cba605584c7d093f26e7270bfaa0" title="The float AMQP type.">PN_FLOAT</a> value. <a href="group__data.html#ga1fce9c3194a700eb99552c71651d28fc">More...</a><br /></td></tr>
<tr class="separator:ga1fce9c3194a700eb99552c71651d28fc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga121070d2c21ef594f1cfe4083677f1a2"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__data.html#ga121070d2c21ef594f1cfe4083677f1a2">pn_data_put_double</a> (<a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf">pn_data_t</a> *data, double d)</td></tr>
<tr class="memdesc:ga121070d2c21ef594f1cfe4083677f1a2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Puts a <a class="el" href="group__amqp__types.html#gga4465b5ea7d3c4f15c1dffa4deda905dbaa1367e8029855849dc4e0d3f027279a5" title="The double AMQP type.">PN_DOUBLE</a> value. <a href="group__data.html#ga121070d2c21ef594f1cfe4083677f1a2">More...</a><br /></td></tr>
<tr class="separator:ga121070d2c21ef594f1cfe4083677f1a2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0199029f44d9c86e469c15bef51ceea2"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__data.html#ga0199029f44d9c86e469c15bef51ceea2">pn_data_put_decimal32</a> (<a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf">pn_data_t</a> *data, <a class="el" href="group__amqp__types.html#ga54d49ca7ff04ad10a57139c2d61f1d44">pn_decimal32_t</a> d)</td></tr>
<tr class="memdesc:ga0199029f44d9c86e469c15bef51ceea2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Puts a <a class="el" href="group__amqp__types.html#gga4465b5ea7d3c4f15c1dffa4deda905dbae998dd044ac55b959427fc90531b14ca" title="The decimal32 AMQP type.">PN_DECIMAL32</a> value. <a href="group__data.html#ga0199029f44d9c86e469c15bef51ceea2">More...</a><br /></td></tr>
<tr class="separator:ga0199029f44d9c86e469c15bef51ceea2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7672e15a4925bb14bebb79bc8206d392"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__data.html#ga7672e15a4925bb14bebb79bc8206d392">pn_data_put_decimal64</a> (<a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf">pn_data_t</a> *data, <a class="el" href="group__amqp__types.html#ga7d8110bc953738d83ad8b9c543ef517f">pn_decimal64_t</a> d)</td></tr>
<tr class="memdesc:ga7672e15a4925bb14bebb79bc8206d392"><td class="mdescLeft">&#160;</td><td class="mdescRight">Puts a <a class="el" href="group__amqp__types.html#gga4465b5ea7d3c4f15c1dffa4deda905dbacb54239601b8bf4795e34417425b92ae" title="The decimal64 AMQP type.">PN_DECIMAL64</a> value. <a href="group__data.html#ga7672e15a4925bb14bebb79bc8206d392">More...</a><br /></td></tr>
<tr class="separator:ga7672e15a4925bb14bebb79bc8206d392"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga61944d632d27ffc1c0d6348f62bfec4e"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__data.html#ga61944d632d27ffc1c0d6348f62bfec4e">pn_data_put_decimal128</a> (<a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf">pn_data_t</a> *data, <a class="el" href="group__amqp__types.html#structpn__decimal128__t">pn_decimal128_t</a> d)</td></tr>
<tr class="memdesc:ga61944d632d27ffc1c0d6348f62bfec4e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Puts a <a class="el" href="group__amqp__types.html#gga4465b5ea7d3c4f15c1dffa4deda905dbae54cf8095578932042be640555855cd4" title="The decimal128 AMQP type.">PN_DECIMAL128</a> value. <a href="group__data.html#ga61944d632d27ffc1c0d6348f62bfec4e">More...</a><br /></td></tr>
<tr class="separator:ga61944d632d27ffc1c0d6348f62bfec4e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga5d876ccb1d65d46af7db461d4415baab"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__data.html#ga5d876ccb1d65d46af7db461d4415baab">pn_data_put_uuid</a> (<a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf">pn_data_t</a> *data, <a class="el" href="group__amqp__types.html#structpn__uuid__t">pn_uuid_t</a> u)</td></tr>
<tr class="memdesc:ga5d876ccb1d65d46af7db461d4415baab"><td class="mdescLeft">&#160;</td><td class="mdescRight">Puts a <a class="el" href="group__amqp__types.html#gga4465b5ea7d3c4f15c1dffa4deda905dba0a6946e5c032bae8d108100e2c56ac13" title="The UUID AMQP type.">PN_UUID</a> value. <a href="group__data.html#ga5d876ccb1d65d46af7db461d4415baab">More...</a><br /></td></tr>
<tr class="separator:ga5d876ccb1d65d46af7db461d4415baab"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaeddd7cf9d968e81ebe72831330e7cd21"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__data.html#gaeddd7cf9d968e81ebe72831330e7cd21">pn_data_put_binary</a> (<a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf">pn_data_t</a> *data, <a class="el" href="group__api__types.html#structpn__bytes__t">pn_bytes_t</a> bytes)</td></tr>
<tr class="memdesc:gaeddd7cf9d968e81ebe72831330e7cd21"><td class="mdescLeft">&#160;</td><td class="mdescRight">Puts a <a class="el" href="group__amqp__types.html#gga4465b5ea7d3c4f15c1dffa4deda905dba7dc0fd4874c2b57a8249614d348643e9" title="The binary AMQP type.">PN_BINARY</a> value. <a href="group__data.html#gaeddd7cf9d968e81ebe72831330e7cd21">More...</a><br /></td></tr>
<tr class="separator:gaeddd7cf9d968e81ebe72831330e7cd21"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga5dc9c9c7db2018d12753767c075cc6ee"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__data.html#ga5dc9c9c7db2018d12753767c075cc6ee">pn_data_put_string</a> (<a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf">pn_data_t</a> *data, <a class="el" href="group__api__types.html#structpn__bytes__t">pn_bytes_t</a> string)</td></tr>
<tr class="memdesc:ga5dc9c9c7db2018d12753767c075cc6ee"><td class="mdescLeft">&#160;</td><td class="mdescRight">Puts a <a class="el" href="group__amqp__types.html#gga4465b5ea7d3c4f15c1dffa4deda905dba88421417c7be2caf88c2d243cb73da6b" title="The string AMQP type.">PN_STRING</a> value. <a href="group__data.html#ga5dc9c9c7db2018d12753767c075cc6ee">More...</a><br /></td></tr>
<tr class="separator:ga5dc9c9c7db2018d12753767c075cc6ee"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga00126d993e32a202c34f912d57b8e5ce"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__data.html#ga00126d993e32a202c34f912d57b8e5ce">pn_data_put_symbol</a> (<a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf">pn_data_t</a> *data, <a class="el" href="group__api__types.html#structpn__bytes__t">pn_bytes_t</a> symbol)</td></tr>
<tr class="memdesc:ga00126d993e32a202c34f912d57b8e5ce"><td class="mdescLeft">&#160;</td><td class="mdescRight">Puts a <a class="el" href="group__amqp__types.html#gga4465b5ea7d3c4f15c1dffa4deda905dbad5f0929805f481d3ca6089ed172451e9" title="The symbol AMQP type.">PN_SYMBOL</a> value. <a href="group__data.html#ga00126d993e32a202c34f912d57b8e5ce">More...</a><br /></td></tr>
<tr class="separator:ga00126d993e32a202c34f912d57b8e5ce"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga926c8732c66f38f3b9578d50af30f2ff"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__data.html#ga926c8732c66f38f3b9578d50af30f2ff">pn_data_put_atom</a> (<a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf">pn_data_t</a> *data, <a class="el" href="group__api__types.html#structpn__atom__t">pn_atom_t</a> atom)</td></tr>
<tr class="memdesc:ga926c8732c66f38f3b9578d50af30f2ff"><td class="mdescLeft">&#160;</td><td class="mdescRight">Puts any scalar value value. <a href="group__data.html#ga926c8732c66f38f3b9578d50af30f2ff">More...</a><br /></td></tr>
<tr class="separator:ga926c8732c66f38f3b9578d50af30f2ff"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3af18fc419995766f83a4b4ac07c31ce"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__data.html#ga3af18fc419995766f83a4b4ac07c31ce">pn_data_get_list</a> (<a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf">pn_data_t</a> *data)</td></tr>
<tr class="memdesc:ga3af18fc419995766f83a4b4ac07c31ce"><td class="mdescLeft">&#160;</td><td class="mdescRight">If the current node is a list, return the number of elements, otherwise return zero. <a href="group__data.html#ga3af18fc419995766f83a4b4ac07c31ce">More...</a><br /></td></tr>
<tr class="separator:ga3af18fc419995766f83a4b4ac07c31ce"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gadbd4c895a1e10266d20898996ce53bc0"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__data.html#gadbd4c895a1e10266d20898996ce53bc0">pn_data_get_map</a> (<a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf">pn_data_t</a> *data)</td></tr>
<tr class="memdesc:gadbd4c895a1e10266d20898996ce53bc0"><td class="mdescLeft">&#160;</td><td class="mdescRight">If the current node is a map, return the number of child elements, otherwise return zero. <a href="group__data.html#gadbd4c895a1e10266d20898996ce53bc0">More...</a><br /></td></tr>
<tr class="separator:gadbd4c895a1e10266d20898996ce53bc0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab0f8eefe5f89362ffe186a092044d936"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__data.html#gab0f8eefe5f89362ffe186a092044d936">pn_data_get_array</a> (<a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf">pn_data_t</a> *data)</td></tr>
<tr class="memdesc:gab0f8eefe5f89362ffe186a092044d936"><td class="mdescLeft">&#160;</td><td class="mdescRight">If the current node is an array, return the number of elements in the array, otherwise return 0. <a href="group__data.html#gab0f8eefe5f89362ffe186a092044d936">More...</a><br /></td></tr>
<tr class="separator:gab0f8eefe5f89362ffe186a092044d936"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga122e7f20f958d51900675d37d80bd37e"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__data.html#ga122e7f20f958d51900675d37d80bd37e">pn_data_is_array_described</a> (<a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf">pn_data_t</a> *data)</td></tr>
<tr class="memdesc:ga122e7f20f958d51900675d37d80bd37e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns true if the current node points to a described array. <a href="group__data.html#ga122e7f20f958d51900675d37d80bd37e">More...</a><br /></td></tr>
<tr class="separator:ga122e7f20f958d51900675d37d80bd37e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga11c026fb5ec5e8620258f52ed86229b4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__amqp__types.html#ga4465b5ea7d3c4f15c1dffa4deda905db">pn_type_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__data.html#ga11c026fb5ec5e8620258f52ed86229b4">pn_data_get_array_type</a> (<a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf">pn_data_t</a> *data)</td></tr>
<tr class="memdesc:ga11c026fb5ec5e8620258f52ed86229b4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the array type if the current node points to an array, PN_INVALID otherwise. <a href="group__data.html#ga11c026fb5ec5e8620258f52ed86229b4">More...</a><br /></td></tr>
<tr class="separator:ga11c026fb5ec5e8620258f52ed86229b4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad7fac25ba5589ff0374442cf7ecbbd9c"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__data.html#gad7fac25ba5589ff0374442cf7ecbbd9c">pn_data_is_described</a> (<a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf">pn_data_t</a> *data)</td></tr>
<tr class="memdesc:gad7fac25ba5589ff0374442cf7ecbbd9c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Checks if the current node is a described value. <a href="group__data.html#gad7fac25ba5589ff0374442cf7ecbbd9c">More...</a><br /></td></tr>
<tr class="separator:gad7fac25ba5589ff0374442cf7ecbbd9c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gabba00ce3862818acd8ca91c2a8af348b"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__data.html#gabba00ce3862818acd8ca91c2a8af348b">pn_data_is_null</a> (<a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf">pn_data_t</a> *data)</td></tr>
<tr class="memdesc:gabba00ce3862818acd8ca91c2a8af348b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Checks if the current node is a <a class="el" href="group__amqp__types.html#gga4465b5ea7d3c4f15c1dffa4deda905dbaee48efaa3cb0c5b5d16c5b869b7e8fbe" title="The NULL AMQP type.">PN_NULL</a>. <a href="group__data.html#gabba00ce3862818acd8ca91c2a8af348b">More...</a><br /></td></tr>
<tr class="separator:gabba00ce3862818acd8ca91c2a8af348b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaeab50c7bd297665714861cfcb8f51124"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__data.html#gaeab50c7bd297665714861cfcb8f51124">pn_data_get_bool</a> (<a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf">pn_data_t</a> *data)</td></tr>
<tr class="memdesc:gaeab50c7bd297665714861cfcb8f51124"><td class="mdescLeft">&#160;</td><td class="mdescRight">If the current node is a <a class="el" href="group__amqp__types.html#gga4465b5ea7d3c4f15c1dffa4deda905dba2d6444a931a66258de3c73ad01238ae7" title="The boolean AMQP type.">PN_BOOL</a>, returns its value. <a href="group__data.html#gaeab50c7bd297665714861cfcb8f51124">More...</a><br /></td></tr>
<tr class="separator:gaeab50c7bd297665714861cfcb8f51124"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7582b8fd0ecdf0368a600b9c4f22faa8"><td class="memItemLeft" align="right" valign="top">uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__data.html#ga7582b8fd0ecdf0368a600b9c4f22faa8">pn_data_get_ubyte</a> (<a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf">pn_data_t</a> *data)</td></tr>
<tr class="memdesc:ga7582b8fd0ecdf0368a600b9c4f22faa8"><td class="mdescLeft">&#160;</td><td class="mdescRight">If the current node is a <a class="el" href="group__amqp__types.html#gga4465b5ea7d3c4f15c1dffa4deda905dba99223ec8d1ae5d915a1eaa7e8fef0256" title="The unsigned byte AMQP type.">PN_UBYTE</a>, return its value, otherwise return 0. <a href="group__data.html#ga7582b8fd0ecdf0368a600b9c4f22faa8">More...</a><br /></td></tr>
<tr class="separator:ga7582b8fd0ecdf0368a600b9c4f22faa8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa756be79ecfab947ecea57ed8a9089f7"><td class="memItemLeft" align="right" valign="top">int8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__data.html#gaa756be79ecfab947ecea57ed8a9089f7">pn_data_get_byte</a> (<a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf">pn_data_t</a> *data)</td></tr>
<tr class="memdesc:gaa756be79ecfab947ecea57ed8a9089f7"><td class="mdescLeft">&#160;</td><td class="mdescRight">If the current node is a signed byte, returns its value, returns 0 otherwise. <a href="group__data.html#gaa756be79ecfab947ecea57ed8a9089f7">More...</a><br /></td></tr>
<tr class="separator:gaa756be79ecfab947ecea57ed8a9089f7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga254abc4df02a5c2e87fd3bdac2e14846"><td class="memItemLeft" align="right" valign="top">uint16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__data.html#ga254abc4df02a5c2e87fd3bdac2e14846">pn_data_get_ushort</a> (<a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf">pn_data_t</a> *data)</td></tr>
<tr class="memdesc:ga254abc4df02a5c2e87fd3bdac2e14846"><td class="mdescLeft">&#160;</td><td class="mdescRight">If the current node is an unsigned short, returns its value, returns 0 otherwise. <a href="group__data.html#ga254abc4df02a5c2e87fd3bdac2e14846">More...</a><br /></td></tr>
<tr class="separator:ga254abc4df02a5c2e87fd3bdac2e14846"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gafe894205eaba01d1caf8ee2aa68ed55c"><td class="memItemLeft" align="right" valign="top">int16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__data.html#gafe894205eaba01d1caf8ee2aa68ed55c">pn_data_get_short</a> (<a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf">pn_data_t</a> *data)</td></tr>
<tr class="memdesc:gafe894205eaba01d1caf8ee2aa68ed55c"><td class="mdescLeft">&#160;</td><td class="mdescRight">If the current node is a signed short, returns its value, returns 0 otherwise. <a href="group__data.html#gafe894205eaba01d1caf8ee2aa68ed55c">More...</a><br /></td></tr>
<tr class="separator:gafe894205eaba01d1caf8ee2aa68ed55c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9541c1ee071c7d0b38805e1b01672ccc"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__data.html#ga9541c1ee071c7d0b38805e1b01672ccc">pn_data_get_uint</a> (<a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf">pn_data_t</a> *data)</td></tr>
<tr class="memdesc:ga9541c1ee071c7d0b38805e1b01672ccc"><td class="mdescLeft">&#160;</td><td class="mdescRight">If the current node is an unsigned int, returns its value, returns 0 otherwise. <a href="group__data.html#ga9541c1ee071c7d0b38805e1b01672ccc">More...</a><br /></td></tr>
<tr class="separator:ga9541c1ee071c7d0b38805e1b01672ccc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga4f9ccacd002e89127b278703a6c680da"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__data.html#ga4f9ccacd002e89127b278703a6c680da">pn_data_get_int</a> (<a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf">pn_data_t</a> *data)</td></tr>
<tr class="memdesc:ga4f9ccacd002e89127b278703a6c680da"><td class="mdescLeft">&#160;</td><td class="mdescRight">If the current node is a signed int, returns its value, returns 0 otherwise. <a href="group__data.html#ga4f9ccacd002e89127b278703a6c680da">More...</a><br /></td></tr>
<tr class="separator:ga4f9ccacd002e89127b278703a6c680da"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9deeb028b90df8bfa3cad7928348b46b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__amqp__types.html#gaa1713f25d484600197d2a25ace856672">pn_char_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__data.html#ga9deeb028b90df8bfa3cad7928348b46b">pn_data_get_char</a> (<a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf">pn_data_t</a> *data)</td></tr>
<tr class="memdesc:ga9deeb028b90df8bfa3cad7928348b46b"><td class="mdescLeft">&#160;</td><td class="mdescRight">If the current node is a char, returns its value, returns 0 otherwise. <a href="group__data.html#ga9deeb028b90df8bfa3cad7928348b46b">More...</a><br /></td></tr>
<tr class="separator:ga9deeb028b90df8bfa3cad7928348b46b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaef4aa1c6873eb59a46ccaf76c492826f"><td class="memItemLeft" align="right" valign="top">uint64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__data.html#gaef4aa1c6873eb59a46ccaf76c492826f">pn_data_get_ulong</a> (<a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf">pn_data_t</a> *data)</td></tr>
<tr class="memdesc:gaef4aa1c6873eb59a46ccaf76c492826f"><td class="mdescLeft">&#160;</td><td class="mdescRight">If the current node is an unsigned long, returns its value, returns 0 otherwise. <a href="group__data.html#gaef4aa1c6873eb59a46ccaf76c492826f">More...</a><br /></td></tr>
<tr class="separator:gaef4aa1c6873eb59a46ccaf76c492826f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8d813db46df4e635b1ab2c400403560c"><td class="memItemLeft" align="right" valign="top">int64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__data.html#ga8d813db46df4e635b1ab2c400403560c">pn_data_get_long</a> (<a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf">pn_data_t</a> *data)</td></tr>
<tr class="memdesc:ga8d813db46df4e635b1ab2c400403560c"><td class="mdescLeft">&#160;</td><td class="mdescRight">If the current node is an signed long, returns its value, returns 0 otherwise. <a href="group__data.html#ga8d813db46df4e635b1ab2c400403560c">More...</a><br /></td></tr>
<tr class="separator:ga8d813db46df4e635b1ab2c400403560c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac8cf4d1cb60c3313f4d61f45bceda5ba"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__amqp__types.html#gad337c365b498106064ec28e00e5fb6dd">pn_timestamp_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__data.html#gac8cf4d1cb60c3313f4d61f45bceda5ba">pn_data_get_timestamp</a> (<a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf">pn_data_t</a> *data)</td></tr>
<tr class="memdesc:gac8cf4d1cb60c3313f4d61f45bceda5ba"><td class="mdescLeft">&#160;</td><td class="mdescRight">If the current node is a timestamp, returns its value, returns 0 otherwise. <a href="group__data.html#gac8cf4d1cb60c3313f4d61f45bceda5ba">More...</a><br /></td></tr>
<tr class="separator:gac8cf4d1cb60c3313f4d61f45bceda5ba"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gabf41ef79c9a4f7e3fd673b0999e63a41"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__data.html#gabf41ef79c9a4f7e3fd673b0999e63a41">pn_data_get_float</a> (<a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf">pn_data_t</a> *data)</td></tr>
<tr class="memdesc:gabf41ef79c9a4f7e3fd673b0999e63a41"><td class="mdescLeft">&#160;</td><td class="mdescRight">If the current node is a float, returns its value, returns 0 otherwise. <a href="group__data.html#gabf41ef79c9a4f7e3fd673b0999e63a41">More...</a><br /></td></tr>
<tr class="separator:gabf41ef79c9a4f7e3fd673b0999e63a41"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga97c448c037e34404df782c82d77b2bc3"><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__data.html#ga97c448c037e34404df782c82d77b2bc3">pn_data_get_double</a> (<a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf">pn_data_t</a> *data)</td></tr>
<tr class="memdesc:ga97c448c037e34404df782c82d77b2bc3"><td class="mdescLeft">&#160;</td><td class="mdescRight">If the current node is a double, returns its value, returns 0 otherwise. <a href="group__data.html#ga97c448c037e34404df782c82d77b2bc3">More...</a><br /></td></tr>
<tr class="separator:ga97c448c037e34404df782c82d77b2bc3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gabdbfa1e913c490d3b1ad6ca169910482"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__amqp__types.html#ga54d49ca7ff04ad10a57139c2d61f1d44">pn_decimal32_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__data.html#gabdbfa1e913c490d3b1ad6ca169910482">pn_data_get_decimal32</a> (<a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf">pn_data_t</a> *data)</td></tr>
<tr class="memdesc:gabdbfa1e913c490d3b1ad6ca169910482"><td class="mdescLeft">&#160;</td><td class="mdescRight">If the current node is a decimal32, returns its value, returns 0 otherwise. <a href="group__data.html#gabdbfa1e913c490d3b1ad6ca169910482">More...</a><br /></td></tr>
<tr class="separator:gabdbfa1e913c490d3b1ad6ca169910482"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3bdeb99d1275d7fe06a46818467d03d9"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__amqp__types.html#ga7d8110bc953738d83ad8b9c543ef517f">pn_decimal64_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__data.html#ga3bdeb99d1275d7fe06a46818467d03d9">pn_data_get_decimal64</a> (<a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf">pn_data_t</a> *data)</td></tr>
<tr class="memdesc:ga3bdeb99d1275d7fe06a46818467d03d9"><td class="mdescLeft">&#160;</td><td class="mdescRight">If the current node is a decimal64, returns its value, returns 0 otherwise. <a href="group__data.html#ga3bdeb99d1275d7fe06a46818467d03d9">More...</a><br /></td></tr>
<tr class="separator:ga3bdeb99d1275d7fe06a46818467d03d9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaeb8b424245ca352fb63dce8ca03cd8da"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__amqp__types.html#structpn__decimal128__t">pn_decimal128_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__data.html#gaeb8b424245ca352fb63dce8ca03cd8da">pn_data_get_decimal128</a> (<a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf">pn_data_t</a> *data)</td></tr>
<tr class="memdesc:gaeb8b424245ca352fb63dce8ca03cd8da"><td class="mdescLeft">&#160;</td><td class="mdescRight">If the current node is a decimal128, returns its value, returns 0 otherwise. <a href="group__data.html#gaeb8b424245ca352fb63dce8ca03cd8da">More...</a><br /></td></tr>
<tr class="separator:gaeb8b424245ca352fb63dce8ca03cd8da"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga5ba3f8eb5a972b9a579bc5af9e7fbde2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__amqp__types.html#structpn__uuid__t">pn_uuid_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__data.html#ga5ba3f8eb5a972b9a579bc5af9e7fbde2">pn_data_get_uuid</a> (<a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf">pn_data_t</a> *data)</td></tr>
<tr class="memdesc:ga5ba3f8eb5a972b9a579bc5af9e7fbde2"><td class="mdescLeft">&#160;</td><td class="mdescRight">If the current node is a UUID, returns its value, returns None otherwise. <a href="group__data.html#ga5ba3f8eb5a972b9a579bc5af9e7fbde2">More...</a><br /></td></tr>
<tr class="separator:ga5ba3f8eb5a972b9a579bc5af9e7fbde2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaee6e7a4f78d202cc81657e3976fd68ae"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__api__types.html#structpn__bytes__t">pn_bytes_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__data.html#gaee6e7a4f78d202cc81657e3976fd68ae">pn_data_get_binary</a> (<a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf">pn_data_t</a> *data)</td></tr>
<tr class="memdesc:gaee6e7a4f78d202cc81657e3976fd68ae"><td class="mdescLeft">&#160;</td><td class="mdescRight">If the current node is binary, returns its value, returns "" otherwise. <a href="group__data.html#gaee6e7a4f78d202cc81657e3976fd68ae">More...</a><br /></td></tr>
<tr class="separator:gaee6e7a4f78d202cc81657e3976fd68ae"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gafccb5008960eb8dc757cb7f9941e5013"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__api__types.html#structpn__bytes__t">pn_bytes_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__data.html#gafccb5008960eb8dc757cb7f9941e5013">pn_data_get_string</a> (<a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf">pn_data_t</a> *data)</td></tr>
<tr class="memdesc:gafccb5008960eb8dc757cb7f9941e5013"><td class="mdescLeft">&#160;</td><td class="mdescRight">If the current node is a string, returns its value, returns "" otherwise. <a href="group__data.html#gafccb5008960eb8dc757cb7f9941e5013">More...</a><br /></td></tr>
<tr class="separator:gafccb5008960eb8dc757cb7f9941e5013"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3c64a188867ebb19c8d4e3908e6f8e20"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__api__types.html#structpn__bytes__t">pn_bytes_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__data.html#ga3c64a188867ebb19c8d4e3908e6f8e20">pn_data_get_symbol</a> (<a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf">pn_data_t</a> *data)</td></tr>
<tr class="memdesc:ga3c64a188867ebb19c8d4e3908e6f8e20"><td class="mdescLeft">&#160;</td><td class="mdescRight">If the current node is a symbol, returns its value, returns "" otherwise. <a href="group__data.html#ga3c64a188867ebb19c8d4e3908e6f8e20">More...</a><br /></td></tr>
<tr class="separator:ga3c64a188867ebb19c8d4e3908e6f8e20"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad03a049653bec28d20dc7587f7e544de"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__api__types.html#structpn__bytes__t">pn_bytes_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__data.html#gad03a049653bec28d20dc7587f7e544de">pn_data_get_bytes</a> (<a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf">pn_data_t</a> *data)</td></tr>
<tr class="memdesc:gad03a049653bec28d20dc7587f7e544de"><td class="mdescLeft">&#160;</td><td class="mdescRight">If the current node is a symbol, string, or binary, return the bytes representing its value. <a href="group__data.html#gad03a049653bec28d20dc7587f7e544de">More...</a><br /></td></tr>
<tr class="separator:gad03a049653bec28d20dc7587f7e544de"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac5d5c6e6bf24597caf63d35b1755e646"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__api__types.html#structpn__atom__t">pn_atom_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__data.html#gac5d5c6e6bf24597caf63d35b1755e646">pn_data_get_atom</a> (<a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf">pn_data_t</a> *data)</td></tr>
<tr class="memdesc:gac5d5c6e6bf24597caf63d35b1755e646"><td class="mdescLeft">&#160;</td><td class="mdescRight">If the current node is a scalar value, return it as a <a class="el" href="group__api__types.html#structpn__atom__t" title="A discriminated union that holds any scalar AMQP value.">pn_atom_t</a>. <a href="group__data.html#gac5d5c6e6bf24597caf63d35b1755e646">More...</a><br /></td></tr>
<tr class="separator:gac5d5c6e6bf24597caf63d35b1755e646"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf0e0fbb9c8c757f94b9636a6b54dc332"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__data.html#gaf0e0fbb9c8c757f94b9636a6b54dc332">pn_data_copy</a> (<a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf">pn_data_t</a> *data, <a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf">pn_data_t</a> *src)</td></tr>
<tr class="memdesc:gaf0e0fbb9c8c757f94b9636a6b54dc332"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy the contents of another pn_data_t object. <a href="group__data.html#gaf0e0fbb9c8c757f94b9636a6b54dc332">More...</a><br /></td></tr>
<tr class="separator:gaf0e0fbb9c8c757f94b9636a6b54dc332"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0a98b8f17784460034c240ed4b6b47d7"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__data.html#ga0a98b8f17784460034c240ed4b6b47d7">pn_data_append</a> (<a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf">pn_data_t</a> *data, <a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf">pn_data_t</a> *src)</td></tr>
<tr class="memdesc:ga0a98b8f17784460034c240ed4b6b47d7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Append the contents of another pn_data_t object. <a href="group__data.html#ga0a98b8f17784460034c240ed4b6b47d7">More...</a><br /></td></tr>
<tr class="separator:ga0a98b8f17784460034c240ed4b6b47d7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9a048cfd78ca76604b667d170eac0136"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__data.html#ga9a048cfd78ca76604b667d170eac0136">pn_data_appendn</a> (<a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf">pn_data_t</a> *data, <a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf">pn_data_t</a> *src, int limit)</td></tr>
<tr class="memdesc:ga9a048cfd78ca76604b667d170eac0136"><td class="mdescLeft">&#160;</td><td class="mdescRight">Append up to <em>n</em> values from the contents of another pn_data_t object. <a href="group__data.html#ga9a048cfd78ca76604b667d170eac0136">More...</a><br /></td></tr>
<tr class="separator:ga9a048cfd78ca76604b667d170eac0136"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaac08905c5bfb2371951914e0fb2793b9"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__data.html#gaac08905c5bfb2371951914e0fb2793b9">pn_data_narrow</a> (<a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf">pn_data_t</a> *data)</td></tr>
<tr class="memdesc:gaac08905c5bfb2371951914e0fb2793b9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Modify a pn_data_t object to behave as if the current node is the root node of the tree. <a href="group__data.html#gaac08905c5bfb2371951914e0fb2793b9">More...</a><br /></td></tr>
<tr class="separator:gaac08905c5bfb2371951914e0fb2793b9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab3f699c30da99e02d13f773988e3849e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__data.html#gab3f699c30da99e02d13f773988e3849e">pn_data_widen</a> (<a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf">pn_data_t</a> *data)</td></tr>
<tr class="memdesc:gab3f699c30da99e02d13f773988e3849e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reverse the effect of <a class="el" href="group__data.html#gaac08905c5bfb2371951914e0fb2793b9" title="Modify a pn_data_t object to behave as if the current node is the root node of the tree.">pn_data_narrow()</a>. <a href="group__data.html#gab3f699c30da99e02d13f773988e3849e">More...</a><br /></td></tr>
<tr class="separator:gab3f699c30da99e02d13f773988e3849e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga61162ca933ab6b957270f27910981eef"><td class="memItemLeft" align="right" valign="top">pn_handle_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__data.html#ga61162ca933ab6b957270f27910981eef">pn_data_point</a> (<a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf">pn_data_t</a> *data)</td></tr>
<tr class="memdesc:ga61162ca933ab6b957270f27910981eef"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a handle for the current navigational state of a pn_data_t so that it can be later restored using <a class="el" href="group__data.html#ga92247a44abd6b6d01d9216d5b1e2e781" title="Restores a prior navigational state that was saved using pn_data_point().">pn_data_restore()</a>. <a href="group__data.html#ga61162ca933ab6b957270f27910981eef">More...</a><br /></td></tr>
<tr class="separator:ga61162ca933ab6b957270f27910981eef"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga92247a44abd6b6d01d9216d5b1e2e781"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__data.html#ga92247a44abd6b6d01d9216d5b1e2e781">pn_data_restore</a> (<a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf">pn_data_t</a> *data, pn_handle_t point)</td></tr>
<tr class="memdesc:ga92247a44abd6b6d01d9216d5b1e2e781"><td class="mdescLeft">&#160;</td><td class="mdescRight">Restores a prior navigational state that was saved using <a class="el" href="group__data.html#ga61162ca933ab6b957270f27910981eef" title="Returns a handle for the current navigational state of a pn_data_t so that it can be later restored u...">pn_data_point()</a>. <a href="group__data.html#ga92247a44abd6b6d01d9216d5b1e2e781">More...</a><br /></td></tr>
<tr class="separator:ga92247a44abd6b6d01d9216d5b1e2e781"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga502e9571b513b58bce5a5ae442951400"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__data.html#ga502e9571b513b58bce5a5ae442951400">pn_data_dump</a> (<a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf">pn_data_t</a> *data)</td></tr>
<tr class="memdesc:ga502e9571b513b58bce5a5ae442951400"><td class="mdescLeft">&#160;</td><td class="mdescRight">Dumps a debug representation of the internal state of the pn_data_t object that includes its navigational state to stdout for debugging purposes. <a href="group__data.html#ga502e9571b513b58bce5a5ae442951400">More...</a><br /></td></tr>
<tr class="separator:ga502e9571b513b58bce5a5ae442951400"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<p>A data structure for AMQP data. </p>
<h2 class="groupheader">Typedef Documentation</h2>
<a id="ga5d6cf528776e8b6ad6d67caf095986bf"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga5d6cf528776e8b6ad6d67caf095986bf">&#9670;&nbsp;</a></span>pn_data_t</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef struct <a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf">pn_data_t</a> <a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf">pn_data_t</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>An AMQP Data object. </p>
<p>A pn_data_t object provides an interface for decoding, extracting, creating, and encoding arbitrary AMQP data. A pn_data_t object contains a tree of AMQP values. Leaf nodes in this tree correspond to scalars in the AMQP type system such as <a class="el" href="group__amqp__types.html#gga4465b5ea7d3c4f15c1dffa4deda905dba175c594857c135ea2a9c3a2d415366ab">ints </a> or <a class="el" href="group__amqp__types.html#gga4465b5ea7d3c4f15c1dffa4deda905dba88421417c7be2caf88c2d243cb73da6b">strings </a>. Non-leaf nodes in this tree correspond to compound values in the AMQP type system such as <a class="el" href="group__amqp__types.html#gga4465b5ea7d3c4f15c1dffa4deda905dba653d98ae82ff7048973b4c755d2b2804">lists </a>, <a class="el" href="group__amqp__types.html#gga4465b5ea7d3c4f15c1dffa4deda905dba3295ee98cb6c69f50951aea30ffe46dd">maps </a>, <a class="el" href="group__amqp__types.html#gga4465b5ea7d3c4f15c1dffa4deda905dba2c6f15d0ad9e27f040382ef4a2be807d">arrays </a>, or <a class="el" href="group__amqp__types.html#gga4465b5ea7d3c4f15c1dffa4deda905dbaff3c998d42222a4a4be01cac89418d07">described </a> values. The root node of the tree is the pn_data_t object itself and can have an arbitrary number of children.</p>
<p>A pn_data_t object maintains the notion of the current node and the current parent node. Siblings are ordered within their parent. Values are accessed and/or added by using the <a class="el" href="group__data.html#ga96c9a1c5f179036cd9513c50c0ac57de" title="Advances the current node to its next sibling and returns true.">pn_data_next()</a>, <a class="el" href="group__data.html#ga9ee214dd19c845f76e29651682732e16" title="Moves the current node to its previous sibling and returns true.">pn_data_prev()</a>, <a class="el" href="group__data.html#ga1093449b80357dabf3f70a4bf804f4f7" title="Sets the parent node to the current node and clears the current node.">pn_data_enter()</a>, and <a class="el" href="group__data.html#ga67a656cbdbf0a47a223ff1c8507ecf48" title="Sets the current node to the parent node and the parent node to its own parent.">pn_data_exit()</a> operations to navigate to the desired location in the tree and using the supplied variety of pn_data_put_* / pn_data_get_* operations to access or add a value of the desired type.</p>
<p>The pn_data_put_* operations will always add a value <em>after</em> the current node in the tree. If the current node has a next sibling the pn_data_put_* operations will overwrite the value on this node. If there is no current node or the current node has no next sibling then one will be added. The pn_data_put_* operations always set the added/modified node to the current node. The pn_data_get_* operations read the value of the current node and do not change which node is current.</p>
<p>The following types of scalar values are supported:</p>
<ul>
<li><a class="el" href="group__amqp__types.html#gga4465b5ea7d3c4f15c1dffa4deda905dbaee48efaa3cb0c5b5d16c5b869b7e8fbe" title="The NULL AMQP type.">PN_NULL</a></li>
<li><a class="el" href="group__amqp__types.html#gga4465b5ea7d3c4f15c1dffa4deda905dba2d6444a931a66258de3c73ad01238ae7" title="The boolean AMQP type.">PN_BOOL</a></li>
<li><a class="el" href="group__amqp__types.html#gga4465b5ea7d3c4f15c1dffa4deda905dba99223ec8d1ae5d915a1eaa7e8fef0256" title="The unsigned byte AMQP type.">PN_UBYTE</a></li>
<li><a class="el" href="group__amqp__types.html#gga4465b5ea7d3c4f15c1dffa4deda905dba657a836a5ee74d9468924982ba3a3b41" title="The unsigned short AMQP type.">PN_USHORT</a></li>
<li><a class="el" href="group__amqp__types.html#gga4465b5ea7d3c4f15c1dffa4deda905dba3dbf1221e02329a7f41b41e597833d97" title="The short AMQP type.">PN_SHORT</a></li>
<li><a class="el" href="group__amqp__types.html#gga4465b5ea7d3c4f15c1dffa4deda905dbaa7a251ed9fe5c31f0473976467bfefdd" title="The unsigned int AMQP type.">PN_UINT</a></li>
<li><a class="el" href="group__amqp__types.html#gga4465b5ea7d3c4f15c1dffa4deda905dba175c594857c135ea2a9c3a2d415366ab" title="The signed int AMQP type.">PN_INT</a></li>
<li><a class="el" href="group__amqp__types.html#gga4465b5ea7d3c4f15c1dffa4deda905dba5f6b5fd2edbedf3f21285b69b8864777" title="The ulong AMQP type.">PN_ULONG</a></li>
<li><a class="el" href="group__amqp__types.html#gga4465b5ea7d3c4f15c1dffa4deda905dba7a1b08f15b17b3d820a6fb50e65ffe1c" title="The long AMQP type.">PN_LONG</a></li>
<li><a class="el" href="group__amqp__types.html#gga4465b5ea7d3c4f15c1dffa4deda905dba9c27cba605584c7d093f26e7270bfaa0" title="The float AMQP type.">PN_FLOAT</a></li>
<li><a class="el" href="group__amqp__types.html#gga4465b5ea7d3c4f15c1dffa4deda905dbaa1367e8029855849dc4e0d3f027279a5" title="The double AMQP type.">PN_DOUBLE</a></li>
<li><a class="el" href="group__amqp__types.html#gga4465b5ea7d3c4f15c1dffa4deda905dba7dc0fd4874c2b57a8249614d348643e9" title="The binary AMQP type.">PN_BINARY</a></li>
<li><a class="el" href="group__amqp__types.html#gga4465b5ea7d3c4f15c1dffa4deda905dba88421417c7be2caf88c2d243cb73da6b" title="The string AMQP type.">PN_STRING</a></li>
<li><a class="el" href="group__amqp__types.html#gga4465b5ea7d3c4f15c1dffa4deda905dbad5f0929805f481d3ca6089ed172451e9" title="The symbol AMQP type.">PN_SYMBOL</a></li>
</ul>
<p>The following types of compound values are supported:</p>
<ul>
<li><a class="el" href="group__amqp__types.html#gga4465b5ea7d3c4f15c1dffa4deda905dbaff3c998d42222a4a4be01cac89418d07" title="A described AMQP type.">PN_DESCRIBED</a></li>
<li><a class="el" href="group__amqp__types.html#gga4465b5ea7d3c4f15c1dffa4deda905dba2c6f15d0ad9e27f040382ef4a2be807d" title="An AMQP array.">PN_ARRAY</a></li>
<li><a class="el" href="group__amqp__types.html#gga4465b5ea7d3c4f15c1dffa4deda905dba653d98ae82ff7048973b4c755d2b2804" title="An AMQP list.">PN_LIST</a></li>
<li><a class="el" href="group__amqp__types.html#gga4465b5ea7d3c4f15c1dffa4deda905dba3295ee98cb6c69f50951aea30ffe46dd" title="An AMQP map.">PN_MAP</a> </li>
</ul>
</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a id="gac21c6f1c517ac486e2923baa3d0c5db4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gac21c6f1c517ac486e2923baa3d0c5db4">&#9670;&nbsp;</a></span>pn_data()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf">pn_data_t</a>* pn_data </td>
<td>(</td>
<td class="paramtype">size_t&#160;</td>
<td class="paramname"><em>capacity</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Construct a pn_data_t object with the supplied initial capacity. </p>
<p>A pn_data_t will grow automatically as needed, so an initial capacity of 0 is permitted.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">capacity</td><td>the initial capacity </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>the newly constructed pn_data_t </dd></dl>
</div>
</div>
<a id="ga2c02eee58084ba9b77a37c086e195802"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga2c02eee58084ba9b77a37c086e195802">&#9670;&nbsp;</a></span>pn_data_free()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void pn_data_free </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf">pn_data_t</a> *&#160;</td>
<td class="paramname"><em>data</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Free a pn_data_t object. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">data</td><td>a pn_data_t object or NULL </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="ga68e94dfa5d7ab568425c4a6587bac1db"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga68e94dfa5d7ab568425c4a6587bac1db">&#9670;&nbsp;</a></span>pn_data_errno()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int pn_data_errno </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf">pn_data_t</a> *&#160;</td>
<td class="paramname"><em>data</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Access the current error code for a given pn_data_t. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">data</td><td>a pn_data_t object </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>the current error code </dd></dl>
</div>
</div>
<a id="gada171f4740e6a1132b4d4b9c0aea645c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gada171f4740e6a1132b4d4b9c0aea645c">&#9670;&nbsp;</a></span>pn_data_error()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="group__error.html#ga24a289d5b32c9bd8a775600a5af83d52">pn_error_t</a>* pn_data_error </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf">pn_data_t</a> *&#160;</td>
<td class="paramname"><em>data</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Access the current error for a given pn_data_t. </p>
<p>Every pn_data_t has an error descriptor that is created with the pn_data_t and dies with the pn_data_t. The error descriptor is updated whenever an operation fails. The <a class="el" href="group__data.html#gada171f4740e6a1132b4d4b9c0aea645c" title="Access the current error for a given pn_data_t.">pn_data_error()</a> function may be used to access a pn_data_t's error descriptor.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">data</td><td>a pn_data_t object </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>a pointer to the pn_data_t's error descriptor </dd></dl>
</div>
</div>
<a id="ga7611c1394e80b5166b8b8647659f97e6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga7611c1394e80b5166b8b8647659f97e6">&#9670;&nbsp;</a></span>pn_data_clear()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void pn_data_clear </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf">pn_data_t</a> *&#160;</td>
<td class="paramname"><em>data</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Clears a pn_data_t object. </p>
<p>A cleared pn_data_t object is equivalent to a newly constructed one.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">data</td><td>the pn_data_t object to clear </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="ga148ae972de23a6694cd18a510eee4856"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga148ae972de23a6694cd18a510eee4856">&#9670;&nbsp;</a></span>pn_data_size()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">size_t pn_data_size </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf">pn_data_t</a> *&#160;</td>
<td class="paramname"><em>data</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns the total number of nodes contained in a pn_data_t object. </p>
<p>This includes all parents, children, siblings, grandchildren, etc. In other words the count of all ancestors and descendants of the current node, along with the current node if there is one.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">data</td><td>a pn_data_t object </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>the total number of nodes in the pn_data_t object </dd></dl>
</div>
</div>
<a id="ga26d61fd9b512c322344d410384202005"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga26d61fd9b512c322344d410384202005">&#9670;&nbsp;</a></span>pn_data_rewind()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void pn_data_rewind </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf">pn_data_t</a> *&#160;</td>
<td class="paramname"><em>data</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Clears current node pointer and sets the parent to the root node. </p>
<p>Clearing the current node sets it <em>before</em> the first node, calling <a class="el" href="group__data.html#ga96c9a1c5f179036cd9513c50c0ac57de" title="Advances the current node to its next sibling and returns true.">pn_data_next()</a> will advance to the first node. </p>
</div>
</div>
<a id="ga96c9a1c5f179036cd9513c50c0ac57de"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga96c9a1c5f179036cd9513c50c0ac57de">&#9670;&nbsp;</a></span>pn_data_next()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool pn_data_next </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf">pn_data_t</a> *&#160;</td>
<td class="paramname"><em>data</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Advances the current node to its next sibling and returns true. </p>
<p>If there is no next sibling the current node remains unchanged and false is returned.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">data</td><td>a pn_data_t object </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>true iff the current node was changed </dd></dl>
</div>
</div>
<a id="ga9ee214dd19c845f76e29651682732e16"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga9ee214dd19c845f76e29651682732e16">&#9670;&nbsp;</a></span>pn_data_prev()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool pn_data_prev </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf">pn_data_t</a> *&#160;</td>
<td class="paramname"><em>data</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Moves the current node to its previous sibling and returns true. </p>
<p>If there is no previous sibling the current node remains unchanged and false is returned.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">data</td><td>a pn_data_t object </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>true iff the current node was changed </dd></dl>
</div>
</div>
<a id="ga1093449b80357dabf3f70a4bf804f4f7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga1093449b80357dabf3f70a4bf804f4f7">&#9670;&nbsp;</a></span>pn_data_enter()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool pn_data_enter </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf">pn_data_t</a> *&#160;</td>
<td class="paramname"><em>data</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Sets the parent node to the current node and clears the current node. </p>
<p>Clearing the current node sets it <em>before</em> the first child, calling <a class="el" href="group__data.html#ga96c9a1c5f179036cd9513c50c0ac57de" title="Advances the current node to its next sibling and returns true.">pn_data_next()</a> advances to the first child. This operation will return false if there is no current node or if the current node is not a compound type.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">data</td><td>a pn_data_object </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>true iff the pointers to the current/parent nodes are changed </dd></dl>
<dl class="section examples"><dt>Examples</dt><dd><a class="el" href="direct_8c-example.html#a14">direct.c</a>, and <a class="el" href="send_8c-example.html#a13">send.c</a>.</dd>
</dl>
</div>
</div>
<a id="ga67a656cbdbf0a47a223ff1c8507ecf48"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga67a656cbdbf0a47a223ff1c8507ecf48">&#9670;&nbsp;</a></span>pn_data_exit()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool pn_data_exit </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf">pn_data_t</a> *&#160;</td>
<td class="paramname"><em>data</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Sets the current node to the parent node and the parent node to its own parent. </p>
<p>This operation will return false if there is no current node or parent node.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">data</td><td>a pn_data object </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>true iff the pointers to the current/parent nodes are changed </dd></dl>
<dl class="section examples"><dt>Examples</dt><dd><a class="el" href="direct_8c-example.html#a17">direct.c</a>, and <a class="el" href="send_8c-example.html#a16">send.c</a>.</dd>
</dl>
</div>
</div>
<a id="ga2843b707e33437a8673e8b904c8faea1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga2843b707e33437a8673e8b904c8faea1">&#9670;&nbsp;</a></span>pn_data_type()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="group__amqp__types.html#ga4465b5ea7d3c4f15c1dffa4deda905db">pn_type_t</a> pn_data_type </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf">pn_data_t</a> *&#160;</td>
<td class="paramname"><em>data</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Access the type of the current node. </p>
<p>Returns PN_INVALID if there is no current node.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">data</td><td>a data object </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>the type of the current node </dd></dl>
</div>
</div>
<a id="gaaf46509788aba824bb16343b566f1929"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaaf46509788aba824bb16343b566f1929">&#9670;&nbsp;</a></span>pn_data_print()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int pn_data_print </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf">pn_data_t</a> *&#160;</td>
<td class="paramname"><em>data</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Prints the contents of a pn_data_t object using <a class="el" href="group__data.html#gaa63068cf2ed94f05b20f6c49c908a2c6" title="Formats the contents of a pn_data_t object in a human readable way and writes them to the indicated l...">pn_data_format()</a> to stdout. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">data</td><td>a pn_data_t object </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>zero on success or an error on failure </dd></dl>
</div>
</div>
<a id="gaa63068cf2ed94f05b20f6c49c908a2c6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaa63068cf2ed94f05b20f6c49c908a2c6">&#9670;&nbsp;</a></span>pn_data_format()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int pn_data_format </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf">pn_data_t</a> *&#160;</td>
<td class="paramname"><em>data</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">char *&#160;</td>
<td class="paramname"><em>bytes</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">size_t *&#160;</td>
<td class="paramname"><em>size</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Formats the contents of a pn_data_t object in a human readable way and writes them to the indicated location. </p>
<p>The size pointer must hold the amount of free space following the bytes pointer, and upon success will be updated to indicate how much space has been used.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">data</td><td>a pn_data_t object </td></tr>
<tr><td class="paramname">bytes</td><td>a buffer to write the output to </td></tr>
<tr><td class="paramname">size</td><td>a pointer to the size of the buffer </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>zero on success, or an error on failure </dd></dl>
</div>
</div>
<a id="ga5502724bcde68615bc47e09a3335b527"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga5502724bcde68615bc47e09a3335b527">&#9670;&nbsp;</a></span>pn_data_encode()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">ssize_t pn_data_encode </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf">pn_data_t</a> *&#160;</td>
<td class="paramname"><em>data</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">char *&#160;</td>
<td class="paramname"><em>bytes</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">size_t&#160;</td>
<td class="paramname"><em>size</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Writes the contents of a data object to the given buffer as an AMQP data stream. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">data</td><td>the data object to encode </td></tr>
<tr><td class="paramname">bytes</td><td>the buffer for encoded data </td></tr>
<tr><td class="paramname">size</td><td>the size of the buffer</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>the size of the encoded data on success or an error code on failure </dd></dl>
</div>
</div>
<a id="gae71bfb440cc4f0b15fe958bf55a3f6af"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gae71bfb440cc4f0b15fe958bf55a3f6af">&#9670;&nbsp;</a></span>pn_data_encoded_size()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">ssize_t pn_data_encoded_size </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf">pn_data_t</a> *&#160;</td>
<td class="paramname"><em>data</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns the number of bytes needed to encode a data object. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">data</td><td>the data object</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>the size of the encoded data or an error code if data is invalid. </dd></dl>
</div>
</div>
<a id="ga74430b712be334a05861cfd5e9b312b9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga74430b712be334a05861cfd5e9b312b9">&#9670;&nbsp;</a></span>pn_data_decode()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">ssize_t pn_data_decode </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf">pn_data_t</a> *&#160;</td>
<td class="paramname"><em>data</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char *&#160;</td>
<td class="paramname"><em>bytes</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">size_t&#160;</td>
<td class="paramname"><em>size</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Decodes a single value from the contents of the AMQP data stream into the current data object. </p>
<p>Note that if the pn_data_t object is pointing to a current node, the decoded value will overwrite the current one. If the pn_data_t object has no current node then a node will be appended to the current parent. If there is no current parent then a node will be appended to the pn_data_t itself.</p>
<p>Upon success, this operation returns the number of bytes consumed from the AMQP data stream. Upon failure, this operation returns an error code.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">data</td><td>a pn_data_t object </td></tr>
<tr><td class="paramname">bytes</td><td>a pointer to an encoded AMQP data stream </td></tr>
<tr><td class="paramname">size</td><td>the size of the encoded AMQP data stream </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>the number of bytes consumed from the AMQP data stream or an error code </dd></dl>
</div>
</div>
<a id="ga95c0c0750831ee3b8454af8bc51a787b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga95c0c0750831ee3b8454af8bc51a787b">&#9670;&nbsp;</a></span>pn_data_put_list()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int pn_data_put_list </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf">pn_data_t</a> *&#160;</td>
<td class="paramname"><em>data</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Puts an empty list value into a pn_data_t. </p>
<p>Elements may be filled by entering the list node using <a class="el" href="group__data.html#ga1093449b80357dabf3f70a4bf804f4f7" title="Sets the parent node to the current node and clears the current node.">pn_data_enter()</a> and using pn_data_put_* to add the desired contents. Once done, <a class="el" href="group__data.html#ga67a656cbdbf0a47a223ff1c8507ecf48" title="Sets the current node to the parent node and the parent node to its own parent.">pn_data_exit()</a> may be used to return to the current level in the tree and put more values.</p>
<div class="fragment"><div class="line"><a class="code" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf">pn_data_t</a> *data = <a class="code" href="group__data.html#gac21c6f1c517ac486e2923baa3d0c5db4">pn_data</a>(0);</div>
<div class="line">...</div>
<div class="line">pn_data_put_list(data);</div>
<div class="line"><a class="code" href="group__data.html#ga1093449b80357dabf3f70a4bf804f4f7">pn_data_enter</a>(data);</div>
<div class="line"><a class="code" href="group__data.html#ga6cfb9e64b87f8d90a5b4237ca016a016">pn_data_put_int</a>(data, 1);</div>
<div class="line"><a class="code" href="group__data.html#ga6cfb9e64b87f8d90a5b4237ca016a016">pn_data_put_int</a>(data, 2);</div>
<div class="line"><a class="code" href="group__data.html#ga6cfb9e64b87f8d90a5b4237ca016a016">pn_data_put_int</a>(data, 3);</div>
<div class="line"><a class="code" href="group__data.html#ga67a656cbdbf0a47a223ff1c8507ecf48">pn_data_exit</a>(data);</div>
<div class="line">...</div>
</div><!-- fragment --><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">data</td><td>a pn_data_t object </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>zero on success or an error code on failure </dd></dl>
</div>
</div>
<a id="ga4c77c7a884bbd9a757b31060962d8543"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga4c77c7a884bbd9a757b31060962d8543">&#9670;&nbsp;</a></span>pn_data_put_map()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int pn_data_put_map </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf">pn_data_t</a> *&#160;</td>
<td class="paramname"><em>data</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Puts an empty map value into a pn_data_t. </p>
<p>Elements may be filled by entering the map node and putting alternating key value pairs.</p>
<div class="fragment"><div class="line"><a class="code" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf">pn_data_t</a> *data = <a class="code" href="group__data.html#gac21c6f1c517ac486e2923baa3d0c5db4">pn_data</a>(0);</div>
<div class="line">...</div>
<div class="line">pn_data_put_map(data);</div>
<div class="line"><a class="code" href="group__data.html#ga1093449b80357dabf3f70a4bf804f4f7">pn_data_enter</a>(data);</div>
<div class="line"><a class="code" href="group__data.html#ga5dc9c9c7db2018d12753767c075cc6ee">pn_data_put_string</a>(data, <a class="code" href="group__api__types.html#gab4f7e8d204246a3702c6e31a404b0edb">pn_bytes</a>(3, <span class="stringliteral">&quot;key&quot;</span>));</div>
<div class="line"><a class="code" href="group__data.html#ga5dc9c9c7db2018d12753767c075cc6ee">pn_data_put_string</a>(data, <a class="code" href="group__api__types.html#gab4f7e8d204246a3702c6e31a404b0edb">pn_bytes</a>(5, <span class="stringliteral">&quot;value&quot;</span>));</div>
<div class="line"><a class="code" href="group__data.html#ga67a656cbdbf0a47a223ff1c8507ecf48">pn_data_exit</a>(data);</div>
<div class="line">...</div>
</div><!-- fragment --><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">data</td><td>a pn_data_t object </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>zero on success or an error code on failure </dd></dl>
<dl class="section examples"><dt>Examples</dt><dd><a class="el" href="direct_8c-example.html#a13">direct.c</a>, and <a class="el" href="send_8c-example.html#a12">send.c</a>.</dd>
</dl>
</div>
</div>
<a id="ga20dda5db37c55c12b28e428c311b79da"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga20dda5db37c55c12b28e428c311b79da">&#9670;&nbsp;</a></span>pn_data_put_array()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int pn_data_put_array </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf">pn_data_t</a> *&#160;</td>
<td class="paramname"><em>data</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>described</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="group__amqp__types.html#ga4465b5ea7d3c4f15c1dffa4deda905db">pn_type_t</a>&#160;</td>
<td class="paramname"><em>type</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Puts an empty array value into a pn_data_t. </p>
<p>Elements may be filled by entering the array node and putting the element values. The values must all be of the specified array element type. If an array is described then the first child value of the array is the descriptor and may be of any type.</p>
<div class="fragment"><div class="line"><a class="code" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf">pn_data_t</a> *data = <a class="code" href="group__data.html#gac21c6f1c517ac486e2923baa3d0c5db4">pn_data</a>(0);</div>
<div class="line">...</div>
<div class="line">pn_data_put_array(data, <span class="keyword">false</span>, <a class="code" href="group__amqp__types.html#gga4465b5ea7d3c4f15c1dffa4deda905dba175c594857c135ea2a9c3a2d415366ab">PN_INT</a>);</div>
<div class="line"><a class="code" href="group__data.html#ga1093449b80357dabf3f70a4bf804f4f7">pn_data_enter</a>(data);</div>
<div class="line"><a class="code" href="group__data.html#ga6cfb9e64b87f8d90a5b4237ca016a016">pn_data_put_int</a>(data, 1);</div>
<div class="line"><a class="code" href="group__data.html#ga6cfb9e64b87f8d90a5b4237ca016a016">pn_data_put_int</a>(data, 2);</div>
<div class="line"><a class="code" href="group__data.html#ga6cfb9e64b87f8d90a5b4237ca016a016">pn_data_put_int</a>(data, 3);</div>
<div class="line"><a class="code" href="group__data.html#ga67a656cbdbf0a47a223ff1c8507ecf48">pn_data_exit</a>(data);</div>
<div class="line">...</div>
<div class="line">pn_data_put_array(data, True, Data.DOUBLE);</div>
<div class="line"><a class="code" href="group__data.html#ga1093449b80357dabf3f70a4bf804f4f7">pn_data_enter</a>(data);</div>
<div class="line"><a class="code" href="group__data.html#ga00126d993e32a202c34f912d57b8e5ce">pn_data_put_symbol</a>(data, <span class="stringliteral">&quot;array-descriptor&quot;</span>);</div>
<div class="line"><a class="code" href="group__data.html#ga121070d2c21ef594f1cfe4083677f1a2">pn_data_put_double</a>(data, 1.1);</div>
<div class="line"><a class="code" href="group__data.html#ga121070d2c21ef594f1cfe4083677f1a2">pn_data_put_double</a>(data, 1.2);</div>
<div class="line"><a class="code" href="group__data.html#ga121070d2c21ef594f1cfe4083677f1a2">pn_data_put_double</a>(data, 1.3);</div>
<div class="line"><a class="code" href="group__data.html#ga67a656cbdbf0a47a223ff1c8507ecf48">pn_data_exit</a>(data);</div>
<div class="line">...</div>
</div><!-- fragment --><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">data</td><td>a pn_data_t object </td></tr>
<tr><td class="paramname">described</td><td>specifies whether the array is described </td></tr>
<tr><td class="paramname">type</td><td>the type of the array</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>zero on success or an error code on failure </dd></dl>
</div>
</div>
<a id="ga7490c3ee3444557fba3c7ad92e0f0d77"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga7490c3ee3444557fba3c7ad92e0f0d77">&#9670;&nbsp;</a></span>pn_data_put_described()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int pn_data_put_described </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf">pn_data_t</a> *&#160;</td>
<td class="paramname"><em>data</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Puts a described value into a pn_data_t object. </p>
<p>A described node has two children, the descriptor and the value. These are specified by entering the node and putting the desired values.</p>
<div class="fragment"><div class="line"><a class="code" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf">pn_data_t</a> *data = <a class="code" href="group__data.html#gac21c6f1c517ac486e2923baa3d0c5db4">pn_data</a>(0);</div>
<div class="line">...</div>
<div class="line">pn_data_put_described(data);</div>
<div class="line"><a class="code" href="group__data.html#ga1093449b80357dabf3f70a4bf804f4f7">pn_data_enter</a>(data);</div>
<div class="line"><a class="code" href="group__data.html#ga00126d993e32a202c34f912d57b8e5ce">pn_data_put_symbol</a>(data, <a class="code" href="group__api__types.html#gab4f7e8d204246a3702c6e31a404b0edb">pn_bytes</a>(16, <span class="stringliteral">&quot;value-descriptor&quot;</span>));</div>
<div class="line"><a class="code" href="group__data.html#ga5dc9c9c7db2018d12753767c075cc6ee">pn_data_put_string</a>(data, <a class="code" href="group__api__types.html#gab4f7e8d204246a3702c6e31a404b0edb">pn_bytes</a>(9, <span class="stringliteral">&quot;the value&quot;</span>));</div>
<div class="line"><a class="code" href="group__data.html#ga67a656cbdbf0a47a223ff1c8507ecf48">pn_data_exit</a>(data);</div>
<div class="line">...</div>
</div><!-- fragment --><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">data</td><td>a pn_data_t object </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>zero on success or an error code on failure </dd></dl>
</div>
</div>
<a id="gaf76476c18ae09c520a3ae01eaa62cc92"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaf76476c18ae09c520a3ae01eaa62cc92">&#9670;&nbsp;</a></span>pn_data_put_null()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int pn_data_put_null </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf">pn_data_t</a> *&#160;</td>
<td class="paramname"><em>data</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Puts a <a class="el" href="group__amqp__types.html#gga4465b5ea7d3c4f15c1dffa4deda905dbaee48efaa3cb0c5b5d16c5b869b7e8fbe" title="The NULL AMQP type.">PN_NULL</a> value. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">data</td><td>a pn_data_t object </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>zero on success or an error code on failure </dd></dl>
</div>
</div>
<a id="ga4a35f7001de91101d78143e4e98e6556"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga4a35f7001de91101d78143e4e98e6556">&#9670;&nbsp;</a></span>pn_data_put_bool()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int pn_data_put_bool </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf">pn_data_t</a> *&#160;</td>
<td class="paramname"><em>data</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>b</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Puts a <a class="el" href="group__amqp__types.html#gga4465b5ea7d3c4f15c1dffa4deda905dba2d6444a931a66258de3c73ad01238ae7" title="The boolean AMQP type.">PN_BOOL</a> value. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">data</td><td>a pn_data_t object </td></tr>
<tr><td class="paramname">b</td><td>the value </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>zero on success or an error code on failure </dd></dl>
</div>
</div>
<a id="ga49df9ede673853123d84861c169d6113"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga49df9ede673853123d84861c169d6113">&#9670;&nbsp;</a></span>pn_data_put_ubyte()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int pn_data_put_ubyte </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf">pn_data_t</a> *&#160;</td>
<td class="paramname"><em>data</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>ub</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Puts a <a class="el" href="group__amqp__types.html#gga4465b5ea7d3c4f15c1dffa4deda905dba99223ec8d1ae5d915a1eaa7e8fef0256" title="The unsigned byte AMQP type.">PN_UBYTE</a> value. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">data</td><td>a pn_data_t object </td></tr>
<tr><td class="paramname">ub</td><td>the value </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>zero on success or an error code on failure </dd></dl>
</div>
</div>
<a id="ga182347d1d444bf6290b39239c4c13d0f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga182347d1d444bf6290b39239c4c13d0f">&#9670;&nbsp;</a></span>pn_data_put_byte()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int pn_data_put_byte </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf">pn_data_t</a> *&#160;</td>
<td class="paramname"><em>data</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int8_t&#160;</td>
<td class="paramname"><em>b</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Puts a <a class="el" href="group__amqp__types.html#gga4465b5ea7d3c4f15c1dffa4deda905dba32d7a9a461945791cb02902af9ff6592" title="The byte AMQP type.">PN_BYTE</a> value. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">data</td><td>a pn_data_t object </td></tr>
<tr><td class="paramname">b</td><td>the value </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>zero on success or an error code on failure </dd></dl>
</div>
</div>
<a id="ga9b5888f354a3a3b084c74186ed59284c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga9b5888f354a3a3b084c74186ed59284c">&#9670;&nbsp;</a></span>pn_data_put_ushort()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int pn_data_put_ushort </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf">pn_data_t</a> *&#160;</td>
<td class="paramname"><em>data</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint16_t&#160;</td>
<td class="paramname"><em>us</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Puts a <a class="el" href="group__amqp__types.html#gga4465b5ea7d3c4f15c1dffa4deda905dba657a836a5ee74d9468924982ba3a3b41" title="The unsigned short AMQP type.">PN_USHORT</a> value. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">data</td><td>a pn_data_t object </td></tr>
<tr><td class="paramname">us</td><td>the value </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>zero on success or an error code on failure </dd></dl>
</div>
</div>
<a id="gab230cca5089c6c28c4c12d507513fde9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gab230cca5089c6c28c4c12d507513fde9">&#9670;&nbsp;</a></span>pn_data_put_short()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int pn_data_put_short </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf">pn_data_t</a> *&#160;</td>
<td class="paramname"><em>data</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int16_t&#160;</td>
<td class="paramname"><em>s</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Puts a <a class="el" href="group__amqp__types.html#gga4465b5ea7d3c4f15c1dffa4deda905dba3dbf1221e02329a7f41b41e597833d97" title="The short AMQP type.">PN_SHORT</a> value. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">data</td><td>a pn_data_t object </td></tr>
<tr><td class="paramname">s</td><td>the value </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>zero on success or an error code on failure </dd></dl>
</div>
</div>
<a id="ga549ee35ecd73ac55e9e8aa196a6ba2ec"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga549ee35ecd73ac55e9e8aa196a6ba2ec">&#9670;&nbsp;</a></span>pn_data_put_uint()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int pn_data_put_uint </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf">pn_data_t</a> *&#160;</td>
<td class="paramname"><em>data</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>ui</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Puts a <a class="el" href="group__amqp__types.html#gga4465b5ea7d3c4f15c1dffa4deda905dbaa7a251ed9fe5c31f0473976467bfefdd" title="The unsigned int AMQP type.">PN_UINT</a> value. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">data</td><td>a pn_data_t object </td></tr>
<tr><td class="paramname">ui</td><td>the value </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>zero on success or an error code on failure </dd></dl>
</div>
</div>
<a id="ga6cfb9e64b87f8d90a5b4237ca016a016"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga6cfb9e64b87f8d90a5b4237ca016a016">&#9670;&nbsp;</a></span>pn_data_put_int()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int pn_data_put_int </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf">pn_data_t</a> *&#160;</td>
<td class="paramname"><em>data</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int32_t&#160;</td>
<td class="paramname"><em>i</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Puts a <a class="el" href="group__amqp__types.html#gga4465b5ea7d3c4f15c1dffa4deda905dba175c594857c135ea2a9c3a2d415366ab" title="The signed int AMQP type.">PN_INT</a> value. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">data</td><td>a pn_data_t object </td></tr>
<tr><td class="paramname">i</td><td>the value </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>zero on success or an error code on failure </dd></dl>
<dl class="section examples"><dt>Examples</dt><dd><a class="el" href="direct_8c-example.html#a11">direct.c</a>, and <a class="el" href="send_8c-example.html#a10">send.c</a>.</dd>
</dl>
</div>
</div>
<a id="gad406a4cf5bbc22b47cae78954b44c9ef"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gad406a4cf5bbc22b47cae78954b44c9ef">&#9670;&nbsp;</a></span>pn_data_put_char()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int pn_data_put_char </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf">pn_data_t</a> *&#160;</td>
<td class="paramname"><em>data</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="group__amqp__types.html#gaa1713f25d484600197d2a25ace856672">pn_char_t</a>&#160;</td>
<td class="paramname"><em>c</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Puts a <a class="el" href="group__amqp__types.html#gga4465b5ea7d3c4f15c1dffa4deda905dba905512ea57a64d4e2aecf4877b192124" title="The char AMQP type.">PN_CHAR</a> value. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">data</td><td>a pn_data_t object </td></tr>
<tr><td class="paramname">c</td><td>the value </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>zero on success or an error code on failure </dd></dl>
</div>
</div>
<a id="gacc4bf3683c8234a94bca8af3ced8c875"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gacc4bf3683c8234a94bca8af3ced8c875">&#9670;&nbsp;</a></span>pn_data_put_ulong()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int pn_data_put_ulong </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf">pn_data_t</a> *&#160;</td>
<td class="paramname"><em>data</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint64_t&#160;</td>
<td class="paramname"><em>ul</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Puts a <a class="el" href="group__amqp__types.html#gga4465b5ea7d3c4f15c1dffa4deda905dba5f6b5fd2edbedf3f21285b69b8864777" title="The ulong AMQP type.">PN_ULONG</a> value. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">data</td><td>a pn_data_t object </td></tr>
<tr><td class="paramname">ul</td><td>the value </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>zero on success or an error code on failure </dd></dl>
</div>
</div>
<a id="ga90f32862f64d65091d6fb1e7380a672b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga90f32862f64d65091d6fb1e7380a672b">&#9670;&nbsp;</a></span>pn_data_put_long()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int pn_data_put_long </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf">pn_data_t</a> *&#160;</td>
<td class="paramname"><em>data</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int64_t&#160;</td>
<td class="paramname"><em>l</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Puts a <a class="el" href="group__amqp__types.html#gga4465b5ea7d3c4f15c1dffa4deda905dba7a1b08f15b17b3d820a6fb50e65ffe1c" title="The long AMQP type.">PN_LONG</a> value. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">data</td><td>a pn_data_t object </td></tr>
<tr><td class="paramname">l</td><td>the value </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>zero on success or an error code on failure </dd></dl>
</div>
</div>
<a id="gacb2c0b2c56d587ee354aaa0f21f2c9b1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gacb2c0b2c56d587ee354aaa0f21f2c9b1">&#9670;&nbsp;</a></span>pn_data_put_timestamp()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int pn_data_put_timestamp </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf">pn_data_t</a> *&#160;</td>
<td class="paramname"><em>data</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="group__amqp__types.html#gad337c365b498106064ec28e00e5fb6dd">pn_timestamp_t</a>&#160;</td>
<td class="paramname"><em>t</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Puts a <a class="el" href="group__amqp__types.html#gga4465b5ea7d3c4f15c1dffa4deda905dbaca241b4fa6cd92fdf26b4460d02a17b1" title="The timestamp AMQP type.">PN_TIMESTAMP</a> value. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">data</td><td>a pn_data_t object </td></tr>
<tr><td class="paramname">t</td><td>the value </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>zero on success or an error code on failure </dd></dl>
</div>
</div>
<a id="ga1fce9c3194a700eb99552c71651d28fc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga1fce9c3194a700eb99552c71651d28fc">&#9670;&nbsp;</a></span>pn_data_put_float()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int pn_data_put_float </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf">pn_data_t</a> *&#160;</td>
<td class="paramname"><em>data</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">float&#160;</td>
<td class="paramname"><em>f</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Puts a <a class="el" href="group__amqp__types.html#gga4465b5ea7d3c4f15c1dffa4deda905dba9c27cba605584c7d093f26e7270bfaa0" title="The float AMQP type.">PN_FLOAT</a> value. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">data</td><td>a pn_data_t object </td></tr>
<tr><td class="paramname">f</td><td>the value </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>zero on success or an error code on failure </dd></dl>
</div>
</div>
<a id="ga121070d2c21ef594f1cfe4083677f1a2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga121070d2c21ef594f1cfe4083677f1a2">&#9670;&nbsp;</a></span>pn_data_put_double()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int pn_data_put_double </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf">pn_data_t</a> *&#160;</td>
<td class="paramname"><em>data</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">double&#160;</td>
<td class="paramname"><em>d</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Puts a <a class="el" href="group__amqp__types.html#gga4465b5ea7d3c4f15c1dffa4deda905dbaa1367e8029855849dc4e0d3f027279a5" title="The double AMQP type.">PN_DOUBLE</a> value. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">data</td><td>a pn_data_t object </td></tr>
<tr><td class="paramname">d</td><td>the value </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>zero on success or an error code on failure </dd></dl>
</div>
</div>
<a id="ga0199029f44d9c86e469c15bef51ceea2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga0199029f44d9c86e469c15bef51ceea2">&#9670;&nbsp;</a></span>pn_data_put_decimal32()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int pn_data_put_decimal32 </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf">pn_data_t</a> *&#160;</td>
<td class="paramname"><em>data</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="group__amqp__types.html#ga54d49ca7ff04ad10a57139c2d61f1d44">pn_decimal32_t</a>&#160;</td>
<td class="paramname"><em>d</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Puts a <a class="el" href="group__amqp__types.html#gga4465b5ea7d3c4f15c1dffa4deda905dbae998dd044ac55b959427fc90531b14ca" title="The decimal32 AMQP type.">PN_DECIMAL32</a> value. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">data</td><td>a pn_data_t object </td></tr>
<tr><td class="paramname">d</td><td>the value </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>zero on success or an error code on failure </dd></dl>
</div>
</div>
<a id="ga7672e15a4925bb14bebb79bc8206d392"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga7672e15a4925bb14bebb79bc8206d392">&#9670;&nbsp;</a></span>pn_data_put_decimal64()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int pn_data_put_decimal64 </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf">pn_data_t</a> *&#160;</td>
<td class="paramname"><em>data</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="group__amqp__types.html#ga7d8110bc953738d83ad8b9c543ef517f">pn_decimal64_t</a>&#160;</td>
<td class="paramname"><em>d</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Puts a <a class="el" href="group__amqp__types.html#gga4465b5ea7d3c4f15c1dffa4deda905dbacb54239601b8bf4795e34417425b92ae" title="The decimal64 AMQP type.">PN_DECIMAL64</a> value. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">data</td><td>a pn_data_t object </td></tr>
<tr><td class="paramname">d</td><td>the value </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>zero on success or an error code on failure </dd></dl>
</div>
</div>
<a id="ga61944d632d27ffc1c0d6348f62bfec4e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga61944d632d27ffc1c0d6348f62bfec4e">&#9670;&nbsp;</a></span>pn_data_put_decimal128()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int pn_data_put_decimal128 </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf">pn_data_t</a> *&#160;</td>
<td class="paramname"><em>data</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="group__amqp__types.html#structpn__decimal128__t">pn_decimal128_t</a>&#160;</td>
<td class="paramname"><em>d</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Puts a <a class="el" href="group__amqp__types.html#gga4465b5ea7d3c4f15c1dffa4deda905dbae54cf8095578932042be640555855cd4" title="The decimal128 AMQP type.">PN_DECIMAL128</a> value. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">data</td><td>a pn_data_t object </td></tr>
<tr><td class="paramname">d</td><td>the value </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>zero on success or an error code on failure </dd></dl>
</div>
</div>
<a id="ga5d876ccb1d65d46af7db461d4415baab"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga5d876ccb1d65d46af7db461d4415baab">&#9670;&nbsp;</a></span>pn_data_put_uuid()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int pn_data_put_uuid </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf">pn_data_t</a> *&#160;</td>
<td class="paramname"><em>data</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="group__amqp__types.html#structpn__uuid__t">pn_uuid_t</a>&#160;</td>
<td class="paramname"><em>u</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Puts a <a class="el" href="group__amqp__types.html#gga4465b5ea7d3c4f15c1dffa4deda905dba0a6946e5c032bae8d108100e2c56ac13" title="The UUID AMQP type.">PN_UUID</a> value. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">data</td><td>a pn_data_t object </td></tr>
<tr><td class="paramname">u</td><td>the value </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>zero on success or an error code on failure </dd></dl>
</div>
</div>
<a id="gaeddd7cf9d968e81ebe72831330e7cd21"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaeddd7cf9d968e81ebe72831330e7cd21">&#9670;&nbsp;</a></span>pn_data_put_binary()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int pn_data_put_binary </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf">pn_data_t</a> *&#160;</td>
<td class="paramname"><em>data</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="group__api__types.html#structpn__bytes__t">pn_bytes_t</a>&#160;</td>
<td class="paramname"><em>bytes</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Puts a <a class="el" href="group__amqp__types.html#gga4465b5ea7d3c4f15c1dffa4deda905dba7dc0fd4874c2b57a8249614d348643e9" title="The binary AMQP type.">PN_BINARY</a> value. </p>
<p>The bytes referenced by the <a class="el" href="group__api__types.html#structpn__bytes__t" title="A const byte buffer.">pn_bytes_t</a> argument are copied and stored inside the pn_data_t object.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">data</td><td>a pn_data_t object </td></tr>
<tr><td class="paramname">bytes</td><td>the value </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>zero on success or an error code on failure </dd></dl>
</div>
</div>
<a id="ga5dc9c9c7db2018d12753767c075cc6ee"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga5dc9c9c7db2018d12753767c075cc6ee">&#9670;&nbsp;</a></span>pn_data_put_string()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int pn_data_put_string </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf">pn_data_t</a> *&#160;</td>
<td class="paramname"><em>data</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="group__api__types.html#structpn__bytes__t">pn_bytes_t</a>&#160;</td>
<td class="paramname"><em>string</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Puts a <a class="el" href="group__amqp__types.html#gga4465b5ea7d3c4f15c1dffa4deda905dba88421417c7be2caf88c2d243cb73da6b" title="The string AMQP type.">PN_STRING</a> value. </p>
<p>The bytes referenced by the <a class="el" href="group__api__types.html#structpn__bytes__t" title="A const byte buffer.">pn_bytes_t</a> argument are copied and stored inside the pn_data_t object.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">data</td><td>a pn_data_t object </td></tr>
<tr><td class="paramname">string</td><td>utf8 encoded unicode </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>zero on success or an error code on failure </dd></dl>
<dl class="section examples"><dt>Examples</dt><dd><a class="el" href="direct_8c-example.html#a15">direct.c</a>, and <a class="el" href="send_8c-example.html#a14">send.c</a>.</dd>
</dl>
</div>
</div>
<a id="ga00126d993e32a202c34f912d57b8e5ce"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga00126d993e32a202c34f912d57b8e5ce">&#9670;&nbsp;</a></span>pn_data_put_symbol()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int pn_data_put_symbol </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf">pn_data_t</a> *&#160;</td>
<td class="paramname"><em>data</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="group__api__types.html#structpn__bytes__t">pn_bytes_t</a>&#160;</td>
<td class="paramname"><em>symbol</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Puts a <a class="el" href="group__amqp__types.html#gga4465b5ea7d3c4f15c1dffa4deda905dbad5f0929805f481d3ca6089ed172451e9" title="The symbol AMQP type.">PN_SYMBOL</a> value. </p>
<p>The bytes referenced by the <a class="el" href="group__api__types.html#structpn__bytes__t" title="A const byte buffer.">pn_bytes_t</a> argument are copied and stored inside the pn_data_t object.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">data</td><td>a pn_data_t object </td></tr>
<tr><td class="paramname">symbol</td><td>ascii encoded symbol </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>zero on success or an error code on failure </dd></dl>
</div>
</div>
<a id="ga926c8732c66f38f3b9578d50af30f2ff"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga926c8732c66f38f3b9578d50af30f2ff">&#9670;&nbsp;</a></span>pn_data_put_atom()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int pn_data_put_atom </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf">pn_data_t</a> *&#160;</td>
<td class="paramname"><em>data</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="group__api__types.html#structpn__atom__t">pn_atom_t</a>&#160;</td>
<td class="paramname"><em>atom</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Puts any scalar value value. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">data</td><td>a pn_data_t object </td></tr>
<tr><td class="paramname">atom</td><td>the value </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>zero on success or an error code on failure </dd></dl>
</div>
</div>
<a id="ga3af18fc419995766f83a4b4ac07c31ce"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga3af18fc419995766f83a4b4ac07c31ce">&#9670;&nbsp;</a></span>pn_data_get_list()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">size_t pn_data_get_list </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf">pn_data_t</a> *&#160;</td>
<td class="paramname"><em>data</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>If the current node is a list, return the number of elements, otherwise return zero. </p>
<p>List elements can be accessed by entering the list.</p>
<div class="fragment"><div class="line">...</div>
<div class="line">size_t count = <a class="code" href="group__data.html#ga3af18fc419995766f83a4b4ac07c31ce">pn_data_get_list</a>(data);</div>
<div class="line"><a class="code" href="group__data.html#ga1093449b80357dabf3f70a4bf804f4f7">pn_data_enter</a>(data);</div>
<div class="line"><span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> i = 0; i &lt; count; i++) {</div>
<div class="line"> <span class="keywordflow">if</span> (<a class="code" href="group__data.html#ga96c9a1c5f179036cd9513c50c0ac57de">pn_data_next</a>(data)) {</div>
<div class="line"> <span class="keywordflow">switch</span> (<a class="code" href="group__data.html#ga2843b707e33437a8673e8b904c8faea1">pn_data_type</a>(data)) {</div>
<div class="line"> <span class="keywordflow">case</span> <a class="code" href="group__amqp__types.html#gga4465b5ea7d3c4f15c1dffa4deda905dba88421417c7be2caf88c2d243cb73da6b">PN_STRING</a>:</div>
<div class="line"> ...</div>
<div class="line"> <span class="keywordflow">break</span>;</div>
<div class="line"> <span class="keywordflow">case</span> <a class="code" href="group__amqp__types.html#gga4465b5ea7d3c4f15c1dffa4deda905dba175c594857c135ea2a9c3a2d415366ab">PN_INT</a>:</div>
<div class="line"> ...</div>
<div class="line"> <span class="keywordflow">break</span>;</div>
<div class="line"> }</div>
<div class="line">}</div>
<div class="line"><a class="code" href="group__data.html#ga67a656cbdbf0a47a223ff1c8507ecf48">pn_data_exit</a>(data);</div>
<div class="line">...</div>
</div><!-- fragment --><p> .* </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">data</td><td>a pn_data_t object </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>the size of a list node </dd></dl>
</div>
</div>
<a id="gadbd4c895a1e10266d20898996ce53bc0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gadbd4c895a1e10266d20898996ce53bc0">&#9670;&nbsp;</a></span>pn_data_get_map()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">size_t pn_data_get_map </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf">pn_data_t</a> *&#160;</td>
<td class="paramname"><em>data</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>If the current node is a map, return the number of child elements, otherwise return zero. </p>
<p>Key value pairs can be accessed by entering the map.</p>
<div class="fragment"><div class="line">...</div>
<div class="line">size_t count = <a class="code" href="group__data.html#gadbd4c895a1e10266d20898996ce53bc0">pn_data_get_map</a>(data);</div>
<div class="line"><a class="code" href="group__data.html#ga1093449b80357dabf3f70a4bf804f4f7">pn_data_enter</a>(data);</div>
<div class="line"><span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> i = 0; i &lt; count/2; i++) {</div>
<div class="line"> <span class="comment">// read key</span></div>
<div class="line"> <span class="keywordflow">if</span> (<a class="code" href="group__data.html#ga96c9a1c5f179036cd9513c50c0ac57de">pn_data_next</a>(data)) {</div>
<div class="line"> <span class="keywordflow">switch</span> (<a class="code" href="group__data.html#ga2843b707e33437a8673e8b904c8faea1">pn_data_type</a>(data)) {</div>
<div class="line"> <span class="keywordflow">case</span> <a class="code" href="group__amqp__types.html#gga4465b5ea7d3c4f15c1dffa4deda905dba88421417c7be2caf88c2d243cb73da6b">PN_STRING</a>:</div>
<div class="line"> ...</div>
<div class="line"> <span class="keywordflow">break</span>;</div>
<div class="line"> ...</div>
<div class="line"> }</div>
<div class="line"> }</div>
<div class="line"> ...</div>
<div class="line"> <span class="comment">// read value</span></div>
<div class="line"> <span class="keywordflow">if</span> (<a class="code" href="group__data.html#ga96c9a1c5f179036cd9513c50c0ac57de">pn_data_next</a>(data)) {</div>
<div class="line"> <span class="keywordflow">switch</span> (<a class="code" href="group__data.html#ga2843b707e33437a8673e8b904c8faea1">pn_data_type</a>(data)) {</div>
<div class="line"> <span class="keywordflow">case</span> <a class="code" href="group__amqp__types.html#gga4465b5ea7d3c4f15c1dffa4deda905dba175c594857c135ea2a9c3a2d415366ab">PN_INT</a>:</div>
<div class="line"> ...</div>
<div class="line"> <span class="keywordflow">break</span>;</div>
<div class="line"> ...</div>
<div class="line"> }</div>
<div class="line"> }</div>
<div class="line"> ...</div>
<div class="line">}</div>
<div class="line"><a class="code" href="group__data.html#ga67a656cbdbf0a47a223ff1c8507ecf48">pn_data_exit</a>(data);</div>
<div class="line">...</div>
</div><!-- fragment --><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">data</td><td>a pn_data_t object </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>the number of child elements of a map node </dd></dl>
</div>
</div>
<a id="gab0f8eefe5f89362ffe186a092044d936"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gab0f8eefe5f89362ffe186a092044d936">&#9670;&nbsp;</a></span>pn_data_get_array()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">size_t pn_data_get_array </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf">pn_data_t</a> *&#160;</td>
<td class="paramname"><em>data</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>If the current node is an array, return the number of elements in the array, otherwise return 0. </p>
<p>Array data can be accessed by entering the array. If the array is described, the first child node will be the descriptor, and the remaining count child nodes will be the elements of the array.</p>
<div class="fragment"><div class="line">...</div>
<div class="line">size_t count = <a class="code" href="group__data.html#gab0f8eefe5f89362ffe186a092044d936">pn_data_get_array</a>(data);</div>
<div class="line"><span class="keywordtype">bool</span> described = <a class="code" href="group__data.html#ga122e7f20f958d51900675d37d80bd37e">pn_data_is_array_described</a>(data);</div>
<div class="line"><a class="code" href="group__amqp__types.html#ga4465b5ea7d3c4f15c1dffa4deda905db">pn_type_t</a> type = <a class="code" href="group__data.html#ga11c026fb5ec5e8620258f52ed86229b4">pn_data_get_array_type</a>(data);</div>
<div class="line"> </div>
<div class="line"><a class="code" href="group__data.html#ga1093449b80357dabf3f70a4bf804f4f7">pn_data_enter</a>(data);</div>
<div class="line"> </div>
<div class="line"><span class="keywordflow">if</span> (described &amp;&amp; <a class="code" href="group__data.html#ga96c9a1c5f179036cd9513c50c0ac57de">pn_data_next</a>(data)) {</div>
<div class="line"> <span class="comment">// the descriptor could be another type, but let&#39;s assume it&#39;s a symbol</span></div>
<div class="line"> <a class="code" href="group__api__types.html#structpn__bytes__t">pn_bytes_t</a> descriptor = <a class="code" href="group__data.html#ga3c64a188867ebb19c8d4e3908e6f8e20">pn_data_get_symbol</a>(data);</div>
<div class="line">}</div>
<div class="line"> </div>
<div class="line"><span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> i = 0; i &lt; count; i++) {</div>
<div class="line"> <span class="keywordflow">if</span> (<a class="code" href="group__data.html#ga96c9a1c5f179036cd9513c50c0ac57de">pn_data_next</a>(data)) {</div>
<div class="line"> <span class="comment">// all elements will be values of the array type retrieved above</span></div>
<div class="line"> ...</div>
<div class="line"> }</div>
<div class="line">}</div>
<div class="line"><a class="code" href="group__data.html#ga67a656cbdbf0a47a223ff1c8507ecf48">pn_data_exit</a>(data);</div>
<div class="line">...</div>
</div><!-- fragment --><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">data</td><td>a pn_data_t object </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>the number of elements of an array node </dd></dl>
</div>
</div>
<a id="ga122e7f20f958d51900675d37d80bd37e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga122e7f20f958d51900675d37d80bd37e">&#9670;&nbsp;</a></span>pn_data_is_array_described()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool pn_data_is_array_described </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf">pn_data_t</a> *&#160;</td>
<td class="paramname"><em>data</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns true if the current node points to a described array. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">data</td><td>a pn_data_t object </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>true if the current node points to a described array </dd></dl>
</div>
</div>
<a id="ga11c026fb5ec5e8620258f52ed86229b4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga11c026fb5ec5e8620258f52ed86229b4">&#9670;&nbsp;</a></span>pn_data_get_array_type()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="group__amqp__types.html#ga4465b5ea7d3c4f15c1dffa4deda905db">pn_type_t</a> pn_data_get_array_type </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf">pn_data_t</a> *&#160;</td>
<td class="paramname"><em>data</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Return the array type if the current node points to an array, PN_INVALID otherwise. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">data</td><td>a pn_data_t object </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>the element type of an array node </dd></dl>
</div>
</div>
<a id="gad7fac25ba5589ff0374442cf7ecbbd9c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gad7fac25ba5589ff0374442cf7ecbbd9c">&#9670;&nbsp;</a></span>pn_data_is_described()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool pn_data_is_described </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf">pn_data_t</a> *&#160;</td>
<td class="paramname"><em>data</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Checks if the current node is a described value. </p>
<p>The descriptor and value may be accessed by entering the described value node.</p>
<div class="fragment"><div class="line">...</div>
<div class="line"><span class="comment">// read a symbolically described string</span></div>
<div class="line">if (<a class="code" href="group__data.html#gad7fac25ba5589ff0374442cf7ecbbd9c">pn_data_is_described</a>(data)) {</div>
<div class="line"> <a class="code" href="group__data.html#ga1093449b80357dabf3f70a4bf804f4f7">pn_data_enter</a>(data);</div>
<div class="line"> <a class="code" href="group__data.html#ga96c9a1c5f179036cd9513c50c0ac57de">pn_data_next</a>(data);</div>
<div class="line"> assert(<a class="code" href="group__data.html#ga2843b707e33437a8673e8b904c8faea1">pn_data_type</a>(data) == <a class="code" href="group__amqp__types.html#gga4465b5ea7d3c4f15c1dffa4deda905dbad5f0929805f481d3ca6089ed172451e9">PN_SYMBOL</a>);</div>
<div class="line"> <a class="code" href="group__api__types.html#structpn__bytes__t">pn_bytes_t</a> symbol = <a class="code" href="group__data.html#ga3c64a188867ebb19c8d4e3908e6f8e20">pn_data_get_symbol</a>(data);</div>
<div class="line"> <a class="code" href="group__data.html#ga96c9a1c5f179036cd9513c50c0ac57de">pn_data_next</a>(data);</div>
<div class="line"> assert(<a class="code" href="group__data.html#ga2843b707e33437a8673e8b904c8faea1">pn_data_type</a>(data) == <a class="code" href="group__amqp__types.html#gga4465b5ea7d3c4f15c1dffa4deda905dba88421417c7be2caf88c2d243cb73da6b">PN_STRING</a>);</div>
<div class="line"> <a class="code" href="group__api__types.html#structpn__bytes__t">pn_bytes_t</a> utf8 = <a class="code" href="group__data.html#gafccb5008960eb8dc757cb7f9941e5013">pn_data_get_string</a>(data);</div>
<div class="line"> <a class="code" href="group__data.html#ga67a656cbdbf0a47a223ff1c8507ecf48">pn_data_exit</a>(data);</div>
<div class="line">}</div>
<div class="line">...</div>
</div><!-- fragment --><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">data</td><td>a pn_data_t object </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>true if the current node is a described type </dd></dl>
</div>
</div>
<a id="gabba00ce3862818acd8ca91c2a8af348b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gabba00ce3862818acd8ca91c2a8af348b">&#9670;&nbsp;</a></span>pn_data_is_null()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool pn_data_is_null </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf">pn_data_t</a> *&#160;</td>
<td class="paramname"><em>data</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Checks if the current node is a <a class="el" href="group__amqp__types.html#gga4465b5ea7d3c4f15c1dffa4deda905dbaee48efaa3cb0c5b5d16c5b869b7e8fbe" title="The NULL AMQP type.">PN_NULL</a>. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">data</td><td>a pn_data_t object </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>true iff the current node is <a class="el" href="group__amqp__types.html#gga4465b5ea7d3c4f15c1dffa4deda905dbaee48efaa3cb0c5b5d16c5b869b7e8fbe" title="The NULL AMQP type.">PN_NULL</a> </dd></dl>
</div>
</div>
<a id="gaeab50c7bd297665714861cfcb8f51124"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaeab50c7bd297665714861cfcb8f51124">&#9670;&nbsp;</a></span>pn_data_get_bool()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool pn_data_get_bool </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf">pn_data_t</a> *&#160;</td>
<td class="paramname"><em>data</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>If the current node is a <a class="el" href="group__amqp__types.html#gga4465b5ea7d3c4f15c1dffa4deda905dba2d6444a931a66258de3c73ad01238ae7" title="The boolean AMQP type.">PN_BOOL</a>, returns its value. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">data</td><td>a pn_data_t object </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="ga7582b8fd0ecdf0368a600b9c4f22faa8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga7582b8fd0ecdf0368a600b9c4f22faa8">&#9670;&nbsp;</a></span>pn_data_get_ubyte()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint8_t pn_data_get_ubyte </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf">pn_data_t</a> *&#160;</td>
<td class="paramname"><em>data</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>If the current node is a <a class="el" href="group__amqp__types.html#gga4465b5ea7d3c4f15c1dffa4deda905dba99223ec8d1ae5d915a1eaa7e8fef0256" title="The unsigned byte AMQP type.">PN_UBYTE</a>, return its value, otherwise return 0. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">data</td><td>a pn_data_t object </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="gaa756be79ecfab947ecea57ed8a9089f7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaa756be79ecfab947ecea57ed8a9089f7">&#9670;&nbsp;</a></span>pn_data_get_byte()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int8_t pn_data_get_byte </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf">pn_data_t</a> *&#160;</td>
<td class="paramname"><em>data</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>If the current node is a signed byte, returns its value, returns 0 otherwise. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">data</td><td>a pn_data_t object </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="ga254abc4df02a5c2e87fd3bdac2e14846"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga254abc4df02a5c2e87fd3bdac2e14846">&#9670;&nbsp;</a></span>pn_data_get_ushort()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint16_t pn_data_get_ushort </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf">pn_data_t</a> *&#160;</td>
<td class="paramname"><em>data</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>If the current node is an unsigned short, returns its value, returns 0 otherwise. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">data</td><td>a pn_data_t object </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="gafe894205eaba01d1caf8ee2aa68ed55c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gafe894205eaba01d1caf8ee2aa68ed55c">&#9670;&nbsp;</a></span>pn_data_get_short()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int16_t pn_data_get_short </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf">pn_data_t</a> *&#160;</td>
<td class="paramname"><em>data</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>If the current node is a signed short, returns its value, returns 0 otherwise. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">data</td><td>a pn_data_t object </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="ga9541c1ee071c7d0b38805e1b01672ccc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga9541c1ee071c7d0b38805e1b01672ccc">&#9670;&nbsp;</a></span>pn_data_get_uint()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint32_t pn_data_get_uint </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf">pn_data_t</a> *&#160;</td>
<td class="paramname"><em>data</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>If the current node is an unsigned int, returns its value, returns 0 otherwise. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">data</td><td>a pn_data_t object </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="ga4f9ccacd002e89127b278703a6c680da"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga4f9ccacd002e89127b278703a6c680da">&#9670;&nbsp;</a></span>pn_data_get_int()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int32_t pn_data_get_int </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf">pn_data_t</a> *&#160;</td>
<td class="paramname"><em>data</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>If the current node is a signed int, returns its value, returns 0 otherwise. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">data</td><td>a pn_data_t object </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="ga9deeb028b90df8bfa3cad7928348b46b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga9deeb028b90df8bfa3cad7928348b46b">&#9670;&nbsp;</a></span>pn_data_get_char()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="group__amqp__types.html#gaa1713f25d484600197d2a25ace856672">pn_char_t</a> pn_data_get_char </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf">pn_data_t</a> *&#160;</td>
<td class="paramname"><em>data</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>If the current node is a char, returns its value, returns 0 otherwise. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">data</td><td>a pn_data_t object </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="gaef4aa1c6873eb59a46ccaf76c492826f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaef4aa1c6873eb59a46ccaf76c492826f">&#9670;&nbsp;</a></span>pn_data_get_ulong()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint64_t pn_data_get_ulong </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf">pn_data_t</a> *&#160;</td>
<td class="paramname"><em>data</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>If the current node is an unsigned long, returns its value, returns 0 otherwise. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">data</td><td>a pn_data_t object </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="ga8d813db46df4e635b1ab2c400403560c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga8d813db46df4e635b1ab2c400403560c">&#9670;&nbsp;</a></span>pn_data_get_long()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int64_t pn_data_get_long </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf">pn_data_t</a> *&#160;</td>
<td class="paramname"><em>data</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>If the current node is an signed long, returns its value, returns 0 otherwise. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">data</td><td>a pn_data_t object </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="gac8cf4d1cb60c3313f4d61f45bceda5ba"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gac8cf4d1cb60c3313f4d61f45bceda5ba">&#9670;&nbsp;</a></span>pn_data_get_timestamp()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="group__amqp__types.html#gad337c365b498106064ec28e00e5fb6dd">pn_timestamp_t</a> pn_data_get_timestamp </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf">pn_data_t</a> *&#160;</td>
<td class="paramname"><em>data</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>If the current node is a timestamp, returns its value, returns 0 otherwise. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">data</td><td>a pn_data_t object </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="gabf41ef79c9a4f7e3fd673b0999e63a41"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gabf41ef79c9a4f7e3fd673b0999e63a41">&#9670;&nbsp;</a></span>pn_data_get_float()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">float pn_data_get_float </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf">pn_data_t</a> *&#160;</td>
<td class="paramname"><em>data</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>If the current node is a float, returns its value, returns 0 otherwise. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">data</td><td>a pn_data_t object </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="ga97c448c037e34404df782c82d77b2bc3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga97c448c037e34404df782c82d77b2bc3">&#9670;&nbsp;</a></span>pn_data_get_double()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">double pn_data_get_double </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf">pn_data_t</a> *&#160;</td>
<td class="paramname"><em>data</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>If the current node is a double, returns its value, returns 0 otherwise. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">data</td><td>a pn_data_t object </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="gabdbfa1e913c490d3b1ad6ca169910482"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gabdbfa1e913c490d3b1ad6ca169910482">&#9670;&nbsp;</a></span>pn_data_get_decimal32()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="group__amqp__types.html#ga54d49ca7ff04ad10a57139c2d61f1d44">pn_decimal32_t</a> pn_data_get_decimal32 </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf">pn_data_t</a> *&#160;</td>
<td class="paramname"><em>data</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>If the current node is a decimal32, returns its value, returns 0 otherwise. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">data</td><td>a pn_data_t object </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="ga3bdeb99d1275d7fe06a46818467d03d9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga3bdeb99d1275d7fe06a46818467d03d9">&#9670;&nbsp;</a></span>pn_data_get_decimal64()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="group__amqp__types.html#ga7d8110bc953738d83ad8b9c543ef517f">pn_decimal64_t</a> pn_data_get_decimal64 </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf">pn_data_t</a> *&#160;</td>
<td class="paramname"><em>data</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>If the current node is a decimal64, returns its value, returns 0 otherwise. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">data</td><td>a pn_data_t object </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="gaeb8b424245ca352fb63dce8ca03cd8da"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaeb8b424245ca352fb63dce8ca03cd8da">&#9670;&nbsp;</a></span>pn_data_get_decimal128()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="group__amqp__types.html#structpn__decimal128__t">pn_decimal128_t</a> pn_data_get_decimal128 </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf">pn_data_t</a> *&#160;</td>
<td class="paramname"><em>data</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>If the current node is a decimal128, returns its value, returns 0 otherwise. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">data</td><td>a pn_data_t object </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="ga5ba3f8eb5a972b9a579bc5af9e7fbde2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga5ba3f8eb5a972b9a579bc5af9e7fbde2">&#9670;&nbsp;</a></span>pn_data_get_uuid()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="group__amqp__types.html#structpn__uuid__t">pn_uuid_t</a> pn_data_get_uuid </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf">pn_data_t</a> *&#160;</td>
<td class="paramname"><em>data</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>If the current node is a UUID, returns its value, returns None otherwise. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">data</td><td>a pn_data_t object </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>a uuid value </dd></dl>
</div>
</div>
<a id="gaee6e7a4f78d202cc81657e3976fd68ae"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaee6e7a4f78d202cc81657e3976fd68ae">&#9670;&nbsp;</a></span>pn_data_get_binary()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="group__api__types.html#structpn__bytes__t">pn_bytes_t</a> pn_data_get_binary </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf">pn_data_t</a> *&#160;</td>
<td class="paramname"><em>data</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>If the current node is binary, returns its value, returns "" otherwise. </p>
<p>The <a class="el" href="group__api__types.html#structpn__bytes__t" title="A const byte buffer.">pn_bytes_t</a> returned will point to memory held inside the pn_data_t. When the pn_data_t is cleared or freed, this memory will be reclaimed.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">data</td><td>a pn_data_t object </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="gafccb5008960eb8dc757cb7f9941e5013"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gafccb5008960eb8dc757cb7f9941e5013">&#9670;&nbsp;</a></span>pn_data_get_string()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="group__api__types.html#structpn__bytes__t">pn_bytes_t</a> pn_data_get_string </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf">pn_data_t</a> *&#160;</td>
<td class="paramname"><em>data</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>If the current node is a string, returns its value, returns "" otherwise. </p>
<p>The <a class="el" href="group__api__types.html#structpn__bytes__t" title="A const byte buffer.">pn_bytes_t</a> returned will point to memory held inside the pn_data_t. When the pn_data_t is cleared or freed, this memory will be reclaimed.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">data</td><td>a pn_data_t object </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>a <a class="el" href="group__api__types.html#structpn__bytes__t" title="A const byte buffer.">pn_bytes_t</a> pointing to utf8 </dd></dl>
</div>
</div>
<a id="ga3c64a188867ebb19c8d4e3908e6f8e20"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga3c64a188867ebb19c8d4e3908e6f8e20">&#9670;&nbsp;</a></span>pn_data_get_symbol()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="group__api__types.html#structpn__bytes__t">pn_bytes_t</a> pn_data_get_symbol </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf">pn_data_t</a> *&#160;</td>
<td class="paramname"><em>data</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>If the current node is a symbol, returns its value, returns "" otherwise. </p>
<p>The <a class="el" href="group__api__types.html#structpn__bytes__t" title="A const byte buffer.">pn_bytes_t</a> returned will point to memory held inside the pn_data_t. When the pn_data_t is cleared or freed, this memory will be reclaimed.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">data</td><td>a pn_data_t object </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>a <a class="el" href="group__api__types.html#structpn__bytes__t" title="A const byte buffer.">pn_bytes_t</a> pointing to ascii </dd></dl>
</div>
</div>
<a id="gad03a049653bec28d20dc7587f7e544de"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gad03a049653bec28d20dc7587f7e544de">&#9670;&nbsp;</a></span>pn_data_get_bytes()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="group__api__types.html#structpn__bytes__t">pn_bytes_t</a> pn_data_get_bytes </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf">pn_data_t</a> *&#160;</td>
<td class="paramname"><em>data</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>If the current node is a symbol, string, or binary, return the bytes representing its value. </p>
<p>The <a class="el" href="group__api__types.html#structpn__bytes__t" title="A const byte buffer.">pn_bytes_t</a> returned will point to memory held inside the pn_data_t. When the pn_data_t is cleared or freed, this memory will be reclaimed.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">data</td><td>a pn_data_t object </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>a <a class="el" href="group__api__types.html#structpn__bytes__t" title="A const byte buffer.">pn_bytes_t</a> pointing to the node's value </dd></dl>
</div>
</div>
<a id="gac5d5c6e6bf24597caf63d35b1755e646"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gac5d5c6e6bf24597caf63d35b1755e646">&#9670;&nbsp;</a></span>pn_data_get_atom()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="group__api__types.html#structpn__atom__t">pn_atom_t</a> pn_data_get_atom </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf">pn_data_t</a> *&#160;</td>
<td class="paramname"><em>data</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>If the current node is a scalar value, return it as a <a class="el" href="group__api__types.html#structpn__atom__t" title="A discriminated union that holds any scalar AMQP value.">pn_atom_t</a>. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">data</td><td>a pn_data_t object </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>the value of the current node as <a class="el" href="group__api__types.html#structpn__atom__t" title="A discriminated union that holds any scalar AMQP value.">pn_atom_t</a> </dd></dl>
</div>
</div>
<a id="gaf0e0fbb9c8c757f94b9636a6b54dc332"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaf0e0fbb9c8c757f94b9636a6b54dc332">&#9670;&nbsp;</a></span>pn_data_copy()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int pn_data_copy </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf">pn_data_t</a> *&#160;</td>
<td class="paramname"><em>data</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf">pn_data_t</a> *&#160;</td>
<td class="paramname"><em>src</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Copy the contents of another pn_data_t object. </p>
<p>Any values in the data object will be lost.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">data</td><td>a pn_data_t object </td></tr>
<tr><td class="paramname">src</td><td>the source pn_data_t to copy from </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>zero on success or an error code on failure </dd></dl>
</div>
</div>
<a id="ga0a98b8f17784460034c240ed4b6b47d7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga0a98b8f17784460034c240ed4b6b47d7">&#9670;&nbsp;</a></span>pn_data_append()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int pn_data_append </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf">pn_data_t</a> *&#160;</td>
<td class="paramname"><em>data</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf">pn_data_t</a> *&#160;</td>
<td class="paramname"><em>src</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Append the contents of another pn_data_t object. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">data</td><td>a pn_data_t object </td></tr>
<tr><td class="paramname">src</td><td>the source pn_data_t to append from </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>zero on success or an error code on failure </dd></dl>
</div>
</div>
<a id="ga9a048cfd78ca76604b667d170eac0136"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga9a048cfd78ca76604b667d170eac0136">&#9670;&nbsp;</a></span>pn_data_appendn()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int pn_data_appendn </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf">pn_data_t</a> *&#160;</td>
<td class="paramname"><em>data</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf">pn_data_t</a> *&#160;</td>
<td class="paramname"><em>src</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>limit</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Append up to <em>n</em> values from the contents of another pn_data_t object. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">data</td><td>a pn_data_t object </td></tr>
<tr><td class="paramname">src</td><td>the source pn_data_t to append from </td></tr>
<tr><td class="paramname">limit</td><td>the maximum number of values to append </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>zero on success or an error code on failure </dd></dl>
</div>
</div>
<a id="gaac08905c5bfb2371951914e0fb2793b9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaac08905c5bfb2371951914e0fb2793b9">&#9670;&nbsp;</a></span>pn_data_narrow()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void pn_data_narrow </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf">pn_data_t</a> *&#160;</td>
<td class="paramname"><em>data</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Modify a pn_data_t object to behave as if the current node is the root node of the tree. </p>
<p>This impacts the behaviour of <a class="el" href="group__data.html#ga26d61fd9b512c322344d410384202005" title="Clears current node pointer and sets the parent to the root node.">pn_data_rewind()</a>, <a class="el" href="group__data.html#ga96c9a1c5f179036cd9513c50c0ac57de" title="Advances the current node to its next sibling and returns true.">pn_data_next()</a>, <a class="el" href="group__data.html#ga9ee214dd19c845f76e29651682732e16" title="Moves the current node to its previous sibling and returns true.">pn_data_prev()</a>, and anything else that depends on the navigational state of the pn_data_t object. Use <a class="el" href="group__data.html#gab3f699c30da99e02d13f773988e3849e" title="Reverse the effect of pn_data_narrow().">pn_data_widen()</a> to reverse the effect of this operation.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">data</td><td>a pn_data_t object </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="gab3f699c30da99e02d13f773988e3849e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gab3f699c30da99e02d13f773988e3849e">&#9670;&nbsp;</a></span>pn_data_widen()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void pn_data_widen </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf">pn_data_t</a> *&#160;</td>
<td class="paramname"><em>data</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Reverse the effect of <a class="el" href="group__data.html#gaac08905c5bfb2371951914e0fb2793b9" title="Modify a pn_data_t object to behave as if the current node is the root node of the tree.">pn_data_narrow()</a>. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">data</td><td>a pn_data_t object </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="ga61162ca933ab6b957270f27910981eef"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga61162ca933ab6b957270f27910981eef">&#9670;&nbsp;</a></span>pn_data_point()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">pn_handle_t pn_data_point </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf">pn_data_t</a> *&#160;</td>
<td class="paramname"><em>data</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns a handle for the current navigational state of a pn_data_t so that it can be later restored using <a class="el" href="group__data.html#ga92247a44abd6b6d01d9216d5b1e2e781" title="Restores a prior navigational state that was saved using pn_data_point().">pn_data_restore()</a>. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">data</td><td>a pn_data_t object </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>a handle for the current navigational state </dd></dl>
</div>
</div>
<a id="ga92247a44abd6b6d01d9216d5b1e2e781"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga92247a44abd6b6d01d9216d5b1e2e781">&#9670;&nbsp;</a></span>pn_data_restore()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool pn_data_restore </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf">pn_data_t</a> *&#160;</td>
<td class="paramname"><em>data</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">pn_handle_t&#160;</td>
<td class="paramname"><em>point</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Restores a prior navigational state that was saved using <a class="el" href="group__data.html#ga61162ca933ab6b957270f27910981eef" title="Returns a handle for the current navigational state of a pn_data_t so that it can be later restored u...">pn_data_point()</a>. </p>
<p>If the data object has been modified in such a way that the prior navigational state cannot be restored, then this will return false and the navigational state will remain unchanged, otherwise it will return true.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">data</td><td>a pn_data_t object </td></tr>
<tr><td class="paramname">point</td><td>a handle referencing the saved navigational state </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>true iff the prior navigational state was restored </dd></dl>
</div>
</div>
<a id="ga502e9571b513b58bce5a5ae442951400"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga502e9571b513b58bce5a5ae442951400">&#9670;&nbsp;</a></span>pn_data_dump()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void pn_data_dump </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf">pn_data_t</a> *&#160;</td>
<td class="paramname"><em>data</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Dumps a debug representation of the internal state of the pn_data_t object that includes its navigational state to stdout for debugging purposes. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">data</td><td>a pn_data_t object that is behaving in a confusing way </td></tr>
</table>
</dd>
</dl>
</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<div class="ttc" id="agroup__amqp__types_html_ga4465b5ea7d3c4f15c1dffa4deda905db"><div class="ttname"><a href="group__amqp__types.html#ga4465b5ea7d3c4f15c1dffa4deda905db">pn_type_t</a></div><div class="ttdeci">pn_type_t</div><div class="ttdoc">Identifies an AMQP type.</div><div class="ttdef"><b>Definition:</b> codec.h:47</div></div>
<div class="ttc" id="agroup__data_html_ga2843b707e33437a8673e8b904c8faea1"><div class="ttname"><a href="group__data.html#ga2843b707e33437a8673e8b904c8faea1">pn_data_type</a></div><div class="ttdeci">pn_type_t pn_data_type(pn_data_t *data)</div><div class="ttdoc">Access the type of the current node.</div></div>
<div class="ttc" id="agroup__data_html_gab0f8eefe5f89362ffe186a092044d936"><div class="ttname"><a href="group__data.html#gab0f8eefe5f89362ffe186a092044d936">pn_data_get_array</a></div><div class="ttdeci">size_t pn_data_get_array(pn_data_t *data)</div><div class="ttdoc">If the current node is an array, return the number of elements in the array, otherwise return 0.</div></div>
<div class="ttc" id="agroup__amqp__types_html_gga4465b5ea7d3c4f15c1dffa4deda905dba88421417c7be2caf88c2d243cb73da6b"><div class="ttname"><a href="group__amqp__types.html#gga4465b5ea7d3c4f15c1dffa4deda905dba88421417c7be2caf88c2d243cb73da6b">PN_STRING</a></div><div class="ttdeci">@ PN_STRING</div><div class="ttdoc">The string AMQP type.</div><div class="ttdef"><b>Definition:</b> codec.h:148</div></div>
<div class="ttc" id="agroup__data_html_gad7fac25ba5589ff0374442cf7ecbbd9c"><div class="ttname"><a href="group__data.html#gad7fac25ba5589ff0374442cf7ecbbd9c">pn_data_is_described</a></div><div class="ttdeci">bool pn_data_is_described(pn_data_t *data)</div><div class="ttdoc">Checks if the current node is a described value.</div></div>
<div class="ttc" id="agroup__amqp__types_html_gga4465b5ea7d3c4f15c1dffa4deda905dba175c594857c135ea2a9c3a2d415366ab"><div class="ttname"><a href="group__amqp__types.html#gga4465b5ea7d3c4f15c1dffa4deda905dba175c594857c135ea2a9c3a2d415366ab">PN_INT</a></div><div class="ttdeci">@ PN_INT</div><div class="ttdoc">The signed int AMQP type.</div><div class="ttdef"><b>Definition:</b> codec.h:86</div></div>
<div class="ttc" id="agroup__data_html_ga11c026fb5ec5e8620258f52ed86229b4"><div class="ttname"><a href="group__data.html#ga11c026fb5ec5e8620258f52ed86229b4">pn_data_get_array_type</a></div><div class="ttdeci">pn_type_t pn_data_get_array_type(pn_data_t *data)</div><div class="ttdoc">Return the array type if the current node points to an array, PN_INVALID otherwise.</div></div>
<div class="ttc" id="agroup__api__types_html_structpn__bytes__t"><div class="ttname"><a href="group__api__types.html#structpn__bytes__t">pn_bytes_t</a></div><div class="ttdoc">A const byte buffer.</div><div class="ttdef"><b>Definition:</b> types.h:216</div></div>
<div class="ttc" id="agroup__data_html_gafccb5008960eb8dc757cb7f9941e5013"><div class="ttname"><a href="group__data.html#gafccb5008960eb8dc757cb7f9941e5013">pn_data_get_string</a></div><div class="ttdeci">pn_bytes_t pn_data_get_string(pn_data_t *data)</div><div class="ttdoc">If the current node is a string, returns its value, returns &quot;&quot; otherwise.</div></div>
<div class="ttc" id="agroup__data_html_ga3c64a188867ebb19c8d4e3908e6f8e20"><div class="ttname"><a href="group__data.html#ga3c64a188867ebb19c8d4e3908e6f8e20">pn_data_get_symbol</a></div><div class="ttdeci">pn_bytes_t pn_data_get_symbol(pn_data_t *data)</div><div class="ttdoc">If the current node is a symbol, returns its value, returns &quot;&quot; otherwise.</div></div>
<div class="ttc" id="agroup__data_html_ga5d6cf528776e8b6ad6d67caf095986bf"><div class="ttname"><a href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf">pn_data_t</a></div><div class="ttdeci">struct pn_data_t pn_data_t</div><div class="ttdoc">An AMQP Data object.</div><div class="ttdef"><b>Definition:</b> codec.h:364</div></div>
<div class="ttc" id="agroup__data_html_ga6cfb9e64b87f8d90a5b4237ca016a016"><div class="ttname"><a href="group__data.html#ga6cfb9e64b87f8d90a5b4237ca016a016">pn_data_put_int</a></div><div class="ttdeci">int pn_data_put_int(pn_data_t *data, int32_t i)</div><div class="ttdoc">Puts a PN_INT value.</div></div>
<div class="ttc" id="agroup__data_html_ga1093449b80357dabf3f70a4bf804f4f7"><div class="ttname"><a href="group__data.html#ga1093449b80357dabf3f70a4bf804f4f7">pn_data_enter</a></div><div class="ttdeci">bool pn_data_enter(pn_data_t *data)</div><div class="ttdoc">Sets the parent node to the current node and clears the current node.</div></div>
<div class="ttc" id="agroup__data_html_ga96c9a1c5f179036cd9513c50c0ac57de"><div class="ttname"><a href="group__data.html#ga96c9a1c5f179036cd9513c50c0ac57de">pn_data_next</a></div><div class="ttdeci">bool pn_data_next(pn_data_t *data)</div><div class="ttdoc">Advances the current node to its next sibling and returns true.</div></div>
<div class="ttc" id="agroup__data_html_ga3af18fc419995766f83a4b4ac07c31ce"><div class="ttname"><a href="group__data.html#ga3af18fc419995766f83a4b4ac07c31ce">pn_data_get_list</a></div><div class="ttdeci">size_t pn_data_get_list(pn_data_t *data)</div><div class="ttdoc">If the current node is a list, return the number of elements, otherwise return zero.</div></div>
<div class="ttc" id="agroup__data_html_ga122e7f20f958d51900675d37d80bd37e"><div class="ttname"><a href="group__data.html#ga122e7f20f958d51900675d37d80bd37e">pn_data_is_array_described</a></div><div class="ttdeci">bool pn_data_is_array_described(pn_data_t *data)</div><div class="ttdoc">Returns true if the current node points to a described array.</div></div>
<div class="ttc" id="agroup__api__types_html_gab4f7e8d204246a3702c6e31a404b0edb"><div class="ttname"><a href="group__api__types.html#gab4f7e8d204246a3702c6e31a404b0edb">pn_bytes</a></div><div class="ttdeci">pn_bytes_t pn_bytes(size_t size, const char *start)</div><div class="ttdoc">Create a pn_bytes_t.</div></div>
<div class="ttc" id="agroup__data_html_ga5dc9c9c7db2018d12753767c075cc6ee"><div class="ttname"><a href="group__data.html#ga5dc9c9c7db2018d12753767c075cc6ee">pn_data_put_string</a></div><div class="ttdeci">int pn_data_put_string(pn_data_t *data, pn_bytes_t string)</div><div class="ttdoc">Puts a PN_STRING value.</div></div>
<div class="ttc" id="agroup__data_html_gadbd4c895a1e10266d20898996ce53bc0"><div class="ttname"><a href="group__data.html#gadbd4c895a1e10266d20898996ce53bc0">pn_data_get_map</a></div><div class="ttdeci">size_t pn_data_get_map(pn_data_t *data)</div><div class="ttdoc">If the current node is a map, return the number of child elements, otherwise return zero.</div></div>
<div class="ttc" id="agroup__data_html_ga121070d2c21ef594f1cfe4083677f1a2"><div class="ttname"><a href="group__data.html#ga121070d2c21ef594f1cfe4083677f1a2">pn_data_put_double</a></div><div class="ttdeci">int pn_data_put_double(pn_data_t *data, double d)</div><div class="ttdoc">Puts a PN_DOUBLE value.</div></div>
<div class="ttc" id="agroup__data_html_ga00126d993e32a202c34f912d57b8e5ce"><div class="ttname"><a href="group__data.html#ga00126d993e32a202c34f912d57b8e5ce">pn_data_put_symbol</a></div><div class="ttdeci">int pn_data_put_symbol(pn_data_t *data, pn_bytes_t symbol)</div><div class="ttdoc">Puts a PN_SYMBOL value.</div></div>
<div class="ttc" id="agroup__data_html_ga67a656cbdbf0a47a223ff1c8507ecf48"><div class="ttname"><a href="group__data.html#ga67a656cbdbf0a47a223ff1c8507ecf48">pn_data_exit</a></div><div class="ttdeci">bool pn_data_exit(pn_data_t *data)</div><div class="ttdoc">Sets the current node to the parent node and the parent node to its own parent.</div></div>
<div class="ttc" id="agroup__data_html_gac21c6f1c517ac486e2923baa3d0c5db4"><div class="ttname"><a href="group__data.html#gac21c6f1c517ac486e2923baa3d0c5db4">pn_data</a></div><div class="ttdeci">pn_data_t * pn_data(size_t capacity)</div><div class="ttdoc">Construct a pn_data_t object with the supplied initial capacity.</div></div>
<div class="ttc" id="agroup__amqp__types_html_gga4465b5ea7d3c4f15c1dffa4deda905dbad5f0929805f481d3ca6089ed172451e9"><div class="ttname"><a href="group__amqp__types.html#gga4465b5ea7d3c4f15c1dffa4deda905dbad5f0929805f481d3ca6089ed172451e9">PN_SYMBOL</a></div><div class="ttdeci">@ PN_SYMBOL</div><div class="ttdoc">The symbol AMQP type.</div><div class="ttdef"><b>Definition:</b> codec.h:154</div></div>
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated by <a href="http://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.8.20 </li>
</ul>
</div>
</body>
</html>