http://git-wip-us.apache.org/repos/asf/qpid-site/blob/bc75d075/content/releases/qpid-proton-0.22.0/proton/c/api/group__proactor__events.html
----------------------------------------------------------------------
diff --git 
a/content/releases/qpid-proton-0.22.0/proton/c/api/group__proactor__events.html 
b/content/releases/qpid-proton-0.22.0/proton/c/api/group__proactor__events.html
new file mode 100755
index 0000000..f271456
--- /dev/null
+++ 
b/content/releases/qpid-proton-0.22.0/proton/c/api/group__proactor__events.html
@@ -0,0 +1,191 @@
+<!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.13"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Qpid Proton C API: Proactor events</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);
+</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.22.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.13 -->
+<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__proactor__events.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="headertitle">
+<div class="title">Proactor events<div class="ingroups"><a class="el" 
href="group__io.html">IO</a></div></div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p><b>Unsettled API</b> - Events used by the proactor.  
+<a href="#details">More...</a></p>
+<p><b>Unsettled API</b> - Events used by the proactor. </p>
+<p><a class="el" 
href="group__proactor.html#ga2b66a46f3e557010ec61bd105326753d" title="Wait 
until there are Proactor events to handle. ">pn_proactor_wait()</a> returns a 
subset of the event types defined by <a class="el" 
href="group__event.html#ga4876e2eed24a4d4e4c52b99842103cda">pn_event_type_t</a>.</p>
+<p>The PN_REACTOR_*, PN_SELECTABLE_*, and PN_*_FINAL events are not 
returned.</p>
+<table class="doxtable">
+<tr>
+<th align="left">Enumeration </th><th align="left">Brief description, see <a 
class="el" 
href="group__event.html#ga4876e2eed24a4d4e4c52b99842103cda">pn_event_type_t</a> 
for more  </th></tr>
+<tr>
+<td align="left"><a class="el" 
href="group__event.html#gga4876e2eed24a4d4e4c52b99842103cdaa182e571a0310028514bce66a41063a6e">PN_CONNECTION_INIT</a>
 </td><td align="left">The connection has been created. </td></tr>
+<tr>
+<td align="left"><a class="el" 
href="group__event.html#gga4876e2eed24a4d4e4c52b99842103cdaaf61aa79ca82b3a8f5017dc735843fae5">PN_CONNECTION_BOUND</a>
 </td><td align="left">The connection has been bound to a transport. </td></tr>
+<tr>
+<td align="left"><a class="el" 
href="group__event.html#gga4876e2eed24a4d4e4c52b99842103cdaa13fdcb0402f982fd366e58f165f376c9">PN_TIMER_TASK</a>
 </td><td align="left">A timer event has occurred. </td></tr>
+<tr>
+<td align="left"><a class="el" 
href="group__event.html#gga4876e2eed24a4d4e4c52b99842103cdaa182e571a0310028514bce66a41063a6e">PN_CONNECTION_INIT</a>
 </td><td align="left">The connection has been created. </td></tr>
+<tr>
+<td align="left"><a class="el" 
href="group__event.html#gga4876e2eed24a4d4e4c52b99842103cdaaf61aa79ca82b3a8f5017dc735843fae5">PN_CONNECTION_BOUND</a>
 </td><td align="left">The connection has been bound to a transport. </td></tr>
+<tr>
+<td align="left"><a class="el" 
href="group__event.html#gga4876e2eed24a4d4e4c52b99842103cdaac683ba544c12cbf36a3d3015ae818498">PN_CONNECTION_UNBOUND</a>
 </td><td align="left">The connection has been unbound from its transport. 
</td></tr>
+<tr>
+<td align="left"><a class="el" 
href="group__event.html#gga4876e2eed24a4d4e4c52b99842103cdaa5d285c46982df224c3e4733b05c3540a">PN_CONNECTION_LOCAL_OPEN</a>
 </td><td align="left">The local connection endpoint has been closed. </td></tr>
+<tr>
+<td align="left"><a class="el" 
href="group__event.html#gga4876e2eed24a4d4e4c52b99842103cdaad48bce685db553740fa71cc36473b5cc">PN_CONNECTION_REMOTE_OPEN</a>
 </td><td align="left">The remote endpoint has opened the connection. </td></tr>
+<tr>
+<td align="left"><a class="el" 
href="group__event.html#gga4876e2eed24a4d4e4c52b99842103cdaac8567664d41057ae94d23776f5ecdb86">PN_CONNECTION_LOCAL_CLOSE</a>
 </td><td align="left">The local connection endpoint has been closed. </td></tr>
