Sophie

Sophie

distrib > CentOS > 5 > x86_64 > by-pkgid > bdbf07027827e6ad7d9208f8a9eaea97 > files > 126

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: Filepath Manipulation 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>Filepath Manipulation Functions<br>
<small>
[<a class="el" href="group__apr__file__info.html">File Information</a>]</small>
</h1><table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Defines</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__filepath.html#g80c88512c8ed7100be9967b18c730a9d">APR_FILEPATH_NOTABOVEROOT</a>&nbsp;&nbsp;&nbsp;0x01</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__filepath.html#g86ce9511273c3cc5d29f02775ac82e20">APR_FILEPATH_SECUREROOTTEST</a>&nbsp;&nbsp;&nbsp;0x02</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__filepath.html#g390cd9d50c245409d984413c553a3dbe">APR_FILEPATH_SECUREROOT</a>&nbsp;&nbsp;&nbsp;0x03</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__filepath.html#gf5a1eca2dd9f6ba61c1589c129764d45">APR_FILEPATH_NOTRELATIVE</a>&nbsp;&nbsp;&nbsp;0x04</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__filepath.html#gcb587fe08245ead4901e070b9ecf2888">APR_FILEPATH_NOTABSOLUTE</a>&nbsp;&nbsp;&nbsp;0x08</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__filepath.html#gfd9b4ae21b6c0fc4b7cf078f4d4d11e7">APR_FILEPATH_NATIVE</a>&nbsp;&nbsp;&nbsp;0x10</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__filepath.html#gac78e3365a5870403cd0ce7b255046b7">APR_FILEPATH_TRUENAME</a>&nbsp;&nbsp;&nbsp;0x20</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__filepath.html#g01f0d4e736b270d38844fb8b5bff808b">APR_FILEPATH_ENCODING_UNKNOWN</a>&nbsp;&nbsp;&nbsp;0</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__filepath.html#gb8aa92fc77a27d0dd3aaecbbeccf7c83">APR_FILEPATH_ENCODING_LOCALE</a>&nbsp;&nbsp;&nbsp;1</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__filepath.html#gbeea9ad230214067f69d59c883c0e3f1">APR_FILEPATH_ENCODING_UTF8</a>&nbsp;&nbsp;&nbsp;2</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__filepath.html#g2d052d2a86cdc10a21c7156fbe2c646f">apr_filepath_root</a> (const char **rootpath, const char **filepath, 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__filepath.html#g32d793a1657645c09ec8dfb4b6fae3b5">apr_filepath_merge</a> (char **newpath, const char *rootpath, const char *addpath, 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__filepath.html#gc27132cd4e0ad10360598212be8ba564">apr_filepath_list_split</a> (<a class="el" href="structapr__array__header__t.html">apr_array_header_t</a> **pathelts, const char *liststr, <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__filepath.html#g15f19c85d49fa807306e0b33e1d3166f">apr_filepath_list_merge</a> (char **liststr, <a class="el" href="structapr__array__header__t.html">apr_array_header_t</a> *pathelts, <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__filepath.html#g953916102e7c1314356158e2a85a7763">apr_filepath_get</a> (char **path, 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__filepath.html#gdc7bd453b140f16e9e610820037c97c8">apr_filepath_set</a> (const char *path, <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__filepath.html#g8c51dabf1b5d8a8a4dbc799c382f0726">apr_filepath_encoding</a> (int *style, <a class="el" href="group__apr__pools.html#g06f17a7732f2d04d8ce7010fbb057a8b">apr_pool_t</a> *p)</td></tr>

