Sophie

Sophie

distrib > Scientific%20Linux > 5x > x86_64 > by-pkgid > 243222a43997d44a8ac787d018c9535c > files > 119

apr-docs-1.2.7-11.el5_6.5.x86_64.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>Apache Portable Runtime: File I/O Handling Functions</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.4.7 -->
<div class="tabs">
  <ul>
    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
    <li><a href="modules.html"><span>Modules</span></a></li>
    <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
    <li><a href="files.html"><span>Files</span></a></li>
    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
    <li><a href="examples.html"><span>Examples</span></a></li>
  </ul></div>
<h1>File I/O Handling Functions<br>
<small>
[<a class="el" href="group___a_p_r.html">Apache Portability Runtime library</a>]</small>
</h1><table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Modules</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__file__open__flags.html">File Open Flags/Routines</a></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__file__seek__flags.html">File Seek Flags</a></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__file__attrs__set__flags.html">File Attribute Flags</a></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__file__writev.html">{_full} max iovec size</a></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__file__lock__types.html">File Lock Types</a></td></tr>

<tr><td colspan="2"><br><h2>Typedefs</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef apr_uint32_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__file__io.html#g2b88604e6a51a6c3c5d1cd6c7fa7caf6">apr_fileattrs_t</a></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__file__io.html#g9aedc084ad271ca9e8511c72b21c9e23">apr_seek_where_t</a></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="group__apr__file__io.html#g804ab64a6f58ddcc3da8d9f54b6f51c2">apr_file_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__file__io.html#g804ab64a6f58ddcc3da8d9f54b6f51c2">apr_file_t</a></td></tr>