+<tr>
+<td align="left"><a class="el" 
href="group__event.html#gga4876e2eed24a4d4e4c52b99842103cdaa1252529cf9f03d214c9b4fea5cf11b2f">PN_CONNECTION_REMOTE_CLOSE</a>
 </td><td align="left">The remote endpoint has closed the connection. </td></tr>
+<tr>
+<td align="left"><a class="el" 
href="group__event.html#gga4876e2eed24a4d4e4c52b99842103cdaaf5b92fb6331bfe63786db3950073147f">PN_SESSION_INIT</a>
 </td><td align="left">The session has been created. </td></tr>
+<tr>
+<td align="left"><a class="el" 
href="group__event.html#gga4876e2eed24a4d4e4c52b99842103cdaa0862b8e3613b7a2b5a08a779474df424">PN_SESSION_LOCAL_OPEN</a>
 </td><td align="left">The local session endpoint has been opened. </td></tr>
+<tr>
+<td align="left"><a class="el" 
href="group__event.html#gga4876e2eed24a4d4e4c52b99842103cdaaf67df046bea45df34aea863d9541e806">PN_SESSION_REMOTE_OPEN</a>
 </td><td align="left">The remote endpoint has opened the session. </td></tr>
+<tr>
+<td align="left"><a class="el" 
href="group__event.html#gga4876e2eed24a4d4e4c52b99842103cdaa5d3fe92cc7ef0e8712b038ecfbd05029">PN_SESSION_LOCAL_CLOSE</a>
 </td><td align="left">The local session endpoint has been closed. </td></tr>
+<tr>
+<td align="left"><a class="el" 
href="group__event.html#gga4876e2eed24a4d4e4c52b99842103cdaa3410075b825c59b8f4efdcddf5a5b135">PN_SESSION_REMOTE_CLOSE</a>
 </td><td align="left">The remote endpoint has closed the session. </td></tr>
+<tr>
+<td align="left"><a class="el" 
href="group__event.html#gga4876e2eed24a4d4e4c52b99842103cdaa2f9e46bded95d0233cc74a71fdc75a2c">PN_LINK_INIT</a>
 </td><td align="left">The link has been created. </td></tr>
+<tr>
+<td align="left"><a class="el" 
href="group__event.html#gga4876e2eed24a4d4e4c52b99842103cdaa5ddecd4b0ea72895413fbf1b5cb41f65">PN_LINK_LOCAL_OPEN</a>
 </td><td align="left">The local link endpoint has been opened. </td></tr>
+<tr>
+<td align="left"><a class="el" 
href="group__event.html#gga4876e2eed24a4d4e4c52b99842103cdaa45edb44a6cc7908b5032944e08925307">PN_LINK_REMOTE_OPEN</a>
 </td><td align="left">The remote endpoint has opened the link. </td></tr>
+<tr>
+<td align="left"><a class="el" 
href="group__event.html#gga4876e2eed24a4d4e4c52b99842103cdaa3b27f8d1c91cc05b47bed1905d42373a">PN_LINK_LOCAL_CLOSE</a>
 </td><td align="left">The local link endpoint has been closed. </td></tr>
+<tr>
+<td align="left"><a class="el" 
href="group__event.html#gga4876e2eed24a4d4e4c52b99842103cdaa1153f0108be071c31210dd1cd3e40a1f">PN_LINK_REMOTE_CLOSE</a>
 </td><td align="left">The remote endpoint has closed the link. </td></tr>
+<tr>
+<td align="left"><a class="el" 
href="group__event.html#gga4876e2eed24a4d4e4c52b99842103cdaa838b909cce908f5769d043ba3e73e73e">PN_LINK_LOCAL_DETACH</a>
 </td><td align="left">The local link endpoint has been detached. </td></tr>
+<tr>
+<td align="left"><a class="el" 
href="group__event.html#gga4876e2eed24a4d4e4c52b99842103cdaa5a84b68a2bd5ca705187381a785121d2">PN_LINK_REMOTE_DETACH</a>
 </td><td align="left">The remote endpoint has detached the link. </td></tr>
+<tr>
+<td align="left"><a class="el" 
href="group__event.html#gga4876e2eed24a4d4e4c52b99842103cdaa4eaecc54c07cdc9b0df7b1d536a7dc3f">PN_LINK_FLOW</a>
 </td><td align="left">The flow control state for a link has changed. </td></tr>
+<tr>
+<td align="left"><a class="el" 
href="group__event.html#gga4876e2eed24a4d4e4c52b99842103cdaa70bbfc163d85732b5652dc70fb3330fe">PN_DELIVERY</a>
 </td><td align="left">A delivery has been created or updated. </td></tr>
