You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@apr.apache.org by je...@apache.org on 2005/02/08 00:12:05 UTC

svn commit: r151768 [25/47] - in apr/site/trunk/docs/docs/apr: ./ iconv/ util/

Modified: apr/site/trunk/docs/docs/apr/apr__lib_8h-source.html
URL: http://svn.apache.org/viewcvs/apr/site/trunk/docs/docs/apr/apr__lib_8h-source.html?view=diff&r1=151767&r2=151768
==============================================================================
--- apr/site/trunk/docs/docs/apr/apr__lib_8h-source.html (original)
+++ apr/site/trunk/docs/docs/apr/apr__lib_8h-source.html Mon Feb  7 15:10:17 2005
@@ -3,234 +3,240 @@
 <title>Apache Portable Runtime: apr_lib.h Source File</title>
 <link href="doxygen.css" rel="stylesheet" type="text/css">
 </head><body>
-<!-- Generated by Doxygen 1.3.8 -->
+<!-- Generated by Doxygen 1.3.7 -->
 <div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="annotated.html">Data&nbsp;Structures</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Data&nbsp;Fields</a> | <a class="qindex" href="globals.html">Globals</a> | <a class="qindex" href="pages.html">Related&nbsp;Pages</a></div>
-<h1>apr_lib.h</h1><a href="apr__lib_8h.html">Go to the documentation of this file.</a><pre class="fragment"><div>00001 <span class="comment">/* Copyright 2000-2004 The Apache Software Foundation</span>
-00002 <span class="comment"> *</span>
-00003 <span class="comment"> * Licensed under the Apache License, Version 2.0 (the "License");</span>
-00004 <span class="comment"> * you may not use this file except in compliance with the License.</span>
-00005 <span class="comment"> * You may obtain a copy of the License at</span>
-00006 <span class="comment"> *</span>
-00007 <span class="comment"> *     http://www.apache.org/licenses/LICENSE-2.0</span>
-00008 <span class="comment"> *</span>
-00009 <span class="comment"> * Unless required by applicable law or agreed to in writing, software</span>
-00010 <span class="comment"> * distributed under the License is distributed on an "AS IS" BASIS,</span>
-00011 <span class="comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span>
-00012 <span class="comment"> * See the License for the specific language governing permissions and</span>
-00013 <span class="comment"> * limitations under the License.</span>
-00014 <span class="comment"> */</span>
-00015 
-00016 <span class="preprocessor">#ifndef APR_LIB_H</span>
-00017 <span class="preprocessor"></span><span class="preprocessor">#define APR_LIB_H</span>
-00018 <span class="preprocessor"></span><span class="comment"></span>
-00019 <span class="comment">/**</span>
-00020 <span class="comment"> * @file apr_lib.h</span>
-00021 <span class="comment"> * This is collection of oddballs that didn't fit anywhere else,</span>
-00022 <span class="comment"> * and might move to more appropriate headers with the release</span>
-00023 <span class="comment"> * of APR 1.0.</span>
-00024 <span class="comment"> * @brief APR general purpose library routines</span>
-00025 <span class="comment"> */</span>
-00026 
-00027 <span class="preprocessor">#include "apr.h"</span>
-00028 <span class="preprocessor">#include "<a class="code" href="apr__errno_8h.html">apr_errno.h</a>"</span>
-00029 
-00030 <span class="preprocessor">#if APR_HAVE_CTYPE_H</span>
-00031 <span class="preprocessor"></span><span class="preprocessor">#include &lt;ctype.h&gt;</span>
-00032 <span class="preprocessor">#endif</span>
-00033 <span class="preprocessor"></span><span class="preprocessor">#if APR_HAVE_STDARG_H</span>
-00034 <span class="preprocessor"></span><span class="preprocessor">#include &lt;stdarg.h&gt;</span>
-00035 <span class="preprocessor">#endif</span>
-00036 <span class="preprocessor"></span>
-00037 <span class="preprocessor">#ifdef __cplusplus</span>
-00038 <span class="preprocessor"></span><span class="keyword">extern</span> <span class="stringliteral">"C"</span> {
-00039 <span class="preprocessor">#endif </span><span class="comment">/* __cplusplus */</span>
-00040 <span class="comment"></span>
-00041 <span class="comment">/**</span>
-00042 <span class="comment"> * @defgroup apr_lib General Purpose Library Routines</span>
-00043 <span class="comment"> * @ingroup APR </span>
-00044 <span class="comment"> * This is collection of oddballs that didn't fit anywhere else,</span>
-00045 <span class="comment"> * and might move to more appropriate headers with the release</span>
-00046 <span class="comment"> * of APR 1.0.</span>
-00047 <span class="comment"> * @{</span>
-00048 <span class="comment"> */</span>
-00049 <span class="comment"></span>
-00050 <span class="comment">/** A constant representing a 'large' string. */</span>
-<a name="l00051"></a><a class="code" href="group__apr__lib.html#ga4">00051</a> <span class="preprocessor">#define HUGE_STRING_LEN 8192</span>
-00052 <span class="preprocessor"></span>
-00053 <span class="comment">/*</span>
-00054 <span class="comment"> * Define the structures used by the APR general-purpose library.</span>
-00055 <span class="comment"> */</span>
-00056 <span class="comment"></span>
-00057 <span class="comment">/** @see apr_vformatter_buff_t */</span>
-<a name="l00058"></a><a class="code" href="group__apr__lib.html#ga0">00058</a> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="structapr__vformatter__buff__t.html">apr_vformatter_buff_t</a> <a class="code" href="group__apr__lib.html#ga0">apr_vformatter_buff_t</a>;
-00059 <span class="comment"></span>
-00060 <span class="comment">/**</span>
-00061 <span class="comment"> * Structure used by the variable-formatter routines.</span>
-00062 <span class="comment"> */</span>
-<a name="l00063"></a><a class="code" href="structapr__vformatter__buff__t.html">00063</a> <span class="keyword">struct </span><a class="code" href="group__apr__lib.html#ga0">apr_vformatter_buff_t</a> {<span class="comment"></span>
-00064 <span class="comment">    /** The current position */</span>
-<a name="l00065"></a><a class="code" href="structapr__vformatter__buff__t.html#o0">00065</a>     <span class="keywordtype">char</span> *<a class="code" href="structapr__vformatter__buff__t.html#o0">curpos</a>;<span class="comment"></span>
-00066 <span class="comment">    /** The end position of the format string */</span>
-<a name="l00067"></a><a class="code" href="structapr__vformatter__buff__t.html#o1">00067</a>     <span class="keywordtype">char</span> *<a class="code" href="structapr__vformatter__buff__t.html#o1">endpos</a>;
-00068 };
-00069 <span class="comment"></span>
-00070 <span class="comment">/**</span>
-00071 <span class="comment"> * return the final element of the pathname</span>
-00072 <span class="comment"> * @param pathname The path to get the final element of</span>
-00073 <span class="comment"> * @return the final element of the path</span>
-00074 <span class="comment"> * @remark</span>
-00075 <span class="comment"> * &lt;PRE&gt;</span>
-00076 <span class="comment"> * For example:</span>
-00077 <span class="comment"> *                 "/foo/bar/gum"    -&gt; "gum"</span>
-00078 <span class="comment"> *                 "/foo/bar/gum/"   -&gt; ""</span>
-00079 <span class="comment"> *                 "gum"             -&gt; "gum"</span>
-00080 <span class="comment"> *                 "bs\\path\\stuff" -&gt; "stuff"</span>
-00081 <span class="comment"> * &lt;/PRE&gt;</span>
-00082 <span class="comment"> */</span>
-00083 APR_DECLARE(<span class="keyword">const</span> <span class="keywordtype">char</span> *) apr_filepath_name_get(const <span class="keywordtype">char</span> *pathname);
-00084 <span class="comment"></span>
-00085 <span class="comment">/**</span>
-00086 <span class="comment"> * apr_killpg</span>
-00087 <span class="comment"> * Small utility macros to make things easier to read.  Not usually a</span>
-00088 <span class="comment"> * goal, to be sure..</span>
-00089 <span class="comment"> */</span>
-00090 
-00091 #ifdef WIN32
-00092 #define apr_killpg(x, y)
-00093 #else <span class="comment">/* WIN32 */</span>
-00094 #ifdef NO_KILLPG
-00095 #define apr_killpg(x, y)        (kill (-(x), (y)))
-00096 #else <span class="comment">/* NO_KILLPG */</span>
-<a name="l00097"></a><a class="code" href="group__apr__lib.html#ga5">00097</a> #define apr_killpg(x, y)        (killpg ((x), (y)))
-00098 #endif <span class="comment">/* NO_KILLPG */</span>
-00099 #endif <span class="comment">/* WIN32 */</span>
-00100 <span class="comment"></span>
-00101 <span class="comment">/**</span>
-00102 <span class="comment"> * apr_vformatter() is a generic printf-style formatting routine</span>
-00103 <span class="comment"> * with some extensions.</span>
-00104 <span class="comment"> * @param flush_func The function to call when the buffer is full</span>
-00105 <span class="comment"> * @param c The buffer to write to</span>
-00106 <span class="comment"> * @param fmt The format string</span>
-00107 <span class="comment"> * @param ap The arguments to use to fill out the format string.</span>
-00108 <span class="comment"> *</span>
-00109 <span class="comment"> * @remark</span>
-00110 <span class="comment"> * &lt;PRE&gt;</span>
-00111 <span class="comment"> * The extensions are:</span>
-00112 <span class="comment"> *</span>
-00113 <span class="comment"> * %%pA takes a struct in_addr *, and prints it as a.b.c.d</span>
-00114 <span class="comment"> * %%pI takes an apr_sockaddr_t * and prints it as a.b.c.d:port or</span>
-00115 <span class="comment"> *      [ipv6-address]:port</span>
-00116 <span class="comment"> * %%pT takes an apr_os_thread_t * and prints it in decimal</span>
-00117 <span class="comment"> *      ('0' is printed if !APR_HAS_THREADS)</span>
-00118 <span class="comment"> * %%pp takes a void * and outputs it in hex</span>
-00119 <span class="comment"> *</span>
-00120 <span class="comment"> * The %%p hacks are to force gcc's printf warning code to skip</span>
-00121 <span class="comment"> * over a pointer argument without complaining.  This does</span>
-00122 <span class="comment"> * mean that the ANSI-style %%p (output a void * in hex format) won't</span>
-00123 <span class="comment"> * work as expected at all, but that seems to be a fair trade-off</span>
-00124 <span class="comment"> * for the increased robustness of having printf-warnings work.</span>
-00125 <span class="comment"> *</span>
-00126 <span class="comment"> * Additionally, apr_vformatter allows for arbitrary output methods</span>
-00127 <span class="comment"> * using the apr_vformatter_buff and flush_func.</span>
-00128 <span class="comment"> *</span>
-00129 <span class="comment"> * The apr_vformatter_buff has two elements curpos and endpos.</span>
-00130 <span class="comment"> * curpos is where apr_vformatter will write the next byte of output.</span>
-00131 <span class="comment"> * It proceeds writing output to curpos, and updating curpos, until</span>
-00132 <span class="comment"> * either the end of output is reached, or curpos == endpos (i.e. the</span>
-00133 <span class="comment"> * buffer is full).</span>
-00134 <span class="comment"> *</span>
-00135 <span class="comment"> * If the end of output is reached, apr_vformatter returns the</span>
-00136 <span class="comment"> * number of bytes written.</span>
-00137 <span class="comment"> *</span>
-00138 <span class="comment"> * When the buffer is full, the flush_func is called.  The flush_func</span>
-00139 <span class="comment"> * can return -1 to indicate that no further output should be attempted,</span>
-00140 <span class="comment"> * and apr_vformatter will return immediately with -1.  Otherwise</span>
-00141 <span class="comment"> * the flush_func should flush the buffer in whatever manner is</span>
-00142 <span class="comment"> * appropriate, re apr_pool_t nitialize curpos and endpos, and return 0.</span>
-00143 <span class="comment"> *</span>
-00144 <span class="comment"> * Note that flush_func is only invoked as a result of attempting to</span>
-00145 <span class="comment"> * write another byte at curpos when curpos &gt;= endpos.  So for</span>
-00146 <span class="comment"> * example, it's possible when the output exactly matches the buffer</span>
-00147 <span class="comment"> * space available that curpos == endpos will be true when</span>
-00148 <span class="comment"> * apr_vformatter returns.</span>
-00149 <span class="comment"> *</span>
-00150 <span class="comment"> * apr_vformatter does not call out to any other code, it is entirely</span>
-00151 <span class="comment"> * self-contained.  This allows the callers to do things which are</span>
-00152 <span class="comment"> * otherwise "unsafe".  For example, apr_psprintf uses the "scratch"</span>
-00153 <span class="comment"> * space at the unallocated end of a block, and doesn't actually</span>
-00154 <span class="comment"> * complete the allocation until apr_vformatter returns.  apr_psprintf</span>
-00155 <span class="comment"> * would be completely broken if apr_vformatter were to call anything</span>
-00156 <span class="comment"> * that used this same pool.  Similarly http_bprintf() uses the "scratch"</span>
-00157 <span class="comment"> * space at the end of its output buffer, and doesn't actually note</span>
-00158 <span class="comment"> * that the space is in use until it either has to flush the buffer</span>
-00159 <span class="comment"> * or until apr_vformatter returns.</span>
-00160 <span class="comment"> * &lt;/PRE&gt;</span>
-00161 <span class="comment"> */</span>
-00162 APR_DECLARE(<span class="keywordtype">int</span>) apr_vformatter(<span class="keywordtype">int</span> (*flush_func)(apr_vformatter_buff_t *b),
-00163                                 apr_vformatter_buff_t *c, const <span class="keywordtype">char</span> *fmt,
-00164                                 va_list ap);
-00165 <span class="comment"></span>
-00166 <span class="comment">/**</span>
-00167 <span class="comment"> * Display a prompt and read in the password from stdin.</span>
-00168 <span class="comment"> * @param prompt The prompt to display</span>
-00169 <span class="comment"> * @param pwbuf Buffer to store the password</span>
-00170 <span class="comment"> * @param bufsize The length of the password buffer.</span>
-00171 <span class="comment"> */</span>
-00172 APR_DECLARE(<a class="code" href="group__apr__errno.html#ga0">apr_status_t</a>) apr_password_get(const <span class="keywordtype">char</span> *prompt, <span class="keywordtype">char</span> *pwbuf, 
-00173                                            apr_size_t *bufsize);
-00174 <span class="comment"></span>
-00175 <span class="comment">/** @} */</span>
-00176 <span class="comment"></span>
-00177 <span class="comment">/**</span>
-00178 <span class="comment"> * @defgroup apr_ctype ctype functions</span>
-00179 <span class="comment"> * These macros allow correct support of 8-bit characters on systems which</span>
-00180 <span class="comment"> * support 8-bit characters.  Pretty dumb how the cast is required, but</span>
-00181 <span class="comment"> * that's legacy libc for ya.  These new macros do not support EOF like</span>
-00182 <span class="comment"> * the standard macros do.  Tough.</span>
-00183 <span class="comment"> * @{</span>
-00184 <span class="comment"> */</span><span class="comment"></span>
-00185 <span class="comment">/** @see isalnum */</span>
-<a name="l00186"></a><a class="code" href="group__apr__ctype.html#ga0">00186</a> #define apr_isalnum(c) (isalnum(((<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>)(c))))<span class="comment"></span>
-00187 <span class="comment">/** @see isalpha */</span>
-<a name="l00188"></a><a class="code" href="group__apr__ctype.html#ga1">00188</a> #define apr_isalpha(c) (isalpha(((<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>)(c))))<span class="comment"></span>
-00189 <span class="comment">/** @see iscntrl */</span>
-<a name="l00190"></a><a class="code" href="group__apr__ctype.html#ga2">00190</a> #define apr_iscntrl(c) (iscntrl(((<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>)(c))))<span class="comment"></span>
-00191 <span class="comment">/** @see isdigit */</span>
-<a name="l00192"></a><a class="code" href="group__apr__ctype.html#ga3">00192</a> #define apr_isdigit(c) (isdigit(((<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>)(c))))<span class="comment"></span>
-00193 <span class="comment">/** @see isgraph */</span>
-<a name="l00194"></a><a class="code" href="group__apr__ctype.html#ga4">00194</a> #define apr_isgraph(c) (isgraph(((<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>)(c))))<span class="comment"></span>
-00195 <span class="comment">/** @see islower*/</span>
-<a name="l00196"></a><a class="code" href="group__apr__ctype.html#ga5">00196</a> #define apr_islower(c) (islower(((<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>)(c))))<span class="comment"></span>
-00197 <span class="comment">/** @see isascii */</span>
-00198 #ifdef isascii
-00199 #define apr_isascii(c) (isascii(((<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>)(c))))
-00200 #else
-<a name="l00201"></a><a class="code" href="group__apr__ctype.html#ga6">00201</a> #define apr_isascii(c) (((c) &amp; ~0x7f)==0)
-00202 #endif<span class="comment"></span>
-00203 <span class="comment">/** @see isprint */</span>
-<a name="l00204"></a><a class="code" href="group__apr__ctype.html#ga7">00204</a> #define apr_isprint(c) (isprint(((<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>)(c))))<span class="comment"></span>
-00205 <span class="comment">/** @see ispunct */</span>
-<a name="l00206"></a><a class="code" href="group__apr__ctype.html#ga8">00206</a> #define apr_ispunct(c) (ispunct(((<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>)(c))))<span class="comment"></span>
-00207 <span class="comment">/** @see isspace */</span>
-<a name="l00208"></a><a class="code" href="group__apr__ctype.html#ga9">00208</a> #define apr_isspace(c) (isspace(((<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>)(c))))<span class="comment"></span>
-00209 <span class="comment">/** @see isupper */</span>
-<a name="l00210"></a><a class="code" href="group__apr__ctype.html#ga10">00210</a> #define apr_isupper(c) (isupper(((<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>)(c))))<span class="comment"></span>
-00211 <span class="comment">/** @see isxdigit */</span>
-<a name="l00212"></a><a class="code" href="group__apr__ctype.html#ga11">00212</a> #define apr_isxdigit(c) (isxdigit(((<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>)(c))))<span class="comment"></span>
-00213 <span class="comment">/** @see tolower */</span>
-<a name="l00214"></a><a class="code" href="group__apr__ctype.html#ga12">00214</a> #define apr_tolower(c) (tolower(((<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>)(c))))<span class="comment"></span>
-00215 <span class="comment">/** @see toupper */</span>
-<a name="l00216"></a><a class="code" href="group__apr__ctype.html#ga13">00216</a> #define apr_toupper(c) (toupper(((<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>)(c))))
-00217 <span class="comment"></span>
-00218 <span class="comment">/** @} */</span>
-00219 
-00220 #ifdef __cplusplus
-00221 }
-00222 #endif
-00223 
-00224 #endif  <span class="comment">/* ! APR_LIB_H */</span>
-</div></pre><hr size="1"><address style="align: right;"><small>Generated on Wed Sep 1 21:36:05 2004 for Apache Portable Runtime by
+<h1>apr_lib.h</h1><a href="apr__lib_8h.html">Go to the documentation of this file.</a><pre class="fragment"><div>00001 <span class="comment">/* Copyright 2000-2005 The Apache Software Foundation or its licensors, as</span>
+00002 <span class="comment"> * applicable.</span>
+00003 <span class="comment"> *</span>
+00004 <span class="comment"> * Licensed under the Apache License, Version 2.0 (the "License");</span>
+00005 <span class="comment"> * you may not use this file except in compliance with the License.</span>
+00006 <span class="comment"> * You may obtain a copy of the License at</span>
+00007 <span class="comment"> *</span>
+00008 <span class="comment"> *     http://www.apache.org/licenses/LICENSE-2.0</span>
+00009 <span class="comment"> *</span>
+00010 <span class="comment"> * Unless required by applicable law or agreed to in writing, software</span>
+00011 <span class="comment"> * distributed under the License is distributed on an "AS IS" BASIS,</span>
+00012 <span class="comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span>
+00013 <span class="comment"> * See the License for the specific language governing permissions and</span>
+00014 <span class="comment"> * limitations under the License.</span>
+00015 <span class="comment"> */</span>
+00016 
+00017 <span class="preprocessor">#ifndef APR_LIB_H</span>
+00018 <span class="preprocessor"></span><span class="preprocessor">#define APR_LIB_H</span>
+00019 <span class="preprocessor"></span><span class="comment"></span>
+00020 <span class="comment">/**</span>
+00021 <span class="comment"> * @file apr_lib.h</span>
+00022 <span class="comment"> * This is collection of oddballs that didn't fit anywhere else,</span>
+00023 <span class="comment"> * and might move to more appropriate headers with the release</span>
+00024 <span class="comment"> * of APR 1.0.</span>
+00025 <span class="comment"> * @brief APR general purpose library routines</span>
+00026 <span class="comment"> */</span>
+00027 
+00028 <span class="preprocessor">#include "apr.h"</span>
+00029 <span class="preprocessor">#include "<a class="code" href="apr__errno_8h.html">apr_errno.h</a>"</span>
+00030 
+00031 <span class="preprocessor">#if APR_HAVE_CTYPE_H</span>
+00032 <span class="preprocessor"></span><span class="preprocessor">#include &lt;ctype.h&gt;</span>
+00033 <span class="preprocessor">#endif</span>
+00034 <span class="preprocessor"></span><span class="preprocessor">#if APR_HAVE_STDARG_H</span>
+00035 <span class="preprocessor"></span><span class="preprocessor">#include &lt;stdarg.h&gt;</span>
+00036 <span class="preprocessor">#endif</span>
+00037 <span class="preprocessor"></span>
+00038 <span class="preprocessor">#ifdef __cplusplus</span>
+00039 <span class="preprocessor"></span><span class="keyword">extern</span> <span class="stringliteral">"C"</span> {
+00040 <span class="preprocessor">#endif </span><span class="comment">/* __cplusplus */</span>
+00041 <span class="comment"></span>
+00042 <span class="comment">/**</span>
+00043 <span class="comment"> * @defgroup apr_lib General Purpose Library Routines</span>
+00044 <span class="comment"> * @ingroup APR </span>
+00045 <span class="comment"> * This is collection of oddballs that didn't fit anywhere else,</span>
+00046 <span class="comment"> * and might move to more appropriate headers with the release</span>
+00047 <span class="comment"> * of APR 1.0.</span>
+00048 <span class="comment"> * @{</span>
+00049 <span class="comment"> */</span>
+00050 <span class="comment"></span>
+00051 <span class="comment">/** A constant representing a 'large' string. */</span>
+<a name="l00052"></a><a class="code" href="group__apr__lib.html#ga4">00052</a> <span class="preprocessor">#define HUGE_STRING_LEN 8192</span>
+00053 <span class="preprocessor"></span>
+00054 <span class="comment">/*</span>
+00055 <span class="comment"> * Define the structures used by the APR general-purpose library.</span>
+00056 <span class="comment"> */</span>
+00057 <span class="comment"></span>
+00058 <span class="comment">/** @see apr_vformatter_buff_t */</span>
+<a name="l00059"></a><a class="code" href="group__apr__lib.html#ga0">00059</a> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="structapr__vformatter__buff__t.html">apr_vformatter_buff_t</a> <a class="code" href="group__apr__lib.html#ga0">apr_vformatter_buff_t</a>;
+00060 <span class="comment"></span>
+00061 <span class="comment">/**</span>
+00062 <span class="comment"> * Structure used by the variable-formatter routines.</span>
+00063 <span class="comment"> */</span>
+<a name="l00064"></a><a class="code" href="structapr__vformatter__buff__t.html">00064</a> <span class="keyword">struct </span><a class="code" href="group__apr__lib.html#ga0">apr_vformatter_buff_t</a> {<span class="comment"></span>
+00065 <span class="comment">    /** The current position */</span>
+<a name="l00066"></a><a class="code" href="structapr__vformatter__buff__t.html#o0">00066</a>     <span class="keywordtype">char</span> *<a class="code" href="structapr__vformatter__buff__t.html#o0">curpos</a>;<span class="comment"></span>
+00067 <span class="comment">    /** The end position of the format string */</span>
+<a name="l00068"></a><a class="code" href="structapr__vformatter__buff__t.html#o1">00068</a>     <span class="keywordtype">char</span> *<a class="code" href="structapr__vformatter__buff__t.html#o1">endpos</a>;
+00069 };
+00070 <span class="comment"></span>
+00071 <span class="comment">/**</span>
+00072 <span class="comment"> * return the final element of the pathname</span>
+00073 <span class="comment"> * @param pathname The path to get the final element of</span>
+00074 <span class="comment"> * @return the final element of the path</span>
+00075 <span class="comment"> * @remark</span>
+00076 <span class="comment"> * &lt;PRE&gt;</span>
+00077 <span class="comment"> * For example:</span>
+00078 <span class="comment"> *                 "/foo/bar/gum"    -&gt; "gum"</span>
+00079 <span class="comment"> *                 "/foo/bar/gum/"   -&gt; ""</span>
+00080 <span class="comment"> *                 "gum"             -&gt; "gum"</span>
+00081 <span class="comment"> *                 "bs\\path\\stuff" -&gt; "stuff"</span>
+00082 <span class="comment"> * &lt;/PRE&gt;</span>
+00083 <span class="comment"> */</span>
+00084 APR_DECLARE(<span class="keyword">const</span> <span class="keywordtype">char</span> *) apr_filepath_name_get(const <span class="keywordtype">char</span> *pathname);
+00085 <span class="comment"></span>
+00086 <span class="comment">/**</span>
+00087 <span class="comment"> * apr_killpg</span>
+00088 <span class="comment"> * Small utility macros to make things easier to read.  Not usually a</span>
+00089 <span class="comment"> * goal, to be sure..</span>
+00090 <span class="comment"> */</span>
+00091 
+00092 #ifdef WIN32
+00093 #define apr_killpg(x, y)
+00094 #else <span class="comment">/* WIN32 */</span>
+00095 #ifdef NO_KILLPG
+00096 #define apr_killpg(x, y)        (kill (-(x), (y)))
+00097 #else <span class="comment">/* NO_KILLPG */</span>
+<a name="l00098"></a><a class="code" href="group__apr__lib.html#ga5">00098</a> #define apr_killpg(x, y)        (killpg ((x), (y)))
+00099 #endif <span class="comment">/* NO_KILLPG */</span>
+00100 #endif <span class="comment">/* WIN32 */</span>
+00101 <span class="comment"></span>
+00102 <span class="comment">/**</span>
+00103 <span class="comment"> * apr_vformatter() is a generic printf-style formatting routine</span>
+00104 <span class="comment"> * with some extensions.</span>
+00105 <span class="comment"> * @param flush_func The function to call when the buffer is full</span>
+00106 <span class="comment"> * @param c The buffer to write to</span>
+00107 <span class="comment"> * @param fmt The format string</span>
+00108 <span class="comment"> * @param ap The arguments to use to fill out the format string.</span>
+00109 <span class="comment"> *</span>
+00110 <span class="comment"> * @remark</span>
+00111 <span class="comment"> * &lt;PRE&gt;</span>
+00112 <span class="comment"> * The extensions are:</span>
+00113 <span class="comment"> *</span>
+00114 <span class="comment"> * %%pA takes a struct in_addr *, and prints it as a.b.c.d</span>
+00115 <span class="comment"> * %%pI takes an apr_sockaddr_t * and prints it as a.b.c.d:port or</span>
+00116 <span class="comment"> *      [ipv6-address]:port</span>
+00117 <span class="comment"> * %%pT takes an apr_os_thread_t * and prints it in decimal</span>
+00118 <span class="comment"> *      ('0' is printed if !APR_HAS_THREADS)</span>
+00119 <span class="comment"> * %%pp takes a void * and outputs it in hex</span>
+00120 <span class="comment"> *</span>
+00121 <span class="comment"> * The %%p hacks are to force gcc's printf warning code to skip</span>
+00122 <span class="comment"> * over a pointer argument without complaining.  This does</span>
+00123 <span class="comment"> * mean that the ANSI-style %%p (output a void * in hex format) won't</span>
+00124 <span class="comment"> * work as expected at all, but that seems to be a fair trade-off</span>
+00125 <span class="comment"> * for the increased robustness of having printf-warnings work.</span>
+00126 <span class="comment"> *</span>
+00127 <span class="comment"> * Additionally, apr_vformatter allows for arbitrary output methods</span>
+00128 <span class="comment"> * using the apr_vformatter_buff and flush_func.</span>
+00129 <span class="comment"> *</span>
+00130 <span class="comment"> * The apr_vformatter_buff has two elements curpos and endpos.</span>
+00131 <span class="comment"> * curpos is where apr_vformatter will write the next byte of output.</span>
+00132 <span class="comment"> * It proceeds writing output to curpos, and updating curpos, until</span>
+00133 <span class="comment"> * either the end of output is reached, or curpos == endpos (i.e. the</span>
+00134 <span class="comment"> * buffer is full).</span>
+00135 <span class="comment"> *</span>
+00136 <span class="comment"> * If the end of output is reached, apr_vformatter returns the</span>
+00137 <span class="comment"> * number of bytes written.</span>
+00138 <span class="comment"> *</span>
+00139 <span class="comment"> * When the buffer is full, the flush_func is called.  The flush_func</span>
+00140 <span class="comment"> * can return -1 to indicate that no further output should be attempted,</span>
+00141 <span class="comment"> * and apr_vformatter will return immediately with -1.  Otherwise</span>
+00142 <span class="comment"> * the flush_func should flush the buffer in whatever manner is</span>
+00143 <span class="comment"> * appropriate, re apr_pool_t nitialize curpos and endpos, and return 0.</span>
+00144 <span class="comment"> *</span>
+00145 <span class="comment"> * Note that flush_func is only invoked as a result of attempting to</span>
+00146 <span class="comment"> * write another byte at curpos when curpos &gt;= endpos.  So for</span>
+00147 <span class="comment"> * example, it's possible when the output exactly matches the buffer</span>
+00148 <span class="comment"> * space available that curpos == endpos will be true when</span>
+00149 <span class="comment"> * apr_vformatter returns.</span>
+00150 <span class="comment"> *</span>
+00151 <span class="comment"> * apr_vformatter does not call out to any other code, it is entirely</span>
+00152 <span class="comment"> * self-contained.  This allows the callers to do things which are</span>
+00153 <span class="comment"> * otherwise "unsafe".  For example, apr_psprintf uses the "scratch"</span>
+00154 <span class="comment"> * space at the unallocated end of a block, and doesn't actually</span>
+00155 <span class="comment"> * complete the allocation until apr_vformatter returns.  apr_psprintf</span>
+00156 <span class="comment"> * would be completely broken if apr_vformatter were to call anything</span>
+00157 <span class="comment"> * that used this same pool.  Similarly http_bprintf() uses the "scratch"</span>
+00158 <span class="comment"> * space at the end of its output buffer, and doesn't actually note</span>
+00159 <span class="comment"> * that the space is in use until it either has to flush the buffer</span>
+00160 <span class="comment"> * or until apr_vformatter returns.</span>
+00161 <span class="comment"> * &lt;/PRE&gt;</span>
+00162 <span class="comment"> */</span>
+00163 APR_DECLARE(<span class="keywordtype">int</span>) apr_vformatter(<span class="keywordtype">int</span> (*flush_func)(apr_vformatter_buff_t *b),
+00164                                 apr_vformatter_buff_t *c, const <span class="keywordtype">char</span> *fmt,
+00165                                 va_list ap);
+00166 <span class="comment"></span>
+00167 <span class="comment">/**</span>
+00168 <span class="comment"> * Display a prompt and read in the password from stdin.</span>
+00169 <span class="comment"> * @param prompt The prompt to display</span>
+00170 <span class="comment"> * @param pwbuf Buffer to store the password</span>
+00171 <span class="comment"> * @param bufsize The length of the password buffer.</span>
+00172 <span class="comment"> * @remark If the password entered must be truncated to fit in</span>
+00173 <span class="comment"> * the provided buffer, APR_ENAMETOOLONG will be returned.</span>
+00174 <span class="comment"> * Note that the bufsize paramater is passed by reference for no</span>
+00175 <span class="comment"> * reason; its value will never be modified by the apr_password_get()</span>
+00176 <span class="comment"> * function.</span>
+00177 <span class="comment"> */</span>
+00178 APR_DECLARE(apr_status_t) apr_password_get(const <span class="keywordtype">char</span> *prompt, <span class="keywordtype">char</span> *pwbuf, 
+00179                                            apr_size_t *bufsize);
+00180 <span class="comment"></span>
+00181 <span class="comment">/** @} */</span>
+00182 <span class="comment"></span>
+00183 <span class="comment">/**</span>
+00184 <span class="comment"> * @defgroup apr_ctype ctype functions</span>
+00185 <span class="comment"> * These macros allow correct support of 8-bit characters on systems which</span>
+00186 <span class="comment"> * support 8-bit characters.  Pretty dumb how the cast is required, but</span>
+00187 <span class="comment"> * that's legacy libc for ya.  These new macros do not support EOF like</span>
+00188 <span class="comment"> * the standard macros do.  Tough.</span>
+00189 <span class="comment"> * @{</span>
+00190 <span class="comment"> */</span><span class="comment"></span>
+00191 <span class="comment">/** @see isalnum */</span>
+<a name="l00192"></a><a class="code" href="group__apr__ctype.html#ga0">00192</a> #define apr_isalnum(c) (isalnum(((<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>)(c))))<span class="comment"></span>
+00193 <span class="comment">/** @see isalpha */</span>
+<a name="l00194"></a><a class="code" href="group__apr__ctype.html#ga1">00194</a> #define apr_isalpha(c) (isalpha(((<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>)(c))))<span class="comment"></span>
+00195 <span class="comment">/** @see iscntrl */</span>
+<a name="l00196"></a><a class="code" href="group__apr__ctype.html#ga2">00196</a> #define apr_iscntrl(c) (iscntrl(((<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>)(c))))<span class="comment"></span>
+00197 <span class="comment">/** @see isdigit */</span>
+<a name="l00198"></a><a class="code" href="group__apr__ctype.html#ga3">00198</a> #define apr_isdigit(c) (isdigit(((<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>)(c))))<span class="comment"></span>
+00199 <span class="comment">/** @see isgraph */</span>
+<a name="l00200"></a><a class="code" href="group__apr__ctype.html#ga4">00200</a> #define apr_isgraph(c) (isgraph(((<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>)(c))))<span class="comment"></span>
+00201 <span class="comment">/** @see islower*/</span>
+<a name="l00202"></a><a class="code" href="group__apr__ctype.html#ga5">00202</a> #define apr_islower(c) (islower(((<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>)(c))))<span class="comment"></span>
+00203 <span class="comment">/** @see isascii */</span>
+00204 #ifdef isascii
+00205 #define apr_isascii(c) (isascii(((<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>)(c))))
+00206 #else
+<a name="l00207"></a><a class="code" href="group__apr__ctype.html#ga6">00207</a> #define apr_isascii(c) (((c) &amp; ~0x7f)==0)
+00208 #endif<span class="comment"></span>
+00209 <span class="comment">/** @see isprint */</span>
+<a name="l00210"></a><a class="code" href="group__apr__ctype.html#ga7">00210</a> #define apr_isprint(c) (isprint(((<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>)(c))))<span class="comment"></span>
+00211 <span class="comment">/** @see ispunct */</span>
+<a name="l00212"></a><a class="code" href="group__apr__ctype.html#ga8">00212</a> #define apr_ispunct(c) (ispunct(((<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>)(c))))<span class="comment"></span>
+00213 <span class="comment">/** @see isspace */</span>
+<a name="l00214"></a><a class="code" href="group__apr__ctype.html#ga9">00214</a> #define apr_isspace(c) (isspace(((<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>)(c))))<span class="comment"></span>
+00215 <span class="comment">/** @see isupper */</span>
+<a name="l00216"></a><a class="code" href="group__apr__ctype.html#ga10">00216</a> #define apr_isupper(c) (isupper(((<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>)(c))))<span class="comment"></span>
+00217 <span class="comment">/** @see isxdigit */</span>
+<a name="l00218"></a><a class="code" href="group__apr__ctype.html#ga11">00218</a> #define apr_isxdigit(c) (isxdigit(((<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>)(c))))<span class="comment"></span>
+00219 <span class="comment">/** @see tolower */</span>
+<a name="l00220"></a><a class="code" href="group__apr__ctype.html#ga12">00220</a> #define apr_tolower(c) (tolower(((<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>)(c))))<span class="comment"></span>
+00221 <span class="comment">/** @see toupper */</span>
+<a name="l00222"></a><a class="code" href="group__apr__ctype.html#ga13">00222</a> #define apr_toupper(c) (toupper(((<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>)(c))))
+00223 <span class="comment"></span>
+00224 <span class="comment">/** @} */</span>
+00225 
+00226 #ifdef __cplusplus
+00227 }
+00228 #endif
+00229 
+00230 #endif  <span class="comment">/* ! APR_LIB_H */</span>
+</div></pre><hr size="1"><address style="align: right;"><small>Generated on Mon Feb 7 13:18:25 2005 for Apache Portable Runtime by
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border=0 ></a> 1.3.8 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border=0 ></a> 1.3.7 </small></address>
 </body>
 </html>

