httpd-cvs mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From c...@apache.org
Subject cvs commit: httpd-docs-1.3/apidoc api.xml api.list
Date Thu, 19 Jul 2001 21:09:31 GMT
coar        01/07/19 14:09:31

  Modified:    apidoc   api.list
  Added:       apidoc   api.xml
  Log:
  	Fix a couple of typos in the master file, and check in an
  	XML version (the DTD is still in development).
  
  Revision  Changes    Path
  1.40      +3 -3      httpd-docs-1.3/apidoc/api.list
  
  Index: api.list
  ===================================================================
  RCS file: /home/cvs/httpd-docs-1.3/apidoc/api.list,v
  retrieving revision 1.39
  retrieving revision 1.40
  diff -u -u -r1.39 -r1.40
  --- api.list	2001/06/27 03:23:10	1.39
  +++ api.list	2001/07/19 21:09:30	1.40
  @@ -91,7 +91,7 @@
       |char *$*(pool *p, const char *intype);\
       |content_type = $*(r->pool, r->content_type);\
       |\
  -    |dict-$*.html
  +    |<dict-$*.html
   R|ap_add_version_component\
       |void $*(const char *component);\
       |/*\n * Called during modules-init phase\n */\n$*("MyMod/1.0");\
  @@ -1200,7 +1200,7 @@
    \n \
   list = (item_t *) item_array1-&gt;elts;\n \
   for (i = 0; i &lt; item_array1-&gt;nelts; ++i) {\n \
  -    item = &list[i];\n \
  +    item = &amp;list[i];\n \
       fprintf(stderr, "Item %d: length=%d, string='%s'\\n",\n \
               i, item-&gt;length, item-&gt;string);\n \
   }\n \
  @@ -3219,7 +3219,7 @@
       |request_rec *$*(const char *new_file, const request_rec *r);\
       |\
       |\
  -    |dict-$*.html
  +    |<dict-$*.html
   R|ap_time_process_request\
       |void $*(int child_num, int status);\
       |\
  
  
  
  1.1                  httpd-docs-1.3/apidoc/api.xml
  
  Index: api.xml
  ===================================================================
  <?xml version="1.0" encoding="UTF-8" standalone="no" ?>
  <!DOCTYPE lexicon SYSTEM
   "ap-dict.dtd">
  <lexicon name="Apache 1.3 API dictionary">
   <item type="Constant">
    <name>ACCESS_CONF</name>
    <definition>
    <declaration>#include &quot;http_config.h&quot;</declaration>
    <description href="dict-ACCESS_CONF.html" />
    <example>
     <text>static const command_rec module_cmds[] =
  {
          .
      {&quot;ModuleDirective&quot;, cmd_moduledirective, NULL, ACCESS_CONF, RAW_ARGS,
       &quot;description of directive&quot;},
          .
      {NULL}
  };</text>
    </example>
    <seealso>
     <ref>SA-overrides</ref>
    </seealso>
    </definition>
   </item>
   <item type="Constant">
    <name>APLOG_ALERT</name>
    <definition>
    <declaration>#include &quot;http_log.h&quot;</declaration>
    <description />
    <example>
     <text>ap_log_rerror(APLOG_MARK, APLOG_NOERRNO|APLOG_ALERT, r, &quot;%s&quot;, message); </text>
    </example>
    <seealso>
     <ref>SA-logging</ref>
    </seealso>
    </definition>
   </item>
   <item type="Constant">
    <name>APLOG_CRIT</name>
    <definition>
    <declaration>#include &quot;http_log.h&quot;</declaration>
    <description />
    <example>
     <text>ap_log_rerror(APLOG_MARK, APLOG_NOERRNO|APLOG_CRIT, r, &quot;%s&quot;, message); </text>
    </example>
    <seealso>
     <ref>SA-logging</ref>
    </seealso>
    </definition>
   </item>
   <item type="Constant">
    <name>APLOG_DEBUG</name>
    <definition>
    <declaration>#include &quot;http_log.h&quot;</declaration>
    <description />
    <example>
     <text>ap_log_rerror(APLOG_MARK, APLOG_NOERRNO|APLOG_DEBUG, r, &quot;%s&quot;, message); </text>
    </example>
    <seealso>
     <ref>SA-logging</ref>
    </seealso>
    </definition>
   </item>
   <item type="Constant">
    <name>APLOG_EMERG</name>
    <definition>
    <declaration>#include &quot;http_log.h&quot;</declaration>
    <description />
    <example>
     <text>ap_log_rerror(APLOG_MARK, APLOG_NOERRNO|APLOG_EMERG, r, &quot;%s&quot;, message); </text>
    </example>
    <seealso>
     <ref>SA-logging</ref>
    </seealso>
    </definition>
   </item>
   <item type="Constant">
    <name>APLOG_ERR</name>
    <definition>
    <declaration>#include &quot;http_log.h&quot;</declaration>
    <description />
    <example>
     <text>ap_log_rerror(APLOG_MARK, APLOG_NOERRNO|APLOG_ERR, r, &quot;%s&quot;, message); </text>
    </example>
    <seealso>
     <ref>SA-logging</ref>
    </seealso>
    </definition>
   </item>
   <item type="Constant">
    <name>APLOG_INFO</name>
    <definition>
    <declaration>#include &quot;http_log.h&quot;</declaration>
    <description />
    <example>
     <text>ap_log_rerror(APLOG_MARK, APLOG_NOERRNO|APLOG_INFO, r, &quot;%s&quot;, message); </text>
    </example>
    <seealso>
     <ref>SA-logging</ref>
    </seealso>
    </definition>
   </item>
   <item type="Constant">
    <name>APLOG_LEVELMASK</name>
    <definition>
    <declaration>#include &quot;http_log.h&quot;</declaration>
    <description />
    <example>
     <text>if ((level &amp; APLOG_LEVELMASK) &gt; s-&gt;loglevel) {
      /* The level is greater than the minimum required for
       * logging, so log it.
       */
  }</text>
    </example>
    <seealso>
     <ref>SA-logging</ref>
    </seealso>
    </definition>
   </item>
   <item type="Constant">
    <name>APLOG_MARK</name>
    <definition>
    <declaration>#include &quot;http_log.h&quot;</declaration>
    <description />
    <example>
     <text>ap_log_rerror(APLOG_MARK, APLOG_NOERRNO|APLOG_ERR, r, &quot;%s&quot;, message); </text>
    </example>
    <seealso>
     <ref>SA-logging</ref>
    </seealso>
    </definition>
   </item>
   <item type="Constant">
    <name>APLOG_NOERRNO</name>
    <definition>
    <declaration>#include &quot;http_log.h&quot;</declaration>
    <description />
    <example>
     <text>ap_log_rerror(APLOG_MARK, APLOG_NOERRNO|APLOG_ERR, r, &quot;%s&quot;, message); </text>
    </example>
    <seealso>
     <ref>SA-logging</ref>
    </seealso>
    </definition>
   </item>
   <item type="Constant">
    <name>APLOG_NOTICE</name>
    <definition>
    <declaration>#include &quot;http_log.h&quot;</declaration>
    <description />
    <example>
     <text>ap_log_rerror(APLOG_MARK, APLOG_NOERRNO|APLOG_NOTICE, r, &quot;%s&quot;, message); </text>
    </example>
    <seealso>
     <ref>SA-logging</ref>
    </seealso>
    </definition>
   </item>
   <item type="Constant">
    <name>APLOG_WARNING</name>
    <definition>
    <declaration>#include &quot;http_log.h&quot;</declaration>
    <description />
    <example>
     <text>ap_log_rerror(APLOG_MARK, APLOG_NOERRNO|APLOG_WARNING, r, &quot;%s&quot;, message); </text>
    </example>
    <seealso>
     <ref>SA-logging</ref>
    </seealso>
    </definition>
   </item>
   <item type="Constant">
    <name>APLOG_WIN32ERROR</name>
    <definition>
    <declaration>#include &quot;http_log.h&quot;</declaration>
    <description />
    <example>
     <text>ap_log_error(APLOG_MARK, APLOG_ERR|APLOG_WIN32ERROR, NULL, &quot;Error starting service control dispatcher&quot;);</text>
    </example>
    <seealso>
     <ref>SA-logging</ref>
    </seealso>
    </definition>
   </item>
   <item type="Structure">
    <name>AP_MD5_CTX</name>
    <definition>
    <declaration>#include &quot;ap_md5.h&quot;
  \n     &lt;i&gt;This is an opaque structure; you don't need to access any of its elements.&lt;/i&gt;</declaration>
    <description />
    <example>
     <text>AP_MD5_CTX &lt;var&gt;identifier&lt;/var&gt;</text>
    </example>
    <seealso>
     <ref>SA-md5</ref>
    </seealso>
    </definition>
   </item>
   <item type="Macro">
    <name>AP_MODULE_MAGIC_AT_LEAST</name>
    <definition>
    <declaration>#include &quot;ap_mmn.h&quot;</declaration>
    <description href="dict-AP_MODULE_MAGIC_AT_LEAST.html" />
    <example>
     <text>    request_rec *r; 
      char *x;
  #if AP_MODULE_MAGIC_AT_LEAST(19990320,4) 
      x = ap_field_noparam(r-&gt;pool, ap_table_get(r-&gt;headers_in, &quot;X-attr&quot;)); 
  #else
      char *y;
      x = ap_table_get(r-&gt;headers_in, &quot;X-attr&quot;); 
      y = strstr(x, &quot;;&quot;); 
      *y = '\0'; 
  #endif</text>
    </example>
    <seealso>
     <ref>SA-MMN</ref>
    </seealso>
    </definition>
   </item>
   <item type="Constant">
    <name>BIG_SECURITY_HOLE</name>
    <definition>
    <declaration>Compile-time definition</declaration>
    <description href="dict-BIG_SECURITY_HOLE.html" />
    <example>
     <text>env CFLAGS=&quot;-Wall -DBIG_SECURITY_HOLE&quot; ./configure</text>
    </example>
    <seealso>
     <ref>SA-compileflags</ref>
    </seealso>
    </definition>
   </item>
   <item type="Constant">
    <name>BO_BYTECT</name>
    <definition>
    <declaration>#include &quot;buff.h&quot;</declaration>
    <description />
    <seealso>
     <ref>SA-BUFF</ref>
    </seealso>
    </definition>
   </item>
   <item type="Structure">
    <name>BUFF</name>
    <definition>
    <declaration>#include &quot;buff.h&quot;
  typedef struct buff_struct BUFF; 
  struct buff_struct { 
      int flags; 
      unsigned char *inptr; 
      int incnt; 
      int outchunk; 
      int outcnt; 
      unsigned char *inbase; 
      unsigned char *outbase; 
      int bufsiz; 
      void (*error) (BUFF *fb, int op, void *data); 
      void *error_data; 
      long int bytes_sent; 
      ap_pool *pool; 
      int fd; 
      int fd_in; 
  #ifdef WIN32 
      HANDLE hFH 
  #endif 
      void *t_handle; 
  #ifdef B_SFIO 
      Sfio_t *sf_in; 
      Sfio_t *sf_out; 
  #endif 
  };</declaration>
    <description />
    <seealso>
     <ref>SA-core-rec</ref>
    </seealso>
    </definition>
   </item>
   <item type="Constant">
    <name>B_ASCII2EBCDIC</name>
    <definition>
    <declaration>#include &quot;buff.h&quot;</declaration>
    <description />
    <seealso>
     <ref>SA-BUFF</ref>
    </seealso>
    </definition>
   </item>
   <item type="Constant">
    <name>B_CHUNK</name>
    <definition>
    <declaration>#include &quot;buff.h&quot;</declaration>
    <description />
    <seealso>
     <ref>SA-BUFF</ref>
    </seealso>
    </definition>
   </item>
   <item type="Constant">
    <name>B_EBCDIC2ASCII</name>
    <definition>
    <declaration>#include &quot;buff.h&quot;</declaration>
    <description />
    <seealso>
     <ref>SA-BUFF</ref>
    </seealso>
    </definition>
   </item>
   <item type="Constant">
    <name>B_EOF</name>
    <definition>
    <declaration>#include &quot;buff.h&quot;</declaration>
    <description />
    <seealso>
     <ref>SA-BUFF</ref>
    </seealso>
    </definition>
   </item>
   <item type="Constant">
    <name>B_EOUT</name>
    <definition>
    <declaration>#include &quot;buff.h&quot;</declaration>
    <description />
    <seealso>
     <ref>SA-BUFF</ref>
    </seealso>
    </definition>
   </item>
   <item type="Constant">
    <name>B_ERROR</name>
    <definition>
    <declaration>#include &quot;buff.h&quot;</declaration>
    <description />
    <seealso>
     <ref>SA-BUFF</ref>
    </seealso>
    </definition>
   </item>
   <item type="Constant">
    <name>B_RD</name>
    <definition>
    <declaration>#include &quot;buff.h&quot;</declaration>
    <description />
    <seealso>
     <ref>SA-BUFF</ref>
    </seealso>
    </definition>
   </item>
   <item type="Constant">
    <name>B_RDERR</name>
    <definition>
    <declaration>#include &quot;buff.h&quot;</declaration>
    <description />
    <seealso>
     <ref>SA-BUFF</ref>
    </seealso>
    </definition>
   </item>
   <item type="Constant">
    <name>B_RDWR</name>
    <definition>
    <declaration>#include &quot;buff.h&quot;</declaration>
    <description />
    <seealso>
     <ref>SA-BUFF</ref>
    </seealso>
    </definition>
   </item>
   <item type="Constant">
    <name>B_SAFEREAD</name>
    <definition>
    <declaration>#include &quot;buff.h&quot;</declaration>
    <description />
    <seealso>
     <ref>SA-BUFF</ref>
    </seealso>
    </definition>
   </item>
   <item type="Constant">
    <name>B_SFIO</name>
    <definition>
    <declaration>env CFLAGS=&quot;-Wall -DB_SFIO&quot; ./configure</declaration>
    <description href="dict-B_SFIO.html" />
    <seealso>
     <ref>SA-BUFF</ref>
    </seealso>
    </definition>
   </item>
   <item type="Constant">
    <name>B_SOCKET</name>
    <definition>
    <declaration>#include &quot;buff.h&quot;</declaration>
    <description />
    <seealso>
     <ref>SA-BUFF</ref>
    </seealso>
    </definition>
   </item>
   <item type="Constant">
    <name>B_WR</name>
    <definition>
    <declaration>#include &quot;buff.h&quot;</declaration>
    <description />
    <seealso>
     <ref>SA-BUFF</ref>
    </seealso>
    </definition>
   </item>
   <item type="Constant">
    <name>B_WRERR</name>
    <definition>
    <declaration>#include &quot;buff.h&quot;</declaration>
    <description />
    <seealso>
     <ref>SA-BUFF</ref>
    </seealso>
    </definition>
   </item>
   <item type="Constant">
    <name>CR</name>
    <definition>
    <declaration>#include &quot;httpd.h&quot;</declaration>
    <description href="dict-CR.html" />
    <example>
     <text>eol = strchr(string, CR);</text>
    </example>
    <seealso>
     <ref>SA-stringconst</ref>
    </seealso>
    </definition>
   </item>
   <item type="Constant">
    <name>CRLF</name>
    <definition>
    <declaration>#include &quot;httpd.h&quot;</declaration>
    <description href="dict-CRLF.html" />
    <example>
     <text>entity = strstr(request, CRLF CRLF) + (2 * strlen(CRLF));</text>
    </example>
    <seealso>
     <ref>SA-stringconst</ref>
    </seealso>
    </definition>
   </item>
   <item type="Constant">
    <name>DECLINED</name>
    <definition>
    <declaration>#include &quot;httpd.h&quot;</declaration>
    <description href="dict-DECLINED.html" />
    <example>
     <text>request_rec *r;
  if (is_HTTP_ERROR(r-&gt;status)) { 
      return DECLINED; 
  } </text>
    </example>
    <seealso>
     <ref>SA-dirstat</ref>
    </seealso>
    </definition>
   </item>
   <item type="Constant">
    <name>DECLINE_CMD</name>
    <definition>
    <declaration>#include &quot;http_config.h&quot;</declaration>
    <description />
    <example>
     <text>request_rec *r;
  if (! our_cmd) { 
      return DECLINE_CMD; 
  } </text>
    </example>
    <seealso>
     <ref>SA-dirstat</ref>
    </seealso>
    </definition>
   </item>
   <item type="Constant">
    <name>DEFAULT_ADMIN</name>
    <definition>
    <declaration>Compile-time definition; default defined by &lt;code&gt;#include &quot;httpd.h&quot;&lt;/code&gt;</declaration>
    <description />
    <example>
     <text>env CFLAGS=&quot;-Wall -DDEFAULT_ADMIN=\&quot;/usr/httpd/htdocs\&quot;&quot; ./configure</text>
    </example>
    <seealso>
     <ref>SA-compileflags</ref>
    </seealso>
    </definition>
   </item>
   <item type="Constant">
    <name>DEFAULT_CONTENT_TYPE</name>
    <definition>
    <declaration>Compile-time definition; default defined by &lt;code&gt;#include &quot;httpd.h&quot;&lt;/code&gt;</declaration>
    <description />
    <example>
     <text>env CFLAGS=&quot;-Wall -DDEFAULT_CONTENT_TYPE=\&quot;application/octet-stream\&quot;&quot; ./configurez    </text>
    </example>
    <seealso>
     <ref>SA-compileflags</ref>
    </seealso>
    </definition>
   </item>
   <item type="Constant">
    <name>DEFAULT_HTTPS_PORT</name>
    <definition>
    <declaration>#include &quot;httpd.h&quot;</declaration>
    <description />
    </definition>
   </item>
   <item type="Constant">
    <name>DEFAULT_HTTP_PORT</name>
    <definition>
    <declaration>#include &quot;httpd.h&quot;</declaration>
    <description />
    </definition>
   </item>
   <item type="Constant">
    <name>DEFAULT_INDEX</name>
    <definition>
    <declaration>Compile-time definition; default defined by &lt;code&gt;#include &quot;httpd.h&quot;&lt;/code&gt;</declaration>
    <description href="dict-DEFAULT_INDEX.html" />
    <example>
     <text>env CFLAGS=&quot;-Wall -DDEFAULT_INDEX=\&quot;default.html\&quot;&quot; ./configure</text>
    </example>
    <seealso>
     <ref>SA-compileflags</ref>
    </seealso>
    </definition>
   </item>
   <item type="Constant">
    <name>DEFAULT_KEEPALIVE</name>
    <definition>
    <declaration>Compile-time definition; default set by &lt;code&gt;#include &quot;httpd.h&quot;&lt;/code&gt;</declaration>
    <description />
    <example>
     <text>env CFLAGS=&quot;-Wall -DDEFAULT_KEEPALIVE=50&quot; ./configure</text>
    </example>
    <seealso>
     <ref>SA-compileflags</ref>
    </seealso>
    </definition>
   </item>
   <item type="Constant">
    <name>DEFAULT_KEEPALIVE_TIMEOUT</name>
    <definition>
    <declaration>Compile-time definition; default set by &lt;code&gt;#include &quot;httpd.h&quot;&lt;/code&gt;</declaration>
    <description />
    <example>
     <text>env CFLAGS=&quot;-Wall -DDEFAULT_KEEPALIVE_TIMEOUT=20&quot; ./configure</text>
    </example>
    <seealso>
     <ref>SA-compileflags</ref>
    </seealso>
    </definition>
   </item>
   <item type="Constant">
    <name>DEFAULT_PATH</name>
    <definition>
    <declaration>Compile-time definition default set by &lt;code&gt;#include &quot;httpd.h&quot;&lt;/code&gt;</declaration>
    <description />
    <example>
     <text>env CFLAGS=&quot;-Wall -DDEFAULT_PATH=\&quot;/usr/local/bin:/bin:/usr/bin\&quot;&quot; ./configure</text>
    </example>
    <seealso>
     <ref>SA-compileflags</ref>
    </seealso>
    </definition>
   </item>
   <item type="Constant">
    <name>DEFAULT_TIMEOUT</name>
    <definition>
    <declaration>Compile-time definition; default set by &lt;code&gt;#include &quot;httpd.h&quot;&lt;/code&gt;</declaration>
    <description />
    <example>
     <text>env CFLAGS=&quot;-Wall -DDEFAULT_TIMEOUT=600&quot; ./configure</text>
    </example>
    <seealso>
     <ref>SA-compileflags</ref>
    </seealso>
    </definition>
   </item>
   <item type="Constant">
    <name>DOCUMENT_LOCATION</name>
    <definition>
    <declaration>Compile-time definition; default set by &lt;code&gt;#include &quot;httpd.h&quot;&lt;/code&gt;</declaration>
    <description href="dict-DOCUMENT_LOCATION.html" />
    <example>
     <text>env CFLAGS=&quot;-Wall -DDOCUMENT_LOCATION=\&quot;/usr/httpd/htdocs\&quot;&quot; ./configure</text>
    </example>
    <seealso>
     <ref>SA-compileflags</ref>
     <ref>ap_document_root</ref>
    </seealso>
    </definition>
   </item>
   <item type="Constant">
    <name>DONE</name>
    <definition>
    <declaration>#include &quot;httpd.h&quot;</declaration>
    <description href="dict-DONE.html" />
    <example>
     <text>request_rec *r;
  if (!is_HTTP_ERROR(r-&gt;status)) { 
      return DONE; 
  } </text>
    </example>
    <seealso>
     <ref>SA-dirstat</ref>
    </seealso>
    </definition>
   </item>
   <item type="Constant">
    <name>DYNAMIC_MODULE_LIMIT</name>
    <definition>
    <declaration>Compile-time definition; default set by &lt;code&gt;#include &quot;httpd.h&quot;&lt;/code&gt;</declaration>
    <description href="dict-DYNAMIC_MODULE_LIMIT.html" />
    <example>
     <text>env CFLAGS=&quot;-Wall -DDYNAMIC_MODULE_LIMIT=64&quot; ./configure</text>
    </example>
    <seealso>
     <ref>SA-compileflags</ref>
    </seealso>
    </definition>
   </item>
   <item type="Constant">
    <name>FLAG</name>
    <definition>
    <declaration>#include &quot;httpd.h&quot;
  &lt;i&gt;see&lt;/i&gt; cmd_how.</declaration>
    <description href="dict-FLAG.html" />
    <example>
     <text>static const command_rec module_cmds[] =
  {
          .
      {&quot;ModuleDirective&quot;, cmd_moduledirective, NULL, OR_LIMIT, FLAG,
       &quot;directive description&quot;},
          .
      {NULL}
  };</text>
    </example>
    <seealso>
     <ref>SA-dirdata</ref>
    </seealso>
    </definition>
   </item>
   <item type="Constant">
    <name>FNM_CASE_BLIND</name>
    <definition>
    <declaration>#include &quot;fnmatch.h&quot;</declaration>
    <description />
    <seealso>
     <ref>SA-fnmatch</ref>
    </seealso>
    </definition>
   </item>
   <item type="Constant">
    <name>FNM_NOESCAPE</name>
    <definition>
    <declaration>#include &quot;fnmatch.h&quot;</declaration>
    <description />
    <seealso>
     <ref>SA-fnmatch</ref>
    </seealso>
    </definition>
   </item>
   <item type="Constant">
    <name>FNM_NOMATCH</name>
    <definition>
    <declaration>#include &quot;fnmatch.h&quot;</declaration>
    <description />
    <seealso>
     <ref>SA-fnmatch</ref>
    </seealso>
    </definition>
   </item>
   <item type="Constant">
    <name>FNM_PATHNAME</name>
    <definition>
    <declaration>#include &quot;fnmatch.h&quot;</declaration>
    <description />
    <seealso>
     <ref>SA-fnmatch</ref>
    </seealso>
    </definition>
   </item>
   <item type="Constant">
    <name>FNM_PERIOD</name>
    <definition>
    <declaration>#include &quot;fnmatch.h&quot;</declaration>
    <description />
    <seealso>
     <ref>SA-fnmatch</ref>
    </seealso>
    </definition>
   </item>
   <item type="Constant">
    <name>GLOBAL_ONLY</name>
    <definition>
    <declaration>#include &quot;http_config.h&quot;</declaration>
    <description />
    <seealso>
     <ref>SA-context</ref>
    </seealso>
    </definition>
   </item>
   <item type="Structure">
    <name>HANDLE</name>
    <definition>
    <declaration>Opaque data structure defined by Windows.</declaration>
    <description href="dict-HANDLE.html" />
    </definition>
   </item>
   <item type="Constant">
    <name>HARD_SERVER_LIMIT</name>
    <definition>
    <declaration>Compile-time definition; default set by &lt;code&gt;#include &quot;httpd.h&quot;&lt;/code&gt;</declaration>
    <description href="dict-HARD_SERVER_LIMIT.html" />
    <example>
     <text>env CFLAGS=&quot;-Wall -DHARD_SERVER_LIMIT=1024&quot; ./configure 
   
  for (i = 0; i &lt; HARD_SERVER_LIMIT; ++i) {
      ...per-child processing...
  }</text>
    </example>
    <seealso>
     <ref>SA-compileflags</ref>
    </seealso>
    </definition>
   </item>
   <item type="Constant">
    <name>HTTPD_ROOT</name>
    <definition>
    <declaration>Compile-time definition; default set by &lt;code&gt;#include &quot;httpd.h&quot;&lt;/code&gt;</declaration>
    <description href="dict-HTTPD_ROOT.html" />
    <example>
     <text>env CFLAGS=&quot;-Wall -DHTTPD_ROOT=\&quot;/usr/httpd\&quot;&quot; ./configure</text>
    </example>
    <seealso>
     <ref>SA-compileflags</ref>
    </seealso>
    </definition>
   </item>
   <item type="Constant">
    <name>HTTP_ACCEPTED</name>
    <definition>
    <declaration>#include &quot;httpd.h&quot;</declaration>
    <description href="dict-HTTP_ACCEPTED.html" />
    <example>
     <text>request_rec *r;
  if (r-&gt;status == HTTP_ACCEPTED) {
      ...processing for HTTP_ACCEPTED status...
  }</text>
    </example>
    <seealso>
     <ref>SA-httpcodes</ref>
    </seealso>
    </definition>
   </item>
   <item type="Constant">
    <name>HTTP_BAD_GATEWAY</name>
    <definition>
    <declaration>#include &quot;httpd.h&quot;</declaration>
    <description href="dict-HTTP_BAD_GATEWAY.html" />
    <example>
     <text>request_rec *r;
  if (r-&gt;status == HTTP_BAD_GATEWAY) {
      ...processing for HTTP_BAD_GATEWAY status...
  }</text>
    </example>
    <seealso>
     <ref>SA-httpcodes</ref>
    </seealso>
    </definition>
   </item>
   <item type="Constant">
    <name>HTTP_BAD_REQUEST</name>
    <definition>
    <declaration>#include &quot;httpd.h&quot;</declaration>
    <description href="dict-HTTP_BAD_REQUEST.html" />
    <example>
     <text>request_rec *r;
  if (r-&gt;status == HTTP_BAD_REQUEST) {
      ...processing for HTTP_BAD_REQUEST status...
  }</text>
    </example>
    <seealso>
     <ref>SA-httpcodes</ref>
    </seealso>
    </definition>
   </item>
   <item type="Constant">
    <name>HTTP_CONFLICT</name>
    <definition>
    <declaration>#include &quot;httpd.h&quot;</declaration>
    <description href="dict-HTTP_CONFLICT.html" />
    <example>
     <text>request_rec *r;
  if (r-&gt;status == HTTP_CONFLICT) {
      ...processing for HTTP_CONFLICT status...
  }</text>
    </example>
    <seealso>
     <ref>SA-httpcodes</ref>
    </seealso>
    </definition>
   </item>
   <item type="Constant">
    <name>HTTP_CONTINUE</name>
    <definition>
    <declaration>#include &quot;httpd.h&quot;</declaration>
    <description href="dict-HTTP_CONTINUE.html" />
    <example>
     <text>request_rec *r;
  if (r-&gt;status == HTTP_CONTINUE) {
      ...processing for HTTP_CONTINUE status...
  }</text>
    </example>
    <seealso>
     <ref>SA-httpcodes</ref>
    </seealso>
    </definition>
   </item>
   <item type="Constant">
    <name>HTTP_CREATED</name>
    <definition>
    <declaration>#include &quot;httpd.h&quot;</declaration>
    <description href="dict-HTTP_CREATED.html" />
    <example>
     <text>request_rec *r;
  if (r-&gt;status == HTTP_CREATED) {
      ...processing for HTTP_CREATED status...
  }</text>
    </example>
    <seealso>
     <ref>SA-httpcodes</ref>
    </seealso>
    </definition>
   </item>
   <item type="Constant">
    <name>HTTP_EXPECTATION_FAILED</name>
    <definition>
    <declaration>#include &quot;httpd.h&quot;</declaration>
    <description />
    <example>
     <text>request_rec *r;
  if (r-&gt;status == HTTP_EXPECTATION_FAILED) {
      ...processing for HTTP_EXPECTATION_FAILED status...
  }</text>
    </example>
    <seealso>
     <ref>SA-httpcodes</ref>
    </seealso>
    </definition>
   </item>
   <item type="Constant">
    <name>HTTP_FAILED_DEPENDENCY</name>
    <definition>
    <declaration>#include &quot;httpd.h&quot;</declaration>
    <description />
    <example>
     <text>request_rec *r;
  if (r-&gt;status == HTTP_FAILED_DEPENDENCY) {
      ...processing for HTTP_FAILED_DEPENDENCY status...
  }</text>
    </example>
    <seealso>
     <ref>SA-httpcodes</ref>
    </seealso>
    </definition>
   </item>
   <item type="Constant">
    <name>HTTP_FORBIDDEN</name>
    <definition>
    <declaration>#include &quot;httpd.h&quot;</declaration>
    <description href="dict-HTTP_FORBIDDEN.html" />
    <example>
     <text>request_rec *r;
  if (r-&gt;status == HTTP_FORBIDDEN) {
      ...processing for HTTP_FORBIDDEN status...
  }</text>
    </example>
    <seealso>
     <ref>SA-httpcodes</ref>
    </seealso>
    </definition>
   </item>
   <item type="Constant">
    <name>HTTP_GATEWAY_TIME_OUT</name>
    <definition>
    <declaration>#include &quot;httpd.h&quot;</declaration>
    <description href="dict-HTTP_GATEWAY_TIME_OUT.html" />
    <example>
     <text>request_rec *r;
  if (r-&gt;status == HTTP_GATEWAY_TIME_OUT) {
      ...processing for HTTP_GATEWAY_TIME_OUT status...
  }</text>
    </example>
    <seealso>
     <ref>SA-httpcodes</ref>
    </seealso>
    </definition>
   </item>
   <item type="Constant">
    <name>HTTP_GONE</name>
    <definition>
    <declaration>#include &quot;httpd.h&quot;</declaration>
    <description href="dict-HTTP_GONE.html" />
    <example>
     <text>request_rec *r;
  if (r-&gt;status == HTTP_GONE) {
      ...processing for HTTP_GONE status...
  }</text>
    </example>
    <seealso>
     <ref>SA-httpcodes</ref>
    </seealso>
    </definition>
   </item>
   <item type="Constant">
    <name>HTTP_INSUFFICIENT_STORAGE</name>
    <definition>
    <declaration>#include &quot;httpd.h&quot;</declaration>
    <description />
    <example>
     <text>request_rec *r;
  if (r-&gt;status == HTTP_INSUFFICIENT_STORAGE) {
      ...processing for HTTP_INSUFFICIENT_STORAGE status...
  }</text>
    </example>
    <seealso>
     <ref>SA-httpcodes</ref>
    </seealso>
    </definition>
   </item>
   <item type="Constant">
    <name>HTTP_INTERNAL_SERVER_ERROR</name>
    <definition>
    <declaration>#include &quot;httpd.h&quot;</declaration>
    <description href="dict-HTTP_INTERNAL_SERVER_ERROR.html" />
    <example>
     <text>request_rec *r;
  if (r-&gt;status == HTTP_INTERNAL_SERVER_ERROR) {
      ...processing for HTTP_INTERNAL_SERVER_ERROR status...
  }</text>
    </example>
    <seealso>
     <ref>SA-httpcodes</ref>
    </seealso>
    </definition>
   </item>
   <item type="Constant">
    <name>HTTP_LENGTH_REQUIRED</name>
    <definition>
    <declaration>#include &quot;httpd.h&quot;</declaration>
    <description href="dict-HTTP_LENGTH_REQUIRED.html" />
    <example>
     <text>request_rec *r;
  if (r-&gt;status == HTTP_LENGTH_REQUIRED) {
      ...processing for HTTP_LENGTH_REQUIRED status...
  }</text>
    </example>
    <seealso>
     <ref>SA-httpcodes</ref>
    </seealso>
    </definition>
   </item>
   <item type="Constant">
    <name>HTTP_LOCKED</name>
    <definition>
    <declaration>#include &quot;httpd.h&quot;</declaration>
    <description />
    <example>
     <text>request_rec *r;
  if (r-&gt;status == HTTP_LOCKED) {
      ...processing for HTTP_LOCKED status...
  }</text>
    </example>
    <seealso>
     <ref>SA-httpcodes</ref>
    </seealso>
    </definition>
   </item>
   <item type="Constant">
    <name>HTTP_METHOD_NOT_ALLOWED</name>
    <definition>
    <declaration>#include &quot;httpd.h&quot;</declaration>
    <description href="dict-HTTP_METHOD_NOT_ALLOWED.html" />
    <example>
     <text>request_rec *r;
  if (r-&gt;status == HTTP_METHOD_NOT_ALLOWED) {
      ...processing for HTTP_METHOD_NOT_ALLOWED status...
  }</text>
    </example>
    <seealso>
     <ref>SA-httpcodes</ref>
    </seealso>
    </definition>
   </item>
   <item type="Constant">
    <name>HTTP_MOVED_PERMANENTLY</name>
    <definition>
    <declaration>#include &quot;httpd.h&quot;</declaration>
    <description href="dict-HTTP_MOVED_PERMANENTLY.html" />
    <example>
     <text>request_rec *r;
  if (r-&gt;status == HTTP_MOVED_PERMANENTLY) {
      ...processing for HTTP_MOVED_PERMANENTLY status...
  }</text>
    </example>
    <seealso>
     <ref>SA-httpcodes</ref>
    </seealso>
    </definition>
   </item>
   <item type="Constant">
    <name>HTTP_MOVED_TEMPORARILY</name>
    <definition>
    <declaration>#include &quot;httpd.h&quot;</declaration>
    <description href="dict-HTTP_MOVED_TEMPORARILY.html" />
    <example>
     <text>request_rec *r;
  if (r-&gt;status == HTTP_MOVED_TEMPORARILY) {
      ...processing for HTTP_MOVED_TEMPORARILY status...
  }</text>
    </example>
    <seealso>
     <ref>SA-httpcodes</ref>
    </seealso>
    </definition>
   </item>
   <item type="Constant">
    <name>HTTP_MULTIPLE_CHOICES</name>
    <definition>
    <declaration>#include &quot;httpd.h&quot;</declaration>
    <description href="dict-HTTP_MULTIPLE_CHOICES.html" />
    <example>
     <text>request_rec *r;
  if (r-&gt;status == HTTP_MULTIPLE_CHOICES) {
      ...processing for HTTP_MULTIPLE_CHOICES status...
  }</text>
    </example>
    <seealso>
     <ref>SA-httpcodes</ref>
    </seealso>
    </definition>
   </item>
   <item type="Constant">
    <name>HTTP_NON_AUTHORITATIVE</name>
    <definition>
    <declaration>#include &quot;httpd.h&quot;</declaration>
    <description href="dict-HTTP_NON_AUTHORITATIVE.html" />
    <example>
     <text>request_rec *r;
  if (r-&gt;status == HTTP_NON_AUTHORITATIVE) {
      ...processing for HTTP_NON_AUTHORITATIVE status...
  }</text>
    </example>
    <seealso>
     <ref>SA-httpcodes</ref>
    </seealso>
    </definition>
   </item>
   <item type="Constant">
    <name>HTTP_NOT_ACCEPTABLE</name>
    <definition>
    <declaration>#include &quot;httpd.h&quot;</declaration>
    <description href="dict-HTTP_NOT_ACCEPTABLE.html" />
    <example>
     <text>request_rec *r;
  if (r-&gt;status == HTTP_NOT_ACCEPTABLE) {
      ...processing for HTTP_NOT_ACCEPTABLE status...
  }</text>
    </example>
    <seealso>
     <ref>SA-httpcodes</ref>
    </seealso>
    </definition>
   </item>
   <item type="Constant">
    <name>HTTP_NOT_EXTENDED</name>
    <definition>
    <declaration>#include &quot;httpd.h&quot;</declaration>
    <description />
    <example>
     <text>request_rec *r;
  if (r-&gt;status == HTTP_NOT_EXTENDED) {
      ...processing for HTTP_NOT_EXTENDED status...
  }</text>
    </example>
    <seealso>
     <ref>SA-httpcodes</ref>
    </seealso>
    </definition>
   </item>
   <item type="Constant">
    <name>HTTP_NOT_FOUND</name>
    <definition>
    <declaration>#include &quot;httpd.h&quot;</declaration>
    <description href="dict-HTTP_NOT_FOUND.html" />
    <example>
     <text>request_rec *r;
  if (r-&gt;status == HTTP_NOT_FOUND) {
      ...processing for HTTP_NOT_FOUND status...
  }</text>
    </example>
    <seealso>
     <ref>SA-httpcodes</ref>
    </seealso>
    </definition>
   </item>
   <item type="Constant">
    <name>HTTP_NOT_IMPLEMENTED</name>
    <definition>
    <declaration>#include &quot;httpd.h&quot;</declaration>
    <description href="dict-HTTP_NOT_IMPLEMENTED.html" />
    <example>
     <text>request_rec *r;
  if (r-&gt;status == HTTP_NOT_IMPLEMENTED) {
      ...processing for HTTP_NOT_IMPLEMENTED status...
  }</text>
    </example>
    <seealso>
     <ref>SA-httpcodes</ref>
    </seealso>
    </definition>
   </item>
   <item type="Constant">
    <name>HTTP_NOT_MODIFIED</name>
    <definition>
    <declaration>#include &quot;httpd.h&quot;</declaration>
    <description href="dict-HTTP_NOT_MODIFIED.html" />
    <example>
     <text>request_rec *r;
  if (r-&gt;status == HTTP_NOT_MODIFIED) {
      ...processing for HTTP_NOT_MODIFIED status...
  }</text>
    </example>
    <seealso>
     <ref>SA-httpcodes</ref>
    </seealso>
    </definition>
   </item>
   <item type="Constant">
    <name>HTTP_NO_CONTENT</name>
    <definition>
    <declaration>#include &quot;httpd.h&quot;</declaration>
    <description href="dict-HTTP_NO_CONTENT.html" />
    <example>
     <text>request_rec *r;
  if (r-&gt;status == HTTP_NO_CONTENT) {
      ...processing for HTTP_NO_CONTENT status...
  }</text>
    </example>
    <seealso>
     <ref>SA-httpcodes</ref>
    </seealso>
    </definition>
   </item>
   <item type="Constant">
    <name>HTTP_OK</name>
    <definition>
    <declaration>#include &quot;httpd.h&quot;</declaration>
    <description href="dict-HTTP_OK.html" />
    <example>
     <text>request_rec *r;
  if (r-&gt;status == HTTP_OK) {
      ...processing for HTTP_OK status...
  }</text>
    </example>
    <seealso>
     <ref>SA-httpcodes</ref>
    </seealso>
    </definition>
   </item>
   <item type="Constant">
    <name>HTTP_PARTIAL_CONTENT</name>
    <definition>
    <declaration>#include &quot;httpd.h&quot;</declaration>
    <description href="dict-HTTP_PARTIAL_CONTENT.html" />
    <example>
     <text>request_rec *r;
  if (r-&gt;status == HTTP_PARTIAL_CONTENT) {
      ...processing for HTTP_PARTIAL_CONTENT status...
  }</text>
    </example>
    <seealso>
     <ref>SA-httpcodes</ref>
    </seealso>
    </definition>
   </item>
   <item type="Constant">
    <name>HTTP_PAYMENT_REQUIRED</name>
    <definition>
    <declaration>#include &quot;httpd.h&quot;</declaration>
    <description href="dict-HTTP_PAYMENT_REQUIRED.html" />
    <example>
     <text>request_rec *r;
  if (r-&gt;status == HTTP_PAYMENT_REQUIRED) {
      ...processing for HTTP_PAYMENT_REQUIRED status...
  }</text>
    </example>
    <seealso>
     <ref>SA-httpcodes</ref>
    </seealso>
    </definition>
   </item>
   <item type="Constant">
    <name>HTTP_PRECONDITION_FAILED</name>
    <definition>
    <declaration>#include &quot;httpd.h&quot;</declaration>
    <description href="dict-HTTP_PRECONDITION_FAILED.html" />
    <example>
     <text>request_rec *r;
  if (r-&gt;status == HTTP_PRECONDITION_FAILED) {
      ...processing for HTTP_PRECONDITION_FAILED status...
  }</text>
    </example>
    <seealso>
     <ref>SA-httpcodes</ref>
    </seealso>
    </definition>
   </item>
   <item type="Constant">
    <name>HTTP_PROCESSING</name>
    <definition>
    <declaration>#include &quot;httpd.h&quot;</declaration>
    <description />
    <example>
     <text>request_rec *r;
  if (r-&gt;status == HTTP_PROCESSING) {
      ...processing for HTTP_PROCESSING status...
  }</text>
    </example>
    <seealso>
     <ref>SA-httpcodes</ref>
    </seealso>
    </definition>
   </item>
   <item type="Constant">
    <name>HTTP_PROXY_AUTHENTICATION_REQUIRED</name>
    <definition>
    <declaration>#include &quot;httpd.h&quot;</declaration>
    <description href="dict-HTTP_PROXY_AUTHENTICATION_REQUIRED.html" />
    <example>
     <text>request_rec *r;
  if (r-&gt;status == HTTP_PROXY_AUTHENTICATION_REQUIRED) {
      ...processing for HTTP_PROXY_AUTHENTICATION_REQUIRED status...
  }</text>
    </example>
    <seealso>
     <ref>SA-httpcodes</ref>
    </seealso>
    </definition>
   </item>
   <item type="Constant">
    <name>HTTP_RANGE_NOT_SATISFIABLE</name>
    <definition>
    <declaration>#include &quot;httpd.h&quot;</declaration>
    <description />
    <example>
     <text>request_rec *r;
  if (r-&gt;status == HTTP_RANGE_NOT_SATISFIABLE) {
      ...processing for HTTP_RANGE_NOT_SATISFIABLE status...
  }</text>
    </example>
    <seealso>
     <ref>SA-httpcodes</ref>
    </seealso>
    </definition>
   </item>
   <item type="Constant">
    <name>HTTP_REQUEST_ENTITY_TOO_LARGE</name>
    <definition>
    <declaration>#include &quot;httpd.h&quot;</declaration>
    <description href="dict-HTTP_REQUEST_ENTITY_TOO_LARGE.html" />
    <example>
     <text>request_rec *r;
  if (r-&gt;status == HTTP_REQUEST_ENTITY_TOO_LARGE) {
      ...processing for HTTP_REQUEST_ENTITY_TOO_LARGE status...
  }</text>
    </example>
    <seealso>
     <ref>SA-httpcodes</ref>
    </seealso>
    </definition>
   </item>
   <item type="Constant">
    <name>HTTP_REQUEST_TIME_OUT</name>
    <definition>
    <declaration>#include &quot;httpd.h&quot;</declaration>
    <description href="dict-HTTP_REQUEST_TIME_OUT.html" />
    <example>
     <text>request_rec *r;
  if (r-&gt;status == HTTP_REQUEST_TIME_OUT) {
      ...processing for HTTP_REQUEST_TIME_OUT status...
  }</text>
    </example>
    <seealso>
     <ref>SA-httpcodes</ref>
    </seealso>
    </definition>
   </item>
   <item type="Constant">
    <name>HTTP_REQUEST_URI_TOO_LARGE</name>
    <definition>
    <declaration>#include &quot;httpd.h&quot;</declaration>
    <description href="dict-HTTP_REQUEST_URI_TOO_LARGE.html" />
    <example>
     <text>request_rec *r;
  if (r-&gt;status == HTTP_REQUEST_URI_TOO_LARGE) {
      ...processing for HTTP_REQUEST_URI_TOO_LARGE status...
  }</text>
    </example>
    <seealso>
     <ref>SA-httpcodes</ref>
    </seealso>
    </definition>
   </item>
   <item type="Constant">
    <name>HTTP_RESET_CONTENT</name>
    <definition>
    <declaration>#include &quot;httpd.h&quot;</declaration>
    <description href="dict-HTTP_RESET_CONTENT.html" />
    <example>
     <text>request_rec *r;
  if (r-&gt;status == HTTP_RESET_CONTENT) {
      ...processing for HTTP_RESET_CONTENT status...
  }</text>
    </example>
    <seealso>
     <ref>SA-httpcodes</ref>
    </seealso>
    </definition>
   </item>
   <item type="Constant">
    <name>HTTP_SEE_OTHER</name>
    <definition>
    <declaration>#include &quot;httpd.h&quot;</declaration>
    <description href="dict-HTTP_SEE_OTHER.html" />
    <example>
     <text>request_rec *r;
  if (r-&gt;status == HTTP_SEE_OTHER) {
      ...processing for HTTP_SEE_OTHER status...
  }</text>
    </example>
    <seealso>
     <ref>SA-httpcodes</ref>
    </seealso>
    </definition>
   </item>
   <item type="Constant">
    <name>HTTP_SERVICE_UNAVAILABLE</name>
    <definition>
    <declaration>#include &quot;httpd.h&quot;</declaration>
    <description href="dict-HTTP_SERVICE_UNAVAILABLE.html" />
    <example>
     <text>request_rec *r;
  if (r-&gt;status == HTTP_SERVICE_UNAVAILABLE) {
      ...processing for HTTP_SERVICE_UNAVAILABLE status...
  }</text>
    </example>
    <seealso>
     <ref>SA-httpcodes</ref>
    </seealso>
    </definition>
   </item>
   <item type="Constant">
    <name>HTTP_SWITCHING_PROTOCOLS</name>
    <definition>
    <declaration>#include &quot;httpd.h&quot;</declaration>
    <description href="dict-HTTP_SWITCHING_PROTOCOLS.html" />
    <example>
     <text>request_rec *r;
  if (r-&gt;status == HTTP_SWITCHING_PROTOCOLS) {
      ...processing for HTTP_SWITCHING_PROTOCOLS status...
  }</text>
    </example>
    <seealso>
     <ref>SA-httpcodes</ref>
    </seealso>
    </definition>
   </item>
   <item type="Constant">
    <name>HTTP_UNAUTHORIZED</name>
    <definition>
    <declaration>#include &quot;httpd.h&quot;</declaration>
    <description href="dict-HTTP_UNAUTHORIZED.html" />
    <example>
     <text>request_rec *r;
  if (r-&gt;status == HTTP_UNAUTHORIZED) {
      ...processing for HTTP_UNAUTHORIZED status...
  }</text>
    </example>
    <seealso>
     <ref>SA-httpcodes</ref>
    </seealso>
    </definition>
   </item>
   <item type="Constant">
    <name>HTTP_UNPROCESSABLE_ENTITY</name>
    <definition>
    <declaration>#include &quot;httpd.h&quot;</declaration>
    <description />
    <example>
     <text>request_rec *r;
  if (r-&gt;status == HTTP_UNPROCESSABLE_ENTITY) {
      ...processing for HTTP_UNPROCESSABLE_ENTITY status...
  }</text>
    </example>
    <seealso>
     <ref>SA-httpcodes</ref>
    </seealso>
    </definition>
   </item>
   <item type="Constant">
    <name>HTTP_UNSUPPORTED_MEDIA_TYPE</name>
    <definition>
    <declaration>#include &quot;httpd.h&quot;</declaration>
    <description href="dict-HTTP_UNSUPPORTED_MEDIA_TYPE.html" />
    <example>
     <text>request_rec *r;
  if (r-&gt;status == HTTP_UNSUPPORTED_MEDIA_TYPE) {
      ...processing for HTTP_UNSUPPORTED_MEDIA_TYPE status...
  }</text>
    </example>
    <seealso>
     <ref>SA-httpcodes</ref>
    </seealso>
    </definition>
   </item>
   <item type="Constant">
    <name>HTTP_USE_PROXY</name>
    <definition>
    <declaration>#include &quot;httpd.h&quot;</declaration>
    <description href="dict-HTTP_USE_PROXY.html" />
    <example>
     <text>request_rec *r;
  if (r-&gt;status == HTTP_USE_PROXY) {
      ...processing for HTTP_USE_PROXY status...
  }</text>
    </example>
    <seealso>
     <ref>SA-httpcodes</ref>
    </seealso>
    </definition>
   </item>
   <item type="Constant">
    <name>HTTP_VARIANT_ALSO_VARIES</name>
    <definition>
    <declaration>#include &quot;httpd.h&quot;</declaration>
    <description href="dict-HTTP_VARIANT_ALSO_VARIES.html" />
    <example>
     <text>request_rec *r;
  if (r-&gt;status == HTTP_VARIANT_ALSO_VARIES) {
      ...processing for HTTP_VARIANT_ALSO_VARIES status...
  }</text>
    </example>
    <seealso>
     <ref>SA-httpcodes</ref>
    </seealso>
    </definition>
   </item>
   <item type="Macro">
    <name>HTTP_VERSION</name>
    <definition>
    <declaration>#define HTTP_VERSION(major,minor) (1000*(major)+(minor))</declaration>
    <description />
    <seealso>
     <ref>SA-httpcodes</ref>
    </seealso>
    </definition>
   </item>
   <item type="Macro">
    <name>HTTP_VERSION_MAJOR</name>
    <definition>
    <declaration>#define HTTP_VERSION_MAJOR(number) ((number)/1000)</declaration>
    <description />
    <example>
     <text>if (HTTP_VERSION_MAJOR(r-&gt;proto_num) &lt; 1) {
      /* Protocol version is less than 1.0 */
  }</text>
    </example>
    <seealso>
     <ref>SA-httpcodes</ref>
    </seealso>
    </definition>
   </item>
   <item type="Macro">
    <name>HTTP_VERSION_MINOR</name>
    <definition>
    <declaration>#define HTTP_VERSION_MINOR(number) ((number)%1000)</declaration>
    <description />
    <example>
     <text>if ((HTTP_VERSION_MINOR(r-&gt;proto_num) &gt;= 1)
          &amp;&amp; (HTTP_VERSION_MINOR(r-&gt;proto_num) &gt; 1)) {
      /* Protocol version is greater than 1.1 */
  }</text>
    </example>
    <seealso>
     <ref>SA-httpcodes</ref>
    </seealso>
    </definition>
   </item>
   <item type="Constant">
    <name>HTTP_VERSION_NOT_SUPPORTED</name>
    <definition>
    <declaration>#include &quot;httpd.h&quot;</declaration>
    <description href="dict-HTTP_VERSION_NOT_SUPPORTED.html" />
    <example>
     <text>request_rec *r;
  if (r-&gt;status == HTTP_VERSION_NOT_SUPPORTED) {
      ...processing for HTTP_VERSION_NOT_SUPPORTED status...
  }</text>
    </example>
    <seealso>
     <ref>SA-httpcodes</ref>
    </seealso>
    </definition>
   </item>
   <item type="Constant">
    <name>HUGE_STRING_LEN</name>
    <definition>
    <declaration>#include &quot;httpd.h&quot;</declaration>
    <description href="dict-HUGE_STRING_LEN.html" />
    <example>
     <text>char random_string[HUGE_STRING_LEN];</text>
    </example>
    <seealso>
     <ref>SA-stringconst</ref>
    </seealso>
    </definition>
   </item>
   <item type="Constant">
    <name>ITERATE</name>
    <definition>
    <declaration>#include &quot;httpd.h&quot;
  &lt;i&gt;see&lt;/i&gt; cmd_how.</declaration>
    <description href="dict-ITERATE.html" />
    <example>
     <text>static const command_rec module_cmds[] =
  {
          .
      {&quot;ModuleDirective&quot;, cmd_moduledirective, NULL, OR_LIMIT, ITERATE,
       &quot;directive description&quot;},
          .
      {NULL}
  };</text>
    </example>
    <seealso>
     <ref>SA-dirdata</ref>
    </seealso>
    </definition>
   </item>
   <item type="Constant">
    <name>ITERATE2</name>
    <definition>
    <declaration>#include &quot;httpd.h&quot;
  &lt;i&gt;see&lt;/i&gt; cmd_how.</declaration>
    <description href="dict-ITERATE2.html" />
    <example>
     <text>static const command_rec module_cmds[] =
  {
          .
      {&quot;ModuleDirective&quot;, cmd_moduledirective, NULL, OR_LIMIT, ITERATE2,
       &quot;directive description&quot;},
          .
      {NULL}
  };</text>
    </example>
    <seealso>
     <ref>SA-dirdata</ref>
    </seealso>
    </definition>
   </item>
   <item type="Constant">
    <name>LF</name>
    <definition>
    <declaration>#include &quot;httpd.h&quot;</declaration>
    <description href="dict-LF.html" />
    <example>
     <text>*++string = LF;</text>
    </example>
    <seealso>
     <ref>SA-stringconst</ref>
    </seealso>
    </definition>
   </item>
   <item type="Constant">
    <name>MAX_STRING_LEN</name>
    <definition>
    <declaration>#include &quot;httpd.h&quot;</declaration>
    <description href="dict-MAX_STRING_LEN.html" />
    <example>
     <text>char random_string[MAX_STRING_LEN];</text>
    </example>
    <seealso>
     <ref>SA-stringconst</ref>
    </seealso>
    </definition>
   </item>
   <item type="Macro">
    <name>MODULE_MAGIC_AT_LEAST</name>
    <definition>
    <declaration>&lt;i&gt;Obsolete&lt;/i&gt;</declaration>
    <description href="dict-MODULE_MAGIC_AT_LEAST.html" />
    <seealso>
     <ref>SA-MMN</ref>
    </seealso>
    </definition>
   </item>
   <item type="Constant">
    <name>MODULE_MAGIC_COOKIE</name>
    <definition>
    <declaration>#include &quot;ap_mmn.h&quot;</declaration>
    <description />
    <example>
     <text>if (modp-&gt;magic != MODULE_MAGIC_COOKIE) {
      return &quot;Module structure is invalid.&quot;;
  }</text>
    </example>
    <seealso>
     <ref>SA-MMN</ref>
    </seealso>
    </definition>
   </item>
   <item type="Constant">
    <name>MODULE_MAGIC_NUMBER</name>
    <definition>
    <declaration>#include &quot;ap_mmn.h&quot;</declaration>
    <description href="dict-MODULE_MAGIC_NUMBER.html" />
    <example>
     <text>module *m;
  if (m-&gt;version != MODULE_MAGIC_NUMBER)
      exit(1);
  }</text>
    </example>
    <seealso>
     <ref>SA-MMN</ref>
    </seealso>
    </definition>
   </item>
   <item type="Constant">
    <name>MODULE_MAGIC_NUMBER_MAJOR</name>
    <definition>
    <declaration>#include &quot;ap_mmn.h&quot;</declaration>
    <description />
    <example>
     <text>&lt;i&gt;No examples available.&lt;/i&gt;</text>
    </example>
    <seealso>
     <ref>SA-MMN</ref>
    </seealso>
    </definition>
   </item>
   <item type="Constant">
    <name>MODULE_MAGIC_NUMBER_MINOR</name>
    <definition>
    <declaration>#include &quot;ap_mmn.h&quot;</declaration>
    <description />
    <example>
     <text>&lt;i&gt;No examples available.&lt;/i&gt;</text>
    </example>
    <seealso>
     <ref>SA-MMN</ref>
    </seealso>
    </definition>
   </item>
   <item type="Constant">
    <name>MULTI_ERR</name>
    <definition>
    <declaration>#include &quot;multithread.h&quot;</declaration>
    <description href="dict-MULTI_ERR.html" />
    <example>
     <text>static int
  map_rv(int rv)
  { 
      switch(rv)
      { 
      case WAIT_OBJECT_0: 
      case WAIT_ABANDONED: 
          return(MULTI_OK); 
      case WAIT_TIMEOUT: 
          return(MULTI_TIMEOUT); 
      case WAIT_FAILED: 
          return(MULTI_ERR); 
      default: 
          assert(0); 
      } 
   
      assert(0); 
      return(0); 
  } </text>
    </example>
    <seealso>
     <ref>SA-multi</ref>
    </seealso>
    </definition>
   </item>
   <item type="Constant">
    <name>MULTI_OK</name>
    <definition>
    <declaration>#include &quot;multithread.h&quot;</declaration>
    <description href="dict-MULTI_OK.html" />
    <example>
     <text>static int
  map_rv(int rv)
  { 
      switch(rv)
      { 
      case WAIT_OBJECT_0: 
      case WAIT_ABANDONED: 
          return(MULTI_OK); 
      case WAIT_TIMEOUT: 
          return(MULTI_TIMEOUT); 
      case WAIT_FAILED: 
          return(MULTI_ERR); 
      default: 
          assert(0); 
      } 
   
      assert(0); 
      return(0); 
  } </text>
    </example>
    <seealso>
     <ref>SA-multi</ref>
    </seealso>
    </definition>
   </item>
   <item type="Constant">
    <name>MULTI_TIMEOUT</name>
    <definition>
    <declaration>#include &quot;multithread.h&quot;</declaration>
    <description href="dict-MULTI_TIMEOUT.html" />
    <example>
     <text>static int
  map_rv(int rv)
  { 
      switch(rv)
      { 
      case WAIT_OBJECT_0: 
      case WAIT_ABANDONED: 
          return(MULTI_OK); 
      case WAIT_TIMEOUT: 
          return(MULTI_TIMEOUT); 
      case WAIT_FAILED: 
          return(MULTI_ERR); 
      default: 
          assert(0); 
      } 
   
      assert(0); 
      return(0); 
  } </text>
    </example>
    <seealso>
     <ref>SA-multi</ref>
    </seealso>
    </definition>
   </item>
   <item type="Constant">
    <name>M_CONNECT</name>
    <definition>
    <declaration>#include &quot;httpd.h&quot;</declaration>
    <description href="dict-M_CONNECT.html" />
    <example>
     <text>request_rec *r;
  if (r-&gt;method_number == M_CONNECT) {
      return HTTP_METHOD_NOT_ALLOWED;
  } </text>
    </example>
    <seealso>
     <ref>SA-methods</ref>
    </seealso>
    </definition>
   </item>
   <item type="Constant">
    <name>M_COPY</name>
    <definition>
    <declaration>#include &quot;httpd.h&quot;</declaration>
    <description />
    <example>
     <text>request_rec *r;
  if (r-&gt;method_number == M_COPY) {
      return HTTP_METHOD_NOT_ALLOWED;
  } </text>
    </example>
    <seealso>
     <ref>SA-methods</ref>
    </seealso>
    </definition>
   </item>
   <item type="Constant">
    <name>M_DELETE</name>
    <definition>
    <declaration>#include &quot;httpd.h&quot;</declaration>
    <description href="dict-M_DELETE.html" />
    <example>
     <text>request_rec *r;
  if (r-&gt;method_number == M_DELETE) {
      return HTTP_METHOD_NOT_ALLOWED;
  } </text>
    </example>
    <seealso>
     <ref>SA-methods</ref>
    </seealso>
    </definition>
   </item>
   <item type="Constant">
    <name>M_GET</name>
    <definition>
    <declaration>#include &quot;httpd.h&quot;</declaration>
    <description href="dict-M_GET.html" />
    <example>
     <text>request_rec *r;
  if (r-&gt;method_number == M_GET) {
      return HTTP_METHOD_NOT_ALLOWED;
  } </text>
    </example>
    <seealso>
     <ref>SA-methods</ref>
    </seealso>
    </definition>
   </item>
   <item type="Constant">
    <name>M_INVALID</name>
    <definition>
    <declaration>#include &quot;httpd.h&quot;</declaration>
    <description href="dict-M_INVALID.html" />
    <example>
     <text>request_rec *r;
  if (r-&gt;method_number == M_INVALID) {
      return HTTP_METHOD_NOT_ALLOWED;
  } </text>
    </example>
    <seealso>
     <ref>SA-methods</ref>
    </seealso>
    </definition>
   </item>
   <item type="Constant">
    <name>M_LOCK</name>
    <definition>
    <declaration>#include &quot;httpd.h&quot;</declaration>
    <description />
    <example>
     <text>request_rec *r;
  if (r-&gt;method_number == M_LOCK) {
      return HTTP_METHOD_NOT_ALLOWED;
  } </text>
    </example>
    <seealso>
     <ref>SA-methods</ref>
    </seealso>
    </definition>
   </item>
   <item type="Constant">
    <name>M_MKCOL</name>
    <definition>
    <declaration>#include &quot;httpd.h&quot;</declaration>
    <description />
    <example>
     <text>request_rec *r;
  if (r-&gt;method_number == M_MKCOL) {
      return HTTP_METHOD_NOT_ALLOWED;
  } </text>
    </example>
    <seealso>
     <ref>SA-methods</ref>
    </seealso>
    </definition>
   </item>
   <item type="Constant">
    <name>M_MOVE</name>
    <definition>
    <declaration>#include &quot;httpd.h&quot;</declaration>
    <description />
    <example>
     <text>request_rec *r;
  if (r-&gt;method_number == M_MOVE) {
      return HTTP_METHOD_NOT_ALLOWED;
  } </text>
    </example>
    <seealso>
     <ref>SA-methods</ref>
    </seealso>
    </definition>
   </item>
   <item type="Constant">
    <name>M_OPTIONS</name>
    <definition>
    <declaration>#include &quot;httpd.h&quot;</declaration>
    <description href="dict-M_OPTIONS.html" />
    <example>
     <text>request_rec *r;
  if (r-&gt;method_number == M_OPTIONS) {
      return HTTP_METHOD_NOT_ALLOWED;
  } </text>
    </example>
    <seealso>
     <ref>SA-methods</ref>
    </seealso>
    </definition>
   </item>
   <item type="Constant">
    <name>M_PATCH</name>
    <definition>
    <declaration>#include &quot;httpd.h&quot;</declaration>
    <description />
    <example>
     <text>request_rec *r;
  if (r-&gt;method_number == M_PATCH) {
      return HTTP_METHOD_NOT_ALLOWED;
  } </text>
    </example>
    <seealso>
     <ref>SA-methods</ref>
    </seealso>
    </definition>
   </item>
   <item type="Constant">
    <name>M_POST</name>
    <definition>
    <declaration>#include &quot;httpd.h&quot;</declaration>
    <description href="dict-M_POST.html" />
    <example>
     <text>request_rec *r;
  if (r-&gt;method_number == M_POST) {
      return HTTP_METHOD_NOT_ALLOWED;
  } </text>
    </example>
    <seealso>
     <ref>SA-methods</ref>
    </seealso>
    </definition>
   </item>
   <item type="Constant">
    <name>M_PROPFIND</name>
    <definition>
    <declaration>#include &quot;httpd.h&quot;</declaration>
    <description />
    <example>
     <text>request_rec *r;
  if (r-&gt;method_number == M_PROPFIND) {
      return HTTP_METHOD_NOT_ALLOWED;
  } </text>
    </example>
    <seealso>
     <ref>SA-methods</ref>
    </seealso>
    </definition>
   </item>
   <item type="Constant">
    <name>M_PUT</name>
    <definition>
    <declaration>#include &quot;httpd.h&quot;</declaration>
    <description href="dict-M_PUT.html" />
    <example>
     <text>request_rec *r;
  if (r-&gt;method_number == M_PUT) {
      return HTTP_METHOD_NOT_ALLOWED;
  } </text>
    </example>
    <seealso>
     <ref>SA-methods</ref>
    </seealso>
    </definition>
   </item>
   <item type="Constant">
    <name>M_TRACE</name>
    <definition>
    <declaration>#include &quot;httpd.h&quot;</declaration>
    <description href="dict-M_TRACE.html" />
    <example>
     <text>request_rec *r;
  if (r-&gt;method_number == M_TRACE) {
      return HTTP_METHOD_NOT_ALLOWED;
  } </text>
    </example>
    <seealso>
     <ref>SA-methods</ref>
    </seealso>
    </definition>
   </item>
   <item type="Constant">
    <name>M_UNLOCK</name>
    <definition>
    <declaration>#include &quot;httpd.h&quot;</declaration>
    <description />
    <example>
     <text>request_rec *r;
  if (r-&gt;method_number == M_UNLOCK) {
      return HTTP_METHOD_NOT_ALLOWED;
  } </text>
    </example>
    <seealso>
     <ref>SA-methods</ref>
    </seealso>
    </definition>
   </item>
   <item type="Constant">
    <name>NOT_IN_DIRECTORY</name>
    <definition>
    <declaration>#include &quot;http_config.h&quot;</declaration>
    <description />
    <seealso>
     <ref>SA-context</ref>
    </seealso>
    </definition>
   </item>
   <item type="Constant">
    <name>NOT_IN_DIR_LOC_FILE</name>
    <definition>
    <declaration>#include &quot;http_config.h&quot;</declaration>
    <description />
    <seealso>
     <ref>SA-context</ref>
    </seealso>
    </definition>
   </item>
   <item type="Constant">
    <name>NOT_IN_FILES</name>
    <definition>
    <declaration>#include &quot;http_config.h&quot;</declaration>
    <description />
    <seealso>
     <ref>SA-context</ref>
    </seealso>
    </definition>
   </item>
   <item type="Constant">
    <name>NOT_IN_LIMIT</name>
    <definition>
    <declaration>#include &quot;http_config.h&quot;</declaration>
    <description />
    <seealso>
     <ref>SA-context</ref>
    </seealso>
    </definition>
   </item>
   <item type="Constant">
    <name>NOT_IN_LOCATION</name>
    <definition>
    <declaration>#include &quot;http_config.h&quot;</declaration>
    <description />
    <seealso>
     <ref>SA-context</ref>
    </seealso>
    </definition>
   </item>
   <item type="Constant">
    <name>NOT_IN_VIRTUALHOST</name>
    <definition>
    <declaration>#include &quot;http_config.h&quot;</declaration>
    <description />
    <seealso>
     <ref>SA-context</ref>
    </seealso>
    </definition>
   </item>
   <item type="Constant">
    <name>NO_ARGS</name>
    <definition>
    <declaration>#include &quot;httpd.h&quot;
  &lt;i&gt;see&lt;/i&gt; cmd_how.</declaration>
    <description href="dict-NO_ARGS.html" />
    <example>
     <text>static const command_rec module_cmds[] =
  {
          .
      {&quot;ModuleDirective&quot;, cmd_moduledirective, NULL, OR_LIMIT, NO_ARGS,
       &quot;directive description&quot;},
          .
      {NULL}
  };</text>
    </example>
    <seealso>
     <ref>SA-dirdata</ref>
    </seealso>
    </definition>
   </item>
   <item type="Constant">
    <name>OK</name>
    <definition>
    <declaration>#include &quot;httpd.h&quot;</declaration>
    <description href="dict-OK.html" />
    <example>
     <text>request_rec *r;
  if (!is_HTTP_ERROR(r-&gt;status)) { 
      return OK; 
  } </text>
    </example>
    <seealso>
     <ref>SA-dirstat</ref>
    </seealso>
    </definition>
   </item>
   <item type="Constant">
    <name>OPT_ALL</name>
    <definition>
    <declaration>#include &quot;http_core.h&quot;</declaration>
    <description />
    <example>
     <text>if ((ap_allow_options(r) &amp; OPT_ALL) == OPT_ALL) {
      /* Options All covers this location
       * Equivalent to Options [+]Indexes [+]Includes [+]ExecCGI [+]FollowSymLinks
       */
  } </text>
    </example>
    <seealso>
     <ref>SA-options</ref>
    </seealso>
    </definition>
   </item>
   <item type="Constant">
    <name>OPT_EXECCGI</name>
    <definition>
    <declaration>#include &quot;http_core.h&quot;</declaration>
    <description />
    <example>
     <text>if (ap_allow_options(r) &amp; OPT_EXECCGI) {
      /* Options [+]ExecCGI covers this location */
  } </text>
    </example>
    <seealso>
     <ref>SA-options</ref>
    </seealso>
    </definition>
   </item>
   <item type="Constant">
    <name>OPT_INCLUDES</name>
    <definition>
    <declaration>#include &quot;http_core.h&quot;</declaration>
    <description />
    <example>
     <text>if (ap_allow_options(r) &amp; OPT_INCLUDES) {
      /* Options [+]Includes covers this location */
  } </text>
    </example>
    <seealso>
     <ref>SA-options</ref>
    </seealso>
    </definition>
   </item>
   <item type="Constant">
    <name>OPT_INCNOEXEC</name>
    <definition>
    <declaration>#include &quot;http_core.h&quot;</declaration>
    <description />
    <example>
     <text>if (ap_allow_options(r) &amp; OPT_INCNOEXEC) {
      /* Options [+]IncludesNoExec covers this location */
  } </text>
    </example>
    <seealso>
     <ref>SA-options</ref>
    </seealso>
    </definition>
   </item>
   <item type="Constant">
    <name>OPT_INDEXES</name>
    <definition>
    <declaration>#include &quot;http_core.h&quot;</declaration>
    <description />
    <example>
     <text>if (ap_allow_options(r) &amp; OPT_INDEXES) {
      /* Options [+]Indexes covers this location */
  } </text>
    </example>
    <seealso>
     <ref>SA-options</ref>
    </seealso>
    </definition>
   </item>
   <item type="Constant">
    <name>OPT_MULTI</name>
    <definition>
    <declaration>#include &quot;http_core.h&quot;</declaration>
    <description />
    <example>
     <text>if (ap_allow_options(r) &amp; OPT_MULTI) {
      /* Options [+]MultiViews covers this location */
  } </text>
    </example>
    <seealso>
     <ref>SA-options</ref>
    </seealso>
    </definition>
   </item>
   <item type="Constant">
    <name>OPT_NONE</name>
    <definition>
    <declaration>#include &quot;http_core.h&quot;</declaration>
    <description />
    <example>
     <text>if (ap_allow_options(r) == OPT_NONE) {
      /* No Options keywords are active for this location */
  } return DECLINED;
  } </text>
    </example>
    <seealso>
     <ref>SA-options</ref>
    </seealso>
    </definition>
   </item>
   <item type="Constant">
    <name>OPT_SYM_LINKS</name>
    <definition>
    <declaration>#include &quot;http_core.h&quot;</declaration>
    <description />
    <example>
     <text>if (ap_allow_options(r) &amp; OPT_SYM_LINKS) {
      /* Options [+]FollowSymLinks covers this location */
  } </text>
    </example>
    <seealso>
     <ref>SA-options</ref>
    </seealso>
    </definition>
   </item>
   <item type="Constant">
    <name>OPT_SYM_OWNER</name>
    <definition>
    <declaration>#include &quot;http_core.h&quot;</declaration>
    <description />
    <example>
     <text>if (ap_allow_options(r) &amp; OPT_SYM_OWNER) {
      /* Options [+]SymLinksIfOwnerMatch covers this location */
  } </text>
    </example>
    <seealso>
     <ref>SA-options</ref>
    </seealso>
    </definition>
   </item>
   <item type="Constant">
    <name>OPT_UNSET</name>
    <definition>
    <declaration>#include &quot;http_core.h&quot;</declaration>
    <description />
    <example>
     <text>/* This value and its meaning are private to the core server. */ </text>
    </example>
    <seealso>
     <ref>SA-options</ref>
    </seealso>
    </definition>
   </item>
   <item type="Constant">
    <name>OR_AUTHCFG</name>
    <definition>
    <declaration>#include &quot;http_config.h&quot;</declaration>
    <description href="dict-OR_AUTHCFG.html" />
    <example>
     <text>static const command_rec module_cmds[] =
  {
          .
      {&quot;ModuleDirective&quot;, cmd_moduledirective, NULL, OR_AUTHCFG, RAW_ARGS,
       &quot;description of directive&quot;},
          .
      {NULL}
  };</text>
    </example>
    <seealso>
     <ref>SA-overrides</ref>
    </seealso>
    </definition>
   </item>
   <item type="Constant">
    <name>OR_FILEINFO</name>
    <definition>
    <declaration>#include &quot;http_config.h&quot;</declaration>
    <description href="dict-OR_FILEINFO.html" />
    <example>
     <text>static const command_rec module_cmds[] =
  {
          .
      {&quot;ModuleDirective&quot;, cmd_moduledirective, NULL, OR_FILEINFO, RAW_ARGS,
       &quot;description of directive&quot;},
          .
      {NULL}
  };</text>
    </example>
    <seealso>
     <ref>SA-overrides</ref>
    </seealso>
    </definition>
   </item>
   <item type="Constant">
    <name>OR_INDEXES</name>
    <definition>
    <declaration>#include &quot;http_config.h&quot;</declaration>
    <description href="dict-OR_INDEXES.html" />
    <example>
     <text>static const command_rec module_cmds[] =
  {
          .
      {&quot;ModuleDirective&quot;, cmd_moduledirective, NULL, OR_INDEXES, RAW_ARGS,
       &quot;description of directive&quot;},
          .
      {NULL}
  };</text>
    </example>
    <seealso>
     <ref>SA-overrides</ref>
    </seealso>
    </definition>
   </item>
   <item type="Constant">
    <name>OR_LIMIT</name>
    <definition>
    <declaration>#include &quot;http_config.h&quot;</declaration>
    <description href="dict-OR_LIMIT.html" />
    <example>
     <text>static const command_rec module_cmds[] =
  {
          .
      {&quot;ModuleDirective&quot;, cmd_moduledirective, NULL, OR_LIMIT, RAW_ARGS,
       &quot;description of directive&quot;},
          .
      {NULL}
  };</text>
    </example>
    <seealso>
     <ref>SA-overrides</ref>
    </seealso>
    </definition>
   </item>
   <item type="Constant">
    <name>OR_OPTIONS</name>
    <definition>
    <declaration>#include &quot;http_config.h&quot;</declaration>
    <description href="dict-OR_OPTIONS.html" />
    <example>
     <text>static const command_rec module_cmds[] =
  {
          .
      {&quot;ModuleDirective&quot;, cmd_moduledirective, NULL, OR_OPTIONS, RAW_ARGS,
       &quot;description of directive&quot;},
          .
      {NULL}
  };</text>
    </example>
    <seealso>
     <ref>SA-overrides</ref>
    </seealso>
    </definition>
   </item>
   <item type="Macro">
    <name>OS_ASC</name>
    <definition>
    <declaration>#ifndef CHARSET_EBCDIC 
  #define OS_ASC(c) (c) 
  #else 
  #define OS_ASC(c) (os_toascii[c]) 
  #endif </declaration>
    <description />
    <example>
     <text>if (ch == CR || ch == LF || (OS_ASC(ch) &amp; 0x80)) {
      return 0;
  }</text>
    </example>
    <seealso>
     <ref>SA-stringconst</ref>
    </seealso>
    </definition>
   </item>
   <item type="Constant">
    <name>RAW_ARGS</name>
    <definition>
    <declaration>#include &quot;httpd.h&quot;
  &lt;i&gt;see&lt;/i&gt; cmd_how.</declaration>
    <description href="dict-RAW_ARGS.html" />
    <example>
     <text>static const command_rec module_cmds[] =
  {
          .
      {&quot;ModuleDirective&quot;, cmd_moduledirective, NULL, OR_LIMIT, RAW_ARGS,
       &quot;directive description&quot;},
          .
      {NULL}
  };</text>
    </example>
    <seealso>
     <ref>SA-dirdata</ref>
    </seealso>
    </definition>
   </item>
   <item type="Constant">
    <name>REQUEST_CHUNKED_DECHUNK</name>
    <definition>
    <declaration>#include &quot;httpd.h&quot;</declaration>
    <description />
    <seealso>
     <ref>SA-readbody</ref>
    </seealso>
    </definition>
   </item>
   <item type="Constant">
    <name>REQUEST_CHUNKED_ERROR</name>
    <definition>
    <declaration>#include &quot;httpd.h&quot;</declaration>
    <description />
    <seealso>
     <ref>SA-readbody</ref>
    </seealso>
    </definition>
   </item>
   <item type="Constant">
    <name>REQUEST_CHUNKED_PASS</name>
    <definition>
    <declaration>#include &quot;httpd.h&quot;</declaration>
    <description />
    <seealso>
     <ref>SA-readbody</ref>
    </seealso>
    </definition>
   </item>
   <item type="Constant">
    <name>REQUEST_NO_BODY</name>
    <definition>
    <declaration>#include &quot;httpd.h&quot;</declaration>
    <description />
    <seealso>
     <ref>SA-readbody</ref>
    </seealso>
    </definition>
   </item>
   <item type="Constant">
    <name>RSRC_CONF</name>
    <definition>
    <declaration>#include &quot;http_config.h&quot;</declaration>
    <description href="dict-RSRC_CONF.html" />
    <example>
     <text>static const command_rec module_cmds[] =
  {
          .
      {&quot;ModuleDirective&quot;, cmd_moduledirective, NULL, RSRC_CONF, RAW_ARGS,
       &quot;description of directive&quot;},
          .
      {NULL}
  };</text>
    </example>
    <seealso>
     <ref>SA-overrides</ref>
    </seealso>
    </definition>
   </item>
   <item type="Cross-reference">
    <name>SA-BUFF</name>
    <definition>
    <declaration>BUFF,ap_bclose,ap_bcreate,ap_bfilbuf,ap_bfileno,ap_bflsbuf,ap_bflush,ap_bgetc,ap_bgetopt,ap_bgets,ap_bhalfduplex,ap_bpushfd,ap_bpushh,ap_bsetopt,ap_bsetflag,ap_bgetflag,ap_bonerror,ap_bread,ap_blookc,ap_bskiplf,ap_bwrite,ap_bputs,ap_bvputs,ap_bprintf,ap_vbprintf,ap_bputc,ap_bnonblock,ap_bspawn_child,B_SFIO,B_RD,B_WR,B_RDWR,B_EOF,B_EOUT,B_RDERR,B_WRERR,B_ERROR,B_CHUNK,B_SAFEREAD,B_SOCKET,B_ASCII2EBCDIC,B_EBCDIC2ASCII,BO_BYTECT,kill_conditions</declaration>
    <description />
    </definition>
   </item>
   <item type="Cross-reference">
    <name>SA-MMN</name>
    <definition>
    <declaration>MODULE_MAGIC_NUMBER,MODULE_MAGIC_NUMBER_MAJOR,MODULE_MAGIC_NUMBER_MINOR,MODULE_MAGIC_COOKIE,MODULE_MAGIC_AT_LEAST,AP_MODULE_MAGIC_AT_LEAST,module</declaration>
    <description />
    </definition>
   </item>
   <item type="Cross-reference">
    <name>SA-array</name>
    <definition>
    <declaration>array_header,ap_array_cat,ap_append_arrays,ap_copy_array,ap_copy_array_hdr,ap_make_array,ap_push_array</declaration>
    <description />
    </definition>
   </item>
   <item type="Cross-reference">
    <name>SA-cfgfiles</name>
    <definition>
    <declaration>ap_cfg_closefile,ap_cfg_getc,ap_cfg_getline</declaration>
    <description />
    </definition>
   </item>
   <item type="Cross-reference">
    <name>SA-compileflags</name>
    <definition>
    <declaration>BIG_SECURITY_HOLE,DEFAULT_ADMIN,DOCUMENT_LOCATION,DYNAMIC_MODULE_LIMIT,HARD_SERVER_LIMIT,HTTPD_ROOT,SECURITY_HOLE_PASS_AUTHORIZATION,TARGET,DEFAULT_INDEX,DEFAULT_CONTENT_TYPE,DEFAULT_PATH,DEFAULT_TIMEOUT,DEFAULT_KEEPALIVE_TIMEOUT,DEFAULT_KEEPALIVE</declaration>
    <description />
    </definition>
   </item>
   <item type="Cross-reference">
    <name>SA-context</name>
    <definition>
    <declaration>NOT_IN_VIRTUALHOST,NOT_IN_LIMIT,NOT_IN_DIRECTORY,NOT_IN_LOCATION,NOT_IN_FILES,NOT_IN_DIR_LOC_FILE,GLOBAL_ONLY</declaration>
    <description />
    </definition>
   </item>
   <item type="Cross-reference">
    <name>SA-core-rec</name>
    <definition>
    <declaration>conn_rec,request_rec,server_rec,cmd_parms,command_rec,BUFF,uri_components,proxyreqtype,server_addr_rec</declaration>
    <description />
    </definition>
   </item>
   <item type="Cross-reference">
    <name>SA-dirdata</name>
    <definition>
    <declaration>cmd_how,RAW_ARGS,TAKE1,TAKE2,ITERATE,ITERATE2,FLAG,NO_ARGS,TAKE12,TAKE3,TAKE23,TAKE123,TAKE13</declaration>
    <description />
    </definition>
   </item>
   <item type="Cross-reference">
    <name>SA-dirstat</name>
    <definition>
    <declaration>OK,DECLINED,DECLINE_CMD,DONE</declaration>
    <description />
    </definition>
   </item>
   <item type="Cross-reference">
    <name>SA-fnmatch</name>
    <definition>
    <declaration>ap_fnmatch,FNM_NOMATCH,FNM_NOESCAPE,FNM_PATHNAME,FNM_PERIOD,FNM_CASE_BLIND</declaration>
    <description />
    </definition>
   </item>
   <item type="Cross-reference">
    <name>SA-httpcodes</name>
    <definition>
    <declaration>ap_status_drops_connection,ap_is_HTTP_INFO,ap_is_HTTP_SUCCESS,ap_is_HTTP_REDIRECT,ap_is_HTTP_ERROR,ap_is_HTTP_CLIENT_ERROR,ap_is_HTTP_SERVER_ERROR,HTTP_VERSION,HTTP_VERSION_MAJOR,HTTP_VERSION_MINOR,HTTP_CONTINUE,HTTP_SWITCHING_PROTOCOLS,HTTP_PROCESSING,HTTP_OK,HTTP_CREATED,HTTP_ACCEPTED,HTTP_NON_AUTHORITATIVE,HTTP_NO_CONTENT,HTTP_RESET_CONTENT,HTTP_PARTIAL_CONTENT,HTTP_MULTI_STATUS,HTTP_MULTIPLE_CHOICES,HTTP_MOVED_PERMANENTLY,HTTP_MOVED_TEMPORARILY,HTTP_SEE_OTHER,HTTP_NOT_MODIFIED,HTTP_USE_PROXY,HTTP_TEMPORARY_REDIRECT,HTTP_BAD_REQUEST,HTTP_UNAUTHORIZED,HTTP_PAYMENT_REQUIRED,HTTP_FORBIDDEN,HTTP_NOT_FOUND,HTTP_METHOD_NOT_ALLOWED,HTTP_NOT_ACCEPTABLE,HTTP_PROXY_AUTHENTICATION_REQUIRED,HTTP_REQUEST_TIME_OUT,HTTP_CONFLICT,HTTP_GONE,HTTP_LENGTH_REQUIRED,HTTP_PRECONDITION_FAILED,HTTP_REQUEST_ENTITY_TOO_LARGE,HTTP_REQUEST_URI_TOO_LARGE,HTTP_UNSUPPORTED_MEDIA_TYPE,HTTP_RANGE_NOT_SATISFIABLE,HTTP_EXPECTATION_FAILED,HTTP_UNPROCESSABLE_ENTITY,HTTP_LOCKED,HTTP_FAILED_DEPENDENCY,HTTP_INTERNAL_SERVER_ERROR,HTTP_NOT_IMPLEMENTED,HTTP_BAD_GATEWAY,HTTP_SERVICE_UNAVAILABLE,HTTP_GATEWAY_TIME_OUT,HTTP_VERSION_NOT_SUPPORTED,HTTP_VARIANT_ALSO_VARIES,HTTP_INSUFFICIENT_STORAGE,HTTP_NOT_EXTENDED,DOCUMENT_FOLLOWS,PARTIAL_CONTENT,MULTIPLE_CHOICES,MOVED,REDIRECT,USE_LOCAL_COPY,BAD_REQUEST,AUTH_REQUIRED,FORBIDDEN,NOT_FOUND,METHOD_NOT_ALLOWED,NOT_ACCEPTABLE,LENGTH_REQUIRED,PRECONDITION_FAILED,SERVER_ERROR,NOT_IMPLEMENTED,BAD_GATEWAY,VARIANT_ALSO_VARIES</declaration>
    <description />
    </definition>
   </item>
   <item type="Cross-reference">
    <name>SA-identity</name>
    <definition>
    <declaration>ap_get_server_built,ap_get_server_name,ap_get_server_version,ap_add_version_component</declaration>
    <description />
    </definition>
   </item>
   <item type="Cross-reference">
    <name>SA-logging</name>
    <definition>
    <declaration>APLOG_ALERT,APLOG_CRIT,APLOG_DEBUG,APLOG_EMERG,APLOG_ERR,APLOG_INFO,APLOG_LEVELMASK,APLOG_MARK,APLOG_NOERRNO,APLOG_NOTICE,APLOG_WARNING,APLOG_WIN32ERROR,ap_log_error,ap_log_rerror,ap_error_log2stderr</declaration>
    <description />
    </definition>
   </item>
   <item type="Cross-reference">
    <name>SA-md5</name>
    <definition>
    <declaration>AP_MD5_CTX,ap_md5,ap_md5context,ap_md5digest,ap_MD5Final,ap_MD5Init,ap_MD5Update,ap_md5contextTo64</declaration>
    <description />
    </definition>
   </item>
   <item type="Cross-reference">
    <name>SA-methods</name>
    <definition>
    <declaration>M_GET,M_PUT,M_POST,M_DELETE,M_CONNECT,M_OPTIONS,M_TRACE,M_PATCH,,M_PROPFIND,M_PROPPATCH,M_MKCOL,M_COPY,M_MOVE,M_LOCK,M_UNLOCK,M_INVALID</declaration>
    <description />
    </definition>
   </item>
   <item type="Cross-reference">
    <name>SA-module</name>
    <definition>
    <declaration>core_module,top_module,module,ap_add_module,ap_add_named_module,ap_add_loaded_module,ap_remove_module,ap_remove_loaded_module</declaration>
    <description />
    </definition>
   </item>
   <item type="Cross-reference">
    <name>SA-multi</name>
    <definition>
    <declaration>ap_acquire_mutex,MULTI_OK,MULTI_ERR,MULTI_TIMEOUT</declaration>
    <description />
    </definition>
   </item>
   <item type="Cross-reference">
    <name>SA-mutex</name>
    <definition>
    <declaration>mutex,ap_acquire_mutex,ap_create_mutex,ap_destroy_mutex,ap_open_mutex</declaration>
    <description />
    </definition>
   </item>
   <item type="Cross-reference">
    <name>SA-options</name>
    <definition>
    <declaration>OPT_NONE,OPT_INDEXES,OPT_INCLUDES,OPT_SYM_LINKS,OPT_EXECCGI,OPT_UNSET,OPT_INCNOEXEC,OPT_SYM_OWNER,OPT_MULTI,OPT_ALL,ap_allow_options</declaration>
    <description />
    </definition>
   </item>
   <item type="Cross-reference">
    <name>SA-overrides</name>
    <definition>
    <declaration>ACCESS_CONF,OR_AUTHCFG,OR_FILEINFO,OR_INDEXES,OR_LIMIT,OR_OPTIONS,RSRC_CONF,ap_allow_overrides,cmd_parms,command_rec</declaration>
    <description />
    </definition>
   </item>
   <item type="Cross-reference">
    <name>SA-piped-log</name>
    <definition>
    <declaration>piped_log,ap_close_piped_log,ap_open_piped_log</declaration>
    <description />
    </definition>
   </item>
   <item type="Cross-reference">
    <name>SA-pool</name>
    <definition>
    <declaration>pool,ap_pool,ap_bytes_in_pool,ap_clear_pool,ap_destroy_pool,ap_find_pool,ap_pool_is_ancestor,ap_pool_join,ap_make_sub_pool,ap_pstrcat,ap_palloc,ap_pcalloc,ap_pclosedir,ap_pclosef,ap_pclosesocket,ap_pduphostent,ap_pfclose,ap_pfdopen,ap_pfopen,ap_pgethostbyname,ap_popendir,ap_popenf,ap_pregcomp,ap_pregfree,ap_psocket,ap_pstrdup,ap_pstrndup</declaration>
    <description />
    </definition>
   </item>
   <item type="Cross-reference">
    <name>SA-readbody</name>
    <definition>
    <declaration>ap_get_client_block,ap_setup_client_block,REQUEST_NO_BODY,REQUEST_CHUNKED_ERROR,REQUEST_CHUNKED_DECHUNK,REQUEST_CHUNKED_PASS</declaration>
    <description />
    </definition>
   </item>
   <item type="Cross-reference">
    <name>SA-scoreboard</name>
    <definition>
    <declaration>scoreboard,SERVER_DEAD,SERVER_STARTING,SERVER_READY,SERVER_BUSY_READ,SERVER_BUSY_WRITE,SERVER_BUSY_KEEPALIVE,SERVER_BUSY_LOG,SERVER_BUSY_DNS,SERVER_GRACEFUL,SERVER_NUM_STATUS,vtime_t,short_score,global_score,parent_score,START_PREQUEST,STOP_PREQUEST,ap_sync_scoreboard_image,ap_exists_scoreboard_image,ap_scoreboard_image</declaration>
    <description />
    </definition>
   </item>
   <item type="Cross-reference">
    <name>SA-security</name>
    <definition>
    <declaration>ap_auth_name,ap_auth_type,ap_validate_password</declaration>
    <description />
    </definition>
   </item>
   <item type="Cross-reference">
    <name>SA-stringconst</name>
    <definition>
    <declaration>CR,LF,CRLF,MAX_STRING_LEN,HUGE_STRING_LEN,OS_ASC</declaration>
    <description />
    </definition>
   </item>
   <item type="Cross-reference">
    <name>SA-tables</name>
    <definition>
    <declaration>table,ap_clear_table,ap_copy_table,ap_make_table,ap_overlay_tables,ap_table_add,ap_table_addn,ap_table_do,ap_table_get,ap_table_merge,ap_table_mergen,ap_table_set,ap_table_setn,ap_table_unset</declaration>
    <description />
    </definition>
   </item>
   <item type="Constant">
    <name>SECURITY_HOLE_PASS_AUTHORIZATION</name>
    <definition>
    <declaration>Compile-time definition</declaration>
    <description href="dict-SECURITY_HOLE_PASS_AUTHORIZATION.html" />
    <example>
     <text>env CFLAGS=&quot;-Wall -DSECURITY_HOLE_PASS_AUTHORIZATION&quot; ./configure</text>
    </example>
    <seealso>
     <ref>SA-compileflags</ref>
    </seealso>
    </definition>
   </item>
   <item type="Constant">
    <name>SERVER_BUSY_DNS</name>
    <definition>
    <declaration>#include &quot;scoreboard.h&quot;</declaration>
    <description href="dict-SERVER_BUSY_DNS.html" />
    <example>
     <text>switch (score_record.status) {
  case SERVER_BUSY_DNS: 
      ap_rputs(&quot;&lt;B&gt;DNS lookup&lt;/B&gt;&quot;, r); 
      break;
  }</text>
    </example>
    <seealso>
     <ref>SA-scoreboard</ref>
    </seealso>
    </definition>
   </item>
   <item type="Constant">
    <name>SERVER_BUSY_KEEPALIVE</name>
    <definition>
    <declaration>#include &quot;scoreboard.h&quot;</declaration>
    <description href="dict-SERVER_BUSY_KEEPALIVE.html" />
    <example>
     <text>switch (score_record.status) {
  case SERVER_BUSY_KEEPALIVE: 
      ap_rputs(&quot;&lt;B&gt;Keepalive&lt;/B&gt;&quot;, r); 
      break;
  }</text>
    </example>
    <seealso>
     <ref>SA-scoreboard</ref>
    </seealso>
    </definition>
   </item>
   <item type="Constant">
    <name>SERVER_BUSY_LOG</name>
    <definition>
    <declaration>#include &quot;scoreboard.h&quot;</declaration>
    <description href="dict-SERVER_BUSY_LOG.html" />
    <example>
     <text>switch (score_record.status) {
  case SERVER_BUSY_LOG: 
      ap_rputs(&quot;&lt;B&gt;Logging&lt;/B&gt;&quot;, r); 
      break;
  }</text>
    </example>
    <seealso>
     <ref>SA-scoreboard</ref>
    </seealso>
    </definition>
   </item>
   <item type="Constant">
    <name>SERVER_BUSY_READ</name>
    <definition>
    <declaration>#include &quot;scoreboard.h&quot;</declaration>
    <description href="dict-SERVER_BUSY_READ.html" />
    <example>
     <text>switch (score_record.status) {
  case SERVER_BUSY_READ: 
      ap_rputs(&quot;&lt;B&gt;Read&lt;/B&gt;&quot;, r); 
      break;
  }</text>
    </example>
    <seealso>
     <ref>SA-scoreboard</ref>
    </seealso>
    </definition>
   </item>
   <item type="Constant">
    <name>SERVER_BUSY_WRITE</name>
    <definition>
    <declaration>#include &quot;scoreboard.h&quot;</declaration>
    <description href="dict-SERVER_BUSY_WRITE.html" />
    <example>
     <text>switch (score_record.status) {
  case SERVER_BUSY_WRITE: 
      ap_rputs(&quot;&lt;B&gt;Write&lt;/B&gt;&quot;, r); 
      break;
  }</text>
    </example>
    <seealso>
     <ref>SA-scoreboard</ref>
    </seealso>
    </definition>
   </item>
   <item type="Constant">
    <name>SERVER_DEAD</name>
    <definition>
    <declaration>#include &quot;scoreboard.h&quot;</declaration>
    <description href="dict-SERVER_DEAD.html" />
    <example>
     <text>switch (score_record.status) {
  case SERVER_DEAD: 
      ap_rputs(&quot;Dead&quot;, r); 
      break;
  }</text>
    </example>
    <seealso>
     <ref>SA-scoreboard</ref>
    </seealso>
    </definition>
   </item>
   <item type="Constant">
    <name>SERVER_GRACEFUL</name>
    <definition>
    <declaration>#include &quot;scoreboard.h&quot;</declaration>
    <description href="dict-SERVER_GRACEFUL.html" />
    <example>
     <text>switch (score_record.status) {
  case SERVER_GRACEFUL: 
      ap_rputs(&quot;Graceful&quot;, r); 
      break;
  }</text>
    </example>
    <seealso>
     <ref>SA-scoreboard</ref>
    </seealso>
    </definition>
   </item>
   <item type="Constant">
    <name>SERVER_NUM_STATUS</name>
    <definition>
    <declaration>#include &quot;scoreboard.h&quot;</declaration>
    <description href="dict-SERVER_NUM_STATUS.html" />
    <example>
     <text>if (score_record.status &lt; SERVER_NUM_STATUS) {
      return OK;
  } </text>
    </example>
    <seealso>
     <ref>SA-scoreboard</ref>
    </seealso>
    </definition>
   </item>
   <item type="Constant">
    <name>SERVER_READY</name>
    <definition>
    <declaration>#include &quot;scoreboard.h&quot;</declaration>
    <description href="dict-SERVER_READY.html" />
    <example>
     <text>switch (score_record.status) {
  case SERVER_READY: 
      ap_rputs(&quot;Ready&quot;, r); 
      break;
  }</text>
    </example>
    <seealso>
     <ref>SA-scoreboard</ref>
    </seealso>
    </definition>
   </item>
   <item type="Constant">
    <name>SERVER_STARTING</name>
    <definition>
    <declaration>#include &quot;scoreboard.h&quot;</declaration>
    <description href="dict-SERVER_STARTING.html" />
    <example>
     <text>switch (score_record.status) {
  case SERVER_STARTING: 
      ap_rputs(&quot;Starting&quot;, r); 
      break;
  }</text>
    </example>
    <seealso>
     <ref>SA-scoreboard</ref>
    </seealso>
    </definition>
   </item>
   <item type="Constant">
    <name>SERVER_SUPPORT</name>
    <definition>
    <declaration>Compile-time definition; default set by &lt;code&gt;#include &quot;httpd.h&quot;&lt;/code&gt;</declaration>
    <description href="dict-SERVER_SUPPORT.html" />
    <example>
     <text>ap_snprintf(buf, sizeof(buf), &quot;For further assistance, go to SERVER_SUPPORT&quot;);</text>
    </example>
    </definition>
   </item>
   <item type="Constant">
    <name>SERVER_VERSION</name>
    <definition>
    <declaration>#include &quot;httpd.h&quot;</declaration>
    <description href="dict-SERVER_VERSION.html" />
    <example>
     <text>Deprecated; use ap_get_server_version() instead.</text>
    </example>
    </definition>
   </item>
   <item type="Constant">
    <name>STANDARD_MODULE_STUFF</name>
    <definition>
    <declaration>#include &quot;ap_mmn.h&quot;</declaration>
    <description />
    <seealso>
     <ref>SA-MMN</ref>
    </seealso>
    </definition>
   </item>
   <item type="Constant">
    <name>START_PREQUEST</name>
    <definition>
    <declaration>#include &quot;scoreboard.h&quot;</declaration>
    <description href="dict-START_PREQUEST.html" />
    <example>
     <text>if (status == START_PREQUEST) {
      ...deal with request start time...
  }</text>
    </example>
    <seealso>
     <ref>SA-scoreboard</ref>
    </seealso>
    </definition>
   </item>
   <item type="Constant">
    <name>STOP_PREQUEST</name>
    <definition>
    <declaration>#include &quot;scoreboard.h&quot;</declaration>
    <description href="dict-STOP_PREQUEST.html" />
    <example>
     <text>if (status == STOP_PREQUEST) {
      ...deal with request stop time...
  }</text>
    </example>
    <seealso>
     <ref>SA-scoreboard</ref>
    </seealso>
    </definition>
   </item>
   <item type="Constant">
    <name>TAKE1</name>
    <definition>
    <declaration>#include &quot;httpd.h&quot;
  &lt;i&gt;see&lt;/i&gt; cmd_how.</declaration>
    <description href="dict-TAKE1.html" />
    <example>
     <text>static const command_rec module_cmds[] =
  {
          .
      {&quot;ModuleDirective&quot;, cmd_moduledirective, NULL, OR_LIMIT, TAKE1,
       &quot;directive description&quot;},
          .
      {NULL}
  };</text>
    </example>
    <seealso>
     <ref>SA-dirdata</ref>
    </seealso>
    </definition>
   </item>
   <item type="Constant">
    <name>TAKE12</name>
    <definition>
    <declaration>#include &quot;httpd.h&quot;
  &lt;i&gt;see&lt;/i&gt; cmd_how.</declaration>
    <description href="dict-TAKE12.html" />
    <example>
     <text>static const command_rec module_cmds[] =
  {
          .
      {&quot;ModuleDirective&quot;, cmd_moduledirective, NULL, OR_LIMIT, TAKE12,
       &quot;directive description&quot;},
          .
      {NULL}
  };</text>
    </example>
    <seealso>
     <ref>SA-dirdata</ref>
    </seealso>
    </definition>
   </item>
   <item type="Constant">
    <name>TAKE123</name>
    <definition>
    <declaration>#include &quot;httpd.h&quot;
  &lt;i&gt;see&lt;/i&gt; cmd_how.</declaration>
    <description href="dict-TAKE123.html" />
    <example>
     <text>static const command_rec module_cmds[] =
  {
          .
      {&quot;ModuleDirective&quot;, cmd_moduledirective, NULL, OR_LIMIT, TAKE123,
       &quot;directive description&quot;},
          .
      {NULL}
  };</text>
    </example>
    <seealso>
     <ref>SA-dirdata</ref>
    </seealso>
    </definition>
   </item>
   <item type="Constant">
    <name>TAKE13</name>
    <definition>
    <declaration>#include &quot;httpd.h&quot;
  &lt;i&gt;see&lt;/i&gt; cmd_how.</declaration>
    <description href="dict-TAKE13.html" />
    <example>
     <text>static const command_rec module_cmds[] =
  {
          .
      {&quot;ModuleDirective&quot;, cmd_moduledirective, NULL, OR_LIMIT, TAKE13,
       &quot;directive description&quot;},
          .
      {NULL}
  };</text>
    </example>
    <seealso>
     <ref>SA-dirdata</ref>
    </seealso>
    </definition>
   </item>
   <item type="Constant">
    <name>TAKE2</name>
    <definition>
    <declaration>#include &quot;httpd.h&quot;
  &lt;i&gt;see&lt;/i&gt; cmd_how.</declaration>
    <description href="dict-TAKE2.html" />
    <example>
     <text>static const command_rec module_cmds[] =
  {
          .
      {&quot;ModuleDirective&quot;, cmd_moduledirective, NULL, OR_LIMIT, TAKE2,
       &quot;directive description&quot;},
          .
      {NULL}
  };</text>
    </example>
    <seealso>
     <ref>SA-dirdata</ref>
    </seealso>
    </definition>
   </item>
   <item type="Constant">
    <name>TAKE23</name>
    <definition>
    <declaration>#include &quot;httpd.h&quot;
  &lt;i&gt;see&lt;/i&gt; cmd_how.</declaration>
    <description href="dict-TAKE23.html" />
    <example>
     <text>static const command_rec module_cmds[] =
  {
          .
      {&quot;ModuleDirective&quot;, cmd_moduledirective, NULL, OR_LIMIT, TAKE23,
       &quot;directive description&quot;},
          .
      {NULL}
  };</text>
    </example>
    <seealso>
     <ref>SA-dirdata</ref>
    </seealso>
    </definition>
   </item>
   <item type="Constant">
    <name>TAKE3</name>
    <definition>
    <declaration>#include &quot;httpd.h&quot;
  &lt;i&gt;see&lt;/i&gt; cmd_how.</declaration>
    <description href="dict-TAKE3.html" />
    <example>
     <text>static const command_rec module_cmds[] =
  {
          .
      {&quot;ModuleDirective&quot;, cmd_moduledirective, NULL, OR_LIMIT, TAKE3,
       &quot;directive description&quot;},
          .
      {NULL}
  };</text>
    </example>
    <seealso>
     <ref>SA-dirdata</ref>
    </seealso>
    </definition>
   </item>
   <item type="Constant">
    <name>TARGET</name>
    <definition>
    <declaration>Compile-time definition; default set by &lt;code&gt;#include &quot;httpd.h&quot;&lt;/code&gt;</declaration>
    <description href="dict-TARGET.html" />
    <example>
     <text>env CFLAGS=&quot;-Wall -DTARGET=\&quot;apache\&quot;&quot; ./configure</text>
    </example>
    <seealso>
     <ref>SA-compileflags</ref>
    </seealso>
    </definition>
   </item>
   <item type="Routine">
    <name>ap_MD5Encode</name>
    <definition>
    <declaration>void ap_MD5Encode(const unsigned char *password, const unsigned char *salt, char *result, size_t nbytes);</declaration>
    <description />
    </definition>
   </item>
   <item type="Routine">
    <name>ap_MD5Final</name>
    <definition>
    <declaration>void ap_MD5Final(unsigned char digest[16], AP_MD5_CTX *context);</declaration>
    <description />
    <seealso>
     <ref>SA-md5</ref>
    </seealso>
    </definition>
   </item>
   <item type="Routine">
    <name>ap_MD5Init</name>
    <definition>
    <declaration>void ap_MD5Init(AP_MD5_CTX *context);</declaration>
    <description />
    <seealso>
     <ref>SA-md5</ref>
    </seealso>
    </definition>
   </item>
   <item type="Routine">
    <name>ap_MD5Update</name>
    <definition>
    <declaration>void ap_MD5Update(AP_MD5_CTX *context, const unsigned char *input, unsigned int inputLen);</declaration>
    <description />
    <seealso>
     <ref>SA-md5</ref>
    </seealso>
    </definition>
   </item>
   <item type="Routine">
    <name>ap_SHA1Final</name>
    <definition>
    <declaration>void ap_SHA1Final(unsigned char digest[SHA_DIGESTSIZE], AP_SHA1_CTX *context);</declaration>
    <description />
    </definition>
   </item>
   <item type="Routine">
    <name>ap_SHA1Init</name>
    <definition>
    <declaration>void ap_SHA1Init(AP_SHA1_CTX *context);</declaration>
    <description />
    </definition>
   </item>
   <item type="Routine">
    <name>ap_SHA1Update</name>
    <definition>
    <declaration>void ap_SHA1Update(AP_SHA1_CTX *context, const char *input, unsigned int inputLen);</declaration>
    <description />
    </definition>
   </item>
   <item type="Routine">
    <name>ap_SHA1Update_binary</name>
    <definition>
    <declaration>void ap_SHA1Update_binary(AP_SHA1_CTX *context, const unsigned char *input, unsigned int inputLen);</declaration>
    <description />
    </definition>
   </item>
   <item type="Routine">
    <name>ap_acquire_mutex</name>
    <definition>
    <declaration>int ap_acquire_mutex(mutex *mutex_id);</declaration>
    <description href="dict-ap_acquire_mutex.html" />
    <example>
     <text>static mutex *alloc_mutex = NULL; 
  (void) ap_acquire_mutex(alloc_mutex);</text>
    </example>
    <seealso>
     <ref>SA-mutex</ref>
     <ref>SA-multi</ref>
    </seealso>
    </definition>
   </item>
   <item type="Routine">
    <name>ap_add_cgi_vars</name>
    <definition>
    <declaration>void ap_add_cgi_vars(request_rec *r);</declaration>
    <description href="dict-ap_add_cgi_vars.html" />
    <example>
     <text>request_rec *r;
  ap_add_cgi_vars(r);</text>
    </example>
    </definition>
   </item>
   <item type="Routine">
    <name>ap_add_common_vars</name>
    <definition>
    <declaration>void ap_add_common_vars(request_rec *r);</declaration>
    <description href="dict-ap_add_common_vars.html" />
    <example>
     <text>request_rec *r;
  ap_add_common_vars(r);</text>
    </example>
    </definition>
   </item>
   <item type="Routine">
    <name>ap_add_loaded_module</name>
    <definition>
    <declaration>void ap_add_loaded_module(module *m);</declaration>
    <description href="dict-ap_add_loaded_module.html" />
    <example>
     <text>module mod; 
  ap_add_loaded_module(mod);</text>
    </example>
    <seealso>
     <ref>SA-module</ref>
    </seealso>
    </definition>
   </item>
   <item type="Routine">
    <name>ap_add_module</name>
    <definition>
    <declaration>void ap_add_module(module *m);</declaration>
    <description />
    <example>
     <text>module mod; 
  ap_add_module(mod);</text>
    </example>
    <seealso>
     <ref>SA-module</ref>
    </seealso>
    </definition>
   </item>
   <item type="Routine">
    <name>ap_add_named_module</name>
    <definition>
    <declaration>int ap_add_named_module(const char *name);</declaration>
    <description />
    <example>
     <text>char *modname; 
  int result; 
  result = ap_add_named_module(modname);</text>
    </example>
    <seealso>
     <ref>SA-module</ref>
    </seealso>
    </definition>
   </item>
   <item type="Routine">
    <name>ap_add_per_dir_conf</name>
    <definition>
    <declaration>void ap_add_per_dir_conf(server_rec *s, void *dir_config);</declaration>
    <description href="dict-ap_add_per_dir_conf.html" />
    <example>
     <text>&lt;i&gt;Private to the Apache core server; not for module use.&lt;/i&gt;</text>
    </example>
    </definition>
   </item>
   <item type="Routine">
    <name>ap_add_per_url_conf</name>
    <definition>
    <declaration>void ap_add_per_url_conf(server_rec *s, void *url_config);</declaration>
    <description />
    <example>
     <text>server_rec *s;
  void *url_config;
  ap_add_per_url_conf(server_rec *s, void *url_config);</text>
    </example>
    </definition>
   </item>
   <item type="Routine">
    <name>ap_add_version_component</name>
    <definition>
    <declaration>void ap_add_version_component(const char *component);</declaration>
    <description href="dict-ap_add_version_component.html" />
    <example>
     <text>/*
   * Called during modules-init phase
   */
  ap_add_version_component(&quot;MyMod/1.0&quot;);</text>
    </example>
    <seealso>
     <ref>SA-identity</ref>
    </seealso>
    </definition>
   </item>
   <item type="Routine">
    <name>ap_allow_options</name>
    <definition>
    <declaration>int ap_allow_options(request_rec *r);</declaration>
    <description href="dict-ap_allow_options.html" />
    <example>
     <text>request_rec *r;
  int result;
  result = ap_allow_options(r);
  if (result &amp; OPT_INCLUDES) {
      /* Do something meaningful and Includes-related */
  } </text>
    </example>
    <seealso>
     <ref>SA-options</ref>
    </seealso>
    </definition>
   </item>
   <item type="Routine">
    <name>ap_allow_overrides</name>
    <definition>
    <declaration>int ap_allow_overrides(request_rec *r);</declaration>
    <description />
    <example>
     <text>request_rec *r;
  int result;
  result = ap_allow_overrides(r);</text>
    </example>
    <seealso>
     <ref>SA-overrides</ref>
    </seealso>
    </definition>
   </item>
   <item type="Routine">
    <name>ap_append_arrays</name>
    <definition>
    <declaration>array_header *ap_append_arrays(pool *p, const array_header *a, const array_header *b);</declaration>
    <description href="dict-ap_append_arrays.html" />
    <example>
     <text>new-&gt;hdr_list = ap_append_arrays(p, add-&gt;hdr_list, base-&gt;hdr_list);</text>
    </example>
    <seealso>
     <ref>SA-array</ref>
    </seealso>
    </definition>
   </item>
   <item type="Routine">
    <name>ap_array_cat</name>
    <definition>
    <declaration>void ap_array_cat(array_header *dst, const array_header *src);</declaration>
    <description href="dict-ap_array_cat.html" />
    <example>
     <text>ap_array_cat(&amp;res-&gt;a, &amp;base-&gt;second);</text>
    </example>
    <seealso>
     <ref>SA-array</ref>
    </seealso>
    </definition>
   </item>
   <item type="Routine">
    <name>ap_array_pstrcat</name>
    <definition>
    <declaration>char *ap_array_pstrcat(pool *p, const array_header *arr, const char sep);</declaration>
    <description href="dict-ap_array_pstrcat.html" />
    <example>
     <text>lang = ap_array_pstrcat(r-&gt;pool, variant-&gt;content_languages, ',');</text>
    </example>
    </definition>
   </item>
   <item type="Routine">
    <name>ap_auth_name</name>
    <definition>
    <declaration>const char *ap_auth_name(request_rec *r);</declaration>
    <description href="dict-ap_auth_name.html" />
    <example>
     <text>if (ap_auth_name(r) == NULL) {
      /* no applicable security realm */ 
      } 
      </text>
    </example>
    <seealso>
     <ref>SA-security</ref>
    </seealso>
    </definition>
   </item>
   <item type="Routine">
    <name>ap_auth_type</name>
    <definition>
    <declaration>const char *ap_auth_type(request_rec *r);</declaration>
    <description href="dict-ap_auth_type.html" />
    <example>
     <text>if (strcasecmp(ap_auth_type(r), &quot;Basic&quot;) == 0) { 
      /* AuthType Basic */ 
  } </text>
    </example>
    <seealso>
     <ref>SA-security</ref>
    </seealso>
    </definition>
   </item>
   <item type="Routine">
    <name>ap_base64decode</name>
    <definition>
    <declaration>int ap_base64decode(char *plain_dst, const char *coded_src);</declaration>
    <description />
    <example>
     <text>char *decoded;
  const char *bufcoded;
  int l;
  decoded = (char *) ap_palloc(p, 1 + ap_base64decode_len(bufcoded));
  l = ap_base64decode(decoded, bufcoded);
  decoded[l] = '\0'; /* make binary sequence into string */</text>
    </example>
    </definition>
   </item>
   <item type="Routine">
    <name>ap_base64decode_binary</name>
    <definition>
    <declaration>int ap_base64decode_binary(unsigned char *plain_dst, const char *coded_src);</declaration>
    <description />
    <example>
     <text>time_rec nonce_time;
  digest_header_rec *resp;
  ap_base64decode_binary(nonce_time.arr, resp-&gt;nonce);</text>
    </example>
    </definition>
   </item>
   <item type="Routine">
    <name>ap_base64decode_len</name>
    <definition>
    <declaration>int ap_base64decode_len(const char *coded_src);</declaration>
    <description />
    <example>
     <text>char *decoded;
  const char *bufcoded;
  decoded = (char *) ap_palloc(p, 1 + ap_base64decode_len(bufcoded));</text>
    </example>
    </definition>
   </item>
   <item type="Routine">
    <name>ap_base64encode</name>
    <definition>
    <declaration>int ap_base64encode(char *coded_dst, const char *plain_src, int len_plain_src);</declaration>
    <description />
    <example>
     <text>int l;
  char *optarg;
  char *tmp;
  l = ap_base64encode(tmp, optarg, strlen(optarg));</text>
    </example>
    </definition>
   </item>
   <item type="Routine">
    <name>ap_base64encode_binary</name>
    <definition>
    <declaration>int ap_base64encode_binary(char *coded_dst, const unsigned char *plain_src, int len_plain_src);</declaration>
    <description />
    <example>
     <text>int l;
  char *out;
  unsigned char digest[16];
  l = ap_base64encode_binary(out, digest, sizeof(digest));</text>
    </example>
    </definition>
   </item>
   <item type="Routine">
    <name>ap_base64encode_len</name>
    <definition>
    <declaration>int ap_base64encode_len(int len);</declaration>
    <description />
    <example>
     <text>int needed;
  int l;
  char *string;
  needed = ap_base64encode_len(strlen(string));
  buffer = (char *) ap_palloc(p, needed + 1);
  l = ap_base64encode(buffer, string, strlen(string));</text>
    </example>
    </definition>
   </item>
   <item type="Routine">
    <name>ap_basic_http_header</name>
    <definition>
    <declaration>void ap_basic_http_header(request_rec *r);</declaration>
    <description />
    <example>
     <text>request_rec *r;
  ap_basic_http_header(r);</text>
    </example>
    </definition>
   </item>
   <item type="Routine">
    <name>ap_bclose</name>
    <definition>
    <declaration>int ap_bclose(BUFF *fb);</declaration>
    <description />
    <example>
     <text>status = ap_bclose(r-&gt;connection-&gt;client);</text>
    </example>
    <seealso>
     <ref>SA-BUFF</ref>
    </seealso>
    </definition>
   </item>
   <item type="Routine">
    <name>ap_bcreate</name>
    <definition>
    <declaration>BUFF *ap_bcreate(pool *p, int flags);</declaration>
    <description />
    <example>
     <text>c-&gt;fp = ap_bcreate(p, B_RDWR | B_SOCKET);</text>
    </example>
    <seealso>
     <ref>SA-BUFF</ref>
    </seealso>
    </definition>
   </item>
   <item type="Routine">
    <name>ap_bfilbuf</name>
    <definition>
    <declaration>int ap_bfilbuf(BUFF *fb);</declaration>
    <description href="dict-ap_bfilbuf.html" />
    <example>
     <text>SA-BUFF</text>
    </example>
    <seealso>
     <ref>ap_bgetc</ref>
    </seealso>
    </definition>
   </item>
   <item type="Routine">
    <name>ap_bfileno</name>
    <definition>
    <declaration>int ap_bfileno(BUFF *fb, int direction);</declaration>
    <description />
    <example>
     <text>ap_pclosef(c-&gt;req-&gt;pool, ap_bfileno(c-&gt;fp, B_WR);</text>
    </example>
    <seealso>
     <ref>SA-BUFF</ref>
    </seealso>
    </definition>
   </item>
   <item type="Routine">
    <name>ap_bflsbuf</name>
    <definition>
    <declaration>int ap_bflsbuf(int c, BUFF *fb);</declaration>
    <description />
    <example>
     <text>&lt;i&gt;Not used directly, only through the ap_bputc() macro.&lt;/i&gt;</text>
    </example>
    <seealso>
     <ref>SA-BUFF</ref>
    </seealso>
    </definition>
   </item>
   <item type="Routine">
    <name>ap_bflush</name>
    <definition>
    <declaration>int ap_bflush(BUFF *fb);</declaration>
    <description />
    <example>
     <text>BUFF *script_out;
  int rc;
  rc = ap_bflush(script_out);</text>
    </example>
    <seealso>
     <ref>SA-BUFF</ref>
    </seealso>
    </definition>
   </item>
   <item type="Macro">
    <name>ap_bgetc</name>
    <definition>
    <declaration>#ifndef CHARSET_EBCDIC
  #define ap_bgetc(fb) ( ((fb)-&gt;incnt == 0) ? ap_bfilbuf(fb) 
                         : ((fb)-&gt;incnt--, *((fb)-&gt;inptr++)) ) 
  #else
  #define ap_bgetc(fb) ( ((fb)-&gt;incnt == 0) ? ap_bfilbuf(fb) \ 
                         :  ((fb)-&gt;incnt--, \ 
                             (fb-&gt;flags &amp; B_ASCII2EBCDIC) \ 
                             ? os_toebcdic[(unsigned char)*((fb)-&gt;inptr++)] \ 
                             : *((fb)-&gt;inptr++)) ) 
  #endif
      </declaration>
    <description />
    <example>
     <text>if ((c = ap_bgetc(r-&gt;connection-&gt;client)) == CR) { 
      c = ap_bgetc(r-&gt;connection-&gt;client);
  }</text>
    </example>
    <seealso>
     <ref>SA-BUFF</ref>
    </seealso>
    </definition>
   </item>
   <item type="Macro">
    <name>ap_bgetflag</name>
    <definition>
    <declaration>#define ap_bgetflag(fb, flag)  ((fb)-&gt;flags &amp; (flag))</declaration>
    <description />
    <example>
     <text>int convert = ap_bgetflag(r-&gt;connection-&gt;client, B_EBCDIC2ASCII);</text>
    </example>
    <seealso>
     <ref>SA-BUFF</ref>
    </seealso>
    </definition>
   </item>
   <item type="Routine">
    <name>ap_bgetopt</name>
    <definition>
    <declaration>int ap_bgetopt(BUFF *fb, int optname, void *optval);</declaration>
    <description />
    <example>
     <text>long int bs;
  ap_bgetoptr-&gt;connection-&gt;client, BO_BYTECT, &amp;bs);</text>
    </example>
    <seealso>
     <ref>SA-BUFF</ref>
    </seealso>
    </definition>
   </item>
   <item type="Routine">
    <name>ap_bgets</name>
    <definition>
    <declaration>int ap_bgets(char *s, int n, BUFF *fb);</declaration>
    <description />
    <example>
     <text>while ($(argsbuffer, HUGE_STRING_LEN, script_err) &gt; 0) {
      continue;
  }</text>
    </example>
    <seealso>
     <ref>SA-BUFF</ref>
    </seealso>
    </definition>
   </item>
   <item type="Routine">
    <name>ap_bhalfduplex</name>
    <definition>
    <declaration>void ap_bhalfduplex(BUFF *fb);</declaration>
    <description />
    <example>
     <text>BUFF *fb;
  ap_bhalfduplex(fb);</text>
    </example>
    <seealso>
     <ref>SA-BUFF</ref>
    </seealso>
    </definition>
   </item>
   <item type="Routine">
    <name>ap_block_alarms</name>
    <definition>
    <declaration>void ap_block_alarms(void);</declaration>
    <description href="dict-ap_block_alarms.html" />
    <example>
     <text>ap_block_alarms();
  pid = fork();
  if (pid == 0) {
      /* Do something as the child */
  }
  else {
      /* Do something as the parent */
  }
  ap_unblock_alarms();</text>
    </example>
    <seealso>
     <ref>ap_unblock_alarms</ref>
    </seealso>
    </definition>
   </item>
   <item type="Routine">
    <name>ap_blookc</name>
    <definition>
    <declaration>int ap_blookc(char *buffer, BUFF *fb);</declaration>
    <description />
    <example>
     <text>do {
      /* something */
  } while (fold
           &amp;&amp; (retval != 1)
           &amp;&amp; (n &gt; 1)
           &amp;&amp; (ap_blookc(&amp;next, in) == 1)
           &amp;&amp; ((next == ' ')
               || (next == '\t')));</text>
    </example>
    </definition>
   </item>
   <item type="Routine">
    <name>ap_bnonblock</name>
    <definition>
    <declaration>int ap_bnonblock(BUFF *fb, int direction);</declaration>
    <description />
    <example>
     <text>ap_bnonblock(fb, B_RD);</text>
    </example>
    </definition>
   </item>
   <item type="Routine">
    <name>ap_bonerror</name>
    <definition>
    <declaration>void ap_bonerror(BUFF *fb, void (*error) (BUFF *b, int, void *), void *data);</declaration>
    <description />
    <example>
     <text>&lt;i&gt;No examples available; not currently used in Apache 1.3.&lt;/i&gt;</text>
    </example>
    </definition>
   </item>
   <item type="Routine">
    <name>ap_bprintf</name>
    <definition>
    <declaration>int ap_bprintf(BUFF *fb, const char *fmt, ...);</declaration>
    <description href="dict-ap_bprintf.html" />
    <example>
     <text>&lt;i&gt;No examples available; not used in Apache 1.3.&lt;/i&gt;</text>
    </example>
    </definition>
   </item>
   <item type="Routine">
    <name>ap_bpushfd</name>
    <definition>
    <declaration>void ap_bpushfd(BUFF *fb, int fd_in, int fd_out);</declaration>
    <description />
    <example>
     <text>ap_bpushfd(datam csd, -1);</text>
    </example>
    </definition>
   </item>
   <item type="Routine">
    <name>ap_bpushh</name>
    <definition>
    <declaration>#include &quot;buff.h&quot;
  void ap_bpushh(BUFF *fb, HANDLE hFH);</declaration>
    <description />
    <example>
     <text>ap_bpushh(*pipe_in, hPipeInputWrite);</text>
    </example>
    </definition>
   </item>
   <item type="Macro">
    <name>ap_bputc</name>
    <definition>
    <declaration>#ifndef CHARSET_EBCDIC
  #define ap_bputc(c, fb) ((((fb)-&gt;flags &amp; (B_EOUT|B_WRERR|B_WR)) != B_WR || \ 
          (fb)-&gt;outcnt == (fb)-&gt;bufsiz) ? ap_bflsbuf(c, (fb)) : \ 
          ((fb)-&gt;outbase[(fb)-&gt;outcnt++] = (c), 0))
  #else
  #define ap_bputc(c, fb) ((((fb)-&gt;flags &amp; (B_EOUT|B_WRERR|B_WR)) != B_WR || \ 
          (fb)-&gt;outcnt == (fb)-&gt;bufsiz) ? ap_bflsbuf(c, (fb)) : \ 
          ((fb)-&gt;outbase[(fb)-&gt;outcnt++] = (fb-&gt;flags &amp; B_EBCDIC2ASCII) \ 
              ? os_toascii[(unsigned char)c] : (c), 0)) 
  #endif</declaration>
    <description />
    <example>
     <text>if (ap_bputc(c, r-&gt;connection-&gt;client) &lt; 0) {
      /* Do something */
  }</text>
    </example>
    <seealso>
     <ref>SA-BUFF</ref>
    </seealso>
    </definition>
   </item>
   <item type="Routine">
    <name>ap_bputs</name>
    <definition>
    <declaration>int ap_bputs(const char *x, BUFF *fb);</declaration>
    <description />
    <example>
     <text>ap_bputs(CRLF, fp);</text>
    </example>
    </definition>
   </item>
   <item type="Routine">
    <name>ap_bread</name>
    <definition>
    <declaration>int ap_bread(BUFF *fb, void *buf, int nbyte);</declaration>
    <description />
    <example>
     <text>n = ap_bread(f, buf, IOBUFSIZE);</text>
    </example>
    </definition>
   </item>
   <item type="Routine">
    <name>ap_bsetflag</name>
    <definition>
    <declaration>int ap_bsetflag(BUFF *fb, int flag, int value);</declaration>
    <description />
    <example>
     <text>ap_bsetflag(r-&gt;connection-&gt;client, B_ASCII2EBCDIC, 0);</text>
    </example>
    </definition>
   </item>
   <item type="Routine">
    <name>ap_bsetopt</name>
    <definition>
    <declaration>int ap_bsetopt(BUFF *fb, int optname, const void *optval);</declaration>
    <description />
    <example>
     <text>ap_bsetopt(r-&gt;connection-&gt;client, BO_BYTECT, &amp;zero);</text>
    </example>
    </definition>
   </item>
   <item type="Routine">
    <name>ap_bskiplf</name>
    <definition>
    <declaration>int ap_bskiplf(BUFF *fb);</declaration>
    <description />
    <example>
     <text>if (linebuff[len - 1] != '\n') {
      (void)ap_bskiplf(f);
  }</text>
    </example>
    </definition>
   </item>
   <item type="Routine">
    <name>ap_bspawn_child</name>
    <definition>
    <declaration>int ap_bspawn_child(pool *p, int (*func) (void *data, child_info *info), 
                      void *data, enum kill_conditions kill_how, 
                      BUFF **pipe_in, BUFF **pipe_out, BUFF **pipe_err);</declaration>
    <description />
    <example>
     <text>if (! ap_bspawn_child(r-&gt;pool, include_cmd_child, &amp;arg,
                        kill_after_timeout, NULL, &amp;script_in, NULL)) {
      /* Log an error */
  }</text>
    </example>
    <seealso>
     <ref>SA-BUFF</ref>
    </seealso>
    </definition>
   </item>
   <item type="Routine">
    <name>ap_bvputs</name>
    <definition>
    <declaration>int ap_bvputs(BUFF *fb, ...);</declaration>
    <description />
    <example>
     <text>if (parm-&gt;cache != NULL
      &amp;&amp;parm-&gt;cache-&gt; != NULL
      &amp;&amp;ap_bvputs(parm-&gt;cache-&gt;fp, key, &quot;: &quot;, value, CRLF, NULL) == -1) {
      /* Log an error */
  }</text>
    </example>
    </definition>
   </item>
   <item type="Routine">
    <name>ap_bwrite</name>
    <definition>
    <declaration>int ap_bwrite(BUFF *fb, const void *buf, int nbyte);</declaration>
    <description />
    <example>
     <text>ap_reset_timeout(r);
  if (ap_bwrite(script_out, argsbuffer, len_read) &lt; len_read) {
      / * silly script stopped reading, soak up remaining message */
  }</text>
    </example>
    </definition>
   </item>
   <item type="Routine">
    <name>ap_bytes_in_free_blocks</name>
    <definition>
    <declaration>long ap_bytes_in_free_blocks(void);</declaration>
    <description href="dict-ap_bytes_in_free_blocks.html" />
    <example>
     <text>&lt;i&gt;No examples available; not used in Apache 1.3.&lt;/i&gt;</text>
    </example>
    <seealso>
     <ref>SA-pool</ref>
    </seealso>
    </definition>
   </item>
   <item type="Routine">
    <name>ap_bytes_in_pool</name>
    <definition>
    <declaration>long ap_bytes_in_pool(pool *p);</declaration>
    <description href="dict-ap_bytes_in_pool.html" />
    <example>
     <text>&lt;i&gt;No examples available; not used in Apache 1.3.&lt;/i&gt;</text>
    </example>
    <seealso>
     <ref>SA-pool</ref>
    </seealso>
    </definition>
   </item>
   <item type="Routine">
    <name>ap_call_exec</name>
    <definition>
    <declaration>int ap_call_exec(request_rec *r, char *argv0, char **env, int shellcmd);</declaration>
    <description href="dict-ap_call_exec.html" />
    <example>
     <text>child_pid = ap_call_exec(r, pinfo, argv0, env, 0);</text>
    </example>
    </definition>
   </item>
   <item type="Routine">
    <name>ap_can_exec</name>
    <definition>
    <declaration>int ap_can_exec(const struct stat *fstat);</declaration>
    <description href="dict-ap_can_exec.html" />
    <example>
     <text>if (! ap_can_exec(&amp;r-&gt;finfo)) {
      /* log an error; we can't execute the file */
  }</text>
    </example>
    </definition>
   </item>
   <item type="Routine">
    <name>ap_cfg_closefile</name>
    <definition>
    <declaration>int ap_cfg_closefile(configfile_t *fp);</declaration>
    <description href="dict-ap_cfg_closefile.html" />
    <example>
     <text>ap_cfg_closefile(imap);  /* we are done with the map file; close it */</text>
    </example>
    <seealso>
     <ref>SA-cfgfiles</ref>
    </seealso>
    </definition>
   </item>
   <item type="Routine">
    <name>ap_cfg_getc</name>
    <definition>
    <declaration>int ap_cfg_getc(configfile_t *cfp);</declaration>
    <description href="dict-ap_cfg_getc.html" />
    <example>
     <text>&lt;i&gt;No examples available; not used in Apache 1.3.&lt;/i&gt;</text>
    </example>
    <seealso>
     <ref>SA-cfgfiles</ref>
    </seealso>
    </definition>
   </item>
   <item type="Routine">
    <name>ap_cfg_getline</name>
    <definition>
    <declaration>int ap_cfg_getline(char *buf, size_t bufsize, configfile_t *cfp);</declaration>
    <description href="dict-ap_cfg_getline.html" />
    <example>
     <text>while (! ap_cfg_getline(l, MAX_STRING_LEN, cmd-&gt;config_file)) {
      /* Do something with the line read into l */
  }</text>
    </example>
    <seealso>
     <ref>SA-cfgfiles</ref>
    </seealso>
    </definition>
   </item>
   <item type="Routine">
    <name>ap_chdir_file</name>
    <definition>
    <declaration>void ap_chdir_file(const char *file);</declaration>
    <description href="dict-ap_chdir_file.html" />
    <example>
     <text>ap_chdir_file(r-&gt;filename);</text>
    </example>
    </definition>
   </item>
   <item type="Routine">
    <name>ap_check_access</name>
    <definition>
    <declaration>int ap_check_access(request_rec *);</declaration>
    <description />
    <example>
     <text>request_rec *r;
  int result;
  result = ap_check_access(r);</text>
    </example>
    </definition>
   </item>
   <item type="Routine">
    <name>ap_check_alarm</name>
    <definition>
    <declaration>int ap_check_alarm(void);</declaration>
    <description />
    <example>
     <text>if (! (tv.tv_sec = ap_check_alarm())) {
      return (send(sock, buf, len, flags));
  }</text>
    </example>
    </definition>
   </item>
   <item type="Routine">
    <name>ap_check_auth</name>
    <definition>
    <declaration>int ap_check_auth(request_rec *);</declaration>
    <description />
    <example>
     <text>request_rec *r;
  int result;
  result = ap_check_auth(r);</text>
    </example>
    </definition>
   </item>
   <item type="Routine">
    <name>ap_check_cmd_context</name>
    <definition>
    <declaration>const char *ap_check_cmd_context(cmd_parms *cmd, unsigned forbidden);</declaration>
    <description />
    <example>
     <text>const char *err;
  err = ap_check_cmd_context(cmd, GLOBAL_ONLY);
  if (err != NULL) {
      return err;
  }</text>
    </example>
    </definition>
   </item>
   <item type="Routine">
    <name>ap_check_user_id</name>
    <definition>
    <declaration>int ap_check_user_id(request_rec *r);</declaration>
    <description />
    <example>
     <text>request_rec *r;
  int result;
  result = ap_check_user_id(r);</text>
    </example>
    </definition>
   </item>
   <item type="Routine">
    <name>ap_checkmask</name>
    <definition>
    <declaration>int ap_checkmask(const char *data, const char *mask);</declaration>
    <description />
    <example>
     <text>if (ap_checkmask(date, &quot;## @$$ #### ##:##:## *&quot;)) {
      /* Date is in RFC 1123 format. */
  }</text>
    </example>
    </definition>
   </item>
   <item type="Routine">
    <name>ap_child_exit_modules</name>
    <definition>
    <declaration>void ap_child_exit_modules(pool *p, server_rec *s);</declaration>
    <description />
    <example>
     <text>if (pchild) {
      ap_child_exit_modules(pchild, server_conf);
      ap_destroy_pool(pchild);
  }</text>
    </example>
    </definition>
   </item>
   <item type="Routine">
    <name>ap_child_init_modules</name>
    <definition>
    <declaration>void ap_child_init_modules(pool *p, server_rec *s);</declaration>
    <description />
    <example>
     <text>ap_child_init_modules(pconf, server_conf);</text>
    </example>
    </definition>
   </item>
   <item type="Routine">
    <name>ap_child_terminate</name>
    <definition>
    <declaration>void ap_child_terminate(request_rec *r);</declaration>
    <description />
    <example>
     <text>request_rec *r;
  ap_child_terminate(r);</text>
    </example>
    </definition>
   </item>
   <item type="Routine">
    <name>ap_cleanup_for_exec</name>
    <definition>
    <declaration>void ap_cleanup_for_exec(void);</declaration>
    <description href="dict-ap_cleanup_for_exec.html" />
    <example>
     <text>$();
  child_pid = ap_call_exec(r, pinfo, argv0, env, 0);</text>
    </example>
    </definition>
   </item>
   <item type="Routine">
    <name>ap_clear_module_list</name>
    <definition>
    <declaration>void ap_clear_module_list(void);</declaration>
    <description />
    <example>
     <text>ap_clear_module_list();</text>
    </example>
    </definition>
   </item>
   <item type="Routine">
    <name>ap_clear_pool</name>
    <definition>
    <declaration>void ap_clear_pool(struct pool *a);</declaration>
    <description href="dict-ap_clear_pool.html" />
    <example>
     <text>ap_clear_pool(plog);
  ap_open_logs(server_conf, plog);</text>
    </example>
    <seealso>
     <ref>SA-pool</ref>
    </seealso>
    </definition>
   </item>
   <item type="Routine">
    <name>ap_clear_table</name>
    <definition>
    <declaration>void ap_clear_table(table *t);</declaration>
    <description href="dict-ap_clear_table.html" />
    <example>
     <text>table tmp;
  tmp = r-&gt;headers_out;
  r-&gt;headers_out = r-&gt;err_headers_out;
  r-&gt;err_headers_out = tmp;
  ap_clear_table(r-&gt;err_headers_out);</text>
    </example>
    <seealso>
     <ref>SA-tables</ref>
    </seealso>
    </definition>
   </item>
   <item type="Routine">
    <name>ap_close_piped_log</name>
    <definition>
    <declaration>void ap_close_piped_log(piped_log *plp);</declaration>
    <description />
    <example>
     <text>&lt;i&gt;No examples available; not used in Apache 1.3.&lt;/i&gt;</text>
    </example>
    <seealso>
     <ref>SA-piped-log</ref>
    </seealso>
    </definition>
   </item>
   <item type="Routine">
    <name>ap_construct_server</name>
    <definition>
    <declaration>char *ap_construct_server(pool *p, const char *hostname, unsigned port, const request_rec *r);</declaration>
    <description href="dict-ap_construct_server.html" />
    <example>
     <text>&lt;i&gt;No examples available; not used in Apache 1.3.&lt;/i&gt;</text>
    </example>
    </definition>
   </item>
   <item type="Routine">
    <name>ap_construct_url</name>
    <definition>
    <declaration>char *ap_construct_url(pool *p, const char *uri, const request_rec *r);</declaration>
    <description href="dict-ap_construct_url.html" />
    <example>
     <text>return ap_construct_url(r-&gt;pool, r-&gt;uri, r);</text>
    </example>
    </definition>
   </item>
   <item type="Routine">
    <name>ap_content_type_tolower</name>
    <definition>
    <declaration>void ap_content_type_tolower(char *str)</declaration>
    <description />
    <example>
     <text>tmp = ap_pstrdup(r-&gt;pool, l);
  ap_content_type_tolower(tmp);
  r-&gt;content_type = tmp;</text>
    </example>
    </definition>
   </item>
   <item type="Routine">
    <name>ap_copy_array</name>
    <definition>
    <declaration>array_header *ap_copy_array(pool *p, const array_header *src);</declaration>
    <description href="dict-ap_copy_array.html" />
    <example>
     <text>&lt;i&gt;No examples available; not used in Apache 1.3.&lt;/i&gt;</text>
    </example>
    <seealso>
     <ref>SA-array</ref>
    </seealso>
    </definition>
   </item>
   <item type="Routine">
    <name>ap_copy_array_hdr</name>
    <definition>
    <declaration>array_header *ap_copy_array_hdr(pool *p, const array_header *src);</declaration>
    <description href="dict-ap_copy_array_hdr.html" />
    <example>
     <text>&lt;i&gt;No examples available; not used in Apache 1.3.&lt;/i&gt;</text>
    </example>
    <seealso>
     <ref>SA-array</ref>
    </seealso>
    </definition>
   </item>
   <item type="Routine">
    <name>ap_copy_table</name>
    <definition>
    <declaration>table *ap_copy_table(pool *p, const table *t);</declaration>
    <description href="dict-ap_copy_table.html" />
    <example>
     <text>rnew-&gt;subprocess_env = ap_copy_table(rnew-&gt;pool, r-&gt;subprocess_env);</text>
    </example>
    <seealso>
     <ref>SA-tables</ref>
    </seealso>
    </definition>
   </item>
   <item type="Routine">
    <name>ap_core_reorder_directories</name>
    <definition>
    <declaration>void ap_core_reorder_directories(pool *, server_rec *);</declaration>
    <description />
    <example>
     <text>/* XXX: this is really something that should be dealt with by a
   * post-config api phase */
  ap_core_reorder_directories(p, virt);</text>
    </example>
    </definition>
   </item>
   <item type="Routine">
    <name>ap_count_dirs</name>
    <definition>
    <declaration>int ap_count_dirs(const char *path);</declaration>
    <description href="dict-ap_count_dirs.html" />
    <example>
     <text>ap_no2slash(test_filename);
  num_dirs = ap_count_dirs(test_filename);</text>
    </example>
    </definition>
   </item>
   <item type="Routine">
    <name>ap_cpystrn</name>
    <definition>
    <declaration>char *ap_cpystrn(char *buf, const char *str, size_t numbytes);</declaration>
    <description href="dict-ap_cpystrn.html" />
    <example>
     <text>char *ap_coredump_dir;
  char *ap_server_root;
  ap_cpystrn(ap_coredump_dir, ap_server_root, sizeof(ap_coredump_dir));</text>
    </example>
    </definition>
   </item>
   <item type="Routine">
    <name>ap_create_environment</name>
    <definition>
    <declaration>char **ap_create_environment(pool *p, table *t);</declaration>
    <description />
    <example>
     <text>ap_add_cgi_vars(r);
  env = ap_create_environment(r-&gt;pool, r-&gt;subprocess_env);
  child_pid = ap_call_exec(r, pinfo, s, env), 1);</text>
    </example>
    </definition>
   </item>
   <item type="Routine">
    <name>ap_create_mutex</name>
    <definition>
    <declaration>mutex *ap_create_mutex(char *name);</declaration>
    <description href="dict-ap_create_mutex.html" />
    <example>
     <text>static mutex *alloc_mutex = NULL; 
  alloc_mutex = ap_create_mutex(NULL);</text>
    </example>
    <seealso>
     <ref>SA-mutex</ref>
    </seealso>
    </definition>
   </item>
   <item type="Routine">
    <name>ap_create_per_dir_config</name>
    <definition>
    <declaration>void *ap_create_per_dir_config(pool *p);</declaration>
    <description />
    <example>
     <text>void *new_file_conf;
  new_file_conf = $(cmd-&gt;pool);</text>
    </example>
    </definition>
   </item>
   <item type="Routine">
    <name>ap_create_request_config</name>
    <definition>
    <declaration>void *ap_create_request_config(pool *p);</declaration>
    <description />
    <example>
     <text>r-&gt;request_config = ap_create_request_config(r-&gt;pool);</text>
    </example>
    </definition>
   </item>
   <item type="Routine">
    <name>ap_custom_response</name>
    <definition>
    <declaration>void ap_custom_response(request_rec *r, int status, char *string);</declaration>
    <description href="dict-ap_custom_response.html" />
    <example>
     <text>r-&gt;content_type = &quot;text/plain&quot;; 
  ap_custom_response(r, HTTP_FORBIDDEN, &quot;Access denied.
  &quot;); </text>
    </example>
    </definition>
   </item>
   <item type="Global Data Cell">
    <name>ap_daemons_limit</name>
    <definition>
    <declaration>int ap_daemons_limit;</declaration>
    <description />
    <example>
     <text>ap_daemons_limit = HARD_SERVER_LIMIT;</text>
    </example>
    </definition>
   </item>
   <item type="Global Data Cell">
    <name>ap_daemons_max_free</name>
    <definition>
    <declaration>int ap_daemons_max_free;</declaration>
    <description />
    <example>
     <text>ap_daemons_max_free = DEFAULT_MAX_FREE_DAEMON</text>
    </example>
    </definition>
   </item>
   <item type="Global Data Cell">
    <name>ap_daemons_min_free</name>
    <definition>
    <declaration>int ap_daemons_min_free;</declaration>
    <description />
    <example>
     <text>ap_daemons_min_free = DEFAULT_MIN_FREE_DAEMON</text>
    </example>
    </definition>
   </item>
   <item type="Global Data Cell">
    <name>ap_daemons_to_start</name>
    <definition>
    <declaration>int ap_daemons_to_start;</declaration>
    <description />
    <example>
     <text>ap_daemons_to_start = DEFAULT_START_DAEMON</text>
    </example>
    </definition>
   </item>
   <item type="Global Data Cell">
    <name>ap_day_snames</name>
    <definition>
    <declaration>const char ap_day_snames[7][4];</declaration>
    <description href="dict-ap_day_snames.html" />
    <example>
     <text>if (strcmp(week, ap_day_snames[wk]) == 0)
  break; </text>
    </example>
    </definition>
   </item>
   <item type="Routine">
    <name>ap_default_port_for_request</name>
    <definition>
    <declaration>unsigned short ap_default_port_for_request(const request_rec *r);</declaration>
    <description />
    <example>
     <text>port = (r-&gt;parsed_uri.port != 0)
             ? r-&gt;parsed_uri.port : $(r);</text>
    </example>
    </definition>
   </item>
   <item type="Routine">
    <name>ap_default_port_for_scheme</name>
    <definition>
    <declaration>unsigned short ap_default_port_for_scheme(const char *scheme_str);</declaration>
    <description />
    <example>
     <text>uptr-&gt;port = uptr-&gt;scheme ? $(uptr-&gt;scheme) : DEFAULT_HTTP_PORT;</text>
    </example>
    </definition>
   </item>
   <item type="Routine">
    <name>ap_default_type</name>
    <definition>
    <declaration>char *ap_default_type(request_req *r);</declaration>
    <description />
    <example>
     <text>type = (r-&gt;content_type == NULL) ? ap_default_type(r) : r-&gt;content_type;</text>
    </example>
    </definition>
   </item>
   <item type="Routine">
    <name>ap_destroy_mutex</name>
    <definition>
    <declaration>void ap_destroy_mutex(mutex *mutex_id);</declaration>
    <description href="dict-ap_destroy_mutex.html" />
    <example>
     <text>static mutex *start_mutex = NULL; 
  ap_destroy_mutex(start_mutex);</text>
    </example>
    <seealso>
     <ref>SA-mutex</ref>
    </seealso>
    </definition>
   </item>
   <item type="Routine">
    <name>ap_destroy_pool</name>
    <definition>
    <declaration>void ap_destroy_pool(pool *p);</declaration>
    <description href="dict-ap_destroy_pool.html" />
    <example>
     <text>ap_child_exit_modules(pconf, server_conf);
  ap_destroy_pool(pchild);</text>
    </example>
    <seealso>
     <ref>SA-pool</ref>
    </seealso>
    </definition>
   </item>
   <item type="Routine">
    <name>ap_destroy_sub_req</name>
    <definition>
    <declaration>void ap_destroy_sub_req(request_rec *r);</declaration>
    <description href="dict-ap_destroy_sub_req.html" />
    <example>
     <text>request_rec *r;
  ap_destroy_sub_req(r);</text>
    </example>
    </definition>
   </item>
   <item type="Routine">
    <name>ap_die</name>
    <definition>
    <declaration>void ap_die(int type, request_rec *r);</declaration>
    <description />
    <example>
     <text>if (r-&gt;method_number == M_TRACE) {
      if ((access_status = ap_send_http_trace(r))) {
          ap_die(access_status, r);
      }
      else {
          ap_finalize_request_protocol(r);
      }
      :</text>
    </example>
    </definition>
   </item>
   <item type="Routine">
    <name>ap_discard_request_body</name>
    <definition>
    <declaration>int ap_discard_request_body(request_rec *r);</declaration>
    <description />
    <example>
     <text>request_rec *r;
  int result;
  result = ap_discard_request_body(r);</text>
    </example>
    </definition>
   </item>
   <item type="Routine">
    <name>ap_document_root</name>
    <definition>
    <declaration>const char *ap_document_root(request_rec *r);</declaration>
    <description href="dict-ap_document_root.html" />
    <example>
     <text>request_rec *r;
  const char *docroot;
  docroot = ap_document_root(r)
      </text>
    </example>
    <seealso>
     <ref>DOCUMENT_LOCATION</ref>
    </seealso>
    </definition>
   </item>
   <item type="Routine">
    <name>ap_each_byterange</name>
    <definition>
    <declaration>int ap_each_byterange(request_rec *r, long *offset, long *length);</declaration>
    <description />
    <example>
     <text>while (ap_each_byterange(r, &amp;offset, &amp;length)) {
      ap_send_mmap(mm, r, offset, length);
  }</text>
    </example>
    </definition>
   </item>
   <item type="Routine">
    <name>ap_error_log2stderr</name>
    <definition>
    <declaration>void ap_error_log2stderr(server_rec *s);</declaration>
    <description />
    <example>
     <text>ap_error_log2stderr(r-&gt;server);</text>
    </example>
    <seealso>
     <ref>SA-logging</ref>
    </seealso>
    </definition>
   </item>
   <item type="Routine">
    <name>ap_escape_html</name>
    <definition>
    <declaration>char *ap_escape_html(pool *p, const char *s);</declaration>
    <description href="dict-ap_escape_html.html" />
    <example>
     <text>char *title_name;
  title_name = ap_escape_html(r-&gt;pool, r-&gt;uri);</text>
    </example>
    </definition>
   </item>
   <item type="Routine">
    <name>ap_escape_path_segment</name>
    <definition>
    <declaration>char *ap_escape_path_segment(pool *p, const char *s);</declaration>
    <description href="dict-ap_escape_path_segment.html" />
    <example>
     <text>&lt;i&gt;No examples available; not used in Apache 1.3.&lt;/i&gt;</text>
    </example>
    </definition>
   </item>
   <item type="Routine">
    <name>ap_escape_quotes</name>
    <definition>
    <declaration>char *ap_escape_quotes(pool *p, const char *str);</declaration>
    <description href="dict-ap_escape_quotes.html" />
    <example>
     <text>cmd_parms *cmd;
  char *word1;
  core_dir_config *aconfig = (core_dir_config *)mconfig; 
  aconfig-&gt;ap_auth_name = ap_escape_quotes(cmd-&gt;pool, word1);</text>
    </example>
    </definition>
   </item>
   <item type="Routine">
    <name>ap_escape_shell_cmd</name>
    <definition>
    <declaration>char *ap_escape_shell_cmd(pool *p, const char *s);</declaration>
    <description href="dict-ap_escape_shell_cmd.html" />
    <example>
     <text>ap_unescape_url(arg_copy);
  ap_table_setn(r-&gt;subprocess_env, &quot;QUERY_STRING_UNESCAPED&quot;,
                ap_escape_shell_cmd(r-&gt;pool, arg_copy));</text>
    </example>
    </definition>
   </item>
   <item type="Global Data Cell">
    <name>ap_excess_requests_per_child</name>
    <definition>
    <declaration>int ap_excess_requests_per_child;</declaration>
    <description />
    <example>
     <text>max_jobs_after_exit_request = ap_excess_requests_per_child;</text>
    </example>
    </definition>
   </item>
   <item type="Routine">
    <name>ap_exists_config_define</name>
    <definition>
    <declaration>int ap_exists_config_define(char *name);</declaration>
    <description />
    <example>
     <text>defined = ap_exists_config_define(arg);
  if ((!not &amp;&amp; defined) || (not &amp;&amp; !defined)) {
      /* condition has been met */</text>
    </example>
    </definition>
   </item>
   <item type="Routine">
    <name>ap_exists_scoreboard_image</name>
    <definition>
    <declaration>int ap_exists_scoreboard_image(void);</declaration>
    <description />
    <example>
     <text>if (! ap_exists_scoreboard_image()) {
      ap_log_rerror(APLOG_MARK, APLOG_NOERRNO|APLOG_ERR, r,
                    &quot;Server status unavailable in inetd mode&quot;);
      :</text>
    </example>
    <seealso>
     <ref>SA-scoreboard</ref>
    </seealso>
    </definition>
   </item>
   <item type="Global Data Cell">
    <name>ap_extended_status</name>
    <definition>
    <declaration>int ap_extended_status;</declaration>
    <description />
    <example>
     <text>if (ap_extended_status) {
      lres = score_record.access_count;
      bytes = score_record.bytes_served;
      :</text>
    </example>
    </definition>
   </item>
   <item type="Routine">
    <name>ap_field_noparam</name>
    <definition>
    <declaration>char *ap_field_noparam(pool *p, const char *intype);</declaration>
    <description href="dict-ap_field_noparam.html" />
    <example>
     <text>content_type = ap_field_noparam(r-&gt;pool, r-&gt;content_type);</text>
    </example>
    </definition>
   </item>
   <item type="Routine">
    <name>ap_finalize_request_protocol</name>
    <definition>
    <declaration>void ap_finalize_request_protocol(request_rec *r);</declaration>
    <description />
    <example>
     <text>request_rec *r;
  ap_finalize_request_protocol(r);</text>
    </example>
    </definition>
   </item>
   <item type="Routine">
    <name>ap_finalize_sub_req_protocol</name>
    <definition>
    <declaration>void ap_finalize_sub_req_protocol(request_rec *r);</declaration>
    <description />
    <example>
     <text>request_rec *r;
  ap_finalize_sub_req_protocol(r);</text>
    </example>
    </definition>
   </item>
   <item type="Routine">
    <name>ap_find_command</name>
    <definition>
    <declaration>const command_rec *ap_find_command(const char *name, const command_rec *cmds);</declaration>
    <description />
    <example>
     <text>for (modp = *mod, modp != NULL; modp = modp-&gt;next) {
      if (modp-&gt;cmds &amp;&amp; (cmdp = ap_find_command(cmd_name, modp-&gt;cmds))) {
          *mod = modp;
          return cmdp;
      }
  }</text>
    </example>
    </definition>
   </item>
   <item type="Routine">
    <name>ap_find_command_in_modules</name>
    <definition>
    <declaration>const command_rec *ap_find_command_in_modules(const char *cmd_name, module **m);</declaration>
    <description />
    <example>
     <text>if (! (cmd = ap_find_command_in_modules(cmd_name, &amp;mod))) {
      errno = EINVAL;
      return ap_pstrcat(parms-&gt;pool, &quot;Invalid command '&quot;, cmd_name, &quot;'&quot;, NULL);</text>
    </example>
    </definition>
   </item>
   <item type="Routine">
    <name>ap_find_last_token</name>
    <definition>
    <declaration>int ap_find_last_token(pool *p, const char *line, const char *tok);</declaration>
    <description />
    <example>
     <text>ap_find_last_token(r-&gt;pool,
                          ap_table_get(r-&gt;headers_out, &quot;Transfer-Encoding&quot;),
                          &quot;chunked&quot;);</text>
    </example>
    </definition>
   </item>
   <item type="Routine">
    <name>ap_find_linked_module</name>
    <definition>
    <declaration>module *ap_find_linked_module(const char *name);</declaration>
    <description />
    </definition>
   </item>
   <item type="Routine">
    <name>ap_find_list_item</name>
    <definition>
    <declaration>int ap_find_list_item(pool *p, const char *line, const char *tok);</declaration>
    <description />
    </definition>
   </item>
   <item type="Routine">
    <name>ap_find_module_name</name>
    <definition>
    <declaration>const char *ap_find_module_name(module *m);</declaration>
    <description />
    </definition>
   </item>
   <item type="Routine">
    <name>ap_find_path_info</name>
    <definition>
    <declaration>int ap_find_path_info(const char *uri, const char *path_info);</declaration>
    <description />
    </definition>
   </item>
   <item type="Routine">
    <name>ap_find_pool</name>
    <definition>
    <declaration>pool *ap_find_pool(const void *ts);</declaration>
    <description />
    <example>
     <text>pool *p;
  p = ap_find_pool((const void *)r-&gt;content_type);
  if (p == NULL) { 
      /* r-&gt;content_type is either NULL, a constant, 
       * or in memory allocated using some other method than pools */ 
  }</text>
    </example>
    <seealso>
     <ref>SA-pool</ref>
    </seealso>
    </definition>
   </item>
   <item type="Routine">
    <name>ap_find_token</name>
    <definition>
    <declaration>int ap_find_token(pool *p, const char *line, const char *tok);</declaration>
    <description href="dict-ap_find_token.html" />
    </definition>
   </item>
   <item type="Routine">
    <name>ap_find_types</name>
    <definition>
    <declaration>int ap_find_types(request_rec *r);</declaration>
    <description />
    <example>
     <text>request_rec *r;
  int result;
  result = ap_find_types(r);</text>
    </example>
    </definition>
   </item>
   <item type="Routine">
    <name>ap_fini_vhost_config</name>
    <definition>
    <declaration>void ap_fini_vhost_config(pool *p, server_rec *main_server);</declaration>
    <description />
    </definition>
   </item>
   <item type="Routine">
    <name>ap_fnmatch</name>
    <definition>
    <declaration>int ap_fnmatch(const char *pattern, const char *string, int flags);</declaration>
    <description href="dict-ap_fnmatch.html" />
    <example>
     <text>#include &quot;fnmatch.h&quot;
      int fnflags = 0;
  #ifdef WIN32
      fnflags |= FNM_CASE_BLIND;
  #endif
      if (ap_fnmatch(&quot;index.html&quot;, r-&gt;filename, fnflags) == 0) { 
          return OK; 
      }</text>
    </example>
    <seealso>
     <ref>SA-fnmatch</ref>
    </seealso>
    </definition>
   </item>
   <item type="Routine">
    <name>ap_force_library_loading</name>
    <definition>
    <declaration>void ap_force_library_loading(void)</declaration>
    <description />
    </definition>
   </item>
   <item type="Routine">
    <name>ap_get_basic_auth_pw</name>
    <definition>
    <declaration>int ap_get_basic_auth_pw(request_rec *r, char **pw);</declaration>
    <description />
    </definition>
   </item>
   <item type="Routine">
    <name>ap_get_client_block</name>
    <definition>
    <declaration>long ap_get_client_block(request_rec *r, char *buffer, int bufsiz);</declaration>
    <description href="dict-ap_get_client_block.html" />
    <seealso>
     <ref>SA-readbody</ref>
    </seealso>
    </definition>
   </item>
   <item type="Routine">
    <name>ap_get_gmtoff</name>
    <definition>
    <declaration>struct tm *ap_get_gmtoff(int *tz);</declaration>
    <description href="dict-ap_get_gmtoff.html" />
    </definition>
   </item>
   <item type="Routine">
    <name>ap_get_limit_req_body</name>
    <definition>
    <declaration>unsigned long ap_get_limit_req_body(const request_rec *r);</declaration>
    <description />
    </definition>
   </item>
   <item type="Routine">
    <name>ap_get_list_item</name>
    <definition>
    <declaration>char *ap_get_list_item(pool *p, const char **field);</declaration>
    <description />
    </definition>
   </item>
   <item type="Routine">
    <name>ap_get_local_host</name>
    <definition>
    <declaration>char *ap_get_local_host(pool *);</declaration>
    <description href="dict-ap_get_local_host.html" />
    </definition>
   </item>
   <item type="Routine">
    <name>ap_get_module_config</name>
    <definition>
    <declaration>void *ap_get_module_config(void *conf_vector, module *m);</declaration>
    <description />
    </definition>
   </item>
   <item type="Routine">
    <name>ap_get_remote_host</name>
    <definition>
    <declaration>const char *ap_get_remote_host(conn_rec *conn, void *dir_config, int type);</declaration>
    <description />
    </definition>
   </item>
   <item type="Routine">
    <name>ap_get_remote_logname</name>
    <definition>
    <declaration>const char *ap_get_remote_logname(request_rec *r);</declaration>
    <description />
    </definition>
   </item>
   <item type="Routine">
    <name>ap_get_server_built</name>
    <definition>
    <declaration>char *ap_get_server_built(void);</declaration>
    <description href="dict-ap_get_server_built.html" />
    <example>
     <text>char *string;
  string = ap_get_server_built();</text>
    </example>
    <seealso>
     <ref>SA-identity</ref>
    </seealso>
    </definition>
   </item>
   <item type="Routine">
    <name>ap_get_server_name</name>
    <definition>
    <declaration>char *ap_get_server_name(const request_rec *r);</declaration>
    <description href="dict-ap_get_server_name.html" />
    <example>
     <text>char *string;
  string = ap_get_server_name();</text>
    </example>
    <seealso>
     <ref>SA-identity</ref>
    </seealso>
    </definition>
   </item>
   <item type="Routine">
    <name>ap_get_server_port</name>
    <definition>
    <declaration>unsigned ap_get_server_port(const request_rec *r);</declaration>
    <description href="dict-ap_get_server_port.html" />
    <example>
     <text>const request_rec *r;
  int port;
  port = ap_get_server_port(r);</text>
    </example>
    </definition>
   </item>
   <item type="Routine">
    <name>ap_get_server_version</name>
    <definition>
    <declaration>char *ap_get_server_version(void);</declaration>
    <description href="dict-ap_get_server_version.html" />
    <example>
     <text>char *string;
  string = ap_get_server_version();</text>
    </example>
    <seealso>
     <ref>SA-identity</ref>
    </seealso>
    </definition>
   </item>
   <item type="Routine">
    <name>ap_get_time</name>
    <definition>
    <declaration>char *ap_get_time(void);</declaration>
    <description href="dict-ap_get_time.html" />
    </definition>
   </item>
   <item type="Routine">
    <name>ap_get_token</name>
    <definition>
    <declaration>char *ap_get_token(pool *p, char **accept_line, int accept_white);</declaration>
    <description href="dict-ap_get_token.html" />
    </definition>
   </item>
   <item type="Routine">
    <name>ap_get_virthost_addr</name>
    <definition>
    <declaration>unsigned long ap_get_virthost_addr(const char *w, unsigned short *ports);</declaration>
    <description href="dict-ap_get_virthost_addr.html" />
    </definition>
   </item>
   <item type="Routine">
    <name>ap_get_win32_interpreter</name>
    <definition>
    <declaration>file_type_e ap_get_win32_interpreter(const request_rec *, char **);</declaration>
    <description />
    </definition>
   </item>
   <item type="Routine">
    <name>ap_getparents</name>
    <definition>
    <declaration>void ap_getparents(char *name);</declaration>
    <description href="dict-ap_getparents.html" />
    </definition>
   </item>
   <item type="Routine">
    <name>ap_getpass</name>
    <definition>
    <declaration>int ap_getpass(const char *prompt, char *pwbuf, size_t bufsiz);</declaration>
    <description />
    </definition>
   </item>
   <item type="Routine">
    <name>ap_getword</name>
    <definition>
    <declaration>char *ap_getword(pool *p, const char **line, char stop);</declaration>
    <description href="dict-ap_getword.html" />
    </definition>
   </item>
   <item type="Routine">
    <name>ap_getword_conf</name>
    <definition>
    <declaration>char *ap_getword_conf(pool *p, const char **line);</declaration>
    <description href="dict-ap_getword_conf.html" />
    </definition>
   </item>
   <item type="Routine">
    <name>ap_getword_conf_nc</name>
    <definition>
    <declaration>char *ap_getword_conf_nc(pool *p, char **line);</declaration>
    <description href="dict-ap_getword_conf_nc.html" />
    </definition>
   </item>
   <item type="Routine">
    <name>ap_getword_nc</name>
    <definition>
    <declaration>char *ap_getword_nc(pool *p, char **line, char stop);</declaration>
    <description href="dict-ap_getword_nc.html" />
    </definition>
   </item>
   <item type="Routine">
    <name>ap_getword_nulls</name>
    <definition>
    <declaration>char *ap_getword_nulls(pool *p, const char **line, char stop);</declaration>
    <description href="dict-ap_getword_nulls.html" />
    </definition>
   </item>
   <item type="Routine">
    <name>ap_getword_nulls_nc</name>
    <definition>
    <declaration>char *ap_getword_nulls_nc(pool *p, char **line, char stop);</declaration>
    <description href="dict-ap_getword_nulls_nc.html" />
    </definition>
   </item>
   <item type="Routine">
    <name>ap_getword_white</name>
    <definition>
    <declaration>char *ap_getword_white(pool *p, const char **line);</declaration>
    <description href="dict-ap_getword_white.html" />
    </definition>
   </item>
   <item type="Routine">
    <name>ap_getword_white_nc</name>
    <definition>
    <declaration>char *ap_getword_white_nc(pool *p, char **line);</declaration>
    <description href="dict-ap_getword_white_nc.html" />
    </definition>
   </item>
   <item type="Routine">
    <name>ap_gm_timestr_822</name>
    <definition>
    <declaration>char *ap_gm_timestr_822(pool *p, time_t t);</declaration>
    <description href="dict-ap_gm_timestr_822.html" />
    </definition>
   </item>
   <item type="Routine">
    <name>ap_gname2id</name>
    <definition>
    <declaration>gid_t ap_gname2id(const char *name);</declaration>
    <description href="dict-ap_gname2id.html" />
    </definition>
   </item>
   <item type="Global Data Cell">
    <name>ap_group_id</name>
    <definition>
    <declaration>gid_t ap_group_id;</declaration>
    <description />
    </definition>
   </item>
   <item type="Routine">
    <name>ap_handle_command</name>
    <definition>
    <declaration>const char *ap_handle_command(cmd_parms *parms, void *config, const char *l);</declaration>
    <description />
    </definition>
   </item>
   <item type="Routine">
    <name>ap_hard_timeout</name>
    <definition>
    <declaration>void ap_hard_timeout(char *reason, request_rec *r);</declaration>
    <description href="dict-ap_hard_timeout.html" />
    </definition>
   </item>
   <item type="Routine">
    <name>ap_header_parse</name>
    <definition>
    <declaration>int ap_header_parse(request_rec *r);</declaration>
    <description />
    <example>
     <text>request_rec *r;
  int result;
  result = ap_header_parse(r);</text>
    </example>
    </definition>
   </item>
   <item type="Routine">
    <name>ap_ht_time</name>
    <definition>
    <declaration>char *ap_ht_time(pool *p, time_t t, const char *fmt, int gmt);</declaration>
    <description href="dict-ap_ht_time.html" />
    </definition>
   </item>
   <item type="Routine">
    <name>ap_ind</name>
    <definition>
    <declaration>int ap_ind(const char *str, char c);</declaration>
    <description />
    </definition>
   </item>
   <item type="Routine">
    <name>ap_index_of_response</name>
    <definition>
    <declaration>int ap_index_of_response(int status);</declaration>
    <description />
    </definition>
   </item>
   <item type="Routine">
    <name>ap_init_alloc</name>
    <definition>
    <declaration>pool * ap_init_alloc(void);</declaration>
    <description />
    </definition>
   </item>
   <item type="Routine">
    <name>ap_init_modules</name>
    <definition>
    <declaration>void ap_init_modules(pool *p, server_rec *s);</declaration>
    <description />
    </definition>
   </item>
   <item type="Routine">
    <name>ap_init_vhost_config</name>
    <definition>
    <declaration>void ap_init_vhost_config(pool *p);</declaration>
    <description />
    </definition>
   </item>
   <item type="Routine">
    <name>ap_init_virtual_host</name>
    <definition>
    <declaration>const char *ap_init_virtual_host(pool *p, const char *hostname, server_rec *main_server, server_rec **);</declaration>
    <description />
    </definition>
   </item>
   <item type="Routine">
    <name>ap_internal_redirect</name>
    <definition>
    <declaration>void ap_internal_redirect(const char *new_uri, request_rec *r);</declaration>
    <description href="dict-ap_internal_redirect.html" />
    </definition>
   </item>
   <item type="Routine">
    <name>ap_internal_redirect_handler</name>
    <definition>
    <declaration>void ap_internal_redirect_handler(const char *new_uri, request_rec *r);</declaration>
    <description href="dict-ap_internal_redirect_handler.html" />
    </definition>
   </item>
   <item type="Routine">
    <name>ap_invoke_handler</name>
    <definition>
    <declaration>int ap_invoke_handler(request_rec *r)</declaration>
    <description />
    <example>
     <text>request_rec *r;
  int result;
  result = ap_invoke_handler(r);</text>
    </example>
    </definition>
   </item>
   <item type="Macro">
    <name>ap_is_HTTP_CLIENT_ERROR</name>
    <definition>
    <declaration>#define ap_is_HTTP_CLIENT_ERROR(x) (((x) &gt;= 400) &amp;&amp; ((x) &lt; 500))</declaration>
    <description href="dict-ap_is_HTTP_CLIENT_ERROR.html" />
    <example>
     <text>request_rec *r;
  if (!ap_is_HTTP_CLIENT_ERROR(r-&gt;status)) { 
      return DONE; 
  } </text>
    </example>
    <seealso>
     <ref>SA-httpcodes</ref>
    </seealso>
    </definition>
   </item>
   <item type="Macro">
    <name>ap_is_HTTP_ERROR</name>
    <definition>
    <declaration>#define ap_is_HTTP_ERROR(x) (((x) &gt;= 400) &amp;&amp; ((x) &lt; 600))</declaration>
    <description href="dict-ap_is_HTTP_ERROR.html" />
    <example>
     <text>request_rec *r;
  if (!ap_is_HTTP_ERROR(r-&gt;status)) { 
      return DONE; 
  } </text>
    </example>
    <seealso>
     <ref>SA-httpcodes</ref>
    </seealso>
    </definition>
   </item>
   <item type="Macro">
    <name>ap_is_HTTP_INFO</name>
    <definition>
    <declaration>#define ap_is_HTTP_INFO(x) (((x) &gt;= 100) &amp;&amp; ((x) &lt; 200))</declaration>
    <description href="dict-ap_is_HTTP_INFO.html" />
    <example>
     <text>request_rec *r;
  if (!ap_is_HTTP_INFO(r-&gt;status)) { 
      return OK; 
  } </text>
    </example>
    <seealso>
     <ref>SA-httpcodes</ref>
    </seealso>
    </definition>
   </item>
   <item type="Macro">
    <name>ap_is_HTTP_REDIRECT</name>
    <definition>
    <declaration>#define ap_is_HTTP_REDIRECT(x) (((x) &gt;= 300) &amp;&amp; ((x) &lt; 400))</declaration>
    <description href="dict-ap_is_HTTP_REDIRECT.html" />
    <example>
     <text>request_rec *r;
  if (!ap_is_HTTP_REDIRECT(r-&gt;status)) { 
      return OK; 
  } </text>
    </example>
    <seealso>
     <ref>SA-httpcodes</ref>
    </seealso>
    </definition>
   </item>
   <item type="Macro">
    <name>ap_is_HTTP_SERVER_ERROR</name>
    <definition>
    <declaration>#define ap_is_HTTP_SERVER_ERROR(x) (((x) &gt;= 500) &amp;&amp; ((x) &lt; 600))</declaration>
    <description href="dict-ap_is_HTTP_SERVER_ERROR.html" />
    <example>
     <text>request_rec *r;
  if (!ap_is_HTTP_SERVER_ERROR(r-&gt;status)) { 
      return DONE; 
  } </text>
    </example>
    <seealso>
     <ref>SA-httpcodes</ref>
    </seealso>
    </definition>
   </item>
   <item type="Macro">
    <name>ap_is_HTTP_SUCCESS</name>
    <definition>
    <declaration>#define ap_is_HTTP_SUCCESS(x) (((x) &gt;= 200) &amp;&amp; ((x) &lt; 300))</declaration>
    <description href="dict-ap_is_HTTP_SUCCESS.html" />
    <example>
     <text>request_rec *r;
  if (!ap_is_HTTP_SUCCESS(r-&gt;status)) { 
      return OK; 
  } </text>
    </example>
    <seealso>
     <ref>SA-httpcodes</ref>
    </seealso>
    </definition>
   </item>
   <item type="Macro">
    <name>ap_is_default_port</name>
    <definition>
    <declaration>#define ap_is_default_port(port,r)    ((port) == ap_default_port(r))</declaration>
    <description />
    </definition>
   </item>
   <item type="Routine">
    <name>ap_is_directory</name>
    <definition>
    <declaration>int ap_is_directory(const char *name);</declaration>
    <description href="dict-ap_is_directory.html" />
    </definition>
   </item>
   <item type="Routine">
    <name>ap_is_fnmatch</name>
    <definition>
    <declaration>int ap_is_fnmatch(const char *str);</declaration>
    <description />
    </definition>
   </item>
   <item type="Routine">
    <name>ap_is_initial_req</name>
    <definition>
    <declaration>int ap_is_initial_req(request_rec *r);</declaration>
    <description />
    <example>
     <text>request_rec *r;
  int result;
  result = ap_is_initial_req(r);</text>
    </example>
    </definition>
   </item>
   <item type="Routine">
    <name>ap_is_matchexp</name>
    <definition>
    <declaration>int ap_is_matchexp(const char *str);</declaration>
    <description href="dict-ap_is_matchexp.html" />
    </definition>
   </item>
   <item type="Routine">
    <name>ap_is_url</name>
    <definition>
    <declaration>int ap_is_url(const char *u);</declaration>
    <description href="dict-ap_is_url.html" />
    </definition>
   </item>
   <item type="Routine">
    <name>ap_keepalive_timeout</name>
    <definition>
    <declaration>void ap_keepalive_timeout(char *reason, request_rec *r);</declaration>
    <description href="dict-ap_keepalive_timeout.html" />
    </definition>
   </item>
   <item type="Routine">
    <name>ap_kill_cleanup</name>
    <definition>
    <declaration>void ap_kill_cleanup(pool *p, void *data, void (*plain_cleanup) (void *));</declaration>
    <description href="dict-ap_kill_cleanup.html" />
    </definition>
   </item>
   <item type="Routine">
    <name>ap_kill_cleanups_for_fd</name>
    <definition>
    <declaration>void ap_kill_cleanups_for_fd(pool *p, int fd);</declaration>
    <description href="dict-ap_kill_cleanups_for_fd.html" />
    </definition>
   </item>
   <item type="Routine">
    <name>ap_kill_cleanups_for_socket</name>
    <definition>
    <declaration>void ap_kill_cleanups_for_socket(pool *p, int sock);</declaration>
    <description href="dict-ap_kill_cleanups_for_socket.html" />
    </definition>
   </item>
   <item type="Routine">
    <name>ap_kill_timeout</name>
    <definition>
    <declaration>void ap_kill_timeout(request_rec *r);</declaration>
    <description href="dict-ap_kill_timeout.html" />
    <example>
     <text>request_rec *r;
  ap_kill_timeout(r);</text>
    </example>
    </definition>
   </item>
   <item type="Routine">
    <name>ap_limit_section</name>
    <definition>
    <declaration>const char *ap_limit_section(r (const char *szexp, const char *szfile, int nline);</declaration>
    <description />
    </definition>
   </item>
   <item type="Global Data Cell">
    <name>ap_loaded_modules</name>
    <definition>
    <declaration>module **ap_loaded_modules;</declaration>
    <description />
    </definition>
   </item>
   <item type="Routine">
    <name>ap_log_assert</name>
    <definition>
    <declaration>void ap_log_assert(const char *szExp, const char *szFile, int nLine) __attribute__((noreturn));</declaration>
    <description />
    </definition>
   </item>
   <item type="Routine">
    <name>ap_log_error</name>
    <definition>
    <declaration>void ap_log_error(const char *file, int line, int level, 
                        const server_rec *s, const char *fmt, ...) 
                        __attribute__((format(printf,5,6)));</declaration>
    <description />
    <seealso>
     <ref>SA-logging</ref>
    </seealso>
    </definition>
   </item>
   <item type="Routine">
    <name>ap_log_error_old</name>
    <definition>
    <declaration>void ap_log_error_old(const char *err, server_rec *s);</declaration>
    <description href="dict-ap_log_error_old.html" />
    <example>
     <text>server_rec *s;
  ap_log_error_old(&quot;Yow!&quot;, s);</text>
    </example>
    </definition>
   </item>
   <item type="Routine">
    <name>ap_log_pid</name>
    <definition>
    <declaration>void ap_log_pid(pool *p, char *fname);</declaration>
    <description />
    </definition>
   </item>
   <item type="Routine">
    <name>ap_log_printf</name>
    <definition>
    <declaration>void ap_log_printf(const server_rec *s, const char *fmt, ...);</declaration>
    <description />
    </definition>
   </item>
   <item type="Routine">
    <name>ap_log_reason</name>
    <definition>
    <declaration>void ap_log_reason(const char *reason, const char *fname, request_rec *r);</declaration>
    <description />
    </definition>
   </item>
   <item type="Routine">
    <name>ap_log_rerror</name>
    <definition>
    <declaration>void ap_log_rerror(const char *file, int line, int level, 
                     const request_rec *r, const char *fmt, ...) 
                     __attribute__((format(printf,5,6)));</declaration>
    <description />
    <seealso>
     <ref>SA-logging</ref>
    </seealso>
    </definition>
   </item>
   <item type="Routine">
    <name>ap_log_transaction</name>
    <definition>
    <declaration>int ap_log_transaction(request_rec *r);</declaration>
    <description />
    <example>
     <text>request_rec *r;
  int result;
  result = ap_log_transaction(r);</text>
    </example>
    </definition>
   </item>
   <item type="Routine">
    <name>ap_log_unixerr</name>
    <definition>
    <declaration>void ap_log_unixerr(const char *routine, const char *file, const char *msg, server_rec *s);</declaration>
    <description />
    </definition>
   </item>
   <item type="Routine">
    <name>ap_make_array</name>
    <definition>
    <declaration>array_header *ap_make_array(pool *p, int nelts, int elt_size);</declaration>
    <description href="dict-ap_make_array.html" />
    <seealso>
     <ref>SA-array</ref>
    </seealso>
    </definition>
   </item>
   <item type="Routine">
    <name>ap_make_dirstr</name>
    <definition>
    <declaration>char *ap_make_dirstr(pool *a, const char *s, int n);</declaration>
    <description href="dict-ap_make_dirstr.html" />
    </definition>
   </item>
   <item type="Routine">
    <name>ap_make_dirstr_parent</name>
    <definition>
    <declaration>char *ap_make_dirstr_parent(pool *p, const char *s);</declaration>
    <description />
    </definition>
   </item>
   <item type="Routine">
    <name>ap_make_dirstr_prefix</name>
    <definition>
    <declaration>char *ap_make_dirstr_prefix(char *d, const char *s, int n);</declaration>
    <description />
    </definition>
   </item>
   <item type="Routine">
    <name>ap_make_etag</name>
    <definition>
    <declaration>char *ap_make_etag(request_rec *r, int force_weak);</declaration>
    <description />
    </definition>
   </item>
   <item type="Routine">
    <name>ap_make_full_path</name>
    <definition>
    <declaration>char *ap_make_full_path(pool *a, const char *dir, const char *f);</declaration>
    <description href="dict-ap_make_full_path.html" />
    </definition>
   </item>
   <item type="Routine">
    <name>ap_make_sub_pool</name>
    <definition>
    <declaration>pool *ap_make_sub_pool(pool *p);</declaration>
    <description href="dict-ap_make_sub_pool.html" />
    <seealso>
     <ref>SA-pool</ref>
    </seealso>
    </definition>
   </item>
   <item type="Routine">
    <name>ap_make_table</name>
    <definition>
    <declaration>table *ap_make_table(pool *p, int nelts);</declaration>
    <description href="dict-ap_make_table.html" />
    <seealso>
     <ref>SA-tables</ref>
    </seealso>
    </definition>
   </item>
   <item type="Routine">
    <name>ap_matches_request_vhost</name>
    <definition>
    <declaration>int ap_matches_request_vhost(request_rec *r, const char *host, unsigned port);</declaration>
    <description />
    </definition>
   </item>
   <item type="Global Data Cell">
    <name>ap_max_requests_per_child</name>
    <definition>
    <declaration>int ap_max_requests_per_child;</declaration>
    <description />
    </definition>
   </item>
   <item type="Routine">
    <name>ap_md5</name>
    <definition>
    <declaration>char *ap_md5(pool *a, unsigned char *string);</declaration>
    <description />
    <seealso>
     <ref>SA-md5</ref>
    </seealso>
    </definition>
   </item>
   <item type="Routine">
    <name>ap_md5_binary</name>
    <definition>
    <declaration>char *ap_md5_binary(pool *a, const unsigned char *buf, int len);</declaration>
    <description />
    </definition>
   </item>
   <item type="Routine">
    <name>ap_md5context</name>
    <definition>
    <declaration>char *ap_md5context(pool *p, AP_MD5_CTX *context);</declaration>
    <description />
    <seealso>
     <ref>SA-md5</ref>
    </seealso>
    </definition>
   </item>
   <item type="Routine">
    <name>ap_md5contextTo64</name>
    <definition>
    <declaration>char *ap_md5contextTo64(pool *p, AP_MD5_CTX *context);</declaration>
    <description />
    </definition>
   </item>
   <item type="Routine">
    <name>ap_md5digest</name>
    <definition>
    <declaration>char *ap_md5digest(pool *p, FILE *infile);</declaration>
    <description />
    <seealso>
     <ref>SA-md5</ref>
    </seealso>
    </definition>
   </item>
   <item type="Routine">
    <name>ap_meets_conditions</name>
    <definition>
    <declaration>int ap_meets_conditions(request_rec *r);</declaration>
    <description />
    <example>
     <text>request_rec *r;
  int result;
  result = ap_meets_conditions(r);</text>
    </example>
    </definition>
   </item>
   <item type="Routine">
    <name>ap_merge_per_dir_configs</name>
    <definition>
    <declaration>void *ap_merge_per_dir_configs(pool *p, void *base, void *new);</declaration>
    <description />
    </definition>
   </item>
   <item type="Routine">
    <name>ap_method_number_of</name>
    <definition>
    <declaration>int ap_method_number_of(const char *method);</declaration>
    <description />
    </definition>
   </item>
   <item type="Global Data Cell">
    <name>ap_month_snames</name>
    <definition>
    <declaration>const char ap_month_snames[12][4];</declaration>
    <description href="dict-ap_month_snames.html" />
    <example>
     <text>if (strcmp(month, ap_month_snames[mon]) == 0)
  break;</text>
    </example>
    </definition>
   </item>
   <item type="Global Data Cell">
    <name>ap_my_generation</name>
    <definition>
    <declaration>ap_generation_t volatile ap_my_generation;</declaration>
    <description />
    </definition>
   </item>
   <item type="Routine">
    <name>ap_no2slash</name>
    <definition>
    <declaration>void ap_no2slash(char *name);</declaration>
    <description href="dict-ap_no2slash.html" />
    </definition>
   </item>
   <item type="Routine">
    <name>ap_note_auth_failure</name>
    <definition>
    <declaration>void ap_note_auth_failure(request_rec *r);</declaration>
    <description />
    <example>
     <text>request_rec *r;
  ap_note_auth_failure(r);</text>
    </example>
    </definition>
   </item>
   <item type="Routine">
    <name>ap_note_basic_auth_failure</name>
    <definition>
    <declaration>void ap_note_basic_auth_failure(request_rec *r);</declaration>
    <description />
    <example>
     <text>request_rec *r;
  ap_note_basic_auth_failure(r);</text>
    </example>
    </definition>
   </item>
   <item type="Routine">
    <name>ap_note_cleanups_for_fd</name>
    <definition>
    <declaration>void ap_note_cleanups_for_fd(pool *p, int fd);</declaration>
    <description href="dict-ap_note_cleanups_for_fd.html" />
    </definition>
   </item>
   <item type="Routine">
    <name>ap_note_cleanups_for_file</name>
    <definition>
    <declaration>void ap_note_cleanups_for_file(pool *p, file *f);</declaration>
    <description href="dict-ap_note_cleanups_for_file.html" />
    </definition>
   </item>
   <item type="Routine">
    <name>ap_note_cleanups_for_h</name>
    <definition>
    <declaration>void ap_note_cleanups_for_h(pool *, HANDLE);</declaration>
    <description />
    </definition>
   </item>
   <item type="Routine">
    <name>ap_note_cleanups_for_socket</name>
    <definition>
    <declaration>void ap_note_cleanups_for_socket(pool *p, int sock);</declaration>
    <description href="dict-ap_note_cleanups_for_socket.html" />
    </definition>
   </item>
   <item type="Routine">
    <name>ap_note_digest_auth_failure</name>
    <definition>
    <declaration>void ap_note_digest_auth_failure(request_rec *r);</declaration>
    <description />
    <example>
     <text>request_rec *r;
  ap_note_digest_auth_failure(r);</text>
    </example>
    </definition>
   </item>
   <item type="Routine">
    <name>ap_note_subprocess</name>
    <definition>
    <declaration>void ap_note_subprocess(pool *p, int pid, enum kill_conditions how);</declaration>
    <description href="dict-ap_note_subprocess.html" />
    </definition>
   </item>
   <item type="Routine">
    <name>ap_null_cleanup</name>
    <definition>
    <declaration>void ap_null_cleanup(void *data);</declaration>
    <description />
    </definition>
   </item>
   <item type="Routine">
    <name>ap_open_logs</name>
    <definition>
    <declaration>void ap_open_logs(server_rec *s, pool *p);</declaration>
    <description />
    </definition>
   </item>
   <item type="Routine">
    <name>ap_open_mutex</name>
    <definition>
    <declaration>mutex *ap_open_mutex(char *name);</declaration>
    <description href="dict-ap_open_mutex.html" />
    <example>
     <text>static mutex *start_mutex = NULL; 
  start_mutex = ap_open_mutex(NULL);</text>
    </example>
    <seealso>
     <ref>SA-mutex</ref>
    </seealso>
    </definition>
   </item>
   <item type="Routine">
    <name>ap_open_piped_log</name>
    <definition>
    <declaration>piped_log *ap_open_piped_log(pool *p, const char *program);</declaration>
    <description />
    <seealso>
     <ref>SA-piped-log</ref>
    </seealso>
    </definition>
   </item>
   <item type="Routine">
    <name>ap_os_canonical_filename</name>
    <definition>
    <declaration>char *ap_os_canonical_filename(pool *p, const char *file);</declaration>
    <description href="dict-ap_os_canonical_filename.html" />
    <example>
     <text>request_rec *r;
  r-&gt;filename = ap_os_canonical_filename(r-&gt;pool, r-&gt;filename);</text>
    </example>
    </definition>
   </item>
   <item type="Routine">
    <name>ap_os_case_canonical_filename</name>
    <definition>
    <declaration>char *ap_os_case_canonical_filename(pool *pPool, const char *szFile);</declaration>
    <description />
    </definition>
   </item>
   <item type="Routine">
    <name>ap_os_escape_path</name>
    <definition>
    <declaration>char *ap_os_escape_path(pool *p, const char *path, int partial);</declaration>
    <description />
    </definition>
   </item>
   <item type="Routine">
    <name>ap_os_is_filename_valid</name>
    <definition>
    <declaration>int ap_os_is_filename_valid(const char *file);</declaration>
    <description />
    </definition>
   </item>
   <item type="Routine">
    <name>ap_os_is_path_absolute</name>
    <definition>
    <declaration>int ap_os_is_path_absolute(const char *file);</declaration>
    <description />
    </definition>
   </item>
   <item type="Routine">
    <name>ap_os_systemcase_filename</name>
    <definition>
    <declaration>char *ap_os_systemcase_filename(pool *pPool, const char *szFile);</declaration>
    <description />
    </definition>
   </item>
   <item type="Routine">
    <name>ap_overlap_tables</name>
    <definition>
    <declaration>void ap_overlap_tables(table *a, const table *b, unsigned flags);</declaration>
    <description />
    </definition>
   </item>
   <item type="Routine">
    <name>ap_overlay_tables</name>
    <definition>
    <declaration>table *ap_overlay_tables(pool *p, const table *overlay, const table *base);</declaration>
    <description href="dict-ap_overlay_tables.html" />
    <seealso>
     <ref>SA-tables</ref>
    </seealso>
    </definition>
   </item>
   <item type="Routine">
    <name>ap_palloc</name>
    <definition>
    <declaration>void *ap_palloc(struct pool *p, int nbytes);</declaration>
    <description href="dict-ap_palloc.html" />
    <seealso>
     <ref>SA-pool</ref>
    </seealso>
    </definition>
   </item>
   <item type="Routine">
    <name>ap_parseHTTPdate</name>
    <definition>
    <declaration>time_t ap_parseHTTPdate(const char *date);</declaration>
    <description href="dict-ap_parseHTTPdate.html" />
    </definition>
   </item>
   <item type="Routine">
    <name>ap_parse_hostinfo_components</name>
    <definition>
    <declaration>int ap_parse_hostinfo_components(pool *p, const char *hostinfo, uri_components *uptr);</declaration>
    <description href="dict-ap_parse_hostinfo_components.html" />
    <example>
     <text>request_rec *r;
  const char *uri;
  int status; 
  status = ap_parse_hostinfo_components(r-&gt;pool, uri, &amp;r-&gt;parsed_uri);</text>
    </example>
    </definition>
   </item>
   <item type="Routine">
    <name>ap_parse_htaccess</name>
    <definition>
    <declaration>int ap_parse_htaccess(void **result, request_rec *r, int override,
          const char *path, const char *access_name); </declaration>
    <description />
    </definition>
   </item>
   <item type="Routine">
    <name>ap_parse_uri</name>
    <definition>
    <declaration>void ap_parse_uri(request_rec *r, const char *uri);</declaration>
    <description />
    </definition>
   </item>
   <item type="Routine">
    <name>ap_parse_uri_components</name>
    <definition>
    <declaration>int ap_parse_uri_components(pool *p, const char *uri, uri_components *uptr);</declaration>
    <description />
    </definition>
   </item>
   <item type="Routine">
    <name>ap_parse_vhost_addrs</name>
    <definition>
    <declaration>const char *ap_parse_vhost_addrs(pool *p, const char *hostname, server_rec *s);</declaration>
    <description />
    </definition>
   </item>
   <item type="Routine">
    <name>ap_pbase64decode</name>
    <definition>
    <declaration>char *ap_pbase64decode(pool *p, const char *bufcoded);</declaration>
    <description />
    </definition>
   </item>
   <item type="Routine">
    <name>ap_pbase64encode</name>
    <definition>
    <declaration>char *ap_pbase64encode(pool *p, char *string);</declaration>
    <description />
    </definition>
   </item>
   <item type="Routine">
    <name>ap_pcalloc</name>
    <definition>
    <declaration>void *ap_pcalloc(struct pool *p, int nbytes);</declaration>
    <description href="dict-ap_pcalloc.html" />
    <seealso>
     <ref>SA-pool</ref>
    </seealso>
    </definition>
   </item>
   <item type="Routine">
    <name>ap_pcfg_open_custom</name>
    <definition>
    <declaration>configfile_t *ap_pcfg_open_custom(pool *p, const char *descr, void *param, int(*getc_func)(void*), 
                                    void *(*gets_func) (void *buf, size_t bufsiz, void *param), int (*close_func) (void *a));</declaration>
    <description />
    </definition>
   </item>
   <item type="Routine">
    <name>ap_pcfg_openfile</name>
    <definition>
    <declaration>configfile_t *ap_pcfg_openfile(pool *p, const char *name);</declaration>
    <description />
    </definition>
   </item>
   <item type="Routine">
    <name>ap_pclosedir</name>
    <definition>
    <declaration>void ap_pclosedir(pool *p, dir * d);</declaration>
    <description />
    <seealso>
     <ref>SA-pool</ref>
    </seealso>
    </definition>
   </item>
   <item type="Routine">
    <name>ap_pclosef</name>
    <definition>
    <declaration>int ap_pclosef(struct pool *p, int fd);</declaration>
    <description href="dict-ap_pclosef.html" />
    <seealso>
     <ref>SA-pool</ref>
    </seealso>
    </definition>
   </item>
   <item type="Routine">
    <name>ap_pcloseh</name>
    <definition>
    <declaration>int ap_pcloseh(struct pool *, HANDLE hDevice);</declaration>
    <description />
    </definition>
   </item>
   <item type="Routine">
    <name>ap_pclosesocket</name>
    <definition>
    <declaration>int ap_pclosesocket(pool *p, int sock);</declaration>
    <description />
    <seealso>
     <ref>SA-pool</ref>
    </seealso>
    </definition>
   </item>
   <item type="Routine">
    <name>ap_pduphostent</name>
    <definition>
    <declaration>struct hostent *ap_pduphostent(pool *p, struct hostent *hp);</declaration>
    <description />
    <seealso>
     <ref>SA-pool</ref>
    </seealso>
    </definition>
   </item>
   <item type="Routine">
    <name>ap_pfclose</name>
    <definition>
    <declaration>int ap_pfclose(struct pool *p, file *f);</declaration>
    <description href="dict-ap_pfclose.html" />
    <seealso>
     <ref>SA-pool</ref>
    </seealso>
    </definition>
   </item>
   <item type="Routine">
    <name>ap_pfdopen</name>
    <definition>
    <declaration>file *ap_pfdopen(struct pool *p, int fd, const char *fmode);</declaration>
    <description href="dict-ap_pfdopen.html" />
    <seealso>
     <ref>SA-pool</ref>
    </seealso>
    </definition>
   </item>
   <item type="Routine">
    <name>ap_pfopen</name>
    <definition>
    <declaration>file *ap_pfopen(struct pool *p, const char *name, const char *fmode);</declaration>
    <description href="dict-ap_pfopen.html" />
    <seealso>
     <ref>SA-pool</ref>
    </seealso>
    </definition>
   </item>
   <item type="Routine">
    <name>ap_pgethostbyname</name>
    <definition>
    <declaration>struct hostent *ap_pgethostbyname(pool *p, const char *hostname);</declaration>
    <description />
    <seealso>
     <ref>SA-pool</ref>
    </seealso>
    </definition>
   </item>
   <item type="Global Data Cell">
    <name>ap_pid_fname</name>
    <definition>
    <declaration>char *ap_pid_fname;</declaration>
    <description />
    </definition>
   </item>
   <item type="Structure">
    <name>ap_pool</name>
    <definition>
    <declaration>typedef struct pool pool;
  typedef struct pool ap_pool;
  struct pool &lt;var&gt;opaque-structure&lt;/var&gt;</declaration>
    <description href="dict-ap_pool.html" />
    <seealso>
     <ref>SA-pool</ref>
    </seealso>
    </definition>
   </item>
   <item type="Routine">
    <name>ap_pool_is_ancestor</name>
    <definition>
    <declaration>int ap_pool_is_ancestor(pool *a, pool *b);</declaration>
    <description />
    <seealso>
     <ref>SA-pool</ref>
    </seealso>
    </definition>
   </item>
   <item type="Routine">
    <name>ap_pool_join</name>
    <definition>
    <declaration>void ap_pool_join(pool *p, pool *sub);</declaration>
    <description />
    <seealso>
     <ref>SA-pool</ref>
    </seealso>
    </definition>
   </item>
   <item type="Routine">
    <name>ap_popendir</name>
    <definition>
    <declaration>dir *ap_popendir(pool *p, const char *name);</declaration>
    <description />
    <seealso>
     <ref>SA-pool</ref>
    </seealso>
    </definition>
   </item>
   <item type="Routine">
    <name>ap_popenf</name>
    <definition>
    <declaration>int ap_popenf(struct pool *p, const char *name, int flg, int mode);</declaration>
    <description href="dict-ap_popenf.html" />
    <seealso>
     <ref>SA-pool</ref>
    </seealso>
    </definition>
   </item>
   <item type="Routine">
    <name>ap_pregcomp</name>
    <definition>
    <declaration>regex_t *ap_pregcomp(pool *p, const char *pattern, int cflags);</declaration>
    <description href="dict-ap_pregcomp.html" />
    <seealso>
     <ref>SA-pool</ref>
    </seealso>
    </definition>
   </item>
   <item type="Routine">
    <name>ap_pregfree</name>
    <definition>
    <declaration>void ap_pregfree(pool *p, regex_t *reg);</declaration>
    <description />
    <seealso>
     <ref>SA-pool</ref>
    </seealso>
    </definition>
   </item>
   <item type="Routine">
    <name>ap_pregsub</name>
    <definition>
    <declaration>char *ap_pregsub(pool *p, const char *input, const char *source, size_t nmatch, regmatch_t pmatch[]);</declaration>
    <description href="dict-ap_pregsub.html" />
    <seealso>
     <ref>SA-pool</ref>
    </seealso>
    </definition>
   </item>
   <item type="Routine">
    <name>ap_process_request</name>
    <definition>
    <declaration>void ap_process_request(request_rec *r);</declaration>
    <description />
    <example>
     <text>request_rec *r;
  ap_process_request(r);</text>
    </example>
    </definition>
   </item>
   <item type="Routine">
    <name>ap_process_resource_config</name>
    <definition>
    <declaration>void ap_process_resource_config(request_rec *r);</declaration>
    <description />
    <example>
     <text>request_rec *r;
  ap_process_resource_config(r);</text>
    </example>
    </definition>
   </item>
   <item type="Routine">
    <name>ap_psignature</name>
    <definition>
    <declaration>const char *ap_psignature(const char *prefix, request_rec *r);</declaration>
    <description />
    </definition>
   </item>
   <item type="Routine">
    <name>ap_psocket</name>
    <definition>
    <declaration>int ap_psocket(pool *p, int i, int j, int k);</declaration>
    <description />
    <seealso>
     <ref>SA-pool</ref>
    </seealso>
    </definition>
   </item>
   <item type="Routine">
    <name>ap_psprintf</name>
    <definition>
    <declaration>char *ap_psprintf(struct pool *p, const char *fmt, ...);</declaration>
    <description href="dict-ap_psprintf.html" />
    <example>
     <text>pool *p;
  char *real_code;
  char base = 'x';
  int modifier = 0; 
  real_code = ap_psprintf(p, &quot;%c%d&quot;, base, modifier);</text>
    </example>
    </definition>
   </item>
   <item type="Routine">
    <name>ap_pstrcat</name>
    <definition>
    <declaration>char *ap_pstrcat(struct pool *p, ...);</declaration>
    <description href="dict-ap_pstrcat.html" />
    <seealso>
     <ref>SA-pool</ref>
    </seealso>
    </definition>
   </item>
   <item type="Routine">
    <name>ap_pstrdup</name>
    <definition>
    <declaration>char *ap_pstrdup(struct pool *p, const char *s);</declaration>
    <description href="dict-ap_pstrdup.html" />
    <seealso>
     <ref>SA-pool</ref>
    </seealso>
    </definition>
   </item>
   <item type="Routine">
    <name>ap_pstrndup</name>
    <definition>
    <declaration>char *ap_pstrndup(struct pool *p, const char *s, int n);</declaration>
    <description href="dict-ap_pstrndup.html" />
    <seealso>
     <ref>SA-pool</ref>
    </seealso>
    </definition>
   </item>
   <item type="Routine">
    <name>ap_push_array</name>
    <definition>
    <declaration>void *ap_push_array(array_header *arr);</declaration>
    <description href="dict-ap_push_array.html" />
    <example>
     <text>struct ae_t { 
      server_rec *s; 
  } 
  array_header *ah; 
  struct ae_t *ae; 
   
  ah = ap_make_array(p, 4, sizeof(ae_t)); 
  ae = (struct ae_t *) ap_push_array(ah); 
  ae-&gt;s-&gt;server_name = &quot;foo&quot;; </text>
    </example>
    <seealso>
     <ref>SA-array</ref>
    </seealso>
    </definition>
   </item>
   <item type="Routine">
    <name>ap_pvsprintf</name>
    <definition>
    <declaration>char *ap_pvsprintf(struct pool *p, const char *fmt, va_list);</declaration>
    <description href="dict-ap_pvsprintf.html" />
    <example>
     <text>pool *p;
  const char *fmt;
  va_list ap;
  char *res;
  res = ap_pvsprintf(p, fmt, ap);</text>
    </example>
    </definition>
   </item>
   <item type="Routine">
    <name>ap_rationalize_mtime</name>
    <definition>
    <declaration>time_t ap_rationalize_mtime(request_rec *r, time_t mtime);</declaration>
    <description href="dict-ap_rationalize_mtime.html" />
    <example>
     <text>time_t mtime_to_use; 
   
  mtime_to_use = ap_rationalize_mtime(r, finfo.st_mtime); </text>
    </example>
    </definition>
   </item>
   <item type="Routine">
    <name>ap_read_config</name>
    <definition>
    <declaration>server_rec *ap_read_config(pool *conf_pool, pool *temp_pool, char *config_name); </declaration>
    <description />
    </definition>
   </item>
   <item type="Routine">
    <name>ap_read_request</name>
    <definition>
    <declaration>request_rec *ap_read_request(conn_rec *c);</declaration>
    <description />
    </definition>
   </item>
   <item type="Routine">
    <name>ap_regerror</name>
    <definition>
    <declaration>size_t ap_regerror(int errcode, const regex_t *preg, char *errbuf, size_t errbuf_size);</declaration>
    <description />
    </definition>
   </item>
   <item type="Routine">
    <name>ap_regexec</name>
    <definition>
    <declaration>int ap_regexec(const regex_t *preg, const char *string, size_t nmatch, regmatch_t pmatch[], int eflags);</declaration>
    <description />
    </definition>
   </item>
   <item type="Routine">
    <name>ap_register_cleanup</name>
    <definition>
    <declaration>void ap_register_cleanup(pool *p, void *data, void (*plain_cleanup) (void *), void (*child_cleanup) (void *));</declaration>
    <description href="dict-ap_register_cleanup.html" />
    </definition>
   </item>
   <item type="Routine">
    <name>ap_register_other_child</name>
    <definition>
    <declaration>void ap_register_other_child(int pid, void (*maintenance) (int reason, void *data, int status), void *data, int write_fd);</declaration>
    <description />
    </definition>
   </item>
   <item type="Routine">
    <name>ap_registry_get_server_root</name>
    <definition>
    <declaration>int ap_registry_get_server_root(pool *p, char *dir, int size);</declaration>
    <description />
    </definition>
   </item>
   <item type="Routine">
    <name>ap_registry_get_service_conf</name>
    <definition>
    <declaration>int ap_registry_get_service_conf(pool *p, char *dir, int size, char *display_name);</declaration>
    <description />
    </definition>
   </item>
   <item type="Routine">
    <name>ap_registry_set_service_conf</name>
    <definition>
    <declaration>int ap_registry_set_service_conf(char *dir, char *display_name);</declaration>
    <description />
    </definition>
   </item>
   <item type="Routine">
    <name>ap_release_mutex</name>
    <definition>
    <declaration>int ap_release_mutex(mutex *mutex_id);</declaration>
    <description />
    </definition>
   </item>
   <item type="Routine">
    <name>ap_remove_loaded_module</name>
    <definition>
    <declaration>void ap_remove_loaded_module(module *m);</declaration>
    <description />
    <example>
     <text>module mod; 
  ap_remove_loaded_module(mod);</text>
    </example>
    <seealso>
     <ref>SA-module</ref>
    </seealso>
    </definition>
   </item>
   <item type="Routine">
    <name>ap_remove_module</name>
    <definition>
    <declaration>void ap_remove_module(module *m);</declaration>
    <description />
    <seealso>
     <ref>SA-module</ref>
    </seealso>
    </definition>
   </item>
   <item type="Routine">
    <name>ap_remove_spaces</name>
    <definition>
    <declaration>void ap_remove_spaces(char *dest, char *src);</declaration>
    <description />
    </definition>
   </item>
   <item type="Routine">
    <name>ap_requires</name>
    <definition>
    <declaration>array_header *ap_requires(request_rec *r);</declaration>
    <description />
    </definition>
   </item>
   <item type="Routine">
    <name>ap_reset_timeout</name>
    <definition>
    <declaration>void ap_reset_timeout(request_rec *r);</declaration>
    <description href="dict-ap_reset_timeout.html" />
    <example>
     <text>request_rec *r;
  ap_reset_timeout(r);</text>
    </example>
    </definition>
   </item>
   <item type="Routine">
    <name>ap_response_code_string</name>
    <definition>
    <declaration>char *ap_response_code_string(request_rec *r, int error_index);</declaration>
    <description />
    </definition>
   </item>
   <item type="Global Data Cell">
    <name>ap_restart_time</name>
    <definition>
    <declaration>time_t ap_restart_time;</declaration>
    <description href="dict-ap_restart_time.html" />
    <example>
     <text>    time_t nowtime = time(NULL); 
      time_t up_time; 
      up_time = nowtime - ap_restart_time; </text>
    </example>
    </definition>
   </item>
   <item type="Routine">
    <name>ap_rfc1413</name>
    <definition>
    <declaration>char *ap_rfc1413(conn_rec *conn, server_rec *srv);</declaration>
    <description />
    </definition>
   </item>
   <item type="Routine">
    <name>ap_rflush</name>
    <definition>
    <declaration>int ap_rflush(request_rec *r);</declaration>
    <description />
    <example>
     <text>request_rec *r;
  int result;
  result = ap_rflush(r);</text>
    </example>
    </definition>
   </item>
   <item type="Routine">
    <name>ap_rind</name>
    <definition>
    <declaration>int ap_rind(const char *str, char c);</declaration>
    <description />
    </definition>
   </item>
   <item type="Routine">
    <name>ap_rprintf</name>
    <definition>
    <declaration>int ap_rprintf(request_rec *r, const char *fmt, ...);</declaration>
    <description href="dict-ap_rprintf.html" />
    </definition>
   </item>
   <item type="Routine">
    <name>ap_rputc</name>
    <definition>
    <declaration>int ap_rputc(int c, request_rec *r);</declaration>
    <description href="dict-ap_rputc.html" />
    </definition>
   </item>
   <item type="Routine">
    <name>ap_rputs</name>
    <definition>
    <declaration>int ap_rputs(const char *str, request_rec *r);</declaration>
    <description href="dict-ap_rputs.html" />
    </definition>
   </item>
   <item type="Routine">
    <name>ap_run_cleanup</name>
    <definition>
    <declaration>void ap_run_cleanup(pool *p, void *data, void (*cleanup) (void *));</declaration>
    <description href="dict-ap_run_cleanup.html" />
    </definition>
   </item>
   <item type="Routine">
    <name>ap_run_fixups</name>
    <definition>
    <declaration>int ap_run_fixups(request_rec *r);</declaration>
    <description />
    <example>
     <text>request_rec *r;
  int result;
  result = ap_run_fixups(r);</text>
    </example>
    </definition>
   </item>
   <item type="Routine">
    <name>ap_run_post_read_request</name>
    <definition>
    <declaration>int ap_run_post_read_request(request_rec *r);</declaration>
    <description />
    <example>
     <text>request_rec *r;
  int result;
  result = ap_run_post_read_request(r);</text>
    </example>
    </definition>
   </item>
   <item type="Routine">
    <name>ap_run_sub_req</name>
    <definition>
    <declaration>int ap_run_sub_req(request_rec *r);</declaration>
    <description href="dict-ap_run_sub_req.html" />
    <example>
     <text>request_rec *r;
  int result;
  result = ap_run_sub_req(r);</text>
    </example>
    </definition>
   </item>
   <item type="Routine">
    <name>ap_rvputs</name>
    <definition>
    <declaration>int ap_rvputs(request_rec *r, ...);</declaration>
    <description href="dict-ap_rvputs.html" />
    </definition>
   </item>
   <item type="Routine">
    <name>ap_rwrite</name>
    <definition>
    <declaration>int ap_rwrite(const void *buf, int nbyte, request_rec *r);</declaration>
    <description />
    </definition>
   </item>
   <item type="Routine">
    <name>ap_satisfies</name>
    <definition>
    <declaration>int ap_satisfies(request_rec *r);</declaration>
    <description />
    <example>
     <text>request_rec *r;
  int result;
  result = ap_satisfies(r);</text>
    </example>
    </definition>
   </item>
   <item type="Routine">
    <name>ap_scan_script_header_err</name>
    <definition>
    <declaration>int ap_scan_script_header_err(request_rec *r, file *f, char *buffer);</declaration>
    <description />
    </definition>
   </item>
   <item type="Routine">
    <name>ap_scan_script_header_err_buff</name>
    <definition>
    <declaration>int ap_scan_script_header_err_buff(request_rec *r, BUFF *f, char *buffer);</declaration>
    <description />
    </definition>
   </item>
   <item type="Routine">
    <name>ap_scan_script_header_err_core</name>
    <definition>
    <declaration>int ap_scan_script_header_err_core(request_rec *r, char *buffer, int(*getsfunc)(char *, int, void *), void *getsfunc_data);</declaration>
    <description />
    </definition>
   </item>
   <item type="Global Data Cell">
    <name>ap_scoreboard_fname</name>
    <definition>
    <declaration>char *ap_scoreboard_fname;</declaration>
    <description />
    </definition>
   </item>
   <item type="Global Data Cell">
    <name>ap_scoreboard_image</name>
    <definition>
    <declaration>extern scoreboard *ap_scoreboard_image;</declaration>
    <description href="dict-ap_scoreboard_image.html" />
    <example>
     <text>ap_scoreboard_image-&gt;global.exit_generation = 0;</text>
    </example>
    <seealso>
     <ref>SA-scoreboard</ref>
    </seealso>
    </definition>
   </item>
   <item type="Routine">
    <name>ap_send_error_response</name>
    <definition>
    <declaration>void ap_send_error_response(request_rec *r, int recursive_error);</declaration>
    <description />
    </definition>
   </item>
   <item type="Routine">
    <name>ap_send_fb</name>
    <definition>
    <declaration>long ap_send_fb(BUFF *f, request_rec *r);</declaration>
    <description href="dict-ap_send_fb.html" />
    </definition>
   </item>
   <item type="Routine">
    <name>ap_send_fb_length</name>
    <definition>
    <declaration>long ap_send_fb_length(BUFF *f, request_rec *r, long length);</declaration>
    <description href="dict-ap_send_fb_length.html" />
    </definition>
   </item>
   <item type="Routine">
    <name>ap_send_fd</name>
    <definition>
    <declaration>long ap_send_fd(file *f, request_rec *r);</declaration>
    <description href="dict-ap_send_fd.html" />
    </definition>
   </item>
   <item type="Routine">
    <name>ap_send_fd_length</name>
    <definition>
    <declaration>long ap_send_fd_length(file *f, request_rec *r, long length);</declaration>
    <description href="dict-ap_send_fd_length.html" />
    </definition>
   </item>
   <item type="Routine">
    <name>ap_send_header_field</name>
    <definition>
    <declaration>int ap_send_header_field(request_rec *r, const char *fieldname, const char *fieldval);</declaration>
    <description />
    </definition>
   </item>
   <item type="Routine">
    <name>ap_send_http_header</name>
    <definition>
    <declaration>void ap_send_http_header(request_rec *r);</declaration>
    <description href="dict-ap_send_http_header.html" />
    <example>
     <text>request_rec *r;
  ap_send_http_header(r);</text>
    </example>
    </definition>
   </item>
   <item type="Routine">
    <name>ap_send_http_options</name>
    <definition>
    <declaration>int ap_send_http_options(request_rec *r);</declaration>
    <description />
    <example>
     <text>request_rec *r;
  int result;
  result = ap_send_http_options(r);</text>
    </example>
    </definition>
   </item>
   <item type="Routine">
    <name>ap_send_http_trace</name>
    <definition>
    <declaration>int ap_send_http_trace(request_rec *r);</declaration>
    <description />
    <example>
     <text>request_rec *r;
  int result;
  result = ap_send_http_trace(r);</text>
    </example>
    </definition>
   </item>
   <item type="Routine">
    <name>ap_send_mmap</name>
    <definition>
    <declaration>size_t ap_send_mmap(void *mm, request_rec *r, size_t offset, size_t length);</declaration>
    <description />
    </definition>
   </item>
   <item type="Routine">
    <name>ap_send_size</name>
    <definition>
    <declaration>void ap_send_size(size_t size, request_rec *r);</declaration>
    <description />
    </definition>
   </item>
   <item type="Global Data Cell">
    <name>ap_server_argv0</name>
    <definition>
    <declaration>char *ap_server_argv0;</declaration>
    <description href="dict-ap_server_argv0.html" />
    <example>
     <text>extern char *ap_server_argv0; 
  ap_server_argv0 = argv[0];</text>
    </example>
    </definition>
   </item>
   <item type="Global Data Cell">
    <name>ap_server_confname</name>
    <definition>
    <declaration>char ap_server_confname[MAX_STRING_LEN];</declaration>
    <description />
    </definition>
   </item>
   <item type="Global Data Cell">
    <name>ap_server_root</name>
    <definition>
    <declaration>char ap_server_root[MAX_STRING_LEN];</declaration>
    <description href="dict-ap_server_root.html" />
    <example>
     <text>extern char ap_server_root[MAX_STRING_LEN]; 
  ap_cpystrn(ap_coredump_dir, ap_server_root, sizeof(ap_coredump_dir)); </text>
    </example>
    </definition>
   </item>
   <item type="Routine">
    <name>ap_server_root_relative</name>
    <definition>
    <declaration>char *ap_server_root_relative(pool *p, char *fname);</declaration>
    <description />
    </definition>
   </item>
   <item type="Routine">
    <name>ap_set_byterange</name>
    <definition>
    <declaration>int ap_set_byterange(request_rec *r);</declaration>
    <description />
    <example>
     <text>request_rec *r;
  int result;
  result = ap_set_byterange(r);</text>
    </example>
    </definition>
   </item>
   <item type="Routine">
    <name>ap_set_callback_and_alarm</name>
    <definition>
    <declaration>unsigned int ap_set_callback_and_alarm(void (*fn) (int), int x);</declaration>
    <description />
    </definition>
   </item>
   <item type="Routine">
    <name>ap_set_content_length</name>
    <definition>
    <declaration>int ap_set_content_length(request_rec *r, long length);</declaration>
    <description />
    </definition>
   </item>
   <item type="Routine">
    <name>ap_set_etag</name>
    <definition>
    <declaration>void ap_set_etag(request_rec *r);</declaration>
    <description />
    <example>
     <text>request_rec *r;
  ap_set_etag(r);</text>
    </example>
    </definition>
   </item>
   <item type="Routine">
    <name>ap_set_file_slot</name>
    <definition>
    <declaration>const char *ap_set_file_slot(cmd_parms *cmd, char *s1, char *s2);</declaration>
    <description />
    </definition>
   </item>
   <item type="Routine">
    <name>ap_set_flag_slot</name>
    <definition>
    <declaration>const char *ap_set_flag_slot(cmd_parms *cmd, char *s1, int flag);</declaration>
    <description />
    </definition>
   </item>
   <item type="Routine">
    <name>ap_set_keepalive</name>
    <definition>
    <declaration>int ap_set_keepalive(request_rec *r);</declaration>
    <description />
    <example>
     <text>request_rec *r;
  int result;
  result = ap_set_keepalive(r);</text>
    </example>
    </definition>
   </item>
   <item type="Routine">
    <name>ap_set_last_modified</name>
    <definition>
    <declaration>void ap_set_last_modified(request_rec *r);</declaration>
    <description />
    <example>
     <text>request_rec *r;
  ap_set_last_modified(r);</text>
    </example>
    </definition>
   </item>
   <item type="Routine">
    <name>ap_set_module_config</name>
    <definition>
    <declaration>void ap_set_module_config(void *conf_vector, module *m, void *val);</declaration>
    <description />
    </definition>
   </item>
   <item type="Routine">
    <name>ap_set_name_virtual_host</name>
    <definition>
    <declaration>const char *ap_set_name_virtual_host(cmd_parms *cmd, void *dummy, char *arg);</declaration>
    <description />
    </definition>
   </item>
   <item type="Routine">
    <name>ap_set_string_slot</name>
    <definition>
    <declaration>const char *ap_set_string_slot(cmd_parms *cmd, char *s1, char *s2);</declaration>
    <description />
    </definition>
   </item>
   <item type="Routine">
    <name>ap_set_string_slot_lower</name>
    <definition>
    <declaration>const char *ap_set_string_slot_lower(cmd_parms *cmd, char *s1, char *s2);</declaration>
    <description />
    </definition>
   </item>
   <item type="Routine">
    <name>ap_set_sub_req_protocol</name>
    <definition>
    <declaration>void ap_set_sub_req_protocol(request_rec *rnew, const request_rec *r);</declaration>
    <description />
    </definition>
   </item>
   <item type="Routine">
    <name>ap_setup_client_block</name>
    <definition>
    <declaration>int ap_setup_client_block(request_rec *r, int read_policy);</declaration>
    <description href="dict-ap_setup_client_block.html" />
    <seealso>
     <ref>SA-readbody</ref>
    </seealso>
    </definition>
   </item>
   <item type="Routine">
    <name>ap_setup_prelinked_modules</name>
    <definition>
    <declaration>void ap_setup_prelinked_modules(void);</declaration>
    <description />
    <example>
     <text>ap_setup_prelinked_modules();</text>
    </example>
    </definition>
   </item>
   <item type="Routine">
    <name>ap_sha1_base64</name>
    <definition>
    <declaration>void ap_sha1_base64(const char *clear, int len, char *out);</declaration>
    <description />
    </definition>
   </item>
   <item type="Routine">
    <name>ap_should_client_block</name>
    <definition>
    <declaration>int ap_should_client_block(request_rec *r);</declaration>
    <description href="dict-ap_should_client_block.html" />
    <example>
     <text>request_rec *r;
  int result;
  result = ap_should_client_block(r);</text>
    </example>
    </definition>
   </item>
   <item type="Routine">
    <name>ap_show_directives</name>
    <definition>
    <declaration>void ap_show_directives(void);</declaration>
    <description />
    <example>
     <text>ap_show_directives();</text>
    </example>
    </definition>
   </item>
   <item type="Routine">
    <name>ap_show_modules</name>
    <definition>
    <declaration>void ap_show_modules(void);</declaration>
    <description />
    <example>
     <text>ap_show_modules();</text>
    </example>
    </definition>
   </item>
   <item type="Routine">
    <name>ap_size_list_item</name>
    <definition>
    <declaration>const char *ap_size_list_item(const char **field, int *len);</declaration>
    <description />
    </definition>
   </item>
   <item type="Routine">
    <name>ap_snprintf</name>
    <definition>
    <declaration>int ap_snprintf(char *buf, size_t nbytes, const char *fmt, ...);</declaration>
    <description href="dict-ap_snprintf.html" />
    <example>
     <text>char buffer[HUGE_STRING_LEN];
  request_rec *r;
  ap_snprintf(buffer, sizeof(buffer), &quot;connect %s http/1.0&quot; crlf, r-&gt;uri);</text>
    </example>
    </definition>
   </item>
   <item type="Routine">
    <name>ap_soft_timeout</name>
    <definition>
    <declaration>void ap_soft_timeout(char *str, request_rec *r);</declaration>
    <description href="dict-ap_soft_timeout.html" />
    </definition>
   </item>
   <item type="Routine">
    <name>ap_some_auth_required</name>
    <definition>
    <declaration>int ap_some_auth_required(request_rec *r);</declaration>
    <description />
    <example>
     <text>request_rec *r;
  int result;
  result = ap_some_auth_required(r);</text>
    </example>
    </definition>
   </item>
   <item type="Routine">
    <name>ap_spawn_child</name>
    <definition>
    <declaration>int ap_spawn_child(pool *, int(*)(void *, child_info *), void *, enum kill_conditions, FILE **pipe_in, FILE **pipe_out, FILE **pipe_err);</declaration>
    <description />
    </definition>
   </item>
   <item type="Routine">
    <name>ap_spawn_child_err</name>
    <definition>
    <declaration>int ap_spawn_child_err(pool *p, int (*func)(void *), void *data, enum kill_conditions, FILE **pipe_in, FILE **pipe_out, FILE **pipe_err);</declaration>
    <description href="dict-ap_spawn_child_err.html" />
    </definition>
   </item>
   <item type="Routine">
    <name>ap_spawn_child_err_buff</name>
    <definition>
    <declaration>int ap_spawn_child_err_buff(pool *p, int (*func)(void *), void *data, enum kill_conditions, 
                              BUFF **pipe_in, BUFF **pipe_out, BUFF **pipe_err);</declaration>
    <description href="dict-ap_spawn_child_err_buff.html" />
    </definition>
   </item>
   <item type="Routine">
    <name>ap_srm_command_loop</name>
    <definition>
    <declaration>const char *ap_srm_command_loop(cmd_parms *parms, void *config);</declaration>
    <description />
    </definition>
   </item>
   <item type="Global Data Cell">
    <name>ap_standalone</name>
    <definition>
    <declaration>int ap_standalone;</declaration>
    <description />
    </definition>
   </item>
   <item type="Routine">
    <name>ap_start_restart</name>
    <definition>
    <declaration>void ap_start_restart(int);</declaration>
    <description />
    </definition>
   </item>
   <item type="Routine">
    <name>ap_start_shutdown</name>
    <definition>
    <declaration>void ap_start_shutdown(void);</declaration>
    <description />
    <example>
     <text>ap_start_shutdown();</text>
    </example>
    </definition>
   </item>
   <item type="Macro">
    <name>ap_status_drops_connection</name>
    <definition>
    <declaration>#define ap_status_drops_connection(x) 
                     (((x) == HTTP_BAD_REQUEST)           || \ 
                      ((x) == HTTP_REQUEST_TIME_OUT)      || \ 
                      ((x) == HTTP_LENGTH_REQUIRED)       || \ 
                      ((x) == HTTP_REQUEST_ENTITY_TOO_LARGE) || \ 
                      ((x) == HTTP_REQUEST_URI_TOO_LARGE) || \ 
                      ((x) == HTTP_INTERNAL_SERVER_ERROR) || \ 
                      ((x) == HTTP_SERVICE_UNAVAILABLE)   || \ 
                      ((x) == HTTP_NOT_IMPLEMENTED)) </declaration>
    <description href="dict-ap_status_drops_connection.html" />
    <example>
     <text>    /* 
       * If we want to keep the connection, be sure that the request body 
       * (if any) has been read. 
       */ 
      if ((r-&gt;status != HTTP_NOT_MODIFIED) &amp;&amp; (r-&gt;status != HTTP_NO_CONTENT) 
          &amp;&amp; !ap_status_drops_connection(r-&gt;status) 
          &amp;&amp; r-&gt;connection &amp;&amp; (r-&gt;connection-&gt;keepalive != -1)) { 
          (void) ap_discard_request_body(r); 
      } </text>
    </example>
    <seealso>
     <ref>SA-httpcodes</ref>
    </seealso>
    </definition>
   </item>
   <item type="Routine">
    <name>ap_str_tolower</name>
    <definition>
    <declaration>void ap_str_tolower(char *str);</declaration>
    <description />
    </definition>
   </item>
   <item type="Routine">
    <name>ap_strcasecmp_match</name>
    <definition>
    <declaration>int ap_strcasecmp_match(const char *str, const char *exp);</declaration>
    <description href="dict-ap_strcasecmp_match.html" />
    </definition>
   </item>
   <item type="Routine">
    <name>ap_strcasestr</name>
    <definition>
    <declaration>char *ap_strcasestr(const char *s1, const char *s2);</declaration>
    <description />
    </definition>
   </item>
   <item type="Routine">
    <name>ap_strcmp_match</name>
    <definition>
    <declaration>int ap_strcmp_match(const char *str, const char *exp);</declaration>
    <description href="dict-ap_strcmp_match.html" />
    </definition>
   </item>
   <item type="Routine">
    <name>ap_sub_req_lookup_file</name>
    <definition>
    <declaration>request_rec *ap_sub_req_lookup_file(const char *new_file, const request_rec *r);</declaration>
    <description href="dict-ap_sub_req_lookup_file.html" />
    </definition>
   </item>
   <item type="Routine">
    <name>ap_sub_req_lookup_uri</name>
    <definition>
    <declaration>request_rec *ap_sub_req_lookup_uri(const char *new_file, const request_rec *r);</declaration>
    <description href="dict-ap_sub_req_lookup_uri.html" />
    </definition>
   </item>
   <item type="Routine">
    <name>ap_sub_req_method_uri</name>
    <definition>
    <declaration>request_rec *ap_sub_req_method_uri(const char *method, const char *new_file, const request_rec *r);</declaration>
    <description />
    </definition>
   </item>
   <item type="Global Data Cell">
    <name>ap_suexec_enabled</name>
    <definition>
    <declaration>int ap_suexec_enabled;</declaration>
    <description href="dict-ap_suexec_enabled.html" />
    <example>
     <text>extern int ap_suexec_enabled; 
  if (ap_suexec_enabled) { 
      ...processing for module using suexec features... 
  } 
  else { 
      ...processing for module not using suexec features... 
  } </text>
    </example>
    </definition>
   </item>
   <item type="Routine">
    <name>ap_sync_scoreboard_image</name>
    <definition>
    <declaration>void ap_sync_scoreboard_image(void);</declaration>
    <description />
    <example>
     <text>ap_sync_scoreboard_image();</text>
    </example>
    <seealso>
     <ref>SA-scoreboard</ref>
    </seealso>
    </definition>
   </item>
   <item type="Routine">
    <name>ap_table_add</name>
    <definition>
    <declaration>void ap_table_add(table *t, const char *k, const char *val);</declaration>
    <description href="dict-ap_table_add.html" />
    <seealso>
     <ref>SA-tables</ref>
    </seealso>
    </definition>
   </item>
   <item type="Routine">
    <name>ap_table_addn</name>
    <definition>
    <declaration>void ap_table_addn(table *t, const char *k, const char *val);</declaration>
    <description href="dict-ap_table_addn.html" />
    <seealso>
     <ref>SA-tables</ref>
    </seealso>
    </definition>
   </item>
   <item type="Routine">
    <name>ap_table_do</name>
    <definition>
    <declaration>void ap_table_do(int (*comp) (void *d, const char *k, const char *val), 
                   void *rec, const table *t, ...);</declaration>
    <description />
    <seealso>
     <ref>SA-tables</ref>
    </seealso>
    </definition>
   </item>
   <item type="Routine">
    <name>ap_table_get</name>
    <definition>
    <declaration>const char *ap_table_get(const table *t, const char *key);</declaration>
    <description href="dict-ap_table_get.html" />
    <seealso>
     <ref>SA-tables</ref>
    </seealso>
    </definition>
   </item>
   <item type="Routine">
    <name>ap_table_merge</name>
    <definition>
    <declaration>void ap_table_merge(table *t, const char *k, const char *more_val);</declaration>
    <description href="dict-ap_table_merge.html" />
    <seealso>
     <ref>SA-tables</ref>
    </seealso>
    </definition>
   </item>
   <item type="Routine">
    <name>ap_table_mergen</name>
    <definition>
    <declaration>void ap_table_mergen(table *t, const char *k, const char *more_val);</declaration>
    <description href="dict-ap_table_mergen.html" />
    <seealso>
     <ref>SA-tables</ref>
    </seealso>
    </definition>
   </item>
   <item type="Routine">
    <name>ap_table_set</name>
    <definition>
    <declaration>void ap_table_set(table *t, const char *k, const char *val);</declaration>
    <description href="dict-ap_table_set.html" />
    <seealso>
     <ref>SA-tables</ref>
    </seealso>
    </definition>
   </item>
   <item type="Routine">
    <name>ap_table_setn</name>
    <definition>
    <declaration>void ap_table_setn(table *t, const char *k, const char *val);</declaration>
    <description href="dict-ap_table_setn.html" />
    <seealso>
     <ref>SA-tables</ref>
    </seealso>
    </definition>
   </item>
   <item type="Routine">
    <name>ap_table_unset</name>
    <definition>
    <declaration>void ap_table_unset(table *t, const char *k);</declaration>
    <description href="dict-ap_table_unset.html" />
    <seealso>
     <ref>SA-tables</ref>
    </seealso>
    </definition>
   </item>
   <item type="Global Data Cell">
    <name>ap_threads_per_child</name>
    <definition>
    <declaration>int ap_threads_per_child;</declaration>
    <description />
    </definition>
   </item>
   <item type="Routine">
    <name>ap_time_process_request</name>
    <definition>
    <declaration>void ap_time_process_request(int child_num, int status);</declaration>
    <description />
    </definition>
   </item>
   <item type="Routine">
    <name>ap_tm2sec</name>
    <definition>
    <declaration>time_t ap_tm2sec(const struct tm *t);</declaration>
    <description href="dict-ap_tm2sec.html" />
    </definition>
   </item>
   <item type="Routine">
    <name>ap_to64</name>
    <definition>
    <declaration>void ap_to64(char *s, unsigned long v, int n);</declaration>
    <description />
    </definition>
   </item>
   <item type="Routine">
    <name>ap_translate_name</name>
    <definition>
    <declaration>int ap_translate_name(request_rec *);</declaration>
    <description />
    <example>
     <text>request_rec *r;
  int result;
  result = ap_translate_name(r);</text>
    </example>
    </definition>
   </item>
   <item type="Routine">
    <name>ap_uname2id</name>
    <definition>
    <declaration>uid_t ap_uname2id(const char *name);</declaration>
    <description href="dict-ap_uname2id.html" />
    </definition>
   </item>
   <item type="Routine">
    <name>ap_unblock_alarms</name>
    <definition>
    <declaration>void ap_unblock_alarms(void);</declaration>
    <description href="dict-ap_unblock_alarms.html" />
    </definition>
   </item>
   <item type="Routine">
    <name>ap_unescape_url</name>
    <definition>
    <declaration>int ap_unescape_url(char *url);</declaration>
    <description href="dict-ap_unescape_url.html" />
    </definition>
   </item>
   <item type="Routine">
    <name>ap_unparse_uri_components</name>
    <definition>
    <declaration>char *ap_unparse_uri_components(pool *p, const uri_components *uptr, unsigned flags);</declaration>
    <description />
    </definition>
   </item>
   <item type="Routine">
    <name>ap_unregister_other_child</name>
    <definition>
    <declaration>void ap_unregister_other_child(void *data);</declaration>
    <description />
    </definition>
   </item>
   <item type="Routine">
    <name>ap_update_child_status</name>
    <definition>
    <declaration>int ap_update_child_status(int child_num, int status, request_rec *r);</declaration>
    <description />
    </definition>
   </item>
   <item type="Routine">
    <name>ap_update_mtime</name>
    <definition>
    <declaration>time_t ap_update_mtime(request_rec *r, time_t dependency_mtime);</declaration>
    <description />
    </definition>
   </item>
   <item type="Routine">
    <name>ap_update_vhost_from_headers</name>
    <definition>
    <declaration>void ap_update_vhost_from_headers(request_rec *r);</declaration>
    <description />
    <example>
     <text>request_rec *r;
  ap_update_vhost_from_headers(r);</text>
    </example>
    </definition>
   </item>
   <item type="Routine">
    <name>ap_update_vhost_given_ip</name>
    <definition>
    <declaration>void ap_update_vhost_given_ip(conn_rec *conn);</declaration>
    <description />
    </definition>
   </item>
   <item type="Global Data Cell">
    <name>ap_user_id</name>
    <definition>
    <declaration>uid_t ap_user_id;</declaration>
    <description />
    </definition>
   </item>
   <item type="Global Data Cell">
    <name>ap_user_name</name>
    <definition>
    <declaration>char *ap_user_name;</declaration>
    <description />
    </definition>
   </item>
   <item type="Routine">
    <name>ap_util_init</name>
    <definition>
    <declaration>void ap_util_init(void);</declaration>
    <description />
    <example>
     <text>ap_util_init();</text>
    </example>
    </definition>
   </item>
   <item type="Routine">
    <name>ap_util_uri_init</name>
    <definition>
    <declaration>void ap_util_uri_init(void);</declaration>
    <description />
    <example>
     <text>ap_util_uri_init();</text>
    </example>
    </definition>
   </item>
   <item type="Routine">
    <name>ap_uudecode</name>
    <definition>
    <declaration>char *ap_uudecode(pool *p, const char *str);</declaration>
    <description href="dict-ap_uudecode.html" />
    </definition>
   </item>
   <item type="Routine">
    <name>ap_uuencode</name>
    <definition>
    <declaration>char *ap_uuencode(pool *p, char *string);</declaration>
    <description />
    </definition>
   </item>
   <item type="Routine">
    <name>ap_validate_password</name>
    <definition>
    <declaration>char *ap_validate_password(const char *passwd, const char *hash);</declaration>
    <description />
    <example>
     <text>pwcheck = ap_validate_password(pw_from_request, pw_from_file); 
  if (pwcheck == NULL) { 
      /* Password matches */ 
  } 
  else { 
      ap_log_rerror(APLOG_MARK, APLOG_NOERRNO|APLOG_ERR, r, 
                    &quot;Authentication failed: %s&quot;, pwcheck); 
      return HTTP_UNAUTHORIZED; 
  } </text>
    </example>
    <seealso>
     <ref>SA-security</ref>
    </seealso>
    </definition>
   </item>
   <item type="Routine">
    <name>ap_vbprintf</name>
    <definition>
    <declaration>int ap_vbprintf(BUFF *fb, const char *fmt, va_list vlist);</declaration>
    <description href="dict-ap_vbprintf.html" />
    </definition>
   </item>
   <item type="Routine">
    <name>ap_vformatter</name>
    <definition>
    <declaration>int ap_vformatter(int (*flush_func)(ap_vformatter_buff *f), ap_vformatter_buff *b, const char *fmt, va_list ap);</declaration>
    <description />
    </definition>
   </item>
   <item type="Structure">
    <name>ap_vformatter_buff</name>
    <definition>
    <declaration>typedef struct {
      char *curpos;
      char *endpos;
  } ap_vformatter_buff;</declaration>
    <description />
    </definition>
   </item>
   <item type="Routine">
    <name>ap_vrprintf</name>
    <definition>
    <declaration>int ap_vrprintf(request_rec *r, const char *fmt, va_list vlist);</declaration>
    <description />
    </definition>
   </item>
   <item type="Routine">
    <name>ap_vsnprintf</name>
    <definition>
    <declaration>int ap_vsnprintf(char *buf, size_t numbytes, const char *fmt, va_list ap);</declaration>
    <description href="dict-ap_vsnprintf.html" />
    <example>
     <text>const char *text;
  char str2[512];
  va_list ap;
  ap_vsnprintf(str2, sizeof(str2), text, ap);</text>
    </example>
    </definition>
   </item>
   <item type="Structure">
    <name>ap_wait_t</name>
    <definition>
    <declaration>This is an opaque structure; you don't need to access any of its elements.</declaration>
    <description />
    <example>
     <text>ap_wait_t &lt;var&gt;identifier&lt;/var&gt;</text>
    </example>
    </definition>
   </item>
   <item type="Structure">
    <name>apache_sfio</name>
    <definition>
    <declaration>#ifdef B_SFIO
  typedef struct {
      Sfdisc+t disc;
      BUFF *buff;
  } apache_sfio;</declaration>
    <description />
    <example>
     <text>apache_sfio *disc;
  if (!(disc = (apache_sfio *) ap_palloc(p, sizeof(apache_sfio)))) {
      return (Sfdisc_t *) disc;
  }</text>
    </example>
    </definition>
   </item>
   <item type="Structure">
    <name>array_header</name>
    <definition>
    <declaration>typedef struct { 
      pool *pool; 
      int elt_size; 
      int nelts; 
      int nalloc; 
      char *elts; 
  } array_header;</declaration>
    <description />
    <example>
     <text>typedef struct item_t { 
      int length;
      char *string; 
  } item_t;
      :
  array_header *item_array1; 
  item_t *item; 
      :
  item_array1 = ap_make_array(p, 4, sizeof(item_t));
      :
  item = ap_push_array(item_array1);
  item-&gt;length = 1;
  item-&gt;string = &quot;a&quot;;
      :
  item_t *list;
   
  list = (item_t *) item_array1-&gt;elts;
  for (i = 0; i &lt; item_array1-&gt;nelts; ++i) {
      item = &amp;list[i];
      fprintf(stderr, &quot;Item %d: length=%d, string='%s'\n&quot;,
              i, item-&gt;length, item-&gt;string);
  }
      </text>
    </example>
    <seealso>
     <ref>SA-array</ref>
    </seealso>
    </definition>
   </item>
   <item type="Routine">
    <name>ascii2ebcdic</name>
    <definition>
    <declaration>void *ascii2ebcdic(void *dest, const void *srce, size_t count);</declaration>
    <description />
    </definition>
   </item>
   <item type="Structure">
    <name>child_info</name>
    <definition>
    <declaration>struct child_info {
  #ifdef WIN32
      /*
       *  These handles are used by ap_call_exec to call 
       *  create process with pipe handles.
       */
      HANDLE hPipeInputRead;
      HANDLE hPipeOutputWrite;
      HANDLE hPipeErrorWrite;
  #else
      /*
       * We need to put a dummy member in here to avoid compilation
       * errors under certain Unix compilers, like SGI's and HPUX's,
       * which fail to compile a zero-sized struct.  Of course
       * it would be much nicer if there was actually a use for this
       * structure under Unix.  Aah the joys of x-platform code.
       */
      int dummy;
  #endif
  };</declaration>
    <description />
    </definition>
   </item>
   <item type="Routine">
    <name>closedir</name>
    <definition>
    <declaration>int closedir(DIR *);</declaration>
    <description />
    </definition>
   </item>
   <item type="Constant">
    <name>cmd_how</name>
    <definition>
    <declaration>#include &quot;httpd.h&quot;</declaration>
    <description href="dict-cmd_how.html" />
    <example>
     <text>&lt;code&gt;cmd_how&lt;/code&gt; is an enum, but the enumeration type isn't used
       by modules, only the specific named values.</text>
    </example>
    <seealso>
     <ref>SA-dirdata</ref>
    </seealso>
    </definition>
   </item>
   <item type="Structure">
    <name>cmd_parms</name>
    <definition>
    <declaration>typedef struct { 
      void *info; 
      int override; 
      int limited; 
      configfile_t *config_file; 
      pool *pool; 
      struct pool *temp_pool; 
      server_rec *server; 
      char *path; 
      const command_rec *cmd; 
      const char *end_token; 
  } cmd_parms;</declaration>
    <description href="dict-cmd_parms.html" />
    <seealso>
     <ref>SA-core-rec</ref>
     <ref>SA-overrides</ref>
    </seealso>
    </definition>
   </item>
   <item type="Structure">
    <name>command_rec</name>
    <definition>
    <declaration>typedef struct command_struct {
      const char *name;
      const char *(*func) ();
      void *cmd_data;
      int req_override;
      enum cmd_how args_how;
      const char *errmsg;
  } command_rec;</declaration>
    <description />
    <seealso>
     <ref>SA-core-rec</ref>
     <ref>SA-overrides</ref>
    </seealso>
    </definition>
   </item>
   <item type="Structure">
    <name>configfile_t</name>
    <definition>
    <declaration>typedef struct { 
      int (*getch) (void *param); 
      void *(*getstr) (void *buf, size_t bufsiz, void *param); 
      int (*close) (void *param); 
      void *param; 
      const char *name; 
      unsigned line_number; 
  } configfile_t;</declaration>
    <description />
    </definition>
   </item>
   <item type="Structure">
    <name>conn_rec</name>
    <definition>
    <declaration>typedef struct conn_rec conn_rec; 
  struct conn_rec { 
      pool *pool; 
      server_rec *server; 
      server_rec *base_server; 
      void *vhost_lookup_data; 
      int child_num; 
      BUFF *client; 
      struct sockaddr_in local_addr; 
      struct sockaddr_in remote_addr; 
      char *remote_ip; 
      char *remote_host; 
      char *remote_logname; 
      char *user; 
      char *ap_auth_type; 
      unsigned aborted:1; 
      signed int keepalive:2; 
      unsigned keptalive:1; 
      signed int double_reverse:2; 
      int keepalives; 
      char *local_ip; 
      char *local_host; 
  };</declaration>
    <description href="dict-conn_rec.html" />
    <seealso>
     <ref>SA-core-rec</ref>
    </seealso>
    </definition>
   </item>
   <item type="Global Data Cell">
    <name>core_module</name>
    <definition>
    <declaration>module core_module {&lt;i&gt;module-specific-info&lt;/i&gt;};</declaration>
    <description href="dict-core_module.html" />
    <example>
     <text>module core_module = { 
     STANDARD_MODULE_STUFF, 
     NULL,                        /* initializer */ 
     create_core_dir_config,      /* create per-directory config structure */ 
     merge_core_dir_configs,      /* merge per-directory config structures */ 
     create_core_server_config,   /* create per-server config structure */ 
     merge_core_server_configs,   /* merge per-server config structures */ 
     core_cmds,                   /* command table */ 
     core_handlers,               /* handlers */ 
     core_translate,              /* translate_handler */ 
     NULL,                        /* check_user_id */ 
     NULL,                        /* check auth */ 
     do_nothing,                  /* check access */ 
     do_nothing,                  /* type_checker */ 
     NULL,                        /* pre-run fixups */ 
     NULL,                        /* logger */ 
     NULL,                        /* header parser */ 
     NULL,                        /* child_init */ 
     NULL,                        /* child_exit */ 
     NULL                         /* post_read_request */ 
  }; </text>
    </example>
    <seealso>
     <ref>SA-module</ref>
    </seealso>
    </definition>
   </item>
   <item type="Routine">
    <name>ebcdic2ascii</name>
    <definition>
    <declaration>void *ebcdic2ascii(void *dest, const void *srce, size_t count);</declaration>
    <description />
    </definition>
   </item>
   <item type="Structure">
    <name>global_score</name>
    <definition>
    <declaration>typedef struct { 
      int exit_generation; 
  } global_score;</declaration>
    <description href="dict-global_score.html" />
    <example>
     <text>typedef struct { 
      short_score servers[HARD_SERVER_LIMIT]; 
      parent_score parent[HARD_SERVER_LIMIT]; 
      global_score global; 
  } scoreboard; </text>
    </example>
    <seealso>
     <ref>SA-scoreboard</ref>
    </seealso>
    </definition>
   </item>
   <item type="Constant">
    <name>kill_conditions</name>
    <definition>
    <declaration>#include &quot;ap_alloc.h&quot;</declaration>
    <description href="dict-kill_conditions.html" />
    <example>
     <text>&lt;code&gt;kill_conditions&lt;/code&gt; is an enum, but the enumeration type isn't used
       by modules, only the specific named values.</text>
    </example>
    </definition>
   </item>
   <item type="Structure">
    <name>module</name>
    <definition>
    <declaration>typedef struct module_struct { 
      int version; 
      int minor_version; 
      int module_index; 
      const char *name; 
      void *dynamic_load_handle; 
      struct module_struct *next; 
      unsigned long magic; 
  #ifdef ULTRIX_BRAIN_DEATH 
      void (*init) (); 
      void *(*create_dir_config) (); 
      void *(*merge_dir_config) (); 
      void *(*create_server_config) (); 
      void *(*merge_server_config) (); 
  #else 
      void (*init) (server_rec *s, pool *p); 
      void *(*create_dir_config) (pool *p, char *dir); 
      void *(*merge_dir_config) (pool *p, void *base_conf, void *new_conf); 
      void *(*create_server_config) (pool *p, server_rec *s); 
      void *(*merge_server_config) (pool *p, void *base_conf, void *new_conf); 
  #endif 
      const command_rec *cmds; 
      const handler_rec *handlers; 
      int (*translate_handler) (request_rec *r); 
      int (*ap_check_user_id) (request_rec *r); 
      int (*auth_checker) (request_rec *r); 
      int (*access_checker) (request_rec *r); 
      int (*type_checker) (request_rec *r); 
      int (*fixer_upper) (request_rec *r); 
      int (*logger) (request_rec *r); 
      int (*header_parser) (request_rec *r); 
  #ifdef ULTRIX_BRAIN_DEATH 
      void (*child_init) (); 
      void (*child_exit) (); 
  #else 
      void (*child_init) (server_rec *s, pool *p); 
      void (*child_exit) (server_rec *s, pool *p); 
  #endif 
      int (*post_read_request) (request_rec *)r; 
  } module; </declaration>
    <description href="dict-module.html" />
    <example>
     <text>module *mpointer; 
     &lt;i&gt;or&lt;/i&gt; 
  module action_module = 
  { 
      STANDARD_MODULE_STUFF, 
      NULL,                       /* initializer */ 
      create_action_dir_config,   /* dir config creator */ 
      merge_action_dir_configs,   /* dir merger --- default is to override */ 
      NULL,                       /* server config */ 
      NULL,                       /* merge server config */ 
      action_cmds,                /* command table */ 
      action_handlers,            /* handlers */ 
      NULL,                       /* filename translation */ 
      NULL,                       /* check_user_id */ 
      NULL,                       /* check auth */ 
      NULL,                       /* check access */ 
      NULL,                       /* type_checker */ 
      NULL,                       /* fixups */ 
      NULL,                       /* logger */ 
      NULL,                       /* header parser */ 
      NULL,                       /* child_init */ 
      NULL,                       /* child_exit */ 
      NULL                        /* post read-request */ 
  }; </text>
    </example>
    <seealso>
     <ref>SA-module</ref>
     <ref>SA-MMN</ref>
     <ref>STANDARD_MODULE_STUFF</ref>
    </seealso>
    </definition>
   </item>
   <item type="Structure">
    <name>mutex</name>
    <definition>
    <declaration>This is an opaque structure; you don't need to access any of its elements.</declaration>
    <description href="dict-mutex.html" />
    <example>
     <text>mutex &lt;var&gt;identifier&lt;/var&gt;</text>
    </example>
    </definition>
   </item>
   <item type="Routine">
    <name>opendir</name>
    <definition>
    <declaration>DIR *opendir(const char *);</declaration>
    <description />
    </definition>
   </item>
   <item type="Routine">
    <name>os_spawnle</name>
    <definition>
    <declaration>int os_spawnle(int mode, const char *cmdname, ...);</declaration>
    <description />
    </definition>
   </item>
   <item type="Routine">
    <name>os_spawnv</name>
    <definition>
    <declaration>int os_spawnv(int mode, const char *cmdname, const char *const *argv);</declaration>
    <description />
    </definition>
   </item>
   <item type="Routine">
    <name>os_spawnve</name>
    <definition>
    <declaration>int os_spawnve(int mode, const char *cmdname, const char *const *argv, const char *const *envp);</declaration>
    <description />
    </definition>
   </item>
   <item type="Routine">
    <name>os_stat</name>
    <definition>
    <declaration>int os_stat(const char *szPath, struct stat *pStat);</declaration>
    <description />
    </definition>
   </item>
   <item type="Routine">
    <name>os_strftime</name>
    <definition>
    <declaration>int os_strftime(char *s, size_t max, const char *format, const struct tm *tm);</declaration>
    <description />
    <example>
     <text>&lt;i&gt;No examples available.&lt;/i&gt;</text>
    </example>
    </definition>
   </item>
   <item type="Structure">
    <name>parent_score</name>
    <definition>
    <declaration>typedef struct { 
      pid_t pid; 
  #ifdef OPTIMIZE_TIMEOUTS 
      time_t last_rtime; 
      vtime_t last_vtime; 
  #endif 
  } parent_score;</declaration>
    <description href="dict-parent_score.html" />
    <example>
     <text>parent_score ps_record; 
  for (i = 0; i &lt; HARD_SERVER_LIMIT; ++i) { 
      ps_record = ap_scoreboard_image-&gt;parent[i]; 
  } </text>
    </example>
    <seealso>
     <ref>SA-scoreboard</ref>
    </seealso>
    </definition>
   </item>
   <item type="Structure">
    <name>piped_log</name>
    <definition>
    <declaration>typedef struct piped_log { 
      pool *p; 
  #ifndef NO_RELIABLE_PIPED_LOGS 
      char *program; 
      int pid; 
      int fds[2]; 
  #else 
      FILE *write_f; 
  #endif 
  } piped_log;</declaration>
    <description />
    <seealso>
     <ref>SA-piped-log</ref>
    </seealso>
    </definition>
   </item>
   <item type="Structure">
    <name>pool</name>
    <definition>
    <declaration>typedef struct pool pool;
  typedef struct pool ap_pool;
  struct pool &lt;var&gt;opaque-structure&lt;/var&gt;</declaration>
    <description href="dict-pool.html" />
    <example>
     <text>pool *p; 
  char *foo; 
  foo = ap_pstrcat(p, &quot;string 1&quot;, &quot;string 2&quot;, null);</text>
    </example>
    <seealso>
     <ref>SA-pool</ref>
    </seealso>
    </definition>
   </item>
   <item type="Constant">
    <name>proxyreqtype</name>
    <definition>
    <declaration>#include &quot;httpd.h&quot;</declaration>
    <description />
    <example>
     <text>&lt;code&gt;proxyreqtype&lt;/code&gt; is an enum, but the enumeration type isn't used
       by modules, only the specific named values.</text>
    </example>
    <seealso>
     <ref>request_rec</ref>
    </seealso>
    </definition>
   </item>
   <item type="Routine">
    <name>readdir</name>
    <definition>
    <declaration>struct dirent *readdir(DIR *);</declaration>
    <description />
    </definition>
   </item>
   <item type="Routine">
    <name>regcomp</name>
    <definition>
    <declaration>int regcomp(regex_t *, const char *, int);</declaration>
    <description />
    </definition>
   </item>
   <item type="Routine">
    <name>regerror</name>
    <definition>
    <declaration>size_t regerror(int, const regex_t *, char *, size_t);</declaration>
    <description />
    </definition>
   </item>
   <item type="Structure">
    <name>regex_t</name>
    <definition>
    <declaration>typedef struct { 
      int re_magic; 
      size_t re_nsub; 
      const char *re_endp; 
      struct re_guts *re_g; 
  } regex_t;</declaration>
    <description />
    </definition>
   </item>
   <item type="Routine">
    <name>regexec</name>
    <definition>
    <declaration>int regexec(const regex_t *, const char *, size_t, regmatch_t [], int);</declaration>
    <description />
    </definition>
   </item>
   <item type="Routine">
    <name>regfree</name>
    <definition>
    <declaration>void regfree(regex_t *);</declaration>
    <description />
    </definition>
   </item>
   <item type="Structure">
    <name>regmatch_t</name>
    <definition>
    <declaration>typedef struct {
  regoff_t rm_so;     // start of match 
  regoff_t rm_eo;     // end of match 
  } regmatch_t; </declaration>
    <description />
    </definition>
   </item>
   <item type="Structure">
    <name>request_rec</name>
    <definition>
    <declaration>typedef struct request_rec request_rec; 
  struct request_rec { 
      pool *pool; 
      conn_rec *connection; 
      server_rec *server; 
      request_rec *next; 
      request_rec *prev; 
      request_rec *main; 
      char *the_request; 
      int assbackwards; 
      enum proxyreqtype proxyreq; 
      int header_only; 
      char *protocol; 
      int proto_num; 
      char *hostname; 
      time_t request_time; 
      const char *status_line; 
      int status; 
      const char *method; 
      int method_number; 
      int allowed; 
      int sent_bodyct; 
      long bytes_sent; 
      time_t mtime; 
      int chunked; 
      int byterange; 
      char *boundary; 
      const char *range; 
      long clength; 
      long remaining; 
      long read_length; 
      int read_body; 
      int read_chunked; 
      unsigned expecting_100; 
      table *headers_in; 
      table *headers_out; 
      table *err_headers_out; 
      table *subprocess_env; 
      table *notes; 
      const char *content_type; 
      const char *handler; 
      const char *content_encoding; 
      const char *content_language; 
      array_header *content_languages; 
      char *vlist_validator; 
      int no_cache; 
      int no_local_copy; 
      char *unparsed_uri; 
      char *uri; 
      char *filename; 
      char *path_info; 
      char *args; 
      struct stat finfo; 
      uri_components parsed_uri; 
      void *per_dir_config; 
      void *request_config; 
      const struct htaccess_result *htaccess; 
      char *case_preserved_filename; 
  };</declaration>
    <description href="dict-request_rec.html" />
    <seealso>
     <ref>SA-core-rec</ref>
     <ref>HTTP_VERSION_MAJOR</ref>
     <ref>HTTP_VERSION_MINOR</ref>
    </seealso>
    </definition>
   </item>
   <item type="Structure">
    <name>scoreboard</name>
    <definition>
    <declaration>typedef struct { 
      short_score servers[HARD_SERVER_LIMIT]; 
      parent_score parent[HARD_SERVER_LIMIT]; 
      global_score global; 
  } scoreboard;</declaration>
    <description />
    <seealso>
     <ref>SA-scoreboard</ref>
    </seealso>
    </definition>
   </item>
   <item type="Structure">
    <name>server_addr_rec</name>
    <definition>
    <declaration>typedef struct server_addr_rec server_addr_rec; 
  struct server_addr_rec { 
      server_addr_rec *next; 
      struct in_addr host_addr; 
      unsigned short host_port; 
      char *virthost; 
  } </declaration>
    <description />
    <seealso>
     <ref>SA-core-rec</ref>
    </seealso>
    </definition>
   </item>
   <item type="Structure">
    <name>server_rec</name>
    <definition>
    <declaration>struct server_rec { 
      server_rec *next; 
      const char *defn_name; 
      unsigned defn_line_number; 
      char *srm_confname; 
      char *access_confname; 
      char *server_admin; 
      char *server_hostname; 
      unsigned short port; 
      char *error_fname; 
      FILE *error_log; 
      int loglevel; 
      int is_virtual; 
      void *module_config; 
      void *lookup_defaults; 
      server_addr_rec *addrs; 
      int timeout; 
      int keep_alive_timeout; 
      int keep_alive_max; 
      int keep_alive; 
      int send_buffer_size; 
      char *path; 
      int pathlen; 
      array_header *names; 
      array_header *wild_names; 
      uid_t server_uid;
      gid_t server_gid; 
      int limit_req_line; 
      int limit_req_fieldsize; 
      int limit_req_fields; 
  }; </declaration>
    <description href="dict-server_rec.html" />
    <seealso>
     <ref>SA-core-rec</ref>
    </seealso>
    </definition>
   </item>
   <item type="Structure">
    <name>short_score</name>
    <definition>
    <declaration>typedef struct { 
  #ifdef OPTIMIZE_TIMEOUTS 
      vtime_t cur_vtime; 
      unsigned short timeout_len; 
  #endif 
      unsigned char status; 
  #if defined(STATUS) 
      unsigned long access_count; 
      unsigned long bytes_served; 
      unsigned long my_access_count; 
      unsigned long my_bytes_served; 
      unsigned long conn_bytes; 
      unsigned short conn_count; 
  #if defined(NO_GETTIMEOFDAY) 
      clock_t start_time; 
      clock_t stop_time; 
  #else 
      struct timeval start_time; 
      struct timeval stop_time; 
  #endif 
  #ifndef NO_TIMES 
      struct tms times; 
  #endif 
  #ifndef OPTIMIZE_TIMEOUTS 
      time_t last_used; 
  #endif 
      char client[32]; 
      char request[64]; 
      char vhost[32]; 
  #endif 
  } short_score;</declaration>
    <description />
    <seealso>
     <ref>SA-scoreboard</ref>
    </seealso>
    </definition>
   </item>
   <item type="Structure">
    <name>table</name>
    <definition>
    <declaration>typedef struct table {&lt;var&gt;opaque-structure&lt;/var&gt;};</declaration>
    <description href="dict-table.html" />
    <example>
     <text>table *string_pairs;
       string_pairs = ap_make_table(p, 4);
       ap_table_set(string_pairs, &quot;key&quot;, &quot;value&quot;); </text>
    </example>
    <seealso>
     <ref>SA-tables</ref>
    </seealso>
    </definition>
   </item>
   <item type="Global Data Cell">
    <name>top_module</name>
    <definition>
    <declaration>module *top_module;</declaration>
    <description href="dict-top_module.html" />
    <example>
     <text>module *top_module = NULL; 
  module *modp, *first; 
      ...determine modules to load and order of module list... 
  top_module = first; 
  \nfor (modp = top_module; modp; modp = modp-&gt;next) { 
      ...do some per directory config processing... 
  } </text>
    </example>
    <seealso>
     <ref>SA-module</ref>
    </seealso>
    </definition>
   </item>
   <item type="Structure">
    <name>uri_components</name>
    <definition>
    <declaration>typedef struct { 
      char *scheme; 
      char *hostinfo; 
      char *user; 
      char *password; 
      char *hostname; 
      char *port_str; 
      char *path; 
      char *query; 
      char *fragment; 
      struct hostent *hostent; 
      unsigned short port; 
      unsigned is_initialized:1; 
      unsigned dns_looked_up:1; 
      unsigned dns_resolved:1; 
  } uri_components; </declaration>
    <description />
    <seealso>
     <ref>SA-core-rec</ref>
    </seealso>
    </definition>
   </item>
   <item type="Structure">
    <name>vtime_t</name>
    <definition>
    <declaration>typedef unsigned vtime_t;</declaration>
    <description href="dict-vtime_t.html" />
    <example>
     <text>short_score *ss; 
  parent_score *ps = &amp;ap_scoreboard_image-&gt;parent[i]; 
  if (ss-&gt;cur_vtime != ps-&gt;last_vtime) { 
      /* it has made progress, so update its last_rtime, 
      * last_vtime */ 
      ps-&gt;last_rtime = now; 
      ps-&gt;last_vtime = ss-&gt;cur_vtime; 
  } 
  else if (ps-&gt;last_rtime + ss-&gt;timeout_len &lt; now) { 
      /* no progress, and the timeout length has been exceeded */ 
      ss-&gt;timeout_len = 0; 
      kill(ps-&gt;pid, SIGALRM); 
  } </text>
    </example>
    <seealso>
     <ref>SA-scoreboard</ref>
    </seealso>
    </definition>
   </item>
  </lexicon>
  
  
  

Mime
View raw message