+<tr>
+<td align="left"><a class="el" 
href="group__event.html#gga4876e2eed24a4d4e4c52b99842103cdaad7329eb7a015f62ce70719ea20abab76">PN_TRANSPORT</a>
 </td><td align="left">The transport has new data to read and/or write. 
</td></tr>
+<tr>
+<td align="left"><a class="el" 
href="group__event.html#gga4876e2eed24a4d4e4c52b99842103cdaaa205271edd307e5d33bd8287a760ad28">PN_TRANSPORT_AUTHENTICATED</a>
 </td><td align="left">The transport has authenticated. </td></tr>
+<tr>
+<td align="left"><a class="el" 
href="group__event.html#gga4876e2eed24a4d4e4c52b99842103cdaa7c7278de5bcbf3b42b3e692ca21f6c5a">PN_TRANSPORT_ERROR</a>
 </td><td align="left">Indicates that a transport error has occurred. </td></tr>
+<tr>
+<td align="left"><a class="el" 
href="group__event.html#gga4876e2eed24a4d4e4c52b99842103cdaa98facd13835b4a1d8e878d6f13c10a51">PN_TRANSPORT_HEAD_CLOSED</a>
 </td><td align="left">Indicates that the "head" or writing end of the 
transport has been closed. </td></tr>
+<tr>
+<td align="left"><a class="el" 
href="group__event.html#gga4876e2eed24a4d4e4c52b99842103cdaa205d07df6cd3d07b37a89f046b1184db">PN_TRANSPORT_TAIL_CLOSED</a>
 </td><td align="left">Indicates that the tail of the transport has been 
closed. </td></tr>
+<tr>
+<td align="left"><a class="el" 
href="group__event.html#gga4876e2eed24a4d4e4c52b99842103cdaa1ca722ce3c0b2c13a33636cded8430ba">PN_TRANSPORT_CLOSED</a>
 </td><td align="left">The final event for a proactor connection, the transport 
is closed. </td></tr>
+<tr>
+<td align="left"><a class="el" 
href="group__event.html#gga4876e2eed24a4d4e4c52b99842103cdaa6e25f00110ab278fd8b34fee00bd5fd7">PN_LISTENER_OPEN</a>
 </td><td align="left">The listener is listening. </td></tr>
+<tr>
+<td align="left"><a class="el" 
href="group__event.html#gga4876e2eed24a4d4e4c52b99842103cdaa0602b15957883e7d00ccdff4abca992c">PN_LISTENER_ACCEPT</a>
 </td><td align="left">Indicates the listener has an incoming connection, call 
<a class="el" href="group__listener.html#ga3719a4ab17b8de42fc6bfb262018d070" 
title="Accept an incoming connection request using transport and connection, 
which can be configured before ...">pn_listener_accept2()</a> to accept it. 
</td></tr>
+<tr>
+<td align="left"><a class="el" 
href="group__event.html#gga4876e2eed24a4d4e4c52b99842103cdaad5920df168cd28daaf253cad789d8aca">PN_LISTENER_CLOSE</a>
 </td><td align="left">Indicates the listener has closed. </td></tr>
+<tr>
+<td align="left"><a class="el" 
href="group__event.html#gga4876e2eed24a4d4e4c52b99842103cdaaee05826a80e94b5b86c4544e4715f499">PN_PROACTOR_INTERRUPT</a>
 </td><td align="left">Indicates <a class="el" 
href="group__proactor.html#gaa5255cd1bcb5d7f5639b53dc30712711" title="Return a 
PN_PROACTOR_INTERRUPT event as soon as possible. ">pn_proactor_interrupt()</a> 
was called to interrupt a proactor thread. </td></tr>
+<tr>
+<td align="left"><a class="el" 
href="group__event.html#gga4876e2eed24a4d4e4c52b99842103cdaa4afa8c2da61f4c665c669fbe37b1c5fe">PN_PROACTOR_TIMEOUT</a>
 </td><td align="left">Timeout set by <a class="el" 
href="group__proactor.html#gad7cd71f06282eb290699d90c316b2d32" title="Return a 
PN_PROACTOR_TIMEOUT after timeout milliseconds elapse. 
">pn_proactor_set_timeout()</a> time limit expired. </td></tr>
+<tr>
+<td align="left"><a class="el" 
href="group__event.html#gga4876e2eed24a4d4e4c52b99842103cdaa894e93f167ef39e28a07c9cdf6b1181b">PN_PROACTOR_INACTIVE</a>
 </td><td align="left">The proactor has become inactive: all listeners and 