<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__apr__errno.html#g4cf2ddae3efce70c508ac7fefc1c47f7">apr_status_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__file__io.html#g8a37c092c1ec653708ee948b4278a2a3">apr_file_open</a> (<a class="el" href="group__apr__file__io.html#g804ab64a6f58ddcc3da8d9f54b6f51c2">apr_file_t</a> **newf, const char *fname, apr_int32_t flag, <a class="el" href="group__apr__file__info.html#g7abcb02b2c5dcf95d4f12357facd9bd2">apr_fileperms_t</a> perm, <a class="el" href="group__apr__pools.html#g06f17a7732f2d04d8ce7010fbb057a8b">apr_pool_t</a> *pool)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__apr__errno.html#g4cf2ddae3efce70c508ac7fefc1c47f7">apr_status_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__file__io.html#g2d459c128cf3353738f8606f0efbff6f">apr_file_close</a> (<a class="el" href="group__apr__file__io.html#g804ab64a6f58ddcc3da8d9f54b6f51c2">apr_file_t</a> *file)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__apr__errno.html#g4cf2ddae3efce70c508ac7fefc1c47f7">apr_status_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__file__io.html#g77e517ff7a45eed0ceffa30bc4e9ca99">apr_file_remove</a> (const char *path, <a class="el" href="group__apr__pools.html#g06f17a7732f2d04d8ce7010fbb057a8b">apr_pool_t</a> *pool)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__apr__errno.html#g4cf2ddae3efce70c508ac7fefc1c47f7">apr_status_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__file__io.html#gfcfd64d200b1661c5011b8f94a75385c">apr_file_rename</a> (const char *from_path, const char *to_path, <a class="el" href="group__apr__pools.html#g06f17a7732f2d04d8ce7010fbb057a8b">apr_pool_t</a> *pool)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__apr__errno.html#g4cf2ddae3efce70c508ac7fefc1c47f7">apr_status_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__file__io.html#g312e749e16d5f9ccd5627fcaae937d60">apr_file_copy</a> (const char *from_path, const char *to_path, <a class="el" href="group__apr__file__info.html#g7abcb02b2c5dcf95d4f12357facd9bd2">apr_fileperms_t</a> perms, <a class="el" href="group__apr__pools.html#g06f17a7732f2d04d8ce7010fbb057a8b">apr_pool_t</a> *pool)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__apr__errno.html#g4cf2ddae3efce70c508ac7fefc1c47f7">apr_status_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__file__io.html#g5aaad7656446c945000254bf47a16408">apr_file_append</a> (const char *from_path, const char *to_path, <a class="el" href="group__apr__file__info.html#g7abcb02b2c5dcf95d4f12357facd9bd2">apr_fileperms_t</a> perms, <a class="el" href="group__apr__pools.html#g06f17a7732f2d04d8ce7010fbb057a8b">apr_pool_t</a> *pool)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__apr__errno.html#g4cf2ddae3efce70c508ac7fefc1c47f7">apr_status_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__file__io.html#gee6be48ff3dfbd67cb1bb9118afd300d">apr_file_eof</a> (<a class="el" href="group__apr__file__io.html#g804ab64a6f58ddcc3da8d9f54b6f51c2">apr_file_t</a> *fptr)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__apr__errno.html#g4cf2ddae3efce70c508ac7fefc1c47f7">apr_status_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__file__io.html#g331fd2de287634fc018c87749b23840e">apr_file_open_stderr</a> (<a class="el" href="group__apr__file__io.html#g804ab64a6f58ddcc3da8d9f54b6f51c2">apr_file_t</a> **thefile, <a class="el" href="group__apr__pools.html#g06f17a7732f2d04d8ce7010fbb057a8b">apr_pool_t</a> *pool)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__apr__errno.html#g4cf2ddae3efce70c508ac7fefc1c47f7">apr_status_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__file__io.html#g6465ea90172e9b67275ad5725f15ce0b">apr_file_open_stdout</a> (<a class="el" href="group__apr__file__io.html#g804ab64a6f58ddcc3da8d9f54b6f51c2">apr_file_t</a> **thefile, <a class="el" href="group__apr__pools.html#g06f17a7732f2d04d8ce7010fbb057a8b">apr_pool_t</a> *pool)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__apr__errno.html#g4cf2ddae3efce70c508ac7fefc1c47f7">apr_status_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__file__io.html#gf9a83bcf887d07112426bd42fdb4c675">apr_file_open_stdin</a> (<a class="el" href="group__apr__file__io.html#g804ab64a6f58ddcc3da8d9f54b6f51c2">apr_file_t</a> **thefile, <a class="el" href="group__apr__pools.html#g06f17a7732f2d04d8ce7010fbb057a8b">apr_pool_t</a> *pool)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__apr__errno.html#g4cf2ddae3efce70c508ac7fefc1c47f7">apr_status_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__file__io.html#gf4201190f4feed489113053d8427ec36">apr_file_read</a> (<a class="el" href="group__apr__file__io.html#g804ab64a6f58ddcc3da8d9f54b6f51c2">apr_file_t</a> *thefile, void *buf, apr_size_t *nbytes)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__apr__errno.html#g4cf2ddae3efce70c508ac7fefc1c47f7">apr_status_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__file__io.html#g5c73ff8935da9d34a90cf23a49ba7927">apr_file_write</a> (<a class="el" href="group__apr__file__io.html#g804ab64a6f58ddcc3da8d9f54b6f51c2">apr_file_t</a> *thefile, const void *buf, apr_size_t *nbytes)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__apr__errno.html#g4cf2ddae3efce70c508ac7fefc1c47f7">apr_status_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__file__io.html#gb3bd19a7883d15063bc6ede46160f983">apr_file_writev</a> (<a class="el" href="group__apr__file__io.html#g804ab64a6f58ddcc3da8d9f54b6f51c2">apr_file_t</a> *thefile, const struct iovec *vec, apr_size_t nvec, apr_size_t *nbytes)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__apr__errno.html#g4cf2ddae3efce70c508ac7fefc1c47f7">apr_status_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__file__io.html#gccd5cd9a83b20014cf1acb343eb15bae">apr_file_read_full</a> (<a class="el" href="group__apr__file__io.html#g804ab64a6f58ddcc3da8d9f54b6f51c2">apr_file_t</a> *thefile, void *buf, apr_size_t nbytes, apr_size_t *bytes_read)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__apr__errno.html#g4cf2ddae3efce70c508ac7fefc1c47f7">apr_status_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__file__io.html#g0dcdbd6564c474524a8f234706b2e708">apr_file_write_full</a> (<a class="el" href="group__apr__file__io.html#g804ab64a6f58ddcc3da8d9f54b6f51c2">apr_file_t</a> *thefile, const void *buf, apr_size_t nbytes, apr_size_t *bytes_written)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__apr__errno.html#g4cf2ddae3efce70c508ac7fefc1c47f7">apr_status_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__file__io.html#g61343abf4a01221e6923a6efb2cf58cc">apr_file_writev_full</a> (<a class="el" href="group__apr__file__io.html#g804ab64a6f58ddcc3da8d9f54b6f51c2">apr_file_t</a> *thefile, const struct iovec *vec, apr_size_t nvec, apr_size_t *nbytes)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__apr__errno.html#g4cf2ddae3efce70c508ac7fefc1c47f7">apr_status_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__file__io.html#g7f704d83255567e07c4a0a8cd37aad05">apr_file_putc</a> (char ch, <a class="el" href="group__apr__file__io.html#g804ab64a6f58ddcc3da8d9f54b6f51c2">apr_file_t</a> *thefile)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__apr__errno.html#g4cf2ddae3efce70c508ac7fefc1c47f7">apr_status_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__file__io.html#gb99b76e4b72670d3c71f2000dc097d69">apr_file_getc</a> (char *ch, <a class="el" href="group__apr__file__io.html#g804ab64a6f58ddcc3da8d9f54b6f51c2">apr_file_t</a> *thefile)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__apr__errno.html#g4cf2ddae3efce70c508ac7fefc1c47f7">apr_status_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__file__io.html#g22b88de091091aa550fccfde2bd6a8a3">apr_file_ungetc</a> (char ch, <a class="el" href="group__apr__file__io.html#g804ab64a6f58ddcc3da8d9f54b6f51c2">apr_file_t</a> *thefile)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__apr__errno.html#g4cf2ddae3efce70c508ac7fefc1c47f7">apr_status_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__file__io.html#gc338d88805e9180cda73c6ffd44c2843">apr_file_gets</a> (char *str, int len, <a class="el" href="group__apr__file__io.html#g804ab64a6f58ddcc3da8d9f54b6f51c2">apr_file_t</a> *thefile)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__apr__errno.html#g4cf2ddae3efce70c508ac7fefc1c47f7">apr_status_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__file__io.html#g4be3b760207c970c498eb33c36a565f0">apr_file_puts</a> (const char *str, <a class="el" href="group__apr__file__io.html#g804ab64a6f58ddcc3da8d9f54b6f51c2">apr_file_t</a> *thefile)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__apr__errno.html#g4cf2ddae3efce70c508ac7fefc1c47f7">apr_status_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__file__io.html#g9daaebc5f3041d3da764be6a43aad6ec">apr_file_flush</a> (<a class="el" href="group__apr__file__io.html#g804ab64a6f58ddcc3da8d9f54b6f51c2">apr_file_t</a> *thefile)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__apr__errno.html#g4cf2ddae3efce70c508ac7fefc1c47f7">apr_status_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__file__io.html#gd1caad9579f8e2ac48df128bc0f59a53">apr_file_dup</a> (<a class="el" href="group__apr__file__io.html#g804ab64a6f58ddcc3da8d9f54b6f51c2">apr_file_t</a> **new_file, <a class="el" href="group__apr__file__io.html#g804ab64a6f58ddcc3da8d9f54b6f51c2">apr_file_t</a> *old_file, <a class="el" href="group__apr__pools.html#g06f17a7732f2d04d8ce7010fbb057a8b">apr_pool_t</a> *p)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__apr__errno.html#g4cf2ddae3efce70c508ac7fefc1c47f7">apr_status_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__file__io.html#g4d916c2411d30d0ca08a16c84620399b">apr_file_dup2</a> (<a class="el" href="group__apr__file__io.html#g804ab64a6f58ddcc3da8d9f54b6f51c2">apr_file_t</a> *new_file, <a class="el" href="group__apr__file__io.html#g804ab64a6f58ddcc3da8d9f54b6f51c2">apr_file_t</a> *old_file, <a class="el" href="group__apr__pools.html#g06f17a7732f2d04d8ce7010fbb057a8b">apr_pool_t</a> *p)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__apr__errno.html#g4cf2ddae3efce70c508ac7fefc1c47f7">apr_status_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__file__io.html#g593936bd8a0e77e6e91d13e06e45af5f">apr_file_setaside</a> (<a class="el" href="group__apr__file__io.html#g804ab64a6f58ddcc3da8d9f54b6f51c2">apr_file_t</a> **new_file, <a class="el" href="group__apr__file__io.html#g804ab64a6f58ddcc3da8d9f54b6f51c2">apr_file_t</a> *old_file, <a class="el" href="group__apr__pools.html#g06f17a7732f2d04d8ce7010fbb057a8b">apr_pool_t</a> *p)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__apr__errno.html#g4cf2ddae3efce70c508ac7fefc1c47f7">apr_status_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__file__io.html#ga4a086ea900b8f8081b567a3d098723b">apr_file_seek</a> (<a class="el" href="group__apr__file__io.html#g804ab64a6f58ddcc3da8d9f54b6f51c2">apr_file_t</a> *thefile, <a class="el" href="group__apr__file__io.html#g9aedc084ad271ca9e8511c72b21c9e23">apr_seek_where_t</a> where, apr_off_t *offset)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__apr__errno.html#g4cf2ddae3efce70c508ac7fefc1c47f7">apr_status_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__file__io.html#gdf3c35302741845a77d2e3244bff71cc">apr_file_pipe_create</a> (<a class="el" href="group__apr__file__io.html#g804ab64a6f58ddcc3da8d9f54b6f51c2">apr_file_t</a> **in, <a class="el" href="group__apr__file__io.html#g804ab64a6f58ddcc3da8d9f54b6f51c2">apr_file_t</a> **out, <a class="el" href="group__apr__pools.html#g06f17a7732f2d04d8ce7010fbb057a8b">apr_pool_t</a> *pool)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__apr__errno.html#g4cf2ddae3efce70c508ac7fefc1c47f7">apr_status_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__file__io.html#g399d996d9d7e44aa5cc74714a6508645">apr_file_namedpipe_create</a> (const char *filename, <a class="el" href="group__apr__file__info.html#g7abcb02b2c5dcf95d4f12357facd9bd2">apr_fileperms_t</a> perm, <a class="el" href="group__apr__pools.html#g06f17a7732f2d04d8ce7010fbb057a8b">apr_pool_t</a> *pool)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__apr__errno.html#g4cf2ddae3efce70c508ac7fefc1c47f7">apr_status_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__file__io.html#g78e3a2e019477736df03f8dfadce84a9">apr_file_pipe_timeout_get</a> (<a class="el" href="group__apr__file__io.html#g804ab64a6f58ddcc3da8d9f54b6f51c2">apr_file_t</a> *thepipe, <a class="el" href="group__apr__time.html#g4867ccc083452a265915ac7dfafde457">apr_interval_time_t</a> *timeout)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__apr__errno.html#g4cf2ddae3efce70c508ac7fefc1c47f7">apr_status_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__file__io.html#g7c34a0fccf31ddaae121d3145a044bcf">apr_file_pipe_timeout_set</a> (<a class="el" href="group__apr__file__io.html#g804ab64a6f58ddcc3da8d9f54b6f51c2">apr_file_t</a> *thepipe, <a class="el" href="group__apr__time.html#g4867ccc083452a265915ac7dfafde457">apr_interval_time_t</a> timeout)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__apr__errno.html#g4cf2ddae3efce70c508ac7fefc1c47f7">apr_status_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__file__io.html#gaa8e2e3e1cb6032bb163c3fedc1c0617">apr_file_lock</a> (<a class="el" href="group__apr__file__io.html#g804ab64a6f58ddcc3da8d9f54b6f51c2">apr_file_t</a> *thefile, int type)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__apr__errno.html#g4cf2ddae3efce70c508ac7fefc1c47f7">apr_status_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__file__io.html#gd17d8d73c82f7f9213f66b5658c45ce6">apr_file_unlock</a> (<a class="el" href="group__apr__file__io.html#g804ab64a6f58ddcc3da8d9f54b6f51c2">apr_file_t</a> *thefile)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__apr__errno.html#g4cf2ddae3efce70c508ac7fefc1c47f7">apr_status_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__file__io.html#ga2e8a73ca212726d4970b17f5a114cd4">apr_file_name_get</a> (const char **new_path, <a class="el" href="group__apr__file__io.html#g804ab64a6f58ddcc3da8d9f54b6f51c2">apr_file_t</a> *thefile)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__apr__errno.html#g4cf2ddae3efce70c508ac7fefc1c47f7">apr_status_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__file__io.html#gcd3d73d29aacad81471c52cd962e58b1">apr_file_data_get</a> (void **data, const char *key, <a class="el" href="group__apr__file__io.html#g804ab64a6f58ddcc3da8d9f54b6f51c2">apr_file_t</a> *file)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__apr__errno.html#g4cf2ddae3efce70c508ac7fefc1c47f7">apr_status_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__file__io.html#ga3efe36e5762f7aab0ece0a331cebd12">apr_file_data_set</a> (<a class="el" href="group__apr__file__io.html#g804ab64a6f58ddcc3da8d9f54b6f51c2">apr_file_t</a> *file, void *data, const char *key, <a class="el" href="group__apr__errno.html#g4cf2ddae3efce70c508ac7fefc1c47f7">apr_status_t</a>(*cleanup)(void *))</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__file__io.html#g6731ca713b159b22afd3d9cfa4b573ca">apr_file_printf</a> (<a class="el" href="group__apr__file__io.html#g804ab64a6f58ddcc3da8d9f54b6f51c2">apr_file_t</a> *fptr, const char *format,...)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__apr__errno.html#g4cf2ddae3efce70c508ac7fefc1c47f7">apr_status_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__file__io.html#g5490158b795f315a64ea9007f3ea9747">apr_file_perms_set</a> (const char *fname, <a class="el" href="group__apr__file__info.html#g7abcb02b2c5dcf95d4f12357facd9bd2">apr_fileperms_t</a> perms)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__apr__errno.html#g4cf2ddae3efce70c508ac7fefc1c47f7">apr_status_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__file__io.html#g96f8bf5c147b2dffdfcda80f4e4c4c81">apr_file_attrs_set</a> (const char *fname, <a class="el" href="group__apr__file__io.html#g2b88604e6a51a6c3c5d1cd6c7fa7caf6">apr_fileattrs_t</a> attributes, <a class="el" href="group__apr__file__io.html#g2b88604e6a51a6c3c5d1cd6c7fa7caf6">apr_fileattrs_t</a> attr_mask, <a class="el" href="group__apr__pools.html#g06f17a7732f2d04d8ce7010fbb057a8b">apr_pool_t</a> *pool)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__apr__errno.html#g4cf2ddae3efce70c508ac7fefc1c47f7">apr_status_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__file__io.html#gc8a2925122ac59de5b2e5816bd4f5c90">apr_file_mtime_set</a> (const char *fname, <a class="el" href="group__apr__time.html#gedd0f998e5cde878c0fefa41a1ee94bd">apr_time_t</a> mtime, <a class="el" href="group__apr__pools.html#g06f17a7732f2d04d8ce7010fbb057a8b">apr_pool_t</a> *pool)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__apr__errno.html#g4cf2ddae3efce70c508ac7fefc1c47f7">apr_status_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__file__io.html#gadf8aaff498360eb6fcf660b03dc8b1d">apr_dir_make</a> (const char *path, <a class="el" href="group__apr__file__info.html#g7abcb02b2c5dcf95d4f12357facd9bd2">apr_fileperms_t</a> perm, <a class="el" href="group__apr__pools.html#g06f17a7732f2d04d8ce7010fbb057a8b">apr_pool_t</a> *pool)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__apr__errno.html#g4cf2ddae3efce70c508ac7fefc1c47f7">apr_status_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__file__io.html#g33c5ab23a312cdc8b75d33dfbf6a356a">apr_dir_make_recursive</a> (const char *path, <a class="el" href="group__apr__file__info.html#g7abcb02b2c5dcf95d4f12357facd9bd2">apr_fileperms_t</a> perm, <a class="el" href="group__apr__pools.html#g06f17a7732f2d04d8ce7010fbb057a8b">apr_pool_t</a> *pool)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__apr__errno.html#g4cf2ddae3efce70c508ac7fefc1c47f7">apr_status_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__file__io.html#gc9d99458891b74efc267fd9e49e2bcf6">apr_dir_remove</a> (const char *path, <a class="el" href="group__apr__pools.html#g06f17a7732f2d04d8ce7010fbb057a8b">apr_pool_t</a> *pool)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__apr__errno.html#g4cf2ddae3efce70c508ac7fefc1c47f7">apr_status_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__file__io.html#g2d8753656fee6fe65d091e16a9ffd9fb">apr_file_info_get</a> (<a class="el" href="structapr__finfo__t.html">apr_finfo_t</a> *finfo, apr_int32_t wanted, <a class="el" href="group__apr__file__io.html#g804ab64a6f58ddcc3da8d9f54b6f51c2">apr_file_t</a> *thefile)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__apr__errno.html#g4cf2ddae3efce70c508ac7fefc1c47f7">apr_status_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__file__io.html#g259277b1983e816e0dfc0d5a4bbaee17">apr_file_trunc</a> (<a class="el" href="group__apr__file__io.html#g804ab64a6f58ddcc3da8d9f54b6f51c2">apr_file_t</a> *fp, apr_off_t offset)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">apr_int32_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__file__io.html#g8e26799aaa878eb25f946caf6ace056b">apr_file_flags_get</a> (<a class="el" href="group__apr__file__io.html#g804ab64a6f58ddcc3da8d9f54b6f51c2">apr_file_t</a> *f)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__apr__pools.html#g06f17a7732f2d04d8ce7010fbb057a8b">apr_pool_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__file__io.html#g532b5e713cb5200801f129bc9311b3fc">apr_file_pool_get</a> (const <a class="el" href="group__apr__file__io.html#g804ab64a6f58ddcc3da8d9f54b6f51c2">apr_file_t</a> *thefile)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__apr__errno.html#g4cf2ddae3efce70c508ac7fefc1c47f7">apr_status_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__file__io.html#g0a071e509aed40156b886d1f232301e7">apr_file_inherit_set</a> (<a class="el" href="group__apr__file__io.html#g804ab64a6f58ddcc3da8d9f54b6f51c2">apr_file_t</a> *thefile)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__apr__errno.html#g4cf2ddae3efce70c508ac7fefc1c47f7">apr_status_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__file__io.html#g628b7eb7f88c78863910e862f700bb5b">apr_file_inherit_unset</a> (<a class="el" href="group__apr__file__io.html#g804ab64a6f58ddcc3da8d9f54b6f51c2">apr_file_t</a> *thefile)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__apr__errno.html#g4cf2ddae3efce70c508ac7fefc1c47f7">apr_status_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__file__io.html#g711ead7d3112a249d75eabe39e3cba95">apr_file_mktemp</a> (<a class="el" href="group__apr__file__io.html#g804ab64a6f58ddcc3da8d9f54b6f51c2">apr_file_t</a> **fp, char *templ, apr_int32_t flags, <a class="el" href="group__apr__pools.html#g06f17a7732f2d04d8ce7010fbb057a8b">apr_pool_t</a> *p)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__apr__errno.html#g4cf2ddae3efce70c508ac7fefc1c47f7">apr_status_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__file__io.html#gcd6f39b856db056b528b37cceb4874ce">apr_temp_dir_get</a> (const char **temp_dir, <a class="el" href="group__apr__pools.html#g06f17a7732f2d04d8ce7010fbb057a8b">apr_pool_t</a> *p)</td></tr>