Modified: apr/site/trunk/docs/docs/apr/apr__lib_8h.html
URL: http://svn.apache.org/viewcvs/apr/site/trunk/docs/docs/apr/apr__lib_8h.html?view=diff&r1=151767&r2=151768
==============================================================================
--- apr/site/trunk/docs/docs/apr/apr__lib_8h.html (original)
+++ apr/site/trunk/docs/docs/apr/apr__lib_8h.html Mon Feb  7 15:10:17 2005
@@ -3,9 +3,10 @@
 <title>Apache Portable Runtime: apr_lib.h File Reference</title>
 <link href="doxygen.css" rel="stylesheet" type="text/css">
 </head><body>
-<!-- Generated by Doxygen 1.3.8 -->
+<!-- Generated by Doxygen 1.3.7 -->
 <div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="annotated.html">Data&nbsp;Structures</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Data&nbsp;Fields</a> | <a class="qindex" href="globals.html">Globals</a> | <a class="qindex" href="pages.html">Related&nbsp;Pages</a></div>
-<h1>apr_lib.h File Reference</h1>APR general purpose library routines. <a href="#_details">More...</a>
+<h1>apr_lib.h File Reference</h1>APR general purpose library routines.  
+<a href="#_details">More...</a>
 <p>
 <code>#include "apr.h"</code><br>
 <code>#include "<a class="el" href="apr__errno_8h-source.html">apr_errno.h</a>"</code><br>