connections were closed and the timeout (if set) expired or was cancelled. 
</td></tr>
+<tr>
+<td align="left"><a class="el" 
href="group__event.html#gga4876e2eed24a4d4e4c52b99842103cdaa28a2bfee806bbc1fe31499c8eec39db0">PN_CONNECTION_WAKE</a>
 </td><td align="left"><a class="el" 
href="group__proactor.html#ga0f49c771fe3bff54f58c9d583ca30560" title="Return a 
PN_CONNECTION_WAKE event for connection as soon as possible. 
">pn_connection_wake()</a> was called. </td></tr>
+</table>
+</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.13 </li>
+  </ul>
+</div>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/qpid-site/blob/bc75d075/content/releases/qpid-proton-0.22.0/proton/c/api/group__sasl.html
----------------------------------------------------------------------
diff --git a/content/releases/qpid-proton-0.22.0/proton/c/api/group__sasl.html 
b/content/releases/qpid-proton-0.22.0/proton/c/api/group__sasl.html
new file mode 100755
index 0000000..5b93814
--- /dev/null
+++ b/content/releases/qpid-proton-0.22.0/proton/c/api/group__sasl.html
@@ -0,0 +1,559 @@
+<!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.13"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<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);
+</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.22.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.13 -->
+<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__core.html">Core</a></div></div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>SASL secure transport layer.  
+<a href="#details">More...</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a 
name="typedef-members"></a>
+Typedefs</h2></td></tr>
+<tr class="memitem:ga4d21fddba80d3f88d0529aafe12328b0"><td class="memItemLeft" 
align="right" valign="top">typedef struct <a class="el" 
href="group__sasl.html#ga4d21fddba80d3f88d0529aafe12328b0">pn_sasl_t</a>&#160;</td><td
 class="memItemRight" valign="bottom"><a class="el" 
href="group__sasl.html#ga4d21fddba80d3f88d0529aafe12328b0">pn_sasl_t</a></td></tr>
+<tr class="memdesc:ga4d21fddba80d3f88d0529aafe12328b0"><td 
class="mdescLeft">&#160;</td><td class="mdescRight">The SASL layer is 
responsible for establishing an authenticated and/or encrypted tunnel over 
which AMQP frames are passed between peers.  <a 
href="#ga4d21fddba80d3f88d0529aafe12328b0">More...</a><br /></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>, 
+<a class="el" 
href="group__sasl.html#ggad44e79f52e0669b1930689b56dfa9c3ba0050b91650a3826a090e13f57b3b941e">PN_SASL_OK</a>,
 
+<a class="el" 
href="group__sasl.html#ggad44e79f52e0669b1930689b56dfa9c3bac63734ecde7c8170554f6bf04f6ce64a">PN_SASL_AUTH</a>,
 
+<a class="el" 
href="group__sasl.html#ggad44e79f52e0669b1930689b56dfa9c3bacd46a2fda23f674c23ed81e6076c1939">PN_SASL_SYS</a>,
 
+<br />
+&#160;&#160;<a class="el" 
href="group__sasl.html#ggad44e79f52e0669b1930689b56dfa9c3ba03019f909ba1d98aae94437ca4bd0191">PN_SASL_PERM</a>,
 
+<a class="el" 
href="group__sasl.html#ggad44e79f52e0669b1930689b56dfa9c3baee28d2c03fa80dccf771e37aae1bcdf3">PN_SASL_TEMP</a>
+<br />
+ }<tr class="memdesc:gad44e79f52e0669b1930689b56dfa9c3b"><td 
class="mdescLeft">&#160;</td><td class="mdescRight">The result of the SASL 
negotiation.  <a 
href="group__sasl.html#gad44e79f52e0669b1930689b56dfa9c3b">More...</a><br 
/></td></tr>
+</td></tr>
+<tr class="separator:gad44e79f52e0669b1930689b56dfa9c3b"><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:ga7968e80e2fe9360fc14cf865dd1ac21c"><td class="memItemLeft" 
align="right" valign="top"><a class="el" 
href="group__sasl.html#ga4d21fddba80d3f88d0529aafe12328b0">pn_sasl_t</a> 
*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" 
href="group__sasl.html#ga7968e80e2fe9360fc14cf865dd1ac21c">pn_sasl</a> (<a 
class="el" 
href="group__transport.html#gac26eda05f649bbf0399f3d8d78d12fa8">pn_transport_t</a>
 *transport)</td></tr>