</table>
<hr><h2>Typedef Documentation</h2>
<a class="anchor" name="g804ab64a6f58ddcc3da8d9f54b6f51c2"></a><!-- doxytag: member="apr_file_io.h::apr_file_t" ref="g804ab64a6f58ddcc3da8d9f54b6f51c2" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef struct <a class="el" href="group__apr__file__io.html#g804ab64a6f58ddcc3da8d9f54b6f51c2">apr_file_t</a> <a class="el" href="group__apr__file__io.html#g804ab64a6f58ddcc3da8d9f54b6f51c2">apr_file_t</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Structure for referencing files. 
</div>
</div><p>
<a class="anchor" name="g2b88604e6a51a6c3c5d1cd6c7fa7caf6"></a><!-- doxytag: member="apr_file_io.h::apr_fileattrs_t" ref="g2b88604e6a51a6c3c5d1cd6c7fa7caf6" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef apr_uint32_t <a class="el" href="group__apr__file__io.html#g2b88604e6a51a6c3c5d1cd6c7fa7caf6">apr_fileattrs_t</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
File attributes 
</div>
</div><p>
<a class="anchor" name="g9aedc084ad271ca9e8511c72b21c9e23"></a><!-- doxytag: member="apr_file_io.h::apr_seek_where_t" ref="g9aedc084ad271ca9e8511c72b21c9e23" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef int <a class="el" href="group__apr__file__io.html#g9aedc084ad271ca9e8511c72b21c9e23">apr_seek_where_t</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Type to pass as whence argument to apr_file_seek. 
</div>
</div><p>
<hr><h2>Function Documentation</h2>
<a class="anchor" name="gadf8aaff498360eb6fcf660b03dc8b1d"></a><!-- doxytag: member="apr_file_io.h::apr_dir_make" ref="gadf8aaff498360eb6fcf660b03dc8b1d" args="(const char *path, apr_fileperms_t perm, apr_pool_t *pool)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__apr__errno.html#g4cf2ddae3efce70c508ac7fefc1c47f7">apr_status_t</a> apr_dir_make           </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>path</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__apr__file__info.html#g7abcb02b2c5dcf95d4f12357facd9bd2">apr_fileperms_t</a>&nbsp;</td>
          <td class="paramname"> <em>perm</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__apr__pools.html#g06f17a7732f2d04d8ce7010fbb057a8b">apr_pool_t</a> *&nbsp;</td>
          <td class="paramname"> <em>pool</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Create a new directory on the file system. <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>path</em>&nbsp;</td><td>the path for the directory to be created. (use / on all systems) </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>perm</em>&nbsp;</td><td>Permissions for the new direcoty. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>pool</em>&nbsp;</td><td>the pool to use. </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="g33c5ab23a312cdc8b75d33dfbf6a356a"></a><!-- doxytag: member="apr_file_io.h::apr_dir_make_recursive" ref="g33c5ab23a312cdc8b75d33dfbf6a356a" args="(const char *path, apr_fileperms_t perm, apr_pool_t *pool)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__apr__errno.html#g4cf2ddae3efce70c508ac7fefc1c47f7">apr_status_t</a> apr_dir_make_recursive           </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>path</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__apr__file__info.html#g7abcb02b2c5dcf95d4f12357facd9bd2">apr_fileperms_t</a>&nbsp;</td>
          <td class="paramname"> <em>perm</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__apr__pools.html#g06f17a7732f2d04d8ce7010fbb057a8b">apr_pool_t</a> *&nbsp;</td>
          <td class="paramname"> <em>pool</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Creates a new directory on the file system, but behaves like 'mkdir -p'. Creates intermediate directories as required. No error will be reported if PATH already exists. <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>path</em>&nbsp;</td><td>the path for the directory to be created. (use / on all systems) </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>perm</em>&nbsp;</td><td>Permissions for the new direcoty. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>pool</em>&nbsp;</td><td>the pool to use. </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="gc9d99458891b74efc267fd9e49e2bcf6"></a><!-- doxytag: member="apr_file_io.h::apr_dir_remove" ref="gc9d99458891b74efc267fd9e49e2bcf6" args="(const char *path, apr_pool_t *pool)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__apr__errno.html#g4cf2ddae3efce70c508ac7fefc1c47f7">apr_status_t</a> apr_dir_remove           </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>path</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__apr__pools.html#g06f17a7732f2d04d8ce7010fbb057a8b">apr_pool_t</a> *&nbsp;</td>
          <td class="paramname"> <em>pool</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Remove directory from the file system. <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>path</em>&nbsp;</td><td>the path for the directory to be removed. (use / on all systems) </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>pool</em>&nbsp;</td><td>the pool to use. </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="g5aaad7656446c945000254bf47a16408"></a><!-- doxytag: member="apr_file_io.h::apr_file_append" ref="g5aaad7656446c945000254bf47a16408" args="(const char *from_path, const char *to_path, apr_fileperms_t perms, apr_pool_t *pool)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__apr__errno.html#g4cf2ddae3efce70c508ac7fefc1c47f7">apr_status_t</a> apr_file_append           </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>from_path</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>to_path</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__apr__file__info.html#g7abcb02b2c5dcf95d4f12357facd9bd2">apr_fileperms_t</a>&nbsp;</td>
          <td class="paramname"> <em>perms</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__apr__pools.html#g06f17a7732f2d04d8ce7010fbb057a8b">apr_pool_t</a> *&nbsp;</td>
          <td class="paramname"> <em>pool</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Append the specified file to another file. <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>from_path</em>&nbsp;</td><td>The full path to the source file (use / on all systems) </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>to_path</em>&nbsp;</td><td>The full path to the destination file (use / on all systems) </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>perms</em>&nbsp;</td><td>Access permissions for the destination file if it is created. In place of the usual or'd combination of file permissions, the value APR_FILE_SOURCE_PERMS may be given, in which case the source file's permissions are copied. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>pool</em>&nbsp;</td><td>The pool to use. </td></tr>
  </table>
</dl>
<dl compact><dt><b>Remarks:</b></dt><dd>The new file does not need to exist, it will be created if required. </dd></dl>

</div>
</div><p>
<a class="anchor" name="g96f8bf5c147b2dffdfcda80f4e4c4c81"></a><!-- doxytag: member="apr_file_io.h::apr_file_attrs_set" ref="g96f8bf5c147b2dffdfcda80f4e4c4c81" args="(const char *fname, apr_fileattrs_t attributes, apr_fileattrs_t attr_mask, apr_pool_t *pool)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__apr__errno.html#g4cf2ddae3efce70c508ac7fefc1c47f7">apr_status_t</a> apr_file_attrs_set           </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>fname</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__apr__file__io.html#g2b88604e6a51a6c3c5d1cd6c7fa7caf6">apr_fileattrs_t</a>&nbsp;</td>
          <td class="paramname"> <em>attributes</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__apr__file__io.html#g2b88604e6a51a6c3c5d1cd6c7fa7caf6">apr_fileattrs_t</a>&nbsp;</td>
          <td class="paramname"> <em>attr_mask</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__apr__pools.html#g06f17a7732f2d04d8ce7010fbb057a8b">apr_pool_t</a> *&nbsp;</td>
          <td class="paramname"> <em>pool</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Set attributes of the specified file. <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>fname</em>&nbsp;</td><td>The full path to the file (using / on all systems) </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>attributes</em>&nbsp;</td><td>Or'd combination of <pre>
            APR_FILE_ATTR_READONLY   - make the file readonly
            APR_FILE_ATTR_EXECUTABLE - make the file executable
            APR_FILE_ATTR_HIDDEN     - make the file hidden
 </pre> </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>attr_mask</em>&nbsp;</td><td>Mask of valid bits in attributes. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>pool</em>&nbsp;</td><td>the pool to use. </td></tr>
  </table>
</dl>
<dl compact><dt><b>Remarks:</b></dt><dd>This function should be used in preference to explict manipulation of the file permissions, because the operations to provide these attributes are platform specific and may involve more than simply setting permission bits. </dd></dl>
<dl compact><dt><b>Warning:</b></dt><dd>Platforms which do not implement this feature will return APR_ENOTIMPL. </dd></dl>