</table>
<hr><h2>Define Documentation</h2>
<a class="anchor" name="gb8aa92fc77a27d0dd3aaecbbeccf7c83"></a><!-- doxytag: member="apr_file_info.h::APR_FILEPATH_ENCODING_LOCALE" ref="gb8aa92fc77a27d0dd3aaecbbeccf7c83" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define APR_FILEPATH_ENCODING_LOCALE&nbsp;&nbsp;&nbsp;1          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
The FilePath character encoding is locale-dependent 
</div>
</div><p>
<a class="anchor" name="g01f0d4e736b270d38844fb8b5bff808b"></a><!-- doxytag: member="apr_file_info.h::APR_FILEPATH_ENCODING_UNKNOWN" ref="g01f0d4e736b270d38844fb8b5bff808b" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define APR_FILEPATH_ENCODING_UNKNOWN&nbsp;&nbsp;&nbsp;0          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
The FilePath character encoding is unknown 
</div>
</div><p>
<a class="anchor" name="gbeea9ad230214067f69d59c883c0e3f1"></a><!-- doxytag: member="apr_file_info.h::APR_FILEPATH_ENCODING_UTF8" ref="gbeea9ad230214067f69d59c883c0e3f1" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define APR_FILEPATH_ENCODING_UTF8&nbsp;&nbsp;&nbsp;2          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
The FilePath character encoding is UTF-8 
</div>
</div><p>
<a class="anchor" name="gfd9b4ae21b6c0fc4b7cf078f4d4d11e7"></a><!-- doxytag: member="apr_file_info.h::APR_FILEPATH_NATIVE" ref="gfd9b4ae21b6c0fc4b7cf078f4d4d11e7" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define APR_FILEPATH_NATIVE&nbsp;&nbsp;&nbsp;0x10          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Return the file system's native path format (e.g. path delimiters of ':' on MacOS9, '\' on Win32, etc.) 
</div>
</div><p>
<a class="anchor" name="g80c88512c8ed7100be9967b18c730a9d"></a><!-- doxytag: member="apr_file_info.h::APR_FILEPATH_NOTABOVEROOT" ref="g80c88512c8ed7100be9967b18c730a9d" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define APR_FILEPATH_NOTABOVEROOT&nbsp;&nbsp;&nbsp;0x01          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Cause apr_filepath_merge to fail if addpath is above rootpath 
</div>
</div><p>
<a class="anchor" name="gcb587fe08245ead4901e070b9ecf2888"></a><!-- doxytag: member="apr_file_info.h::APR_FILEPATH_NOTABSOLUTE" ref="gcb587fe08245ead4901e070b9ecf2888" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define APR_FILEPATH_NOTABSOLUTE&nbsp;&nbsp;&nbsp;0x08          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Fail apr_filepath_merge if the merged path is absolute 
</div>
</div><p>
<a class="anchor" name="gf5a1eca2dd9f6ba61c1589c129764d45"></a><!-- doxytag: member="apr_file_info.h::APR_FILEPATH_NOTRELATIVE" ref="gf5a1eca2dd9f6ba61c1589c129764d45" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define APR_FILEPATH_NOTRELATIVE&nbsp;&nbsp;&nbsp;0x04          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Fail apr_filepath_merge if the merged path is relative 
</div>
</div><p>
<a class="anchor" name="g390cd9d50c245409d984413c553a3dbe"></a><!-- doxytag: member="apr_file_info.h::APR_FILEPATH_SECUREROOT" ref="g390cd9d50c245409d984413c553a3dbe" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define APR_FILEPATH_SECUREROOT&nbsp;&nbsp;&nbsp;0x03          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Cause apr_filepath_merge to fail if addpath is above rootpath, even given a rootpath /foo/bar and an addpath ../bar/bash 
</div>
</div><p>
<a class="anchor" name="g86ce9511273c3cc5d29f02775ac82e20"></a><!-- doxytag: member="apr_file_info.h::APR_FILEPATH_SECUREROOTTEST" ref="g86ce9511273c3cc5d29f02775ac82e20" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define APR_FILEPATH_SECUREROOTTEST&nbsp;&nbsp;&nbsp;0x02          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
internal: Only meaningful with APR_FILEPATH_NOTABOVEROOT 
</div>
</div><p>
<a class="anchor" name="gac78e3365a5870403cd0ce7b255046b7"></a><!-- doxytag: member="apr_file_info.h::APR_FILEPATH_TRUENAME" ref="gac78e3365a5870403cd0ce7b255046b7" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define APR_FILEPATH_TRUENAME&nbsp;&nbsp;&nbsp;0x20          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Resolve the true case of existing directories and file elements of addpath, (resolving any aliases on Win32) and append a proper trailing slash if a directory 
</div>
</div><p>
<hr><h2>Function Documentation</h2>
<a class="anchor" name="g8c51dabf1b5d8a8a4dbc799c382f0726"></a><!-- doxytag: member="apr_file_info.h::apr_filepath_encoding" ref="g8c51dabf1b5d8a8a4dbc799c382f0726" args="(int *style, 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_filepath_encoding           </td>
          <td>(</td>
          <td class="paramtype">int *&nbsp;</td>
          <td class="paramname"> <em>style</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>
Determine the encoding used internally by the FilePath functions <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>style</em>&nbsp;</td><td>points to a variable which receives the encoding style flag </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>p</em>&nbsp;</td><td>the pool to allocate any working storage </td></tr>
  </table>
</dl>
<dl compact><dt><b>Remarks:</b></dt><dd>Use <code>apr_os_locale_encoding</code> and/or <code>apr_os_default_encoding</code> to get the name of the path encoding if it's not UTF-8. </dd></dl>

</div>
</div><p>
<a class="anchor" name="g953916102e7c1314356158e2a85a7763"></a><!-- doxytag: member="apr_file_info.h::apr_filepath_get" ref="g953916102e7c1314356158e2a85a7763" args="(char **path, 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_filepath_get           </td>
          <td>(</td>
          <td class="paramtype">char **&nbsp;</td>
          <td class="paramname"> <em>path</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>
Return the default file path (for relative file names) <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 default path string returned </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>flags</em>&nbsp;</td><td>optional flag APR_FILEPATH_NATIVE to retrieve the default file path in os-native format. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>p</em>&nbsp;</td><td>the pool to allocate the default path string from </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="g15f19c85d49fa807306e0b33e1d3166f"></a><!-- doxytag: member="apr_file_info.h::apr_filepath_list_merge" ref="g15f19c85d49fa807306e0b33e1d3166f" args="(char **liststr, apr_array_header_t *pathelts, 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_filepath_list_merge           </td>
          <td>(</td>
          <td class="paramtype">char **&nbsp;</td>
          <td class="paramname"> <em>liststr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structapr__array__header__t.html">apr_array_header_t</a> *&nbsp;</td>
          <td class="paramname"> <em>pathelts</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>
Merge a list of search path components into a single search path <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>liststr</em>&nbsp;</td><td>the returned search path; may be NULL if <em>pathelts</em> is empty </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>pathelts</em>&nbsp;</td><td>the components of the search path </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>p</em>&nbsp;</td><td>the pool to allocate the search path from </td></tr>
  </table>
</dl>
<dl compact><dt><b>Remarks:</b></dt><dd>emtpy strings in the source array are ignored. <p>
the path separator in <em>liststr</em> is system specific; e.g., ':' on Unix, ';' on Windows, etc. </dd></dl>

</div>
</div><p>
<a class="anchor" name="gc27132cd4e0ad10360598212be8ba564"></a><!-- doxytag: member="apr_file_info.h::apr_filepath_list_split" ref="gc27132cd4e0ad10360598212be8ba564" args="(apr_array_header_t **pathelts, const char *liststr, 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_filepath_list_split           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structapr__array__header__t.html">apr_array_header_t</a> **&nbsp;</td>
          <td class="paramname"> <em>pathelts</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>liststr</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>
Split a search path into separate components <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>pathelts</em>&nbsp;</td><td>the returned components of the search path </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>liststr</em>&nbsp;</td><td>the search path (e.g., <code>getenv("PATH")</code>) </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>p</em>&nbsp;</td><td>the pool to allocate the array and path components from </td></tr>
  </table>
</dl>
<dl compact><dt><b>Remarks:</b></dt><dd>empty path componenta do not become part of <em>pathelts</em>. <p>
the path separator in <em>liststr</em> is system specific; e.g., ':' on Unix, ';' on Windows, etc. </dd></dl>

</div>
</div><p>
<a class="anchor" name="g32d793a1657645c09ec8dfb4b6fae3b5"></a><!-- doxytag: member="apr_file_info.h::apr_filepath_merge" ref="g32d793a1657645c09ec8dfb4b6fae3b5" args="(char **newpath, const char *rootpath, const char *addpath, 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_filepath_merge           </td>
          <td>(</td>
          <td class="paramtype">char **&nbsp;</td>
          <td class="paramname"> <em>newpath</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>rootpath</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>addpath</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>
Merge additional file path onto the previously processed rootpath <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>newpath</em>&nbsp;</td><td>the merged paths returned </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>rootpath</em>&nbsp;</td><td>the root file path (NULL uses the current working path) </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>addpath</em>&nbsp;</td><td>the path to add to the root path </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>flags</em>&nbsp;</td><td>the desired APR_FILEPATH_ rules to apply when merging </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>p</em>&nbsp;</td><td>the pool to allocate the new path string from </td></tr>
  </table>
</dl>
<dl compact><dt><b>Remarks:</b></dt><dd>if the flag APR_FILEPATH_TRUENAME is given, and the addpath contains wildcard characters ('*', '?') on platforms that don't support such characters within filenames, the paths will be merged, but the result code will be APR_EPATHWILD, and all further segments will not reflect the true filenames including the wildcard and following segments. </dd></dl>

</div>
</div><p>
<a class="anchor" name="g2d052d2a86cdc10a21c7156fbe2c646f"></a><!-- doxytag: member="apr_file_info.h::apr_filepath_root" ref="g2d052d2a86cdc10a21c7156fbe2c646f" args="(const char **rootpath, const char **filepath, 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_filepath_root           </td>
          <td>(</td>
          <td class="paramtype">const char **&nbsp;</td>
          <td class="paramname"> <em>rootpath</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char **&nbsp;</td>
          <td class="paramname"> <em>filepath</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>
Extract the rootpath from the given filepath <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>rootpath</em>&nbsp;</td><td>the root file path returned with APR_SUCCESS or APR_EINCOMPLETE </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>filepath</em>&nbsp;</td><td>the pathname to parse for its root component </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>flags</em>&nbsp;</td><td>the desired rules to apply, from <pre>
      APR_FILEPATH_NATIVE    Use native path seperators (e.g. '\' on Win32)
      APR_FILEPATH_TRUENAME  Tests that the root exists, and makes it proper
 </pre> </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>p</em>&nbsp;</td><td>the pool to allocate the new path string from </td></tr>
  </table>
</dl>
<dl compact><dt><b>Remarks:</b></dt><dd>on return, filepath points to the first non-root character in the given filepath. In the simplest example, given a filepath of "/foo", returns the rootpath of "/" and filepath points at "foo". This is far more complex on other platforms, which will canonicalize the root form to a consistant format, given the APR_FILEPATH_TRUENAME flag, and also test for the validity of that root (e.g., that a drive d:/ or network share //machine/foovol/). The function returns APR_ERELATIVE if filepath isn't rooted (an error), APR_EINCOMPLETE if the root path is ambigious (but potentially legitimate, e.g. "/" on Windows is incomplete because it doesn't specify the drive letter), or APR_EBADPATH if the root is simply invalid. APR_SUCCESS is returned if filepath is an absolute path. </dd></dl>

</div>
</div><p>
<a class="anchor" name="gdc7bd453b140f16e9e610820037c97c8"></a><!-- doxytag: member="apr_file_info.h::apr_filepath_set" ref="gdc7bd453b140f16e9e610820037c97c8" args="(const char *path, 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_filepath_set           </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>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>
Set the default file path (for relative file names) <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 default path returned </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>p</em>&nbsp;</td><td>the pool to allocate any working storage </td></tr>
  </table>
</dl>

</div>
</div><p>
<hr size="1"><address style="align: right;"><small>Generated on Tue May 31 12:20:26 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>