+<tr class="memdesc:ga7968e80e2fe9360fc14cf865dd1ac21c"><td 
class="mdescLeft">&#160;</td><td class="mdescRight">Construct an Authentication 
and Security Layer object.  <a 
href="#ga7968e80e2fe9360fc14cf865dd1ac21c">More...</a><br /></td></tr>
+<tr class="separator:ga7968e80e2fe9360fc14cf865dd1ac21c"><td 
class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga1737191972d5dded0993bf1431e71df0"><td class="memItemLeft" 
align="right" valign="top">bool&#160;</td><td class="memItemRight" 
valign="bottom"><a class="el" 
href="group__sasl.html#ga1737191972d5dded0993bf1431e71df0">pn_sasl_extended</a> 
(void)</td></tr>
+<tr class="memdesc:ga1737191972d5dded0993bf1431e71df0"><td 
class="mdescLeft">&#160;</td><td class="mdescRight">Do we support extended SASL 
negotiation.  <a href="#ga1737191972d5dded0993bf1431e71df0">More...</a><br 
/></td></tr>
+<tr class="separator:ga1737191972d5dded0993bf1431e71df0"><td 
class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga0199871440c4ff89a204cc1d8a09f283"><td class="memItemLeft" 
align="right" valign="top">void&#160;</td><td class="memItemRight" 
valign="bottom"><a class="el" 
href="group__sasl.html#ga0199871440c4ff89a204cc1d8a09f283">pn_sasl_done</a> (<a 
class="el" 
href="group__sasl.html#ga4d21fddba80d3f88d0529aafe12328b0">pn_sasl_t</a> *sasl, 
<a class="el" 
href="group__sasl.html#gad44e79f52e0669b1930689b56dfa9c3b">pn_sasl_outcome_t</a>
 outcome)</td></tr>
