summaryrefslogtreecommitdiff
path: root/docs/0.8.0/amqp_8h.html
diff options
context:
space:
mode:
Diffstat (limited to 'docs/0.8.0/amqp_8h.html')
-rw-r--r--docs/0.8.0/amqp_8h.html3745
1 files changed, 3745 insertions, 0 deletions
diff --git a/docs/0.8.0/amqp_8h.html b/docs/0.8.0/amqp_8h.html
new file mode 100644
index 0000000..f074c8a
--- /dev/null
+++ b/docs/0.8.0/amqp_8h.html
@@ -0,0 +1,3745 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.6"/>
+<title>rabbitmq-c: amqp.h File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+ $(document).ready(function() { searchBox.OnSelectItem(0); });
+</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 style="padding-left: 0.5em;">
+ <div id="projectname">rabbitmq-c
+ &#160;<span id="projectnumber">0.8.0</span>
+ </div>
+ <div id="projectbrief">C AMQP Client library for RabbitMQ</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
+ <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ <li>
+ <div id="MSearchBox" class="MSearchBoxInactive">
+ <span class="left">
+ <img id="MSearchSelect" src="search/mag_sel.png"
+ 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.png" alt=""/></a>
+ </span>
+ </div>
+ </li>
+ </ul>
+ </div>
+ <div id="navrow2" class="tabs2">
+ <ul class="tablist">
+ <li><a href="files.html"><span>File&#160;List</span></a></li>
+ <li><a href="globals.html"><span>Globals</span></a></li>
+ </ul>
+ </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Pages</a></div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+ <ul>
+<li class="navelem"><a class="el" href="dir_df8d7e2f392872630f707837372814f7.html">librabbitmq</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="summary">
+<a href="#nested-classes">Data Structures</a> &#124;
+<a href="#define-members">Macros</a> &#124;
+<a href="#typedef-members">Typedefs</a> &#124;
+<a href="#enum-members">Enumerations</a> &#124;
+<a href="#func-members">Functions</a> &#124;
+<a href="#var-members">Variables</a> </div>
+ <div class="headertitle">
+<div class="title">amqp.h File Reference</div> </div>
+</div><!--header-->
+<div class="contents">
+
+<p><a href="amqp_8h_source.html">Go to the source code of this file.</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
+Data Structures</h2></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structamqp__bytes__t.html">amqp_bytes_t</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Buffer descriptor. <a href="structamqp__bytes__t.html#details">More...</a><br/></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structamqp__decimal__t.html">amqp_decimal_t</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Decimal data type. <a href="structamqp__decimal__t.html#details">More...</a><br/></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structamqp__table__t.html">amqp_table_t</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">AMQP field table. <a href="structamqp__table__t.html#details">More...</a><br/></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structamqp__array__t.html">amqp_array_t</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">An AMQP Field Array. <a href="structamqp__array__t.html#details">More...</a><br/></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structamqp__field__value__t.html">amqp_field_value_t</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">A field table value. <a href="structamqp__field__value__t.html#details">More...</a><br/></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structamqp__table__entry__t.html">amqp_table_entry_t</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">An entry in a field-table. <a href="structamqp__table__entry__t.html#details">More...</a><br/></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structamqp__pool__blocklist__t.html">amqp_pool_blocklist_t</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">A list of allocation blocks. <a href="structamqp__pool__blocklist__t.html#details">More...</a><br/></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structamqp__pool__t.html">amqp_pool_t</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">A memory pool. <a href="structamqp__pool__t.html#details">More...</a><br/></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structamqp__method__t.html">amqp_method_t</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">An amqp method. <a href="structamqp__method__t.html#details">More...</a><br/></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structamqp__frame__t.html">amqp_frame_t</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">An AMQP frame. <a href="structamqp__frame__t.html#details">More...</a><br/></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structamqp__rpc__reply__t.html">amqp_rpc_reply_t</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reply from a RPC method on the broker. <a href="structamqp__rpc__reply__t.html#details">More...</a><br/></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structamqp__message__t.html">amqp_message_t</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">A message object. <a href="structamqp__message__t.html#details">More...</a><br/></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structamqp__envelope__t.html">amqp_envelope_t</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Envelope object. <a href="structamqp__envelope__t.html#details">More...</a><br/></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structamqp__connection__info.html">amqp_connection_info</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Parameters used to connect to the RabbitMQ broker. <a href="structamqp__connection__info.html#details">More...</a><br/></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
+Macros</h2></td></tr>
+<tr class="memitem:a36f16093ddd12d1e884524805d65e040"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="amqp_8h.html#a36f16093ddd12d1e884524805d65e040">AMQP_VERSION_MAJOR</a>&#160;&#160;&#160;0</td></tr>
+<tr class="memdesc:a36f16093ddd12d1e884524805d65e040"><td class="mdescLeft">&#160;</td><td class="mdescRight">Major library version number compile-time constant. <a href="#a36f16093ddd12d1e884524805d65e040">More...</a><br/></td></tr>
+<tr class="separator:a36f16093ddd12d1e884524805d65e040"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:add4b635fc895379bc5842e0e6f685ecd"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="amqp_8h.html#add4b635fc895379bc5842e0e6f685ecd">AMQP_VERSION_MINOR</a>&#160;&#160;&#160;8</td></tr>
+<tr class="memdesc:add4b635fc895379bc5842e0e6f685ecd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Minor library version number compile-time constant. <a href="#add4b635fc895379bc5842e0e6f685ecd">More...</a><br/></td></tr>
+<tr class="separator:add4b635fc895379bc5842e0e6f685ecd"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a82e92e6b00a9c2577e4549aa67a18f8f"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="amqp_8h.html#a82e92e6b00a9c2577e4549aa67a18f8f">AMQP_VERSION_PATCH</a>&#160;&#160;&#160;0</td></tr>
+<tr class="memdesc:a82e92e6b00a9c2577e4549aa67a18f8f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Patch library version number compile-time constant. <a href="#a82e92e6b00a9c2577e4549aa67a18f8f">More...</a><br/></td></tr>
+<tr class="separator:a82e92e6b00a9c2577e4549aa67a18f8f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3825f4f7f71ab4acd4c47f5964d66da7"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="amqp_8h.html#a3825f4f7f71ab4acd4c47f5964d66da7">AMQP_VERSION_IS_RELEASE</a>&#160;&#160;&#160;1</td></tr>
+<tr class="memdesc:a3825f4f7f71ab4acd4c47f5964d66da7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Version constant set to 1 for tagged release, 0 otherwise. <a href="#a3825f4f7f71ab4acd4c47f5964d66da7">More...</a><br/></td></tr>
+<tr class="separator:a3825f4f7f71ab4acd4c47f5964d66da7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9ff1ad5a3cc79cb03c058b6a968b6c50"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="amqp_8h.html#a9ff1ad5a3cc79cb03c058b6a968b6c50">AMQP_VERSION_CODE</a>(major, minor, patch, release)</td></tr>
+<tr class="memdesc:a9ff1ad5a3cc79cb03c058b6a968b6c50"><td class="mdescLeft">&#160;</td><td class="mdescRight">Helper macro to geneate a packed version code suitable for comparison with AMQP_VERSION. <a href="#a9ff1ad5a3cc79cb03c058b6a968b6c50">More...</a><br/></td></tr>
+<tr class="separator:a9ff1ad5a3cc79cb03c058b6a968b6c50"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6aed6c36c7974ed25fa7f7113aea5b2c"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="amqp_8h.html#a6aed6c36c7974ed25fa7f7113aea5b2c">AMQP_VERSION</a></td></tr>
+<tr class="memdesc:a6aed6c36c7974ed25fa7f7113aea5b2c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Packed version number. <a href="#a6aed6c36c7974ed25fa7f7113aea5b2c">More...</a><br/></td></tr>
+<tr class="separator:a6aed6c36c7974ed25fa7f7113aea5b2c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6b84b5824175175ef12b7eba536a1ba7"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="amqp_8h.html#a6b84b5824175175ef12b7eba536a1ba7">AMQP_VERSION_STRING</a>&#160;&#160;&#160;AMQ_VERSION_STRING</td></tr>
+<tr class="memdesc:a6b84b5824175175ef12b7eba536a1ba7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Version string compile-time constant. <a href="#a6b84b5824175175ef12b7eba536a1ba7">More...</a><br/></td></tr>
+<tr class="separator:a6b84b5824175175ef12b7eba536a1ba7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:afb9f9e436886c30a63d234de79cd57e3"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="amqp_8h.html#afb9f9e436886c30a63d234de79cd57e3">AMQP_DEFAULT_FRAME_SIZE</a>&#160;&#160;&#160;131072</td></tr>
+<tr class="memdesc:afb9f9e436886c30a63d234de79cd57e3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Default frame size (128Kb) <a href="#afb9f9e436886c30a63d234de79cd57e3">More...</a><br/></td></tr>
+<tr class="separator:afb9f9e436886c30a63d234de79cd57e3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae2ac1fdde99bf06c87dacffad52610be"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="amqp_8h.html#ae2ac1fdde99bf06c87dacffad52610be">AMQP_DEFAULT_MAX_CHANNELS</a>&#160;&#160;&#160;0</td></tr>
+<tr class="memdesc:ae2ac1fdde99bf06c87dacffad52610be"><td class="mdescLeft">&#160;</td><td class="mdescRight">Default maximum number of channels (0, no limit) <a href="#ae2ac1fdde99bf06c87dacffad52610be">More...</a><br/></td></tr>
+<tr class="separator:ae2ac1fdde99bf06c87dacffad52610be"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a415fd031e2cbdb42c01bc5d213c2f471"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="amqp_8h.html#a415fd031e2cbdb42c01bc5d213c2f471">AMQP_DEFAULT_HEARTBEAT</a>&#160;&#160;&#160;0</td></tr>
+<tr class="memdesc:a415fd031e2cbdb42c01bc5d213c2f471"><td class="mdescLeft">&#160;</td><td class="mdescRight">Default heartbeat interval (0, heartbeat disabled) <a href="#a415fd031e2cbdb42c01bc5d213c2f471">More...</a><br/></td></tr>
+<tr class="separator:a415fd031e2cbdb42c01bc5d213c2f471"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9c6b951a29c503f49812a270eec4469a"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="amqp_8h.html#a9c6b951a29c503f49812a270eec4469a">AMQP_EMPTY_BYTES</a>&#160;&#160;&#160;<a class="el" href="amqp_8h.html#a9c6c49c5846de389f2e18cec79cf859c">amqp_empty_bytes</a></td></tr>
+<tr class="memdesc:a9c6b951a29c503f49812a270eec4469a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Deprecated, use <a class="el" href="amqp_8h.html#a9c6c49c5846de389f2e18cec79cf859c">amqp_empty_bytes</a> instead. <a href="#a9c6b951a29c503f49812a270eec4469a">More...</a><br/></td></tr>
+<tr class="separator:a9c6b951a29c503f49812a270eec4469a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:adf41cfaf560a040db54fb8c869d2ef24"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="amqp_8h.html#adf41cfaf560a040db54fb8c869d2ef24">AMQP_EMPTY_TABLE</a>&#160;&#160;&#160;<a class="el" href="amqp_8h.html#a0deb5fae5e794ea87b1431fbe656dac7">amqp_empty_table</a></td></tr>
+<tr class="memdesc:adf41cfaf560a040db54fb8c869d2ef24"><td class="mdescLeft">&#160;</td><td class="mdescRight">Deprecated, use <a class="el" href="amqp_8h.html#a0deb5fae5e794ea87b1431fbe656dac7">amqp_empty_table</a> instead. <a href="#adf41cfaf560a040db54fb8c869d2ef24">More...</a><br/></td></tr>
+<tr class="separator:adf41cfaf560a040db54fb8c869d2ef24"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0b6dbee7af797c142460fb17ca52bda2"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="amqp_8h.html#a0b6dbee7af797c142460fb17ca52bda2">AMQP_EMPTY_ARRAY</a>&#160;&#160;&#160;<a class="el" href="amqp_8h.html#aaba159b9d1ab04aa97c393f9141d23ca">amqp_empty_array</a></td></tr>
+<tr class="memdesc:a0b6dbee7af797c142460fb17ca52bda2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Deprecated, use <a class="el" href="amqp_8h.html#aaba159b9d1ab04aa97c393f9141d23ca">amqp_empty_array</a> instead. <a href="#a0b6dbee7af797c142460fb17ca52bda2">More...</a><br/></td></tr>
+<tr class="separator:a0b6dbee7af797c142460fb17ca52bda2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
+Typedefs</h2></td></tr>
+<tr class="memitem:a67852bce88f5784b60b8f873fd4673f2"><td class="memItemLeft" align="right" valign="top">typedef int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="amqp_8h.html#a67852bce88f5784b60b8f873fd4673f2">amqp_boolean_t</a></td></tr>
+<tr class="memdesc:a67852bce88f5784b60b8f873fd4673f2"><td class="mdescLeft">&#160;</td><td class="mdescRight">boolean type 0 = false, true otherwise <a href="#a67852bce88f5784b60b8f873fd4673f2">More...</a><br/></td></tr>
+<tr class="separator:a67852bce88f5784b60b8f873fd4673f2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a870f50d72f2f40ef74b3708e6dcb7379"><td class="memItemLeft" align="right" valign="top">typedef uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="amqp_8h.html#a870f50d72f2f40ef74b3708e6dcb7379">amqp_method_number_t</a></td></tr>
+<tr class="memdesc:a870f50d72f2f40ef74b3708e6dcb7379"><td class="mdescLeft">&#160;</td><td class="mdescRight">Method number. <a href="#a870f50d72f2f40ef74b3708e6dcb7379">More...</a><br/></td></tr>
+<tr class="separator:a870f50d72f2f40ef74b3708e6dcb7379"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5859580c2a6e131d0fd4775d0259d852"><td class="memItemLeft" align="right" valign="top">typedef uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="amqp_8h.html#a5859580c2a6e131d0fd4775d0259d852">amqp_flags_t</a></td></tr>
+<tr class="memdesc:a5859580c2a6e131d0fd4775d0259d852"><td class="mdescLeft">&#160;</td><td class="mdescRight">Bitmask for flags. <a href="#a5859580c2a6e131d0fd4775d0259d852">More...</a><br/></td></tr>
+<tr class="separator:a5859580c2a6e131d0fd4775d0259d852"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2905d3cff4f5b3e0a300c3d424181518"><td class="memItemLeft" align="right" valign="top">typedef uint16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="amqp_8h.html#a2905d3cff4f5b3e0a300c3d424181518">amqp_channel_t</a></td></tr>
+<tr class="memdesc:a2905d3cff4f5b3e0a300c3d424181518"><td class="mdescLeft">&#160;</td><td class="mdescRight">Channel type. <a href="#a2905d3cff4f5b3e0a300c3d424181518">More...</a><br/></td></tr>
+<tr class="separator:a2905d3cff4f5b3e0a300c3d424181518"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a59cfdff3bfbf28aba201be5636365fa4"><td class="memItemLeft" align="right" valign="top">typedef struct <br class="typebreak"/>
+amqp_connection_state_t_ *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="amqp_8h.html#a59cfdff3bfbf28aba201be5636365fa4">amqp_connection_state_t</a></td></tr>
+<tr class="memdesc:a59cfdff3bfbf28aba201be5636365fa4"><td class="mdescLeft">&#160;</td><td class="mdescRight">connection state object <a href="#a59cfdff3bfbf28aba201be5636365fa4">More...</a><br/></td></tr>
+<tr class="separator:a59cfdff3bfbf28aba201be5636365fa4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
+Enumerations</h2></td></tr>
+<tr class="memitem:a056c3f5d26fb3ecfff7cd802601ca307"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="amqp_8h.html#a056c3f5d26fb3ecfff7cd802601ca307">amqp_field_value_kind_t</a> { <br/>
+&#160;&#160;<a class="el" href="amqp_8h.html#a056c3f5d26fb3ecfff7cd802601ca307a2af9ae13bb57e261bf6164a0db021f59">AMQP_FIELD_KIND_BOOLEAN</a> = 't',
+<a class="el" href="amqp_8h.html#a056c3f5d26fb3ecfff7cd802601ca307ab5ad4f1d729098580a109d91facd2e20">AMQP_FIELD_KIND_I8</a> = 'b',
+<a class="el" href="amqp_8h.html#a056c3f5d26fb3ecfff7cd802601ca307a1b7cf6db1db77612bd95a6b6d717caae">AMQP_FIELD_KIND_U8</a> = 'B',
+<a class="el" href="amqp_8h.html#a056c3f5d26fb3ecfff7cd802601ca307a2d334ba5de832355e096bcf6e23b4fdb">AMQP_FIELD_KIND_I16</a> = 's',
+<br/>
+&#160;&#160;<a class="el" href="amqp_8h.html#a056c3f5d26fb3ecfff7cd802601ca307adc45b6aada7f8a53f2e01c4ab69bee32">AMQP_FIELD_KIND_U16</a> = 'u',
+<a class="el" href="amqp_8h.html#a056c3f5d26fb3ecfff7cd802601ca307ae4cfc767af9f082de4fe35d9623acd5d">AMQP_FIELD_KIND_I32</a> = 'I',
+<a class="el" href="amqp_8h.html#a056c3f5d26fb3ecfff7cd802601ca307ae9c6756830dbc73451010ac6f80f77b8">AMQP_FIELD_KIND_U32</a> = 'i',
+<a class="el" href="amqp_8h.html#a056c3f5d26fb3ecfff7cd802601ca307af6fb0c5a1a35e33712b888fbac245b0c">AMQP_FIELD_KIND_I64</a> = 'l',
+<br/>
+&#160;&#160;<a class="el" href="amqp_8h.html#a056c3f5d26fb3ecfff7cd802601ca307a4e419fcc4accebc4be47b7f55ffb8810">AMQP_FIELD_KIND_U64</a> = 'L',
+<a class="el" href="amqp_8h.html#a056c3f5d26fb3ecfff7cd802601ca307a7e63d5fdb03cca799016957f83a13ee7">AMQP_FIELD_KIND_F32</a> = 'f',
+<a class="el" href="amqp_8h.html#a056c3f5d26fb3ecfff7cd802601ca307a4366b9049f892d59725ceac8bee58743">AMQP_FIELD_KIND_F64</a> = 'd',
+<a class="el" href="amqp_8h.html#a056c3f5d26fb3ecfff7cd802601ca307a947c0210f948c5b1438b565f8b1aa2f8">AMQP_FIELD_KIND_DECIMAL</a> = 'D',
+<br/>
+&#160;&#160;<a class="el" href="amqp_8h.html#a056c3f5d26fb3ecfff7cd802601ca307a6acd38b6fd918cdce3262f52de327dd6">AMQP_FIELD_KIND_UTF8</a> = 'S',
+<a class="el" href="amqp_8h.html#a056c3f5d26fb3ecfff7cd802601ca307aeac1542c23d54717a9e3d9de38e2ca9e">AMQP_FIELD_KIND_ARRAY</a> = 'A',
+<a class="el" href="amqp_8h.html#a056c3f5d26fb3ecfff7cd802601ca307a6424ab9e2679f4cce344349d5034c070">AMQP_FIELD_KIND_TIMESTAMP</a> = 'T',
+<a class="el" href="amqp_8h.html#a056c3f5d26fb3ecfff7cd802601ca307a99e43ccdbc80e99b09ce9a8c1bb8ad4d">AMQP_FIELD_KIND_TABLE</a> = 'F',
+<br/>
+&#160;&#160;<a class="el" href="amqp_8h.html#a056c3f5d26fb3ecfff7cd802601ca307ac1f8fd4d605d917b63beba25af1785df">AMQP_FIELD_KIND_VOID</a> = 'V',
+<a class="el" href="amqp_8h.html#a056c3f5d26fb3ecfff7cd802601ca307afcef6bf298a3a32bea748bbf9f0bc2c3">AMQP_FIELD_KIND_BYTES</a> = 'x'
+<br/>
+ }</td></tr>
+<tr class="memdesc:a056c3f5d26fb3ecfff7cd802601ca307"><td class="mdescLeft">&#160;</td><td class="mdescRight">Field value types. <a href="amqp_8h.html#a056c3f5d26fb3ecfff7cd802601ca307">More...</a><br/></td></tr>
+<tr class="separator:a056c3f5d26fb3ecfff7cd802601ca307"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ace098ed2a6aacbffd96cf9f7cd9f6465"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="amqp_8h.html#ace098ed2a6aacbffd96cf9f7cd9f6465">amqp_response_type_enum</a> { <a class="el" href="amqp_8h.html#ace098ed2a6aacbffd96cf9f7cd9f6465a04b361d496be2047aba262a7322547be">AMQP_RESPONSE_NONE</a> = 0,
+<a class="el" href="amqp_8h.html#ace098ed2a6aacbffd96cf9f7cd9f6465a7bd083d49f34db9f73ae19c872078c5d">AMQP_RESPONSE_NORMAL</a>,
+<a class="el" href="amqp_8h.html#ace098ed2a6aacbffd96cf9f7cd9f6465a142cc002ed4936538f8ef92711dee129">AMQP_RESPONSE_LIBRARY_EXCEPTION</a>,
+<a class="el" href="amqp_8h.html#ace098ed2a6aacbffd96cf9f7cd9f6465a1dfa5e55db5472a920ac5ca598858c58">AMQP_RESPONSE_SERVER_EXCEPTION</a>
+ }</td></tr>
+<tr class="memdesc:ace098ed2a6aacbffd96cf9f7cd9f6465"><td class="mdescLeft">&#160;</td><td class="mdescRight">Response type. <a href="amqp_8h.html#ace098ed2a6aacbffd96cf9f7cd9f6465">More...</a><br/></td></tr>
+<tr class="separator:ace098ed2a6aacbffd96cf9f7cd9f6465"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a965d220021ff4268303cdf26b6023164"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="amqp_8h.html#a965d220021ff4268303cdf26b6023164">amqp_sasl_method_enum</a> { <a class="el" href="amqp_8h.html#a965d220021ff4268303cdf26b6023164a2309419d2967eaf668879f070f98e222">AMQP_SASL_METHOD_UNDEFINED</a> = -1,
+<a class="el" href="amqp_8h.html#a965d220021ff4268303cdf26b6023164aa3ca18347d7153ad5eacfc85217845ba">AMQP_SASL_METHOD_PLAIN</a> = 0,
+<a class="el" href="amqp_8h.html#a965d220021ff4268303cdf26b6023164a9a641985d6887f108fd377aacd1f48b1">AMQP_SASL_METHOD_EXTERNAL</a> = 1
+ }</td></tr>
+<tr class="memdesc:a965d220021ff4268303cdf26b6023164"><td class="mdescLeft">&#160;</td><td class="mdescRight">SASL method type. <a href="amqp_8h.html#a965d220021ff4268303cdf26b6023164">More...</a><br/></td></tr>
+<tr class="separator:a965d220021ff4268303cdf26b6023164"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a05dadc32b3a59918206ac38a53606723"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="amqp_8h.html#a05dadc32b3a59918206ac38a53606723">amqp_status_enum</a> { <br/>
+&#160;&#160;<a class="el" href="amqp_8h.html#a05dadc32b3a59918206ac38a53606723aa108d3c3d0cfc8e04aa123309b03708d">AMQP_STATUS_OK</a> = 0x0,
+<a class="el" href="amqp_8h.html#a05dadc32b3a59918206ac38a53606723a07c2c11b57a90b1664b837e1ce9d3f23">AMQP_STATUS_NO_MEMORY</a> = -0x0001,
+<a class="el" href="amqp_8h.html#a05dadc32b3a59918206ac38a53606723a729ccd83c0f725ee0692b517455ba6f6">AMQP_STATUS_BAD_AMQP_DATA</a> = -0x0002,
+<a class="el" href="amqp_8h.html#a05dadc32b3a59918206ac38a53606723a1536d5dae71fe600145948d2b3040a5b">AMQP_STATUS_UNKNOWN_CLASS</a> = -0x0003,
+<br/>
+&#160;&#160;<a class="el" href="amqp_8h.html#a05dadc32b3a59918206ac38a53606723a0b892b2e739cf1d82ee7d48496dcd211">AMQP_STATUS_UNKNOWN_METHOD</a> = -0x0004,
+<a class="el" href="amqp_8h.html#a05dadc32b3a59918206ac38a53606723ac23486bc421925ad4e5011685c79e01c">AMQP_STATUS_HOSTNAME_RESOLUTION_FAILED</a> = -0x0005,
+<a class="el" href="amqp_8h.html#a05dadc32b3a59918206ac38a53606723a97dea1f38309b5234a4f057b13b879f2">AMQP_STATUS_INCOMPATIBLE_AMQP_VERSION</a> = -0x0006,
+<a class="el" href="amqp_8h.html#a05dadc32b3a59918206ac38a53606723ae44d756aabffa51cc36e7119dc673e84">AMQP_STATUS_CONNECTION_CLOSED</a> = -0x0007,
+<br/>
+&#160;&#160;<a class="el" href="amqp_8h.html#a05dadc32b3a59918206ac38a53606723aaeefaa910c7b87d7d8e04a17c64ee7ec">AMQP_STATUS_BAD_URL</a> = -0x0008,
+<a class="el" href="amqp_8h.html#a05dadc32b3a59918206ac38a53606723a1c432057d345eefccf90ae4ee237e509">AMQP_STATUS_SOCKET_ERROR</a> = -0x0009,
+<a class="el" href="amqp_8h.html#a05dadc32b3a59918206ac38a53606723aa2d632c2f989c6623e129eb0bd40de5a">AMQP_STATUS_INVALID_PARAMETER</a> = -0x000A,
+<a class="el" href="amqp_8h.html#a05dadc32b3a59918206ac38a53606723a527dd4add425cb32cc1c3a7ad8fa8e43">AMQP_STATUS_TABLE_TOO_BIG</a> = -0x000B,
+<br/>
+&#160;&#160;<a class="el" href="amqp_8h.html#a05dadc32b3a59918206ac38a53606723ab167e603695944aa9502b9de86f2a97d">AMQP_STATUS_WRONG_METHOD</a> = -0x000C,
+<a class="el" href="amqp_8h.html#a05dadc32b3a59918206ac38a53606723a99cfcc635007371a968220d99e704f6e">AMQP_STATUS_TIMEOUT</a> = -0x000D,
+<a class="el" href="amqp_8h.html#a05dadc32b3a59918206ac38a53606723acdd754a786cebda23fc4a1ac1911af00">AMQP_STATUS_TIMER_FAILURE</a> = -0x000E,
+<a class="el" href="amqp_8h.html#a05dadc32b3a59918206ac38a53606723a15cb52f1e676e36ac3de300b6bf8b752">AMQP_STATUS_HEARTBEAT_TIMEOUT</a> = -0x000F,
+<br/>
+&#160;&#160;<a class="el" href="amqp_8h.html#a05dadc32b3a59918206ac38a53606723ad0974dfa91b5418122d821785b4044d2">AMQP_STATUS_UNEXPECTED_STATE</a> = -0x0010,
+<a class="el" href="amqp_8h.html#a05dadc32b3a59918206ac38a53606723ae33f4ade84166b0022aacb6d135958e9">AMQP_STATUS_SOCKET_CLOSED</a> = -0x0011,
+<a class="el" href="amqp_8h.html#a05dadc32b3a59918206ac38a53606723aa1d5f8802556d9e7db860f5e48705d28">AMQP_STATUS_SOCKET_INUSE</a> = -0x0012,
+<a class="el" href="amqp_8h.html#a05dadc32b3a59918206ac38a53606723a013b89964df91560c2952ea843e3cace">AMQP_STATUS_BROKER_UNSUPPORTED_SASL_METHOD</a> = -0x0013,
+<br/>
+&#160;&#160;<a class="el" href="amqp_8h.html#a05dadc32b3a59918206ac38a53606723a6918d6089a510dce9beb48d5d9571eef">AMQP_STATUS_UNSUPPORTED</a> = -0x0014,
+<a class="el" href="amqp_8h.html#a05dadc32b3a59918206ac38a53606723adb92fd3b5aaefc92720253f0ac23e3e7">_AMQP_STATUS_NEXT_VALUE</a> = -0x0015,
+<a class="el" href="amqp_8h.html#a05dadc32b3a59918206ac38a53606723a2945731ea5e1dfce2c1a49957c372444">AMQP_STATUS_TCP_ERROR</a> = -0x0100,
+<a class="el" href="amqp_8h.html#a05dadc32b3a59918206ac38a53606723a67d4f5656cf2fefff4168f87c04f406b">AMQP_STATUS_TCP_SOCKETLIB_INIT_ERROR</a> = -0x0101,
+<br/>
+&#160;&#160;<a class="el" href="amqp_8h.html#a05dadc32b3a59918206ac38a53606723a1ca45c93912215216c62d3698abf1af6">_AMQP_STATUS_TCP_NEXT_VALUE</a> = -0x0102,
+<a class="el" href="amqp_8h.html#a05dadc32b3a59918206ac38a53606723a63b5ec81b3d9398075f22f74bce7d833">AMQP_STATUS_SSL_ERROR</a> = -0x0200,
+<a class="el" href="amqp_8h.html#a05dadc32b3a59918206ac38a53606723a9083e09e88fbe2ee2814c97dcbe49986">AMQP_STATUS_SSL_HOSTNAME_VERIFY_FAILED</a> = -0x0201,
+<a class="el" href="amqp_8h.html#a05dadc32b3a59918206ac38a53606723a56dabb356f2dbbef67c870a97ed3ae3e">AMQP_STATUS_SSL_PEER_VERIFY_FAILED</a> = -0x0202,
+<br/>
+&#160;&#160;<a class="el" href="amqp_8h.html#a05dadc32b3a59918206ac38a53606723aaef6a4ad3e1a26742dda0489a4adc998">AMQP_STATUS_SSL_CONNECTION_FAILED</a> = -0x0203,
+<a class="el" href="amqp_8h.html#a05dadc32b3a59918206ac38a53606723ac27d61f01fe2637864bbc3f092da0154">_AMQP_STATUS_SSL_NEXT_VALUE</a> = -0x0204
+<br/>
+ }</td></tr>
+<tr class="memdesc:a05dadc32b3a59918206ac38a53606723"><td class="mdescLeft">&#160;</td><td class="mdescRight">Status codes. <a href="amqp_8h.html#a05dadc32b3a59918206ac38a53606723">More...</a><br/></td></tr>
+<tr class="separator:a05dadc32b3a59918206ac38a53606723"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a78ed0d0fc4e424297f8ef43c033f8f2a"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="amqp_8h.html#a78ed0d0fc4e424297f8ef43c033f8f2a">amqp_delivery_mode_enum</a> { <a class="el" href="amqp_8h.html#a78ed0d0fc4e424297f8ef43c033f8f2aa2a495ab1dfe7642311a9f57001563918">AMQP_DELIVERY_NONPERSISTENT</a> = 1,
+<a class="el" href="amqp_8h.html#a78ed0d0fc4e424297f8ef43c033f8f2aab131d5c00321a2fe326c71452eb9c6f9">AMQP_DELIVERY_PERSISTENT</a> = 2
+ }</td></tr>
+<tr class="memdesc:a78ed0d0fc4e424297f8ef43c033f8f2a"><td class="mdescLeft">&#160;</td><td class="mdescRight">AMQP delivery modes. <a href="amqp_8h.html#a78ed0d0fc4e424297f8ef43c033f8f2a">More...</a><br/></td></tr>
+<tr class="separator:a78ed0d0fc4e424297f8ef43c033f8f2a"><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:a509e8066077e767429ec7b6232715285"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="amqp_8h.html#a509e8066077e767429ec7b6232715285">amqp_version_number</a> (void)</td></tr>
+<tr class="memdesc:a509e8066077e767429ec7b6232715285"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the rabbitmq-c version as a packed integer. <a href="#a509e8066077e767429ec7b6232715285">More...</a><br/></td></tr>
+<tr class="separator:a509e8066077e767429ec7b6232715285"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad979d0a664de648a028918bf9d97edee"><td class="memItemLeft" align="right" valign="top">char const *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="amqp_8h.html#ad979d0a664de648a028918bf9d97edee">amqp_version</a> (void)</td></tr>
+<tr class="memdesc:ad979d0a664de648a028918bf9d97edee"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the rabbitmq-c version as a string. <a href="#ad979d0a664de648a028918bf9d97edee">More...</a><br/></td></tr>
+<tr class="separator:ad979d0a664de648a028918bf9d97edee"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa9b34b16c2c98fabd89ff02960c8a6d2"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="amqp_8h.html#aa9b34b16c2c98fabd89ff02960c8a6d2">init_amqp_pool</a> (<a class="el" href="structamqp__pool__t.html">amqp_pool_t</a> *pool, size_t pagesize)</td></tr>
+<tr class="memdesc:aa9b34b16c2c98fabd89ff02960c8a6d2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initializes an <a class="el" href="structamqp__pool__t.html" title="A memory pool. ">amqp_pool_t</a> memory allocation pool for use. <a href="#aa9b34b16c2c98fabd89ff02960c8a6d2">More...</a><br/></td></tr>
+<tr class="separator:aa9b34b16c2c98fabd89ff02960c8a6d2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a67180b9471b3a95bce6daa29241b1bf0"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="amqp_8h.html#a67180b9471b3a95bce6daa29241b1bf0">recycle_amqp_pool</a> (<a class="el" href="structamqp__pool__t.html">amqp_pool_t</a> *pool)</td></tr>
+<tr class="memdesc:a67180b9471b3a95bce6daa29241b1bf0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Recycles an <a class="el" href="structamqp__pool__t.html" title="A memory pool. ">amqp_pool_t</a> memory allocation pool. <a href="#a67180b9471b3a95bce6daa29241b1bf0">More...</a><br/></td></tr>
+<tr class="separator:a67180b9471b3a95bce6daa29241b1bf0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0076d042d427236b65c3869a9e8e03d3"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="amqp_8h.html#a0076d042d427236b65c3869a9e8e03d3">empty_amqp_pool</a> (<a class="el" href="structamqp__pool__t.html">amqp_pool_t</a> *pool)</td></tr>
+<tr class="memdesc:a0076d042d427236b65c3869a9e8e03d3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Empties an amqp memory pool. <a href="#a0076d042d427236b65c3869a9e8e03d3">More...</a><br/></td></tr>
+<tr class="separator:a0076d042d427236b65c3869a9e8e03d3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae1db5f167dc2160170d152445b545ad7"><td class="memItemLeft" align="right" valign="top">void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="amqp_8h.html#ae1db5f167dc2160170d152445b545ad7">amqp_pool_alloc</a> (<a class="el" href="structamqp__pool__t.html">amqp_pool_t</a> *pool, size_t amount)</td></tr>
+<tr class="memdesc:ae1db5f167dc2160170d152445b545ad7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Allocates a block of memory from an <a class="el" href="structamqp__pool__t.html" title="A memory pool. ">amqp_pool_t</a> memory pool. <a href="#ae1db5f167dc2160170d152445b545ad7">More...</a><br/></td></tr>
+<tr class="separator:ae1db5f167dc2160170d152445b545ad7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abadf86deb86f0afd292d752496cacbdc"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="amqp_8h.html#abadf86deb86f0afd292d752496cacbdc">amqp_pool_alloc_bytes</a> (<a class="el" href="structamqp__pool__t.html">amqp_pool_t</a> *pool, size_t amount, <a class="el" href="structamqp__bytes__t.html">amqp_bytes_t</a> *output)</td></tr>
+<tr class="memdesc:abadf86deb86f0afd292d752496cacbdc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Allocates a block of memory from an <a class="el" href="structamqp__pool__t.html" title="A memory pool. ">amqp_pool_t</a> to an <a class="el" href="structamqp__bytes__t.html" title="Buffer descriptor. ">amqp_bytes_t</a>. <a href="#abadf86deb86f0afd292d752496cacbdc">More...</a><br/></td></tr>
+<tr class="separator:abadf86deb86f0afd292d752496cacbdc"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1425f4f6d7e8ca82966ec53c05b52817"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structamqp__bytes__t.html">amqp_bytes_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="amqp_8h.html#a1425f4f6d7e8ca82966ec53c05b52817">amqp_cstring_bytes</a> (char const *cstr)</td></tr>
+<tr class="memdesc:a1425f4f6d7e8ca82966ec53c05b52817"><td class="mdescLeft">&#160;</td><td class="mdescRight">Wraps a c string in an <a class="el" href="structamqp__bytes__t.html" title="Buffer descriptor. ">amqp_bytes_t</a>. <a href="#a1425f4f6d7e8ca82966ec53c05b52817">More...</a><br/></td></tr>
+<tr class="separator:a1425f4f6d7e8ca82966ec53c05b52817"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af115fd8d969b7dc3932416ff117d9b6f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structamqp__bytes__t.html">amqp_bytes_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="amqp_8h.html#af115fd8d969b7dc3932416ff117d9b6f">amqp_bytes_malloc_dup</a> (<a class="el" href="structamqp__bytes__t.html">amqp_bytes_t</a> src)</td></tr>
+<tr class="memdesc:af115fd8d969b7dc3932416ff117d9b6f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Duplicates an <a class="el" href="structamqp__bytes__t.html" title="Buffer descriptor. ">amqp_bytes_t</a> buffer. <a href="#af115fd8d969b7dc3932416ff117d9b6f">More...</a><br/></td></tr>
+<tr class="separator:af115fd8d969b7dc3932416ff117d9b6f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aba41fd99acb6e8b949accaa6d9ddf9e5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structamqp__bytes__t.html">amqp_bytes_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="amqp_8h.html#aba41fd99acb6e8b949accaa6d9ddf9e5">amqp_bytes_malloc</a> (size_t amount)</td></tr>
+<tr class="memdesc:aba41fd99acb6e8b949accaa6d9ddf9e5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Allocates a <a class="el" href="structamqp__bytes__t.html" title="Buffer descriptor. ">amqp_bytes_t</a> buffer. <a href="#aba41fd99acb6e8b949accaa6d9ddf9e5">More...</a><br/></td></tr>
+<tr class="separator:aba41fd99acb6e8b949accaa6d9ddf9e5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a473fddc0e15e8b6b4e44452cfb3914f9"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="amqp_8h.html#a473fddc0e15e8b6b4e44452cfb3914f9">amqp_bytes_free</a> (<a class="el" href="structamqp__bytes__t.html">amqp_bytes_t</a> bytes)</td></tr>
+<tr class="memdesc:a473fddc0e15e8b6b4e44452cfb3914f9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Frees an <a class="el" href="structamqp__bytes__t.html" title="Buffer descriptor. ">amqp_bytes_t</a> buffer. <a href="#a473fddc0e15e8b6b4e44452cfb3914f9">More...</a><br/></td></tr>
+<tr class="separator:a473fddc0e15e8b6b4e44452cfb3914f9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a417eab05355c20aad874909bed780d18"><td class="memItemLeft" align="right" valign="top"><a class="el" href="amqp_8h.html#a59cfdff3bfbf28aba201be5636365fa4">amqp_connection_state_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="amqp_8h.html#a417eab05355c20aad874909bed780d18">amqp_new_connection</a> (void)</td></tr>
+<tr class="memdesc:a417eab05355c20aad874909bed780d18"><td class="mdescLeft">&#160;</td><td class="mdescRight">Allocate and initialize a new amqp_connection_state_t object. <a href="#a417eab05355c20aad874909bed780d18">More...</a><br/></td></tr>
+<tr class="separator:a417eab05355c20aad874909bed780d18"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9c0f008ed49a17232f4dc966799d217e"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="amqp_8h.html#a9c0f008ed49a17232f4dc966799d217e">amqp_get_sockfd</a> (<a class="el" href="amqp_8h.html#a59cfdff3bfbf28aba201be5636365fa4">amqp_connection_state_t</a> state)</td></tr>
+<tr class="memdesc:a9c0f008ed49a17232f4dc966799d217e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the underlying socket descriptor for the connection. <a href="#a9c0f008ed49a17232f4dc966799d217e">More...</a><br/></td></tr>
+<tr class="separator:a9c0f008ed49a17232f4dc966799d217e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8a7e4aafb58d67658cac626398b5522a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="amqp_8h.html#a8a7e4aafb58d67658cac626398b5522a">amqp_set_sockfd</a> (<a class="el" href="amqp_8h.html#a59cfdff3bfbf28aba201be5636365fa4">amqp_connection_state_t</a> state, int sockfd)</td></tr>
+<tr class="memdesc:a8a7e4aafb58d67658cac626398b5522a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Deprecated, use <a class="el" href="amqp__tcp__socket_8h.html#a3276c8bfa7b263aa3c755517b4b97ac8" title="A TCP socket connection. ">amqp_tcp_socket_new()</a> or <a class="el" href="amqp__ssl__socket_8h.html#a18ba2a9523640d277addd7d42f3a4ddd" title="Create a new SSL/TLS socket object. ">amqp_ssl_socket_new()</a> <a href="#a8a7e4aafb58d67658cac626398b5522a">More...</a><br/></td></tr>
+<tr class="separator:a8a7e4aafb58d67658cac626398b5522a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa3b3c72aa2809ee8c058fc04bfd277b9"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="amqp_8h.html#aa3b3c72aa2809ee8c058fc04bfd277b9">amqp_tune_connection</a> (<a class="el" href="amqp_8h.html#a59cfdff3bfbf28aba201be5636365fa4">amqp_connection_state_t</a> state, int channel_max, int frame_max, int heartbeat)</td></tr>
+<tr class="memdesc:aa3b3c72aa2809ee8c058fc04bfd277b9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Tune client side parameters. <a href="#aa3b3c72aa2809ee8c058fc04bfd277b9">More...</a><br/></td></tr>
+<tr class="separator:aa3b3c72aa2809ee8c058fc04bfd277b9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9ef333f417b4089a298f46338f04f343"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="amqp_8h.html#a9ef333f417b4089a298f46338f04f343">amqp_get_channel_max</a> (<a class="el" href="amqp_8h.html#a59cfdff3bfbf28aba201be5636365fa4">amqp_connection_state_t</a> state)</td></tr>
+<tr class="memdesc:a9ef333f417b4089a298f46338f04f343"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the maximum number of channels the connection can handle. <a href="#a9ef333f417b4089a298f46338f04f343">More...</a><br/></td></tr>
+<tr class="separator:a9ef333f417b4089a298f46338f04f343"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab89929e27aa163f37b0a0b4f50cced0f"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="amqp_8h.html#ab89929e27aa163f37b0a0b4f50cced0f">amqp_get_frame_max</a> (<a class="el" href="amqp_8h.html#a59cfdff3bfbf28aba201be5636365fa4">amqp_connection_state_t</a> state)</td></tr>
+<tr class="memdesc:ab89929e27aa163f37b0a0b4f50cced0f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the maximum size of an frame the connection can handle. <a href="#ab89929e27aa163f37b0a0b4f50cced0f">More...</a><br/></td></tr>
+<tr class="separator:ab89929e27aa163f37b0a0b4f50cced0f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a69007c96bc968e4ff52df412ce6eeea4"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="amqp_8h.html#a69007c96bc968e4ff52df412ce6eeea4">amqp_get_heartbeat</a> (<a class="el" href="amqp_8h.html#a59cfdff3bfbf28aba201be5636365fa4">amqp_connection_state_t</a> state)</td></tr>
+<tr class="memdesc:a69007c96bc968e4ff52df412ce6eeea4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the number of seconds between heartbeats of the connection. <a href="#a69007c96bc968e4ff52df412ce6eeea4">More...</a><br/></td></tr>
+<tr class="separator:a69007c96bc968e4ff52df412ce6eeea4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8ab1ffd055b26dc63796a7d77934ae79"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="amqp_8h.html#a8ab1ffd055b26dc63796a7d77934ae79">amqp_destroy_connection</a> (<a class="el" href="amqp_8h.html#a59cfdff3bfbf28aba201be5636365fa4">amqp_connection_state_t</a> state)</td></tr>
+<tr class="memdesc:a8ab1ffd055b26dc63796a7d77934ae79"><td class="mdescLeft">&#160;</td><td class="mdescRight">Destroys an amqp_connection_state_t object. <a href="#a8ab1ffd055b26dc63796a7d77934ae79">More...</a><br/></td></tr>
+<tr class="separator:a8ab1ffd055b26dc63796a7d77934ae79"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3f7a429c164b6ca3f497340f4ed69e53"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="amqp_8h.html#a3f7a429c164b6ca3f497340f4ed69e53">amqp_handle_input</a> (<a class="el" href="amqp_8h.html#a59cfdff3bfbf28aba201be5636365fa4">amqp_connection_state_t</a> state, <a class="el" href="structamqp__bytes__t.html">amqp_bytes_t</a> received_data, <a class="el" href="structamqp__frame__t.html">amqp_frame_t</a> *decoded_frame)</td></tr>
+<tr class="memdesc:a3f7a429c164b6ca3f497340f4ed69e53"><td class="mdescLeft">&#160;</td><td class="mdescRight">Process incoming data. <a href="#a3f7a429c164b6ca3f497340f4ed69e53">More...</a><br/></td></tr>
+<tr class="separator:a3f7a429c164b6ca3f497340f4ed69e53"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a82ee9ad6aa3abb6c530507bb272fd426"><td class="memItemLeft" align="right" valign="top"><a class="el" href="amqp_8h.html#a67852bce88f5784b60b8f873fd4673f2">amqp_boolean_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="amqp_8h.html#a82ee9ad6aa3abb6c530507bb272fd426">amqp_release_buffers_ok</a> (<a class="el" href="amqp_8h.html#a59cfdff3bfbf28aba201be5636365fa4">amqp_connection_state_t</a> state)</td></tr>
+<tr class="memdesc:a82ee9ad6aa3abb6c530507bb272fd426"><td class="mdescLeft">&#160;</td><td class="mdescRight">Check to see if connection memory can be released. <a href="#a82ee9ad6aa3abb6c530507bb272fd426">More...</a><br/></td></tr>
+<tr class="separator:a82ee9ad6aa3abb6c530507bb272fd426"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a63003a34cb864171d091192a12dcef8d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="amqp_8h.html#a63003a34cb864171d091192a12dcef8d">amqp_release_buffers</a> (<a class="el" href="amqp_8h.html#a59cfdff3bfbf28aba201be5636365fa4">amqp_connection_state_t</a> state)</td></tr>
+<tr class="memdesc:a63003a34cb864171d091192a12dcef8d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Release amqp_connection_state_t owned memory. <a href="#a63003a34cb864171d091192a12dcef8d">More...</a><br/></td></tr>
+<tr class="separator:a63003a34cb864171d091192a12dcef8d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aec98dd0b63ae7f4341aac4a14fb974b3"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="amqp_8h.html#aec98dd0b63ae7f4341aac4a14fb974b3">amqp_maybe_release_buffers</a> (<a class="el" href="amqp_8h.html#a59cfdff3bfbf28aba201be5636365fa4">amqp_connection_state_t</a> state)</td></tr>
+<tr class="memdesc:aec98dd0b63ae7f4341aac4a14fb974b3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Release amqp_connection_state_t owned memory. <a href="#aec98dd0b63ae7f4341aac4a14fb974b3">More...</a><br/></td></tr>
+<tr class="separator:aec98dd0b63ae7f4341aac4a14fb974b3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5aadffa6e035ee10739c123fcd9e7520"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="amqp_8h.html#a5aadffa6e035ee10739c123fcd9e7520">amqp_maybe_release_buffers_on_channel</a> (<a class="el" href="amqp_8h.html#a59cfdff3bfbf28aba201be5636365fa4">amqp_connection_state_t</a> state, <a class="el" href="amqp_8h.html#a2905d3cff4f5b3e0a300c3d424181518">amqp_channel_t</a> channel)</td></tr>
+<tr class="memdesc:a5aadffa6e035ee10739c123fcd9e7520"><td class="mdescLeft">&#160;</td><td class="mdescRight">Release amqp_connection_state_t owned memory related to a channel. <a href="#a5aadffa6e035ee10739c123fcd9e7520">More...</a><br/></td></tr>
+<tr class="separator:a5aadffa6e035ee10739c123fcd9e7520"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3415ae554ddcf30f2d8ec2aed03402eb"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="amqp_8h.html#a3415ae554ddcf30f2d8ec2aed03402eb">amqp_send_frame</a> (<a class="el" href="amqp_8h.html#a59cfdff3bfbf28aba201be5636365fa4">amqp_connection_state_t</a> state, <a class="el" href="structamqp__frame__t.html">amqp_frame_t</a> const *frame)</td></tr>
+<tr class="memdesc:a3415ae554ddcf30f2d8ec2aed03402eb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Send a frame to the broker. <a href="#a3415ae554ddcf30f2d8ec2aed03402eb">More...</a><br/></td></tr>
+<tr class="separator:a3415ae554ddcf30f2d8ec2aed03402eb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abe70275de5843c51ca3034fc9d52ccaa"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="amqp_8h.html#abe70275de5843c51ca3034fc9d52ccaa">amqp_table_entry_cmp</a> (void const *entry1, void const *entry2)</td></tr>
+<tr class="memdesc:abe70275de5843c51ca3034fc9d52ccaa"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compare two table entries. <a href="#abe70275de5843c51ca3034fc9d52ccaa">More...</a><br/></td></tr>
+<tr class="separator:abe70275de5843c51ca3034fc9d52ccaa"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a019214cc135f14a88ce4ed37976d5e40"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="amqp_8h.html#a019214cc135f14a88ce4ed37976d5e40">amqp_open_socket</a> (char const *hostname, int portnumber)</td></tr>
+<tr class="memdesc:a019214cc135f14a88ce4ed37976d5e40"><td class="mdescLeft">&#160;</td><td class="mdescRight">Open a socket to a remote host. <a href="#a019214cc135f14a88ce4ed37976d5e40">More...</a><br/></td></tr>
+<tr class="separator:a019214cc135f14a88ce4ed37976d5e40"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7d9017dab206cde346955fff8f127c73"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="amqp_8h.html#a7d9017dab206cde346955fff8f127c73">amqp_send_header</a> (<a class="el" href="amqp_8h.html#a59cfdff3bfbf28aba201be5636365fa4">amqp_connection_state_t</a> state)</td></tr>
+<tr class="memdesc:a7d9017dab206cde346955fff8f127c73"><td class="mdescLeft">&#160;</td><td class="mdescRight">Send initial AMQP header to the broker. <a href="#a7d9017dab206cde346955fff8f127c73">More...</a><br/></td></tr>
+<tr class="separator:a7d9017dab206cde346955fff8f127c73"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad2921e2be813c1a93425eac496b83241"><td class="memItemLeft" align="right" valign="top"><a class="el" href="amqp_8h.html#a67852bce88f5784b60b8f873fd4673f2">amqp_boolean_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="amqp_8h.html#ad2921e2be813c1a93425eac496b83241">amqp_frames_enqueued</a> (<a class="el" href="amqp_8h.html#a59cfdff3bfbf28aba201be5636365fa4">amqp_connection_state_t</a> state)</td></tr>
+<tr class="memdesc:ad2921e2be813c1a93425eac496b83241"><td class="mdescLeft">&#160;</td><td class="mdescRight">Checks to see if there are any incoming frames ready to be read. <a href="#ad2921e2be813c1a93425eac496b83241">More...</a><br/></td></tr>
+<tr class="separator:ad2921e2be813c1a93425eac496b83241"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9a186800ece7517245c734d93f18e4a8"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="amqp_8h.html#a9a186800ece7517245c734d93f18e4a8">amqp_simple_wait_frame</a> (<a class="el" href="amqp_8h.html#a59cfdff3bfbf28aba201be5636365fa4">amqp_connection_state_t</a> state, <a class="el" href="structamqp__frame__t.html">amqp_frame_t</a> *decoded_frame)</td></tr>
+<tr class="memdesc:a9a186800ece7517245c734d93f18e4a8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Read a single <a class="el" href="structamqp__frame__t.html" title="An AMQP frame. ">amqp_frame_t</a>. <a href="#a9a186800ece7517245c734d93f18e4a8">More...</a><br/></td></tr>
+<tr class="separator:a9a186800ece7517245c734d93f18e4a8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2ad52d60ae5870cc304a39d3a59950ea"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="amqp_8h.html#a2ad52d60ae5870cc304a39d3a59950ea">amqp_simple_wait_frame_noblock</a> (<a class="el" href="amqp_8h.html#a59cfdff3bfbf28aba201be5636365fa4">amqp_connection_state_t</a> state, <a class="el" href="structamqp__frame__t.html">amqp_frame_t</a> *decoded_frame, struct timeval *tv)</td></tr>
+<tr class="memdesc:a2ad52d60ae5870cc304a39d3a59950ea"><td class="mdescLeft">&#160;</td><td class="mdescRight">Read a single <a class="el" href="structamqp__frame__t.html" title="An AMQP frame. ">amqp_frame_t</a> with a timeout. <a href="#a2ad52d60ae5870cc304a39d3a59950ea">More...</a><br/></td></tr>
+<tr class="separator:a2ad52d60ae5870cc304a39d3a59950ea"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2ae0e3ffaf3c632c98bdd8a05c75b279"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="amqp_8h.html#a2ae0e3ffaf3c632c98bdd8a05c75b279">amqp_simple_wait_method</a> (<a class="el" href="amqp_8h.html#a59cfdff3bfbf28aba201be5636365fa4">amqp_connection_state_t</a> state, <a class="el" href="amqp_8h.html#a2905d3cff4f5b3e0a300c3d424181518">amqp_channel_t</a> expected_channel, <a class="el" href="amqp_8h.html#a870f50d72f2f40ef74b3708e6dcb7379">amqp_method_number_t</a> expected_method, <a class="el" href="structamqp__method__t.html">amqp_method_t</a> *output)</td></tr>
+<tr class="memdesc:a2ae0e3ffaf3c632c98bdd8a05c75b279"><td class="mdescLeft">&#160;</td><td class="mdescRight">Waits for a specific method from the broker. <a href="#a2ae0e3ffaf3c632c98bdd8a05c75b279">More...</a><br/></td></tr>
+<tr class="separator:a2ae0e3ffaf3c632c98bdd8a05c75b279"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4759bcfc517d83bc2fd287a8daf891a4"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="amqp_8h.html#a4759bcfc517d83bc2fd287a8daf891a4">amqp_send_method</a> (<a class="el" href="amqp_8h.html#a59cfdff3bfbf28aba201be5636365fa4">amqp_connection_state_t</a> state, <a class="el" href="amqp_8h.html#a2905d3cff4f5b3e0a300c3d424181518">amqp_channel_t</a> channel, <a class="el" href="amqp_8h.html#a870f50d72f2f40ef74b3708e6dcb7379">amqp_method_number_t</a> id, void *decoded)</td></tr>
+<tr class="memdesc:a4759bcfc517d83bc2fd287a8daf891a4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sends a method to the broker. <a href="#a4759bcfc517d83bc2fd287a8daf891a4">More...</a><br/></td></tr>
+<tr class="separator:a4759bcfc517d83bc2fd287a8daf891a4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a913e43814636ce25002a81fb59321814"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structamqp__rpc__reply__t.html">amqp_rpc_reply_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="amqp_8h.html#a913e43814636ce25002a81fb59321814">amqp_simple_rpc</a> (<a class="el" href="amqp_8h.html#a59cfdff3bfbf28aba201be5636365fa4">amqp_connection_state_t</a> state, <a class="el" href="amqp_8h.html#a2905d3cff4f5b3e0a300c3d424181518">amqp_channel_t</a> channel, <a class="el" href="amqp_8h.html#a870f50d72f2f40ef74b3708e6dcb7379">amqp_method_number_t</a> request_id, <a class="el" href="amqp_8h.html#a870f50d72f2f40ef74b3708e6dcb7379">amqp_method_number_t</a> *expected_reply_ids, void *decoded_request_method)</td></tr>
+<tr class="memdesc:a913e43814636ce25002a81fb59321814"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sends a method to the broker and waits for a method response. <a href="#a913e43814636ce25002a81fb59321814">More...</a><br/></td></tr>
+<tr class="separator:a913e43814636ce25002a81fb59321814"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0fe6ee504643f3609e8e048dc70f6b40"><td class="memItemLeft" align="right" valign="top">void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="amqp_8h.html#a0fe6ee504643f3609e8e048dc70f6b40">amqp_simple_rpc_decoded</a> (<a class="el" href="amqp_8h.html#a59cfdff3bfbf28aba201be5636365fa4">amqp_connection_state_t</a> state, <a class="el" href="amqp_8h.html#a2905d3cff4f5b3e0a300c3d424181518">amqp_channel_t</a> channel, <a class="el" href="amqp_8h.html#a870f50d72f2f40ef74b3708e6dcb7379">amqp_method_number_t</a> request_id, <a class="el" href="amqp_8h.html#a870f50d72f2f40ef74b3708e6dcb7379">amqp_method_number_t</a> reply_id, void *decoded_request_method)</td></tr>
+<tr class="memdesc:a0fe6ee504643f3609e8e048dc70f6b40"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sends a method to the broker and waits for a method response. <a href="#a0fe6ee504643f3609e8e048dc70f6b40">More...</a><br/></td></tr>
+<tr class="separator:a0fe6ee504643f3609e8e048dc70f6b40"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af99157fd26e43b3dd6acbb52e0fcf773"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structamqp__rpc__reply__t.html">amqp_rpc_reply_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="amqp_8h.html#af99157fd26e43b3dd6acbb52e0fcf773">amqp_get_rpc_reply</a> (<a class="el" href="amqp_8h.html#a59cfdff3bfbf28aba201be5636365fa4">amqp_connection_state_t</a> state)</td></tr>
+<tr class="memdesc:af99157fd26e43b3dd6acbb52e0fcf773"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the last global amqp_rpc_reply. <a href="#af99157fd26e43b3dd6acbb52e0fcf773">More...</a><br/></td></tr>
+<tr class="separator:af99157fd26e43b3dd6acbb52e0fcf773"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a64cd6986f1dd7e0d475000ca5f1e16c2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structamqp__rpc__reply__t.html">amqp_rpc_reply_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="amqp_8h.html#a64cd6986f1dd7e0d475000ca5f1e16c2">amqp_login</a> (<a class="el" href="amqp_8h.html#a59cfdff3bfbf28aba201be5636365fa4">amqp_connection_state_t</a> state, char const *vhost, int channel_max, int frame_max, int heartbeat, <a class="el" href="amqp_8h.html#a965d220021ff4268303cdf26b6023164">amqp_sasl_method_enum</a> sasl_method,...)</td></tr>
+<tr class="memdesc:a64cd6986f1dd7e0d475000ca5f1e16c2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Login to the broker. <a href="#a64cd6986f1dd7e0d475000ca5f1e16c2">More...</a><br/></td></tr>
+<tr class="separator:a64cd6986f1dd7e0d475000ca5f1e16c2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a086cb1d07e0a6b4f25153fcc433ff154"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structamqp__rpc__reply__t.html">amqp_rpc_reply_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="amqp_8h.html#a086cb1d07e0a6b4f25153fcc433ff154">amqp_login_with_properties</a> (<a class="el" href="amqp_8h.html#a59cfdff3bfbf28aba201be5636365fa4">amqp_connection_state_t</a> state, char const *vhost, int channel_max, int frame_max, int heartbeat, const <a class="el" href="structamqp__table__t.html">amqp_table_t</a> *properties, <a class="el" href="amqp_8h.html#a965d220021ff4268303cdf26b6023164">amqp_sasl_method_enum</a> sasl_method,...)</td></tr>
+<tr class="memdesc:a086cb1d07e0a6b4f25153fcc433ff154"><td class="mdescLeft">&#160;</td><td class="mdescRight">Login to the broker passing a properties table. <a href="#a086cb1d07e0a6b4f25153fcc433ff154">More...</a><br/></td></tr>
+<tr class="separator:a086cb1d07e0a6b4f25153fcc433ff154"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9cada07768aa46297acdd701f96d0d7f"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="amqp_8h.html#a9cada07768aa46297acdd701f96d0d7f">amqp_basic_publish</a> (<a class="el" href="amqp_8h.html#a59cfdff3bfbf28aba201be5636365fa4">amqp_connection_state_t</a> state, <a class="el" href="amqp_8h.html#a2905d3cff4f5b3e0a300c3d424181518">amqp_channel_t</a> channel, <a class="el" href="structamqp__bytes__t.html">amqp_bytes_t</a> exchange, <a class="el" href="structamqp__bytes__t.html">amqp_bytes_t</a> routing_key, <a class="el" href="amqp_8h.html#a67852bce88f5784b60b8f873fd4673f2">amqp_boolean_t</a> mandatory, <a class="el" href="amqp_8h.html#a67852bce88f5784b60b8f873fd4673f2">amqp_boolean_t</a> immediate, struct amqp_basic_properties_t_ const *properties, <a class="el" href="structamqp__bytes__t.html">amqp_bytes_t</a> body)</td></tr>
+<tr class="memdesc:a9cada07768aa46297acdd701f96d0d7f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Publish a message to the broker. <a href="#a9cada07768aa46297acdd701f96d0d7f">More...</a><br/></td></tr>
+<tr class="separator:a9cada07768aa46297acdd701f96d0d7f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a20a1571929d81eb7daf694ad7098a448"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structamqp__rpc__reply__t.html">amqp_rpc_reply_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="amqp_8h.html#a20a1571929d81eb7daf694ad7098a448">amqp_channel_close</a> (<a class="el" href="amqp_8h.html#a59cfdff3bfbf28aba201be5636365fa4">amqp_connection_state_t</a> state, <a class="el" href="amqp_8h.html#a2905d3cff4f5b3e0a300c3d424181518">amqp_channel_t</a> channel, int code)</td></tr>
+<tr class="memdesc:a20a1571929d81eb7daf694ad7098a448"><td class="mdescLeft">&#160;</td><td class="mdescRight">Closes an channel. <a href="#a20a1571929d81eb7daf694ad7098a448">More...</a><br/></td></tr>
+<tr class="separator:a20a1571929d81eb7daf694ad7098a448"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abe8a9640fd8363a4d803c59180f2c8a4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structamqp__rpc__reply__t.html">amqp_rpc_reply_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="amqp_8h.html#abe8a9640fd8363a4d803c59180f2c8a4">amqp_connection_close</a> (<a class="el" href="amqp_8h.html#a59cfdff3bfbf28aba201be5636365fa4">amqp_connection_state_t</a> state, int code)</td></tr>
+<tr class="memdesc:abe8a9640fd8363a4d803c59180f2c8a4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Closes the entire connection. <a href="#abe8a9640fd8363a4d803c59180f2c8a4">More...</a><br/></td></tr>
+<tr class="separator:abe8a9640fd8363a4d803c59180f2c8a4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a92036293c3dd6784c86983df2d1fdfc1"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="amqp_8h.html#a92036293c3dd6784c86983df2d1fdfc1">amqp_basic_ack</a> (<a class="el" href="amqp_8h.html#a59cfdff3bfbf28aba201be5636365fa4">amqp_connection_state_t</a> state, <a class="el" href="amqp_8h.html#a2905d3cff4f5b3e0a300c3d424181518">amqp_channel_t</a> channel, uint64_t delivery_tag, <a class="el" href="amqp_8h.html#a67852bce88f5784b60b8f873fd4673f2">amqp_boolean_t</a> multiple)</td></tr>
+<tr class="memdesc:a92036293c3dd6784c86983df2d1fdfc1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Acknowledges a message. <a href="#a92036293c3dd6784c86983df2d1fdfc1">More...</a><br/></td></tr>
+<tr class="separator:a92036293c3dd6784c86983df2d1fdfc1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa75aaa41b4776cd00c56ced0aaa9a7d7"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structamqp__rpc__reply__t.html">amqp_rpc_reply_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="amqp_8h.html#aa75aaa41b4776cd00c56ced0aaa9a7d7">amqp_basic_get</a> (<a class="el" href="amqp_8h.html#a59cfdff3bfbf28aba201be5636365fa4">amqp_connection_state_t</a> state, <a class="el" href="amqp_8h.html#a2905d3cff4f5b3e0a300c3d424181518">amqp_channel_t</a> channel, <a class="el" href="structamqp__bytes__t.html">amqp_bytes_t</a> queue, <a class="el" href="amqp_8h.html#a67852bce88f5784b60b8f873fd4673f2">amqp_boolean_t</a> no_ack)</td></tr>
+<tr class="memdesc:aa75aaa41b4776cd00c56ced0aaa9a7d7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Do a basic.get. <a href="#aa75aaa41b4776cd00c56ced0aaa9a7d7">More...</a><br/></td></tr>
+<tr class="separator:aa75aaa41b4776cd00c56ced0aaa9a7d7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a847ff4c17f6eeb0609e4e538846eb06f"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="amqp_8h.html#a847ff4c17f6eeb0609e4e538846eb06f">amqp_basic_reject</a> (<a class="el" href="amqp_8h.html#a59cfdff3bfbf28aba201be5636365fa4">amqp_connection_state_t</a> state, <a class="el" href="amqp_8h.html#a2905d3cff4f5b3e0a300c3d424181518">amqp_channel_t</a> channel, uint64_t delivery_tag, <a class="el" href="amqp_8h.html#a67852bce88f5784b60b8f873fd4673f2">amqp_boolean_t</a> requeue)</td></tr>
+<tr class="memdesc:a847ff4c17f6eeb0609e4e538846eb06f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Do a basic.reject. <a href="#a847ff4c17f6eeb0609e4e538846eb06f">More...</a><br/></td></tr>
+<tr class="separator:a847ff4c17f6eeb0609e4e538846eb06f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1058be245a63c06a77209e3a9e4c758e"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="amqp_8h.html#a1058be245a63c06a77209e3a9e4c758e">amqp_basic_nack</a> (<a class="el" href="amqp_8h.html#a59cfdff3bfbf28aba201be5636365fa4">amqp_connection_state_t</a> state, <a class="el" href="amqp_8h.html#a2905d3cff4f5b3e0a300c3d424181518">amqp_channel_t</a> channel, uint64_t delivery_tag, <a class="el" href="amqp_8h.html#a67852bce88f5784b60b8f873fd4673f2">amqp_boolean_t</a> multiple, <a class="el" href="amqp_8h.html#a67852bce88f5784b60b8f873fd4673f2">amqp_boolean_t</a> requeue)</td></tr>
+<tr class="memdesc:a1058be245a63c06a77209e3a9e4c758e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Do a basic.nack. <a href="#a1058be245a63c06a77209e3a9e4c758e">More...</a><br/></td></tr>
+<tr class="separator:a1058be245a63c06a77209e3a9e4c758e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af520e81ecfd783fd23c4044202a373b2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="amqp_8h.html#a67852bce88f5784b60b8f873fd4673f2">amqp_boolean_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="amqp_8h.html#af520e81ecfd783fd23c4044202a373b2">amqp_data_in_buffer</a> (<a class="el" href="amqp_8h.html#a59cfdff3bfbf28aba201be5636365fa4">amqp_connection_state_t</a> state)</td></tr>
+<tr class="memdesc:af520e81ecfd783fd23c4044202a373b2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Check to see if there is data left in the receive buffer. <a href="#af520e81ecfd783fd23c4044202a373b2">More...</a><br/></td></tr>
+<tr class="separator:af520e81ecfd783fd23c4044202a373b2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abd1f86b1f76416c9501d44dee5a79d83"><td class="memItemLeft" align="right" valign="top">char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="amqp_8h.html#abd1f86b1f76416c9501d44dee5a79d83">amqp_error_string</a> (int err)</td></tr>
+<tr class="memdesc:abd1f86b1f76416c9501d44dee5a79d83"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the error string for the given error code. <a href="#abd1f86b1f76416c9501d44dee5a79d83">More...</a><br/></td></tr>
+<tr class="separator:abd1f86b1f76416c9501d44dee5a79d83"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a18b8b107b8503705e9e0a27ced095df1"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="amqp_8h.html#a18b8b107b8503705e9e0a27ced095df1">amqp_error_string2</a> (int err)</td></tr>
+<tr class="memdesc:a18b8b107b8503705e9e0a27ced095df1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the error string for the given error code. <a href="#a18b8b107b8503705e9e0a27ced095df1">More...</a><br/></td></tr>
+<tr class="separator:a18b8b107b8503705e9e0a27ced095df1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1c35a0f88066ce3cdd846f20c7ee656e"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="amqp_8h.html#a1c35a0f88066ce3cdd846f20c7ee656e">amqp_decode_table</a> (<a class="el" href="structamqp__bytes__t.html">amqp_bytes_t</a> encoded, <a class="el" href="structamqp__pool__t.html">amqp_pool_t</a> *pool, <a class="el" href="structamqp__table__t.html">amqp_table_t</a> *output, size_t *offset)</td></tr>
+<tr class="memdesc:a1c35a0f88066ce3cdd846f20c7ee656e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Deserialize an <a class="el" href="structamqp__table__t.html" title="AMQP field table. ">amqp_table_t</a> from AMQP wireformat. <a href="#a1c35a0f88066ce3cdd846f20c7ee656e">More...</a><br/></td></tr>
+<tr class="separator:a1c35a0f88066ce3cdd846f20c7ee656e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5a9845569480941609a26c055bfcb24c"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="amqp_8h.html#a5a9845569480941609a26c055bfcb24c">amqp_encode_table</a> (<a class="el" href="structamqp__bytes__t.html">amqp_bytes_t</a> encoded, <a class="el" href="structamqp__table__t.html">amqp_table_t</a> *input, size_t *offset)</td></tr>
+<tr class="memdesc:a5a9845569480941609a26c055bfcb24c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Serializes an <a class="el" href="structamqp__table__t.html" title="AMQP field table. ">amqp_table_t</a> to the AMQP wireformat. <a href="#a5a9845569480941609a26c055bfcb24c">More...</a><br/></td></tr>
+<tr class="separator:a5a9845569480941609a26c055bfcb24c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4cf7bf6f75fa5c67a1993a27fdb191fd"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="amqp_8h.html#a4cf7bf6f75fa5c67a1993a27fdb191fd">amqp_table_clone</a> (const <a class="el" href="structamqp__table__t.html">amqp_table_t</a> *original, <a class="el" href="structamqp__table__t.html">amqp_table_t</a> *clone, <a class="el" href="structamqp__pool__t.html">amqp_pool_t</a> *pool)</td></tr>
+<tr class="memdesc:a4cf7bf6f75fa5c67a1993a27fdb191fd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a deep-copy of an <a class="el" href="structamqp__table__t.html" title="AMQP field table. ">amqp_table_t</a> object. <a href="#a4cf7bf6f75fa5c67a1993a27fdb191fd">More...</a><br/></td></tr>
+<tr class="separator:a4cf7bf6f75fa5c67a1993a27fdb191fd"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a336c9d0bf9ac04d76435b7335294f08f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structamqp__rpc__reply__t.html">amqp_rpc_reply_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="amqp_8h.html#a336c9d0bf9ac04d76435b7335294f08f">amqp_read_message</a> (<a class="el" href="amqp_8h.html#a59cfdff3bfbf28aba201be5636365fa4">amqp_connection_state_t</a> state, <a class="el" href="amqp_8h.html#a2905d3cff4f5b3e0a300c3d424181518">amqp_channel_t</a> channel, <a class="el" href="structamqp__message__t.html">amqp_message_t</a> *message, int flags)</td></tr>
+<tr class="memdesc:a336c9d0bf9ac04d76435b7335294f08f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reads the next message on a channel. <a href="#a336c9d0bf9ac04d76435b7335294f08f">More...</a><br/></td></tr>
+<tr class="separator:a336c9d0bf9ac04d76435b7335294f08f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae2da36b1fc752301258a6a837bf1bfe0"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="amqp_8h.html#ae2da36b1fc752301258a6a837bf1bfe0">amqp_destroy_message</a> (<a class="el" href="structamqp__message__t.html">amqp_message_t</a> *message)</td></tr>
+<tr class="memdesc:ae2da36b1fc752301258a6a837bf1bfe0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Frees memory associated with a <a class="el" href="structamqp__message__t.html" title="A message object. ">amqp_message_t</a> allocated in amqp_read_message. <a href="#ae2da36b1fc752301258a6a837bf1bfe0">More...</a><br/></td></tr>
+<tr class="separator:ae2da36b1fc752301258a6a837bf1bfe0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a06ce587aeb171c343f00551580d9438a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structamqp__rpc__reply__t.html">amqp_rpc_reply_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="amqp_8h.html#a06ce587aeb171c343f00551580d9438a">amqp_consume_message</a> (<a class="el" href="amqp_8h.html#a59cfdff3bfbf28aba201be5636365fa4">amqp_connection_state_t</a> state, <a class="el" href="structamqp__envelope__t.html">amqp_envelope_t</a> *envelope, struct timeval *timeout, int flags)</td></tr>
+<tr class="memdesc:a06ce587aeb171c343f00551580d9438a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Wait for and consume a message. <a href="#a06ce587aeb171c343f00551580d9438a">More...</a><br/></td></tr>
+<tr class="separator:a06ce587aeb171c343f00551580d9438a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a394e5aeadedd4c071adb706e0926d941"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="amqp_8h.html#a394e5aeadedd4c071adb706e0926d941">amqp_destroy_envelope</a> (<a class="el" href="structamqp__envelope__t.html">amqp_envelope_t</a> *envelope)</td></tr>
+<tr class="memdesc:a394e5aeadedd4c071adb706e0926d941"><td class="mdescLeft">&#160;</td><td class="mdescRight">Frees memory associated with a <a class="el" href="structamqp__envelope__t.html" title="Envelope object. ">amqp_envelope_t</a> allocated in <a class="el" href="amqp_8h.html#a06ce587aeb171c343f00551580d9438a" title="Wait for and consume a message. ">amqp_consume_message()</a> <a href="#a394e5aeadedd4c071adb706e0926d941">More...</a><br/></td></tr>
+<tr class="separator:a394e5aeadedd4c071adb706e0926d941"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aaa845fb9e03f64abb6994b09afc3a808"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="amqp_8h.html#aaa845fb9e03f64abb6994b09afc3a808">amqp_default_connection_info</a> (struct <a class="el" href="structamqp__connection__info.html">amqp_connection_info</a> *parsed)</td></tr>
+<tr class="memdesc:aaa845fb9e03f64abb6994b09afc3a808"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initialze an <a class="el" href="structamqp__connection__info.html" title="Parameters used to connect to the RabbitMQ broker. ">amqp_connection_info</a> to default values. <a href="#aaa845fb9e03f64abb6994b09afc3a808">More...</a><br/></td></tr>
+<tr class="separator:aaa845fb9e03f64abb6994b09afc3a808"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1461160388694d0c39655a8ae5f992ca"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="amqp_8h.html#a1461160388694d0c39655a8ae5f992ca">amqp_parse_url</a> (char *url, struct <a class="el" href="structamqp__connection__info.html">amqp_connection_info</a> *parsed)</td></tr>
+<tr class="memdesc:a1461160388694d0c39655a8ae5f992ca"><td class="mdescLeft">&#160;</td><td class="mdescRight">Parse a connection URL. <a href="#a1461160388694d0c39655a8ae5f992ca">More...</a><br/></td></tr>
+<tr class="separator:a1461160388694d0c39655a8ae5f992ca"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aaa1a4f870da40120d8c544822bf63f51"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="amqp_8h.html#aaa1a4f870da40120d8c544822bf63f51">amqp_socket_open</a> (amqp_socket_t *self, const char *host, int port)</td></tr>
+<tr class="memdesc:aaa1a4f870da40120d8c544822bf63f51"><td class="mdescLeft">&#160;</td><td class="mdescRight">Open a socket connection. <a href="#aaa1a4f870da40120d8c544822bf63f51">More...</a><br/></td></tr>
+<tr class="separator:aaa1a4f870da40120d8c544822bf63f51"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3c2684dbbb210d4566c5d49ca1565fd8"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="amqp_8h.html#a3c2684dbbb210d4566c5d49ca1565fd8">amqp_socket_open_noblock</a> (amqp_socket_t *self, const char *host, int port, struct timeval *timeout)</td></tr>
+<tr class="memdesc:a3c2684dbbb210d4566c5d49ca1565fd8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Open a socket connection. <a href="#a3c2684dbbb210d4566c5d49ca1565fd8">More...</a><br/></td></tr>
+<tr class="separator:a3c2684dbbb210d4566c5d49ca1565fd8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac7fe7405589e8c44c8dba2dc80c312a4"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="amqp_8h.html#ac7fe7405589e8c44c8dba2dc80c312a4">amqp_socket_get_sockfd</a> (amqp_socket_t *self)</td></tr>
+<tr class="memdesc:ac7fe7405589e8c44c8dba2dc80c312a4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the socket descriptor in use by a socket object. <a href="#ac7fe7405589e8c44c8dba2dc80c312a4">More...</a><br/></td></tr>
+<tr class="separator:ac7fe7405589e8c44c8dba2dc80c312a4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3b278d46595f88213c486772d969ae1a"><td class="memItemLeft" align="right" valign="top">amqp_socket_t *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="amqp_8h.html#a3b278d46595f88213c486772d969ae1a">amqp_get_socket</a> (<a class="el" href="amqp_8h.html#a59cfdff3bfbf28aba201be5636365fa4">amqp_connection_state_t</a> state)</td></tr>
+<tr class="memdesc:a3b278d46595f88213c486772d969ae1a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the socket object associated with a amqp_connection_state_t. <a href="#a3b278d46595f88213c486772d969ae1a">More...</a><br/></td></tr>
+<tr class="separator:a3b278d46595f88213c486772d969ae1a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7f193ceabf31fa21123808994333b915"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structamqp__table__t.html">amqp_table_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="amqp_8h.html#a7f193ceabf31fa21123808994333b915">amqp_get_server_properties</a> (<a class="el" href="amqp_8h.html#a59cfdff3bfbf28aba201be5636365fa4">amqp_connection_state_t</a> state)</td></tr>
+<tr class="memdesc:a7f193ceabf31fa21123808994333b915"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the broker properties table. <a href="#a7f193ceabf31fa21123808994333b915">More...</a><br/></td></tr>
+<tr class="separator:a7f193ceabf31fa21123808994333b915"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0ff4147168f097a8a1410b6d93bad3cf"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structamqp__table__t.html">amqp_table_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="amqp_8h.html#a0ff4147168f097a8a1410b6d93bad3cf">amqp_get_client_properties</a> (<a class="el" href="amqp_8h.html#a59cfdff3bfbf28aba201be5636365fa4">amqp_connection_state_t</a> state)</td></tr>
+<tr class="memdesc:a0ff4147168f097a8a1410b6d93bad3cf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the client properties table. <a href="#a0ff4147168f097a8a1410b6d93bad3cf">More...</a><br/></td></tr>
+<tr class="separator:a0ff4147168f097a8a1410b6d93bad3cf"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a>
+Variables</h2></td></tr>
+<tr class="memitem:a9c6c49c5846de389f2e18cec79cf859c"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="structamqp__bytes__t.html">amqp_bytes_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="amqp_8h.html#a9c6c49c5846de389f2e18cec79cf859c">amqp_empty_bytes</a></td></tr>
+<tr class="memdesc:a9c6c49c5846de389f2e18cec79cf859c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Empty bytes structure. <a href="#a9c6c49c5846de389f2e18cec79cf859c">More...</a><br/></td></tr>
+<tr class="separator:a9c6c49c5846de389f2e18cec79cf859c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0deb5fae5e794ea87b1431fbe656dac7"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="structamqp__table__t.html">amqp_table_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="amqp_8h.html#a0deb5fae5e794ea87b1431fbe656dac7">amqp_empty_table</a></td></tr>
+<tr class="memdesc:a0deb5fae5e794ea87b1431fbe656dac7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Empty table structure. <a href="#a0deb5fae5e794ea87b1431fbe656dac7">More...</a><br/></td></tr>
+<tr class="separator:a0deb5fae5e794ea87b1431fbe656dac7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aaba159b9d1ab04aa97c393f9141d23ca"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="structamqp__array__t.html">amqp_array_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="amqp_8h.html#aaba159b9d1ab04aa97c393f9141d23ca">amqp_empty_array</a></td></tr>
+<tr class="memdesc:aaba159b9d1ab04aa97c393f9141d23ca"><td class="mdescLeft">&#160;</td><td class="mdescRight">Empty table array structure. <a href="#aaba159b9d1ab04aa97c393f9141d23ca">More...</a><br/></td></tr>
+<tr class="separator:aaba159b9d1ab04aa97c393f9141d23ca"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Macro Definition Documentation</h2>
+<a class="anchor" id="afb9f9e436886c30a63d234de79cd57e3"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define AMQP_DEFAULT_FRAME_SIZE&#160;&#160;&#160;131072</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Default frame size (128Kb) </p>
+<dl class="section see"><dt>See Also</dt><dd><a class="el" href="amqp_8h.html#a64cd6986f1dd7e0d475000ca5f1e16c2" title="Login to the broker. ">amqp_login()</a>, <a class="el" href="amqp_8h.html#a086cb1d07e0a6b4f25153fcc433ff154" title="Login to the broker passing a properties table. ">amqp_login_with_properties()</a></dd></dl>
+<dl class="section since"><dt>Since</dt><dd>v0.4.0 </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="a415fd031e2cbdb42c01bc5d213c2f471"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define AMQP_DEFAULT_HEARTBEAT&#160;&#160;&#160;0</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Default heartbeat interval (0, heartbeat disabled) </p>
+<dl class="section see"><dt>See Also</dt><dd><a class="el" href="amqp_8h.html#a64cd6986f1dd7e0d475000ca5f1e16c2" title="Login to the broker. ">amqp_login()</a>, <a class="el" href="amqp_8h.html#a086cb1d07e0a6b4f25153fcc433ff154" title="Login to the broker passing a properties table. ">amqp_login_with_properties()</a></dd></dl>
+<dl class="section since"><dt>Since</dt><dd>v0.4.0 </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ae2ac1fdde99bf06c87dacffad52610be"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define AMQP_DEFAULT_MAX_CHANNELS&#160;&#160;&#160;0</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Default maximum number of channels (0, no limit) </p>
+<dl class="section see"><dt>See Also</dt><dd><a class="el" href="amqp_8h.html#a64cd6986f1dd7e0d475000ca5f1e16c2" title="Login to the broker. ">amqp_login()</a>, <a class="el" href="amqp_8h.html#a086cb1d07e0a6b4f25153fcc433ff154" title="Login to the broker passing a properties table. ">amqp_login_with_properties()</a></dd></dl>
+<dl class="section since"><dt>Since</dt><dd>v0.4.0 </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="a0b6dbee7af797c142460fb17ca52bda2"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define AMQP_EMPTY_ARRAY&#160;&#160;&#160;<a class="el" href="amqp_8h.html#aaba159b9d1ab04aa97c393f9141d23ca">amqp_empty_array</a></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Deprecated, use <a class="el" href="amqp_8h.html#aaba159b9d1ab04aa97c393f9141d23ca">amqp_empty_array</a> instead. </p>
+<dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000003">Deprecated:</a></b></dt><dd>use <a class="el" href="amqp_8h.html#aaba159b9d1ab04aa97c393f9141d23ca">amqp_empty_array</a> instead</dd></dl>
+<dl class="section since"><dt>Since</dt><dd>v0.1 </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="a9c6b951a29c503f49812a270eec4469a"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define AMQP_EMPTY_BYTES&#160;&#160;&#160;<a class="el" href="amqp_8h.html#a9c6c49c5846de389f2e18cec79cf859c">amqp_empty_bytes</a></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Deprecated, use <a class="el" href="amqp_8h.html#a9c6c49c5846de389f2e18cec79cf859c">amqp_empty_bytes</a> instead. </p>
+<dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000001">Deprecated:</a></b></dt><dd>use <a class="el" href="amqp_8h.html#a9c6c49c5846de389f2e18cec79cf859c">amqp_empty_bytes</a> instead</dd></dl>
+<dl class="section since"><dt>Since</dt><dd>v0.1 </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="adf41cfaf560a040db54fb8c869d2ef24"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define AMQP_EMPTY_TABLE&#160;&#160;&#160;<a class="el" href="amqp_8h.html#a0deb5fae5e794ea87b1431fbe656dac7">amqp_empty_table</a></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Deprecated, use <a class="el" href="amqp_8h.html#a0deb5fae5e794ea87b1431fbe656dac7">amqp_empty_table</a> instead. </p>
+<dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000002">Deprecated:</a></b></dt><dd>use <a class="el" href="amqp_8h.html#a0deb5fae5e794ea87b1431fbe656dac7">amqp_empty_table</a> instead</dd></dl>
+<dl class="section since"><dt>Since</dt><dd>v0.1 </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="a6aed6c36c7974ed25fa7f7113aea5b2c"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define AMQP_VERSION</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<b>Value:</b><div class="fragment"><div class="line"><a class="code" href="amqp_8h.html#a9ff1ad5a3cc79cb03c058b6a968b6c50">AMQP_VERSION_CODE</a>(<a class="code" href="amqp_8h.html#a36f16093ddd12d1e884524805d65e040">AMQP_VERSION_MAJOR</a>, \</div>
+<div class="line"> <a class="code" href="amqp_8h.html#add4b635fc895379bc5842e0e6f685ecd">AMQP_VERSION_MINOR</a>, \</div>
+<div class="line"> <a class="code" href="amqp_8h.html#a82e92e6b00a9c2577e4549aa67a18f8f">AMQP_VERSION_PATCH</a>, \</div>
+<div class="line"> <a class="code" href="amqp_8h.html#a3825f4f7f71ab4acd4c47f5964d66da7">AMQP_VERSION_IS_RELEASE</a>)</div>
+<div class="ttc" id="amqp_8h_html_a36f16093ddd12d1e884524805d65e040"><div class="ttname"><a href="amqp_8h.html#a36f16093ddd12d1e884524805d65e040">AMQP_VERSION_MAJOR</a></div><div class="ttdeci">#define AMQP_VERSION_MAJOR</div><div class="ttdoc">Major library version number compile-time constant. </div><div class="ttdef"><b>Definition:</b> amqp.h:225</div></div>
+<div class="ttc" id="amqp_8h_html_a9ff1ad5a3cc79cb03c058b6a968b6c50"><div class="ttname"><a href="amqp_8h.html#a9ff1ad5a3cc79cb03c058b6a968b6c50">AMQP_VERSION_CODE</a></div><div class="ttdeci">#define AMQP_VERSION_CODE(major, minor, patch, release)</div><div class="ttdoc">Helper macro to geneate a packed version code suitable for comparison with AMQP_VERSION. </div><div class="ttdef"><b>Definition:</b> amqp.h:242</div></div>
+<div class="ttc" id="amqp_8h_html_add4b635fc895379bc5842e0e6f685ecd"><div class="ttname"><a href="amqp_8h.html#add4b635fc895379bc5842e0e6f685ecd">AMQP_VERSION_MINOR</a></div><div class="ttdeci">#define AMQP_VERSION_MINOR</div><div class="ttdoc">Minor library version number compile-time constant. </div><div class="ttdef"><b>Definition:</b> amqp.h:226</div></div>
+<div class="ttc" id="amqp_8h_html_a82e92e6b00a9c2577e4549aa67a18f8f"><div class="ttname"><a href="amqp_8h.html#a82e92e6b00a9c2577e4549aa67a18f8f">AMQP_VERSION_PATCH</a></div><div class="ttdeci">#define AMQP_VERSION_PATCH</div><div class="ttdoc">Patch library version number compile-time constant. </div><div class="ttdef"><b>Definition:</b> amqp.h:227</div></div>
+<div class="ttc" id="amqp_8h_html_a3825f4f7f71ab4acd4c47f5964d66da7"><div class="ttname"><a href="amqp_8h.html#a3825f4f7f71ab4acd4c47f5964d66da7">AMQP_VERSION_IS_RELEASE</a></div><div class="ttdeci">#define AMQP_VERSION_IS_RELEASE</div><div class="ttdoc">Version constant set to 1 for tagged release, 0 otherwise. </div><div class="ttdef"><b>Definition:</b> amqp.h:228</div></div>
+</div><!-- fragment -->
+<p>Packed version number. </p>
+<p>AMQP_VERSION is a 4-byte unsigned integer with the most significant byte set to AMQP_VERSION_MAJOR, the second most significant byte set to AMQP_VERSION_MINOR, third most significant byte set to AMQP_VERSION_PATCH, and the lowest byte set to AMQP_VERSION_IS_RELEASE.</p>
+<p>For example version 2.3.4 which is released version would be encoded as 0x02030401</p>
+<dl class="section see"><dt>See Also</dt><dd><a class="el" href="amqp_8h.html#a509e8066077e767429ec7b6232715285" title="Returns the rabbitmq-c version as a packed integer. ">amqp_version_number()</a> <a class="el" href="amqp_8h.html#a36f16093ddd12d1e884524805d65e040" title="Major library version number compile-time constant. ">AMQP_VERSION_MAJOR</a>, <a class="el" href="amqp_8h.html#add4b635fc895379bc5842e0e6f685ecd" title="Minor library version number compile-time constant. ">AMQP_VERSION_MINOR</a>, <a class="el" href="amqp_8h.html#a82e92e6b00a9c2577e4549aa67a18f8f" title="Patch library version number compile-time constant. ">AMQP_VERSION_PATCH</a>, <a class="el" href="amqp_8h.html#a3825f4f7f71ab4acd4c47f5964d66da7" title="Version constant set to 1 for tagged release, 0 otherwise. ">AMQP_VERSION_IS_RELEASE</a>, <a class="el" href="amqp_8h.html#a9ff1ad5a3cc79cb03c058b6a968b6c50" title="Helper macro to geneate a packed version code suitable for comparison with AMQP_VERSION. ">AMQP_VERSION_CODE</a></dd></dl>
+<dl class="section since"><dt>Since</dt><dd>v0.4.0 </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="a9ff1ad5a3cc79cb03c058b6a968b6c50"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define AMQP_VERSION_CODE</td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname">major, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname">minor, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname">patch, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname">release&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<b>Value:</b><div class="fragment"><div class="line">((major &lt;&lt; 24) | \</div>
+<div class="line"> (minor &lt;&lt; 16) | \</div>
+<div class="line"> (patch &lt;&lt; 8) | \</div>
+<div class="line"> (release))</div>
+</div><!-- fragment -->
+<p>Helper macro to geneate a packed version code suitable for comparison with AMQP_VERSION. </p>
+<dl class="section see"><dt>See Also</dt><dd><a class="el" href="amqp_8h.html#a509e8066077e767429ec7b6232715285" title="Returns the rabbitmq-c version as a packed integer. ">amqp_version_number()</a> <a class="el" href="amqp_8h.html#a36f16093ddd12d1e884524805d65e040" title="Major library version number compile-time constant. ">AMQP_VERSION_MAJOR</a>, <a class="el" href="amqp_8h.html#add4b635fc895379bc5842e0e6f685ecd" title="Minor library version number compile-time constant. ">AMQP_VERSION_MINOR</a>, <a class="el" href="amqp_8h.html#a82e92e6b00a9c2577e4549aa67a18f8f" title="Patch library version number compile-time constant. ">AMQP_VERSION_PATCH</a>, <a class="el" href="amqp_8h.html#a3825f4f7f71ab4acd4c47f5964d66da7" title="Version constant set to 1 for tagged release, 0 otherwise. ">AMQP_VERSION_IS_RELEASE</a>, <a class="el" href="amqp_8h.html#a6aed6c36c7974ed25fa7f7113aea5b2c" title="Packed version number. ">AMQP_VERSION</a></dd></dl>
+<dl class="section since"><dt>Since</dt><dd>v0.6.1 </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="a3825f4f7f71ab4acd4c47f5964d66da7"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define AMQP_VERSION_IS_RELEASE&#160;&#160;&#160;1</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Version constant set to 1 for tagged release, 0 otherwise. </p>
+<p>NOTE: versions that are not tagged releases are not guaranteed to be API/ABI compatible with older releases, and may change commit-to-commit.</p>
+<dl class="section see"><dt>See Also</dt><dd><a class="el" href="amqp_8h.html#a6aed6c36c7974ed25fa7f7113aea5b2c" title="Packed version number. ">AMQP_VERSION</a>, <a class="el" href="amqp_8h.html#a6b84b5824175175ef12b7eba536a1ba7" title="Version string compile-time constant. ">AMQP_VERSION_STRING</a></dd></dl>
+<dl class="section since"><dt>Since</dt><dd>v0.4.0 </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="a36f16093ddd12d1e884524805d65e040"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define AMQP_VERSION_MAJOR&#160;&#160;&#160;0</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Major library version number compile-time constant. </p>
+<p>The major version is incremented when backwards incompatible API changes are made.</p>
+<dl class="section see"><dt>See Also</dt><dd><a class="el" href="amqp_8h.html#a6aed6c36c7974ed25fa7f7113aea5b2c" title="Packed version number. ">AMQP_VERSION</a>, <a class="el" href="amqp_8h.html#a6b84b5824175175ef12b7eba536a1ba7" title="Version string compile-time constant. ">AMQP_VERSION_STRING</a></dd></dl>
+<dl class="section since"><dt>Since</dt><dd>v0.4.0 </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="add4b635fc895379bc5842e0e6f685ecd"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define AMQP_VERSION_MINOR&#160;&#160;&#160;8</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Minor library version number compile-time constant. </p>
+<p>The minor version is incremented when new APIs are added. Existing APIs are left alone.</p>
+<dl class="section see"><dt>See Also</dt><dd><a class="el" href="amqp_8h.html#a6aed6c36c7974ed25fa7f7113aea5b2c" title="Packed version number. ">AMQP_VERSION</a>, <a class="el" href="amqp_8h.html#a6b84b5824175175ef12b7eba536a1ba7" title="Version string compile-time constant. ">AMQP_VERSION_STRING</a></dd></dl>
+<dl class="section since"><dt>Since</dt><dd>v0.4.0 </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="a82e92e6b00a9c2577e4549aa67a18f8f"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define AMQP_VERSION_PATCH&#160;&#160;&#160;0</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Patch library version number compile-time constant. </p>
+<p>The patch version is incremented when library code changes, but the API is not changed.</p>
+<dl class="section see"><dt>See Also</dt><dd><a class="el" href="amqp_8h.html#a6aed6c36c7974ed25fa7f7113aea5b2c" title="Packed version number. ">AMQP_VERSION</a>, <a class="el" href="amqp_8h.html#a6b84b5824175175ef12b7eba536a1ba7" title="Version string compile-time constant. ">AMQP_VERSION_STRING</a></dd></dl>
+<dl class="section since"><dt>Since</dt><dd>v0.4.0 </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="a6b84b5824175175ef12b7eba536a1ba7"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define AMQP_VERSION_STRING&#160;&#160;&#160;AMQ_VERSION_STRING</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Version string compile-time constant. </p>
+<p>Non-released versions of the library will have "-pre" appended to the version string</p>
+<dl class="section see"><dt>See Also</dt><dd><a class="el" href="amqp_8h.html#ad979d0a664de648a028918bf9d97edee" title="Returns the rabbitmq-c version as a string. ">amqp_version()</a></dd></dl>
+<dl class="section since"><dt>Since</dt><dd>v0.4.0 </dd></dl>
+
+</div>
+</div>
+<h2 class="groupheader">Typedef Documentation</h2>
+<a class="anchor" id="a67852bce88f5784b60b8f873fd4673f2"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef int <a class="el" href="amqp_8h.html#a67852bce88f5784b60b8f873fd4673f2">amqp_boolean_t</a></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>boolean type 0 = false, true otherwise </p>
+<dl class="section since"><dt>Since</dt><dd>v0.1 </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="a2905d3cff4f5b3e0a300c3d424181518"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef uint16_t <a class="el" href="amqp_8h.html#a2905d3cff4f5b3e0a300c3d424181518">amqp_channel_t</a></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Channel type. </p>
+<dl class="section since"><dt>Since</dt><dd>v0.1 </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="a59cfdff3bfbf28aba201be5636365fa4"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef struct amqp_connection_state_t_* <a class="el" href="amqp_8h.html#a59cfdff3bfbf28aba201be5636365fa4">amqp_connection_state_t</a></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>connection state object </p>
+<dl class="section since"><dt>Since</dt><dd>v0.1 </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="a5859580c2a6e131d0fd4775d0259d852"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef uint32_t <a class="el" href="amqp_8h.html#a5859580c2a6e131d0fd4775d0259d852">amqp_flags_t</a></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Bitmask for flags. </p>
+<dl class="section since"><dt>Since</dt><dd>v0.1 </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="a870f50d72f2f40ef74b3708e6dcb7379"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef uint32_t <a class="el" href="amqp_8h.html#a870f50d72f2f40ef74b3708e6dcb7379">amqp_method_number_t</a></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Method number. </p>
+<dl class="section since"><dt>Since</dt><dd>v0.1 </dd></dl>
+
+</div>
+</div>
+<h2 class="groupheader">Enumeration Type Documentation</h2>
+<a class="anchor" id="a78ed0d0fc4e424297f8ef43c033f8f2a"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">enum <a class="el" href="amqp_8h.html#a78ed0d0fc4e424297f8ef43c033f8f2a">amqp_delivery_mode_enum</a></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>AMQP delivery modes. </p>
+<p>Use these values for the <a class="el" href="structamqp__basic__properties__t.html#afe2740a63cf6388a6de79ab52fb06bba" title="delivery-mode ">amqp_basic_properties_t::delivery_mode</a> field.</p>
+<dl class="section since"><dt>Since</dt><dd>v0.5 </dd></dl>
+<table class="fieldtable">
+<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="a78ed0d0fc4e424297f8ef43c033f8f2aa2a495ab1dfe7642311a9f57001563918"></a>AMQP_DELIVERY_NONPERSISTENT</em>&#160;</td><td class="fielddoc">
+<p>Non-persistent message. </p>
+</td></tr>
+<tr><td class="fieldname"><em><a class="anchor" id="a78ed0d0fc4e424297f8ef43c033f8f2aab131d5c00321a2fe326c71452eb9c6f9"></a>AMQP_DELIVERY_PERSISTENT</em>&#160;</td><td class="fielddoc">
+<p>Persistent message. </p>
+</td></tr>
+</table>
+
+</div>
+</div>
+<a class="anchor" id="a056c3f5d26fb3ecfff7cd802601ca307"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">enum <a class="el" href="amqp_8h.html#a056c3f5d26fb3ecfff7cd802601ca307">amqp_field_value_kind_t</a></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Field value types. </p>
+<dl class="section since"><dt>Since</dt><dd>v0.1 </dd></dl>
+<table class="fieldtable">
+<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="a056c3f5d26fb3ecfff7cd802601ca307a2af9ae13bb57e261bf6164a0db021f59"></a>AMQP_FIELD_KIND_BOOLEAN</em>&#160;</td><td class="fielddoc">
+<p>boolean type. </p>
+<p>0 = false, 1 = true </p>
+<dl class="section see"><dt>See Also</dt><dd><a class="el" href="amqp_8h.html#a67852bce88f5784b60b8f873fd4673f2" title="boolean type 0 = false, true otherwise ">amqp_boolean_t</a> </dd></dl>
+</td></tr>
+<tr><td class="fieldname"><em><a class="anchor" id="a056c3f5d26fb3ecfff7cd802601ca307ab5ad4f1d729098580a109d91facd2e20"></a>AMQP_FIELD_KIND_I8</em>&#160;</td><td class="fielddoc">
+<p>8-bit signed integer, datatype: int8_t </p>
+</td></tr>
+<tr><td class="fieldname"><em><a class="anchor" id="a056c3f5d26fb3ecfff7cd802601ca307a1b7cf6db1db77612bd95a6b6d717caae"></a>AMQP_FIELD_KIND_U8</em>&#160;</td><td class="fielddoc">
+<p>8-bit unsigned integer, datatype: uint8_t </p>
+</td></tr>
+<tr><td class="fieldname"><em><a class="anchor" id="a056c3f5d26fb3ecfff7cd802601ca307a2d334ba5de832355e096bcf6e23b4fdb"></a>AMQP_FIELD_KIND_I16</em>&#160;</td><td class="fielddoc">
+<p>16-bit signed integer, datatype: int16_t </p>
+</td></tr>
+<tr><td class="fieldname"><em><a class="anchor" id="a056c3f5d26fb3ecfff7cd802601ca307adc45b6aada7f8a53f2e01c4ab69bee32"></a>AMQP_FIELD_KIND_U16</em>&#160;</td><td class="fielddoc">
+<p>16-bit unsigned integer, datatype: uint16_t </p>
+</td></tr>
+<tr><td class="fieldname"><em><a class="anchor" id="a056c3f5d26fb3ecfff7cd802601ca307ae4cfc767af9f082de4fe35d9623acd5d"></a>AMQP_FIELD_KIND_I32</em>&#160;</td><td class="fielddoc">
+<p>32-bit signed integer, datatype: int32_t </p>
+</td></tr>
+<tr><td class="fieldname"><em><a class="anchor" id="a056c3f5d26fb3ecfff7cd802601ca307ae9c6756830dbc73451010ac6f80f77b8"></a>AMQP_FIELD_KIND_U32</em>&#160;</td><td class="fielddoc">
+<p>32-bit unsigned integer, datatype: uint32_t </p>
+</td></tr>
+<tr><td class="fieldname"><em><a class="anchor" id="a056c3f5d26fb3ecfff7cd802601ca307af6fb0c5a1a35e33712b888fbac245b0c"></a>AMQP_FIELD_KIND_I64</em>&#160;</td><td class="fielddoc">
+<p>64-bit signed integer, datatype: int64_t </p>
+</td></tr>
+<tr><td class="fieldname"><em><a class="anchor" id="a056c3f5d26fb3ecfff7cd802601ca307a4e419fcc4accebc4be47b7f55ffb8810"></a>AMQP_FIELD_KIND_U64</em>&#160;</td><td class="fielddoc">
+<p>64-bit unsigned integer, datatype: uint64_t </p>
+</td></tr>
+<tr><td class="fieldname"><em><a class="anchor" id="a056c3f5d26fb3ecfff7cd802601ca307a7e63d5fdb03cca799016957f83a13ee7"></a>AMQP_FIELD_KIND_F32</em>&#160;</td><td class="fielddoc">
+<p>single-precision floating point value, datatype: float </p>
+</td></tr>
+<tr><td class="fieldname"><em><a class="anchor" id="a056c3f5d26fb3ecfff7cd802601ca307a4366b9049f892d59725ceac8bee58743"></a>AMQP_FIELD_KIND_F64</em>&#160;</td><td class="fielddoc">
+<p>double-precision floating point value, datatype: double </p>
+</td></tr>
+<tr><td class="fieldname"><em><a class="anchor" id="a056c3f5d26fb3ecfff7cd802601ca307a947c0210f948c5b1438b565f8b1aa2f8"></a>AMQP_FIELD_KIND_DECIMAL</em>&#160;</td><td class="fielddoc">
+<p>amqp-decimal value, datatype: <a class="el" href="structamqp__decimal__t.html" title="Decimal data type. ">amqp_decimal_t</a> </p>
+</td></tr>
+<tr><td class="fieldname"><em><a class="anchor" id="a056c3f5d26fb3ecfff7cd802601ca307a6acd38b6fd918cdce3262f52de327dd6"></a>AMQP_FIELD_KIND_UTF8</em>&#160;</td><td class="fielddoc">
+<p>UTF-8 null-terminated character string, datatype: <a class="el" href="structamqp__bytes__t.html" title="Buffer descriptor. ">amqp_bytes_t</a>. </p>
+</td></tr>
+<tr><td class="fieldname"><em><a class="anchor" id="a056c3f5d26fb3ecfff7cd802601ca307aeac1542c23d54717a9e3d9de38e2ca9e"></a>AMQP_FIELD_KIND_ARRAY</em>&#160;</td><td class="fielddoc">
+<p>field array (repeated values of another datatype. </p>
+<p>datatype: <a class="el" href="structamqp__array__t.html" title="An AMQP Field Array. ">amqp_array_t</a> </p>
+</td></tr>
+<tr><td class="fieldname"><em><a class="anchor" id="a056c3f5d26fb3ecfff7cd802601ca307a6424ab9e2679f4cce344349d5034c070"></a>AMQP_FIELD_KIND_TIMESTAMP</em>&#160;</td><td class="fielddoc">
+<p>64-bit timestamp. </p>
+<p>datatype uint64_t </p>
+</td></tr>
+<tr><td class="fieldname"><em><a class="anchor" id="a056c3f5d26fb3ecfff7cd802601ca307a99e43ccdbc80e99b09ce9a8c1bb8ad4d"></a>AMQP_FIELD_KIND_TABLE</em>&#160;</td><td class="fielddoc">
+<p>field table. </p>
+<p>encapsulates a table inside a table entry. datatype: <a class="el" href="structamqp__table__t.html" title="AMQP field table. ">amqp_table_t</a> </p>
+</td></tr>
+<tr><td class="fieldname"><em><a class="anchor" id="a056c3f5d26fb3ecfff7cd802601ca307ac1f8fd4d605d917b63beba25af1785df"></a>AMQP_FIELD_KIND_VOID</em>&#160;</td><td class="fielddoc">
+<p>empty entry </p>
+</td></tr>
+<tr><td class="fieldname"><em><a class="anchor" id="a056c3f5d26fb3ecfff7cd802601ca307afcef6bf298a3a32bea748bbf9f0bc2c3"></a>AMQP_FIELD_KIND_BYTES</em>&#160;</td><td class="fielddoc">
+<p>unformatted byte string, datatype: <a class="el" href="structamqp__bytes__t.html" title="Buffer descriptor. ">amqp_bytes_t</a> </p>
+</td></tr>
+</table>
+
+</div>
+</div>
+<a class="anchor" id="ace098ed2a6aacbffd96cf9f7cd9f6465"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">enum <a class="el" href="amqp_8h.html#ace098ed2a6aacbffd96cf9f7cd9f6465">amqp_response_type_enum</a></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Response type. </p>
+<dl class="section since"><dt>Since</dt><dd>v0.1 </dd></dl>
+<table class="fieldtable">
+<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="ace098ed2a6aacbffd96cf9f7cd9f6465a04b361d496be2047aba262a7322547be"></a>AMQP_RESPONSE_NONE</em>&#160;</td><td class="fielddoc">
+<p>the library got an EOF from the socket </p>
+</td></tr>
+<tr><td class="fieldname"><em><a class="anchor" id="ace098ed2a6aacbffd96cf9f7cd9f6465a7bd083d49f34db9f73ae19c872078c5d"></a>AMQP_RESPONSE_NORMAL</em>&#160;</td><td class="fielddoc">
+<p>response normal, the RPC completed successfully </p>
+</td></tr>
+<tr><td class="fieldname"><em><a class="anchor" id="ace098ed2a6aacbffd96cf9f7cd9f6465a142cc002ed4936538f8ef92711dee129"></a>AMQP_RESPONSE_LIBRARY_EXCEPTION</em>&#160;</td><td class="fielddoc">
+<p>library error, an error occurred in the library, examine the library_error </p>
+</td></tr>
+<tr><td class="fieldname"><em><a class="anchor" id="ace098ed2a6aacbffd96cf9f7cd9f6465a1dfa5e55db5472a920ac5ca598858c58"></a>AMQP_RESPONSE_SERVER_EXCEPTION</em>&#160;</td><td class="fielddoc">
+<p>server exception, the broker returned an error, check replay </p>
+</td></tr>
+</table>
+
+</div>
+</div>
+<a class="anchor" id="a965d220021ff4268303cdf26b6023164"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">enum <a class="el" href="amqp_8h.html#a965d220021ff4268303cdf26b6023164">amqp_sasl_method_enum</a></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>SASL method type. </p>
+<dl class="section since"><dt>Since</dt><dd>v0.1 </dd></dl>
+<table class="fieldtable">
+<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="a965d220021ff4268303cdf26b6023164a2309419d2967eaf668879f070f98e222"></a>AMQP_SASL_METHOD_UNDEFINED</em>&#160;</td><td class="fielddoc">
+<p>Invalid SASL method. </p>
+</td></tr>
+<tr><td class="fieldname"><em><a class="anchor" id="a965d220021ff4268303cdf26b6023164aa3ca18347d7153ad5eacfc85217845ba"></a>AMQP_SASL_METHOD_PLAIN</em>&#160;</td><td class="fielddoc">
+<p>the PLAIN SASL method for authentication to the broker </p>
+</td></tr>
+<tr><td class="fieldname"><em><a class="anchor" id="a965d220021ff4268303cdf26b6023164a9a641985d6887f108fd377aacd1f48b1"></a>AMQP_SASL_METHOD_EXTERNAL</em>&#160;</td><td class="fielddoc">
+<p>the EXTERNAL SASL method for authentication to the broker </p>
+</td></tr>
+</table>
+
+</div>
+</div>
+<a class="anchor" id="a05dadc32b3a59918206ac38a53606723"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">enum <a class="el" href="amqp_8h.html#a05dadc32b3a59918206ac38a53606723">amqp_status_enum</a></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Status codes. </p>
+<dl class="section since"><dt>Since</dt><dd>v0.4.0 </dd></dl>
+<table class="fieldtable">
+<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="a05dadc32b3a59918206ac38a53606723aa108d3c3d0cfc8e04aa123309b03708d"></a>AMQP_STATUS_OK</em>&#160;</td><td class="fielddoc">
+<p>Operation successful. </p>
+</td></tr>
+<tr><td class="fieldname"><em><a class="anchor" id="a05dadc32b3a59918206ac38a53606723a07c2c11b57a90b1664b837e1ce9d3f23"></a>AMQP_STATUS_NO_MEMORY</em>&#160;</td><td class="fielddoc">
+<p>Memory allocation failed. </p>
+</td></tr>
+<tr><td class="fieldname"><em><a class="anchor" id="a05dadc32b3a59918206ac38a53606723a729ccd83c0f725ee0692b517455ba6f6"></a>AMQP_STATUS_BAD_AMQP_DATA</em>&#160;</td><td class="fielddoc">
+<p>Incorrect or corrupt data was received from the broker. </p>
+<p>This is a protocol error. </p>
+</td></tr>
+<tr><td class="fieldname"><em><a class="anchor" id="a05dadc32b3a59918206ac38a53606723a1536d5dae71fe600145948d2b3040a5b"></a>AMQP_STATUS_UNKNOWN_CLASS</em>&#160;</td><td class="fielddoc">
+<p>An unknown AMQP class was received. </p>
+<p>This is a protocol error. </p>
+</td></tr>
+<tr><td class="fieldname"><em><a class="anchor" id="a05dadc32b3a59918206ac38a53606723a0b892b2e739cf1d82ee7d48496dcd211"></a>AMQP_STATUS_UNKNOWN_METHOD</em>&#160;</td><td class="fielddoc">
+<p>An unknown AMQP method was received. </p>
+<p>This is a protocol error. </p>
+</td></tr>
+<tr><td class="fieldname"><em><a class="anchor" id="a05dadc32b3a59918206ac38a53606723ac23486bc421925ad4e5011685c79e01c"></a>AMQP_STATUS_HOSTNAME_RESOLUTION_FAILED</em>&#160;</td><td class="fielddoc">
+<p>Unable to resolve the hostname. </p>
+</td></tr>
+<tr><td class="fieldname"><em><a class="anchor" id="a05dadc32b3a59918206ac38a53606723a97dea1f38309b5234a4f057b13b879f2"></a>AMQP_STATUS_INCOMPATIBLE_AMQP_VERSION</em>&#160;</td><td class="fielddoc">
+<p>The broker advertised an incompaible AMQP version. </p>
+</td></tr>
+<tr><td class="fieldname"><em><a class="anchor" id="a05dadc32b3a59918206ac38a53606723ae44d756aabffa51cc36e7119dc673e84"></a>AMQP_STATUS_CONNECTION_CLOSED</em>&#160;</td><td class="fielddoc">
+<p>The connection to the broker has been closed. </p>
+</td></tr>
+<tr><td class="fieldname"><em><a class="anchor" id="a05dadc32b3a59918206ac38a53606723aaeefaa910c7b87d7d8e04a17c64ee7ec"></a>AMQP_STATUS_BAD_URL</em>&#160;</td><td class="fielddoc">
+<p>malformed AMQP URL </p>
+</td></tr>
+<tr><td class="fieldname"><em><a class="anchor" id="a05dadc32b3a59918206ac38a53606723a1c432057d345eefccf90ae4ee237e509"></a>AMQP_STATUS_SOCKET_ERROR</em>&#160;</td><td class="fielddoc">
+<p>A socket error occurred. </p>
+</td></tr>
+<tr><td class="fieldname"><em><a class="anchor" id="a05dadc32b3a59918206ac38a53606723aa2d632c2f989c6623e129eb0bd40de5a"></a>AMQP_STATUS_INVALID_PARAMETER</em>&#160;</td><td class="fielddoc">
+<p>An invalid parameter was passed into the function. </p>
+</td></tr>
+<tr><td class="fieldname"><em><a class="anchor" id="a05dadc32b3a59918206ac38a53606723a527dd4add425cb32cc1c3a7ad8fa8e43"></a>AMQP_STATUS_TABLE_TOO_BIG</em>&#160;</td><td class="fielddoc">
+<p>The <a class="el" href="structamqp__table__t.html" title="AMQP field table. ">amqp_table_t</a> object cannot be serialized because the output buffer is too small. </p>
+</td></tr>
+<tr><td class="fieldname"><em><a class="anchor" id="a05dadc32b3a59918206ac38a53606723ab167e603695944aa9502b9de86f2a97d"></a>AMQP_STATUS_WRONG_METHOD</em>&#160;</td><td class="fielddoc">
+<p>The wrong method was received. </p>
+</td></tr>
+<tr><td class="fieldname"><em><a class="anchor" id="a05dadc32b3a59918206ac38a53606723a99cfcc635007371a968220d99e704f6e"></a>AMQP_STATUS_TIMEOUT</em>&#160;</td><td class="fielddoc">
+<p>Operation timed out. </p>
+</td></tr>
+<tr><td class="fieldname"><em><a class="anchor" id="a05dadc32b3a59918206ac38a53606723acdd754a786cebda23fc4a1ac1911af00"></a>AMQP_STATUS_TIMER_FAILURE</em>&#160;</td><td class="fielddoc">
+<p>The underlying system timer facility failed. </p>
+</td></tr>
+<tr><td class="fieldname"><em><a class="anchor" id="a05dadc32b3a59918206ac38a53606723a15cb52f1e676e36ac3de300b6bf8b752"></a>AMQP_STATUS_HEARTBEAT_TIMEOUT</em>&#160;</td><td class="fielddoc">
+<p>Timed out waiting for heartbeat. </p>
+</td></tr>
+<tr><td class="fieldname"><em><a class="anchor" id="a05dadc32b3a59918206ac38a53606723ad0974dfa91b5418122d821785b4044d2"></a>AMQP_STATUS_UNEXPECTED_STATE</em>&#160;</td><td class="fielddoc">
+<p>Unexpected protocol state. </p>
+</td></tr>
+<tr><td class="fieldname"><em><a class="anchor" id="a05dadc32b3a59918206ac38a53606723ae33f4ade84166b0022aacb6d135958e9"></a>AMQP_STATUS_SOCKET_CLOSED</em>&#160;</td><td class="fielddoc">
+<p>Underlying socket is closed. </p>
+</td></tr>
+<tr><td class="fieldname"><em><a class="anchor" id="a05dadc32b3a59918206ac38a53606723aa1d5f8802556d9e7db860f5e48705d28"></a>AMQP_STATUS_SOCKET_INUSE</em>&#160;</td><td class="fielddoc">
+<p>Underlying socket is already open. </p>
+</td></tr>
+<tr><td class="fieldname"><em><a class="anchor" id="a05dadc32b3a59918206ac38a53606723a013b89964df91560c2952ea843e3cace"></a>AMQP_STATUS_BROKER_UNSUPPORTED_SASL_METHOD</em>&#160;</td><td class="fielddoc">
+<p>Broker does not support the requested SASL mechanism. </p>
+</td></tr>
+<tr><td class="fieldname"><em><a class="anchor" id="a05dadc32b3a59918206ac38a53606723a6918d6089a510dce9beb48d5d9571eef"></a>AMQP_STATUS_UNSUPPORTED</em>&#160;</td><td class="fielddoc">
+<p>Parameter is unsupported in this version. </p>
+</td></tr>
+<tr><td class="fieldname"><em><a class="anchor" id="a05dadc32b3a59918206ac38a53606723adb92fd3b5aaefc92720253f0ac23e3e7"></a>_AMQP_STATUS_NEXT_VALUE</em>&#160;</td><td class="fielddoc">
+<p>Internal value. </p>
+</td></tr>
+<tr><td class="fieldname"><em><a class="anchor" id="a05dadc32b3a59918206ac38a53606723a2945731ea5e1dfce2c1a49957c372444"></a>AMQP_STATUS_TCP_ERROR</em>&#160;</td><td class="fielddoc">
+<p>A generic TCP error occurred. </p>
+</td></tr>
+<tr><td class="fieldname"><em><a class="anchor" id="a05dadc32b3a59918206ac38a53606723a67d4f5656cf2fefff4168f87c04f406b"></a>AMQP_STATUS_TCP_SOCKETLIB_INIT_ERROR</em>&#160;</td><td class="fielddoc">
+<p>An error occurred trying to initialize the socket library. </p>
+</td></tr>
+<tr><td class="fieldname"><em><a class="anchor" id="a05dadc32b3a59918206ac38a53606723a1ca45c93912215216c62d3698abf1af6"></a>_AMQP_STATUS_TCP_NEXT_VALUE</em>&#160;</td><td class="fielddoc">
+<p>Internal value. </p>
+</td></tr>
+<tr><td class="fieldname"><em><a class="anchor" id="a05dadc32b3a59918206ac38a53606723a63b5ec81b3d9398075f22f74bce7d833"></a>AMQP_STATUS_SSL_ERROR</em>&#160;</td><td class="fielddoc">
+<p>A generic SSL error occurred. </p>
+</td></tr>
+<tr><td class="fieldname"><em><a class="anchor" id="a05dadc32b3a59918206ac38a53606723a9083e09e88fbe2ee2814c97dcbe49986"></a>AMQP_STATUS_SSL_HOSTNAME_VERIFY_FAILED</em>&#160;</td><td class="fielddoc">
+<p>SSL validation of hostname against peer certificate failed. </p>
+</td></tr>
+<tr><td class="fieldname"><em><a class="anchor" id="a05dadc32b3a59918206ac38a53606723a56dabb356f2dbbef67c870a97ed3ae3e"></a>AMQP_STATUS_SSL_PEER_VERIFY_FAILED</em>&#160;</td><td class="fielddoc">
+<p>SSL validation of peer certificate failed. </p>
+</td></tr>
+<tr><td class="fieldname"><em><a class="anchor" id="a05dadc32b3a59918206ac38a53606723aaef6a4ad3e1a26742dda0489a4adc998"></a>AMQP_STATUS_SSL_CONNECTION_FAILED</em>&#160;</td><td class="fielddoc">
+<p>SSL handshake failed. </p>
+</td></tr>
+<tr><td class="fieldname"><em><a class="anchor" id="a05dadc32b3a59918206ac38a53606723ac27d61f01fe2637864bbc3f092da0154"></a>_AMQP_STATUS_SSL_NEXT_VALUE</em>&#160;</td><td class="fielddoc">
+<p>Internal value. </p>
+</td></tr>
+</table>
+
+</div>
+</div>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="a92036293c3dd6784c86983df2d1fdfc1"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int amqp_basic_ack </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="amqp_8h.html#a59cfdff3bfbf28aba201be5636365fa4">amqp_connection_state_t</a>&#160;</td>
+ <td class="paramname"><em>state</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="amqp_8h.html#a2905d3cff4f5b3e0a300c3d424181518">amqp_channel_t</a>&#160;</td>
+ <td class="paramname"><em>channel</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">uint64_t&#160;</td>
+ <td class="paramname"><em>delivery_tag</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="amqp_8h.html#a67852bce88f5784b60b8f873fd4673f2">amqp_boolean_t</a>&#160;</td>
+ <td class="paramname"><em>multiple</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Acknowledges a message. </p>
+<p>Does a basic.ack on a received message</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">state</td><td>the connection object </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">channel</td><td>the channel identifier </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">delivery_tag</td><td>the delivery tag of the message to be ack'd </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">multiple</td><td>if true, ack all messages up to this delivery tag, if false ack only this delivery tag </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>0 on success, 0 &gt; on failing to send the ack to the broker. this will not indicate failure if something goes wrong on the broker</dd></dl>
+<dl class="section since"><dt>Since</dt><dd>v0.1 </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="aa75aaa41b4776cd00c56ced0aaa9a7d7"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="structamqp__rpc__reply__t.html">amqp_rpc_reply_t</a> amqp_basic_get </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="amqp_8h.html#a59cfdff3bfbf28aba201be5636365fa4">amqp_connection_state_t</a>&#160;</td>
+ <td class="paramname"><em>state</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="amqp_8h.html#a2905d3cff4f5b3e0a300c3d424181518">amqp_channel_t</a>&#160;</td>
+ <td class="paramname"><em>channel</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="structamqp__bytes__t.html">amqp_bytes_t</a>&#160;</td>
+ <td class="paramname"><em>queue</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="amqp_8h.html#a67852bce88f5784b60b8f873fd4673f2">amqp_boolean_t</a>&#160;</td>
+ <td class="paramname"><em>no_ack</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Do a basic.get. </p>
+<p>Synchonously polls the broker for a message in a queue, and retrieves the message if a message is in the queue.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">state</td><td>the connection object </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">channel</td><td>the channel identifier to use </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">queue</td><td>the queue name to retrieve from </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">no_ack</td><td>if true the message is automatically ack'ed if false amqp_basic_ack should be called once the message retrieved has been processed </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>amqp_rpc_reply indicating success or failure</dd></dl>
+<dl class="section since"><dt>Since</dt><dd>v0.1 </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="a1058be245a63c06a77209e3a9e4c758e"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int amqp_basic_nack </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="amqp_8h.html#a59cfdff3bfbf28aba201be5636365fa4">amqp_connection_state_t</a>&#160;</td>
+ <td class="paramname"><em>state</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="amqp_8h.html#a2905d3cff4f5b3e0a300c3d424181518">amqp_channel_t</a>&#160;</td>
+ <td class="paramname"><em>channel</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">uint64_t&#160;</td>
+ <td class="paramname"><em>delivery_tag</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="amqp_8h.html#a67852bce88f5784b60b8f873fd4673f2">amqp_boolean_t</a>&#160;</td>
+ <td class="paramname"><em>multiple</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="amqp_8h.html#a67852bce88f5784b60b8f873fd4673f2">amqp_boolean_t</a>&#160;</td>
+ <td class="paramname"><em>requeue</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Do a basic.nack. </p>
+<p>Actively reject a message, this has the same effect as <a class="el" href="amqp_8h.html#a847ff4c17f6eeb0609e4e538846eb06f" title="Do a basic.reject. ">amqp_basic_reject()</a> however, <a class="el" href="amqp_8h.html#a1058be245a63c06a77209e3a9e4c758e" title="Do a basic.nack. ">amqp_basic_nack()</a> can negatively acknowledge multiple messages with one call much like <a class="el" href="amqp_8h.html#a92036293c3dd6784c86983df2d1fdfc1" title="Acknowledges a message. ">amqp_basic_ack()</a> can acknowledge mutliple messages with one call.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">state</td><td>the connection object </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">channel</td><td>the channel identifier </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">delivery_tag</td><td>the delivery tag of the message to reject </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">multiple</td><td>if set to 1 negatively acknowledge all unacknowledged messages on this channel. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">requeue</td><td>indicate to the broker whether it should requeue the message or dead-letter it. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>AMQP_STATUS_OK on success, an amqp_status_enum value otherwise.</dd></dl>
+<dl class="section since"><dt>Since</dt><dd>v0.5.0 </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="a9cada07768aa46297acdd701f96d0d7f"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int amqp_basic_publish </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="amqp_8h.html#a59cfdff3bfbf28aba201be5636365fa4">amqp_connection_state_t</a>&#160;</td>
+ <td class="paramname"><em>state</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="amqp_8h.html#a2905d3cff4f5b3e0a300c3d424181518">amqp_channel_t</a>&#160;</td>
+ <td class="paramname"><em>channel</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="structamqp__bytes__t.html">amqp_bytes_t</a>&#160;</td>
+ <td class="paramname"><em>exchange</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="structamqp__bytes__t.html">amqp_bytes_t</a>&#160;</td>
+ <td class="paramname"><em>routing_key</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="amqp_8h.html#a67852bce88f5784b60b8f873fd4673f2">amqp_boolean_t</a>&#160;</td>
+ <td class="paramname"><em>mandatory</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="amqp_8h.html#a67852bce88f5784b60b8f873fd4673f2">amqp_boolean_t</a>&#160;</td>
+ <td class="paramname"><em>immediate</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">struct amqp_basic_properties_t_ const *&#160;</td>
+ <td class="paramname"><em>properties</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="structamqp__bytes__t.html">amqp_bytes_t</a>&#160;</td>
+ <td class="paramname"><em>body</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Publish a message to the broker. </p>
+<p>Publish a message on an exchange with a routing key.</p>
+<p>Note that at the AMQ protocol level basic.publish is an async method: this means error conditions that occur on the broker (such as publishing to a non-existent exchange) will not be reflected in the return value of this function.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">state</td><td>the connection object </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">channel</td><td>the channel identifier </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">exchange</td><td>the exchange on the broker to publish to </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">routing_key</td><td>the routing key to use when publishing the message </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">mandatory</td><td>indicate to the broker that the message MUST be routed to a queue. If the broker cannot do this it should respond with a basic.return method. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">immediate</td><td>indicate to the broker that the message MUST be delivered to a consumer immediately. If the broker cannot do this it should response with a basic.return method. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">properties</td><td>the properties associated with the message </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">body</td><td>the message body </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>AMQP_STATUS_OK on success, amqp_status_enum value on failure. Note that basic.publish is an async method, the return value from this function only indicates that the message data was successfully transmitted to the broker. It does not indicate failures that occur on the broker, such as publishing to a non-existent exchange. Possible error values:<ul>
+<li>AMQP_STATUS_TIMER_FAILURE: system timer facility returned an error the message was not sent.</li>
+<li>AMQP_STATUS_HEARTBEAT_TIMEOUT: connection timed out waiting for a heartbeat from the broker. The message was not sent.</li>
+<li>AMQP_STATUS_NO_MEMORY: memory allocation failed. The message was not sent.</li>
+<li>AMQP_STATUS_TABLE_TOO_BIG: a table in the properties was too large to fit in a single frame. Message was not sent.</li>
+<li>AMQP_STATUS_CONNECTION_CLOSED: the connection was closed.</li>
+<li>AMQP_STATUS_SSL_ERROR: a SSL error occurred.</li>
+<li>AMQP_STATUS_TCP_ERROR: a TCP error occurred. errno or WSAGetLastError() may provide more information</li>
+</ul>
+</dd></dl>
+<p>Note: this function does heartbeat processing as of v0.4.0</p>
+<dl class="section since"><dt>Since</dt><dd>v0.1 </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="a847ff4c17f6eeb0609e4e538846eb06f"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int amqp_basic_reject </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="amqp_8h.html#a59cfdff3bfbf28aba201be5636365fa4">amqp_connection_state_t</a>&#160;</td>
+ <td class="paramname"><em>state</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="amqp_8h.html#a2905d3cff4f5b3e0a300c3d424181518">amqp_channel_t</a>&#160;</td>
+ <td class="paramname"><em>channel</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">uint64_t&#160;</td>
+ <td class="paramname"><em>delivery_tag</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="amqp_8h.html#a67852bce88f5784b60b8f873fd4673f2">amqp_boolean_t</a>&#160;</td>
+ <td class="paramname"><em>requeue</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Do a basic.reject. </p>
+<p>Actively reject a message that has been delivered</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">state</td><td>the connection object </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">channel</td><td>the channel identifier </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">delivery_tag</td><td>the delivery tag of the message to reject </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">requeue</td><td>indicate to the broker whether it should requeue the message or just discard it. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>0 on success, 0 &gt; on failing to send the reject method to the broker. This will not indicate failure if something goes wrong on the broker.</dd></dl>
+<dl class="section since"><dt>Since</dt><dd>v0.1 </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="a473fddc0e15e8b6b4e44452cfb3914f9"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void amqp_bytes_free </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="structamqp__bytes__t.html">amqp_bytes_t</a>&#160;</td>
+ <td class="paramname"><em>bytes</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Frees an <a class="el" href="structamqp__bytes__t.html" title="Buffer descriptor. ">amqp_bytes_t</a> buffer. </p>
+<p>Frees a buffer allocated with <a class="el" href="amqp_8h.html#aba41fd99acb6e8b949accaa6d9ddf9e5" title="Allocates a amqp_bytes_t buffer. ">amqp_bytes_malloc()</a> or <a class="el" href="amqp_8h.html#af115fd8d969b7dc3932416ff117d9b6f" title="Duplicates an amqp_bytes_t buffer. ">amqp_bytes_malloc_dup()</a></p>
+<p>Calling amqp_bytes_free on buffers not allocated with one of those two functions will result in undefined behavior</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">bytes</td><td>the buffer to free</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section see"><dt>See Also</dt><dd><a class="el" href="amqp_8h.html#aba41fd99acb6e8b949accaa6d9ddf9e5" title="Allocates a amqp_bytes_t buffer. ">amqp_bytes_malloc()</a>, <a class="el" href="amqp_8h.html#af115fd8d969b7dc3932416ff117d9b6f" title="Duplicates an amqp_bytes_t buffer. ">amqp_bytes_malloc_dup()</a></dd></dl>
+<dl class="section since"><dt>Since</dt><dd>v0.1 </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="aba41fd99acb6e8b949accaa6d9ddf9e5"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="structamqp__bytes__t.html">amqp_bytes_t</a> amqp_bytes_malloc </td>
+ <td>(</td>
+ <td class="paramtype">size_t&#160;</td>
+ <td class="paramname"><em>amount</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Allocates a <a class="el" href="structamqp__bytes__t.html" title="Buffer descriptor. ">amqp_bytes_t</a> buffer. </p>
+<p>Creates an <a class="el" href="structamqp__bytes__t.html" title="Buffer descriptor. ">amqp_bytes_t</a> buffer of the specified amount, the buffer should be freed using <a class="el" href="amqp_8h.html#a473fddc0e15e8b6b4e44452cfb3914f9" title="Frees an amqp_bytes_t buffer. ">amqp_bytes_free()</a></p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">amount</td><td>the size of the buffer in bytes </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>an <a class="el" href="structamqp__bytes__t.html" title="Buffer descriptor. ">amqp_bytes_t</a> with amount bytes allocated. output.bytes will be set to NULL on error</dd></dl>
+<dl class="section see"><dt>See Also</dt><dd><a class="el" href="amqp_8h.html#a473fddc0e15e8b6b4e44452cfb3914f9" title="Frees an amqp_bytes_t buffer. ">amqp_bytes_free()</a>, <a class="el" href="amqp_8h.html#af115fd8d969b7dc3932416ff117d9b6f" title="Duplicates an amqp_bytes_t buffer. ">amqp_bytes_malloc_dup()</a></dd></dl>
+<dl class="section since"><dt>Since</dt><dd>v0.1 </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="af115fd8d969b7dc3932416ff117d9b6f"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="structamqp__bytes__t.html">amqp_bytes_t</a> amqp_bytes_malloc_dup </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="structamqp__bytes__t.html">amqp_bytes_t</a>&#160;</td>
+ <td class="paramname"><em>src</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Duplicates an <a class="el" href="structamqp__bytes__t.html" title="Buffer descriptor. ">amqp_bytes_t</a> buffer. </p>
+<p>The buffer is cloned and the contents copied.</p>
+<p>The memory associated with the output is allocated with <a class="el" href="amqp_8h.html#aba41fd99acb6e8b949accaa6d9ddf9e5" title="Allocates a amqp_bytes_t buffer. ">amqp_bytes_malloc()</a> and should be freed with <a class="el" href="amqp_8h.html#a473fddc0e15e8b6b4e44452cfb3914f9" title="Frees an amqp_bytes_t buffer. ">amqp_bytes_free()</a></p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">src</td><td></td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>a clone of the src</dd></dl>
+<dl class="section see"><dt>See Also</dt><dd><a class="el" href="amqp_8h.html#a473fddc0e15e8b6b4e44452cfb3914f9" title="Frees an amqp_bytes_t buffer. ">amqp_bytes_free()</a>, <a class="el" href="amqp_8h.html#aba41fd99acb6e8b949accaa6d9ddf9e5" title="Allocates a amqp_bytes_t buffer. ">amqp_bytes_malloc()</a></dd></dl>
+<dl class="section since"><dt>Since</dt><dd>v0.1 </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="a20a1571929d81eb7daf694ad7098a448"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="structamqp__rpc__reply__t.html">amqp_rpc_reply_t</a> amqp_channel_close </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="amqp_8h.html#a59cfdff3bfbf28aba201be5636365fa4">amqp_connection_state_t</a>&#160;</td>
+ <td class="paramname"><em>state</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="amqp_8h.html#a2905d3cff4f5b3e0a300c3d424181518">amqp_channel_t</a>&#160;</td>
+ <td class="paramname"><em>channel</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int&#160;</td>
+ <td class="paramname"><em>code</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Closes an channel. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">state</td><td>the connection object </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">channel</td><td>the channel identifier </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">code</td><td>the reason for closing the channel, AMQP_REPLY_SUCCESS is a good default </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd><a class="el" href="structamqp__rpc__reply__t.html" title="Reply from a RPC method on the broker. ">amqp_rpc_reply_t</a> indicating success or failure</dd></dl>
+<dl class="section since"><dt>Since</dt><dd>v0.1 </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="abe8a9640fd8363a4d803c59180f2c8a4"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="structamqp__rpc__reply__t.html">amqp_rpc_reply_t</a> amqp_connection_close </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="amqp_8h.html#a59cfdff3bfbf28aba201be5636365fa4">amqp_connection_state_t</a>&#160;</td>
+ <td class="paramname"><em>state</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int&#160;</td>
+ <td class="paramname"><em>code</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Closes the entire connection. </p>
+<p>Implicitly closes all channels and informs the broker the connection is being closed, after receiving acknowldgement from the broker it closes the socket.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">state</td><td>the connection object </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">code</td><td>the reason code for closing the connection. AMQP_REPLY_SUCCESS is a good default. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd><a class="el" href="structamqp__rpc__reply__t.html" title="Reply from a RPC method on the broker. ">amqp_rpc_reply_t</a> indicating the result</dd></dl>
+<dl class="section since"><dt>Since</dt><dd>v0.1 </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="a06ce587aeb171c343f00551580d9438a"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="structamqp__rpc__reply__t.html">amqp_rpc_reply_t</a> amqp_consume_message </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="amqp_8h.html#a59cfdff3bfbf28aba201be5636365fa4">amqp_connection_state_t</a>&#160;</td>
+ <td class="paramname"><em>state</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="structamqp__envelope__t.html">amqp_envelope_t</a> *&#160;</td>
+ <td class="paramname"><em>envelope</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">struct timeval *&#160;</td>
+ <td class="paramname"><em>timeout</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int&#160;</td>
+ <td class="paramname"><em>flags</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Wait for and consume a message. </p>
+<p>Waits for a basic.deliver method on any channel, upon receipt of basic.deliver it reads that message, and returns. If any other method is received before basic.deliver, this function will return an <a class="el" href="structamqp__rpc__reply__t.html" title="Reply from a RPC method on the broker. ">amqp_rpc_reply_t</a> with ret.reply_type == AMQP_RESPONSE_LIBRARY_EXCEPTION, and ret.library_error == AMQP_STATUS_UNEXPECTED_FRAME. The caller should then call <a class="el" href="amqp_8h.html#a9a186800ece7517245c734d93f18e4a8" title="Read a single amqp_frame_t. ">amqp_simple_wait_frame()</a> to read this frame and take appropriate action.</p>
+<p>This function should be used after starting a consumer with the <a class="el" href="amqp__framing_8h.html#a2447c5fb133524ec552edd040561cc58" title="amqp_basic_consume ">amqp_basic_consume()</a> function</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in,out]</td><td class="paramname">state</td><td>the connection object </td></tr>
+ <tr><td class="paramdir">[in,out]</td><td class="paramname">envelope</td><td>a pointer to a <a class="el" href="structamqp__envelope__t.html" title="Envelope object. ">amqp_envelope_t</a> object. Caller should call <a class="el" href="amqp_8h.html#a394e5aeadedd4c071adb706e0926d941" title="Frees memory associated with a amqp_envelope_t allocated in amqp_consume_message() ...">amqp_destroy_envelope()</a> when it is done using the fields in the envelope object. The caller is responsible for allocating/destroying the <a class="el" href="structamqp__envelope__t.html" title="Envelope object. ">amqp_envelope_t</a> object itself. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">timeout</td><td>a timeout to wait for a message delivery. Passing in NULL will result in blocking behavior. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">flags</td><td>pass in 0. Currently unused. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>a <a class="el" href="structamqp__rpc__reply__t.html" title="Reply from a RPC method on the broker. ">amqp_rpc_reply_t</a> object. ret.reply_type == AMQP_RESPONSE_NORMAL on success. If ret.reply_type == AMQP_RESPONSE_LIBRARY_EXCEPTION, and ret.library_error == AMQP_STATUS_UNEXPECTED_FRAME, a frame other than AMQP_BASIC_DELIVER_METHOD was received, the caller should call <a class="el" href="amqp_8h.html#a9a186800ece7517245c734d93f18e4a8" title="Read a single amqp_frame_t. ">amqp_simple_wait_frame()</a> to read this frame and take appropriate action.</dd></dl>
+<dl class="section since"><dt>Since</dt><dd>v0.4.0 </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="a1425f4f6d7e8ca82966ec53c05b52817"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="structamqp__bytes__t.html">amqp_bytes_t</a> amqp_cstring_bytes </td>
+ <td>(</td>
+ <td class="paramtype">char const *&#160;</td>
+ <td class="paramname"><em>cstr</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Wraps a c string in an <a class="el" href="structamqp__bytes__t.html" title="Buffer descriptor. ">amqp_bytes_t</a>. </p>
+<p>Takes a string, calculates its length and creates an <a class="el" href="structamqp__bytes__t.html" title="Buffer descriptor. ">amqp_bytes_t</a> that points to it. The string is not duplicated.</p>
+<p>For a given input cstr, The <a class="el" href="structamqp__bytes__t.html" title="Buffer descriptor. ">amqp_bytes_t</a> output.bytes is the same as cstr, output.len is the length of the string not including the \0 terminator</p>
+<p>This function uses strlen() internally so cstr must be properly terminated</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">cstr</td><td>the c string to wrap </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>an <a class="el" href="structamqp__bytes__t.html" title="Buffer descriptor. ">amqp_bytes_t</a> that describes the string</dd></dl>
+<dl class="section since"><dt>Since</dt><dd>v0.1 </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="af520e81ecfd783fd23c4044202a373b2"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="amqp_8h.html#a67852bce88f5784b60b8f873fd4673f2">amqp_boolean_t</a> amqp_data_in_buffer </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="amqp_8h.html#a59cfdff3bfbf28aba201be5636365fa4">amqp_connection_state_t</a>&#160;</td>
+ <td class="paramname"><em>state</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Check to see if there is data left in the receive buffer. </p>
+<p>Can be used to see if there is data still in the buffer, if so calling amqp_simple_wait_frame will not immediately enter a blocking read.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">state</td><td>the connection object </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>true if there is data in the recieve buffer, false otherwise</dd></dl>
+<dl class="section since"><dt>Since</dt><dd>v0.1 </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="a1c35a0f88066ce3cdd846f20c7ee656e"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int amqp_decode_table </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="structamqp__bytes__t.html">amqp_bytes_t</a>&#160;</td>
+ <td class="paramname"><em>encoded</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="structamqp__pool__t.html">amqp_pool_t</a> *&#160;</td>
+ <td class="paramname"><em>pool</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="structamqp__table__t.html">amqp_table_t</a> *&#160;</td>
+ <td class="paramname"><em>output</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">size_t *&#160;</td>
+ <td class="paramname"><em>offset</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Deserialize an <a class="el" href="structamqp__table__t.html" title="AMQP field table. ">amqp_table_t</a> from AMQP wireformat. </p>
+<p>This is an internal function and is not typically used by client applications</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">encoded</td><td>the buffer containing the serialized data </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">pool</td><td>memory pool used to allocate the table entries from </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">output</td><td>the <a class="el" href="structamqp__table__t.html" title="AMQP field table. ">amqp_table_t</a> structure to fill in. Any existing entries will be erased </td></tr>
+ <tr><td class="paramdir">[in,out]</td><td class="paramname">offset</td><td>The offset into the encoded buffer to start reading the serialized table. It will be updated by this function to end of the table </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>AMQP_STATUS_OK on success, an amqp_status_enum value on failure Possible error codes:<ul>
+<li>AMQP_STATUS_NO_MEMORY out of memory</li>
+<li>AMQP_STATUS_BAD_AMQP_DATA invalid wireformat</li>
+</ul>
+</dd></dl>
+<dl class="section since"><dt>Since</dt><dd>v0.1 </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="aaa845fb9e03f64abb6994b09afc3a808"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void amqp_default_connection_info </td>
+ <td>(</td>
+ <td class="paramtype">struct <a class="el" href="structamqp__connection__info.html">amqp_connection_info</a> *&#160;</td>
+ <td class="paramname"><em>parsed</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Initialze an <a class="el" href="structamqp__connection__info.html" title="Parameters used to connect to the RabbitMQ broker. ">amqp_connection_info</a> to default values. </p>
+<p>The default values are:</p>
+<ul>
+<li>user: "guest"</li>
+<li>password: "guest"</li>
+<li>host: "localhost"</li>
+<li>vhost: "/"</li>
+<li>port: 5672</li>
+</ul>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[out]</td><td class="paramname">parsed</td><td>the connection info to set defaults on</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section since"><dt>Since</dt><dd>v0.2 </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="a8ab1ffd055b26dc63796a7d77934ae79"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int amqp_destroy_connection </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="amqp_8h.html#a59cfdff3bfbf28aba201be5636365fa4">amqp_connection_state_t</a>&#160;</td>
+ <td class="paramname"><em>state</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Destroys an amqp_connection_state_t object. </p>
+<p>Destroys a amqp_connection_state_t object that was created with <a class="el" href="amqp_8h.html#a417eab05355c20aad874909bed780d18" title="Allocate and initialize a new amqp_connection_state_t object. ">amqp_new_connection()</a>. If the connection with the broker is open, it will be implicitly closed with a reply code of 200 (success). Any memory that would be freed with <a class="el" href="amqp_8h.html#aec98dd0b63ae7f4341aac4a14fb974b3" title="Release amqp_connection_state_t owned memory. ">amqp_maybe_release_buffers()</a> or <a class="el" href="amqp_8h.html#a5aadffa6e035ee10739c123fcd9e7520" title="Release amqp_connection_state_t owned memory related to a channel. ">amqp_maybe_release_buffers_on_channel()</a> will be freed, and use of that memory will caused undefined behavior.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">state</td><td>the connection object </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>AMQP_STATUS_OK on success. amqp_status_enum value failure</dd></dl>
+<dl class="section see"><dt>See Also</dt><dd><a class="el" href="amqp_8h.html#a417eab05355c20aad874909bed780d18" title="Allocate and initialize a new amqp_connection_state_t object. ">amqp_new_connection()</a></dd></dl>
+<dl class="section since"><dt>Since</dt><dd>v0.1 </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="a394e5aeadedd4c071adb706e0926d941"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void amqp_destroy_envelope </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="structamqp__envelope__t.html">amqp_envelope_t</a> *&#160;</td>
+ <td class="paramname"><em>envelope</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Frees memory associated with a <a class="el" href="structamqp__envelope__t.html" title="Envelope object. ">amqp_envelope_t</a> allocated in <a class="el" href="amqp_8h.html#a06ce587aeb171c343f00551580d9438a" title="Wait for and consume a message. ">amqp_consume_message()</a> </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">envelope</td><td></td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section since"><dt>Since</dt><dd>v0.4.0 </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ae2da36b1fc752301258a6a837bf1bfe0"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void amqp_destroy_message </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="structamqp__message__t.html">amqp_message_t</a> *&#160;</td>
+ <td class="paramname"><em>message</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Frees memory associated with a <a class="el" href="structamqp__message__t.html" title="A message object. ">amqp_message_t</a> allocated in amqp_read_message. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">message</td><td></td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section since"><dt>Since</dt><dd>v0.4.0 </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="a5a9845569480941609a26c055bfcb24c"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int amqp_encode_table </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="structamqp__bytes__t.html">amqp_bytes_t</a>&#160;</td>
+ <td class="paramname"><em>encoded</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="structamqp__table__t.html">amqp_table_t</a> *&#160;</td>
+ <td class="paramname"><em>input</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">size_t *&#160;</td>
+ <td class="paramname"><em>offset</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Serializes an <a class="el" href="structamqp__table__t.html" title="AMQP field table. ">amqp_table_t</a> to the AMQP wireformat. </p>
+<p>This is an internal function and is not typically used by client applications</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">encoded</td><td>the buffer where to serialize the table to </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">input</td><td>the <a class="el" href="structamqp__table__t.html" title="AMQP field table. ">amqp_table_t</a> to serialize </td></tr>
+ <tr><td class="paramdir">[in,out]</td><td class="paramname">offset</td><td>The offset into the encoded buffer to start writing the serialized table. It will be updated by this function to where writing left off </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>AMQP_STATUS_OK on success, an amqp_status_enum value on failure Possible error codes:<ul>
+<li>AMQP_STATUS_TABLE_TOO_BIG the serialized form is too large for the buffer</li>
+<li>AMQP_STATUS_BAD_AMQP_DATA invalid table</li>
+</ul>
+</dd></dl>
+<dl class="section since"><dt>Since</dt><dd>v0.1 </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="abd1f86b1f76416c9501d44dee5a79d83"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">char* amqp_error_string </td>
+ <td>(</td>
+ <td class="paramtype">int&#160;</td>
+ <td class="paramname"><em>err</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Get the error string for the given error code. </p>
+<dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000008">Deprecated:</a></b></dt><dd>This function has been deprecated in favor of <a class="el" href="amqp_8h.html#a18b8b107b8503705e9e0a27ced095df1">amqp_error_string2()</a> which returns statically allocated string which do not need to be freed by the caller.</dd></dl>
+<p>The returned string resides on the heap; the caller is responsible for freeing it.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">err</td><td>return error code </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>the error string</dd></dl>
+<dl class="section since"><dt>Since</dt><dd>v0.1 </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="a18b8b107b8503705e9e0a27ced095df1"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const char* amqp_error_string2 </td>
+ <td>(</td>
+ <td class="paramtype">int&#160;</td>
+ <td class="paramname"><em>err</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Get the error string for the given error code. </p>
+<p>Get an error string associated with an error code. The string is statically allocated and does not need to be freed</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">err</td><td>the error code </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>the error string</dd></dl>
+<dl class="section since"><dt>Since</dt><dd>v0.4.0 </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ad2921e2be813c1a93425eac496b83241"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="amqp_8h.html#a67852bce88f5784b60b8f873fd4673f2">amqp_boolean_t</a> amqp_frames_enqueued </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="amqp_8h.html#a59cfdff3bfbf28aba201be5636365fa4">amqp_connection_state_t</a>&#160;</td>
+ <td class="paramname"><em>state</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Checks to see if there are any incoming frames ready to be read. </p>
+<p>Checks to see if there are any <a class="el" href="structamqp__frame__t.html" title="An AMQP frame. ">amqp_frame_t</a> objects buffered by the amqp_connection_state_t object. Having one or more frames buffered means that <a class="el" href="amqp_8h.html#a9a186800ece7517245c734d93f18e4a8" title="Read a single amqp_frame_t. ">amqp_simple_wait_frame()</a> or <a class="el" href="amqp_8h.html#a2ad52d60ae5870cc304a39d3a59950ea" title="Read a single amqp_frame_t with a timeout. ">amqp_simple_wait_frame_noblock()</a> will return a frame without potentially blocking on a read() call.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">state</td><td>the connection object </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>TRUE if there are frames enqueued, FALSE otherwise</dd></dl>
+<dl class="section see"><dt>See Also</dt><dd><a class="el" href="amqp_8h.html#a9a186800ece7517245c734d93f18e4a8" title="Read a single amqp_frame_t. ">amqp_simple_wait_frame()</a> <a class="el" href="amqp_8h.html#a2ad52d60ae5870cc304a39d3a59950ea" title="Read a single amqp_frame_t with a timeout. ">amqp_simple_wait_frame_noblock()</a> <a class="el" href="amqp_8h.html#af520e81ecfd783fd23c4044202a373b2" title="Check to see if there is data left in the receive buffer. ">amqp_data_in_buffer()</a></dd></dl>
+<dl class="section since"><dt>Since</dt><dd>v0.1 </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="a9ef333f417b4089a298f46338f04f343"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int amqp_get_channel_max </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="amqp_8h.html#a59cfdff3bfbf28aba201be5636365fa4">amqp_connection_state_t</a>&#160;</td>
+ <td class="paramname"><em>state</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Get the maximum number of channels the connection can handle. </p>
+<p>The maximum number of channels is set when connection negotiation takes place in <a class="el" href="amqp_8h.html#a64cd6986f1dd7e0d475000ca5f1e16c2" title="Login to the broker. ">amqp_login()</a> or <a class="el" href="amqp_8h.html#a086cb1d07e0a6b4f25153fcc433ff154" title="Login to the broker passing a properties table. ">amqp_login_with_properties()</a>.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">state</td><td>the connection object </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>the maximum number of channels. 0 if there is no limit</dd></dl>
+<dl class="section since"><dt>Since</dt><dd>v0.1 </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="a0ff4147168f097a8a1410b6d93bad3cf"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="structamqp__table__t.html">amqp_table_t</a>* amqp_get_client_properties </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="amqp_8h.html#a59cfdff3bfbf28aba201be5636365fa4">amqp_connection_state_t</a>&#160;</td>
+ <td class="paramname"><em>state</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Get the client properties table. </p>
+<p>Get the properties that were passed to the broker on connection.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">state</td><td>the connection object </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>a pointer to an <a class="el" href="structamqp__table__t.html" title="AMQP field table. ">amqp_table_t</a> containing the properties advertised by the client on connection. The connection object owns the table, it should not be modified.</dd></dl>
+<dl class="section since"><dt>Since</dt><dd>v0.7.0 </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ab89929e27aa163f37b0a0b4f50cced0f"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int amqp_get_frame_max </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="amqp_8h.html#a59cfdff3bfbf28aba201be5636365fa4">amqp_connection_state_t</a>&#160;</td>
+ <td class="paramname"><em>state</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Get the maximum size of an frame the connection can handle. </p>
+<p>The maximum size of an frame is set when connection negotiation takes place in <a class="el" href="amqp_8h.html#a64cd6986f1dd7e0d475000ca5f1e16c2" title="Login to the broker. ">amqp_login()</a> or <a class="el" href="amqp_8h.html#a086cb1d07e0a6b4f25153fcc433ff154" title="Login to the broker passing a properties table. ">amqp_login_with_properties()</a>.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">state</td><td>the connection object </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>the maximum size of an frame.</dd></dl>
+<dl class="section since"><dt>Since</dt><dd>v0.6 </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="a69007c96bc968e4ff52df412ce6eeea4"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int amqp_get_heartbeat </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="amqp_8h.html#a59cfdff3bfbf28aba201be5636365fa4">amqp_connection_state_t</a>&#160;</td>
+ <td class="paramname"><em>state</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Get the number of seconds between heartbeats of the connection. </p>
+<p>The number of seconds between heartbeats is set when connection negotiation takes place in <a class="el" href="amqp_8h.html#a64cd6986f1dd7e0d475000ca5f1e16c2" title="Login to the broker. ">amqp_login()</a> or <a class="el" href="amqp_8h.html#a086cb1d07e0a6b4f25153fcc433ff154" title="Login to the broker passing a properties table. ">amqp_login_with_properties()</a>.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">state</td><td>the connection object </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>the number of seconds between heartbeats.</dd></dl>
+<dl class="section since"><dt>Since</dt><dd>v0.6 </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="af99157fd26e43b3dd6acbb52e0fcf773"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="structamqp__rpc__reply__t.html">amqp_rpc_reply_t</a> amqp_get_rpc_reply </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="amqp_8h.html#a59cfdff3bfbf28aba201be5636365fa4">amqp_connection_state_t</a>&#160;</td>
+ <td class="paramname"><em>state</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Get the last global amqp_rpc_reply. </p>
+<p>The API methods corresponding to most synchronous AMQP methods return a pointer to the decoded method result. Upon error, they return NULL, and we need some way of discovering what, if anything, went wrong. <a class="el" href="amqp_8h.html#af99157fd26e43b3dd6acbb52e0fcf773" title="Get the last global amqp_rpc_reply. ">amqp_get_rpc_reply()</a> returns the most recent <a class="el" href="structamqp__rpc__reply__t.html" title="Reply from a RPC method on the broker. ">amqp_rpc_reply_t</a> instance corresponding to such an API operation for the given connection.</p>
+<p>Only use it for operations that do not themselves return <a class="el" href="structamqp__rpc__reply__t.html" title="Reply from a RPC method on the broker. ">amqp_rpc_reply_t</a>; operations that do return <a class="el" href="structamqp__rpc__reply__t.html" title="Reply from a RPC method on the broker. ">amqp_rpc_reply_t</a> generally do NOT update this per-connection-global <a class="el" href="structamqp__rpc__reply__t.html" title="Reply from a RPC method on the broker. ">amqp_rpc_reply_t</a> instance.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">state</td><td>the connection object </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>the most recent <a class="el" href="structamqp__rpc__reply__t.html" title="Reply from a RPC method on the broker. ">amqp_rpc_reply_t</a>:<ul>
+<li>r.reply_type == AMQP_RESPONSE_NORMAL. RPC completed successfully</li>
+<li>r.reply_type == AMQP_RESPONSE_SERVER_EXCEPTION. The broker returned an exception:<ul>
+<li>If r.reply.id == AMQP_CHANNEL_CLOSE_METHOD a channel exception occurred, cast r.reply.decoded to amqp_channel_close_t* to see details of the exception. The client should <a class="el" href="amqp_8h.html#a4759bcfc517d83bc2fd287a8daf891a4" title="Sends a method to the broker. ">amqp_send_method()</a> a <a class="el" href="structamqp__channel__close__ok__t.html" title="channel.close-ok method fields ">amqp_channel_close_ok_t</a>. The channel must be re-opened before it can be used again. Any resources associated with the channel (auto-delete exchanges, auto-delete queues, consumers) are invalid and must be recreated before attempting to use them again.</li>
+<li>If r.reply.id == AMQP_CONNECTION_CLOSE_METHOD a connection exception occurred, cast r.reply.decoded to amqp_connection_close_t* to see details of the exception. The client <a class="el" href="amqp_8h.html#a4759bcfc517d83bc2fd287a8daf891a4" title="Sends a method to the broker. ">amqp_send_method()</a> a <a class="el" href="structamqp__connection__close__ok__t.html" title="connection.close-ok method fields ">amqp_connection_close_ok_t</a> and disconnect from the broker.</li>
+</ul>
+</li>
+<li>r.reply_type == AMQP_RESPONSE_LIBRARY_EXCEPTION. An exception occurred within the library. Examine r.library_error and compare it against amqp_status_enum values to determine the error.</li>
+</ul>
+</dd></dl>
+<dl class="section see"><dt>See Also</dt><dd><a class="el" href="amqp_8h.html#a0fe6ee504643f3609e8e048dc70f6b40" title="Sends a method to the broker and waits for a method response. ">amqp_simple_rpc_decoded()</a></dd></dl>
+<dl class="section since"><dt>Since</dt><dd>v0.1 </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="a7f193ceabf31fa21123808994333b915"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="structamqp__table__t.html">amqp_table_t</a>* amqp_get_server_properties </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="amqp_8h.html#a59cfdff3bfbf28aba201be5636365fa4">amqp_connection_state_t</a>&#160;</td>
+ <td class="paramname"><em>state</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Get the broker properties table. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">state</td><td>the connection object </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>a pointer to an <a class="el" href="structamqp__table__t.html" title="AMQP field table. ">amqp_table_t</a> containing the properties advertised by the broker on connection. The connection object owns the table, it should not be modified.</dd></dl>
+<dl class="section since"><dt>Since</dt><dd>v0.5.0 </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="a3b278d46595f88213c486772d969ae1a"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">amqp_socket_t* amqp_get_socket </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="amqp_8h.html#a59cfdff3bfbf28aba201be5636365fa4">amqp_connection_state_t</a>&#160;</td>
+ <td class="paramname"><em>state</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Get the socket object associated with a amqp_connection_state_t. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">state</td><td>the connection object to get the socket from </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>a pointer to the socket object, or NULL if one has not been assigned</dd></dl>
+<dl class="section since"><dt>Since</dt><dd>v0.4.0 </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="a9c0f008ed49a17232f4dc966799d217e"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int amqp_get_sockfd </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="amqp_8h.html#a59cfdff3bfbf28aba201be5636365fa4">amqp_connection_state_t</a>&#160;</td>
+ <td class="paramname"><em>state</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Get the underlying socket descriptor for the connection. </p>
+<dl class="section warning"><dt>Warning</dt><dd>Use the socket returned from this function carefully, incorrect use of the socket outside of the library will lead to undefined behavior. Additionally rabbitmq-c may use the socket differently version-to-version, what may work in one version, may break in the next version. Be sure to throughly test any applications that use the socket returned by this function especially when using a newer version of rabbitmq-c</dd></dl>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">state</td><td>the connection object </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>the socket descriptor if one has been set, -1 otherwise</dd></dl>
+<dl class="section see"><dt>See Also</dt><dd><a class="el" href="amqp__tcp__socket_8h.html#a3276c8bfa7b263aa3c755517b4b97ac8" title="A TCP socket connection. ">amqp_tcp_socket_new()</a>, <a class="el" href="amqp__ssl__socket_8h.html#a18ba2a9523640d277addd7d42f3a4ddd" title="Create a new SSL/TLS socket object. ">amqp_ssl_socket_new()</a>, <a class="el" href="amqp_8h.html#aaa1a4f870da40120d8c544822bf63f51" title="Open a socket connection. ">amqp_socket_open()</a></dd></dl>
+<dl class="section since"><dt>Since</dt><dd>v0.1 </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="a3f7a429c164b6ca3f497340f4ed69e53"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int amqp_handle_input </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="amqp_8h.html#a59cfdff3bfbf28aba201be5636365fa4">amqp_connection_state_t</a>&#160;</td>
+ <td class="paramname"><em>state</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="structamqp__bytes__t.html">amqp_bytes_t</a>&#160;</td>
+ <td class="paramname"><em>received_data</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="structamqp__frame__t.html">amqp_frame_t</a> *&#160;</td>
+ <td class="paramname"><em>decoded_frame</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Process incoming data. </p>
+<dl class="section warning"><dt>Warning</dt><dd>This is a low-level function intended for those who want to have greater control over input and output over the socket from the broker. Correctly using this function requires in-depth knowledge of AMQP and rabbitmq-c.</dd></dl>
+<p>For a given buffer of data received from the broker, decode the first frame in the buffer. If more than one frame is contained in the input buffer the return value will be less than the received_data size, the caller should adjust received_data buffer descriptor to point to the beginning of the buffer + the return value.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">state</td><td>the connection object </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">received_data</td><td>a buffer of data received from the broker. The function will return the number of bytes of the buffer it used. The function copies these bytes to an internal buffer: this part of the buffer may be reused after this function successfully completes. </td></tr>
+ <tr><td class="paramdir">[in,out]</td><td class="paramname">decoded_frame</td><td>caller should pass in a pointer to an <a class="el" href="structamqp__frame__t.html" title="An AMQP frame. ">amqp_frame_t</a> struct. If there is enough data in received_data for a complete frame, decoded_frame-&gt;frame_type will be set to something OTHER than 0. decoded_frame may contain members pointing to memory owned by the state object. This memory can be recycled with <a class="el" href="amqp_8h.html#aec98dd0b63ae7f4341aac4a14fb974b3" title="Release amqp_connection_state_t owned memory. ">amqp_maybe_release_buffers()</a> or <a class="el" href="amqp_8h.html#a5aadffa6e035ee10739c123fcd9e7520" title="Release amqp_connection_state_t owned memory related to a channel. ">amqp_maybe_release_buffers_on_channel()</a> </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>number of bytes consumed from received_data or 0 if a 0-length buffer was passed. A negative return value indicates failure. Possible errors:<ul>
+<li>AMQP_STATUS_NO_MEMORY failure in allocating memory. The library is likely in an indeterminate state making recovery unlikely. Client should note the error and terminate the application</li>
+<li>AMQP_STATUS_BAD_AMQP_DATA bad AMQP data was received. The connection should be shutdown immediately</li>
+<li>AMQP_STATUS_UNKNOWN_METHOD: an unknown method was received from the broker. This is likely a protocol error and the connection should be shutdown immediately</li>
+<li>AMQP_STATUS_UNKNOWN_CLASS: a properties frame with an unknown class was received from the broker. This is likely a protocol error and the connection should be shutdown immediately</li>
+</ul>
+</dd></dl>
+<dl class="section since"><dt>Since</dt><dd>v0.1 </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="a64cd6986f1dd7e0d475000ca5f1e16c2"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="structamqp__rpc__reply__t.html">amqp_rpc_reply_t</a> amqp_login </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="amqp_8h.html#a59cfdff3bfbf28aba201be5636365fa4">amqp_connection_state_t</a>&#160;</td>
+ <td class="paramname"><em>state</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">char const *&#160;</td>
+ <td class="paramname"><em>vhost</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int&#160;</td>
+ <td class="paramname"><em>channel_max</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int&#160;</td>
+ <td class="paramname"><em>frame_max</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int&#160;</td>
+ <td class="paramname"><em>heartbeat</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="amqp_8h.html#a965d220021ff4268303cdf26b6023164">amqp_sasl_method_enum</a>&#160;</td>
+ <td class="paramname"><em>sasl_method</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>...</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Login to the broker. </p>
+<p>After using amqp_open_socket and amqp_set_sockfd, call amqp_login to complete connecting to the broker</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">state</td><td>the connection object </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">vhost</td><td>the virtual host to connect to on the broker. The default on most brokers is "/" </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">channel_max</td><td>the limit for number of channels for the connection. 0 means no limit, and is a good default (AMQP_DEFAULT_MAX_CHANNELS) Note that the maximum number of channels the protocol supports is 65535 (2^16, with the 0-channel reserved). The server can set a lower channel_max and then the client will use the lowest of the two </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">frame_max</td><td>the maximum size of an AMQP frame on the wire to request of the broker for this connection. 4096 is the minimum size, 2^31-1 is the maximum, a good default is 131072 (128KB), or AMQP_DEFAULT_FRAME_SIZE </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">heartbeat</td><td>the number of seconds between heartbeat frames to request of the broker. A value of 0 disables heartbeats. Note rabbitmq-c only has partial support for heartbeats, as of v0.4.0 they are only serviced during <a class="el" href="amqp_8h.html#a9cada07768aa46297acdd701f96d0d7f" title="Publish a message to the broker. ">amqp_basic_publish()</a> and <a class="el" href="amqp_8h.html#a9a186800ece7517245c734d93f18e4a8" title="Read a single amqp_frame_t. ">amqp_simple_wait_frame()</a>/amqp_simple_wait_frame_noblock() </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">sasl_method</td><td>the SASL method to authenticate with the broker. followed by the authentication information. For AMQP_SASL_METHOD_PLAIN, the AMQP_SASL_METHOD_PLAIN should be followed by two arguments in this order: const char* username, and const char* password. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd><a class="el" href="structamqp__rpc__reply__t.html" title="Reply from a RPC method on the broker. ">amqp_rpc_reply_t</a> indicating success or failure.<ul>
+<li>r.reply_type == AMQP_RESPONSE_NORMAL. Login completed successfully</li>
+<li>r.reply_type == AMQP_RESPONSE_LIBRARY_EXCEPTION. In most cases errors from the broker when logging in will be represented by the broker closing the socket. In this case r.library_error will be set to AMQP_STATUS_CONNECTION_CLOSED. This error can represent a number of error conditions including: invalid vhost, authentication failure.</li>
+<li>r.reply_type == AMQP_RESPONSE_SERVER_EXCEPTION. The broker returned an exception:<ul>
+<li>If r.reply.id == AMQP_CHANNEL_CLOSE_METHOD a channel exception occurred, cast r.reply.decoded to amqp_channel_close_t* to see details of the exception. The client should <a class="el" href="amqp_8h.html#a4759bcfc517d83bc2fd287a8daf891a4" title="Sends a method to the broker. ">amqp_send_method()</a> a <a class="el" href="structamqp__channel__close__ok__t.html" title="channel.close-ok method fields ">amqp_channel_close_ok_t</a>. The channel must be re-opened before it can be used again. Any resources associated with the channel (auto-delete exchanges, auto-delete queues, consumers) are invalid and must be recreated before attempting to use them again.</li>
+<li>If r.reply.id == AMQP_CONNECTION_CLOSE_METHOD a connection exception occurred, cast r.reply.decoded to amqp_connection_close_t* to see details of the exception. The client <a class="el" href="amqp_8h.html#a4759bcfc517d83bc2fd287a8daf891a4" title="Sends a method to the broker. ">amqp_send_method()</a> a <a class="el" href="structamqp__connection__close__ok__t.html" title="connection.close-ok method fields ">amqp_connection_close_ok_t</a> and disconnect from the broker.</li>
+</ul>
+</li>
+</ul>
+</dd></dl>
+<dl class="section since"><dt>Since</dt><dd>v0.1 </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="a086cb1d07e0a6b4f25153fcc433ff154"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="structamqp__rpc__reply__t.html">amqp_rpc_reply_t</a> amqp_login_with_properties </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="amqp_8h.html#a59cfdff3bfbf28aba201be5636365fa4">amqp_connection_state_t</a>&#160;</td>
+ <td class="paramname"><em>state</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">char const *&#160;</td>
+ <td class="paramname"><em>vhost</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int&#160;</td>
+ <td class="paramname"><em>channel_max</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int&#160;</td>
+ <td class="paramname"><em>frame_max</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int&#160;</td>
+ <td class="paramname"><em>heartbeat</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const <a class="el" href="structamqp__table__t.html">amqp_table_t</a> *&#160;</td>
+ <td class="paramname"><em>properties</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="amqp_8h.html#a965d220021ff4268303cdf26b6023164">amqp_sasl_method_enum</a>&#160;</td>
+ <td class="paramname"><em>sasl_method</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>...</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Login to the broker passing a properties table. </p>
+<p>This function is similar to <a class="el" href="amqp_8h.html#a64cd6986f1dd7e0d475000ca5f1e16c2" title="Login to the broker. ">amqp_login()</a> and differs in that it provides a way to pass client properties to the broker. This is commonly used to negotiate newer protocol features as they are supported by the broker.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">state</td><td>the connection object </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">vhost</td><td>the virtual host to connect to on the broker. The default on most brokers is "/" </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">channel_max</td><td>the limit for the number of channels for the connection. 0 means no limit, and is a good default (AMQP_DEFAULT_MAX_CHANNELS) Note that the maximum number of channels the protocol supports is 65535 (2^16, with the 0-channel reserved). The server can set a lower channel_max and then the client will use the lowest of the two </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">frame_max</td><td>the maximum size of an AMQP frame ont he wire to request of the broker for this connection. 4096 is the minimum size, 2^31-1 is the maximum, a good default is 131072 (128KB), or AMQP_DEFAULT_FRAME_SIZE </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">heartbeat</td><td>the number of seconds between heartbeat frame to request of the broker. A value of 0 disables heartbeats. Note rabbitmq-c only has partial support for hearts, as of v0.4.0 heartbeats are only serviced during <a class="el" href="amqp_8h.html#a9cada07768aa46297acdd701f96d0d7f" title="Publish a message to the broker. ">amqp_basic_publish()</a>, and <a class="el" href="amqp_8h.html#a9a186800ece7517245c734d93f18e4a8" title="Read a single amqp_frame_t. ">amqp_simple_wait_frame()</a>/amqp_simple_wait_frame_noblock() </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">properties</td><td>a table of properties to send the broker. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">sasl_method</td><td>the SASL method to authenticate with the broker followed by the authentication information. For AMQP_SASL_METHOD_PLAN, the AMQP_SASL_METHOD_PLAIN parameter should be followed by two arguments in this order: const char* username, and const char* password. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd><a class="el" href="structamqp__rpc__reply__t.html" title="Reply from a RPC method on the broker. ">amqp_rpc_reply_t</a> indicating success or failure.<ul>
+<li>r.reply_type == AMQP_RESPONSE_NORMAL. Login completed successfully</li>
+<li>r.reply_type == AMQP_RESPONSE_LIBRARY_EXCEPTION. In most cases errors from the broker when logging in will be represented by the broker closing the socket. In this case r.library_error will be set to AMQP_STATUS_CONNECTION_CLOSED. This error can represent a number of error conditions including: invalid vhost, authentication failure.</li>
+<li>r.reply_type == AMQP_RESPONSE_SERVER_EXCEPTION. The broker returned an exception:<ul>
+<li>If r.reply.id == AMQP_CHANNEL_CLOSE_METHOD a channel exception occurred, cast r.reply.decoded to amqp_channel_close_t* to see details of the exception. The client should <a class="el" href="amqp_8h.html#a4759bcfc517d83bc2fd287a8daf891a4" title="Sends a method to the broker. ">amqp_send_method()</a> a <a class="el" href="structamqp__channel__close__ok__t.html" title="channel.close-ok method fields ">amqp_channel_close_ok_t</a>. The channel must be re-opened before it can be used again. Any resources associated with the channel (auto-delete exchanges, auto-delete queues, consumers) are invalid and must be recreated before attempting to use them again.</li>
+<li>If r.reply.id == AMQP_CONNECTION_CLOSE_METHOD a connection exception occurred, cast r.reply.decoded to amqp_connection_close_t* to see details of the exception. The client <a class="el" href="amqp_8h.html#a4759bcfc517d83bc2fd287a8daf891a4" title="Sends a method to the broker. ">amqp_send_method()</a> a <a class="el" href="structamqp__connection__close__ok__t.html" title="connection.close-ok method fields ">amqp_connection_close_ok_t</a> and disconnect from the broker.</li>
+</ul>
+</li>
+</ul>
+</dd></dl>
+<dl class="section since"><dt>Since</dt><dd>v0.4.0 </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="aec98dd0b63ae7f4341aac4a14fb974b3"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void amqp_maybe_release_buffers </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="amqp_8h.html#a59cfdff3bfbf28aba201be5636365fa4">amqp_connection_state_t</a>&#160;</td>
+ <td class="paramname"><em>state</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Release amqp_connection_state_t owned memory. </p>
+<p>Release memory owned by the amqp_connection_state_t object related to any channel, allowing reuse by the library. Use of any memory returned by the library before this function is called with result in undefined behavior.</p>
+<dl class="section note"><dt>Note</dt><dd>internally rabbitmq-c tries to reuse memory when possible. As a result its possible calling this function may not have a noticeable effect on memory usage.</dd></dl>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">state</td><td>the connection object</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section see"><dt>See Also</dt><dd><a class="el" href="amqp_8h.html#a5aadffa6e035ee10739c123fcd9e7520" title="Release amqp_connection_state_t owned memory related to a channel. ">amqp_maybe_release_buffers_on_channel()</a></dd></dl>
+<dl class="section since"><dt>Since</dt><dd>v0.1 </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="a5aadffa6e035ee10739c123fcd9e7520"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void amqp_maybe_release_buffers_on_channel </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="amqp_8h.html#a59cfdff3bfbf28aba201be5636365fa4">amqp_connection_state_t</a>&#160;</td>
+ <td class="paramname"><em>state</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="amqp_8h.html#a2905d3cff4f5b3e0a300c3d424181518">amqp_channel_t</a>&#160;</td>
+ <td class="paramname"><em>channel</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Release amqp_connection_state_t owned memory related to a channel. </p>
+<p>Release memory owned by the amqp_connection_state_t object related to the specified channel, allowing reuse by the library. Use of any memory returned the library for a specific channel will result in undefined behavior.</p>
+<dl class="section note"><dt>Note</dt><dd>internally rabbitmq-c tries to reuse memory when possible. As a result its possible calling this function may not have a noticeable effect on memory usage.</dd></dl>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">state</td><td>the connection object </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">channel</td><td>the channel specifier for which memory should be released. Note that the library does not care about the state of the channel when calling this function</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section see"><dt>See Also</dt><dd><a class="el" href="amqp_8h.html#aec98dd0b63ae7f4341aac4a14fb974b3" title="Release amqp_connection_state_t owned memory. ">amqp_maybe_release_buffers()</a></dd></dl>
+<dl class="section since"><dt>Since</dt><dd>v0.4.0 </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="a417eab05355c20aad874909bed780d18"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="amqp_8h.html#a59cfdff3bfbf28aba201be5636365fa4">amqp_connection_state_t</a> amqp_new_connection </td>
+ <td>(</td>
+ <td class="paramtype">void&#160;</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Allocate and initialize a new amqp_connection_state_t object. </p>
+<p>amqp_connection_state_t objects created with this function should be freed with <a class="el" href="amqp_8h.html#a8ab1ffd055b26dc63796a7d77934ae79" title="Destroys an amqp_connection_state_t object. ">amqp_destroy_connection()</a></p>
+<dl class="section return"><dt>Returns</dt><dd>an opaque pointer on success, NULL or 0 on failure.</dd></dl>
+<dl class="section see"><dt>See Also</dt><dd><a class="el" href="amqp_8h.html#a8ab1ffd055b26dc63796a7d77934ae79" title="Destroys an amqp_connection_state_t object. ">amqp_destroy_connection()</a></dd></dl>
+<dl class="section since"><dt>Since</dt><dd>v0.1 </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="a019214cc135f14a88ce4ed37976d5e40"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int amqp_open_socket </td>
+ <td>(</td>
+ <td class="paramtype">char const *&#160;</td>
+ <td class="paramname"><em>hostname</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int&#160;</td>
+ <td class="paramname"><em>portnumber</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Open a socket to a remote host. </p>
+<dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000007">Deprecated:</a></b></dt><dd>This function is deprecated in favor of <a class="el" href="amqp_8h.html#aaa1a4f870da40120d8c544822bf63f51" title="Open a socket connection. ">amqp_socket_open()</a></dd></dl>
+<p>Looks up the hostname, then attempts to open a socket to the host using the specified portnumber. It also sets various options on the socket to improve performance and correctness.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">hostname</td><td>this can be a hostname or IP address. Both IPv4 and IPv6 are acceptable </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">portnumber</td><td>the port to connect on. RabbitMQ brokers listen on port 5672, and 5671 for SSL </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>a positive value indicates success and is the sockfd. A negative value (see amqp_status_enum)is returned on failure. Possible error codes:<ul>
+<li>AMQP_STATUS_TCP_SOCKETLIB_INIT_ERROR Initialization of underlying socket library failed.</li>
+<li>AMQP_STATUS_HOSTNAME_RESOLUTION_FAILED hostname lookup failed.</li>
+<li>AMQP_STATUS_SOCKET_ERROR a socket error occurred. errno or WSAGetLastError() may return more useful information.</li>
+</ul>
+</dd></dl>
+<dl class="section note"><dt>Note</dt><dd>IPv6 support was added in v0.3</dd></dl>
+<dl class="section see"><dt>See Also</dt><dd><a class="el" href="amqp_8h.html#aaa1a4f870da40120d8c544822bf63f51" title="Open a socket connection. ">amqp_socket_open()</a> <a class="el" href="amqp_8h.html#a8a7e4aafb58d67658cac626398b5522a" title="Deprecated, use amqp_tcp_socket_new() or amqp_ssl_socket_new() ">amqp_set_sockfd()</a></dd></dl>
+<dl class="section since"><dt>Since</dt><dd>v0.1 </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="a1461160388694d0c39655a8ae5f992ca"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int amqp_parse_url </td>
+ <td>(</td>
+ <td class="paramtype">char *&#160;</td>
+ <td class="paramname"><em>url</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">struct <a class="el" href="structamqp__connection__info.html">amqp_connection_info</a> *&#160;</td>
+ <td class="paramname"><em>parsed</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Parse a connection URL. </p>
+<p>An amqp connection url takes the form:</p>
+<p>amqp://[$USERNAME[:$PASSWORD]@]$HOST[:$PORT]/[$VHOST]</p>
+<p>Examples: amqp://guest:guest@localhost:5672// amqp://guest:guest@localhost/myvhost</p>
+<p>Any missing parts of the URL will be set to the defaults specified in amqp_default_connection_info. For amqps: URLs the default port will be set to 5671 instead of 5672 for non-SSL URLs.</p>
+<dl class="section note"><dt>Note</dt><dd>This function modifies url parameter.</dd></dl>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">url</td><td>URI to parse, note that this parameter is modified by the function. </td></tr>
+ <tr><td class="paramdir">[out]</td><td class="paramname">parsed</td><td>the connection info gleaned from the URI. The char* members will point to parts of the url input parameter. Memory management will depend on how the url is allocated. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>AMQP_STATUS_OK on success, AMQP_STATUS_BAD_URL on failure</dd></dl>
+<dl class="section since"><dt>Since</dt><dd>v0.2 </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ae1db5f167dc2160170d152445b545ad7"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void* amqp_pool_alloc </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="structamqp__pool__t.html">amqp_pool_t</a> *&#160;</td>
+ <td class="paramname"><em>pool</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">size_t&#160;</td>
+ <td class="paramname"><em>amount</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Allocates a block of memory from an <a class="el" href="structamqp__pool__t.html" title="A memory pool. ">amqp_pool_t</a> memory pool. </p>
+<p>Memory will be aligned on a 8-byte boundary. If a 0-length allocation is requested, a NULL pointer will be returned.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">pool</td><td>the allocation pool to allocate the memory from </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">amount</td><td>the size of the allocation in bytes. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>a pointer to the memory block, or NULL if the allocation cannot be satisfied.</dd></dl>
+<dl class="section see"><dt>See Also</dt><dd><a class="el" href="amqp_8h.html#aa9b34b16c2c98fabd89ff02960c8a6d2" title="Initializes an amqp_pool_t memory allocation pool for use. ">init_amqp_pool()</a>, <a class="el" href="amqp_8h.html#a67180b9471b3a95bce6daa29241b1bf0" title="Recycles an amqp_pool_t memory allocation pool. ">recycle_amqp_pool()</a>, <a class="el" href="amqp_8h.html#a0076d042d427236b65c3869a9e8e03d3" title="Empties an amqp memory pool. ">empty_amqp_pool()</a>, <a class="el" href="amqp_8h.html#abadf86deb86f0afd292d752496cacbdc" title="Allocates a block of memory from an amqp_pool_t to an amqp_bytes_t. ">amqp_pool_alloc_bytes()</a></dd></dl>
+<dl class="section since"><dt>Since</dt><dd>v0.1 </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="abadf86deb86f0afd292d752496cacbdc"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void amqp_pool_alloc_bytes </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="structamqp__pool__t.html">amqp_pool_t</a> *&#160;</td>
+ <td class="paramname"><em>pool</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">size_t&#160;</td>
+ <td class="paramname"><em>amount</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="structamqp__bytes__t.html">amqp_bytes_t</a> *&#160;</td>
+ <td class="paramname"><em>output</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Allocates a block of memory from an <a class="el" href="structamqp__pool__t.html" title="A memory pool. ">amqp_pool_t</a> to an <a class="el" href="structamqp__bytes__t.html" title="Buffer descriptor. ">amqp_bytes_t</a>. </p>
+<p>Memory will be aligned on a 8-byte boundary. If a 0-length allocation is requested, output.bytes = NULL.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">pool</td><td>the allocation pool to allocate the memory from </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">amount</td><td>the size of the allocation in bytes </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">output</td><td>the location to store the pointer. On success output.bytes will be set to the beginning of the buffer output.len will be set to amount On error output.bytes will be set to NULL and output.len set to 0</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section see"><dt>See Also</dt><dd><a class="el" href="amqp_8h.html#aa9b34b16c2c98fabd89ff02960c8a6d2" title="Initializes an amqp_pool_t memory allocation pool for use. ">init_amqp_pool()</a>, <a class="el" href="amqp_8h.html#a67180b9471b3a95bce6daa29241b1bf0" title="Recycles an amqp_pool_t memory allocation pool. ">recycle_amqp_pool()</a>, <a class="el" href="amqp_8h.html#a0076d042d427236b65c3869a9e8e03d3" title="Empties an amqp memory pool. ">empty_amqp_pool()</a>, <a class="el" href="amqp_8h.html#ae1db5f167dc2160170d152445b545ad7" title="Allocates a block of memory from an amqp_pool_t memory pool. ">amqp_pool_alloc()</a></dd></dl>
+<dl class="section since"><dt>Since</dt><dd>v0.1 </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="a336c9d0bf9ac04d76435b7335294f08f"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="structamqp__rpc__reply__t.html">amqp_rpc_reply_t</a> amqp_read_message </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="amqp_8h.html#a59cfdff3bfbf28aba201be5636365fa4">amqp_connection_state_t</a>&#160;</td>
+ <td class="paramname"><em>state</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="amqp_8h.html#a2905d3cff4f5b3e0a300c3d424181518">amqp_channel_t</a>&#160;</td>
+ <td class="paramname"><em>channel</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="structamqp__message__t.html">amqp_message_t</a> *&#160;</td>
+ <td class="paramname"><em>message</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int&#160;</td>
+ <td class="paramname"><em>flags</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Reads the next message on a channel. </p>
+<p>Reads a complete message (header + body) on a specified channel. This function is intended to be used with <a class="el" href="amqp_8h.html#aa75aaa41b4776cd00c56ced0aaa9a7d7" title="Do a basic.get. ">amqp_basic_get()</a> or when an AMQP_BASIC_DELIVERY_METHOD method is received.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in,out]</td><td class="paramname">state</td><td>the connection object </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">channel</td><td>the channel on which to read the message from </td></tr>
+ <tr><td class="paramdir">[in,out]</td><td class="paramname">message</td><td>a pointer to a <a class="el" href="structamqp__message__t.html" title="A message object. ">amqp_message_t</a> object. Caller should call amqp_message_destroy() when it is done using the fields in the message object. The caller is responsible for allocating/destroying the <a class="el" href="structamqp__message__t.html" title="A message object. ">amqp_message_t</a> object itself. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">flags</td><td>pass in 0. Currently unused. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>a <a class="el" href="structamqp__rpc__reply__t.html" title="Reply from a RPC method on the broker. ">amqp_rpc_reply_t</a> object. ret.reply_type == AMQP_RESPONSE_NORMAL on success.</dd></dl>
+<dl class="section since"><dt>Since</dt><dd>v0.4.0 </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="a63003a34cb864171d091192a12dcef8d"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void amqp_release_buffers </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="amqp_8h.html#a59cfdff3bfbf28aba201be5636365fa4">amqp_connection_state_t</a>&#160;</td>
+ <td class="paramname"><em>state</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Release amqp_connection_state_t owned memory. </p>
+<dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000006">Deprecated:</a></b></dt><dd>This function is deprecated in favor of <a class="el" href="amqp_8h.html#aec98dd0b63ae7f4341aac4a14fb974b3" title="Release amqp_connection_state_t owned memory. ">amqp_maybe_release_buffers()</a> or <a class="el" href="amqp_8h.html#a5aadffa6e035ee10739c123fcd9e7520" title="Release amqp_connection_state_t owned memory related to a channel. ">amqp_maybe_release_buffers_on_channel()</a></dd></dl>
+<dl class="section warning"><dt>Warning</dt><dd>caller should ensure <a class="el" href="amqp_8h.html#a82ee9ad6aa3abb6c530507bb272fd426" title="Check to see if connection memory can be released. ">amqp_release_buffers_ok()</a> returns true before calling this function. Failure to do so may result in abort() being called.</dd></dl>
+<p>Release memory owned by the amqp_connection_state_t for reuse by the library. Use of any memory returned by the library before this function is called will result in undefined behavior.</p>
+<dl class="section note"><dt>Note</dt><dd>internally rabbitmq-c tries to reuse memory when possible. As a result its possible calling this function may not have a noticeable effect on memory usage.</dd></dl>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">state</td><td>the connection object</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section see"><dt>See Also</dt><dd><a class="el" href="amqp_8h.html#a82ee9ad6aa3abb6c530507bb272fd426" title="Check to see if connection memory can be released. ">amqp_release_buffers_ok()</a> <a class="el" href="amqp_8h.html#aec98dd0b63ae7f4341aac4a14fb974b3" title="Release amqp_connection_state_t owned memory. ">amqp_maybe_release_buffers()</a> <a class="el" href="amqp_8h.html#a5aadffa6e035ee10739c123fcd9e7520" title="Release amqp_connection_state_t owned memory related to a channel. ">amqp_maybe_release_buffers_on_channel()</a></dd></dl>
+<dl class="section since"><dt>Since</dt><dd>v0.1 </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="a82ee9ad6aa3abb6c530507bb272fd426"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="amqp_8h.html#a67852bce88f5784b60b8f873fd4673f2">amqp_boolean_t</a> amqp_release_buffers_ok </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="amqp_8h.html#a59cfdff3bfbf28aba201be5636365fa4">amqp_connection_state_t</a>&#160;</td>
+ <td class="paramname"><em>state</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Check to see if connection memory can be released. </p>
+<dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000005">Deprecated:</a></b></dt><dd>This function is deprecated in favor of <a class="el" href="amqp_8h.html#aec98dd0b63ae7f4341aac4a14fb974b3" title="Release amqp_connection_state_t owned memory. ">amqp_maybe_release_buffers()</a> or <a class="el" href="amqp_8h.html#a5aadffa6e035ee10739c123fcd9e7520" title="Release amqp_connection_state_t owned memory related to a channel. ">amqp_maybe_release_buffers_on_channel()</a></dd></dl>
+<p>Checks the state of an amqp_connection_state_t object to see if <a class="el" href="amqp_8h.html#a63003a34cb864171d091192a12dcef8d" title="Release amqp_connection_state_t owned memory. ">amqp_release_buffers()</a> can be called successfully.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">state</td><td>the connection object </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>TRUE if the buffers can be released FALSE otherwise</dd></dl>
+<dl class="section see"><dt>See Also</dt><dd><a class="el" href="amqp_8h.html#a63003a34cb864171d091192a12dcef8d" title="Release amqp_connection_state_t owned memory. ">amqp_release_buffers()</a> <a class="el" href="amqp_8h.html#aec98dd0b63ae7f4341aac4a14fb974b3" title="Release amqp_connection_state_t owned memory. ">amqp_maybe_release_buffers()</a> <a class="el" href="amqp_8h.html#a5aadffa6e035ee10739c123fcd9e7520" title="Release amqp_connection_state_t owned memory related to a channel. ">amqp_maybe_release_buffers_on_channel()</a></dd></dl>
+<dl class="section since"><dt>Since</dt><dd>v0.1 </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="a3415ae554ddcf30f2d8ec2aed03402eb"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int amqp_send_frame </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="amqp_8h.html#a59cfdff3bfbf28aba201be5636365fa4">amqp_connection_state_t</a>&#160;</td>
+ <td class="paramname"><em>state</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="structamqp__frame__t.html">amqp_frame_t</a> const *&#160;</td>
+ <td class="paramname"><em>frame</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Send a frame to the broker. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">state</td><td>the connection object </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">frame</td><td>the frame to send to the broker </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>AMQP_STATUS_OK on success, an amqp_status_enum value on error. Possible error codes:<ul>
+<li>AMQP_STATUS_BAD_AMQP_DATA the serialized form of the method or properties was too large to fit in a single AMQP frame, or the method contains an invalid value. The frame was not sent.</li>
+<li>AMQP_STATUS_TABLE_TOO_BIG the serialized form of an <a class="el" href="structamqp__table__t.html" title="AMQP field table. ">amqp_table_t</a> is too large to fit in a single AMQP frame. Frame was not sent.</li>
+<li>AMQP_STATUS_UNKNOWN_METHOD an invalid method type was passed in</li>
+<li>AMQP_STATUS_UNKNOWN_CLASS an invalid properties type was passed in</li>
+<li>AMQP_STATUS_TIMER_FAILURE system timer indicated failure. The frame was sent</li>
+<li>AMQP_STATUS_SOCKET_ERROR</li>
+<li>AMQP_STATUS_SSL_ERROR</li>
+</ul>
+</dd></dl>
+<dl class="section since"><dt>Since</dt><dd>v0.1 </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="a7d9017dab206cde346955fff8f127c73"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int amqp_send_header </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="amqp_8h.html#a59cfdff3bfbf28aba201be5636365fa4">amqp_connection_state_t</a>&#160;</td>
+ <td class="paramname"><em>state</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Send initial AMQP header to the broker. </p>
+<dl class="section warning"><dt>Warning</dt><dd>this is a low level function intended for those who want to interact with the broker at a very low level. Use of this function without understanding what it does will result in AMQP protocol errors.</dd></dl>
+<p>This function sends the AMQP protocol header to the broker.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">state</td><td>the connection object </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>AMQP_STATUS_OK on success, a negative value on failure. Possible error codes:<ul>
+<li>AMQP_STATUS_CONNECTION_CLOSED the connection to the broker was closed.</li>
+<li>AMQP_STATUS_SOCKET_ERROR a socket error occurred. It is likely the underlying socket has been closed. errno or WSAGetLastError() may provide further information.</li>
+<li>AMQP_STATUS_SSL_ERROR a SSL error occurred. The connection to the broker was closed.</li>
+</ul>
+</dd></dl>
+<dl class="section since"><dt>Since</dt><dd>v0.1 </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="a4759bcfc517d83bc2fd287a8daf891a4"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int amqp_send_method </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="amqp_8h.html#a59cfdff3bfbf28aba201be5636365fa4">amqp_connection_state_t</a>&#160;</td>
+ <td class="paramname"><em>state</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="amqp_8h.html#a2905d3cff4f5b3e0a300c3d424181518">amqp_channel_t</a>&#160;</td>
+ <td class="paramname"><em>channel</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="amqp_8h.html#a870f50d72f2f40ef74b3708e6dcb7379">amqp_method_number_t</a>&#160;</td>
+ <td class="paramname"><em>id</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">void *&#160;</td>
+ <td class="paramname"><em>decoded</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Sends a method to the broker. </p>
+<p>This is a thin wrapper around <a class="el" href="amqp_8h.html#a3415ae554ddcf30f2d8ec2aed03402eb" title="Send a frame to the broker. ">amqp_send_frame()</a>, providing a way to send a method to the broker on a specified channel.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">state</td><td>the connection object </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">channel</td><td>the channel object </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">id</td><td>the method number </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">decoded</td><td>the method object </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>AMQP_STATUS_OK on success, an amqp_status_enum value otherwise. Possible errors include:<ul>
+<li>AMQP_STATUS_BAD_AMQP_DATA the serialized form of the method or properties was too large to fit in a single AMQP frame, or the method contains an invalid value. The frame was not sent.</li>
+<li>AMQP_STATUS_TABLE_TOO_BIG the serialized form of an <a class="el" href="structamqp__table__t.html" title="AMQP field table. ">amqp_table_t</a> is too large to fit in a single AMQP frame. Frame was not sent.</li>
+<li>AMQP_STATUS_UNKNOWN_METHOD an invalid method type was passed in</li>
+<li>AMQP_STATUS_UNKNOWN_CLASS an invalid properties type was passed in</li>
+<li>AMQP_STATUS_TIMER_FAILURE system timer indicated failure. The frame was sent</li>
+<li>AMQP_STATUS_SOCKET_ERROR</li>
+<li>AMQP_STATUS_SSL_ERROR</li>
+</ul>
+</dd></dl>
+<dl class="section since"><dt>Since</dt><dd>v0.1 </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="a8a7e4aafb58d67658cac626398b5522a"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void amqp_set_sockfd </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="amqp_8h.html#a59cfdff3bfbf28aba201be5636365fa4">amqp_connection_state_t</a>&#160;</td>
+ <td class="paramname"><em>state</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int&#160;</td>
+ <td class="paramname"><em>sockfd</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Deprecated, use <a class="el" href="amqp__tcp__socket_8h.html#a3276c8bfa7b263aa3c755517b4b97ac8" title="A TCP socket connection. ">amqp_tcp_socket_new()</a> or <a class="el" href="amqp__ssl__socket_8h.html#a18ba2a9523640d277addd7d42f3a4ddd" title="Create a new SSL/TLS socket object. ">amqp_ssl_socket_new()</a> </p>
+<dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000004">Deprecated:</a></b></dt><dd>Use <a class="el" href="amqp__tcp__socket_8h.html#a3276c8bfa7b263aa3c755517b4b97ac8" title="A TCP socket connection. ">amqp_tcp_socket_new()</a> or <a class="el" href="amqp__ssl__socket_8h.html#a18ba2a9523640d277addd7d42f3a4ddd" title="Create a new SSL/TLS socket object. ">amqp_ssl_socket_new()</a></dd></dl>
+<p>Sets the socket descriptor associated with the connection. The socket should be connected to a broker, and should not be read to or written from before calling this function. A socket descriptor can be created and opened using <a class="el" href="amqp_8h.html#a019214cc135f14a88ce4ed37976d5e40" title="Open a socket to a remote host. ">amqp_open_socket()</a></p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">state</td><td>the connection object </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">sockfd</td><td>the socket</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section see"><dt>See Also</dt><dd><a class="el" href="amqp_8h.html#a019214cc135f14a88ce4ed37976d5e40" title="Open a socket to a remote host. ">amqp_open_socket()</a>, <a class="el" href="amqp__tcp__socket_8h.html#a3276c8bfa7b263aa3c755517b4b97ac8" title="A TCP socket connection. ">amqp_tcp_socket_new()</a>, <a class="el" href="amqp__ssl__socket_8h.html#a18ba2a9523640d277addd7d42f3a4ddd" title="Create a new SSL/TLS socket object. ">amqp_ssl_socket_new()</a></dd></dl>
+<dl class="section since"><dt>Since</dt><dd>v0.1 </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="a913e43814636ce25002a81fb59321814"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="structamqp__rpc__reply__t.html">amqp_rpc_reply_t</a> amqp_simple_rpc </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="amqp_8h.html#a59cfdff3bfbf28aba201be5636365fa4">amqp_connection_state_t</a>&#160;</td>
+ <td class="paramname"><em>state</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="amqp_8h.html#a2905d3cff4f5b3e0a300c3d424181518">amqp_channel_t</a>&#160;</td>
+ <td class="paramname"><em>channel</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="amqp_8h.html#a870f50d72f2f40ef74b3708e6dcb7379">amqp_method_number_t</a>&#160;</td>
+ <td class="paramname"><em>request_id</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="amqp_8h.html#a870f50d72f2f40ef74b3708e6dcb7379">amqp_method_number_t</a> *&#160;</td>
+ <td class="paramname"><em>expected_reply_ids</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">void *&#160;</td>
+ <td class="paramname"><em>decoded_request_method</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Sends a method to the broker and waits for a method response. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">state</td><td>the connection object </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">channel</td><td>the channel object </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">request_id</td><td>the method number of the request </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">expected_reply_ids</td><td>a 0 terminated array of expected response method numbers </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">decoded_request_method</td><td>the method to be sent to the broker </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>a <a class="el" href="structamqp__rpc__reply__t.html" title="Reply from a RPC method on the broker. ">amqp_rpc_reply_t</a>:<ul>
+<li>r.reply_type == AMQP_RESPONSE_NORMAL. RPC completed successfully</li>
+<li>r.reply_type == AMQP_RESPONSE_SERVER_EXCEPTION. The broker returned an exception:<ul>
+<li>If r.reply.id == AMQP_CHANNEL_CLOSE_METHOD a channel exception occurred, cast r.reply.decoded to amqp_channel_close_t* to see details of the exception. The client should <a class="el" href="amqp_8h.html#a4759bcfc517d83bc2fd287a8daf891a4" title="Sends a method to the broker. ">amqp_send_method()</a> a <a class="el" href="structamqp__channel__close__ok__t.html" title="channel.close-ok method fields ">amqp_channel_close_ok_t</a>. The channel must be re-opened before it can be used again. Any resources associated with the channel (auto-delete exchanges, auto-delete queues, consumers) are invalid and must be recreated before attempting to use them again.</li>
+<li>If r.reply.id == AMQP_CONNECTION_CLOSE_METHOD a connection exception occurred, cast r.reply.decoded to amqp_connection_close_t* to see details of the exception. The client <a class="el" href="amqp_8h.html#a4759bcfc517d83bc2fd287a8daf891a4" title="Sends a method to the broker. ">amqp_send_method()</a> a <a class="el" href="structamqp__connection__close__ok__t.html" title="connection.close-ok method fields ">amqp_connection_close_ok_t</a> and disconnect from the broker.</li>
+</ul>
+</li>
+<li>r.reply_type == AMQP_RESPONSE_LIBRARY_EXCEPTION. An exception occurred within the library. Examine r.library_error and compare it against amqp_status_enum values to determine the error.</li>
+</ul>
+</dd></dl>
+<dl class="section see"><dt>See Also</dt><dd><a class="el" href="amqp_8h.html#a0fe6ee504643f3609e8e048dc70f6b40" title="Sends a method to the broker and waits for a method response. ">amqp_simple_rpc_decoded()</a></dd></dl>
+<dl class="section since"><dt>Since</dt><dd>v0.1 </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="a0fe6ee504643f3609e8e048dc70f6b40"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void* amqp_simple_rpc_decoded </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="amqp_8h.html#a59cfdff3bfbf28aba201be5636365fa4">amqp_connection_state_t</a>&#160;</td>
+ <td class="paramname"><em>state</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="amqp_8h.html#a2905d3cff4f5b3e0a300c3d424181518">amqp_channel_t</a>&#160;</td>
+ <td class="paramname"><em>channel</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="amqp_8h.html#a870f50d72f2f40ef74b3708e6dcb7379">amqp_method_number_t</a>&#160;</td>
+ <td class="paramname"><em>request_id</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="amqp_8h.html#a870f50d72f2f40ef74b3708e6dcb7379">amqp_method_number_t</a>&#160;</td>
+ <td class="paramname"><em>reply_id</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">void *&#160;</td>
+ <td class="paramname"><em>decoded_request_method</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Sends a method to the broker and waits for a method response. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">state</td><td>the connection object </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">channel</td><td>the channel object </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">request_id</td><td>the method number of the request </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">reply_id</td><td>the method number expected in response </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">decoded_request_method</td><td>the request method </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>a pointer to the method returned from the broker, or NULL on error. On error <a class="el" href="amqp_8h.html#af99157fd26e43b3dd6acbb52e0fcf773" title="Get the last global amqp_rpc_reply. ">amqp_get_rpc_reply()</a> will return an <a class="el" href="structamqp__rpc__reply__t.html" title="Reply from a RPC method on the broker. ">amqp_rpc_reply_t</a> with details on the error that occurred.</dd></dl>
+<dl class="section since"><dt>Since</dt><dd>v0.1 </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="a9a186800ece7517245c734d93f18e4a8"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int amqp_simple_wait_frame </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="amqp_8h.html#a59cfdff3bfbf28aba201be5636365fa4">amqp_connection_state_t</a>&#160;</td>
+ <td class="paramname"><em>state</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="structamqp__frame__t.html">amqp_frame_t</a> *&#160;</td>
+ <td class="paramname"><em>decoded_frame</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Read a single <a class="el" href="structamqp__frame__t.html" title="An AMQP frame. ">amqp_frame_t</a>. </p>
+<p>Waits for the next <a class="el" href="structamqp__frame__t.html" title="An AMQP frame. ">amqp_frame_t</a> frame to be read from the broker. This function has the potential to block for a long time in the case of waiting for a basic.deliver method frame from the broker.</p>
+<p>The library may buffer frames. When an amqp_connection_state_t object has frames buffered calling <a class="el" href="amqp_8h.html#a9a186800ece7517245c734d93f18e4a8" title="Read a single amqp_frame_t. ">amqp_simple_wait_frame()</a> will return an <a class="el" href="structamqp__frame__t.html" title="An AMQP frame. ">amqp_frame_t</a> without entering a blocking read(). You can test to see if an amqp_connection_state_t object has frames buffered by calling the <a class="el" href="amqp_8h.html#ad2921e2be813c1a93425eac496b83241" title="Checks to see if there are any incoming frames ready to be read. ">amqp_frames_enqueued()</a> function.</p>
+<p>The library has a socket read buffer. When there is data in an amqp_connection_state_t read buffer, <a class="el" href="amqp_8h.html#a9a186800ece7517245c734d93f18e4a8" title="Read a single amqp_frame_t. ">amqp_simple_wait_frame()</a> may return an <a class="el" href="structamqp__frame__t.html" title="An AMQP frame. ">amqp_frame_t</a> without entering a blocking read(). You can test to see if an amqp_connection_state_t object has data in its read buffer by calling the <a class="el" href="amqp_8h.html#af520e81ecfd783fd23c4044202a373b2" title="Check to see if there is data left in the receive buffer. ">amqp_data_in_buffer()</a> function.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">state</td><td>the connection object </td></tr>
+ <tr><td class="paramdir">[out]</td><td class="paramname">decoded_frame</td><td>the frame </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>AMQP_STATUS_OK on success, an amqp_status_enum value is returned otherwise. Possible errors include:<ul>
+<li>AMQP_STATUS_NO_MEMORY failure in allocating memory. The library is likely in an indeterminate state making recovery unlikely. Client should note the error and terminate the application</li>
+<li>AMQP_STATUS_BAD_AMQP_DATA bad AMQP data was received. The connection should be shutdown immediately</li>
+<li>AMQP_STATUS_UNKNOWN_METHOD: an unknown method was received from the broker. This is likely a protocol error and the connection should be shutdown immediately</li>
+<li>AMQP_STATUS_UNKNOWN_CLASS: a properties frame with an unknown class was received from the broker. This is likely a protocol error and the connection should be shutdown immediately</li>
+<li>AMQP_STATUS_HEARTBEAT_TIMEOUT timed out while waiting for heartbeat from the broker. The connection has been closed.</li>
+<li>AMQP_STATUS_TIMER_FAILURE system timer indicated failure.</li>
+<li>AMQP_STATUS_SOCKET_ERROR a socket error occurred. The connection has been closed</li>
+<li>AMQP_STATUS_SSL_ERROR a SSL socket error occurred. The connection has been closed.</li>
+</ul>
+</dd></dl>
+<dl class="section see"><dt>See Also</dt><dd><a class="el" href="amqp_8h.html#a2ad52d60ae5870cc304a39d3a59950ea" title="Read a single amqp_frame_t with a timeout. ">amqp_simple_wait_frame_noblock()</a> <a class="el" href="amqp_8h.html#ad2921e2be813c1a93425eac496b83241" title="Checks to see if there are any incoming frames ready to be read. ">amqp_frames_enqueued()</a> <a class="el" href="amqp_8h.html#af520e81ecfd783fd23c4044202a373b2" title="Check to see if there is data left in the receive buffer. ">amqp_data_in_buffer()</a></dd></dl>
+<dl class="section note"><dt>Note</dt><dd>as of v0.4.0 this function will no longer return heartbeat frames when enabled by specifying a non-zero heartbeat value in <a class="el" href="amqp_8h.html#a64cd6986f1dd7e0d475000ca5f1e16c2" title="Login to the broker. ">amqp_login()</a>. Heartbeating is handled internally by the library.</dd></dl>
+<dl class="section since"><dt>Since</dt><dd>v0.1 </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="a2ad52d60ae5870cc304a39d3a59950ea"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int amqp_simple_wait_frame_noblock </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="amqp_8h.html#a59cfdff3bfbf28aba201be5636365fa4">amqp_connection_state_t</a>&#160;</td>
+ <td class="paramname"><em>state</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="structamqp__frame__t.html">amqp_frame_t</a> *&#160;</td>
+ <td class="paramname"><em>decoded_frame</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">struct timeval *&#160;</td>
+ <td class="paramname"><em>tv</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Read a single <a class="el" href="structamqp__frame__t.html" title="An AMQP frame. ">amqp_frame_t</a> with a timeout. </p>
+<p>Waits for the next <a class="el" href="structamqp__frame__t.html" title="An AMQP frame. ">amqp_frame_t</a> frame to be read from the broker, up to a timespan specified by tv. The function will return AMQP_STATUS_TIMEOUT if the timeout is reached. The tv value is not modified by the function.</p>
+<p>If a 0 timeval is specified, the function behaves as if its non-blocking: it will test to see if a frame can be read from the broker, and return immediately.</p>
+<p>If NULL is passed in for tv, the function will behave like <a class="el" href="amqp_8h.html#a9a186800ece7517245c734d93f18e4a8" title="Read a single amqp_frame_t. ">amqp_simple_wait_frame()</a> and block until a frame is received from the broker</p>
+<p>The library may buffer frames. When an amqp_connection_state_t object has frames buffered calling <a class="el" href="amqp_8h.html#a2ad52d60ae5870cc304a39d3a59950ea" title="Read a single amqp_frame_t with a timeout. ">amqp_simple_wait_frame_noblock()</a> will return an <a class="el" href="structamqp__frame__t.html" title="An AMQP frame. ">amqp_frame_t</a> without entering a blocking read(). You can test to see if an amqp_connection_state_t object has frames buffered by calling the <a class="el" href="amqp_8h.html#ad2921e2be813c1a93425eac496b83241" title="Checks to see if there are any incoming frames ready to be read. ">amqp_frames_enqueued()</a> function.</p>
+<p>The library has a socket read buffer. When there is data in an amqp_connection_state_t read buffer, <a class="el" href="amqp_8h.html#a2ad52d60ae5870cc304a39d3a59950ea" title="Read a single amqp_frame_t with a timeout. ">amqp_simple_wait_frame_noblock()</a> may return an <a class="el" href="structamqp__frame__t.html" title="An AMQP frame. ">amqp_frame_t</a> without entering a blocking read(). You can test to see if an amqp_connection_state_t object has data in its read buffer by calling the <a class="el" href="amqp_8h.html#af520e81ecfd783fd23c4044202a373b2" title="Check to see if there is data left in the receive buffer. ">amqp_data_in_buffer()</a> function.</p>
+<dl class="section note"><dt>Note</dt><dd>This function does not return heartbeat frames. When enabled, heartbeating is handed internally internally by the library</dd></dl>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in,out]</td><td class="paramname">state</td><td>the connection object </td></tr>
+ <tr><td class="paramdir">[out]</td><td class="paramname">decoded_frame</td><td>the frame </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">tv</td><td>the maximum time to wait for a frame to be read. Setting tv-&gt;tv_sec = 0 and tv-&gt;tv_usec = 0 will do a non-blocking read. Specifying NULL for tv will make the function block until a frame is read. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>AMQP_STATUS_OK on success. An amqp_status_enum value is returned otherwise. Possible errors include:<ul>
+<li>AMQP_STATUS_TIMEOUT the timeout was reached while waiting for a frame from the broker.</li>
+<li>AMQP_STATUS_INVALID_PARAMETER the tv parameter contains an invalid value.</li>
+<li>AMQP_STATUS_NO_MEMORY failure in allocating memory. The library is likely in an indeterminate state making recovery unlikely. Client should note the error and terminate the application</li>
+<li>AMQP_STATUS_BAD_AMQP_DATA bad AMQP data was received. The connection should be shutdown immediately</li>
+<li>AMQP_STATUS_UNKNOWN_METHOD: an unknown method was received from the broker. This is likely a protocol error and the connection should be shutdown immediately</li>
+<li>AMQP_STATUS_UNKNOWN_CLASS: a properties frame with an unknown class was received from the broker. This is likely a protocol error and the connection should be shutdown immediately</li>
+<li>AMQP_STATUS_HEARTBEAT_TIMEOUT timed out while waiting for heartbeat from the broker. The connection has been closed.</li>
+<li>AMQP_STATUS_TIMER_FAILURE system timer indicated failure.</li>
+<li>AMQP_STATUS_SOCKET_ERROR a socket error occurred. The connection has been closed</li>
+<li>AMQP_STATUS_SSL_ERROR a SSL socket error occurred. The connection has been closed.</li>
+</ul>
+</dd></dl>
+<dl class="section see"><dt>See Also</dt><dd><a class="el" href="amqp_8h.html#a9a186800ece7517245c734d93f18e4a8" title="Read a single amqp_frame_t. ">amqp_simple_wait_frame()</a> <a class="el" href="amqp_8h.html#ad2921e2be813c1a93425eac496b83241" title="Checks to see if there are any incoming frames ready to be read. ">amqp_frames_enqueued()</a> <a class="el" href="amqp_8h.html#af520e81ecfd783fd23c4044202a373b2" title="Check to see if there is data left in the receive buffer. ">amqp_data_in_buffer()</a></dd></dl>
+<dl class="section since"><dt>Since</dt><dd>v0.4.0 </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="a2ae0e3ffaf3c632c98bdd8a05c75b279"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int amqp_simple_wait_method </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="amqp_8h.html#a59cfdff3bfbf28aba201be5636365fa4">amqp_connection_state_t</a>&#160;</td>
+ <td class="paramname"><em>state</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="amqp_8h.html#a2905d3cff4f5b3e0a300c3d424181518">amqp_channel_t</a>&#160;</td>
+ <td class="paramname"><em>expected_channel</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="amqp_8h.html#a870f50d72f2f40ef74b3708e6dcb7379">amqp_method_number_t</a>&#160;</td>
+ <td class="paramname"><em>expected_method</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="structamqp__method__t.html">amqp_method_t</a> *&#160;</td>
+ <td class="paramname"><em>output</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Waits for a specific method from the broker. </p>
+<dl class="section warning"><dt>Warning</dt><dd>You probably don't want to use this function. If this function doesn't receive exactly the frame requested it closes the whole connection.</dd></dl>
+<p>Waits for a single method on a channel from the broker. If a frame is received that does not match expected_channel or expected_method the program will abort</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">state</td><td>the connection object </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">expected_channel</td><td>the channel that the method should be delivered on </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">expected_method</td><td>the method to wait for </td></tr>
+ <tr><td class="paramdir">[out]</td><td class="paramname">output</td><td>the method </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>AMQP_STATUS_OK on success. An amqp_status_enum value is returned otherwise. Possible errors include:<ul>
+<li>AMQP_STATUS_WRONG_METHOD a frame containing the wrong method, wrong frame type or wrong channel was received. The connection is closed.</li>
+<li>AMQP_STATUS_NO_MEMORY failure in allocating memory. The library is likely in an indeterminate state making recovery unlikely. Client should note the error and terminate the application</li>
+<li>AMQP_STATUS_BAD_AMQP_DATA bad AMQP data was received. The connection should be shutdown immediately</li>
+<li>AMQP_STATUS_UNKNOWN_METHOD: an unknown method was received from the broker. This is likely a protocol error and the connection should be shutdown immediately</li>
+<li>AMQP_STATUS_UNKNOWN_CLASS: a properties frame with an unknown class was received from the broker. This is likely a protocol error and the connection should be shutdown immediately</li>
+<li>AMQP_STATUS_HEARTBEAT_TIMEOUT timed out while waiting for heartbeat from the broker. The connection has been closed.</li>
+<li>AMQP_STATUS_TIMER_FAILURE system timer indicated failure.</li>
+<li>AMQP_STATUS_SOCKET_ERROR a socket error occurred. The connection has been closed</li>
+<li>AMQP_STATUS_SSL_ERROR a SSL socket error occurred. The connection has been closed.</li>
+</ul>
+</dd></dl>
+<dl class="section since"><dt>Since</dt><dd>v0.1 </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ac7fe7405589e8c44c8dba2dc80c312a4"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int amqp_socket_get_sockfd </td>
+ <td>(</td>
+ <td class="paramtype">amqp_socket_t *&#160;</td>
+ <td class="paramname"><em>self</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Get the socket descriptor in use by a socket object. </p>
+<p>Retrieve the underlying socket descriptor. This function can be used to perform low-level socket operations that aren't supported by the socket interface. Use with caution!</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in,out]</td><td class="paramname">self</td><td>A socket object.</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>The underlying socket descriptor, or -1 if there is no socket descriptor associated with with</dd></dl>
+<dl class="section since"><dt>Since</dt><dd>v0.4.0 </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="aaa1a4f870da40120d8c544822bf63f51"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int amqp_socket_open </td>
+ <td>(</td>
+ <td class="paramtype">amqp_socket_t *&#160;</td>
+ <td class="paramname"><em>self</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const char *&#160;</td>
+ <td class="paramname"><em>host</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int&#160;</td>
+ <td class="paramname"><em>port</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Open a socket connection. </p>
+<p>This function opens a socket connection returned from <a class="el" href="amqp__tcp__socket_8h.html#a3276c8bfa7b263aa3c755517b4b97ac8" title="A TCP socket connection. ">amqp_tcp_socket_new()</a> or <a class="el" href="amqp__ssl__socket_8h.html#a18ba2a9523640d277addd7d42f3a4ddd" title="Create a new SSL/TLS socket object. ">amqp_ssl_socket_new()</a>. This function should be called after setting socket options and prior to assigning the socket to an AMQP connection with amqp_set_socket().</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in,out]</td><td class="paramname">self</td><td>A socket object. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">host</td><td>Connect to this host. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">port</td><td>Connect on this remote port.</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>AMQP_STATUS_OK on success, an amqp_status_enum on failure</dd></dl>
+<dl class="section since"><dt>Since</dt><dd>v0.4.0 </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="a3c2684dbbb210d4566c5d49ca1565fd8"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int amqp_socket_open_noblock </td>
+ <td>(</td>
+ <td class="paramtype">amqp_socket_t *&#160;</td>
+ <td class="paramname"><em>self</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const char *&#160;</td>
+ <td class="paramname"><em>host</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int&#160;</td>
+ <td class="paramname"><em>port</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">struct timeval *&#160;</td>
+ <td class="paramname"><em>timeout</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Open a socket connection. </p>
+<p>This function opens a socket connection returned from <a class="el" href="amqp__tcp__socket_8h.html#a3276c8bfa7b263aa3c755517b4b97ac8" title="A TCP socket connection. ">amqp_tcp_socket_new()</a> or <a class="el" href="amqp__ssl__socket_8h.html#a18ba2a9523640d277addd7d42f3a4ddd" title="Create a new SSL/TLS socket object. ">amqp_ssl_socket_new()</a>. This function should be called after setting socket options and prior to assigning the socket to an AMQP connection with amqp_set_socket().</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in,out]</td><td class="paramname">self</td><td>A socket object. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">host</td><td>Connect to this host. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">port</td><td>Connect on this remote port. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">timeout</td><td>Max allowed time to spent on opening. If NULL - run in blocking mode</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>AMQP_STATUS_OK on success, an amqp_status_enum on failure.</dd></dl>
+<dl class="section since"><dt>Since</dt><dd>v0.4.0 </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="a4cf7bf6f75fa5c67a1993a27fdb191fd"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int amqp_table_clone </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="structamqp__table__t.html">amqp_table_t</a> *&#160;</td>
+ <td class="paramname"><em>original</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="structamqp__table__t.html">amqp_table_t</a> *&#160;</td>
+ <td class="paramname"><em>clone</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="structamqp__pool__t.html">amqp_pool_t</a> *&#160;</td>
+ <td class="paramname"><em>pool</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Create a deep-copy of an <a class="el" href="structamqp__table__t.html" title="AMQP field table. ">amqp_table_t</a> object. </p>
+<p>Creates a deep-copy of an <a class="el" href="structamqp__table__t.html" title="AMQP field table. ">amqp_table_t</a> object, using the provided pool object to allocate the necessary memory. This memory can be freed later by call <a class="el" href="amqp_8h.html#a67180b9471b3a95bce6daa29241b1bf0" title="Recycles an amqp_pool_t memory allocation pool. ">recycle_amqp_pool()</a>, or <a class="el" href="amqp_8h.html#a0076d042d427236b65c3869a9e8e03d3" title="Empties an amqp memory pool. ">empty_amqp_pool()</a></p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">original</td><td>the table to copy </td></tr>
+ <tr><td class="paramdir">[in,out]</td><td class="paramname">clone</td><td>the table to copy to </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">pool</td><td>the initialized memory pool to do allocations for the table from </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>AMQP_STATUS_OK on success, amqp_status_enum value on failure. Possible error values:<ul>
+<li>AMQP_STATUS_NO_MEMORY - memory allocation failure.</li>
+<li>AMQP_STATUS_INVALID_PARAMETER - invalid table (e.g., no key name)</li>
+</ul>
+</dd></dl>
+<dl class="section since"><dt>Since</dt><dd>v0.4.0 </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="abe70275de5843c51ca3034fc9d52ccaa"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int amqp_table_entry_cmp </td>
+ <td>(</td>
+ <td class="paramtype">void const *&#160;</td>
+ <td class="paramname"><em>entry1</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">void const *&#160;</td>
+ <td class="paramname"><em>entry2</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Compare two table entries. </p>
+<p>Works just like strcmp(), comparing two the table keys, datatype, then values</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">entry1</td><td>the entry on the left </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">entry2</td><td>the entry on the right </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>0 if entries are equal, 0 &lt; if left is greater, 0 &gt; if right is greater</dd></dl>
+<dl class="section since"><dt>Since</dt><dd>v0.1 </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="aa3b3c72aa2809ee8c058fc04bfd277b9"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int amqp_tune_connection </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="amqp_8h.html#a59cfdff3bfbf28aba201be5636365fa4">amqp_connection_state_t</a>&#160;</td>
+ <td class="paramname"><em>state</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int&#160;</td>
+ <td class="paramname"><em>channel_max</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int&#160;</td>
+ <td class="paramname"><em>frame_max</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int&#160;</td>
+ <td class="paramname"><em>heartbeat</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Tune client side parameters. </p>
+<dl class="section warning"><dt>Warning</dt><dd>This function may call abort() if the connection is in a certain state. As such it should probably not be called code outside the library. connection parameters should be specified when calling <a class="el" href="amqp_8h.html#a64cd6986f1dd7e0d475000ca5f1e16c2" title="Login to the broker. ">amqp_login()</a> or <a class="el" href="amqp_8h.html#a086cb1d07e0a6b4f25153fcc433ff154" title="Login to the broker passing a properties table. ">amqp_login_with_properties()</a></dd></dl>
+<p>This function changes channel_max, frame_max, and heartbeat parameters, on the client side only. It does not try to renegotiate these parameters with the broker. Using this function will lead to unexpected results.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">state</td><td>the connection object </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">channel_max</td><td>the maximum number of channels. The largest this can be is 65535 </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">frame_max</td><td>the maximum size of an frame. The smallest this can be is 4096 The largest this can be is 2147483647 Unless you know what you're doing the recommended size is 131072 or 128KB </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">heartbeat</td><td>the number of seconds between heartbeats</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>AMQP_STATUS_OK on success, an amqp_status_enum value otherwise. Possible error codes include:<ul>
+<li>AMQP_STATUS_NO_MEMORY memory allocation failed.</li>
+<li>AMQP_STATUS_TIMER_FAILURE the underlying system timer indicated it failed.</li>
+</ul>
+</dd></dl>
+<dl class="section see"><dt>See Also</dt><dd><a class="el" href="amqp_8h.html#a64cd6986f1dd7e0d475000ca5f1e16c2" title="Login to the broker. ">amqp_login()</a>, <a class="el" href="amqp_8h.html#a086cb1d07e0a6b4f25153fcc433ff154" title="Login to the broker passing a properties table. ">amqp_login_with_properties()</a></dd></dl>
+<dl class="section since"><dt>Since</dt><dd>v0.1 </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ad979d0a664de648a028918bf9d97edee"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">char const* amqp_version </td>
+ <td>(</td>
+ <td class="paramtype">void&#160;</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Returns the rabbitmq-c version as a string. </p>
+<p>See <a class="el" href="amqp_8h.html#a6b84b5824175175ef12b7eba536a1ba7">AMQP_VERSION_STRING</a></p>
+<dl class="section return"><dt>Returns</dt><dd>a statically allocated string describing the version of rabbitmq-c.</dd></dl>
+<dl class="section see"><dt>See Also</dt><dd><a class="el" href="amqp_8h.html#a509e8066077e767429ec7b6232715285" title="Returns the rabbitmq-c version as a packed integer. ">amqp_version_number()</a>, <a class="el" href="amqp_8h.html#a6b84b5824175175ef12b7eba536a1ba7" title="Version string compile-time constant. ">AMQP_VERSION_STRING</a>, <a class="el" href="amqp_8h.html#a6aed6c36c7974ed25fa7f7113aea5b2c" title="Packed version number. ">AMQP_VERSION</a></dd></dl>
+<dl class="section since"><dt>Since</dt><dd>v0.1 </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="a509e8066077e767429ec7b6232715285"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">uint32_t amqp_version_number </td>
+ <td>(</td>
+ <td class="paramtype">void&#160;</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Returns the rabbitmq-c version as a packed integer. </p>
+<p>See <a class="el" href="amqp_8h.html#a6aed6c36c7974ed25fa7f7113aea5b2c">AMQP_VERSION</a></p>
+<dl class="section return"><dt>Returns</dt><dd>packed 32-bit integer representing version of library at runtime</dd></dl>
+<dl class="section see"><dt>See Also</dt><dd><a class="el" href="amqp_8h.html#a6aed6c36c7974ed25fa7f7113aea5b2c" title="Packed version number. ">AMQP_VERSION</a>, <a class="el" href="amqp_8h.html#ad979d0a664de648a028918bf9d97edee" title="Returns the rabbitmq-c version as a string. ">amqp_version()</a></dd></dl>
+<dl class="section since"><dt>Since</dt><dd>v0.4.0 </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="a0076d042d427236b65c3869a9e8e03d3"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void empty_amqp_pool </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="structamqp__pool__t.html">amqp_pool_t</a> *&#160;</td>
+ <td class="paramname"><em>pool</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Empties an amqp memory pool. </p>
+<p>Releases all memory associated with an allocation pool</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">pool</td><td>the <a class="el" href="structamqp__pool__t.html" title="A memory pool. ">amqp_pool_t</a> to empty</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section since"><dt>Since</dt><dd>v0.1 </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="aa9b34b16c2c98fabd89ff02960c8a6d2"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void init_amqp_pool </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="structamqp__pool__t.html">amqp_pool_t</a> *&#160;</td>
+ <td class="paramname"><em>pool</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">size_t&#160;</td>
+ <td class="paramname"><em>pagesize</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Initializes an <a class="el" href="structamqp__pool__t.html" title="A memory pool. ">amqp_pool_t</a> memory allocation pool for use. </p>
+<p>Readies an allocation pool for use. An <a class="el" href="structamqp__pool__t.html" title="A memory pool. ">amqp_pool_t</a> must be initialized before use</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">pool</td><td>the <a class="el" href="structamqp__pool__t.html" title="A memory pool. ">amqp_pool_t</a> structure to initialize. Calling this function on a pool a pool that has already been initialized will result in undefined behavior </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">pagesize</td><td>the unit size that the pool will allocate memory chunks in. Anything allocated against the pool with a requested size will be carved out of a block this size. Allocations larger than this will be allocated individually</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section see"><dt>See Also</dt><dd><a class="el" href="amqp_8h.html#a67180b9471b3a95bce6daa29241b1bf0" title="Recycles an amqp_pool_t memory allocation pool. ">recycle_amqp_pool()</a>, <a class="el" href="amqp_8h.html#a0076d042d427236b65c3869a9e8e03d3" title="Empties an amqp memory pool. ">empty_amqp_pool()</a>, <a class="el" href="amqp_8h.html#ae1db5f167dc2160170d152445b545ad7" title="Allocates a block of memory from an amqp_pool_t memory pool. ">amqp_pool_alloc()</a>, <a class="el" href="amqp_8h.html#abadf86deb86f0afd292d752496cacbdc" title="Allocates a block of memory from an amqp_pool_t to an amqp_bytes_t. ">amqp_pool_alloc_bytes()</a>, <a class="el" href="structamqp__pool__t.html" title="A memory pool. ">amqp_pool_t</a></dd></dl>
+<dl class="section since"><dt>Since</dt><dd>v0.1 </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="a67180b9471b3a95bce6daa29241b1bf0"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void recycle_amqp_pool </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="structamqp__pool__t.html">amqp_pool_t</a> *&#160;</td>
+ <td class="paramname"><em>pool</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Recycles an <a class="el" href="structamqp__pool__t.html" title="A memory pool. ">amqp_pool_t</a> memory allocation pool. </p>
+<p>Recycles the space allocate by the pool</p>
+<p>This invalidates all allocations made against the pool before this call is made, any use of any allocations made before <a class="el" href="amqp_8h.html#a67180b9471b3a95bce6daa29241b1bf0" title="Recycles an amqp_pool_t memory allocation pool. ">recycle_amqp_pool()</a> is called will result in undefined behavior.</p>
+<p>Note: this may or may not release memory, to force memory to be released call <a class="el" href="amqp_8h.html#a0076d042d427236b65c3869a9e8e03d3" title="Empties an amqp memory pool. ">empty_amqp_pool()</a>.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">pool</td><td>the <a class="el" href="structamqp__pool__t.html" title="A memory pool. ">amqp_pool_t</a> to recycle</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section see"><dt>See Also</dt><dd><a class="el" href="amqp_8h.html#a67180b9471b3a95bce6daa29241b1bf0" title="Recycles an amqp_pool_t memory allocation pool. ">recycle_amqp_pool()</a>, <a class="el" href="amqp_8h.html#a0076d042d427236b65c3869a9e8e03d3" title="Empties an amqp memory pool. ">empty_amqp_pool()</a>, <a class="el" href="amqp_8h.html#ae1db5f167dc2160170d152445b545ad7" title="Allocates a block of memory from an amqp_pool_t memory pool. ">amqp_pool_alloc()</a>, <a class="el" href="amqp_8h.html#abadf86deb86f0afd292d752496cacbdc" title="Allocates a block of memory from an amqp_pool_t to an amqp_bytes_t. ">amqp_pool_alloc_bytes()</a></dd></dl>
+<dl class="section since"><dt>Since</dt><dd>v0.1 </dd></dl>
+
+</div>
+</div>
+<h2 class="groupheader">Variable Documentation</h2>
+<a class="anchor" id="aaba159b9d1ab04aa97c393f9141d23ca"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const <a class="el" href="structamqp__array__t.html">amqp_array_t</a> amqp_empty_array</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Empty table array structure. </p>
+<dl class="section since"><dt>Since</dt><dd>v0.2 </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="a9c6c49c5846de389f2e18cec79cf859c"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const <a class="el" href="structamqp__bytes__t.html">amqp_bytes_t</a> amqp_empty_bytes</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Empty bytes structure. </p>
+<dl class="section since"><dt>Since</dt><dd>v0.2 </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="a0deb5fae5e794ea87b1431fbe656dac7"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const <a class="el" href="structamqp__table__t.html">amqp_table_t</a> amqp_empty_table</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Empty table structure. </p>
+<dl class="section since"><dt>Since</dt><dd>v0.2 </dd></dl>
+
+</div>
+</div>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Sat Apr 9 2016 21:59:28 for rabbitmq-c by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.6
+</small></address>
+</body>
+</html>