@@ -63,8 +64,8 @@
 <hr><a name="_details"></a><h2>Detailed Description</h2>
 APR general purpose library routines. 
 <p>
-This is collection of oddballs that didn't fit anywhere else, and might move to more appropriate headers with the release of APR 1.0. <hr size="1"><address style="align: right;"><small>Generated on Wed Sep 1 21:36:05 2004 for Apache Portable Runtime by
+This is collection of oddballs that didn't fit anywhere else, and might move to more appropriate headers with the release of APR 1.0. <hr size="1"><address style="align: right;"><small>Generated on Mon Feb 7 13:18:25 2005 for Apache Portable Runtime by
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border=0 ></a> 1.3.8 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border=0 ></a> 1.3.7 </small></address>
 </body>
 </html>

Modified: apr/site/trunk/docs/docs/apr/apr__mmap_8h-source.html
URL: http://svn.apache.org/viewcvs/apr/site/trunk/docs/docs/apr/apr__mmap_8h-source.html?view=diff&r1=151767&r2=151768
==============================================================================
--- apr/site/trunk/docs/docs/apr/apr__mmap_8h-source.html (original)
+++ apr/site/trunk/docs/docs/apr/apr__mmap_8h-source.html Mon Feb  7 15:10:17 2005
@@ -3,180 +3,181 @@
 <title>Apache Portable Runtime: apr_mmap.h Source File</title>
 <link href="doxygen.css" rel="stylesheet" type="text/css">
 </head><body>
