versioning
[m6w6/ext-raphf] / v1.1.x / php__raphf__api_8c.html
diff --git a/v1.1.x/php__raphf__api_8c.html b/v1.1.x/php__raphf__api_8c.html
new file mode 100644 (file)
index 0000000..6e0f0e2
--- /dev/null
@@ -0,0 +1,1279 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.10"/>
+<title>Resource and persistent handle factory API: src/php_raphf_api.c File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+  $(window).load(resizeHeight);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><img alt="Logo" src="raphf.png"/></td>
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Resource and persistent handle factory API
+   </div>
+   <div id="projectbrief">A facility to manage possibly persistent resources with a comprehensible API.  Provides simliar functionality like the zend_list API, but with more flexiblity and freedom.</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.10 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
+      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="files.html"><span>File&#160;List</span></a></li>
+      <li><a href="globals.html"><span>Globals</span></a></li>
+    </ul>
+  </div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('php__raphf__api_8c.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#define-members">Macros</a> &#124;
+<a href="#enum-members">Enumerations</a> &#124;
+<a href="#func-members">Functions</a> &#124;
+<a href="#var-members">Variables</a>  </div>
+  <div class="headertitle">
+<div class="title">php_raphf_api.c File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock"><code>#include &quot;php.h&quot;</code><br />
+<code>#include &quot;php_ini.h&quot;</code><br />
+<code>#include &quot;ext/standard/info.h&quot;</code><br />
+<code>#include &quot;<a class="el" href="php__raphf_8h_source.html">php_raphf.h</a>&quot;</code><br />
+</div><div class="textblock"><div class="dynheader">
+Include dependency graph for php_raphf_api.c:</div>
+<div class="dyncontent">
+<div class="center"><img src="php__raphf__api_8c__incl.png" border="0" usemap="#src_2php__raphf__api_8c" alt=""/></div>
+<map name="src_2php__raphf__api_8c" id="src_2php__raphf__api_8c">
+<area shape="rect" id="node5" href="php__raphf_8h.html" title="php_raphf.h" alt="" coords="338,80,429,107"/>
+</map>
+</div>
+</div><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
+Macros</h2></td></tr>
+<tr class="memitem:a5a6099bca8801bd4a502806ab49c1d1c"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="php__raphf__api_8c.html#a5a6099bca8801bd4a502806ab49c1d1c">PHP_RAPHF_G</a>&#160;&#160;&#160;(&amp;raphf_globals)</td></tr>
+<tr class="separator:a5a6099bca8801bd4a502806ab49c1d1c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4ac4e8587a25a7617a3bb1b2b246fe7f"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="php__raphf__api_8c.html#a4ac4e8587a25a7617a3bb1b2b246fe7f">PHP_RAPHF_DEBUG_PHANDLES</a>&#160;&#160;&#160;0</td></tr>
+<tr class="separator:a4ac4e8587a25a7617a3bb1b2b246fe7f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
+Enumerations</h2></td></tr>
+<tr class="memitem:a7e00ad2b6e2b119af6feea77ddfcc7e1"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="php__raphf__api_8c.html#a7e00ad2b6e2b119af6feea77ddfcc7e1">ZEND_RESULT_CODE</a> { <a class="el" href="php__raphf__api_8c.html#a7e00ad2b6e2b119af6feea77ddfcc7e1ac7f69f7c9e5aea9b8f54cf02870e2bf8">SUCCESS</a> = 0, 
+<a class="el" href="php__raphf__api_8c.html#a7e00ad2b6e2b119af6feea77ddfcc7e1aa5571864412c8275a2e18a931fddcaa6">FAILURE</a> = -1
+ }<tr class="separator:a7e00ad2b6e2b119af6feea77ddfcc7e1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:ad20f10c53e3f33756638da98819367f0"><td class="memItemLeft" align="right" valign="top"><a class="el" href="php__raphf__api_8h.html#a4817c4b3d4077c48dff36376487ba8d4">php_resource_factory_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="php__raphf__api_8c.html#ad20f10c53e3f33756638da98819367f0">php_resource_factory_init</a> (<a class="el" href="php__raphf__api_8h.html#a4817c4b3d4077c48dff36376487ba8d4">php_resource_factory_t</a> *f, <a class="el" href="php__raphf__api_8h.html#a29e0d7a66e441a5265ddf2f0adbbb3af">php_resource_factory_ops_t</a> *fops, void *data, void(*dtor)(void *data))</td></tr>
+<tr class="memdesc:ad20f10c53e3f33756638da98819367f0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initialize a resource factory.  <a href="#ad20f10c53e3f33756638da98819367f0">More...</a><br /></td></tr>
+<tr class="separator:ad20f10c53e3f33756638da98819367f0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae8be369197905047ffbd05c0ca80f245"><td class="memItemLeft" align="right" valign="top">unsigned&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="php__raphf__api_8c.html#ae8be369197905047ffbd05c0ca80f245">php_resource_factory_addref</a> (<a class="el" href="php__raphf__api_8h.html#a4817c4b3d4077c48dff36376487ba8d4">php_resource_factory_t</a> *rf)</td></tr>
+<tr class="memdesc:ae8be369197905047ffbd05c0ca80f245"><td class="mdescLeft">&#160;</td><td class="mdescRight">Increase the refcount of the resource factory.  <a href="#ae8be369197905047ffbd05c0ca80f245">More...</a><br /></td></tr>
+<tr class="separator:ae8be369197905047ffbd05c0ca80f245"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a016b8a4159e698f915ab967711696847"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="php__raphf__api_8c.html#a016b8a4159e698f915ab967711696847">php_resource_factory_dtor</a> (<a class="el" href="php__raphf__api_8h.html#a4817c4b3d4077c48dff36376487ba8d4">php_resource_factory_t</a> *f)</td></tr>
+<tr class="memdesc:a016b8a4159e698f915ab967711696847"><td class="mdescLeft">&#160;</td><td class="mdescRight">Destroy the resource factory.  <a href="#a016b8a4159e698f915ab967711696847">More...</a><br /></td></tr>
+<tr class="separator:a016b8a4159e698f915ab967711696847"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7f012d685f5f7c08f50288b61232e689"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="php__raphf__api_8c.html#a7f012d685f5f7c08f50288b61232e689">php_resource_factory_free</a> (<a class="el" href="php__raphf__api_8h.html#a4817c4b3d4077c48dff36376487ba8d4">php_resource_factory_t</a> **f)</td></tr>
+<tr class="memdesc:a7f012d685f5f7c08f50288b61232e689"><td class="mdescLeft">&#160;</td><td class="mdescRight">Destroy and free the resource factory.  <a href="#a7f012d685f5f7c08f50288b61232e689">More...</a><br /></td></tr>
+<tr class="separator:a7f012d685f5f7c08f50288b61232e689"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a98d02dc80dd83095b8f901954350840c"><td class="memItemLeft" align="right" valign="top">void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="php__raphf__api_8c.html#a98d02dc80dd83095b8f901954350840c">php_resource_factory_handle_ctor</a> (<a class="el" href="php__raphf__api_8h.html#a4817c4b3d4077c48dff36376487ba8d4">php_resource_factory_t</a> *f, void *init_arg)</td></tr>
+<tr class="memdesc:a98d02dc80dd83095b8f901954350840c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Construct a resource by the resource factory <em>f</em>.  <a href="#a98d02dc80dd83095b8f901954350840c">More...</a><br /></td></tr>
+<tr class="separator:a98d02dc80dd83095b8f901954350840c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a08db5f3698f2d0bf3d2f20dcf4e7b2b4"><td class="memItemLeft" align="right" valign="top">void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="php__raphf__api_8c.html#a08db5f3698f2d0bf3d2f20dcf4e7b2b4">php_resource_factory_handle_copy</a> (<a class="el" href="php__raphf__api_8h.html#a4817c4b3d4077c48dff36376487ba8d4">php_resource_factory_t</a> *f, void *handle)</td></tr>
+<tr class="memdesc:a08db5f3698f2d0bf3d2f20dcf4e7b2b4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a copy of the resource <em>handle</em>.  <a href="#a08db5f3698f2d0bf3d2f20dcf4e7b2b4">More...</a><br /></td></tr>
+<tr class="separator:a08db5f3698f2d0bf3d2f20dcf4e7b2b4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a97dbb9d342f33205b92374c586676bc6"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="php__raphf__api_8c.html#a97dbb9d342f33205b92374c586676bc6">php_resource_factory_handle_dtor</a> (<a class="el" href="php__raphf__api_8h.html#a4817c4b3d4077c48dff36376487ba8d4">php_resource_factory_t</a> *f, void *handle)</td></tr>
+<tr class="memdesc:a97dbb9d342f33205b92374c586676bc6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Destroy (and free) the resource.  <a href="#a97dbb9d342f33205b92374c586676bc6">More...</a><br /></td></tr>
+<tr class="separator:a97dbb9d342f33205b92374c586676bc6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab754f4d59dab5de0edf702a9ab2f4e03"><td class="memItemLeft" align="right" valign="top"><a class="el" href="php__raphf__api_8h.html#a4817c4b3d4077c48dff36376487ba8d4">php_resource_factory_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="php__raphf__api_8c.html#ab754f4d59dab5de0edf702a9ab2f4e03">php_persistent_handle_resource_factory_init</a> (<a class="el" href="php__raphf__api_8h.html#a4817c4b3d4077c48dff36376487ba8d4">php_resource_factory_t</a> *a, <a class="el" href="php__raphf__api_8h.html#a833eaa62ffcc217e5749c26c18885b17">php_persistent_handle_factory_t</a> *pf)</td></tr>
+<tr class="memdesc:ab754f4d59dab5de0edf702a9ab2f4e03"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a resource factory for persistent handles.  <a href="#ab754f4d59dab5de0edf702a9ab2f4e03">More...</a><br /></td></tr>
+<tr class="separator:ab754f4d59dab5de0edf702a9ab2f4e03"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a617d2cc656ab6427388b938597194ebb"><td class="memItemLeft" align="right" valign="top">zend_bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="php__raphf__api_8c.html#a617d2cc656ab6427388b938597194ebb">php_resource_factory_is_persistent</a> (<a class="el" href="php__raphf__api_8h.html#a4817c4b3d4077c48dff36376487ba8d4">php_resource_factory_t</a> *a)</td></tr>
+<tr class="memdesc:a617d2cc656ab6427388b938597194ebb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Check whether a resource factory is a persistent handle resource factory.  <a href="#a617d2cc656ab6427388b938597194ebb">More...</a><br /></td></tr>
+<tr class="separator:a617d2cc656ab6427388b938597194ebb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aeeeb92e5e498b6f8c98b9ac6d5b695f3"><td class="memItemLeft" align="right" valign="top"><a class="el" href="php__raphf__api_8c.html#a7e00ad2b6e2b119af6feea77ddfcc7e1">ZEND_RESULT_CODE</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="php__raphf__api_8c.html#aeeeb92e5e498b6f8c98b9ac6d5b695f3">php_persistent_handle_provide</a> (const char *name_str, size_t name_len, <a class="el" href="php__raphf__api_8h.html#a29e0d7a66e441a5265ddf2f0adbbb3af">php_resource_factory_ops_t</a> *fops, void *data, void(*dtor)(void *))</td></tr>
+<tr class="memdesc:aeeeb92e5e498b6f8c98b9ac6d5b695f3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Register a persistent handle provider in MINIT.  <a href="#aeeeb92e5e498b6f8c98b9ac6d5b695f3">More...</a><br /></td></tr>
+<tr class="separator:aeeeb92e5e498b6f8c98b9ac6d5b695f3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0a266874dafb69cf2b040378d4033901"><td class="memItemLeft" align="right" valign="top"><a class="el" href="php__raphf__api_8h.html#a833eaa62ffcc217e5749c26c18885b17">php_persistent_handle_factory_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="php__raphf__api_8c.html#a0a266874dafb69cf2b040378d4033901">php_persistent_handle_concede</a> (<a class="el" href="php__raphf__api_8h.html#a833eaa62ffcc217e5749c26c18885b17">php_persistent_handle_factory_t</a> *a, const char *name_str, size_t name_len, const char *ident_str, size_t ident_len, <a class="el" href="php__raphf__api_8h.html#a59f5566ecc4c76e048ad53469eb20142">php_persistent_handle_wakeup_t</a> wakeup, <a class="el" href="php__raphf__api_8h.html#a85e9e715d308dc5d98b980c9c57d02bf">php_persistent_handle_retire_t</a> retire)</td></tr>
+<tr class="memdesc:a0a266874dafb69cf2b040378d4033901"><td class="mdescLeft">&#160;</td><td class="mdescRight">Retrieve a persistent handle factory at runtime.  <a href="#a0a266874dafb69cf2b040378d4033901">More...</a><br /></td></tr>
+<tr class="separator:a0a266874dafb69cf2b040378d4033901"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab12ec2da7189e16fbed40a3b73bc9ee2"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="php__raphf__api_8c.html#ab12ec2da7189e16fbed40a3b73bc9ee2">php_persistent_handle_abandon</a> (<a class="el" href="php__raphf__api_8h.html#a833eaa62ffcc217e5749c26c18885b17">php_persistent_handle_factory_t</a> *a)</td></tr>
+<tr class="memdesc:ab12ec2da7189e16fbed40a3b73bc9ee2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Abandon the persistent handle factory.  <a href="#ab12ec2da7189e16fbed40a3b73bc9ee2">More...</a><br /></td></tr>
+<tr class="separator:ab12ec2da7189e16fbed40a3b73bc9ee2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af6636e870497be0699d2781e5fc8a2a9"><td class="memItemLeft" align="right" valign="top">void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="php__raphf__api_8c.html#af6636e870497be0699d2781e5fc8a2a9">php_persistent_handle_acquire</a> (<a class="el" href="php__raphf__api_8h.html#a833eaa62ffcc217e5749c26c18885b17">php_persistent_handle_factory_t</a> *a, void *init_arg)</td></tr>
+<tr class="memdesc:af6636e870497be0699d2781e5fc8a2a9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Acquire a persistent handle.  <a href="#af6636e870497be0699d2781e5fc8a2a9">More...</a><br /></td></tr>
+<tr class="separator:af6636e870497be0699d2781e5fc8a2a9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae8124f3f73e96e2193ae03c5519d2763"><td class="memItemLeft" align="right" valign="top">void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="php__raphf__api_8c.html#ae8124f3f73e96e2193ae03c5519d2763">php_persistent_handle_accrete</a> (<a class="el" href="php__raphf__api_8h.html#a833eaa62ffcc217e5749c26c18885b17">php_persistent_handle_factory_t</a> *a, void *handle)</td></tr>
+<tr class="memdesc:ae8124f3f73e96e2193ae03c5519d2763"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy a persistent handle.  <a href="#ae8124f3f73e96e2193ae03c5519d2763">More...</a><br /></td></tr>
+<tr class="separator:ae8124f3f73e96e2193ae03c5519d2763"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af08ee05c51d52200755d24f6f52df144"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="php__raphf__api_8c.html#af08ee05c51d52200755d24f6f52df144">php_persistent_handle_release</a> (<a class="el" href="php__raphf__api_8h.html#a833eaa62ffcc217e5749c26c18885b17">php_persistent_handle_factory_t</a> *a, void *handle)</td></tr>
+<tr class="memdesc:af08ee05c51d52200755d24f6f52df144"><td class="mdescLeft">&#160;</td><td class="mdescRight">Release a persistent handle.  <a href="#af08ee05c51d52200755d24f6f52df144">More...</a><br /></td></tr>
+<tr class="separator:af08ee05c51d52200755d24f6f52df144"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0d661d1f880270146012eb8781e5343e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="php__raphf__api_8c.html#a0d661d1f880270146012eb8781e5343e">php_persistent_handle_cleanup</a> (const char *name_str, size_t name_len, const char *ident_str, size_t ident_len)</td></tr>
+<tr class="memdesc:a0d661d1f880270146012eb8781e5343e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Clean persistent handles up.  <a href="#a0d661d1f880270146012eb8781e5343e">More...</a><br /></td></tr>
+<tr class="separator:a0d661d1f880270146012eb8781e5343e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae174fbe124d4cb6010e218a68379bd18"><td class="memItemLeft" align="right" valign="top">HashTable *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="php__raphf__api_8c.html#ae174fbe124d4cb6010e218a68379bd18">php_persistent_handle_statall</a> (HashTable *ht)</td></tr>
+<tr class="memdesc:ae174fbe124d4cb6010e218a68379bd18"><td class="mdescLeft">&#160;</td><td class="mdescRight">Retrieve statistics about the current process/thread's persistent handles.  <a href="#ae174fbe124d4cb6010e218a68379bd18">More...</a><br /></td></tr>
+<tr class="separator:ae174fbe124d4cb6010e218a68379bd18"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a93458ab12d810f0fd545fb1464ba9eca"><td class="memItemLeft" align="right" valign="top"><a class="el" href="php__raphf__api_8h.html#a29e0d7a66e441a5265ddf2f0adbbb3af">php_resource_factory_ops_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="php__raphf__api_8c.html#a93458ab12d810f0fd545fb1464ba9eca">php_persistent_handle_get_resource_factory_ops</a> (void)</td></tr>
+<tr class="memdesc:a93458ab12d810f0fd545fb1464ba9eca"><td class="mdescLeft">&#160;</td><td class="mdescRight">Retrieve persistent handle resource factory ops.  <a href="#a93458ab12d810f0fd545fb1464ba9eca">More...</a><br /></td></tr>
+<tr class="separator:a93458ab12d810f0fd545fb1464ba9eca"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9337bda6793399d5917999063e1aa636"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="php__raphf__api_8c.html#a9337bda6793399d5917999063e1aa636">ZEND_END_ARG_INFO</a> ()</td></tr>
+<tr class="separator:a9337bda6793399d5917999063e1aa636"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad2aba389e88a1e9e11b7dae021bfddfc"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="php__raphf__api_8c.html#ad2aba389e88a1e9e11b7dae021bfddfc">STD_PHP_INI_ENTRY</a> (&quot;raphf.persistent_handle.limit&quot;,&quot;-1&quot;, PHP_INI_SYSTEM, OnUpdateLong, persistent_handle.limit, zend_raphf_globals, raphf_globals) static HashTable *php_persistent_handles_global_hash</td></tr>
+<tr class="separator:ad2aba389e88a1e9e11b7dae021bfddfc"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a98ef98eb514bf71723b22e93ef4fb099"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="php__raphf__api_8c.html#a98ef98eb514bf71723b22e93ef4fb099">PHP_MINIT_FUNCTION</a> (raphf)</td></tr>
+<tr class="separator:a98ef98eb514bf71723b22e93ef4fb099"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9bdad7e7a27b1cce6be5ec842da0c921"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="php__raphf__api_8c.html#a9bdad7e7a27b1cce6be5ec842da0c921">PHP_MSHUTDOWN_FUNCTION</a> (raphf)</td></tr>
+<tr class="separator:a9bdad7e7a27b1cce6be5ec842da0c921"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:afe0b826f07940e0297395eb758b6dc63"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="php__raphf__api_8c.html#afe0b826f07940e0297395eb758b6dc63">PHP_MINFO_FUNCTION</a> (raphf)</td></tr>
+<tr class="separator:afe0b826f07940e0297395eb758b6dc63"><td class="memSeparator" colspan="2">&#160;</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:a385b722141c96392a35d8b6dfc29b0d3"><td class="memItemLeft" align="right" valign="top">struct php_persistent_handle_globals&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="php__raphf__api_8c.html#a385b722141c96392a35d8b6dfc29b0d3">persistent_handle</a></td></tr>
+<tr class="separator:a385b722141c96392a35d8b6dfc29b0d3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a42f904573a2c5b1eba6ccd6604269f99"><td class="memItemLeft" align="right" valign="top">zend_module_entry&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="php__raphf__api_8c.html#a42f904573a2c5b1eba6ccd6604269f99">raphf_module_entry</a></td></tr>
+<tr class="separator:a42f904573a2c5b1eba6ccd6604269f99"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Macro Definition Documentation</h2>
+<a class="anchor" id="a4ac4e8587a25a7617a3bb1b2b246fe7f"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">#define PHP_RAPHF_DEBUG_PHANDLES&#160;&#160;&#160;0</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a5a6099bca8801bd4a502806ab49c1d1c"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">#define PHP_RAPHF_G&#160;&#160;&#160;(&amp;raphf_globals)</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="php__raphf__api_8c.html#afe0b826f07940e0297395eb758b6dc63">PHP_MINFO_FUNCTION()</a>, <a class="el" href="php__raphf__api_8c.html#a98ef98eb514bf71723b22e93ef4fb099">PHP_MINIT_FUNCTION()</a>, <a class="el" href="php__raphf__api_8h.html#a0d661d1f880270146012eb8781e5343e">php_persistent_handle_cleanup()</a>, <a class="el" href="php__raphf__api_8h.html#a0a266874dafb69cf2b040378d4033901">php_persistent_handle_concede()</a>, <a class="el" href="php__raphf__api_8h.html#a3cbbe29c8a4ed9858c921c8ee539de59">php_persistent_handle_provide()</a>, <a class="el" href="php__raphf__api_8h.html#af08ee05c51d52200755d24f6f52df144">php_persistent_handle_release()</a>, and <a class="el" href="php__raphf__api_8h.html#ae174fbe124d4cb6010e218a68379bd18">php_persistent_handle_statall()</a>.</p>
+
+</div>
+</div>
+<h2 class="groupheader">Enumeration Type Documentation</h2>
+<a class="anchor" id="a7e00ad2b6e2b119af6feea77ddfcc7e1"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">enum <a class="el" href="php__raphf__api_8c.html#a7e00ad2b6e2b119af6feea77ddfcc7e1">ZEND_RESULT_CODE</a></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<table class="fieldtable">
+<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="a7e00ad2b6e2b119af6feea77ddfcc7e1ac7f69f7c9e5aea9b8f54cf02870e2bf8"></a>SUCCESS&#160;</td><td class="fielddoc">
+</td></tr>
+<tr><td class="fieldname"><a class="anchor" id="a7e00ad2b6e2b119af6feea77ddfcc7e1aa5571864412c8275a2e18a931fddcaa6"></a>FAILURE&#160;</td><td class="fielddoc">
+</td></tr>
+</table>
+
+</div>
+</div>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="afe0b826f07940e0297395eb758b6dc63"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">PHP_MINFO_FUNCTION </td>
+          <td>(</td>
+          <td class="paramtype">raphf&#160;</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a98ef98eb514bf71723b22e93ef4fb099"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">PHP_MINIT_FUNCTION </td>
+          <td>(</td>
+          <td class="paramtype">raphf&#160;</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a9bdad7e7a27b1cce6be5ec842da0c921"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">PHP_MSHUTDOWN_FUNCTION </td>
+          <td>(</td>
+          <td class="paramtype">raphf&#160;</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="ab12ec2da7189e16fbed40a3b73bc9ee2"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void php_persistent_handle_abandon </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="php__raphf__api_8h.html#a833eaa62ffcc217e5749c26c18885b17">php_persistent_handle_factory_t</a> *&#160;</td>
+          <td class="paramname"><em>a</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Abandon the persistent handle factory. </p>
+<p>Destroy a <a class="el" href="php__raphf__api_8h.html#structphp__persistent__handle__factory" title="Definition of a persistent handle factory. ">php_persistent_handle_factory</a> created by <a class="el" href="php__raphf__api_8h.html#a0a266874dafb69cf2b040378d4033901" title="Retrieve a persistent handle factory at runtime. ">php_persistent_handle_concede()</a>. If the memory for the factory was allocated, it will automatically be free'd.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">a</td><td>the persistent handle factory to destroy </td></tr>
+  </table>
+  </dd>
+</dl>
+
+<p>Referenced by <a class="el" href="php__raphf__api_8h.html#ab754f4d59dab5de0edf702a9ab2f4e03">php_persistent_handle_resource_factory_init()</a>, and <a class="el" href="php__raphf__api_8h.html#a617d2cc656ab6427388b938597194ebb">php_resource_factory_is_persistent()</a>.</p>
+
+<p><div class="dynheader">
+Here is the caller graph for this function:</div>
+<div class="dyncontent">
+<div class="center"><img src="php__raphf__api_8c_ab12ec2da7189e16fbed40a3b73bc9ee2_icgraph.png" border="0" usemap="#php__raphf__api_8c_ab12ec2da7189e16fbed40a3b73bc9ee2_icgraph" alt=""/></div>
+<map name="php__raphf__api_8c_ab12ec2da7189e16fbed40a3b73bc9ee2_icgraph" id="php__raphf__api_8c_ab12ec2da7189e16fbed40a3b73bc9ee2_icgraph">
+<area shape="rect" id="node2" href="php__raphf__api_8h.html#ab754f4d59dab5de0edf702a9ab2f4e03" title="Create a resource factory for persistent handles. " alt="" coords="205,5,357,47"/>
+<area shape="rect" id="node3" href="php__raphf__api_8h.html#a617d2cc656ab6427388b938597194ebb" title="Check whether a resource factory is a persistent handle resource factory. " alt="" coords="208,71,355,112"/>
+</map>
+</div>
+</p>
+
+</div>
+</div>
+<a class="anchor" id="ae8124f3f73e96e2193ae03c5519d2763"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void* php_persistent_handle_accrete </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="php__raphf__api_8h.html#a833eaa62ffcc217e5749c26c18885b17">php_persistent_handle_factory_t</a> *&#160;</td>
+          <td class="paramname"><em>a</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">void *&#160;</td>
+          <td class="paramname"><em>handle</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Copy a persistent handle. </p>
+<p>Let the underlying resource factory copy the <em>handle</em>.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">a</td><td>the persistent handle factory </td></tr>
+    <tr><td class="paramname">handle</td><td>the resource to accrete </td></tr>
+  </table>
+  </dd>
+</dl>
+
+<p><div class="dynheader">
+Here is the call graph for this function:</div>
+<div class="dyncontent">
+<div class="center"><img src="php__raphf__api_8c_ae8124f3f73e96e2193ae03c5519d2763_cgraph.png" border="0" usemap="#php__raphf__api_8c_ae8124f3f73e96e2193ae03c5519d2763_cgraph" alt=""/></div>
+<map name="php__raphf__api_8c_ae8124f3f73e96e2193ae03c5519d2763_cgraph" id="php__raphf__api_8c_ae8124f3f73e96e2193ae03c5519d2763_cgraph">
+<area shape="rect" id="node2" href="php__raphf__api_8c.html#a08db5f3698f2d0bf3d2f20dcf4e7b2b4" title="Create a copy of the resource handle. " alt="" coords="205,5,352,47"/>
+</map>
+</div>
+</p>
+
+</div>
+</div>
+<a class="anchor" id="af6636e870497be0699d2781e5fc8a2a9"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void* php_persistent_handle_acquire </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="php__raphf__api_8h.html#a833eaa62ffcc217e5749c26c18885b17">php_persistent_handle_factory_t</a> *&#160;</td>
+          <td class="paramname"><em>a</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">void *&#160;</td>
+          <td class="paramname"><em>init_arg</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Acquire a persistent handle. </p>
+<p>That is, either re-use a resource from the free list or create a new handle.</p>
+<p>If a handle is acquired from the free list, the <a class="el" href="php__raphf__api_8h.html#a6633b7c860e4538942e0367d64ed5af7" title="The persistent handle wakeup routine; may be NULL. ">php_persistent_handle_factory::wakeup</a> callback will be executed for that handle.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">a</td><td>the persistent handle factory </td></tr>
+    <tr><td class="paramname">init_arg</td><td>the <em>init_arg</em> for <a class="el" href="php__raphf__api_8h.html#a98d02dc80dd83095b8f901954350840c" title="Construct a resource by the resource factory f. ">php_resource_factory_handle_ctor()</a> </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>the acquired resource </dd></dl>
+
+<p><div class="dynheader">
+Here is the call graph for this function:</div>
+<div class="dyncontent">
+<div class="center"><img src="php__raphf__api_8c_af6636e870497be0699d2781e5fc8a2a9_cgraph.png" border="0" usemap="#php__raphf__api_8c_af6636e870497be0699d2781e5fc8a2a9_cgraph" alt=""/></div>
+<map name="php__raphf__api_8c_af6636e870497be0699d2781e5fc8a2a9_cgraph" id="php__raphf__api_8c_af6636e870497be0699d2781e5fc8a2a9_cgraph">
+<area shape="rect" id="node2" href="php__raphf__api_8c.html#a98d02dc80dd83095b8f901954350840c" title="Construct a resource by the resource factory f. " alt="" coords="205,5,352,47"/>
+</map>
+</div>
+</p>
+
+</div>
+</div>
+<a class="anchor" id="a0d661d1f880270146012eb8781e5343e"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void php_persistent_handle_cleanup </td>
+          <td>(</td>
+          <td class="paramtype">const char *&#160;</td>
+          <td class="paramname"><em>name_str</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">size_t&#160;</td>
+          <td class="paramname"><em>name_len</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&#160;</td>
+          <td class="paramname"><em>ident_str</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">size_t&#160;</td>
+          <td class="paramname"><em>ident_len</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Clean persistent handles up. </p>
+<p>Destroy persistent handles of provider <em>name_str</em> and in subsidiary namespace <em>ident_str</em>.</p>
+<p>If <em>name_str</em> is NULL, all persistent handles of all providers with a matching <em>ident_str</em> will be cleaned up.</p>
+<p>If <em>ident_str</em> is NULL all persistent handles of the provider will be cleaned up.</p>
+<p>Ergo, if both, <em>name_str</em> and <em>ident_str</em> are NULL, then all persistent handles will be cleaned up.</p>
+<p>You must call this in MSHUTDOWN, if your resource factory ops hold a registered <a class="el" href="structphp__resource__factory.html#a7d6c89f9c6035be8a5e166a6a86cd1c7" title="User data destructor. ">php_resource_factory::dtor</a>, else the dtor will point to memory not any more available if the extension has already been unloaded.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">name_str</td><td>the provider name; may be NULL </td></tr>
+    <tr><td class="paramname">name_len</td><td>the provider name length </td></tr>
+    <tr><td class="paramname">ident_str</td><td>the subsidiary namespace name; may be NULL </td></tr>
+    <tr><td class="paramname">ident_len</td><td>the subsidiary namespace name length </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="a0a266874dafb69cf2b040378d4033901"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="php__raphf__api_8h.html#a833eaa62ffcc217e5749c26c18885b17">php_persistent_handle_factory_t</a>* php_persistent_handle_concede </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="php__raphf__api_8h.html#a833eaa62ffcc217e5749c26c18885b17">php_persistent_handle_factory_t</a> *&#160;</td>
+          <td class="paramname"><em>a</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&#160;</td>
+          <td class="paramname"><em>name_str</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">size_t&#160;</td>
+          <td class="paramname"><em>name_len</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&#160;</td>
+          <td class="paramname"><em>ident_str</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">size_t&#160;</td>
+          <td class="paramname"><em>ident_len</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="php__raphf__api_8h.html#a59f5566ecc4c76e048ad53469eb20142">php_persistent_handle_wakeup_t</a>&#160;</td>
+          <td class="paramname"><em>wakeup</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="php__raphf__api_8h.html#a85e9e715d308dc5d98b980c9c57d02bf">php_persistent_handle_retire_t</a>&#160;</td>
+          <td class="paramname"><em>retire</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Retrieve a persistent handle factory at runtime. </p>
+<p>If a persistent handle provider has been registered for <em>name_str</em>, a new <a class="el" href="php__raphf__api_8h.html#structphp__persistent__handle__factory" title="Definition of a persistent handle factory. ">php_persistent_handle_factory</a> creating resources in the <em>ident_str</em> namespace will be constructed.</p>
+<p>The wakeup routine <em>wakeup</em> and the retire routine <em>retire</em> will be assigned to the new <a class="el" href="php__raphf__api_8h.html#structphp__persistent__handle__factory" title="Definition of a persistent handle factory. ">php_persistent_handle_factory</a>.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">a</td><td>pointer to a factory; allocated on the heap if NULL </td></tr>
+    <tr><td class="paramname">name_str</td><td>the provider name, e.g. "http\Client\Curl" </td></tr>
+    <tr><td class="paramname">name_len</td><td>the provider name length, e.g. strlen("http\Client\Curl") </td></tr>
+    <tr><td class="paramname">ident_str</td><td>the subsidiary namespace, e.g. "php.net:80" </td></tr>
+    <tr><td class="paramname">ident_len</td><td>the subsidiary namespace lenght, e.g. strlen("php.net:80") </td></tr>
+    <tr><td class="paramname">wakeup</td><td>any persistent handle wakeup routine </td></tr>
+    <tr><td class="paramname">retire</td><td>any persistent handle retire routine </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd><em>a</em> or an allocated persistent handle factory </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="a93458ab12d810f0fd545fb1464ba9eca"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="php__raphf__api_8h.html#a29e0d7a66e441a5265ddf2f0adbbb3af">php_resource_factory_ops_t</a>* php_persistent_handle_get_resource_factory_ops </td>
+          <td>(</td>
+          <td class="paramtype">void&#160;</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Retrieve persistent handle resource factory ops. </p>
+<p>These ops can be used to mask a persistent handle factory as resource factory itself, so you can transparently use the resource factory API, both for persistent and non-persistent ressources.</p>
+<p>Example: </p><div class="fragment"><div class="line"><a class="code" href="structphp__resource__factory.html">php_resource_factory_t</a> *create_my_rf(<span class="keyword">const</span> <span class="keywordtype">char</span> *persistent_id_str,</div>
+<div class="line">                                     <span class="keywordtype">size_t</span> persistent_id_len TSRMLS_DC)</div>
+<div class="line">{</div>
+<div class="line">    <a class="code" href="structphp__resource__factory.html">php_resource_factory_t</a> *rf;</div>
+<div class="line"></div>
+<div class="line">    <span class="keywordflow">if</span> (persistent_id_str) {</div>
+<div class="line">        <a class="code" href="php__raphf__api_8h.html#structphp__persistent__handle__factory">php_persistent_handle_factory_t</a> *pf;</div>
+<div class="line">        <a class="code" href="php__raphf__api_8h.html#structphp__resource__factory__ops">php_resource_factory_ops_t</a> *ops;</div>
+<div class="line"></div>
+<div class="line">        ops = <a class="code" href="php__raphf__api_8c.html#a93458ab12d810f0fd545fb1464ba9eca">php_persistent_handle_get_resource_factory_ops</a>();</div>
+<div class="line"></div>
+<div class="line">        pf = <a class="code" href="php__raphf__api_8c.html#a0a266874dafb69cf2b040378d4033901">php_persistent_handle_concede</a>(NULL, <span class="stringliteral">&quot;my&quot;</span>, 2,</div>
+<div class="line">            persistent_id_str, persistent_id_len, NULL, NULL TSRMLS_CC);</div>
+<div class="line"></div>
+<div class="line">        rf = <a class="code" href="php__raphf__api_8c.html#ab754f4d59dab5de0edf702a9ab2f4e03">php_persistent_handle_resource_factory_init</a>(NULL, pf);</div>
+<div class="line">    } <span class="keywordflow">else</span> {</div>
+<div class="line">        rf = <a class="code" href="php__raphf__api_8c.html#ad20f10c53e3f33756638da98819367f0">php_resource_factory_init</a>(NULL, &amp;myops, NULL, NULL);</div>
+<div class="line">    }</div>
+<div class="line">    <span class="keywordflow">return</span> rf;</div>
+<div class="line">}</div>
+</div><!-- fragment --> 
+<p>Referenced by <a class="el" href="php__raphf__api_8h.html#ab754f4d59dab5de0edf702a9ab2f4e03">php_persistent_handle_resource_factory_init()</a>.</p>
+
+<p><div class="dynheader">
+Here is the caller graph for this function:</div>
+<div class="dyncontent">
+<div class="center"><img src="php__raphf__api_8c_a93458ab12d810f0fd545fb1464ba9eca_icgraph.png" border="0" usemap="#php__raphf__api_8c_a93458ab12d810f0fd545fb1464ba9eca_icgraph" alt=""/></div>
+<map name="php__raphf__api_8c_a93458ab12d810f0fd545fb1464ba9eca_icgraph" id="php__raphf__api_8c_a93458ab12d810f0fd545fb1464ba9eca_icgraph">
+<area shape="rect" id="node2" href="php__raphf__api_8h.html#ab754f4d59dab5de0edf702a9ab2f4e03" title="Create a resource factory for persistent handles. " alt="" coords="232,5,384,47"/>
+</map>
+</div>
+</p>
+
+</div>
+</div>
+<a class="anchor" id="aeeeb92e5e498b6f8c98b9ac6d5b695f3"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="php__raphf__api_8c.html#a7e00ad2b6e2b119af6feea77ddfcc7e1">ZEND_RESULT_CODE</a> php_persistent_handle_provide </td>
+          <td>(</td>
+          <td class="paramtype">const char *&#160;</td>
+          <td class="paramname"><em>name_str</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">size_t&#160;</td>
+          <td class="paramname"><em>name_len</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="php__raphf__api_8h.html#a29e0d7a66e441a5265ddf2f0adbbb3af">php_resource_factory_ops_t</a> *&#160;</td>
+          <td class="paramname"><em>fops</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">void *&#160;</td>
+          <td class="paramname"><em>data</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">void(*)(void *)&#160;</td>
+          <td class="paramname"><em>dtor</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Register a persistent handle provider in MINIT. </p>
+<p>Registers a factory provider for <em>name_str</em> with <em>fops</em> resource factory ops. Call this in your MINIT.</p>
+<p>A <a class="el" href="structphp__resource__factory.html" title="The resource factory. ">php_resource_factory</a> will be created with <em>fops</em>, <em>data</em> and <em>dtor</em> and will be stored together with a <a class="el" href="php__raphf__api_8h.html#structphp__persistent__handle__list" title="Persistent handles storage. ">php_persistent_handle_list</a> in the global raphf hash.</p>
+<p>A <a class="el" href="php__raphf__api_8h.html#structphp__persistent__handle__factory" title="Definition of a persistent handle factory. ">php_persistent_handle_factory</a> can then be retrieved by <a class="el" href="php__raphf__api_8h.html#a0a266874dafb69cf2b040378d4033901" title="Retrieve a persistent handle factory at runtime. ">php_persistent_handle_concede()</a> at runtime.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">name_str</td><td>the provider name, e.g. "http\Client\Curl" </td></tr>
+    <tr><td class="paramname">name_len</td><td>the provider name length, e.g. strlen("http\Client\Curl") </td></tr>
+    <tr><td class="paramname">fops</td><td>the resource factory ops </td></tr>
+    <tr><td class="paramname">data</td><td>opaque user data </td></tr>
+    <tr><td class="paramname">dtor</td><td><em>data</em> destructor </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>SUCCESS/FAILURE </dd></dl>
+
+<p><div class="dynheader">
+Here is the call graph for this function:</div>
+<div class="dyncontent">
+<div class="center"><img src="php__raphf__api_8c_aeeeb92e5e498b6f8c98b9ac6d5b695f3_cgraph.png" border="0" usemap="#php__raphf__api_8c_aeeeb92e5e498b6f8c98b9ac6d5b695f3_cgraph" alt=""/></div>
+<map name="php__raphf__api_8c_aeeeb92e5e498b6f8c98b9ac6d5b695f3_cgraph" id="php__raphf__api_8c_aeeeb92e5e498b6f8c98b9ac6d5b695f3_cgraph">
+<area shape="rect" id="node2" href="php__raphf__api_8c.html#ad20f10c53e3f33756638da98819367f0" title="Initialize a resource factory. " alt="" coords="208,5,379,32"/>
+<area shape="rect" id="node3" href="php__raphf__api_8c.html#a016b8a4159e698f915ab967711696847" title="Destroy the resource factory. " alt="" coords="205,56,381,83"/>
+</map>
+</div>
+</p>
+
+</div>
+</div>
+<a class="anchor" id="af08ee05c51d52200755d24f6f52df144"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void php_persistent_handle_release </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="php__raphf__api_8h.html#a833eaa62ffcc217e5749c26c18885b17">php_persistent_handle_factory_t</a> *&#160;</td>
+          <td class="paramname"><em>a</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">void *&#160;</td>
+          <td class="paramname"><em>handle</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Release a persistent handle. </p>
+<p>That is, either put it back into the free list for later re-use or clean it up with <a class="el" href="php__raphf__api_8h.html#a97dbb9d342f33205b92374c586676bc6" title="Destroy (and free) the resource. ">php_resource_factory_handle_dtor()</a>.</p>
+<p>If a handle is put back into the free list, the <a class="el" href="php__raphf__api_8h.html#a9299f3f0821061ad93d15c10cf735b6b" title="The persistent handle retire routine; may be NULL. ">php_persistent_handle_factory::retire</a> callback will be executed for that handle.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">a</td><td>the persistent handle factory </td></tr>
+    <tr><td class="paramname">handle</td><td>the handle to release </td></tr>
+  </table>
+  </dd>
+</dl>
+
+<p><div class="dynheader">
+Here is the call graph for this function:</div>
+<div class="dyncontent">
+<div class="center"><img src="php__raphf__api_8c_af08ee05c51d52200755d24f6f52df144_cgraph.png" border="0" usemap="#php__raphf__api_8c_af08ee05c51d52200755d24f6f52df144_cgraph" alt=""/></div>
+<map name="php__raphf__api_8c_af08ee05c51d52200755d24f6f52df144_cgraph" id="php__raphf__api_8c_af08ee05c51d52200755d24f6f52df144_cgraph">
+<area shape="rect" id="node2" href="php__raphf__api_8c.html#a97dbb9d342f33205b92374c586676bc6" title="Destroy (and free) the resource. " alt="" coords="205,5,352,47"/>
+</map>
+</div>
+</p>
+
+</div>
+</div>
+<a class="anchor" id="ab754f4d59dab5de0edf702a9ab2f4e03"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="php__raphf__api_8h.html#a4817c4b3d4077c48dff36376487ba8d4">php_resource_factory_t</a>* php_persistent_handle_resource_factory_init </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="php__raphf__api_8h.html#a4817c4b3d4077c48dff36376487ba8d4">php_resource_factory_t</a> *&#160;</td>
+          <td class="paramname"><em>a</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="php__raphf__api_8h.html#a833eaa62ffcc217e5749c26c18885b17">php_persistent_handle_factory_t</a> *&#160;</td>
+          <td class="paramname"><em>pf</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Create a resource factory for persistent handles. </p>
+<p>This will create a resource factory with persistent handle ops, which wraps the provided reource factory <em>pf</em>.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">a</td><td>the persistent handle resource factory to initialize </td></tr>
+    <tr><td class="paramname">pf</td><td>the resource factory to wrap </td></tr>
+  </table>
+  </dd>
+</dl>
+
+<p><div class="dynheader">
+Here is the call graph for this function:</div>
+<div class="dyncontent">
+<div class="center"><img src="php__raphf__api_8c_ab754f4d59dab5de0edf702a9ab2f4e03_cgraph.png" border="0" usemap="#php__raphf__api_8c_ab754f4d59dab5de0edf702a9ab2f4e03_cgraph" alt=""/></div>
+<map name="php__raphf__api_8c_ab754f4d59dab5de0edf702a9ab2f4e03_cgraph" id="php__raphf__api_8c_ab754f4d59dab5de0edf702a9ab2f4e03_cgraph">
+<area shape="rect" id="node2" href="php__raphf__api_8c.html#ad20f10c53e3f33756638da98819367f0" title="Initialize a resource factory. " alt="" coords="209,5,380,32"/>
+<area shape="rect" id="node3" href="php__raphf__api_8c.html#a93458ab12d810f0fd545fb1464ba9eca" title="Retrieve persistent handle resource factory ops. " alt="" coords="205,57,384,98"/>
+<area shape="rect" id="node4" href="php__raphf__api_8c.html#ab12ec2da7189e16fbed40a3b73bc9ee2" title="Abandon the persistent handle factory. " alt="" coords="219,122,371,163"/>
+</map>
+</div>
+</p>
+
+</div>
+</div>
+<a class="anchor" id="ae174fbe124d4cb6010e218a68379bd18"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">HashTable* php_persistent_handle_statall </td>
+          <td>(</td>
+          <td class="paramtype">HashTable *&#160;</td>
+          <td class="paramname"><em>ht</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Retrieve statistics about the current process/thread's persistent handles. </p>
+<dl class="section return"><dt>Returns</dt><dd>a HashTable like: <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;[</div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;    &quot;name&quot; =&gt; [</div>
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;        &quot;ident&quot; =&gt; [</div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;            &quot;used&quot; =&gt; 1,</div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;            &quot;free&quot; =&gt; 0,</div>
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;        ]</div>
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    ]</div>
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;]</div>
+</div><!-- fragment --> </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ae8be369197905047ffbd05c0ca80f245"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">unsigned php_resource_factory_addref </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="php__raphf__api_8h.html#a4817c4b3d4077c48dff36376487ba8d4">php_resource_factory_t</a> *&#160;</td>
+          <td class="paramname"><em>rf</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Increase the refcount of the resource factory. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">rf</td><td>the resource factory </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>the new refcount </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="a016b8a4159e698f915ab967711696847"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void php_resource_factory_dtor </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="php__raphf__api_8h.html#a4817c4b3d4077c48dff36376487ba8d4">php_resource_factory_t</a> *&#160;</td>
+          <td class="paramname"><em>f</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Destroy the resource factory. </p>
+<p>If the factory's refcount reaches 0, the <em>dtor</em> for <em>data</em> is called.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">f</td><td>the resource factory </td></tr>
+  </table>
+  </dd>
+</dl>
+
+<p>Referenced by <a class="el" href="php__raphf__api_8h.html#a3cbbe29c8a4ed9858c921c8ee539de59">php_persistent_handle_provide()</a>, and <a class="el" href="php__raphf__api_8h.html#a7f012d685f5f7c08f50288b61232e689">php_resource_factory_free()</a>.</p>
+
+<p><div class="dynheader">
+Here is the caller graph for this function:</div>
+<div class="dyncontent">
+<div class="center"><img src="php__raphf__api_8c_a016b8a4159e698f915ab967711696847_icgraph.png" border="0" usemap="#php__raphf__api_8c_a016b8a4159e698f915ab967711696847_icgraph" alt=""/></div>
+<map name="php__raphf__api_8c_a016b8a4159e698f915ab967711696847_icgraph" id="php__raphf__api_8c_a016b8a4159e698f915ab967711696847_icgraph">
+<area shape="rect" id="node2" href="php__raphf__api_8h.html#a3cbbe29c8a4ed9858c921c8ee539de59" title="Register a persistent handle provider in MINIT. " alt="" coords="241,5,393,47"/>
+<area shape="rect" id="node3" href="php__raphf__api_8h.html#a7f012d685f5f7c08f50288b61232e689" title="Destroy and free the resource factory. " alt="" coords="229,71,405,98"/>
+</map>
+</div>
+</p>
+
+</div>
+</div>
+<a class="anchor" id="a7f012d685f5f7c08f50288b61232e689"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void php_resource_factory_free </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="php__raphf__api_8h.html#a4817c4b3d4077c48dff36376487ba8d4">php_resource_factory_t</a> **&#160;</td>
+          <td class="paramname"><em>f</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Destroy and free the resource factory. </p>
+<p>Calls <a class="el" href="php__raphf__api_8h.html#a016b8a4159e698f915ab967711696847" title="Destroy the resource factory. ">php_resource_factory_dtor()</a> and frees \æ f if the factory's refcount reached 0.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">f</td><td>the resource factory </td></tr>
+  </table>
+  </dd>
+</dl>
+
+<p><div class="dynheader">
+Here is the call graph for this function:</div>
+<div class="dyncontent">
+<div class="center"><img src="php__raphf__api_8c_a7f012d685f5f7c08f50288b61232e689_cgraph.png" border="0" usemap="#php__raphf__api_8c_a7f012d685f5f7c08f50288b61232e689_cgraph" alt=""/></div>
+<map name="php__raphf__api_8c_a7f012d685f5f7c08f50288b61232e689_cgraph" id="php__raphf__api_8c_a7f012d685f5f7c08f50288b61232e689_cgraph">
+<area shape="rect" id="node2" href="php__raphf__api_8c.html#a016b8a4159e698f915ab967711696847" title="Destroy the resource factory. " alt="" coords="229,5,405,32"/>
+</map>
+</div>
+</p>
+
+</div>
+</div>
+<a class="anchor" id="a08db5f3698f2d0bf3d2f20dcf4e7b2b4"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void* php_resource_factory_handle_copy </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="php__raphf__api_8h.html#a4817c4b3d4077c48dff36376487ba8d4">php_resource_factory_t</a> *&#160;</td>
+          <td class="paramname"><em>f</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">void *&#160;</td>
+          <td class="paramname"><em>handle</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Create a copy of the resource <em>handle</em>. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">f</td><td>the resource factory </td></tr>
+    <tr><td class="paramname">handle</td><td>the resource to copy </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>the copy </dd></dl>
+
+<p>Referenced by <a class="el" href="php__raphf__api_8h.html#ae8124f3f73e96e2193ae03c5519d2763">php_persistent_handle_accrete()</a>.</p>
+
+<p><div class="dynheader">
+Here is the caller graph for this function:</div>
+<div class="dyncontent">
+<div class="center"><img src="php__raphf__api_8c_a08db5f3698f2d0bf3d2f20dcf4e7b2b4_icgraph.png" border="0" usemap="#php__raphf__api_8c_a08db5f3698f2d0bf3d2f20dcf4e7b2b4_icgraph" alt=""/></div>
+<map name="php__raphf__api_8c_a08db5f3698f2d0bf3d2f20dcf4e7b2b4_icgraph" id="php__raphf__api_8c_a08db5f3698f2d0bf3d2f20dcf4e7b2b4_icgraph">
+<area shape="rect" id="node2" href="php__raphf__api_8h.html#ae8124f3f73e96e2193ae03c5519d2763" title="Copy a persistent handle. " alt="" coords="200,5,352,47"/>
+</map>
+</div>
+</p>
+
+</div>
+</div>
+<a class="anchor" id="a98d02dc80dd83095b8f901954350840c"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void* php_resource_factory_handle_ctor </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="php__raphf__api_8h.html#a4817c4b3d4077c48dff36376487ba8d4">php_resource_factory_t</a> *&#160;</td>
+          <td class="paramname"><em>f</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">void *&#160;</td>
+          <td class="paramname"><em>init_arg</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Construct a resource by the resource factory <em>f</em>. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">f</td><td>the resource factory </td></tr>
+    <tr><td class="paramname">init_arg</td><td>for the resource constructor </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>the new resource </dd></dl>
+
+<p>Referenced by <a class="el" href="php__raphf__api_8h.html#af6636e870497be0699d2781e5fc8a2a9">php_persistent_handle_acquire()</a>.</p>
+
+<p><div class="dynheader">
+Here is the caller graph for this function:</div>
+<div class="dyncontent">
+<div class="center"><img src="php__raphf__api_8c_a98d02dc80dd83095b8f901954350840c_icgraph.png" border="0" usemap="#php__raphf__api_8c_a98d02dc80dd83095b8f901954350840c_icgraph" alt=""/></div>
+<map name="php__raphf__api_8c_a98d02dc80dd83095b8f901954350840c_icgraph" id="php__raphf__api_8c_a98d02dc80dd83095b8f901954350840c_icgraph">
+<area shape="rect" id="node2" href="php__raphf__api_8h.html#af6636e870497be0699d2781e5fc8a2a9" title="Acquire a persistent handle. " alt="" coords="200,5,352,47"/>
+</map>
+</div>
+</p>
+
+</div>
+</div>
+<a class="anchor" id="a97dbb9d342f33205b92374c586676bc6"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void php_resource_factory_handle_dtor </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="php__raphf__api_8h.html#a4817c4b3d4077c48dff36376487ba8d4">php_resource_factory_t</a> *&#160;</td>
+          <td class="paramname"><em>f</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">void *&#160;</td>
+          <td class="paramname"><em>handle</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Destroy (and free) the resource. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">f</td><td>the resource factory </td></tr>
+    <tr><td class="paramname">handle</td><td>the resource to destroy </td></tr>
+  </table>
+  </dd>
+</dl>
+
+<p>Referenced by <a class="el" href="php__raphf__api_8h.html#af08ee05c51d52200755d24f6f52df144">php_persistent_handle_release()</a>.</p>
+
+<p><div class="dynheader">
+Here is the caller graph for this function:</div>
+<div class="dyncontent">
+<div class="center"><img src="php__raphf__api_8c_a97dbb9d342f33205b92374c586676bc6_icgraph.png" border="0" usemap="#php__raphf__api_8c_a97dbb9d342f33205b92374c586676bc6_icgraph" alt=""/></div>
+<map name="php__raphf__api_8c_a97dbb9d342f33205b92374c586676bc6_icgraph" id="php__raphf__api_8c_a97dbb9d342f33205b92374c586676bc6_icgraph">
+<area shape="rect" id="node2" href="php__raphf__api_8h.html#af08ee05c51d52200755d24f6f52df144" title="Release a persistent handle. " alt="" coords="200,5,352,47"/>
+</map>
+</div>
+</p>
+
+</div>
+</div>
+<a class="anchor" id="ad20f10c53e3f33756638da98819367f0"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="php__raphf__api_8h.html#a4817c4b3d4077c48dff36376487ba8d4">php_resource_factory_t</a>* php_resource_factory_init </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="php__raphf__api_8h.html#a4817c4b3d4077c48dff36376487ba8d4">php_resource_factory_t</a> *&#160;</td>
+          <td class="paramname"><em>f</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="php__raphf__api_8h.html#a29e0d7a66e441a5265ddf2f0adbbb3af">php_resource_factory_ops_t</a> *&#160;</td>
+          <td class="paramname"><em>fops</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">void *&#160;</td>
+          <td class="paramname"><em>data</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">void(*)(void *data)&#160;</td>
+          <td class="paramname"><em>dtor</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Initialize a resource factory. </p>
+<p>If you register a <em>dtor</em> for a resource factory used with a persistent handle provider, be sure to call <a class="el" href="php__raphf__api_8h.html#a0d661d1f880270146012eb8781e5343e" title="Clean persistent handles up. ">php_persistent_handle_cleanup()</a> for your registered provider in MSHUTDOWN, else the dtor will point to no longer available memory if the extension has already been unloaded.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">f</td><td>the factory to initialize; if NULL allocated on the heap </td></tr>
+    <tr><td class="paramname">fops</td><td>the resource ops to assign to the factory </td></tr>
+    <tr><td class="paramname">data</td><td>opaque user data; may be NULL </td></tr>
+    <tr><td class="paramname">dtor</td><td>a destructor for the data; may be NULL </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd><em>f</em> or an allocated resource factory </dd></dl>
+
+<p>Referenced by <a class="el" href="php__raphf__api_8h.html#a3cbbe29c8a4ed9858c921c8ee539de59">php_persistent_handle_provide()</a>, and <a class="el" href="php__raphf__api_8h.html#ab754f4d59dab5de0edf702a9ab2f4e03">php_persistent_handle_resource_factory_init()</a>.</p>
+
+<p><div class="dynheader">
+Here is the caller graph for this function:</div>
+<div class="dyncontent">
+<div class="center"><img src="php__raphf__api_8c_ad20f10c53e3f33756638da98819367f0_icgraph.png" border="0" usemap="#php__raphf__api_8c_ad20f10c53e3f33756638da98819367f0_icgraph" alt=""/></div>
+<map name="php__raphf__api_8c_ad20f10c53e3f33756638da98819367f0_icgraph" id="php__raphf__api_8c_ad20f10c53e3f33756638da98819367f0_icgraph">
+<area shape="rect" id="node2" href="php__raphf__api_8h.html#a3cbbe29c8a4ed9858c921c8ee539de59" title="Register a persistent handle provider in MINIT. " alt="" coords="224,5,376,47"/>
+<area shape="rect" id="node3" href="php__raphf__api_8h.html#ab754f4d59dab5de0edf702a9ab2f4e03" title="Create a resource factory for persistent handles. " alt="" coords="224,71,376,112"/>
+</map>
+</div>
+</p>
+
+</div>
+</div>
+<a class="anchor" id="a617d2cc656ab6427388b938597194ebb"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">zend_bool php_resource_factory_is_persistent </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="php__raphf__api_8h.html#a4817c4b3d4077c48dff36376487ba8d4">php_resource_factory_t</a> *&#160;</td>
+          <td class="paramname"><em>a</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Check whether a resource factory is a persistent handle resource factory. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">a</td><td>the resource factory to check </td></tr>
+  </table>
+  </dd>
+</dl>
+
+<p><div class="dynheader">
+Here is the call graph for this function:</div>
+<div class="dyncontent">
+<div class="center"><img src="php__raphf__api_8c_a617d2cc656ab6427388b938597194ebb_cgraph.png" border="0" usemap="#php__raphf__api_8c_a617d2cc656ab6427388b938597194ebb_cgraph" alt=""/></div>
+<map name="php__raphf__api_8c_a617d2cc656ab6427388b938597194ebb_cgraph" id="php__raphf__api_8c_a617d2cc656ab6427388b938597194ebb_cgraph">
+<area shape="rect" id="node2" href="php__raphf__api_8c.html#ab12ec2da7189e16fbed40a3b73bc9ee2" title="Abandon the persistent handle factory. " alt="" coords="200,5,352,47"/>
+</map>
+</div>
+</p>
+
+</div>
+</div>
+<a class="anchor" id="ad2aba389e88a1e9e11b7dae021bfddfc"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">STD_PHP_INI_ENTRY </td>
+          <td>(</td>
+          <td class="paramtype">&quot;raphf.persistent_handle.limit&quot;&#160;</td>
+          <td class="paramname">, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&quot;-1&quot;&#160;</td>
+          <td class="paramname">, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">PHP_INI_SYSTEM&#160;</td>
+          <td class="paramname">, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">OnUpdateLong&#160;</td>
+          <td class="paramname">, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">persistent_handle.&#160;</td>
+          <td class="paramname"><em>limit</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">zend_raphf_globals&#160;</td>
+          <td class="paramname">, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">raphf_globals&#160;</td>
+          <td class="paramname">&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a9337bda6793399d5917999063e1aa636"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">ZEND_END_ARG_INFO </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<h2 class="groupheader">Variable Documentation</h2>
+<a class="anchor" id="a385b722141c96392a35d8b6dfc29b0d3"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">struct php_persistent_handle_globals persistent_handle</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a42f904573a2c5b1eba6ccd6604269f99"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">zend_module_entry raphf_module_entry</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<b>Initial value:</b><div class="fragment"><div class="line">= {</div>
+<div class="line">    STANDARD_MODULE_HEADER,</div>
+<div class="line">    <span class="stringliteral">&quot;raphf&quot;</span>,</div>
+<div class="line">    raphf_functions,</div>
+<div class="line">    PHP_MINIT(raphf),</div>
+<div class="line">    PHP_MSHUTDOWN(raphf),</div>
+<div class="line">    NULL,</div>
+<div class="line">    NULL,</div>
+<div class="line">    PHP_MINFO(raphf),</div>
+<div class="line">     <span class="stringliteral">&quot;1.1.0&quot;</span> ,</div>
+<div class="line">    ZEND_MODULE_GLOBALS(raphf),</div>
+<div class="line">    PHP_GINIT(raphf),</div>
+<div class="line">    PHP_GSHUTDOWN(raphf),</div>
+<div class="line">    NULL,</div>
+<div class="line">    STANDARD_MODULE_PROPERTIES_EX</div>
+<div class="line">}</div>
+</div><!-- fragment -->
+</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="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="php__raphf__api_8c.html">php_raphf_api.c</a></li>
+    <li class="footer">Generated by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.10 </li>
+  </ul>
+</div>
+</body>
+</html>