</div>
</div><p>
<a class="anchor" name="g2d459c128cf3353738f8606f0efbff6f"></a><!-- doxytag: member="apr_file_io.h::apr_file_close" ref="g2d459c128cf3353738f8606f0efbff6f" args="(apr_file_t *file)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__apr__errno.html#g4cf2ddae3efce70c508ac7fefc1c47f7">apr_status_t</a> apr_file_close           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__apr__file__io.html#g804ab64a6f58ddcc3da8d9f54b6f51c2">apr_file_t</a> *&nbsp;</td>
          <td class="paramname"> <em>file</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Close the specified file. <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>file</em>&nbsp;</td><td>The file descriptor to close. </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="g312e749e16d5f9ccd5627fcaae937d60"></a><!-- doxytag: member="apr_file_io.h::apr_file_copy" ref="g312e749e16d5f9ccd5627fcaae937d60" args="(const char *from_path, const char *to_path, apr_fileperms_t perms, apr_pool_t *pool)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__apr__errno.html#g4cf2ddae3efce70c508ac7fefc1c47f7">apr_status_t</a> apr_file_copy           </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>from_path</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>to_path</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__apr__file__info.html#g7abcb02b2c5dcf95d4f12357facd9bd2">apr_fileperms_t</a>&nbsp;</td>
          <td class="paramname"> <em>perms</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__apr__pools.html#g06f17a7732f2d04d8ce7010fbb057a8b">apr_pool_t</a> *&nbsp;</td>
          <td class="paramname"> <em>pool</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Copy the specified file to another file. <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>from_path</em>&nbsp;</td><td>The full path to the original file (using / on all systems) </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>to_path</em>&nbsp;</td><td>The full path to the new file (using / on all systems) </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>perms</em>&nbsp;</td><td>Access permissions for the new file if it is created. In place of the usual or'd combination of file permissions, the value APR_FILE_SOURCE_PERMS may be given, in which case the source file's permissions are copied. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>pool</em>&nbsp;</td><td>The pool to use. </td></tr>
  </table>
</dl>
<dl compact><dt><b>Remarks:</b></dt><dd>The new file does not need to exist, it will be created if required. </dd></dl>
<dl compact><dt><b>Warning:</b></dt><dd>If the new file already exists, its contents will be overwritten. </dd></dl>