-<!-- Generated by Doxygen 1.3.8 -->
+<!-- Generated by Doxygen 1.3.7 -->
 <div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="annotated.html">Data&nbsp;Structures</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Data&nbsp;Fields</a> | <a class="qindex" href="globals.html">Globals</a> | <a class="qindex" href="pages.html">Related&nbsp;Pages</a></div>
-<h1>apr_mmap.h</h1><a href="apr__mmap_8h.html">Go to the documentation of this file.</a><pre class="fragment"><div>00001 <span class="comment">/* Copyright 2000-2004 The Apache Software Foundation</span>
-00002 <span class="comment"> *</span>
-00003 <span class="comment"> * Licensed under the Apache License, Version 2.0 (the "License");</span>
-00004 <span class="comment"> * you may not use this file except in compliance with the License.</span>
-00005 <span class="comment"> * You may obtain a copy of the License at</span>
-00006 <span class="comment"> *</span>
-00007 <span class="comment"> *     http://www.apache.org/licenses/LICENSE-2.0</span>
-00008 <span class="comment"> *</span>
-00009 <span class="comment"> * Unless required by applicable law or agreed to in writing, software</span>
-00010 <span class="comment"> * distributed under the License is distributed on an "AS IS" BASIS,</span>
-00011 <span class="comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span>
-00012 <span class="comment"> * See the License for the specific language governing permissions and</span>
-00013 <span class="comment"> * limitations under the License.</span>
-00014 <span class="comment"> */</span>
-00015 
-00016 <span class="preprocessor">#ifndef APR_MMAP_H</span>
-00017 <span class="preprocessor"></span><span class="preprocessor">#define APR_MMAP_H</span>
-00018 <span class="preprocessor"></span><span class="comment"></span>
-00019 <span class="comment">/**</span>
-00020 <span class="comment"> * @file apr_mmap.h</span>
-00021 <span class="comment"> * @brief APR MMAP routines</span>
-00022 <span class="comment"> */</span>
-00023 
-00024 <span class="preprocessor">#include "apr.h"</span>
-00025 <span class="preprocessor">#include "<a class="code" href="apr__pools_8h.html">apr_pools.h</a>"</span>
-00026 <span class="preprocessor">#include "<a class="code" href="apr__errno_8h.html">apr_errno.h</a>"</span>
-00027 <span class="preprocessor">#include "<a class="code" href="apr__ring_8h.html">apr_ring.h</a>"</span>
-00028 <span class="preprocessor">#include "<a class="code" href="apr__file__io_8h.html">apr_file_io.h</a>"</span>        <span class="comment">/* for apr_file_t */</span>
-00029 
-00030 <span class="preprocessor">#ifdef BEOS</span>
-00031 <span class="preprocessor"></span><span class="preprocessor">#include &lt;kernel/OS.h&gt;</span>
-00032 <span class="preprocessor">#endif</span>
-00033 <span class="preprocessor"></span>
-00034 <span class="preprocessor">#ifdef __cplusplus</span>
-00035 <span class="preprocessor"></span><span class="keyword">extern</span> <span class="stringliteral">"C"</span> {
-00036 <span class="preprocessor">#endif </span><span class="comment">/* __cplusplus */</span>
-00037 <span class="comment"></span>
-00038 <span class="comment">/**</span>
-00039 <span class="comment"> * @defgroup apr_mmap MMAP (Memory Map) Routines</span>
-00040 <span class="comment"> * @ingroup APR </span>
-00041 <span class="comment"> * @{</span>
-00042 <span class="comment"> */</span>
-00043 <span class="comment"></span>
-00044 <span class="comment">/** MMap opened for reading */</span>
-<a name="l00045"></a><a class="code" href="group__apr__mmap.html#ga5">00045</a> <span class="preprocessor">#define APR_MMAP_READ    1</span>
-00046 <span class="preprocessor"></span><span class="comment">/** MMap opened for writing */</span>
-<a name="l00047"></a><a class="code" href="group__apr__mmap.html#ga6">00047</a> <span class="preprocessor">#define APR_MMAP_WRITE   2</span>
-00048 <span class="preprocessor"></span><span class="comment"></span>
-00049 <span class="comment">/** @see apr_mmap_t */</span>
-<a name="l00050"></a><a class="code" href="group__apr__mmap.html#ga0">00050</a> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="structapr__mmap__t.html">apr_mmap_t</a>            <a class="code" href="group__apr__mmap.html#ga0">apr_mmap_t</a>;
-00051 <span class="comment"></span>
-00052 <span class="comment">/**</span>
-00053 <span class="comment"> * @remark</span>
-00054 <span class="comment"> * As far as I can tell the only really sane way to store an MMAP is as a</span>
-00055 <span class="comment"> * void * and a length.  BeOS requires this area_id, but that's just a little</span>
-00056 <span class="comment"> * something extra.  I am exposing this type, because it doesn't make much</span>
-00057 <span class="comment"> * sense to keep it private, and opening it up makes some stuff easier in</span>
-00058 <span class="comment"> * Apache.</span>
-00059 <span class="comment"> */</span><span class="comment"></span>
-00060 <span class="comment">/** The MMAP structure */</span>
-<a name="l00061"></a><a class="code" href="structapr__mmap__t.html">00061</a> <span class="keyword">struct </span><a class="code" href="group__apr__mmap.html#ga0">apr_mmap_t</a> {<span class="comment"></span>
-00062 <span class="comment">    /** The pool the mmap structure was allocated out of. */</span>
-<a name="l00063"></a><a class="code" href="structapr__mmap__t.html#o0">00063</a>     <a class="code" href="group__apr__pools.html#ga0">apr_pool_t</a> *<a class="code" href="structapr__mmap__t.html#o0">cntxt</a>;
-00064 <span class="preprocessor">#ifdef BEOS</span>
-00065 <span class="preprocessor"></span><span class="comment">    /** An area ID.  Only valid on BeOS */</span>
-00066     area_id area;
-00067 <span class="preprocessor">#endif</span>
-00068 <span class="preprocessor"></span><span class="preprocessor">#ifdef WIN32</span>
-00069 <span class="preprocessor"></span><span class="comment">    /** The handle of the file mapping */</span>
-00070     HANDLE mhandle;<span class="comment"></span>
-00071 <span class="comment">    /** The start of the real memory page area (mapped view) */</span>
-00072     <span class="keywordtype">void</span> *mv;<span class="comment"></span>
-00073 <span class="comment">    /** The physical start, size and offset */</span>
-00074     apr_off_t  pstart;
-00075     apr_size_t psize;
-00076     apr_off_t  poffset;
-00077 <span class="preprocessor">#endif</span>
-00078 <span class="preprocessor"></span><span class="comment">    /** The start of the memory mapped area */</span>
-<a name="l00079"></a><a class="code" href="structapr__mmap__t.html#o1">00079</a>     <span class="keywordtype">void</span> *<a class="code" href="structapr__mmap__t.html#o1">mm</a>;<span class="comment"></span>
-00080 <span class="comment">    /** The amount of data in the mmap */</span>
-<a name="l00081"></a><a class="code" href="structapr__mmap__t.html#o2">00081</a>     apr_size_t <a class="code" href="structapr__mmap__t.html#o2">size</a>;<span class="comment"></span>
-00082 <span class="comment">    /** ring of apr_mmap_t's that reference the same</span>
-00083 <span class="comment">     * mmap'ed region; acts in place of a reference count */</span>
-00084     <a class="code" href="structapr__mmap__t.html#a0">APR_RING_ENTRY</a>(apr_mmap_t) link;
-00085 };
-00086 
-00087 #if APR_HAS_MMAP || defined(DOXYGEN)
-00088 <span class="comment"></span>
-00089 <span class="comment">/** @def APR_MMAP_THRESHOLD </span>
-00090 <span class="comment"> * Files have to be at least this big before they're mmap()d.  This is to deal</span>
-00091 <span class="comment"> * with systems where the expense of doing an mmap() and an munmap() outweighs</span>
-00092 <span class="comment"> * the benefit for small files.  It shouldn't be set lower than 1.</span>
-00093 <span class="comment"> */</span>
-00094 #ifdef MMAP_THRESHOLD
-00095 #  define APR_MMAP_THRESHOLD              MMAP_THRESHOLD
-00096 #else
-00097 #  ifdef SUNOS4
-00098 #    define APR_MMAP_THRESHOLD            (8*1024)
-00099 #  else
-<a name="l00100"></a><a class="code" href="group__apr__mmap.html#ga7">00100</a> #    define APR_MMAP_THRESHOLD            1
-00101 #  endif <span class="comment">/* SUNOS4 */</span>
-00102 #endif <span class="comment">/* MMAP_THRESHOLD */</span>
-00103 <span class="comment"></span>
-00104 <span class="comment">/** @def APR_MMAP_LIMIT</span>
-00105 <span class="comment"> * Maximum size of MMap region</span>
-00106 <span class="comment"> */</span>
-00107 #ifdef MMAP_LIMIT
-00108 #  define APR_MMAP_LIMIT                  MMAP_LIMIT
-00109 #else
-<a name="l00110"></a><a class="code" href="group__apr__mmap.html#ga8">00110</a> #  define APR_MMAP_LIMIT                  (4*1024*1024)
-00111 #endif <span class="comment">/* MMAP_LIMIT */</span>
-00112 <span class="comment"></span>
-00113 <span class="comment">/** Can this file be MMaped */</span>
-<a name="l00114"></a><a class="code" href="group__apr__mmap.html#ga9">00114</a> #define APR_MMAP_CANDIDATE(filelength) \
-00115     ((filelength &gt;= APR_MMAP_THRESHOLD) &amp;&amp; (filelength &lt; APR_MMAP_LIMIT))
-00116 
-00117 <span class="comment">/*   Function definitions */</span>
-00118 <span class="comment"></span>
-00119 <span class="comment">/** </span>
-00120 <span class="comment"> * Create a new mmap'ed file out of an existing APR file.</span>
-00121 <span class="comment"> * @param newmmap The newly created mmap'ed file.</span>
-00122 <span class="comment"> * @param file The file turn into an mmap.</span>
-00123 <span class="comment"> * @param offset The offset into the file to start the data pointer at.</span>
-00124 <span class="comment"> * @param size The size of the file</span>
-00125 <span class="comment"> * @param flag bit-wise or of:</span>
-00126 <span class="comment"> * &lt;PRE&gt;</span>
-00127 <span class="comment"> *          APR_MMAP_READ       MMap opened for reading</span>
-00128 <span class="comment"> *          APR_MMAP_WRITE      MMap opened for writing</span>
-00129 <span class="comment"> * &lt;/PRE&gt;</span>
-00130 <span class="comment"> * @param cntxt The pool to use when creating the mmap.</span>
-00131 <span class="comment"> */</span>
-00132 APR_DECLARE(<a class="code" href="group__apr__errno.html#ga0">apr_status_t</a>) apr_mmap_create(apr_mmap_t **newmmap, 
-00133                                           <a class="code" href="group__apr__file__io.html#ga2">apr_file_t</a> *file, apr_off_t offset,
-00134                                           apr_size_t size, apr_int32_t flag,
-00135                                           <a class="code" href="group__apr__pools.html#ga0">apr_pool_t</a> *cntxt);
-00136 <span class="comment"></span>
-00137 <span class="comment">/**</span>
-00138 <span class="comment"> * Duplicate the specified MMAP.</span>
-00139 <span class="comment"> * @param new_mmap The structure to duplicate into. </span>
-00140 <span class="comment"> * @param old_mmap The mmap to duplicate.</span>
-00141 <span class="comment"> * @param p The pool to use for new_mmap.</span>
-00142 <span class="comment"> */</span>         
-00143 APR_DECLARE(<a class="code" href="group__apr__errno.html#ga0">apr_status_t</a>) apr_mmap_dup(apr_mmap_t **new_mmap,
-00144                                        apr_mmap_t *old_mmap,
-00145                                        <a class="code" href="group__apr__pools.html#ga0">apr_pool_t</a> *p);
-00146 <span class="comment"></span>
-00147 <span class="comment">/**</span>
-00148 <span class="comment"> * Remove a mmap'ed.</span>
-00149 <span class="comment"> * @param mm The mmap'ed file.</span>
-00150 <span class="comment"> */</span>
-00151 APR_DECLARE(<a class="code" href="group__apr__errno.html#ga0">apr_status_t</a>) apr_mmap_delete(apr_mmap_t *mm);
-00152 <span class="comment"></span>
-00153 <span class="comment">/** </span>
-00154 <span class="comment"> * Move the pointer into the mmap'ed file to the specified offset.</span>
-00155 <span class="comment"> * @param addr The pointer to the offset specified.</span>
-00156 <span class="comment"> * @param mm The mmap'ed file.</span>
-00157 <span class="comment"> * @param offset The offset to move to.</span>
-00158 <span class="comment"> */</span>
-00159 APR_DECLARE(<a class="code" href="group__apr__errno.html#ga0">apr_status_t</a>) apr_mmap_offset(<span class="keywordtype">void</span> **addr, apr_mmap_t *mm, 
-00160                                           apr_off_t offset);
-00161 
-00162 #endif <span class="comment">/* APR_HAS_MMAP */</span>
-00163 <span class="comment"></span>
-00164 <span class="comment">/** @} */</span>
-00165 
-00166 #ifdef __cplusplus
-00167 }
-00168 #endif
-00169 
-00170 #endif  <span class="comment">/* ! APR_MMAP_H */</span>
-</div></pre><hr size="1"><address style="align: right;"><small>Generated on Wed Sep 1 21:36:05 2004 for Apache Portable Runtime by
+<h1>apr_mmap.h</h1><a href="apr__mmap_8h.html">Go to the documentation of this file.</a><pre class="fragment"><div>00001 <span class="comment">/* Copyright 2000-2005 The Apache Software Foundation or its licensors, as</span>
+00002 <span class="comment"> * applicable.</span>
+00003 <span class="comment"> *</span>
+00004 <span class="comment"> * Licensed under the Apache License, Version 2.0 (the "License");</span>
+00005 <span class="comment"> * you may not use this file except in compliance with the License.</span>
+00006 <span class="comment"> * You may obtain a copy of the License at</span>
+00007 <span class="comment"> *</span>
+00008 <span class="comment"> *     http://www.apache.org/licenses/LICENSE-2.0</span>
+00009 <span class="comment"> *</span>
+00010 <span class="comment"> * Unless required by applicable law or agreed to in writing, software</span>
+00011 <span class="comment"> * distributed under the License is distributed on an "AS IS" BASIS,</span>
+00012 <span class="comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span>
+00013 <span class="comment"> * See the License for the specific language governing permissions and</span>
+00014 <span class="comment"> * limitations under the License.</span>
+00015 <span class="comment"> */</span>
+00016 
+00017 <span class="preprocessor">#ifndef APR_MMAP_H</span>
+00018 <span class="preprocessor"></span><span class="preprocessor">#define APR_MMAP_H</span>
+00019 <span class="preprocessor"></span><span class="comment"></span>
+00020 <span class="comment">/**</span>
+00021 <span class="comment"> * @file apr_mmap.h</span>
+00022 <span class="comment"> * @brief APR MMAP routines</span>
+00023 <span class="comment"> */</span>
+00024 
+00025 <span class="preprocessor">#include "apr.h"</span>
+00026 <span class="preprocessor">#include "<a class="code" href="apr__pools_8h.html">apr_pools.h</a>"</span>
+00027 <span class="preprocessor">#include "<a class="code" href="apr__errno_8h.html">apr_errno.h</a>"</span>
+00028 <span class="preprocessor">#include "<a class="code" href="apr__ring_8h.html">apr_ring.h</a>"</span>
+00029 <span class="preprocessor">#include "<a class="code" href="apr__file__io_8h.html">apr_file_io.h</a>"</span>        <span class="comment">/* for apr_file_t */</span>
+00030 
+00031 <span class="preprocessor">#ifdef BEOS</span>
+00032 <span class="preprocessor"></span><span class="preprocessor">#include &lt;kernel/OS.h&gt;</span>
+00033 <span class="preprocessor">#endif</span>
+00034 <span class="preprocessor"></span>
+00035 <span class="preprocessor">#ifdef __cplusplus</span>
+00036 <span class="preprocessor"></span><span class="keyword">extern</span> <span class="stringliteral">"C"</span> {
+00037 <span class="preprocessor">#endif </span><span class="comment">/* __cplusplus */</span>
+00038 <span class="comment"></span>
+00039 <span class="comment">/**</span>
+00040 <span class="comment"> * @defgroup apr_mmap MMAP (Memory Map) Routines</span>
+00041 <span class="comment"> * @ingroup APR </span>
+00042 <span class="comment"> * @{</span>
+00043 <span class="comment"> */</span>
+00044 <span class="comment"></span>
+00045 <span class="comment">/** MMap opened for reading */</span>
+<a name="l00046"></a><a class="code" href="group__apr__mmap.html#ga5">00046</a> <span class="preprocessor">#define APR_MMAP_READ    1</span>
+00047 <span class="preprocessor"></span><span class="comment">/** MMap opened for writing */</span>
+<a name="l00048"></a><a class="code" href="group__apr__mmap.html#ga6">00048</a> <span class="preprocessor">#define APR_MMAP_WRITE   2</span>
+00049 <span class="preprocessor"></span><span class="comment"></span>
+00050 <span class="comment">/** @see apr_mmap_t */</span>
+<a name="l00051"></a><a class="code" href="group__apr__mmap.html#ga0">00051</a> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="structapr__mmap__t.html">apr_mmap_t</a>            <a class="code" href="group__apr__mmap.html#ga0">apr_mmap_t</a>;
+00052 <span class="comment"></span>
+00053 <span class="comment">/**</span>
+00054 <span class="comment"> * @remark</span>
+00055 <span class="comment"> * As far as I can tell the only really sane way to store an MMAP is as a</span>
+00056 <span class="comment"> * void * and a length.  BeOS requires this area_id, but that's just a little</span>
+00057 <span class="comment"> * something extra.  I am exposing this type, because it doesn't make much</span>
+00058 <span class="comment"> * sense to keep it private, and opening it up makes some stuff easier in</span>
+00059 <span class="comment"> * Apache.</span>
+00060 <span class="comment"> */</span><span class="comment"></span>
+00061 <span class="comment">/** The MMAP structure */</span>
+<a name="l00062"></a><a class="code" href="structapr__mmap__t.html">00062</a> <span class="keyword">struct </span><a class="code" href="group__apr__mmap.html#ga0">apr_mmap_t</a> {<span class="comment"></span>
+00063 <span class="comment">    /** The pool the mmap structure was allocated out of. */</span>
+<a name="l00064"></a><a class="code" href="structapr__mmap__t.html#o0">00064</a>     <a class="code" href="group__apr__pools.html#ga0">apr_pool_t</a> *<a class="code" href="structapr__mmap__t.html#o0">cntxt</a>;
+00065 <span class="preprocessor">#ifdef BEOS</span>
+00066 <span class="preprocessor"></span><span class="comment">    /** An area ID.  Only valid on BeOS */</span>
+00067     area_id area;
+00068 <span class="preprocessor">#endif</span>
+00069 <span class="preprocessor"></span><span class="preprocessor">#ifdef WIN32</span>
+00070 <span class="preprocessor"></span><span class="comment">    /** The handle of the file mapping */</span>
+00071     HANDLE mhandle;<span class="comment"></span>
+00072 <span class="comment">    /** The start of the real memory page area (mapped view) */</span>
+00073     <span class="keywordtype">void</span> *mv;<span class="comment"></span>
+00074 <span class="comment">    /** The physical start, size and offset */</span>
+00075     apr_off_t  pstart;
+00076     apr_size_t psize;
+00077     apr_off_t  poffset;
+00078 <span class="preprocessor">#endif</span>
+00079 <span class="preprocessor"></span><span class="comment">    /** The start of the memory mapped area */</span>
+<a name="l00080"></a><a class="code" href="structapr__mmap__t.html#o1">00080</a>     <span class="keywordtype">void</span> *<a class="code" href="structapr__mmap__t.html#o1">mm</a>;<span class="comment"></span>
+00081 <span class="comment">    /** The amount of data in the mmap */</span>
+<a name="l00082"></a><a class="code" href="structapr__mmap__t.html#o2">00082</a>     apr_size_t <a class="code" href="structapr__mmap__t.html#o2">size</a>;<span class="comment"></span>
+00083 <span class="comment">    /** ring of apr_mmap_t's that reference the same</span>
+00084 <span class="comment">     * mmap'ed region; acts in place of a reference count */</span>
+00085     <a class="code" href="group__apr__ring.html#ga0">APR_RING_ENTRY</a>(apr_mmap_t) link;
+00086 };
+00087 
+00088 #if APR_HAS_MMAP || defined(DOXYGEN)
+00089 <span class="comment"></span>
+00090 <span class="comment">/** @def APR_MMAP_THRESHOLD </span>
+00091 <span class="comment"> * Files have to be at least this big before they're mmap()d.  This is to deal</span>
+00092 <span class="comment"> * with systems where the expense of doing an mmap() and an munmap() outweighs</span>
+00093 <span class="comment"> * the benefit for small files.  It shouldn't be set lower than 1.</span>
+00094 <span class="comment"> */</span>
+00095 #ifdef MMAP_THRESHOLD
+00096 #  define APR_MMAP_THRESHOLD              MMAP_THRESHOLD
+00097 #else
+00098 #  ifdef SUNOS4
+00099 #    define APR_MMAP_THRESHOLD            (8*1024)
+00100 #  else
+<a name="l00101"></a><a class="code" href="group__apr__mmap.html#ga7">00101</a> #    define APR_MMAP_THRESHOLD            1
+00102 #  endif <span class="comment">/* SUNOS4 */</span>
+00103 #endif <span class="comment">/* MMAP_THRESHOLD */</span>
+00104 <span class="comment"></span>
+00105 <span class="comment">/** @def APR_MMAP_LIMIT</span>
+00106 <span class="comment"> * Maximum size of MMap region</span>
+00107 <span class="comment"> */</span>
+00108 #ifdef MMAP_LIMIT
+00109 #  define APR_MMAP_LIMIT                  MMAP_LIMIT
+00110 #else
+<a name="l00111"></a><a class="code" href="group__apr__mmap.html#ga8">00111</a> #  define APR_MMAP_LIMIT                  (4*1024*1024)
+00112 #endif <span class="comment">/* MMAP_LIMIT */</span>
+00113 <span class="comment"></span>
+00114 <span class="comment">/** Can this file be MMaped */</span>
+<a name="l00115"></a><a class="code" href="group__apr__mmap.html#ga9">00115</a> #define APR_MMAP_CANDIDATE(filelength) \
+00116     ((filelength &gt;= APR_MMAP_THRESHOLD) &amp;&amp; (filelength &lt; APR_MMAP_LIMIT))
+00117 
+00118 <span class="comment">/*   Function definitions */</span>
+00119 <span class="comment"></span>
+00120 <span class="comment">/** </span>
+00121 <span class="comment"> * Create a new mmap'ed file out of an existing APR file.</span>
+00122 <span class="comment"> * @param newmmap The newly created mmap'ed file.</span>
+00123 <span class="comment"> * @param file The file turn into an mmap.</span>
+00124 <span class="comment"> * @param offset The offset into the file to start the data pointer at.</span>
+00125 <span class="comment"> * @param size The size of the file</span>
+00126 <span class="comment"> * @param flag bit-wise or of:</span>
+00127 <span class="comment"> * &lt;PRE&gt;</span>
+00128 <span class="comment"> *          APR_MMAP_READ       MMap opened for reading</span>
+00129 <span class="comment"> *          APR_MMAP_WRITE      MMap opened for writing</span>
+00130 <span class="comment"> * &lt;/PRE&gt;</span>
+00131 <span class="comment"> * @param cntxt The pool to use when creating the mmap.</span>
+00132 <span class="comment"> */</span>
+00133 APR_DECLARE(apr_status_t) apr_mmap_create(apr_mmap_t **newmmap, 
+00134                                           apr_file_t *file, apr_off_t offset,
+00135                                           apr_size_t size, apr_int32_t flag,
+00136                                           apr_pool_t *cntxt);
+00137 <span class="comment"></span>
+00138 <span class="comment">/**</span>
+00139 <span class="comment"> * Duplicate the specified MMAP.</span>
+00140 <span class="comment"> * @param new_mmap The structure to duplicate into. </span>
+00141 <span class="comment"> * @param old_mmap The mmap to duplicate.</span>
+00142 <span class="comment"> * @param p The pool to use for new_mmap.</span>
+00143 <span class="comment"> */</span>         
+00144 APR_DECLARE(apr_status_t) apr_mmap_dup(apr_mmap_t **new_mmap,
+00145                                        apr_mmap_t *old_mmap,
+00146                                        apr_pool_t *p);
+00147 <span class="comment"></span>
+00148 <span class="comment">/**</span>
+00149 <span class="comment"> * Remove a mmap'ed.</span>
+00150 <span class="comment"> * @param mm The mmap'ed file.</span>
+00151 <span class="comment"> */</span>
+00152 APR_DECLARE(apr_status_t) apr_mmap_delete(apr_mmap_t *mm);
+00153 <span class="comment"></span>
+00154 <span class="comment">/** </span>
+00155 <span class="comment"> * Move the pointer into the mmap'ed file to the specified offset.</span>
+00156 <span class="comment"> * @param addr The pointer to the offset specified.</span>
+00157 <span class="comment"> * @param mm The mmap'ed file.</span>
+00158 <span class="comment"> * @param offset The offset to move to.</span>
+00159 <span class="comment"> */</span>
+00160 APR_DECLARE(apr_status_t) apr_mmap_offset(<span class="keywordtype">void</span> **addr, apr_mmap_t *mm, 
+00161                                           apr_off_t offset);
+00162 
+00163 #endif <span class="comment">/* APR_HAS_MMAP */</span>
+00164 <span class="comment"></span>
+00165 <span class="comment">/** @} */</span>
+00166 
+00167 #ifdef __cplusplus
+00168 }
+00169 #endif
+00170 
+00171 #endif  <span class="comment">/* ! APR_MMAP_H */</span>
+</div></pre><hr size="1"><address style="align: right;"><small>Generated on Mon Feb 7 13:18:25 2005 for Apache Portable Runtime by
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border=0 ></a> 1.3.8 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border=0 ></a> 1.3.7 </small></address>
 </body>
 </html>

