D7net Mini Sh3LL v1
Current File : //libx32/../share/doc/fwupd/../libvorbis0a/../libaprutil1-dev/html/group___a_p_r___util___hook.html |
<!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.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Apache Portable Runtime Utility Library: Hook Functions</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></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">Apache Portable Runtime Utility Library
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<!-- 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="#groups">Modules</a> |
<a href="#define-members">Macros</a> |
<a href="#func-members">Functions</a> |
<a href="#var-members">Variables</a> </div>
<div class="headertitle">
<div class="title">Hook Functions<div class="ingroups"><a class="el" href="group___a_p_r___util.html">APR Utility Functions</a></div></div> </div>
</div><!--header-->
<div class="contents">
<div class="dynheader">
Collaboration diagram for Hook Functions:</div>
<div class="dyncontent">
<div class="center"><img src="group___a_p_r___util___hook.png" border="0" usemap="#group______a__p__r______util______hook" alt=""/></div>
<!-- MAP 0 -->
</div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="groups"></a>
Modules</h2></td></tr>
<tr class="memitem:group__apr__hook__probes"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__hook__probes.html">Hook probe capability</a></td></tr>
<tr class="memdesc:group__apr__hook__probes"><td class="mdescLeft"> </td><td class="mdescRight">APR hooks provide a trace probe capability for capturing the flow of control and return values with hooks. <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:group___a_p_r___util___o_p_t___h_o_o_k"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___a_p_r___util___o_p_t___h_o_o_k.html">Optional Hook Functions</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:ga832a6d3b73a43b3f7c58c5702ddccce9"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group___a_p_r___util___hook.html#ga832a6d3b73a43b3f7c58c5702ddccce9">APR_IMPLEMENT_HOOK_GET_PROTO</a>(ns, link, name)   link##_DECLARE(apr_array_header_t *) ns##_hook_get_##name(void)</td></tr>
<tr class="separator:ga832a6d3b73a43b3f7c58c5702ddccce9"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ga69298243d3c4ffb4627fd3d04b522f44"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group___a_p_r___util___hook.html#ga69298243d3c4ffb4627fd3d04b522f44">APR_DECLARE_EXTERNAL_HOOK</a>(ns, link, ret, name, args)</td></tr>
<tr class="separator:ga69298243d3c4ffb4627fd3d04b522f44"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:gaa936f5a0d1164d301aa157de6023fae5"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group___a_p_r___util___hook.html#gaa936f5a0d1164d301aa157de6023fae5">APR_HOOK_STRUCT</a>(members)   static struct { members } _hooks;</td></tr>
<tr class="separator:gaa936f5a0d1164d301aa157de6023fae5"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ga5699f73166bae88b6f6ac0bf7618b0f6"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group___a_p_r___util___hook.html#ga5699f73166bae88b6f6ac0bf7618b0f6">APR_HOOK_LINK</a>(name)   apr_array_header_t *link_##name;</td></tr>
<tr class="separator:ga5699f73166bae88b6f6ac0bf7618b0f6"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ga2500abadaa54b3a9d6ec25ff33a6b0cc"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group___a_p_r___util___hook.html#ga2500abadaa54b3a9d6ec25ff33a6b0cc">APR_IMPLEMENT_EXTERNAL_HOOK_BASE</a>(ns, link, name)</td></tr>
<tr class="separator:ga2500abadaa54b3a9d6ec25ff33a6b0cc"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ga2d11a43b6431ec568cc1647da4a2079c"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group___a_p_r___util___hook.html#ga2d11a43b6431ec568cc1647da4a2079c">APR_IMPLEMENT_EXTERNAL_HOOK_VOID</a>(ns, link, name, args_decl, args_use)</td></tr>
<tr class="separator:ga2d11a43b6431ec568cc1647da4a2079c"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:gab466280bdabe0cc2ee5880cbb512fa3d"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group___a_p_r___util___hook.html#gab466280bdabe0cc2ee5880cbb512fa3d">APR_IMPLEMENT_EXTERNAL_HOOK_RUN_ALL</a>(ns, link, ret, name, args_decl, args_use, ok, decline)</td></tr>
<tr class="separator:gab466280bdabe0cc2ee5880cbb512fa3d"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ga0420a2aa9ca6b3c1638bdb76025ecc57"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group___a_p_r___util___hook.html#ga0420a2aa9ca6b3c1638bdb76025ecc57">APR_IMPLEMENT_EXTERNAL_HOOK_RUN_FIRST</a>(ns, link, ret, name, args_decl, args_use, decline)</td></tr>
<tr class="separator:ga0420a2aa9ca6b3c1638bdb76025ecc57"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:gab004dcbfff32997deb15040e48f07e92"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group___a_p_r___util___hook.html#gab004dcbfff32997deb15040e48f07e92">APR_HOOK_REALLY_FIRST</a>   (-10)</td></tr>
<tr class="separator:gab004dcbfff32997deb15040e48f07e92"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ga564dea4803813674cb6b742f65a3d2b2"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group___a_p_r___util___hook.html#ga564dea4803813674cb6b742f65a3d2b2">APR_HOOK_FIRST</a>   0</td></tr>
<tr class="separator:ga564dea4803813674cb6b742f65a3d2b2"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:gab9a5d50c3478c4d640deccec6b0ce879"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group___a_p_r___util___hook.html#gab9a5d50c3478c4d640deccec6b0ce879">APR_HOOK_MIDDLE</a>   10</td></tr>
<tr class="separator:gab9a5d50c3478c4d640deccec6b0ce879"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:gaa610a95f03d7b4aee922c28b0919f028"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group___a_p_r___util___hook.html#gaa610a95f03d7b4aee922c28b0919f028">APR_HOOK_LAST</a>   20</td></tr>
<tr class="separator:gaa610a95f03d7b4aee922c28b0919f028"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:gae3c7d2cf35e8c89828dfff7a85b0ed77"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group___a_p_r___util___hook.html#gae3c7d2cf35e8c89828dfff7a85b0ed77">APR_HOOK_REALLY_LAST</a>   30</td></tr>
<tr class="separator:gae3c7d2cf35e8c89828dfff7a85b0ed77"><td class="memSeparator" colspan="2"> </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:ga04843fe00dc3c08c23130fef3ba1260c"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group___a_p_r___util___hook.html#ga04843fe00dc3c08c23130fef3ba1260c">apr_hook_sort_register</a> (const char *szHookName, apr_array_header_t **aHooks)</td></tr>
<tr class="separator:ga04843fe00dc3c08c23130fef3ba1260c"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ga1e0b6cf91dac5417c1b9cbd1b46b8991"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group___a_p_r___util___hook.html#ga1e0b6cf91dac5417c1b9cbd1b46b8991">apr_hook_sort_all</a> (void)</td></tr>
<tr class="separator:ga1e0b6cf91dac5417c1b9cbd1b46b8991"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ga1de31557683f53c2a07f73990962c585"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group___a_p_r___util___hook.html#ga1de31557683f53c2a07f73990962c585">apr_hook_debug_show</a> (const char *szName, const char *const *aszPre, const char *const *aszSucc)</td></tr>
<tr class="separator:ga1de31557683f53c2a07f73990962c585"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ga5d20451da75574c8433feb1bd5b2ce10"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group___a_p_r___util___hook.html#ga5d20451da75574c8433feb1bd5b2ce10">apr_hook_deregister_all</a> (void)</td></tr>
<tr class="separator:ga5d20451da75574c8433feb1bd5b2ce10"><td class="memSeparator" colspan="2"> </td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a>
Variables</h2></td></tr>
<tr class="memitem:ga8911bb699a5f03ad3c36d579ca0eca23"><td class="memItemLeft" align="right" valign="top">apr_pool_t * </td><td class="memItemRight" valign="bottom"><a class="el" href="group___a_p_r___util___hook.html#ga8911bb699a5f03ad3c36d579ca0eca23">apr_hook_global_pool</a></td></tr>
<tr class="separator:ga8911bb699a5f03ad3c36d579ca0eca23"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ga59309caeb9b47d921727530494f264be"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___a_p_r___util___hook.html#ga59309caeb9b47d921727530494f264be">apr_hook_debug_enabled</a></td></tr>
<tr class="separator:ga59309caeb9b47d921727530494f264be"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ga37be3c217439ceddbda16054b020a658"><td class="memItemLeft" align="right" valign="top">const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="group___a_p_r___util___hook.html#ga37be3c217439ceddbda16054b020a658">apr_hook_debug_current</a></td></tr>
<tr class="separator:ga37be3c217439ceddbda16054b020a658"><td class="memSeparator" colspan="2"> </td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<h2 class="groupheader">Macro Definition Documentation</h2>
<a id="ga69298243d3c4ffb4627fd3d04b522f44"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga69298243d3c4ffb4627fd3d04b522f44">◆ </a></span>APR_DECLARE_EXTERNAL_HOOK</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define APR_DECLARE_EXTERNAL_HOOK</td>
<td>(</td>
<td class="paramtype"> </td>
<td class="paramname">ns, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"> </td>
<td class="paramname">link, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"> </td>
<td class="paramname">ret, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"> </td>
<td class="paramname">name, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"> </td>
<td class="paramname">args </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line"><span class="keyword">typedef</span> ret ns##_HOOK_##name##_t args; \</div>
<div class="line">link##_DECLARE(<span class="keywordtype">void</span>) ns##_hook_##name(ns##_HOOK_##name##_t *pf, \</div>
<div class="line"> <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> *aszPre, \</div>
<div class="line"> <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> *aszSucc, <span class="keywordtype">int</span> nOrder); \</div>
<div class="line">link##_DECLARE(ret) ns##_run_##name args; \</div>
<div class="line">APR_IMPLEMENT_HOOK_GET_PROTO(ns,link,name); \</div>
<div class="line">typedef <span class="keyword">struct </span>ns##_LINK_##name##_t \</div>
<div class="line"> { \</div>
<div class="line"> ns##_HOOK_##name##_t *pFunc; \</div>
<div class="line"> const <span class="keywordtype">char</span> *szName; \</div>
<div class="line"> const <span class="keywordtype">char</span> * <span class="keyword">const</span> *aszPredecessors; \</div>
<div class="line"> const <span class="keywordtype">char</span> * <span class="keyword">const</span> *aszSuccessors; \</div>
<div class="line"> int nOrder; \</div>
<div class="line"> } ns##_LINK_##name##_t;</div>
</div><!-- fragment --><p>macro to declare the hook correctly </p>
</div>
</div>
<a id="ga564dea4803813674cb6b742f65a3d2b2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga564dea4803813674cb6b742f65a3d2b2">◆ </a></span>APR_HOOK_FIRST</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define APR_HOOK_FIRST   0</td>
</tr>
</table>
</div><div class="memdoc">
<p>run this hook first </p>
</div>
</div>
<a id="gaa610a95f03d7b4aee922c28b0919f028"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaa610a95f03d7b4aee922c28b0919f028">◆ </a></span>APR_HOOK_LAST</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define APR_HOOK_LAST   20</td>
</tr>
</table>
</div><div class="memdoc">
<p>run this hook after every other hook which is defined </p>
</div>
</div>
<a id="ga5699f73166bae88b6f6ac0bf7618b0f6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga5699f73166bae88b6f6ac0bf7618b0f6">◆ </a></span>APR_HOOK_LINK</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define APR_HOOK_LINK</td>
<td>(</td>
<td class="paramtype"> </td>
<td class="paramname">name</td><td>)</td>
<td>   apr_array_header_t *link_##name;</td>
</tr>
</table>
</div><div class="memdoc">
<p>macro to link the hook structure </p>
</div>
</div>
<a id="gab9a5d50c3478c4d640deccec6b0ce879"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gab9a5d50c3478c4d640deccec6b0ce879">◆ </a></span>APR_HOOK_MIDDLE</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define APR_HOOK_MIDDLE   10</td>
</tr>
</table>
</div><div class="memdoc">
<p>run this hook somewhere </p>
</div>
</div>
<a id="gab004dcbfff32997deb15040e48f07e92"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gab004dcbfff32997deb15040e48f07e92">◆ </a></span>APR_HOOK_REALLY_FIRST</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define APR_HOOK_REALLY_FIRST   (-10)</td>
</tr>
</table>
</div><div class="memdoc">
<p>run this hook first, before ANYTHING </p>
</div>
</div>
<a id="gae3c7d2cf35e8c89828dfff7a85b0ed77"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gae3c7d2cf35e8c89828dfff7a85b0ed77">◆ </a></span>APR_HOOK_REALLY_LAST</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define APR_HOOK_REALLY_LAST   30</td>
</tr>
</table>
</div><div class="memdoc">
<p>run this hook last, after EVERYTHING </p>
</div>
</div>
<a id="gaa936f5a0d1164d301aa157de6023fae5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaa936f5a0d1164d301aa157de6023fae5">◆ </a></span>APR_HOOK_STRUCT</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define APR_HOOK_STRUCT</td>
<td>(</td>
<td class="paramtype"> </td>
<td class="paramname">members</td><td>)</td>
<td>   static struct { members } _hooks;</td>
</tr>
</table>
</div><div class="memdoc">
<p>macro to declare the hook structure </p>
</div>
</div>
<a id="ga2500abadaa54b3a9d6ec25ff33a6b0cc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga2500abadaa54b3a9d6ec25ff33a6b0cc">◆ </a></span>APR_IMPLEMENT_EXTERNAL_HOOK_BASE</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define APR_IMPLEMENT_EXTERNAL_HOOK_BASE</td>
<td>(</td>
<td class="paramtype"> </td>
<td class="paramname">ns, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"> </td>
<td class="paramname">link, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"> </td>
<td class="paramname">name </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line">link##_DECLARE(<span class="keywordtype">void</span>) ns##_hook_##name(ns##_HOOK_##name##_t *pf,<span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> *aszPre, \</div>
<div class="line"> <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> *aszSucc,<span class="keywordtype">int</span> nOrder) \</div>
<div class="line"> { \</div>
<div class="line"> ns##_LINK_##name##_t *pHook; \</div>
<div class="line"> if(!_hooks.link_##name) \</div>
<div class="line"> { \</div>
<div class="line"> _hooks.link_##name=apr_array_make(<a class="code" href="group___a_p_r___util___hook.html#ga8911bb699a5f03ad3c36d579ca0eca23">apr_hook_global_pool</a>,1,<span class="keyword">sizeof</span>(ns##_LINK_##name##_t)); \</div>
<div class="line"> apr_hook_sort_register(#name,&_hooks.link_##name); \</div>
<div class="line"> } \</div>
<div class="line"> pHook=apr_array_push(_hooks.link_##name); \</div>
<div class="line"> pHook->pFunc=pf; \</div>
<div class="line"> pHook->aszPredecessors=aszPre; \</div>
<div class="line"> pHook->aszSuccessors=aszSucc; \</div>
<div class="line"> pHook->nOrder=nOrder; \</div>
<div class="line"> pHook->szName=<a class="code" href="group___a_p_r___util___hook.html#ga37be3c217439ceddbda16054b020a658">apr_hook_debug_current</a>; \</div>
<div class="line"> if(<a class="code" href="group___a_p_r___util___hook.html#ga59309caeb9b47d921727530494f264be">apr_hook_debug_enabled</a>) \</div>
<div class="line"> apr_hook_debug_show(#name,aszPre,aszSucc); \</div>
<div class="line"> } \</div>
<div class="line"> APR_IMPLEMENT_HOOK_GET_PROTO(ns,link,name) \</div>
<div class="line"> { \</div>
<div class="line"> return _hooks.link_##name; \</div>
<div class="line"> }</div>
</div><!-- fragment --><p>macro to implement the hook </p>
</div>
</div>
<a id="gab466280bdabe0cc2ee5880cbb512fa3d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gab466280bdabe0cc2ee5880cbb512fa3d">◆ </a></span>APR_IMPLEMENT_EXTERNAL_HOOK_RUN_ALL</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define APR_IMPLEMENT_EXTERNAL_HOOK_RUN_ALL</td>
<td>(</td>
<td class="paramtype"> </td>
<td class="paramname">ns, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"> </td>
<td class="paramname">link, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"> </td>
<td class="paramname">ret, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"> </td>
<td class="paramname">name, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"> </td>
<td class="paramname">args_decl, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"> </td>
<td class="paramname">args_use, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"> </td>
<td class="paramname">ok, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"> </td>
<td class="paramname">decline </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line"><a class="code" href="group___a_p_r___util___hook.html#ga2500abadaa54b3a9d6ec25ff33a6b0cc">APR_IMPLEMENT_EXTERNAL_HOOK_BASE</a>(ns,link,name) \</div>
<div class="line">link##_DECLARE(ret) ns##_run_##name args_decl \</div>
<div class="line"> { \</div>
<div class="line"> ns##_LINK_##name##_t *pHook; \</div>
<div class="line"> int n; \</div>
<div class="line"> ret rv = ok; \</div>
<div class="line"> APR_HOOK_INT_DCL_UD; <a class="code" href="group__apr__hook__probes.html#ga320422eebccc41f9329e34e11939e302">\</a></div>
<div class="line"><a class="code" href="group__apr__hook__probes.html#ga320422eebccc41f9329e34e11939e302">\</a></div>
<div class="line"><a class="code" href="group__apr__hook__probes.html#ga320422eebccc41f9329e34e11939e302"> APR_HOOK_PROBE_ENTRY</a>(ud, ns, name, args_use); \</div>
<div class="line">\</div>
<div class="line"> if(_hooks.link_##name) \</div>
<div class="line"> { \</div>
<div class="line"> pHook=(ns##_LINK_##name##_t *)_hooks.link_##name->elts; \</div>
<div class="line"> <span class="keywordflow">for</span>(n=0 ; n < _hooks.link_##name->nelts ; ++n) \</div>
<div class="line"> { \</div>
<div class="line"> APR_HOOK_PROBE_INVOKE(ud, ns, name, (<span class="keywordtype">char</span> *)pHook[n].szName, args_use); \</div>
<div class="line"> rv=pHook[n].pFunc args_use; \</div>
<div class="line"> APR_HOOK_PROBE_COMPLETE(ud, ns, name, (<span class="keywordtype">char</span> *)pHook[n].szName, rv, args_use); \</div>
<div class="line"> if(rv != ok && rv != decline) \</div>
<div class="line"> break; \</div>
<div class="line"> rv = ok; \</div>
<div class="line"> } \</div>
<div class="line"> } <a class="code" href="group__apr__hook__probes.html#gab3017efe0bb66b97b6b7931245211692">\</a></div>
<div class="line"><a class="code" href="group__apr__hook__probes.html#gab3017efe0bb66b97b6b7931245211692">\</a></div>
<div class="line"><a class="code" href="group__apr__hook__probes.html#gab3017efe0bb66b97b6b7931245211692"> APR_HOOK_PROBE_RETURN</a>(ud, ns, name, rv, args_use); \</div>
<div class="line">\</div>
<div class="line"> return rv; \</div>
<div class="line"> }</div>
</div><!-- fragment --><p>Implement a hook that runs until one of the functions returns something other than OK or DECLINE </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">ns</td><td>The namespace prefix of the hook functions </td></tr>
<tr><td class="paramname">link</td><td>The linkage declaration prefix of the hook </td></tr>
<tr><td class="paramname">ret</td><td>Type to return </td></tr>
<tr><td class="paramname">name</td><td>The name of the hook </td></tr>
<tr><td class="paramname">args_decl</td><td>The declaration of the arguments for the hook </td></tr>
<tr><td class="paramname">args_use</td><td>The names for the arguments for the hook </td></tr>
<tr><td class="paramname">ok</td><td>Success value </td></tr>
<tr><td class="paramname">decline</td><td>Decline value </td></tr>
</table>
</dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>The link prefix FOO corresponds to FOO_DECLARE() macros, which provide export linkage from the module that IMPLEMENTs the hook, and import linkage from external modules that link to the hook's module. </dd></dl>
</div>
</div>
<a id="ga0420a2aa9ca6b3c1638bdb76025ecc57"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga0420a2aa9ca6b3c1638bdb76025ecc57">◆ </a></span>APR_IMPLEMENT_EXTERNAL_HOOK_RUN_FIRST</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define APR_IMPLEMENT_EXTERNAL_HOOK_RUN_FIRST</td>
<td>(</td>
<td class="paramtype"> </td>
<td class="paramname">ns, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"> </td>
<td class="paramname">link, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"> </td>
<td class="paramname">ret, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"> </td>
<td class="paramname">name, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"> </td>
<td class="paramname">args_decl, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"> </td>
<td class="paramname">args_use, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"> </td>
<td class="paramname">decline </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line"><a class="code" href="group___a_p_r___util___hook.html#ga2500abadaa54b3a9d6ec25ff33a6b0cc">APR_IMPLEMENT_EXTERNAL_HOOK_BASE</a>(ns,link,name) \</div>
<div class="line">link##_DECLARE(ret) ns##_run_##name args_decl \</div>
<div class="line"> { \</div>
<div class="line"> ns##_LINK_##name##_t *pHook; \</div>
<div class="line"> int n; \</div>
<div class="line"> ret rv = decline; \</div>
<div class="line"> APR_HOOK_INT_DCL_UD; <a class="code" href="group__apr__hook__probes.html#ga320422eebccc41f9329e34e11939e302">\</a></div>
<div class="line"><a class="code" href="group__apr__hook__probes.html#ga320422eebccc41f9329e34e11939e302">\</a></div>
<div class="line"><a class="code" href="group__apr__hook__probes.html#ga320422eebccc41f9329e34e11939e302"> APR_HOOK_PROBE_ENTRY</a>(ud, ns, name, args_use); \</div>
<div class="line">\</div>
<div class="line"> if(_hooks.link_##name) \</div>
<div class="line"> { \</div>
<div class="line"> pHook=(ns##_LINK_##name##_t *)_hooks.link_##name->elts; \</div>
<div class="line"> <span class="keywordflow">for</span>(n=0 ; n < _hooks.link_##name->nelts ; ++n) \</div>
<div class="line"> { \</div>
<div class="line"> APR_HOOK_PROBE_INVOKE(ud, ns, name, (<span class="keywordtype">char</span> *)pHook[n].szName, args_use); \</div>
<div class="line"> rv=pHook[n].pFunc args_use; \</div>
<div class="line"> APR_HOOK_PROBE_COMPLETE(ud, ns, name, (<span class="keywordtype">char</span> *)pHook[n].szName, rv, args_use); \</div>
<div class="line">\</div>
<div class="line"> if(rv != decline) \</div>
<div class="line"> break; \</div>
<div class="line"> } \</div>
<div class="line"> } <a class="code" href="group__apr__hook__probes.html#gab3017efe0bb66b97b6b7931245211692">\</a></div>
<div class="line"><a class="code" href="group__apr__hook__probes.html#gab3017efe0bb66b97b6b7931245211692">\</a></div>
<div class="line"><a class="code" href="group__apr__hook__probes.html#gab3017efe0bb66b97b6b7931245211692"> APR_HOOK_PROBE_RETURN</a>(ud, ns, name, rv, args_use); \</div>
<div class="line">\</div>
<div class="line"> return rv; \</div>
<div class="line"> }</div>
</div><!-- fragment --><p>Implement a hook that runs until the first function returns something other than the value of decline </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">ns</td><td>The namespace prefix of the hook functions </td></tr>
<tr><td class="paramname">link</td><td>The linkage declaration prefix of the hook </td></tr>
<tr><td class="paramname">name</td><td>The name of the hook </td></tr>
<tr><td class="paramname">ret</td><td>Type to return </td></tr>
<tr><td class="paramname">args_decl</td><td>The declaration of the arguments for the hook </td></tr>
<tr><td class="paramname">args_use</td><td>The names for the arguments for the hook </td></tr>
<tr><td class="paramname">decline</td><td>Decline value </td></tr>
</table>
</dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>The link prefix FOO corresponds to FOO_DECLARE() macros, which provide export linkage from the module that IMPLEMENTs the hook, and import linkage from external modules that link to the hook's module. </dd></dl>
</div>
</div>
<a id="ga2d11a43b6431ec568cc1647da4a2079c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga2d11a43b6431ec568cc1647da4a2079c">◆ </a></span>APR_IMPLEMENT_EXTERNAL_HOOK_VOID</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define APR_IMPLEMENT_EXTERNAL_HOOK_VOID</td>
<td>(</td>
<td class="paramtype"> </td>
<td class="paramname">ns, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"> </td>
<td class="paramname">link, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"> </td>
<td class="paramname">name, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"> </td>
<td class="paramname">args_decl, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"> </td>
<td class="paramname">args_use </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line"><a class="code" href="group___a_p_r___util___hook.html#ga2500abadaa54b3a9d6ec25ff33a6b0cc">APR_IMPLEMENT_EXTERNAL_HOOK_BASE</a>(ns,link,name) \</div>
<div class="line">link##_DECLARE(<span class="keywordtype">void</span>) ns##_run_##name args_decl \</div>
<div class="line"> { \</div>
<div class="line"> ns##_LINK_##name##_t *pHook; \</div>
<div class="line"> int n; \</div>
<div class="line"> APR_HOOK_INT_DCL_UD; <a class="code" href="group__apr__hook__probes.html#ga320422eebccc41f9329e34e11939e302">\</a></div>
<div class="line"><a class="code" href="group__apr__hook__probes.html#ga320422eebccc41f9329e34e11939e302">\</a></div>
<div class="line"><a class="code" href="group__apr__hook__probes.html#ga320422eebccc41f9329e34e11939e302"> APR_HOOK_PROBE_ENTRY</a>(ud, ns, name, args_use); \</div>
<div class="line">\</div>
<div class="line"> if(_hooks.link_##name) \</div>
<div class="line"> { \</div>
<div class="line"> pHook=(ns##_LINK_##name##_t *)_hooks.link_##name->elts; \</div>
<div class="line"> <span class="keywordflow">for</span>(n=0 ; n < _hooks.link_##name->nelts ; ++n) \</div>
<div class="line"> { \</div>
<div class="line"> APR_HOOK_PROBE_INVOKE(ud, ns, name, (<span class="keywordtype">char</span> *)pHook[n].szName, args_use); \</div>
<div class="line"> pHook[n].pFunc args_use; \</div>
<div class="line"> APR_HOOK_PROBE_COMPLETE(ud, ns, name, (<span class="keywordtype">char</span> *)pHook[n].szName, 0, args_use); \</div>
<div class="line"> } \</div>
<div class="line"> } <a class="code" href="group__apr__hook__probes.html#gab3017efe0bb66b97b6b7931245211692">\</a></div>
<div class="line"><a class="code" href="group__apr__hook__probes.html#gab3017efe0bb66b97b6b7931245211692">\</a></div>
<div class="line"><a class="code" href="group__apr__hook__probes.html#gab3017efe0bb66b97b6b7931245211692"> APR_HOOK_PROBE_RETURN</a>(ud, ns, name, 0, args_use); \</div>
<div class="line">\</div>
<div class="line"> }</div>
</div><!-- fragment --><p>Implement a hook that has no return code, and therefore runs all of the registered functions </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">ns</td><td>The namespace prefix of the hook functions </td></tr>
<tr><td class="paramname">link</td><td>The linkage declaration prefix of the hook </td></tr>
<tr><td class="paramname">name</td><td>The name of the hook </td></tr>
<tr><td class="paramname">args_decl</td><td>The declaration of the arguments for the hook </td></tr>
<tr><td class="paramname">args_use</td><td>The names for the arguments for the hook </td></tr>
</table>
</dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>The link prefix FOO corresponds to FOO_DECLARE() macros, which provide export linkage from the module that IMPLEMENTs the hook, and import linkage from external modules that link to the hook's module. </dd></dl>
</div>
</div>
<a id="ga832a6d3b73a43b3f7c58c5702ddccce9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga832a6d3b73a43b3f7c58c5702ddccce9">◆ </a></span>APR_IMPLEMENT_HOOK_GET_PROTO</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define APR_IMPLEMENT_HOOK_GET_PROTO</td>
<td>(</td>
<td class="paramtype"> </td>
<td class="paramname">ns, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"> </td>
<td class="paramname">link, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"> </td>
<td class="paramname">name </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td>   link##_DECLARE(apr_array_header_t *) ns##_hook_get_##name(void)</td>
</tr>
</table>
</div><div class="memdoc">
<p>macro to return the prototype of the hook function </p>
</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a id="ga1de31557683f53c2a07f73990962c585"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga1de31557683f53c2a07f73990962c585">◆ </a></span>apr_hook_debug_show()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void apr_hook_debug_show </td>
<td>(</td>
<td class="paramtype">const char * </td>
<td class="paramname"><em>szName</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char *const * </td>
<td class="paramname"><em>aszPre</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char *const * </td>
<td class="paramname"><em>aszSucc</em> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Print all of the information about the current hook. This is used for debugging purposes. </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">szName</td><td>The name of the hook </td></tr>
<tr><td class="paramname">aszPre</td><td>All of the functions in the predecessor array </td></tr>
<tr><td class="paramname">aszSucc</td><td>All of the functions in the successor array </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="ga5d20451da75574c8433feb1bd5b2ce10"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga5d20451da75574c8433feb1bd5b2ce10">◆ </a></span>apr_hook_deregister_all()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void apr_hook_deregister_all </td>
<td>(</td>
<td class="paramtype">void </td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Remove all currently registered functions. </p>
</div>
</div>
<a id="ga1e0b6cf91dac5417c1b9cbd1b46b8991"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga1e0b6cf91dac5417c1b9cbd1b46b8991">◆ </a></span>apr_hook_sort_all()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void apr_hook_sort_all </td>
<td>(</td>
<td class="paramtype">void </td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Sort all of the registered functions for a given hook. </p>
</div>
</div>
<a id="ga04843fe00dc3c08c23130fef3ba1260c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga04843fe00dc3c08c23130fef3ba1260c">◆ </a></span>apr_hook_sort_register()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void apr_hook_sort_register </td>
<td>(</td>
<td class="paramtype">const char * </td>
<td class="paramname"><em>szHookName</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">apr_array_header_t ** </td>
<td class="paramname"><em>aHooks</em> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Register a hook function to be sorted. </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">szHookName</td><td>The name of the Hook the function is registered for </td></tr>
<tr><td class="paramname">aHooks</td><td>The array which stores all of the functions for this hook </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<h2 class="groupheader">Variable Documentation</h2>
<a id="ga37be3c217439ceddbda16054b020a658"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga37be3c217439ceddbda16054b020a658">◆ </a></span>apr_hook_debug_current</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const char* apr_hook_debug_current</td>
</tr>
</table>
</div><div class="memdoc">
<p>The name of the module that is currently registering a function. </p>
</div>
</div>
<a id="ga59309caeb9b47d921727530494f264be"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga59309caeb9b47d921727530494f264be">◆ </a></span>apr_hook_debug_enabled</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int apr_hook_debug_enabled</td>
</tr>
</table>
</div><div class="memdoc">
<p>A global variable to determine if debugging information about the hooks functions should be printed. </p>
</div>
</div>
<a id="ga8911bb699a5f03ad3c36d579ca0eca23"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga8911bb699a5f03ad3c36d579ca0eca23">◆ </a></span>apr_hook_global_pool</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">apr_pool_t* apr_hook_global_pool</td>
</tr>
</table>
</div><div class="memdoc">
<p>The global pool used to allocate any memory needed by the hooks. </p>
</div>
</div>
</div><!-- contents -->
<div class="ttc" id="agroup___a_p_r___util___hook_html_ga2500abadaa54b3a9d6ec25ff33a6b0cc"><div class="ttname"><a href="group___a_p_r___util___hook.html#ga2500abadaa54b3a9d6ec25ff33a6b0cc">APR_IMPLEMENT_EXTERNAL_HOOK_BASE</a></div><div class="ttdeci">#define APR_IMPLEMENT_EXTERNAL_HOOK_BASE(ns, link, name)</div><div class="ttdef"><b>Definition:</b> apr_hooks.h:143</div></div>
<div class="ttc" id="agroup__apr__hook__probes_html_ga320422eebccc41f9329e34e11939e302"><div class="ttname"><a href="group__apr__hook__probes.html#ga320422eebccc41f9329e34e11939e302">APR_HOOK_PROBE_ENTRY</a></div><div class="ttdeci">#define APR_HOOK_PROBE_ENTRY(ud, ns, name, args)</div><div class="ttdef"><b>Definition:</b> apr_hooks.h:69</div></div>
<div class="ttc" id="agroup__apr__hook__probes_html_gab3017efe0bb66b97b6b7931245211692"><div class="ttname"><a href="group__apr__hook__probes.html#gab3017efe0bb66b97b6b7931245211692">APR_HOOK_PROBE_RETURN</a></div><div class="ttdeci">#define APR_HOOK_PROBE_RETURN(ud, ns, name, rv, args)</div><div class="ttdef"><b>Definition:</b> apr_hooks.h:81</div></div>
<div class="ttc" id="agroup___a_p_r___util___hook_html_ga59309caeb9b47d921727530494f264be"><div class="ttname"><a href="group___a_p_r___util___hook.html#ga59309caeb9b47d921727530494f264be">apr_hook_debug_enabled</a></div><div class="ttdeci">int apr_hook_debug_enabled</div></div>
<div class="ttc" id="agroup___a_p_r___util___hook_html_ga37be3c217439ceddbda16054b020a658"><div class="ttname"><a href="group___a_p_r___util___hook.html#ga37be3c217439ceddbda16054b020a658">apr_hook_debug_current</a></div><div class="ttdeci">const char * apr_hook_debug_current</div></div>
<div class="ttc" id="agroup___a_p_r___util___hook_html_ga8911bb699a5f03ad3c36d579ca0eca23"><div class="ttname"><a href="group___a_p_r___util___hook.html#ga8911bb699a5f03ad3c36d579ca0eca23">apr_hook_global_pool</a></div><div class="ttdeci">apr_pool_t * apr_hook_global_pool</div></div>
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.17
</small></address>
</body>
</html>
AnonSec - 2021 | Recode By D7net