You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by jr...@apache.org on 2016/06/17 13:10:03 UTC

[21/51] [partial] qpid-site git commit: PROTON-1134: Update the website for Proton 0.13.0

http://git-wip-us.apache.org/repos/asf/qpid-site/blob/a1191dd3/content/releases/qpid-proton-0.13.0/proton/c/api/group__sasl.html
----------------------------------------------------------------------
diff --git a/content/releases/qpid-proton-0.13.0/proton/c/api/group__sasl.html b/content/releases/qpid-proton-0.13.0/proton/c/api/group__sasl.html
new file mode 100755
index 0000000..f92b64c
--- /dev/null
+++ b/content/releases/qpid-proton-0.13.0/proton/c/api/group__sasl.html
@@ -0,0 +1,496 @@
+<!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.10"/>
+<title>Qpid Proton C API: SASL</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+  $(window).load(resizeHeight);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Qpid Proton C API
+   &#160;<span id="projectnumber">0.13.0</span>
+   </div>
+  </td>
+   <td>        <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>
+</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.10 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('group__sasl.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#typedef-members">Typedefs</a> &#124;
+<a href="#enum-members">Enumerations</a> &#124;
+<a href="#func-members">Functions</a>  </div>
+  <div class="headertitle">
+<div class="title">SASL<div class="ingroups"><a class="el" href="group__engine.html">Engine</a> &raquo; <a class="el" href="group__transport.html">Transport</a></div></div>  </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
+Typedefs</h2></td></tr>
+<tr class="memitem:ga4d21fddba80d3f88d0529aafe12328b0"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga4d21fddba80d3f88d0529aafe12328b0"></a>
+typedef struct pn_sasl_t&#160;</td><td class="memItemRight" valign="bottom"><b>pn_sasl_t</b></td></tr>
+<tr class="separator:ga4d21fddba80d3f88d0529aafe12328b0"><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:gad44e79f52e0669b1930689b56dfa9c3b"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__sasl.html#gad44e79f52e0669b1930689b56dfa9c3b">pn_sasl_outcome_t</a> { <br />
+&#160;&#160;<b>PN_SASL_NONE</b> =-1, 
+<a class="el" href="group__sasl.html#ggad44e79f52e0669b1930689b56dfa9c3ba0050b91650a3826a090e13f57b3b941e">PN_SASL_OK</a> =0, 
+<a class="el" href="group__sasl.html#ggad44e79f52e0669b1930689b56dfa9c3bac63734ecde7c8170554f6bf04f6ce64a">PN_SASL_AUTH</a> =1, 
+<a class="el" href="group__sasl.html#ggad44e79f52e0669b1930689b56dfa9c3bacd46a2fda23f674c23ed81e6076c1939">PN_SASL_SYS</a> =2, 
+<br />
+&#160;&#160;<a class="el" href="group__sasl.html#ggad44e79f52e0669b1930689b56dfa9c3ba03019f909ba1d98aae94437ca4bd0191">PN_SASL_PERM</a> =3, 
+<a class="el" href="group__sasl.html#ggad44e79f52e0669b1930689b56dfa9c3baee28d2c03fa80dccf771e37aae1bcdf3">PN_SASL_TEMP</a> =4
+<br />
+ }<tr class="separator:gad44e79f52e0669b1930689b56dfa9c3b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</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:ga473c3092ebf00792106cdc741d0b14ac"><td class="memItemLeft" align="right" valign="top">PN_EXTERN pn_sasl_t *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__sasl.html#ga473c3092ebf00792106cdc741d0b14ac">pn_sasl</a> (<a class="el" href="group__transport.html#gac26eda05f649bbf0399f3d8d78d12fa8">pn_transport_t</a> *transport)</td></tr>
+<tr class="separator:ga473c3092ebf00792106cdc741d0b14ac"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga8ab2ab1ca7ed8a476fbf01e742425f3d"><td class="memItemLeft" align="right" valign="top">PN_EXTERN bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__sasl.html#ga8ab2ab1ca7ed8a476fbf01e742425f3d">pn_sasl_extended</a> (void)</td></tr>
+<tr class="separator:ga8ab2ab1ca7ed8a476fbf01e742425f3d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gaecd3b1f55fc81c6586bc435772f829d3"><td class="memItemLeft" align="right" valign="top">PN_EXTERN void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__sasl.html#gaecd3b1f55fc81c6586bc435772f829d3">pn_sasl_done</a> (pn_sasl_t *sasl, <a class="el" href="group__sasl.html#gad44e79f52e0669b1930689b56dfa9c3b">pn_sasl_outcome_t</a> outcome)</td></tr>
+<tr class="separator:gaecd3b1f55fc81c6586bc435772f829d3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gaec4ace7d77037c60f1df02f2bb0be0f8"><td class="memItemLeft" align="right" valign="top">PN_EXTERN <a class="el" href="group__sasl.html#gad44e79f52e0669b1930689b56dfa9c3b">pn_sasl_outcome_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__sasl.html#gaec4ace7d77037c60f1df02f2bb0be0f8">pn_sasl_outcome</a> (pn_sasl_t *sasl)</td></tr>
+<tr class="separator:gaec4ace7d77037c60f1df02f2bb0be0f8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gafff63feb3a2eccd74f7b472ee235a886"><td class="memItemLeft" align="right" valign="top">PN_EXTERN const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__sasl.html#gafff63feb3a2eccd74f7b472ee235a886">pn_sasl_get_user</a> (pn_sasl_t *sasl)</td></tr>
+<tr class="separator:gafff63feb3a2eccd74f7b472ee235a886"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga77adf112018a4b457df4abbf5b31873b"><td class="memItemLeft" align="right" valign="top">PN_EXTERN const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__sasl.html#ga77adf112018a4b457df4abbf5b31873b">pn_sasl_get_mech</a> (pn_sasl_t *sasl)</td></tr>
+<tr class="separator:ga77adf112018a4b457df4abbf5b31873b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gacdc9d99d6717e74fa5df4de1515644db"><td class="memItemLeft" align="right" valign="top">PN_EXTERN void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__sasl.html#gacdc9d99d6717e74fa5df4de1515644db">pn_sasl_allowed_mechs</a> (pn_sasl_t *sasl, const char *mechs)</td></tr>
+<tr class="separator:gacdc9d99d6717e74fa5df4de1515644db"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga841eea7a3e34539aa6176ebc055cdc16"><td class="memItemLeft" align="right" valign="top">PN_EXTERN void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__sasl.html#ga841eea7a3e34539aa6176ebc055cdc16">pn_sasl_set_allow_insecure_mechs</a> (pn_sasl_t *sasl, bool insecure)</td></tr>
+<tr class="separator:ga841eea7a3e34539aa6176ebc055cdc16"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga4f18db720611136dd7d6798b8bfbc94c"><td class="memItemLeft" align="right" valign="top">PN_EXTERN bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__sasl.html#ga4f18db720611136dd7d6798b8bfbc94c">pn_sasl_get_allow_insecure_mechs</a> (pn_sasl_t *sasl)</td></tr>
+<tr class="separator:ga4f18db720611136dd7d6798b8bfbc94c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gae4ef8946525b044cc2d84ff801e1ae20"><td class="memItemLeft" align="right" valign="top">PN_EXTERN void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__sasl.html#gae4ef8946525b044cc2d84ff801e1ae20">pn_sasl_config_name</a> (pn_sasl_t *sasl, const char *name)</td></tr>
+<tr class="separator:gae4ef8946525b044cc2d84ff801e1ae20"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga8aa6f7e87a9eabf2d4ad8533fd7a4d3c"><td class="memItemLeft" align="right" valign="top">PN_EXTERN void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__sasl.html#ga8aa6f7e87a9eabf2d4ad8533fd7a4d3c">pn_sasl_config_path</a> (pn_sasl_t *sasl, const char *path)</td></tr>
+<tr class="separator:ga8aa6f7e87a9eabf2d4ad8533fd7a4d3c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<h2 class="groupheader">Enumeration Type Documentation</h2>
+<a class="anchor" id="gad44e79f52e0669b1930689b56dfa9c3b"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">enum <a class="el" href="group__sasl.html#gad44e79f52e0669b1930689b56dfa9c3b">pn_sasl_outcome_t</a></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>The result of the SASL negotiation </p>
+<table class="fieldtable">
+<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="ggad44e79f52e0669b1930689b56dfa9c3ba0050b91650a3826a090e13f57b3b941e"></a>PN_SASL_OK&#160;</td><td class="fielddoc">
+<p>negotiation not completed </p>
+</td></tr>
+<tr><td class="fieldname"><a class="anchor" id="ggad44e79f52e0669b1930689b56dfa9c3bac63734ecde7c8170554f6bf04f6ce64a"></a>PN_SASL_AUTH&#160;</td><td class="fielddoc">
+<p>authentication succeeded </p>
+</td></tr>
+<tr><td class="fieldname"><a class="anchor" id="ggad44e79f52e0669b1930689b56dfa9c3bacd46a2fda23f674c23ed81e6076c1939"></a>PN_SASL_SYS&#160;</td><td class="fielddoc">
+<p>failed due to bad credentials </p>
+</td></tr>
+<tr><td class="fieldname"><a class="anchor" id="ggad44e79f52e0669b1930689b56dfa9c3ba03019f909ba1d98aae94437ca4bd0191"></a>PN_SASL_PERM&#160;</td><td class="fielddoc">
+<p>failed due to a system error </p>
+</td></tr>
+<tr><td class="fieldname"><a class="anchor" id="ggad44e79f52e0669b1930689b56dfa9c3baee28d2c03fa80dccf771e37aae1bcdf3"></a>PN_SASL_TEMP&#160;</td><td class="fielddoc">
+<p>failed due to unrecoverable error </p>
+</td></tr>
+</table>
+
+</div>
+</div>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="ga473c3092ebf00792106cdc741d0b14ac"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">PN_EXTERN pn_sasl_t* pn_sasl </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__transport.html#gac26eda05f649bbf0399f3d8d78d12fa8">pn_transport_t</a> *&#160;</td>
+          <td class="paramname"><em>transport</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Construct an Authentication and Security Layer object</p>
+<p>This will return the SASL layer object for the supplied transport object. If there is currently no SASL layer one will be created.</p>
+<p>On the client side of an AMQP connection this will have the effect of ensuring that the AMQP SASL layer is used for that connection.</p>
+<dl class="section return"><dt>Returns</dt><dd>an object representing the SASL layer. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="gacdc9d99d6717e74fa5df4de1515644db"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">PN_EXTERN void pn_sasl_allowed_mechs </td>
+          <td>(</td>
+          <td class="paramtype">pn_sasl_t *&#160;</td>
+          <td class="paramname"><em>sasl</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&#160;</td>
+          <td class="paramname"><em>mechs</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>SASL mechanisms that are to be considered for authentication</p>
+<p>This can be used on either the client or the server to restrict the SASL mechanisms that may be used to the mechanisms on the list.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">sasl</td><td>the SASL layer </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">mechs</td><td>space separated list of mechanisms that are allowed for authentication </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="gae4ef8946525b044cc2d84ff801e1ae20"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">PN_EXTERN void pn_sasl_config_name </td>
+          <td>(</td>
+          <td class="paramtype">pn_sasl_t *&#160;</td>
+          <td class="paramname"><em>sasl</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&#160;</td>
+          <td class="paramname"><em>name</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Set the sasl configuration name</p>
+<p>This is used to construct the SASL configuration filename. In the current implementation it ".conf" is added to the name and the file is looked for in the configuration directory.</p>
+<p>If not set it will default to "proton-server" for a sasl server and "proton-client" for a client.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">sasl</td><td>the SASL layer </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">name</td><td>the configuration name </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="ga8aa6f7e87a9eabf2d4ad8533fd7a4d3c"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">PN_EXTERN void pn_sasl_config_path </td>
+          <td>(</td>
+          <td class="paramtype">pn_sasl_t *&#160;</td>
+          <td class="paramname"><em>sasl</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&#160;</td>
+          <td class="paramname"><em>path</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Set the sasl configuration path</p>
+<p>This is used to tell SASL where to look for the configuration file. In the current implementation it can be a colon separated list of directories.</p>
+<p>The environment variable PN_SASL_CONFIG_PATH can also be used to set this path, but if both methods are used then this <a class="el" href="group__sasl.html#ga8aa6f7e87a9eabf2d4ad8533fd7a4d3c">pn_sasl_config_path()</a> will take precedence.</p>
+<p>If not set the underlying implementation default will be used. for a client.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">sasl</td><td>the SASL layer </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">path</td><td>the configuration path </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="gaecd3b1f55fc81c6586bc435772f829d3"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">PN_EXTERN void pn_sasl_done </td>
+          <td>(</td>
+          <td class="paramtype">pn_sasl_t *&#160;</td>
+          <td class="paramname"><em>sasl</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="group__sasl.html#gad44e79f52e0669b1930689b56dfa9c3b">pn_sasl_outcome_t</a>&#160;</td>
+          <td class="paramname"><em>outcome</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Set the outcome of SASL negotiation</p>
+<p>Used by the server to set the result of the negotiation process.</p>
+<dl class="todo"><dt><b><a class="el" href="todo.html#_todo000002">Todo:</a></b></dt><dd></dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga8ab2ab1ca7ed8a476fbf01e742425f3d"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">PN_EXTERN bool pn_sasl_extended </td>
+          <td>(</td>
+          <td class="paramtype">void&#160;</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Do we support extended SASL negotiation</p>
+<p>Do we support extended SASL negotiation? All implementations of Proton support ANONYMOUS and EXTERNAL on both client and server sides and PLAIN on the client side.</p>
+<p>Extended SASL implememtations use an external library (Cyrus SASL) to support other mechanisms beyond these basic ones.</p>
+<dl class="section return"><dt>Returns</dt><dd>true if we support extended SASL negotiation, false if we only support basic negotiation. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga4f18db720611136dd7d6798b8bfbc94c"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">PN_EXTERN bool pn_sasl_get_allow_insecure_mechs </td>
+          <td>(</td>
+          <td class="paramtype">pn_sasl_t *&#160;</td>
+          <td class="paramname"><em>sasl</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Return the current value for allow_insecure_mechs</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">sasl</td><td>the SASL layer </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="ga77adf112018a4b457df4abbf5b31873b"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">PN_EXTERN const char* pn_sasl_get_mech </td>
+          <td>(</td>
+          <td class="paramtype">pn_sasl_t *&#160;</td>
+          <td class="paramname"><em>sasl</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Return the selected SASL mechanism</p>
+<p>The returned value is only reliable after the PN_TRANSPORT_AUTHENTICATED event has been received.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">sasl</td><td>the SASL layer</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>The authentication mechanism selected by the SASL layer </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="gafff63feb3a2eccd74f7b472ee235a886"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">PN_EXTERN const char* pn_sasl_get_user </td>
+          <td>(</td>
+          <td class="paramtype">pn_sasl_t *&#160;</td>
+          <td class="paramname"><em>sasl</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Retrieve the authenticated user</p>
+<p>This is usually used at the the server end to find the name of the authenticated user. On the client it will merely return whatever user was passed in to the pn_transport_set_user_password() API.</p>
+<p>If <a class="el" href="group__sasl.html#gaec4ace7d77037c60f1df02f2bb0be0f8">pn_sasl_outcome()</a> returns a value other than PN_SASL_OK, then there will be no user to return. The returned value is only reliable after the PN_TRANSPORT_AUTHENTICATED event has been received.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">sasl</td><td>the sasl layer</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>If the SASL layer was not negotiated then 0 is returned If the ANONYMOUS mechanism is used then the user will be "anonymous" Otherwise a string containing the user is returned. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="gaec4ace7d77037c60f1df02f2bb0be0f8"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">PN_EXTERN <a class="el" href="group__sasl.html#gad44e79f52e0669b1930689b56dfa9c3b">pn_sasl_outcome_t</a> pn_sasl_outcome </td>
+          <td>(</td>
+          <td class="paramtype">pn_sasl_t *&#160;</td>
+          <td class="paramname"><em>sasl</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Retrieve the outcome of SASL negotiation.</p>
+<dl class="todo"><dt><b><a class="el" href="todo.html#_todo000003">Todo:</a></b></dt><dd></dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga841eea7a3e34539aa6176ebc055cdc16"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">PN_EXTERN void pn_sasl_set_allow_insecure_mechs </td>
+          <td>(</td>
+          <td class="paramtype">pn_sasl_t *&#160;</td>
+          <td class="paramname"><em>sasl</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">bool&#160;</td>
+          <td class="paramname"><em>insecure</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Boolean to allow use of clear text authentication mechanisms</p>
+<p>By default the SASL layer is configured not to allow mechanisms that disclose the clear text of the password over an unencrypted AMQP connection. This specifically will disallow the use of the PLAIN mechanism without using SSL encryption.</p>
+<p>This default is to avoid disclosing password information accidentally over an insecure network.</p>
+<p>If you actually wish to use a clear text password unencrypted then you can use this API to set allow_insecure_mechs to true.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">sasl</td><td>the SASL layer </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">insecure</td><td>set this to true to allow unencrypted PLAIN authentication. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="footer">Generated by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.10 </li>
+  </ul>
+</div>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/qpid-site/blob/a1191dd3/content/releases/qpid-proton-0.13.0/proton/c/api/group__sasl.js
----------------------------------------------------------------------
diff --git a/content/releases/qpid-proton-0.13.0/proton/c/api/group__sasl.js b/content/releases/qpid-proton-0.13.0/proton/c/api/group__sasl.js
new file mode 100755
index 0000000..c0774b5
--- /dev/null
+++ b/content/releases/qpid-proton-0.13.0/proton/c/api/group__sasl.js
@@ -0,0 +1,21 @@
+var group__sasl =
+[
+    [ "pn_sasl_outcome_t", "group__sasl.html#gad44e79f52e0669b1930689b56dfa9c3b", [
+      [ "PN_SASL_OK", "group__sasl.html#ggad44e79f52e0669b1930689b56dfa9c3ba0050b91650a3826a090e13f57b3b941e", null ],
+      [ "PN_SASL_AUTH", "group__sasl.html#ggad44e79f52e0669b1930689b56dfa9c3bac63734ecde7c8170554f6bf04f6ce64a", null ],
+      [ "PN_SASL_SYS", "group__sasl.html#ggad44e79f52e0669b1930689b56dfa9c3bacd46a2fda23f674c23ed81e6076c1939", null ],
+      [ "PN_SASL_PERM", "group__sasl.html#ggad44e79f52e0669b1930689b56dfa9c3ba03019f909ba1d98aae94437ca4bd0191", null ],
+      [ "PN_SASL_TEMP", "group__sasl.html#ggad44e79f52e0669b1930689b56dfa9c3baee28d2c03fa80dccf771e37aae1bcdf3", null ]
+    ] ],
+    [ "pn_sasl", "group__sasl.html#ga473c3092ebf00792106cdc741d0b14ac", null ],
+    [ "pn_sasl_allowed_mechs", "group__sasl.html#gacdc9d99d6717e74fa5df4de1515644db", null ],
+    [ "pn_sasl_config_name", "group__sasl.html#gae4ef8946525b044cc2d84ff801e1ae20", null ],
+    [ "pn_sasl_config_path", "group__sasl.html#ga8aa6f7e87a9eabf2d4ad8533fd7a4d3c", null ],
+    [ "pn_sasl_done", "group__sasl.html#gaecd3b1f55fc81c6586bc435772f829d3", null ],
+    [ "pn_sasl_extended", "group__sasl.html#ga8ab2ab1ca7ed8a476fbf01e742425f3d", null ],
+    [ "pn_sasl_get_allow_insecure_mechs", "group__sasl.html#ga4f18db720611136dd7d6798b8bfbc94c", null ],
+    [ "pn_sasl_get_mech", "group__sasl.html#ga77adf112018a4b457df4abbf5b31873b", null ],
+    [ "pn_sasl_get_user", "group__sasl.html#gafff63feb3a2eccd74f7b472ee235a886", null ],
+    [ "pn_sasl_outcome", "group__sasl.html#gaec4ace7d77037c60f1df02f2bb0be0f8", null ],
+    [ "pn_sasl_set_allow_insecure_mechs", "group__sasl.html#ga841eea7a3e34539aa6176ebc055cdc16", null ]
+];
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/qpid-site/blob/a1191dd3/content/releases/qpid-proton-0.13.0/proton/c/api/group__selectable.html
----------------------------------------------------------------------
diff --git a/content/releases/qpid-proton-0.13.0/proton/c/api/group__selectable.html b/content/releases/qpid-proton-0.13.0/proton/c/api/group__selectable.html
new file mode 100755
index 0000000..fdcf6a2
--- /dev/null
+++ b/content/releases/qpid-proton-0.13.0/proton/c/api/group__selectable.html
@@ -0,0 +1,678 @@
+<!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.10"/>
+<title>Qpid Proton C API: Selectable</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+  $(window).load(resizeHeight);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Qpid Proton C API
+   &#160;<span id="projectnumber">0.13.0</span>
+   </div>
+  </td>
+   <td>        <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>
+</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.10 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('group__selectable.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#typedef-members">Typedefs</a> &#124;
+<a href="#func-members">Functions</a>  </div>
+  <div class="headertitle">
+<div class="title">Selectable</div>  </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
+Typedefs</h2></td></tr>
+<tr class="memitem:gabd89005d4809b972caae64996ac43203"><td class="memItemLeft" align="right" valign="top">typedef pn_iterator_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__selectable.html#gabd89005d4809b972caae64996ac43203">pn_selectables_t</a></td></tr>
+<tr class="separator:gabd89005d4809b972caae64996ac43203"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gab7034170bf6367b989281d8ddaa87b09"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="group__selectable.html#gab7034170bf6367b989281d8ddaa87b09">pn_selectable_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__selectable.html#gab7034170bf6367b989281d8ddaa87b09">pn_selectable_t</a></td></tr>
+<tr class="separator:gab7034170bf6367b989281d8ddaa87b09"><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:ga7595ef1175f76f8372271ace9fac1f6c"><td class="memItemLeft" align="right" valign="top">PN_EXTERN <a class="el" href="group__selectable.html#gabd89005d4809b972caae64996ac43203">pn_selectables_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__selectable.html#ga7595ef1175f76f8372271ace9fac1f6c">pn_selectables</a> (void)</td></tr>
+<tr class="separator:ga7595ef1175f76f8372271ace9fac1f6c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga5d73786d6a3e2b3ebb3dd66ff8f7dba2"><td class="memItemLeft" align="right" valign="top">PN_EXTERN <a class="el" href="group__selectable.html#gab7034170bf6367b989281d8ddaa87b09">pn_selectable_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__selectable.html#ga5d73786d6a3e2b3ebb3dd66ff8f7dba2">pn_selectables_next</a> (<a class="el" href="group__selectable.html#gabd89005d4809b972caae64996ac43203">pn_selectables_t</a> *selectables)</td></tr>
+<tr class="separator:ga5d73786d6a3e2b3ebb3dd66ff8f7dba2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gab3c94bcdbb1fa4e43ef63db415d16b53"><td class="memItemLeft" align="right" valign="top">PN_EXTERN void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__selectable.html#gab3c94bcdbb1fa4e43ef63db415d16b53">pn_selectables_free</a> (<a class="el" href="group__selectable.html#gabd89005d4809b972caae64996ac43203">pn_selectables_t</a> *selectables)</td></tr>
+<tr class="separator:gab3c94bcdbb1fa4e43ef63db415d16b53"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gac22ee6b13a1678a4a33dc68404598a23"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gac22ee6b13a1678a4a33dc68404598a23"></a>
+PN_EXTERN <a class="el" href="group__selectable.html#gab7034170bf6367b989281d8ddaa87b09">pn_selectable_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>pn_selectable</b> (void)</td></tr>
+<tr class="separator:gac22ee6b13a1678a4a33dc68404598a23"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gaaf6dc533a6bf846a3e78a468d2cfa8da"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gaaf6dc533a6bf846a3e78a468d2cfa8da"></a>
+PN_EXTERN void&#160;</td><td class="memItemRight" valign="bottom"><b>pn_selectable_on_readable</b> (<a class="el" href="group__selectable.html#gab7034170bf6367b989281d8ddaa87b09">pn_selectable_t</a> *sel, void(*readable)(<a class="el" href="group__selectable.html#gab7034170bf6367b989281d8ddaa87b09">pn_selectable_t</a> *))</td></tr>
+<tr class="separator:gaaf6dc533a6bf846a3e78a468d2cfa8da"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga2595c36b30e5f159ef4bb7e8772f6690"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga2595c36b30e5f159ef4bb7e8772f6690"></a>
+PN_EXTERN void&#160;</td><td class="memItemRight" valign="bottom"><b>pn_selectable_on_writable</b> (<a class="el" href="group__selectable.html#gab7034170bf6367b989281d8ddaa87b09">pn_selectable_t</a> *sel, void(*writable)(<a class="el" href="group__selectable.html#gab7034170bf6367b989281d8ddaa87b09">pn_selectable_t</a> *))</td></tr>
+<tr class="separator:ga2595c36b30e5f159ef4bb7e8772f6690"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gac4e684d6009fc7707d8da961027bee73"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gac4e684d6009fc7707d8da961027bee73"></a>
+PN_EXTERN void&#160;</td><td class="memItemRight" valign="bottom"><b>pn_selectable_on_expired</b> (<a class="el" href="group__selectable.html#gab7034170bf6367b989281d8ddaa87b09">pn_selectable_t</a> *sel, void(*expired)(<a class="el" href="group__selectable.html#gab7034170bf6367b989281d8ddaa87b09">pn_selectable_t</a> *))</td></tr>
+<tr class="separator:gac4e684d6009fc7707d8da961027bee73"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga00b61fde6d06800a6707f76049d84cff"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga00b61fde6d06800a6707f76049d84cff"></a>
+PN_EXTERN void&#160;</td><td class="memItemRight" valign="bottom"><b>pn_selectable_on_error</b> (<a class="el" href="group__selectable.html#gab7034170bf6367b989281d8ddaa87b09">pn_selectable_t</a> *sel, void(*error)(<a class="el" href="group__selectable.html#gab7034170bf6367b989281d8ddaa87b09">pn_selectable_t</a> *))</td></tr>
+<tr class="separator:ga00b61fde6d06800a6707f76049d84cff"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga608c9ee483928628bd253184d6a9ed0e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga608c9ee483928628bd253184d6a9ed0e"></a>
+PN_EXTERN void&#160;</td><td class="memItemRight" valign="bottom"><b>pn_selectable_on_release</b> (<a class="el" href="group__selectable.html#gab7034170bf6367b989281d8ddaa87b09">pn_selectable_t</a> *sel, void(*release)(<a class="el" href="group__selectable.html#gab7034170bf6367b989281d8ddaa87b09">pn_selectable_t</a> *))</td></tr>
+<tr class="separator:ga608c9ee483928628bd253184d6a9ed0e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gaf0b70242f5ebfaf14d858b2a616129cb"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gaf0b70242f5ebfaf14d858b2a616129cb"></a>
+PN_EXTERN void&#160;</td><td class="memItemRight" valign="bottom"><b>pn_selectable_on_finalize</b> (<a class="el" href="group__selectable.html#gab7034170bf6367b989281d8ddaa87b09">pn_selectable_t</a> *sel, void(*finalize)(<a class="el" href="group__selectable.html#gab7034170bf6367b989281d8ddaa87b09">pn_selectable_t</a> *))</td></tr>
+<tr class="separator:gaf0b70242f5ebfaf14d858b2a616129cb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga90538d7c83ab1bd694fac6fb58b17b15"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga90538d7c83ab1bd694fac6fb58b17b15"></a>
+PN_EXTERN pn_record_t *&#160;</td><td class="memItemRight" valign="bottom"><b>pn_selectable_attachments</b> (<a class="el" href="group__selectable.html#gab7034170bf6367b989281d8ddaa87b09">pn_selectable_t</a> *sel)</td></tr>
+<tr class="separator:ga90538d7c83ab1bd694fac6fb58b17b15"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga238c5b9cc9e1da20a1004b58114e9d9b"><td class="memItemLeft" align="right" valign="top">PN_EXTERN pn_socket_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__selectable.html#ga238c5b9cc9e1da20a1004b58114e9d9b">pn_selectable_get_fd</a> (<a class="el" href="group__selectable.html#gab7034170bf6367b989281d8ddaa87b09">pn_selectable_t</a> *selectable)</td></tr>
+<tr class="separator:ga238c5b9cc9e1da20a1004b58114e9d9b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga24c4f23535410e4ab17bd6d3ef7c1276"><td class="memItemLeft" align="right" valign="top">PN_EXTERN void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__selectable.html#ga24c4f23535410e4ab17bd6d3ef7c1276">pn_selectable_set_fd</a> (<a class="el" href="group__selectable.html#gab7034170bf6367b989281d8ddaa87b09">pn_selectable_t</a> *selectable, pn_socket_t fd)</td></tr>
+<tr class="separator:ga24c4f23535410e4ab17bd6d3ef7c1276"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga7d694a1644c989937fb72b70782f4979"><td class="memItemLeft" align="right" valign="top">PN_EXTERN bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__selectable.html#ga7d694a1644c989937fb72b70782f4979">pn_selectable_is_reading</a> (<a class="el" href="group__selectable.html#gab7034170bf6367b989281d8ddaa87b09">pn_selectable_t</a> *selectable)</td></tr>
+<tr class="separator:ga7d694a1644c989937fb72b70782f4979"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gad386a4b850dc8272f3d9aea75d81e7b1"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gad386a4b850dc8272f3d9aea75d81e7b1"></a>
+PN_EXTERN void&#160;</td><td class="memItemRight" valign="bottom"><b>pn_selectable_set_reading</b> (<a class="el" href="group__selectable.html#gab7034170bf6367b989281d8ddaa87b09">pn_selectable_t</a> *sel, bool reading)</td></tr>
+<tr class="separator:gad386a4b850dc8272f3d9aea75d81e7b1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gadfaf415f218c9d10bbfc7d1431291198"><td class="memItemLeft" align="right" valign="top">PN_EXTERN bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__selectable.html#gadfaf415f218c9d10bbfc7d1431291198">pn_selectable_is_writing</a> (<a class="el" href="group__selectable.html#gab7034170bf6367b989281d8ddaa87b09">pn_selectable_t</a> *selectable)</td></tr>
+<tr class="separator:gadfaf415f218c9d10bbfc7d1431291198"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga1fa689f7fcef178cda3452c3b3e9afc8"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga1fa689f7fcef178cda3452c3b3e9afc8"></a>
+PN_EXTERN void&#160;</td><td class="memItemRight" valign="bottom"><b>pn_selectable_set_writing</b> (<a class="el" href="group__selectable.html#gab7034170bf6367b989281d8ddaa87b09">pn_selectable_t</a> *sel, bool writing)</td></tr>
+<tr class="separator:ga1fa689f7fcef178cda3452c3b3e9afc8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga8a9c9a60982e79b7e648b84fdd0443f9"><td class="memItemLeft" align="right" valign="top">PN_EXTERN pn_timestamp_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__selectable.html#ga8a9c9a60982e79b7e648b84fdd0443f9">pn_selectable_get_deadline</a> (<a class="el" href="group__selectable.html#gab7034170bf6367b989281d8ddaa87b09">pn_selectable_t</a> *selectable)</td></tr>
+<tr class="separator:ga8a9c9a60982e79b7e648b84fdd0443f9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga117880989dbc0091c510f2d165f67903"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga117880989dbc0091c510f2d165f67903"></a>
+PN_EXTERN void&#160;</td><td class="memItemRight" valign="bottom"><b>pn_selectable_set_deadline</b> (<a class="el" href="group__selectable.html#gab7034170bf6367b989281d8ddaa87b09">pn_selectable_t</a> *sel, pn_timestamp_t deadline)</td></tr>
+<tr class="separator:ga117880989dbc0091c510f2d165f67903"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga6995acf52d96089dae30519d3d5b398a"><td class="memItemLeft" align="right" valign="top">PN_EXTERN void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__selectable.html#ga6995acf52d96089dae30519d3d5b398a">pn_selectable_readable</a> (<a class="el" href="group__selectable.html#gab7034170bf6367b989281d8ddaa87b09">pn_selectable_t</a> *selectable)</td></tr>
+<tr class="separator:ga6995acf52d96089dae30519d3d5b398a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gabe97a97bb29ba60d7bc5bc1fa2b4b1af"><td class="memItemLeft" align="right" valign="top">PN_EXTERN void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__selectable.html#gabe97a97bb29ba60d7bc5bc1fa2b4b1af">pn_selectable_writable</a> (<a class="el" href="group__selectable.html#gab7034170bf6367b989281d8ddaa87b09">pn_selectable_t</a> *selectable)</td></tr>
+<tr class="separator:gabe97a97bb29ba60d7bc5bc1fa2b4b1af"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gae6702a8bd6fb7e6e52294cfd7f4638e4"><td class="memItemLeft" align="right" valign="top">PN_EXTERN void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__selectable.html#gae6702a8bd6fb7e6e52294cfd7f4638e4">pn_selectable_error</a> (<a class="el" href="group__selectable.html#gab7034170bf6367b989281d8ddaa87b09">pn_selectable_t</a> *selectable)</td></tr>
+<tr class="separator:gae6702a8bd6fb7e6e52294cfd7f4638e4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga695af605ead4986abcdf652cf962d75a"><td class="memItemLeft" align="right" valign="top">PN_EXTERN void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__selectable.html#ga695af605ead4986abcdf652cf962d75a">pn_selectable_expired</a> (<a class="el" href="group__selectable.html#gab7034170bf6367b989281d8ddaa87b09">pn_selectable_t</a> *selectable)</td></tr>
+<tr class="separator:ga695af605ead4986abcdf652cf962d75a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gaf2d8b01aa4135e5c2180433889c1a8b7"><td class="memItemLeft" align="right" valign="top">PN_EXTERN bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__selectable.html#gaf2d8b01aa4135e5c2180433889c1a8b7">pn_selectable_is_registered</a> (<a class="el" href="group__selectable.html#gab7034170bf6367b989281d8ddaa87b09">pn_selectable_t</a> *selectable)</td></tr>
+<tr class="separator:gaf2d8b01aa4135e5c2180433889c1a8b7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga863a4c0fd0ea5cc83d5227647495d6c2"><td class="memItemLeft" align="right" valign="top">PN_EXTERN void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__selectable.html#ga863a4c0fd0ea5cc83d5227647495d6c2">pn_selectable_set_registered</a> (<a class="el" href="group__selectable.html#gab7034170bf6367b989281d8ddaa87b09">pn_selectable_t</a> *selectable, bool registered)</td></tr>
+<tr class="separator:ga863a4c0fd0ea5cc83d5227647495d6c2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga61382d23348378e41b4a474ca33f5bf7"><td class="memItemLeft" align="right" valign="top">PN_EXTERN bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__selectable.html#ga61382d23348378e41b4a474ca33f5bf7">pn_selectable_is_terminal</a> (<a class="el" href="group__selectable.html#gab7034170bf6367b989281d8ddaa87b09">pn_selectable_t</a> *selectable)</td></tr>
+<tr class="separator:ga61382d23348378e41b4a474ca33f5bf7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga18868416a68de0a8c51cfb664510edac"><td class="memItemLeft" align="right" valign="top">PN_EXTERN void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__selectable.html#ga18868416a68de0a8c51cfb664510edac">pn_selectable_terminate</a> (<a class="el" href="group__selectable.html#gab7034170bf6367b989281d8ddaa87b09">pn_selectable_t</a> *selectable)</td></tr>
+<tr class="separator:ga18868416a68de0a8c51cfb664510edac"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gad06868870ea4b401559e9de0fd9d21f8"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gad06868870ea4b401559e9de0fd9d21f8"></a>
+PN_EXTERN void&#160;</td><td class="memItemRight" valign="bottom"><b>pn_selectable_release</b> (<a class="el" href="group__selectable.html#gab7034170bf6367b989281d8ddaa87b09">pn_selectable_t</a> *selectable)</td></tr>
+<tr class="separator:gad06868870ea4b401559e9de0fd9d21f8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gaea1eb47248399c5e6fe6790cef85dab9"><td class="memItemLeft" align="right" valign="top">PN_EXTERN void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__selectable.html#gaea1eb47248399c5e6fe6790cef85dab9">pn_selectable_free</a> (<a class="el" href="group__selectable.html#gab7034170bf6367b989281d8ddaa87b09">pn_selectable_t</a> *selectable)</td></tr>
+<tr class="separator:gaea1eb47248399c5e6fe6790cef85dab9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga8ed074cff009036aba5d5848036d8f72"><td class="memItemLeft" align="right" valign="top">PN_EXTERN void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__selectable.html#ga8ed074cff009036aba5d5848036d8f72">pn_selectable_collect</a> (<a class="el" href="group__selectable.html#gab7034170bf6367b989281d8ddaa87b09">pn_selectable_t</a> *selectable, <a class="el" href="group__event.html#ga905cdecedb8020bc28e648e43348b5d1">pn_collector_t</a> *collector)</td></tr>
+<tr class="separator:ga8ed074cff009036aba5d5848036d8f72"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<h2 class="groupheader">Typedef Documentation</h2>
+<a class="anchor" id="gab7034170bf6367b989281d8ddaa87b09"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">typedef struct <a class="el" href="group__selectable.html#gab7034170bf6367b989281d8ddaa87b09">pn_selectable_t</a> <a class="el" href="group__selectable.html#gab7034170bf6367b989281d8ddaa87b09">pn_selectable_t</a></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>A selectable object provides an interface that can be used to incorporate proton's I/O into third party event loops.</p>
+<p>Every selectable is associated with exactly one file descriptor. Selectables may be interested in three kinds of events, read events, write events, and timer events.</p>
+<p>When a read, write, or timer event occurs, the selectable must be notified by calling <a class="el" href="group__selectable.html#ga6995acf52d96089dae30519d3d5b398a">pn_selectable_readable()</a>, <a class="el" href="group__selectable.html#gabe97a97bb29ba60d7bc5bc1fa2b4b1af">pn_selectable_writable()</a>, and <a class="el" href="group__selectable.html#ga695af605ead4986abcdf652cf962d75a">pn_selectable_expired()</a> as appropriate.</p>
+<p>Once a selectable reaches a terminal state (see <a class="el" href="group__selectable.html#ga61382d23348378e41b4a474ca33f5bf7">pn_selectable_is_terminal()</a>), it will never be interested in events of any kind. When this occurs it should be removed from the external event loop and discarded using <a class="el" href="group__selectable.html#gaea1eb47248399c5e6fe6790cef85dab9">pn_selectable_free()</a>. </p>
+
+</div>
+</div>
+<a class="anchor" id="gabd89005d4809b972caae64996ac43203"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">typedef pn_iterator_t <a class="el" href="group__selectable.html#gabd89005d4809b972caae64996ac43203">pn_selectables_t</a></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>An iterator for selectables. </p>
+
+</div>
+</div>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="ga8ed074cff009036aba5d5848036d8f72"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">PN_EXTERN void pn_selectable_collect </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__selectable.html#gab7034170bf6367b989281d8ddaa87b09">pn_selectable_t</a> *&#160;</td>
+          <td class="paramname"><em>selectable</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="group__event.html#ga905cdecedb8020bc28e648e43348b5d1">pn_collector_t</a> *&#160;</td>
+          <td class="paramname"><em>collector</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Configure a selectable with a set of callbacks that emit readable, writable, and expired events into the supplied collector.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">selectable</td><td>a selectable objet </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">collector</td><td>a collector object </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="gae6702a8bd6fb7e6e52294cfd7f4638e4"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">PN_EXTERN void pn_selectable_error </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__selectable.html#gab7034170bf6367b989281d8ddaa87b09">pn_selectable_t</a> *&#160;</td>
+          <td class="paramname"><em>selectable</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Notify a selectable that there is an error on the file descriptor.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">selectable</td><td>a selectable object </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="ga695af605ead4986abcdf652cf962d75a"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">PN_EXTERN void pn_selectable_expired </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__selectable.html#gab7034170bf6367b989281d8ddaa87b09">pn_selectable_t</a> *&#160;</td>
+          <td class="paramname"><em>selectable</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Notify a selectable that its deadline has expired.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">selectable</td><td>a selectable object </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="gaea1eb47248399c5e6fe6790cef85dab9"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">PN_EXTERN void pn_selectable_free </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__selectable.html#gab7034170bf6367b989281d8ddaa87b09">pn_selectable_t</a> *&#160;</td>
+          <td class="paramname"><em>selectable</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Free a selectable object.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">selectable</td><td>a selectable object (or NULL) </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="ga8a9c9a60982e79b7e648b84fdd0443f9"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">PN_EXTERN pn_timestamp_t pn_selectable_get_deadline </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__selectable.html#gab7034170bf6367b989281d8ddaa87b09">pn_selectable_t</a> *&#160;</td>
+          <td class="paramname"><em>selectable</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Get the next deadline for a selectable.</p>
+<p>A selectable with a deadline is interested in being notified when that deadline expires. Zero indicates there is currently no deadline.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">selectable</td><td>a selectable object </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>the next deadline or zero </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga238c5b9cc9e1da20a1004b58114e9d9b"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">PN_EXTERN pn_socket_t pn_selectable_get_fd </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__selectable.html#gab7034170bf6367b989281d8ddaa87b09">pn_selectable_t</a> *&#160;</td>
+          <td class="paramname"><em>selectable</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Get the file descriptor associated with a selectable.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">selectable</td><td>a selectable object </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>the file descriptor associated with the selectable </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga7d694a1644c989937fb72b70782f4979"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">PN_EXTERN bool pn_selectable_is_reading </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__selectable.html#gab7034170bf6367b989281d8ddaa87b09">pn_selectable_t</a> *&#160;</td>
+          <td class="paramname"><em>selectable</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Check if a selectable is interested in readable events.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">selectable</td><td>a selectable object </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>true iff the selectable is interested in read events </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="gaf2d8b01aa4135e5c2180433889c1a8b7"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">PN_EXTERN bool pn_selectable_is_registered </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__selectable.html#gab7034170bf6367b989281d8ddaa87b09">pn_selectable_t</a> *&#160;</td>
+          <td class="paramname"><em>selectable</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Check if a selectable is registered.</p>
+<p>This flag is set via <a class="el" href="group__selectable.html#ga863a4c0fd0ea5cc83d5227647495d6c2">pn_selectable_set_registered()</a> and can be used for tracking whether a given selectable has been registerd with an external event loop.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">selectable</td><td></td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>true if the selectable is registered </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga61382d23348378e41b4a474ca33f5bf7"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">PN_EXTERN bool pn_selectable_is_terminal </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__selectable.html#gab7034170bf6367b989281d8ddaa87b09">pn_selectable_t</a> *&#160;</td>
+          <td class="paramname"><em>selectable</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Check if a selectable is in the terminal state.</p>
+<p>A selectable that is in the terminal state will never be interested in being notified of events of any kind ever again. Once a selectable reaches this state it should be removed from any external I/O loops and freed in order to reclaim any resources associated with it.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">selectable</td><td>a selectable object </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>true if the selectable is in the terminal state, false otherwise </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="gadfaf415f218c9d10bbfc7d1431291198"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">PN_EXTERN bool pn_selectable_is_writing </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__selectable.html#gab7034170bf6367b989281d8ddaa87b09">pn_selectable_t</a> *&#160;</td>
+          <td class="paramname"><em>selectable</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Check if a selectable is interested in writable events.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">selectable</td><td>a selectable object </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>true iff the selectable is interested in writable events </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga6995acf52d96089dae30519d3d5b398a"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">PN_EXTERN void pn_selectable_readable </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__selectable.html#gab7034170bf6367b989281d8ddaa87b09">pn_selectable_t</a> *&#160;</td>
+          <td class="paramname"><em>selectable</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Notify a selectable that the file descriptor is readable.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">selectable</td><td>a selectable object </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="ga24c4f23535410e4ab17bd6d3ef7c1276"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">PN_EXTERN void pn_selectable_set_fd </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__selectable.html#gab7034170bf6367b989281d8ddaa87b09">pn_selectable_t</a> *&#160;</td>
+          <td class="paramname"><em>selectable</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">pn_socket_t&#160;</td>
+          <td class="paramname"><em>fd</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Set the file descriptor associated with a selectable.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">selectable</td><td>a selectable object </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">fd</td><td>the file descriptor </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="ga863a4c0fd0ea5cc83d5227647495d6c2"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">PN_EXTERN void pn_selectable_set_registered </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__selectable.html#gab7034170bf6367b989281d8ddaa87b09">pn_selectable_t</a> *&#160;</td>
+          <td class="paramname"><em>selectable</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">bool&#160;</td>
+          <td class="paramname"><em>registered</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Set the registered flag for a selectable.</p>
+<p>See <a class="el" href="group__selectable.html#gaf2d8b01aa4135e5c2180433889c1a8b7">pn_selectable_is_registered()</a> for details.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">selectable</td><td>a selectable object </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">registered</td><td>the registered flag </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="ga18868416a68de0a8c51cfb664510edac"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">PN_EXTERN void pn_selectable_terminate </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__selectable.html#gab7034170bf6367b989281d8ddaa87b09">pn_selectable_t</a> *&#160;</td>
+          <td class="paramname"><em>selectable</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Terminate a selectable.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">selectable</td><td>a selectable object </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="gabe97a97bb29ba60d7bc5bc1fa2b4b1af"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">PN_EXTERN void pn_selectable_writable </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__selectable.html#gab7034170bf6367b989281d8ddaa87b09">pn_selectable_t</a> *&#160;</td>
+          <td class="paramname"><em>selectable</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Notify a selectable that the file descriptor is writable.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">selectable</td><td>a selectable object </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="ga7595ef1175f76f8372271ace9fac1f6c"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">PN_EXTERN <a class="el" href="group__selectable.html#gabd89005d4809b972caae64996ac43203">pn_selectables_t</a>* pn_selectables </td>
+          <td>(</td>
+          <td class="paramtype">void&#160;</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Construct a new selectables iterator.</p>
+<dl class="section return"><dt>Returns</dt><dd>a pointer to a new selectables iterator </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="gab3c94bcdbb1fa4e43ef63db415d16b53"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">PN_EXTERN void pn_selectables_free </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__selectable.html#gabd89005d4809b972caae64996ac43203">pn_selectables_t</a> *&#160;</td>
+          <td class="paramname"><em>selectables</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Free a selectables iterator.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">selectables</td><td>a selectables iterator (or NULL) </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="ga5d73786d6a3e2b3ebb3dd66ff8f7dba2"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">PN_EXTERN <a class="el" href="group__selectable.html#gab7034170bf6367b989281d8ddaa87b09">pn_selectable_t</a>* pn_selectables_next </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__selectable.html#gabd89005d4809b972caae64996ac43203">pn_selectables_t</a> *&#160;</td>
+          <td class="paramname"><em>selectables</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Get the next selectable from an iterator.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">selectables</td><td>a selectable iterator </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>the next selectable from the iterator </dd></dl>
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="footer">Generated by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.10 </li>
+  </ul>
+</div>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/qpid-site/blob/a1191dd3/content/releases/qpid-proton-0.13.0/proton/c/api/group__selectable.js
----------------------------------------------------------------------
diff --git a/content/releases/qpid-proton-0.13.0/proton/c/api/group__selectable.js b/content/releases/qpid-proton-0.13.0/proton/c/api/group__selectable.js
new file mode 100755
index 0000000..7457d83
--- /dev/null
+++ b/content/releases/qpid-proton-0.13.0/proton/c/api/group__selectable.js
@@ -0,0 +1,23 @@
+var group__selectable =
+[
+    [ "pn_selectable_t", "group__selectable.html#gab7034170bf6367b989281d8ddaa87b09", null ],
+    [ "pn_selectables_t", "group__selectable.html#gabd89005d4809b972caae64996ac43203", null ],
+    [ "pn_selectable_collect", "group__selectable.html#ga8ed074cff009036aba5d5848036d8f72", null ],
+    [ "pn_selectable_error", "group__selectable.html#gae6702a8bd6fb7e6e52294cfd7f4638e4", null ],
+    [ "pn_selectable_expired", "group__selectable.html#ga695af605ead4986abcdf652cf962d75a", null ],
+    [ "pn_selectable_free", "group__selectable.html#gaea1eb47248399c5e6fe6790cef85dab9", null ],
+    [ "pn_selectable_get_deadline", "group__selectable.html#ga8a9c9a60982e79b7e648b84fdd0443f9", null ],
+    [ "pn_selectable_get_fd", "group__selectable.html#ga238c5b9cc9e1da20a1004b58114e9d9b", null ],
+    [ "pn_selectable_is_reading", "group__selectable.html#ga7d694a1644c989937fb72b70782f4979", null ],
+    [ "pn_selectable_is_registered", "group__selectable.html#gaf2d8b01aa4135e5c2180433889c1a8b7", null ],
+    [ "pn_selectable_is_terminal", "group__selectable.html#ga61382d23348378e41b4a474ca33f5bf7", null ],
+    [ "pn_selectable_is_writing", "group__selectable.html#gadfaf415f218c9d10bbfc7d1431291198", null ],
+    [ "pn_selectable_readable", "group__selectable.html#ga6995acf52d96089dae30519d3d5b398a", null ],
+    [ "pn_selectable_set_fd", "group__selectable.html#ga24c4f23535410e4ab17bd6d3ef7c1276", null ],
+    [ "pn_selectable_set_registered", "group__selectable.html#ga863a4c0fd0ea5cc83d5227647495d6c2", null ],
+    [ "pn_selectable_terminate", "group__selectable.html#ga18868416a68de0a8c51cfb664510edac", null ],
+    [ "pn_selectable_writable", "group__selectable.html#gabe97a97bb29ba60d7bc5bc1fa2b4b1af", null ],
+    [ "pn_selectables", "group__selectable.html#ga7595ef1175f76f8372271ace9fac1f6c", null ],
+    [ "pn_selectables_free", "group__selectable.html#gab3c94bcdbb1fa4e43ef63db415d16b53", null ],
+    [ "pn_selectables_next", "group__selectable.html#ga5d73786d6a3e2b3ebb3dd66ff8f7dba2", null ]
+];
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/qpid-site/blob/a1191dd3/content/releases/qpid-proton-0.13.0/proton/c/api/group__sender.html
----------------------------------------------------------------------
diff --git a/content/releases/qpid-proton-0.13.0/proton/c/api/group__sender.html b/content/releases/qpid-proton-0.13.0/proton/c/api/group__sender.html
new file mode 100755
index 0000000..6af9c1a
--- /dev/null
+++ b/content/releases/qpid-proton-0.13.0/proton/c/api/group__sender.html
@@ -0,0 +1,195 @@
+<!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.10"/>
+<title>Qpid Proton C API: Sender</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+  $(window).load(resizeHeight);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Qpid Proton C API
+   &#160;<span id="projectnumber">0.13.0</span>
+   </div>
+  </td>
+   <td>        <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>
+</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.10 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('group__sender.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#func-members">Functions</a>  </div>
+  <div class="headertitle">
+<div class="title">Sender<div class="ingroups"><a class="el" href="group__engine.html">Engine</a> &raquo; <a class="el" href="group__link.html">Link</a></div></div>  </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:gaa7a1eb227dde862c8a311535d1737b1a"><td class="memItemLeft" align="right" valign="top">PN_EXTERN void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__sender.html#gaa7a1eb227dde862c8a311535d1737b1a">pn_link_offered</a> (<a class="el" href="group__link.html#ga89dad3aa7934329a7ff467c636687bc0">pn_link_t</a> *sender, int credit)</td></tr>
+<tr class="separator:gaa7a1eb227dde862c8a311535d1737b1a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga6edd45454fe2ddd093aad94f3d277475"><td class="memItemLeft" align="right" valign="top">PN_EXTERN ssize_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__sender.html#ga6edd45454fe2ddd093aad94f3d277475">pn_link_send</a> (<a class="el" href="group__link.html#ga89dad3aa7934329a7ff467c636687bc0">pn_link_t</a> *sender, const char *bytes, size_t n)</td></tr>
+<tr class="separator:ga6edd45454fe2ddd093aad94f3d277475"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="gaa7a1eb227dde862c8a311535d1737b1a"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">PN_EXTERN void pn_link_offered </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__link.html#ga89dad3aa7934329a7ff467c636687bc0">pn_link_t</a> *&#160;</td>
+          <td class="paramname"><em>sender</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&#160;</td>
+          <td class="paramname"><em>credit</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Signal the availability of deliveries for a link.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">sender</td><td>a sender link object </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">credit</td><td>the number of deliveries potentially available for transfer </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="ga6edd45454fe2ddd093aad94f3d277475"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">PN_EXTERN ssize_t pn_link_send </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__link.html#ga89dad3aa7934329a7ff467c636687bc0">pn_link_t</a> *&#160;</td>
+          <td class="paramname"><em>sender</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&#160;</td>
+          <td class="paramname"><em>bytes</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">size_t&#160;</td>
+          <td class="paramname"><em>n</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Send message data for the current delivery on a link.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">sender</td><td>a sender link object </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">bytes</td><td>the start of the message data </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">n</td><td>the number of bytes of message data </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>the number of bytes sent, or an error code </dd></dl>
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="footer">Generated by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.10 </li>
+  </ul>
+</div>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/qpid-site/blob/a1191dd3/content/releases/qpid-proton-0.13.0/proton/c/api/group__sender.js
----------------------------------------------------------------------
diff --git a/content/releases/qpid-proton-0.13.0/proton/c/api/group__sender.js b/content/releases/qpid-proton-0.13.0/proton/c/api/group__sender.js
new file mode 100755
index 0000000..30c8904
--- /dev/null
+++ b/content/releases/qpid-proton-0.13.0/proton/c/api/group__sender.js
@@ -0,0 +1,5 @@
+var group__sender =
+[
+    [ "pn_link_offered", "group__sender.html#gaa7a1eb227dde862c8a311535d1737b1a", null ],
+    [ "pn_link_send", "group__sender.html#ga6edd45454fe2ddd093aad94f3d277475", null ]
+];
\ No newline at end of file


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org