Modified: apr/site/trunk/docs/docs/apr/apr__mmap_8h.html
URL: http://svn.apache.org/viewcvs/apr/site/trunk/docs/docs/apr/apr__mmap_8h.html?view=diff&r1=151767&r2=151768
==============================================================================
--- apr/site/trunk/docs/docs/apr/apr__mmap_8h.html (original)
+++ apr/site/trunk/docs/docs/apr/apr__mmap_8h.html Mon Feb  7 15:10:17 2005
@@ -3,9 +3,10 @@
 <title>Apache Portable Runtime: apr_mmap.h File Reference</title>
 <link href="doxygen.css" rel="stylesheet" type="text/css">
 </head><body>
-<!-- Generated by Doxygen 1.3.8 -->
+<!-- Generated by Doxygen 1.3.7 -->
 <div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="annotated.html">Data&nbsp;Structures</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Data&nbsp;Fields</a> | <a class="qindex" href="globals.html">Globals</a> | <a class="qindex" href="pages.html">Related&nbsp;Pages</a></div>
-<h1>apr_mmap.h File Reference</h1>APR MMAP routines. <a href="#_details">More...</a>
+<h1>apr_mmap.h File Reference</h1>APR MMAP routines.  
+<a href="#_details">More...</a>
 <p>
 <code>#include "apr.h"</code><br>
 <code>#include "<a class="el" href="apr__pools_8h-source.html">apr_pools.h</a>"</code><br>
@@ -46,8 +47,8 @@
 <hr><a name="_details"></a><h2>Detailed Description</h2>
 APR MMAP routines. 
 <p>
-<hr size="1"><address style="align: right;"><small>Generated on Wed Sep 1 21:36:05 2004 for Apache Portable Runtime by
+<hr size="1"><address style="align: right;"><small>Generated on Mon Feb 7 13:18:25 2005 for Apache Portable Runtime by
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border=0 ></a> 1.3.8 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border=0 ></a> 1.3.7 </small></address>
 </body>
 </html>