apr-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From bo...@apache.org
Subject svn commit: r598101 [18/31] - in /apr/site/trunk/docs/docs: apr-util/0.9/ apr-util/1.2/ apr-util/trunk/ apr/0.9/ apr/1.2/ apr/trunk/
Date Mon, 26 Nov 2007 01:06:54 GMT
Modified: apr/site/trunk/docs/docs/apr/1.2/apr__file__info_8h-source.html
URL: http://svn.apache.org/viewvc/apr/site/trunk/docs/docs/apr/1.2/apr__file__info_8h-source.html?rev=598101&r1=598100&r2=598101&view=diff
==============================================================================
--- apr/site/trunk/docs/docs/apr/1.2/apr__file__info_8h-source.html (original)
+++ apr/site/trunk/docs/docs/apr/1.2/apr__file__info_8h-source.html Sun Nov 25 17:05:47 2007
@@ -148,309 +148,311 @@
 <a name="l00125"></a><a class="code" href="group__apr__file__info.html#g3af19c4c47007169064a70f9351bc7d8">00125</a> <span class="keyword">typedef</span> apr_int32_t               <a class="code" href="group__apr__file__info.html#g3af19c4c47007169064a70f9351bc7d8">apr_fileperms_t</a>;
 <a name="l00126"></a>00126 <span class="preprocessor">#if (defined WIN32) || (defined NETWARE)</span>
 <a name="l00127"></a>00127 <span class="preprocessor"></span><span class="comment">/**</span>
-<a name="l00128"></a>00128 <span class="comment"> * Structure for determining the inode of the file.</span>
+<a name="l00128"></a>00128 <span class="comment"> * Structure for determining the device the file is on.</span>
 <a name="l00129"></a>00129 <span class="comment"> */</span>
