Sophie

Sophie

distrib > Mandriva > 2010.2 > x86_64 > by-pkgid > e68df492b0c9f27db58b721fc79af4ec > files > 17

apache-mod_spin-1.2.0-2mdv2010.1.x86_64.rpm

<!-- This comment will put IE 6, 7 and 8 in quirks mode -->
<!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"/>
<title>mod_spin: Context functions</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javaScript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body onload='searchBox.OnSelectItem(0);'>
<!-- Generated by Doxygen 1.6.1 -->
<script type="text/javascript"><!--
var searchBox = new SearchBox("searchBox", "search",false,'Search');
--></script>
<div class="navigation" id="top">
  <div class="tabs">
    <ul>
      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <img id="MSearchSelect" src="search/search.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)"/>
        <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
        </div>
      </li>
    </ul>
  </div>
</div>
<div class="contents">
<h1>Context functions</h1><table border="0" cellpadding="0" cellspacing="0">
<tr><td colspan="2"><h2>Defines</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rxv__spin__context__functions.html#ga82ba79f55c39cf8d5d25c04856ff15a1">rxv_spin_sget</a>(ctx, key)&nbsp;&nbsp;&nbsp;rxv_spin_string(rxv_spin_get((ctx),(key)))</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rxv__spin__context__functions.html#ga4d237480037c4af0d8314aadb024f02b">rxv_spin_sset</a>(ctx, key, val)&nbsp;&nbsp;&nbsp;rxv_spin_set((ctx),(key),rxv_spin_datum(rxv_spin_pool(ctx),(val),NULL))</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rxv__spin__context__functions.html#ga7a65a1c5e1f9bf4c754a3f4935c0644f">rxv_spin_del</a>(ctx, key)&nbsp;&nbsp;&nbsp;rxv_spin_set((ctx),(key),NULL)</td></tr>
<tr><td colspan="2"><h2>Typedefs</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef struct rxv_spin_ctx&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rxv__spin__context__functions.html#ga30804b0a2d35ece781c2d23fead40600">rxv_spin_ctx_t</a></td></tr>
<tr><td colspan="2"><h2>Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">apr_pool_t *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rxv__spin__context__functions.html#gabdba091a7246e81ad0a7625ea753716e">rxv_spin_pool</a> (<a class="el" href="group__rxv__spin__context__functions.html#ga30804b0a2d35ece781c2d23fead40600">rxv_spin_ctx_t</a> *ctx)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">apr_pool_t *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rxv__spin__context__functions.html#ga0dff12d55646ffd9e608fc576f9da1c3">rxv_spin_ppool</a> (<a class="el" href="group__rxv__spin__context__functions.html#ga30804b0a2d35ece781c2d23fead40600">rxv_spin_ctx_t</a> *ctx)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__rxv__spin__data__functions.html#gaf40e2976488da2cfc4c1ec4464f8c6be">rxv_spin_data_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rxv__spin__context__functions.html#gacc73e8007be40fbb4329b72c701d7afb">rxv_spin_data</a> (<a class="el" href="group__rxv__spin__context__functions.html#ga30804b0a2d35ece781c2d23fead40600">rxv_spin_ctx_t</a> *ctx)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">request_rec *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rxv__spin__context__functions.html#ga29df820380e2419b4b8fb69ba9fec609">rxv_spin_r</a> (<a class="el" href="group__rxv__spin__context__functions.html#ga30804b0a2d35ece781c2d23fead40600">rxv_spin_ctx_t</a> *ctx)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">apreq_handle_t *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rxv__spin__context__functions.html#ga301635c981e00e19c20345507279858e">rxv_spin_req</a> (<a class="el" href="group__rxv__spin__context__functions.html#ga30804b0a2d35ece781c2d23fead40600">rxv_spin_ctx_t</a> *ctx)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rxv__spin__context__functions.html#ga4768b058668cc6231cb4fe1bef33a8d5">rxv_spin_xget</a> (<a class="el" href="group__rxv__spin__context__functions.html#ga30804b0a2d35ece781c2d23fead40600">rxv_spin_ctx_t</a> *ctx)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rxv__spin__context__functions.html#ga28092d91a2eb480ae6e30c4eb828a14f">rxv_spin_xset</a> (<a class="el" href="group__rxv__spin__context__functions.html#ga30804b0a2d35ece781c2d23fead40600">rxv_spin_ctx_t</a> *ctx, void *extra)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__rxv__spin__data__functions.html#gaf40e2976488da2cfc4c1ec4464f8c6be">rxv_spin_data_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rxv__spin__context__functions.html#gaf0f1600af3f846afc8c786f0771f9bac">rxv_spin_get</a> (<a class="el" href="group__rxv__spin__context__functions.html#ga30804b0a2d35ece781c2d23fead40600">rxv_spin_ctx_t</a> *ctx, const char *key)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__rxv__spin__data__functions.html#gaf40e2976488da2cfc4c1ec4464f8c6be">rxv_spin_data_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rxv__spin__context__functions.html#ga43431b2b2f7df3175954db1adfc80a7f">rxv_spin_set</a> (<a class="el" href="group__rxv__spin__context__functions.html#ga30804b0a2d35ece781c2d23fead40600">rxv_spin_ctx_t</a> *ctx, const char *key, <a class="el" href="group__rxv__spin__data__functions.html#gaf40e2976488da2cfc4c1ec4464f8c6be">rxv_spin_data_t</a> *value)</td></tr>
</table>
<hr/><a name="_details"></a><h2>Detailed Description</h2>
<p>Context functions (mod_spin API) </p>
<hr/><h2>Define Documentation</h2>
<a class="anchor" id="ga82ba79f55c39cf8d5d25c04856ff15a1"></a><!-- doxytag: member="rxv_spin.h::rxv_spin_sget" ref="ga82ba79f55c39cf8d5d25c04856ff15a1" args="(ctx, key)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define rxv_spin_sget</td>
          <td>(</td>
          <td class="paramtype">ctx, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">key&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td>&nbsp;&nbsp;&nbsp;rxv_spin_string(rxv_spin_get((ctx),(key)))</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>get a string from the context by converting from single </p>

</div>
</div>
<a class="anchor" id="ga4d237480037c4af0d8314aadb024f02b"></a><!-- doxytag: member="rxv_spin.h::rxv_spin_sset" ref="ga4d237480037c4af0d8314aadb024f02b" args="(ctx, key, val)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define rxv_spin_sset</td>
          <td>(</td>
          <td class="paramtype">ctx, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">key, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">val&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td>&nbsp;&nbsp;&nbsp;rxv_spin_set((ctx),(key),rxv_spin_datum(rxv_spin_pool(ctx),(val),NULL))</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>set a string into context by converting to single </p>

</div>
</div>
<a class="anchor" id="ga7a65a1c5e1f9bf4c754a3f4935c0644f"></a><!-- doxytag: member="rxv_spin.h::rxv_spin_del" ref="ga7a65a1c5e1f9bf4c754a3f4935c0644f" args="(ctx, key)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define rxv_spin_del</td>
          <td>(</td>
          <td class="paramtype">ctx, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">key&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td>&nbsp;&nbsp;&nbsp;rxv_spin_set((ctx),(key),NULL)</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>delete a value from context </p>

</div>
</div>
<hr/><h2>Typedef Documentation</h2>
<a class="anchor" id="ga30804b0a2d35ece781c2d23fead40600"></a><!-- doxytag: member="rxv_spin.h::rxv_spin_ctx_t" ref="ga30804b0a2d35ece781c2d23fead40600" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef struct rxv_spin_ctx <a class="el" href="group__rxv__spin__context__functions.html#ga30804b0a2d35ece781c2d23fead40600">rxv_spin_ctx_t</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>context type </p>

</div>
</div>
<hr/><h2>Function Documentation</h2>
<a class="anchor" id="gabdba091a7246e81ad0a7625ea753716e"></a><!-- doxytag: member="rxv_spin.h::rxv_spin_pool" ref="gabdba091a7246e81ad0a7625ea753716e" args="(rxv_spin_ctx_t *ctx)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">apr_pool_t* rxv_spin_pool </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__rxv__spin__context__functions.html#ga30804b0a2d35ece781c2d23fead40600">rxv_spin_ctx_t</a> *&nbsp;</td>
          <td class="paramname"> <em>ctx</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Retrieve context specific pool.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>ctx</em>&nbsp;</td><td>Context </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>pointer to context specific pool, NULL on error </dd></dl>
<dl class="user"><dt><b>Example:</b></dt><dd><div class="fragment"><pre class="fragment"> <a class="code" href="group__rxv__spin__context__functions.html#gabdba091a7246e81ad0a7625ea753716e">rxv_spin_pool</a>(ctx);
</pre></div> </dd></dl>

</div>
</div>
<a class="anchor" id="ga0dff12d55646ffd9e608fc576f9da1c3"></a><!-- doxytag: member="rxv_spin.h::rxv_spin_ppool" ref="ga0dff12d55646ffd9e608fc576f9da1c3" args="(rxv_spin_ctx_t *ctx)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">apr_pool_t* rxv_spin_ppool </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__rxv__spin__context__functions.html#ga30804b0a2d35ece781c2d23fead40600">rxv_spin_ctx_t</a> *&nbsp;</td>
          <td class="paramname"> <em>ctx</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Retrieve process specific pool.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>ctx</em>&nbsp;</td><td>Context </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>pointer to process specific pool, NULL on error </dd></dl>
<dl class="user"><dt><b>Example:</b></dt><dd><div class="fragment"><pre class="fragment"> <a class="code" href="group__rxv__spin__context__functions.html#ga0dff12d55646ffd9e608fc576f9da1c3">rxv_spin_ppool</a>(ctx);
</pre></div> </dd></dl>

</div>
</div>
<a class="anchor" id="gacc73e8007be40fbb4329b72c701d7afb"></a><!-- doxytag: member="rxv_spin.h::rxv_spin_data" ref="gacc73e8007be40fbb4329b72c701d7afb" args="(rxv_spin_ctx_t *ctx)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__rxv__spin__data__functions.html#gaf40e2976488da2cfc4c1ec4464f8c6be">rxv_spin_data_t</a>* rxv_spin_data </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__rxv__spin__context__functions.html#ga30804b0a2d35ece781c2d23fead40600">rxv_spin_ctx_t</a> *&nbsp;</td>
          <td class="paramname"> <em>ctx</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Retrieve data from context.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>ctx</em>&nbsp;</td><td>Context </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>pointer to data, NULL on error </dd></dl>
<dl class="user"><dt><b>Example:</b></dt><dd><div class="fragment"><pre class="fragment"> <a class="code" href="group__rxv__spin__context__functions.html#gacc73e8007be40fbb4329b72c701d7afb">rxv_spin_data</a>(ctx);
</pre></div> </dd></dl>

</div>
</div>
<a class="anchor" id="ga29df820380e2419b4b8fb69ba9fec609"></a><!-- doxytag: member="rxv_spin.h::rxv_spin_r" ref="ga29df820380e2419b4b8fb69ba9fec609" args="(rxv_spin_ctx_t *ctx)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">request_rec* rxv_spin_r </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__rxv__spin__context__functions.html#ga30804b0a2d35ece781c2d23fead40600">rxv_spin_ctx_t</a> *&nbsp;</td>
          <td class="paramname"> <em>ctx</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Retrieve Apache request from context.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>ctx</em>&nbsp;</td><td>Context </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>pointer to Apache request, NULL on error </dd></dl>
<dl class="user"><dt><b>Example:</b></dt><dd><div class="fragment"><pre class="fragment"> <a class="code" href="group__rxv__spin__context__functions.html#ga29df820380e2419b4b8fb69ba9fec609">rxv_spin_r</a>(ctx);
</pre></div> </dd></dl>

</div>
</div>
<a class="anchor" id="ga301635c981e00e19c20345507279858e"></a><!-- doxytag: member="rxv_spin.h::rxv_spin_req" ref="ga301635c981e00e19c20345507279858e" args="(rxv_spin_ctx_t *ctx)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">apreq_handle_t* rxv_spin_req </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__rxv__spin__context__functions.html#ga30804b0a2d35ece781c2d23fead40600">rxv_spin_ctx_t</a> *&nbsp;</td>
          <td class="paramname"> <em>ctx</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Retrieve parsed request from context.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>ctx</em>&nbsp;</td><td>Context </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>pointer to parsed request, NULL on error </dd></dl>
<dl class="user"><dt><b>Example:</b></dt><dd><div class="fragment"><pre class="fragment"> <a class="code" href="group__rxv__spin__context__functions.html#ga301635c981e00e19c20345507279858e">rxv_spin_req</a>(ctx);
</pre></div> </dd></dl>

</div>
</div>
<a class="anchor" id="ga4768b058668cc6231cb4fe1bef33a8d5"></a><!-- doxytag: member="rxv_spin.h::rxv_spin_xget" ref="ga4768b058668cc6231cb4fe1bef33a8d5" args="(rxv_spin_ctx_t *ctx)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void* rxv_spin_xget </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__rxv__spin__context__functions.html#ga30804b0a2d35ece781c2d23fead40600">rxv_spin_ctx_t</a> *&nbsp;</td>
          <td class="paramname"> <em>ctx</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Retrieve extra data from the context.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>ctx</em>&nbsp;</td><td>Context </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>pointer to extra data, NULL on error </dd></dl>
<dl class="user"><dt><b>Example:</b></dt><dd><div class="fragment"><pre class="fragment"> <a class="code" href="group__rxv__spin__context__functions.html#ga4768b058668cc6231cb4fe1bef33a8d5">rxv_spin_xget</a>(ctx);
</pre></div> </dd></dl>

</div>
</div>
<a class="anchor" id="ga28092d91a2eb480ae6e30c4eb828a14f"></a><!-- doxytag: member="rxv_spin.h::rxv_spin_xset" ref="ga28092d91a2eb480ae6e30c4eb828a14f" args="(rxv_spin_ctx_t *ctx, void *extra)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void* rxv_spin_xset </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__rxv__spin__context__functions.html#ga30804b0a2d35ece781c2d23fead40600">rxv_spin_ctx_t</a> *&nbsp;</td>
          <td class="paramname"> <em>ctx</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&nbsp;</td>
          <td class="paramname"> <em>extra</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Set extra data into the context.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>ctx</em>&nbsp;</td><td>Context </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>extra</em>&nbsp;</td><td>Pointer to extra data to set into the context </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>pointer to extra data, NULL on error </dd></dl>
<dl class="user"><dt><b>Example:</b></dt><dd><div class="fragment"><pre class="fragment"> <a class="code" href="group__rxv__spin__context__functions.html#ga28092d91a2eb480ae6e30c4eb828a14f">rxv_spin_xset</a>(ctx,somedata);
</pre></div> </dd></dl>

</div>
</div>
<a class="anchor" id="gaf0f1600af3f846afc8c786f0771f9bac"></a><!-- doxytag: member="rxv_spin.h::rxv_spin_get" ref="gaf0f1600af3f846afc8c786f0771f9bac" args="(rxv_spin_ctx_t *ctx, const char *key)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__rxv__spin__data__functions.html#gaf40e2976488da2cfc4c1ec4464f8c6be">rxv_spin_data_t</a>* rxv_spin_get </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__rxv__spin__context__functions.html#ga30804b0a2d35ece781c2d23fead40600">rxv_spin_ctx_t</a> *&nbsp;</td>
          <td class="paramname"> <em>ctx</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>key</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Retrieve data from the context.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>ctx</em>&nbsp;</td><td>Context </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>key</em>&nbsp;</td><td>Unique key by which this data is identified </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>pointer to data, NULL if not found </dd></dl>
<dl class="user"><dt><b>Example:</b></dt><dd><div class="fragment"><pre class="fragment"> <a class="code" href="group__rxv__spin__context__functions.html#gaf0f1600af3f846afc8c786f0771f9bac">rxv_spin_get</a>(ctx,<span class="stringliteral">&quot;result&quot;</span>);
</pre></div> </dd></dl>

</div>
</div>
<a class="anchor" id="ga43431b2b2f7df3175954db1adfc80a7f"></a><!-- doxytag: member="rxv_spin.h::rxv_spin_set" ref="ga43431b2b2f7df3175954db1adfc80a7f" args="(rxv_spin_ctx_t *ctx, const char *key, rxv_spin_data_t *value)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__rxv__spin__data__functions.html#gaf40e2976488da2cfc4c1ec4464f8c6be">rxv_spin_data_t</a>* rxv_spin_set </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__rxv__spin__context__functions.html#ga30804b0a2d35ece781c2d23fead40600">rxv_spin_ctx_t</a> *&nbsp;</td>
          <td class="paramname"> <em>ctx</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>key</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__rxv__spin__data__functions.html#gaf40e2976488da2cfc4c1ec4464f8c6be">rxv_spin_data_t</a> *&nbsp;</td>
          <td class="paramname"> <em>value</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Place data into the context.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>ctx</em>&nbsp;</td><td>Context </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>key</em>&nbsp;</td><td>Unique key by which this data is identified </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>value</em>&nbsp;</td><td>The actual data </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>pointer to data, NULL on error </dd></dl>
<dl class="user"><dt><b>Example:</b></dt><dd><div class="fragment"><pre class="fragment"> <a class="code" href="group__rxv__spin__context__functions.html#ga43431b2b2f7df3175954db1adfc80a7f">rxv_spin_set</a>(ctx,<span class="stringliteral">&quot;result&quot;</span>,result);
</pre></div> </dd></dl>
<dl class="remark"><dt><b>Remarks:</b></dt><dd>This function is also used for context data removal, through a macro. In such a case, NULL return value is not necessarily a failure. </dd></dl>
<dl class="warning"><dt><b>Warning:</b></dt><dd>The data set into the context has to have at least the lifetime of the request. Anything less and the pool used to hold the data may get cleaned before the bucket holding the value gets created. In most cases, this will result in a segfault. </dd>
<dd>
Do not put data allocated from the heap (with malloc(), calloc() and friends) into the context unless you set up cleanup functions that will free the allocated space. Although the context itself and the bucket brigade passed to Apache will be cleaned automatically (because it is allocated from the pool and/or has relevant cleanup functions), the heap storage space has to be freed explicitly. The safest option is to always use data allocated from the request pool. </dd></dl>

</div>
</div>
</div>
<!--- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&nbsp;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&nbsp;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&nbsp;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&nbsp;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&nbsp;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&nbsp;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&nbsp;</span>Defines</a></div>

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

<hr size="1"/><address style="text-align: right;"><small>Generated on 29 Dec 2009 for mod_spin by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>
</body>
</html>