</div>
</div><p>
<a class="anchor" name="gcd3d73d29aacad81471c52cd962e58b1"></a><!-- doxytag: member="apr_file_io.h::apr_file_data_get" ref="gcd3d73d29aacad81471c52cd962e58b1" args="(void **data, const char *key, apr_file_t *file)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__apr__errno.html#g4cf2ddae3efce70c508ac7fefc1c47f7">apr_status_t</a> apr_file_data_get           </td>
          <td>(</td>
          <td class="paramtype">void **&nbsp;</td>
          <td class="paramname"> <em>data</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>key</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__apr__file__io.html#g804ab64a6f58ddcc3da8d9f54b6f51c2">apr_file_t</a> *&nbsp;</td>
          <td class="paramname"> <em>file</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Return the data associated with the current file. <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>data</em>&nbsp;</td><td>The user data associated with the file. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>key</em>&nbsp;</td><td>The key to use for retreiving data associated with this file. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>file</em>&nbsp;</td><td>The currently open file. </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="ga3efe36e5762f7aab0ece0a331cebd12"></a><!-- doxytag: member="apr_file_io.h::apr_file_data_set" ref="ga3efe36e5762f7aab0ece0a331cebd12" args="(apr_file_t *file, void *data, const char *key, apr_status_t(*cleanup)(void *))" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__apr__errno.html#g4cf2ddae3efce70c508ac7fefc1c47f7">apr_status_t</a> apr_file_data_set           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__apr__file__io.html#g804ab64a6f58ddcc3da8d9f54b6f51c2">apr_file_t</a> *&nbsp;</td>
          <td class="paramname"> <em>file</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&nbsp;</td>
          <td class="paramname"> <em>data</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>key</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__apr__errno.html#g4cf2ddae3efce70c508ac7fefc1c47f7">apr_status_t</a>(*)(void *)&nbsp;</td>
          <td class="paramname"> <em>cleanup</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Set the data associated with the current file. <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>file</em>&nbsp;</td><td>The currently open file. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>data</em>&nbsp;</td><td>The user data to associate with the file. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>key</em>&nbsp;</td><td>The key to use for assocaiteing data with the file. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>cleanup</em>&nbsp;</td><td>The cleanup routine to use when the file is destroyed. </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="gd1caad9579f8e2ac48df128bc0f59a53"></a><!-- doxytag: member="apr_file_io.h::apr_file_dup" ref="gd1caad9579f8e2ac48df128bc0f59a53" args="(apr_file_t **new_file, apr_file_t *old_file, apr_pool_t *p)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__apr__errno.html#g4cf2ddae3efce70c508ac7fefc1c47f7">apr_status_t</a> apr_file_dup           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__apr__file__io.html#g804ab64a6f58ddcc3da8d9f54b6f51c2">apr_file_t</a> **&nbsp;</td>
          <td class="paramname"> <em>new_file</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__apr__file__io.html#g804ab64a6f58ddcc3da8d9f54b6f51c2">apr_file_t</a> *&nbsp;</td>
          <td class="paramname"> <em>old_file</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__apr__pools.html#g06f17a7732f2d04d8ce7010fbb057a8b">apr_pool_t</a> *&nbsp;</td>
          <td class="paramname"> <em>p</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Duplicate the specified file descriptor. <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>new_file</em>&nbsp;</td><td>The structure to duplicate into. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>old_file</em>&nbsp;</td><td>The file to duplicate. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>p</em>&nbsp;</td><td>The pool to use for the new file. </td></tr>
  </table>
</dl>
<dl compact><dt><b>Remarks:</b></dt><dd>*new_file must point to a valid apr_file_t, or point to NULL. </dd></dl>

</div>
</div><p>
<a class="anchor" name="g4d916c2411d30d0ca08a16c84620399b"></a><!-- doxytag: member="apr_file_io.h::apr_file_dup2" ref="g4d916c2411d30d0ca08a16c84620399b" args="(apr_file_t *new_file, apr_file_t *old_file, apr_pool_t *p)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__apr__errno.html#g4cf2ddae3efce70c508ac7fefc1c47f7">apr_status_t</a> apr_file_dup2           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__apr__file__io.html#g804ab64a6f58ddcc3da8d9f54b6f51c2">apr_file_t</a> *&nbsp;</td>
          <td class="paramname"> <em>new_file</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__apr__file__io.html#g804ab64a6f58ddcc3da8d9f54b6f51c2">apr_file_t</a> *&nbsp;</td>
          <td class="paramname"> <em>old_file</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__apr__pools.html#g06f17a7732f2d04d8ce7010fbb057a8b">apr_pool_t</a> *&nbsp;</td>
          <td class="paramname"> <em>p</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Duplicate the specified file descriptor and close the original <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>new_file</em>&nbsp;</td><td>The old file that is to be closed and reused </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>old_file</em>&nbsp;</td><td>The file to duplicate </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>p</em>&nbsp;</td><td>The pool to use for the new file</td></tr>
  </table>
</dl>
<dl compact><dt><b>Remarks:</b></dt><dd>new_file MUST point at a valid apr_file_t. It cannot be NULL. </dd></dl>

</div>
</div><p>
<a class="anchor" name="gee6be48ff3dfbd67cb1bb9118afd300d"></a><!-- doxytag: member="apr_file_io.h::apr_file_eof" ref="gee6be48ff3dfbd67cb1bb9118afd300d" args="(apr_file_t *fptr)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__apr__errno.html#g4cf2ddae3efce70c508ac7fefc1c47f7">apr_status_t</a> apr_file_eof           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__apr__file__io.html#g804ab64a6f58ddcc3da8d9f54b6f51c2">apr_file_t</a> *&nbsp;</td>
          <td class="paramname"> <em>fptr</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Are we at the end of the file <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>fptr</em>&nbsp;</td><td>The apr file we are testing. </td></tr>
  </table>
</dl>
<dl compact><dt><b>Remarks:</b></dt><dd>Returns APR_EOF if we are at the end of file, APR_SUCCESS otherwise. </dd></dl>

</div>
</div><p>
<a class="anchor" name="g8e26799aaa878eb25f946caf6ace056b"></a><!-- doxytag: member="apr_file_io.h::apr_file_flags_get" ref="g8e26799aaa878eb25f946caf6ace056b" args="(apr_file_t *f)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">apr_int32_t apr_file_flags_get           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__apr__file__io.html#g804ab64a6f58ddcc3da8d9f54b6f51c2">apr_file_t</a> *&nbsp;</td>
          <td class="paramname"> <em>f</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Retrieve the flags that were passed into <a class="el" href="group__apr__file__io.html#g8a37c092c1ec653708ee948b4278a2a3">apr_file_open()</a> when the file was opened. <dl compact><dt><b>Returns:</b></dt><dd>apr_int32_t the flags </dd></dl>

</div>
</div><p>
<a class="anchor" name="g9daaebc5f3041d3da764be6a43aad6ec"></a><!-- doxytag: member="apr_file_io.h::apr_file_flush" ref="g9daaebc5f3041d3da764be6a43aad6ec" args="(apr_file_t *thefile)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__apr__errno.html#g4cf2ddae3efce70c508ac7fefc1c47f7">apr_status_t</a> apr_file_flush           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__apr__file__io.html#g804ab64a6f58ddcc3da8d9f54b6f51c2">apr_file_t</a> *&nbsp;</td>
          <td class="paramname"> <em>thefile</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Flush the file's buffer. <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>thefile</em>&nbsp;</td><td>The file descriptor to flush </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="gb99b76e4b72670d3c71f2000dc097d69"></a><!-- doxytag: member="apr_file_io.h::apr_file_getc" ref="gb99b76e4b72670d3c71f2000dc097d69" args="(char *ch, apr_file_t *thefile)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__apr__errno.html#g4cf2ddae3efce70c508ac7fefc1c47f7">apr_status_t</a> apr_file_getc           </td>
          <td>(</td>
          <td class="paramtype">char *&nbsp;</td>
          <td class="paramname"> <em>ch</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__apr__file__io.html#g804ab64a6f58ddcc3da8d9f54b6f51c2">apr_file_t</a> *&nbsp;</td>
          <td class="paramname"> <em>thefile</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Read a character from the specified file. <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>ch</em>&nbsp;</td><td>The character to read into </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>thefile</em>&nbsp;</td><td>The file descriptor to read from </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="gc338d88805e9180cda73c6ffd44c2843"></a><!-- doxytag: member="apr_file_io.h::apr_file_gets" ref="gc338d88805e9180cda73c6ffd44c2843" args="(char *str, int len, apr_file_t *thefile)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__apr__errno.html#g4cf2ddae3efce70c508ac7fefc1c47f7">apr_status_t</a> apr_file_gets           </td>
          <td>(</td>
          <td class="paramtype">char *&nbsp;</td>
          <td class="paramname"> <em>str</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>len</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__apr__file__io.html#g804ab64a6f58ddcc3da8d9f54b6f51c2">apr_file_t</a> *&nbsp;</td>
          <td class="paramname"> <em>thefile</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Read a string from the specified file. <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>str</em>&nbsp;</td><td>The buffer to store the string in. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>len</em>&nbsp;</td><td>The length of the string </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>thefile</em>&nbsp;</td><td>The file descriptor to read from </td></tr>
  </table>
</dl>
<dl compact><dt><b>Remarks:</b></dt><dd>The buffer will be NUL-terminated if any characters are stored. </dd></dl>

</div>
</div><p>
<a class="anchor" name="g2d8753656fee6fe65d091e16a9ffd9fb"></a><!-- doxytag: member="apr_file_io.h::apr_file_info_get" ref="g2d8753656fee6fe65d091e16a9ffd9fb" args="(apr_finfo_t *finfo, apr_int32_t wanted, apr_file_t *thefile)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__apr__errno.html#g4cf2ddae3efce70c508ac7fefc1c47f7">apr_status_t</a> apr_file_info_get           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structapr__finfo__t.html">apr_finfo_t</a> *&nbsp;</td>
          <td class="paramname"> <em>finfo</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">apr_int32_t&nbsp;</td>
          <td class="paramname"> <em>wanted</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__apr__file__io.html#g804ab64a6f58ddcc3da8d9f54b6f51c2">apr_file_t</a> *&nbsp;</td>
          <td class="paramname"> <em>thefile</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
get the specified file's stats. <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>finfo</em>&nbsp;</td><td>Where to store the information about the file. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>wanted</em>&nbsp;</td><td>The desired <a class="el" href="structapr__finfo__t.html">apr_finfo_t</a> fields, as a bit flag of APR_FINFO_ values </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>thefile</em>&nbsp;</td><td>The file to get information about. </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="g0a071e509aed40156b886d1f232301e7"></a><!-- doxytag: member="apr_file_io.h::apr_file_inherit_set" ref="g0a071e509aed40156b886d1f232301e7" args="(apr_file_t *thefile)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__apr__errno.html#g4cf2ddae3efce70c508ac7fefc1c47f7">apr_status_t</a> apr_file_inherit_set           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__apr__file__io.html#g804ab64a6f58ddcc3da8d9f54b6f51c2">apr_file_t</a> *&nbsp;</td>
          <td class="paramname"> <em>thefile</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Set a file to be inherited by child processes. 
</div>
</div><p>
<a class="anchor" name="g628b7eb7f88c78863910e862f700bb5b"></a><!-- doxytag: member="apr_file_io.h::apr_file_inherit_unset" ref="g628b7eb7f88c78863910e862f700bb5b" args="(apr_file_t *thefile)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__apr__errno.html#g4cf2ddae3efce70c508ac7fefc1c47f7">apr_status_t</a> apr_file_inherit_unset           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__apr__file__io.html#g804ab64a6f58ddcc3da8d9f54b6f51c2">apr_file_t</a> *&nbsp;</td>
          <td class="paramname"> <em>thefile</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Unset a file from being inherited by child processes. 
</div>
</div><p>
<a class="anchor" name="gaa8e2e3e1cb6032bb163c3fedc1c0617"></a><!-- doxytag: member="apr_file_io.h::apr_file_lock" ref="gaa8e2e3e1cb6032bb163c3fedc1c0617" args="(apr_file_t *thefile, int type)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__apr__errno.html#g4cf2ddae3efce70c508ac7fefc1c47f7">apr_status_t</a> apr_file_lock           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__apr__file__io.html#g804ab64a6f58ddcc3da8d9f54b6f51c2">apr_file_t</a> *&nbsp;</td>
          <td class="paramname"> <em>thefile</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>type</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Establish a lock on the specified, open file. The lock may be advisory or mandatory, at the discretion of the platform. The lock applies to the file as a whole, rather than a specific range. Locks are established on a per-thread/process basis; a second lock by the same thread will not block. <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>thefile</em>&nbsp;</td><td>The file to lock. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>type</em>&nbsp;</td><td>The type of lock to establish on the file. </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="g711ead7d3112a249d75eabe39e3cba95"></a><!-- doxytag: member="apr_file_io.h::apr_file_mktemp" ref="g711ead7d3112a249d75eabe39e3cba95" args="(apr_file_t **fp, char *templ, apr_int32_t flags, apr_pool_t *p)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__apr__errno.html#g4cf2ddae3efce70c508ac7fefc1c47f7">apr_status_t</a> apr_file_mktemp           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__apr__file__io.html#g804ab64a6f58ddcc3da8d9f54b6f51c2">apr_file_t</a> **&nbsp;</td>
          <td class="paramname"> <em>fp</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char *&nbsp;</td>
          <td class="paramname"> <em>templ</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">apr_int32_t&nbsp;</td>
          <td class="paramname"> <em>flags</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__apr__pools.html#g06f17a7732f2d04d8ce7010fbb057a8b">apr_pool_t</a> *&nbsp;</td>
          <td class="paramname"> <em>p</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Open a temporary file <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>fp</em>&nbsp;</td><td>The apr file to use as a temporary file. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>templ</em>&nbsp;</td><td>The template to use when creating a temp file. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>flags</em>&nbsp;</td><td>The flags to open the file with. If this is zero, the file is opened with APR_CREATE | APR_READ | APR_WRITE | APR_EXCL | APR_DELONCLOSE </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>p</em>&nbsp;</td><td>The pool to allocate the file out of. </td></tr>
  </table>
</dl>
<dl compact><dt><b>Remarks:</b></dt><dd>This function generates a unique temporary file name from template. The last six characters of template must be XXXXXX and these are replaced with a string that makes the filename unique. Since it will be modified, template must not be a string constant, but should be declared as a character array. </dd></dl>

</div>
</div><p>
<a class="anchor" name="gc8a2925122ac59de5b2e5816bd4f5c90"></a><!-- doxytag: member="apr_file_io.h::apr_file_mtime_set" ref="gc8a2925122ac59de5b2e5816bd4f5c90" args="(const char *fname, apr_time_t mtime, apr_pool_t *pool)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__apr__errno.html#g4cf2ddae3efce70c508ac7fefc1c47f7">apr_status_t</a> apr_file_mtime_set           </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>fname</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__apr__time.html#gedd0f998e5cde878c0fefa41a1ee94bd">apr_time_t</a>&nbsp;</td>
          <td class="paramname"> <em>mtime</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__apr__pools.html#g06f17a7732f2d04d8ce7010fbb057a8b">apr_pool_t</a> *&nbsp;</td>
          <td class="paramname"> <em>pool</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Set the mtime of the specified file. <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>fname</em>&nbsp;</td><td>The full path to the file (using / on all systems) </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>mtime</em>&nbsp;</td><td>The mtime to apply to the file. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>pool</em>&nbsp;</td><td>The pool to use. </td></tr>
  </table>
</dl>
<dl compact><dt><b>Warning:</b></dt><dd>Platforms which do not implement this feature will return APR_ENOTIMPL. </dd></dl>

</div>
</div><p>
<a class="anchor" name="ga2e8a73ca212726d4970b17f5a114cd4"></a><!-- doxytag: member="apr_file_io.h::apr_file_name_get" ref="ga2e8a73ca212726d4970b17f5a114cd4" args="(const char **new_path, apr_file_t *thefile)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__apr__errno.html#g4cf2ddae3efce70c508ac7fefc1c47f7">apr_status_t</a> apr_file_name_get           </td>
          <td>(</td>
          <td class="paramtype">const char **&nbsp;</td>
          <td class="paramname"> <em>new_path</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__apr__file__io.html#g804ab64a6f58ddcc3da8d9f54b6f51c2">apr_file_t</a> *&nbsp;</td>
          <td class="paramname"> <em>thefile</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
return the file name of the current file. <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>new_path</em>&nbsp;</td><td>The path of the file. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>thefile</em>&nbsp;</td><td>The currently open file. </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="g399d996d9d7e44aa5cc74714a6508645"></a><!-- doxytag: member="apr_file_io.h::apr_file_namedpipe_create" ref="g399d996d9d7e44aa5cc74714a6508645" args="(const char *filename, apr_fileperms_t perm, apr_pool_t *pool)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__apr__errno.html#g4cf2ddae3efce70c508ac7fefc1c47f7">apr_status_t</a> apr_file_namedpipe_create           </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>filename</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__apr__file__info.html#g7abcb02b2c5dcf95d4f12357facd9bd2">apr_fileperms_t</a>&nbsp;</td>
          <td class="paramname"> <em>perm</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__apr__pools.html#g06f17a7732f2d04d8ce7010fbb057a8b">apr_pool_t</a> *&nbsp;</td>
          <td class="paramname"> <em>pool</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Create a named pipe. <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>filename</em>&nbsp;</td><td>The filename of the named pipe </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>perm</em>&nbsp;</td><td>The permissions for the newly created pipe. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>pool</em>&nbsp;</td><td>The pool to operate on. </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="g8a37c092c1ec653708ee948b4278a2a3"></a><!-- doxytag: member="apr_file_io.h::apr_file_open" ref="g8a37c092c1ec653708ee948b4278a2a3" args="(apr_file_t **newf, const char *fname, apr_int32_t flag, apr_fileperms_t perm, apr_pool_t *pool)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__apr__errno.html#g4cf2ddae3efce70c508ac7fefc1c47f7">apr_status_t</a> apr_file_open           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__apr__file__io.html#g804ab64a6f58ddcc3da8d9f54b6f51c2">apr_file_t</a> **&nbsp;</td>
          <td class="paramname"> <em>newf</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>fname</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">apr_int32_t&nbsp;</td>
          <td class="paramname"> <em>flag</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__apr__file__info.html#g7abcb02b2c5dcf95d4f12357facd9bd2">apr_fileperms_t</a>&nbsp;</td>
          <td class="paramname"> <em>perm</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__apr__pools.html#g06f17a7732f2d04d8ce7010fbb057a8b">apr_pool_t</a> *&nbsp;</td>
          <td class="paramname"> <em>pool</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Open the specified file. <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>newf</em>&nbsp;</td><td>The opened file descriptor. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>fname</em>&nbsp;</td><td>The full path to the file (using / on all systems) </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>flag</em>&nbsp;</td><td>Or'ed value of: <pre>
         APR_READ              open for reading
         APR_WRITE             open for writing
         APR_CREATE            create the file if not there
         APR_APPEND            file ptr is set to end prior to all writes
         APR_TRUNCATE          set length to zero if file exists
         APR_BINARY            not a text file (This flag is ignored on 
                               UNIX because it has no meaning)
         APR_BUFFERED          buffer the data.  Default is non-buffered
         APR_EXCL              return error if APR_CREATE and file exists
         APR_DELONCLOSE        delete the file after closing.
         APR_XTHREAD           Platform dependent tag to open the file
                               for use across multiple threads
         APR_SHARELOCK         Platform dependent support for higher
                               level locked read/write access to support
                               writes across process/machines
         APR_FILE_NOCLEANUP    Do not register a cleanup with the pool 
                               passed in on the <em>pool</em> argument (see below).
                               The apr_os_file_t handle in apr_file_t will not
                               be closed when the pool is destroyed.
         APR_SENDFILE_ENABLED  Open with appropriate platform semantics
                               for sendfile operations.  Advisory only,
                               apr_socket_sendfile does not check this flag.
 </pre> </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>perm</em>&nbsp;</td><td>Access permissions for file. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>pool</em>&nbsp;</td><td>The pool to use. </td></tr>
  </table>
</dl>
<dl compact><dt><b>Remarks:</b></dt><dd>If perm is APR_OS_DEFAULT and the file is being created, appropriate default permissions will be used. </dd></dl>

</div>
</div><p>
<a class="anchor" name="g331fd2de287634fc018c87749b23840e"></a><!-- doxytag: member="apr_file_io.h::apr_file_open_stderr" ref="g331fd2de287634fc018c87749b23840e" args="(apr_file_t **thefile, apr_pool_t *pool)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__apr__errno.html#g4cf2ddae3efce70c508ac7fefc1c47f7">apr_status_t</a> apr_file_open_stderr           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__apr__file__io.html#g804ab64a6f58ddcc3da8d9f54b6f51c2">apr_file_t</a> **&nbsp;</td>
          <td class="paramname"> <em>thefile</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__apr__pools.html#g06f17a7732f2d04d8ce7010fbb057a8b">apr_pool_t</a> *&nbsp;</td>
          <td class="paramname"> <em>pool</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Open standard error as an apr file pointer. <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>thefile</em>&nbsp;</td><td>The apr file to use as stderr. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>pool</em>&nbsp;</td><td>The pool to allocate the file out of.</td></tr>
  </table>
</dl>
<dl compact><dt><b>Remarks:</b></dt><dd>The only reason that the apr_file_open_std* functions exist is that you may not always have a stderr/out/in on Windows. This is generally a problem with newer versions of Windows and services.<p>
The other problem is that the C library functions generally work differently on Windows and Unix. So, by using apr_file_open_std* functions, you can get a handle to an APR struct that works with the APR functions which are supposed to work identically on all platforms. </dd></dl>

</div>
</div><p>
<a class="anchor" name="gf9a83bcf887d07112426bd42fdb4c675"></a><!-- doxytag: member="apr_file_io.h::apr_file_open_stdin" ref="gf9a83bcf887d07112426bd42fdb4c675" args="(apr_file_t **thefile, apr_pool_t *pool)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__apr__errno.html#g4cf2ddae3efce70c508ac7fefc1c47f7">apr_status_t</a> apr_file_open_stdin           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__apr__file__io.html#g804ab64a6f58ddcc3da8d9f54b6f51c2">apr_file_t</a> **&nbsp;</td>
          <td class="paramname"> <em>thefile</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__apr__pools.html#g06f17a7732f2d04d8ce7010fbb057a8b">apr_pool_t</a> *&nbsp;</td>
          <td class="paramname"> <em>pool</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
open standard input as an apr file pointer. <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>thefile</em>&nbsp;</td><td>The apr file to use as stdin. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>pool</em>&nbsp;</td><td>The pool to allocate the file out of.</td></tr>
  </table>
</dl>
<dl compact><dt><b>Remarks:</b></dt><dd>See remarks for apr_file_open_stdout. </dd></dl>

</div>
</div><p>
<a class="anchor" name="g6465ea90172e9b67275ad5725f15ce0b"></a><!-- doxytag: member="apr_file_io.h::apr_file_open_stdout" ref="g6465ea90172e9b67275ad5725f15ce0b" args="(apr_file_t **thefile, apr_pool_t *pool)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__apr__errno.html#g4cf2ddae3efce70c508ac7fefc1c47f7">apr_status_t</a> apr_file_open_stdout           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__apr__file__io.html#g804ab64a6f58ddcc3da8d9f54b6f51c2">apr_file_t</a> **&nbsp;</td>
          <td class="paramname"> <em>thefile</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__apr__pools.html#g06f17a7732f2d04d8ce7010fbb057a8b">apr_pool_t</a> *&nbsp;</td>
          <td class="paramname"> <em>pool</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
open standard output as an apr file pointer. <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>thefile</em>&nbsp;</td><td>The apr file to use as stdout. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>pool</em>&nbsp;</td><td>The pool to allocate the file out of.</td></tr>
  </table>
</dl>
<dl compact><dt><b>Remarks:</b></dt><dd>See remarks for apr_file_open_stdout. </dd></dl>

</div>
</div><p>
<a class="anchor" name="g5490158b795f315a64ea9007f3ea9747"></a><!-- doxytag: member="apr_file_io.h::apr_file_perms_set" ref="g5490158b795f315a64ea9007f3ea9747" args="(const char *fname, apr_fileperms_t perms)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__apr__errno.html#g4cf2ddae3efce70c508ac7fefc1c47f7">apr_status_t</a> apr_file_perms_set           </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>fname</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__apr__file__info.html#g7abcb02b2c5dcf95d4f12357facd9bd2">apr_fileperms_t</a>&nbsp;</td>
          <td class="paramname"> <em>perms</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
set the specified file's permission bits. <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>fname</em>&nbsp;</td><td>The file (name) to apply the permissions to. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>perms</em>&nbsp;</td><td>The permission bits to apply to the file.</td></tr>
  </table>
</dl>
<dl compact><dt><b>Warning:</b></dt><dd>Some platforms may not be able to apply all of the available permission bits; APR_INCOMPLETE will be returned if some permissions are specified which could not be set.<p>
Platforms which do not implement this feature will return APR_ENOTIMPL. </dd></dl>

</div>
</div><p>
<a class="anchor" name="gdf3c35302741845a77d2e3244bff71cc"></a><!-- doxytag: member="apr_file_io.h::apr_file_pipe_create" ref="gdf3c35302741845a77d2e3244bff71cc" args="(apr_file_t **in, apr_file_t **out, apr_pool_t *pool)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__apr__errno.html#g4cf2ddae3efce70c508ac7fefc1c47f7">apr_status_t</a> apr_file_pipe_create           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__apr__file__io.html#g804ab64a6f58ddcc3da8d9f54b6f51c2">apr_file_t</a> **&nbsp;</td>
          <td class="paramname"> <em>in</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__apr__file__io.html#g804ab64a6f58ddcc3da8d9f54b6f51c2">apr_file_t</a> **&nbsp;</td>
          <td class="paramname"> <em>out</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__apr__pools.html#g06f17a7732f2d04d8ce7010fbb057a8b">apr_pool_t</a> *&nbsp;</td>
          <td class="paramname"> <em>pool</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Create an anonymous pipe. <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>in</em>&nbsp;</td><td>The file descriptor to use as input to the pipe. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>out</em>&nbsp;</td><td>The file descriptor to use as output from the pipe. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>pool</em>&nbsp;</td><td>The pool to operate on. </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="g78e3a2e019477736df03f8dfadce84a9"></a><!-- doxytag: member="apr_file_io.h::apr_file_pipe_timeout_get" ref="g78e3a2e019477736df03f8dfadce84a9" args="(apr_file_t *thepipe, apr_interval_time_t *timeout)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__apr__errno.html#g4cf2ddae3efce70c508ac7fefc1c47f7">apr_status_t</a> apr_file_pipe_timeout_get           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__apr__file__io.html#g804ab64a6f58ddcc3da8d9f54b6f51c2">apr_file_t</a> *&nbsp;</td>
          <td class="paramname"> <em>thepipe</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__apr__time.html#g4867ccc083452a265915ac7dfafde457">apr_interval_time_t</a> *&nbsp;</td>
          <td class="paramname"> <em>timeout</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get the timeout value for a pipe or manipulate the blocking state. <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>thepipe</em>&nbsp;</td><td>The pipe we are getting a timeout for. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>timeout</em>&nbsp;</td><td>The current timeout value in microseconds. </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="g7c34a0fccf31ddaae121d3145a044bcf"></a><!-- doxytag: member="apr_file_io.h::apr_file_pipe_timeout_set" ref="g7c34a0fccf31ddaae121d3145a044bcf" args="(apr_file_t *thepipe, apr_interval_time_t timeout)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__apr__errno.html#g4cf2ddae3efce70c508ac7fefc1c47f7">apr_status_t</a> apr_file_pipe_timeout_set           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__apr__file__io.html#g804ab64a6f58ddcc3da8d9f54b6f51c2">apr_file_t</a> *&nbsp;</td>
          <td class="paramname"> <em>thepipe</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__apr__time.html#g4867ccc083452a265915ac7dfafde457">apr_interval_time_t</a>&nbsp;</td>
          <td class="paramname"> <em>timeout</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Set the timeout value for a pipe or manipulate the blocking state. <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>thepipe</em>&nbsp;</td><td>The pipe we are setting a timeout on. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>timeout</em>&nbsp;</td><td>The timeout value in microseconds. Values &lt; 0 mean wait forever, 0 means do not wait at all. </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="g532b5e713cb5200801f129bc9311b3fc"></a><!-- doxytag: member="apr_file_io.h::apr_file_pool_get" ref="g532b5e713cb5200801f129bc9311b3fc" args="(const apr_file_t *thefile)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__apr__pools.html#g06f17a7732f2d04d8ce7010fbb057a8b">apr_pool_t</a>* apr_file_pool_get           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="group__apr__file__io.html#g804ab64a6f58ddcc3da8d9f54b6f51c2">apr_file_t</a> *&nbsp;</td>
          <td class="paramname"> <em>thefile</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get the pool used by the file. 
</div>
</div><p>
<a class="anchor" name="g6731ca713b159b22afd3d9cfa4b573ca"></a><!-- doxytag: member="apr_file_io.h::apr_file_printf" ref="g6731ca713b159b22afd3d9cfa4b573ca" args="(apr_file_t *fptr, const char *format,...)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int apr_file_printf           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__apr__file__io.html#g804ab64a6f58ddcc3da8d9f54b6f51c2">apr_file_t</a> *&nbsp;</td>
          <td class="paramname"> <em>fptr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>format</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&nbsp;</td>
          <td class="paramname"> <em>...</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Write a string to a file using a printf format. <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>fptr</em>&nbsp;</td><td>The file to write to. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>format</em>&nbsp;</td><td>The format string </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>...</em>&nbsp;</td><td>The values to substitute in the format string </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>The number of bytes written </dd></dl>

</div>
</div><p>
<a class="anchor" name="g7f704d83255567e07c4a0a8cd37aad05"></a><!-- doxytag: member="apr_file_io.h::apr_file_putc" ref="g7f704d83255567e07c4a0a8cd37aad05" args="(char ch, apr_file_t *thefile)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__apr__errno.html#g4cf2ddae3efce70c508ac7fefc1c47f7">apr_status_t</a> apr_file_putc           </td>
          <td>(</td>
          <td class="paramtype">char&nbsp;</td>
          <td class="paramname"> <em>ch</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__apr__file__io.html#g804ab64a6f58ddcc3da8d9f54b6f51c2">apr_file_t</a> *&nbsp;</td>
          <td class="paramname"> <em>thefile</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Write a character into the specified file. <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>ch</em>&nbsp;</td><td>The character to write. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>thefile</em>&nbsp;</td><td>The file descriptor to write to </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="g4be3b760207c970c498eb33c36a565f0"></a><!-- doxytag: member="apr_file_io.h::apr_file_puts" ref="g4be3b760207c970c498eb33c36a565f0" args="(const char *str, apr_file_t *thefile)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__apr__errno.html#g4cf2ddae3efce70c508ac7fefc1c47f7">apr_status_t</a> apr_file_puts           </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>str</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__apr__file__io.html#g804ab64a6f58ddcc3da8d9f54b6f51c2">apr_file_t</a> *&nbsp;</td>
          <td class="paramname"> <em>thefile</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Write the string into the specified file. <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>str</em>&nbsp;</td><td>The string to write. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>thefile</em>&nbsp;</td><td>The file descriptor to write to </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="gf4201190f4feed489113053d8427ec36"></a><!-- doxytag: member="apr_file_io.h::apr_file_read" ref="gf4201190f4feed489113053d8427ec36" args="(apr_file_t *thefile, void *buf, apr_size_t *nbytes)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__apr__errno.html#g4cf2ddae3efce70c508ac7fefc1c47f7">apr_status_t</a> apr_file_read           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__apr__file__io.html#g804ab64a6f58ddcc3da8d9f54b6f51c2">apr_file_t</a> *&nbsp;</td>
          <td class="paramname"> <em>thefile</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&nbsp;</td>
          <td class="paramname"> <em>buf</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">apr_size_t *&nbsp;</td>
          <td class="paramname"> <em>nbytes</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Read data from the specified file. <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>thefile</em>&nbsp;</td><td>The file descriptor to read from. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>buf</em>&nbsp;</td><td>The buffer to store the data to. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>nbytes</em>&nbsp;</td><td>On entry, the number of bytes to read; on exit, the number of bytes read.</td></tr>
  </table>
</dl>
<dl compact><dt><b>Remarks:</b></dt><dd>apr_file_read will read up to the specified number of bytes, but never more. If there isn't enough data to fill that number of bytes, all of the available data is read. The third argument is modified to reflect the number of bytes read. If a char was put back into the stream via ungetc, it will be the first character returned.<p>
It is not possible for both bytes to be read and an APR_EOF or other error to be returned. APR_EINTR is never returned. </dd></dl>

</div>
</div><p>
<a class="anchor" name="gccd5cd9a83b20014cf1acb343eb15bae"></a><!-- doxytag: member="apr_file_io.h::apr_file_read_full" ref="gccd5cd9a83b20014cf1acb343eb15bae" args="(apr_file_t *thefile, void *buf, apr_size_t nbytes, apr_size_t *bytes_read)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__apr__errno.html#g4cf2ddae3efce70c508ac7fefc1c47f7">apr_status_t</a> apr_file_read_full           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__apr__file__io.html#g804ab64a6f58ddcc3da8d9f54b6f51c2">apr_file_t</a> *&nbsp;</td>
          <td class="paramname"> <em>thefile</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&nbsp;</td>
          <td class="paramname"> <em>buf</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">apr_size_t&nbsp;</td>
          <td class="paramname"> <em>nbytes</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">apr_size_t *&nbsp;</td>
          <td class="paramname"> <em>bytes_read</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Read data from the specified file, ensuring that the buffer is filled before returning. <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>thefile</em>&nbsp;</td><td>The file descriptor to read from. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>buf</em>&nbsp;</td><td>The buffer to store the data to. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>nbytes</em>&nbsp;</td><td>The number of bytes to read. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>bytes_read</em>&nbsp;</td><td>If non-NULL, this will contain the number of bytes read.</td></tr>
  </table>
</dl>
<dl compact><dt><b>Remarks:</b></dt><dd>apr_file_read will read up to the specified number of bytes, but never more. If there isn't enough data to fill that number of bytes, then the process/thread will block until it is available or EOF is reached. If a char was put back into the stream via ungetc, it will be the first character returned.<p>
It is possible for both bytes to be read and an error to be returned. And if *bytes_read is less than nbytes, an accompanying error is _always_ returned.<p>
APR_EINTR is never returned. </dd></dl>

</div>
</div><p>
<a class="anchor" name="g77e517ff7a45eed0ceffa30bc4e9ca99"></a><!-- doxytag: member="apr_file_io.h::apr_file_remove" ref="g77e517ff7a45eed0ceffa30bc4e9ca99" args="(const char *path, apr_pool_t *pool)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__apr__errno.html#g4cf2ddae3efce70c508ac7fefc1c47f7">apr_status_t</a> apr_file_remove           </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>path</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__apr__pools.html#g06f17a7732f2d04d8ce7010fbb057a8b">apr_pool_t</a> *&nbsp;</td>
          <td class="paramname"> <em>pool</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Delete the specified file. <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>path</em>&nbsp;</td><td>The full path to the file (using / on all systems) </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>pool</em>&nbsp;</td><td>The pool to use. </td></tr>
  </table>
</dl>
<dl compact><dt><b>Remarks:</b></dt><dd>If the file is open, it won't be removed until all instances are closed. </dd></dl>

</div>
</div><p>
<a class="anchor" name="gfcfd64d200b1661c5011b8f94a75385c"></a><!-- doxytag: member="apr_file_io.h::apr_file_rename" ref="gfcfd64d200b1661c5011b8f94a75385c" args="(const char *from_path, const char *to_path, apr_pool_t *pool)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__apr__errno.html#g4cf2ddae3efce70c508ac7fefc1c47f7">apr_status_t</a> apr_file_rename           </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>from_path</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>to_path</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__apr__pools.html#g06f17a7732f2d04d8ce7010fbb057a8b">apr_pool_t</a> *&nbsp;</td>
          <td class="paramname"> <em>pool</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Rename the specified file. <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>from_path</em>&nbsp;</td><td>The full path to the original file (using / on all systems) </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>to_path</em>&nbsp;</td><td>The full path to the new file (using / on all systems) </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>pool</em>&nbsp;</td><td>The pool to use. </td></tr>
  </table>
</dl>
<dl compact><dt><b>Warning:</b></dt><dd>If a file exists at the new location, then it will be overwritten. Moving files or directories across devices may not be possible. </dd></dl>

</div>
</div><p>
<a class="anchor" name="ga4a086ea900b8f8081b567a3d098723b"></a><!-- doxytag: member="apr_file_io.h::apr_file_seek" ref="ga4a086ea900b8f8081b567a3d098723b" args="(apr_file_t *thefile, apr_seek_where_t where, apr_off_t *offset)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__apr__errno.html#g4cf2ddae3efce70c508ac7fefc1c47f7">apr_status_t</a> apr_file_seek           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__apr__file__io.html#g804ab64a6f58ddcc3da8d9f54b6f51c2">apr_file_t</a> *&nbsp;</td>
          <td class="paramname"> <em>thefile</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__apr__file__io.html#g9aedc084ad271ca9e8511c72b21c9e23">apr_seek_where_t</a>&nbsp;</td>
          <td class="paramname"> <em>where</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">apr_off_t *&nbsp;</td>
          <td class="paramname"> <em>offset</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Move the read/write file offset to a specified byte within a file. <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>thefile</em>&nbsp;</td><td>The file descriptor </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>where</em>&nbsp;</td><td>How to move the pointer, one of: <pre>
            APR_SET  --  set the offset to offset
            APR_CUR  --  add the offset to the current position 
            APR_END  --  add the offset to the current file size 
 </pre> </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>offset</em>&nbsp;</td><td>The offset to move the pointer to. </td></tr>
  </table>
</dl>
<dl compact><dt><b>Remarks:</b></dt><dd>The third argument is modified to be the offset the pointer was actually moved to. </dd></dl>

</div>
</div><p>
<a class="anchor" name="g593936bd8a0e77e6e91d13e06e45af5f"></a><!-- doxytag: member="apr_file_io.h::apr_file_setaside" ref="g593936bd8a0e77e6e91d13e06e45af5f" args="(apr_file_t **new_file, apr_file_t *old_file, apr_pool_t *p)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__apr__errno.html#g4cf2ddae3efce70c508ac7fefc1c47f7">apr_status_t</a> apr_file_setaside           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__apr__file__io.html#g804ab64a6f58ddcc3da8d9f54b6f51c2">apr_file_t</a> **&nbsp;</td>
          <td class="paramname"> <em>new_file</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__apr__file__io.html#g804ab64a6f58ddcc3da8d9f54b6f51c2">apr_file_t</a> *&nbsp;</td>
          <td class="paramname"> <em>old_file</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__apr__pools.html#g06f17a7732f2d04d8ce7010fbb057a8b">apr_pool_t</a> *&nbsp;</td>
          <td class="paramname"> <em>p</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Move the specified file descriptor to a new pool <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>new_file</em>&nbsp;</td><td>Pointer in which to return the new apr_file_t </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>old_file</em>&nbsp;</td><td>The file to move </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>p</em>&nbsp;</td><td>The pool to which the descriptor is to be moved </td></tr>
  </table>
</dl>
<dl compact><dt><b>Remarks:</b></dt><dd>Unlike <a class="el" href="group__apr__file__io.html#g4d916c2411d30d0ca08a16c84620399b">apr_file_dup2()</a>, this function doesn't do an OS dup() operation on the underlying descriptor; it just moves the descriptor's apr_file_t wrapper to a new pool. <p>
The new pool need not be an ancestor of old_file's pool. <p>
After calling this function, old_file may not be used </dd></dl>

</div>
</div><p>
<a class="anchor" name="g259277b1983e816e0dfc0d5a4bbaee17"></a><!-- doxytag: member="apr_file_io.h::apr_file_trunc" ref="g259277b1983e816e0dfc0d5a4bbaee17" args="(apr_file_t *fp, apr_off_t offset)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__apr__errno.html#g4cf2ddae3efce70c508ac7fefc1c47f7">apr_status_t</a> apr_file_trunc           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__apr__file__io.html#g804ab64a6f58ddcc3da8d9f54b6f51c2">apr_file_t</a> *&nbsp;</td>
          <td class="paramname"> <em>fp</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">apr_off_t&nbsp;</td>
          <td class="paramname"> <em>offset</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Truncate the file's length to the specified offset <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>fp</em>&nbsp;</td><td>The file to truncate </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>offset</em>&nbsp;</td><td>The offset to truncate to. </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="g22b88de091091aa550fccfde2bd6a8a3"></a><!-- doxytag: member="apr_file_io.h::apr_file_ungetc" ref="g22b88de091091aa550fccfde2bd6a8a3" args="(char ch, apr_file_t *thefile)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__apr__errno.html#g4cf2ddae3efce70c508ac7fefc1c47f7">apr_status_t</a> apr_file_ungetc           </td>
          <td>(</td>
          <td class="paramtype">char&nbsp;</td>
          <td class="paramname"> <em>ch</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__apr__file__io.html#g804ab64a6f58ddcc3da8d9f54b6f51c2">apr_file_t</a> *&nbsp;</td>
          <td class="paramname"> <em>thefile</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Put a character back onto a specified stream. <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>ch</em>&nbsp;</td><td>The character to write. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>thefile</em>&nbsp;</td><td>The file descriptor to write to </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="gd17d8d73c82f7f9213f66b5658c45ce6"></a><!-- doxytag: member="apr_file_io.h::apr_file_unlock" ref="gd17d8d73c82f7f9213f66b5658c45ce6" args="(apr_file_t *thefile)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__apr__errno.html#g4cf2ddae3efce70c508ac7fefc1c47f7">apr_status_t</a> apr_file_unlock           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__apr__file__io.html#g804ab64a6f58ddcc3da8d9f54b6f51c2">apr_file_t</a> *&nbsp;</td>
          <td class="paramname"> <em>thefile</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Remove any outstanding locks on the file. <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>thefile</em>&nbsp;</td><td>The file to unlock. </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="g5c73ff8935da9d34a90cf23a49ba7927"></a><!-- doxytag: member="apr_file_io.h::apr_file_write" ref="g5c73ff8935da9d34a90cf23a49ba7927" args="(apr_file_t *thefile, const void *buf, apr_size_t *nbytes)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__apr__errno.html#g4cf2ddae3efce70c508ac7fefc1c47f7">apr_status_t</a> apr_file_write           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__apr__file__io.html#g804ab64a6f58ddcc3da8d9f54b6f51c2">apr_file_t</a> *&nbsp;</td>
          <td class="paramname"> <em>thefile</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const void *&nbsp;</td>
          <td class="paramname"> <em>buf</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">apr_size_t *&nbsp;</td>
          <td class="paramname"> <em>nbytes</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Write data to the specified file. <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>thefile</em>&nbsp;</td><td>The file descriptor to write to. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>buf</em>&nbsp;</td><td>The buffer which contains the data. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>nbytes</em>&nbsp;</td><td>On entry, the number of bytes to write; on exit, the number of bytes written.</td></tr>
  </table>
</dl>
<dl compact><dt><b>Remarks:</b></dt><dd>apr_file_write will write up to the specified number of bytes, but never more. If the OS cannot write that many bytes, it will write as many as it can. The third argument is modified to reflect the * number of bytes written.<p>
It is possible for both bytes to be written and an error to be returned. APR_EINTR is never returned. </dd></dl>

</div>
</div><p>
<a class="anchor" name="g0dcdbd6564c474524a8f234706b2e708"></a><!-- doxytag: member="apr_file_io.h::apr_file_write_full" ref="g0dcdbd6564c474524a8f234706b2e708" args="(apr_file_t *thefile, const void *buf, apr_size_t nbytes, apr_size_t *bytes_written)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__apr__errno.html#g4cf2ddae3efce70c508ac7fefc1c47f7">apr_status_t</a> apr_file_write_full           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__apr__file__io.html#g804ab64a6f58ddcc3da8d9f54b6f51c2">apr_file_t</a> *&nbsp;</td>
          <td class="paramname"> <em>thefile</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const void *&nbsp;</td>
          <td class="paramname"> <em>buf</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">apr_size_t&nbsp;</td>
          <td class="paramname"> <em>nbytes</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">apr_size_t *&nbsp;</td>
          <td class="paramname"> <em>bytes_written</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Write data to the specified file, ensuring that all of the data is written before returning. <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>thefile</em>&nbsp;</td><td>The file descriptor to write to. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>buf</em>&nbsp;</td><td>The buffer which contains the data. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>nbytes</em>&nbsp;</td><td>The number of bytes to write. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>bytes_written</em>&nbsp;</td><td>If non-NULL, set to the number of bytes written.</td></tr>
  </table>
</dl>
<dl compact><dt><b>Remarks:</b></dt><dd>apr_file_write will write up to the specified number of bytes, but never more. If the OS cannot write that many bytes, the process/thread will block until they can be written. Exceptional error such as "out of space" or "pipe closed" will terminate with an error.<p>
It is possible for both bytes to be written and an error to be returned. And if *bytes_written is less than nbytes, an accompanying error is _always_ returned.<p>
APR_EINTR is never returned. </dd></dl>

</div>
</div><p>
<a class="anchor" name="gb3bd19a7883d15063bc6ede46160f983"></a><!-- doxytag: member="apr_file_io.h::apr_file_writev" ref="gb3bd19a7883d15063bc6ede46160f983" args="(apr_file_t *thefile, const struct iovec *vec, apr_size_t nvec, apr_size_t *nbytes)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__apr__errno.html#g4cf2ddae3efce70c508ac7fefc1c47f7">apr_status_t</a> apr_file_writev           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__apr__file__io.html#g804ab64a6f58ddcc3da8d9f54b6f51c2">apr_file_t</a> *&nbsp;</td>
          <td class="paramname"> <em>thefile</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const struct iovec *&nbsp;</td>
          <td class="paramname"> <em>vec</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">apr_size_t&nbsp;</td>
          <td class="paramname"> <em>nvec</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">apr_size_t *&nbsp;</td>
          <td class="paramname"> <em>nbytes</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Write data from iovec array to the specified file. <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>thefile</em>&nbsp;</td><td>The file descriptor to write to. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>vec</em>&nbsp;</td><td>The array from which to get the data to write to the file. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>nvec</em>&nbsp;</td><td>The number of elements in the struct iovec array. This must be smaller than APR_MAX_IOVEC_SIZE. If it isn't, the function will fail with APR_EINVAL. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>nbytes</em>&nbsp;</td><td>The number of bytes written.</td></tr>
  </table>
</dl>
<dl compact><dt><b>Remarks:</b></dt><dd>It is possible for both bytes to be written and an error to be returned. APR_EINTR is never returned.<p>
apr_file_writev is available even if the underlying operating system doesn't provide writev(). </dd></dl>

</div>
</div><p>
<a class="anchor" name="g61343abf4a01221e6923a6efb2cf58cc"></a><!-- doxytag: member="apr_file_io.h::apr_file_writev_full" ref="g61343abf4a01221e6923a6efb2cf58cc" args="(apr_file_t *thefile, const struct iovec *vec, apr_size_t nvec, apr_size_t *nbytes)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__apr__errno.html#g4cf2ddae3efce70c508ac7fefc1c47f7">apr_status_t</a> apr_file_writev_full           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__apr__file__io.html#g804ab64a6f58ddcc3da8d9f54b6f51c2">apr_file_t</a> *&nbsp;</td>
          <td class="paramname"> <em>thefile</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const struct iovec *&nbsp;</td>
          <td class="paramname"> <em>vec</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">apr_size_t&nbsp;</td>
          <td class="paramname"> <em>nvec</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">apr_size_t *&nbsp;</td>
          <td class="paramname"> <em>nbytes</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Write data from iovec array to the specified file, ensuring that all of the data is written before returning. <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>thefile</em>&nbsp;</td><td>The file descriptor to write to. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>vec</em>&nbsp;</td><td>The array from which to get the data to write to the file. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>nvec</em>&nbsp;</td><td>The number of elements in the struct iovec array. This must be smaller than APR_MAX_IOVEC_SIZE. If it isn't, the function will fail with APR_EINVAL. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>nbytes</em>&nbsp;</td><td>The number of bytes written.</td></tr>
  </table>
</dl>
<dl compact><dt><b>Remarks:</b></dt><dd>apr_file_writev_full is available even if the underlying operating system doesn't provide writev(). </dd></dl>

</div>
</div><p>
<a class="anchor" name="gcd6f39b856db056b528b37cceb4874ce"></a><!-- doxytag: member="apr_file_io.h::apr_temp_dir_get" ref="gcd6f39b856db056b528b37cceb4874ce" args="(const char **temp_dir, apr_pool_t *p)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__apr__errno.html#g4cf2ddae3efce70c508ac7fefc1c47f7">apr_status_t</a> apr_temp_dir_get           </td>
          <td>(</td>
          <td class="paramtype">const char **&nbsp;</td>
          <td class="paramname"> <em>temp_dir</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__apr__pools.html#g06f17a7732f2d04d8ce7010fbb057a8b">apr_pool_t</a> *&nbsp;</td>
          <td class="paramname"> <em>p</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Find an existing directory suitable as a temporary storage location. <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>temp_dir</em>&nbsp;</td><td>The temp directory. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>p</em>&nbsp;</td><td>The pool to use for any necessary allocations. </td></tr>
  </table>
</dl>
<dl compact><dt><b>Remarks:</b></dt><dd>This function uses an algorithm to search for a directory that an an application can use for temporary storage. Once such a directory is found, that location is cached by the library. Thus, callers only pay the cost of this algorithm once if that one time is successful. </dd></dl>

</div>
</div><p>
<hr size="1"><address style="align: right;"><small>Generated on Tue May 31 12:43:39 2011 for Apache Portable Runtime by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.7 </small></address>
</body>
</html>