apr-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From r..@locus.apache.org
Subject cvs commit: apr-site/images ball1.gif ball2.gif bug.gif caution.gif master.gif tip.gif warning.gif
Date Thu, 16 Nov 2000 17:28:15 GMT
rbb         00/11/16 09:28:14

  Modified:    .        index.html
  Added:       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
                        canonical_filenames.html index.html master.html
                        packages.html to-do.html
               images   ball1.gif ball2.gif bug.gif caution.gif master.gif
                        tip.gif warning.gif
  Log:
  Start putting together a site with documentation.  this is just a start,
  and it will need to be modified and added to as we go.  In order to get
  the docs to look good (without broken images or ScanDoc images), I had
  to hand-edit the html to remove an img tag.  This can be fixed by
  getting an APR logo and creating an gif for it.
  
  Revision  Changes    Path
  1.4       +11 -4     apr-site/index.html
  
  Index: index.html
  ===================================================================
  RCS file: /home/cvs/apr-site/index.html,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- index.html	2000/11/16 17:17:18	1.3
  +++ index.html	2000/11/16 17:27:44	1.4
  @@ -13,10 +13,17 @@
      </tr>
     </table>
     <p>
  -  This project is currently being split off from Version 2.0 work of the
  -  Apache <a href="http://httpd.apache.org/">HTTP server project</a>.
  -  More information will be forthcoming as the situation develops and
  -  the split progresses.
  +  This is a new Apache Software Foundation project that hopes to create a
  +  library of routines that can be used on any platform to create stable 
  +  programs.
     </p>
  +  The project was started as a part of the Apache Web Server almost two years
  +  ago, and has been growing ever since.  Currently, it is in use by the
  +  Subversion Source Code Repository System and Apache 2.0.
  +  </p>
  +
  +  <H3><center>The Library API</center></H3>
  +  APR uses ScanDoc to generate all of the API docs in 
  +  <a href=docs/index.html>HTML format</a>.
    </body>
   </html>
  
  
  
  No                   revision
  
  
  No                   revision
  
  
  No                   revision
  
  
  No                   revision
  
  
  No                   revision
  
  
  No                   revision
  
  
  No                   revision
  
  
  No                   revision
  
  
  No                   revision
  
  
  No                   revision
  
  
  No                   revision
  
  
  No                   revision
  
  
  No                   revision
  
  
  No                   revision
  
  
  No                   revision
  
  
  No                   revision
  
  
  No                   revision
  
  
  No                   revision
  
  
  No                   revision
  
  
  No                   revision
  
  
  No                   revision
  
  
  No                   revision
  
  
  No                   revision
  
  
  No                   revision
  
  
  No                   revision
  
  
  No                   revision
  
  
  No                   revision
  
  
  No                   revision
  
  
  No                   revision
  
  
  No                   revision
  
  
  No                   revision
  
  
  No                   revision
  
  
  No                   revision
  
  
  No                   revision
  
  
  No                   revision
  
  
  No                   revision
  
  
  No                   revision
  
  
  No                   revision
  
  
  No                   revision
  
  
  No                   revision
  
  
  No                   revision
  
  
  No                   revision
  
  
  No                   revision
  
  
  No                   revision
  
  
  No                   revision
  
  
  No                   revision
  
  
  No                   revision
  
  
  No                   revision
  
  
  No                   revision
  
  
  No                   revision
  
  
  No                   revision
  
  
  No                   revision
  
  
  No                   revision
  
  
  No                   revision
  
  
  No                   revision
  
  
  No                   revision
  
  
  No                   revision
  
  
  No                   revision
  
  
  No                   revision
  
  
  1.1                  apr-site/docs/General.html
  
  Index: General.html
  ===================================================================
  <html>
  <head>
    <title>[Apache Portable RunTime] -- General</title>
  </head>
  <body bgcolor="#FFFFFF">
    <center>
      <font size=6><b>[Apache Portable RunTime]</b></font>
      <hr size=4><p>
    </center>
  
    <h2>Package Name: General</h2>
    <b>
  
  </b>
  <h2>Global Functions</h2>
    <blockquote>
  
  <a name="APR_DECLARE(rettype)"></a>
  <dl>
    <dt>
     <b><img src="../images/ball2.gif" width=19 height=17 align=texttop>APR_DECLARE(rettype) apr_func(args);;</b>
    <dd>
  APR_DECLARE_EXPORT is defined when building the APR dynamic library,
  so that all public symbols are exported.
  APR_DECLARE_STATIC is defined when including the APR public headers,
  to provide static linkage when the dynamic library may be unavailable.
  APR_DECLARE_STATIC and APR_DECLARE_EXPORT are left undefined when
  including the APR public headers, to import and link the symbols from the 
  dynamic APR library and assure appropriate indirection and calling 
  conventions at compile time.
   The public APR functions are declared with APR_DECLARE(), so they may
  use the most appropriate calling convention.  Public APR functions with 
  variable arguments must use APR_DECLARE_NONSTD().
  <p><dl>
  </dl></dl>
  
  <a name="APR_DECLARE_DATA"></a>
  <dl>
    <dt>
     <b><img src="../images/ball2.gif" width=19 height=17 align=texttop>APR_DECLARE_DATA type apr_variable;;</b>
    <dd>
  The public APR variables are declared with AP_MODULE_DECLARE_DATA.
  This assures the appropriate indirection is invoked at compile time.
  <p><dl>
  </dl></dl>
  
  <a name="APR_DECLARE_NONSTD(rettype)"></a>
  <dl>
    <dt>
     <b><img src="../images/ball2.gif" width=19 height=17 align=texttop>APR_DECLARE_NONSTD(rettype) apr_func(args, ...);;</b>
    <dd>
  The public APR functions using variable arguments are declared with 
  AP_DECLARE(), as they must use the C language calling convention.
  <p><dl>
  </dl></dl>
  
  <a name="apr_signal"></a>
  <dl>
    <dt>
     <b><img src="../images/ball2.gif" width=19 height=17 align=texttop>Sigfunc *apr_signal(int signo, Sigfunc * func);</b>
    <dd>
  <p><img src="../images//tip.gif"> extern APR_DECLARE_DATA type apr_variable; syntax is required for
  declarations within headers to properly import the variable.
  <p><dl>
  </dl></dl>
  </blockquote>
  
      <hr size=4>
      &copy 2000 [Apache Software Foundation]<br>
      Generated by <a href="http://scandoc.sourceforge.net/"><b>ScanDoc 0.12</b></a><br>
      Last Updated: Wed Nov 15  6:34:47 2000
  <br>
    </body>
  </html>
  
  
  
  No                   revision
  
  
  No                   revision
  
  
  No                   revision
  
  
  No                   revision
  
  
  No                   revision
  
  
  1.1                  apr-site/docs/canonical_filenames.html
  
  Index: canonical_filenames.html
  ===================================================================
  <HTML>
  <HEAD><TITLE>APR Canonical Filenames</TITLE></HEAD>
  <BODY>
  <h1>APR Canonical Filename</h1>
  
  <h2>Requirements</h2>
  
  <p>APR porters need to address the underlying discrepancies between
  file systems.  To achieve a reasonable degree of security, the
  program depending upon APR needs to know that two paths may be
  compared, and that a mismatch is guarenteed to reflect that the
  two paths do not return the same resource</p>.
  
  <p>The first discrepancy is in volume roots.  Unix and pure deriviates
  have only one root path, "/".  Win32 and OS2 share root paths of
  the form "D:/", D: is the volume designation.  However, this can
  be specified as "//./D:/" as well, indicating D: volume of the 
  'this' machine.  Win32 and OS2 also may employ a UNC root path,
  of the form "//server/share/" where share is a share-point of the
  specified network server.  Finally, NetWare root paths are of the
  form "server/volume:/", or the simpler "volume:/" syntax for 'this'
  machine.  All these non-Unix file systems accept volume:path,
  without a slash following the colon, as a path relative to the
  current working directory, which APR will treat as ambigious, that
  is, neither an absolute nor a relative path per se.</p>
  
  <p>The second discrepancy is in the meaning of the 'this' directory.
  In general, 'this' must be eliminated from the path where it occurs.
  The syntax "path/./" and "path/" are both aliases to path.  However,
  this isn't file system independent, since the double slash "//" has
  a special meaning on OS2 and Win32 at the start of the path name,
  and is invalid on those platforms before the "//server/share/" UNC
  root path is completed.  Finally, as noted above, "//./volume/" is
  legal root syntax on WinNT, and perhaps others.</p>
  
  <p>The third discrepancy is in the context of the 'parent' directory.
  When "parent/path/.." occurs, the path must be unwound to "parent".
  It's also critical to simply truncate leading "/../" paths to "/",
  since the parent of the root is root.  This gets tricky on the
  Win32 and OS2 platforms, since the ".." element is invalid before
  the "//server/share/" is complete, and the "//server/share/../"
  seqence is the complete UNC root "//server/share/".  In relative
  paths, leading ".." elements are significant, until they are merged
  with an absolute path.  The relative form must only retain the ".."
  segments as leading segments, to be resolved once merged to another
  relative or an absolute path.</p>
  
  <p>The fourth discrepancy occurs with acceptance of alternate character
  codes for the same element.  Path seperators are not retained within
  the APR canonical forms.  The OS filesystem and APR (slashed) forms
  can both be returned as strings, to be used in the proper context.
  Unix, Win32 and Netware all accept slashes and backslashes as the
  same path seperator symbol, although unix strictly accepts slashes.
  While the APR form of the name strictly uses slashes, always consider
  that there could be a platform that actually accepts slashes as a
  character within a segment name.</p>
  
  <p>The fifth and worst discrepancy plauges Win32, OS2, Netware, and some
  filesystems mounted in Unix.  Case insensitivity can permit the same
  file to slip through in both it's proper case and alternate cases.
  Simply changing the case is insufficient for any character set beyond
  ASCII, since various dilectic forms of characters suffer from one to
  many or many to one translations.  An example would be u-umlaut, which
  might be accepted as a single character u-umlaut, a two character
  sequence u and the zero-width umlaut, the upper case form of the same,
  or perhaps even a captial U alone.  This can be handled in different
  ways depending on the purposes of the APR based program, but the one
  requirement is that the path must be absolute in order to resolve these
  ambiguities.  Methods employed include comparison of device and inode
  file uniqifiers, which is a fairly fast operation, or quering the OS
  for the true form of the name, which can be much slower.  Only the
  acknowledgement of the file names by the OS can validate the equality
  of two different cases of the same filename.</p>
  
  <p>The sixth discrepancy, illegal or insignificant characters, is especially 
  significant in non-unix file systems.  Trailing periods are accepted
  but never stored, therefore trailing periods must be ignored for any
  form of comparison.  And all OS's have certain expectations of what
  characters are illegal (or undesireable due to confusion.)</p>
  
  <p>A final warning, canonical functions don't transform or resolve case
  or character ambiguity issues until they are resolved into an absolute
  path.  The relative canonical path, while useful, while useful for URL
  or similar identifiers, cannot be used for testing or comparison of file 
  system objects.</p>
  
  <hr>
  
  <h2>Canonical API</h2>
  
  Functions to manipulate the apr_canon_file_t (an opaque type) include:
  
  <ul>
  <li>Create canon_file_t (from char* path and canon_file_t parent path)
  <li>Merged canon_file_t (from path and parent, both canon_file_t)
  <li>Get char* path of all or some segments
  <li>Get path flags of IsRelative, IsVirtualRoot, and IsAbsolute
  <li>Compare two canon_file_t structures for file equality
  </ul>
  
  <p>The path is corrected to the file system case only if is in absolute 
  form.  The apr_canon_file_t should be preserved as long as possible and 
  used as the parent to create child entries to reduce the number of expensive 
  stat and case canonicalization calls to the OS.</p>
  
  <p>The comparison operation provides that the APR can postpone correction
  of case by simply relying upon the device and inode for equivilance.  The
  stat implementation provides that two files are the same, while their
  strings are not equivilant, and eliminates the need for the operating
  system to return the proper form of the name.</p>
  
  <p>In any case, returning the char* path, with a flag to request the proper
  case, forces the OS calls to resolve the true names of each segment.  Where
  there is a penality for this operation and the stat device and inode test
  is faster, case correction is postponed until the char* result is requested.
  On platforms that identify the inode, device, or proper name interchangably
  with no penalities, this may occur when the name is initially processed.</p>
  
  <hr>
  
  <h2>Unix Example</h2>
  
  <p>First the simplest case:</p>
  
  <pre>
  Parse Canonical Name 
  accepts parent path as canonical_t
          this path as string
  
  Split this path Segments on '/'
  
  For each of this path Segments
    If first Segment
      If this Segment is Empty ([nothing]/)
        Append this Root Segment (don't merge)
        Continue to next Segment
      Else is relative
        Append parent Segments (to merge)
        Continue with this Segment
    If Segment is '.' or empty (2 slashes)
      Discard this Segment
      Continue with next Segment
    If Segment is '..'
      If no previous Segment or previous Segment is '..'
        Append this Segment
        Continue with next Segment
      If previous Segment and previous is not Root Segment
        Discard previous Segment
      Discard this Segment
      Continue with next Segment
    Append this Relative Segment
    Continue with next Segment        
  </pre>
  
  </BODY>
  </HTML>
  
  
  1.1                  apr-site/docs/index.html
  
  Index: index.html
  ===================================================================
  <html>
    <head>
      <meta http-equiv="Content-Type" content="text/html; iso-8859-1">
      <title>[Apache Portable RunTime]</title>
    </head>
    <frameset cols="190,*">
      <frame src="master.html"  name="Master Index" noresize>
      <frame src="packages.html" name="Documentation">
      <noframes>
        <body bgcolor="#FFFFFF" stylesrc="index.html">
          <p>Some Documentation</p>
        </body>
      </noframes>
    </frameset>
  </html>
  
  
  
  1.1                  apr-site/docs/master.html
  
  Index: master.html
  ===================================================================
  <html>
    <head>
      <title>Master Index</title>
    </head>
    <body bgcolor="#FFFFFF" text=#0000ff link=#0020ff vlink=#0020ff>
      <p>
      <a href="packages.html" target="Documentation">Master Index</a>
      </p>
      <p>
        <font size="2">
          <nobr>
  <a href="General.html" target="Documentation"><b>General</b></a><br>
    <dir>
  <li><a href="General.html#APR_DECLARE(rettype)" target="Documentation">APR_DECLARE(rettype) apr_func(args);</a>
  <li><a href="General.html#APR_DECLARE_DATA" target="Documentation">APR_DECLARE_DATA type apr_variable;</a>
  <li><a href="General.html#APR_DECLARE_NONSTD(rettype)" target="Documentation">APR_DECLARE_NONSTD(rettype) apr_func(args, ...);</a>
  <li><a href="General.html#apr_signal" target="Documentation">Sigfunc *apr_signal(int signo, Sigfunc * func)</a>
  </dir><a href="APR%20File%20handling.html" target="Documentation"><b>APR File handling</b></a><br>
    <dir>
  <li><a href="APR%20File%20handling.html#apr_finfo_t" target="Documentation">struct apr_finfo_t</a>
  <li><a href="APR%20File%20handling.html#apr_close" target="Documentation">apr_status_t apr_close(apr_file_t *file)</a>
  <li><a href="APR%20File%20handling.html#apr_closedir" target="Documentation">apr_status_t apr_closedir(apr_dir_t *thedir)</a>
  <li><a href="APR%20File%20handling.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%20File%20handling.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%20File%20handling.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%20File%20handling.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%20File%20handling.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%20File%20handling.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%20File%20handling.html#apr_eof" target="Documentation">apr_status_t apr_eof(apr_file_t *fptr)</a>
  <li><a href="APR%20File%20handling.html#apr_ferror" target="Documentation">apr_status_t apr_ferror(apr_file_t *fptr)</a>
  <li><a href="APR%20File%20handling.html#apr_fgets" target="Documentation">apr_status_t apr_fgets(char *str, int len, apr_file_t *thefile)</a>
  <li><a href="APR%20File%20handling.html#apr_flush" target="Documentation">apr_status_t apr_flush(apr_file_t *thefile)</a>
  <li><a href="APR%20File%20handling.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%20File%20handling.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%20File%20handling.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%20File%20handling.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%20File%20handling.html#apr_get_filename" target="Documentation">apr_status_t apr_get_filename(char **new_path, apr_file_t *thefile)</a>
  <li><a href="APR%20File%20handling.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%20File%20handling.html#apr_getc" target="Documentation">apr_status_t apr_getc(char *ch, apr_file_t *thefile)</a>
  <li><a href="APR%20File%20handling.html#apr_getfileinfo" target="Documentation">apr_status_t apr_getfileinfo(apr_finfo_t *finfo, apr_file_t *thefile)</a>
  <li><a href="APR%20File%20handling.html#apr_is_absolute" target="Documentation">apr_status_t apr_is_absolute(apr_canon_t **path)</a>
  <li><a href="APR%20File%20handling.html#apr_is_relative" target="Documentation">apr_status_t apr_is_relative(apr_canon_t **path)</a>
  <li><a href="APR%20File%20handling.html#apr_is_virtualroot" target="Documentation">apr_status_t apr_is_virtualroot(apr_canon_t **path, int elements)</a>
  <li><a href="APR%20File%20handling.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%20File%20handling.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%20File%20handling.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%20File%20handling.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%20File%20handling.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%20File%20handling.html#apr_opendir" target="Documentation">apr_status_t apr_opendir(apr_dir_t **new_dir, const char *dirname, apr_pool_t *cont)</a>
  <li><a href="APR%20File%20handling.html#apr_putc" target="Documentation">apr_status_t apr_putc(char ch, apr_file_t *thefile)</a>
  <li><a href="APR%20File%20handling.html#apr_puts" target="Documentation">apr_status_t apr_puts(const char *str, apr_file_t *thefile)</a>
  <li><a href="APR%20File%20handling.html#apr_read" target="Documentation">apr_status_t apr_read(apr_file_t *thefile, void *buf, apr_size_t *nbytes)</a>
  <li><a href="APR%20File%20handling.html#apr_readdir" target="Documentation">apr_status_t apr_readdir(apr_dir_t *thedir)</a>
  <li><a href="APR%20File%20handling.html#apr_remove_dir" target="Documentation">apr_status_t apr_remove_dir(const char *path, apr_pool_t *cont)</a>
  <li><a href="APR%20File%20handling.html#apr_remove_file" target="Documentation">apr_status_t apr_remove_file(const char *path, apr_pool_t *cont)</a>
  <li><a href="APR%20File%20handling.html#apr_rename_file" target="Documentation">apr_status_t apr_rename_file(const char *from_path, const char *to_path, apr_pool_t *pool)</a>
  <li><a href="APR%20File%20handling.html#apr_rewinddir" target="Documentation">apr_status_t apr_rewinddir(apr_dir_t *thedir)</a>
  <li><a href="APR%20File%20handling.html#apr_seek" target="Documentation">apr_status_t apr_seek(apr_file_t *thefile, apr_seek_where_t where,apr_off_t *offset)</a>
  <li><a href="APR%20File%20handling.html#apr_set_filedata" target="Documentation">apr_status_t apr_set_filedata(apr_file_t *file, void *data, const char *key, apr_status_t (*cleanup) (void *))</a>
  <li><a href="APR%20File%20handling.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%20File%20handling.html#apr_setfileperms" target="Documentation">apr_status_t apr_setfileperms(const char *fname, apr_fileperms_t perms)</a>
  <li><a href="APR%20File%20handling.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%20File%20handling.html#apr_ungetc" target="Documentation">apr_status_t apr_ungetc(char ch, apr_file_t *thefile)</a>
  <li><a href="APR%20File%20handling.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%20File%20handling.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%20File%20handling.html#int" target="Documentation">int apr_fprintf(apr_file_t *fptr, const char *format, ...)</a>
  </dir><a href="APR%20I18N%20translation%20library.html" target="Documentation"><b>APR I18N translation library</b></a><br>
    <dir>
  <li><a href="APR%20I18N%20translation%20library.html#apr_xlate_close" target="Documentation">apr_status_t apr_xlate_close(apr_xlate_t *convset)</a>
  <li><a href="APR%20I18N%20translation%20library.html#apr_xlate_conv_buffer" target="Documentation">apr_status_t apr_xlate_conv_buffer(apr_xlate_t *convset, const char *inbuf, apr_size_t *inbytes_left, char *outbuf, apr_size_t *outbytes_left)</a>
  <li><a href="APR%20I18N%20translation%20library.html#apr_xlate_conv_byte" target="Documentation">apr_int32_t apr_xlate_conv_byte(apr_xlate_t *convset, unsigned char inchar)</a>
  <li><a href="APR%20I18N%20translation%20library.html#apr_xlate_conv_char" target="Documentation">apr_status_t apr_xlate_conv_char(apr_xlate_t *convset, char inchar, char outchar)</a>
  <li><a href="APR%20I18N%20translation%20library.html#apr_xlate_get_sb" target="Documentation">apr_status_t apr_xlate_get_sb(apr_xlate_t *convset, int *onoff)</a>
  <li><a href="APR%20I18N%20translation%20library.html#apr_xlate_open" target="Documentation">apr_status_t apr_xlate_open(apr_xlate_t **convset, const char *topage, const char *frompage, apr_pool_t *pool)</a>
  </dir><a href="APR%20MD5%20Library.html" target="Documentation"><b>APR MD5 Library</b></a><br>
    <dir>
  <li><a href="APR%20MD5%20Library.html#apr_md5_ctx_t" target="Documentation">struct apr_md5_ctx_t</a>
  <li><a href="APR%20MD5%20Library.html#apr_status_t-10" target="Documentation">apr_status_t apr_MD5Encode(const char *password, const char *salt, char *result, size_t nbytes)</a>
  <li><a href="APR%20MD5%20Library.html#apr_status_t-6" target="Documentation">apr_status_t apr_MD5Init(apr_md5_ctx_t *context)</a>
  <li><a href="APR%20MD5%20Library.html#apr_status_t-7" target="Documentation">apr_status_t apr_MD5SetXlate(apr_md5_ctx_t *context, apr_xlate_t *xlate)</a>
  <li><a href="APR%20MD5%20Library.html#apr_status_t-8" target="Documentation">apr_status_t apr_MD5Update(apr_md5_ctx_t *context, const unsigned char *input, unsigned int inputLen)</a>
  <li><a href="APR%20MD5%20Library.html#apr_status_t-9" target="Documentation">apr_status_t apr_MD5Final(unsigned char digest[MD5_DIGESTSIZE], apr_md5_ctx_t *context)</a>
  </dir><a href="APR%20MMAP%20library.html" target="Documentation"><b>APR MMAP library</b></a><br>
    <dir>
  <li><a href="APR%20MMAP%20library.html#apr_mmap_t" target="Documentation">struct apr_mmap_t</a>
  <li><a href="APR%20MMAP%20library.html#apr_mmap_create" target="Documentation">apr_status_t apr_mmap_create(apr_mmap_t ** newmmap, apr_file_t *file, apr_off_t offset, apr_size_t size, apr_pool_t *cntxt)</a>
  <li><a href="APR%20MMAP%20library.html#apr_mmap_delete" target="Documentation">apr_status_t apr_mmap_delete(apr_mmap_t *mmap)</a>
  <li><a href="APR%20MMAP%20library.html#apr_mmap_offset" target="Documentation">apr_status_t apr_mmap_offset(void **addr, apr_mmap_t *mmap, apr_off_t offset)</a>
  </dir><a href="APR%20Network%20library.html" target="Documentation"><b>APR Network library</b></a><br>
    <dir>
  <li><a href="APR%20Network%20library.html#apr_hdtr_t" target="Documentation">struct apr_hdtr_t</a>
  <li><a href="APR%20Network%20library.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%20Network%20library.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%20Network%20library.html#apr_bind" target="Documentation">apr_status_t apr_bind(apr_socket_t *sock)</a>
  <li><a href="APR%20Network%20library.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%20Network%20library.html#apr_close_socket" target="Documentation">apr_status_t apr_close_socket(apr_socket_t *thesocket)</a>
  <li><a href="APR%20Network%20library.html#apr_connect" target="Documentation">apr_status_t apr_connect(apr_socket_t *sock, const char *hostname)</a>
  <li><a href="APR%20Network%20library.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%20Network%20library.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%20Network%20library.html#apr_get_inaddr" target="Documentation">apr_status_t apr_get_inaddr(apr_in_addr_t *addr, char *hostname)</a>
  <li><a href="APR%20Network%20library.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%20Network%20library.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%20Network%20library.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%20Network%20library.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%20Network%20library.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%20Network%20library.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%20Network%20library.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%20Network%20library.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%20Network%20library.html#apr_gethostname" target="Documentation">apr_status_t apr_gethostname(char *buf, int len, apr_pool_t *cont)</a>
  <li><a href="APR%20Network%20library.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%20Network%20library.html#apr_listen" target="Documentation">apr_status_t apr_listen(apr_socket_t *sock, apr_int32_t backlog)</a>
  <li><a href="APR%20Network%20library.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>
  <li><a href="APR%20Network%20library.html#apr_poll" target="Documentation">apr_status_t apr_poll(apr_pollfd_t *aprset, apr_int32_t *nsds, apr_interval_time_t timeout)</a>
  <li><a href="APR%20Network%20library.html#apr_recv" target="Documentation">apr_status_t apr_recv(apr_socket_t *sock, char *buf, apr_size_t *len)</a>
  <li><a href="APR%20Network%20library.html#apr_remove_poll_socket" target="Documentation">apr_status_t apr_remove_poll_socket(apr_pollfd_t *aprset, apr_socket_t *sock)</a>
  <li><a href="APR%20Network%20library.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%20Network%20library.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%20Network%20library.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%20Network%20library.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%20Network%20library.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%20Network%20library.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%20Network%20library.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%20Network%20library.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%20Network%20library.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>
  <li><a href="APR%20Network%20library.html#apr_shutdown" target="Documentation">apr_status_t apr_shutdown(apr_socket_t *thesocket, apr_shutdown_how_e how)</a>
  <li><a href="APR%20Network%20library.html#apr_socket_from_file" target="Documentation">apr_status_t apr_socket_from_file(apr_socket_t **newsock, apr_file_t *file)</a>
  </dir><a href="APR%20Process%20library.html" target="Documentation"><b>APR Process library</b></a><br>
    <dir>
  <li><a href="APR%20Process%20library.html#apr_check_other_child" target="Documentation">void apr_check_other_child(void)</a>
  <li><a href="APR%20Process%20library.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%20Process%20library.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%20Process%20library.html#apr_detach" target="Documentation">apr_status_t apr_detach(void)</a>
  <li><a href="APR%20Process%20library.html#apr_fork" target="Documentation">apr_status_t apr_fork(apr_proc_t *proc, apr_pool_t *cont)</a>
  <li><a href="APR%20Process%20library.html#apr_kill" target="Documentation">apr_status_t apr_kill(apr_proc_t *proc, int sig)</a>
  <li><a href="APR%20Process%20library.html#apr_probe_writable_fds" target="Documentation">void apr_probe_writable_fds(void)</a>
  <li><a href="APR%20Process%20library.html#apr_reap_other_child" target="Documentation">apr_status_t apr_reap_other_child(apr_proc_t *pid, int status)</a>
  <li><a href="APR%20Process%20library.html#apr_register_other_child" target="Documentation">void apr_register_other_child(apr_proc_t *pid, void (*maintenance) (int reason, void *, int status), void *data, apr_file_t *write_fd, apr_pool_t *p)</a>
  <li><a href="APR%20Process%20library.html#apr_setprocattr_childerr" target="Documentation">apr_status_t apr_setprocattr_childerr(struct apr_procattr_t *attr, apr_file_t *child_err, apr_file_t *parent_err)</a>
  <li><a href="APR%20Process%20library.html#apr_setprocattr_childin" target="Documentation">apr_status_t apr_setprocattr_childin(struct apr_procattr_t *attr, apr_file_t *child_in, apr_file_t *parent_in)</a>
  <li><a href="APR%20Process%20library.html#apr_setprocattr_childout" target="Documentation">apr_status_t apr_setprocattr_childout(struct apr_procattr_t *attr, apr_file_t *child_out, apr_file_t *parent_out)</a>
  <li><a href="APR%20Process%20library.html#apr_setprocattr_cmdtype" target="Documentation">apr_status_t apr_setprocattr_cmdtype(apr_procattr_t *attr, apr_cmdtype_e cmd)</a>
  <li><a href="APR%20Process%20library.html#apr_setprocattr_detach" target="Documentation">apr_status_t apr_setprocattr_detach(apr_procattr_t *attr, apr_int32_t detach)</a>
  <li><a href="APR%20Process%20library.html#apr_setprocattr_dir" target="Documentation">apr_status_t apr_setprocattr_dir(apr_procattr_t *attr, const char *dir)</a>
  <li><a href="APR%20Process%20library.html#apr_setprocattr_io" target="Documentation">apr_status_t apr_setprocattr_io(apr_procattr_t *attr, apr_int32_t in, apr_int32_t out, apr_int32_t err)</a>
  <li><a href="APR%20Process%20library.html#apr_setprocattr_limit" target="Documentation">apr_status_t apr_setprocattr_limit(apr_procattr_t *attr, apr_int32_t what, struct rlimit *limit)</a>
  <li><a href="APR%20Process%20library.html#apr_unregister_other_child" target="Documentation">void apr_unregister_other_child(void *data)</a>
  <li><a href="APR%20Process%20library.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%20Process%20library.html#apr_wait_proc" target="Documentation">apr_status_t apr_wait_proc(apr_proc_t *proc, apr_wait_how_e waithow)</a>
  </dir><a href="APR%20Random%20Functions.html" target="Documentation"><b>APR Random Functions</b></a><br>
    <dir>
  <li><a href="APR%20Random%20Functions.html#apr_generate_random_bytes" target="Documentation">apr_status_t apr_generate_random_bytes(unsigned char * buf, int length)</a>
  </dir><a href="APR%20Table%20library.html" target="Documentation"><b>APR Table library</b></a><br>
    <dir>
  <li><a href="APR%20Table%20library.html#apr_array_header_t" target="Documentation">struct apr_array_header_t</a>
  <li><a href="APR%20Table%20library.html#apr_btable_entry_t" target="Documentation">struct apr_btable_entry_t</a>
  <li><a href="APR%20Table%20library.html#apr_btable_t" target="Documentation">struct apr_btable_t</a>
  <li><a href="APR%20Table%20library.html#apr_table_entry_t" target="Documentation">struct apr_table_entry_t</a>
  <li><a href="APR%20Table%20library.html#apr_table_t" target="Documentation">struct apr_table_t</a>
  <li><a href="APR%20Table%20library.html#apr_item_t" target="Documentation"> apr_item_t</a>
  </dir><a href="APR%20Thread%20library.html" target="Documentation"><b>APR Thread library</b></a><br>
    <dir>
  <li><a href="APR%20Thread%20library.html#apr_proc_t" target="Documentation">struct apr_proc_t</a>
  <li><a href="APR%20Thread%20library.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%20Thread%20library.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%20Thread%20library.html#apr_create_threadattr" target="Documentation">apr_status_t apr_create_threadattr(apr_threadattr_t **new_attr, apr_pool_t *cont)</a>
  <li><a href="APR%20Thread%20library.html#apr_delete_thread_private" target="Documentation">apr_status_t apr_delete_thread_private(apr_threadkey_t *key)</a>
  <li><a href="APR%20Thread%20library.html#apr_get_thread_private" target="Documentation">apr_status_t apr_get_thread_private(void **new_mem, apr_threadkey_t *key)</a>
  <li><a href="APR%20Thread%20library.html#apr_get_threaddata" target="Documentation">apr_status_t apr_get_threaddata(void **data, const char *key, apr_thread_t *thread)</a>
  <li><a href="APR%20Thread%20library.html#apr_get_threadkeydata" target="Documentation">apr_status_t apr_get_threadkeydata(void **data, const char *key, apr_threadkey_t *threadkey)</a>
  <li><a href="APR%20Thread%20library.html#apr_getthreadattr_detach" target="Documentation">apr_status_t apr_getthreadattr_detach(apr_threadattr_t *attr)</a>
  <li><a href="APR%20Thread%20library.html#apr_set_thread_private" target="Documentation">apr_status_t apr_set_thread_private(void *priv, apr_threadkey_t *key)</a>
  <li><a href="APR%20Thread%20library.html#apr_set_threaddata" target="Documentation">apr_status_t apr_set_threaddata(void *data, const char *key, apr_status_t (*cleanup) (void *), apr_thread_t *thread)</a>
  <li><a href="APR%20Thread%20library.html#apr_set_threadkeydata" target="Documentation">apr_status_t apr_set_threadkeydata(void *data, const char *key, apr_status_t (*cleanup) (void *), apr_threadkey_t *threadkey)</a>
  <li><a href="APR%20Thread%20library.html#apr_setthreadattr_detach" target="Documentation">apr_status_t apr_setthreadattr_detach(apr_threadattr_t *attr, apr_int32_t on)</a>
  <li><a href="APR%20Thread%20library.html#apr_thread_detach" target="Documentation">apr_status_t apr_thread_detach(apr_thread_t *thd)</a>
  <li><a href="APR%20Thread%20library.html#apr_thread_exit" target="Documentation">apr_status_t apr_thread_exit(apr_thread_t *thd, apr_status_t *retval)</a>
  <li><a href="APR%20Thread%20library.html#apr_thread_join" target="Documentation">apr_status_t apr_thread_join(apr_status_t *retval, apr_thread_t *thd)</a>
  </dir><a href="APR%20Time%20library.html" target="Documentation"><b>APR Time library</b></a><br>
    <dir>
  <li><a href="APR%20Time%20library.html#apr_exploded_time_t" target="Documentation">struct apr_exploded_time_t</a>
  <li><a href="APR%20Time%20library.html#apr_ansi_time_to_apr_time" target="Documentation">apr_status_t apr_ansi_time_to_apr_time(apr_time_t *result, time_t input)</a>
  <li><a href="APR%20Time%20library.html#apr_ctime" target="Documentation">apr_status_t apr_ctime(char *date_str, apr_time_t t)</a>
  <li><a href="APR%20Time%20library.html#apr_explode_gmt" target="Documentation">apr_status_t apr_explode_gmt(apr_exploded_time_t *result, apr_time_t input)</a>
  <li><a href="APR%20Time%20library.html#apr_explode_localtime" target="Documentation">apr_status_t apr_explode_localtime(apr_exploded_time_t *result, apr_time_t input)</a>
  <li><a href="APR%20Time%20library.html#apr_implode_time" target="Documentation">apr_status_t apr_implode_time(apr_time_t *result, apr_exploded_time_t *input)</a>
  <li><a href="APR%20Time%20library.html#apr_now" target="Documentation">apr_time_t apr_now(void)</a>
  <li><a href="APR%20Time%20library.html#apr_rfc822_date" target="Documentation">apr_status_t apr_rfc822_date(char *date_str, apr_time_t t)</a>
  <li><a href="APR%20Time%20library.html#apr_sleep" target="Documentation">void apr_sleep(apr_interval_time_t t)</a>
  <li><a href="APR%20Time%20library.html#apr_strftime" target="Documentation">apr_status_t apr_strftime(char *s, apr_size_t *retsize, apr_size_t max, const char *format, apr_exploded_time_t *tm)</a>
  </dir><a href="APR%20UUID%20Handling.html" target="Documentation"><b>APR UUID Handling</b></a><br>
    <dir>
  <li><a href="APR%20UUID%20Handling.html#apr_status_t-14" target="Documentation">apr_status_t apr_parse_uuid(apr_uuid_t *uuid, const char *uuid_str)</a>
  <li><a href="APR%20UUID%20Handling.html#void-12" target="Documentation">void apr_get_uuid(apr_uuid_t *uuid)</a>
  <li><a href="APR%20UUID%20Handling.html#void-13" target="Documentation">void apr_format_uuid(apr_pool_t *p, const apr_uuid_t *uuid)</a>
  </dir><a href="APR%20command%20arguments.html" target="Documentation"><b>APR command arguments</b></a><br>
    <dir>
  <li><a href="APR%20command%20arguments.html#apr_getopt_t" target="Documentation">struct apr_getopt_t</a>
  <li><a href="APR%20command%20arguments.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%20command%20arguments.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>
  </dir><a href="APR%20general-purpose%20library.html" target="Documentation"><b>APR general-purpose library</b></a><br>
    <dir>
  <li><a href="APR%20general-purpose%20library.html#apr_status_t-4" target="Documentation">apr_status_t apr_validate_password(const char *passwd, const char *hash)</a>
  <li><a href="APR%20general-purpose%20library.html#apr_status_t-5" target="Documentation">apr_status_t apr_getpass(const char *prompt, char *pwbuf, size_t *bufsize)</a>
  <li><a href="APR%20general-purpose%20library.html#const" target="Documentation">const char * apr_filename_of_pathname(const char *pathname)</a>
  <li><a href="APR%20general-purpose%20library.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%20general-purpose%20library.html#int-4" target="Documentation">int apr_snprintf(char *buf, size_t len, const char *format, ...)</a>
  <li><a href="APR%20general-purpose%20library.html#int-5" target="Documentation">int apr_vsnprintf(char *buf, size_t len, const char *format, va_list ap)</a>
  <li><a href="APR%20general-purpose%20library.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%20lock%20library.html" target="Documentation"><b>APR lock library</b></a><br>
    <dir>
  <li><a href="APR%20lock%20library.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>
  <li><a href="APR%20lock%20library.html#apr_create_lock" target="Documentation">apr_status_t apr_create_lock(apr_lock_t **lock, apr_locktype_e type, apr_lockscope_e scope, const char *fname, apr_pool_t *cont)</a>
  <li><a href="APR%20lock%20library.html#apr_destroy_lock" target="Documentation">apr_status_t apr_destroy_lock(apr_lock_t *lock)</a>
  <li><a href="APR%20lock%20library.html#apr_get_lockdata" target="Documentation">apr_status_t apr_get_lockdata(apr_lock_t *lock, const char *key, void *data)</a>
  <li><a href="APR%20lock%20library.html#apr_lock" target="Documentation">apr_status_t apr_lock(apr_lock_t *lock)</a>
  <li><a href="APR%20lock%20library.html#apr_set_lockdata" target="Documentation">apr_status_t apr_set_lockdata(apr_lock_t *lock, void *data, const char *key, apr_status_t (*cleanup) (void *))</a>
  <li><a href="APR%20lock%20library.html#apr_unlock" target="Documentation">apr_status_t apr_unlock(apr_lock_t *lock)</a>
  </dir><a href="APR%20memory%20allocation.html" target="Documentation"><b>APR memory allocation</b></a><br>
    <dir>
  <li><a href="APR%20memory%20allocation.html#apr_pool_t" target="Documentation">struct apr_pool_t</a>
  <li><a href="APR%20memory%20allocation.html#apr_pool_t-apr_pool_t" target="Documentation">struct apr_pool_t</a>
  <li><a href="APR%20memory%20allocation.html#apr_pool_t-cleanup" target="Documentation">struct cleanup</a>
  <li><a href="APR%20memory%20allocation.html#apr_pool_t-process_chain" target="Documentation">struct process_chain</a>
  <li><a href="APR%20memory%20allocation.html#process_chain" target="Documentation">struct process_chain</a>
  <li><a href="APR%20memory%20allocation.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%20memory%20allocation.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%20memory%20allocation.html#apr_init_alloc" target="Documentation">apr_status_t apr_init_alloc(void)</a>
  <li><a href="APR%20memory%20allocation.html#apr_initialize" target="Documentation">apr_status_t apr_initialize(void)</a>
  <li><a href="APR%20memory%20allocation.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%20memory%20allocation.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%20memory%20allocation.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%20memory%20allocation.html#apr_size_t" target="Documentation">apr_size_t apr_bytes_in_pool(apr_pool_t *p)</a>
  <li><a href="APR%20memory%20allocation.html#apr_size_t-2" target="Documentation">apr_size_t apr_bytes_in_free_blocks(void)</a>
  <li><a href="APR%20memory%20allocation.html#apr_status_t-11" target="Documentation">apr_status_t apr_run_cleanup(apr_pool_t *p, void *data, apr_status_t (*cleanup) (void *))</a>
  <li><a href="APR%20memory%20allocation.html#apr_status_t-12" target="Documentation">apr_status_t apr_null_cleanup(void *data)</a>
  <li><a href="APR%20memory%20allocation.html#apr_strerror" target="Documentation">char *apr_strerror(apr_status_t statcode, char *buf, apr_size_t bufsize)</a>
  <li><a href="APR%20memory%20allocation.html#apr_term_alloc" target="Documentation">void apr_term_alloc(void)</a>
  <li><a href="APR%20memory%20allocation.html#apr_terminate" target="Documentation">void apr_terminate(void)</a>
  <li><a href="APR%20memory%20allocation.html#int-6" target="Documentation">int apr_pool_is_ancestor(apr_pool_t *a, apr_pool_t *b)</a>
  <li><a href="APR%20memory%20allocation.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%20memory%20allocation.html#void-11" target="Documentation">void apr_cleanup_for_exec(void)</a>
  <li><a href="APR%20memory%20allocation.html#void-5" target="Documentation">void apr_clear_pool(apr_pool_t *p)</a>
  <li><a href="APR%20memory%20allocation.html#void-6" target="Documentation">void apr_destroy_pool(apr_pool_t *p)</a>
  <li><a href="APR%20memory%20allocation.html#void-7" target="Documentation">void *apr_palloc(apr_pool_t *c, apr_size_t reqsize)</a>
  <li><a href="APR%20memory%20allocation.html#void-8" target="Documentation">void *apr_pcalloc(apr_pool_t *p, apr_size_t size)</a>
  <li><a href="APR%20memory%20allocation.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>
  </dir><a href="APR%20portability%20Routines.html" target="Documentation"><b>APR portability Routines</b></a><br>
    <dir>
  <li><a href="APR%20portability%20Routines.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%20portability%20Routines.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%20portability%20Routines.html#apr_get_os_file" target="Documentation">apr_status_t apr_get_os_file(apr_os_file_t *thefile, apr_file_t *file)</a>
  <li><a href="APR%20portability%20Routines.html#apr_get_os_imp_time" target="Documentation">apr_status_t apr_get_os_imp_time(apr_os_imp_time_t **ostime, apr_time_t *aprtime)</a>
  <li><a href="APR%20portability%20Routines.html#apr_get_os_lock" target="Documentation">apr_status_t apr_get_os_lock(apr_os_lock_t *oslock, apr_lock_t *lock)</a>
  <li><a href="APR%20portability%20Routines.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%20portability%20Routines.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%20portability%20Routines.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%20portability%20Routines.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%20portability%20Routines.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%20portability%20Routines.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>
  <li><a href="APR%20portability%20Routines.html#apr_put_os_imp_time" target="Documentation">apr_status_t apr_put_os_imp_time(apr_time_t *aprtime, apr_os_imp_time_t **ostime, apr_pool_t *cont)</a>
  <li><a href="APR%20portability%20Routines.html#apr_put_os_lock" target="Documentation">apr_status_t apr_put_os_lock(apr_lock_t **lock, apr_os_lock_t *thelock, apr_pool_t *cont)</a>
  <li><a href="APR%20portability%20Routines.html#apr_put_os_sock" target="Documentation">apr_status_t apr_put_os_sock(apr_socket_t **sock, apr_os_sock_t *thesock, apr_pool_t *cont)</a>
  <li><a href="APR%20portability%20Routines.html#apr_put_os_thread" target="Documentation">apr_status_t apr_put_os_thread(apr_thread_t **thd, apr_os_thread_t *thethd, apr_pool_t *cont)</a>
  <li><a href="APR%20portability%20Routines.html#apr_put_os_threadkey" target="Documentation">apr_status_t apr_put_os_threadkey(apr_threadkey_t **key, apr_os_threadkey_t *thekey, apr_pool_t *cont)</a>
  </dir><a href="APR%20strings%20library.html" target="Documentation"><b>APR strings library</b></a><br>
    <dir>
  <li><a href="APR%20strings%20library.html#apr_status_t-13" target="Documentation">apr_status_t apr_tokenize_to_argv(const char *arg_str, char ***argv_out, apr_pool_t *token_context);</a>
  <li><a href="APR%20strings%20library.html#apr_strnatcasecmp" target="Documentation">int apr_strnatcasecmp(char const *a, char const *b)</a>
  <li><a href="APR%20strings%20library.html#apr_strnatcmp" target="Documentation">int apr_strnatcmp(char const *a, char const *b)</a>
  <li><a href="APR%20strings%20library.html#char" target="Documentation">char *apr_pstrdup(apr_pool_t *p, const char *s)</a>
  <li><a href="APR%20strings%20library.html#char-2" target="Documentation">char *apr_pstrndup(apr_pool_t *p, const char *s, apr_size_t n)</a>
  <li><a href="APR%20strings%20library.html#char-3" target="Documentation">char *apr_pstrcat(apr_pool_t *p, ...)</a>
  <li><a href="APR%20strings%20library.html#char-4" target="Documentation">char *apr_pvsprintf(apr_pool_t *p, const char *fmt, va_list ap)</a>
  <li><a href="APR%20strings%20library.html#char-5" target="Documentation">char *apr_psprintf(apr_pool_t *p, const char *fmt, ...)</a>
  <li><a href="APR%20strings%20library.html#char-6" target="Documentation">char *apr_cpystrn(char *dst, const char *src, size_t dst_size)</a>
  <li><a href="APR%20strings%20library.html#char-7" target="Documentation">char *apr_collapse_spaces(char *dest, const char *src)</a>
  </dir><a href="Dynamic%20Object%20Handling.html" target="Documentation"><b>Dynamic Object Handling</b></a><br>
    <dir>
  <li><a href="Dynamic%20Object%20Handling.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%20Object%20Handling.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%20Object%20Handling.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%20Object%20Handling.html#apr_dso_unload" target="Documentation">apr_status_t apr_dso_unload(apr_dso_handle_t *handle)</a>
  </dir><a href="Error%20Codes.html" target="Documentation"><b>Error Codes</b></a><br>
    <dir>
  <li><a href="Error%20Codes.html#apr_canonical_error" target="Documentation">int apr_canonical_error(apr_status_t err)</a>
  </dir><a href="Fnmatch%20functions.html" target="Documentation"><b>Fnmatch functions</b></a><br>
    <dir>
  <li><a href="Fnmatch%20functions.html#apr_status_t" target="Documentation">apr_status_t apr_fnmatch(const char *pattern, const char *strings, int flags)</a>
  <li><a href="Fnmatch%20functions.html#int-2" target="Documentation">int apr_is_fnmatch(const char *pattern)</a>
  </dir><a href="Hash%20Tables.html" target="Documentation"><b>Hash Tables</b></a><br>
    <dir>
  <li><a href="Hash%20Tables.html#apr_hash_index_t" target="Documentation">apr_hash_index_t * apr_hash_first(apr_hash_t *ht)</a>
  <li><a href="Hash%20Tables.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%20Tables.html#apr_hash_t" target="Documentation">apr_hash_t *apr_make_hash(apr_pool_t *pool)</a>
  <li><a href="Hash%20Tables.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%20Tables.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%20Tables.html#void-3" target="Documentation">void apr_hash_this(apr_hash_index_t *hi, const void **key, apr_size_t *klen, void **val);</a>
  </dir><a href="Shared%20Memory%20library.html" target="Documentation"><b>Shared Memory library</b></a><br>
    <dir>
  <li><a href="Shared%20Memory%20library.html#apr_get_shm_name" target="Documentation">apr_status_t apr_get_shm_name(apr_shmem_t *c, apr_shm_name_t **name)</a>
  <li><a href="Shared%20Memory%20library.html#apr_open_shmem" target="Documentation">apr_status_t apr_open_shmem(apr_shmem_t *c)</a>
  <li><a href="Shared%20Memory%20library.html#apr_set_shm_name" target="Documentation">apr_status_t apr_set_shm_name(apr_shmem_t *c, apr_shm_name_t *name)</a>
  <li><a href="Shared%20Memory%20library.html#apr_shm_avail" target="Documentation">apr_status_t apr_shm_avail(apr_shmem_t *c, apr_size_t *avail)</a>
  <li><a href="Shared%20Memory%20library.html#apr_shm_calloc" target="Documentation">void *apr_shm_calloc(apr_shmem_t *shared, apr_size_t size)</a>
  <li><a href="Shared%20Memory%20library.html#apr_shm_destroy" target="Documentation">apr_status_t apr_shm_destroy(apr_shmem_t *m)</a>
  <li><a href="Shared%20Memory%20library.html#apr_shm_free" target="Documentation">apr_status_t apr_shm_free(apr_shmem_t *shared, void *entity)</a>
  <li><a href="Shared%20Memory%20library.html#apr_shm_init" target="Documentation">apr_status_t apr_shm_init(apr_shmem_t **m, apr_size_t reqsize, const char *file, apr_pool_t *cont)</a>
  <li><a href="Shared%20Memory%20library.html#apr_shm_malloc" target="Documentation">void *apr_shm_malloc(apr_shmem_t *c, apr_size_t reqsize)</a>
  </dir>
            <a href="to-do.html" target="Documentation"><b>To-Do List</b></a><br>
          </nobr>
        </font>
      </p>
    </body>
  </html>
  
  
  
  1.1                  apr-site/docs/packages.html
  
  Index: packages.html
  ===================================================================
  <html>
    <head>
      <title>[Apache Portable RunTime] -- Packages</title>
    </head>
    <body bgcolor="#FFFFFF">
  
      <h1>Documentation for [Apache Portable RunTime]</h1>
      </center>
      <h2>Package List</h2>
  <a href = "General.html">General</a><br>
  <a href = "APR%20File%20handling.html">APR File handling</a><br>
  <a href = "APR%20I18N%20translation%20library.html">APR I18N translation library</a><br>
  <a href = "APR%20MD5%20Library.html">APR MD5 Library</a><br>
  <a href = "APR%20MMAP%20library.html">APR MMAP library</a><br>
  <a href = "APR%20Network%20library.html">APR Network library</a><br>
  <a href = "APR%20Process%20library.html">APR Process library</a><br>
  <a href = "APR%20Random%20Functions.html">APR Random Functions</a><br>
  <a href = "APR%20Table%20library.html">APR Table library</a><br>
  <a href = "APR%20Thread%20library.html">APR Thread library</a><br>
  <a href = "APR%20Time%20library.html">APR Time library</a><br>
  <a href = "APR%20UUID%20Handling.html">APR UUID Handling</a><br>
  <a href = "APR%20command%20arguments.html">APR command arguments</a><br>
  <a href = "APR%20general-purpose%20library.html">APR general-purpose library</a><br>
  <a href = "APR%20lock%20library.html">APR lock library</a><br>
  <a href = "APR%20memory%20allocation.html">APR memory allocation</a><br>
  <a href = "APR%20portability%20Routines.html">APR portability Routines</a><br>
  <a href = "APR%20strings%20library.html">APR strings library</a><br>
  <a href = "Dynamic%20Object%20Handling.html">Dynamic Object Handling</a><br>
  <a href = "Error%20Codes.html">Error Codes</a><br>
  <a href = "Fnmatch%20functions.html">Fnmatch functions</a><br>
  <a href = "Hash%20Tables.html">Hash Tables</a><br>
  <a href = "Shared%20Memory%20library.html">Shared Memory library</a><br>
  
      <p>
      <hr size=4>
      &copy 2000 [Apache Software Foundation]<br>
      Generated by <a href="http://scandoc.sourceforge.net/"><b>ScanDoc 0.12</b></a><br>
      Last Updated: Wed Nov 15  6:34:47 2000
  <br>
    </body>
  </html>
  
  
  
  
  1.1                  apr-site/docs/to-do.html
  
  Index: to-do.html
  ===================================================================
  <html>
    <head>
      <title>[Apache Portable RunTime] -- To-Do list</title>
    </head>
    <body bgcolor="#FFFFFF">
  
  
      <h1>To-do list for [Apache Portable RunTime]</h1>
  
      <hr size=4>
      &copy 2000 [Apache Software Foundation]<br>
      Generated by <a href="http://scandoc.sourceforge.net/"><b>ScanDoc 0.12</b></a><br>
      Last Updated: Wed Nov 15  6:34:47 2000
  <br>
    </body>
  </html>
  
  
  
  1.1                  apr-site/images/ball1.gif
  
  	<<Binary file>>
  
  
  1.1                  apr-site/images/ball2.gif
  
  	<<Binary file>>
  
  
  1.1                  apr-site/images/bug.gif
  
  	<<Binary file>>
  
  
  1.1                  apr-site/images/caution.gif
  
  	<<Binary file>>
  
  
  1.1                  apr-site/images/master.gif
  
  	<<Binary file>>
  
  
  1.1                  apr-site/images/tip.gif
  
  	<<Binary file>>
  
  
  1.1                  apr-site/images/warning.gif
  
  	<<Binary file>>
  
  

Mime
View raw message