+<tr class="memdesc:ga0199871440c4ff89a204cc1d8a09f283"><td 
class="mdescLeft">&#160;</td><td class="mdescRight">Set the outcome of SASL 
negotiation.  <a href="#ga0199871440c4ff89a204cc1d8a09f283">More...</a><br 
/></td></tr>
+<tr class="separator:ga0199871440c4ff89a204cc1d8a09f283"><td 
class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga03b6daf742db6a07bd7d03cb197aedb6"><td class="memItemLeft" 
align="right" valign="top"><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#ga03b6daf742db6a07bd7d03cb197aedb6">pn_sasl_outcome</a> 
(<a class="el" 
href="group__sasl.html#ga4d21fddba80d3f88d0529aafe12328b0">pn_sasl_t</a> 
*sasl)</td></tr>
+<tr class="memdesc:ga03b6daf742db6a07bd7d03cb197aedb6"><td 
class="mdescLeft">&#160;</td><td class="mdescRight">Retrieve the outcome of 
SASL negotiation.  <a href="#ga03b6daf742db6a07bd7d03cb197aedb6">More...</a><br 
/></td></tr>
+<tr class="separator:ga03b6daf742db6a07bd7d03cb197aedb6"><td 
class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga700e1d505068f895383dd932af55987e"><td class="memItemLeft" 
align="right" valign="top">const char *&#160;</td><td class="memItemRight" 
valign="bottom"><a class="el" 
href="group__sasl.html#ga700e1d505068f895383dd932af55987e">pn_sasl_get_user</a> 
(<a class="el" 
href="group__sasl.html#ga4d21fddba80d3f88d0529aafe12328b0">pn_sasl_t</a> 
*sasl)</td></tr>
+<tr class="memdesc:ga700e1d505068f895383dd932af55987e"><td 
class="mdescLeft">&#160;</td><td class="mdescRight">Retrieve the authenticated 
user.  <a href="#ga700e1d505068f895383dd932af55987e">More...</a><br /></td></tr>
+<tr class="separator:ga700e1d505068f895383dd932af55987e"><td 
class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga895b6a957bf0c0204aaddb3ec5b9d863"><td class="memItemLeft" 
align="right" valign="top">const char *&#160;</td><td class="memItemRight" 
valign="bottom"><a class="el" 
href="group__sasl.html#ga895b6a957bf0c0204aaddb3ec5b9d863">pn_sasl_get_mech</a> 
(<a class="el" 
href="group__sasl.html#ga4d21fddba80d3f88d0529aafe12328b0">pn_sasl_t</a> 
*sasl)</td></tr>
+<tr class="memdesc:ga895b6a957bf0c0204aaddb3ec5b9d863"><td 
class="mdescLeft">&#160;</td><td class="mdescRight">Return the selected SASL 
mechanism.  <a href="#ga895b6a957bf0c0204aaddb3ec5b9d863">More...</a><br 
/></td></tr>
+<tr class="separator:ga895b6a957bf0c0204aaddb3ec5b9d863"><td 
class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga73299a6a22e141e7911a739590032625"><td class="memItemLeft" 
align="right" valign="top">void&#160;</td><td class="memItemRight" 
valign="bottom"><a class="el" 
href="group__sasl.html#ga73299a6a22e141e7911a739590032625">pn_sasl_allowed_mechs</a>
 (<a class="el" 
href="group__sasl.html#ga4d21fddba80d3f88d0529aafe12328b0">pn_sasl_t</a> *sasl, 
const char *mechs)</td></tr>
+<tr class="memdesc:ga73299a6a22e141e7911a739590032625"><td 
class="mdescLeft">&#160;</td><td class="mdescRight">SASL mechanisms that are to 
be considered for authentication.  <a 
href="#ga73299a6a22e141e7911a739590032625">More...</a><br /></td></tr>
+<tr class="separator:ga73299a6a22e141e7911a739590032625"><td 
class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gaf472325bc055bb18a5a6f5ca03eda315"><td class="memItemLeft" 
align="right" valign="top">void&#160;</td><td class="memItemRight" 
valign="bottom"><a class="el" 
href="group__sasl.html#gaf472325bc055bb18a5a6f5ca03eda315">pn_sasl_set_allow_insecure_mechs</a>
 (<a class="el" 
href="group__sasl.html#ga4d21fddba80d3f88d0529aafe12328b0">pn_sasl_t</a> *sasl, 
bool insecure)</td></tr>
+<tr class="memdesc:gaf472325bc055bb18a5a6f5ca03eda315"><td 
class="mdescLeft">&#160;</td><td class="mdescRight">Boolean to allow use of 
clear text authentication mechanisms.  <a 
href="#gaf472325bc055bb18a5a6f5ca03eda315">More...</a><br /></td></tr>
+<tr class="separator:gaf472325bc055bb18a5a6f5ca03eda315"><td 
class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gac53ad15ee429b7ce9d0c598d1e347243"><td class="memItemLeft" 
align="right" valign="top">bool&#160;</td><td class="memItemRight" 
valign="bottom"><a class="el" 
href="group__sasl.html#gac53ad15ee429b7ce9d0c598d1e347243">pn_sasl_get_allow_insecure_mechs</a>
 (<a class="el" 
href="group__sasl.html#ga4d21fddba80d3f88d0529aafe12328b0">pn_sasl_t</a> 
*sasl)</td></tr>
+<tr class="memdesc:gac53ad15ee429b7ce9d0c598d1e347243"><td 
class="mdescLeft">&#160;</td><td class="mdescRight">Return the current value 
for allow_insecure_mechs.  <a 
href="#gac53ad15ee429b7ce9d0c598d1e347243">More...</a><br /></td></tr>
+<tr class="separator:gac53ad15ee429b7ce9d0c598d1e347243"><td 
class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gad1a6932135165f0e5b7639b79ac71c56"><td class="memItemLeft" 
align="right" valign="top">void&#160;</td><td class="memItemRight" 
valign="bottom"><a class="el" 
href="group__sasl.html#gad1a6932135165f0e5b7639b79ac71c56">pn_sasl_config_name</a>
 (<a class="el" 
href="group__sasl.html#ga4d21fddba80d3f88d0529aafe12328b0">pn_sasl_t</a> *sasl, 
const char *name)</td></tr>
+<tr class="memdesc:gad1a6932135165f0e5b7639b79ac71c56"><td 
class="mdescLeft">&#160;</td><td class="mdescRight">Set the sasl configuration 
name.  <a href="#gad1a6932135165f0e5b7639b79ac71c56">More...</a><br /></td></tr>
+<tr class="separator:gad1a6932135165f0e5b7639b79ac71c56"><td 
class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gabf4176414424ce02a4e03b4338d30521"><td class="memItemLeft" 
align="right" valign="top">void&#160;</td><td class="memItemRight" 
valign="bottom"><a class="el" 
href="group__sasl.html#gabf4176414424ce02a4e03b4338d30521">pn_sasl_config_path</a>
 (<a class="el" 
href="group__sasl.html#ga4d21fddba80d3f88d0529aafe12328b0">pn_sasl_t</a> *sasl, 
const char *path)</td></tr>
+<tr class="memdesc:gabf4176414424ce02a4e03b4338d30521"><td 
class="mdescLeft">&#160;</td><td class="mdescRight">Set the sasl configuration 
path.  <a href="#gabf4176414424ce02a4e03b4338d30521">More...</a><br /></td></tr>
+<tr class="separator:gabf4176414424ce02a4e03b4338d30521"><td 
class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed 
Description</h2>
+<p>SASL secure transport layer. </p>
+<h2 class="groupheader">Typedef Documentation</h2>
+<a id="ga4d21fddba80d3f88d0529aafe12328b0"></a>
+<h2 class="memtitle"><span class="permalink"><a 
href="#ga4d21fddba80d3f88d0529aafe12328b0">&#9670;&nbsp;</a></span>pn_sasl_t</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">typedef struct <a class="el" 
href="group__sasl.html#ga4d21fddba80d3f88d0529aafe12328b0">pn_sasl_t</a> <a 
class="el" 
href="group__sasl.html#ga4d21fddba80d3f88d0529aafe12328b0">pn_sasl_t</a></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>The SASL layer is responsible for establishing an authenticated and/or 
encrypted tunnel over which AMQP frames are passed between peers. </p>
+<p>The peer acting as the SASL Client must provide authentication credentials. 
The peer acting as the SASL Server must provide authentication against the 
received credentials. </p>
+
+</div>
+</div>
+<h2 class="groupheader">Enumeration Type Documentation</h2>
+<a id="gad44e79f52e0669b1930689b56dfa9c3b"></a>
+<h2 class="memtitle"><span class="permalink"><a 
href="#gad44e79f52e0669b1930689b56dfa9c3b">&#9670;&nbsp;</a></span>pn_sasl_outcome_t</h2>
+
+<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 
id="ggad44e79f52e0669b1930689b56dfa9c3ba0050b91650a3826a090e13f57b3b941e"></a>PN_SASL_OK&#160;</td><td
 class="fielddoc"><p>negotiation not completed </p>
