Sophie

Sophie

distrib > Mandriva > current > i586 > media > main-updates > by-pkgid > e0236b39c613e86bcee76bad717809a5 > files > 200

libapr-devel-1.4.6-0.1mdv2010.2.i586.rpm

<!-- This comment will put IE 6, 7 and 8 in quirks mode -->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>Apache Portable Runtime: Filepath Manipulation Functions</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javaScript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body onload='searchBox.OnSelectItem(0);'>
<!-- Generated by Doxygen 1.6.3 -->
<script type="text/javascript"><!--
var searchBox = new SearchBox("searchBox", "search",false,'Search');
--></script>
<div class="navigation" id="top">
  <div class="tabs">
    <ul>
      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
      <li><a href="pages.html"><span>Related&nbsp;Pages</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>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <img id="MSearchSelect" src="search/search.png"
             onmouseover="return searchBox.OnSearchSelectShow()"
             onmouseout="return searchBox.OnSearchSelectHide()"
             alt=""/>
        <input type="text" id="MSearchField" value="Search" accesskey="S"
             onfocus="searchBox.OnSearchFieldFocus(true)" 
             onblur="searchBox.OnSearchFieldFocus(false)" 
             onkeyup="searchBox.OnSearchFieldChange(event)"/>
        <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
        </div>
      </li>
    </ul>
  </div>
</div>
<div class="contents">
<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 colspan="2"><h2>Defines</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__filepath.html#gabb57ce7b23caf512d7f64b92a662ab3d">APR_FILEPATH_NOTABOVEROOT</a>&nbsp;&nbsp;&nbsp;0x01</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__filepath.html#ga48b6cabfa91e6070c45977ba7035f328">APR_FILEPATH_SECUREROOTTEST</a>&nbsp;&nbsp;&nbsp;0x02</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__filepath.html#ga6a518889311b81e1d2fc434e7d3acecd">APR_FILEPATH_SECUREROOT</a>&nbsp;&nbsp;&nbsp;0x03</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__filepath.html#ga487344eb474ea4033b19c386db9aa03a">APR_FILEPATH_NOTRELATIVE</a>&nbsp;&nbsp;&nbsp;0x04</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__filepath.html#gaac75b8e9fd5c248b52ac36a1fd6b7f98">APR_FILEPATH_NOTABSOLUTE</a>&nbsp;&nbsp;&nbsp;0x08</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__filepath.html#ga2d72ade2cada76d2fa8af3fe4d8fb1de">APR_FILEPATH_NATIVE</a>&nbsp;&nbsp;&nbsp;0x10</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__filepath.html#gafb7dd411e9ef212a03051806cb60c9d8">APR_FILEPATH_TRUENAME</a>&nbsp;&nbsp;&nbsp;0x20</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__filepath.html#ga26cd6345ccc38ae3ad001fd2fa885634">APR_FILEPATH_ENCODING_UNKNOWN</a>&nbsp;&nbsp;&nbsp;0</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__filepath.html#gaecb3193c8e36fbf58564f94b8c38b6d9">APR_FILEPATH_ENCODING_LOCALE</a>&nbsp;&nbsp;&nbsp;1</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__filepath.html#ga1c99d1644a8b49dc0be166bdc352819a">APR_FILEPATH_ENCODING_UTF8</a>&nbsp;&nbsp;&nbsp;2</td></tr>
<tr><td colspan="2"><h2>Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__apr__errno.html#gaf76ee4543247e9fb3f3546203e590a6c">apr_status_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__filepath.html#ga1eacdd5ed069faa137bde014fa50494d">apr_filepath_root</a> (const char **rootpath, const char **filepath, apr_int32_t flags, <a class="el" href="group__apr__pools.html#gaf137f28edcf9a086cd6bc36c20d7cdfb">apr_pool_t</a> *p)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__apr__errno.html#gaf76ee4543247e9fb3f3546203e590a6c">apr_status_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__filepath.html#gae89fd67108f10dc5044b6d062dde0138">apr_filepath_merge</a> (char **newpath, const char *rootpath, const char *addpath, apr_int32_t flags, <a class="el" href="group__apr__pools.html#gaf137f28edcf9a086cd6bc36c20d7cdfb">apr_pool_t</a> *p)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__apr__errno.html#gaf76ee4543247e9fb3f3546203e590a6c">apr_status_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__filepath.html#gaf259849de62ac172dde7dcbe73421500">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#gaf137f28edcf9a086cd6bc36c20d7cdfb">apr_pool_t</a> *p)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__apr__errno.html#gaf76ee4543247e9fb3f3546203e590a6c">apr_status_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__filepath.html#ga8316896ab8e3901f9711d9d4cc89b373">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#gaf137f28edcf9a086cd6bc36c20d7cdfb">apr_pool_t</a> *p)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__apr__errno.html#gaf76ee4543247e9fb3f3546203e590a6c">apr_status_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__filepath.html#gaac7c26321fd60d7304326fe531639507">apr_filepath_get</a> (char **path, apr_int32_t flags, <a class="el" href="group__apr__pools.html#gaf137f28edcf9a086cd6bc36c20d7cdfb">apr_pool_t</a> *p)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__apr__errno.html#gaf76ee4543247e9fb3f3546203e590a6c">apr_status_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__filepath.html#ga9773589b65b7f0b7d5b59d427fd0eb93">apr_filepath_set</a> (const char *path, <a class="el" href="group__apr__pools.html#gaf137f28edcf9a086cd6bc36c20d7cdfb">apr_pool_t</a> *p)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__apr__errno.html#gaf76ee4543247e9fb3f3546203e590a6c">apr_status_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__filepath.html#gad4d3a5888a54a52b3552911e448a3eb3">apr_filepath_encoding</a> (int *style, <a class="el" href="group__apr__pools.html#gaf137f28edcf9a086cd6bc36c20d7cdfb">apr_pool_t</a> *p)</td></tr>
</table>
<hr/><h2>Define Documentation</h2>
<a class="anchor" id="gaecb3193c8e36fbf58564f94b8c38b6d9"></a><!-- doxytag: member="apr_file_info.h::APR_FILEPATH_ENCODING_LOCALE" ref="gaecb3193c8e36fbf58564f94b8c38b6d9" 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 </p>