-<a name="l00130"></a>00130 <span class="keyword">typedef</span> apr_uint64_t              <a class="code" href="group__apr__file__info.html#g0a5ae63884288a9f69f4e384a23bad68">apr_ino_t</a>;<span class="comment"></span>
-<a name="l00131"></a>00131 <span class="comment">/**</span>
-<a name="l00132"></a>00132 <span class="comment"> * Structure for determining the device the file is on.</span>
-<a name="l00133"></a>00133 <span class="comment"> */</span>
-<a name="l00134"></a>00134 <span class="keyword">typedef</span> apr_uint32_t              <a class="code" href="group__apr__file__info.html#ge2c25c4b679613081599f776efa96c4a">apr_dev_t</a>;
-<a name="l00135"></a>00135 <span class="preprocessor">#else</span>
-<a name="l00136"></a>00136 <span class="preprocessor"></span><span class="comment">/** The inode of the file. */</span>
-<a name="l00137"></a><a class="code" href="group__apr__file__info.html#g0a5ae63884288a9f69f4e384a23bad68">00137</a> <span class="keyword">typedef</span> ino_t                     apr_ino_t;<span class="comment"></span>
-<a name="l00138"></a>00138 <span class="comment">/**</span>
-<a name="l00139"></a>00139 <span class="comment"> * Structure for determining the device the file is on.</span>
-<a name="l00140"></a>00140 <span class="comment"> */</span>
-<a name="l00141"></a><a class="code" href="group__apr__file__info.html#ge2c25c4b679613081599f776efa96c4a">00141</a> <span class="keyword">typedef</span> dev_t                     apr_dev_t;
-<a name="l00142"></a>00142 <span class="preprocessor">#endif</span>
-<a name="l00143"></a>00143 <span class="preprocessor"></span><span class="comment"></span>
-<a name="l00144"></a>00144 <span class="comment">/**</span>
-<a name="l00145"></a>00145 <span class="comment"> * @defgroup apr_file_stat Stat Functions</span>
-<a name="l00146"></a>00146 <span class="comment"> * @{</span>
-<a name="l00147"></a>00147 <span class="comment"> */</span><span class="comment"></span>
-<a name="l00148"></a>00148 <span class="comment">/** file info structure */</span>
-<a name="l00149"></a><a class="code" href="group__apr__file__stat.html#g3d390fdda1d16ae462c11b2d3b18efd1">00149</a> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="structapr__finfo__t.html">apr_finfo_t</a>        <a class="code" href="group__apr__file__stat.html#g3d390fdda1d16ae462c11b2d3b18efd1">apr_finfo_t</a>;
-<a name="l00150"></a>00150 
-<a name="l00151"></a><a class="code" href="group__apr__file__stat.html#g9b0c1d02401b845f928f836fdd3c6712">00151</a> <span class="preprocessor">#define APR_FINFO_LINK   0x00000001 </span><span class="comment">/**&lt; Stat the link not the file itself if it is a link */</span>
-<a name="l00152"></a><a class="code" href="group__apr__file__stat.html#g992ce1f4f75d519fd2a9d241c5a12515">00152</a> <span class="preprocessor">#define APR_FINFO_MTIME  0x00000010 </span><span class="comment">/**&lt; Modification Time */</span>
-<a name="l00153"></a><a class="code" href="group__apr__file__stat.html#g98bef78baf71fa63b06352704f128bca">00153</a> <span class="preprocessor">#define APR_FINFO_CTIME  0x00000020 </span><span class="comment">/**&lt; Creation or inode-changed time */</span>
-<a name="l00154"></a><a class="code" href="group__apr__file__stat.html#g17d7656d02a35ffc05afe22032a8da15">00154</a> <span class="preprocessor">#define APR_FINFO_ATIME  0x00000040 </span><span class="comment">/**&lt; Access Time */</span>
-<a name="l00155"></a><a class="code" href="group__apr__file__stat.html#gdf72493da450c0b1e3d279e98a973120">00155</a> <span class="preprocessor">#define APR_FINFO_SIZE   0x00000100 </span><span class="comment">/**&lt; Size of the file */</span>
-<a name="l00156"></a><a class="code" href="group__apr__file__stat.html#gf87a09b89935d730cb1ade80d5b6ada0">00156</a> <span class="preprocessor">#define APR_FINFO_CSIZE  0x00000200 </span><span class="comment">/**&lt; Storage size consumed by the file */</span>
-<a name="l00157"></a><a class="code" href="group__apr__file__stat.html#g0890d31145211f62d38dd8e444b5660a">00157</a> <span class="preprocessor">#define APR_FINFO_DEV    0x00001000 </span><span class="comment">/**&lt; Device */</span>
-<a name="l00158"></a><a class="code" href="group__apr__file__stat.html#g4fee7341395912db501b40de81dbba26">00158</a> <span class="preprocessor">#define APR_FINFO_INODE  0x00002000 </span><span class="comment">/**&lt; Inode */</span>
-<a name="l00159"></a><a class="code" href="group__apr__file__stat.html#gbb2ba05b8ed45e59b1f06e1b7b4c91c2">00159</a> <span class="preprocessor">#define APR_FINFO_NLINK  0x00004000 </span><span class="comment">/**&lt; Number of links */</span>
-<a name="l00160"></a><a class="code" href="group__apr__file__stat.html#gd5d25f25527ee77c08bb20aae141306c">00160</a> <span class="preprocessor">#define APR_FINFO_TYPE   0x00008000 </span><span class="comment">/**&lt; Type */</span>
-<a name="l00161"></a><a class="code" href="group__apr__file__stat.html#g599d92111a5cca379a06980025044e12">00161</a> <span class="preprocessor">#define APR_FINFO_USER   0x00010000 </span><span class="comment">/**&lt; User */</span>
-<a name="l00162"></a><a class="code" href="group__apr__file__stat.html#g8420798139d34a88678498aa848803ff">00162</a> <span class="preprocessor">#define APR_FINFO_GROUP  0x00020000 </span><span class="comment">/**&lt; Group */</span>
-<a name="l00163"></a><a class="code" href="group__apr__file__stat.html#gc85e4335fcf91881b11b3e8a4b224aca">00163</a> <span class="preprocessor">#define APR_FINFO_UPROT  0x00100000 </span><span class="comment">/**&lt; User protection bits */</span>
-<a name="l00164"></a><a class="code" href="group__apr__file__stat.html#gdfa294303e34528b1fcae1bc009140c1">00164</a> <span class="preprocessor">#define APR_FINFO_GPROT  0x00200000 </span><span class="comment">/**&lt; Group protection bits */</span>
-<a name="l00165"></a><a class="code" href="group__apr__file__stat.html#gb970792384fe9a805cf66983350eefdc">00165</a> <span class="preprocessor">#define APR_FINFO_WPROT  0x00400000 </span><span class="comment">/**&lt; World protection bits */</span>
-<a name="l00166"></a><a class="code" href="group__apr__file__stat.html#gc46eeba0ae0e771c6ed3cb27fd5492d8">00166</a> <span class="preprocessor">#define APR_FINFO_ICASE  0x01000000 </span><span class="comment">/**&lt; if dev is case insensitive */</span>
-<a name="l00167"></a><a class="code" href="group__apr__file__stat.html#g7fa4caf84808c11a1ec33c5c8d613e4b">00167</a> <span class="preprocessor">#define APR_FINFO_NAME   0x02000000 </span><span class="comment">/**&lt; -&gt;name in proper case */</span>
-<a name="l00168"></a>00168 
-<a name="l00169"></a><a class="code" href="group__apr__file__stat.html#g341104571b05550aa923cb14898a82ef">00169</a> <span class="preprocessor">#define APR_FINFO_MIN    0x00008170 </span><span class="comment">/**&lt; type, mtime, ctime, atime, size */</span>
-<a name="l00170"></a><a class="code" href="group__apr__file__stat.html#g3ac8c8d0492291417be3d32556464108">00170</a> <span class="preprocessor">#define APR_FINFO_IDENT  0x00003000 </span><span class="comment">/**&lt; dev and inode */</span>
-<a name="l00171"></a><a class="code" href="group__apr__file__stat.html#g27dee9407b38a459c57618098c3920b0">00171</a> <span class="preprocessor">#define APR_FINFO_OWNER  0x00030000 </span><span class="comment">/**&lt; user and group */</span>
-<a name="l00172"></a><a class="code" href="group__apr__file__stat.html#gd902be0636860cb3f8ad76a59abbcd7c">00172</a> <span class="preprocessor">#define APR_FINFO_PROT   0x00700000 </span><span class="comment">/**&lt;  all protections */</span>
-<a name="l00173"></a><a class="code" href="group__apr__file__stat.html#gd3f64010d25d2fe926191804d7c99379">00173</a> <span class="preprocessor">#define APR_FINFO_NORM   0x0073b170 </span><span class="comment">/**&lt;  an atomic unix apr_stat() */</span>
-<a name="l00174"></a><a class="code" href="group__apr__file__stat.html#gac6679307cc735f2f0373960db96b931">00174</a> <span class="preprocessor">#define APR_FINFO_DIRENT 0x02000000 </span><span class="comment">/**&lt;  an atomic unix apr_dir_read() */</span>
-<a name="l00175"></a>00175 <span class="comment"></span>
-<a name="l00176"></a>00176 <span class="comment">/**</span>
-<a name="l00177"></a>00177 <span class="comment"> * The file information structure.  This is analogous to the POSIX</span>
-<a name="l00178"></a>00178 <span class="comment"> * stat structure.</span>
-<a name="l00179"></a>00179 <span class="comment"> */</span>
-<a name="l00180"></a><a class="code" href="structapr__finfo__t.html">00180</a> <span class="keyword">struct </span><a class="code" href="group__apr__file__stat.html#g3d390fdda1d16ae462c11b2d3b18efd1">apr_finfo_t</a> {<span class="comment"></span>
-<a name="l00181"></a>00181 <span class="comment">    /** Allocates memory and closes lingering handles in the specified pool */</span>
-<a name="l00182"></a><a class="code" href="structapr__finfo__t.html#71496f86b5489c87e58e9c03fe468fb8">00182</a>     <a class="code" href="group__apr__pools.html#gf137f28edcf9a086cd6bc36c20d7cdfb">apr_pool_t</a> *<a class="code" href="structapr__finfo__t.html#71496f86b5489c87e58e9c03fe468fb8">pool</a>;<span class="comment"></span>
-<a name="l00183"></a>00183 <span class="comment">    /** The bitmask describing valid fields of this apr_finfo_t structure </span>
-<a name="l00184"></a>00184 <span class="comment">     *  including all available 'wanted' fields and potentially more */</span>
-<a name="l00185"></a><a class="code" href="structapr__finfo__t.html#ff0cdf06637edec63c4701e582792019">00185</a>     apr_int32_t <a class="code" href="structapr__finfo__t.html#ff0cdf06637edec63c4701e582792019">valid</a>;<span class="comment"></span>
-<a name="l00186"></a>00186 <span class="comment">    /** The access permissions of the file.  Mimics Unix access rights. */</span>
-<a name="l00187"></a><a class="code" href="structapr__finfo__t.html#7c09d73ad1957e2c0e6c6b77d94e90ab">00187</a>     apr_fileperms_t <a class="code" href="structapr__finfo__t.html#7c09d73ad1957e2c0e6c6b77d94e90ab">protection</a>;<span class="comment"></span>
-<a name="l00188"></a>00188 <span class="comment">    /** The type of file.  One of APR_REG, APR_DIR, APR_CHR, APR_BLK, APR_PIPE, </span>
-<a name="l00189"></a>00189 <span class="comment">     * APR_LNK or APR_SOCK.  If the type is undetermined, the value is APR_NOFILE.</span>
-<a name="l00190"></a>00190 <span class="comment">     * If the type cannot be determined, the value is APR_UNKFILE.</span>
-<a name="l00191"></a>00191 <span class="comment">     */</span>
-<a name="l00192"></a><a class="code" href="structapr__finfo__t.html#274ae0dd60b59182c2e0134bc9a09a20">00192</a>     <a class="code" href="group__apr__file__info.html#ge3f0ce3014337a52b39852f8bf81ca7c">apr_filetype_e</a> <a class="code" href="structapr__finfo__t.html#274ae0dd60b59182c2e0134bc9a09a20">filetype</a>;<span class="comment"></span>
-<a name="l00193"></a>00193 <span class="comment">    /** The user id that owns the file */</span>
-<a name="l00194"></a><a class="code" href="structapr__finfo__t.html#b79d14bd50f50662d29ad433166c4bc5">00194</a>     <a class="code" href="group__apr__user.html#gd1aa508f584bc230acf4f68ba4fc4de7">apr_uid_t</a> <a class="code" href="structapr__finfo__t.html#b79d14bd50f50662d29ad433166c4bc5">user</a>;<span class="comment"></span>
-<a name="l00195"></a>00195 <span class="comment">    /** The group id that owns the file */</span>
-<a name="l00196"></a><a class="code" href="structapr__finfo__t.html#15c9c056330308de4dafb3826a9b02bc">00196</a>     <a class="code" href="group__apr__user.html#g22e9e224e984f837f3e276833e2f3a55">apr_gid_t</a> <a class="code" href="structapr__finfo__t.html#15c9c056330308de4dafb3826a9b02bc">group</a>;<span class="comment"></span>
-<a name="l00197"></a>00197 <span class="comment">    /** The inode of the file. */</span>
-<a name="l00198"></a><a class="code" href="structapr__finfo__t.html#73aebb666ddc391d53a871802c27eed6">00198</a>     apr_ino_t <a class="code" href="structapr__finfo__t.html#73aebb666ddc391d53a871802c27eed6">inode</a>;<span class="comment"></span>
-<a name="l00199"></a>00199 <span class="comment">    /** The id of the device the file is on. */</span>
-<a name="l00200"></a><a class="code" href="structapr__finfo__t.html#38cbfbff641284065481f5907d59c8bf">00200</a>     apr_dev_t <a class="code" href="structapr__finfo__t.html#38cbfbff641284065481f5907d59c8bf">device</a>;<span class="comment"></span>
-<a name="l00201"></a>00201 <span class="comment">    /** The number of hard links to the file. */</span>
-<a name="l00202"></a><a class="code" href="structapr__finfo__t.html#98598f28735d75aa0c1994efc825e6d9">00202</a>     apr_int32_t <a class="code" href="structapr__finfo__t.html#98598f28735d75aa0c1994efc825e6d9">nlink</a>;<span class="comment"></span>
-<a name="l00203"></a>00203 <span class="comment">    /** The size of the file */</span>
-<a name="l00204"></a><a class="code" href="structapr__finfo__t.html#3e47a673c5b82a25a783a732dee6f946">00204</a>     apr_off_t <a class="code" href="structapr__finfo__t.html#3e47a673c5b82a25a783a732dee6f946">size</a>;<span class="comment"></span>
-<a name="l00205"></a>00205 <span class="comment">    /** The storage size consumed by the file */</span>
-<a name="l00206"></a><a class="code" href="structapr__finfo__t.html#eaa4a4def98ad4f162e05c2e2292321d">00206</a>     apr_off_t <a class="code" href="structapr__finfo__t.html#eaa4a4def98ad4f162e05c2e2292321d">csize</a>;<span class="comment"></span>
-<a name="l00207"></a>00207 <span class="comment">    /** The time the file was last accessed */</span>
-<a name="l00208"></a><a class="code" href="structapr__finfo__t.html#d78874e5751e9bba30debb0826eb96a7">00208</a>     <a class="code" href="group__apr__time.html#gdb4bde16055748190eae190c55aa02bb">apr_time_t</a> <a class="code" href="structapr__finfo__t.html#d78874e5751e9bba30debb0826eb96a7">atime</a>;<span class="comment"></span>
-<a name="l00209"></a>00209 <span class="comment">    /** The time the file was last modified */</span>
-<a name="l00210"></a><a class="code" href="structapr__finfo__t.html#fc3bec0f6b3b10160428ba5602a41c60">00210</a>     <a class="code" href="group__apr__time.html#gdb4bde16055748190eae190c55aa02bb">apr_time_t</a> <a class="code" href="structapr__finfo__t.html#fc3bec0f6b3b10160428ba5602a41c60">mtime</a>;<span class="comment"></span>
-<a name="l00211"></a>00211 <span class="comment">    /** The time the file was created, or the inode was last changed */</span>
-<a name="l00212"></a><a class="code" href="structapr__finfo__t.html#ebbdb3dc755d825de3dce901cfba0883">00212</a>     <a class="code" href="group__apr__time.html#gdb4bde16055748190eae190c55aa02bb">apr_time_t</a> <a class="code" href="structapr__finfo__t.html#ebbdb3dc755d825de3dce901cfba0883">ctime</a>;<span class="comment"></span>
-<a name="l00213"></a>00213 <span class="comment">    /** The pathname of the file (possibly unrooted) */</span>
-<a name="l00214"></a><a class="code" href="structapr__finfo__t.html#cfed83ab2943ee7a58a215aa1cfd9e47">00214</a>     <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="structapr__finfo__t.html#cfed83ab2943ee7a58a215aa1cfd9e47">fname</a>;<span class="comment"></span>
-<a name="l00215"></a>00215 <span class="comment">    /** The file's name (no path) in filesystem case */</span>
-<a name="l00216"></a><a class="code" href="structapr__finfo__t.html#2915f9141ea76ae3672ccf9eb0fa77bb">00216</a>     <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="structapr__finfo__t.html#2915f9141ea76ae3672ccf9eb0fa77bb">name</a>;<span class="comment"></span>
-<a name="l00217"></a>00217 <span class="comment">    /** The file's handle, if accessed (can be submitted to apr_duphandle) */</span>
-<a name="l00218"></a><a class="code" href="structapr__finfo__t.html#7858e3d9c5f6ed062d9ff7f5c79b6336">00218</a>     <span class="keyword">struct </span><a class="code" href="group__apr__file__io.html#ga46e4763ac375ea3c7a43ba6f6099e22">apr_file_t</a> *<a class="code" href="structapr__finfo__t.html#7858e3d9c5f6ed062d9ff7f5c79b6336">filehand</a>;
-<a name="l00219"></a>00219 };
-<a name="l00220"></a>00220 <span class="comment"></span>
-<a name="l00221"></a>00221 <span class="comment">/**</span>
-<a name="l00222"></a>00222 <span class="comment"> * get the specified file's stats.  The file is specified by filename, </span>
-<a name="l00223"></a>00223 <span class="comment"> * instead of using a pre-opened file.</span>
-<a name="l00224"></a>00224 <span class="comment"> * @param finfo Where to store the information about the file, which is</span>
-<a name="l00225"></a>00225 <span class="comment"> * never touched if the call fails.</span>
-<a name="l00226"></a>00226 <span class="comment"> * @param fname The name of the file to stat.</span>
-<a name="l00227"></a>00227 <span class="comment"> * @param wanted The desired apr_finfo_t fields, as a bit flag of APR_FINFO_</span>
-<a name="l00228"></a>00228 <span class="comment">                 values </span>
-<a name="l00229"></a>00229 <span class="comment"> * @param pool the pool to use to allocate the new file. </span>
-<a name="l00230"></a>00230 <span class="comment"> *</span>
-<a name="l00231"></a>00231 <span class="comment"> * @note If @c APR_INCOMPLETE is returned all the fields in @a finfo may</span>
-<a name="l00232"></a>00232 <span class="comment"> *       not be filled in, and you need to check the @c finfo-&gt;valid bitmask</span>
-<a name="l00233"></a>00233 <span class="comment"> *       to verify that what you're looking for is there.</span>
-<a name="l00234"></a>00234 <span class="comment"> */</span> 
-<a name="l00235"></a>00235 <a class="code" href="group__apr__platform.html#gd7b91b811a172bfa802603c2fb688f98">APR_DECLARE</a>(<a class="code" href="group__apr__errno.html#gf76ee4543247e9fb3f3546203e590a6c">apr_status_t</a>) <a class="code" href="group__apr__file__stat.html#gfb0f4a4fa4545c155e20ddd8f2001c1a">apr_stat</a>(<a class="code" href="group__apr__file__stat.html#g3d390fdda1d16ae462c11b2d3b18efd1">apr_finfo_t</a> *finfo, const <span class="keywordtype">char</span> *fname,
-<a name="l00236"></a>00236                                    apr_int32_t wanted, <a class="code" href="group__apr__pools.html#gf137f28edcf9a086cd6bc36c20d7cdfb">apr_pool_t</a> *pool);
-<a name="l00237"></a>00237 <span class="comment"></span>
-<a name="l00238"></a>00238 <span class="comment">/** @} */</span><span class="comment"></span>
-<a name="l00239"></a>00239 <span class="comment">/**</span>
-<a name="l00240"></a>00240 <span class="comment"> * @defgroup apr_dir Directory Manipulation Functions</span>
-<a name="l00241"></a>00241 <span class="comment"> * @{</span>
-<a name="l00242"></a>00242 <span class="comment"> */</span>
-<a name="l00243"></a>00243 <span class="comment"></span>
-<a name="l00244"></a>00244 <span class="comment">/**</span>
-<a name="l00245"></a>00245 <span class="comment"> * Open the specified directory.</span>
-<a name="l00246"></a>00246 <span class="comment"> * @param new_dir The opened directory descriptor.</span>
-<a name="l00247"></a>00247 <span class="comment"> * @param dirname The full path to the directory (use / on all systems)</span>
-<a name="l00248"></a>00248 <span class="comment"> * @param pool The pool to use.</span>
-<a name="l00249"></a>00249 <span class="comment"> */</span>                        
-<a name="l00250"></a>00250 <a class="code" href="group__apr__platform.html#gd7b91b811a172bfa802603c2fb688f98">APR_DECLARE</a>(<a class="code" href="group__apr__errno.html#gf76ee4543247e9fb3f3546203e590a6c">apr_status_t</a>) <a class="code" href="group__apr__dir.html#g796002db3e3c7b7c9d5632efbcd4329c">apr_dir_open</a>(apr_dir_t **new_dir, 
-<a name="l00251"></a>00251                                        const <span class="keywordtype">char</span> *dirname, 
-<a name="l00252"></a>00252                                        <a class="code" href="group__apr__pools.html#gf137f28edcf9a086cd6bc36c20d7cdfb">apr_pool_t</a> *pool);
-<a name="l00253"></a>00253 <span class="comment"></span>
-<a name="l00254"></a>00254 <span class="comment">/**</span>
-<a name="l00255"></a>00255 <span class="comment"> * close the specified directory. </span>
-<a name="l00256"></a>00256 <span class="comment"> * @param thedir the directory descriptor to close.</span>
-<a name="l00257"></a>00257 <span class="comment"> */</span>                        
-<a name="l00258"></a>00258 <a class="code" href="group__apr__platform.html#gd7b91b811a172bfa802603c2fb688f98">APR_DECLARE</a>(<a class="code" href="group__apr__errno.html#gf76ee4543247e9fb3f3546203e590a6c">apr_status_t</a>) <a class="code" href="group__apr__dir.html#g57fef00ccea03e9244f6fa21da4d3359">apr_dir_close</a>(apr_dir_t *thedir);
-<a name="l00259"></a>00259 <span class="comment"></span>
-<a name="l00260"></a>00260 <span class="comment">/**</span>
-<a name="l00261"></a>00261 <span class="comment"> * Read the next entry from the specified directory. </span>
-<a name="l00262"></a>00262 <span class="comment"> * @param finfo the file info structure and filled in by apr_dir_read</span>
-<a name="l00263"></a>00263 <span class="comment"> * @param wanted The desired apr_finfo_t fields, as a bit flag of APR_FINFO_</span>
-<a name="l00264"></a>00264 <span class="comment">                 values </span>
-<a name="l00265"></a>00265 <span class="comment"> * @param thedir the directory descriptor returned from apr_dir_open</span>
-<a name="l00266"></a>00266 <span class="comment"> * @remark No ordering is guaranteed for the entries read.</span>
-<a name="l00267"></a>00267 <span class="comment"> *</span>
-<a name="l00268"></a>00268 <span class="comment"> * @note If @c APR_INCOMPLETE is returned all the fields in @a finfo may</span>
-<a name="l00269"></a>00269 <span class="comment"> *       not be filled in, and you need to check the @c finfo-&gt;valid bitmask</span>
-<a name="l00270"></a>00270 <span class="comment"> *       to verify that what you're looking for is there.</span>
-<a name="l00271"></a>00271 <span class="comment"> */</span>                        
-<a name="l00272"></a>00272 <a class="code" href="group__apr__platform.html#gd7b91b811a172bfa802603c2fb688f98">APR_DECLARE</a>(<a class="code" href="group__apr__errno.html#gf76ee4543247e9fb3f3546203e590a6c">apr_status_t</a>) <a class="code" href="group__apr__dir.html#g3e4ee253e0c712160bee10bfb9c8e4a8">apr_dir_read</a>(<a class="code" href="group__apr__file__stat.html#g3d390fdda1d16ae462c11b2d3b18efd1">apr_finfo_t</a> *finfo, apr_int32_t wanted,
-<a name="l00273"></a>00273                                        apr_dir_t *thedir);
-<a name="l00274"></a>00274 <span class="comment"></span>
-<a name="l00275"></a>00275 <span class="comment">/**</span>
-<a name="l00276"></a>00276 <span class="comment"> * Rewind the directory to the first entry.</span>
-<a name="l00277"></a>00277 <span class="comment"> * @param thedir the directory descriptor to rewind.</span>
-<a name="l00278"></a>00278 <span class="comment"> */</span>                        
-<a name="l00279"></a>00279 <a class="code" href="group__apr__platform.html#gd7b91b811a172bfa802603c2fb688f98">APR_DECLARE</a>(<a class="code" href="group__apr__errno.html#gf76ee4543247e9fb3f3546203e590a6c">apr_status_t</a>) <a class="code" href="group__apr__dir.html#gb9b9f23e76128144d3fb953cabea6290">apr_dir_rewind</a>(apr_dir_t *thedir);<span class="comment"></span>
-<a name="l00280"></a>00280 <span class="comment">/** @} */</span>
-<a name="l00281"></a>00281 <span class="comment"></span>
-<a name="l00282"></a>00282 <span class="comment">/**</span>
-<a name="l00283"></a>00283 <span class="comment"> * @defgroup apr_filepath Filepath Manipulation Functions</span>
-<a name="l00284"></a>00284 <span class="comment"> * @{</span>
-<a name="l00285"></a>00285 <span class="comment"> */</span>
-<a name="l00286"></a>00286 <span class="comment"></span>
-<a name="l00287"></a>00287 <span class="comment">/** Cause apr_filepath_merge to fail if addpath is above rootpath */</span>
-<a name="l00288"></a><a class="code" href="group__apr__filepath.html#gbb57ce7b23caf512d7f64b92a662ab3d">00288</a> <span class="preprocessor">#define APR_FILEPATH_NOTABOVEROOT   0x01</span>
-<a name="l00289"></a>00289 <span class="preprocessor"></span><span class="comment"></span>
-<a name="l00290"></a>00290 <span class="comment">/** internal: Only meaningful with APR_FILEPATH_NOTABOVEROOT */</span>
-<a name="l00291"></a><a class="code" href="group__apr__filepath.html#g48b6cabfa91e6070c45977ba7035f328">00291</a> <span class="preprocessor">#define APR_FILEPATH_SECUREROOTTEST 0x02</span>
-<a name="l00292"></a>00292 <span class="preprocessor"></span><span class="comment"></span>
-<a name="l00293"></a>00293 <span class="comment">/** Cause apr_filepath_merge to fail if addpath is above rootpath,</span>
-<a name="l00294"></a>00294 <span class="comment"> * even given a rootpath /foo/bar and an addpath ../bar/bash</span>
-<a name="l00295"></a>00295 <span class="comment"> */</span>
-<a name="l00296"></a><a class="code" href="group__apr__filepath.html#g6a518889311b81e1d2fc434e7d3acecd">00296</a> <span class="preprocessor">#define APR_FILEPATH_SECUREROOT     0x03</span>
-<a name="l00297"></a>00297 <span class="preprocessor"></span><span class="comment"></span>
-<a name="l00298"></a>00298 <span class="comment">/** Fail apr_filepath_merge if the merged path is relative */</span>
-<a name="l00299"></a><a class="code" href="group__apr__filepath.html#g487344eb474ea4033b19c386db9aa03a">00299</a> <span class="preprocessor">#define APR_FILEPATH_NOTRELATIVE    0x04</span>
-<a name="l00300"></a>00300 <span class="preprocessor"></span><span class="comment"></span>
-<a name="l00301"></a>00301 <span class="comment">/** Fail apr_filepath_merge if the merged path is absolute */</span>
-<a name="l00302"></a><a class="code" href="group__apr__filepath.html#gac75b8e9fd5c248b52ac36a1fd6b7f98">00302</a> <span class="preprocessor">#define APR_FILEPATH_NOTABSOLUTE    0x08</span>
-<a name="l00303"></a>00303 <span class="preprocessor"></span><span class="comment"></span>
-<a name="l00304"></a>00304 <span class="comment">/** Return the file system's native path format (e.g. path delimiters</span>
-<a name="l00305"></a>00305 <span class="comment"> * of ':' on MacOS9, '\' on Win32, etc.) */</span>
-<a name="l00306"></a><a class="code" href="group__apr__filepath.html#g2d72ade2cada76d2fa8af3fe4d8fb1de">00306</a> <span class="preprocessor">#define APR_FILEPATH_NATIVE         0x10</span>
-<a name="l00307"></a>00307 <span class="preprocessor"></span><span class="comment"></span>
-<a name="l00308"></a>00308 <span class="comment">/** Resolve the true case of existing directories and file elements</span>
-<a name="l00309"></a>00309 <span class="comment"> * of addpath, (resolving any aliases on Win32) and append a proper </span>
-<a name="l00310"></a>00310 <span class="comment"> * trailing slash if a directory</span>
-<a name="l00311"></a>00311 <span class="comment"> */</span>
-<a name="l00312"></a><a class="code" href="group__apr__filepath.html#gfb7dd411e9ef212a03051806cb60c9d8">00312</a> <span class="preprocessor">#define APR_FILEPATH_TRUENAME       0x20</span>
-<a name="l00313"></a>00313 <span class="preprocessor"></span><span class="comment"></span>
-<a name="l00314"></a>00314 <span class="comment">/**</span>
-<a name="l00315"></a>00315 <span class="comment"> * Extract the rootpath from the given filepath</span>
-<a name="l00316"></a>00316 <span class="comment"> * @param rootpath the root file path returned with APR_SUCCESS or APR_EINCOMPLETE</span>
-<a name="l00317"></a>00317 <span class="comment"> * @param filepath the pathname to parse for its root component</span>
-<a name="l00318"></a>00318 <span class="comment"> * @param flags the desired rules to apply, from</span>
-<a name="l00319"></a>00319 <span class="comment"> * &lt;PRE&gt;</span>
-<a name="l00320"></a>00320 <span class="comment"> *      APR_FILEPATH_NATIVE    Use native path seperators (e.g. '\' on Win32)</span>
-<a name="l00321"></a>00321 <span class="comment"> *      APR_FILEPATH_TRUENAME  Tests that the root exists, and makes it proper</span>
-<a name="l00322"></a>00322 <span class="comment"> * &lt;/PRE&gt;</span>
-<a name="l00323"></a>00323 <span class="comment"> * @param p the pool to allocate the new path string from</span>
-<a name="l00324"></a>00324 <span class="comment"> * @remark on return, filepath points to the first non-root character in the</span>
-<a name="l00325"></a>00325 <span class="comment"> * given filepath.  In the simplest example, given a filepath of "/foo", </span>
-<a name="l00326"></a>00326 <span class="comment"> * returns the rootpath of "/" and filepath points at "foo".  This is far </span>
-<a name="l00327"></a>00327 <span class="comment"> * more complex on other platforms, which will canonicalize the root form</span>
-<a name="l00328"></a>00328 <span class="comment"> * to a consistant format, given the APR_FILEPATH_TRUENAME flag, and also</span>
-<a name="l00329"></a>00329 <span class="comment"> * test for the validity of that root (e.g., that a drive d:/ or network </span>
-<a name="l00330"></a>00330 <span class="comment"> * share //machine/foovol/). </span>
-<a name="l00331"></a>00331 <span class="comment"> * The function returns APR_ERELATIVE if filepath isn't rooted (an</span>
-<a name="l00332"></a>00332 <span class="comment"> * error), APR_EINCOMPLETE if the root path is ambigious (but potentially</span>
-<a name="l00333"></a>00333 <span class="comment"> * legitimate, e.g. "/" on Windows is incomplete because it doesn't specify</span>
-<a name="l00334"></a>00334 <span class="comment"> * the drive letter), or APR_EBADPATH if the root is simply invalid.</span>
-<a name="l00335"></a>00335 <span class="comment"> * APR_SUCCESS is returned if filepath is an absolute path.</span>
-<a name="l00336"></a>00336 <span class="comment"> */</span>
-<a name="l00337"></a>00337 <a class="code" href="group__apr__platform.html#gd7b91b811a172bfa802603c2fb688f98">APR_DECLARE</a>(<a class="code" href="group__apr__errno.html#gf76ee4543247e9fb3f3546203e590a6c">apr_status_t</a>) <a class="code" href="group__apr__filepath.html#g1eacdd5ed069faa137bde014fa50494d">apr_filepath_root</a>(const <span class="keywordtype">char</span> **rootpath, 
-<a name="l00338"></a>00338                                             const <span class="keywordtype">char</span> **filepath, 
-<a name="l00339"></a>00339                                             apr_int32_t flags,
-<a name="l00340"></a>00340                                             <a class="code" href="group__apr__pools.html#gf137f28edcf9a086cd6bc36c20d7cdfb">apr_pool_t</a> *p);
-<a name="l00341"></a>00341 <span class="comment"></span>
-<a name="l00342"></a>00342 <span class="comment">/**</span>
-<a name="l00343"></a>00343 <span class="comment"> * Merge additional file path onto the previously processed rootpath</span>
-<a name="l00344"></a>00344 <span class="comment"> * @param newpath the merged paths returned</span>
-<a name="l00345"></a>00345 <span class="comment"> * @param rootpath the root file path (NULL uses the current working path)</span>
-<a name="l00346"></a>00346 <span class="comment"> * @param addpath the path to add to the root path</span>
-<a name="l00347"></a>00347 <span class="comment"> * @param flags the desired APR_FILEPATH_ rules to apply when merging</span>
-<a name="l00348"></a>00348 <span class="comment"> * @param p the pool to allocate the new path string from</span>
-<a name="l00349"></a>00349 <span class="comment"> * @remark if the flag APR_FILEPATH_TRUENAME is given, and the addpath </span>
-<a name="l00350"></a>00350 <span class="comment"> * contains wildcard characters ('*', '?') on platforms that don't support </span>
-<a name="l00351"></a>00351 <span class="comment"> * such characters within filenames, the paths will be merged, but the </span>
-<a name="l00352"></a>00352 <span class="comment"> * result code will be APR_EPATHWILD, and all further segments will not</span>
-<a name="l00353"></a>00353 <span class="comment"> * reflect the true filenames including the wildcard and following segments.</span>
-<a name="l00354"></a>00354 <span class="comment"> */</span>                        
-<a name="l00355"></a>00355 <a class="code" href="group__apr__platform.html#gd7b91b811a172bfa802603c2fb688f98">APR_DECLARE</a>(<a class="code" href="group__apr__errno.html#gf76ee4543247e9fb3f3546203e590a6c">apr_status_t</a>) <a class="code" href="group__apr__filepath.html#ge89fd67108f10dc5044b6d062dde0138">apr_filepath_merge</a>(<span class="keywordtype">char</span> **newpath, 
-<a name="l00356"></a>00356                                              const <span class="keywordtype">char</span> *rootpath,
-<a name="l00357"></a>00357                                              const <span class="keywordtype">char</span> *addpath, 
-<a name="l00358"></a>00358                                              apr_int32_t flags,
-<a name="l00359"></a>00359                                              <a class="code" href="group__apr__pools.html#gf137f28edcf9a086cd6bc36c20d7cdfb">apr_pool_t</a> *p);
-<a name="l00360"></a>00360 <span class="comment"></span>
-<a name="l00361"></a>00361 <span class="comment">/**</span>
-<a name="l00362"></a>00362 <span class="comment"> * Split a search path into separate components</span>
-<a name="l00363"></a>00363 <span class="comment"> * @param pathelts the returned components of the search path</span>
-<a name="l00364"></a>00364 <span class="comment"> * @param liststr the search path (e.g., &lt;tt&gt;getenv("PATH")&lt;/tt&gt;)</span>
-<a name="l00365"></a>00365 <span class="comment"> * @param p the pool to allocate the array and path components from</span>
-<a name="l00366"></a>00366 <span class="comment"> * @remark empty path componenta do not become part of @a pathelts.</span>
-<a name="l00367"></a>00367 <span class="comment"> * @remark the path separator in @a liststr is system specific;</span>
-<a name="l00368"></a>00368 <span class="comment"> * e.g., ':' on Unix, ';' on Windows, etc.</span>
-<a name="l00369"></a>00369 <span class="comment"> */</span>
-<a name="l00370"></a>00370 <a class="code" href="group__apr__platform.html#gd7b91b811a172bfa802603c2fb688f98">APR_DECLARE</a>(<a class="code" href="group__apr__errno.html#gf76ee4543247e9fb3f3546203e590a6c">apr_status_t</a>) <a class="code" href="group__apr__filepath.html#gf259849de62ac172dde7dcbe73421500">apr_filepath_list_split</a>(<a class="code" href="structapr__array__header__t.html">apr_array_header_t</a> **pathelts,
-<a name="l00371"></a>00371                                                   const <span class="keywordtype">char</span> *liststr,
-<a name="l00372"></a>00372                                                   <a class="code" href="group__apr__pools.html#gf137f28edcf9a086cd6bc36c20d7cdfb">apr_pool_t</a> *p);
-<a name="l00373"></a>00373 <span class="comment"></span>
-<a name="l00374"></a>00374 <span class="comment">/**</span>
-<a name="l00375"></a>00375 <span class="comment"> * Merge a list of search path components into a single search path</span>
-<a name="l00376"></a>00376 <span class="comment"> * @param liststr the returned search path; may be NULL if @a pathelts is empty</span>
-<a name="l00377"></a>00377 <span class="comment"> * @param pathelts the components of the search path</span>
-<a name="l00378"></a>00378 <span class="comment"> * @param p the pool to allocate the search path from</span>
-<a name="l00379"></a>00379 <span class="comment"> * @remark emtpy strings in the source array are ignored.</span>
-<a name="l00380"></a>00380 <span class="comment"> * @remark the path separator in @a liststr is system specific;</span>
-<a name="l00381"></a>00381 <span class="comment"> * e.g., ':' on Unix, ';' on Windows, etc.</span>
-<a name="l00382"></a>00382 <span class="comment"> */</span>
-<a name="l00383"></a>00383 <a class="code" href="group__apr__platform.html#gd7b91b811a172bfa802603c2fb688f98">APR_DECLARE</a>(<a class="code" href="group__apr__errno.html#gf76ee4543247e9fb3f3546203e590a6c">apr_status_t</a>) <a class="code" href="group__apr__filepath.html#g8316896ab8e3901f9711d9d4cc89b373">apr_filepath_list_merge</a>(<span class="keywordtype">char</span> **liststr,
-<a name="l00384"></a>00384                                                   <a class="code" href="structapr__array__header__t.html">apr_array_header_t</a> *pathelts,
-<a name="l00385"></a>00385                                                   <a class="code" href="group__apr__pools.html#gf137f28edcf9a086cd6bc36c20d7cdfb">apr_pool_t</a> *p);
-<a name="l00386"></a>00386 <span class="comment"></span>
-<a name="l00387"></a>00387 <span class="comment">/**</span>
-<a name="l00388"></a>00388 <span class="comment"> * Return the default file path (for relative file names)</span>
-<a name="l00389"></a>00389 <span class="comment"> * @param path the default path string returned</span>
-<a name="l00390"></a>00390 <span class="comment"> * @param flags optional flag APR_FILEPATH_NATIVE to retrieve the</span>
-<a name="l00391"></a>00391 <span class="comment"> *              default file path in os-native format.</span>
-<a name="l00392"></a>00392 <span class="comment"> * @param p the pool to allocate the default path string from</span>
-<a name="l00393"></a>00393 <span class="comment"> */</span>
-<a name="l00394"></a>00394 <a class="code" href="group__apr__platform.html#gd7b91b811a172bfa802603c2fb688f98">APR_DECLARE</a>(<a class="code" href="group__apr__errno.html#gf76ee4543247e9fb3f3546203e590a6c">apr_status_t</a>) <a class="code" href="group__apr__filepath.html#gac7c26321fd60d7304326fe531639507">apr_filepath_get</a>(<span class="keywordtype">char</span> **path, apr_int32_t flags,
-<a name="l00395"></a>00395                                            <a class="code" href="group__apr__pools.html#gf137f28edcf9a086cd6bc36c20d7cdfb">apr_pool_t</a> *p);
-<a name="l00396"></a>00396 <span class="comment"></span>
-<a name="l00397"></a>00397 <span class="comment">/**</span>
-<a name="l00398"></a>00398 <span class="comment"> * Set the default file path (for relative file names)</span>
-<a name="l00399"></a>00399 <span class="comment"> * @param path the default path returned</span>
-<a name="l00400"></a>00400 <span class="comment"> * @param p the pool to allocate any working storage</span>
-<a name="l00401"></a>00401 <span class="comment"> */</span>
-<a name="l00402"></a>00402 <a class="code" href="group__apr__platform.html#gd7b91b811a172bfa802603c2fb688f98">APR_DECLARE</a>(<a class="code" href="group__apr__errno.html#gf76ee4543247e9fb3f3546203e590a6c">apr_status_t</a>) <a class="code" href="group__apr__filepath.html#g9773589b65b7f0b7d5b59d427fd0eb93">apr_filepath_set</a>(const <span class="keywordtype">char</span> *path, <a class="code" href="group__apr__pools.html#gf137f28edcf9a086cd6bc36c20d7cdfb">apr_pool_t</a> *p);
-<a name="l00403"></a>00403 <span class="comment"></span>
-<a name="l00404"></a>00404 <span class="comment">/** The FilePath character encoding is unknown */</span>
-<a name="l00405"></a><a class="code" href="group__apr__filepath.html#g26cd6345ccc38ae3ad001fd2fa885634">00405</a> <span class="preprocessor">#define APR_FILEPATH_ENCODING_UNKNOWN  0</span>
-<a name="l00406"></a>00406 <span class="preprocessor"></span><span class="comment"></span>
-<a name="l00407"></a>00407 <span class="comment">/** The FilePath character encoding is locale-dependent */</span>
-<a name="l00408"></a><a class="code" href="group__apr__filepath.html#gecb3193c8e36fbf58564f94b8c38b6d9">00408</a> <span class="preprocessor">#define APR_FILEPATH_ENCODING_LOCALE   1</span>
-<a name="l00409"></a>00409 <span class="preprocessor"></span><span class="comment"></span>
-<a name="l00410"></a>00410 <span class="comment">/** The FilePath character encoding is UTF-8 */</span>
-<a name="l00411"></a><a class="code" href="group__apr__filepath.html#g1c99d1644a8b49dc0be166bdc352819a">00411</a> <span class="preprocessor">#define APR_FILEPATH_ENCODING_UTF8     2</span>
-<a name="l00412"></a>00412 <span class="preprocessor"></span><span class="comment"></span>
-<a name="l00413"></a>00413 <span class="comment">/**</span>
-<a name="l00414"></a>00414 <span class="comment"> * Determine the encoding used internally by the FilePath functions</span>
-<a name="l00415"></a>00415 <span class="comment"> * @param style points to a variable which receives the encoding style flag</span>
-<a name="l00416"></a>00416 <span class="comment"> * @param p the pool to allocate any working storage</span>
-<a name="l00417"></a>00417 <span class="comment"> * @remark Use @c apr_os_locale_encoding and/or @c apr_os_default_encoding</span>
-<a name="l00418"></a>00418 <span class="comment"> * to get the name of the path encoding if it's not UTF-8.</span>
-<a name="l00419"></a>00419 <span class="comment"> */</span>
-<a name="l00420"></a>00420 <a class="code" href="group__apr__platform.html#gd7b91b811a172bfa802603c2fb688f98">APR_DECLARE</a>(<a class="code" href="group__apr__errno.html#gf76ee4543247e9fb3f3546203e590a6c">apr_status_t</a>) <a class="code" href="group__apr__filepath.html#gd4d3a5888a54a52b3552911e448a3eb3">apr_filepath_encoding</a>(<span class="keywordtype">int</span> *style, <a class="code" href="group__apr__pools.html#gf137f28edcf9a086cd6bc36c20d7cdfb">apr_pool_t</a> *p);<span class="comment"></span>
-<a name="l00421"></a>00421 <span class="comment">/** @} */</span>
-<a name="l00422"></a>00422 <span class="comment"></span>
+<a name="l00130"></a>00130 <span class="keyword">typedef</span> apr_uint32_t              <a class="code" href="group__apr__file__info.html#ge2c25c4b679613081599f776efa96c4a">apr_dev_t</a>;
+<a name="l00131"></a>00131 <span class="preprocessor">#else</span>
+<a name="l00132"></a>00132 <span class="preprocessor"></span><span class="comment">/**</span>
+<a name="l00133"></a>00133 <span class="comment"> * Structure for determining the device the file is on.</span>
+<a name="l00134"></a>00134 <span class="comment"> */</span>
+<a name="l00135"></a><a class="code" href="group__apr__file__info.html#ge2c25c4b679613081599f776efa96c4a">00135</a> <span class="keyword">typedef</span> dev_t                     apr_dev_t;
+<a name="l00136"></a>00136 <span class="preprocessor">#endif</span>
+<a name="l00137"></a>00137 <span class="preprocessor"></span>
+<a name="l00138"></a>00138 <span class="comment">/* See apr.h.in (.hw or .hnw) for the declaration of apr_ino_t,</span>
+<a name="l00139"></a>00139 <span class="comment"> * but as we don't want to break users who author for 1.2.x, we</span>
+<a name="l00140"></a>00140 <span class="comment"> * can't present this type until they have included apr_file_info.h</span>
+<a name="l00141"></a>00141 <span class="comment"> * where it was originally declared in release 1.2.0.</span>
+<a name="l00142"></a>00142 <span class="comment"> * Unmask it for use here.</span>
+<a name="l00143"></a>00143 <span class="comment"> */</span>
+<a name="l00144"></a>00144 <span class="preprocessor">#undef apr_ino_t</span>
+<a name="l00145"></a>00145 <span class="preprocessor"></span><span class="comment"></span>
+<a name="l00146"></a>00146 <span class="comment">/**</span>
+<a name="l00147"></a>00147 <span class="comment"> * @defgroup apr_file_stat Stat Functions</span>
+<a name="l00148"></a>00148 <span class="comment"> * @{</span>
+<a name="l00149"></a>00149 <span class="comment"> */</span><span class="comment"></span>
+<a name="l00150"></a>00150 <span class="comment">/** file info structure */</span>
+<a name="l00151"></a><a class="code" href="group__apr__file__stat.html#g3d390fdda1d16ae462c11b2d3b18efd1">00151</a> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="structapr__finfo__t.html">apr_finfo_t</a>        <a class="code" href="group__apr__file__stat.html#g3d390fdda1d16ae462c11b2d3b18efd1">apr_finfo_t</a>;
+<a name="l00152"></a>00152 
+<a name="l00153"></a><a class="code" href="group__apr__file__stat.html#g9b0c1d02401b845f928f836fdd3c6712">00153</a> <span class="preprocessor">#define APR_FINFO_LINK   0x00000001 </span><span class="comment">/**&lt; Stat the link not the file itself if it is a link */</span>
+<a name="l00154"></a><a class="code" href="group__apr__file__stat.html#g992ce1f4f75d519fd2a9d241c5a12515">00154</a> <span class="preprocessor">#define APR_FINFO_MTIME  0x00000010 </span><span class="comment">/**&lt; Modification Time */</span>
+<a name="l00155"></a><a class="code" href="group__apr__file__stat.html#g98bef78baf71fa63b06352704f128bca">00155</a> <span class="preprocessor">#define APR_FINFO_CTIME  0x00000020 </span><span class="comment">/**&lt; Creation or inode-changed time */</span>
+<a name="l00156"></a><a class="code" href="group__apr__file__stat.html#g17d7656d02a35ffc05afe22032a8da15">00156</a> <span class="preprocessor">#define APR_FINFO_ATIME  0x00000040 </span><span class="comment">/**&lt; Access Time */</span>
+<a name="l00157"></a><a class="code" href="group__apr__file__stat.html#gdf72493da450c0b1e3d279e98a973120">00157</a> <span class="preprocessor">#define APR_FINFO_SIZE   0x00000100 </span><span class="comment">/**&lt; Size of the file */</span>
+<a name="l00158"></a><a class="code" href="group__apr__file__stat.html#gf87a09b89935d730cb1ade80d5b6ada0">00158</a> <span class="preprocessor">#define APR_FINFO_CSIZE  0x00000200 </span><span class="comment">/**&lt; Storage size consumed by the file */</span>
+<a name="l00159"></a><a class="code" href="group__apr__file__stat.html#g0890d31145211f62d38dd8e444b5660a">00159</a> <span class="preprocessor">#define APR_FINFO_DEV    0x00001000 </span><span class="comment">/**&lt; Device */</span>
+<a name="l00160"></a><a class="code" href="group__apr__file__stat.html#g4fee7341395912db501b40de81dbba26">00160</a> <span class="preprocessor">#define APR_FINFO_INODE  0x00002000 </span><span class="comment">/**&lt; Inode */</span>
+<a name="l00161"></a><a class="code" href="group__apr__file__stat.html#gbb2ba05b8ed45e59b1f06e1b7b4c91c2">00161</a> <span class="preprocessor">#define APR_FINFO_NLINK  0x00004000 </span><span class="comment">/**&lt; Number of links */</span>
+<a name="l00162"></a><a class="code" href="group__apr__file__stat.html#gd5d25f25527ee77c08bb20aae141306c">00162</a> <span class="preprocessor">#define APR_FINFO_TYPE   0x00008000 </span><span class="comment">/**&lt; Type */</span>
+<a name="l00163"></a><a class="code" href="group__apr__file__stat.html#g599d92111a5cca379a06980025044e12">00163</a> <span class="preprocessor">#define APR_FINFO_USER   0x00010000 </span><span class="comment">/**&lt; User */</span>
+<a name="l00164"></a><a class="code" href="group__apr__file__stat.html#g8420798139d34a88678498aa848803ff">00164</a> <span class="preprocessor">#define APR_FINFO_GROUP  0x00020000 </span><span class="comment">/**&lt; Group */</span>
+<a name="l00165"></a><a class="code" href="group__apr__file__stat.html#gc85e4335fcf91881b11b3e8a4b224aca">00165</a> <span class="preprocessor">#define APR_FINFO_UPROT  0x00100000 </span><span class="comment">/**&lt; User protection bits */</span>
+<a name="l00166"></a><a class="code" href="group__apr__file__stat.html#gdfa294303e34528b1fcae1bc009140c1">00166</a> <span class="preprocessor">#define APR_FINFO_GPROT  0x00200000 </span><span class="comment">/**&lt; Group protection bits */</span>
+<a name="l00167"></a><a class="code" href="group__apr__file__stat.html#gb970792384fe9a805cf66983350eefdc">00167</a> <span class="preprocessor">#define APR_FINFO_WPROT  0x00400000 </span><span class="comment">/**&lt; World protection bits */</span>
+<a name="l00168"></a><a class="code" href="group__apr__file__stat.html#gc46eeba0ae0e771c6ed3cb27fd5492d8">00168</a> <span class="preprocessor">#define APR_FINFO_ICASE  0x01000000 </span><span class="comment">/**&lt; if dev is case insensitive */</span>
+<a name="l00169"></a><a class="code" href="group__apr__file__stat.html#g7fa4caf84808c11a1ec33c5c8d613e4b">00169</a> <span class="preprocessor">#define APR_FINFO_NAME   0x02000000 </span><span class="comment">/**&lt; -&gt;name in proper case */</span>
+<a name="l00170"></a>00170 
+<a name="l00171"></a><a class="code" href="group__apr__file__stat.html#g341104571b05550aa923cb14898a82ef">00171</a> <span class="preprocessor">#define APR_FINFO_MIN    0x00008170 </span><span class="comment">/**&lt; type, mtime, ctime, atime, size */</span>
+<a name="l00172"></a><a class="code" href="group__apr__file__stat.html#g3ac8c8d0492291417be3d32556464108">00172</a> <span class="preprocessor">#define APR_FINFO_IDENT  0x00003000 </span><span class="comment">/**&lt; dev and inode */</span>
+<a name="l00173"></a><a class="code" href="group__apr__file__stat.html#g27dee9407b38a459c57618098c3920b0">00173</a> <span class="preprocessor">#define APR_FINFO_OWNER  0x00030000 </span><span class="comment">/**&lt; user and group */</span>
+<a name="l00174"></a><a class="code" href="group__apr__file__stat.html#gd902be0636860cb3f8ad76a59abbcd7c">00174</a> <span class="preprocessor">#define APR_FINFO_PROT   0x00700000 </span><span class="comment">/**&lt;  all protections */</span>
+<a name="l00175"></a><a class="code" href="group__apr__file__stat.html#gd3f64010d25d2fe926191804d7c99379">00175</a> <span class="preprocessor">#define APR_FINFO_NORM   0x0073b170 </span><span class="comment">/**&lt;  an atomic unix apr_stat() */</span>
+<a name="l00176"></a><a class="code" href="group__apr__file__stat.html#gac6679307cc735f2f0373960db96b931">00176</a> <span class="preprocessor">#define APR_FINFO_DIRENT 0x02000000 </span><span class="comment">/**&lt;  an atomic unix apr_dir_read() */</span>
+<a name="l00177"></a>00177 <span class="comment"></span>
+<a name="l00178"></a>00178 <span class="comment">/**</span>
+<a name="l00179"></a>00179 <span class="comment"> * The file information structure.  This is analogous to the POSIX</span>
+<a name="l00180"></a>00180 <span class="comment"> * stat structure.</span>
+<a name="l00181"></a>00181 <span class="comment"> */</span>
+<a name="l00182"></a><a class="code" href="structapr__finfo__t.html">00182</a> <span class="keyword">struct </span><a class="code" href="group__apr__file__stat.html#g3d390fdda1d16ae462c11b2d3b18efd1">apr_finfo_t</a> {<span class="comment"></span>
+<a name="l00183"></a>00183 <span class="comment">    /** Allocates memory and closes lingering handles in the specified pool */</span>
+<a name="l00184"></a><a class="code" href="structapr__finfo__t.html#71496f86b5489c87e58e9c03fe468fb8">00184</a>     <a class="code" href="group__apr__pools.html#gf137f28edcf9a086cd6bc36c20d7cdfb">apr_pool_t</a> *<a class="code" href="structapr__finfo__t.html#71496f86b5489c87e58e9c03fe468fb8">pool</a>;<span class="comment"></span>
+<a name="l00185"></a>00185 <span class="comment">    /** The bitmask describing valid fields of this apr_finfo_t structure </span>
+<a name="l00186"></a>00186 <span class="comment">     *  including all available 'wanted' fields and potentially more */</span>
+<a name="l00187"></a><a class="code" href="structapr__finfo__t.html#ff0cdf06637edec63c4701e582792019">00187</a>     apr_int32_t <a class="code" href="structapr__finfo__t.html#ff0cdf06637edec63c4701e582792019">valid</a>;<span class="comment"></span>
+<a name="l00188"></a>00188 <span class="comment">    /** The access permissions of the file.  Mimics Unix access rights. */</span>
+<a name="l00189"></a><a class="code" href="structapr__finfo__t.html#7c09d73ad1957e2c0e6c6b77d94e90ab">00189</a>     apr_fileperms_t <a class="code" href="structapr__finfo__t.html#7c09d73ad1957e2c0e6c6b77d94e90ab">protection</a>;<span class="comment"></span>
+<a name="l00190"></a>00190 <span class="comment">    /** The type of file.  One of APR_REG, APR_DIR, APR_CHR, APR_BLK, APR_PIPE, </span>
+<a name="l00191"></a>00191 <span class="comment">     * APR_LNK or APR_SOCK.  If the type is undetermined, the value is APR_NOFILE.</span>
+<a name="l00192"></a>00192 <span class="comment">     * If the type cannot be determined, the value is APR_UNKFILE.</span>
+<a name="l00193"></a>00193 <span class="comment">     */</span>
+<a name="l00194"></a><a class="code" href="structapr__finfo__t.html#274ae0dd60b59182c2e0134bc9a09a20">00194</a>     <a class="code" href="group__apr__file__info.html#ge3f0ce3014337a52b39852f8bf81ca7c">apr_filetype_e</a> <a class="code" href="structapr__finfo__t.html#274ae0dd60b59182c2e0134bc9a09a20">filetype</a>;<span class="comment"></span>
+<a name="l00195"></a>00195 <span class="comment">    /** The user id that owns the file */</span>
+<a name="l00196"></a><a class="code" href="structapr__finfo__t.html#b79d14bd50f50662d29ad433166c4bc5">00196</a>     <a class="code" href="group__apr__user.html#gd1aa508f584bc230acf4f68ba4fc4de7">apr_uid_t</a> <a class="code" href="structapr__finfo__t.html#b79d14bd50f50662d29ad433166c4bc5">user</a>;<span class="comment"></span>
+<a name="l00197"></a>00197 <span class="comment">    /** The group id that owns the file */</span>
+<a name="l00198"></a><a class="code" href="structapr__finfo__t.html#15c9c056330308de4dafb3826a9b02bc">00198</a>     <a class="code" href="group__apr__user.html#g22e9e224e984f837f3e276833e2f3a55">apr_gid_t</a> <a class="code" href="structapr__finfo__t.html#15c9c056330308de4dafb3826a9b02bc">group</a>;<span class="comment"></span>
+<a name="l00199"></a>00199 <span class="comment">    /** The inode of the file. */</span>
+<a name="l00200"></a><a class="code" href="structapr__finfo__t.html#73aebb666ddc391d53a871802c27eed6">00200</a>     apr_ino_t <a class="code" href="structapr__finfo__t.html#73aebb666ddc391d53a871802c27eed6">inode</a>;<span class="comment"></span>
+<a name="l00201"></a>00201 <span class="comment">    /** The id of the device the file is on. */</span>
+<a name="l00202"></a><a class="code" href="structapr__finfo__t.html#38cbfbff641284065481f5907d59c8bf">00202</a>     apr_dev_t <a class="code" href="structapr__finfo__t.html#38cbfbff641284065481f5907d59c8bf">device</a>;<span class="comment"></span>
+<a name="l00203"></a>00203 <span class="comment">    /** The number of hard links to the file. */</span>
+<a name="l00204"></a><a class="code" href="structapr__finfo__t.html#98598f28735d75aa0c1994efc825e6d9">00204</a>     apr_int32_t <a class="code" href="structapr__finfo__t.html#98598f28735d75aa0c1994efc825e6d9">nlink</a>;<span class="comment"></span>
+<a name="l00205"></a>00205 <span class="comment">    /** The size of the file */</span>
+<a name="l00206"></a><a class="code" href="structapr__finfo__t.html#3e47a673c5b82a25a783a732dee6f946">00206</a>     apr_off_t <a class="code" href="structapr__finfo__t.html#3e47a673c5b82a25a783a732dee6f946">size</a>;<span class="comment"></span>
+<a name="l00207"></a>00207 <span class="comment">    /** The storage size consumed by the file */</span>
+<a name="l00208"></a><a class="code" href="structapr__finfo__t.html#eaa4a4def98ad4f162e05c2e2292321d">00208</a>     apr_off_t <a class="code" href="structapr__finfo__t.html#eaa4a4def98ad4f162e05c2e2292321d">csize</a>;<span class="comment"></span>
+<a name="l00209"></a>00209 <span class="comment">    /** The time the file was last accessed */</span>
+<a name="l00210"></a><a class="code" href="structapr__finfo__t.html#d78874e5751e9bba30debb0826eb96a7">00210</a>     <a class="code" href="group__apr__time.html#gdb4bde16055748190eae190c55aa02bb">apr_time_t</a> <a class="code" href="structapr__finfo__t.html#d78874e5751e9bba30debb0826eb96a7">atime</a>;<span class="comment"></span>
+<a name="l00211"></a>00211 <span class="comment">    /** The time the file was last modified */</span>
+<a name="l00212"></a><a class="code" href="structapr__finfo__t.html#fc3bec0f6b3b10160428ba5602a41c60">00212</a>     <a class="code" href="group__apr__time.html#gdb4bde16055748190eae190c55aa02bb">apr_time_t</a> <a class="code" href="structapr__finfo__t.html#fc3bec0f6b3b10160428ba5602a41c60">mtime</a>;<span class="comment"></span>
+<a name="l00213"></a>00213 <span class="comment">    /** The time the file was created, or the inode was last changed */</span>
+<a name="l00214"></a><a class="code" href="structapr__finfo__t.html#ebbdb3dc755d825de3dce901cfba0883">00214</a>     <a class="code" href="group__apr__time.html#gdb4bde16055748190eae190c55aa02bb">apr_time_t</a> <a class="code" href="structapr__finfo__t.html#ebbdb3dc755d825de3dce901cfba0883">ctime</a>;<span class="comment"></span>
+<a name="l00215"></a>00215 <span class="comment">    /** The pathname of the file (possibly unrooted) */</span>
+<a name="l00216"></a><a class="code" href="structapr__finfo__t.html#cfed83ab2943ee7a58a215aa1cfd9e47">00216</a>     <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="structapr__finfo__t.html#cfed83ab2943ee7a58a215aa1cfd9e47">fname</a>;<span class="comment"></span>
+<a name="l00217"></a>00217 <span class="comment">    /** The file's name (no path) in filesystem case */</span>
+<a name="l00218"></a><a class="code" href="structapr__finfo__t.html#2915f9141ea76ae3672ccf9eb0fa77bb">00218</a>     <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="structapr__finfo__t.html#2915f9141ea76ae3672ccf9eb0fa77bb">name</a>;<span class="comment"></span>
+<a name="l00219"></a>00219 <span class="comment">    /** The file's handle, if accessed (can be submitted to apr_duphandle) */</span>
+<a name="l00220"></a><a class="code" href="structapr__finfo__t.html#7858e3d9c5f6ed062d9ff7f5c79b6336">00220</a>     <span class="keyword">struct </span><a class="code" href="group__apr__file__io.html#ga46e4763ac375ea3c7a43ba6f6099e22">apr_file_t</a> *<a class="code" href="structapr__finfo__t.html#7858e3d9c5f6ed062d9ff7f5c79b6336">filehand</a>;
+<a name="l00221"></a>00221 };
+<a name="l00222"></a>00222 <span class="comment"></span>
+<a name="l00223"></a>00223 <span class="comment">/**</span>
+<a name="l00224"></a>00224 <span class="comment"> * get the specified file's stats.  The file is specified by filename, </span>
+<a name="l00225"></a>00225 <span class="comment"> * instead of using a pre-opened file.</span>
+<a name="l00226"></a>00226 <span class="comment"> * @param finfo Where to store the information about the file, which is</span>
+<a name="l00227"></a>00227 <span class="comment"> * never touched if the call fails.</span>
+<a name="l00228"></a>00228 <span class="comment"> * @param fname The name of the file to stat.</span>
+<a name="l00229"></a>00229 <span class="comment"> * @param wanted The desired apr_finfo_t fields, as a bit flag of APR_FINFO_</span>
+<a name="l00230"></a>00230 <span class="comment">                 values </span>
+<a name="l00231"></a>00231 <span class="comment"> * @param pool the pool to use to allocate the new file. </span>
+<a name="l00232"></a>00232 <span class="comment"> *</span>
+<a name="l00233"></a>00233 <span class="comment"> * @note If @c APR_INCOMPLETE is returned all the fields in @a finfo may</span>
+<a name="l00234"></a>00234 <span class="comment"> *       not be filled in, and you need to check the @c finfo-&gt;valid bitmask</span>
+<a name="l00235"></a>00235 <span class="comment"> *       to verify that what you're looking for is there.</span>
+<a name="l00236"></a>00236 <span class="comment"> */</span> 
+<a name="l00237"></a>00237 <a class="code" href="group__apr__platform.html#gd7b91b811a172bfa802603c2fb688f98">APR_DECLARE</a>(<a class="code" href="group__apr__errno.html#gf76ee4543247e9fb3f3546203e590a6c">apr_status_t</a>) <a class="code" href="group__apr__file__stat.html#gfb0f4a4fa4545c155e20ddd8f2001c1a">apr_stat</a>(<a class="code" href="group__apr__file__stat.html#g3d390fdda1d16ae462c11b2d3b18efd1">apr_finfo_t</a> *finfo, const <span class="keywordtype">char</span> *fname,
+<a name="l00238"></a>00238                                    apr_int32_t wanted, <a class="code" href="group__apr__pools.html#gf137f28edcf9a086cd6bc36c20d7cdfb">apr_pool_t</a> *pool);
+<a name="l00239"></a>00239 <span class="comment"></span>
+<a name="l00240"></a>00240 <span class="comment">/** @} */</span><span class="comment"></span>
+<a name="l00241"></a>00241 <span class="comment">/**</span>
+<a name="l00242"></a>00242 <span class="comment"> * @defgroup apr_dir Directory Manipulation Functions</span>
+<a name="l00243"></a>00243 <span class="comment"> * @{</span>
+<a name="l00244"></a>00244 <span class="comment"> */</span>
+<a name="l00245"></a>00245 <span class="comment"></span>
+<a name="l00246"></a>00246 <span class="comment">/**</span>
+<a name="l00247"></a>00247 <span class="comment"> * Open the specified directory.</span>
+<a name="l00248"></a>00248 <span class="comment"> * @param new_dir The opened directory descriptor.</span>
+<a name="l00249"></a>00249 <span class="comment"> * @param dirname The full path to the directory (use / on all systems)</span>
+<a name="l00250"></a>00250 <span class="comment"> * @param pool The pool to use.</span>
+<a name="l00251"></a>00251 <span class="comment"> */</span>                        
+<a name="l00252"></a>00252 <a class="code" href="group__apr__platform.html#gd7b91b811a172bfa802603c2fb688f98">APR_DECLARE</a>(<a class="code" href="group__apr__errno.html#gf76ee4543247e9fb3f3546203e590a6c">apr_status_t</a>) <a class="code" href="group__apr__dir.html#g796002db3e3c7b7c9d5632efbcd4329c">apr_dir_open</a>(apr_dir_t **new_dir, 
+<a name="l00253"></a>00253                                        const <span class="keywordtype">char</span> *dirname, 
+<a name="l00254"></a>00254                                        <a class="code" href="group__apr__pools.html#gf137f28edcf9a086cd6bc36c20d7cdfb">apr_pool_t</a> *pool);
+<a name="l00255"></a>00255 <span class="comment"></span>
+<a name="l00256"></a>00256 <span class="comment">/**</span>
+<a name="l00257"></a>00257 <span class="comment"> * close the specified directory. </span>
+<a name="l00258"></a>00258 <span class="comment"> * @param thedir the directory descriptor to close.</span>
+<a name="l00259"></a>00259 <span class="comment"> */</span>                        
+<a name="l00260"></a>00260 <a class="code" href="group__apr__platform.html#gd7b91b811a172bfa802603c2fb688f98">APR_DECLARE</a>(<a class="code" href="group__apr__errno.html#gf76ee4543247e9fb3f3546203e590a6c">apr_status_t</a>) <a class="code" href="group__apr__dir.html#g57fef00ccea03e9244f6fa21da4d3359">apr_dir_close</a>(apr_dir_t *thedir);
+<a name="l00261"></a>00261 <span class="comment"></span>
+<a name="l00262"></a>00262 <span class="comment">/**</span>
+<a name="l00263"></a>00263 <span class="comment"> * Read the next entry from the specified directory. </span>
+<a name="l00264"></a>00264 <span class="comment"> * @param finfo the file info structure and filled in by apr_dir_read</span>
+<a name="l00265"></a>00265 <span class="comment"> * @param wanted The desired apr_finfo_t fields, as a bit flag of APR_FINFO_</span>
+<a name="l00266"></a>00266 <span class="comment">                 values </span>
+<a name="l00267"></a>00267 <span class="comment"> * @param thedir the directory descriptor returned from apr_dir_open</span>
+<a name="l00268"></a>00268 <span class="comment"> * @remark No ordering is guaranteed for the entries read.</span>
+<a name="l00269"></a>00269 <span class="comment"> *</span>
+<a name="l00270"></a>00270 <span class="comment"> * @note If @c APR_INCOMPLETE is returned all the fields in @a finfo may</span>
+<a name="l00271"></a>00271 <span class="comment"> *       not be filled in, and you need to check the @c finfo-&gt;valid bitmask</span>
+<a name="l00272"></a>00272 <span class="comment"> *       to verify that what you're looking for is there.</span>
+<a name="l00273"></a>00273 <span class="comment"> */</span>                        
+<a name="l00274"></a>00274 <a class="code" href="group__apr__platform.html#gd7b91b811a172bfa802603c2fb688f98">APR_DECLARE</a>(<a class="code" href="group__apr__errno.html#gf76ee4543247e9fb3f3546203e590a6c">apr_status_t</a>) <a class="code" href="group__apr__dir.html#g3e4ee253e0c712160bee10bfb9c8e4a8">apr_dir_read</a>(<a class="code" href="group__apr__file__stat.html#g3d390fdda1d16ae462c11b2d3b18efd1">apr_finfo_t</a> *finfo, apr_int32_t wanted,
+<a name="l00275"></a>00275                                        apr_dir_t *thedir);
+<a name="l00276"></a>00276 <span class="comment"></span>
+<a name="l00277"></a>00277 <span class="comment">/**</span>
+<a name="l00278"></a>00278 <span class="comment"> * Rewind the directory to the first entry.</span>
+<a name="l00279"></a>00279 <span class="comment"> * @param thedir the directory descriptor to rewind.</span>
+<a name="l00280"></a>00280 <span class="comment"> */</span>                        
+<a name="l00281"></a>00281 <a class="code" href="group__apr__platform.html#gd7b91b811a172bfa802603c2fb688f98">APR_DECLARE</a>(<a class="code" href="group__apr__errno.html#gf76ee4543247e9fb3f3546203e590a6c">apr_status_t</a>) <a class="code" href="group__apr__dir.html#gb9b9f23e76128144d3fb953cabea6290">apr_dir_rewind</a>(apr_dir_t *thedir);<span class="comment"></span>
+<a name="l00282"></a>00282 <span class="comment">/** @} */</span>
+<a name="l00283"></a>00283 <span class="comment"></span>
+<a name="l00284"></a>00284 <span class="comment">/**</span>
+<a name="l00285"></a>00285 <span class="comment"> * @defgroup apr_filepath Filepath Manipulation Functions</span>
+<a name="l00286"></a>00286 <span class="comment"> * @{</span>
+<a name="l00287"></a>00287 <span class="comment"> */</span>
+<a name="l00288"></a>00288 <span class="comment"></span>
+<a name="l00289"></a>00289 <span class="comment">/** Cause apr_filepath_merge to fail if addpath is above rootpath */</span>
+<a name="l00290"></a><a class="code" href="group__apr__filepath.html#gbb57ce7b23caf512d7f64b92a662ab3d">00290</a> <span class="preprocessor">#define APR_FILEPATH_NOTABOVEROOT   0x01</span>
+<a name="l00291"></a>00291 <span class="preprocessor"></span><span class="comment"></span>
+<a name="l00292"></a>00292 <span class="comment">/** internal: Only meaningful with APR_FILEPATH_NOTABOVEROOT */</span>
+<a name="l00293"></a><a class="code" href="group__apr__filepath.html#g48b6cabfa91e6070c45977ba7035f328">00293</a> <span class="preprocessor">#define APR_FILEPATH_SECUREROOTTEST 0x02</span>
+<a name="l00294"></a>00294 <span class="preprocessor"></span><span class="comment"></span>
+<a name="l00295"></a>00295 <span class="comment">/** Cause apr_filepath_merge to fail if addpath is above rootpath,</span>
+<a name="l00296"></a>00296 <span class="comment"> * even given a rootpath /foo/bar and an addpath ../bar/bash</span>
+<a name="l00297"></a>00297 <span class="comment"> */</span>
+<a name="l00298"></a><a class="code" href="group__apr__filepath.html#g6a518889311b81e1d2fc434e7d3acecd">00298</a> <span class="preprocessor">#define APR_FILEPATH_SECUREROOT     0x03</span>
+<a name="l00299"></a>00299 <span class="preprocessor"></span><span class="comment"></span>
+<a name="l00300"></a>00300 <span class="comment">/** Fail apr_filepath_merge if the merged path is relative */</span>
+<a name="l00301"></a><a class="code" href="group__apr__filepath.html#g487344eb474ea4033b19c386db9aa03a">00301</a> <span class="preprocessor">#define APR_FILEPATH_NOTRELATIVE    0x04</span>
+<a name="l00302"></a>00302 <span class="preprocessor"></span><span class="comment"></span>
+<a name="l00303"></a>00303 <span class="comment">/** Fail apr_filepath_merge if the merged path is absolute */</span>
+<a name="l00304"></a><a class="code" href="group__apr__filepath.html#gac75b8e9fd5c248b52ac36a1fd6b7f98">00304</a> <span class="preprocessor">#define APR_FILEPATH_NOTABSOLUTE    0x08</span>
+<a name="l00305"></a>00305 <span class="preprocessor"></span><span class="comment"></span>
+<a name="l00306"></a>00306 <span class="comment">/** Return the file system's native path format (e.g. path delimiters</span>
+<a name="l00307"></a>00307 <span class="comment"> * of ':' on MacOS9, '\' on Win32, etc.) */</span>
+<a name="l00308"></a><a class="code" href="group__apr__filepath.html#g2d72ade2cada76d2fa8af3fe4d8fb1de">00308</a> <span class="preprocessor">#define APR_FILEPATH_NATIVE         0x10</span>
+<a name="l00309"></a>00309 <span class="preprocessor"></span><span class="comment"></span>
+<a name="l00310"></a>00310 <span class="comment">/** Resolve the true case of existing directories and file elements</span>
+<a name="l00311"></a>00311 <span class="comment"> * of addpath, (resolving any aliases on Win32) and append a proper </span>
+<a name="l00312"></a>00312 <span class="comment"> * trailing slash if a directory</span>
+<a name="l00313"></a>00313 <span class="comment"> */</span>
+<a name="l00314"></a><a class="code" href="group__apr__filepath.html#gfb7dd411e9ef212a03051806cb60c9d8">00314</a> <span class="preprocessor">#define APR_FILEPATH_TRUENAME       0x20</span>
+<a name="l00315"></a>00315 <span class="preprocessor"></span><span class="comment"></span>
+<a name="l00316"></a>00316 <span class="comment">/**</span>
+<a name="l00317"></a>00317 <span class="comment"> * Extract the rootpath from the given filepath</span>
+<a name="l00318"></a>00318 <span class="comment"> * @param rootpath the root file path returned with APR_SUCCESS or APR_EINCOMPLETE</span>
+<a name="l00319"></a>00319 <span class="comment"> * @param filepath the pathname to parse for its root component</span>
+<a name="l00320"></a>00320 <span class="comment"> * @param flags the desired rules to apply, from</span>
+<a name="l00321"></a>00321 <span class="comment"> * &lt;PRE&gt;</span>
+<a name="l00322"></a>00322 <span class="comment"> *      APR_FILEPATH_NATIVE    Use native path seperators (e.g. '\' on Win32)</span>
+<a name="l00323"></a>00323 <span class="comment"> *      APR_FILEPATH_TRUENAME  Tests that the root exists, and makes it proper</span>
+<a name="l00324"></a>00324 <span class="comment"> * &lt;/PRE&gt;</span>
+<a name="l00325"></a>00325 <span class="comment"> * @param p the pool to allocate the new path string from</span>
+<a name="l00326"></a>00326 <span class="comment"> * @remark on return, filepath points to the first non-root character in the</span>
+<a name="l00327"></a>00327 <span class="comment"> * given filepath.  In the simplest example, given a filepath of "/foo", </span>
+<a name="l00328"></a>00328 <span class="comment"> * returns the rootpath of "/" and filepath points at "foo".  This is far </span>
+<a name="l00329"></a>00329 <span class="comment"> * more complex on other platforms, which will canonicalize the root form</span>
+<a name="l00330"></a>00330 <span class="comment"> * to a consistant format, given the APR_FILEPATH_TRUENAME flag, and also</span>
+<a name="l00331"></a>00331 <span class="comment"> * test for the validity of that root (e.g., that a drive d:/ or network </span>
+<a name="l00332"></a>00332 <span class="comment"> * share //machine/foovol/). </span>
+<a name="l00333"></a>00333 <span class="comment"> * The function returns APR_ERELATIVE if filepath isn't rooted (an</span>
+<a name="l00334"></a>00334 <span class="comment"> * error), APR_EINCOMPLETE if the root path is ambigious (but potentially</span>
+<a name="l00335"></a>00335 <span class="comment"> * legitimate, e.g. "/" on Windows is incomplete because it doesn't specify</span>
+<a name="l00336"></a>00336 <span class="comment"> * the drive letter), or APR_EBADPATH if the root is simply invalid.</span>
+<a name="l00337"></a>00337 <span class="comment"> * APR_SUCCESS is returned if filepath is an absolute path.</span>
+<a name="l00338"></a>00338 <span class="comment"> */</span>
+<a name="l00339"></a>00339 <a class="code" href="group__apr__platform.html#gd7b91b811a172bfa802603c2fb688f98">APR_DECLARE</a>(<a class="code" href="group__apr__errno.html#gf76ee4543247e9fb3f3546203e590a6c">apr_status_t</a>) <a class="code" href="group__apr__filepath.html#g1eacdd5ed069faa137bde014fa50494d">apr_filepath_root</a>(const <span class="keywordtype">char</span> **rootpath, 
+<a name="l00340"></a>00340                                             const <span class="keywordtype">char</span> **filepath, 
+<a name="l00341"></a>00341                                             apr_int32_t flags,
+<a name="l00342"></a>00342                                             <a class="code" href="group__apr__pools.html#gf137f28edcf9a086cd6bc36c20d7cdfb">apr_pool_t</a> *p);
+<a name="l00343"></a>00343 <span class="comment"></span>
+<a name="l00344"></a>00344 <span class="comment">/**</span>
+<a name="l00345"></a>00345 <span class="comment"> * Merge additional file path onto the previously processed rootpath</span>
+<a name="l00346"></a>00346 <span class="comment"> * @param newpath the merged paths returned</span>
+<a name="l00347"></a>00347 <span class="comment"> * @param rootpath the root file path (NULL uses the current working path)</span>
+<a name="l00348"></a>00348 <span class="comment"> * @param addpath the path to add to the root path</span>
+<a name="l00349"></a>00349 <span class="comment"> * @param flags the desired APR_FILEPATH_ rules to apply when merging</span>
+<a name="l00350"></a>00350 <span class="comment"> * @param p the pool to allocate the new path string from</span>
+<a name="l00351"></a>00351 <span class="comment"> * @remark if the flag APR_FILEPATH_TRUENAME is given, and the addpath </span>
+<a name="l00352"></a>00352 <span class="comment"> * contains wildcard characters ('*', '?') on platforms that don't support </span>
+<a name="l00353"></a>00353 <span class="comment"> * such characters within filenames, the paths will be merged, but the </span>
+<a name="l00354"></a>00354 <span class="comment"> * result code will be APR_EPATHWILD, and all further segments will not</span>
+<a name="l00355"></a>00355 <span class="comment"> * reflect the true filenames including the wildcard and following segments.</span>
+<a name="l00356"></a>00356 <span class="comment"> */</span>                        
+<a name="l00357"></a>00357 <a class="code" href="group__apr__platform.html#gd7b91b811a172bfa802603c2fb688f98">APR_DECLARE</a>(<a class="code" href="group__apr__errno.html#gf76ee4543247e9fb3f3546203e590a6c">apr_status_t</a>) <a class="code" href="group__apr__filepath.html#ge89fd67108f10dc5044b6d062dde0138">apr_filepath_merge</a>(<span class="keywordtype">char</span> **newpath, 
+<a name="l00358"></a>00358                                              const <span class="keywordtype">char</span> *rootpath,
+<a name="l00359"></a>00359                                              const <span class="keywordtype">char</span> *addpath, 
+<a name="l00360"></a>00360                                              apr_int32_t flags,
+<a name="l00361"></a>00361                                              <a class="code" href="group__apr__pools.html#gf137f28edcf9a086cd6bc36c20d7cdfb">apr_pool_t</a> *p);
+<a name="l00362"></a>00362 <span class="comment"></span>
+<a name="l00363"></a>00363 <span class="comment">/**</span>
+<a name="l00364"></a>00364 <span class="comment"> * Split a search path into separate components</span>
+<a name="l00365"></a>00365 <span class="comment"> * @param pathelts the returned components of the search path</span>
+<a name="l00366"></a>00366 <span class="comment"> * @param liststr the search path (e.g., &lt;tt&gt;getenv("PATH")&lt;/tt&gt;)</span>
+<a name="l00367"></a>00367 <span class="comment"> * @param p the pool to allocate the array and path components from</span>
+<a name="l00368"></a>00368 <span class="comment"> * @remark empty path componenta do not become part of @a pathelts.</span>
+<a name="l00369"></a>00369 <span class="comment"> * @remark the path separator in @a liststr is system specific;</span>
+<a name="l00370"></a>00370 <span class="comment"> * e.g., ':' on Unix, ';' on Windows, etc.</span>
+<a name="l00371"></a>00371 <span class="comment"> */</span>
+<a name="l00372"></a>00372 <a class="code" href="group__apr__platform.html#gd7b91b811a172bfa802603c2fb688f98">APR_DECLARE</a>(<a class="code" href="group__apr__errno.html#gf76ee4543247e9fb3f3546203e590a6c">apr_status_t</a>) <a class="code" href="group__apr__filepath.html#gf259849de62ac172dde7dcbe73421500">apr_filepath_list_split</a>(<a class="code" href="structapr__array__header__t.html">apr_array_header_t</a> **pathelts,
+<a name="l00373"></a>00373                                                   const <span class="keywordtype">char</span> *liststr,
+<a name="l00374"></a>00374                                                   <a class="code" href="group__apr__pools.html#gf137f28edcf9a086cd6bc36c20d7cdfb">apr_pool_t</a> *p);
+<a name="l00375"></a>00375 <span class="comment"></span>
+<a name="l00376"></a>00376 <span class="comment">/**</span>
+<a name="l00377"></a>00377 <span class="comment"> * Merge a list of search path components into a single search path</span>
+<a name="l00378"></a>00378 <span class="comment"> * @param liststr the returned search path; may be NULL if @a pathelts is empty</span>
+<a name="l00379"></a>00379 <span class="comment"> * @param pathelts the components of the search path</span>
+<a name="l00380"></a>00380 <span class="comment"> * @param p the pool to allocate the search path from</span>
+<a name="l00381"></a>00381 <span class="comment"> * @remark emtpy strings in the source array are ignored.</span>
+<a name="l00382"></a>00382 <span class="comment"> * @remark the path separator in @a liststr is system specific;</span>
+<a name="l00383"></a>00383 <span class="comment"> * e.g., ':' on Unix, ';' on Windows, etc.</span>
+<a name="l00384"></a>00384 <span class="comment"> */</span>
+<a name="l00385"></a>00385 <a class="code" href="group__apr__platform.html#gd7b91b811a172bfa802603c2fb688f98">APR_DECLARE</a>(<a class="code" href="group__apr__errno.html#gf76ee4543247e9fb3f3546203e590a6c">apr_status_t</a>) <a class="code" href="group__apr__filepath.html#g8316896ab8e3901f9711d9d4cc89b373">apr_filepath_list_merge</a>(<span class="keywordtype">char</span> **liststr,
+<a name="l00386"></a>00386                                                   <a class="code" href="structapr__array__header__t.html">apr_array_header_t</a> *pathelts,
+<a name="l00387"></a>00387                                                   <a class="code" href="group__apr__pools.html#gf137f28edcf9a086cd6bc36c20d7cdfb">apr_pool_t</a> *p);
+<a name="l00388"></a>00388 <span class="comment"></span>
+<a name="l00389"></a>00389 <span class="comment">/**</span>
+<a name="l00390"></a>00390 <span class="comment"> * Return the default file path (for relative file names)</span>
+<a name="l00391"></a>00391 <span class="comment"> * @param path the default path string returned</span>
+<a name="l00392"></a>00392 <span class="comment"> * @param flags optional flag APR_FILEPATH_NATIVE to retrieve the</span>
+<a name="l00393"></a>00393 <span class="comment"> *              default file path in os-native format.</span>
+<a name="l00394"></a>00394 <span class="comment"> * @param p the pool to allocate the default path string from</span>
+<a name="l00395"></a>00395 <span class="comment"> */</span>
+<a name="l00396"></a>00396 <a class="code" href="group__apr__platform.html#gd7b91b811a172bfa802603c2fb688f98">APR_DECLARE</a>(<a class="code" href="group__apr__errno.html#gf76ee4543247e9fb3f3546203e590a6c">apr_status_t</a>) <a class="code" href="group__apr__filepath.html#gac7c26321fd60d7304326fe531639507">apr_filepath_get</a>(<span class="keywordtype">char</span> **path, apr_int32_t flags,
+<a name="l00397"></a>00397                                            <a class="code" href="group__apr__pools.html#gf137f28edcf9a086cd6bc36c20d7cdfb">apr_pool_t</a> *p);
+<a name="l00398"></a>00398 <span class="comment"></span>
+<a name="l00399"></a>00399 <span class="comment">/**</span>
+<a name="l00400"></a>00400 <span class="comment"> * Set the default file path (for relative file names)</span>
+<a name="l00401"></a>00401 <span class="comment"> * @param path the default path returned</span>
+<a name="l00402"></a>00402 <span class="comment"> * @param p the pool to allocate any working storage</span>
+<a name="l00403"></a>00403 <span class="comment"> */</span>
+<a name="l00404"></a>00404 <a class="code" href="group__apr__platform.html#gd7b91b811a172bfa802603c2fb688f98">APR_DECLARE</a>(<a class="code" href="group__apr__errno.html#gf76ee4543247e9fb3f3546203e590a6c">apr_status_t</a>) <a class="code" href="group__apr__filepath.html#g9773589b65b7f0b7d5b59d427fd0eb93">apr_filepath_set</a>(const <span class="keywordtype">char</span> *path, <a class="code" href="group__apr__pools.html#gf137f28edcf9a086cd6bc36c20d7cdfb">apr_pool_t</a> *p);
+<a name="l00405"></a>00405 <span class="comment"></span>
+<a name="l00406"></a>00406 <span class="comment">/** The FilePath character encoding is unknown */</span>
+<a name="l00407"></a><a class="code" href="group__apr__filepath.html#g26cd6345ccc38ae3ad001fd2fa885634">00407</a> <span class="preprocessor">#define APR_FILEPATH_ENCODING_UNKNOWN  0</span>
+<a name="l00408"></a>00408 <span class="preprocessor"></span><span class="comment"></span>
+<a name="l00409"></a>00409 <span class="comment">/** The FilePath character encoding is locale-dependent */</span>
+<a name="l00410"></a><a class="code" href="group__apr__filepath.html#gecb3193c8e36fbf58564f94b8c38b6d9">00410</a> <span class="preprocessor">#define APR_FILEPATH_ENCODING_LOCALE   1</span>
+<a name="l00411"></a>00411 <span class="preprocessor"></span><span class="comment"></span>
+<a name="l00412"></a>00412 <span class="comment">/** The FilePath character encoding is UTF-8 */</span>
+<a name="l00413"></a><a class="code" href="group__apr__filepath.html#g1c99d1644a8b49dc0be166bdc352819a">00413</a> <span class="preprocessor">#define APR_FILEPATH_ENCODING_UTF8     2</span>
+<a name="l00414"></a>00414 <span class="preprocessor"></span><span class="comment"></span>
+<a name="l00415"></a>00415 <span class="comment">/**</span>
+<a name="l00416"></a>00416 <span class="comment"> * Determine the encoding used internally by the FilePath functions</span>
+<a name="l00417"></a>00417 <span class="comment"> * @param style points to a variable which receives the encoding style flag</span>
+<a name="l00418"></a>00418 <span class="comment"> * @param p the pool to allocate any working storage</span>
+<a name="l00419"></a>00419 <span class="comment"> * @remark Use @c apr_os_locale_encoding and/or @c apr_os_default_encoding</span>
+<a name="l00420"></a>00420 <span class="comment"> * to get the name of the path encoding if it's not UTF-8.</span>
+<a name="l00421"></a>00421 <span class="comment"> */</span>
+<a name="l00422"></a>00422 <a class="code" href="group__apr__platform.html#gd7b91b811a172bfa802603c2fb688f98">APR_DECLARE</a>(<a class="code" href="group__apr__errno.html#gf76ee4543247e9fb3f3546203e590a6c">apr_status_t</a>) <a class="code" href="group__apr__filepath.html#gd4d3a5888a54a52b3552911e448a3eb3">apr_filepath_encoding</a>(<span class="keywordtype">int</span> *style, <a class="code" href="group__apr__pools.html#gf137f28edcf9a086cd6bc36c20d7cdfb">apr_pool_t</a> *p);<span class="comment"></span>
 <a name="l00423"></a>00423 <span class="comment">/** @} */</span>