+</td></tr>
+<tr><td class="fieldname"><a 
id="ggad44e79f52e0669b1930689b56dfa9c3bac63734ecde7c8170554f6bf04f6ce64a"></a>PN_SASL_AUTH&#160;</td><td
 class="fielddoc"><p>authentication succeeded </p>
+</td></tr>
+<tr><td class="fieldname"><a 
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 
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 
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 id="ga7968e80e2fe9360fc14cf865dd1ac21c"></a>
+<h2 class="memtitle"><span class="permalink"><a 
href="#ga7968e80e2fe9360fc14cf865dd1ac21c">&#9670;&nbsp;</a></span>pn_sasl()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" 
href="group__sasl.html#ga4d21fddba80d3f88d0529aafe12328b0">pn_sasl_t</a>* 
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 id="ga1737191972d5dded0993bf1431e71df0"></a>
+<h2 class="memtitle"><span class="permalink"><a 
href="#ga1737191972d5dded0993bf1431e71df0">&#9670;&nbsp;</a></span>pn_sasl_extended()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">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 implementations 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 id="ga0199871440c4ff89a204cc1d8a09f283"></a>
+<h2 class="memtitle"><span class="permalink"><a 
href="#ga0199871440c4ff89a204cc1d8a09f283">&#9670;&nbsp;</a></span>pn_sasl_done()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void pn_sasl_done </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" 
href="group__sasl.html#ga4d21fddba80d3f88d0529aafe12328b0">pn_sasl_t</a> 
*&#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>
+
+</div>
+</div>
+<a id="ga03b6daf742db6a07bd7d03cb197aedb6"></a>
+<h2 class="memtitle"><span class="permalink"><a 
href="#ga03b6daf742db6a07bd7d03cb197aedb6">&#9670;&nbsp;</a></span>pn_sasl_outcome()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" 
href="group__sasl.html#gad44e79f52e0669b1930689b56dfa9c3b">pn_sasl_outcome_t</a>
 pn_sasl_outcome </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" 
