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 : group__apr__lib.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: General Purpose Library Routines</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><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><!-- top --> <!-- 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 class="header"> <div class="summary"> <a href="#nested-classes">Data Structures</a> | <a href="#define-members">Macros</a> | <a href="#typedef-members">Typedefs</a> | <a href="#func-members">Functions</a> </div> <div class="headertitle"> <div class="title">General Purpose Library Routines<div class="ingroups"><a class="el" href="group___a_p_r.html">Apache Portability Runtime library</a></div></div> </div> </div><!--header--> <div class="contents"> <table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a> Data Structures</h2></td></tr> <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structapr__vformatter__buff__t.html">apr_vformatter_buff_t</a></td></tr> <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a> Macros</h2></td></tr> <tr class="memitem:ga0c9dd98f46b90b5bcd4cbf75e252d0da"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__lib.html#ga0c9dd98f46b90b5bcd4cbf75e252d0da">HUGE_STRING_LEN</a>   8192</td></tr> <tr class="separator:ga0c9dd98f46b90b5bcd4cbf75e252d0da"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gaa3b0264aadbd9f8d805252fb1ca1cd0e"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__lib.html#gaa3b0264aadbd9f8d805252fb1ca1cd0e">apr_killpg</a>(x, y)   (killpg ((x), (y)))</td></tr> <tr class="separator:gaa3b0264aadbd9f8d805252fb1ca1cd0e"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a> Typedefs</h2></td></tr> <tr class="memitem:ga5e9986deebda40f2d1cf8364fa03c3c5"><td class="memItemLeft" align="right" valign="top">typedef struct <br class="typebreak"/> <a class="el" href="structapr__vformatter__buff__t.html">apr_vformatter_buff_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__lib.html#ga5e9986deebda40f2d1cf8364fa03c3c5">apr_vformatter_buff_t</a></td></tr> <tr class="separator:ga5e9986deebda40f2d1cf8364fa03c3c5"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a> Functions</h2></td></tr> <tr class="memitem:ga241e929df23aede34eb3f2651cf56bc9"><td class="memItemLeft" align="right" valign="top">const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__lib.html#ga241e929df23aede34eb3f2651cf56bc9">apr_filepath_name_get</a> (const char *pathname)</td></tr> <tr class="separator:ga241e929df23aede34eb3f2651cf56bc9"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gad2cd3594aeaafd45931d1034965f48c1"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__lib.html#gad2cd3594aeaafd45931d1034965f48c1">apr_vformatter</a> (int(*flush_func)(<a class="el" href="structapr__vformatter__buff__t.html">apr_vformatter_buff_t</a> *b), <a class="el" href="structapr__vformatter__buff__t.html">apr_vformatter_buff_t</a> *c, const char *fmt, va_list ap)</td></tr> <tr class="separator:gad2cd3594aeaafd45931d1034965f48c1"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga377e0677598745769ec6f80fecf8f859"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__apr__errno.html#gaf76ee4543247e9fb3f3546203e590a6c">apr_status_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__lib.html#ga377e0677598745769ec6f80fecf8f859">apr_password_get</a> (const char *prompt, char *pwbuf, apr_size_t *bufsize)</td></tr> <tr class="separator:ga377e0677598745769ec6f80fecf8f859"><td class="memSeparator" colspan="2"> </td></tr> </table> <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> <p>This is collection of oddballs that didn't fit anywhere else, and might move to more appropriate headers with the release of APR 1.0. </p> <h2 class="groupheader">Macro Definition Documentation</h2> <a class="anchor" id="gaa3b0264aadbd9f8d805252fb1ca1cd0e"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define apr_killpg</td> <td>(</td> <td class="paramtype"> </td> <td class="paramname">x, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname">y </td> </tr> <tr> <td></td> <td>)</td> <td></td><td>   (killpg ((x), (y)))</td> </tr> </table> </div><div class="memdoc"> <p>apr_killpg Small utility macros to make things easier to read. Not usually a goal, to be sure.. </p> </div> </div> <a class="anchor" id="ga0c9dd98f46b90b5bcd4cbf75e252d0da"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define HUGE_STRING_LEN   8192</td> </tr> </table> </div><div class="memdoc"> <p>A constant representing a 'large' string. </p> </div> </div> <h2 class="groupheader">Typedef Documentation</h2> <a class="anchor" id="ga5e9986deebda40f2d1cf8364fa03c3c5"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">typedef struct <a class="el" href="structapr__vformatter__buff__t.html">apr_vformatter_buff_t</a> <a class="el" href="structapr__vformatter__buff__t.html">apr_vformatter_buff_t</a></td> </tr> </table> </div><div class="memdoc"> <dl class="section see"><dt>See Also</dt><dd><a class="el" href="structapr__vformatter__buff__t.html">apr_vformatter_buff_t</a> </dd></dl> </div> </div> <h2 class="groupheader">Function Documentation</h2> <a class="anchor" id="ga241e929df23aede34eb3f2651cf56bc9"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">const char* apr_filepath_name_get </td> <td>(</td> <td class="paramtype">const char * </td> <td class="paramname"><em>pathname</em></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>return the final element of the pathname </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">pathname</td><td>The path to get the final element of </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>the final element of the path </dd></dl> <dl class="section remark"><dt>Remarks</dt><dd><pre> For example: "/foo/bar/gum" -> "gum" "/foo/bar/gum/" -> "" "gum" -> "gum" "bs\\path\\stuff" -> "stuff" </pre> </dd></dl> </div> </div> <a class="anchor" id="ga377e0677598745769ec6f80fecf8f859"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="group__apr__errno.html#gaf76ee4543247e9fb3f3546203e590a6c">apr_status_t</a> apr_password_get </td> <td>(</td> <td class="paramtype">const char * </td> <td class="paramname"><em>prompt</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">char * </td> <td class="paramname"><em>pwbuf</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">apr_size_t * </td> <td class="paramname"><em>bufsize</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Display a prompt and read in the password from stdin. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">prompt</td><td>The prompt to display </td></tr> <tr><td class="paramname">pwbuf</td><td>Buffer to store the password </td></tr> <tr><td class="paramname">bufsize</td><td>The length of the password buffer. </td></tr> </table> </dd> </dl> <dl class="section remark"><dt>Remarks</dt><dd>If the password entered must be truncated to fit in the provided buffer, APR_ENAMETOOLONG will be returned. Note that the bufsize paramater is passed by reference for no reason; its value will never be modified by the <a class="el" href="group__apr__lib.html#ga377e0677598745769ec6f80fecf8f859">apr_password_get()</a> function. </dd></dl> </div> </div> <a class="anchor" id="gad2cd3594aeaafd45931d1034965f48c1"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int apr_vformatter </td> <td>(</td> <td class="paramtype">int(*)(<a class="el" href="structapr__vformatter__buff__t.html">apr_vformatter_buff_t</a> *b) </td> <td class="paramname"><em>flush_func</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="structapr__vformatter__buff__t.html">apr_vformatter_buff_t</a> * </td> <td class="paramname"><em>c</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char * </td> <td class="paramname"><em>fmt</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">va_list </td> <td class="paramname"><em>ap</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p><a class="el" href="group__apr__lib.html#gad2cd3594aeaafd45931d1034965f48c1">apr_vformatter()</a> is a generic printf-style formatting routine with some extensions. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">flush_func</td><td>The function to call when the buffer is full </td></tr> <tr><td class="paramname">c</td><td>The buffer to write to </td></tr> <tr><td class="paramname">fmt</td><td>The format string </td></tr> <tr><td class="paramname">ap</td><td>The arguments to use to fill out the format string.</td></tr> </table> </dd> </dl> <dl class="section remark"><dt>Remarks</dt><dd><pre> The extensions are:</pre></dd></dl> <ul> <li><pre>%pA takes a struct in_addr *, and prints it as a.b.c.d</pre></li> <li><pre>%pI takes an <a class="el" href="structapr__sockaddr__t.html">apr_sockaddr_t</a> * and prints it as a.b.c.d:port or [ipv6-address]:port</pre></li> <li><pre>%pT takes an apr_os_thread_t * and prints it in decimal ('0' is printed if !APR_HAS_THREADS)</pre></li> <li><pre>%pt takes an apr_os_thread_t * and prints it in hexadecimal ('0' is printed if !APR_HAS_THREADS)</pre></li> <li><pre>%pm takes an apr_status_t * and prints the appropriate error string (from apr_strerror) corresponding to that error code.</pre></li> <li><pre>%pp takes a void * and outputs it in hex</pre></li> <li><pre>%pB takes a apr_uint32_t * as bytes and outputs it's apr_strfsize</pre></li> <li><pre>%pF same as above, but takes a apr_off_t *</pre></li> <li><pre>%pS same as above, but takes a apr_size_t *</pre></li> </ul> <pre>%pA, %pI, %pT, %pp are available from APR 1.0.0 onwards (and in 0.9.x). %pt is only available from APR 1.2.0 onwards. %pm, %pB, %pF and %pS are only available from APR 1.3.0 onwards.</pre><pre>The %p hacks are to force gcc's printf warning code to skip over a pointer argument without complaining. This does mean that the ANSI-style %p (output a void * in hex format) won't work as expected at all, but that seems to be a fair trade-off for the increased robustness of having printf-warnings work.</pre><pre>Additionally, apr_vformatter allows for arbitrary output methods using the apr_vformatter_buff and flush_func.</pre><pre>The apr_vformatter_buff has two elements curpos and endpos. curpos is where apr_vformatter will write the next byte of output. It proceeds writing output to curpos, and updating curpos, until either the end of output is reached, or curpos == endpos (i.e. the buffer is full).</pre><pre>If the end of output is reached, apr_vformatter returns the number of bytes written.</pre><pre>When the buffer is full, the flush_func is called. The flush_func can return -1 to indicate that no further output should be attempted, and apr_vformatter will return immediately with -1. Otherwise the flush_func should flush the buffer in whatever manner is appropriate, re apr_pool_t nitialize curpos and endpos, and return 0.</pre><pre>Note that flush_func is only invoked as a result of attempting to write another byte at curpos when curpos >= endpos. So for example, it's possible when the output exactly matches the buffer space available that curpos == endpos will be true when apr_vformatter returns.</pre><pre>apr_vformatter does not call out to any other code, it is entirely self-contained. This allows the callers to do things which are otherwise "unsafe". For example, apr_psprintf uses the "scratch" space at the unallocated end of a block, and doesn't actually complete the allocation until apr_vformatter returns. apr_psprintf would be completely broken if apr_vformatter were to call anything that used this same pool. Similarly http_bprintf() uses the "scratch" space at the end of its output buffer, and doesn't actually note that the space is in use until it either has to flush the buffer or until apr_vformatter returns. </pre> </div> </div> </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