-<a name="l00424"></a>00424 
-<a name="l00425"></a>00425 <span class="preprocessor">#ifdef __cplusplus</span>
-<a name="l00426"></a>00426 <span class="preprocessor"></span>}
-<a name="l00427"></a>00427 <span class="preprocessor">#endif</span>
-<a name="l00428"></a>00428 <span class="preprocessor"></span>
-<a name="l00429"></a>00429 <span class="preprocessor">#endif  </span><span class="comment">/* ! APR_FILE_INFO_H */</span>
-</pre></div><hr size="1"><address style="text-align: right;"><small>Generated on Tue Sep 11 08:14:29 2007 for Apache Portable Runtime by&nbsp;
+<a name="l00424"></a>00424 <span class="comment"></span>
+<a name="l00425"></a>00425 <span class="comment">/** @} */</span>
+<a name="l00426"></a>00426 
+<a name="l00427"></a>00427 <span class="preprocessor">#ifdef __cplusplus</span>
+<a name="l00428"></a>00428 <span class="preprocessor"></span>}
+<a name="l00429"></a>00429 <span class="preprocessor">#endif</span>
+<a name="l00430"></a>00430 <span class="preprocessor"></span>
+<a name="l00431"></a>00431 <span class="preprocessor">#endif  </span><span class="comment">/* ! APR_FILE_INFO_H */</span>
+</pre></div><hr size="1"><address style="text-align: right;"><small>Generated on Mon Nov 26 11:23:52 2007 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.5.2 </small></address>
 </body>