href="group__sasl.html#ga4d21fddba80d3f88d0529aafe12328b0">pn_sasl_t</a> 
*&#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>
+
+</div>
+</div>
+<a id="ga700e1d505068f895383dd932af55987e"></a>
+<h2 class="memtitle"><span class="permalink"><a 
href="#ga700e1d505068f895383dd932af55987e">&#9670;&nbsp;</a></span>pn_sasl_get_user()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">const char* pn_sasl_get_user </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" 
href="group__sasl.html#ga4d21fddba80d3f88d0529aafe12328b0">pn_sasl_t</a> 
*&#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#ga03b6daf742db6a07bd7d03cb197aedb6" 
title="Retrieve the outcome of SASL negotiation. ">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 id="ga895b6a957bf0c0204aaddb3ec5b9d863"></a>
+<h2 class="memtitle"><span class="permalink"><a 
href="#ga895b6a957bf0c0204aaddb3ec5b9d863">&#9670;&nbsp;</a></span>pn_sasl_get_mech()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">const char* pn_sasl_get_mech </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" 
href="group__sasl.html#ga4d21fddba80d3f88d0529aafe12328b0">pn_sasl_t</a> 
*&#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 id="ga73299a6a22e141e7911a739590032625"></a>
+<h2 class="memtitle"><span class="permalink"><a 
href="#ga73299a6a22e141e7911a739590032625">&#9670;&nbsp;</a></span>pn_sasl_allowed_mechs()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void pn_sasl_allowed_mechs </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" 
href="group__sasl.html#ga4d21fddba80d3f88d0529aafe12328b0">pn_sasl_t</a> 
*&#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 id="gaf472325bc055bb18a5a6f5ca03eda315"></a>
+<h2 class="memtitle"><span class="permalink"><a 
href="#gaf472325bc055bb18a5a6f5ca03eda315">&#9670;&nbsp;</a></span>pn_sasl_set_allow_insecure_mechs()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void pn_sasl_set_allow_insecure_mechs </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" 
href="group__sasl.html#ga4d21fddba80d3f88d0529aafe12328b0">pn_sasl_t</a> 
*&#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>
+<a id="gac53ad15ee429b7ce9d0c598d1e347243"></a>
+<h2 class="memtitle"><span class="permalink"><a 
href="#gac53ad15ee429b7ce9d0c598d1e347243">&#9670;&nbsp;</a></span>pn_sasl_get_allow_insecure_mechs()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">bool pn_sasl_get_allow_insecure_mechs </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" 
href="group__sasl.html#ga4d21fddba80d3f88d0529aafe12328b0">pn_sasl_t</a> 
*&#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 id="gad1a6932135165f0e5b7639b79ac71c56"></a>
+<h2 class="memtitle"><span class="permalink"><a 
href="#gad1a6932135165f0e5b7639b79ac71c56">&#9670;&nbsp;</a></span>pn_sasl_config_name()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void pn_sasl_config_name </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" 
href="group__sasl.html#ga4d21fddba80d3f88d0529aafe12328b0">pn_sasl_t</a> 
*&#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 id="gabf4176414424ce02a4e03b4338d30521"></a>
+<h2 class="memtitle"><span class="permalink"><a 
href="#gabf4176414424ce02a4e03b4338d30521">&#9670;&nbsp;</a></span>pn_sasl_config_path()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void pn_sasl_config_path </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" 
href="group__sasl.html#ga4d21fddba80d3f88d0529aafe12328b0">pn_sasl_t</a> 
*&#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#gabf4176414424ce02a4e03b4338d30521" title="Set the sasl 
configuration path. ">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>
+</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.13 </li>
+  </ul>
+</div>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/qpid-site/blob/bc75d075/content/releases/qpid-proton-0.22.0/proton/c/api/group__sasl.js
----------------------------------------------------------------------
diff --git a/content/releases/qpid-proton-0.22.0/proton/c/api/group__sasl.js 
b/content/releases/qpid-proton-0.22.0/proton/c/api/group__sasl.js
new file mode 100755
index 0000000..0e97078
--- /dev/null
+++ b/content/releases/qpid-proton-0.22.0/proton/c/api/group__sasl.js
@@ -0,0 +1,22 @@
+var group__sasl =
+[
+    [ "pn_sasl_t", "group__sasl.html#ga4d21fddba80d3f88d0529aafe12328b0", null 
],
+    [ "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#ga7968e80e2fe9360fc14cf865dd1ac21c", null ],
+    [ "pn_sasl_extended", 
"group__sasl.html#ga1737191972d5dded0993bf1431e71df0", null ],
+    [ "pn_sasl_done", "group__sasl.html#ga0199871440c4ff89a204cc1d8a09f283", 
null ],
+    [ "pn_sasl_outcome", 
"group__sasl.html#ga03b6daf742db6a07bd7d03cb197aedb6", null ],
+    [ "pn_sasl_get_user", 
"group__sasl.html#ga700e1d505068f895383dd932af55987e", null ],
+    [ "pn_sasl_get_mech", 
"group__sasl.html#ga895b6a957bf0c0204aaddb3ec5b9d863", null ],
+    [ "pn_sasl_allowed_mechs", 
"group__sasl.html#ga73299a6a22e141e7911a739590032625", null ],
+    [ "pn_sasl_set_allow_insecure_mechs", 
"group__sasl.html#gaf472325bc055bb18a5a6f5ca03eda315", null ],
+    [ "pn_sasl_get_allow_insecure_mechs", 
"group__sasl.html#gac53ad15ee429b7ce9d0c598d1e347243", null ],
+    [ "pn_sasl_config_name", 
"group__sasl.html#gad1a6932135165f0e5b7639b79ac71c56", null ],
+    [ "pn_sasl_config_path", 
"group__sasl.html#gabf4176414424ce02a4e03b4338d30521", null ]
+];
\ No newline at end of file


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

Reply via email to