<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.20"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Qpid Proton C API: Condition</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
  $(document).ready(function() { init_search(); });
/* @license-end */
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">Qpid Proton C API
   &#160;<span id="projectnumber">0.35.0</span>
   </div>
  </td>
   <td>        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.svg"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.svg" alt=""/></a>
          </span>
        </div>
</td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.20 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('group__condition.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="summary">
<a href="#typedef-members">Typedefs</a> &#124;
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">Condition<div class="ingroups"><a class="el" href="group__core.html">Core</a></div></div>  </div>
</div><!--header-->
<div class="contents">

<p>An endpoint error state.  
<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:ga11eb7db7d2c205169fe3d47c996a95a5"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="group__condition.html#ga11eb7db7d2c205169fe3d47c996a95a5">pn_condition_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__condition.html#ga11eb7db7d2c205169fe3d47c996a95a5">pn_condition_t</a></td></tr>
<tr class="memdesc:ga11eb7db7d2c205169fe3d47c996a95a5"><td class="mdescLeft">&#160;</td><td class="mdescRight">An AMQP Condition object.  <a href="group__condition.html#ga11eb7db7d2c205169fe3d47c996a95a5">More...</a><br /></td></tr>
<tr class="separator:ga11eb7db7d2c205169fe3d47c996a95a5"><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:ga112611a7a4087e050c476a430db2cfb9"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__condition.html#ga112611a7a4087e050c476a430db2cfb9">pn_condition_is_set</a> (<a class="el" href="group__condition.html#ga11eb7db7d2c205169fe3d47c996a95a5">pn_condition_t</a> *condition)</td></tr>
<tr class="memdesc:ga112611a7a4087e050c476a430db2cfb9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns true if the condition object is holding some information, i.e.  <a href="group__condition.html#ga112611a7a4087e050c476a430db2cfb9">More...</a><br /></td></tr>
<tr class="separator:ga112611a7a4087e050c476a430db2cfb9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab91d5be5be6a61dc3d9dfaa4e01372b4"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__condition.html#gab91d5be5be6a61dc3d9dfaa4e01372b4">pn_condition_clear</a> (<a class="el" href="group__condition.html#ga11eb7db7d2c205169fe3d47c996a95a5">pn_condition_t</a> *condition)</td></tr>
<tr class="memdesc:gab91d5be5be6a61dc3d9dfaa4e01372b4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Clears the condition object of any exceptional information.  <a href="group__condition.html#gab91d5be5be6a61dc3d9dfaa4e01372b4">More...</a><br /></td></tr>
<tr class="separator:gab91d5be5be6a61dc3d9dfaa4e01372b4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga05b0d374d90f11d9ebbf818662569689"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__condition.html#ga05b0d374d90f11d9ebbf818662569689">pn_condition_get_name</a> (<a class="el" href="group__condition.html#ga11eb7db7d2c205169fe3d47c996a95a5">pn_condition_t</a> *condition)</td></tr>
<tr class="memdesc:ga05b0d374d90f11d9ebbf818662569689"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the name associated with the exceptional condition, or NULL if there is no conditional information set.  <a href="group__condition.html#ga05b0d374d90f11d9ebbf818662569689">More...</a><br /></td></tr>
<tr class="separator:ga05b0d374d90f11d9ebbf818662569689"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab344572fd2d80aa5c52b588129facb27"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__condition.html#gab344572fd2d80aa5c52b588129facb27">pn_condition_set_name</a> (<a class="el" href="group__condition.html#ga11eb7db7d2c205169fe3d47c996a95a5">pn_condition_t</a> *condition, const char *name)</td></tr>
<tr class="memdesc:gab344572fd2d80aa5c52b588129facb27"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the name associated with the exceptional condition.  <a href="group__condition.html#gab344572fd2d80aa5c52b588129facb27">More...</a><br /></td></tr>
<tr class="separator:gab344572fd2d80aa5c52b588129facb27"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaabebb65bfcf47b6f7d83ab6fb0153bb8"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__condition.html#gaabebb65bfcf47b6f7d83ab6fb0153bb8">pn_condition_get_description</a> (<a class="el" href="group__condition.html#ga11eb7db7d2c205169fe3d47c996a95a5">pn_condition_t</a> *condition)</td></tr>
<tr class="memdesc:gaabebb65bfcf47b6f7d83ab6fb0153bb8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the description associated with the exceptional condition.  <a href="group__condition.html#gaabebb65bfcf47b6f7d83ab6fb0153bb8">More...</a><br /></td></tr>
<tr class="separator:gaabebb65bfcf47b6f7d83ab6fb0153bb8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8e7eacc5be9c2223535bb57950171f0b"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__condition.html#ga8e7eacc5be9c2223535bb57950171f0b">pn_condition_set_description</a> (<a class="el" href="group__condition.html#ga11eb7db7d2c205169fe3d47c996a95a5">pn_condition_t</a> *condition, const char *description)</td></tr>
<tr class="memdesc:ga8e7eacc5be9c2223535bb57950171f0b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the description associated with the exceptional condition.  <a href="group__condition.html#ga8e7eacc5be9c2223535bb57950171f0b">More...</a><br /></td></tr>
<tr class="separator:ga8e7eacc5be9c2223535bb57950171f0b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1dba0d01af7ba6ad7ad6b02bf642a46b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf">pn_data_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__condition.html#ga1dba0d01af7ba6ad7ad6b02bf642a46b">pn_condition_info</a> (<a class="el" href="group__condition.html#ga11eb7db7d2c205169fe3d47c996a95a5">pn_condition_t</a> *condition)</td></tr>
<tr class="memdesc:ga1dba0d01af7ba6ad7ad6b02bf642a46b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a data object that holds the additional information associated with the condition.  <a href="group__condition.html#ga1dba0d01af7ba6ad7ad6b02bf642a46b">More...</a><br /></td></tr>
<tr class="separator:ga1dba0d01af7ba6ad7ad6b02bf642a46b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaccab52be69f97d7be2d199b4e1f11380"><td class="memItemLeft" align="right" valign="top"><a id="gaccab52be69f97d7be2d199b4e1f11380"></a>
int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__condition.html#gaccab52be69f97d7be2d199b4e1f11380">pn_condition_vformat</a> (<a class="el" href="group__condition.html#ga11eb7db7d2c205169fe3d47c996a95a5">pn_condition_t</a> *, const char *name, const char *fmt, va_list ap)</td></tr>
<tr class="memdesc:gaccab52be69f97d7be2d199b4e1f11380"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the name and printf-style formatted description. <br /></td></tr>
<tr class="separator:gaccab52be69f97d7be2d199b4e1f11380"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga65d9818487fc61e7ca75a9ec4abc8676"><td class="memItemLeft" align="right" valign="top"><a id="ga65d9818487fc61e7ca75a9ec4abc8676"></a>
int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__condition.html#ga65d9818487fc61e7ca75a9ec4abc8676">pn_condition_format</a> (<a class="el" href="group__condition.html#ga11eb7db7d2c205169fe3d47c996a95a5">pn_condition_t</a> *, const char *name, const char *fmt,...)</td></tr>
<tr class="memdesc:ga65d9818487fc61e7ca75a9ec4abc8676"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the name and printf-style formatted description. <br /></td></tr>
<tr class="separator:ga65d9818487fc61e7ca75a9ec4abc8676"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaefa0da2c1e82f29ddda357e171f5a50a"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__condition.html#gaefa0da2c1e82f29ddda357e171f5a50a">pn_condition_is_redirect</a> (<a class="el" href="group__condition.html#ga11eb7db7d2c205169fe3d47c996a95a5">pn_condition_t</a> *condition)</td></tr>
<tr class="memdesc:gaefa0da2c1e82f29ddda357e171f5a50a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns true if the condition is a redirect.  <a href="group__condition.html#gaefa0da2c1e82f29ddda357e171f5a50a">More...</a><br /></td></tr>
<tr class="separator:gaefa0da2c1e82f29ddda357e171f5a50a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga76c5dbc715c0d72d7dad2126b797eb64"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__condition.html#ga76c5dbc715c0d72d7dad2126b797eb64">pn_condition_redirect_host</a> (<a class="el" href="group__condition.html#ga11eb7db7d2c205169fe3d47c996a95a5">pn_condition_t</a> *condition)</td></tr>
<tr class="memdesc:ga76c5dbc715c0d72d7dad2126b797eb64"><td class="mdescLeft">&#160;</td><td class="mdescRight">Retrieves the redirect host from the additional information associated with the condition.  <a href="group__condition.html#ga76c5dbc715c0d72d7dad2126b797eb64">More...</a><br /></td></tr>
<tr class="separator:ga76c5dbc715c0d72d7dad2126b797eb64"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf92a380a12c91d4124c22af62318c2e9"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__condition.html#gaf92a380a12c91d4124c22af62318c2e9">pn_condition_redirect_port</a> (<a class="el" href="group__condition.html#ga11eb7db7d2c205169fe3d47c996a95a5">pn_condition_t</a> *condition)</td></tr>
<tr class="memdesc:gaf92a380a12c91d4124c22af62318c2e9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Retrieves the redirect port from the additional information associated with the condition.  <a href="group__condition.html#gaf92a380a12c91d4124c22af62318c2e9">More...</a><br /></td></tr>
<tr class="separator:gaf92a380a12c91d4124c22af62318c2e9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae495a2885d97a9f167e297efd6974a1e"><td class="memItemLeft" align="right" valign="top"><a id="gae495a2885d97a9f167e297efd6974a1e"></a>
int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__condition.html#gae495a2885d97a9f167e297efd6974a1e">pn_condition_copy</a> (<a class="el" href="group__condition.html#ga11eb7db7d2c205169fe3d47c996a95a5">pn_condition_t</a> *dest, <a class="el" href="group__condition.html#ga11eb7db7d2c205169fe3d47c996a95a5">pn_condition_t</a> *src)</td></tr>
<tr class="memdesc:gae495a2885d97a9f167e297efd6974a1e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy the src condition to the dst condition. <br /></td></tr>
<tr class="separator:gae495a2885d97a9f167e297efd6974a1e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac798dc9acd131cb47a3e7291efffbc02"><td class="memItemLeft" align="right" valign="top"><a id="gac798dc9acd131cb47a3e7291efffbc02"></a>
<a class="el" href="group__condition.html#ga11eb7db7d2c205169fe3d47c996a95a5">pn_condition_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__condition.html#gac798dc9acd131cb47a3e7291efffbc02">pn_condition</a> (void)</td></tr>
<tr class="memdesc:gac798dc9acd131cb47a3e7291efffbc02"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a condition object. <br /></td></tr>
<tr class="separator:gac798dc9acd131cb47a3e7291efffbc02"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad1f52a60bcc855702cfe51e6703625bb"><td class="memItemLeft" align="right" valign="top"><a id="gad1f52a60bcc855702cfe51e6703625bb"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__condition.html#gad1f52a60bcc855702cfe51e6703625bb">pn_condition_free</a> (<a class="el" href="group__condition.html#ga11eb7db7d2c205169fe3d47c996a95a5">pn_condition_t</a> *)</td></tr>
<tr class="memdesc:gad1f52a60bcc855702cfe51e6703625bb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Free a condition object. <br /></td></tr>
<tr class="separator:gad1f52a60bcc855702cfe51e6703625bb"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<p>An endpoint error state. </p>
<h2 class="groupheader">Typedef Documentation</h2>
<a id="ga11eb7db7d2c205169fe3d47c996a95a5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga11eb7db7d2c205169fe3d47c996a95a5">&#9670;&nbsp;</a></span>pn_condition_t</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef struct <a class="el" href="group__condition.html#ga11eb7db7d2c205169fe3d47c996a95a5">pn_condition_t</a> <a class="el" href="group__condition.html#ga11eb7db7d2c205169fe3d47c996a95a5">pn_condition_t</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>An AMQP Condition object. </p>
<p>Conditions hold exception information pertaining to the closing of an AMQP endpoint such as a Connection, Session, or Link. Conditions also hold similar information pertaining to deliveries that have reached terminal states. Connections, Sessions, Links, and Deliveries may all have local and remote conditions associated with them.</p>
<p>The local condition may be modified by the local endpoint to signal a particular condition to the remote peer. The remote condition may be examined by the local endpoint to detect whatever condition the remote peer may be signaling. Although often conditions are used to indicate errors, not all conditions are errors per/se, e.g. conditions may be used to redirect a connection from one host to another.</p>
<p>Every condition has a short symbolic name, a longer description, and an additional info map associated with it. The name identifies the formally defined condition, and the map contains additional information relevant to the identified condition. </p>

</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a id="ga112611a7a4087e050c476a430db2cfb9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga112611a7a4087e050c476a430db2cfb9">&#9670;&nbsp;</a></span>pn_condition_is_set()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool pn_condition_is_set </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__condition.html#ga11eb7db7d2c205169fe3d47c996a95a5">pn_condition_t</a> *&#160;</td>
          <td class="paramname"><em>condition</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Returns true if the condition object is holding some information, i.e. </p>
<p>if the name is set to some non NULL value. Returns false otherwise.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">condition</td><td>the condition object to test </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>true iff some condition information is set </dd></dl>
<dl class="section examples"><dt>Examples</dt><dd><a class="el" href="broker_8c-example.html#a22">broker.c</a>, <a class="el" href="direct_8c-example.html#a3">direct.c</a>, <a class="el" href="receive_8c-example.html#a1">receive.c</a>, and <a class="el" href="send_8c-example.html#a1">send.c</a>.</dd>
</dl>

</div>
</div>
<a id="gab91d5be5be6a61dc3d9dfaa4e01372b4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gab91d5be5be6a61dc3d9dfaa4e01372b4">&#9670;&nbsp;</a></span>pn_condition_clear()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void pn_condition_clear </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__condition.html#ga11eb7db7d2c205169fe3d47c996a95a5">pn_condition_t</a> *&#160;</td>
          <td class="paramname"><em>condition</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Clears the condition object of any exceptional information. </p>
<p>After calling <a class="el" href="group__condition.html#gab91d5be5be6a61dc3d9dfaa4e01372b4" title="Clears the condition object of any exceptional information.">pn_condition_clear()</a>, <a class="el" href="group__condition.html#ga112611a7a4087e050c476a430db2cfb9" title="Returns true if the condition object is holding some information, i.e.">pn_condition_is_set()</a> is guaranteed to return false and <a class="el" href="group__condition.html#ga05b0d374d90f11d9ebbf818662569689" title="Returns the name associated with the exceptional condition, or NULL if there is no conditional inform...">pn_condition_get_name()</a> as well as <a class="el" href="group__condition.html#gaabebb65bfcf47b6f7d83ab6fb0153bb8" title="Gets the description associated with the exceptional condition.">pn_condition_get_description()</a> will return NULL. The <a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf" title="An AMQP Data object.">pn_data_t</a> returned by <a class="el" href="group__condition.html#ga1dba0d01af7ba6ad7ad6b02bf642a46b" title="Returns a data object that holds the additional information associated with the condition.">pn_condition_info()</a> will still be valid, but will have been cleared as well (See <a class="el" href="group__data.html#ga7611c1394e80b5166b8b8647659f97e6" title="Clears a pn_data_t object.">pn_data_clear()</a>).</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">condition</td><td>the condition object to clear </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="ga05b0d374d90f11d9ebbf818662569689"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga05b0d374d90f11d9ebbf818662569689">&#9670;&nbsp;</a></span>pn_condition_get_name()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const char* pn_condition_get_name </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__condition.html#ga11eb7db7d2c205169fe3d47c996a95a5">pn_condition_t</a> *&#160;</td>
          <td class="paramname"><em>condition</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Returns the name associated with the exceptional condition, or NULL if there is no conditional information set. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">condition</td><td>the condition object </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>a pointer to the name, or NULL </dd></dl>
<dl class="section examples"><dt>Examples</dt><dd><a class="el" href="broker_8c-example.html#a25">broker.c</a>, <a class="el" href="direct_8c-example.html#a6">direct.c</a>, <a class="el" href="receive_8c-example.html#a4">receive.c</a>, and <a class="el" href="send_8c-example.html#a4">send.c</a>.</dd>
</dl>

</div>
</div>
<a id="gab344572fd2d80aa5c52b588129facb27"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gab344572fd2d80aa5c52b588129facb27">&#9670;&nbsp;</a></span>pn_condition_set_name()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int pn_condition_set_name </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__condition.html#ga11eb7db7d2c205169fe3d47c996a95a5">pn_condition_t</a> *&#160;</td>
          <td class="paramname"><em>condition</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>Sets the name associated with the exceptional condition. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">condition</td><td>the condition object </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">name</td><td>the desired name </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>an error code or 0 on success </dd></dl>

</div>
</div>
<a id="gaabebb65bfcf47b6f7d83ab6fb0153bb8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaabebb65bfcf47b6f7d83ab6fb0153bb8">&#9670;&nbsp;</a></span>pn_condition_get_description()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const char* pn_condition_get_description </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__condition.html#ga11eb7db7d2c205169fe3d47c996a95a5">pn_condition_t</a> *&#160;</td>
          <td class="paramname"><em>condition</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Gets the description associated with the exceptional condition. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">condition</td><td>the condition object </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>a pointer to the description, or NULL </dd></dl>
<dl class="section examples"><dt>Examples</dt><dd><a class="el" href="broker_8c-example.html#a26">broker.c</a>, <a class="el" href="direct_8c-example.html#a7">direct.c</a>, <a class="el" href="receive_8c-example.html#a5">receive.c</a>, and <a class="el" href="send_8c-example.html#a5">send.c</a>.</dd>
</dl>

</div>
</div>
<a id="ga8e7eacc5be9c2223535bb57950171f0b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga8e7eacc5be9c2223535bb57950171f0b">&#9670;&nbsp;</a></span>pn_condition_set_description()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int pn_condition_set_description </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__condition.html#ga11eb7db7d2c205169fe3d47c996a95a5">pn_condition_t</a> *&#160;</td>
          <td class="paramname"><em>condition</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>description</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Sets the description associated with the exceptional condition. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">condition</td><td>the condition object </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">description</td><td>the desired description </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>an error code or 0 on success </dd></dl>

</div>
</div>
<a id="ga1dba0d01af7ba6ad7ad6b02bf642a46b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga1dba0d01af7ba6ad7ad6b02bf642a46b">&#9670;&nbsp;</a></span>pn_condition_info()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__data.html#ga5d6cf528776e8b6ad6d67caf095986bf">pn_data_t</a>* pn_condition_info </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__condition.html#ga11eb7db7d2c205169fe3d47c996a95a5">pn_condition_t</a> *&#160;</td>
          <td class="paramname"><em>condition</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Returns a data object that holds the additional information associated with the condition. </p>
<p>The data object may be used both to access and to modify the additional information associated with the condition.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">condition</td><td>the condition object </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>a data object holding the additional information for the condition </dd></dl>

</div>
</div>
<a id="gaefa0da2c1e82f29ddda357e171f5a50a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaefa0da2c1e82f29ddda357e171f5a50a">&#9670;&nbsp;</a></span>pn_condition_is_redirect()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool pn_condition_is_redirect </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__condition.html#ga11eb7db7d2c205169fe3d47c996a95a5">pn_condition_t</a> *&#160;</td>
          <td class="paramname"><em>condition</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Returns true if the condition is a redirect. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">condition</td><td>the condition object </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>true if the condition is a redirect, false otherwise </dd></dl>

</div>
</div>
<a id="ga76c5dbc715c0d72d7dad2126b797eb64"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga76c5dbc715c0d72d7dad2126b797eb64">&#9670;&nbsp;</a></span>pn_condition_redirect_host()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const char* pn_condition_redirect_host </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__condition.html#ga11eb7db7d2c205169fe3d47c996a95a5">pn_condition_t</a> *&#160;</td>
          <td class="paramname"><em>condition</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Retrieves the redirect host from the additional information associated with the condition. </p>
<p>If the condition is not a redirect, this will return NULL.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">condition</td><td>the condition object </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>the redirect host or NULL </dd></dl>

</div>
</div>
<a id="gaf92a380a12c91d4124c22af62318c2e9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaf92a380a12c91d4124c22af62318c2e9">&#9670;&nbsp;</a></span>pn_condition_redirect_port()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int pn_condition_redirect_port </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__condition.html#ga11eb7db7d2c205169fe3d47c996a95a5">pn_condition_t</a> *&#160;</td>
          <td class="paramname"><em>condition</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Retrieves the redirect port from the additional information associated with the condition. </p>
<p>If the condition is not a redirect, this will return an error code.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">condition</td><td>the condition object </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>the redirect port 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.svg" width="104" height="31" alt="doxygen"/></a> 1.8.20 </li>
  </ul>
</div>
</body>
</html>