</div>
</div>
<a class="anchor" id="ga26cd6345ccc38ae3ad001fd2fa885634"></a><!-- doxytag: member="apr_file_info.h::APR_FILEPATH_ENCODING_UNKNOWN" ref="ga26cd6345ccc38ae3ad001fd2fa885634" 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 </p>

</div>
</div>
<a class="anchor" id="ga1c99d1644a8b49dc0be166bdc352819a"></a><!-- doxytag: member="apr_file_info.h::APR_FILEPATH_ENCODING_UTF8" ref="ga1c99d1644a8b49dc0be166bdc352819a" 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 </p>

</div>
</div>
<a class="anchor" id="ga2d72ade2cada76d2fa8af3fe4d8fb1de"></a><!-- doxytag: member="apr_file_info.h::APR_FILEPATH_NATIVE" ref="ga2d72ade2cada76d2fa8af3fe4d8fb1de" 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.) </p>

</div>
</div>
<a class="anchor" id="gabb57ce7b23caf512d7f64b92a662ab3d"></a><!-- doxytag: member="apr_file_info.h::APR_FILEPATH_NOTABOVEROOT" ref="gabb57ce7b23caf512d7f64b92a662ab3d" 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 </p>
<dl class="bug"><dt><b><a class="el" href="bug.html#_bug000002">Bug:</a></b></dt><dd>in APR 0.9 and 1.x, this flag's behavior is undefined if the rootpath is NULL or empty. In APR 2.0 this should be changed to imply NOTABSOLUTE if the rootpath is NULL or empty. </dd></dl>

</div>
</div>
<a class="anchor" id="gaac75b8e9fd5c248b52ac36a1fd6b7f98"></a><!-- doxytag: member="apr_file_info.h::APR_FILEPATH_NOTABSOLUTE" ref="gaac75b8e9fd5c248b52ac36a1fd6b7f98" 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 </p>

</div>
</div>
<a class="anchor" id="ga487344eb474ea4033b19c386db9aa03a"></a><!-- doxytag: member="apr_file_info.h::APR_FILEPATH_NOTRELATIVE" ref="ga487344eb474ea4033b19c386db9aa03a" 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 </p>

</div>
</div>
<a class="anchor" id="ga6a518889311b81e1d2fc434e7d3acecd"></a><!-- doxytag: member="apr_file_info.h::APR_FILEPATH_SECUREROOT" ref="ga6a518889311b81e1d2fc434e7d3acecd" 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 </p>

</div>
</div>
<a class="anchor" id="ga48b6cabfa91e6070c45977ba7035f328"></a><!-- doxytag: member="apr_file_info.h::APR_FILEPATH_SECUREROOTTEST" ref="ga48b6cabfa91e6070c45977ba7035f328" 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 </p>

