You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@apr.apache.org by rb...@locus.apache.org on 2000/12/04 19:14:55 UTC
cvs commit: apr-site/docs APR_File_handling.html APR_I18N_translation_library.html APR_MD5_Library.html APR_MMAP_library.html APR_Network_library.html APR_Process_library.html APR_Random_Functions.html APR_Table_library.html APR_Thread_library.html APR_Time_library.html APR_UUID_Handling.html APR_command_arguments.html APR_general-purpose_library.html APR_lock_library.html APR_memory_allocation.html APR_portability_Routines.html APR_strings_library.html Dynamic_Object_Handling.html Error_Codes.html Fnmatch_functions.html General.html Hash_Tables.html Shared_Memory_library.html master.html packages.html to-do.html
rbb 00/12/04 10:14:51
Modified: docs APR_File_handling.html
APR_I18N_translation_library.html
APR_MD5_Library.html APR_MMAP_library.html
APR_Network_library.html APR_Process_library.html
APR_Random_Functions.html APR_Table_library.html
APR_Thread_library.html APR_Time_library.html
APR_UUID_Handling.html APR_command_arguments.html
APR_general-purpose_library.html
APR_lock_library.html APR_memory_allocation.html
APR_portability_Routines.html
APR_strings_library.html
Dynamic_Object_Handling.html Error_Codes.html
Fnmatch_functions.html General.html
Hash_Tables.html Shared_Memory_library.html
master.html packages.html to-do.html
Log:
Update the APR docs.
Revision Changes Path
1.3 +299 -33 apr-site/docs/APR_File_handling.html
Index: APR_File_handling.html
===================================================================
RCS file: /home/cvs/apr-site/docs/APR_File_handling.html,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- APR_File_handling.html 2000/11/18 03:40:40 1.2
+++ APR_File_handling.html 2000/12/04 18:13:58 1.3
@@ -134,6 +134,82 @@
<p><dl>
</dl></dl>
</blockquote>
+<h2>Global Variables</h2>
+ <blockquote>
+
+ <a name="apr_canon_t"></a>
+ <dl><dt>
+ <b><img src="../images/ball2.gif" width=19 height=17 align=texttop>apr_canon_t ;</b>
+<dd>
+Structure for determining canonical filenames.
+<p><dl>
+</dl></dl>
+
+ <a name="apr_dev_t"></a>
+ <dl><dt>
+ <b><img src="../images/ball2.gif" width=19 height=17 align=texttop>apr_dev_t ;</b>
+<dd>
+Structure for determining the device the file is on.
+<p><dl>
+</dl></dl>
+
+ <a name="apr_dir_t"></a>
+ <dl><dt>
+ <b><img src="../images/ball2.gif" width=19 height=17 align=texttop>apr_dir_t ;</b>
+<dd>
+Structure for referencing directories.
+<p><dl>
+</dl></dl>
+
+ <a name="apr_file_t"></a>
+ <dl><dt>
+ <b><img src="../images/ball2.gif" width=19 height=17 align=texttop>apr_file_t ;</b>
+<dd>
+Structure for referencing files.
+<p><dl>
+</dl></dl>
+
+ <a name="apr_fileperms_t"></a>
+ <dl><dt>
+ <b><img src="../images/ball2.gif" width=19 height=17 align=texttop>apr_fileperms_t ;</b>
+<dd>
+Structure for determining file permissions.
+<p><dl>
+</dl></dl>
+
+ <a name="apr_gid_t"></a>
+ <dl><dt>
+ <b><img src="../images/ball2.gif" width=19 height=17 align=texttop>apr_gid_t ;</b>
+<dd>
+Structure for determining the group that owns the file.
+<p><dl>
+</dl></dl>
+
+ <a name="apr_ino_t"></a>
+ <dl><dt>
+ <b><img src="../images/ball2.gif" width=19 height=17 align=texttop>apr_ino_t ;</b>
+<dd>
+Structure for determining the inode of the file.
+<p><dl>
+</dl></dl>
+
+ <a name="apr_uid_t"></a>
+ <dl><dt>
+ <b><img src="../images/ball2.gif" width=19 height=17 align=texttop>apr_uid_t ;</b>
+<dd>
+Structure for determining file owner.
+<p><dl>
+</dl></dl>
+
+ <a name="time"></a>
+ <dl><dt>
+ <b><img src="../images/ball2.gif" width=19 height=17 align=texttop> or thread can hold a shared lock
+ at any given time;</b>
+<dd>
+File lock types/flags
+<p><dl>
+</dl></dl>
+</blockquote>
<h2>Global Functions</h2>
<blockquote>
@@ -167,6 +243,22 @@
</table>
</dl></dl>
+<a name="apr_count_canonical_elements"></a>
+<dl>
+ <dt>
+ <b><img src="../images/ball2.gif" width=19 height=17 align=texttop>int apr_count_canonical_elements(const apr_canon_t *trusted_name);</b>
+ <dd>
+Count the number of elements in a canonical name.
+<p><dl>
+
+ <dt><b>Parameters</b><dd>
+ <table width="85%">
+<tr valign=top><th align=right>
+ trusted_name</th><td>An already canonicalized file path</td></tr>
+</table>
+ <dt><b>Return Value</b>
+ <dd>The number of elements in the name<p></dl></dl>
+
<a name="apr_create_namedpipe"></a>
<dl>
<dt>
@@ -358,7 +450,8 @@
<dt>
<b><img src="../images/ball2.gif" width=19 height=17 align=texttop>apr_status_t apr_full_read(apr_file_t *thefile, void *buf, apr_size_t nbytes, apr_size_t *bytes_read);</b>
<dd>
-Read data from the specified file.
+Read data from the specified file, ensuring that the buffer is filled
+before returning.
<p><img src="../images//tip.gif"> apr_read will read up to the specified number of bytes, but never
more. If there isn't enough data to fill that number of bytes,
then the process/thread will block until it is available or EOF
@@ -390,7 +483,8 @@
<dt>
<b><img src="../images/ball2.gif" width=19 height=17 align=texttop>apr_status_t apr_full_write(apr_file_t *thefile, const void *buf, apr_size_t nbytes, apr_size_t *bytes_written);</b>
<dd>
-Write data to the specified file.
+Write data to the specified file, ensuring that all of the data is
+written before returning.
<p><img src="../images//tip.gif"> apr_write will write up to the specified number of bytes, but never
more. If the OS cannot write that many bytes, the process/thread
will block until they can be written. Exceptional error such as
@@ -415,6 +509,80 @@
</table>
</dl></dl>
+<a name="apr_get_canonical_elements"></a>
+<dl>
+ <dt>
+ <b><img src="../images/ball2.gif" width=19 height=17 align=texttop>apr_status_t apr_get_canonical_elements(char **path_elements, const apr_canon_t *trusted_name, int firstelement, int lastelement, apr_pool_t *pool);</b>
+ <dd>
+Get the requested elements of a canonical name in a character string
+<p><dl>
+
+ <dt><b>Parameters</b><dd>
+ <table width="85%">
+<tr valign=top><th align=right>
+ path_elements</th><td>A location to store the path elements.
+</td></tr>
+<tr valign=top><th align=right>
+ trusted_name</th><td>An already canonicalized file path
+</td></tr>
+<tr valign=top><th align=right>
+ firstelement</th><td>The numerical position of the element to start the
+ length at.
+</td></tr>
+<tr valign=top><th align=right>
+ lastelement</th><td>The numerical position of the element to end the
+ length at.
+</td></tr>
+<tr valign=top><th align=right>
+ pool</th><td>The pool to allocate the path out of.</td></tr>
+</table>
+ </dl></dl>
+
+<a name="apr_get_canonical_elements_length"></a>
+<dl>
+ <dt>
+ <b><img src="../images/ball2.gif" width=19 height=17 align=texttop>int apr_get_canonical_elements_length(const apr_canon_t *trusted_name, int firstelement, int lastelement);</b>
+ <dd>
+Query the length of some elements of the canonical name
+<p><dl>
+
+ <dt><b>Parameters</b><dd>
+ <table width="85%">
+<tr valign=top><th align=right>
+ trusted_name</th><td>An already canonicalized file path
+</td></tr>
+<tr valign=top><th align=right>
+ firstelement</th><td>The numerical position of the element to start the
+ length at.
+</td></tr>
+<tr valign=top><th align=right>
+ lastelement</th><td>The numerical position of the element to end the
+ length at.</td></tr>
+</table>
+ <dt><b>Return Value</b>
+ <dd>The length of requested elements.<p></dl></dl>
+
+<a name="apr_get_canonical_name"></a>
+<dl>
+ <dt>
+ <b><img src="../images/ball2.gif" width=19 height=17 align=texttop>apr_status_t apr_get_canonical_name(char **path, const apr_canon_t *trusted_name, apr_pool_t *pool);</b>
+ <dd>
+Get the canonical path in a character string
+<p><dl>
+
+ <dt><b>Parameters</b><dd>
+ <table width="85%">
+<tr valign=top><th align=right>
+ path</th><td>A location to store the canocical name
+</td></tr>
+<tr valign=top><th align=right>
+ trusted_name</th><td>An already canonicalized file path
+</td></tr>
+<tr valign=top><th align=right>
+ pool</th><td>The pool to allocate the path out of.</td></tr>
+</table>
+ </dl></dl>
+
<a name="apr_get_dir_filename"></a>
<dl>
<dt>
@@ -531,32 +699,76 @@
<dt>
<b><img src="../images/ball2.gif" width=19 height=17 align=texttop>apr_status_t apr_is_absolute(apr_canon_t **path);</b>
<dd>
-Returns APR_SUCCESS if canon_name is absolute. Do not trust
- !apr_is_absolute to determine if the path is relative. Also,
- test apr_is_virtualroot to avoid non-filesystem pseudo roots.
+Determine if a canonical name is absolute.
+<p><img src="../images//warning.gif" align=left> Do not trust !apr_is_absolute to determine if the path is
+ relative. Also, test apr_is_virtualroot to avoid non-filesystem
+ pseudo roots.
<p><dl>
-</dl></dl>
+
+ <dt><b>Parameters</b><dd>
+ <table width="85%">
+<tr valign=top><th align=right>
+ path</th><td>The canonical name to check</td></tr>
+</table>
+ </dl></dl>
<a name="apr_is_relative"></a>
<dl>
<dt>
<b><img src="../images/ball2.gif" width=19 height=17 align=texttop>apr_status_t apr_is_relative(apr_canon_t **path);</b>
<dd>
-Returns APR_SUCCESS if canon_name is absolute. Do not trust
- !apr_is_relative to determine if the path is absolute.
+Determine if a canonical name is relative
+<p><img src="../images//warning.gif" align=left> Do not trust !apr_is_relative to determine if the path is absolute
<p><dl>
-</dl></dl>
+
+ <dt><b>Parameters</b><dd>
+ <table width="85%">
+<tr valign=top><th align=right>
+ path</th><td>The canonical name to check</td></tr>
+</table>
+ </dl></dl>
<a name="apr_is_virtualroot"></a>
<dl>
<dt>
<b><img src="../images/ball2.gif" width=19 height=17 align=texttop>apr_status_t apr_is_virtualroot(apr_canon_t **path, int elements);</b>
<dd>
-Returns APR_SUCCESS if the elements 0..elements resolves to a
- platform's non-physical root, e.g. the //machine/ name that
- isn't an adaquately complete root for UNC paths.
+Determine if the elements 0..elements resolves to a platform's non-physical
+root, e.g. the //machine/ name that isn't an adaquately complete root for
+UNC paths.
<p><dl>
-</dl></dl>
+
+ <dt><b>Parameters</b><dd>
+ <table width="85%">
+<tr valign=top><th align=right>
+ path</th><td>The canonical name to check
+</td></tr>
+<tr valign=top><th align=right>
+ elements</th><td>The number of elements to check.</td></tr>
+</table>
+ </dl></dl>
+
+<a name="apr_lock_file"></a>
+<dl>
+ <dt>
+ <b><img src="../images/ball2.gif" width=19 height=17 align=texttop>apr_status_t apr_lock_file(apr_file_t *thefile, int type);</b>
+ <dd>
+file (un)locking functions. Establish a lock on the specified, open file. The lock may be advisory
+or mandatory, at the discretion of the platform. The lock applies to
+the file as a whole, rather than a specific range. Locks are established
+on a per-thread/process basis; a second lock by the same thread will not
+block.
+<p><dl>
+
+ <dt><b>Parameters</b><dd>
+ <table width="85%">
+<tr valign=top><th align=right>
+ thefile</th><td>The file to lock.
+</td></tr>
+<tr valign=top><th align=right>
+ type</th><td>The type of lock to establish on the file.</td></tr>
+</table>
+ </dl></dl>
<a name="apr_lstat"></a>
<dl>
@@ -587,27 +799,15 @@
<dt>
<b><img src="../images/ball2.gif" width=19 height=17 align=texttop>apr_status_t apr_make_canonical_name(apr_canon_t **new_name, const apr_canon_t *trusted_name, const char *child_name, int options, apr_pool_t *pool);</b>
<dd>
-Require the trusted_name+child_name result is an absolute product
-or fail with error for the make and merge canonical name functions.
- Allow that the trusted_name+child_name result may be a relative result
-for the make and merge canonical name functions.
- Require the trusted_name+child_name result is not an absolute path
-or fail with error for the make and merge canonical name functions.
- Require the trusted_name+child_name result is a child of trusted_name
-or fail with error for the make and merge canonical name functions.
- If file path elements exist (can stat) then fold the element's name
-to lowercase for the make and merge canonical name functions.
- If file path elements exist (can readdir) then fold the element's name
-to the true case lowercase for the make and merge canonical name functions.
- Canonicalize the path and name.
-<p><img src="../images//tip.gif"> A canonical name is a name stipped of embedded backrefs "../",
+Canonicalize the path and name.
+<p><img src="../images//tip.gif"> A canonical name is a name stripped of embedded backrefs "../",
thisrefs "./", successive slashes (//), or any other ambigious file
name element. Absolute canonical names referencing the same file must
strcmp() identically, excluding symlinks or inconsistent use of the
APR_CANON_LOWERCASE or APR_CANON_TRUECASE options.<p>
If the name does not exist, or resolves to a relative name the given case
-is preserved. Insignificant elements are eliminated. For example, on Win32 this
-function removes trailing dots (which are allowed, but not stored in
+is preserved. Insignificant elements are eliminated. For example, on Win32
+this function removes trailing dots (which are allowed, but not stored in
the file system), and "/../" under Unix is resolved to "/". The relative
canonical name may contain leading backrefs "../", but will never contain
any other prohibited element.
@@ -625,10 +825,31 @@
child_name</th><td>An absolute path or path relative to trusted_name.
</td></tr>
<tr valign=top><th align=right>
- options</th><td>See the APR_CANON_ bit flags documentation for options
+ options</th><td>Bit-wise of:
+<PRE>
+ APR_CANON_ONLY_ABSOLUTE Require the trusted_name+child_name result is
+ an absolute product or fail with error for the
+ make and merge canonical name functions.
+ APR_CANON_ALLOW_RELATIVE Allow that the trusted_name+child_name result
+ may be a relative result for the make and
+ merge canonical name functions.
+ APR_CANON_ONLY_RELATIVE Require the trusted_name+child_name result is
+ not an absolute path or fail with error for
+ the make and merge canonical name functions.
+ APR_CANON_CHILD_OF_TRUSTED Require the trusted_name+child_name result is
+ a child of trusted_name or fail with error for
+ the make and merge canonical name functions.
+ APR_CANON_LOWERCASE If file path elements exist (can stat) then
+ fold the element's name to lowercase for the
+ make and merge canonical name functions.
+ APR_CANON_TRUECASE If file path elements exist (can readdir) then
+ fold the element's name to the true case
+ lowercase for the make and merge canonical
+ name functions.
+</PRE>
</td></tr>
<tr valign=top><th align=right>
- pool</th><td>The context in which to allocate the new_name apr_canon_t</td></tr>
+ pool</th><td>The pool in which to allocate the new_name apr_canon_t</td></tr>
</table>
</dl></dl>
@@ -653,6 +874,35 @@
</table>
</dl></dl>
+<a name="apr_merge_canonical_name"></a>
+<dl>
+ <dt>
+ <b><img src="../images/ball2.gif" width=19 height=17 align=texttop>apr_status_t apr_merge_canonical_name(apr_canon_t **new_name, const apr_canon_t *trusted_name, const apr_canon_t *child_name, int options, apr_pool_t *pool);</b>
+ <dd>
+Merge two canonical names into a single canonical name.
+<p><dl>
+
+ <dt><b>Parameters</b><dd>
+ <table width="85%">
+<tr valign=top><th align=right>
+ new_name</th><td>The newly allocated canonicalized trusted+child name
+</td></tr>
+<tr valign=top><th align=right>
+ trusted_name</th><td>Already canonical parent path; may be NULL.
+</td></tr>
+<tr valign=top><th align=right>
+ child_name</th><td>An already canonical absolute path or path relative to
+ trusted_name.
+</td></tr>
+<tr valign=top><th align=right>
+ options</th><td>See apr_make_canonical_name for options
+</td></tr>
+<tr valign=top><th align=right>
+ pool</th><td>The pool to allocate the new_name out of.</td></tr>
+</table>
+ <dt><b>See Also</b><dd>
+ <a href="#apr_make_canonical_name">apr_make_canonical_name</a><p></dl></dl>
+
<a name="apr_open"></a>
<dl>
<dt>
@@ -1023,6 +1273,21 @@
</table>
</dl></dl>
+<a name="apr_unlock_file"></a>
+<dl>
+ <dt>
+ <b><img src="../images/ball2.gif" width=19 height=17 align=texttop>apr_status_t apr_unlock_file(apr_file_t *thefile);</b>
+ <dd>
+Remove any outstanding locks on the file.
+<p><dl>
+
+ <dt><b>Parameters</b><dd>
+ <table width="85%">
+<tr valign=top><th align=right>
+ thefile</th><td>The file to unlock.</td></tr>
+</table>
+ </dl></dl>
+
<a name="apr_write"></a>
<dl>
<dt>
@@ -1046,7 +1311,8 @@
buf</th><td>The buffer which contains the data.
</td></tr>
<tr valign=top><th align=right>
- nbytes</th><td>On entry, the number of bytes to write; on exit, the number of bytes written.</td></tr>
+ nbytes</th><td>On entry, the number of bytes to write; on exit, the number
+ of bytes written.</td></tr>
</table>
</dl></dl>
@@ -1104,7 +1370,7 @@
<hr size=4>
© 2000 [Apache Software Foundation]<br>
Generated by <a href="http://scandoc.sourceforge.net/"><b>ScanDoc 0.12</b></a><br>
- Last Updated: Fri Nov 17 19:40:19 2000
+ Last Updated: Mon Dec 4 10:10:38 2000
<br>
</body>
</html>
1.3 +2 -2 apr-site/docs/APR_I18N_translation_library.html
Index: APR_I18N_translation_library.html
===================================================================
RCS file: /home/cvs/apr-site/docs/APR_I18N_translation_library.html,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- APR_I18N_translation_library.html 2000/11/18 03:40:40 1.2
+++ APR_I18N_translation_library.html 2000/12/04 18:13:58 1.3
@@ -67,7 +67,7 @@
<dd>
Convert a single-byte character from one charset to another.
<p><img src="../images//tip.gif"> This only works when converting between single-byte character sets.
- -1 will be returned if the conversion can't be performed.
+ -1 will be returned if the conversion can't be performed.
<p><dl>
<dt><b>Parameters</b><dd>
@@ -165,7 +165,7 @@
<hr size=4>
© 2000 [Apache Software Foundation]<br>
Generated by <a href="http://scandoc.sourceforge.net/"><b>ScanDoc 0.12</b></a><br>
- Last Updated: Fri Nov 17 19:40:19 2000
+ Last Updated: Mon Dec 4 10:10:38 2000
<br>
</body>
</html>
1.3 +1 -1 apr-site/docs/APR_MD5_Library.html
Index: APR_MD5_Library.html
===================================================================
RCS file: /home/cvs/apr-site/docs/APR_MD5_Library.html,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- APR_MD5_Library.html 2000/11/18 03:40:40 1.2
+++ APR_MD5_Library.html 2000/12/04 18:13:59 1.3
@@ -177,7 +177,7 @@
<hr size=4>
© 2000 [Apache Software Foundation]<br>
Generated by <a href="http://scandoc.sourceforge.net/"><b>ScanDoc 0.12</b></a><br>
- Last Updated: Fri Nov 17 19:40:19 2000
+ Last Updated: Mon Dec 4 10:10:38 2000
<br>
</body>
</html>
1.3 +1 -1 apr-site/docs/APR_MMAP_library.html
Index: APR_MMAP_library.html
===================================================================
RCS file: /home/cvs/apr-site/docs/APR_MMAP_library.html,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- APR_MMAP_library.html 2000/11/18 03:40:40 1.2
+++ APR_MMAP_library.html 2000/12/04 18:13:59 1.3
@@ -141,7 +141,7 @@
<hr size=4>
© 2000 [Apache Software Foundation]<br>
Generated by <a href="http://scandoc.sourceforge.net/"><b>ScanDoc 0.12</b></a><br>
- Last Updated: Fri Nov 17 19:40:19 2000
+ Last Updated: Mon Dec 4 10:10:38 2000
<br>
</body>
</html>
1.3 +181 -124 apr-site/docs/APR_Network_library.html
Index: APR_Network_library.html
===================================================================
RCS file: /home/cvs/apr-site/docs/APR_Network_library.html,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- APR_Network_library.html 2000/11/18 03:40:40 1.2
+++ APR_Network_library.html 2000/12/04 18:13:59 1.3
@@ -18,6 +18,18 @@
<li><a href="APR_Network_library.html#apr_hdtr_t-numheaders">numheaders</a>
<li><a href="APR_Network_library.html#apr_hdtr_t-numtrailers">numtrailers</a>
</ul>
+<h3><img src="../images/ball1.gif" width=18 height=17 align=texttop>
+ <a href="APR_Network_library.html#apr_sockaddr_t">struct apr_sockaddr_t</h3></a>
+ <ul>
+<li><a href="APR_Network_library.html#apr_sockaddr_t-addr_str_len">addr_str_len</a>
+<li><a href="APR_Network_library.html#apr_sockaddr_t-hostname">hostname</a>
+<li><a href="APR_Network_library.html#apr_sockaddr_t-ipaddr_len">ipaddr_len</a>
+<li><a href="APR_Network_library.html#apr_sockaddr_t-ipaddr_ptr">ipaddr_ptr</a>
+<li><a href="APR_Network_library.html#apr_sockaddr_t-pool">pool</a>
+<li><a href="APR_Network_library.html#apr_sockaddr_t-port">port</a>
+<li><a href="APR_Network_library.html#apr_sockaddr_t-salen">salen</a>
+<li><a href="APR_Network_library.html#apr_sockaddr_t-servname">servname</a>
+</ul>
</b>
<hr size="4">
@@ -71,6 +83,95 @@
<p><dl>
</dl></dl>
</blockquote>
+<hr size="4">
+ <a name="apr_sockaddr_t"></a>
+ <h1>struct apr_sockaddr_t</h1>
+ <table bgcolor="ffffff" border="0" cellspacing="4">
+ <tr>
+ <th align=center colspan=2>
+ </th>
+ </tr>
+ <tr><th width=20% align=right>Source:</th><td>./include/apr_network_io.h</td></tr></tr>
+</table>
+<p>
+APRs socket address type, used to ensure protocol independence<h2>Member Index</h2>
+<ul><li><a href="APR_Network_library.html#apr_sockaddr_t-addr_str_len"> int addr_str_len</a>
+ <li><a href="APR_Network_library.html#apr_sockaddr_t-hostname"> char *hostname</a>
+ <li><a href="APR_Network_library.html#apr_sockaddr_t-ipaddr_len"> int ipaddr_len</a>
+ <li><a href="APR_Network_library.html#apr_sockaddr_t-ipaddr_ptr"> void *ipaddr_ptr</a>
+ <li><a href="APR_Network_library.html#apr_sockaddr_t-pool"> apr_pool_t *pool</a>
+ <li><a href="APR_Network_library.html#apr_sockaddr_t-port"> apr_port_t port</a>
+ <li><a href="APR_Network_library.html#apr_sockaddr_t-salen"> apr_socklen_t salen</a>
+ <li><a href="APR_Network_library.html#apr_sockaddr_t-servname"> char *servname</a>
+ </ul><h2>Class Variables</h2>
+<blockquote>
+
+ <a name="addr_str_len"></a>
+ <dl><dt>
+ <b><img src="../images/ball2.gif" width=19 height=17 align=texttop> int addr_str_len;</b>
+<dd>
+How big should the address buffer be? 16 for v4 or 46 for v6
+ used in inet_ntop...
+<p><dl>
+</dl></dl>
+
+ <a name="hostname"></a>
+ <dl><dt>
+ <b><img src="../images/ball2.gif" width=19 height=17 align=texttop> char *hostname;</b>
+<dd>
+The hostname
+<p><dl>
+</dl></dl>
+
+ <a name="ipaddr_len"></a>
+ <dl><dt>
+ <b><img src="../images/ball2.gif" width=19 height=17 align=texttop> int ipaddr_len;</b>
+<dd>
+How big is the ip address structure we're using?
+<p><dl>
+</dl></dl>
+
+ <a name="ipaddr_ptr"></a>
+ <dl><dt>
+ <b><img src="../images/ball2.gif" width=19 height=17 align=texttop> void *ipaddr_ptr;</b>
+<dd>
+This points to the IP address structure within the appropriate
+ sockaddr structure.
+<p><dl>
+</dl></dl>
+
+ <a name="pool"></a>
+ <dl><dt>
+ <b><img src="../images/ball2.gif" width=19 height=17 align=texttop> apr_pool_t *pool;</b>
+<dd>
+The pool to use...
+<p><dl>
+</dl></dl>
+
+ <a name="port"></a>
+ <dl><dt>
+ <b><img src="../images/ball2.gif" width=19 height=17 align=texttop> apr_port_t port;</b>
+<dd>
+The numeric port
+<p><dl>
+</dl></dl>
+
+ <a name="salen"></a>
+ <dl><dt>
+ <b><img src="../images/ball2.gif" width=19 height=17 align=texttop> apr_socklen_t salen;</b>
+<dd>
+How big is the sockaddr we're using?
+<p><dl>
+</dl></dl>
+
+ <a name="servname"></a>
+ <dl><dt>
+ <b><img src="../images/ball2.gif" width=19 height=17 align=texttop> char *servname;</b>
+<dd>
+Either a string of the port number or the service name for the port
+<p><dl>
+</dl></dl>
+</blockquote>
<h2>Global Functions</h2>
<blockquote>
@@ -100,7 +201,7 @@
<a name="apr_add_poll_socket"></a>
<dl>
<dt>
- <b><img src="../images/ball2.gif" width=19 height=17 align=texttop>apr_status_t apr_add_poll_socket(apr_pollfd_t *aprset, apr_socket_t *socket, apr_int16_t event);</b>
+ <b><img src="../images/ball2.gif" width=19 height=17 align=texttop>apr_status_t apr_add_poll_socket(apr_pollfd_t *aprset, apr_socket_t *sock, apr_int16_t event);</b>
<dd>
Add a socket to the poll structure.
<p><dl>
@@ -116,9 +217,9 @@
<tr valign=top><th align=right>
event</th><td>The events to look for when we do the poll. One of:
<PRE>
- APR_POLLIN -- signal if read will not block
- APR_POLLPRI -- signal if prioirty data is availble to be read
- APR_POLLOUT -- signal if write will not block
+ APR_POLLIN signal if read will not block
+ APR_POLLPRI signal if prioirty data is availble to be read
+ APR_POLLOUT signal if write will not block
</PRE></td></tr>
</table>
</dl></dl>
@@ -126,17 +227,20 @@
<a name="apr_bind"></a>
<dl>
<dt>
- <b><img src="../images/ball2.gif" width=19 height=17 align=texttop>apr_status_t apr_bind(apr_socket_t *sock);</b>
+ <b><img src="../images/ball2.gif" width=19 height=17 align=texttop>apr_status_t apr_bind(apr_socket_t *sock, apr_sockaddr_t *sa);</b>
<dd>
Bind the socket to its associated port
-<p><img src="../images//tip.gif"> This is where we will find out if there is any other process
+<p><img src="../images//tip.gif"> This may be where we will find out if there is any other process
using the selected port.
<p><dl>
<dt><b>Parameters</b><dd>
<table width="85%">
<tr valign=top><th align=right>
- sock</th><td>The socket to bind</td></tr>
+ sock</th><td>The socket to bind
+</td></tr>
+<tr valign=top><th align=right>
+ sa</th><td>The socket address to bind to</td></tr>
</table>
</dl></dl>
@@ -156,9 +260,9 @@
<tr valign=top><th align=right>
events</th><td>The events to clear from all sockets. One of:
<PRE>
- APR_POLLIN -- signal if read will not block
- APR_POLLPRI -- signal if prioirty data is availble to be read
- APR_POLLOUT -- signal if write will not block
+ APR_POLLIN signal if read will not block
+ APR_POLLPRI signal if prioirty data is availble to be read
+ APR_POLLOUT signal if write will not block
</PRE></td></tr>
</table>
</dl></dl>
@@ -193,9 +297,9 @@
sock</th><td>The socket we wish to use for our side of the connection
</td></tr>
<tr valign=top><th align=right>
- hostname</th><td>The hostname of the machine we wish to connect to. If NULL,
- APR assumes that the sockaddr_in in the apr_socket is
- completely filled out.</td></tr>
+ sa</th><td>The address of the machine we wish to connect to. If NULL,
+ APR assumes that the sockaddr_in in the apr_socket is
+ completely filled out.</td></tr>
</table>
</dl></dl>
@@ -213,7 +317,7 @@
new_sock</th><td>The new socket that has been set up.
</td></tr>
<tr valign=top><th align=right>
- family</th><td>The address family of the socket (e.g., AF_INET).
+ family</th><td>The address family of the socket (e.g., APR_INET).
</td></tr>
<tr valign=top><th align=right>
type</th><td>The type of the socket (e.g., SOCK_STREAM).
@@ -223,24 +327,6 @@
</table>
</dl></dl>
-<a name="apr_create_tcp_socket"></a>
-<dl>
- <dt>
- <b><img src="../images/ball2.gif" width=19 height=17 align=texttop>apr_status_t apr_create_tcp_socket(apr_socket_t **new_sock, apr_pool_t *cont);</b>
- <dd>
-Create a socket for tcp communication.
-<p><dl>
-
- <dt><b>Parameters</b><dd>
- <table width="85%">
-<tr valign=top><th align=right>
- new_sock</th><td>The new socket that has been setup.
-</td></tr>
-<tr valign=top><th align=right>
- cont</th><td>The pool to use</td></tr>
-</table>
- </dl></dl>
-
<a name="apr_get_hostname"></a>
<dl>
<dt>
@@ -283,39 +369,22 @@
<a name="apr_get_ipaddr"></a>
<dl>
<dt>
- <b><img src="../images/ball2.gif" width=19 height=17 align=texttop>apr_status_t apr_get_ipaddr(char **addr, apr_interface_e which, apr_socket_t *sock);</b>
+ <b><img src="../images/ball2.gif" width=19 height=17 align=texttop>apr_status_t apr_get_ipaddr(char **addr, apr_sockaddr_t *sockaddr);</b>
<dd>
-Return the IP address associated with an apr socket.
+Return the IP address (in numeric address string format) in
+an APR socket address.
<p><dl>
<dt><b>Parameters</b><dd>
<table width="85%">
<tr valign=top><th align=right>
- addr</th><td>The local IP address associated with the socket.
+ addr</th><td>The IP address.
</td></tr>
<tr valign=top><th align=right>
- sock</th><td>The socket to use</td></tr>
+ sockaddr</th><td>The socket address to reference.</td></tr>
</table>
</dl></dl>
-<a name="apr_get_local_name"></a>
-<dl>
- <dt>
- <b><img src="../images/ball2.gif" width=19 height=17 align=texttop>apr_status_t apr_get_local_name(struct sockaddr_in **name, apr_socket_t *sock);</b>
- <dd>
-Return the local socket name as a BSD style struct sockaddr_in.
-<p><dl>
-
- <dt><b>Parameters</b><dd>
- <table width="85%">
-<tr valign=top><th align=right>
- name</th><td>The local name associated with the socket.
-</td></tr>
-<tr valign=top><th align=right>
- sock</th><td>The socket to use</td></tr>
-</table>
- </dl></dl>
-
<a name="apr_get_polldata"></a>
<dl>
<dt>
@@ -339,40 +408,19 @@
<a name="apr_get_port"></a>
<dl>
- <dt>
- <b><img src="../images/ball2.gif" width=19 height=17 align=texttop>apr_status_t apr_get_port(apr_port_t *port, apr_interface_e which, apr_socket_t *sock);</b>
- <dd>
-Return the port associated with a socket.
-<p><dl>
-
- <dt><b>Parameters</b><dd>
- <table width="85%">
-<tr valign=top><th align=right>
- port</th><td>The local port this socket is associated with.
-</td></tr>
-<tr valign=top><th align=right>
- which</th><td>Which interface are we getting the port for?
-</td></tr>
-<tr valign=top><th align=right>
- sock</th><td>The socket to enquire about.</td></tr>
-</table>
- </dl></dl>
-
-<a name="apr_get_remote_name"></a>
-<dl>
<dt>
- <b><img src="../images/ball2.gif" width=19 height=17 align=texttop>apr_status_t apr_get_remote_name(struct sockaddr_in **name, apr_socket_t *sock);</b>
+ <b><img src="../images/ball2.gif" width=19 height=17 align=texttop>apr_status_t apr_get_port(apr_port_t *port, apr_sockaddr_t *sockaddr);</b>
<dd>
-Return the remote socket name as a BSD style struct sockaddr_in.
+Return the port in an APR socket address.
<p><dl>
<dt><b>Parameters</b><dd>
<table width="85%">
<tr valign=top><th align=right>
- name</th><td>The remote name associated with the socket.
+ port</th><td>The port from the socket address.
</td></tr>
<tr valign=top><th align=right>
- sock</th><td>The socket to use</td></tr>
+ sockaddr</th><td>The socket address to reference.</td></tr>
</table>
</dl></dl>
@@ -389,12 +437,12 @@
<tr valign=top><th align=right>
event</th><td>The returned events for the socket. One of:
<PRE>
- APR_POLLIN -- Data is available to be read
- APR_POLLPRI -- Prioirty data is availble to be read
- APR_POLLOUT -- Write will succeed
- APR_POLLERR -- An error occurred on the socket
- APR_POLLHUP -- The connection has been terminated
- APR_POLLNVAL -- This is an invalid socket to poll on.
+ APR_POLLIN Data is available to be read
+ APR_POLLPRI Prioirty data is availble to be read
+ APR_POLLOUT Write will succeed
+ APR_POLLERR An error occurred on the socket
+ APR_POLLHUP The connection has been terminated
+ APR_POLLNVAL This is an invalid socket to poll on.
Socket not open.
</PRE>
</td></tr>
@@ -406,24 +454,24 @@
</table>
</dl></dl>
-<a name="apr_get_socket_inaddr"></a>
+<a name="apr_get_sockaddr"></a>
<dl>
<dt>
- <b><img src="../images/ball2.gif" width=19 height=17 align=texttop>apr_status_t apr_get_socket_inaddr(apr_in_addr_t *addr, apr_interface_e which, apr_socket_t *sock);</b>
+ <b><img src="../images/ball2.gif" width=19 height=17 align=texttop>apr_status_t apr_get_sockaddr(apr_sockaddr_t **sa, apr_interface_e which, apr_socket_t *sock);</b>
<dd>
-Given an apr_socket_t get the apr_in_addr_t for the requested interface
+Return an apr_sockaddr_t from an apr_socket_t
<p><dl>
<dt><b>Parameters</b><dd>
<table width="85%">
<tr valign=top><th align=right>
- addr</th><td>The apr_in_addr_t structure to return
+ sa</th><td>The returned apr_sockaddr_t.
</td></tr>
<tr valign=top><th align=right>
- which</th><td>The interface to return for
+ which</th><td>Which interface do we want the apr_sockaddr_t for?
</td></tr>
<tr valign=top><th align=right>
- sock</th><td>The apr_socket_t to use</td></tr>
+ sock</th><td>The socket to use</td></tr>
</table>
</dl></dl>
@@ -432,7 +480,7 @@
<dt>
<b><img src="../images/ball2.gif" width=19 height=17 align=texttop>apr_status_t apr_get_socketdata(void **data, const char *key, apr_socket_t *sock);</b>
<dd>
-Return the pool associated with the current socket>
+Return the data associated with the current socket
<p><dl>
<dt><b>Parameters</b><dd>
@@ -465,8 +513,8 @@
hostname</th><td>The hostname or numeric address string to resolve/parse.
</td></tr>
<tr valign=top><th align=right>
- family</th><td>The address family to use, or AF_UNSPEC if the system should
-decide.
+ family</th><td>The address family to use, or APR_UNSPEC if the system should
+ decide.
</td></tr>
<tr valign=top><th align=right>
port</th><td>The port number.
@@ -501,6 +549,24 @@
</table>
</dl></dl>
+<a name="apr_getservbyname"></a>
+<dl>
+ <dt>
+ <b><img src="../images/ball2.gif" width=19 height=17 align=texttop>apr_status_t apr_getservbyname(apr_sockaddr_t *sockaddr, const char *servname);</b>
+ <dd>
+Given an apr_sockaddr_t and a service name, set the port for the service
+<p><dl>
+
+ <dt><b>Parameters</b><dd>
+ <table width="85%">
+<tr valign=top><th align=right>
+ sockaddr</th><td>The apr_sockaddr_t that will have it's port set
+</td></tr>
+<tr valign=top><th align=right>
+ servname</th><td>The name of the service you wish to use</td></tr>
+</table>
+ </dl></dl>
+
<a name="apr_getsocketopt"></a>
<dl>
<dt>
@@ -577,9 +643,9 @@
<tr valign=top><th align=right>
events</th><td>The events to stop looking for during the poll. One of:
<PRE>
- APR_POLLIN -- signal if read will not block
- APR_POLLPRI -- signal if prioirty data is availble to be read
- APR_POLLOUT -- signal if write will not block
+ APR_POLLIN signal if read will not block
+ APR_POLLPRI signal if prioirty data is availble to be read
+ APR_POLLOUT signal if write will not block
</PRE></td></tr>
</table>
</dl></dl>
@@ -719,7 +785,9 @@
offset</th><td>Offset into the file where we should begin writing
</td></tr>
<tr valign=top><th align=right>
- len</th><td>Number of bytes to send from the file
+ len</th><td>(input) - Number of bytes to send from the file
+ (output) - Number of bytes actually sent,
+ including headers, file, and trailers
</td></tr>
<tr valign=top><th align=right>
flags</th><td>APR flags that are mapped to OS specific flags</td></tr>
@@ -761,22 +829,17 @@
<a name="apr_set_ipaddr"></a>
<dl>
<dt>
- <b><img src="../images/ball2.gif" width=19 height=17 align=texttop>apr_status_t apr_set_ipaddr(apr_socket_t *sock, apr_interface_e which, const char *addr);</b>
+ <b><img src="../images/ball2.gif" width=19 height=17 align=texttop>apr_status_t apr_set_ipaddr(apr_sockaddr_t *sockaddr, const char *addr);</b>
<dd>
-Associate a socket addr with an apr socket.
-<p><img src="../images//tip.gif"> This does not bind the two together, it is just telling apr
- that this socket is going to use this address if possible.
+Set the IP address in an APR socket address.
<p><dl>
<dt><b>Parameters</b><dd>
<table width="85%">
<tr valign=top><th align=right>
- sock</th><td>The socket to use
+ sockaddr</th><td>The socket address to use
</td></tr>
<tr valign=top><th align=right>
- which</th><td>Which interface should we set?
-</td></tr>
-<tr valign=top><th align=right>
addr</th><td>The IP address to attach to the socket.
Use APR_ANYADDR to use any IP addr on the machine.</td></tr>
</table>
@@ -809,24 +872,18 @@
<a name="apr_set_port"></a>
<dl>
<dt>
- <b><img src="../images/ball2.gif" width=19 height=17 align=texttop>apr_status_t apr_set_port(apr_socket_t *sock, apr_interface_e which, apr_port_t port);</b>
+ <b><img src="../images/ball2.gif" width=19 height=17 align=texttop>apr_status_t apr_set_port(apr_sockaddr_t *sockaddr, apr_port_t port);</b>
<dd>
-Associate a port with a socket.
-<p><img src="../images//tip.gif"> This does not bind the two together, it is just telling apr
- that this socket is going to use this port if possible. If
- the port is already used, we won't find out about it here.
+Set the port in an APR socket address.
<p><dl>
<dt><b>Parameters</b><dd>
<table width="85%">
-<tr valign=top><th align=right>
- sock</th><td>The socket to set.
-</td></tr>
<tr valign=top><th align=right>
- which</th><td>Which socket do we want to set the port for?
+ sockaddr</th><td>The socket address to set.
</td></tr>
<tr valign=top><th align=right>
- port</th><td>The local port this socket will be dealing with.</td></tr>
+ port</th><td>The port to be stored in the socket address.</td></tr>
</table>
</dl></dl>
@@ -835,7 +892,7 @@
<dt>
<b><img src="../images/ball2.gif" width=19 height=17 align=texttop>apr_status_t apr_set_socketdata(apr_socket_t *sock, void *data, const char *key, apr_status_t (*cleanup) (void*));</b>
<dd>
-Set the pool associated with the current socket.
+Set the data associated with the current socket.
<p><dl>
<dt><b>Parameters</b><dd>
@@ -885,7 +942,7 @@
</PRE>
</td></tr>
<tr valign=top><th align=right>
- on</th><td>Are we turning the option on or off.</td></tr>
+ on</th><td>Value for the option.</td></tr>
</table>
</dl></dl>
@@ -894,7 +951,7 @@
<dt>
<b><img src="../images/ball2.gif" width=19 height=17 align=texttop>apr_status_t apr_setup_poll(apr_pollfd_t **new_poll, apr_int32_t num, apr_pool_t *cont);</b>
<dd>
-Setup the memory required for poll to operate properly>
+Setup the memory required for poll to operate properly
<p><dl>
<dt><b>Parameters</b><dd>
@@ -928,9 +985,9 @@
<tr valign=top><th align=right>
how</th><td>How to shutdown the socket. One of:
<PRE>
- APR_SHUTDOWN_READ -- no longer allow read requests
- APR_SHUTDOWN_WRITE -- no longer allow write requests
- APR_SHUTDOWN_READWRITE -- no longer allow read or write requests
+ APR_SHUTDOWN_READ no longer allow read requests
+ APR_SHUTDOWN_WRITE no longer allow write requests
+ APR_SHUTDOWN_READWRITE no longer allow read or write requests
</PRE></td></tr>
</table>
</dl></dl>
@@ -941,7 +998,7 @@
<b><img src="../images/ball2.gif" width=19 height=17 align=texttop>apr_status_t apr_socket_from_file(apr_socket_t **newsock, apr_file_t *file);</b>
<dd>
Convert a File type to a socket so that it can be used in a poll operation.
-<p><img src="../images//tip.gif"> This is not available on all platforms. Platforms that have the
+<p><img src="../images//warning.gif" align=left> This is not available on all platforms. Platforms that have the
ability to poll files for data to be read/written/exceptions will
have the APR_FILES_AS_SOCKETS macro defined as true.
<p><dl>
@@ -960,7 +1017,7 @@
<hr size=4>
© 2000 [Apache Software Foundation]<br>
Generated by <a href="http://scandoc.sourceforge.net/"><b>ScanDoc 0.12</b></a><br>
- Last Updated: Fri Nov 17 19:40:19 2000
+ Last Updated: Mon Dec 4 10:10:38 2000
<br>
</body>
</html>
1.3 +31 -3 apr-site/docs/APR_Process_library.html
Index: APR_Process_library.html
===================================================================
RCS file: /home/cvs/apr-site/docs/APR_Process_library.html,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- APR_Process_library.html 2000/11/18 03:40:40 1.2
+++ APR_Process_library.html 2000/12/04 18:13:59 1.3
@@ -28,7 +28,7 @@
<a name="apr_create_process"></a>
<dl>
<dt>
- <b><img src="../images/ball2.gif" width=19 height=17 align=texttop>apr_status_t apr_create_process(apr_proc_t *new_proc, const char *progname, char *const *args, char **env, apr_procattr_t *attr, apr_pool_t *cont);</b>
+ <b><img src="../images/ball2.gif" width=19 height=17 align=texttop>apr_status_t apr_create_process(apr_proc_t *new_proc, const char *progname, const char * const *args, const char * const *env, apr_procattr_t *attr, apr_pool_t *cont);</b>
<dd>
Create a new process and execute a new program within that process.
<p><dl>
@@ -46,7 +46,7 @@
one should be the program name.
</td></tr>
<tr valign=top><th align=right>
- env</th><td>The new environment apr_table_t for the new process. This
+ env</th><td>The new environment table for the new process. This
should be a list of NULL-terminated strings.
</td></tr>
<tr valign=top><th align=right>
@@ -450,12 +450,40 @@
</PRE></td></tr>
</table>
</dl></dl>
+
+<a name="void-30"></a>
+<dl>
+ <dt>
+ <b><img src="../images/ball2.gif" width=19 height=17 align=texttop>void apr_note_subprocess(struct apr_pool_t *a, apr_proc_t *pid, enum kill_conditions how);</b>
+ <dd>
+Register a process to be killed when a pool dies.
+<p><dl>
+
+ <dt><b>Parameters</b><dd>
+ <table width="85%">
+<tr valign=top><th align=right>
+ a</th><td>The pool to use to define the processes lifetime
+</td></tr>
+<tr valign=top><th align=right>
+ pid</th><td>The process to register
+</td></tr>
+<tr valign=top><th align=right>
+ how</th><td>How to kill the process, one of:
+<PRE>
+ kill_never -- process is never sent any signals
+ kill_always -- process is sent SIGKILL on apr_pool_t cleanup
+ kill_after_timeout -- SIGTERM, wait 3 seconds, SIGKILL
+ just_wait -- wait forever for the process to complete
+ kill_only_once -- send SIGTERM and then wait
+</PRE></td></tr>
+</table>
+ </dl></dl>
</blockquote>
<hr size=4>
© 2000 [Apache Software Foundation]<br>
Generated by <a href="http://scandoc.sourceforge.net/"><b>ScanDoc 0.12</b></a><br>
- Last Updated: Fri Nov 17 19:40:19 2000
+ Last Updated: Mon Dec 4 10:10:38 2000
<br>
</body>
</html>
1.3 +39 -1 apr-site/docs/APR_Random_Functions.html
Index: APR_Random_Functions.html
===================================================================
RCS file: /home/cvs/apr-site/docs/APR_Random_Functions.html,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- APR_Random_Functions.html 2000/11/18 03:40:40 1.2
+++ APR_Random_Functions.html 2000/12/04 18:13:59 1.3
@@ -32,12 +32,50 @@
length</th><td>size of the buffer</td></tr>
</table>
</dl></dl>
+
+<a name="apr_initialize"></a>
+<dl>
+ <dt>
+ <b><img src="../images/ball2.gif" width=19 height=17 align=texttop>apr_status_t apr_initialize(void);</b>
+ <dd>
+Setup any APR internal data structures. This MUST be the first function
+called for any APR program.
+<p><dl>
+</dl></dl>
+
+<a name="apr_set_abort"></a>
+<dl>
+ <dt>
+ <b><img src="../images/ball2.gif" width=19 height=17 align=texttop>apr_status_t apr_set_abort(int (*apr_abort)(int retcode), apr_pool_t *cont);</b>
+ <dd>
+Set the APR_ABORT function.
+<p><img src="../images//tip.gif"> This is in for backwards compatability. If the program using
+ APR wants APR to exit on a memory allocation error, then this
+ function should be called to set the function to use in order
+ to actually exit the program. If this function is not called,
+ then APR will return an error and expect the calling program to
+ deal with the error accordingly.
+<p><dl>
+</dl></dl>
+
+<a name="apr_terminate"></a>
+<dl>
+ <dt>
+ <b><img src="../images/ball2.gif" width=19 height=17 align=texttop>void apr_terminate(void);</b>
+ <dd>
+Tear down any APR internal data structures which aren't torn down
+automatically.
+<p><img src="../images//tip.gif"> An APR program must call this function at termination once it
+ has stopped using APR services. The APR developers suggest using
+ atexit to ensure this is called.
+<p><dl>
+</dl></dl>
</blockquote>
<hr size=4>
© 2000 [Apache Software Foundation]<br>
Generated by <a href="http://scandoc.sourceforge.net/"><b>ScanDoc 0.12</b></a><br>
- Last Updated: Fri Nov 17 19:40:19 2000
+ Last Updated: Mon Dec 4 10:10:38 2000
<br>
</body>
</html>
1.3 +760 -1 apr-site/docs/APR_Table_library.html
Index: APR_Table_library.html
===================================================================
RCS file: /home/cvs/apr-site/docs/APR_Table_library.html,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- APR_Table_library.html 2000/11/18 03:40:40 1.2
+++ APR_Table_library.html 2000/12/04 18:14:01 1.3
@@ -251,11 +251,770 @@
<p><dl>
</dl></dl>
</blockquote>
+<h2>Global Functions</h2>
+ <blockquote>
+<a name=""></a>
+<dl>
+ <dt>
+ <b><img src="../images/ball2.gif" width=19 height=17 align=texttop>(apr_array_header_t *);</b>
+ <dd>
+Determine if the table is empty
+Determine if the binary table is empty
+Create an array
+<p><dl>
+
+ <dt><b>Parameters</b><dd>
+ <table width="85%">
+<tr valign=top><th align=right>
+ t</th><td>The table to check
+</td></tr>
+<tr valign=top><th align=right>
+ t</th><td>The table to check
+</td></tr>
+<tr valign=top><th align=right>
+ p</th><td>The pool to allocate the memory out of
+</td></tr>
+<tr valign=top><th align=right>
+ nelts</th><td>the number of elements in the initial array
+</td></tr>
+<tr valign=top><th align=right>
+ elt_size</th><td>The size of each element in the array.</td></tr>
+</table>
+ <dt><b>Return Value</b>
+ <dd>True if empty, Falso otherwise
+ True if empty, Falso otherwise
+ The new array
+#deffunc apr_array_header_t *apr_make_array(struct apr_pool_t *p, int nelts, int elt_size)<p></dl></dl>
+
+<a name="apr_array_header_t"></a>
+<dl>
+ <dt>
+ <b><img src="../images/ball2.gif" width=19 height=17 align=texttop>apr_array_header_t *apr_table_elts(apr_table_t *t);</b>
+ <dd>
+Get the elements from a table
+<p><dl>
+
+ <dt><b>Parameters</b><dd>
+ <table width="85%">
+<tr valign=top><th align=right>
+ t</th><td>The table</td></tr>
+</table>
+ <dt><b>Return Value</b>
+ <dd>An array containing the contents of the table<p></dl></dl>
+
+<a name="apr_array_header_t-2"></a>
+<dl>
+ <dt>
+ <b><img src="../images/ball2.gif" width=19 height=17 align=texttop>apr_array_header_t *apr_table_elts(apr_table_t *t);</b>
+ <dd>
+Get the elements from a binary table
+<p><dl>
+
+ <dt><b>Parameters</b><dd>
+ <table width="85%">
+<tr valign=top><th align=right>
+ t</th><td>The table</td></tr>
+</table>
+ <dt><b>Return Value</b>
+ <dd>An array containing the contents of the table<p></dl></dl>
+
+<a name="apr_array_header_t-3"></a>
+<dl>
+ <dt>
+ <b><img src="../images/ball2.gif" width=19 height=17 align=texttop>apr_array_header_t *apr_copy_array(apr_pool_t *p, const apr_array_header_t *arr);</b>
+ <dd>
+Copy the entire array
+<p><dl>
+
+ <dt><b>Parameters</b><dd>
+ <table width="85%">
+<tr valign=top><th align=right>
+ p</th><td>The pool to allocate the copy of the array out of
+</td></tr>
+<tr valign=top><th align=right>
+ arr</th><td>The array to copy</td></tr>
+</table>
+ <dt><b>Return Value</b>
+ <dd>An exact copy of the array passed in<p></dl></dl>
+
+<a name="apr_array_header_t-4"></a>
+<dl>
+ <dt>
+ <b><img src="../images/ball2.gif" width=19 height=17 align=texttop>apr_array_header_t *apr_copy_array_hdr(apr_pool_t *p, const apr_array_header_t *arr);</b>
+ <dd>
+Copy the headers of the array, and arrange for the elements to be copied if
+and only if the code subsequently does a push or arraycat.
+<p><dl>
+
+ <dt><b>Parameters</b><dd>
+ <table width="85%">
+<tr valign=top><th align=right>
+ p</th><td>The pool to allocate the copy of the array out of
+</td></tr>
+<tr valign=top><th align=right>
+ arr</th><td>The array to copy</td></tr>
+</table>
+ <dt><b>Return Value</b>
+ <dd>An exact copy of the array passed in<p></dl></dl>
+
+<a name="apr_array_header_t-5"></a>
+<dl>
+ <dt>
+ <b><img src="../images/ball2.gif" width=19 height=17 align=texttop>apr_array_header_t *apr_append_arrays(apr_pool_t *p, const apr_array_header_t *first, const apr_array_header_t *second);</b>
+ <dd>
+Append one array to the end of another, creating a new array in the process.
+<p><dl>
+
+ <dt><b>Parameters</b><dd>
+ <table width="85%">
+<tr valign=top><th align=right>
+ p</th><td>The pool to allocate the new array out of
+</td></tr>
+<tr valign=top><th align=right>
+ first</th><td>The array to put first in the new array.
+</td></tr>
+<tr valign=top><th align=right>
+ second</th><td>The array to put second in the new array.
+</td></tr>
+<tr valign=top><th align=right>
+ return</th><td>A new array containing the data from the two arrays passed in.</td></tr>
+</table>
+ </dl></dl>
+
+<a name="apr_btable_t"></a>
+<dl>
+ <dt>
+ <b><img src="../images/ball2.gif" width=19 height=17 align=texttop>apr_btable_t *apr_overlay_tables(apr_pool_t *p, const apr_btable_t *overlay, const apr_btable_t *base);;</b>
+ <dd>
+Merge two binary tables into one new table
+<p><dl>
+
+ <dt><b>Parameters</b><dd>
+ <table width="85%">
+<tr valign=top><th align=right>
+ p</th><td>The pool to use for the new table
+</td></tr>
+<tr valign=top><th align=right>
+ overlay</th><td>The first table to put in the new table
+</td></tr>
+<tr valign=top><th align=right>
+ base</th><td>The table to add at the end of the new table</td></tr>
+</table>
+ <dt><b>Return Value</b>
+ <dd>A new table containing all of the data from the two passed in<p></dl></dl>
+
+<a name="apr_table_t"></a>
+<dl>
+ <dt>
+ <b><img src="../images/ball2.gif" width=19 height=17 align=texttop>apr_table_t *apr_make_table(apr_pool_t *p, int nelts);</b>
+ <dd>
+Make a new table
+<p><img src="../images//warning.gif" align=left> This table can only store text data
+<p><dl>
+
+ <dt><b>Parameters</b><dd>
+ <table width="85%">
+<tr valign=top><th align=right>
+ p</th><td>The pool to allocate the pool out of
+</td></tr>
+<tr valign=top><th align=right>
+ nelts</th><td>The number of elements in the initial table.</td></tr>
+</table>
+ <dt><b>Return Value</b>
+ <dd>The new table.<p></dl></dl>
+
+<a name="apr_table_t-2"></a>
+<dl>
+ <dt>
+ <b><img src="../images/ball2.gif" width=19 height=17 align=texttop>apr_table_t *apr_make_btable(apr_pool_t *p, int nelts);</b>
+ <dd>
+Make a new table capable of storing binary data
+<p><dl>
+
+ <dt><b>Parameters</b><dd>
+ <table width="85%">
+<tr valign=top><th align=right>
+ p</th><td>The pool to allocate the pool out of
+</td></tr>
+<tr valign=top><th align=right>
+ nelts</th><td>The number of elements in the initial table.</td></tr>
+</table>
+ <dt><b>Return Value</b>
+ <dd>The new table.<p></dl></dl>
+
+<a name="apr_table_t-3"></a>
+<dl>
+ <dt>
+ <b><img src="../images/ball2.gif" width=19 height=17 align=texttop>apr_table_t *) apr_copy_table(apr_pool_t *p, const apr_table_t *t);</b>
+ <dd>
+Create a new table and copy another table into it
+<p><dl>
+
+ <dt><b>Parameters</b><dd>
+ <table width="85%">
+<tr valign=top><th align=right>
+ p</th><td>The pool to allocate the new table out of
+</td></tr>
+<tr valign=top><th align=right>
+ t</th><td>The table to copy</td></tr>
+</table>
+ <dt><b>Return Value</b>
+ <dd>A copy of the table passed in<p></dl></dl>
+
+<a name="apr_table_t-4"></a>
+<dl>
+ <dt>
+ <b><img src="../images/ball2.gif" width=19 height=17 align=texttop>apr_table_t *) apr_copy_btable(apr_pool_t *p, const apr_btable_t *t);</b>
+ <dd>
+Create a new binary table and copy another table into it
+<p><dl>
+
+ <dt><b>Parameters</b><dd>
+ <table width="85%">
+<tr valign=top><th align=right>
+ p</th><td>The pool to allocate the new table out of
+</td></tr>
+<tr valign=top><th align=right>
+ t</th><td>The table to copy</td></tr>
+</table>
+ <dt><b>Return Value</b>
+ <dd>A copy of the table passed in<p></dl></dl>
+
+<a name="apr_table_t-5"></a>
+<dl>
+ <dt>
+ <b><img src="../images/ball2.gif" width=19 height=17 align=texttop>apr_table_t *apr_overlay_tables(apr_pool_t *p, const apr_table_t *overlay, const apr_table_t *base);;</b>
+ <dd>
+Merge two tables into one new table
+<p><dl>
+
+ <dt><b>Parameters</b><dd>
+ <table width="85%">
+<tr valign=top><th align=right>
+ p</th><td>The pool to use for the new table
+</td></tr>
+<tr valign=top><th align=right>
+ overlay</th><td>The first table to put in the new table
+</td></tr>
+<tr valign=top><th align=right>
+ base</th><td>The table to add at the end of the new table</td></tr>
+</table>
+ <dt><b>Return Value</b>
+ <dd>A new table containing all of the data from the two passed in<p></dl></dl>
+
+<a name="char-8"></a>
+<dl>
+ <dt>
+ <b><img src="../images/ball2.gif" width=19 height=17 align=texttop>char *apr_array_pstrcat(apr_pool_t *p, const apr_array_header_t *arr, const char sep);</b>
+ <dd>
+Generates a new string from the apr_pool_t containing the concatenated
+sequence of substrings referenced as elements within the array. The string
+will be empty if all substrings are empty or null, or if there are no
+elements in the array. If sep is non-NUL, it will be inserted between
+elements as a separator.
+<p><dl>
+
+ <dt><b>Parameters</b><dd>
+ <table width="85%">
+<tr valign=top><th align=right>
+ p</th><td>The pool to allocate the string out of
+</td></tr>
+<tr valign=top><th align=right>
+ arr</th><td>The array to generate the string from
+</td></tr>
+<tr valign=top><th align=right>
+ sep</th><td>The separator to use</td></tr>
+</table>
+ <dt><b>Return Value</b>
+ <dd>A string containing all of the data in the array.<p></dl></dl>
+
+<a name="const-2"></a>
+<dl>
+ <dt>
+ <b><img src="../images/ball2.gif" width=19 height=17 align=texttop>const char *apr_table_get(const apr_table_t *t, const char *key);</b>
+ <dd>
+Get the value associated with a given key from the table. After this call,
+The data is still in the table
+<p><dl>
+
+ <dt><b>Parameters</b><dd>
+ <table width="85%">
+<tr valign=top><th align=right>
+ t</th><td>The table to search for the key
+</td></tr>
+<tr valign=top><th align=right>
+ key</th><td>The key to search for</td></tr>
+</table>
+ <dt><b>Return Value</b>
+ <dd>The value associated with the key<p></dl></dl>
+
+<a name="const-3"></a>
+<dl>
+ <dt>
+ <b><img src="../images/ball2.gif" width=19 height=17 align=texttop>const apr_item_t *apr_btable_get(const apr_btable_t *t, const char *key);</b>
+ <dd>
+Get the value associated with a given key from a binary table. After this
+call, the data is still in the table.
+<p><dl>
+
+ <dt><b>Parameters</b><dd>
+ <table width="85%">
+<tr valign=top><th align=right>
+ t</th><td>The table to search for the key
+</td></tr>
+<tr valign=top><th align=right>
+ key</th><td>The key to search for</td></tr>
+</table>
+ <dt><b>Return Value</b>
+ <dd>The value associated with the key<p></dl></dl>
+
+<a name="void-11"></a>
+<dl>
+ <dt>
+ <b><img src="../images/ball2.gif" width=19 height=17 align=texttop>void *apr_push_array(apr_array_header_t *arr);</b>
+ <dd>
+Add a new element to an array
+<p><img src="../images//tip.gif"> If there are no free spots in the array, then this function will
+ allocate new space for the new element.
+<p><dl>
+
+ <dt><b>Parameters</b><dd>
+ <table width="85%">
+<tr valign=top><th align=right>
+ arr</th><td>The array to add an element to.</td></tr>
+</table>
+ <dt><b>Return Value</b>
+ <dd>Location for the new element in the array.<p></dl></dl>
+
+<a name="void-12"></a>
+<dl>
+ <dt>
+ <b><img src="../images/ball2.gif" width=19 height=17 align=texttop>void apr_array_cat(apr_array_header_t *dst, const apr_array_header_t *src);</b>
+ <dd>
+Concatenate two arrays together
+<p><dl>
+
+ <dt><b>Parameters</b><dd>
+ <table width="85%">
+<tr valign=top><th align=right>
+ dst</th><td>The destination array, and the one to go first in the combined
+ array
+</td></tr>
+<tr valign=top><th align=right>
+ src</th><td>The source array to add to the destination array</td></tr>
+</table>
+ </dl></dl>
+
+<a name="void-13"></a>
+<dl>
+ <dt>
+ <b><img src="../images/ball2.gif" width=19 height=17 align=texttop>void apr_clear_table(apr_table_t *t);</b>
+ <dd>
+Delete all of the elements from a table
+<p><dl>
+
+ <dt><b>Parameters</b><dd>
+ <table width="85%">
+<tr valign=top><th align=right>
+ t</th><td>The table to clear</td></tr>
+</table>
+ </dl></dl>
+
+<a name="void-14"></a>
+<dl>
+ <dt>
+ <b><img src="../images/ball2.gif" width=19 height=17 align=texttop>void apr_clear_btable(apr_btable_t *t);</b>
+ <dd>
+Delete all of the elements from a binary table
+<p><dl>
+
+ <dt><b>Parameters</b><dd>
+ <table width="85%">
+<tr valign=top><th align=right>
+ t</th><td>The table to clear</td></tr>
+</table>
+ </dl></dl>
+
+<a name="void-15"></a>
+<dl>
+ <dt>
+ <b><img src="../images/ball2.gif" width=19 height=17 align=texttop>void apr_table_set(apr_table_t *t, const char *key, const char *val);</b>
+ <dd>
+Add a key/value pair to a table, if another element already exists with the
+same key, this will over-write the old data.
+<p><img src="../images//tip.gif"> When adding data, this function makes a copy of both the key and the
+ value.
+<p><dl>
+
+ <dt><b>Parameters</b><dd>
+ <table width="85%">
+<tr valign=top><th align=right>
+ t</th><td>The table to add the data to.
+</td></tr>
+<tr valign=top><th align=right>
+ key</th><td>The key fo use
+</td></tr>
+<tr valign=top><th align=right>
+ val</th><td>The value to add</td></tr>
+</table>
+ </dl></dl>
+
+<a name="void-16"></a>
+<dl>
+ <dt>
+ <b><img src="../images/ball2.gif" width=19 height=17 align=texttop>void apr_btable_set(apr_btable_t *t, const char *key, size_t size, const void *val);</b>
+ <dd>
+Add a key/value pair to a binary table if another element already exists
+with the same key, this will over-write the old data.
+<p><img src="../images//tip.gif"> When adding data, this function makes a copy of both the key and the
+ value.
+<p><dl>
+
+ <dt><b>Parameters</b><dd>
+ <table width="85%">
+<tr valign=top><th align=right>
+ t</th><td>The table to add the data to.
+</td></tr>
+<tr valign=top><th align=right>
+ key</th><td>The key fo use
+</td></tr>
+<tr valign=top><th align=right>
+ size</th><td>The size of the data to add
+</td></tr>
+<tr valign=top><th align=right>
+ val</th><td>The value to add</td></tr>
+</table>
+ </dl></dl>
+
+<a name="void-17"></a>
+<dl>
+ <dt>
+ <b><img src="../images/ball2.gif" width=19 height=17 align=texttop>void apr_table_setn(apr_table_t *t, const char *key, const char *val);</b>
+ <dd>
+Add a key/value pair to a table, if another element already exists with the
+same key, this will over-write the old data.
+<p><img src="../images//tip.gif"> When adding data, this function does not make a copy of the key or the
+ value, so care should be taken to ensure that the values will not
+ change after they have been added..
+<p><dl>
+
+ <dt><b>Parameters</b><dd>
+ <table width="85%">
+<tr valign=top><th align=right>
+ t</th><td>The table to add the data to.
+</td></tr>
+<tr valign=top><th align=right>
+ key</th><td>The key fo use
+</td></tr>
+<tr valign=top><th align=right>
+ val</th><td>The value to add</td></tr>
+</table>
+ </dl></dl>
+
+<a name="void-18"></a>
+<dl>
+ <dt>
+ <b><img src="../images/ball2.gif" width=19 height=17 align=texttop>void apr_btable_setn(apr_btable_t *t, const char *key, size_t size, const void *val);</b>
+ <dd>
+Add a key/value pair to a binary table if another element already exists
+with the same key, this will over-write the old data.
+<p><img src="../images//tip.gif"> When adding data, this function does not make a copy of the key or the
+ value, so care should be taken to ensure that the values will not
+ change after they have been added..
+<p><dl>
+
+ <dt><b>Parameters</b><dd>
+ <table width="85%">
+<tr valign=top><th align=right>
+ t</th><td>The table to add the data to.
+</td></tr>
+<tr valign=top><th align=right>
+ key</th><td>The key fo use
+</td></tr>
+<tr valign=top><th align=right>
+ size</th><td>The size of the data to add
+</td></tr>
+<tr valign=top><th align=right>
+ val</th><td>The value to add</td></tr>
+</table>
+ </dl></dl>
+
+<a name="void-19"></a>
+<dl>
+ <dt>
+ <b><img src="../images/ball2.gif" width=19 height=17 align=texttop>void apr_table_unset(apr_table_t *t, const char *key);</b>
+ <dd>
+Remove data from the table
+<p><dl>
+
+ <dt><b>Parameters</b><dd>
+ <table width="85%">
+<tr valign=top><th align=right>
+ t</th><td>The table to remove data from
+</td></tr>
+<tr valign=top><th align=right>
+ key</th><td>The key of the data being removed</td></tr>
+</table>
+ </dl></dl>
+
+<a name="void-20"></a>
+<dl>
+ <dt>
+ <b><img src="../images/ball2.gif" width=19 height=17 align=texttop>void apr_btable_unset(apr_btable_t *t, const char *key);</b>
+ <dd>
+Remove data from a binary table
+<p><dl>
+
+ <dt><b>Parameters</b><dd>
+ <table width="85%">
+<tr valign=top><th align=right>
+ t</th><td>The table to remove data from
+</td></tr>
+<tr valign=top><th align=right>
+ key</th><td>The key of the data being removed</td></tr>
+</table>
+ </dl></dl>
+
+<a name="void-21"></a>
+<dl>
+ <dt>
+ <b><img src="../images/ball2.gif" width=19 height=17 align=texttop>void apr_table_merge(apr_table_t *t, const char *key, const char *val);</b>
+ <dd>
+Add data to a table by merging the value with data that has already been
+stored
+<p><img src="../images//tip.gif"> If the key is not found, then this function acts like apr_table_add
+<p><dl>
+
+ <dt><b>Parameters</b><dd>
+ <table width="85%">
+<tr valign=top><th align=right>
+ t</th><td>The table to search for the data
+</td></tr>
+<tr valign=top><th align=right>
+ key</th><td>The key to merge data for
+</td></tr>
+<tr valign=top><th align=right>
+ val</th><td>The data to add</td></tr>
+</table>
+ </dl></dl>
+
+<a name="void-22"></a>
+<dl>
+ <dt>
+ <b><img src="../images/ball2.gif" width=19 height=17 align=texttop>void apr_table_mergen(apr_table_t *t, const char *key, const char *val);</b>
+ <dd>
+Add data to a table by merging the value with data that has already been
+stored
+<p><img src="../images//tip.gif"> If the key is not found, then this function acts like apr_table_addn
+<p><dl>
+
+ <dt><b>Parameters</b><dd>
+ <table width="85%">
+<tr valign=top><th align=right>
+ t</th><td>The table to search for the data
+</td></tr>
+<tr valign=top><th align=right>
+ key</th><td>The key to merge data for
+</td></tr>
+<tr valign=top><th align=right>
+ val</th><td>The data to add</td></tr>
+</table>
+ </dl></dl>
+
+<a name="void-23"></a>
+<dl>
+ <dt>
+ <b><img src="../images/ball2.gif" width=19 height=17 align=texttop>void apr_table_add(apr_table_t *t, const char *key, const char *val);</b>
+ <dd>
+Add data to a table, regardless of whether there is another element with the
+same key.
+<p><img src="../images//tip.gif"> When adding data, this function makes a copy of both the key and the
+ value.
+<p><dl>
+
+ <dt><b>Parameters</b><dd>
+ <table width="85%">
+<tr valign=top><th align=right>
+ t</th><td>The table to add to
+</td></tr>
+<tr valign=top><th align=right>
+ key</th><td>The key to use
+</td></tr>
+<tr valign=top><th align=right>
+ val</th><td>The value to add.</td></tr>
+</table>
+ </dl></dl>
+
+<a name="void-24"></a>
+<dl>
+ <dt>
+ <b><img src="../images/ball2.gif" width=19 height=17 align=texttop>void apr_btable_add(apr_btable_t *t, const char *key, size_t size, const char *val);</b>
+ <dd>
+Add data to a binary table, regardless of whether there is another element
+with the same key.
+<p><img src="../images//tip.gif"> When adding data, this function makes a copy of both the key and the
+ value.
+<p><dl>
+
+ <dt><b>Parameters</b><dd>
+ <table width="85%">
+<tr valign=top><th align=right>
+ t</th><td>The table to add to
+</td></tr>
+<tr valign=top><th align=right>
+ key</th><td>The key to use
+</td></tr>
+<tr valign=top><th align=right>
+ size</th><td>The size of the value to add
+</td></tr>
+<tr valign=top><th align=right>
+ val</th><td>The value to add.</td></tr>
+</table>
+ </dl></dl>
+
+<a name="void-25"></a>
+<dl>
+ <dt>
+ <b><img src="../images/ball2.gif" width=19 height=17 align=texttop>void apr_table_addn(apr_table_t *t, const char *key, const char *val);</b>
+ <dd>
+Add data to a table, regardless of whether there is another element with the
+same key.
+<p><img src="../images//tip.gif"> When adding data, this function does not make a copy of the key or the
+ value, so care should be taken to ensure that the values will not
+ change after they have been added..
+<p><dl>
+
+ <dt><b>Parameters</b><dd>
+ <table width="85%">
+<tr valign=top><th align=right>
+ t</th><td>The table to add to
+</td></tr>
+<tr valign=top><th align=right>
+ key</th><td>The key to use
+</td></tr>
+<tr valign=top><th align=right>
+ val</th><td>The value to add.</td></tr>
+</table>
+ </dl></dl>
+
+<a name="void-26"></a>
+<dl>
+ <dt>
+ <b><img src="../images/ball2.gif" width=19 height=17 align=texttop>void apr_btable_addn(apr_btable_t *t, const char *key, size_t size, const char *val);</b>
+ <dd>
+Add data to a binary table, regardless of whether there is another element
+with the same key.
+<p><img src="../images//tip.gif"> When adding data, this function does not make a copy of the key or the
+ value, so care should be taken to ensure that the values will not
+ change after they have been added..
+<p><dl>
+
+ <dt><b>Parameters</b><dd>
+ <table width="85%">
+<tr valign=top><th align=right>
+ t</th><td>The table to add to
+</td></tr>
+<tr valign=top><th align=right>
+ key</th><td>The key to use
+</td></tr>
+<tr valign=top><th align=right>
+ size</th><td>The size of the value to add
+</td></tr>
+<tr valign=top><th align=right>
+ val</th><td>The value to add.</td></tr>
+</table>
+ </dl></dl>
+
+<a name="void-27"></a>
+<dl>
+ <dt>
+ <b><img src="../images/ball2.gif" width=19 height=17 align=texttop>void apr_table_do(int (*comp) (void *, const char *, const char *), void *rec, const apr_table_t *t, ...);</b>
+ <dd>
+Iterate over a table running the provided function once for every
+element in the table. If there is data passed in as a vararg, then the
+function is only run on those element's whose key matches something in
+the vararg. If the vararg is NULL, then every element is run through the
+function.
+<p><dl>
+
+ <dt><b>Parameters</b><dd>
+ <table width="85%">
+<tr valign=top><th align=right>
+ comp</th><td>The function to run
+</td></tr>
+<tr valign=top><th align=right>
+ rec</th><td>The data to pass as the first argument to the function
+</td></tr>
+<tr valign=top><th align=right>
+ t</th><td>The table to iterate over
+... The vararg. If this is NULL, then all elements in the table are
+ run through the function, otherwise only those whose key matches
+ are run.</td></tr>
+</table>
+ </dl></dl>
+
+<a name="void-28"></a>
+<dl>
+ <dt>
+ <b><img src="../images/ball2.gif" width=19 height=17 align=texttop>void apr_table_vdo(int (*comp) (void *, const char *, const char *), void *rec, const apr_table_t *t, va_list vp);</b>
+ <dd>
+Iterate over a table running the provided function once for every
+element in the table. If there is data passed in as a vararg, then the
+function is only run on those element's whose key matches something in
+the vararg. If the vararg is NULL, then every element is run through the
+function.
+<p><dl>
+
+ <dt><b>Parameters</b><dd>
+ <table width="85%">
+<tr valign=top><th align=right>
+ comp</th><td>The function to run
+</td></tr>
+<tr valign=top><th align=right>
+ rec</th><td>The data to pass as the first argument to the function
+</td></tr>
+<tr valign=top><th align=right>
+ t</th><td>The table to iterate over
+</td></tr>
+<tr valign=top><th align=right>
+ vp</th><td>The vararg table. If this is NULL, then all elements in the
+ table are run through the function, otherwise only those
+ whose key matches are run.</td></tr>
+</table>
+ </dl></dl>
+
+<a name="void-29"></a>
+<dl>
+ <dt>
+ <b><img src="../images/ball2.gif" width=19 height=17 align=texttop>void apr_overlap_tables(apr_table_t *a, const apr_table_t *b, unsigned flags);</b>
+ <dd>
+For each element in table b, either use setn or mergen to add the data
+to table a. Wich method is used is determined by the flags passed in.
+<p><img src="../images//tip.gif"> This function is highly optimized, and uses less memory and CPU cycles
+ than a function that just loops through table b calling other functions.
+<p><dl>
+
+ <dt><b>Parameters</b><dd>
+ <table width="85%">
+<tr valign=top><th align=right>
+ a</th><td>The table to add the data to.
+</td></tr>
+<tr valign=top><th align=right>
+ b</th><td>The table to iterate over, adding it's data to table a
+</td></tr>
+<tr valign=top><th align=right>
+ flags</th><td>How to add the table to table a. One of:
+ APR_OVERLAP_TABLES_SET Use apr_table_setn
+ APR_OVERLAP_TABLES_MERGE Use apr_table_mergen</td></tr>
+</table>
+ </dl></dl>
+</blockquote>
+
<hr size=4>
© 2000 [Apache Software Foundation]<br>
Generated by <a href="http://scandoc.sourceforge.net/"><b>ScanDoc 0.12</b></a><br>
- Last Updated: Fri Nov 17 19:40:19 2000
+ Last Updated: Mon Dec 4 10:10:38 2000
<br>
</body>
</html>
1.3 +46 -1 apr-site/docs/APR_Thread_library.html
Index: APR_Thread_library.html
===================================================================
RCS file: /home/cvs/apr-site/docs/APR_Thread_library.html,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- APR_Thread_library.html 2000/11/18 03:40:40 1.2
+++ APR_Thread_library.html 2000/12/04 18:14:01 1.3
@@ -17,6 +17,12 @@
<li><a href="APR_Thread_library.html#apr_proc_t-out">out</a>
<li><a href="APR_Thread_library.html#apr_proc_t-pid">pid</a>
</ul>
+<h3><img src="../images/ball1.gif" width=18 height=17 align=texttop>
+ <a href="APR_Thread_library.html#process_chain">struct process_chain</h3></a>
+ <ul>
+<li><a href="APR_Thread_library.html#process_chain-pid">pid</a>
+<li><a href="APR_Thread_library.html#process_chain-process_chain">process_chain</a>
+</ul>
</b>
<hr size="4">
@@ -61,6 +67,45 @@
<p><dl>
</dl></dl>
</blockquote>
+<hr size="4">
+ <a name="process_chain"></a>
+ <h1>struct process_chain</h1>
+ <table bgcolor="ffffff" border="0" cellspacing="4">
+ <tr>
+ <th align=center colspan=2>
+ </th>
+ </tr>
+ <tr><th width=20% align=right>Source:</th><td>./include/apr_thread_proc.h</td></tr></tr>
+</table>
+<p>
+A list of processes<h2>Member Index</h2>
+<ul><li><a href="APR_Thread_library.html#process_chain-pid"> apr_proc_t *pid</a>
+ <li><a href="APR_Thread_library.html#process_chain-process_chain">process_chain *next </a>
+ </ul><h2>Class Variables</h2>
+<blockquote>
+
+ <a name="pid"></a>
+ <dl><dt>
+ <b><img src="../images/ball2.gif" width=19 height=17 align=texttop> apr_proc_t *pid;</b>
+<dd>
+The process ID
+<p><dl>
+</dl></dl>
+
+ <a name="process_chain"></a>
+ <dl><dt>
+ <b><img src="../images/ball2.gif" width=19 height=17 align=texttop>process_chain *next ;</b>
+<dd>
+When the process should be sent a signal. <PRE>
+ kill_never -- process is never sent any signals
+ kill_always -- process is sent SIGKILL on apr_pool_t cleanup
+ kill_after_timeout -- SIGTERM, wait 3 seconds, SIGKILL
+ just_wait -- wait forever for the process to complete
+ kill_only_once -- send SIGTERM and then wait </PRE>
+ The next process in the list
+<p><dl>
+</dl></dl>
+</blockquote>
<h2>Global Functions</h2>
<blockquote>
@@ -359,7 +404,7 @@
<hr size=4>
© 2000 [Apache Software Foundation]<br>
Generated by <a href="http://scandoc.sourceforge.net/"><b>ScanDoc 0.12</b></a><br>
- Last Updated: Fri Nov 17 19:40:19 2000
+ Last Updated: Mon Dec 4 10:10:38 2000
<br>
</body>
</html>
1.3 +1 -1 apr-site/docs/APR_Time_library.html
Index: APR_Time_library.html
===================================================================
RCS file: /home/cvs/apr-site/docs/APR_Time_library.html,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- APR_Time_library.html 2000/11/18 03:40:40 1.2
+++ APR_Time_library.html 2000/12/04 18:14:01 1.3
@@ -317,7 +317,7 @@
<hr size=4>
© 2000 [Apache Software Foundation]<br>
Generated by <a href="http://scandoc.sourceforge.net/"><b>ScanDoc 0.12</b></a><br>
- Last Updated: Fri Nov 17 19:40:19 2000
+ Last Updated: Mon Dec 4 10:10:38 2000
<br>
</body>
</html>
1.3 +3 -3 apr-site/docs/APR_UUID_Handling.html
Index: APR_UUID_Handling.html
===================================================================
RCS file: /home/cvs/apr-site/docs/APR_UUID_Handling.html,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- APR_UUID_Handling.html 2000/11/18 03:40:40 1.2
+++ APR_UUID_Handling.html 2000/12/04 18:14:02 1.3
@@ -33,7 +33,7 @@
</table>
</dl></dl>
-<a name="void-12"></a>
+<a name="void-31"></a>
<dl>
<dt>
<b><img src="../images/ball2.gif" width=19 height=17 align=texttop>void apr_get_uuid(apr_uuid_t *uuid);</b>
@@ -48,7 +48,7 @@
</table>
</dl></dl>
-<a name="void-13"></a>
+<a name="void-32"></a>
<dl>
<dt>
<b><img src="../images/ball2.gif" width=19 height=17 align=texttop>void apr_format_uuid(apr_pool_t *p, const apr_uuid_t *uuid);</b>
@@ -72,7 +72,7 @@
<hr size=4>
© 2000 [Apache Software Foundation]<br>
Generated by <a href="http://scandoc.sourceforge.net/"><b>ScanDoc 0.12</b></a><br>
- Last Updated: Fri Nov 17 19:40:19 2000
+ Last Updated: Mon Dec 4 10:10:38 2000
<br>
</body>
</html>
1.3 +107 -61 apr-site/docs/APR_command_arguments.html
Index: APR_command_arguments.html
===================================================================
RCS file: /home/cvs/apr-site/docs/APR_command_arguments.html,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- APR_command_arguments.html 2000/11/18 03:40:40 1.2
+++ APR_command_arguments.html 2000/12/04 18:14:02 1.3
@@ -11,20 +11,72 @@
<h2>Package Name: APR command arguments</h2>
<b>
<h3><img src="../images/ball1.gif" width=18 height=17 align=texttop>
+ <a href="APR_command_arguments.html#apr_getopt_option_t">struct apr_getopt_option_t</h3></a>
+ <ul>
+<li><a href="APR_command_arguments.html#apr_getopt_option_t-has_arg">has_arg</a>
+<li><a href="APR_command_arguments.html#apr_getopt_option_t-name">name</a>
+<li><a href="APR_command_arguments.html#apr_getopt_option_t-optch">optch</a>
+</ul>
+<h3><img src="../images/ball1.gif" width=18 height=17 align=texttop>
<a href="APR_command_arguments.html#apr_getopt_t">struct apr_getopt_t</h3></a>
<ul>
<li><a href="APR_command_arguments.html#apr_getopt_t-argc">argc</a>
-<li><a href="APR_command_arguments.html#apr_getopt_t-const">const</a>
+<li><a href="APR_command_arguments.html#apr_getopt_t-argv">argv</a>
<li><a href="APR_command_arguments.html#apr_getopt_t-cont">cont</a>
<li><a href="APR_command_arguments.html#apr_getopt_t-err">err</a>
<li><a href="APR_command_arguments.html#apr_getopt_t-ind">ind</a>
+<li><a href="APR_command_arguments.html#apr_getopt_t-interleave">interleave</a>
<li><a href="APR_command_arguments.html#apr_getopt_t-opt">opt</a>
<li><a href="APR_command_arguments.html#apr_getopt_t-place">place</a>
<li><a href="APR_command_arguments.html#apr_getopt_t-reset">reset</a>
+<li><a href="APR_command_arguments.html#apr_getopt_t-skip_end">skip_end</a>
+<li><a href="APR_command_arguments.html#apr_getopt_t-skip_start">skip_start</a>
</ul>
</b>
<hr size="4">
+ <a name="apr_getopt_option_t"></a>
+ <h1>struct apr_getopt_option_t</h1>
+ <table bgcolor="ffffff" border="0" cellspacing="4">
+ <tr>
+ <th align=center colspan=2>
+ </th>
+ </tr>
+ <tr><th width=20% align=right>Source:</th><td>./include/apr_getopt.h</td></tr></tr>
+</table>
+<p>
+Structure used to describe options that getopt should search for.<h2>Member Index</h2>
+<ul><li><a href="APR_command_arguments.html#apr_getopt_option_t-has_arg"> int has_arg</a>
+ <li><a href="APR_command_arguments.html#apr_getopt_option_t-name"> const char *name</a>
+ <li><a href="APR_command_arguments.html#apr_getopt_option_t-optch"> int optch</a>
+ </ul><h2>Class Variables</h2>
+<blockquote>
+
+ <a name="has_arg"></a>
+ <dl><dt>
+ <b><img src="../images/ball2.gif" width=19 height=17 align=texttop> int has_arg;</b>
+<dd>
+nonzero if option takes an argument
+<p><dl>
+</dl></dl>
+
+ <a name="name"></a>
+ <dl><dt>
+ <b><img src="../images/ball2.gif" width=19 height=17 align=texttop> const char *name;</b>
+<dd>
+long option name, or NULL if option has no long name
+<p><dl>
+</dl></dl>
+
+ <a name="optch"></a>
+ <dl><dt>
+ <b><img src="../images/ball2.gif" width=19 height=17 align=texttop> int optch;</b>
+<dd>
+option letter, or a value greater than 255 if option has no letter
+<p><dl>
+</dl></dl>
+</blockquote>
+<hr size="4">
<a name="apr_getopt_t"></a>
<h1>struct apr_getopt_t</h1>
<table bgcolor="ffffff" border="0" cellspacing="4">
@@ -37,13 +89,16 @@
<p>
Structure to store command line argument information.<h2>Member Index</h2>
<ul><li><a href="APR_command_arguments.html#apr_getopt_t-argc"> int argc</a>
- <li><a href="APR_command_arguments.html#apr_getopt_t-const"> char *const</a>
+ <li><a href="APR_command_arguments.html#apr_getopt_t-argv"> const char **argv</a>
<li><a href="APR_command_arguments.html#apr_getopt_t-cont"> apr_pool_t *cont</a>
<li><a href="APR_command_arguments.html#apr_getopt_t-err"> int err</a>
<li><a href="APR_command_arguments.html#apr_getopt_t-ind"> int ind</a>
+ <li><a href="APR_command_arguments.html#apr_getopt_t-interleave"> int interleave</a>
<li><a href="APR_command_arguments.html#apr_getopt_t-opt"> int opt</a>
<li><a href="APR_command_arguments.html#apr_getopt_t-place"> char const* place</a>
<li><a href="APR_command_arguments.html#apr_getopt_t-reset"> int reset</a>
+ <li><a href="APR_command_arguments.html#apr_getopt_t-skip_end"> int skip_end</a>
+ <li><a href="APR_command_arguments.html#apr_getopt_t-skip_start"> int skip_start</a>
</ul><h2>Class Variables</h2>
<blockquote>
@@ -55,9 +110,9 @@
<p><dl>
</dl></dl>
- <a name="const"></a>
+ <a name="argv"></a>
<dl><dt>
- <b><img src="../images/ball2.gif" width=19 height=17 align=texttop> char *const;</b>
+ <b><img src="../images/ball2.gif" width=19 height=17 align=texttop> const char **argv;</b>
<dd>
array of pointers to arguments
<p><dl>
@@ -87,6 +142,14 @@
<p><dl>
</dl></dl>
+ <a name="interleave"></a>
+ <dl><dt>
+ <b><img src="../images/ball2.gif" width=19 height=17 align=texttop> int interleave;</b>
+<dd>
+set to nonzero to support interleaving options with regular args
+<p><dl>
+</dl></dl>
+
<a name="opt"></a>
<dl><dt>
<b><img src="../images/ball2.gif" width=19 height=17 align=texttop> int opt;</b>
@@ -110,32 +173,20 @@
reset getopt
<p><dl>
</dl></dl>
-</blockquote>
-<h2>Global Variables</h2>
- <blockquote>
- <a name="has_arg"></a>
+ <a name="skip_end"></a>
<dl><dt>
- <b><img src="../images/ball2.gif" width=19 height=17 align=texttop> int has_arg;</b>
-<dd>
-0 for no arg, 1 for arg
-<p><dl>
-</dl></dl>
-
- <a name="name"></a>
- <dl><dt>
- <b><img src="../images/ball2.gif" width=19 height=17 align=texttop> const char *name;</b>
+ <b><img src="../images/ball2.gif" width=19 height=17 align=texttop> int skip_end;</b>
<dd>
-the name of the long argument (sans "--")
+end of non-option arguments skipped for interleaving
<p><dl>
</dl></dl>
- <a name="val"></a>
+ <a name="skip_start"></a>
<dl><dt>
- <b><img src="../images/ball2.gif" width=19 height=17 align=texttop> int val;</b>
+ <b><img src="../images/ball2.gif" width=19 height=17 align=texttop> int skip_start;</b>
<dd>
-Either the short option char that this option corresponds to
-or a unique integer > 255
+start of non-option arguments skipped for interleaving
<p><dl>
</dl></dl>
</blockquote>
@@ -154,10 +205,10 @@
<dt><b>Parameters</b><dd>
<table width="85%">
<tr valign=top><th align=right>
- cont</th><td>The pool to operate on
+ os</th><td>The options structure created for apr_getopt()
</td></tr>
<tr valign=top><th align=right>
- os</th><td>The options structure created for apr_getopt()
+ cont</th><td>The pool to operate on
</td></tr>
<tr valign=top><th align=right>
argc</th><td>The number of arguments to parse
@@ -173,13 +224,6 @@
<b><img src="../images/ball2.gif" width=19 height=17 align=texttop>apr_status_t apr_getopt(apr_getopt_t *os, const char *opts, char *optch, const char **optarg);</b>
<dd>
Parse the options initialized by apr_initopt().
-<p><img src="../images//tip.gif"> There are four potential status values on exit. They are:
-<PRE>
- APR_EOF -- No more options to parse
- APR_BADCH -- Found a bad option character
- APR_BADARG -- No argument followed @parameter:
- APR_SUCCESS -- The next option was found.
-</PRE>
<p><dl>
<dt><b>Parameters</b><dd>
@@ -198,60 +242,62 @@
<tr valign=top><th align=right>
optarg</th><td>The argument following the option character:</td></tr>
</table>
- </dl></dl>
+ <dt><b>Return Value</b>
+ <dd>There are four potential status values on exit. They are:
+<PRE>
+ APR_EOF -- No more options to parse
+ APR_BADCH -- Found a bad option character
+ APR_BADARG -- No argument followed @parameter:
+ APR_SUCCESS -- The next option was found.
+</PRE><p></dl></dl>
<a name="apr_status_t-4"></a>
<dl>
<dt>
- <b><img src="../images/ball2.gif" width=19 height=17 align=texttop>apr_status_t apr_getopt_long(apr_getopt_t *os, const char *opts, const apr_getopt_long_t *longopts, int *optval, const char **optarg) ;</b>
+ <b><img src="../images/ball2.gif" width=19 height=17 align=texttop>apr_status_t apr_getopt_long(apr_getopt_t *os, const apr_getopt_option_t *opts, int *optch, const char **optarg);</b>
<dd>
Parse the options initialized by apr_initopt(), accepting long
options beginning with "--" in addition to single-character
-options beginning with "-" (which are passed along to apr_getopt).
-Long options are accepted in both "--foo bar" and well as
-"--foo=bar" format
-End of argument processing if we encounter "--" or any option that
-doesn't start with "-" or "--".
-<p><img src="../images//tip.gif"> There are four potential status values on exit. They are:
-<PRE>
- APR_EOF -- No more options to parse
- APR_BADCH -- Found a bad option character
- APR_BADARG -- No argument followed @parameter:
- APR_SUCCESS -- The next option was found.
-</PRE>
+options beginning with "-".
<p><dl>
<dt><b>Parameters</b><dd>
<table width="85%">
<tr valign=top><th align=right>
- os</th><td>The apr_opt_t structure returned by apr_initopt()
-</td></tr>
-<tr valign=top><th align=right>
- opts</th><td>A string of acceptable single-character options to the
- program. Characters followed by ":" are required to have
- an argument associated
+ os</th><td>The apr_getopt_t structure created by apr_initopt()
</td></tr>
<tr valign=top><th align=right>
- longopts</th><td>A pointer to an array of apr_long_option_t structures, which
- can be initialized with { "name", has_args, val }. has_args
- is nonzero if the option requires an argument. A structure
- with a NULL name terminates the list
+ opts</th><td>A pointer to a list of apr_getopt_option_t structures, which
+ can be initialized with { "name", optch, has_args }. has_args
+ is nonzero if the option requires an argument. A structure
+ with an optch value of 0 terminates the list.
</td></tr>
<tr valign=top><th align=right>
- optval</th><td>The next option character parsed, or the value of "optval"
- from the appropriate apr_long_option_t structure if
- the next option is a long option.
+ optch</th><td>Receives the value of "optch" from the apr_getopt_option_t
+ structure corresponding to the next option matched.
</td></tr>
<tr valign=top><th align=right>
- optarg</th><td>The argument following the option, if any</td></tr>
+ optarg</th><td>Receives the argument following the option, if any.</td></tr>
</table>
- </dl></dl>
+ <dt><b>Return Value</b>
+ <dd>There are four potential status values on exit. They are:
+<PRE>
+ APR_EOF -- No more options to parse
+ APR_BADCH -- Found a bad option character
+ APR_BADARG -- No argument followed @parameter:
+ APR_SUCCESS -- The next option was found.
+</PRE>
+When APR_SUCCESS is returned, os->ind gives the index of the first
+non-option argument. On error, a message will be printed to stdout unless
+os->err is set to 0. If os->interleave is set to nonzero, options can come
+after arguments, and os->argv will be permuted to leave non-option arguments
+at the end (the original argv is unaffected).<p></dl></dl>
</blockquote>
<hr size=4>
© 2000 [Apache Software Foundation]<br>
Generated by <a href="http://scandoc.sourceforge.net/"><b>ScanDoc 0.12</b></a><br>
- Last Updated: Fri Nov 17 19:40:19 2000
+ Last Updated: Mon Dec 4 10:10:38 2000
<br>
</body>
</html>
1.3 +42 -31 apr-site/docs/APR_general-purpose_library.html
Index: APR_general-purpose_library.html
===================================================================
RCS file: /home/cvs/apr-site/docs/APR_general-purpose_library.html,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- APR_general-purpose_library.html 2000/11/18 03:40:40 1.2
+++ APR_general-purpose_library.html 2000/12/04 18:14:02 1.3
@@ -10,8 +10,47 @@
<h2>Package Name: APR general-purpose library</h2>
<b>
+<h3><img src="../images/ball1.gif" width=18 height=17 align=texttop>
+ <a href="APR_general-purpose_library.html#apr_vformatter_buff_t">struct apr_vformatter_buff_t</h3></a>
+ <ul>
+<li><a href="APR_general-purpose_library.html#apr_vformatter_buff_t-curpos">curpos</a>
+<li><a href="APR_general-purpose_library.html#apr_vformatter_buff_t-endpos">endpos</a>
+</ul>
</b>
+<hr size="4">
+ <a name="apr_vformatter_buff_t"></a>
+ <h1>struct apr_vformatter_buff_t</h1>
+ <table bgcolor="ffffff" border="0" cellspacing="4">
+ <tr>
+ <th align=center colspan=2>
+ </th>
+ </tr>
+ <tr><th width=20% align=right>Source:</th><td>./include/apr_lib.h</td></tr></tr>
+</table>
+<p>
+Structure used by the variable-formatter routines.<h2>Member Index</h2>
+<ul><li><a href="APR_general-purpose_library.html#apr_vformatter_buff_t-curpos"> char *curpos</a>
+ <li><a href="APR_general-purpose_library.html#apr_vformatter_buff_t-endpos"> char *endpos</a>
+ </ul><h2>Class Variables</h2>
+<blockquote>
+
+ <a name="curpos"></a>
+ <dl><dt>
+ <b><img src="../images/ball2.gif" width=19 height=17 align=texttop> char *curpos;</b>
+<dd>
+The current position
+<p><dl>
+</dl></dl>
+
+ <a name="endpos"></a>
+ <dl><dt>
+ <b><img src="../images/ball2.gif" width=19 height=17 align=texttop> char *endpos;</b>
+<dd>
+The end position of the format string
+<p><dl>
+</dl></dl>
+</blockquote>
<h2>Global Functions</h2>
<blockquote>
@@ -147,8 +186,8 @@
<dt>
<b><img src="../images/ball2.gif" width=19 height=17 align=texttop>int apr_snprintf(char *buf, size_t len, const char *format, ...);</b>
<dd>
-*snprintf routine based on apr_vformatter. This means it understands the
- *same extensions.>
+snprintf routine based on apr_vformatter. This means it understands the
+same extensions.
<p><dl>
<dt><b>Parameters</b><dd>
@@ -189,40 +228,12 @@
ap</th><td>The arguments to use to fill out the format string.</td></tr>
</table>
</dl></dl>
-
-<a name="void-4"></a>
-<dl>
- <dt>
- <b><img src="../images/ball2.gif" width=19 height=17 align=texttop>void apr_note_subprocess(struct apr_pool_t *a, apr_proc_t *pid, enum kill_conditions how);</b>
- <dd>
-Register a process to be killed when a pool dies.
-<p><dl>
-
- <dt><b>Parameters</b><dd>
- <table width="85%">
-<tr valign=top><th align=right>
- a</th><td>The pool to use to define the processes lifetime
-</td></tr>
-<tr valign=top><th align=right>
- pid</th><td>The process to register
-</td></tr>
-<tr valign=top><th align=right>
- how</th><td>How to kill the process, one of:
-<PRE>
- kill_never -- process is never sent any signals
- kill_always -- process is sent SIGKILL on apr_pool_t cleanup
- kill_after_timeout -- SIGTERM, wait 3 seconds, SIGKILL
- just_wait -- wait forever for the process to complete
- kill_only_once -- send SIGTERM and then wait
-</PRE></td></tr>
-</table>
- </dl></dl>
</blockquote>
<hr size=4>
© 2000 [Apache Software Foundation]<br>
Generated by <a href="http://scandoc.sourceforge.net/"><b>ScanDoc 0.12</b></a><br>
- Last Updated: Fri Nov 17 19:40:19 2000
+ Last Updated: Mon Dec 4 10:10:38 2000
<br>
</body>
</html>
1.3 +4 -4 apr-site/docs/APR_lock_library.html
Index: APR_lock_library.html
===================================================================
RCS file: /home/cvs/apr-site/docs/APR_lock_library.html,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- APR_lock_library.html 2000/11/18 03:40:40 1.2
+++ APR_lock_library.html 2000/12/04 18:14:02 1.3
@@ -68,9 +68,9 @@
<tr valign=top><th align=right>
scope</th><td>The scope of the lock to create, one of:
<PRE>
- APR_CROSS_PROCESS -- lock processes from the protected area.
- APR_INTRAPROCESS -- lock threads from the protected area.
- APR_LOCKALL -- lock processes and threads from the
+ APR_CROSS_PROCESS lock processes from the protected area.
+ APR_INTRAPROCESS lock threads from the protected area.
+ APR_LOCKALL lock processes and threads from the
protected area.
</PRE>
</td></tr>
@@ -180,7 +180,7 @@
<hr size=4>
© 2000 [Apache Software Foundation]<br>
Generated by <a href="http://scandoc.sourceforge.net/"><b>ScanDoc 0.12</b></a><br>
- Last Updated: Fri Nov 17 19:40:19 2000
+ Last Updated: Mon Dec 4 10:10:38 2000
<br>
</body>
</html>
1.3 +40 -144 apr-site/docs/APR_memory_allocation.html
Index: APR_memory_allocation.html
===================================================================
RCS file: /home/cvs/apr-site/docs/APR_memory_allocation.html,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- APR_memory_allocation.html 2000/11/18 03:40:40 1.2
+++ APR_memory_allocation.html 2000/12/04 18:14:02 1.3
@@ -14,8 +14,8 @@
<a href="APR_memory_allocation.html#apr_pool_t">struct apr_pool_t</h3></a>
<ul>
<li><a href="APR_memory_allocation.html#apr_pool_t-allocation_list">allocation_list</a>
+<li><a href="APR_memory_allocation.html#apr_pool_t-apr_hash_t">apr_hash_t</a>
<li><a href="APR_memory_allocation.html#apr_pool_t-apr_pool_t">apr_pool_t</a>
-<li><a href="APR_memory_allocation.html#apr_pool_t-datastruct">datastruct</a>
<li><a href="APR_memory_allocation.html#apr_pool_t-first">first</a>
<li><a href="APR_memory_allocation.html#apr_pool_t-free_first_avail">free_first_avail</a>
<li><a href="APR_memory_allocation.html#apr_pool_t-int">int</a>
@@ -33,12 +33,6 @@
<a href="APR_memory_allocation.html#apr_pool_t-process_chain">struct process_chain</h3></a>
<ul>
</ul>
-<h3><img src="../images/ball1.gif" width=18 height=17 align=texttop>
- <a href="APR_memory_allocation.html#process_chain">struct process_chain</h3></a>
- <ul>
-<li><a href="APR_memory_allocation.html#process_chain-pid">pid</a>
-<li><a href="APR_memory_allocation.html#process_chain-process_chain">process_chain</a>
-</ul>
</b>
<hr size="4">
@@ -49,13 +43,13 @@
<th align=center colspan=2>
</th>
</tr>
- <tr><th width=20% align=right>Source:</th><td>./include/apr_general.h</td></tr></tr>
+ <tr><th width=20% align=right>Source:</th><td>./include/apr_pools.h</td></tr></tr>
</table>
<p>
The memory allocation structure<h2>Member Index</h2>
<ul><li><a href="APR_memory_allocation.html#apr_pool_t-allocation_list"> void *allocation_list</a>
+ <li><a href="APR_memory_allocation.html#apr_pool_t-apr_hash_t">apr_hash_t *prog_data </a>
<li><a href="APR_memory_allocation.html#apr_pool_t-apr_pool_t">apr_pool_t *joined </a>
- <li><a href="APR_memory_allocation.html#apr_pool_t-datastruct">datastruct *prog_data </a>
<li><a href="APR_memory_allocation.html#apr_pool_t-first"> union block_hdr *first</a>
<li><a href="APR_memory_allocation.html#apr_pool_t-free_first_avail"> char *free_first_avail</a>
<li><a href="APR_memory_allocation.html#apr_pool_t-int">int apr_abort(int retcode) </a>
@@ -71,19 +65,19 @@
<p><dl>
</dl></dl>
- <a name="apr_pool_t"></a>
+ <a name="apr_hash_t"></a>
<dl><dt>
- <b><img src="../images/ball2.gif" width=19 height=17 align=texttop>apr_pool_t *joined ;</b>
+ <b><img src="../images/ball2.gif" width=19 height=17 align=texttop>apr_hash_t *prog_data ;</b>
<dd>
-a list of joined pools
+A place to hold user data associated with this pool
<p><dl>
</dl></dl>
- <a name="datastruct"></a>
+ <a name="apr_pool_t"></a>
<dl><dt>
- <b><img src="../images/ball2.gif" width=19 height=17 align=texttop>datastruct *prog_data ;</b>
+ <b><img src="../images/ball2.gif" width=19 height=17 align=texttop>apr_pool_t *joined ;</b>
<dd>
-A place to hand user data associated with this pool
+a list of joined pools
<p><dl>
</dl></dl>
@@ -131,7 +125,7 @@
<th align=center colspan=2>
</th>
</tr>
- <tr><th width=20% align=right>Source:</th><td>./include/apr_general.h</td></tr></tr>
+ <tr><th width=20% align=right>Source:</th><td>./include/apr_pools.h</td></tr></tr>
</table>
<p>
The parent pool of this pool<hr size="4">
@@ -142,7 +136,7 @@
<th align=center colspan=2>
</th>
</tr>
- <tr><th width=20% align=right>Source:</th><td>./include/apr_general.h</td></tr></tr>
+ <tr><th width=20% align=right>Source:</th><td>./include/apr_pools.h</td></tr></tr>
</table>
<p>
The list of cleanups to run on pool cleanup.<hr size="4">
@@ -153,49 +147,10 @@
<th align=center colspan=2>
</th>
</tr>
- <tr><th width=20% align=right>Source:</th><td>./include/apr_general.h</td></tr></tr>
-</table>
-<p>
-A list of processes to kill when this pool is cleared<hr size="4">
- <a name="process_chain"></a>
- <h1>struct process_chain</h1>
- <table bgcolor="ffffff" border="0" cellspacing="4">
- <tr>
- <th align=center colspan=2>
- </th>
- </tr>
<tr><th width=20% align=right>Source:</th><td>./include/apr_pools.h</td></tr></tr>
</table>
<p>
-A list of processes<h2>Member Index</h2>
-<ul><li><a href="APR_memory_allocation.html#process_chain-pid"> apr_proc_t *pid</a>
- <li><a href="APR_memory_allocation.html#process_chain-process_chain">process_chain *next </a>
- </ul><h2>Class Variables</h2>
-<blockquote>
-
- <a name="pid"></a>
- <dl><dt>
- <b><img src="../images/ball2.gif" width=19 height=17 align=texttop> apr_proc_t *pid;</b>
-<dd>
-The process ID
-<p><dl>
-</dl></dl>
-
- <a name="process_chain"></a>
- <dl><dt>
- <b><img src="../images/ball2.gif" width=19 height=17 align=texttop>process_chain *next ;</b>
-<dd>
-When the process should be sent a signal. <PRE>
- kill_never -- process is never sent any signals
- kill_always -- process is sent SIGKILL on apr_pool_t cleanup
- kill_after_timeout -- SIGTERM, wait 3 seconds, SIGKILL
- just_wait -- wait forever for the process to complete
- kill_only_once -- send SIGTERM and then wait </PRE>
- The next process in the list
-<p><dl>
-</dl></dl>
-</blockquote>
-<h2>Global Functions</h2>
+A list of processes to kill when this pool is cleared<h2>Global Functions</h2>
<blockquote>
<a name="apr_create_pool"></a>
@@ -251,16 +206,6 @@
<p><dl>
</dl></dl>
-<a name="apr_initialize"></a>
-<dl>
- <dt>
- <b><img src="../images/ball2.gif" width=19 height=17 align=texttop>apr_status_t apr_initialize(void);</b>
- <dd>
-Setup any APR internal data structures. This MUST be the first function
-called for any APR program.
-<p><dl>
-</dl></dl>
-
<a name="apr_pool_t"></a>
<dl>
<dt>
@@ -268,8 +213,7 @@
<dd>
make a sub pool from the current pool
<p><img src="../images//tip.gif"> The apr_abort function provides a way to quit the program if the
- machine is out of memory. By default, APR will return with an
- error.
+ machine is out of memory. By default, APR will return on error.
<p><dl>
<dt><b>Parameters</b><dd>
@@ -283,21 +227,6 @@
<dt><b>Return Value</b>
<dd>The new sub-pool<p></dl></dl>
-<a name="apr_set_abort"></a>
-<dl>
- <dt>
- <b><img src="../images/ball2.gif" width=19 height=17 align=texttop>apr_status_t apr_set_abort(int (*apr_abort)(int retcode), apr_pool_t *cont);</b>
- <dd>
-Set the APR_ABORT function.
-<p><img src="../images//tip.gif"> This is in for backwards compatability. If the program using
- APR wants APR to exit on a memory allocation error, then this
- function should be called to set the function to use in order
- to actually exit the program. If this function is not called,
- then APR will return an error and expect the calling program to
- deal with the error accordingly.
-<p><dl>
-</dl></dl>
-
<a name="apr_set_userdata"></a>
<dl>
<dt>
@@ -391,27 +320,6 @@
</table>
</dl></dl>
-<a name="apr_strerror"></a>
-<dl>
- <dt>
- <b><img src="../images/ball2.gif" width=19 height=17 align=texttop>char *apr_strerror(apr_status_t statcode, char *buf, apr_size_t bufsize);</b>
- <dd>
-Return a human readable string describing the specified error.
-<p><dl>
-
- <dt><b>Parameters</b><dd>
- <table width="85%">
-<tr valign=top><th align=right>
- statcode</th><td>The error code the get a string for.
-</td></tr>
-<tr valign=top><th align=right>
- buf</th><td>A buffer to hold the error string.
-</td></tr>
-<tr valign=top><th align=right>
- bufsize</th><td>Size of the buffer to hold the string.</td></tr>
-</table>
- </dl></dl>
-
<a name="apr_term_alloc"></a>
<dl>
<dt>
@@ -423,18 +331,6 @@
<p><dl>
</dl></dl>
-<a name="apr_terminate"></a>
-<dl>
- <dt>
- <b><img src="../images/ball2.gif" width=19 height=17 align=texttop>void apr_terminate(void);</b>
- <dd>
-Tear down any APR internal data structures which aren't torn down
-automatically.
-<p><img src="../images//tip.gif"> An APR program must call this function at termination once it
- has stopped using APR services.
-<p><dl>
-</dl></dl>
-
<a name="int-6"></a>
<dl>
<dt>
@@ -458,27 +354,6 @@
<a name="void-10"></a>
<dl>
<dt>
- <b><img src="../images/ball2.gif" width=19 height=17 align=texttop>void apr_kill_cleanup(apr_pool_t *p, const void *data, apr_status_t (*cleanup) (void *));</b>
- <dd>
-remove a previously registered cleanup function
-<p><dl>
-
- <dt><b>Parameters</b><dd>
- <table width="85%">
-<tr valign=top><th align=right>
- p</th><td>The pool remove the cleanup from
-</td></tr>
-<tr valign=top><th align=right>
- data</th><td>The data to remove from cleanup
-</td></tr>
-<tr valign=top><th align=right>
- cleanup</th><td>The function to remove from cleanup</td></tr>
-</table>
- </dl></dl>
-
-<a name="void-11"></a>
-<dl>
- <dt>
<b><img src="../images/ball2.gif" width=19 height=17 align=texttop>void apr_cleanup_for_exec(void);</b>
<dd>
Run all of the child_cleanups, so that any unnecessary files are
@@ -486,7 +361,7 @@
<p><dl>
</dl></dl>
-<a name="void-5"></a>
+<a name="void-4"></a>
<dl>
<dt>
<b><img src="../images/ball2.gif" width=19 height=17 align=texttop>void apr_clear_pool(apr_pool_t *p);</b>
@@ -503,7 +378,7 @@
</table>
</dl></dl>
-<a name="void-6"></a>
+<a name="void-5"></a>
<dl>
<dt>
<b><img src="../images/ball2.gif" width=19 height=17 align=texttop>void apr_destroy_pool(apr_pool_t *p);</b>
@@ -519,7 +394,7 @@
</table>
</dl></dl>
-<a name="void-7"></a>
+<a name="void-6"></a>
<dl>
<dt>
<b><img src="../images/ball2.gif" width=19 height=17 align=texttop>void *apr_palloc(apr_pool_t *c, apr_size_t reqsize);</b>
@@ -538,7 +413,7 @@
<dt><b>Return Value</b>
<dd>The allocated memory<p></dl></dl>
-<a name="void-8"></a>
+<a name="void-7"></a>
<dl>
<dt>
<b><img src="../images/ball2.gif" width=19 height=17 align=texttop>void *apr_pcalloc(apr_pool_t *p, apr_size_t size);</b>
@@ -557,7 +432,7 @@
<dt><b>Return Value</b>
<dd>The allocated memory<p></dl></dl>
-<a name="void-9"></a>
+<a name="void-8"></a>
<dl>
<dt>
<b><img src="../images/ball2.gif" width=19 height=17 align=texttop>void apr_register_cleanup(apr_pool_t *p, const void *data, apr_status_t (*plain_cleanup) (void *), apr_status_t (*child_cleanup) (void *));</b>
@@ -581,12 +456,33 @@
child_cleanup</th><td>The function to call when a child process is created</td></tr>
</table>
</dl></dl>
+
+<a name="void-9"></a>
+<dl>
+ <dt>
+ <b><img src="../images/ball2.gif" width=19 height=17 align=texttop>void apr_kill_cleanup(apr_pool_t *p, const void *data, apr_status_t (*cleanup) (void *));</b>
+ <dd>
+remove a previously registered cleanup function
+<p><dl>
+
+ <dt><b>Parameters</b><dd>
+ <table width="85%">
+<tr valign=top><th align=right>
+ p</th><td>The pool remove the cleanup from
+</td></tr>
+<tr valign=top><th align=right>
+ data</th><td>The data to remove from cleanup
+</td></tr>
+<tr valign=top><th align=right>
+ cleanup</th><td>The function to remove from cleanup</td></tr>
+</table>
+ </dl></dl>
</blockquote>
<hr size=4>
© 2000 [Apache Software Foundation]<br>
Generated by <a href="http://scandoc.sourceforge.net/"><b>ScanDoc 0.12</b></a><br>
- Last Updated: Fri Nov 17 19:40:19 2000
+ Last Updated: Mon Dec 4 10:10:38 2000
<br>
</body>
</html>
1.3 +43 -2 apr-site/docs/APR_portability_Routines.html
Index: APR_portability_Routines.html
===================================================================
RCS file: /home/cvs/apr-site/docs/APR_portability_Routines.html,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- APR_portability_Routines.html 2000/11/18 03:40:40 1.2
+++ APR_portability_Routines.html 2000/12/04 18:14:04 1.3
@@ -10,9 +10,25 @@
<h2>Package Name: APR portability Routines</h2>
<b>
+<h3><img src="../images/ball1.gif" width=18 height=17 align=texttop>
+ <a href="APR_portability_Routines.html#apr_os_sock_info_t">struct apr_os_sock_info_t</h3></a>
+ <ul>
+</ul>
</b>
-<h2>Global Functions</h2>
+<hr size="4">
+ <a name="apr_os_sock_info_t"></a>
+ <h1>struct apr_os_sock_info_t</h1>
+ <table bgcolor="ffffff" border="0" cellspacing="4">
+ <tr>
+ <th align=center colspan=2>
+ </th>
+ </tr>
+ <tr><th width=20% align=right>Source:</th><td>./include/apr_portable.h</td></tr></tr>
+</table>
+<p>
+everything APR needs to know about an active socket to construct
+an APR socket from it; currently, this is platform-independent<h2>Global Functions</h2>
<blockquote>
<a name="apr_get_os_dir"></a>
@@ -161,6 +177,31 @@
</table>
</dl></dl>
+<a name="apr_make_os_sock"></a>
+<dl>
+ <dt>
+ <b><img src="../images/ball2.gif" width=19 height=17 align=texttop>apr_status_t apr_make_os_sock(apr_socket_t **apr_sock, apr_os_sock_info_t *os_sock_info, apr_pool_t *cont);</b>
+ <dd>
+Create a socket from an existing descriptor and local and remote
+socket addresses.
+<p><img src="../images//tip.gif"> If you only know the descriptor/handle or if it isn't really
+ a true socket, use apr_put_os_sock() instead.
+<p><dl>
+
+ <dt><b>Parameters</b><dd>
+ <table width="85%">
+<tr valign=top><th align=right>
+ apr_sock</th><td>The new socket that has been set up
+</td></tr>
+<tr valign=top><th align=right>
+ os_sock_info</th><td>The os representation of the socket handle and
+ other characteristics of the socket
+</td></tr>
+<tr valign=top><th align=right>
+ cont</th><td>The pool to use</td></tr>
+</table>
+ </dl></dl>
+
<a name="apr_put_os_dir"></a>
<dl>
<dt>
@@ -335,7 +376,7 @@
<hr size=4>
© 2000 [Apache Software Foundation]<br>
Generated by <a href="http://scandoc.sourceforge.net/"><b>ScanDoc 0.12</b></a><br>
- Last Updated: Fri Nov 17 19:40:19 2000
+ Last Updated: Mon Dec 4 10:10:38 2000
<br>
</body>
</html>
1.3 +3 -3 apr-site/docs/APR_strings_library.html
Index: APR_strings_library.html
===================================================================
RCS file: /home/cvs/apr-site/docs/APR_strings_library.html,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- APR_strings_library.html 2000/11/18 03:40:40 1.2
+++ APR_strings_library.html 2000/12/04 18:14:04 1.3
@@ -70,10 +70,10 @@
<dt><b>Parameters</b><dd>
<table width="85%">
<tr valign=top><th align=right>
- The</th><td>first string to compare
+ a</th><td>The first string to compare
</td></tr>
<tr valign=top><th align=right>
- The</th><td>second string to compare</td></tr>
+ b</th><td>The second string to compare</td></tr>
</table>
<dt><b>Return Value</b>
<dd>Either <0, 0, or >0. If the first string is less than the second
@@ -237,7 +237,7 @@
<hr size=4>
© 2000 [Apache Software Foundation]<br>
Generated by <a href="http://scandoc.sourceforge.net/"><b>ScanDoc 0.12</b></a><br>
- Last Updated: Fri Nov 17 19:40:19 2000
+ Last Updated: Mon Dec 4 10:10:38 2000
<br>
</body>
</html>
1.3 +21 -2 apr-site/docs/Dynamic_Object_Handling.html
Index: Dynamic_Object_Handling.html
===================================================================
RCS file: /home/cvs/apr-site/docs/Dynamic_Object_Handling.html,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- Dynamic_Object_Handling.html 2000/11/18 03:40:40 1.2
+++ Dynamic_Object_Handling.html 2000/12/04 18:14:04 1.3
@@ -12,6 +12,25 @@
<b>
</b>
+<h2>Global Variables</h2>
+ <blockquote>
+
+ <a name="apr_dso_handle_sym_t"></a>
+ <dl><dt>
+ <b><img src="../images/ball2.gif" width=19 height=17 align=texttop>apr_dso_handle_sym_t ;</b>
+<dd>
+Structure for referencing symbols from dynamic objects
+<p><dl>
+</dl></dl>
+
+ <a name="apr_dso_handle_t"></a>
+ <dl><dt>
+ <b><img src="../images/ball2.gif" width=19 height=17 align=texttop>apr_dso_handle_t ;</b>
+<dd>
+Structure for referencing dynamic objects
+<p><dl>
+</dl></dl>
+</blockquote>
<h2>Global Functions</h2>
<blockquote>
@@ -71,7 +90,7 @@
ressym</th><td>Location to store the loaded symbol
</td></tr>
<tr valign=top><th align=right>
- handle</th><td>handle to load from.
+ handle</th><td>handle to load the symbol from.
</td></tr>
<tr valign=top><th align=right>
symname</th><td>Name of the symbol to load.</td></tr>
@@ -97,7 +116,7 @@
<hr size=4>
© 2000 [Apache Software Foundation]<br>
Generated by <a href="http://scandoc.sourceforge.net/"><b>ScanDoc 0.12</b></a><br>
- Last Updated: Fri Nov 17 19:40:19 2000
+ Last Updated: Mon Dec 4 10:10:38 2000
<br>
</body>
</html>
1.3 +24 -2 apr-site/docs/Error_Codes.html
Index: Error_Codes.html
===================================================================
RCS file: /home/cvs/apr-site/docs/Error_Codes.html,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- Error_Codes.html 2000/11/18 03:40:40 1.2
+++ Error_Codes.html 2000/12/04 18:14:04 1.3
@@ -20,7 +20,8 @@
<dt>
<b><img src="../images/ball2.gif" width=19 height=17 align=texttop>int apr_canonical_error(apr_status_t err);</b>
<dd>
-Convert an APR error to a canonical error
+Type for specifying an error or status code.
+ Convert an APR error to a canonical error
<p><img src="../images//tip.gif"> see apr/APRDesgin for an explanation of why this is necessary.
<p><dl>
@@ -31,12 +32,33 @@
</table>
<dt><b>Return Value</b>
<dd>The canonical error value<p></dl></dl>
+
+<a name="apr_strerror"></a>
+<dl>
+ <dt>
+ <b><img src="../images/ball2.gif" width=19 height=17 align=texttop>char *apr_strerror(apr_status_t statcode, char *buf, apr_size_t bufsize);</b>
+ <dd>
+Return a human readable string describing the specified error.
+<p><dl>
+
+ <dt><b>Parameters</b><dd>
+ <table width="85%">
+<tr valign=top><th align=right>
+ statcode</th><td>The error code the get a string for.
+</td></tr>
+<tr valign=top><th align=right>
+ buf</th><td>A buffer to hold the error string.
+</td></tr>
+<tr valign=top><th align=right>
+ bufsize</th><td>Size of the buffer to hold the string.</td></tr>
+</table>
+ </dl></dl>
</blockquote>
<hr size=4>
© 2000 [Apache Software Foundation]<br>
Generated by <a href="http://scandoc.sourceforge.net/"><b>ScanDoc 0.12</b></a><br>
- Last Updated: Fri Nov 17 19:40:19 2000
+ Last Updated: Mon Dec 4 10:10:38 2000
<br>
</body>
</html>
1.3 +5 -5 apr-site/docs/Fnmatch_functions.html
Index: Fnmatch_functions.html
===================================================================
RCS file: /home/cvs/apr-site/docs/Fnmatch_functions.html,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- Fnmatch_functions.html 2000/11/18 03:40:40 1.2
+++ Fnmatch_functions.html 2000/12/04 18:14:04 1.3
@@ -34,10 +34,10 @@
<tr valign=top><th align=right>
flags</th><td>flags to use in the match. Bitwise OR of:
<PRE>
- FNM_NOESCAPE -- Disable backslash escaping
- FNM_PATHNAME -- Slash must be matched by slash
- FNM_PERIOD -- Period must be matched by period
- FNM_CASE_BLIND -- Compare characters case-insensitively.
+ FNM_NOESCAPE Disable backslash escaping
+ FNM_PATHNAME Slash must be matched by slash
+ FNM_PERIOD Period must be matched by period
+ FNM_CASE_BLIND Compare characters case-insensitively.
</PRE></td></tr>
</table>
</dl></dl>
@@ -62,7 +62,7 @@
<hr size=4>
© 2000 [Apache Software Foundation]<br>
Generated by <a href="http://scandoc.sourceforge.net/"><b>ScanDoc 0.12</b></a><br>
- Last Updated: Fri Nov 17 19:40:19 2000
+ Last Updated: Mon Dec 4 10:10:38 2000
<br>
</body>
</html>
1.3 +1 -1 apr-site/docs/General.html
Index: General.html
===================================================================
RCS file: /home/cvs/apr-site/docs/General.html,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- General.html 2000/11/18 03:40:40 1.2
+++ General.html 2000/12/04 18:14:04 1.3
@@ -68,7 +68,7 @@
<hr size=4>
© 2000 [Apache Software Foundation]<br>
Generated by <a href="http://scandoc.sourceforge.net/"><b>ScanDoc 0.12</b></a><br>
- Last Updated: Fri Nov 17 19:40:19 2000
+ Last Updated: Mon Dec 4 10:10:38 2000
<br>
</body>
</html>
1.3 +28 -9 apr-site/docs/Hash_Tables.html
Index: Hash_Tables.html
===================================================================
RCS file: /home/cvs/apr-site/docs/Hash_Tables.html,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- Hash_Tables.html 2000/11/18 03:40:40 1.2
+++ Hash_Tables.html 2000/12/04 18:14:04 1.3
@@ -12,13 +12,32 @@
<b>
</b>
+<h2>Global Variables</h2>
+ <blockquote>
+
+ <a name="apr_hash_index_t"></a>
+ <dl><dt>
+ <b><img src="../images/ball2.gif" width=19 height=17 align=texttop>apr_hash_index_t ;</b>
+<dd>
+Abstract type for scanning hash tables.
+<p><dl>
+</dl></dl>
+
+ <a name="apr_hash_t"></a>
+ <dl><dt>
+ <b><img src="../images/ball2.gif" width=19 height=17 align=texttop>apr_hash_t ;</b>
+<dd>
+Abstract type for hash tables.
+<p><dl>
+</dl></dl>
+</blockquote>
<h2>Global Functions</h2>
<blockquote>
-<a name="apr_hash_index_t"></a>
+<a name="apr_hash_index_t-2"></a>
<dl>
<dt>
- <b><img src="../images/ball2.gif" width=19 height=17 align=texttop>apr_hash_index_t * apr_hash_first(apr_hash_t *ht);</b>
+ <b><img src="../images/ball2.gif" width=19 height=17 align=texttop>apr_hash_index_t *apr_hash_first(apr_hash_t *ht);</b>
<dd>
Start iterating over the entries in a hash table.
<p><img src="../images//tip.gif"> Example:
@@ -49,10 +68,10 @@
<dt><b>Return Value</b>
<dd>a pointer to the iteration state, or NULL if there are no entries.<p></dl></dl>
-<a name="apr_hash_index_t-2"></a>
+<a name="apr_hash_index_t-3"></a>
<dl>
<dt>
- <b><img src="../images/ball2.gif" width=19 height=17 align=texttop>apr_hash_index_t * apr_hash_next(apr_hash_index_t *hi);</b>
+ <b><img src="../images/ball2.gif" width=19 height=17 align=texttop>apr_hash_index_t *apr_hash_next(apr_hash_index_t *hi);</b>
<dd>
Continue iterating over the entries in a hash table.
<p><dl>
@@ -65,12 +84,12 @@
<dt><b>Return Value</b>
<dd>a pointer to the updated iteration state. NULL if there are no more * entries.<p></dl></dl>
-<a name="apr_hash_t"></a>
+<a name="apr_hash_t-2"></a>
<dl>
<dt>
<b><img src="../images/ball2.gif" width=19 height=17 align=texttop>apr_hash_t *apr_make_hash(apr_pool_t *pool);</b>
<dd>
-Create a hash table within a pool.
+Create a hash table.
<p><dl>
<dt><b>Parameters</b><dd>
@@ -99,7 +118,7 @@
key</th><td>Pointer to the key
</td></tr>
<tr valign=top><th align=right>
- klen</th><td>Length of the key. Can be APR_HASH_KEY_STRING.
+ klen</th><td>Length of the key. Can be APR_HASH_KEY_STRING to use the string length.
</td></tr>
<tr valign=top><th align=right>
val</th><td>Value to associate with the key</td></tr>
@@ -123,7 +142,7 @@
key</th><td>Pointer to the key
</td></tr>
<tr valign=top><th align=right>
- klen</th><td>Length of the key. Can be APR_HASH_KEY_STRING.</td></tr>
+ klen</th><td>Length of the key. Can be APR_HASH_KEY_STRING to use the string length.</td></tr>
</table>
<dt><b>Return Value</b>
<dd>Returns NULL if the key is not present.<p></dl></dl>
@@ -158,7 +177,7 @@
<hr size=4>
© 2000 [Apache Software Foundation]<br>
Generated by <a href="http://scandoc.sourceforge.net/"><b>ScanDoc 0.12</b></a><br>
- Last Updated: Fri Nov 17 19:40:19 2000
+ Last Updated: Mon Dec 4 10:10:38 2000
<br>
</body>
</html>
1.3 +1 -1 apr-site/docs/Shared_Memory_library.html
Index: Shared_Memory_library.html
===================================================================
RCS file: /home/cvs/apr-site/docs/Shared_Memory_library.html,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- Shared_Memory_library.html 2000/11/18 03:40:40 1.2
+++ Shared_Memory_library.html 2000/12/04 18:14:05 1.3
@@ -195,7 +195,7 @@
<hr size=4>
© 2000 [Apache Software Foundation]<br>
Generated by <a href="http://scandoc.sourceforge.net/"><b>ScanDoc 0.12</b></a><br>
- Last Updated: Fri Nov 17 19:40:19 2000
+ Last Updated: Mon Dec 4 10:10:38 2000
<br>
</body>
</html>
1.3 +89 -33 apr-site/docs/master.html
Index: master.html
===================================================================
RCS file: /home/cvs/apr-site/docs/master.html,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- master.html 2000/11/18 03:45:46 1.2
+++ master.html 2000/12/04 18:14:05 1.3
@@ -3,6 +3,7 @@
<title>Master Index</title>
</head>
<body bgcolor="#FFFFFF" text=#0000ff link=#0020ff vlink=#0020ff>
+ <center><img src="../images/ScanDocSmall.jpg" border="0" /></center>
<p>
<a href="packages.html" target="Documentation">Master Index</a>
</p>
@@ -18,32 +19,45 @@
</dir><a href="APR_File_handling.html" target="Documentation"><b>APR File handling</b></a><br>
<dir>
<li><a href="APR_File_handling.html#apr_finfo_t" target="Documentation">struct apr_finfo_t</a>
+<li><a href="APR_File_handling.html#apr_canon_t" target="Documentation">apr_canon_t </a>
<li><a href="APR_File_handling.html#apr_close" target="Documentation">apr_status_t apr_close(apr_file_t *file)</a>
<li><a href="APR_File_handling.html#apr_closedir" target="Documentation">apr_status_t apr_closedir(apr_dir_t *thedir)</a>
+<li><a href="APR_File_handling.html#apr_count_canonical_elements" target="Documentation">int apr_count_canonical_elements(const apr_canon_t *trusted_name)</a>
<li><a href="APR_File_handling.html#apr_create_namedpipe" target="Documentation">apr_status_t apr_create_namedpipe(const char *filename, apr_fileperms_t perm, apr_pool_t *cont)</a>
<li><a href="APR_File_handling.html#apr_create_pipe" target="Documentation">apr_status_t apr_create_pipe(apr_file_t **in, apr_file_t **out, apr_pool_t *cont)</a>
+<li><a href="APR_File_handling.html#apr_dev_t" target="Documentation">apr_dev_t </a>
<li><a href="APR_File_handling.html#apr_dir_entry_ftype" target="Documentation">apr_status_t apr_dir_entry_ftype(apr_filetype_e *type, apr_dir_t *thedir)</a>
<li><a href="APR_File_handling.html#apr_dir_entry_mtime" target="Documentation">apr_status_t apr_dir_entry_mtime(apr_time_t *mtime, apr_dir_t *thedir)</a>
<li><a href="APR_File_handling.html#apr_dir_entry_size" target="Documentation">apr_status_t apr_dir_entry_size(apr_size_t *size, apr_dir_t *thedir)</a>
+<li><a href="APR_File_handling.html#apr_dir_t" target="Documentation">apr_dir_t </a>
<li><a href="APR_File_handling.html#apr_dupfile" target="Documentation">apr_status_t apr_dupfile(apr_file_t **new_file, apr_file_t *old_file, apr_pool_t *p)</a>
<li><a href="APR_File_handling.html#apr_eof" target="Documentation">apr_status_t apr_eof(apr_file_t *fptr)</a>
<li><a href="APR_File_handling.html#apr_ferror" target="Documentation">apr_status_t apr_ferror(apr_file_t *fptr)</a>
<li><a href="APR_File_handling.html#apr_fgets" target="Documentation">apr_status_t apr_fgets(char *str, int len, apr_file_t *thefile)</a>
+<li><a href="APR_File_handling.html#apr_file_t" target="Documentation">apr_file_t </a>
+<li><a href="APR_File_handling.html#apr_fileperms_t" target="Documentation">apr_fileperms_t </a>
<li><a href="APR_File_handling.html#apr_flush" target="Documentation">apr_status_t apr_flush(apr_file_t *thefile)</a>
<li><a href="APR_File_handling.html#apr_full_read" target="Documentation">apr_status_t apr_full_read(apr_file_t *thefile, void *buf, apr_size_t nbytes, apr_size_t *bytes_read)</a>
<li><a href="APR_File_handling.html#apr_full_write" target="Documentation">apr_status_t apr_full_write(apr_file_t *thefile, const void *buf, apr_size_t nbytes, apr_size_t *bytes_written)</a>
+<li><a href="APR_File_handling.html#apr_get_canonical_elements" target="Documentation">apr_status_t apr_get_canonical_elements(char **path_elements, const apr_canon_t *trusted_name, int firstelement, int lastelement, apr_pool_t *pool)</a>
+<li><a href="APR_File_handling.html#apr_get_canonical_elements_length" target="Documentation">int apr_get_canonical_elements_length(const apr_canon_t *trusted_name, int firstelement, int lastelement)</a>
+<li><a href="APR_File_handling.html#apr_get_canonical_name" target="Documentation">apr_status_t apr_get_canonical_name(char **path, const apr_canon_t *trusted_name, apr_pool_t *pool)</a>
<li><a href="APR_File_handling.html#apr_get_dir_filename" target="Documentation">apr_status_t apr_get_dir_filename(char **new_path, apr_dir_t *thedir)</a>
<li><a href="APR_File_handling.html#apr_get_filedata" target="Documentation">apr_status_t apr_get_filedata(void **data, const char *key, apr_file_t *file)</a>
<li><a href="APR_File_handling.html#apr_get_filename" target="Documentation">apr_status_t apr_get_filename(char **new_path, apr_file_t *thefile)</a>
<li><a href="APR_File_handling.html#apr_get_pipe_timeout" target="Documentation">apr_status_t apr_get_pipe_timeout(apr_file_t *thepipe, apr_interval_time_t *timeout)</a>
<li><a href="APR_File_handling.html#apr_getc" target="Documentation">apr_status_t apr_getc(char *ch, apr_file_t *thefile)</a>
<li><a href="APR_File_handling.html#apr_getfileinfo" target="Documentation">apr_status_t apr_getfileinfo(apr_finfo_t *finfo, apr_file_t *thefile)</a>
+<li><a href="APR_File_handling.html#apr_gid_t" target="Documentation">apr_gid_t </a>
+<li><a href="APR_File_handling.html#apr_ino_t" target="Documentation">apr_ino_t </a>
<li><a href="APR_File_handling.html#apr_is_absolute" target="Documentation">apr_status_t apr_is_absolute(apr_canon_t **path)</a>
<li><a href="APR_File_handling.html#apr_is_relative" target="Documentation">apr_status_t apr_is_relative(apr_canon_t **path)</a>
<li><a href="APR_File_handling.html#apr_is_virtualroot" target="Documentation">apr_status_t apr_is_virtualroot(apr_canon_t **path, int elements)</a>
+<li><a href="APR_File_handling.html#apr_lock_file" target="Documentation">apr_status_t apr_lock_file(apr_file_t *thefile, int type)</a>
<li><a href="APR_File_handling.html#apr_lstat" target="Documentation">apr_status_t apr_lstat(apr_finfo_t *finfo, const char *fname, apr_pool_t *cont)</a>
<li><a href="APR_File_handling.html#apr_make_canonical_name" target="Documentation">apr_status_t apr_make_canonical_name(apr_canon_t **new_name, const apr_canon_t *trusted_name, const char *child_name, int options, apr_pool_t *pool)</a>
<li><a href="APR_File_handling.html#apr_make_dir" target="Documentation">apr_status_t apr_make_dir(const char *path, apr_fileperms_t perm, apr_pool_t *cont)</a>
+<li><a href="APR_File_handling.html#apr_merge_canonical_name" target="Documentation">apr_status_t apr_merge_canonical_name(apr_canon_t **new_name, const apr_canon_t *trusted_name, const apr_canon_t *child_name, int options, apr_pool_t *pool)</a>
<li><a href="APR_File_handling.html#apr_open" target="Documentation">apr_status_t apr_open(apr_file_t **new_file, const char *fname, apr_int32_t flag, apr_fileperms_t perm, apr_pool_t *cont)</a>
<li><a href="APR_File_handling.html#apr_open_stderr" target="Documentation">apr_status_t apr_open_stderr(apr_file_t **thefile, apr_pool_t *cont)</a>
<li><a href="APR_File_handling.html#apr_opendir" target="Documentation">apr_status_t apr_opendir(apr_dir_t **new_dir, const char *dirname, apr_pool_t *cont)</a>
@@ -60,10 +74,14 @@
<li><a href="APR_File_handling.html#apr_set_pipe_timeout" target="Documentation">apr_status_t apr_set_pipe_timeout(apr_file_t *thepipe, apr_interval_time_t timeout)</a>
<li><a href="APR_File_handling.html#apr_setfileperms" target="Documentation">apr_status_t apr_setfileperms(const char *fname, apr_fileperms_t perms)</a>
<li><a href="APR_File_handling.html#apr_stat" target="Documentation">apr_status_t apr_stat(apr_finfo_t *finfo, const char *fname, apr_pool_t *cont)</a>
+<li><a href="APR_File_handling.html#apr_uid_t" target="Documentation">apr_uid_t </a>
<li><a href="APR_File_handling.html#apr_ungetc" target="Documentation">apr_status_t apr_ungetc(char ch, apr_file_t *thefile)</a>
+<li><a href="APR_File_handling.html#apr_unlock_file" target="Documentation">apr_status_t apr_unlock_file(apr_file_t *thefile)</a>
<li><a href="APR_File_handling.html#apr_write" target="Documentation">apr_status_t apr_write(apr_file_t *thefile, const void *buf, apr_size_t *nbytes)</a>
<li><a href="APR_File_handling.html#apr_writev" target="Documentation">apr_status_t apr_writev(apr_file_t *thefile, const struct iovec *vec, apr_size_t nvec, apr_size_t *nbytes)</a>
<li><a href="APR_File_handling.html#int" target="Documentation">int apr_fprintf(apr_file_t *fptr, const char *format, ...)</a>
+<li><a href="APR_File_handling.html#time" target="Documentation"> or thread can hold a shared lock
+ at any given time</a>
</dir><a href="APR_I18N_translation_library.html" target="Documentation"><b>APR I18N translation library</b></a><br>
<dir>
<li><a href="APR_I18N_translation_library.html#apr_xlate_close" target="Documentation">apr_status_t apr_xlate_close(apr_xlate_t *convset)</a>
@@ -89,26 +107,25 @@
</dir><a href="APR_Network_library.html" target="Documentation"><b>APR Network library</b></a><br>
<dir>
<li><a href="APR_Network_library.html#apr_hdtr_t" target="Documentation">struct apr_hdtr_t</a>
+<li><a href="APR_Network_library.html#apr_sockaddr_t" target="Documentation">struct apr_sockaddr_t</a>
<li><a href="APR_Network_library.html#apr_accept" target="Documentation">apr_status_t apr_accept(apr_socket_t **new_sock, apr_socket_t *sock, apr_pool_t *connection_pool)</a>
-<li><a href="APR_Network_library.html#apr_add_poll_socket" target="Documentation">apr_status_t apr_add_poll_socket(apr_pollfd_t *aprset, apr_socket_t *socket, apr_int16_t event)</a>
-<li><a href="APR_Network_library.html#apr_bind" target="Documentation">apr_status_t apr_bind(apr_socket_t *sock)</a>
+<li><a href="APR_Network_library.html#apr_add_poll_socket" target="Documentation">apr_status_t apr_add_poll_socket(apr_pollfd_t *aprset, apr_socket_t *sock, apr_int16_t event)</a>
+<li><a href="APR_Network_library.html#apr_bind" target="Documentation">apr_status_t apr_bind(apr_socket_t *sock, apr_sockaddr_t *sa)</a>
<li><a href="APR_Network_library.html#apr_clear_poll_sockets" target="Documentation">apr_status_t apr_clear_poll_sockets(apr_pollfd_t *aprset, apr_int16_t events)</a>
<li><a href="APR_Network_library.html#apr_close_socket" target="Documentation">apr_status_t apr_close_socket(apr_socket_t *thesocket)</a>
<li><a href="APR_Network_library.html#apr_connect" target="Documentation">apr_status_t apr_connect(apr_socket_t *sock, apr_sockaddr_t *sa)</a>
<li><a href="APR_Network_library.html#apr_create_socket" target="Documentation">apr_status_t apr_create_socket(apr_socket_t **new_sock, int family, int type, apr_pool_t *cont)</a>
-<li><a href="APR_Network_library.html#apr_create_tcp_socket" target="Documentation">apr_status_t apr_create_tcp_socket(apr_socket_t **new_sock, apr_pool_t *cont)</a>
<li><a href="APR_Network_library.html#apr_get_hostname" target="Documentation">apr_status_t apr_get_hostname(char **name, apr_interface_e which, apr_socket_t *sock)</a>
<li><a href="APR_Network_library.html#apr_get_inaddr" target="Documentation">apr_status_t apr_get_inaddr(apr_in_addr_t *addr, char *hostname)</a>
-<li><a href="APR_Network_library.html#apr_get_ipaddr" target="Documentation">apr_status_t apr_get_ipaddr(char **addr, apr_interface_e which, apr_socket_t *sock)</a>
-<li><a href="APR_Network_library.html#apr_get_local_name" target="Documentation">apr_status_t apr_get_local_name(struct sockaddr_in **name, apr_socket_t *sock)</a>
+<li><a href="APR_Network_library.html#apr_get_ipaddr" target="Documentation">apr_status_t apr_get_ipaddr(char **addr, apr_sockaddr_t *sockaddr)</a>
<li><a href="APR_Network_library.html#apr_get_polldata" target="Documentation">apr_status_t apr_get_polldata(apr_pollfd_t *pollfd, const char *key, void *data)</a>
-<li><a href="APR_Network_library.html#apr_get_port" target="Documentation">apr_status_t apr_get_port(apr_port_t *port, apr_interface_e which, apr_socket_t *sock)</a>
-<li><a href="APR_Network_library.html#apr_get_remote_name" target="Documentation">apr_status_t apr_get_remote_name(struct sockaddr_in **name, apr_socket_t *sock)</a>
+<li><a href="APR_Network_library.html#apr_get_port" target="Documentation">apr_status_t apr_get_port(apr_port_t *port, apr_sockaddr_t *sockaddr)</a>
<li><a href="APR_Network_library.html#apr_get_revents" target="Documentation">apr_status_t apr_get_revents(apr_int16_t *event, apr_socket_t *sock, apr_pollfd_t *aprset)</a>
-<li><a href="APR_Network_library.html#apr_get_socket_inaddr" target="Documentation">apr_status_t apr_get_socket_inaddr(apr_in_addr_t *addr, apr_interface_e which, apr_socket_t *sock)</a>
+<li><a href="APR_Network_library.html#apr_get_sockaddr" target="Documentation">apr_status_t apr_get_sockaddr(apr_sockaddr_t **sa, apr_interface_e which, apr_socket_t *sock)</a>
<li><a href="APR_Network_library.html#apr_get_socketdata" target="Documentation">apr_status_t apr_get_socketdata(void **data, const char *key, apr_socket_t *sock)</a>
<li><a href="APR_Network_library.html#apr_getaddrinfo" target="Documentation">apr_status_t apr_getaddrinfo(apr_sockaddr_t **sa, const char *hostname, apr_int32_t family, apr_port_t port, apr_int32_t flags, apr_pool_t *p)</a>
<li><a href="APR_Network_library.html#apr_gethostname" target="Documentation">apr_status_t apr_gethostname(char *buf, int len, apr_pool_t *cont)</a>
+<li><a href="APR_Network_library.html#apr_getservbyname" target="Documentation">apr_status_t apr_getservbyname(apr_sockaddr_t *sockaddr, const char *servname)</a>
<li><a href="APR_Network_library.html#apr_getsocketopt" target="Documentation">apr_status_t apr_getsocketopt(apr_socket_t *sock, apr_int32_t opt, apr_int32_t* on)</a>
<li><a href="APR_Network_library.html#apr_listen" target="Documentation">apr_status_t apr_listen(apr_socket_t *sock, apr_int32_t backlog)</a>
<li><a href="APR_Network_library.html#apr_mask_poll_socket" target="Documentation">apr_status_t apr_mask_poll_socket(apr_pollfd_t *aprset, apr_socket_t *sock, apr_int16_t events)</a>
@@ -118,9 +135,9 @@
<li><a href="APR_Network_library.html#apr_send" target="Documentation">apr_status_t apr_send(apr_socket_t *sock, const char *buf, apr_size_t *len)</a>
<li><a href="APR_Network_library.html#apr_sendfile" target="Documentation">apr_status_t apr_sendfile(apr_socket_t *sock, apr_file_t *file, apr_hdtr_t *hdtr, apr_off_t *offset, apr_size_t *len, apr_int32_t flags)</a>
<li><a href="APR_Network_library.html#apr_sendv" target="Documentation">apr_status_t apr_sendv(apr_socket_t *sock, const struct iovec *vec, apr_int32_t nvec, apr_size_t *len)</a>
-<li><a href="APR_Network_library.html#apr_set_ipaddr" target="Documentation">apr_status_t apr_set_ipaddr(apr_socket_t *sock, apr_interface_e which, const char *addr)</a>
+<li><a href="APR_Network_library.html#apr_set_ipaddr" target="Documentation">apr_status_t apr_set_ipaddr(apr_sockaddr_t *sockaddr, const char *addr)</a>
<li><a href="APR_Network_library.html#apr_set_polldata" target="Documentation">apr_status_t apr_set_polldata(apr_pollfd_t *pollfd, void *data, const char *key, apr_status_t (*cleanup) (void *))</a>
-<li><a href="APR_Network_library.html#apr_set_port" target="Documentation">apr_status_t apr_set_port(apr_socket_t *sock, apr_interface_e which, apr_port_t port)</a>
+<li><a href="APR_Network_library.html#apr_set_port" target="Documentation">apr_status_t apr_set_port(apr_sockaddr_t *sockaddr, apr_port_t port)</a>
<li><a href="APR_Network_library.html#apr_set_socketdata" target="Documentation">apr_status_t apr_set_socketdata(apr_socket_t *sock, void *data, const char *key, apr_status_t (*cleanup) (void*))</a>
<li><a href="APR_Network_library.html#apr_setsocketopt" target="Documentation">apr_status_t apr_setsocketopt(apr_socket_t *sock, apr_int32_t opt, apr_int32_t on)</a>
<li><a href="APR_Network_library.html#apr_setup_poll" target="Documentation">apr_status_t apr_setup_poll(apr_pollfd_t **new_poll, apr_int32_t num, apr_pool_t *cont)</a>
@@ -129,7 +146,7 @@
</dir><a href="APR_Process_library.html" target="Documentation"><b>APR Process library</b></a><br>
<dir>
<li><a href="APR_Process_library.html#apr_check_other_child" target="Documentation">void apr_check_other_child(void)</a>
-<li><a href="APR_Process_library.html#apr_create_process" target="Documentation">apr_status_t apr_create_process(apr_proc_t *new_proc, const char *progname, char *const *args, char **env, apr_procattr_t *attr, apr_pool_t *cont)</a>
+<li><a href="APR_Process_library.html#apr_create_process" target="Documentation">apr_status_t apr_create_process(apr_proc_t *new_proc, const char *progname, const char * const *args, const char * const *env, apr_procattr_t *attr, apr_pool_t *cont)</a>
<li><a href="APR_Process_library.html#apr_createprocattr_init" target="Documentation">apr_status_t apr_createprocattr_init(apr_procattr_t **new_attr, apr_pool_t *cont)</a>
<li><a href="APR_Process_library.html#apr_detach" target="Documentation">apr_status_t apr_detach(void)</a>
<li><a href="APR_Process_library.html#apr_fork" target="Documentation">apr_status_t apr_fork(apr_proc_t *proc, apr_pool_t *cont)</a>
@@ -148,9 +165,13 @@
<li><a href="APR_Process_library.html#apr_unregister_other_child" target="Documentation">void apr_unregister_other_child(void *data)</a>
<li><a href="APR_Process_library.html#apr_wait_all_procs" target="Documentation">apr_status_t apr_wait_all_procs(apr_proc_t *proc, apr_wait_t *status, apr_wait_how_e waithow, apr_pool_t *p)</a>
<li><a href="APR_Process_library.html#apr_wait_proc" target="Documentation">apr_status_t apr_wait_proc(apr_proc_t *proc, apr_wait_how_e waithow)</a>
+<li><a href="APR_Process_library.html#void-30" target="Documentation">void apr_note_subprocess(struct apr_pool_t *a, apr_proc_t *pid, enum kill_conditions how)</a>
</dir><a href="APR_Random_Functions.html" target="Documentation"><b>APR Random Functions</b></a><br>
<dir>
<li><a href="APR_Random_Functions.html#apr_generate_random_bytes" target="Documentation">apr_status_t apr_generate_random_bytes(unsigned char * buf, int length)</a>
+<li><a href="APR_Random_Functions.html#apr_initialize" target="Documentation">apr_status_t apr_initialize(void)</a>
+<li><a href="APR_Random_Functions.html#apr_set_abort" target="Documentation">apr_status_t apr_set_abort(int (*apr_abort)(int retcode), apr_pool_t *cont)</a>
+<li><a href="APR_Random_Functions.html#apr_terminate" target="Documentation">void apr_terminate(void)</a>
</dir><a href="APR_Table_library.html" target="Documentation"><b>APR Table library</b></a><br>
<dir>
<li><a href="APR_Table_library.html#apr_array_header_t" target="Documentation">struct apr_array_header_t</a>
@@ -158,10 +179,45 @@
<li><a href="APR_Table_library.html#apr_btable_t" target="Documentation">struct apr_btable_t</a>
<li><a href="APR_Table_library.html#apr_table_entry_t" target="Documentation">struct apr_table_entry_t</a>
<li><a href="APR_Table_library.html#apr_table_t" target="Documentation">struct apr_table_t</a>
+<li><a href="APR_Table_library.html#" target="Documentation">(apr_array_header_t *)</a>
+<li><a href="APR_Table_library.html#apr_array_header_t" target="Documentation">apr_array_header_t *apr_table_elts(apr_table_t *t)</a>
+<li><a href="APR_Table_library.html#apr_array_header_t-2" target="Documentation">apr_array_header_t *apr_table_elts(apr_table_t *t)</a>
+<li><a href="APR_Table_library.html#apr_array_header_t-3" target="Documentation">apr_array_header_t *apr_copy_array(apr_pool_t *p, const apr_array_header_t *arr)</a>
+<li><a href="APR_Table_library.html#apr_array_header_t-4" target="Documentation">apr_array_header_t *apr_copy_array_hdr(apr_pool_t *p, const apr_array_header_t *arr)</a>
+<li><a href="APR_Table_library.html#apr_array_header_t-5" target="Documentation">apr_array_header_t *apr_append_arrays(apr_pool_t *p, const apr_array_header_t *first, const apr_array_header_t *second)</a>
+<li><a href="APR_Table_library.html#apr_btable_t" target="Documentation">apr_btable_t *apr_overlay_tables(apr_pool_t *p, const apr_btable_t *overlay, const apr_btable_t *base);</a>
<li><a href="APR_Table_library.html#apr_item_t" target="Documentation"> apr_item_t</a>
+<li><a href="APR_Table_library.html#apr_table_t" target="Documentation">apr_table_t *apr_make_table(apr_pool_t *p, int nelts)</a>
+<li><a href="APR_Table_library.html#apr_table_t-2" target="Documentation">apr_table_t *apr_make_btable(apr_pool_t *p, int nelts)</a>
+<li><a href="APR_Table_library.html#apr_table_t-3" target="Documentation">apr_table_t *) apr_copy_table(apr_pool_t *p, const apr_table_t *t)</a>
+<li><a href="APR_Table_library.html#apr_table_t-4" target="Documentation">apr_table_t *) apr_copy_btable(apr_pool_t *p, const apr_btable_t *t)</a>
+<li><a href="APR_Table_library.html#apr_table_t-5" target="Documentation">apr_table_t *apr_overlay_tables(apr_pool_t *p, const apr_table_t *overlay, const apr_table_t *base);</a>
+<li><a href="APR_Table_library.html#char-8" target="Documentation">char *apr_array_pstrcat(apr_pool_t *p, const apr_array_header_t *arr, const char sep)</a>
+<li><a href="APR_Table_library.html#const-2" target="Documentation">const char *apr_table_get(const apr_table_t *t, const char *key)</a>
+<li><a href="APR_Table_library.html#const-3" target="Documentation">const apr_item_t *apr_btable_get(const apr_btable_t *t, const char *key)</a>
+<li><a href="APR_Table_library.html#void-11" target="Documentation">void *apr_push_array(apr_array_header_t *arr)</a>
+<li><a href="APR_Table_library.html#void-12" target="Documentation">void apr_array_cat(apr_array_header_t *dst, const apr_array_header_t *src)</a>
+<li><a href="APR_Table_library.html#void-13" target="Documentation">void apr_clear_table(apr_table_t *t)</a>
+<li><a href="APR_Table_library.html#void-14" target="Documentation">void apr_clear_btable(apr_btable_t *t)</a>
+<li><a href="APR_Table_library.html#void-15" target="Documentation">void apr_table_set(apr_table_t *t, const char *key, const char *val)</a>
+<li><a href="APR_Table_library.html#void-16" target="Documentation">void apr_btable_set(apr_btable_t *t, const char *key, size_t size, const void *val)</a>
+<li><a href="APR_Table_library.html#void-17" target="Documentation">void apr_table_setn(apr_table_t *t, const char *key, const char *val)</a>
+<li><a href="APR_Table_library.html#void-18" target="Documentation">void apr_btable_setn(apr_btable_t *t, const char *key, size_t size, const void *val)</a>
+<li><a href="APR_Table_library.html#void-19" target="Documentation">void apr_table_unset(apr_table_t *t, const char *key)</a>
+<li><a href="APR_Table_library.html#void-20" target="Documentation">void apr_btable_unset(apr_btable_t *t, const char *key)</a>
+<li><a href="APR_Table_library.html#void-21" target="Documentation">void apr_table_merge(apr_table_t *t, const char *key, const char *val)</a>
+<li><a href="APR_Table_library.html#void-22" target="Documentation">void apr_table_mergen(apr_table_t *t, const char *key, const char *val)</a>
+<li><a href="APR_Table_library.html#void-23" target="Documentation">void apr_table_add(apr_table_t *t, const char *key, const char *val)</a>
+<li><a href="APR_Table_library.html#void-24" target="Documentation">void apr_btable_add(apr_btable_t *t, const char *key, size_t size, const char *val)</a>
+<li><a href="APR_Table_library.html#void-25" target="Documentation">void apr_table_addn(apr_table_t *t, const char *key, const char *val)</a>
+<li><a href="APR_Table_library.html#void-26" target="Documentation">void apr_btable_addn(apr_btable_t *t, const char *key, size_t size, const char *val)</a>
+<li><a href="APR_Table_library.html#void-27" target="Documentation">void apr_table_do(int (*comp) (void *, const char *, const char *), void *rec, const apr_table_t *t, ...)</a>
+<li><a href="APR_Table_library.html#void-28" target="Documentation">void apr_table_vdo(int (*comp) (void *, const char *, const char *), void *rec, const apr_table_t *t, va_list vp)</a>
+<li><a href="APR_Table_library.html#void-29" target="Documentation">void apr_overlap_tables(apr_table_t *a, const apr_table_t *b, unsigned flags)</a>
</dir><a href="APR_Thread_library.html" target="Documentation"><b>APR Thread library</b></a><br>
<dir>
<li><a href="APR_Thread_library.html#apr_proc_t" target="Documentation">struct apr_proc_t</a>
+<li><a href="APR_Thread_library.html#process_chain" target="Documentation">struct process_chain</a>
<li><a href="APR_Thread_library.html#apr_create_thread" target="Documentation">apr_status_t apr_create_thread(apr_thread_t **new_thread, apr_threadattr_t *attr, apr_thread_start_t func, void *data, apr_pool_t *cont)</a>
<li><a href="APR_Thread_library.html#apr_create_thread_private" target="Documentation">apr_status_t apr_create_thread_private(apr_threadkey_t **key, void (*dest)(void *), apr_pool_t *cont)</a>
<li><a href="APR_Thread_library.html#apr_create_threadattr" target="Documentation">apr_status_t apr_create_threadattr(apr_threadattr_t **new_attr, apr_pool_t *cont)</a>
@@ -192,26 +248,24 @@
</dir><a href="APR_UUID_Handling.html" target="Documentation"><b>APR UUID Handling</b></a><br>
<dir>
<li><a href="APR_UUID_Handling.html#apr_status_t-15" target="Documentation">apr_status_t apr_parse_uuid(apr_uuid_t *uuid, const char *uuid_str)</a>
-<li><a href="APR_UUID_Handling.html#void-12" target="Documentation">void apr_get_uuid(apr_uuid_t *uuid)</a>
-<li><a href="APR_UUID_Handling.html#void-13" target="Documentation">void apr_format_uuid(apr_pool_t *p, const apr_uuid_t *uuid)</a>
+<li><a href="APR_UUID_Handling.html#void-31" target="Documentation">void apr_get_uuid(apr_uuid_t *uuid)</a>
+<li><a href="APR_UUID_Handling.html#void-32" target="Documentation">void apr_format_uuid(apr_pool_t *p, const apr_uuid_t *uuid)</a>
</dir><a href="APR_command_arguments.html" target="Documentation"><b>APR command arguments</b></a><br>
<dir>
+<li><a href="APR_command_arguments.html#apr_getopt_option_t" target="Documentation">struct apr_getopt_option_t</a>
<li><a href="APR_command_arguments.html#apr_getopt_t" target="Documentation">struct apr_getopt_t</a>
-<li><a href="APR_command_arguments.html#apr_getopt_long_t-has_arg" target="Documentation"> int has_arg</a>
-<li><a href="APR_command_arguments.html#apr_getopt_long_t-name" target="Documentation"> const char *name</a>
-<li><a href="APR_command_arguments.html#apr_getopt_long_t-val" target="Documentation"> int val</a>
<li><a href="APR_command_arguments.html#apr_status_t-2" target="Documentation">apr_status_t apr_initopt(apr_getopt_t **os, apr_pool_t *cont,int argc, char *const *argv)</a>
<li><a href="APR_command_arguments.html#apr_status_t-3" target="Documentation">apr_status_t apr_getopt(apr_getopt_t *os, const char *opts, char *optch, const char **optarg)</a>
-<li><a href="APR_command_arguments.html#apr_status_t-4" target="Documentation">apr_status_t apr_getopt_long(apr_getopt_t *os, const char *opts, const apr_getopt_long_t *longopts, int *optval, const char **optarg) </a>
+<li><a href="APR_command_arguments.html#apr_status_t-4" target="Documentation">apr_status_t apr_getopt_long(apr_getopt_t *os, const apr_getopt_option_t *opts, int *optch, const char **optarg)</a>
</dir><a href="APR_general-purpose_library.html" target="Documentation"><b>APR general-purpose library</b></a><br>
<dir>
+<li><a href="APR_general-purpose_library.html#apr_vformatter_buff_t" target="Documentation">struct apr_vformatter_buff_t</a>
<li><a href="APR_general-purpose_library.html#apr_status_t-5" target="Documentation">apr_status_t apr_validate_password(const char *passwd, const char *hash)</a>
<li><a href="APR_general-purpose_library.html#apr_status_t-6" target="Documentation">apr_status_t apr_getpass(const char *prompt, char *pwbuf, size_t *bufsize)</a>
<li><a href="APR_general-purpose_library.html#const" target="Documentation">const char * apr_filename_of_pathname(const char *pathname)</a>
<li><a href="APR_general-purpose_library.html#int-3" target="Documentation">int apr_vformatter(int (*flush_func)(apr_vformatter_buff_t *b), apr_vformatter_buff_t *c, const char *fmt, va_list ap)</a>
<li><a href="APR_general-purpose_library.html#int-4" target="Documentation">int apr_snprintf(char *buf, size_t len, const char *format, ...)</a>
<li><a href="APR_general-purpose_library.html#int-5" target="Documentation">int apr_vsnprintf(char *buf, size_t len, const char *format, va_list ap)</a>
-<li><a href="APR_general-purpose_library.html#void-4" target="Documentation">void apr_note_subprocess(struct apr_pool_t *a, apr_proc_t *pid, enum kill_conditions how)</a>
</dir><a href="APR_lock_library.html" target="Documentation"><b>APR lock library</b></a><br>
<dir>
<li><a href="APR_lock_library.html#apr_child_init_lock" target="Documentation">apr_status_t apr_child_init_lock(apr_lock_t **lock, const char *fname, apr_pool_t *cont)</a>
@@ -227,31 +281,27 @@
<li><a href="APR_memory_allocation.html#apr_pool_t-apr_pool_t" target="Documentation">struct apr_pool_t</a>
<li><a href="APR_memory_allocation.html#apr_pool_t-cleanup" target="Documentation">struct cleanup</a>
<li><a href="APR_memory_allocation.html#apr_pool_t-process_chain" target="Documentation">struct process_chain</a>
-<li><a href="APR_memory_allocation.html#process_chain" target="Documentation">struct process_chain</a>
<li><a href="APR_memory_allocation.html#apr_create_pool" target="Documentation">apr_status_t apr_create_pool(apr_pool_t **newcont, apr_pool_t *cont)</a>
<li><a href="APR_memory_allocation.html#apr_get_userdata" target="Documentation">apr_status_t apr_get_userdata(void **data, const char *key, apr_pool_t *cont)</a>
<li><a href="APR_memory_allocation.html#apr_init_alloc" target="Documentation">apr_status_t apr_init_alloc(void)</a>
-<li><a href="APR_memory_allocation.html#apr_initialize" target="Documentation">apr_status_t apr_initialize(void)</a>
<li><a href="APR_memory_allocation.html#apr_pool_t" target="Documentation">apr_pool_t *apr_make_sub_pool(apr_pool_t *p, int (*apr_abort)(int retcode))</a>
-<li><a href="APR_memory_allocation.html#apr_set_abort" target="Documentation">apr_status_t apr_set_abort(int (*apr_abort)(int retcode), apr_pool_t *cont)</a>
<li><a href="APR_memory_allocation.html#apr_set_userdata" target="Documentation">apr_status_t apr_set_userdata(const void *data, const char *key, apr_status_t (*cleanup) (void *), apr_pool_t *cont)</a>
<li><a href="APR_memory_allocation.html#apr_size_t" target="Documentation">apr_size_t apr_bytes_in_pool(apr_pool_t *p)</a>
<li><a href="APR_memory_allocation.html#apr_size_t-2" target="Documentation">apr_size_t apr_bytes_in_free_blocks(void)</a>
<li><a href="APR_memory_allocation.html#apr_status_t-12" target="Documentation">apr_status_t apr_run_cleanup(apr_pool_t *p, void *data, apr_status_t (*cleanup) (void *))</a>
<li><a href="APR_memory_allocation.html#apr_status_t-13" target="Documentation">apr_status_t apr_null_cleanup(void *data)</a>
-<li><a href="APR_memory_allocation.html#apr_strerror" target="Documentation">char *apr_strerror(apr_status_t statcode, char *buf, apr_size_t bufsize)</a>
<li><a href="APR_memory_allocation.html#apr_term_alloc" target="Documentation">void apr_term_alloc(void)</a>
-<li><a href="APR_memory_allocation.html#apr_terminate" target="Documentation">void apr_terminate(void)</a>
<li><a href="APR_memory_allocation.html#int-6" target="Documentation">int apr_pool_is_ancestor(apr_pool_t *a, apr_pool_t *b)</a>
-<li><a href="APR_memory_allocation.html#void-10" target="Documentation">void apr_kill_cleanup(apr_pool_t *p, const void *data, apr_status_t (*cleanup) (void *))</a>
-<li><a href="APR_memory_allocation.html#void-11" target="Documentation">void apr_cleanup_for_exec(void)</a>
-<li><a href="APR_memory_allocation.html#void-5" target="Documentation">void apr_clear_pool(apr_pool_t *p)</a>
-<li><a href="APR_memory_allocation.html#void-6" target="Documentation">void apr_destroy_pool(apr_pool_t *p)</a>
-<li><a href="APR_memory_allocation.html#void-7" target="Documentation">void *apr_palloc(apr_pool_t *c, apr_size_t reqsize)</a>
-<li><a href="APR_memory_allocation.html#void-8" target="Documentation">void *apr_pcalloc(apr_pool_t *p, apr_size_t size)</a>
-<li><a href="APR_memory_allocation.html#void-9" target="Documentation">void apr_register_cleanup(apr_pool_t *p, const void *data, apr_status_t (*plain_cleanup) (void *), apr_status_t (*child_cleanup) (void *))</a>
+<li><a href="APR_memory_allocation.html#void-10" target="Documentation">void apr_cleanup_for_exec(void)</a>
+<li><a href="APR_memory_allocation.html#void-4" target="Documentation">void apr_clear_pool(apr_pool_t *p)</a>
+<li><a href="APR_memory_allocation.html#void-5" target="Documentation">void apr_destroy_pool(apr_pool_t *p)</a>
+<li><a href="APR_memory_allocation.html#void-6" target="Documentation">void *apr_palloc(apr_pool_t *c, apr_size_t reqsize)</a>
+<li><a href="APR_memory_allocation.html#void-7" target="Documentation">void *apr_pcalloc(apr_pool_t *p, apr_size_t size)</a>
+<li><a href="APR_memory_allocation.html#void-8" target="Documentation">void apr_register_cleanup(apr_pool_t *p, const void *data, apr_status_t (*plain_cleanup) (void *), apr_status_t (*child_cleanup) (void *))</a>
+<li><a href="APR_memory_allocation.html#void-9" target="Documentation">void apr_kill_cleanup(apr_pool_t *p, const void *data, apr_status_t (*cleanup) (void *))</a>
</dir><a href="APR_portability_Routines.html" target="Documentation"><b>APR portability Routines</b></a><br>
<dir>
+<li><a href="APR_portability_Routines.html#apr_os_sock_info_t" target="Documentation">struct apr_os_sock_info_t</a>
<li><a href="APR_portability_Routines.html#apr_get_os_dir" target="Documentation">apr_status_t apr_get_os_dir(apr_os_dir_t **thedir, apr_dir_t *dir)</a>
<li><a href="APR_portability_Routines.html#apr_get_os_exp_time" target="Documentation">apr_status_t apr_get_os_exp_time(apr_os_exp_time_t **ostime, apr_exploded_time_t *aprtime)</a>
<li><a href="APR_portability_Routines.html#apr_get_os_file" target="Documentation">apr_status_t apr_get_os_file(apr_os_file_t *thefile, apr_file_t *file)</a>
@@ -260,6 +310,7 @@
<li><a href="APR_portability_Routines.html#apr_get_os_sock" target="Documentation">apr_status_t apr_get_os_sock(apr_os_sock_t *thesock, apr_socket_t *sock)</a>
<li><a href="APR_portability_Routines.html#apr_get_os_thread" target="Documentation">apr_status_t apr_get_os_thread(apr_os_thread_t **thethd, apr_thread_t *thd)</a>
<li><a href="APR_portability_Routines.html#apr_get_os_threadkey" target="Documentation">apr_status_t apr_get_os_threadkey(apr_os_threadkey_t *thekey, apr_threadkey_t *key)</a>
+<li><a href="APR_portability_Routines.html#apr_make_os_sock" target="Documentation">apr_status_t apr_make_os_sock(apr_socket_t **apr_sock, apr_os_sock_info_t *os_sock_info, apr_pool_t *cont)</a>
<li><a href="APR_portability_Routines.html#apr_put_os_dir" target="Documentation">apr_status_t apr_put_os_dir(apr_dir_t **dir, apr_os_dir_t *thedir, apr_pool_t *cont)</a>
<li><a href="APR_portability_Routines.html#apr_put_os_exp_time" target="Documentation">apr_status_t apr_put_os_exp_time(apr_exploded_time_t *aprtime, apr_os_exp_time_t **ostime, apr_pool_t *cont)</a>
<li><a href="APR_portability_Routines.html#apr_put_os_file" target="Documentation">apr_status_t apr_put_os_file(apr_file_t **file, apr_os_file_t *thefile, apr_pool_t *cont)</a>
@@ -283,21 +334,26 @@
</dir><a href="Dynamic_Object_Handling.html" target="Documentation"><b>Dynamic Object Handling</b></a><br>
<dir>
<li><a href="Dynamic_Object_Handling.html#apr_dso_error" target="Documentation">const char *apr_dso_error(apr_dso_handle_t *dso, char *buf, apr_size_t bufsize)</a>
+<li><a href="Dynamic_Object_Handling.html#apr_dso_handle_sym_t" target="Documentation">apr_dso_handle_sym_t </a>
+<li><a href="Dynamic_Object_Handling.html#apr_dso_handle_t" target="Documentation">apr_dso_handle_t </a>
<li><a href="Dynamic_Object_Handling.html#apr_dso_load" target="Documentation">apr_status_t apr_dso_load(apr_dso_handle_t **res_handle, const char *path, apr_pool_t *ctx)</a>
<li><a href="Dynamic_Object_Handling.html#apr_dso_sym" target="Documentation">apr_status_t apr_dso_sym(apr_dso_handle_sym_t *ressym, apr_dso_handle_t *handle, const char *symname)</a>
<li><a href="Dynamic_Object_Handling.html#apr_dso_unload" target="Documentation">apr_status_t apr_dso_unload(apr_dso_handle_t *handle)</a>
</dir><a href="Error_Codes.html" target="Documentation"><b>Error Codes</b></a><br>
<dir>
<li><a href="Error_Codes.html#apr_canonical_error" target="Documentation">int apr_canonical_error(apr_status_t err)</a>
+<li><a href="Error_Codes.html#apr_strerror" target="Documentation">char *apr_strerror(apr_status_t statcode, char *buf, apr_size_t bufsize)</a>
</dir><a href="Fnmatch_functions.html" target="Documentation"><b>Fnmatch functions</b></a><br>
<dir>
<li><a href="Fnmatch_functions.html#apr_status_t" target="Documentation">apr_status_t apr_fnmatch(const char *pattern, const char *strings, int flags)</a>
<li><a href="Fnmatch_functions.html#int-2" target="Documentation">int apr_is_fnmatch(const char *pattern)</a>
</dir><a href="Hash_Tables.html" target="Documentation"><b>Hash Tables</b></a><br>
<dir>
-<li><a href="Hash_Tables.html#apr_hash_index_t" target="Documentation">apr_hash_index_t * apr_hash_first(apr_hash_t *ht)</a>
-<li><a href="Hash_Tables.html#apr_hash_index_t-2" target="Documentation">apr_hash_index_t * apr_hash_next(apr_hash_index_t *hi)</a>
-<li><a href="Hash_Tables.html#apr_hash_t" target="Documentation">apr_hash_t *apr_make_hash(apr_pool_t *pool)</a>
+<li><a href="Hash_Tables.html#apr_hash_index_t" target="Documentation">apr_hash_index_t </a>
+<li><a href="Hash_Tables.html#apr_hash_index_t-2" target="Documentation">apr_hash_index_t *apr_hash_first(apr_hash_t *ht)</a>
+<li><a href="Hash_Tables.html#apr_hash_index_t-3" target="Documentation">apr_hash_index_t *apr_hash_next(apr_hash_index_t *hi)</a>
+<li><a href="Hash_Tables.html#apr_hash_t" target="Documentation">apr_hash_t </a>
+<li><a href="Hash_Tables.html#apr_hash_t-2" target="Documentation">apr_hash_t *apr_make_hash(apr_pool_t *pool)</a>
<li><a href="Hash_Tables.html#void" target="Documentation">void apr_hash_set(apr_hash_t *ht, const void *key, apr_size_t klen, const void *val)</a>
<li><a href="Hash_Tables.html#void-2" target="Documentation">void *apr_hash_get(apr_hash_t *ht, const void *key, apr_size_t klen)</a>
<li><a href="Hash_Tables.html#void-3" target="Documentation">void apr_hash_this(apr_hash_index_t *hi, const void **key, apr_size_t *klen, void **val);</a>
1.3 +1 -1 apr-site/docs/packages.html
Index: packages.html
===================================================================
RCS file: /home/cvs/apr-site/docs/packages.html,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- packages.html 2000/11/18 03:40:40 1.2
+++ packages.html 2000/12/04 18:14:05 1.3
@@ -36,7 +36,7 @@
<hr size=4>
© 2000 [Apache Software Foundation]<br>
Generated by <a href="http://scandoc.sourceforge.net/"><b>ScanDoc 0.12</b></a><br>
- Last Updated: Fri Nov 17 19:40:19 2000
+ Last Updated: Mon Dec 4 10:10:38 2000
<br>
</body>
</html>
1.3 +1 -1 apr-site/docs/to-do.html
Index: to-do.html
===================================================================
RCS file: /home/cvs/apr-site/docs/to-do.html,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- to-do.html 2000/11/18 03:40:40 1.2
+++ to-do.html 2000/12/04 18:14:05 1.3
@@ -11,7 +11,7 @@
<hr size=4>
© 2000 [Apache Software Foundation]<br>
Generated by <a href="http://scandoc.sourceforge.net/"><b>ScanDoc 0.12</b></a><br>
- Last Updated: Fri Nov 17 19:40:19 2000
+ Last Updated: Mon Dec 4 10:10:38 2000
<br>
</body>
</html>