Modified: apr/site/trunk/docs/docs/apr/1.2/apr__file__info_8h.html
URL: http://svn.apache.org/viewvc/apr/site/trunk/docs/docs/apr/1.2/apr__file__info_8h.html?rev=598101&r1=598100&r2=598101&view=diff
==============================================================================
--- apr/site/trunk/docs/docs/apr/1.2/apr__file__info_8h.html (original)
+++ apr/site/trunk/docs/docs/apr/1.2/apr__file__info_8h.html Sun Nov 25 17:05:47 2007
@@ -165,8 +165,6 @@
 
 <tr><td class="memItemLeft" nowrap align="right" valign="top">typedef apr_int32_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__file__info.html#g3af19c4c47007169064a70f9351bc7d8">apr_fileperms_t</a></td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef ino_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__file__info.html#g0a5ae63884288a9f69f4e384a23bad68">apr_ino_t</a></td></tr>
-
 <tr><td class="memItemLeft" nowrap align="right" valign="top">typedef dev_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__file__info.html#ge2c25c4b679613081599f776efa96c4a">apr_dev_t</a></td></tr>
 
 <tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="structapr__finfo__t.html">apr_finfo_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__file__stat.html#g3d390fdda1d16ae462c11b2d3b18efd1">apr_finfo_t</a></td></tr>
@@ -216,7 +214,7 @@
 <hr><a name="_details"></a><h2>Detailed Description</h2>
 APR File Information. 
 <p>
-<hr size="1"><address style="text-align: right;"><small>Generated on Tue Sep 11 08:14:29 2007 for Apache Portable Runtime by&nbsp;
+<hr size="1"><address style="text-align: right;"><small>Generated on Mon Nov 26 11:23:52 2007 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.5.2 </small></address>
 </body>



Mime
View raw message