</div>
</div>
<a class="anchor" id="gafb7dd411e9ef212a03051806cb60c9d8"></a><!-- doxytag: member="apr_file_info.h::APR_FILEPATH_TRUENAME" ref="gafb7dd411e9ef212a03051806cb60c9d8" 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 </p>

</div>
</div>
<hr/><h2>Function Documentation</h2>
<a class="anchor" id="gad4d3a5888a54a52b3552911e448a3eb3"></a><!-- doxytag: member="apr_file_info.h::apr_filepath_encoding" ref="gad4d3a5888a54a52b3552911e448a3eb3" 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#gaf76ee4543247e9fb3f3546203e590a6c">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#gaf137f28edcf9a086cd6bc36c20d7cdfb">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></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Determine the encoding used internally by the FilePath functions </p>
<dl><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>
  </dd>
</dl>
<dl class="remark"><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>
<a class="anchor" id="gaac7c26321fd60d7304326fe531639507"></a><!-- doxytag: member="apr_file_info.h::apr_filepath_get" ref="gaac7c26321fd60d7304326fe531639507" 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#gaf76ee4543247e9fb3f3546203e590a6c">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#gaf137f28edcf9a086cd6bc36c20d7cdfb">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></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Return the default file path (for relative file names) </p>
<dl><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>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ga8316896ab8e3901f9711d9d4cc89b373"></a><!-- doxytag: member="apr_file_info.h::apr_filepath_list_merge" ref="ga8316896ab8e3901f9711d9d4cc89b373" 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#gaf76ee4543247e9fb3f3546203e590a6c">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#gaf137f28edcf9a086cd6bc36c20d7cdfb">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></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Merge a list of search path components into a single search path </p>
<dl><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>
  </dd>
</dl>
<dl class="remark"><dt><b>Remarks:</b></dt><dd>emtpy strings in the source array are ignored. </dd>
<dd>
the path separator in <em>liststr</em> is system specific; e.g., ':' on Unix, ';' on Windows, etc. </dd></dl>

</div>
</div>
<a class="anchor" id="gaf259849de62ac172dde7dcbe73421500"></a><!-- doxytag: member="apr_file_info.h::apr_filepath_list_split" ref="gaf259849de62ac172dde7dcbe73421500" 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#gaf76ee4543247e9fb3f3546203e590a6c">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#gaf137f28edcf9a086cd6bc36c20d7cdfb">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></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Split a search path into separate components </p>
<dl><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>
  </dd>
</dl>
<dl class="remark"><dt><b>Remarks:</b></dt><dd>empty path componenta do not become part of <em>pathelts</em>. </dd>
<dd>
the path separator in <em>liststr</em> is system specific; e.g., ':' on Unix, ';' on Windows, etc. </dd></dl>

</div>
</div>
<a class="anchor" id="gae89fd67108f10dc5044b6d062dde0138"></a><!-- doxytag: member="apr_file_info.h::apr_filepath_merge" ref="gae89fd67108f10dc5044b6d062dde0138" 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#gaf76ee4543247e9fb3f3546203e590a6c">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#gaf137f28edcf9a086cd6bc36c20d7cdfb">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></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Merge additional file path onto the previously processed rootpath </p>
<dl><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>
  </dd>
</dl>
<dl class="remark"><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>
<a class="anchor" id="ga1eacdd5ed069faa137bde014fa50494d"></a><!-- doxytag: member="apr_file_info.h::apr_filepath_root" ref="ga1eacdd5ed069faa137bde014fa50494d" 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#gaf76ee4543247e9fb3f3546203e590a6c">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#gaf137f28edcf9a086cd6bc36c20d7cdfb">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></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Extract the rootpath from the given filepath </p>
<dl><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 </p>
<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>
  </dd>
</dl>
<dl class="remark"><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>
<a class="anchor" id="ga9773589b65b7f0b7d5b59d427fd0eb93"></a><!-- doxytag: member="apr_file_info.h::apr_filepath_set" ref="ga9773589b65b7f0b7d5b59d427fd0eb93" 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#gaf76ee4543247e9fb3f3546203e590a6c">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#gaf137f28edcf9a086cd6bc36c20d7cdfb">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></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Set the default file path (for relative file names) </p>
<dl><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>
  </dd>
</dl>

</div>
</div>
</div>
<!--- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&nbsp;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&nbsp;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&nbsp;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&nbsp;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&nbsp;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&nbsp;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&nbsp;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&nbsp;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&nbsp;</span>Defines</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue Feb 14 10:09:01 2012 for Apache Portable Runtime by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
</body>
</html>