update master docs
[m6w6/ext-raphf] / master / php__raphf__api_8h.html
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2 <html xmlns="http://www.w3.org/1999/xhtml">
3 <head>
4 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
6 <meta name="generator" content="Doxygen 1.8.10"/>
7 <title>Resource and persistent handle factory API: src/php_raphf_api.h File Reference</title>
8 <link href="tabs.css" rel="stylesheet" type="text/css"/>
9 <script type="text/javascript" src="jquery.js"></script>
10 <script type="text/javascript" src="dynsections.js"></script>
11 <link href="navtree.css" rel="stylesheet" type="text/css"/>
12 <script type="text/javascript" src="resize.js"></script>
13 <script type="text/javascript" src="navtreedata.js"></script>
14 <script type="text/javascript" src="navtree.js"></script>
15 <script type="text/javascript">
16 $(document).ready(initResizable);
17 $(window).load(resizeHeight);
18 </script>
19 <link href="search/search.css" rel="stylesheet" type="text/css"/>
20 <script type="text/javascript" src="search/searchdata.js"></script>
21 <script type="text/javascript" src="search/search.js"></script>
22 <script type="text/javascript">
23 $(document).ready(function() { init_search(); });
24 </script>
25 <link href="doxygen.css" rel="stylesheet" type="text/css" />
26 </head>
27 <body>
28 <div id="top"><!-- do not remove this div, it is closed by doxygen! -->
29 <div id="titlearea">
30 <table cellspacing="0" cellpadding="0">
31 <tbody>
32 <tr style="height: 56px;">
33 <td id="projectlogo"><img alt="Logo" src="raphf.png"/></td>
34 <td id="projectalign" style="padding-left: 0.5em;">
35 <div id="projectname">Resource and persistent handle factory API
36 </div>
37 <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>
38 </td>
39 </tr>
40 </tbody>
41 </table>
42 </div>
43 <!-- end header part -->
44 <!-- Generated by Doxygen 1.8.10 -->
45 <script type="text/javascript">
46 var searchBox = new SearchBox("searchBox", "search",false,'Search');
47 </script>
48 <div id="navrow1" class="tabs">
49 <ul class="tablist">
50 <li><a href="index.html"><span>Main&#160;Page</span></a></li>
51 <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
52 <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
53 <li class="current"><a href="files.html"><span>Files</span></a></li>
54 <li>
55 <div id="MSearchBox" class="MSearchBoxInactive">
56 <span class="left">
57 <img id="MSearchSelect" src="search/mag_sel.png"
58 onmouseover="return searchBox.OnSearchSelectShow()"
59 onmouseout="return searchBox.OnSearchSelectHide()"
60 alt=""/>
61 <input type="text" id="MSearchField" value="Search" accesskey="S"
62 onfocus="searchBox.OnSearchFieldFocus(true)"
63 onblur="searchBox.OnSearchFieldFocus(false)"
64 onkeyup="searchBox.OnSearchFieldChange(event)"/>
65 </span><span class="right">
66 <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
67 </span>
68 </div>
69 </li>
70 </ul>
71 </div>
72 <div id="navrow2" class="tabs2">
73 <ul class="tablist">
74 <li><a href="files.html"><span>File&#160;List</span></a></li>
75 <li><a href="globals.html"><span>Globals</span></a></li>
76 </ul>
77 </div>
78 </div><!-- top -->
79 <div id="side-nav" class="ui-resizable side-nav-resizable">
80 <div id="nav-tree">
81 <div id="nav-tree-contents">
82 <div id="nav-sync" class="sync"></div>
83 </div>
84 </div>
85 <div id="splitbar" style="-moz-user-select:none;"
86 class="ui-resizable-handle">
87 </div>
88 </div>
89 <script type="text/javascript">
90 $(document).ready(function(){initNavTree('php__raphf__api_8h.html','');});
91 </script>
92 <div id="doc-content">
93 <!-- window showing the filter options -->
94 <div id="MSearchSelectWindow"
95 onmouseover="return searchBox.OnSearchSelectShow()"
96 onmouseout="return searchBox.OnSearchSelectHide()"
97 onkeydown="return searchBox.OnSearchSelectKey(event)">
98 </div>
99
100 <!-- iframe showing the search results (closed by default) -->
101 <div id="MSearchResultsWindow">
102 <iframe src="javascript:void(0)" frameborder="0"
103 name="MSearchResults" id="MSearchResults">
104 </iframe>
105 </div>
106
107 <div class="header">
108 <div class="summary">
109 <a href="#nested-classes">Data Structures</a> &#124;
110 <a href="#typedef-members">Typedefs</a> &#124;
111 <a href="#func-members">Functions</a> </div>
112 <div class="headertitle">
113 <div class="title">php_raphf_api.h File Reference</div> </div>
114 </div><!--header-->
115 <div class="contents">
116 <div class="textblock"><code>#include &quot;<a class="el" href="php__raphf_8h_source.html">php_raphf.h</a>&quot;</code><br />
117 </div><div class="textblock"><div class="dynheader">
118 Include dependency graph for php_raphf_api.h:</div>
119 <div class="dyncontent">
120 <div class="center"><img src="php__raphf__api_8h__incl.png" border="0" usemap="#src_2php__raphf__api_8h" alt=""/></div>
121 <map name="src_2php__raphf__api_8h" id="src_2php__raphf__api_8h">
122 <area shape="rect" id="node2" href="php__raphf_8h.html" title="php_raphf.h" alt="" coords="28,80,119,107"/>
123 </map>
124 </div>
125 </div><div class="textblock"><div class="dynheader">
126 This graph shows which files directly or indirectly include this file:</div>
127 <div class="dyncontent">
128 <div class="center"><img src="php__raphf__api_8h__dep__incl.png" border="0" usemap="#src_2php__raphf__api_8hdep" alt=""/></div>
129 <map name="src_2php__raphf__api_8hdep" id="src_2php__raphf__api_8hdep">
130 <area shape="rect" id="node2" href="php__raphf_8h.html" title="php_raphf.h" alt="" coords="28,80,119,107"/>
131 <area shape="rect" id="node3" href="php__raphf__api_8c.html" title="src/php_raphf_api.c" alt="" coords="5,155,141,181"/>
132 </map>
133 </div>
134 </div>
135 <p><a href="php__raphf__api_8h_source.html">Go to the source code of this file.</a></p>
136 <table class="memberdecls">
137 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
138 Data Structures</h2></td></tr>
139 <tr class="memitem:structphp__resource__factory__ops"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="php__raphf__api_8h.html#structphp__resource__factory__ops">php_resource_factory_ops</a></td></tr>
140 <tr class="memdesc:structphp__resource__factory__ops"><td class="mdescLeft">&#160;</td><td class="mdescRight">The resource ops consisting of a ctor, a copy ctor and a dtor. <a href="php__raphf__api_8h.html#structphp__resource__factory__ops">More...</a><br /></td></tr>
141 <tr class="separator:structphp__resource__factory__ops"><td class="memSeparator" colspan="2">&#160;</td></tr>
142 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structphp__resource__factory.html">php_resource_factory</a></td></tr>
143 <tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">The resource factory. <a href="structphp__resource__factory.html#details">More...</a><br /></td></tr>
144 <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
145 <tr class="memitem:structphp__persistent__handle__list"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="php__raphf__api_8h.html#structphp__persistent__handle__list">php_persistent_handle_list</a></td></tr>
146 <tr class="memdesc:structphp__persistent__handle__list"><td class="mdescLeft">&#160;</td><td class="mdescRight">Persistent handles storage. <a href="php__raphf__api_8h.html#structphp__persistent__handle__list">More...</a><br /></td></tr>
147 <tr class="separator:structphp__persistent__handle__list"><td class="memSeparator" colspan="2">&#160;</td></tr>
148 <tr class="memitem:structphp__persistent__handle__provider"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="php__raphf__api_8h.html#structphp__persistent__handle__provider">php_persistent_handle_provider</a></td></tr>
149 <tr class="memdesc:structphp__persistent__handle__provider"><td class="mdescLeft">&#160;</td><td class="mdescRight">Definition of a persistent handle provider. <a href="php__raphf__api_8h.html#structphp__persistent__handle__provider">More...</a><br /></td></tr>
150 <tr class="separator:structphp__persistent__handle__provider"><td class="memSeparator" colspan="2">&#160;</td></tr>
151 <tr class="memitem:structphp__persistent__handle__factory"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="php__raphf__api_8h.html#structphp__persistent__handle__factory">php_persistent_handle_factory</a></td></tr>
152 <tr class="memdesc:structphp__persistent__handle__factory"><td class="mdescLeft">&#160;</td><td class="mdescRight">Definition of a persistent handle factory. <a href="php__raphf__api_8h.html#structphp__persistent__handle__factory">More...</a><br /></td></tr>
153 <tr class="separator:structphp__persistent__handle__factory"><td class="memSeparator" colspan="2">&#160;</td></tr>
154 </table><table class="memberdecls">
155 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
156 Typedefs</h2></td></tr>
157 <tr class="memitem:abadff49d810f7ce220bd3537bdaecef7"><td class="memItemLeft" align="right" valign="top">typedef void *(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="php__raphf__api_8h.html#abadff49d810f7ce220bd3537bdaecef7">php_resource_factory_handle_ctor_t</a>) (void *opaque, void *init_arg)</td></tr>
158 <tr class="memdesc:abadff49d810f7ce220bd3537bdaecef7"><td class="mdescLeft">&#160;</td><td class="mdescRight">A resource constructor. <a href="#abadff49d810f7ce220bd3537bdaecef7">More...</a><br /></td></tr>
159 <tr class="separator:abadff49d810f7ce220bd3537bdaecef7"><td class="memSeparator" colspan="2">&#160;</td></tr>
160 <tr class="memitem:a23b073aa7b8b7dd182b336b07494288f"><td class="memItemLeft" align="right" valign="top">typedef void *(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="php__raphf__api_8h.html#a23b073aa7b8b7dd182b336b07494288f">php_resource_factory_handle_copy_t</a>) (void *opaque, void *handle)</td></tr>
161 <tr class="memdesc:a23b073aa7b8b7dd182b336b07494288f"><td class="mdescLeft">&#160;</td><td class="mdescRight">The copy constructor of a resource. <a href="#a23b073aa7b8b7dd182b336b07494288f">More...</a><br /></td></tr>
162 <tr class="separator:a23b073aa7b8b7dd182b336b07494288f"><td class="memSeparator" colspan="2">&#160;</td></tr>
163 <tr class="memitem:a1b826c765392c93336db79bd6697e33d"><td class="memItemLeft" align="right" valign="top">typedef void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="php__raphf__api_8h.html#a1b826c765392c93336db79bd6697e33d">php_resource_factory_handle_dtor_t</a>) (void *opaque, void *handle)</td></tr>
164 <tr class="memdesc:a1b826c765392c93336db79bd6697e33d"><td class="mdescLeft">&#160;</td><td class="mdescRight">The destructor of a resource. <a href="#a1b826c765392c93336db79bd6697e33d">More...</a><br /></td></tr>
165 <tr class="separator:a1b826c765392c93336db79bd6697e33d"><td class="memSeparator" colspan="2">&#160;</td></tr>
166 <tr class="memitem:a29e0d7a66e441a5265ddf2f0adbbb3af"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="php__raphf__api_8h.html#structphp__resource__factory__ops">php_resource_factory_ops</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="php__raphf__api_8h.html#a29e0d7a66e441a5265ddf2f0adbbb3af">php_resource_factory_ops_t</a></td></tr>
167 <tr class="memdesc:a29e0d7a66e441a5265ddf2f0adbbb3af"><td class="mdescLeft">&#160;</td><td class="mdescRight">The resource ops consisting of a ctor, a copy ctor and a dtor. <a href="#a29e0d7a66e441a5265ddf2f0adbbb3af">More...</a><br /></td></tr>
168 <tr class="separator:a29e0d7a66e441a5265ddf2f0adbbb3af"><td class="memSeparator" colspan="2">&#160;</td></tr>
169 <tr class="memitem:a4817c4b3d4077c48dff36376487ba8d4"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="structphp__resource__factory.html">php_resource_factory</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="php__raphf__api_8h.html#a4817c4b3d4077c48dff36376487ba8d4">php_resource_factory_t</a></td></tr>
170 <tr class="memdesc:a4817c4b3d4077c48dff36376487ba8d4"><td class="mdescLeft">&#160;</td><td class="mdescRight">The resource factory. <a href="#a4817c4b3d4077c48dff36376487ba8d4">More...</a><br /></td></tr>
171 <tr class="separator:a4817c4b3d4077c48dff36376487ba8d4"><td class="memSeparator" colspan="2">&#160;</td></tr>
172 <tr class="memitem:a07f599598d2b87b188f39871d026c177"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="php__raphf__api_8h.html#structphp__persistent__handle__list">php_persistent_handle_list</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="php__raphf__api_8h.html#a07f599598d2b87b188f39871d026c177">php_persistent_handle_list_t</a></td></tr>
173 <tr class="memdesc:a07f599598d2b87b188f39871d026c177"><td class="mdescLeft">&#160;</td><td class="mdescRight">Persistent handles storage. <a href="#a07f599598d2b87b188f39871d026c177">More...</a><br /></td></tr>
174 <tr class="separator:a07f599598d2b87b188f39871d026c177"><td class="memSeparator" colspan="2">&#160;</td></tr>
175 <tr class="memitem:a31f0595f4f726f762790cef844568fc4"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="php__raphf__api_8h.html#structphp__persistent__handle__provider">php_persistent_handle_provider</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="php__raphf__api_8h.html#a31f0595f4f726f762790cef844568fc4">php_persistent_handle_provider_t</a></td></tr>
176 <tr class="memdesc:a31f0595f4f726f762790cef844568fc4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Definition of a persistent handle provider. <a href="#a31f0595f4f726f762790cef844568fc4">More...</a><br /></td></tr>
177 <tr class="separator:a31f0595f4f726f762790cef844568fc4"><td class="memSeparator" colspan="2">&#160;</td></tr>
178 <tr class="memitem:a833eaa62ffcc217e5749c26c18885b17"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="php__raphf__api_8h.html#structphp__persistent__handle__factory">php_persistent_handle_factory</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="php__raphf__api_8h.html#a833eaa62ffcc217e5749c26c18885b17">php_persistent_handle_factory_t</a></td></tr>
179 <tr class="separator:a833eaa62ffcc217e5749c26c18885b17"><td class="memSeparator" colspan="2">&#160;</td></tr>
180 <tr class="memitem:a59f5566ecc4c76e048ad53469eb20142"><td class="memItemLeft" align="right" valign="top">typedef void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="php__raphf__api_8h.html#a59f5566ecc4c76e048ad53469eb20142">php_persistent_handle_wakeup_t</a>) (<a class="el" href="php__raphf__api_8h.html#a833eaa62ffcc217e5749c26c18885b17">php_persistent_handle_factory_t</a> *f, void **handle)</td></tr>
181 <tr class="memdesc:a59f5566ecc4c76e048ad53469eb20142"><td class="mdescLeft">&#160;</td><td class="mdescRight">Wakeup the persistent handle on re-acquisition. <a href="#a59f5566ecc4c76e048ad53469eb20142">More...</a><br /></td></tr>
182 <tr class="separator:a59f5566ecc4c76e048ad53469eb20142"><td class="memSeparator" colspan="2">&#160;</td></tr>
183 <tr class="memitem:a85e9e715d308dc5d98b980c9c57d02bf"><td class="memItemLeft" align="right" valign="top">typedef void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="php__raphf__api_8h.html#a85e9e715d308dc5d98b980c9c57d02bf">php_persistent_handle_retire_t</a>) (<a class="el" href="php__raphf__api_8h.html#a833eaa62ffcc217e5749c26c18885b17">php_persistent_handle_factory_t</a> *f, void **handle)</td></tr>
184 <tr class="memdesc:a85e9e715d308dc5d98b980c9c57d02bf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Retire the persistent handle on release. <a href="#a85e9e715d308dc5d98b980c9c57d02bf">More...</a><br /></td></tr>
185 <tr class="separator:a85e9e715d308dc5d98b980c9c57d02bf"><td class="memSeparator" colspan="2">&#160;</td></tr>
186 </table><table class="memberdecls">
187 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
188 Functions</h2></td></tr>
189 <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_8h.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>
190 <tr class="memdesc:ad20f10c53e3f33756638da98819367f0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initialize a resource factory. <a href="#ad20f10c53e3f33756638da98819367f0">More...</a><br /></td></tr>
191 <tr class="separator:ad20f10c53e3f33756638da98819367f0"><td class="memSeparator" colspan="2">&#160;</td></tr>
192 <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_8h.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>
193 <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>
194 <tr class="separator:ae8be369197905047ffbd05c0ca80f245"><td class="memSeparator" colspan="2">&#160;</td></tr>
195 <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_8h.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>
196 <tr class="memdesc:a016b8a4159e698f915ab967711696847"><td class="mdescLeft">&#160;</td><td class="mdescRight">Destroy the resource factory. <a href="#a016b8a4159e698f915ab967711696847">More...</a><br /></td></tr>
197 <tr class="separator:a016b8a4159e698f915ab967711696847"><td class="memSeparator" colspan="2">&#160;</td></tr>
198 <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_8h.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>
199 <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>
200 <tr class="separator:a7f012d685f5f7c08f50288b61232e689"><td class="memSeparator" colspan="2">&#160;</td></tr>
201 <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_8h.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>
202 <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>
203 <tr class="separator:a98d02dc80dd83095b8f901954350840c"><td class="memSeparator" colspan="2">&#160;</td></tr>
204 <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_8h.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>
205 <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>
206 <tr class="separator:a08db5f3698f2d0bf3d2f20dcf4e7b2b4"><td class="memSeparator" colspan="2">&#160;</td></tr>
207 <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_8h.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>
208 <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>
209 <tr class="separator:a97dbb9d342f33205b92374c586676bc6"><td class="memSeparator" colspan="2">&#160;</td></tr>
210 <tr class="memitem:ab7bc43582b0307526d80e83dba88c571"><td class="memItemLeft" align="right" valign="top">ZEND_RESULT_CODE&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="php__raphf__api_8h.html#ab7bc43582b0307526d80e83dba88c571">php_persistent_handle_provide</a> (zend_string *name, <a class="el" href="php__raphf__api_8h.html#a29e0d7a66e441a5265ddf2f0adbbb3af">php_resource_factory_ops_t</a> *fops, void *data, void(*dtor)(void *))</td></tr>
211 <tr class="memdesc:ab7bc43582b0307526d80e83dba88c571"><td class="mdescLeft">&#160;</td><td class="mdescRight">Register a persistent handle provider in MINIT. <a href="#ab7bc43582b0307526d80e83dba88c571">More...</a><br /></td></tr>
212 <tr class="separator:ab7bc43582b0307526d80e83dba88c571"><td class="memSeparator" colspan="2">&#160;</td></tr>
213 <tr class="memitem:ab7cc28d4d1dcf715dc05069a0dcac11f"><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_8h.html#ab7cc28d4d1dcf715dc05069a0dcac11f">php_persistent_handle_concede</a> (<a class="el" href="php__raphf__api_8h.html#a833eaa62ffcc217e5749c26c18885b17">php_persistent_handle_factory_t</a> *a, zend_string *name, zend_string *ident, <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>
214 <tr class="memdesc:ab7cc28d4d1dcf715dc05069a0dcac11f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Retrieve a persistent handle factory at runtime. <a href="#ab7cc28d4d1dcf715dc05069a0dcac11f">More...</a><br /></td></tr>
215 <tr class="separator:ab7cc28d4d1dcf715dc05069a0dcac11f"><td class="memSeparator" colspan="2">&#160;</td></tr>
216 <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_8h.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>
217 <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>
218 <tr class="separator:ab12ec2da7189e16fbed40a3b73bc9ee2"><td class="memSeparator" colspan="2">&#160;</td></tr>
219 <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_8h.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>
220 <tr class="memdesc:af6636e870497be0699d2781e5fc8a2a9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Acquire a persistent handle. <a href="#af6636e870497be0699d2781e5fc8a2a9">More...</a><br /></td></tr>
221 <tr class="separator:af6636e870497be0699d2781e5fc8a2a9"><td class="memSeparator" colspan="2">&#160;</td></tr>
222 <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_8h.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>
223 <tr class="memdesc:af08ee05c51d52200755d24f6f52df144"><td class="mdescLeft">&#160;</td><td class="mdescRight">Release a persistent handle. <a href="#af08ee05c51d52200755d24f6f52df144">More...</a><br /></td></tr>
224 <tr class="separator:af08ee05c51d52200755d24f6f52df144"><td class="memSeparator" colspan="2">&#160;</td></tr>
225 <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_8h.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>
226 <tr class="memdesc:ae8124f3f73e96e2193ae03c5519d2763"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy a persistent handle. <a href="#ae8124f3f73e96e2193ae03c5519d2763">More...</a><br /></td></tr>
227 <tr class="separator:ae8124f3f73e96e2193ae03c5519d2763"><td class="memSeparator" colspan="2">&#160;</td></tr>
228 <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_8h.html#a93458ab12d810f0fd545fb1464ba9eca">php_persistent_handle_get_resource_factory_ops</a> (void)</td></tr>
229 <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>
230 <tr class="separator:a93458ab12d810f0fd545fb1464ba9eca"><td class="memSeparator" colspan="2">&#160;</td></tr>
231 <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_8h.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>
232 <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>
233 <tr class="separator:ab754f4d59dab5de0edf702a9ab2f4e03"><td class="memSeparator" colspan="2">&#160;</td></tr>
234 <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_8h.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>
235 <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>
236 <tr class="separator:a617d2cc656ab6427388b938597194ebb"><td class="memSeparator" colspan="2">&#160;</td></tr>
237 <tr class="memitem:a8368c07c20ecf1d4f06aa6a4e5849df8"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="php__raphf__api_8h.html#a8368c07c20ecf1d4f06aa6a4e5849df8">php_persistent_handle_cleanup</a> (zend_string *name, zend_string *ident)</td></tr>
238 <tr class="memdesc:a8368c07c20ecf1d4f06aa6a4e5849df8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Clean persistent handles up. <a href="#a8368c07c20ecf1d4f06aa6a4e5849df8">More...</a><br /></td></tr>
239 <tr class="separator:a8368c07c20ecf1d4f06aa6a4e5849df8"><td class="memSeparator" colspan="2">&#160;</td></tr>
240 <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_8h.html#ae174fbe124d4cb6010e218a68379bd18">php_persistent_handle_statall</a> (HashTable *ht)</td></tr>
241 <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>
242 <tr class="separator:ae174fbe124d4cb6010e218a68379bd18"><td class="memSeparator" colspan="2">&#160;</td></tr>
243 </table>
244 <hr/><h2 class="groupheader">Data Structure Documentation</h2>
245 <a name="structphp__resource__factory__ops" id="structphp__resource__factory__ops"></a>
246 <div class="memitem">
247 <div class="memproto">
248 <table class="memname">
249 <tr>
250 <td class="memname">struct php_resource_factory_ops</td>
251 </tr>
252 </table>
253 </div><div class="memdoc">
254 <div class="textblock"><p>The resource ops consisting of a ctor, a copy ctor and a dtor. </p>
255 <p>Define this ops and register them with <a class="el" href="php__raphf__api_8c.html#ab7bc43582b0307526d80e83dba88c571" title="Register a persistent handle provider in MINIT. ">php_persistent_handle_provide()</a> in MINIT. </p>
256 </div><table class="fieldtable">
257 <tr><th colspan="3">Data Fields</th></tr>
258 <tr><td class="fieldtype">
259 <a class="anchor" id="a8094f85df976aff73148bc579ae72e38"></a><a class="el" href="php__raphf__api_8h.html#a23b073aa7b8b7dd182b336b07494288f">php_resource_factory_handle_copy_t</a></td>
260 <td class="fieldname">
261 copy</td>
262 <td class="fielddoc">
263 The resource's copy constructor. </td></tr>
264 <tr><td class="fieldtype">
265 <a class="anchor" id="a044b07071758dbc53f87bfd212400ac0"></a><a class="el" href="php__raphf__api_8h.html#abadff49d810f7ce220bd3537bdaecef7">php_resource_factory_handle_ctor_t</a></td>
266 <td class="fieldname">
267 ctor</td>
268 <td class="fielddoc">
269 The resource constructor. </td></tr>
270 <tr><td class="fieldtype">
271 <a class="anchor" id="acb8a7a04b86f08db41a2d6232676c65c"></a><a class="el" href="php__raphf__api_8h.html#a1b826c765392c93336db79bd6697e33d">php_resource_factory_handle_dtor_t</a></td>
272 <td class="fieldname">
273 dtor</td>
274 <td class="fielddoc">
275 The resource's destructor. </td></tr>
276 </table>
277
278 </div>
279 </div>
280 <a name="structphp__persistent__handle__list" id="structphp__persistent__handle__list"></a>
281 <div class="memitem">
282 <div class="memproto">
283 <table class="memname">
284 <tr>
285 <td class="memname">struct php_persistent_handle_list</td>
286 </tr>
287 </table>
288 </div><div class="memdoc">
289 <div class="textblock"><p>Persistent handles storage. </p>
290 </div><table class="fieldtable">
291 <tr><th colspan="3">Data Fields</th></tr>
292 <tr><td class="fieldtype">
293 <a class="anchor" id="a653a4a0e9c39ad942e9573e197f62974"></a>HashTable</td>
294 <td class="fieldname">
295 free</td>
296 <td class="fielddoc">
297 Storage of free resources. </td></tr>
298 <tr><td class="fieldtype">
299 <a class="anchor" id="a119a44fd9f5ae066b6d77e7a35a25cd0"></a>ulong</td>
300 <td class="fieldname">
301 used</td>
302 <td class="fielddoc">
303 Count of acquired resources. </td></tr>
304 </table>
305
306 </div>
307 </div>
308 <a name="structphp__persistent__handle__provider" id="structphp__persistent__handle__provider"></a>
309 <div class="memitem">
310 <div class="memproto">
311 <table class="memname">
312 <tr>
313 <td class="memname">struct php_persistent_handle_provider</td>
314 </tr>
315 </table>
316 </div><div class="memdoc">
317 <div class="textblock"><p>Definition of a persistent handle provider. </p>
318 <p>Holds a resource factory an a persistent handle list. </p>
319 </div><div class="dynheader">
320 Collaboration diagram for php_persistent_handle_provider:</div>
321 <div class="dyncontent">
322 <div class="center"><img src="structphp__persistent__handle__provider__coll__graph.png" border="0" usemap="#php__persistent__handle__provider_coll__map" alt="Collaboration graph"/></div>
323 <map name="php__persistent__handle__provider_coll__map" id="php__persistent__handle__provider_coll__map">
324 <area shape="rect" id="node2" href="php__raphf__api_8h.html#structphp__persistent__handle__list" title="Persistent handles storage. " alt="" coords="5,95,181,121"/>
325 <area shape="rect" id="node3" href="structphp__resource__factory.html" title="The resource factory. " alt="" coords="205,95,352,121"/>
326 <area shape="rect" id="node4" href="php__raphf__api_8h.html#structphp__resource__factory__ops" title="The resource ops consisting of a ctor, a copy ctor and a dtor. " alt="" coords="191,5,366,32"/>
327 </map>
328 <center><span class="legend">[<a target="top" href="graph_legend.html">legend</a>]</span></center></div>
329 <table class="fieldtable">
330 <tr><th colspan="3">Data Fields</th></tr>
331 <tr><td class="fieldtype">
332 <a class="anchor" id="a4935f6446b1d4a2feb7a22dfc4e5d6d0"></a><a class="el" href="php__raphf__api_8h.html#a07f599598d2b87b188f39871d026c177">php_persistent_handle_list_t</a></td>
333 <td class="fieldname">
334 list</td>
335 <td class="fielddoc">
336 The list of free handles. <p>Hash of "ident" =&gt; array(handles) entries. Persistent handles are acquired out of this list. </p>
337 </td></tr>
338 <tr><td class="fieldtype">
339 <a class="anchor" id="a8204714f100b74b028652951ca40abd3"></a><a class="el" href="php__raphf__api_8h.html#a4817c4b3d4077c48dff36376487ba8d4">php_resource_factory_t</a></td>
340 <td class="fieldname">
341 rf</td>
342 <td class="fielddoc">
343 The resource factory. <p>New handles are created by this factory. </p>
344 </td></tr>
345 </table>
346
347 </div>
348 </div>
349 <a name="structphp__persistent__handle__factory" id="structphp__persistent__handle__factory"></a>
350 <div class="memitem">
351 <div class="memproto">
352 <table class="memname">
353 <tr>
354 <td class="memname">struct php_persistent_handle_factory</td>
355 </tr>
356 </table>
357 </div><div class="memdoc">
358 <div class="textblock"><p>Definition of a persistent handle factory. </p>
359 <p><a class="el" href="php__raphf__api_8c.html#ab7cc28d4d1dcf715dc05069a0dcac11f" title="Retrieve a persistent handle factory at runtime. ">php_persistent_handle_concede()</a> will return a pointer to 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> if a provider for the <em>name</em> has been registered with <a class="el" href="php__raphf__api_8c.html#ab7bc43582b0307526d80e83dba88c571" title="Register a persistent handle provider in MINIT. ">php_persistent_handle_provide()</a>. </p>
360 </div><div class="dynheader">
361 Collaboration diagram for php_persistent_handle_factory:</div>
362 <div class="dyncontent">
363 <div class="center"><img src="structphp__persistent__handle__factory__coll__graph.png" border="0" usemap="#php__persistent__handle__factory_coll__map" alt="Collaboration graph"/></div>
364 <map name="php__persistent__handle__factory_coll__map" id="php__persistent__handle__factory_coll__map">
365 <area shape="rect" id="node2" href="php__raphf__api_8h.html#structphp__persistent__handle__provider" title="Definition of a persistent handle provider. " alt="" coords="76,184,228,225"/>
366 <area shape="rect" id="node3" href="php__raphf__api_8h.html#structphp__persistent__handle__list" title="Persistent handles storage. " alt="" coords="5,95,181,121"/>
367 <area shape="rect" id="node4" href="structphp__resource__factory.html" title="The resource factory. " alt="" coords="205,95,352,121"/>
368 <area shape="rect" id="node5" href="php__raphf__api_8h.html#structphp__resource__factory__ops" title="The resource ops consisting of a ctor, a copy ctor and a dtor. " alt="" coords="191,5,366,32"/>
369 </map>
370 <center><span class="legend">[<a target="top" href="graph_legend.html">legend</a>]</span></center></div>
371 <table class="fieldtable">
372 <tr><th colspan="3">Data Fields</th></tr>
373 <tr><td class="fieldtype">
374 <a class="anchor" id="a84ffa94401b9869e14c190be4bb1b6be"></a>unsigned</td>
375 <td class="fieldname">
376 free_on_abandon:1</td>
377 <td class="fielddoc">
378 Whether it has to be free'd on <a class="el" href="php__raphf__api_8c.html#ab12ec2da7189e16fbed40a3b73bc9ee2" title="Abandon the persistent handle factory. ">php_persistent_handle_abandon()</a> </td></tr>
379 <tr><td class="fieldtype">
380 <a class="anchor" id="ab2446707ee5cb070fd3219e191b31769"></a>zend_string *</td>
381 <td class="fieldname">
382 ident</td>
383 <td class="fielddoc">
384 The ident for which this factory manages resources. </td></tr>
385 <tr><td class="fieldtype">
386 <a class="anchor" id="a43aabcbe7ec4b5ff463f74cfcf788f51"></a><a class="el" href="php__raphf__api_8h.html#a31f0595f4f726f762790cef844568fc4">php_persistent_handle_provider_t</a> *</td>
387 <td class="fieldname">
388 provider</td>
389 <td class="fielddoc">
390 The persistent handle provider. </td></tr>
391 <tr><td class="fieldtype">
392 <a class="anchor" id="a9299f3f0821061ad93d15c10cf735b6b"></a><a class="el" href="php__raphf__api_8h.html#a85e9e715d308dc5d98b980c9c57d02bf">php_persistent_handle_retire_t</a></td>
393 <td class="fieldname">
394 retire</td>
395 <td class="fielddoc">
396 The persistent handle retire routine; may be NULL. </td></tr>
397 <tr><td class="fieldtype">
398 <a class="anchor" id="a6633b7c860e4538942e0367d64ed5af7"></a><a class="el" href="php__raphf__api_8h.html#a59f5566ecc4c76e048ad53469eb20142">php_persistent_handle_wakeup_t</a></td>
399 <td class="fieldname">
400 wakeup</td>
401 <td class="fielddoc">
402 The persistent handle wakeup routine; may be NULL. </td></tr>
403 </table>
404
405 </div>
406 </div>
407 <h2 class="groupheader">Typedef Documentation</h2>
408 <a class="anchor" id="a833eaa62ffcc217e5749c26c18885b17"></a>
409 <div class="memitem">
410 <div class="memproto">
411 <table class="memname">
412 <tr>
413 <td class="memname">typedef struct <a class="el" href="php__raphf__api_8h.html#structphp__persistent__handle__factory">php_persistent_handle_factory</a> <a class="el" href="php__raphf__api_8h.html#a833eaa62ffcc217e5749c26c18885b17">php_persistent_handle_factory_t</a></td>
414 </tr>
415 </table>
416 </div><div class="memdoc">
417
418 </div>
419 </div>
420 <a class="anchor" id="a07f599598d2b87b188f39871d026c177"></a>
421 <div class="memitem">
422 <div class="memproto">
423 <table class="memname">
424 <tr>
425 <td class="memname">typedef struct <a class="el" href="php__raphf__api_8h.html#structphp__persistent__handle__list">php_persistent_handle_list</a> <a class="el" href="php__raphf__api_8h.html#a07f599598d2b87b188f39871d026c177">php_persistent_handle_list_t</a></td>
426 </tr>
427 </table>
428 </div><div class="memdoc">
429
430 <p>Persistent handles storage. </p>
431
432 </div>
433 </div>
434 <a class="anchor" id="a31f0595f4f726f762790cef844568fc4"></a>
435 <div class="memitem">
436 <div class="memproto">
437 <table class="memname">
438 <tr>
439 <td class="memname">typedef struct <a class="el" href="php__raphf__api_8h.html#structphp__persistent__handle__provider">php_persistent_handle_provider</a> <a class="el" href="php__raphf__api_8h.html#a31f0595f4f726f762790cef844568fc4">php_persistent_handle_provider_t</a></td>
440 </tr>
441 </table>
442 </div><div class="memdoc">
443
444 <p>Definition of a persistent handle provider. </p>
445 <p>Holds a resource factory an a persistent handle list. </p>
446
447 </div>
448 </div>
449 <a class="anchor" id="a85e9e715d308dc5d98b980c9c57d02bf"></a>
450 <div class="memitem">
451 <div class="memproto">
452 <table class="memname">
453 <tr>
454 <td class="memname">typedef void(* php_persistent_handle_retire_t) (<a class="el" href="php__raphf__api_8h.html#a833eaa62ffcc217e5749c26c18885b17">php_persistent_handle_factory_t</a> *f, void **handle)</td>
455 </tr>
456 </table>
457 </div><div class="memdoc">
458
459 <p>Retire the persistent handle on release. </p>
460
461 </div>
462 </div>
463 <a class="anchor" id="a59f5566ecc4c76e048ad53469eb20142"></a>
464 <div class="memitem">
465 <div class="memproto">
466 <table class="memname">
467 <tr>
468 <td class="memname">typedef void(* php_persistent_handle_wakeup_t) (<a class="el" href="php__raphf__api_8h.html#a833eaa62ffcc217e5749c26c18885b17">php_persistent_handle_factory_t</a> *f, void **handle)</td>
469 </tr>
470 </table>
471 </div><div class="memdoc">
472
473 <p>Wakeup the persistent handle on re-acquisition. </p>
474
475 </div>
476 </div>
477 <a class="anchor" id="a23b073aa7b8b7dd182b336b07494288f"></a>
478 <div class="memitem">
479 <div class="memproto">
480 <table class="memname">
481 <tr>
482 <td class="memname">typedef void*(* php_resource_factory_handle_copy_t) (void *opaque, void *handle)</td>
483 </tr>
484 </table>
485 </div><div class="memdoc">
486
487 <p>The copy constructor of a resource. </p>
488 <dl class="params"><dt>Parameters</dt><dd>
489 <table class="params">
490 <tr><td class="paramname">opaque</td><td>the factory's data </td></tr>
491 <tr><td class="paramname">handle</td><td>the (persistent) handle to copy </td></tr>
492 </table>
493 </dd>
494 </dl>
495
496 </div>
497 </div>
498 <a class="anchor" id="abadff49d810f7ce220bd3537bdaecef7"></a>
499 <div class="memitem">
500 <div class="memproto">
501 <table class="memname">
502 <tr>
503 <td class="memname">typedef void*(* php_resource_factory_handle_ctor_t) (void *opaque, void *init_arg)</td>
504 </tr>
505 </table>
506 </div><div class="memdoc">
507
508 <p>A resource constructor. </p>
509 <dl class="params"><dt>Parameters</dt><dd>
510 <table class="params">
511 <tr><td class="paramname">opaque</td><td>is the <em>data</em> from <a class="el" href="php__raphf__api_8h.html#ab7bc43582b0307526d80e83dba88c571" title="Register a persistent handle provider in MINIT. ">php_persistent_handle_provide()</a> </td></tr>
512 <tr><td class="paramname">init_arg</td><td>is the <em>init_arg</em> from <a class="el" href="php__raphf__api_8h.html#ad20f10c53e3f33756638da98819367f0" title="Initialize a resource factory. ">php_resource_factory_init()</a> </td></tr>
513 </table>
514 </dd>
515 </dl>
516 <dl class="section return"><dt>Returns</dt><dd>the created (persistent) handle </dd></dl>
517
518 </div>
519 </div>
520 <a class="anchor" id="a1b826c765392c93336db79bd6697e33d"></a>
521 <div class="memitem">
522 <div class="memproto">
523 <table class="memname">
524 <tr>
525 <td class="memname">typedef void(* php_resource_factory_handle_dtor_t) (void *opaque, void *handle)</td>
526 </tr>
527 </table>
528 </div><div class="memdoc">
529
530 <p>The destructor of a resource. </p>
531 <dl class="params"><dt>Parameters</dt><dd>
532 <table class="params">
533 <tr><td class="paramname">opaque</td><td>the factory's data </td></tr>
534 <tr><td class="paramname">handle</td><td>the handle to destroy </td></tr>
535 </table>
536 </dd>
537 </dl>
538
539 </div>
540 </div>
541 <a class="anchor" id="a29e0d7a66e441a5265ddf2f0adbbb3af"></a>
542 <div class="memitem">
543 <div class="memproto">
544 <table class="memname">
545 <tr>
546 <td class="memname">typedef struct <a class="el" href="php__raphf__api_8h.html#structphp__resource__factory__ops">php_resource_factory_ops</a> <a class="el" href="php__raphf__api_8h.html#a29e0d7a66e441a5265ddf2f0adbbb3af">php_resource_factory_ops_t</a></td>
547 </tr>
548 </table>
549 </div><div class="memdoc">
550
551 <p>The resource ops consisting of a ctor, a copy ctor and a dtor. </p>
552 <p>Define this ops and register them with <a class="el" href="php__raphf__api_8c.html#ab7bc43582b0307526d80e83dba88c571" title="Register a persistent handle provider in MINIT. ">php_persistent_handle_provide()</a> in MINIT. </p>
553
554 </div>
555 </div>
556 <a class="anchor" id="a4817c4b3d4077c48dff36376487ba8d4"></a>
557 <div class="memitem">
558 <div class="memproto">
559 <table class="memname">
560 <tr>
561 <td class="memname">typedef struct <a class="el" href="structphp__resource__factory.html">php_resource_factory</a> <a class="el" href="php__raphf__api_8h.html#a4817c4b3d4077c48dff36376487ba8d4">php_resource_factory_t</a></td>
562 </tr>
563 </table>
564 </div><div class="memdoc">
565
566 <p>The resource factory. </p>
567
568 </div>
569 </div>
570 <h2 class="groupheader">Function Documentation</h2>
571 <a class="anchor" id="ab12ec2da7189e16fbed40a3b73bc9ee2"></a>
572 <div class="memitem">
573 <div class="memproto">
574 <table class="memname">
575 <tr>
576 <td class="memname">void php_persistent_handle_abandon </td>
577 <td>(</td>
578 <td class="paramtype"><a class="el" href="php__raphf__api_8h.html#a833eaa62ffcc217e5749c26c18885b17">php_persistent_handle_factory_t</a> *&#160;</td>
579 <td class="paramname"><em>a</em></td><td>)</td>
580 <td></td>
581 </tr>
582 </table>
583 </div><div class="memdoc">
584
585 <p>Abandon the persistent handle factory. </p>
586 <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#ab7cc28d4d1dcf715dc05069a0dcac11f" 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>
587 <dl class="params"><dt>Parameters</dt><dd>
588 <table class="params">
589 <tr><td class="paramname">a</td><td>the persistent handle factory to destroy </td></tr>
590 </table>
591 </dd>
592 </dl>
593
594 <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>
595
596 <p><div class="dynheader">
597 Here is the caller graph for this function:</div>
598 <div class="dyncontent">
599 <div class="center"><img src="php__raphf__api_8h_ab12ec2da7189e16fbed40a3b73bc9ee2_icgraph.png" border="0" usemap="#php__raphf__api_8h_ab12ec2da7189e16fbed40a3b73bc9ee2_icgraph" alt=""/></div>
600 <map name="php__raphf__api_8h_ab12ec2da7189e16fbed40a3b73bc9ee2_icgraph" id="php__raphf__api_8h_ab12ec2da7189e16fbed40a3b73bc9ee2_icgraph">
601 <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"/>
602 <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"/>
603 </map>
604 </div>
605 </p>
606
607 </div>
608 </div>
609 <a class="anchor" id="ae8124f3f73e96e2193ae03c5519d2763"></a>
610 <div class="memitem">
611 <div class="memproto">
612 <table class="memname">
613 <tr>
614 <td class="memname">void* php_persistent_handle_accrete </td>
615 <td>(</td>
616 <td class="paramtype"><a class="el" href="php__raphf__api_8h.html#a833eaa62ffcc217e5749c26c18885b17">php_persistent_handle_factory_t</a> *&#160;</td>
617 <td class="paramname"><em>a</em>, </td>
618 </tr>
619 <tr>
620 <td class="paramkey"></td>
621 <td></td>
622 <td class="paramtype">void *&#160;</td>
623 <td class="paramname"><em>handle</em>&#160;</td>
624 </tr>
625 <tr>
626 <td></td>
627 <td>)</td>
628 <td></td><td></td>
629 </tr>
630 </table>
631 </div><div class="memdoc">
632
633 <p>Copy a persistent handle. </p>
634 <p>Let the underlying resource factory copy the <em>handle</em>.</p>
635 <dl class="params"><dt>Parameters</dt><dd>
636 <table class="params">
637 <tr><td class="paramname">a</td><td>the persistent handle factory </td></tr>
638 <tr><td class="paramname">handle</td><td>the resource to accrete </td></tr>
639 </table>
640 </dd>
641 </dl>
642
643 <p><div class="dynheader">
644 Here is the call graph for this function:</div>
645 <div class="dyncontent">
646 <div class="center"><img src="php__raphf__api_8h_ae8124f3f73e96e2193ae03c5519d2763_cgraph.png" border="0" usemap="#php__raphf__api_8h_ae8124f3f73e96e2193ae03c5519d2763_cgraph" alt=""/></div>
647 <map name="php__raphf__api_8h_ae8124f3f73e96e2193ae03c5519d2763_cgraph" id="php__raphf__api_8h_ae8124f3f73e96e2193ae03c5519d2763_cgraph">
648 <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"/>
649 </map>
650 </div>
651 </p>
652
653 </div>
654 </div>
655 <a class="anchor" id="af6636e870497be0699d2781e5fc8a2a9"></a>
656 <div class="memitem">
657 <div class="memproto">
658 <table class="memname">
659 <tr>
660 <td class="memname">void* php_persistent_handle_acquire </td>
661 <td>(</td>
662 <td class="paramtype"><a class="el" href="php__raphf__api_8h.html#a833eaa62ffcc217e5749c26c18885b17">php_persistent_handle_factory_t</a> *&#160;</td>
663 <td class="paramname"><em>a</em>, </td>
664 </tr>
665 <tr>
666 <td class="paramkey"></td>
667 <td></td>
668 <td class="paramtype">void *&#160;</td>
669 <td class="paramname"><em>init_arg</em>&#160;</td>
670 </tr>
671 <tr>
672 <td></td>
673 <td>)</td>
674 <td></td><td></td>
675 </tr>
676 </table>
677 </div><div class="memdoc">
678
679 <p>Acquire a persistent handle. </p>
680 <p>That is, either re-use a resource from the free list or create a new handle.</p>
681 <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>
682 <dl class="params"><dt>Parameters</dt><dd>
683 <table class="params">
684 <tr><td class="paramname">a</td><td>the persistent handle factory </td></tr>
685 <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>
686 </table>
687 </dd>
688 </dl>
689 <dl class="section return"><dt>Returns</dt><dd>the acquired resource </dd></dl>
690
691 <p><div class="dynheader">
692 Here is the call graph for this function:</div>
693 <div class="dyncontent">
694 <div class="center"><img src="php__raphf__api_8h_af6636e870497be0699d2781e5fc8a2a9_cgraph.png" border="0" usemap="#php__raphf__api_8h_af6636e870497be0699d2781e5fc8a2a9_cgraph" alt=""/></div>
695 <map name="php__raphf__api_8h_af6636e870497be0699d2781e5fc8a2a9_cgraph" id="php__raphf__api_8h_af6636e870497be0699d2781e5fc8a2a9_cgraph">
696 <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"/>
697 </map>
698 </div>
699 </p>
700
701 </div>
702 </div>
703 <a class="anchor" id="a8368c07c20ecf1d4f06aa6a4e5849df8"></a>
704 <div class="memitem">
705 <div class="memproto">
706 <table class="memname">
707 <tr>
708 <td class="memname">void php_persistent_handle_cleanup </td>
709 <td>(</td>
710 <td class="paramtype">zend_string *&#160;</td>
711 <td class="paramname"><em>name</em>, </td>
712 </tr>
713 <tr>
714 <td class="paramkey"></td>
715 <td></td>
716 <td class="paramtype">zend_string *&#160;</td>
717 <td class="paramname"><em>ident</em>&#160;</td>
718 </tr>
719 <tr>
720 <td></td>
721 <td>)</td>
722 <td></td><td></td>
723 </tr>
724 </table>
725 </div><div class="memdoc">
726
727 <p>Clean persistent handles up. </p>
728 <p>Destroy persistent handles of provider <em>name</em> and in subsidiary namespace <em>ident</em>.</p>
729 <p>If <em>name</em> is NULL, all persistent handles of all providers with a matching <em>ident</em> will be cleaned up.</p>
730 <p>If <em>identr</em> is NULL all persistent handles of the provider will be cleaned up.</p>
731 <p>Ergo, if both, <em>name</em> and <em>ident</em> are NULL, then all persistent handles will be cleaned up.</p>
732 <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>
733 <dl class="params"><dt>Parameters</dt><dd>
734 <table class="params">
735 <tr><td class="paramname">name</td><td>the provider name; may be NULL </td></tr>
736 <tr><td class="paramname">ident</td><td>the subsidiary namespace name; may be NULL </td></tr>
737 </table>
738 </dd>
739 </dl>
740
741 </div>
742 </div>
743 <a class="anchor" id="ab7cc28d4d1dcf715dc05069a0dcac11f"></a>
744 <div class="memitem">
745 <div class="memproto">
746 <table class="memname">
747 <tr>
748 <td class="memname"><a class="el" href="php__raphf__api_8h.html#a833eaa62ffcc217e5749c26c18885b17">php_persistent_handle_factory_t</a>* php_persistent_handle_concede </td>
749 <td>(</td>
750 <td class="paramtype"><a class="el" href="php__raphf__api_8h.html#a833eaa62ffcc217e5749c26c18885b17">php_persistent_handle_factory_t</a> *&#160;</td>
751 <td class="paramname"><em>a</em>, </td>
752 </tr>
753 <tr>
754 <td class="paramkey"></td>
755 <td></td>
756 <td class="paramtype">zend_string *&#160;</td>
757 <td class="paramname"><em>name</em>, </td>
758 </tr>
759 <tr>
760 <td class="paramkey"></td>
761 <td></td>
762 <td class="paramtype">zend_string *&#160;</td>
763 <td class="paramname"><em>ident</em>, </td>
764 </tr>
765 <tr>
766 <td class="paramkey"></td>
767 <td></td>
768 <td class="paramtype"><a class="el" href="php__raphf__api_8h.html#a59f5566ecc4c76e048ad53469eb20142">php_persistent_handle_wakeup_t</a>&#160;</td>
769 <td class="paramname"><em>wakeup</em>, </td>
770 </tr>
771 <tr>
772 <td class="paramkey"></td>
773 <td></td>
774 <td class="paramtype"><a class="el" href="php__raphf__api_8h.html#a85e9e715d308dc5d98b980c9c57d02bf">php_persistent_handle_retire_t</a>&#160;</td>
775 <td class="paramname"><em>retire</em>&#160;</td>
776 </tr>
777 <tr>
778 <td></td>
779 <td>)</td>
780 <td></td><td></td>
781 </tr>
782 </table>
783 </div><div class="memdoc">
784
785 <p>Retrieve a persistent handle factory at runtime. </p>
786 <p>If a persistent handle provider has been registered for <em>name</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</em> namespace will be constructed.</p>
787 <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>
788 <dl class="params"><dt>Parameters</dt><dd>
789 <table class="params">
790 <tr><td class="paramname">a</td><td>pointer to a factory; allocated on the heap if NULL </td></tr>
791 <tr><td class="paramname">name</td><td>the provider name, e.g. "http\Client\Curl" </td></tr>
792 <tr><td class="paramname">ident</td><td>the subsidiary namespace, e.g. "php.net:80" </td></tr>
793 <tr><td class="paramname">wakeup</td><td>any persistent handle wakeup routine </td></tr>
794 <tr><td class="paramname">retire</td><td>any persistent handle retire routine </td></tr>
795 </table>
796 </dd>
797 </dl>
798 <dl class="section return"><dt>Returns</dt><dd><em>a</em> or an allocated persistent handle factory </dd></dl>
799
800 </div>
801 </div>
802 <a class="anchor" id="a93458ab12d810f0fd545fb1464ba9eca"></a>
803 <div class="memitem">
804 <div class="memproto">
805 <table class="memname">
806 <tr>
807 <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>
808 <td>(</td>
809 <td class="paramtype">void&#160;</td>
810 <td class="paramname"></td><td>)</td>
811 <td></td>
812 </tr>
813 </table>
814 </div><div class="memdoc">
815
816 <p>Retrieve persistent handle resource factory ops. </p>
817 <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>
818 <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(zend_string *persistent_id)</div>
819 <div class="line">{</div>
820 <div class="line"> <a class="code" href="structphp__resource__factory.html">php_resource_factory_t</a> *rf;</div>
821 <div class="line"></div>
822 <div class="line"> <span class="keywordflow">if</span> (persistent_id) {</div>
823 <div class="line"> <a class="code" href="php__raphf__api_8h.html#structphp__persistent__handle__factory">php_persistent_handle_factory_t</a> *pf;</div>
824 <div class="line"> <a class="code" href="php__raphf__api_8h.html#structphp__resource__factory__ops">php_resource_factory_ops_t</a> *ops;</div>
825 <div class="line"> zend_string *ns = zend_string_init(<span class="stringliteral">&quot;my&quot;</span>, 2, 1);</div>
826 <div class="line"></div>
827 <div class="line"> ops = <a class="code" href="php__raphf__api_8c.html#a93458ab12d810f0fd545fb1464ba9eca">php_persistent_handle_get_resource_factory_ops</a>();</div>
828 <div class="line"> pf = <a class="code" href="php__raphf__api_8c.html#ab7cc28d4d1dcf715dc05069a0dcac11f">php_persistent_handle_concede</a>(NULL, ns, persistent_id, NULL, NULL);</div>
829 <div class="line"> rf = <a class="code" href="php__raphf__api_8c.html#ab754f4d59dab5de0edf702a9ab2f4e03">php_persistent_handle_resource_factory_init</a>(NULL, pf);</div>
830 <div class="line"> zend_string_release(ns);</div>
831 <div class="line"> } <span class="keywordflow">else</span> {</div>
832 <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>
833 <div class="line"> }</div>
834 <div class="line"> <span class="keywordflow">return</span> rf;</div>
835 <div class="line">}</div>
836 </div><!-- fragment -->
837 <p>Referenced by <a class="el" href="php__raphf__api_8h.html#ab754f4d59dab5de0edf702a9ab2f4e03">php_persistent_handle_resource_factory_init()</a>.</p>
838
839 <p><div class="dynheader">
840 Here is the caller graph for this function:</div>
841 <div class="dyncontent">
842 <div class="center"><img src="php__raphf__api_8h_a93458ab12d810f0fd545fb1464ba9eca_icgraph.png" border="0" usemap="#php__raphf__api_8h_a93458ab12d810f0fd545fb1464ba9eca_icgraph" alt=""/></div>
843 <map name="php__raphf__api_8h_a93458ab12d810f0fd545fb1464ba9eca_icgraph" id="php__raphf__api_8h_a93458ab12d810f0fd545fb1464ba9eca_icgraph">
844 <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"/>
845 </map>
846 </div>
847 </p>
848
849 </div>
850 </div>
851 <a class="anchor" id="ab7bc43582b0307526d80e83dba88c571"></a>
852 <div class="memitem">
853 <div class="memproto">
854 <table class="memname">
855 <tr>
856 <td class="memname">ZEND_RESULT_CODE php_persistent_handle_provide </td>
857 <td>(</td>
858 <td class="paramtype">zend_string *&#160;</td>
859 <td class="paramname"><em>name</em>, </td>
860 </tr>
861 <tr>
862 <td class="paramkey"></td>
863 <td></td>
864 <td class="paramtype"><a class="el" href="php__raphf__api_8h.html#a29e0d7a66e441a5265ddf2f0adbbb3af">php_resource_factory_ops_t</a> *&#160;</td>
865 <td class="paramname"><em>fops</em>, </td>
866 </tr>
867 <tr>
868 <td class="paramkey"></td>
869 <td></td>
870 <td class="paramtype">void *&#160;</td>
871 <td class="paramname"><em>data</em>, </td>
872 </tr>
873 <tr>
874 <td class="paramkey"></td>
875 <td></td>
876 <td class="paramtype">void(*)(void *)&#160;</td>
877 <td class="paramname"><em>dtor</em>&#160;</td>
878 </tr>
879 <tr>
880 <td></td>
881 <td>)</td>
882 <td></td><td></td>
883 </tr>
884 </table>
885 </div><div class="memdoc">
886
887 <p>Register a persistent handle provider in MINIT. </p>
888 <p>Registers a factory provider for <em>name_str</em> with <em>fops</em> resource factory ops. Call this in your MINIT.</p>
889 <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>
890 <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#ab7cc28d4d1dcf715dc05069a0dcac11f" title="Retrieve a persistent handle factory at runtime. ">php_persistent_handle_concede()</a> at runtime.</p>
891 <dl class="params"><dt>Parameters</dt><dd>
892 <table class="params">
893 <tr><td class="paramname">name</td><td>the provider name, e.g. "http\Client\Curl" </td></tr>
894 <tr><td class="paramname">fops</td><td>the resource factory ops </td></tr>
895 <tr><td class="paramname">data</td><td>opaque user data </td></tr>
896 <tr><td class="paramname">dtor</td><td><em>data</em> destructor </td></tr>
897 </table>
898 </dd>
899 </dl>
900 <dl class="section return"><dt>Returns</dt><dd>SUCCESS/FAILURE </dd></dl>
901
902 <p><div class="dynheader">
903 Here is the call graph for this function:</div>
904 <div class="dyncontent">
905 <div class="center"><img src="php__raphf__api_8h_ab7bc43582b0307526d80e83dba88c571_cgraph.png" border="0" usemap="#php__raphf__api_8h_ab7bc43582b0307526d80e83dba88c571_cgraph" alt=""/></div>
906 <map name="php__raphf__api_8h_ab7bc43582b0307526d80e83dba88c571_cgraph" id="php__raphf__api_8h_ab7bc43582b0307526d80e83dba88c571_cgraph">
907 <area shape="rect" id="node2" href="php__raphf__api_8c.html#ad20f10c53e3f33756638da98819367f0" title="Initialize a resource factory. " alt="" coords="208,5,379,32"/>
908 <area shape="rect" id="node3" href="php__raphf__api_8c.html#a016b8a4159e698f915ab967711696847" title="Destroy the resource factory. " alt="" coords="205,56,381,83"/>
909 </map>
910 </div>
911 </p>
912
913 </div>
914 </div>
915 <a class="anchor" id="af08ee05c51d52200755d24f6f52df144"></a>
916 <div class="memitem">
917 <div class="memproto">
918 <table class="memname">
919 <tr>
920 <td class="memname">void php_persistent_handle_release </td>
921 <td>(</td>
922 <td class="paramtype"><a class="el" href="php__raphf__api_8h.html#a833eaa62ffcc217e5749c26c18885b17">php_persistent_handle_factory_t</a> *&#160;</td>
923 <td class="paramname"><em>a</em>, </td>
924 </tr>
925 <tr>
926 <td class="paramkey"></td>
927 <td></td>
928 <td class="paramtype">void *&#160;</td>
929 <td class="paramname"><em>handle</em>&#160;</td>
930 </tr>
931 <tr>
932 <td></td>
933 <td>)</td>
934 <td></td><td></td>
935 </tr>
936 </table>
937 </div><div class="memdoc">
938
939 <p>Release a persistent handle. </p>
940 <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>
941 <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>
942 <dl class="params"><dt>Parameters</dt><dd>
943 <table class="params">
944 <tr><td class="paramname">a</td><td>the persistent handle factory </td></tr>
945 <tr><td class="paramname">handle</td><td>the handle to release </td></tr>
946 </table>
947 </dd>
948 </dl>
949
950 <p><div class="dynheader">
951 Here is the call graph for this function:</div>
952 <div class="dyncontent">
953 <div class="center"><img src="php__raphf__api_8h_af08ee05c51d52200755d24f6f52df144_cgraph.png" border="0" usemap="#php__raphf__api_8h_af08ee05c51d52200755d24f6f52df144_cgraph" alt=""/></div>
954 <map name="php__raphf__api_8h_af08ee05c51d52200755d24f6f52df144_cgraph" id="php__raphf__api_8h_af08ee05c51d52200755d24f6f52df144_cgraph">
955 <area shape="rect" id="node2" href="php__raphf__api_8c.html#a97dbb9d342f33205b92374c586676bc6" title="Destroy (and free) the resource. " alt="" coords="205,5,352,47"/>
956 </map>
957 </div>
958 </p>
959
960 </div>
961 </div>
962 <a class="anchor" id="ab754f4d59dab5de0edf702a9ab2f4e03"></a>
963 <div class="memitem">
964 <div class="memproto">
965 <table class="memname">
966 <tr>
967 <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>
968 <td>(</td>
969 <td class="paramtype"><a class="el" href="php__raphf__api_8h.html#a4817c4b3d4077c48dff36376487ba8d4">php_resource_factory_t</a> *&#160;</td>
970 <td class="paramname"><em>a</em>, </td>
971 </tr>
972 <tr>
973 <td class="paramkey"></td>
974 <td></td>
975 <td class="paramtype"><a class="el" href="php__raphf__api_8h.html#a833eaa62ffcc217e5749c26c18885b17">php_persistent_handle_factory_t</a> *&#160;</td>
976 <td class="paramname"><em>pf</em>&#160;</td>
977 </tr>
978 <tr>
979 <td></td>
980 <td>)</td>
981 <td></td><td></td>
982 </tr>
983 </table>
984 </div><div class="memdoc">
985
986 <p>Create a resource factory for persistent handles. </p>
987 <p>This will create a resource factory with persistent handle ops, which wraps the provided reource factory <em>pf</em>.</p>
988 <dl class="params"><dt>Parameters</dt><dd>
989 <table class="params">
990 <tr><td class="paramname">a</td><td>the persistent handle resource factory to initialize </td></tr>
991 <tr><td class="paramname">pf</td><td>the resource factory to wrap </td></tr>
992 </table>
993 </dd>
994 </dl>
995
996 <p><div class="dynheader">
997 Here is the call graph for this function:</div>
998 <div class="dyncontent">
999 <div class="center"><img src="php__raphf__api_8h_ab754f4d59dab5de0edf702a9ab2f4e03_cgraph.png" border="0" usemap="#php__raphf__api_8h_ab754f4d59dab5de0edf702a9ab2f4e03_cgraph" alt=""/></div>
1000 <map name="php__raphf__api_8h_ab754f4d59dab5de0edf702a9ab2f4e03_cgraph" id="php__raphf__api_8h_ab754f4d59dab5de0edf702a9ab2f4e03_cgraph">
1001 <area shape="rect" id="node2" href="php__raphf__api_8c.html#ad20f10c53e3f33756638da98819367f0" title="Initialize a resource factory. " alt="" coords="209,5,380,32"/>
1002 <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"/>
1003 <area shape="rect" id="node4" href="php__raphf__api_8c.html#ab12ec2da7189e16fbed40a3b73bc9ee2" title="Abandon the persistent handle factory. " alt="" coords="219,122,371,163"/>
1004 </map>
1005 </div>
1006 </p>
1007
1008 </div>
1009 </div>
1010 <a class="anchor" id="ae174fbe124d4cb6010e218a68379bd18"></a>
1011 <div class="memitem">
1012 <div class="memproto">
1013 <table class="memname">
1014 <tr>
1015 <td class="memname">HashTable* php_persistent_handle_statall </td>
1016 <td>(</td>
1017 <td class="paramtype">HashTable *&#160;</td>
1018 <td class="paramname"><em>ht</em></td><td>)</td>
1019 <td></td>
1020 </tr>
1021 </table>
1022 </div><div class="memdoc">
1023
1024 <p>Retrieve statistics about the current process/thread's persistent handles. </p>
1025 <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>
1026 <div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160; &quot;name&quot; =&gt; [</div>
1027 <div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160; &quot;ident&quot; =&gt; [</div>
1028 <div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160; &quot;used&quot; =&gt; 1,</div>
1029 <div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160; &quot;free&quot; =&gt; 0,</div>
1030 <div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160; ]</div>
1031 <div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160; ]</div>
1032 <div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;]</div>
1033 </div><!-- fragment --> </dd></dl>
1034
1035 </div>
1036 </div>
1037 <a class="anchor" id="ae8be369197905047ffbd05c0ca80f245"></a>
1038 <div class="memitem">
1039 <div class="memproto">
1040 <table class="memname">
1041 <tr>
1042 <td class="memname">unsigned php_resource_factory_addref </td>
1043 <td>(</td>
1044 <td class="paramtype"><a class="el" href="php__raphf__api_8h.html#a4817c4b3d4077c48dff36376487ba8d4">php_resource_factory_t</a> *&#160;</td>
1045 <td class="paramname"><em>rf</em></td><td>)</td>
1046 <td></td>
1047 </tr>
1048 </table>
1049 </div><div class="memdoc">
1050
1051 <p>Increase the refcount of the resource factory. </p>
1052 <dl class="params"><dt>Parameters</dt><dd>
1053 <table class="params">
1054 <tr><td class="paramname">rf</td><td>the resource factory </td></tr>
1055 </table>
1056 </dd>
1057 </dl>
1058 <dl class="section return"><dt>Returns</dt><dd>the new refcount </dd></dl>
1059
1060 </div>
1061 </div>
1062 <a class="anchor" id="a016b8a4159e698f915ab967711696847"></a>
1063 <div class="memitem">
1064 <div class="memproto">
1065 <table class="memname">
1066 <tr>
1067 <td class="memname">void php_resource_factory_dtor </td>
1068 <td>(</td>
1069 <td class="paramtype"><a class="el" href="php__raphf__api_8h.html#a4817c4b3d4077c48dff36376487ba8d4">php_resource_factory_t</a> *&#160;</td>
1070 <td class="paramname"><em>f</em></td><td>)</td>
1071 <td></td>
1072 </tr>
1073 </table>
1074 </div><div class="memdoc">
1075
1076 <p>Destroy the resource factory. </p>
1077 <p>If the factory's refcount reaches 0, the <em>dtor</em> for <em>data</em> is called.</p>
1078 <dl class="params"><dt>Parameters</dt><dd>
1079 <table class="params">
1080 <tr><td class="paramname">f</td><td>the resource factory </td></tr>
1081 </table>
1082 </dd>
1083 </dl>
1084
1085 <p>Referenced by <a class="el" href="php__raphf__api_8h.html#ab7bc43582b0307526d80e83dba88c571">php_persistent_handle_provide()</a>, and <a class="el" href="php__raphf__api_8h.html#a7f012d685f5f7c08f50288b61232e689">php_resource_factory_free()</a>.</p>
1086
1087 <p><div class="dynheader">
1088 Here is the caller graph for this function:</div>
1089 <div class="dyncontent">
1090 <div class="center"><img src="php__raphf__api_8h_a016b8a4159e698f915ab967711696847_icgraph.png" border="0" usemap="#php__raphf__api_8h_a016b8a4159e698f915ab967711696847_icgraph" alt=""/></div>
1091 <map name="php__raphf__api_8h_a016b8a4159e698f915ab967711696847_icgraph" id="php__raphf__api_8h_a016b8a4159e698f915ab967711696847_icgraph">
1092 <area shape="rect" id="node2" href="php__raphf__api_8h.html#ab7bc43582b0307526d80e83dba88c571" title="Register a persistent handle provider in MINIT. " alt="" coords="241,5,393,47"/>
1093 <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"/>
1094 </map>
1095 </div>
1096 </p>
1097
1098 </div>
1099 </div>
1100 <a class="anchor" id="a7f012d685f5f7c08f50288b61232e689"></a>
1101 <div class="memitem">
1102 <div class="memproto">
1103 <table class="memname">
1104 <tr>
1105 <td class="memname">void php_resource_factory_free </td>
1106 <td>(</td>
1107 <td class="paramtype"><a class="el" href="php__raphf__api_8h.html#a4817c4b3d4077c48dff36376487ba8d4">php_resource_factory_t</a> **&#160;</td>
1108 <td class="paramname"><em>f</em></td><td>)</td>
1109 <td></td>
1110 </tr>
1111 </table>
1112 </div><div class="memdoc">
1113
1114 <p>Destroy and free the resource factory. </p>
1115 <p>Calls <a class="el" href="php__raphf__api_8h.html#a016b8a4159e698f915ab967711696847" title="Destroy the resource factory. ">php_resource_factory_dtor()</a> and frees <em>f</em> if the factory's refcount reached 0.</p>
1116 <dl class="params"><dt>Parameters</dt><dd>
1117 <table class="params">
1118 <tr><td class="paramname">f</td><td>the resource factory </td></tr>
1119 </table>
1120 </dd>
1121 </dl>
1122
1123 <p><div class="dynheader">
1124 Here is the call graph for this function:</div>
1125 <div class="dyncontent">
1126 <div class="center"><img src="php__raphf__api_8h_a7f012d685f5f7c08f50288b61232e689_cgraph.png" border="0" usemap="#php__raphf__api_8h_a7f012d685f5f7c08f50288b61232e689_cgraph" alt=""/></div>
1127 <map name="php__raphf__api_8h_a7f012d685f5f7c08f50288b61232e689_cgraph" id="php__raphf__api_8h_a7f012d685f5f7c08f50288b61232e689_cgraph">
1128 <area shape="rect" id="node2" href="php__raphf__api_8c.html#a016b8a4159e698f915ab967711696847" title="Destroy the resource factory. " alt="" coords="229,5,405,32"/>
1129 </map>
1130 </div>
1131 </p>
1132
1133 </div>
1134 </div>
1135 <a class="anchor" id="a08db5f3698f2d0bf3d2f20dcf4e7b2b4"></a>
1136 <div class="memitem">
1137 <div class="memproto">
1138 <table class="memname">
1139 <tr>
1140 <td class="memname">void* php_resource_factory_handle_copy </td>
1141 <td>(</td>
1142 <td class="paramtype"><a class="el" href="php__raphf__api_8h.html#a4817c4b3d4077c48dff36376487ba8d4">php_resource_factory_t</a> *&#160;</td>
1143 <td class="paramname"><em>f</em>, </td>
1144 </tr>
1145 <tr>
1146 <td class="paramkey"></td>
1147 <td></td>
1148 <td class="paramtype">void *&#160;</td>
1149 <td class="paramname"><em>handle</em>&#160;</td>
1150 </tr>
1151 <tr>
1152 <td></td>
1153 <td>)</td>
1154 <td></td><td></td>
1155 </tr>
1156 </table>
1157 </div><div class="memdoc">
1158
1159 <p>Create a copy of the resource <em>handle</em>. </p>
1160 <dl class="params"><dt>Parameters</dt><dd>
1161 <table class="params">
1162 <tr><td class="paramname">f</td><td>the resource factory </td></tr>
1163 <tr><td class="paramname">handle</td><td>the resource to copy </td></tr>
1164 </table>
1165 </dd>
1166 </dl>
1167 <dl class="section return"><dt>Returns</dt><dd>the copy </dd></dl>
1168
1169 <p>Referenced by <a class="el" href="php__raphf__api_8h.html#ae8124f3f73e96e2193ae03c5519d2763">php_persistent_handle_accrete()</a>.</p>
1170
1171 <p><div class="dynheader">
1172 Here is the caller graph for this function:</div>
1173 <div class="dyncontent">
1174 <div class="center"><img src="php__raphf__api_8h_a08db5f3698f2d0bf3d2f20dcf4e7b2b4_icgraph.png" border="0" usemap="#php__raphf__api_8h_a08db5f3698f2d0bf3d2f20dcf4e7b2b4_icgraph" alt=""/></div>
1175 <map name="php__raphf__api_8h_a08db5f3698f2d0bf3d2f20dcf4e7b2b4_icgraph" id="php__raphf__api_8h_a08db5f3698f2d0bf3d2f20dcf4e7b2b4_icgraph">
1176 <area shape="rect" id="node2" href="php__raphf__api_8h.html#ae8124f3f73e96e2193ae03c5519d2763" title="Copy a persistent handle. " alt="" coords="200,5,352,47"/>
1177 </map>
1178 </div>
1179 </p>
1180
1181 </div>
1182 </div>
1183 <a class="anchor" id="a98d02dc80dd83095b8f901954350840c"></a>
1184 <div class="memitem">
1185 <div class="memproto">
1186 <table class="memname">
1187 <tr>
1188 <td class="memname">void* php_resource_factory_handle_ctor </td>
1189 <td>(</td>
1190 <td class="paramtype"><a class="el" href="php__raphf__api_8h.html#a4817c4b3d4077c48dff36376487ba8d4">php_resource_factory_t</a> *&#160;</td>
1191 <td class="paramname"><em>f</em>, </td>
1192 </tr>
1193 <tr>
1194 <td class="paramkey"></td>
1195 <td></td>
1196 <td class="paramtype">void *&#160;</td>
1197 <td class="paramname"><em>init_arg</em>&#160;</td>
1198 </tr>
1199 <tr>
1200 <td></td>
1201 <td>)</td>
1202 <td></td><td></td>
1203 </tr>
1204 </table>
1205 </div><div class="memdoc">
1206
1207 <p>Construct a resource by the resource factory <em>f</em>. </p>
1208 <dl class="params"><dt>Parameters</dt><dd>
1209 <table class="params">
1210 <tr><td class="paramname">f</td><td>the resource factory </td></tr>
1211 <tr><td class="paramname">init_arg</td><td>for the resource constructor </td></tr>
1212 </table>
1213 </dd>
1214 </dl>
1215 <dl class="section return"><dt>Returns</dt><dd>the new resource </dd></dl>
1216
1217 <p>Referenced by <a class="el" href="php__raphf__api_8h.html#af6636e870497be0699d2781e5fc8a2a9">php_persistent_handle_acquire()</a>.</p>
1218
1219 <p><div class="dynheader">
1220 Here is the caller graph for this function:</div>
1221 <div class="dyncontent">
1222 <div class="center"><img src="php__raphf__api_8h_a98d02dc80dd83095b8f901954350840c_icgraph.png" border="0" usemap="#php__raphf__api_8h_a98d02dc80dd83095b8f901954350840c_icgraph" alt=""/></div>
1223 <map name="php__raphf__api_8h_a98d02dc80dd83095b8f901954350840c_icgraph" id="php__raphf__api_8h_a98d02dc80dd83095b8f901954350840c_icgraph">
1224 <area shape="rect" id="node2" href="php__raphf__api_8h.html#af6636e870497be0699d2781e5fc8a2a9" title="Acquire a persistent handle. " alt="" coords="200,5,352,47"/>
1225 </map>
1226 </div>
1227 </p>
1228
1229 </div>
1230 </div>
1231 <a class="anchor" id="a97dbb9d342f33205b92374c586676bc6"></a>
1232 <div class="memitem">
1233 <div class="memproto">
1234 <table class="memname">
1235 <tr>
1236 <td class="memname">void php_resource_factory_handle_dtor </td>
1237 <td>(</td>
1238 <td class="paramtype"><a class="el" href="php__raphf__api_8h.html#a4817c4b3d4077c48dff36376487ba8d4">php_resource_factory_t</a> *&#160;</td>
1239 <td class="paramname"><em>f</em>, </td>
1240 </tr>
1241 <tr>
1242 <td class="paramkey"></td>
1243 <td></td>
1244 <td class="paramtype">void *&#160;</td>
1245 <td class="paramname"><em>handle</em>&#160;</td>
1246 </tr>
1247 <tr>
1248 <td></td>
1249 <td>)</td>
1250 <td></td><td></td>
1251 </tr>
1252 </table>
1253 </div><div class="memdoc">
1254
1255 <p>Destroy (and free) the resource. </p>
1256 <dl class="params"><dt>Parameters</dt><dd>
1257 <table class="params">
1258 <tr><td class="paramname">f</td><td>the resource factory </td></tr>
1259 <tr><td class="paramname">handle</td><td>the resource to destroy </td></tr>
1260 </table>
1261 </dd>
1262 </dl>
1263
1264 <p>Referenced by <a class="el" href="php__raphf__api_8h.html#af08ee05c51d52200755d24f6f52df144">php_persistent_handle_release()</a>.</p>
1265
1266 <p><div class="dynheader">
1267 Here is the caller graph for this function:</div>
1268 <div class="dyncontent">
1269 <div class="center"><img src="php__raphf__api_8h_a97dbb9d342f33205b92374c586676bc6_icgraph.png" border="0" usemap="#php__raphf__api_8h_a97dbb9d342f33205b92374c586676bc6_icgraph" alt=""/></div>
1270 <map name="php__raphf__api_8h_a97dbb9d342f33205b92374c586676bc6_icgraph" id="php__raphf__api_8h_a97dbb9d342f33205b92374c586676bc6_icgraph">
1271 <area shape="rect" id="node2" href="php__raphf__api_8h.html#af08ee05c51d52200755d24f6f52df144" title="Release a persistent handle. " alt="" coords="200,5,352,47"/>
1272 </map>
1273 </div>
1274 </p>
1275
1276 </div>
1277 </div>
1278 <a class="anchor" id="ad20f10c53e3f33756638da98819367f0"></a>
1279 <div class="memitem">
1280 <div class="memproto">
1281 <table class="memname">
1282 <tr>
1283 <td class="memname"><a class="el" href="php__raphf__api_8h.html#a4817c4b3d4077c48dff36376487ba8d4">php_resource_factory_t</a>* php_resource_factory_init </td>
1284 <td>(</td>
1285 <td class="paramtype"><a class="el" href="php__raphf__api_8h.html#a4817c4b3d4077c48dff36376487ba8d4">php_resource_factory_t</a> *&#160;</td>
1286 <td class="paramname"><em>f</em>, </td>
1287 </tr>
1288 <tr>
1289 <td class="paramkey"></td>
1290 <td></td>
1291 <td class="paramtype"><a class="el" href="php__raphf__api_8h.html#a29e0d7a66e441a5265ddf2f0adbbb3af">php_resource_factory_ops_t</a> *&#160;</td>
1292 <td class="paramname"><em>fops</em>, </td>
1293 </tr>
1294 <tr>
1295 <td class="paramkey"></td>
1296 <td></td>
1297 <td class="paramtype">void *&#160;</td>
1298 <td class="paramname"><em>data</em>, </td>
1299 </tr>
1300 <tr>
1301 <td class="paramkey"></td>
1302 <td></td>
1303 <td class="paramtype">void(*)(void *data)&#160;</td>
1304 <td class="paramname"><em>dtor</em>&#160;</td>
1305 </tr>
1306 <tr>
1307 <td></td>
1308 <td>)</td>
1309 <td></td><td></td>
1310 </tr>
1311 </table>
1312 </div><div class="memdoc">
1313
1314 <p>Initialize a resource factory. </p>
1315 <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#a8368c07c20ecf1d4f06aa6a4e5849df8" 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>
1316 <dl class="params"><dt>Parameters</dt><dd>
1317 <table class="params">
1318 <tr><td class="paramname">f</td><td>the factory to initialize; if NULL allocated on the heap </td></tr>
1319 <tr><td class="paramname">fops</td><td>the resource ops to assign to the factory </td></tr>
1320 <tr><td class="paramname">data</td><td>opaque user data; may be NULL </td></tr>
1321 <tr><td class="paramname">dtor</td><td>a destructor for the data; may be NULL </td></tr>
1322 </table>
1323 </dd>
1324 </dl>
1325 <dl class="section return"><dt>Returns</dt><dd><em>f</em> or an allocated resource factory </dd></dl>
1326
1327 <p>Referenced by <a class="el" href="php__raphf__api_8h.html#ab7bc43582b0307526d80e83dba88c571">php_persistent_handle_provide()</a>, and <a class="el" href="php__raphf__api_8h.html#ab754f4d59dab5de0edf702a9ab2f4e03">php_persistent_handle_resource_factory_init()</a>.</p>
1328
1329 <p><div class="dynheader">
1330 Here is the caller graph for this function:</div>
1331 <div class="dyncontent">
1332 <div class="center"><img src="php__raphf__api_8h_ad20f10c53e3f33756638da98819367f0_icgraph.png" border="0" usemap="#php__raphf__api_8h_ad20f10c53e3f33756638da98819367f0_icgraph" alt=""/></div>
1333 <map name="php__raphf__api_8h_ad20f10c53e3f33756638da98819367f0_icgraph" id="php__raphf__api_8h_ad20f10c53e3f33756638da98819367f0_icgraph">
1334 <area shape="rect" id="node2" href="php__raphf__api_8h.html#ab7bc43582b0307526d80e83dba88c571" title="Register a persistent handle provider in MINIT. " alt="" coords="224,5,376,47"/>
1335 <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"/>
1336 </map>
1337 </div>
1338 </p>
1339
1340 </div>
1341 </div>
1342 <a class="anchor" id="a617d2cc656ab6427388b938597194ebb"></a>
1343 <div class="memitem">
1344 <div class="memproto">
1345 <table class="memname">
1346 <tr>
1347 <td class="memname">zend_bool php_resource_factory_is_persistent </td>
1348 <td>(</td>
1349 <td class="paramtype"><a class="el" href="php__raphf__api_8h.html#a4817c4b3d4077c48dff36376487ba8d4">php_resource_factory_t</a> *&#160;</td>
1350 <td class="paramname"><em>a</em></td><td>)</td>
1351 <td></td>
1352 </tr>
1353 </table>
1354 </div><div class="memdoc">
1355
1356 <p>Check whether a resource factory is a persistent handle resource factory. </p>
1357 <dl class="params"><dt>Parameters</dt><dd>
1358 <table class="params">
1359 <tr><td class="paramname">a</td><td>the resource factory to check </td></tr>
1360 </table>
1361 </dd>
1362 </dl>
1363
1364 <p><div class="dynheader">
1365 Here is the call graph for this function:</div>
1366 <div class="dyncontent">
1367 <div class="center"><img src="php__raphf__api_8h_a617d2cc656ab6427388b938597194ebb_cgraph.png" border="0" usemap="#php__raphf__api_8h_a617d2cc656ab6427388b938597194ebb_cgraph" alt=""/></div>
1368 <map name="php__raphf__api_8h_a617d2cc656ab6427388b938597194ebb_cgraph" id="php__raphf__api_8h_a617d2cc656ab6427388b938597194ebb_cgraph">
1369 <area shape="rect" id="node2" href="php__raphf__api_8c.html#ab12ec2da7189e16fbed40a3b73bc9ee2" title="Abandon the persistent handle factory. " alt="" coords="200,5,352,47"/>
1370 </map>
1371 </div>
1372 </p>
1373
1374 </div>
1375 </div>
1376 </div><!-- contents -->
1377 </div><!-- doc-content -->
1378 <!-- start footer part -->
1379 <div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
1380 <ul>
1381 <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="php__raphf__api_8h.html">php_raphf_api.h</a></li>
1382 <li class="footer">Generated by
1383 <a href="http://www.doxygen.org/index.html">
1384 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.10 </li>
1385 </ul>
1386 </div>
1387 </body>
1388 </html>