You are viewing a plain text version of this content. The canonical link for it is here.
Posted to modperl-cvs@perl.apache.org by do...@apache.org on 2001/06/28 19:33:03 UTC

cvs commit: modperl-2.0/xs/tables/current/ModPerl FunctionTable.pm

dougm       01/06/28 10:33:03

  Modified:    xs/tables/current/Apache ConstantsTable.pm FunctionTable.pm
                        StructureTable.pm
               xs/tables/current/ModPerl FunctionTable.pm
  Log:
  sync/sort
  
  Revision  Changes    Path
  1.10      +145 -145  modperl-2.0/xs/tables/current/Apache/ConstantsTable.pm
  
  Index: ConstantsTable.pm
  ===================================================================
  RCS file: /home/cvs/modperl-2.0/xs/tables/current/Apache/ConstantsTable.pm,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  --- ConstantsTable.pm	2001/06/08 00:38:53	1.9
  +++ ConstantsTable.pm	2001/06/28 17:32:47	1.10
  @@ -2,12 +2,35 @@
   
   # !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
   # ! WARNING: generated by Apache::ParseSource/0.02
  -# !          Thu Jun  7 17:32:35 2001
  +# !          Thu Jun 28 10:20:58 2001
   # !          do NOT edit, any changes will be lost !
   # !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
   
   $Apache::ConstantsTable = {
     'Apache' => {
  +    'satisfy' => [
  +      'SATISFY_ALL',
  +      'SATISFY_ANY',
  +      'SATISFY_NOSPEC'
  +    ],
  +    'remotehost' => [
  +      'REMOTE_HOST',
  +      'REMOTE_NAME',
  +      'REMOTE_NOLOOKUP',
  +      'REMOTE_DOUBLE_REV'
  +    ],
  +    'override' => [
  +      'OR_NONE',
  +      'OR_LIMIT',
  +      'OR_OPTIONS',
  +      'OR_FILEINFO',
  +      'OR_AUTHCFG',
  +      'OR_INDEXES',
  +      'OR_UNSET',
  +      'ACCESS_CONF',
  +      'RSRC_CONF',
  +      'OR_ALL'
  +    ],
       'options' => [
         'OPT_NONE',
         'OPT_INDEXES',
  @@ -19,34 +42,38 @@
         'OPT_SYM_OWNER',
         'OPT_MULTI',
         'OPT_ALL'
  -    ],
  -    'satisfy' => [
  -      'SATISFY_ALL',
  -      'SATISFY_ANY',
  -      'SATISFY_NOSPEC'
       ],
  -    'common' => [
  -      'DECLINED',
  -      'DONE',
  -      'OK',
  -      'NOT_FOUND',
  -      'FORBIDDEN',
  -      'AUTH_REQUIRED',
  -      'SERVER_ERROR'
  +    'methods' => [
  +      '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',
  +      'METHODS'
       ],
  -    'cmd_how' => [
  -      'RAW_ARGS',
  -      'TAKE1',
  -      'TAKE2',
  -      'ITERATE',
  -      'ITERATE2',
  -      'FLAG',
  -      'NO_ARGS',
  -      'TAKE12',
  -      'TAKE3',
  -      'TAKE23',
  -      'TAKE123',
  -      'TAKE13'
  +    'log' => [
  +      'APLOG_EMERG',
  +      'APLOG_ALERT',
  +      'APLOG_CRIT',
  +      'APLOG_ERR',
  +      'APLOG_WARNING',
  +      'APLOG_NOTICE',
  +      'APLOG_INFO',
  +      'APLOG_DEBUG',
  +      'APLOG_LEVELMASK',
  +      'APLOG_NOERRNO',
  +      'APLOG_STARTUP'
       ],
       'input_mode' => [
         'AP_MODE_BLOCKING',
  @@ -102,104 +129,38 @@
         'HTTP_INSUFFICIENT_STORAGE',
         'HTTP_NOT_EXTENDED'
       ],
  -    'methods' => [
  -      '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',
  -      'METHODS'
  -    ],
  -    'override' => [
  -      'OR_NONE',
  -      'OR_LIMIT',
  -      'OR_OPTIONS',
  -      'OR_FILEINFO',
  -      'OR_AUTHCFG',
  -      'OR_INDEXES',
  -      'OR_UNSET',
  -      'ACCESS_CONF',
  -      'RSRC_CONF',
  -      'OR_ALL'
  -    ],
  -    'log' => [
  -      'APLOG_EMERG',
  -      'APLOG_ALERT',
  -      'APLOG_CRIT',
  -      'APLOG_ERR',
  -      'APLOG_WARNING',
  -      'APLOG_NOTICE',
  -      'APLOG_INFO',
  -      'APLOG_DEBUG',
  -      'APLOG_LEVELMASK',
  -      'APLOG_NOERRNO',
  -      'APLOG_STARTUP'
  -    ],
  -    'remotehost' => [
  -      'REMOTE_HOST',
  -      'REMOTE_NAME',
  -      'REMOTE_NOLOOKUP',
  -      'REMOTE_DOUBLE_REV'
  -    ],
       'filter_type' => [
         'AP_FTYPE_CONTENT',
         'AP_FTYPE_HTTP_HEADER',
         'AP_FTYPE_TRANSCODE',
         'AP_FTYPE_CONNECTION',
         'AP_FTYPE_NETWORK'
  -    ]
  -  },
  -  'APR' => {
  -    'read_type' => [
  -      'APR_BLOCK_READ',
  -      'APR_NONBLOCK_READ'
  -    ],
  -    'fileperms' => [
  -      'APR_UREAD',
  -      'APR_UWRITE',
  -      'APR_UEXECUTE',
  -      'APR_GREAD',
  -      'APR_GWRITE',
  -      'APR_GEXECUTE',
  -      'APR_WREAD',
  -      'APR_WWRITE',
  -      'APR_WEXECUTE'
       ],
  -    'shutdown_how' => [
  -      'APR_SHUTDOWN_READ',
  -      'APR_SHUTDOWN_WRITE',
  -      'APR_SHUTDOWN_READWRITE'
  -    ],
       'common' => [
  -      'APR_SUCCESS'
  -    ],
  -    'filepath' => [
  -      'APR_FILEPATH_NOTABOVEROOT',
  -      'APR_FILEPATH_SECUREROOTTEST',
  -      'APR_FILEPATH_SECUREROOT',
  -      'APR_FILEPATH_NOTRELATIVE',
  -      'APR_FILEPATH_NOTABSOLUTE',
  -      'APR_FILEPATH_NATIVE',
  -      'APR_FILEPATH_TRUENAME'
  -    ],
  -    'hook' => [
  -      'APR_HOOK_REALLY_FIRST',
  -      'APR_HOOK_FIRST',
  -      'APR_HOOK_MIDDLE',
  -      'APR_HOOK_LAST',
  -      'APR_HOOK_REALLY_LAST'
  +      'DECLINED',
  +      'DONE',
  +      'OK',
  +      'NOT_FOUND',
  +      'FORBIDDEN',
  +      'AUTH_REQUIRED',
  +      'SERVER_ERROR'
       ],
  +    'cmd_how' => [
  +      'RAW_ARGS',
  +      'TAKE1',
  +      'TAKE2',
  +      'ITERATE',
  +      'ITERATE2',
  +      'FLAG',
  +      'NO_ARGS',
  +      'TAKE12',
  +      'TAKE3',
  +      'TAKE23',
  +      'TAKE123',
  +      'TAKE13'
  +    ]
  +  },
  +  'APR' => {
       'socket' => [
         'APR_SO_LINGER',
         'APR_SO_KEEPALIVE',
  @@ -211,6 +172,15 @@
         'APR_SO_RCVBUF',
         'APR_SO_DISCONNECTED'
       ],
  +    'shutdown_how' => [
  +      'APR_SHUTDOWN_READ',
  +      'APR_SHUTDOWN_WRITE',
  +      'APR_SHUTDOWN_READWRITE'
  +    ],
  +    'read_type' => [
  +      'APR_BLOCK_READ',
  +      'APR_NONBLOCK_READ'
  +    ],
       'poll' => [
         'APR_POLLIN',
         'APR_POLLPRI',
  @@ -219,12 +189,69 @@
         'APR_POLLHUP',
         'APR_POLLNVAL'
       ],
  +    'limit' => [
  +      'APR_LIMIT_CPU',
  +      'APR_LIMIT_MEM',
  +      'APR_LIMIT_NPROC'
  +    ],
  +    'hook' => [
  +      'APR_HOOK_REALLY_FIRST',
  +      'APR_HOOK_FIRST',
  +      'APR_HOOK_MIDDLE',
  +      'APR_HOOK_LAST',
  +      'APR_HOOK_REALLY_LAST'
  +    ],
       'flock' => [
         'APR_FLOCK_SHARED',
         'APR_FLOCK_EXCLUSIVE',
         'APR_FLOCK_TYPEMASK',
         'APR_FLOCK_NONBLOCK'
       ],
  +    'finfo' => [
  +      'APR_FINFO_LINK',
  +      'APR_FINFO_MTIME',
  +      'APR_FINFO_CTIME',
  +      'APR_FINFO_ATIME',
  +      'APR_FINFO_SIZE',
  +      'APR_FINFO_CSIZE',
  +      'APR_FINFO_DEV',
  +      'APR_FINFO_INODE',
  +      'APR_FINFO_NLINK',
  +      'APR_FINFO_TYPE',
  +      'APR_FINFO_USER',
  +      'APR_FINFO_GROUP',
  +      'APR_FINFO_UPROT',
  +      'APR_FINFO_GPROT',
  +      'APR_FINFO_WPROT',
  +      'APR_FINFO_ICASE',
  +      'APR_FINFO_NAME',
  +      'APR_FINFO_MIN',
  +      'APR_FINFO_IDENT',
  +      'APR_FINFO_OWNER',
  +      'APR_FINFO_PROT',
  +      'APR_FINFO_NORM',
  +      'APR_FINFO_DIRENT'
  +    ],
  +    'fileperms' => [
  +      'APR_UREAD',
  +      'APR_UWRITE',
  +      'APR_UEXECUTE',
  +      'APR_GREAD',
  +      'APR_GWRITE',
  +      'APR_GEXECUTE',
  +      'APR_WREAD',
  +      'APR_WWRITE',
  +      'APR_WEXECUTE'
  +    ],
  +    'filepath' => [
  +      'APR_FILEPATH_NOTABOVEROOT',
  +      'APR_FILEPATH_SECUREROOTTEST',
  +      'APR_FILEPATH_SECUREROOT',
  +      'APR_FILEPATH_NOTRELATIVE',
  +      'APR_FILEPATH_NOTABSOLUTE',
  +      'APR_FILEPATH_NATIVE',
  +      'APR_FILEPATH_TRUENAME'
  +    ],
       'filemode' => [
         'APR_READ',
         'APR_WRITE',
  @@ -288,36 +315,9 @@
         'APR_EFTYPE',
         'APR_EPIPE',
         'APR_END'
  -    ],
  -    'finfo' => [
  -      'APR_FINFO_LINK',
  -      'APR_FINFO_MTIME',
  -      'APR_FINFO_CTIME',
  -      'APR_FINFO_ATIME',
  -      'APR_FINFO_SIZE',
  -      'APR_FINFO_CSIZE',
  -      'APR_FINFO_DEV',
  -      'APR_FINFO_INODE',
  -      'APR_FINFO_NLINK',
  -      'APR_FINFO_TYPE',
  -      'APR_FINFO_USER',
  -      'APR_FINFO_GROUP',
  -      'APR_FINFO_UPROT',
  -      'APR_FINFO_GPROT',
  -      'APR_FINFO_WPROT',
  -      'APR_FINFO_ICASE',
  -      'APR_FINFO_NAME',
  -      'APR_FINFO_MIN',
  -      'APR_FINFO_IDENT',
  -      'APR_FINFO_OWNER',
  -      'APR_FINFO_PROT',
  -      'APR_FINFO_NORM',
  -      'APR_FINFO_DIRENT'
       ],
  -    'limit' => [
  -      'APR_LIMIT_CPU',
  -      'APR_LIMIT_MEM',
  -      'APR_LIMIT_NPROC'
  +    'common' => [
  +      'APR_SUCCESS'
       ]
     }
   };
  
  
  
  1.10      +6146 -6126modperl-2.0/xs/tables/current/Apache/FunctionTable.pm
  
  Index: FunctionTable.pm
  ===================================================================
  RCS file: /home/cvs/modperl-2.0/xs/tables/current/Apache/FunctionTable.pm,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  --- FunctionTable.pm	2001/06/15 03:58:12	1.9
  +++ FunctionTable.pm	2001/06/28 17:32:48	1.10
  @@ -2,10855 +2,10875 @@
   
   # !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
   # ! WARNING: generated by Apache::ParseSource/0.02
  -# !          Thu Jun 14 20:28:40 2001
  +# !          Thu Jun 28 10:21:05 2001
   # !          do NOT edit, any changes will be lost !
   # !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
   
   $Apache::FunctionTable = [
     {
  -    'return_type' => 'char *',
  +    'return_type' => 'void',
  +    'name' => 'ap_add_cgi_vars',
       'args' => [
  -      {
  -        'name' => 'statcode',
  -        'type' => 'apr_status_t'
  -      },
         {
  -        'name' => 'buf',
  -        'type' => 'char *'
  -      },
  -      {
  -        'name' => 'bufsize',
  -        'type' => 'apr_size_t'
  +        'type' => 'request_rec *',
  +        'name' => 'r'
         }
  -    ],
  -    'name' => 'apr_strerror'
  +    ]
     },
     {
  -    'return_type' => 'int',
  +    'return_type' => 'void',
  +    'name' => 'ap_add_common_vars',
       'args' => [
         {
  -        'name' => 'a',
  -        'type' => 'apr_pool_t *'
  -      },
  -      {
  -        'name' => 'b',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'request_rec *',
  +        'name' => 'r'
         }
  -    ],
  -    'name' => 'apr_pool_is_ancestor'
  +    ]
     },
     {
  -    'return_type' => 'apr_status_t',
  +    'return_type' => 'ap_filter_t *',
  +    'name' => 'ap_add_input_filter',
       'args' => [
         {
  -        'name' => 'globalp',
  -        'type' => 'apr_pool_t *'
  -      }
  -    ],
  -    'name' => 'apr_pool_alloc_init'
  -  },
  -  {
  -    'return_type' => 'void',
  -    'args' => [
  +        'type' => 'const char *',
  +        'name' => 'name'
  +      },
         {
  -        'name' => 'globalp',
  -        'type' => 'apr_pool_t *'
  -      }
  -    ],
  -    'name' => 'apr_pool_alloc_term'
  -  },
  -  {
  -    'return_type' => 'apr_status_t',
  -    'args' => [
  +        'type' => 'void *',
  +        'name' => 'ctx'
  +      },
         {
  -        'name' => 'newcont',
  -        'type' => 'apr_pool_t **'
  +        'type' => 'request_rec *',
  +        'name' => 'r'
         },
         {
  -        'name' => 'cont',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'conn_rec *',
  +        'name' => 'c'
         }
  -    ],
  -    'name' => 'apr_pool_create'
  +    ]
     },
     {
       'return_type' => 'void',
  +    'name' => 'ap_add_loaded_module',
       'args' => [
         {
  -        'name' => 'abortfunc',
  -        'type' => 'apr_abortfunc_t'
  +        'type' => 'module *',
  +        'name' => 'mod'
         },
         {
  -        'name' => 'pool',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'p'
         }
  -    ],
  -    'name' => 'apr_pool_set_abort'
  +    ]
     },
     {
  -    'return_type' => 'apr_abortfunc_t',
  +    'return_type' => 'void',
  +    'name' => 'ap_add_module',
       'args' => [
  +      {
  +        'type' => 'module *',
  +        'name' => 'm'
  +      },
         {
  -        'name' => 'pool',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'p'
         }
  -    ],
  -    'name' => 'apr_pool_get_abort'
  +    ]
     },
     {
  -    'return_type' => 'apr_pool_t *',
  +    'return_type' => 'int',
  +    'name' => 'ap_add_named_module',
       'args' => [
  +      {
  +        'type' => 'const char *',
  +        'name' => 'name'
  +      },
         {
  -        'name' => 'pool',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'p'
         }
  -    ],
  -    'name' => 'apr_pool_get_parent'
  +    ]
     },
     {
  -    'return_type' => 'apr_status_t',
  +    'return_type' => 'ap_directive_t *',
  +    'name' => 'ap_add_node',
       'args' => [
         {
  -        'name' => 'data',
  -        'type' => 'const void *'
  +        'type' => 'ap_directive_t **',
  +        'name' => 'parent'
         },
         {
  -        'name' => 'key',
  -        'type' => 'const char *'
  +        'type' => 'ap_directive_t *',
  +        'name' => 'current'
         },
         {
  -        'name' => 'arg2',
  -        'type' => 'apr_status_t (*cleanup)(void *)'
  +        'type' => 'ap_directive_t *',
  +        'name' => 'toadd'
         },
         {
  -        'name' => 'cont',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'int',
  +        'name' => 'child'
         }
  -    ],
  -    'name' => 'apr_pool_userdata_set'
  +    ]
     },
     {
  -    'return_type' => 'apr_status_t',
  +    'return_type' => 'ap_filter_t *',
  +    'name' => 'ap_add_output_filter',
       'args' => [
         {
  -        'name' => 'data',
  -        'type' => 'void **'
  +        'type' => 'const char *',
  +        'name' => 'name'
         },
         {
  -        'name' => 'key',
  -        'type' => 'const char *'
  +        'type' => 'void *',
  +        'name' => 'ctx'
         },
         {
  -        'name' => 'cont',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'request_rec *',
  +        'name' => 'r'
  +      },
  +      {
  +        'type' => 'conn_rec *',
  +        'name' => 'c'
         }
  -    ],
  -    'name' => 'apr_pool_userdata_get'
  +    ]
     },
     {
  -    'return_type' => 'apr_pool_t *',
  +    'return_type' => 'void',
  +    'name' => 'ap_add_version_component',
       'args' => [
         {
  -        'name' => 'p',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'pconf'
         },
         {
  -        'name' => 'arg1',
  -        'type' => 'int (*apr_abort)(int retcode)'
  +        'type' => 'const char *',
  +        'name' => 'component'
         }
  -    ],
  -    'name' => 'apr_pool_sub_make'
  +    ]
     },
     {
       'return_type' => 'void',
  +    'name' => 'ap_allow_methods',
       'args' => [
         {
  -        'name' => 'p',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'request_rec *',
  +        'name' => 'r'
  +      },
  +      {
  +        'type' => 'int',
  +        'name' => 'reset'
  +      },
  +      {
  +        'type' => '...',
  +        'name' => 'arg2'
         }
  -    ],
  -    'name' => 'apr_pool_clear'
  +    ]
     },
     {
  -    'return_type' => 'void',
  +    'return_type' => 'int',
  +    'name' => 'ap_allow_options',
       'args' => [
         {
  -        'name' => 'p',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'request_rec *',
  +        'name' => 'r'
         }
  -    ],
  -    'name' => 'apr_pool_destroy'
  +    ]
     },
     {
  -    'return_type' => 'apr_size_t',
  +    'return_type' => 'int',
  +    'name' => 'ap_allow_overrides',
       'args' => [
         {
  -        'name' => 'p',
  -        'type' => 'apr_pool_t *'
  -      },
  -      {
  -        'name' => 'recurse',
  -        'type' => 'int'
  +        'type' => 'request_rec *',
  +        'name' => 'r'
         }
  -    ],
  -    'name' => 'apr_pool_num_bytes'
  +    ]
     },
     {
  -    'return_type' => 'apr_size_t',
  -    'args' => [],
  -    'name' => 'apr_pool_free_blocks_num_bytes'
  +    'return_type' => 'const char *',
  +    'name' => 'ap_auth_name',
  +    'args' => [
  +      {
  +        'type' => 'request_rec *',
  +        'name' => 'r'
  +      }
  +    ]
     },
     {
  -    'return_type' => 'void *',
  +    'return_type' => 'const char *',
  +    'name' => 'ap_auth_type',
       'args' => [
  -      {
  -        'name' => 'c',
  -        'type' => 'apr_pool_t *'
  -      },
         {
  -        'name' => 'reqsize',
  -        'type' => 'apr_size_t'
  +        'type' => 'request_rec *',
  +        'name' => 'r'
         }
  -    ],
  -    'name' => 'apr_palloc'
  +    ]
     },
     {
  -    'return_type' => 'void *',
  +    'return_type' => 'apr_bucket *',
  +    'name' => 'ap_bucket_error_create',
       'args' => [
  +      {
  +        'type' => 'int',
  +        'name' => 'error'
  +      },
         {
  -        'name' => 'p',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'const char *',
  +        'name' => 'buf'
         },
         {
  -        'name' => 'size',
  -        'type' => 'apr_size_t'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'p'
         }
  -    ],
  -    'name' => 'apr_pcalloc'
  +    ]
     },
     {
  -    'return_type' => 'void',
  +    'return_type' => 'apr_bucket *',
  +    'name' => 'ap_bucket_error_make',
       'args' => [
         {
  -        'name' => 'p',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'apr_bucket *',
  +        'name' => 'b'
         },
         {
  -        'name' => 'data',
  -        'type' => 'const void *'
  +        'type' => 'int',
  +        'name' => 'error'
         },
         {
  -        'name' => 'arg2',
  -        'type' => 'apr_status_t (*plain_cleanup)(void *)'
  +        'type' => 'const char *',
  +        'name' => 'buf'
         },
         {
  -        'name' => 'arg3',
  -        'type' => 'apr_status_t (*child_cleanup)(void *)'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'p'
         }
  -    ],
  -    'name' => 'apr_pool_cleanup_register'
  +    ]
     },
     {
  -    'return_type' => 'void',
  +    'return_type' => 'const char *',
  +    'name' => 'ap_build_config',
       'args' => [
  +      {
  +        'type' => 'cmd_parms *',
  +        'name' => 'parms'
  +      },
         {
  -        'name' => 'p',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'conf_pool'
         },
         {
  -        'name' => 'data',
  -        'type' => 'const void *'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'temp_pool'
         },
         {
  -        'name' => 'arg2',
  -        'type' => 'apr_status_t (*cleanup)(void *)'
  +        'type' => 'ap_directive_t **',
  +        'name' => 'conftree'
         }
  -    ],
  -    'name' => 'apr_pool_cleanup_kill'
  +    ]
     },
     {
  -    'return_type' => 'apr_status_t',
  +    'return_type' => 'const char *',
  +    'name' => 'ap_build_cont_config',
       'args' => [
  +      {
  +        'type' => 'apr_pool_t *',
  +        'name' => 'p'
  +      },
  +      {
  +        'type' => 'apr_pool_t *',
  +        'name' => 'temp_pool'
  +      },
  +      {
  +        'type' => 'cmd_parms *',
  +        'name' => 'parms'
  +      },
         {
  -        'name' => 'p',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'ap_directive_t **',
  +        'name' => 'current'
         },
         {
  -        'name' => 'data',
  -        'type' => 'void *'
  +        'type' => 'ap_directive_t **',
  +        'name' => 'curr_parent'
         },
         {
  -        'name' => 'arg2',
  -        'type' => 'apr_status_t (*cleanup)(void *)'
  +        'type' => 'char *',
  +        'name' => 'orig_directive'
         }
  -    ],
  -    'name' => 'apr_pool_cleanup_run'
  -  },
  -  {
  -    'return_type' => 'void',
  -    'args' => [],
  -    'name' => 'apr_pool_cleanup_for_exec'
  +    ]
     },
     {
       'return_type' => 'apr_status_t',
  +    'name' => 'ap_byterange_filter',
       'args' => [
         {
  -        'name' => 'data',
  -        'type' => 'void *'
  +        'type' => 'ap_filter_t *',
  +        'name' => 'f'
  +      },
  +      {
  +        'type' => 'apr_bucket_brigade *',
  +        'name' => 'b'
         }
  -    ],
  -    'name' => 'apr_pool_cleanup_null'
  +    ]
     },
     {
  -    'return_type' => 'apr_status_t',
  +    'return_type' => 'int',
  +    'name' => 'ap_cfg_closefile',
       'args' => [
  -      {
  -        'name' => 'res_handle',
  -        'type' => 'apr_dso_handle_t **'
  -      },
  -      {
  -        'name' => 'path',
  -        'type' => 'const char *'
  -      },
         {
  -        'name' => 'ctx',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'ap_configfile_t *',
  +        'name' => 'cfp'
         }
  -    ],
  -    'name' => 'apr_dso_load'
  +    ]
     },
     {
  -    'return_type' => 'apr_status_t',
  +    'return_type' => 'int',
  +    'name' => 'ap_cfg_getc',
       'args' => [
         {
  -        'name' => 'handle',
  -        'type' => 'apr_dso_handle_t *'
  +        'type' => 'ap_configfile_t *',
  +        'name' => 'cfp'
         }
  -    ],
  -    'name' => 'apr_dso_unload'
  +    ]
     },
     {
  -    'return_type' => 'apr_status_t',
  +    'return_type' => 'int',
  +    'name' => 'ap_cfg_getline',
       'args' => [
         {
  -        'name' => 'ressym',
  -        'type' => 'apr_dso_handle_sym_t *'
  +        'type' => 'char *',
  +        'name' => 'buf'
         },
         {
  -        'name' => 'handle',
  -        'type' => 'apr_dso_handle_t *'
  +        'type' => 'size_t',
  +        'name' => 'bufsize'
         },
         {
  -        'name' => 'symname',
  -        'type' => 'const char *'
  +        'type' => 'ap_configfile_t *',
  +        'name' => 'cfp'
         }
  -    ],
  -    'name' => 'apr_dso_sym'
  +    ]
     },
     {
       'return_type' => 'const char *',
  +    'name' => 'ap_check_cmd_context',
       'args' => [
         {
  -        'name' => 'dso',
  -        'type' => 'apr_dso_handle_t *'
  +        'type' => 'cmd_parms *',
  +        'name' => 'cmd'
         },
         {
  -        'name' => 'buf',
  -        'type' => 'char *'
  -      },
  -      {
  -        'name' => 'bufsize',
  -        'type' => 'apr_size_t'
  +        'type' => 'unsigned',
  +        'name' => 'forbidden'
         }
  -    ],
  -    'name' => 'apr_dso_error'
  +    ]
     },
     {
       'return_type' => 'apr_status_t',
  +    'name' => 'ap_cleanup_scoreboard',
       'args' => [
  -      {
  -        'name' => 'username',
  -        'type' => 'char **'
  -      },
         {
  -        'name' => 'userid',
  -        'type' => 'apr_uid_t'
  -      },
  -      {
  -        'name' => 'p',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'void *',
  +        'name' => 'd'
         }
  -    ],
  -    'name' => 'apr_get_username'
  +    ]
     },
     {
  -    'return_type' => 'apr_status_t',
  +    'return_type' => 'void',
  +    'name' => 'ap_clear_method_list',
       'args' => [
  -      {
  -        'name' => 'userid',
  -        'type' => 'apr_uid_t *'
  -      },
  -      {
  -        'name' => 'groupid',
  -        'type' => 'apr_gid_t *'
  -      },
         {
  -        'name' => 'username',
  -        'type' => 'const char *'
  -      },
  -      {
  -        'name' => 'p',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'ap_method_list_t *',
  +        'name' => 'l'
         }
  -    ],
  -    'name' => 'apr_get_userid'
  +    ]
     },
     {
  -    'return_type' => 'apr_status_t',
  +    'return_type' => 'void',
  +    'name' => 'ap_close_piped_log',
       'args' => [
  -      {
  -        'name' => 'dirname',
  -        'type' => 'char **'
  -      },
  -      {
  -        'name' => 'username',
  -        'type' => 'const char *'
  -      },
         {
  -        'name' => 'p',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'piped_log *',
  +        'name' => 'pl'
         }
  -    ],
  -    'name' => 'apr_get_home_directory'
  +    ]
     },
     {
  -    'return_type' => 'apr_status_t',
  +    'return_type' => 'char *',
  +    'name' => 'ap_construct_server',
       'args' => [
  +      {
  +        'type' => 'apr_pool_t *',
  +        'name' => 'p'
  +      },
         {
  -        'name' => 'groupname',
  -        'type' => 'char **'
  +        'type' => 'const char *',
  +        'name' => 'hostname'
         },
         {
  -        'name' => 'groupid',
  -        'type' => 'apr_gid_t'
  +        'type' => 'apr_port_t',
  +        'name' => 'port'
         },
         {
  -        'name' => 'p',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'const request_rec *',
  +        'name' => 'r'
         }
  -    ],
  -    'name' => 'apr_get_groupname'
  +    ]
     },
     {
  -    'return_type' => 'apr_status_t',
  +    'return_type' => 'char *',
  +    'name' => 'ap_construct_url',
       'args' => [
         {
  -        'name' => 'passwd',
  -        'type' => 'char **'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'p'
         },
         {
  -        'name' => 'username',
  -        'type' => 'const char *'
  +        'type' => 'const char *',
  +        'name' => 'uri'
         },
         {
  -        'name' => 'p',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'request_rec *',
  +        'name' => 'r'
         }
  -    ],
  -    'name' => 'apr_get_user_passwd'
  -  },
  -  {
  -    'return_type' => 'apr_time_t',
  -    'args' => [],
  -    'name' => 'apr_time_now'
  +    ]
     },
     {
       'return_type' => 'apr_status_t',
  +    'name' => 'ap_content_length_filter',
       'args' => [
         {
  -        'name' => 'result',
  -        'type' => 'apr_time_t *'
  +        'type' => 'ap_filter_t *',
  +        'name' => 'arg0'
         },
         {
  -        'name' => 'input',
  -        'type' => 'time_t'
  +        'type' => 'apr_bucket_brigade *',
  +        'name' => 'arg1'
         }
  -    ],
  -    'name' => 'apr_ansi_time_to_apr_time'
  +    ]
     },
     {
  -    'return_type' => 'apr_status_t',
  +    'return_type' => 'void',
  +    'name' => 'ap_content_type_tolower',
       'args' => [
  -      {
  -        'name' => 'result',
  -        'type' => 'apr_exploded_time_t *'
  -      },
  -      {
  -        'name' => 'input',
  -        'type' => 'apr_time_t'
  -      },
         {
  -        'name' => 'offs',
  -        'type' => 'apr_int32_t'
  +        'type' => 'char *',
  +        'name' => 's'
         }
  -    ],
  -    'name' => 'apr_explode_time'
  +    ]
     },
     {
  -    'return_type' => 'apr_status_t',
  +    'return_type' => 'void',
  +    'name' => 'ap_copy_method_list',
       'args' => [
         {
  -        'name' => 'result',
  -        'type' => 'apr_exploded_time_t *'
  +        'type' => 'ap_method_list_t *',
  +        'name' => 'dest'
         },
         {
  -        'name' => 'input',
  -        'type' => 'apr_time_t'
  +        'type' => 'ap_method_list_t *',
  +        'name' => 'src'
         }
  -    ],
  -    'name' => 'apr_explode_gmt'
  +    ]
     },
     {
  -    'return_type' => 'apr_status_t',
  +    'return_type' => 'void',
  +    'name' => 'ap_core_reorder_directories',
       'args' => [
         {
  -        'name' => 'result',
  -        'type' => 'apr_exploded_time_t *'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'arg0'
         },
         {
  -        'name' => 'input',
  -        'type' => 'apr_time_t'
  +        'type' => 'server_rec *',
  +        'name' => 'arg1'
         }
  -    ],
  -    'name' => 'apr_explode_localtime'
  +    ]
     },
     {
  -    'return_type' => 'apr_status_t',
  +    'return_type' => 'int',
  +    'name' => 'ap_core_translate',
       'args' => [
  -      {
  -        'name' => 'result',
  -        'type' => 'apr_time_t *'
  -      },
         {
  -        'name' => 'input',
  -        'type' => 'apr_exploded_time_t *'
  +        'type' => 'request_rec *',
  +        'name' => 'r'
         }
  -    ],
  -    'name' => 'apr_implode_time'
  +    ]
     },
     {
  -    'return_type' => 'void',
  +    'return_type' => 'int',
  +    'name' => 'ap_count_dirs',
       'args' => [
         {
  -        'name' => 't',
  -        'type' => 'apr_interval_time_t'
  +        'type' => 'const char *',
  +        'name' => 'path'
         }
  -    ],
  -    'name' => 'apr_sleep'
  +    ]
     },
     {
  -    'return_type' => 'apr_status_t',
  +    'return_type' => 'char **',
  +    'name' => 'ap_create_environment',
       'args' => [
         {
  -        'name' => 'date_str',
  -        'type' => 'char *'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'p'
         },
         {
  -        'name' => 't',
  -        'type' => 'apr_time_t'
  +        'type' => 'apr_table_t *',
  +        'name' => 't'
         }
  -    ],
  -    'name' => 'apr_rfc822_date'
  +    ]
     },
     {
  -    'return_type' => 'apr_status_t',
  +    'return_type' => 'void',
  +    'name' => 'ap_create_scoreboard',
       'args' => [
         {
  -        'name' => 'date_str',
  -        'type' => 'char *'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'p'
         },
         {
  -        'name' => 't',
  -        'type' => 'apr_time_t'
  +        'type' => 'ap_scoreboard_e',
  +        'name' => 't'
         }
  -    ],
  -    'name' => 'apr_ctime'
  +    ]
     },
     {
  -    'return_type' => 'apr_status_t',
  +    'return_type' => 'void',
  +    'name' => 'ap_custom_response',
       'args' => [
  -      {
  -        'name' => 's',
  -        'type' => 'char *'
  -      },
  -      {
  -        'name' => 'retsize',
  -        'type' => 'apr_size_t *'
  -      },
         {
  -        'name' => 'max',
  -        'type' => 'apr_size_t'
  +        'type' => 'request_rec *',
  +        'name' => 'r'
         },
         {
  -        'name' => 'format',
  -        'type' => 'const char *'
  +        'type' => 'int',
  +        'name' => 'status'
         },
         {
  -        'name' => 'tm',
  -        'type' => 'apr_exploded_time_t *'
  +        'type' => 'char *',
  +        'name' => 'string'
         }
  -    ],
  -    'name' => 'apr_strftime'
  +    ]
     },
     {
  -    'return_type' => 'apr_status_t',
  +    'return_type' => 'const char *',
  +    'name' => 'ap_default_type',
       'args' => [
  -      {
  -        'name' => 'finfo',
  -        'type' => 'apr_finfo_t *'
  -      },
  -      {
  -        'name' => 'fname',
  -        'type' => 'const char *'
  -      },
  -      {
  -        'name' => 'wanted',
  -        'type' => 'apr_int32_t'
  -      },
         {
  -        'name' => 'cont',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'request_rec *',
  +        'name' => 'r'
         }
  -    ],
  -    'name' => 'apr_stat'
  +    ]
     },
     {
  -    'return_type' => 'apr_status_t',
  +    'return_type' => 'void',
  +    'name' => 'ap_destroy_sub_req',
       'args' => [
  -      {
  -        'name' => 'finfo',
  -        'type' => 'apr_finfo_t *'
  -      },
  -      {
  -        'name' => 'fname',
  -        'type' => 'const char *'
  -      },
  -      {
  -        'name' => 'wanted',
  -        'type' => 'apr_int32_t'
  -      },
         {
  -        'name' => 'cont',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'request_rec *',
  +        'name' => 'r'
         }
  -    ],
  -    'name' => 'apr_lstat'
  +    ]
     },
     {
  -    'return_type' => 'apr_status_t',
  +    'return_type' => 'void',
  +    'name' => 'ap_die',
       'args' => [
  -      {
  -        'name' => 'new_dir',
  -        'type' => 'apr_dir_t **'
  -      },
         {
  -        'name' => 'dirname',
  -        'type' => 'const char *'
  +        'type' => 'int',
  +        'name' => 'type'
         },
         {
  -        'name' => 'cont',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'request_rec *',
  +        'name' => 'r'
         }
  -    ],
  -    'name' => 'apr_dir_open'
  +    ]
     },
     {
  -    'return_type' => 'apr_status_t',
  +    'return_type' => 'int',
  +    'name' => 'ap_discard_request_body',
       'args' => [
         {
  -        'name' => 'thedir',
  -        'type' => 'apr_dir_t *'
  +        'type' => 'request_rec *',
  +        'name' => 'r'
         }
  -    ],
  -    'name' => 'apr_dir_close'
  +    ]
     },
     {
  -    'return_type' => 'apr_status_t',
  +    'return_type' => 'const char *',
  +    'name' => 'ap_document_root',
       'args' => [
  -      {
  -        'name' => 'finfo',
  -        'type' => 'apr_finfo_t *'
  -      },
  -      {
  -        'name' => 'wanted',
  -        'type' => 'apr_int32_t'
  -      },
         {
  -        'name' => 'thedir',
  -        'type' => 'apr_dir_t *'
  +        'type' => 'request_rec *',
  +        'name' => 'r'
         }
  -    ],
  -    'name' => 'apr_dir_read'
  +    ]
     },
     {
  -    'return_type' => 'apr_status_t',
  +    'return_type' => 'void',
  +    'name' => 'ap_error_log2stderr',
       'args' => [
         {
  -        'name' => 'thedir',
  -        'type' => 'apr_dir_t *'
  +        'type' => 'server_rec *',
  +        'name' => 's'
         }
  -    ],
  -    'name' => 'apr_dir_rewind'
  +    ]
     },
     {
  -    'return_type' => 'apr_status_t',
  +    'return_type' => 'char *',
  +    'name' => 'ap_escape_html',
       'args' => [
         {
  -        'name' => 'rootpath',
  -        'type' => 'const char **'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'p'
         },
  +      {
  +        'type' => 'const char *',
  +        'name' => 's'
  +      }
  +    ]
  +  },
  +  {
  +    'return_type' => 'char *',
  +    'name' => 'ap_escape_path_segment',
  +    'args' => [
         {
  -        'name' => 'filepath',
  -        'type' => 'const char **'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'p'
         },
         {
  -        'name' => 'p',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'const char *',
  +        'name' => 's'
         }
  -    ],
  -    'name' => 'apr_filepath_root'
  +    ]
     },
     {
  -    'return_type' => 'apr_status_t',
  +    'return_type' => 'char *',
  +    'name' => 'ap_escape_quotes',
       'args' => [
         {
  -        'name' => 'newpath',
  -        'type' => 'char **'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'p'
         },
         {
  -        'name' => 'rootpath',
  -        'type' => 'const char *'
  -      },
  +        'type' => 'const char *',
  +        'name' => 'instring'
  +      }
  +    ]
  +  },
  +  {
  +    'return_type' => 'char *',
  +    'name' => 'ap_escape_shell_cmd',
  +    'args' => [
         {
  -        'name' => 'addpath',
  -        'type' => 'const char *'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'p'
         },
         {
  -        'name' => 'flags',
  -        'type' => 'apr_int32_t'
  -      },
  +        'type' => 'const char *',
  +        'name' => 's'
  +      }
  +    ]
  +  },
  +  {
  +    'return_type' => 'int',
  +    'name' => 'ap_exists_config_define',
  +    'args' => [
         {
  -        'name' => 'p',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'const char *',
  +        'name' => 'name'
         }
  -    ],
  -    'name' => 'apr_filepath_merge'
  +    ]
  +  },
  +  {
  +    'return_type' => 'int',
  +    'name' => 'ap_exists_scoreboard_image',
  +    'args' => []
     },
     {
       'return_type' => 'apr_status_t',
  +    'name' => 'ap_fflush',
       'args' => [
         {
  -        'name' => 'path',
  -        'type' => 'char **'
  +        'type' => 'ap_filter_t *',
  +        'name' => 'f'
         },
         {
  -        'name' => 'p',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'apr_bucket_brigade *',
  +        'name' => 'bb'
         }
  -    ],
  -    'name' => 'apr_filepath_get'
  +    ]
     },
     {
  -    'return_type' => 'apr_status_t',
  +    'return_type' => 'char *',
  +    'name' => 'ap_field_noparam',
       'args' => [
         {
  -        'name' => 'path',
  -        'type' => 'const char *'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'p'
         },
         {
  -        'name' => 'p',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'const char *',
  +        'name' => 'intype'
         }
  -    ],
  -    'name' => 'apr_filepath_set'
  +    ]
     },
     {
       'return_type' => 'apr_status_t',
  +    'name' => 'ap_filter_flush',
       'args' => [
  -      {
  -        'name' => 'new_file',
  -        'type' => 'apr_file_t **'
  -      },
  -      {
  -        'name' => 'fname',
  -        'type' => 'const char *'
  -      },
         {
  -        'name' => 'flag',
  -        'type' => 'apr_int32_t'
  +        'type' => 'apr_bucket_brigade *',
  +        'name' => 'bb'
         },
         {
  -        'name' => 'perm',
  -        'type' => 'apr_fileperms_t'
  -      },
  -      {
  -        'name' => 'cont',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'void *',
  +        'name' => 'ctx'
         }
  -    ],
  -    'name' => 'apr_file_open'
  +    ]
     },
     {
  -    'return_type' => 'apr_status_t',
  +    'return_type' => 'void',
  +    'name' => 'ap_finalize_request_protocol',
       'args' => [
         {
  -        'name' => 'file',
  -        'type' => 'apr_file_t *'
  +        'type' => 'request_rec *',
  +        'name' => 'r'
         }
  -    ],
  -    'name' => 'apr_file_close'
  +    ]
     },
     {
  -    'return_type' => 'apr_status_t',
  +    'return_type' => 'void',
  +    'name' => 'ap_finalize_sub_req_protocol',
       'args' => [
  -      {
  -        'name' => 'path',
  -        'type' => 'const char *'
  -      },
         {
  -        'name' => 'cont',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'request_rec *',
  +        'name' => 'sub_r'
         }
  -    ],
  -    'name' => 'apr_file_remove'
  +    ]
     },
     {
  -    'return_type' => 'apr_status_t',
  +    'return_type' => 'int',
  +    'name' => 'ap_find_last_token',
       'args' => [
         {
  -        'name' => 'from_path',
  -        'type' => 'const char *'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'p'
         },
         {
  -        'name' => 'to_path',
  -        'type' => 'const char *'
  +        'type' => 'const char *',
  +        'name' => 'line'
         },
         {
  -        'name' => 'pool',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'const char *',
  +        'name' => 'tok'
         }
  -    ],
  -    'name' => 'apr_file_rename'
  +    ]
     },
     {
  -    'return_type' => 'apr_status_t',
  +    'return_type' => 'module *',
  +    'name' => 'ap_find_linked_module',
       'args' => [
         {
  -        'name' => 'fptr',
  -        'type' => 'apr_file_t *'
  +        'type' => 'const char *',
  +        'name' => 'name'
         }
  -    ],
  -    'name' => 'apr_file_eof'
  +    ]
     },
     {
  -    'return_type' => 'apr_status_t',
  +    'return_type' => 'int',
  +    'name' => 'ap_find_list_item',
       'args' => [
  +      {
  +        'type' => 'apr_pool_t *',
  +        'name' => 'p'
  +      },
         {
  -        'name' => 'thefile',
  -        'type' => 'apr_file_t **'
  +        'type' => 'const char *',
  +        'name' => 'line'
         },
         {
  -        'name' => 'cont',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'const char *',
  +        'name' => 'tok'
         }
  -    ],
  -    'name' => 'apr_file_open_stderr'
  +    ]
     },
     {
  -    'return_type' => 'apr_status_t',
  +    'return_type' => 'const char *',
  +    'name' => 'ap_find_module_name',
       'args' => [
  -      {
  -        'name' => 'thefile',
  -        'type' => 'apr_file_t **'
  -      },
         {
  -        'name' => 'cont',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'module *',
  +        'name' => 'm'
         }
  -    ],
  -    'name' => 'apr_file_open_stdout'
  +    ]
     },
     {
  -    'return_type' => 'apr_status_t',
  +    'return_type' => 'int',
  +    'name' => 'ap_find_path_info',
       'args' => [
         {
  -        'name' => 'thefile',
  -        'type' => 'apr_file_t **'
  +        'type' => 'const char *',
  +        'name' => 'uri'
         },
         {
  -        'name' => 'cont',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'const char *',
  +        'name' => 'path_info'
         }
  -    ],
  -    'name' => 'apr_file_open_stdin'
  +    ]
     },
     {
  -    'return_type' => 'apr_status_t',
  +    'return_type' => 'int',
  +    'name' => 'ap_find_token',
       'args' => [
         {
  -        'name' => 'thefile',
  -        'type' => 'apr_file_t *'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'p'
         },
         {
  -        'name' => 'buf',
  -        'type' => 'void *'
  +        'type' => 'const char *',
  +        'name' => 'line'
         },
         {
  -        'name' => 'nbytes',
  -        'type' => 'apr_size_t *'
  +        'type' => 'const char *',
  +        'name' => 'tok'
         }
  -    ],
  -    'name' => 'apr_file_read'
  +    ]
     },
     {
  -    'return_type' => 'apr_status_t',
  +    'return_type' => 'void',
  +    'name' => 'ap_fini_vhost_config',
       'args' => [
  -      {
  -        'name' => 'thefile',
  -        'type' => 'apr_file_t *'
  -      },
         {
  -        'name' => 'buf',
  -        'type' => 'const void *'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'p'
         },
         {
  -        'name' => 'nbytes',
  -        'type' => 'apr_size_t *'
  +        'type' => 'server_rec *',
  +        'name' => 'main_server'
         }
  -    ],
  -    'name' => 'apr_file_write'
  +    ]
     },
     {
  -    'return_type' => 'apr_status_t',
  +    'return_type' => 'void',
  +    'name' => 'ap_fixup_virtual_hosts',
       'args' => [
  -      {
  -        'name' => 'thefile',
  -        'type' => 'apr_file_t *'
  -      },
         {
  -        'name' => 'vec',
  -        'type' => 'const struct iovec *'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'p'
         },
         {
  -        'name' => 'nvec',
  -        'type' => 'apr_size_t'
  -      },
  -      {
  -        'name' => 'nbytes',
  -        'type' => 'apr_size_t *'
  +        'type' => 'server_rec *',
  +        'name' => 'main_server'
         }
  -    ],
  -    'name' => 'apr_file_writev'
  +    ]
     },
     {
       'return_type' => 'apr_status_t',
  +    'name' => 'ap_fprintf',
       'args' => [
         {
  -        'name' => 'thefile',
  -        'type' => 'apr_file_t *'
  +        'type' => 'ap_filter_t *',
  +        'name' => 'f'
         },
         {
  -        'name' => 'buf',
  -        'type' => 'void *'
  +        'type' => 'apr_bucket_brigade *',
  +        'name' => 'bb'
         },
         {
  -        'name' => 'nbytes',
  -        'type' => 'apr_size_t'
  +        'type' => 'const char *',
  +        'name' => 'fmt'
         },
         {
  -        'name' => 'bytes_read',
  -        'type' => 'apr_size_t *'
  +        'type' => '...',
  +        'name' => 'arg3'
         }
  -    ],
  -    'name' => 'apr_file_read_full'
  +    ]
     },
     {
       'return_type' => 'apr_status_t',
  +    'name' => 'ap_fputstrs',
       'args' => [
  -      {
  -        'name' => 'thefile',
  -        'type' => 'apr_file_t *'
  -      },
         {
  -        'name' => 'buf',
  -        'type' => 'const void *'
  +        'type' => 'ap_filter_t *',
  +        'name' => 'f'
         },
         {
  -        'name' => 'nbytes',
  -        'type' => 'apr_size_t'
  +        'type' => 'apr_bucket_brigade *',
  +        'name' => 'bb'
         },
         {
  -        'name' => 'bytes_written',
  -        'type' => 'apr_size_t *'
  +        'type' => '...',
  +        'name' => 'arg2'
         }
  -    ],
  -    'name' => 'apr_file_write_full'
  +    ]
     },
     {
  -    'return_type' => 'apr_status_t',
  +    'return_type' => 'int',
  +    'name' => 'ap_get_basic_auth_pw',
       'args' => [
         {
  -        'name' => 'ch',
  -        'type' => 'char'
  +        'type' => 'request_rec *',
  +        'name' => 'r'
         },
         {
  -        'name' => 'thefile',
  -        'type' => 'apr_file_t *'
  +        'type' => 'const char **',
  +        'name' => 'pw'
         }
  -    ],
  -    'name' => 'apr_file_putc'
  +    ]
     },
     {
       'return_type' => 'apr_status_t',
  +    'name' => 'ap_get_brigade',
       'args' => [
         {
  -        'name' => 'ch',
  -        'type' => 'char *'
  +        'type' => 'ap_filter_t *',
  +        'name' => 'filter'
         },
         {
  -        'name' => 'thefile',
  -        'type' => 'apr_file_t *'
  -      }
  -    ],
  -    'name' => 'apr_file_getc'
  -  },
  -  {
  -    'return_type' => 'apr_status_t',
  -    'args' => [
  +        'type' => 'apr_bucket_brigade *',
  +        'name' => 'bucket'
  +      },
         {
  -        'name' => 'ch',
  -        'type' => 'char'
  +        'type' => 'ap_input_mode_t',
  +        'name' => 'mode'
         },
         {
  -        'name' => 'thefile',
  -        'type' => 'apr_file_t *'
  +        'type' => 'apr_size_t *',
  +        'name' => 'readbytes'
         }
  -    ],
  -    'name' => 'apr_file_ungetc'
  +    ]
     },
     {
  -    'return_type' => 'apr_status_t',
  +    'return_type' => 'long',
  +    'name' => 'ap_get_client_block',
       'args' => [
         {
  -        'name' => 'str',
  -        'type' => 'char *'
  +        'type' => 'request_rec *',
  +        'name' => 'r'
         },
         {
  -        'name' => 'len',
  -        'type' => 'int'
  +        'type' => 'char *',
  +        'name' => 'buffer'
         },
         {
  -        'name' => 'thefile',
  -        'type' => 'apr_file_t *'
  +        'type' => 'int',
  +        'name' => 'bufsiz'
         }
  -    ],
  -    'name' => 'apr_file_gets'
  +    ]
     },
     {
  -    'return_type' => 'apr_status_t',
  +    'return_type' => 'unsigned long',
  +    'name' => 'ap_get_limit_req_body',
       'args' => [
         {
  -        'name' => 'str',
  -        'type' => 'const char *'
  -      },
  -      {
  -        'name' => 'thefile',
  -        'type' => 'apr_file_t *'
  +        'type' => 'const request_rec *',
  +        'name' => 'r'
         }
  -    ],
  -    'name' => 'apr_file_puts'
  +    ]
     },
     {
  -    'return_type' => 'apr_status_t',
  +    'return_type' => 'size_t',
  +    'name' => 'ap_get_limit_xml_body',
       'args' => [
         {
  -        'name' => 'thefile',
  -        'type' => 'apr_file_t *'
  +        'type' => 'const request_rec *',
  +        'name' => 'r'
         }
  -    ],
  -    'name' => 'apr_file_flush'
  +    ]
     },
     {
  -    'return_type' => 'apr_status_t',
  +    'return_type' => 'char *',
  +    'name' => 'ap_get_list_item',
       'args' => [
  -      {
  -        'name' => 'new_file',
  -        'type' => 'apr_file_t **'
  -      },
         {
  -        'name' => 'old_file',
  -        'type' => 'apr_file_t *'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'p'
         },
         {
  -        'name' => 'p',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'const char **',
  +        'name' => 'field'
         }
  -    ],
  -    'name' => 'apr_file_dup'
  +    ]
     },
     {
  -    'return_type' => 'apr_status_t',
  +    'return_type' => 'char *',
  +    'name' => 'ap_get_local_host',
       'args' => [
  -      {
  -        'name' => 'thefile',
  -        'type' => 'apr_file_t *'
  -      },
         {
  -        'name' => 'where',
  -        'type' => 'apr_seek_where_t'
  -      },
  -      {
  -        'name' => 'offset',
  -        'type' => 'apr_off_t *'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'p'
         }
  -    ],
  -    'name' => 'apr_file_seek'
  +    ]
     },
     {
  -    'return_type' => 'apr_status_t',
  +    'return_type' => 'const char *',
  +    'name' => 'ap_get_remote_host',
       'args' => [
         {
  -        'name' => 'in',
  -        'type' => 'apr_file_t **'
  +        'type' => 'conn_rec *',
  +        'name' => 'conn'
         },
         {
  -        'name' => 'out',
  -        'type' => 'apr_file_t **'
  +        'type' => 'void *',
  +        'name' => 'dir_config'
         },
  -      {
  -        'name' => 'cont',
  -        'type' => 'apr_pool_t *'
  -      }
  -    ],
  -    'name' => 'apr_file_pipe_create'
  -  },
  -  {
  -    'return_type' => 'apr_status_t',
  -    'args' => [
         {
  -        'name' => 'filename',
  -        'type' => 'const char *'
  +        'type' => 'int',
  +        'name' => 'type'
         },
         {
  -        'name' => 'perm',
  -        'type' => 'apr_fileperms_t'
  -      },
  -      {
  -        'name' => 'cont',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'int *',
  +        'name' => 'str_is_ip'
         }
  -    ],
  -    'name' => 'apr_file_namedpipe_create'
  +    ]
     },
     {
  -    'return_type' => 'apr_status_t',
  +    'return_type' => 'const char *',
  +    'name' => 'ap_get_remote_logname',
       'args' => [
         {
  -        'name' => 'thepipe',
  -        'type' => 'apr_file_t *'
  -      },
  -      {
  -        'name' => 'timeout',
  -        'type' => 'apr_interval_time_t *'
  +        'type' => 'request_rec *',
  +        'name' => 'r'
         }
  -    ],
  -    'name' => 'apr_file_pipe_timeout_get'
  +    ]
     },
     {
  -    'return_type' => 'apr_status_t',
  -    'args' => [
  -      {
  -        'name' => 'thepipe',
  -        'type' => 'apr_file_t *'
  -      },
  -      {
  -        'name' => 'timeout',
  -        'type' => 'apr_interval_time_t'
  -      }
  -    ],
  -    'name' => 'apr_file_pipe_timeout_set'
  +    'return_type' => 'const char *',
  +    'name' => 'ap_get_server_built',
  +    'args' => []
     },
     {
  -    'return_type' => 'apr_status_t',
  +    'return_type' => 'const char *',
  +    'name' => 'ap_get_server_name',
       'args' => [
         {
  -        'name' => 'thefile',
  -        'type' => 'apr_file_t *'
  -      },
  -      {
  -        'name' => 'type',
  -        'type' => 'int'
  +        'type' => 'request_rec *',
  +        'name' => 'r'
         }
  -    ],
  -    'name' => 'apr_file_lock'
  +    ]
     },
     {
  -    'return_type' => 'apr_status_t',
  +    'return_type' => 'apr_port_t',
  +    'name' => 'ap_get_server_port',
       'args' => [
         {
  -        'name' => 'thefile',
  -        'type' => 'apr_file_t *'
  +        'type' => 'const request_rec *',
  +        'name' => 'r'
         }
  -    ],
  -    'name' => 'apr_file_unlock'
  +    ]
     },
     {
  -    'return_type' => 'apr_status_t',
  +    'return_type' => 'const char *',
  +    'name' => 'ap_get_server_version',
  +    'args' => []
  +  },
  +  {
  +    'return_type' => 'const char *',
  +    'name' => 'ap_get_status_line',
       'args' => [
  -      {
  -        'name' => 'new_path',
  -        'type' => 'const char **'
  -      },
         {
  -        'name' => 'thefile',
  -        'type' => 'apr_file_t *'
  +        'type' => 'int',
  +        'name' => 'status'
         }
  -    ],
  -    'name' => 'apr_file_name_get'
  +    ]
     },
     {
  -    'return_type' => 'apr_status_t',
  +    'return_type' => 'char *',
  +    'name' => 'ap_get_token',
       'args' => [
         {
  -        'name' => 'data',
  -        'type' => 'void **'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'p'
         },
         {
  -        'name' => 'key',
  -        'type' => 'const char *'
  +        'type' => 'const char **',
  +        'name' => 'accept_line'
         },
         {
  -        'name' => 'file',
  -        'type' => 'apr_file_t *'
  +        'type' => 'int',
  +        'name' => 'accept_white'
         }
  -    ],
  -    'name' => 'apr_file_data_get'
  +    ]
     },
     {
  -    'return_type' => 'apr_status_t',
  +    'return_type' => 'int',
  +    'name' => 'ap_getline',
       'args' => [
         {
  -        'name' => 'file',
  -        'type' => 'apr_file_t *'
  +        'type' => 'char *',
  +        'name' => 's'
         },
         {
  -        'name' => 'data',
  -        'type' => 'void *'
  +        'type' => 'int',
  +        'name' => 'n'
         },
         {
  -        'name' => 'key',
  -        'type' => 'const char *'
  +        'type' => 'request_rec *',
  +        'name' => 'r'
         },
         {
  -        'name' => 'arg3',
  -        'type' => 'apr_status_t (*cleanup)(void *)'
  +        'type' => 'int',
  +        'name' => 'fold'
         }
  -    ],
  -    'name' => 'apr_file_data_set'
  +    ]
     },
     {
  -    'return_type' => 'int',
  +    'return_type' => 'void',
  +    'name' => 'ap_getparents',
       'args' => [
  -      {
  -        'name' => 'fptr',
  -        'type' => 'apr_file_t *'
  -      },
         {
  -        'name' => 'format',
  -        'type' => 'const char *'
  -      },
  -      {
  -        'name' => 'arg2',
  -        'type' => '...'
  +        'type' => 'char *',
  +        'name' => 'name'
         }
  -    ],
  -    'name' => 'apr_file_printf'
  +    ]
     },
     {
  -    'return_type' => 'apr_status_t',
  +    'return_type' => 'char *',
  +    'name' => 'ap_getword',
       'args' => [
  +      {
  +        'type' => 'apr_pool_t *',
  +        'name' => 'p'
  +      },
         {
  -        'name' => 'fname',
  -        'type' => 'const char *'
  +        'type' => 'const char **',
  +        'name' => 'line'
         },
         {
  -        'name' => 'perms',
  -        'type' => 'apr_fileperms_t'
  +        'type' => 'char',
  +        'name' => 'stop'
         }
  -    ],
  -    'name' => 'apr_file_perms_set'
  +    ]
     },
     {
  -    'return_type' => 'apr_status_t',
  +    'return_type' => 'char *',
  +    'name' => 'ap_getword_conf',
       'args' => [
  -      {
  -        'name' => 'path',
  -        'type' => 'const char *'
  -      },
         {
  -        'name' => 'perm',
  -        'type' => 'apr_fileperms_t'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'p'
         },
         {
  -        'name' => 'cont',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'const char **',
  +        'name' => 'line'
         }
  -    ],
  -    'name' => 'apr_dir_make'
  +    ]
     },
     {
  -    'return_type' => 'apr_status_t',
  +    'return_type' => 'char *',
  +    'name' => 'ap_getword_conf_nc',
       'args' => [
         {
  -        'name' => 'path',
  -        'type' => 'const char *'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'p'
         },
         {
  -        'name' => 'cont',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'char **',
  +        'name' => 'line'
         }
  -    ],
  -    'name' => 'apr_dir_remove'
  +    ]
     },
     {
  -    'return_type' => 'apr_status_t',
  +    'return_type' => 'char *',
  +    'name' => 'ap_getword_nc',
       'args' => [
         {
  -        'name' => 'finfo',
  -        'type' => 'apr_finfo_t *'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'p'
         },
         {
  -        'name' => 'wanted',
  -        'type' => 'apr_int32_t'
  +        'type' => 'char **',
  +        'name' => 'line'
         },
         {
  -        'name' => 'thefile',
  -        'type' => 'apr_file_t *'
  +        'type' => 'char',
  +        'name' => 'stop'
         }
  -    ],
  -    'name' => 'apr_file_info_get'
  +    ]
     },
     {
  -    'return_type' => 'apr_status_t',
  +    'return_type' => 'char *',
  +    'name' => 'ap_getword_nulls',
       'args' => [
         {
  -        'name' => 'fp',
  -        'type' => 'apr_file_t *'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'p'
         },
         {
  -        'name' => 'offset',
  -        'type' => 'apr_off_t'
  -      }
  -    ],
  -    'name' => 'apr_file_trunc'
  -  },
  -  {
  -    'return_type' => 'apr_pool_t *',
  -    'args' => [
  +        'type' => 'const char **',
  +        'name' => 'line'
  +      },
         {
  -        'name' => 'ob',
  -        'type' => 'apr_file_t *'
  +        'type' => 'char',
  +        'name' => 'stop'
         }
  -    ],
  -    'name' => 'apr_file_pool_get'
  +    ]
     },
     {
  -    'return_type' => 'apr_status_t',
  +    'return_type' => 'char *',
  +    'name' => 'ap_getword_nulls_nc',
       'args' => [
         {
  -        'name' => 'pattern',
  -        'type' => 'const char *'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'p'
         },
         {
  -        'name' => 'strings',
  -        'type' => 'const char *'
  +        'type' => 'char **',
  +        'name' => 'line'
         },
         {
  -        'name' => 'flags',
  -        'type' => 'int'
  +        'type' => 'char',
  +        'name' => 'stop'
         }
  -    ],
  -    'name' => 'apr_fnmatch'
  +    ]
     },
     {
  -    'return_type' => 'int',
  +    'return_type' => 'char *',
  +    'name' => 'ap_getword_white',
       'args' => [
         {
  -        'name' => 'pattern',
  -        'type' => 'const char *'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'p'
  +      },
  +      {
  +        'type' => 'const char **',
  +        'name' => 'line'
         }
  -    ],
  -    'name' => 'apr_is_fnmatch'
  +    ]
     },
     {
  -    'return_type' => 'apr_status_t',
  +    'return_type' => 'char *',
  +    'name' => 'ap_getword_white_nc',
       'args' => [
         {
  -        'name' => 'buf',
  -        'type' => 'unsigned char *'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'p'
         },
         {
  -        'name' => 'length',
  -        'type' => 'int'
  +        'type' => 'char **',
  +        'name' => 'line'
         }
  -    ],
  -    'name' => 'apr_generate_random_bytes'
  +    ]
     },
     {
  -    'return_type' => 'apr_status_t',
  -    'args' => [],
  -    'name' => 'apr_initialize'
  +    'return_type' => 'gid_t',
  +    'name' => 'ap_gname2id',
  +    'args' => [
  +      {
  +        'type' => 'const char *',
  +        'name' => 'name'
  +      }
  +    ]
     },
     {
  -    'return_type' => 'void',
  -    'args' => [],
  -    'name' => 'apr_terminate'
  +    'return_type' => 'int',
  +    'name' => 'ap_graceful_stop_signalled',
  +    'args' => []
     },
     {
       'return_type' => 'void',
  -    'args' => [],
  -    'name' => 'apr_terminate2'
  -  },
  -  {
  -    'return_type' => 'apr_status_t',
  +    'name' => 'ap_hook_access_checker',
       'args' => [
         {
  -        'name' => 'os',
  -        'type' => 'apr_getopt_t **'
  +        'type' => 'ap_HOOK_access_checker_t *',
  +        'name' => 'pf'
         },
         {
  -        'name' => 'cont',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'const char * const *',
  +        'name' => 'aszPre'
         },
         {
  -        'name' => 'argc',
  -        'type' => 'int'
  +        'type' => 'const char * const *',
  +        'name' => 'aszSucc'
         },
         {
  -        'name' => 'argv',
  -        'type' => 'const char * const *'
  +        'type' => 'int',
  +        'name' => 'nOrder'
         }
  -    ],
  -    'name' => 'apr_getopt_init'
  +    ]
     },
     {
  -    'return_type' => 'apr_status_t',
  +    'return_type' => 'void',
  +    'name' => 'ap_hook_auth_checker',
       'args' => [
         {
  -        'name' => 'os',
  -        'type' => 'apr_getopt_t *'
  +        'type' => 'ap_HOOK_auth_checker_t *',
  +        'name' => 'pf'
         },
         {
  -        'name' => 'opts',
  -        'type' => 'const char *'
  +        'type' => 'const char * const *',
  +        'name' => 'aszPre'
         },
         {
  -        'name' => 'option_ch',
  -        'type' => 'char *'
  +        'type' => 'const char * const *',
  +        'name' => 'aszSucc'
         },
         {
  -        'name' => 'option_arg',
  -        'type' => 'const char **'
  +        'type' => 'int',
  +        'name' => 'nOrder'
         }
  -    ],
  -    'name' => 'apr_getopt'
  +    ]
     },
     {
  -    'return_type' => 'apr_status_t',
  +    'return_type' => 'void',
  +    'name' => 'ap_hook_check_user_id',
       'args' => [
         {
  -        'name' => 'os',
  -        'type' => 'apr_getopt_t *'
  +        'type' => 'ap_HOOK_check_user_id_t *',
  +        'name' => 'pf'
         },
         {
  -        'name' => 'opts',
  -        'type' => 'const apr_getopt_option_t *'
  +        'type' => 'const char * const *',
  +        'name' => 'aszPre'
         },
         {
  -        'name' => 'option_ch',
  -        'type' => 'int *'
  +        'type' => 'const char * const *',
  +        'name' => 'aszSucc'
         },
         {
  -        'name' => 'option_arg',
  -        'type' => 'const char **'
  +        'type' => 'int',
  +        'name' => 'nOrder'
         }
  -    ],
  -    'name' => 'apr_getopt_long'
  +    ]
     },
     {
  -    'return_type' => 'apr_hash_t *',
  +    'return_type' => 'void',
  +    'name' => 'ap_hook_child_init',
       'args' => [
  +      {
  +        'type' => 'ap_HOOK_child_init_t *',
  +        'name' => 'pf'
  +      },
         {
  -        'name' => 'pool',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'const char * const *',
  +        'name' => 'aszPre'
  +      },
  +      {
  +        'type' => 'const char * const *',
  +        'name' => 'aszSucc'
  +      },
  +      {
  +        'type' => 'int',
  +        'name' => 'nOrder'
         }
  -    ],
  -    'name' => 'apr_hash_make'
  +    ]
     },
     {
       'return_type' => 'void',
  +    'name' => 'ap_hook_create_request',
       'args' => [
         {
  -        'name' => 'ht',
  -        'type' => 'apr_hash_t *'
  +        'type' => 'ap_HOOK_create_request_t *',
  +        'name' => 'pf'
         },
         {
  -        'name' => 'key',
  -        'type' => 'const void *'
  +        'type' => 'const char * const *',
  +        'name' => 'aszPre'
         },
         {
  -        'name' => 'klen',
  -        'type' => 'apr_ssize_t'
  +        'type' => 'const char * const *',
  +        'name' => 'aszSucc'
         },
         {
  -        'name' => 'val',
  -        'type' => 'const void *'
  +        'type' => 'int',
  +        'name' => 'nOrder'
         }
  -    ],
  -    'name' => 'apr_hash_set'
  +    ]
     },
     {
  -    'return_type' => 'void *',
  +    'return_type' => 'void',
  +    'name' => 'ap_hook_default_port',
       'args' => [
         {
  -        'name' => 'ht',
  -        'type' => 'apr_hash_t *'
  +        'type' => 'ap_HOOK_default_port_t *',
  +        'name' => 'pf'
         },
         {
  -        'name' => 'key',
  -        'type' => 'const void *'
  +        'type' => 'const char * const *',
  +        'name' => 'aszPre'
         },
         {
  -        'name' => 'klen',
  -        'type' => 'apr_ssize_t'
  -      }
  -    ],
  -    'name' => 'apr_hash_get'
  -  },
  -  {
  -    'return_type' => 'apr_hash_index_t *',
  -    'args' => [
  +        'type' => 'const char * const *',
  +        'name' => 'aszSucc'
  +      },
         {
  -        'name' => 'ht',
  -        'type' => 'apr_hash_t *'
  +        'type' => 'int',
  +        'name' => 'nOrder'
         }
  -    ],
  -    'name' => 'apr_hash_first'
  +    ]
     },
     {
  -    'return_type' => 'apr_hash_index_t *',
  +    'return_type' => 'void',
  +    'name' => 'ap_hook_error_log',
       'args' => [
         {
  -        'name' => 'hi',
  -        'type' => 'apr_hash_index_t *'
  +        'type' => 'ap_HOOK_error_log_t *',
  +        'name' => 'pf'
  +      },
  +      {
  +        'type' => 'const char * const *',
  +        'name' => 'aszPre'
  +      },
  +      {
  +        'type' => 'const char * const *',
  +        'name' => 'aszSucc'
  +      },
  +      {
  +        'type' => 'int',
  +        'name' => 'nOrder'
         }
  -    ],
  -    'name' => 'apr_hash_next'
  +    ]
     },
     {
       'return_type' => 'void',
  +    'name' => 'ap_hook_fixups',
       'args' => [
         {
  -        'name' => 'hi',
  -        'type' => 'apr_hash_index_t *'
  +        'type' => 'ap_HOOK_fixups_t *',
  +        'name' => 'pf'
         },
         {
  -        'name' => 'key',
  -        'type' => 'const void **'
  +        'type' => 'const char * const *',
  +        'name' => 'aszPre'
         },
         {
  -        'name' => 'klen',
  -        'type' => 'apr_ssize_t *'
  +        'type' => 'const char * const *',
  +        'name' => 'aszSucc'
         },
         {
  -        'name' => 'val',
  -        'type' => 'void **'
  +        'type' => 'int',
  +        'name' => 'nOrder'
         }
  -    ],
  -    'name' => 'apr_hash_this'
  +    ]
     },
     {
  -    'return_type' => 'int',
  -    'args' => [
  -      {
  -        'name' => 'ht',
  -        'type' => 'apr_hash_t *'
  -      }
  -    ],
  -    'name' => 'apr_hash_count'
  +    'return_type' => 'apr_array_header_t *',
  +    'name' => 'ap_hook_get_access_checker',
  +    'args' => []
     },
     {
  -    'return_type' => 'const char *',
  -    'args' => [
  -      {
  -        'name' => 'pathname',
  -        'type' => 'const char *'
  -      }
  -    ],
  -    'name' => 'apr_filename_of_pathname'
  +    'return_type' => 'apr_array_header_t *',
  +    'name' => 'ap_hook_get_auth_checker',
  +    'args' => []
     },
     {
  -    'return_type' => 'int',
  +    'return_type' => 'apr_array_header_t *',
  +    'name' => 'ap_hook_get_check_user_id',
  +    'args' => []
  +  },
  +  {
  +    'return_type' => 'apr_array_header_t *',
  +    'name' => 'ap_hook_get_child_init',
  +    'args' => []
  +  },
  +  {
  +    'return_type' => 'apr_array_header_t *',
  +    'name' => 'ap_hook_get_create_request',
  +    'args' => []
  +  },
  +  {
  +    'return_type' => 'apr_array_header_t *',
  +    'name' => 'ap_hook_get_default_port',
  +    'args' => []
  +  },
  +  {
  +    'return_type' => 'apr_array_header_t *',
  +    'name' => 'ap_hook_get_error_log',
  +    'args' => []
  +  },
  +  {
  +    'return_type' => 'apr_array_header_t *',
  +    'name' => 'ap_hook_get_fixups',
  +    'args' => []
  +  },
  +  {
  +    'return_type' => 'apr_array_header_t *',
  +    'name' => 'ap_hook_get_get_mgmt_items',
  +    'args' => []
  +  },
  +  {
  +    'return_type' => 'apr_array_header_t *',
  +    'name' => 'ap_hook_get_get_suexec_identity',
  +    'args' => []
  +  },
  +  {
  +    'return_type' => 'apr_array_header_t *',
  +    'name' => 'ap_hook_get_handler',
  +    'args' => []
  +  },
  +  {
  +    'return_type' => 'apr_array_header_t *',
  +    'name' => 'ap_hook_get_header_parser',
  +    'args' => []
  +  },
  +  {
  +    'return_type' => 'apr_array_header_t *',
  +    'name' => 'ap_hook_get_http_method',
  +    'args' => []
  +  },
  +  {
  +    'return_type' => 'apr_array_header_t *',
  +    'name' => 'ap_hook_get_insert_filter',
  +    'args' => []
  +  },
  +  {
  +    'return_type' => 'apr_array_header_t *',
  +    'name' => 'ap_hook_get_log_transaction',
  +    'args' => []
  +  },
  +  {
  +    'return_type' => 'void',
  +    'name' => 'ap_hook_get_mgmt_items',
       'args' => [
         {
  -        'name' => 'arg0',
  -        'type' => 'int (*flush_func)(apr_vformatter_buff_t *b)'
  +        'type' => 'ap_HOOK_get_mgmt_items_t *',
  +        'name' => 'pf'
         },
         {
  -        'name' => 'c',
  -        'type' => 'apr_vformatter_buff_t *'
  +        'type' => 'const char * const *',
  +        'name' => 'aszPre'
         },
         {
  -        'name' => 'fmt',
  -        'type' => 'const char *'
  +        'type' => 'const char * const *',
  +        'name' => 'aszSucc'
         },
         {
  -        'name' => 'ap',
  -        'type' => 'va_list'
  +        'type' => 'int',
  +        'name' => 'nOrder'
         }
  -    ],
  -    'name' => 'apr_vformatter'
  +    ]
     },
     {
  -    'return_type' => 'apr_status_t',
  +    'return_type' => 'apr_array_header_t *',
  +    'name' => 'ap_hook_get_open_logs',
  +    'args' => []
  +  },
  +  {
  +    'return_type' => 'apr_array_header_t *',
  +    'name' => 'ap_hook_get_optional_fn_retrieve',
  +    'args' => []
  +  },
  +  {
  +    'return_type' => 'apr_array_header_t *',
  +    'name' => 'ap_hook_get_post_config',
  +    'args' => []
  +  },
  +  {
  +    'return_type' => 'apr_array_header_t *',
  +    'name' => 'ap_hook_get_post_read_request',
  +    'args' => []
  +  },
  +  {
  +    'return_type' => 'apr_array_header_t *',
  +    'name' => 'ap_hook_get_pre_config',
  +    'args' => []
  +  },
  +  {
  +    'return_type' => 'apr_array_header_t *',
  +    'name' => 'ap_hook_get_pre_connection',
  +    'args' => []
  +  },
  +  {
  +    'return_type' => 'apr_array_header_t *',
  +    'name' => 'ap_hook_get_process_connection',
  +    'args' => []
  +  },
  +  {
  +    'return_type' => 'apr_array_header_t *',
  +    'name' => 'ap_hook_get_quick_handler',
  +    'args' => []
  +  },
  +  {
  +    'return_type' => 'void',
  +    'name' => 'ap_hook_get_suexec_identity',
       'args' => [
  +      {
  +        'type' => 'ap_HOOK_get_suexec_identity_t *',
  +        'name' => 'pf'
  +      },
         {
  -        'name' => 'passwd',
  -        'type' => 'const char *'
  +        'type' => 'const char * const *',
  +        'name' => 'aszPre'
         },
         {
  -        'name' => 'hash',
  -        'type' => 'const char *'
  +        'type' => 'const char * const *',
  +        'name' => 'aszSucc'
  +      },
  +      {
  +        'type' => 'int',
  +        'name' => 'nOrder'
         }
  -    ],
  -    'name' => 'apr_password_validate'
  +    ]
     },
     {
  -    'return_type' => 'apr_status_t',
  +    'return_type' => 'apr_array_header_t *',
  +    'name' => 'ap_hook_get_translate_name',
  +    'args' => []
  +  },
  +  {
  +    'return_type' => 'apr_array_header_t *',
  +    'name' => 'ap_hook_get_type_checker',
  +    'args' => []
  +  },
  +  {
  +    'return_type' => 'void',
  +    'name' => 'ap_hook_handler',
       'args' => [
         {
  -        'name' => 'prompt',
  -        'type' => 'const char *'
  +        'type' => 'ap_HOOK_handler_t *',
  +        'name' => 'pf'
         },
         {
  -        'name' => 'pwbuf',
  -        'type' => 'char *'
  +        'type' => 'const char * const *',
  +        'name' => 'aszPre'
         },
         {
  -        'name' => 'bufsize',
  -        'type' => 'size_t *'
  +        'type' => 'const char * const *',
  +        'name' => 'aszSucc'
  +      },
  +      {
  +        'type' => 'int',
  +        'name' => 'nOrder'
         }
  -    ],
  -    'name' => 'apr_password_get'
  +    ]
     },
     {
  -    'return_type' => 'apr_status_t',
  +    'return_type' => 'void',
  +    'name' => 'ap_hook_header_parser',
       'args' => [
         {
  -        'name' => 'lock',
  -        'type' => 'apr_lock_t **'
  +        'type' => 'ap_HOOK_header_parser_t *',
  +        'name' => 'pf'
         },
         {
  -        'name' => 'type',
  -        'type' => 'apr_locktype_e'
  +        'type' => 'const char * const *',
  +        'name' => 'aszPre'
         },
         {
  -        'name' => 'scope',
  -        'type' => 'apr_lockscope_e'
  +        'type' => 'const char * const *',
  +        'name' => 'aszSucc'
         },
         {
  -        'name' => 'fname',
  -        'type' => 'const char *'
  -      },
  -      {
  -        'name' => 'pool',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'int',
  +        'name' => 'nOrder'
         }
  -    ],
  -    'name' => 'apr_lock_create'
  +    ]
     },
     {
  -    'return_type' => 'apr_status_t',
  +    'return_type' => 'void',
  +    'name' => 'ap_hook_http_method',
       'args' => [
         {
  -        'name' => 'lock',
  -        'type' => 'apr_lock_t *'
  -      }
  -    ],
  -    'name' => 'apr_lock_acquire'
  -  },
  -  {
  -    'return_type' => 'apr_status_t',
  -    'args' => [
  +        'type' => 'ap_HOOK_http_method_t *',
  +        'name' => 'pf'
  +      },
         {
  -        'name' => 'lock',
  -        'type' => 'apr_lock_t *'
  +        'type' => 'const char * const *',
  +        'name' => 'aszPre'
         },
         {
  -        'name' => 'type',
  -        'type' => 'apr_readerwriter_e'
  -      }
  -    ],
  -    'name' => 'apr_lock_acquire_rw'
  -  },
  -  {
  -    'return_type' => 'apr_status_t',
  -    'args' => [
  +        'type' => 'const char * const *',
  +        'name' => 'aszSucc'
  +      },
         {
  -        'name' => 'lock',
  -        'type' => 'apr_lock_t *'
  +        'type' => 'int',
  +        'name' => 'nOrder'
         }
  -    ],
  -    'name' => 'apr_lock_release'
  +    ]
     },
     {
  -    'return_type' => 'apr_status_t',
  +    'return_type' => 'void',
  +    'name' => 'ap_hook_insert_filter',
       'args' => [
         {
  -        'name' => 'lock',
  -        'type' => 'apr_lock_t *'
  -      }
  -    ],
  -    'name' => 'apr_lock_destroy'
  -  },
  -  {
  -    'return_type' => 'apr_status_t',
  -    'args' => [
  +        'type' => 'ap_HOOK_insert_filter_t *',
  +        'name' => 'pf'
  +      },
         {
  -        'name' => 'lock',
  -        'type' => 'apr_lock_t **'
  +        'type' => 'const char * const *',
  +        'name' => 'aszPre'
         },
         {
  -        'name' => 'fname',
  -        'type' => 'const char *'
  +        'type' => 'const char * const *',
  +        'name' => 'aszSucc'
         },
         {
  -        'name' => 'pool',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'int',
  +        'name' => 'nOrder'
         }
  -    ],
  -    'name' => 'apr_lock_child_init'
  +    ]
     },
     {
  -    'return_type' => 'apr_status_t',
  +    'return_type' => 'void',
  +    'name' => 'ap_hook_log_transaction',
       'args' => [
         {
  -        'name' => 'lock',
  -        'type' => 'apr_lock_t *'
  +        'type' => 'ap_HOOK_log_transaction_t *',
  +        'name' => 'pf'
         },
         {
  -        'name' => 'key',
  -        'type' => 'const char *'
  +        'type' => 'const char * const *',
  +        'name' => 'aszPre'
         },
         {
  -        'name' => 'data',
  -        'type' => 'void *'
  +        'type' => 'const char * const *',
  +        'name' => 'aszSucc'
  +      },
  +      {
  +        'type' => 'int',
  +        'name' => 'nOrder'
         }
  -    ],
  -    'name' => 'apr_lock_data_get'
  +    ]
     },
     {
  -    'return_type' => 'apr_status_t',
  +    'return_type' => 'void',
  +    'name' => 'ap_hook_open_logs',
       'args' => [
         {
  -        'name' => 'lock',
  -        'type' => 'apr_lock_t *'
  +        'type' => 'ap_HOOK_open_logs_t *',
  +        'name' => 'pf'
         },
         {
  -        'name' => 'data',
  -        'type' => 'void *'
  +        'type' => 'const char * const *',
  +        'name' => 'aszPre'
         },
         {
  -        'name' => 'key',
  -        'type' => 'const char *'
  +        'type' => 'const char * const *',
  +        'name' => 'aszSucc'
         },
         {
  -        'name' => 'arg3',
  -        'type' => 'apr_status_t (*cleanup)(void *)'
  +        'type' => 'int',
  +        'name' => 'nOrder'
         }
  -    ],
  -    'name' => 'apr_lock_data_set'
  +    ]
     },
     {
  -    'return_type' => 'apr_status_t',
  +    'return_type' => 'void',
  +    'name' => 'ap_hook_optional_fn_retrieve',
       'args' => [
         {
  -        'name' => 'convset',
  -        'type' => 'apr_xlate_t **'
  +        'type' => 'ap_HOOK_optional_fn_retrieve_t *',
  +        'name' => 'pf'
         },
         {
  -        'name' => 'topage',
  -        'type' => 'const char *'
  +        'type' => 'const char * const *',
  +        'name' => 'aszPre'
         },
         {
  -        'name' => 'frompage',
  -        'type' => 'const char *'
  +        'type' => 'const char * const *',
  +        'name' => 'aszSucc'
         },
         {
  -        'name' => 'pool',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'int',
  +        'name' => 'nOrder'
         }
  -    ],
  -    'name' => 'apr_xlate_open'
  +    ]
     },
     {
  -    'return_type' => 'apr_status_t',
  +    'return_type' => 'void',
  +    'name' => 'ap_hook_post_config',
       'args' => [
  +      {
  +        'type' => 'ap_HOOK_post_config_t *',
  +        'name' => 'pf'
  +      },
  +      {
  +        'type' => 'const char * const *',
  +        'name' => 'aszPre'
  +      },
         {
  -        'name' => 'convset',
  -        'type' => 'apr_xlate_t *'
  +        'type' => 'const char * const *',
  +        'name' => 'aszSucc'
         },
         {
  -        'name' => 'onoff',
  -        'type' => 'int *'
  +        'type' => 'int',
  +        'name' => 'nOrder'
         }
  -    ],
  -    'name' => 'apr_xlate_get_sb'
  +    ]
     },
     {
  -    'return_type' => 'apr_status_t',
  +    'return_type' => 'void',
  +    'name' => 'ap_hook_post_read_request',
       'args' => [
         {
  -        'name' => 'convset',
  -        'type' => 'apr_xlate_t *'
  +        'type' => 'ap_HOOK_post_read_request_t *',
  +        'name' => 'pf'
         },
         {
  -        'name' => 'inbuf',
  -        'type' => 'const char *'
  +        'type' => 'const char * const *',
  +        'name' => 'aszPre'
         },
         {
  -        'name' => 'inbytes_left',
  -        'type' => 'apr_size_t *'
  +        'type' => 'const char * const *',
  +        'name' => 'aszSucc'
         },
         {
  -        'name' => 'outbuf',
  -        'type' => 'char *'
  -      },
  -      {
  -        'name' => 'outbytes_left',
  -        'type' => 'apr_size_t *'
  +        'type' => 'int',
  +        'name' => 'nOrder'
         }
  -    ],
  -    'name' => 'apr_xlate_conv_buffer'
  +    ]
     },
     {
  -    'return_type' => 'apr_int32_t',
  +    'return_type' => 'void',
  +    'name' => 'ap_hook_pre_config',
       'args' => [
         {
  -        'name' => 'convset',
  -        'type' => 'apr_xlate_t *'
  +        'type' => 'ap_HOOK_pre_config_t *',
  +        'name' => 'pf'
         },
         {
  -        'name' => 'inchar',
  -        'type' => 'unsigned char'
  -      }
  -    ],
  -    'name' => 'apr_xlate_conv_byte'
  -  },
  -  {
  -    'return_type' => 'apr_status_t',
  -    'args' => [
  +        'type' => 'const char * const *',
  +        'name' => 'aszPre'
  +      },
         {
  -        'name' => 'convset',
  -        'type' => 'apr_xlate_t *'
  -      }
  -    ],
  -    'name' => 'apr_xlate_close'
  -  },
  -  {
  -    'return_type' => 'apr_status_t',
  -    'args' => [
  +        'type' => 'const char * const *',
  +        'name' => 'aszSucc'
  +      },
         {
  -        'name' => 'context',
  -        'type' => 'apr_md5_ctx_t *'
  +        'type' => 'int',
  +        'name' => 'nOrder'
         }
  -    ],
  -    'name' => 'apr_md5_init'
  +    ]
     },
     {
  -    'return_type' => 'apr_status_t',
  +    'return_type' => 'void',
  +    'name' => 'ap_hook_pre_connection',
       'args' => [
  +      {
  +        'type' => 'ap_HOOK_pre_connection_t *',
  +        'name' => 'pf'
  +      },
         {
  -        'name' => 'context',
  -        'type' => 'apr_md5_ctx_t *'
  +        'type' => 'const char * const *',
  +        'name' => 'aszPre'
         },
         {
  -        'name' => 'xlate',
  -        'type' => 'apr_xlate_t *'
  +        'type' => 'const char * const *',
  +        'name' => 'aszSucc'
  +      },
  +      {
  +        'type' => 'int',
  +        'name' => 'nOrder'
         }
  -    ],
  -    'name' => 'apr_md5_set_xlate'
  +    ]
     },
     {
  -    'return_type' => 'apr_status_t',
  +    'return_type' => 'void',
  +    'name' => 'ap_hook_process_connection',
       'args' => [
  +      {
  +        'type' => 'ap_HOOK_process_connection_t *',
  +        'name' => 'pf'
  +      },
         {
  -        'name' => 'context',
  -        'type' => 'apr_md5_ctx_t *'
  +        'type' => 'const char * const *',
  +        'name' => 'aszPre'
         },
         {
  -        'name' => 'input',
  -        'type' => 'const unsigned char *'
  +        'type' => 'const char * const *',
  +        'name' => 'aszSucc'
         },
         {
  -        'name' => 'inputLen',
  -        'type' => 'apr_size_t'
  +        'type' => 'int',
  +        'name' => 'nOrder'
         }
  -    ],
  -    'name' => 'apr_md5_update'
  +    ]
     },
     {
  -    'return_type' => 'apr_status_t',
  +    'return_type' => 'void',
  +    'name' => 'ap_hook_quick_handler',
       'args' => [
  +      {
  +        'type' => 'ap_HOOK_quick_handler_t *',
  +        'name' => 'pf'
  +      },
         {
  -        'name' => 'digest',
  -        'type' => 'unsigned char'
  +        'type' => 'const char * const *',
  +        'name' => 'aszPre'
         },
         {
  -        'name' => 'context',
  -        'type' => 'apr_md5_ctx_t *'
  +        'type' => 'const char * const *',
  +        'name' => 'aszSucc'
  +      },
  +      {
  +        'type' => 'int',
  +        'name' => 'nOrder'
         }
  -    ],
  -    'name' => 'apr_md5_final'
  +    ]
     },
     {
  -    'return_type' => 'apr_status_t',
  +    'return_type' => 'void',
  +    'name' => 'ap_hook_translate_name',
       'args' => [
         {
  -        'name' => 'digest',
  -        'type' => 'unsigned char'
  +        'type' => 'ap_HOOK_translate_name_t *',
  +        'name' => 'pf'
         },
         {
  -        'name' => 'input',
  -        'type' => 'const unsigned char *'
  +        'type' => 'const char * const *',
  +        'name' => 'aszPre'
         },
         {
  -        'name' => 'inputLen',
  -        'type' => 'apr_size_t'
  +        'type' => 'const char * const *',
  +        'name' => 'aszSucc'
  +      },
  +      {
  +        'type' => 'int',
  +        'name' => 'nOrder'
         }
  -    ],
  -    'name' => 'apr_md5'
  +    ]
     },
     {
  -    'return_type' => 'apr_status_t',
  +    'return_type' => 'void',
  +    'name' => 'ap_hook_type_checker',
       'args' => [
         {
  -        'name' => 'password',
  -        'type' => 'const char *'
  +        'type' => 'ap_HOOK_type_checker_t *',
  +        'name' => 'pf'
         },
         {
  -        'name' => 'salt',
  -        'type' => 'const char *'
  +        'type' => 'const char * const *',
  +        'name' => 'aszPre'
         },
         {
  -        'name' => 'result',
  -        'type' => 'char *'
  +        'type' => 'const char * const *',
  +        'name' => 'aszSucc'
         },
         {
  -        'name' => 'nbytes',
  -        'type' => 'size_t'
  +        'type' => 'int',
  +        'name' => 'nOrder'
         }
  -    ],
  -    'name' => 'apr_md5_encode'
  +    ]
     },
     {
  -    'return_type' => 'apr_status_t',
  +    'return_type' => 'char *',
  +    'name' => 'ap_ht_time',
       'args' => [
  -      {
  -        'name' => 'newmmap',
  -        'type' => 'apr_mmap_t **'
  -      },
  -      {
  -        'name' => 'file',
  -        'type' => 'apr_file_t *'
  -      },
         {
  -        'name' => 'offset',
  -        'type' => 'apr_off_t'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'p'
         },
         {
  -        'name' => 'size',
  -        'type' => 'apr_size_t'
  +        'type' => 'apr_time_t',
  +        'name' => 't'
         },
         {
  -        'name' => 'flag',
  -        'type' => 'apr_int32_t'
  +        'type' => 'const char *',
  +        'name' => 'fmt'
         },
         {
  -        'name' => 'cntxt',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'int',
  +        'name' => 'gmt'
         }
  -    ],
  -    'name' => 'apr_mmap_create'
  +    ]
     },
     {
       'return_type' => 'apr_status_t',
  +    'name' => 'ap_http_header_filter',
       'args' => [
         {
  -        'name' => 'mmap',
  -        'type' => 'apr_mmap_t *'
  +        'type' => 'ap_filter_t *',
  +        'name' => 'f'
  +      },
  +      {
  +        'type' => 'apr_bucket_brigade *',
  +        'name' => 'b'
         }
  -    ],
  -    'name' => 'apr_mmap_delete'
  +    ]
     },
     {
  -    'return_type' => 'apr_status_t',
  +    'return_type' => 'void',
  +    'name' => 'ap_increment_counts',
       'args' => [
         {
  -        'name' => 'addr',
  -        'type' => 'void **'
  +        'type' => 'int',
  +        'name' => 'child_num'
         },
         {
  -        'name' => 'mmap',
  -        'type' => 'apr_mmap_t *'
  +        'type' => 'int',
  +        'name' => 'thread_num'
         },
         {
  -        'name' => 'offset',
  -        'type' => 'apr_off_t'
  +        'type' => 'request_rec *',
  +        'name' => 'r'
         }
  -    ],
  -    'name' => 'apr_mmap_offset'
  +    ]
     },
     {
  -    'return_type' => 'apr_status_t',
  +    'return_type' => 'int',
  +    'name' => 'ap_ind',
       'args' => [
  -      {
  -        'name' => 'new_sock',
  -        'type' => 'apr_socket_t **'
  -      },
         {
  -        'name' => 'family',
  -        'type' => 'int'
  +        'type' => 'const char *',
  +        'name' => 'str'
         },
         {
  -        'name' => 'type',
  -        'type' => 'int'
  -      },
  -      {
  -        'name' => 'cont',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'char',
  +        'name' => 'c'
         }
  -    ],
  -    'name' => 'apr_socket_create'
  +    ]
     },
     {
  -    'return_type' => 'apr_status_t',
  +    'return_type' => 'int',
  +    'name' => 'ap_index_of_response',
       'args' => [
         {
  -        'name' => 'thesocket',
  -        'type' => 'apr_socket_t *'
  -      },
  -      {
  -        'name' => 'how',
  -        'type' => 'apr_shutdown_how_e'
  +        'type' => 'int',
  +        'name' => 'status'
         }
  -    ],
  -    'name' => 'apr_shutdown'
  +    ]
     },
     {
  -    'return_type' => 'apr_status_t',
  +    'return_type' => 'void',
  +    'name' => 'ap_init_vhost_config',
       'args' => [
         {
  -        'name' => 'thesocket',
  -        'type' => 'apr_socket_t *'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'p'
         }
  -    ],
  -    'name' => 'apr_socket_close'
  +    ]
     },
     {
  -    'return_type' => 'apr_status_t',
  +    'return_type' => 'void',
  +    'name' => 'ap_internal_redirect',
       'args' => [
         {
  -        'name' => 'sock',
  -        'type' => 'apr_socket_t *'
  +        'type' => 'const char *',
  +        'name' => 'new_uri'
         },
         {
  -        'name' => 'sa',
  -        'type' => 'apr_sockaddr_t *'
  +        'type' => 'request_rec *',
  +        'name' => 'r'
         }
  -    ],
  -    'name' => 'apr_bind'
  +    ]
     },
     {
  -    'return_type' => 'apr_status_t',
  +    'return_type' => 'void',
  +    'name' => 'ap_internal_redirect_handler',
       'args' => [
         {
  -        'name' => 'sock',
  -        'type' => 'apr_socket_t *'
  +        'type' => 'const char *',
  +        'name' => 'new_uri'
         },
         {
  -        'name' => 'backlog',
  -        'type' => 'apr_int32_t'
  +        'type' => 'request_rec *',
  +        'name' => 'r'
         }
  -    ],
  -    'name' => 'apr_listen'
  +    ]
     },
     {
  -    'return_type' => 'apr_status_t',
  +    'return_type' => 'int',
  +    'name' => 'ap_is_directory',
       'args' => [
         {
  -        'name' => 'new_sock',
  -        'type' => 'apr_socket_t **'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'p'
         },
         {
  -        'name' => 'sock',
  -        'type' => 'apr_socket_t *'
  -      },
  -      {
  -        'name' => 'connection_pool',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'const char *',
  +        'name' => 'name'
         }
  -    ],
  -    'name' => 'apr_accept'
  +    ]
     },
     {
  -    'return_type' => 'apr_status_t',
  +    'return_type' => 'int',
  +    'name' => 'ap_is_initial_req',
       'args' => [
  -      {
  -        'name' => 'sock',
  -        'type' => 'apr_socket_t *'
  -      },
         {
  -        'name' => 'sa',
  -        'type' => 'apr_sockaddr_t *'
  +        'type' => 'request_rec *',
  +        'name' => 'r'
         }
  -    ],
  -    'name' => 'apr_connect'
  +    ]
     },
     {
  -    'return_type' => 'apr_status_t',
  +    'return_type' => 'int',
  +    'name' => 'ap_is_matchexp',
       'args' => [
  -      {
  -        'name' => 'sa',
  -        'type' => 'apr_sockaddr_t **'
  -      },
  -      {
  -        'name' => 'hostname',
  -        'type' => 'const char *'
  -      },
  -      {
  -        'name' => 'family',
  -        'type' => 'apr_int32_t'
  -      },
  -      {
  -        'name' => 'port',
  -        'type' => 'apr_port_t'
  -      },
         {
  -        'name' => 'flags',
  -        'type' => 'apr_int32_t'
  -      },
  -      {
  -        'name' => 'p',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'const char *',
  +        'name' => 'str'
         }
  -    ],
  -    'name' => 'apr_sockaddr_info_get'
  +    ]
     },
     {
  -    'return_type' => 'apr_status_t',
  +    'return_type' => 'int',
  +    'name' => 'ap_is_rdirectory',
       'args' => [
         {
  -        'name' => 'hostname',
  -        'type' => 'char **'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'p'
         },
         {
  -        'name' => 'sa',
  -        'type' => 'apr_sockaddr_t *'
  -      },
  -      {
  -        'name' => 'flags',
  -        'type' => 'apr_int32_t'
  +        'type' => 'const char *',
  +        'name' => 'name'
         }
  -    ],
  -    'name' => 'apr_getnameinfo'
  +    ]
     },
     {
  -    'return_type' => 'apr_status_t',
  +    'return_type' => 'int',
  +    'name' => 'ap_is_url',
       'args' => [
  -      {
  -        'name' => 'addr',
  -        'type' => 'char **'
  -      },
  -      {
  -        'name' => 'scope_id',
  -        'type' => 'char **'
  -      },
  -      {
  -        'name' => 'port',
  -        'type' => 'apr_port_t *'
  -      },
         {
  -        'name' => 'str',
  -        'type' => 'const char *'
  -      },
  -      {
  -        'name' => 'p',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'const char *',
  +        'name' => 'u'
         }
  -    ],
  -    'name' => 'apr_parse_addr_port'
  +    ]
     },
     {
  -    'return_type' => 'apr_status_t',
  +    'return_type' => 'void',
  +    'name' => 'ap_lingering_close',
       'args' => [
  -      {
  -        'name' => 'buf',
  -        'type' => 'char *'
  -      },
  -      {
  -        'name' => 'len',
  -        'type' => 'int'
  -      },
         {
  -        'name' => 'cont',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'conn_rec *',
  +        'name' => 'arg0'
         }
  -    ],
  -    'name' => 'apr_gethostname'
  +    ]
     },
     {
  -    'return_type' => 'apr_status_t',
  +    'return_type' => 'void',
  +    'name' => 'ap_log_assert',
       'args' => [
         {
  -        'name' => 'data',
  -        'type' => 'void **'
  +        'type' => 'const char *',
  +        'name' => 'szExp'
         },
         {
  -        'name' => 'key',
  -        'type' => 'const char *'
  +        'type' => 'const char *',
  +        'name' => 'szFile'
         },
         {
  -        'name' => 'sock',
  -        'type' => 'apr_socket_t *'
  +        'type' => 'int',
  +        'name' => 'nLine'
         }
  -    ],
  -    'name' => 'apr_socket_data_get'
  +    ]
     },
     {
  -    'return_type' => 'apr_status_t',
  +    'return_type' => 'void',
  +    'name' => 'ap_log_error',
       'args' => [
         {
  -        'name' => 'sock',
  -        'type' => 'apr_socket_t *'
  +        'type' => 'const char *',
  +        'name' => 'file'
         },
         {
  -        'name' => 'data',
  -        'type' => 'void *'
  +        'type' => 'int',
  +        'name' => 'line'
         },
         {
  -        'name' => 'key',
  -        'type' => 'const char *'
  +        'type' => 'int',
  +        'name' => 'level'
         },
         {
  -        'name' => 'arg3',
  -        'type' => 'apr_status_t (*cleanup)(void*)'
  -      }
  -    ],
  -    'name' => 'apr_socket_data_set'
  -  },
  -  {
  -    'return_type' => 'apr_status_t',
  -    'args' => [
  +        'type' => 'apr_status_t',
  +        'name' => 'status'
  +      },
         {
  -        'name' => 'sock',
  -        'type' => 'apr_socket_t *'
  +        'type' => 'const server_rec *',
  +        'name' => 's'
         },
         {
  -        'name' => 'buf',
  -        'type' => 'const char *'
  +        'type' => 'const char *',
  +        'name' => 'fmt'
         },
         {
  -        'name' => 'len',
  -        'type' => 'apr_size_t *'
  +        'type' => '...',
  +        'name' => 'arg6'
         }
  -    ],
  -    'name' => 'apr_send'
  +    ]
     },
     {
  -    'return_type' => 'apr_status_t',
  +    'return_type' => 'void',
  +    'name' => 'ap_log_perror',
       'args' => [
         {
  -        'name' => 'sock',
  -        'type' => 'apr_socket_t *'
  +        'type' => 'const char *',
  +        'name' => 'file'
         },
         {
  -        'name' => 'vec',
  -        'type' => 'const struct iovec *'
  +        'type' => 'int',
  +        'name' => 'line'
         },
         {
  -        'name' => 'nvec',
  -        'type' => 'apr_int32_t'
  +        'type' => 'int',
  +        'name' => 'level'
         },
         {
  -        'name' => 'len',
  -        'type' => 'apr_size_t *'
  -      }
  -    ],
  -    'name' => 'apr_sendv'
  -  },
  -  {
  -    'return_type' => 'apr_status_t',
  -    'args' => [
  -      {
  -        'name' => 'sock',
  -        'type' => 'apr_socket_t *'
  +        'type' => 'apr_status_t',
  +        'name' => 'status'
         },
         {
  -        'name' => 'where',
  -        'type' => 'apr_sockaddr_t *'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'p'
         },
         {
  -        'name' => 'flags',
  -        'type' => 'apr_int32_t'
  +        'type' => 'const char *',
  +        'name' => 'fmt'
         },
         {
  -        'name' => 'buf',
  -        'type' => 'const char *'
  -      },
  -      {
  -        'name' => 'len',
  -        'type' => 'apr_size_t *'
  +        'type' => '...',
  +        'name' => 'arg6'
         }
  -    ],
  -    'name' => 'apr_sendto'
  +    ]
     },
     {
  -    'return_type' => 'apr_status_t',
  +    'return_type' => 'void',
  +    'name' => 'ap_log_pid',
       'args' => [
         {
  -        'name' => 'from',
  -        'type' => 'apr_sockaddr_t *'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'p'
         },
         {
  -        'name' => 'sock',
  -        'type' => 'apr_socket_t *'
  -      },
  -      {
  -        'name' => 'flags',
  -        'type' => 'apr_int32_t'
  -      },
  -      {
  -        'name' => 'buf',
  -        'type' => 'char *'
  -      },
  -      {
  -        'name' => 'len',
  -        'type' => 'apr_size_t *'
  +        'type' => 'const char *',
  +        'name' => 'fname'
         }
  -    ],
  -    'name' => 'apr_recvfrom'
  +    ]
     },
     {
  -    'return_type' => 'apr_status_t',
  +    'return_type' => 'void',
  +    'name' => 'ap_log_rerror',
       'args' => [
         {
  -        'name' => 'sock',
  -        'type' => 'apr_socket_t *'
  +        'type' => 'const char *',
  +        'name' => 'file'
         },
         {
  -        'name' => 'file',
  -        'type' => 'apr_file_t *'
  +        'type' => 'int',
  +        'name' => 'line'
         },
         {
  -        'name' => 'hdtr',
  -        'type' => 'apr_hdtr_t *'
  +        'type' => 'int',
  +        'name' => 'level'
         },
         {
  -        'name' => 'offset',
  -        'type' => 'apr_off_t *'
  +        'type' => 'apr_status_t',
  +        'name' => 'status'
         },
         {
  -        'name' => 'len',
  -        'type' => 'apr_size_t *'
  +        'type' => 'const request_rec *',
  +        'name' => 'r'
         },
         {
  -        'name' => 'flags',
  -        'type' => 'apr_int32_t'
  +        'type' => 'const char *',
  +        'name' => 'fmt'
  +      },
  +      {
  +        'type' => '...',
  +        'name' => 'arg6'
         }
  -    ],
  -    'name' => 'apr_sendfile'
  +    ]
     },
     {
  -    'return_type' => 'apr_status_t',
  +    'return_type' => 'const char *',
  +    'name' => 'ap_make_content_type',
       'args' => [
         {
  -        'name' => 'sock',
  -        'type' => 'apr_socket_t *'
  +        'type' => 'request_rec *',
  +        'name' => 'r'
         },
         {
  -        'name' => 'buf',
  -        'type' => 'char *'
  -      },
  -      {
  -        'name' => 'len',
  -        'type' => 'apr_size_t *'
  +        'type' => 'const char *',
  +        'name' => 'type'
         }
  -    ],
  -    'name' => 'apr_recv'
  +    ]
     },
     {
  -    'return_type' => 'apr_status_t',
  +    'return_type' => 'char *',
  +    'name' => 'ap_make_dirstr_parent',
       'args' => [
  -      {
  -        'name' => 'sock',
  -        'type' => 'apr_socket_t *'
  -      },
         {
  -        'name' => 'opt',
  -        'type' => 'apr_int32_t'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'p'
         },
         {
  -        'name' => 'on',
  -        'type' => 'apr_int32_t'
  +        'type' => 'const char *',
  +        'name' => 's'
         }
  -    ],
  -    'name' => 'apr_setsocketopt'
  +    ]
     },
     {
  -    'return_type' => 'apr_status_t',
  +    'return_type' => 'char *',
  +    'name' => 'ap_make_dirstr_prefix',
       'args' => [
         {
  -        'name' => 'sock',
  -        'type' => 'apr_socket_t *'
  +        'type' => 'char *',
  +        'name' => 'd'
         },
         {
  -        'name' => 'opt',
  -        'type' => 'apr_int32_t'
  +        'type' => 'const char *',
  +        'name' => 's'
         },
         {
  -        'name' => 'on',
  -        'type' => 'apr_int32_t *'
  +        'type' => 'int',
  +        'name' => 'n'
         }
  -    ],
  -    'name' => 'apr_getsocketopt'
  +    ]
     },
     {
  -    'return_type' => 'apr_status_t',
  +    'return_type' => 'char *',
  +    'name' => 'ap_make_etag',
       'args' => [
         {
  -        'name' => 'sa',
  -        'type' => 'apr_sockaddr_t **'
  +        'type' => 'request_rec *',
  +        'name' => 'r'
         },
         {
  -        'name' => 'which',
  -        'type' => 'apr_interface_e'
  -      },
  -      {
  -        'name' => 'sock',
  -        'type' => 'apr_socket_t *'
  +        'type' => 'int',
  +        'name' => 'force_weak'
         }
  -    ],
  -    'name' => 'apr_socket_addr_get'
  +    ]
     },
     {
  -    'return_type' => 'apr_status_t',
  +    'return_type' => 'char *',
  +    'name' => 'ap_make_full_path',
       'args' => [
         {
  -        'name' => 'sockaddr',
  -        'type' => 'apr_sockaddr_t *'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'a'
         },
         {
  -        'name' => 'port',
  -        'type' => 'apr_port_t'
  +        'type' => 'const char *',
  +        'name' => 'dir'
  +      },
  +      {
  +        'type' => 'const char *',
  +        'name' => 'f'
         }
  -    ],
  -    'name' => 'apr_sockaddr_port_set'
  +    ]
     },
     {
  -    'return_type' => 'apr_status_t',
  +    'return_type' => 'ap_method_list_t *',
  +    'name' => 'ap_make_method_list',
       'args' => [
         {
  -        'name' => 'port',
  -        'type' => 'apr_port_t *'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'p'
         },
         {
  -        'name' => 'sockaddr',
  -        'type' => 'apr_sockaddr_t *'
  +        'type' => 'int',
  +        'name' => 'nelts'
         }
  -    ],
  -    'name' => 'apr_sockaddr_port_get'
  +    ]
     },
     {
  -    'return_type' => 'apr_status_t',
  +    'return_type' => 'int',
  +    'name' => 'ap_matches_request_vhost',
       'args' => [
  +      {
  +        'type' => 'request_rec *',
  +        'name' => 'r'
  +      },
         {
  -        'name' => 'sockaddr',
  -        'type' => 'apr_sockaddr_t *'
  +        'type' => 'const char *',
  +        'name' => 'host'
         },
         {
  -        'name' => 'addr',
  -        'type' => 'const char *'
  +        'type' => 'apr_port_t',
  +        'name' => 'port'
         }
  -    ],
  -    'name' => 'apr_sockaddr_ip_set'
  +    ]
     },
     {
  -    'return_type' => 'apr_status_t',
  +    'return_type' => 'char *',
  +    'name' => 'ap_md5',
       'args' => [
         {
  -        'name' => 'addr',
  -        'type' => 'char **'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'a'
         },
         {
  -        'name' => 'sockaddr',
  -        'type' => 'apr_sockaddr_t *'
  +        'type' => 'const unsigned char *',
  +        'name' => 'string'
         }
  -    ],
  -    'name' => 'apr_sockaddr_ip_get'
  +    ]
     },
     {
  -    'return_type' => 'apr_status_t',
  +    'return_type' => 'char *',
  +    'name' => 'ap_md5_binary',
       'args' => [
         {
  -        'name' => 'new_poll',
  -        'type' => 'apr_pollfd_t **'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'a'
         },
         {
  -        'name' => 'num',
  -        'type' => 'apr_int32_t'
  +        'type' => 'const unsigned char *',
  +        'name' => 'buf'
         },
         {
  -        'name' => 'cont',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'int',
  +        'name' => 'len'
         }
  -    ],
  -    'name' => 'apr_poll_setup'
  +    ]
     },
     {
  -    'return_type' => 'apr_status_t',
  +    'return_type' => 'char *',
  +    'name' => 'ap_md5contextTo64',
       'args' => [
         {
  -        'name' => 'aprset',
  -        'type' => 'apr_pollfd_t *'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'p'
         },
         {
  -        'name' => 'nsds',
  -        'type' => 'apr_int32_t *'
  -      },
  -      {
  -        'name' => 'timeout',
  -        'type' => 'apr_interval_time_t'
  +        'type' => 'apr_md5_ctx_t *',
  +        'name' => 'context'
         }
  -    ],
  -    'name' => 'apr_poll'
  +    ]
     },
     {
  -    'return_type' => 'apr_status_t',
  +    'return_type' => 'char *',
  +    'name' => 'ap_md5digest',
       'args' => [
         {
  -        'name' => 'aprset',
  -        'type' => 'apr_pollfd_t *'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'p'
         },
         {
  -        'name' => 'sock',
  -        'type' => 'apr_socket_t *'
  -      },
  -      {
  -        'name' => 'event',
  -        'type' => 'apr_int16_t'
  +        'type' => 'apr_file_t *',
  +        'name' => 'infile'
         }
  -    ],
  -    'name' => 'apr_poll_socket_add'
  +    ]
     },
     {
  -    'return_type' => 'apr_status_t',
  +    'return_type' => 'int',
  +    'name' => 'ap_meets_conditions',
       'args' => [
         {
  -        'name' => 'aprset',
  -        'type' => 'apr_pollfd_t *'
  -      },
  +        'type' => 'request_rec *',
  +        'name' => 'r'
  +      }
  +    ]
  +  },
  +  {
  +    'return_type' => 'int',
  +    'name' => 'ap_method_in_list',
  +    'args' => [
         {
  -        'name' => 'sock',
  -        'type' => 'apr_socket_t *'
  +        'type' => 'ap_method_list_t *',
  +        'name' => 'l'
         },
         {
  -        'name' => 'events',
  -        'type' => 'apr_int16_t'
  +        'type' => 'const char *',
  +        'name' => 'method'
         }
  -    ],
  -    'name' => 'apr_poll_socket_mask'
  +    ]
     },
     {
  -    'return_type' => 'apr_status_t',
  +    'return_type' => 'int',
  +    'name' => 'ap_method_is_limited',
       'args' => [
         {
  -        'name' => 'aprset',
  -        'type' => 'apr_pollfd_t *'
  +        'type' => 'cmd_parms *',
  +        'name' => 'cmd'
         },
         {
  -        'name' => 'sock',
  -        'type' => 'apr_socket_t *'
  +        'type' => 'const char *',
  +        'name' => 'method'
         }
  -    ],
  -    'name' => 'apr_poll_socket_remove'
  +    ]
     },
     {
  -    'return_type' => 'apr_status_t',
  +    'return_type' => 'void',
  +    'name' => 'ap_method_list_add',
       'args' => [
         {
  -        'name' => 'aprset',
  -        'type' => 'apr_pollfd_t *'
  +        'type' => 'ap_method_list_t *',
  +        'name' => 'l'
         },
         {
  -        'name' => 'events',
  -        'type' => 'apr_int16_t'
  +        'type' => 'const char *',
  +        'name' => 'method'
         }
  -    ],
  -    'name' => 'apr_poll_socket_clear'
  +    ]
     },
     {
  -    'return_type' => 'apr_status_t',
  +    'return_type' => 'void',
  +    'name' => 'ap_method_list_do',
       'args' => [
  +      {
  +        'type' => 'int (*comp) (void *urec, const char *mname,
  +                                                       int mnum)',
  +        'name' => 'arg0'
  +      },
         {
  -        'name' => 'event',
  -        'type' => 'apr_int16_t *'
  +        'type' => 'void *',
  +        'name' => 'rec'
         },
         {
  -        'name' => 'sock',
  -        'type' => 'apr_socket_t *'
  +        'type' => 'const ap_method_list_t *',
  +        'name' => 'ml'
         },
         {
  -        'name' => 'aprset',
  -        'type' => 'apr_pollfd_t *'
  +        'type' => '...',
  +        'name' => 'arg3'
         }
  -    ],
  -    'name' => 'apr_poll_revents_get'
  +    ]
     },
     {
  -    'return_type' => 'apr_status_t',
  +    'return_type' => 'void',
  +    'name' => 'ap_method_list_remove',
       'args' => [
         {
  -        'name' => 'pollfd',
  -        'type' => 'apr_pollfd_t *'
  +        'type' => 'ap_method_list_t *',
  +        'name' => 'l'
         },
         {
  -        'name' => 'key',
  -        'type' => 'const char *'
  -      },
  -      {
  -        'name' => 'data',
  -        'type' => 'void *'
  +        'type' => 'const char *',
  +        'name' => 'method'
         }
  -    ],
  -    'name' => 'apr_poll_data_get'
  +    ]
     },
     {
  -    'return_type' => 'apr_status_t',
  +    'return_type' => 'void',
  +    'name' => 'ap_method_list_vdo',
       'args' => [
         {
  -        'name' => 'pollfd',
  -        'type' => 'apr_pollfd_t *'
  +        'type' => 'int (*comp) (void *urec, const char *mname,
  +                                                 int mnum)',
  +        'name' => 'arg0'
         },
         {
  -        'name' => 'data',
  -        'type' => 'void *'
  +        'type' => 'void *',
  +        'name' => 'rec'
         },
         {
  -        'name' => 'key',
  -        'type' => 'const char *'
  +        'type' => 'const ap_method_list_t *',
  +        'name' => 'ml'
         },
         {
  -        'name' => 'arg3',
  -        'type' => 'apr_status_t (*cleanup)(void *)'
  +        'type' => 'va_list',
  +        'name' => 'vp'
         }
  -    ],
  -    'name' => 'apr_poll_data_set'
  +    ]
     },
     {
  -    'return_type' => 'apr_status_t',
  +    'return_type' => 'const char *',
  +    'name' => 'ap_method_name_of',
       'args' => [
         {
  -        'name' => 'newsock',
  -        'type' => 'apr_socket_t **'
  -      },
  +        'type' => 'int',
  +        'name' => 'methnum'
  +      }
  +    ]
  +  },
  +  {
  +    'return_type' => 'int',
  +    'name' => 'ap_method_number_of',
  +    'args' => [
         {
  -        'name' => 'file',
  -        'type' => 'apr_file_t *'
  +        'type' => 'const char *',
  +        'name' => 'method'
         }
  -    ],
  -    'name' => 'apr_socket_from_file'
  +    ]
     },
     {
       'return_type' => 'apr_status_t',
  +    'name' => 'ap_mpm_query',
       'args' => [
         {
  -        'name' => 'sockaddr',
  -        'type' => 'apr_sockaddr_t *'
  +        'type' => 'int',
  +        'name' => 'query_code'
         },
         {
  -        'name' => 'servname',
  -        'type' => 'const char *'
  +        'type' => 'int *',
  +        'name' => 'result'
         }
  -    ],
  -    'name' => 'apr_getservbyname'
  +    ]
     },
     {
  -    'return_type' => 'apr_status_t',
  +    'return_type' => 'int',
  +    'name' => 'ap_mpm_run',
       'args' => [
         {
  -        'name' => 'ipsub',
  -        'type' => 'apr_ipsubnet_t **'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'pconf'
         },
         {
  -        'name' => 'ipstr',
  -        'type' => 'const char *'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'plog'
         },
         {
  -        'name' => 'mask_or_numbits',
  -        'type' => 'const char *'
  -      },
  -      {
  -        'name' => 'p',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'server_rec *',
  +        'name' => 'server_conf'
         }
  -    ],
  -    'name' => 'apr_ipsubnet_create'
  +    ]
     },
     {
  -    'return_type' => 'int',
  +    'return_type' => 'void',
  +    'name' => 'ap_no2slash',
       'args' => [
         {
  -        'name' => 'ipsub',
  -        'type' => 'apr_ipsubnet_t *'
  -      },
  -      {
  -        'name' => 'sa',
  -        'type' => 'apr_sockaddr_t *'
  +        'type' => 'char *',
  +        'name' => 'name'
         }
  -    ],
  -    'name' => 'apr_ipsubnet_test'
  +    ]
     },
     {
  -    'return_type' => 'apr_status_t',
  +    'return_type' => 'void',
  +    'name' => 'ap_note_auth_failure',
       'args' => [
  -      {
  -        'name' => 'new_attr',
  -        'type' => 'apr_threadattr_t **'
  -      },
         {
  -        'name' => 'cont',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'request_rec *',
  +        'name' => 'r'
         }
  -    ],
  -    'name' => 'apr_threadattr_create'
  +    ]
     },
     {
  -    'return_type' => 'apr_status_t',
  +    'return_type' => 'void',
  +    'name' => 'ap_note_basic_auth_failure',
       'args' => [
  -      {
  -        'name' => 'attr',
  -        'type' => 'apr_threadattr_t *'
  -      },
         {
  -        'name' => 'on',
  -        'type' => 'apr_int32_t'
  +        'type' => 'request_rec *',
  +        'name' => 'r'
         }
  -    ],
  -    'name' => 'apr_threadattr_detach_set'
  +    ]
     },
     {
  -    'return_type' => 'apr_status_t',
  +    'return_type' => 'void',
  +    'name' => 'ap_note_digest_auth_failure',
       'args' => [
         {
  -        'name' => 'attr',
  -        'type' => 'apr_threadattr_t *'
  +        'type' => 'request_rec *',
  +        'name' => 'r'
         }
  -    ],
  -    'name' => 'apr_threadattr_detach_get'
  +    ]
     },
     {
       'return_type' => 'apr_status_t',
  +    'name' => 'ap_old_write_filter',
       'args' => [
  -      {
  -        'name' => 'new_thread',
  -        'type' => 'apr_thread_t **'
  -      },
  -      {
  -        'name' => 'attr',
  -        'type' => 'apr_threadattr_t *'
  -      },
  -      {
  -        'name' => 'func',
  -        'type' => 'apr_thread_start_t'
  -      },
         {
  -        'name' => 'data',
  -        'type' => 'void *'
  +        'type' => 'ap_filter_t *',
  +        'name' => 'f'
         },
         {
  -        'name' => 'cont',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'apr_bucket_brigade *',
  +        'name' => 'b'
         }
  -    ],
  -    'name' => 'apr_thread_create'
  +    ]
     },
     {
  -    'return_type' => 'apr_status_t',
  +    'return_type' => 'void',
  +    'name' => 'ap_open_logs',
       'args' => [
         {
  -        'name' => 'thd',
  -        'type' => 'apr_thread_t *'
  +        'type' => 'server_rec *',
  +        'name' => 's_main'
         },
         {
  -        'name' => 'retval',
  -        'type' => 'apr_status_t *'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'p'
         }
  -    ],
  -    'name' => 'apr_thread_exit'
  +    ]
     },
     {
  -    'return_type' => 'apr_status_t',
  +    'return_type' => 'piped_log *',
  +    'name' => 'ap_open_piped_log',
       'args' => [
         {
  -        'name' => 'retval',
  -        'type' => 'apr_status_t *'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'p'
         },
         {
  -        'name' => 'thd',
  -        'type' => 'apr_thread_t *'
  +        'type' => 'const char *',
  +        'name' => 'program'
         }
  -    ],
  -    'name' => 'apr_thread_join'
  +    ]
     },
     {
  -    'return_type' => 'apr_status_t',
  +    'return_type' => 'void',
  +    'name' => 'ap_open_stderr_log',
       'args' => [
         {
  -        'name' => 'thd',
  -        'type' => 'apr_thread_t *'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'p'
         }
  -    ],
  -    'name' => 'apr_thread_detach'
  +    ]
     },
     {
       'return_type' => 'apr_status_t',
  +    'name' => 'ap_os_create_privileged_process',
       'args' => [
         {
  -        'name' => 'data',
  -        'type' => 'void **'
  +        'type' => 'const request_rec *',
  +        'name' => 'r'
         },
         {
  -        'name' => 'key',
  -        'type' => 'const char *'
  +        'type' => 'apr_proc_t *',
  +        'name' => 'newproc'
         },
         {
  -        'name' => 'thread',
  -        'type' => 'apr_thread_t *'
  -      }
  -    ],
  -    'name' => 'apr_thread_data_get'
  -  },
  -  {
  -    'return_type' => 'apr_status_t',
  -    'args' => [
  +        'type' => 'const char *',
  +        'name' => 'progname'
  +      },
         {
  -        'name' => 'data',
  -        'type' => 'void *'
  +        'type' => 'const char * const *',
  +        'name' => 'args'
         },
         {
  -        'name' => 'key',
  -        'type' => 'const char *'
  +        'type' => 'const char * const *',
  +        'name' => 'env'
         },
         {
  -        'name' => 'arg2',
  -        'type' => 'apr_status_t (*cleanup) (void *)'
  +        'type' => 'apr_procattr_t *',
  +        'name' => 'attr'
         },
         {
  -        'name' => 'thread',
  -        'type' => 'apr_thread_t *'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'p'
         }
  -    ],
  -    'name' => 'apr_thread_data_set'
  +    ]
     },
     {
  -    'return_type' => 'apr_status_t',
  +    'return_type' => 'char *',
  +    'name' => 'ap_os_escape_path',
       'args' => [
         {
  -        'name' => 'key',
  -        'type' => 'apr_threadkey_t **'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'p'
         },
         {
  -        'name' => 'arg1',
  -        'type' => 'void (*dest)(void *)'
  +        'type' => 'const char *',
  +        'name' => 'path'
         },
         {
  -        'name' => 'cont',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'int',
  +        'name' => 'partial'
         }
  -    ],
  -    'name' => 'apr_threadkey_private_create'
  +    ]
     },
     {
  -    'return_type' => 'apr_status_t',
  +    'return_type' => 'void',
  +    'name' => 'ap_parse_uri',
       'args' => [
         {
  -        'name' => 'new_mem',
  -        'type' => 'void **'
  +        'type' => 'request_rec *',
  +        'name' => 'r'
         },
         {
  -        'name' => 'key',
  -        'type' => 'apr_threadkey_t *'
  +        'type' => 'const char *',
  +        'name' => 'uri'
         }
  -    ],
  -    'name' => 'apr_threadkey_private_get'
  +    ]
     },
     {
  -    'return_type' => 'apr_status_t',
  +    'return_type' => 'const char *',
  +    'name' => 'ap_parse_vhost_addrs',
       'args' => [
         {
  -        'name' => 'priv',
  -        'type' => 'void *'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'p'
         },
         {
  -        'name' => 'key',
  -        'type' => 'apr_threadkey_t *'
  -      }
  -    ],
  -    'name' => 'apr_threadkey_private_set'
  -  },
  -  {
  -    'return_type' => 'apr_status_t',
  -    'args' => [
  +        'type' => 'const char *',
  +        'name' => 'hostname'
  +      },
         {
  -        'name' => 'key',
  -        'type' => 'apr_threadkey_t *'
  +        'type' => 'server_rec *',
  +        'name' => 's'
         }
  -    ],
  -    'name' => 'apr_threadkey_private_delete'
  +    ]
     },
     {
       'return_type' => 'apr_status_t',
  +    'name' => 'ap_pass_brigade',
       'args' => [
  -      {
  -        'name' => 'data',
  -        'type' => 'void **'
  -      },
         {
  -        'name' => 'key',
  -        'type' => 'const char *'
  +        'type' => 'ap_filter_t *',
  +        'name' => 'filter'
         },
         {
  -        'name' => 'threadkey',
  -        'type' => 'apr_threadkey_t *'
  +        'type' => 'apr_bucket_brigade *',
  +        'name' => 'bucket'
         }
  -    ],
  -    'name' => 'apr_threadkey_data_get'
  +    ]
     },
     {
  -    'return_type' => 'apr_status_t',
  +    'return_type' => 'char *',
  +    'name' => 'ap_pbase64decode',
       'args' => [
  -      {
  -        'name' => 'data',
  -        'type' => 'void *'
  -      },
  -      {
  -        'name' => 'key',
  -        'type' => 'const char *'
  -      },
         {
  -        'name' => 'arg2',
  -        'type' => 'apr_status_t (*cleanup) (void *)'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'p'
         },
         {
  -        'name' => 'threadkey',
  -        'type' => 'apr_threadkey_t *'
  +        'type' => 'const char *',
  +        'name' => 'bufcoded'
         }
  -    ],
  -    'name' => 'apr_threadkey_data_set'
  +    ]
     },
     {
  -    'return_type' => 'apr_status_t',
  +    'return_type' => 'char *',
  +    'name' => 'ap_pbase64encode',
       'args' => [
         {
  -        'name' => 'new_attr',
  -        'type' => 'apr_procattr_t **'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'p'
         },
         {
  -        'name' => 'cont',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'char *',
  +        'name' => 'string'
         }
  -    ],
  -    'name' => 'apr_procattr_create'
  +    ]
     },
     {
  -    'return_type' => 'apr_status_t',
  +    'return_type' => 'ap_configfile_t *',
  +    'name' => 'ap_pcfg_open_custom',
       'args' => [
         {
  -        'name' => 'attr',
  -        'type' => 'apr_procattr_t *'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'p'
         },
         {
  -        'name' => 'in',
  -        'type' => 'apr_int32_t'
  +        'type' => 'const char *',
  +        'name' => 'descr'
         },
         {
  -        'name' => 'out',
  -        'type' => 'apr_int32_t'
  +        'type' => 'void *',
  +        'name' => 'param'
         },
  -      {
  -        'name' => 'err',
  -        'type' => 'apr_int32_t'
  -      }
  -    ],
  -    'name' => 'apr_procattr_io_set'
  -  },
  -  {
  -    'return_type' => 'apr_status_t',
  -    'args' => [
         {
  -        'name' => 'attr',
  -        'type' => 'struct apr_procattr_t *'
  +        'type' => 'int(*getc_func)(void*)',
  +        'name' => 'arg3'
         },
         {
  -        'name' => 'child_in',
  -        'type' => 'apr_file_t *'
  +        'type' => 'void *(*gets_func) (void *buf, size_t bufsiz, void *param)',
  +        'name' => 'arg4'
         },
         {
  -        'name' => 'parent_in',
  -        'type' => 'apr_file_t *'
  +        'type' => 'int(*close_func)(void *param)',
  +        'name' => 'arg5'
         }
  -    ],
  -    'name' => 'apr_procattr_child_in_set'
  +    ]
     },
     {
       'return_type' => 'apr_status_t',
  +    'name' => 'ap_pcfg_openfile',
       'args' => [
         {
  -        'name' => 'attr',
  -        'type' => 'struct apr_procattr_t *'
  +        'type' => 'ap_configfile_t **',
  +        'name' => 'ret_cfg'
         },
         {
  -        'name' => 'child_out',
  -        'type' => 'apr_file_t *'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'p'
         },
         {
  -        'name' => 'parent_out',
  -        'type' => 'apr_file_t *'
  +        'type' => 'const char *',
  +        'name' => 'name'
         }
  -    ],
  -    'name' => 'apr_procattr_child_out_set'
  +    ]
     },
     {
  -    'return_type' => 'apr_status_t',
  +    'return_type' => 'regex_t *',
  +    'name' => 'ap_pregcomp',
       'args' => [
         {
  -        'name' => 'attr',
  -        'type' => 'struct apr_procattr_t *'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'p'
         },
         {
  -        'name' => 'child_err',
  -        'type' => 'apr_file_t *'
  +        'type' => 'const char *',
  +        'name' => 'pattern'
         },
         {
  -        'name' => 'parent_err',
  -        'type' => 'apr_file_t *'
  +        'type' => 'int',
  +        'name' => 'cflags'
         }
  -    ],
  -    'name' => 'apr_procattr_child_err_set'
  +    ]
     },
     {
  -    'return_type' => 'apr_status_t',
  +    'return_type' => 'void',
  +    'name' => 'ap_pregfree',
       'args' => [
         {
  -        'name' => 'attr',
  -        'type' => 'apr_procattr_t *'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'p'
         },
         {
  -        'name' => 'dir',
  -        'type' => 'const char *'
  +        'type' => 'regex_t *',
  +        'name' => 'reg'
         }
  -    ],
  -    'name' => 'apr_procattr_dir_set'
  +    ]
     },
     {
  -    'return_type' => 'apr_status_t',
  +    'return_type' => 'char *',
  +    'name' => 'ap_pregsub',
       'args' => [
  +      {
  +        'type' => 'apr_pool_t *',
  +        'name' => 'p'
  +      },
  +      {
  +        'type' => 'const char *',
  +        'name' => 'input'
  +      },
  +      {
  +        'type' => 'const char *',
  +        'name' => 'source'
  +      },
         {
  -        'name' => 'attr',
  -        'type' => 'apr_procattr_t *'
  +        'type' => 'size_t',
  +        'name' => 'nmatch'
         },
         {
  -        'name' => 'cmd',
  -        'type' => 'apr_cmdtype_e'
  +        'type' => 'regmatch_t',
  +        'name' => 'pmatch'
         }
  -    ],
  -    'name' => 'apr_procattr_cmdtype_set'
  +    ]
     },
     {
  -    'return_type' => 'apr_status_t',
  +    'return_type' => 'void',
  +    'name' => 'ap_process_child_status',
       'args' => [
         {
  -        'name' => 'attr',
  -        'type' => 'apr_procattr_t *'
  +        'type' => 'apr_proc_t *',
  +        'name' => 'pid'
         },
         {
  -        'name' => 'detach',
  -        'type' => 'apr_int32_t'
  +        'type' => 'int',
  +        'name' => 'status'
         }
  -    ],
  -    'name' => 'apr_procattr_detach_set'
  +    ]
     },
     {
  -    'return_type' => 'apr_status_t',
  +    'return_type' => 'void',
  +    'name' => 'ap_process_config_tree',
       'args' => [
  +      {
  +        'type' => 'server_rec *',
  +        'name' => 's'
  +      },
         {
  -        'name' => 'attr',
  -        'type' => 'apr_procattr_t *'
  +        'type' => 'ap_directive_t *',
  +        'name' => 'conftree'
         },
         {
  -        'name' => 'what',
  -        'type' => 'apr_int32_t'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'p'
         },
         {
  -        'name' => 'limit',
  -        'type' => 'struct rlimit *'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'ptemp'
         }
  -    ],
  -    'name' => 'apr_procattr_limit_set'
  +    ]
     },
     {
  -    'return_type' => 'apr_status_t',
  +    'return_type' => 'void',
  +    'name' => 'ap_process_request',
       'args' => [
  -      {
  -        'name' => 'proc',
  -        'type' => 'apr_proc_t *'
  -      },
         {
  -        'name' => 'cont',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'request_rec *',
  +        'name' => 'arg0'
         }
  -    ],
  -    'name' => 'apr_proc_fork'
  +    ]
     },
     {
  -    'return_type' => 'apr_status_t',
  +    'return_type' => 'void',
  +    'name' => 'ap_process_resource_config',
       'args' => [
         {
  -        'name' => 'new_proc',
  -        'type' => 'apr_proc_t *'
  +        'type' => 'server_rec *',
  +        'name' => 's'
         },
         {
  -        'name' => 'progname',
  -        'type' => 'const char *'
  +        'type' => 'const char *',
  +        'name' => 'fname'
         },
         {
  -        'name' => 'args',
  -        'type' => 'const char * const *'
  +        'type' => 'ap_directive_t **',
  +        'name' => 'conftree'
         },
         {
  -        'name' => 'env',
  -        'type' => 'const char * const *'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'p'
         },
  +      {
  +        'type' => 'apr_pool_t *',
  +        'name' => 'ptemp'
  +      }
  +    ]
  +  },
  +  {
  +    'return_type' => 'const char *',
  +    'name' => 'ap_psignature',
  +    'args' => [
         {
  -        'name' => 'attr',
  -        'type' => 'apr_procattr_t *'
  +        'type' => 'const char *',
  +        'name' => 'prefix'
         },
         {
  -        'name' => 'cont',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'request_rec *',
  +        'name' => 'r'
         }
  -    ],
  -    'name' => 'apr_proc_create'
  +    ]
     },
     {
  -    'return_type' => 'apr_status_t',
  +    'return_type' => 'apr_time_t',
  +    'name' => 'ap_rationalize_mtime',
       'args' => [
         {
  -        'name' => 'proc',
  -        'type' => 'apr_proc_t *'
  +        'type' => 'request_rec *',
  +        'name' => 'r'
         },
         {
  -        'name' => 'waithow',
  -        'type' => 'apr_wait_how_e'
  +        'type' => 'apr_time_t',
  +        'name' => 'mtime'
         }
  -    ],
  -    'name' => 'apr_proc_wait'
  +    ]
     },
     {
  -    'return_type' => 'apr_status_t',
  +    'return_type' => 'server_rec *',
  +    'name' => 'ap_read_config',
       'args' => [
         {
  -        'name' => 'proc',
  -        'type' => 'apr_proc_t *'
  +        'type' => 'process_rec *',
  +        'name' => 'process'
         },
         {
  -        'name' => 'status',
  -        'type' => 'int *'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'temp_pool'
         },
         {
  -        'name' => 'waithow',
  -        'type' => 'apr_wait_how_e'
  +        'type' => 'const char *',
  +        'name' => 'config_name'
         },
         {
  -        'name' => 'p',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'ap_directive_t **',
  +        'name' => 'conftree'
         }
  -    ],
  -    'name' => 'apr_proc_wait_all_procs'
  +    ]
     },
     {
  -    'return_type' => 'apr_status_t',
  -    'args' => [],
  -    'name' => 'apr_proc_detach'
  +    'return_type' => 'request_rec *',
  +    'name' => 'ap_read_request',
  +    'args' => [
  +      {
  +        'type' => 'conn_rec *',
  +        'name' => 'c'
  +      }
  +    ]
     },
     {
       'return_type' => 'void',
  +    'name' => 'ap_reclaim_child_processes',
       'args' => [
         {
  -        'name' => 'pid',
  -        'type' => 'apr_proc_t *'
  -      },
  +        'type' => 'int',
  +        'name' => 'terminate'
  +      }
  +    ]
  +  },
  +  {
  +    'return_type' => 'size_t',
  +    'name' => 'ap_regerror',
  +    'args' => [
         {
  -        'name' => 'arg1',
  -        'type' => 'void (*maintenance) (int reason,
  -                                                                void *,
  -                                                                int status)'
  +        'type' => 'int',
  +        'name' => 'errcode'
         },
         {
  -        'name' => 'data',
  -        'type' => 'void *'
  +        'type' => 'const regex_t *',
  +        'name' => 'preg'
         },
         {
  -        'name' => 'write_fd',
  -        'type' => 'apr_file_t *'
  +        'type' => 'char *',
  +        'name' => 'errbuf'
         },
         {
  -        'name' => 'p',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'size_t',
  +        'name' => 'errbuf_size'
         }
  -    ],
  -    'name' => 'apr_proc_other_child_register'
  +    ]
     },
     {
  -    'return_type' => 'void',
  +    'return_type' => 'int',
  +    'name' => 'ap_regexec',
       'args' => [
  +      {
  +        'type' => 'regex_t *',
  +        'name' => 'preg'
  +      },
  +      {
  +        'type' => 'const char *',
  +        'name' => 'string'
  +      },
  +      {
  +        'type' => 'size_t',
  +        'name' => 'nmatch'
  +      },
         {
  -        'name' => 'data',
  -        'type' => 'void *'
  +        'type' => 'regmatch_t',
  +        'name' => 'pmatch'
  +      },
  +      {
  +        'type' => 'int',
  +        'name' => 'eflags'
         }
  -    ],
  -    'name' => 'apr_proc_other_child_unregister'
  +    ]
     },
     {
  -    'return_type' => 'apr_status_t',
  +    'return_type' => 'void',
  +    'name' => 'ap_register_hooks',
       'args' => [
         {
  -        'name' => 'pid',
  -        'type' => 'apr_proc_t *'
  +        'type' => 'module *',
  +        'name' => 'm'
         },
         {
  -        'name' => 'status',
  -        'type' => 'int'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'p'
         }
  -    ],
  -    'name' => 'apr_proc_other_child_read'
  +    ]
     },
     {
       'return_type' => 'void',
  -    'args' => [],
  -    'name' => 'apr_proc_other_child_check'
  -  },
  -  {
  -    'return_type' => 'apr_status_t',
  +    'name' => 'ap_register_input_filter',
       'args' => [
  +      {
  +        'type' => 'const char *',
  +        'name' => 'name'
  +      },
         {
  -        'name' => 'proc',
  -        'type' => 'apr_proc_t *'
  +        'type' => 'ap_in_filter_func',
  +        'name' => 'filter_func'
         },
         {
  -        'name' => 'sig',
  -        'type' => 'int'
  +        'type' => 'ap_filter_type',
  +        'name' => 'ftype'
         }
  -    ],
  -    'name' => 'apr_proc_kill'
  +    ]
     },
     {
       'return_type' => 'void',
  +    'name' => 'ap_register_output_filter',
       'args' => [
         {
  -        'name' => 'a',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'const char *',
  +        'name' => 'name'
         },
         {
  -        'name' => 'pid',
  -        'type' => 'apr_proc_t *'
  +        'type' => 'ap_out_filter_func',
  +        'name' => 'filter_func'
         },
         {
  -        'name' => 'how',
  -        'type' => 'enum kill_conditions'
  +        'type' => 'ap_filter_type',
  +        'name' => 'ftype'
         }
  -    ],
  -    'name' => 'apr_pool_note_subprocess'
  +    ]
     },
     {
  -    'return_type' => 'apr_status_t',
  -    'args' => [],
  -    'name' => 'apr_setup_signal_thread'
  +    'return_type' => 'void',
  +    'name' => 'ap_remove_loaded_module',
  +    'args' => [
  +      {
  +        'type' => 'module *',
  +        'name' => 'mod'
  +      }
  +    ]
     },
     {
  -    'return_type' => 'apr_status_t',
  +    'return_type' => 'void',
  +    'name' => 'ap_remove_module',
       'args' => [
         {
  -        'name' => 'arg0',
  -        'type' => 'int(*signal_handler)(int signum)'
  +        'type' => 'module *',
  +        'name' => 'm'
         }
  -    ],
  -    'name' => 'apr_signal_thread'
  +    ]
     },
     {
  -    'return_type' => 'apr_status_t',
  +    'return_type' => 'void',
  +    'name' => 'ap_remove_output_filter',
       'args' => [
         {
  -        'name' => 'thefile',
  -        'type' => 'apr_os_file_t *'
  -      },
  +        'type' => 'ap_filter_t *',
  +        'name' => 'f'
  +      }
  +    ]
  +  },
  +  {
  +    'return_type' => 'const apr_array_header_t *',
  +    'name' => 'ap_requires',
  +    'args' => [
         {
  -        'name' => 'file',
  -        'type' => 'apr_file_t *'
  +        'type' => 'request_rec *',
  +        'name' => 'r'
         }
  -    ],
  -    'name' => 'apr_os_file_get'
  +    ]
     },
     {
  -    'return_type' => 'apr_status_t',
  +    'return_type' => 'const char *',
  +    'name' => 'ap_resolve_env',
       'args' => [
         {
  -        'name' => 'thedir',
  -        'type' => 'apr_os_dir_t **'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'p'
         },
         {
  -        'name' => 'dir',
  -        'type' => 'apr_dir_t *'
  +        'type' => 'const char *',
  +        'name' => 'word'
         }
  -    ],
  -    'name' => 'apr_os_dir_get'
  +    ]
     },
     {
  -    'return_type' => 'apr_status_t',
  +    'return_type' => 'char *',
  +    'name' => 'ap_rfc1413',
       'args' => [
         {
  -        'name' => 'thesock',
  -        'type' => 'apr_os_sock_t *'
  +        'type' => 'conn_rec *',
  +        'name' => 'conn'
         },
         {
  -        'name' => 'sock',
  -        'type' => 'apr_socket_t *'
  +        'type' => 'server_rec *',
  +        'name' => 'srv'
         }
  -    ],
  -    'name' => 'apr_os_sock_get'
  +    ]
     },
     {
  -    'return_type' => 'apr_status_t',
  +    'return_type' => 'int',
  +    'name' => 'ap_rflush',
       'args' => [
  -      {
  -        'name' => 'oslock',
  -        'type' => 'apr_os_lock_t *'
  -      },
         {
  -        'name' => 'lock',
  -        'type' => 'apr_lock_t *'
  +        'type' => 'request_rec *',
  +        'name' => 'r'
         }
  -    ],
  -    'name' => 'apr_os_lock_get'
  +    ]
     },
     {
  -    'return_type' => 'apr_status_t',
  +    'return_type' => 'int',
  +    'name' => 'ap_rind',
       'args' => [
         {
  -        'name' => 'ostime',
  -        'type' => 'apr_os_exp_time_t **'
  +        'type' => 'const char *',
  +        'name' => 'str'
         },
         {
  -        'name' => 'aprtime',
  -        'type' => 'apr_exploded_time_t *'
  +        'type' => 'char',
  +        'name' => 'c'
         }
  -    ],
  -    'name' => 'apr_os_exp_time_get'
  +    ]
     },
     {
  -    'return_type' => 'apr_status_t',
  +    'return_type' => 'int',
  +    'name' => 'ap_rprintf',
       'args' => [
         {
  -        'name' => 'ostime',
  -        'type' => 'apr_os_imp_time_t **'
  +        'type' => 'request_rec *',
  +        'name' => 'r'
         },
         {
  -        'name' => 'aprtime',
  -        'type' => 'apr_time_t *'
  +        'type' => 'const char *',
  +        'name' => 'fmt'
  +      },
  +      {
  +        'type' => '...',
  +        'name' => 'arg2'
         }
  -    ],
  -    'name' => 'apr_os_imp_time_get'
  +    ]
     },
     {
  -    'return_type' => 'apr_status_t',
  +    'return_type' => 'int',
  +    'name' => 'ap_rputc',
       'args' => [
         {
  -        'name' => 'thethd',
  -        'type' => 'apr_os_thread_t **'
  +        'type' => 'int',
  +        'name' => 'c'
         },
         {
  -        'name' => 'thd',
  -        'type' => 'apr_thread_t *'
  +        'type' => 'request_rec *',
  +        'name' => 'r'
         }
  -    ],
  -    'name' => 'apr_os_thread_get'
  +    ]
     },
     {
  -    'return_type' => 'apr_status_t',
  +    'return_type' => 'int',
  +    'name' => 'ap_rputs',
       'args' => [
         {
  -        'name' => 'thekey',
  -        'type' => 'apr_os_threadkey_t *'
  +        'type' => 'const char *',
  +        'name' => 'str'
         },
         {
  -        'name' => 'key',
  -        'type' => 'apr_threadkey_t *'
  +        'type' => 'request_rec *',
  +        'name' => 'r'
         }
  -    ],
  -    'name' => 'apr_os_threadkey_get'
  +    ]
     },
     {
  -    'return_type' => 'apr_status_t',
  +    'return_type' => 'int',
  +    'name' => 'ap_run_access_checker',
       'args' => [
         {
  -        'name' => 'file',
  -        'type' => 'apr_file_t **'
  -      },
  -      {
  -        'name' => 'thefile',
  -        'type' => 'apr_os_file_t *'
  -      },
  +        'type' => 'request_rec *',
  +        'name' => 'r'
  +      }
  +    ]
  +  },
  +  {
  +    'return_type' => 'int',
  +    'name' => 'ap_run_auth_checker',
  +    'args' => [
         {
  -        'name' => 'cont',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'request_rec *',
  +        'name' => 'r'
         }
  -    ],
  -    'name' => 'apr_os_file_put'
  +    ]
     },
     {
  -    'return_type' => 'apr_status_t',
  +    'return_type' => 'int',
  +    'name' => 'ap_run_check_user_id',
       'args' => [
         {
  -        'name' => 'dir',
  -        'type' => 'apr_dir_t **'
  -      },
  +        'type' => 'request_rec *',
  +        'name' => 'r'
  +      }
  +    ]
  +  },
  +  {
  +    'return_type' => 'void',
  +    'name' => 'ap_run_child_init',
  +    'args' => [
         {
  -        'name' => 'thedir',
  -        'type' => 'apr_os_dir_t *'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'pchild'
         },
         {
  -        'name' => 'cont',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'server_rec *',
  +        'name' => 's'
         }
  -    ],
  -    'name' => 'apr_os_dir_put'
  +    ]
     },
     {
  -    'return_type' => 'apr_status_t',
  +    'return_type' => 'int',
  +    'name' => 'ap_run_create_request',
       'args' => [
  -      {
  -        'name' => 'sock',
  -        'type' => 'apr_socket_t **'
  -      },
         {
  -        'name' => 'thesock',
  -        'type' => 'apr_os_sock_t *'
  -      },
  +        'type' => 'request_rec *',
  +        'name' => 'r'
  +      }
  +    ]
  +  },
  +  {
  +    'return_type' => 'apr_port_t',
  +    'name' => 'ap_run_default_port',
  +    'args' => [
         {
  -        'name' => 'cont',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'const request_rec *',
  +        'name' => 'r'
         }
  -    ],
  -    'name' => 'apr_os_sock_put'
  +    ]
     },
     {
  -    'return_type' => 'apr_status_t',
  +    'return_type' => 'void',
  +    'name' => 'ap_run_error_log',
       'args' => [
         {
  -        'name' => 'apr_sock',
  -        'type' => 'apr_socket_t **'
  +        'type' => 'const char *',
  +        'name' => 'file'
         },
         {
  -        'name' => 'os_sock_info',
  -        'type' => 'apr_os_sock_info_t *'
  +        'type' => 'int',
  +        'name' => 'line'
         },
         {
  -        'name' => 'cont',
  -        'type' => 'apr_pool_t *'
  -      }
  -    ],
  -    'name' => 'apr_os_sock_make'
  -  },
  -  {
  -    'return_type' => 'apr_status_t',
  -    'args' => [
  +        'type' => 'int',
  +        'name' => 'level'
  +      },
  +      {
  +        'type' => '# 281 "/home/dougm/ap/threaded/include/http_log.h"
  +                       apr_status_t status',
  +        'name' => 'arg3'
  +      },
  +      {
  +        'type' => 'const server_rec *',
  +        'name' => 's'
  +      },
         {
  -        'name' => 'lock',
  -        'type' => 'apr_lock_t **'
  +        'type' => '# 281 "/home/dougm/ap/threaded/include/http_log.h"
  +                       const request_rec *r',
  +        'name' => 'arg5'
         },
         {
  -        'name' => 'thelock',
  -        'type' => 'apr_os_lock_t *'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'pool'
         },
         {
  -        'name' => 'cont',
  -        'type' => 'apr_pool_t *'
  +        'type' => '# 281 "/home/dougm/ap/threaded/include/http_log.h"
  +                       const char *errstr',
  +        'name' => 'arg7'
         }
  -    ],
  -    'name' => 'apr_os_lock_put'
  +    ]
     },
     {
  -    'return_type' => 'apr_status_t',
  +    'return_type' => 'int',
  +    'name' => 'ap_run_fixups',
       'args' => [
  -      {
  -        'name' => 'aprtime',
  -        'type' => 'apr_time_t *'
  -      },
  -      {
  -        'name' => 'ostime',
  -        'type' => 'apr_os_imp_time_t **'
  -      },
         {
  -        'name' => 'cont',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'request_rec *',
  +        'name' => 'r'
         }
  -    ],
  -    'name' => 'apr_os_imp_time_put'
  +    ]
     },
     {
  -    'return_type' => 'apr_status_t',
  +    'return_type' => 'int',
  +    'name' => 'ap_run_get_mgmt_items',
       'args' => [
         {
  -        'name' => 'aprtime',
  -        'type' => 'apr_exploded_time_t *'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'p'
         },
         {
  -        'name' => 'ostime',
  -        'type' => 'apr_os_exp_time_t **'
  +        'type' => 'const char *',
  +        'name' => 'val'
         },
         {
  -        'name' => 'cont',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'apr_hash_t *',
  +        'name' => 'ht'
         }
  -    ],
  -    'name' => 'apr_os_exp_time_put'
  +    ]
     },
     {
  -    'return_type' => 'apr_status_t',
  +    'return_type' => 'ap_unix_identity_t *',
  +    'name' => 'ap_run_get_suexec_identity',
       'args' => [
         {
  -        'name' => 'thd',
  -        'type' => 'apr_thread_t **'
  -      },
  +        'type' => 'const request_rec *',
  +        'name' => 'r'
  +      }
  +    ]
  +  },
  +  {
  +    'return_type' => 'int',
  +    'name' => 'ap_run_handler',
  +    'args' => [
         {
  -        'name' => 'thethd',
  -        'type' => 'apr_os_thread_t *'
  -      },
  +        'type' => 'request_rec *',
  +        'name' => 'r'
  +      }
  +    ]
  +  },
  +  {
  +    'return_type' => 'int',
  +    'name' => 'ap_run_header_parser',
  +    'args' => [
         {
  -        'name' => 'cont',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'request_rec *',
  +        'name' => 'r'
         }
  -    ],
  -    'name' => 'apr_os_thread_put'
  +    ]
     },
     {
  -    'return_type' => 'apr_status_t',
  +    'return_type' => 'const char *',
  +    'name' => 'ap_run_http_method',
       'args' => [
         {
  -        'name' => 'key',
  -        'type' => 'apr_threadkey_t **'
  -      },
  +        'type' => 'const request_rec *',
  +        'name' => 'r'
  +      }
  +    ]
  +  },
  +  {
  +    'return_type' => 'void',
  +    'name' => 'ap_run_insert_filter',
  +    'args' => [
         {
  -        'name' => 'thekey',
  -        'type' => 'apr_os_threadkey_t *'
  -      },
  +        'type' => 'request_rec *',
  +        'name' => 'r'
  +      }
  +    ]
  +  },
  +  {
  +    'return_type' => 'int',
  +    'name' => 'ap_run_log_transaction',
  +    'args' => [
         {
  -        'name' => 'cont',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'request_rec *',
  +        'name' => 'r'
         }
  -    ],
  -    'name' => 'apr_os_threadkey_put'
  +    ]
     },
     {
  -    'return_type' => 'apr_status_t',
  +    'return_type' => 'void',
  +    'name' => 'ap_run_open_logs',
       'args' => [
  +      {
  +        'type' => 'apr_pool_t *',
  +        'name' => 'pconf'
  +      },
         {
  -        'name' => 'dso',
  -        'type' => 'apr_dso_handle_t **'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'plog'
         },
         {
  -        'name' => 'thedso',
  -        'type' => 'apr_os_dso_handle_t'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'ptemp'
         },
         {
  -        'name' => 'pool',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'server_rec *',
  +        'name' => 's'
         }
  -    ],
  -    'name' => 'apr_os_dso_handle_put'
  +    ]
     },
     {
  -    'return_type' => 'apr_status_t',
  +    'return_type' => 'void',
  +    'name' => 'ap_run_optional_fn_retrieve',
  +    'args' => []
  +  },
  +  {
  +    'return_type' => 'void',
  +    'name' => 'ap_run_post_config',
       'args' => [
  +      {
  +        'type' => 'apr_pool_t *',
  +        'name' => 'pconf'
  +      },
         {
  -        'name' => 'dso',
  -        'type' => 'apr_os_dso_handle_t *'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'plog'
         },
         {
  -        'name' => 'aprdso',
  -        'type' => 'apr_dso_handle_t *'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'ptemp'
  +      },
  +      {
  +        'type' => 'server_rec *',
  +        'name' => 's'
         }
  -    ],
  -    'name' => 'apr_os_dso_handle_get'
  -  },
  -  {
  -    'return_type' => 'apr_os_thread_t',
  -    'args' => [],
  -    'name' => 'apr_os_thread_current'
  +    ]
     },
     {
       'return_type' => 'int',
  +    'name' => 'ap_run_post_read_request',
       'args' => [
  -      {
  -        'name' => 'tid1',
  -        'type' => 'apr_os_thread_t'
  -      },
         {
  -        'name' => 'tid2',
  -        'type' => 'apr_os_thread_t'
  +        'type' => 'request_rec *',
  +        'name' => 'r'
         }
  -    ],
  -    'name' => 'apr_os_thread_equal'
  +    ]
     },
     {
  -    'return_type' => 'apr_status_t',
  +    'return_type' => 'void',
  +    'name' => 'ap_run_pre_config',
       'args' => [
  -      {
  -        'name' => 'm',
  -        'type' => 'apr_shmem_t **'
  -      },
         {
  -        'name' => 'reqsize',
  -        'type' => 'apr_size_t'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'pconf'
         },
         {
  -        'name' => 'file',
  -        'type' => 'const char *'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'plog'
         },
         {
  -        'name' => 'cont',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'ptemp'
         }
  -    ],
  -    'name' => 'apr_shm_init'
  +    ]
     },
     {
  -    'return_type' => 'apr_status_t',
  +    'return_type' => 'int',
  +    'name' => 'ap_run_pre_connection',
       'args' => [
         {
  -        'name' => 'm',
  -        'type' => 'apr_shmem_t *'
  +        'type' => 'conn_rec *',
  +        'name' => 'c'
         }
  -    ],
  -    'name' => 'apr_shm_destroy'
  +    ]
     },
     {
  -    'return_type' => 'void *',
  +    'return_type' => 'int',
  +    'name' => 'ap_run_process_connection',
       'args' => [
  -      {
  -        'name' => 'c',
  -        'type' => 'apr_shmem_t *'
  -      },
         {
  -        'name' => 'reqsize',
  -        'type' => 'apr_size_t'
  +        'type' => 'conn_rec *',
  +        'name' => 'c'
         }
  -    ],
  -    'name' => 'apr_shm_malloc'
  +    ]
     },
     {
  -    'return_type' => 'void *',
  +    'return_type' => 'int',
  +    'name' => 'ap_run_quick_handler',
       'args' => [
  -      {
  -        'name' => 'shared',
  -        'type' => 'apr_shmem_t *'
  -      },
         {
  -        'name' => 'size',
  -        'type' => 'apr_size_t'
  +        'type' => 'request_rec *',
  +        'name' => 'r'
         }
  -    ],
  -    'name' => 'apr_shm_calloc'
  +    ]
     },
     {
  -    'return_type' => 'apr_status_t',
  +    'return_type' => 'void',
  +    'name' => 'ap_run_rewrite_args',
       'args' => [
  -      {
  -        'name' => 'shared',
  -        'type' => 'apr_shmem_t *'
  -      },
         {
  -        'name' => 'entity',
  -        'type' => 'void *'
  +        'type' => 'process_rec *',
  +        'name' => 'process'
         }
  -    ],
  -    'name' => 'apr_shm_free'
  +    ]
     },
     {
  -    'return_type' => 'apr_status_t',
  +    'return_type' => 'int',
  +    'name' => 'ap_run_sub_req',
       'args' => [
  -      {
  -        'name' => 'c',
  -        'type' => 'apr_shmem_t *'
  -      },
         {
  -        'name' => 'name',
  -        'type' => 'apr_shm_name_t **'
  +        'type' => 'request_rec *',
  +        'name' => 'r'
         }
  -    ],
  -    'name' => 'apr_shm_name_get'
  +    ]
     },
     {
  -    'return_type' => 'apr_status_t',
  +    'return_type' => 'int',
  +    'name' => 'ap_run_translate_name',
       'args' => [
  -      {
  -        'name' => 'c',
  -        'type' => 'apr_shmem_t *'
  -      },
         {
  -        'name' => 'name',
  -        'type' => 'apr_shm_name_t *'
  +        'type' => 'request_rec *',
  +        'name' => 'r'
         }
  -    ],
  -    'name' => 'apr_shm_name_set'
  +    ]
     },
     {
  -    'return_type' => 'apr_status_t',
  +    'return_type' => 'int',
  +    'name' => 'ap_run_type_checker',
       'args' => [
         {
  -        'name' => 'c',
  -        'type' => 'apr_shmem_t *'
  +        'type' => 'request_rec *',
  +        'name' => 'r'
         }
  -    ],
  -    'name' => 'apr_shm_open'
  +    ]
     },
     {
  -    'return_type' => 'apr_status_t',
  +    'return_type' => 'int',
  +    'name' => 'ap_rvputs',
       'args' => [
         {
  -        'name' => 'c',
  -        'type' => 'apr_shmem_t *'
  +        'type' => 'request_rec *',
  +        'name' => 'r'
         },
         {
  -        'name' => 'avail',
  -        'type' => 'apr_size_t *'
  +        'type' => '...',
  +        'name' => 'arg1'
         }
  -    ],
  -    'name' => 'apr_shm_avail'
  +    ]
     },
     {
  -    'return_type' => 'apr_sigfunc_t *',
  +    'return_type' => 'int',
  +    'name' => 'ap_rwrite',
       'args' => [
  +      {
  +        'type' => 'const void *',
  +        'name' => 'buf'
  +      },
         {
  -        'name' => 'signo',
  -        'type' => 'int'
  +        'type' => 'int',
  +        'name' => 'nbyte'
         },
         {
  -        'name' => 'func',
  -        'type' => 'apr_sigfunc_t *'
  +        'type' => 'request_rec *',
  +        'name' => 'r'
         }
  -    ],
  -    'name' => 'apr_signal'
  +    ]
     },
     {
  -    'return_type' => 'const char *',
  +    'return_type' => 'int',
  +    'name' => 'ap_satisfies',
       'args' => [
         {
  -        'name' => 'signum',
  -        'type' => 'int'
  +        'type' => 'request_rec *',
  +        'name' => 'r'
         }
  -    ],
  -    'name' => 'apr_signal_get_description'
  +    ]
     },
     {
  -    'return_type' => 'void',
  +    'return_type' => 'apr_status_t',
  +    'name' => 'ap_save_brigade',
       'args' => [
  +      {
  +        'type' => 'ap_filter_t *',
  +        'name' => 'f'
  +      },
  +      {
  +        'type' => 'apr_bucket_brigade **',
  +        'name' => 'save_to'
  +      },
  +      {
  +        'type' => 'apr_bucket_brigade **',
  +        'name' => 'b'
  +      },
         {
  -        'name' => 'pglobal',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'p'
         }
  -    ],
  -    'name' => 'apr_signal_init'
  +    ]
     },
     {
       'return_type' => 'int',
  +    'name' => 'ap_scan_script_header_err',
       'args' => [
  +      {
  +        'type' => 'request_rec *',
  +        'name' => 'r'
  +      },
         {
  -        'name' => 'a',
  -        'type' => 'char const *'
  +        'type' => 'apr_file_t *',
  +        'name' => 'f'
         },
         {
  -        'name' => 'b',
  -        'type' => 'char const *'
  +        'type' => 'char *',
  +        'name' => 'buffer'
         }
  -    ],
  -    'name' => 'apr_strnatcmp'
  +    ]
     },
     {
       'return_type' => 'int',
  +    'name' => 'ap_scan_script_header_err_core',
       'args' => [
         {
  -        'name' => 'a',
  -        'type' => 'char const *'
  +        'type' => 'request_rec *',
  +        'name' => 'r'
         },
         {
  -        'name' => 'b',
  -        'type' => 'char const *'
  -      }
  -    ],
  -    'name' => 'apr_strnatcasecmp'
  -  },
  -  {
  -    'return_type' => 'char *',
  -    'args' => [
  +        'type' => 'char *',
  +        'name' => 'buffer'
  +      },
         {
  -        'name' => 'p',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'int (*getsfunc) (char *, int, void *)',
  +        'name' => 'arg2'
         },
         {
  -        'name' => 's',
  -        'type' => 'const char *'
  +        'type' => 'void *',
  +        'name' => 'getsfunc_data'
         }
  -    ],
  -    'name' => 'apr_pstrdup'
  +    ]
     },
     {
  -    'return_type' => 'char *',
  +    'return_type' => 'int',
  +    'name' => 'ap_scan_script_header_err_strs',
       'args' => [
         {
  -        'name' => 'p',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'request_rec *',
  +        'name' => 'r'
         },
         {
  -        'name' => 's',
  -        'type' => 'const char *'
  +        'type' => 'char *',
  +        'name' => 'buffer'
         },
  -      {
  -        'name' => 'n',
  -        'type' => 'apr_size_t'
  -      }
  -    ],
  -    'name' => 'apr_pstrndup'
  -  },
  -  {
  -    'return_type' => 'void *',
  -    'args' => [
         {
  -        'name' => 'p',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'const char **',
  +        'name' => 'termch'
         },
         {
  -        'name' => 'm',
  -        'type' => 'const void *'
  +        'type' => 'int *',
  +        'name' => 'termarg'
         },
         {
  -        'name' => 'n',
  -        'type' => 'apr_size_t'
  +        'type' => '...',
  +        'name' => 'arg4'
         }
  -    ],
  -    'name' => 'apr_pmemdup'
  +    ]
     },
     {
  -    'return_type' => 'char *',
  +    'return_type' => 'void',
  +    'name' => 'ap_send_error_response',
       'args' => [
         {
  -        'name' => 'p',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'request_rec *',
  +        'name' => 'r'
         },
         {
  -        'name' => 'arg1',
  -        'type' => '...'
  +        'type' => 'int',
  +        'name' => 'recursive_error'
         }
  -    ],
  -    'name' => 'apr_pstrcat'
  +    ]
     },
     {
  -    'return_type' => 'char *',
  +    'return_type' => 'apr_status_t',
  +    'name' => 'ap_send_fd',
       'args' => [
         {
  -        'name' => 'p',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'apr_file_t *',
  +        'name' => 'fd'
         },
         {
  -        'name' => 'fmt',
  -        'type' => 'const char *'
  +        'type' => 'request_rec *',
  +        'name' => 'r'
         },
  -      {
  -        'name' => 'ap',
  -        'type' => 'va_list'
  -      }
  -    ],
  -    'name' => 'apr_pvsprintf'
  -  },
  -  {
  -    'return_type' => 'char *',
  -    'args' => [
         {
  -        'name' => 'p',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'apr_off_t',
  +        'name' => 'offset'
         },
         {
  -        'name' => 'fmt',
  -        'type' => 'const char *'
  +        'type' => 'apr_size_t',
  +        'name' => 'length'
         },
         {
  -        'name' => 'arg2',
  -        'type' => '...'
  +        'type' => 'apr_size_t *',
  +        'name' => 'nbytes'
         }
  -    ],
  -    'name' => 'apr_psprintf'
  +    ]
     },
     {
  -    'return_type' => 'char *',
  +    'return_type' => 'size_t',
  +    'name' => 'ap_send_mmap',
       'args' => [
  +      {
  +        'type' => 'apr_mmap_t *',
  +        'name' => 'mm'
  +      },
         {
  -        'name' => 'dst',
  -        'type' => 'char *'
  +        'type' => 'request_rec *',
  +        'name' => 'r'
         },
         {
  -        'name' => 'src',
  -        'type' => 'const char *'
  +        'type' => 'size_t',
  +        'name' => 'offset'
         },
         {
  -        'name' => 'dst_size',
  -        'type' => 'size_t'
  +        'type' => 'size_t',
  +        'name' => 'length'
         }
  -    ],
  -    'name' => 'apr_cpystrn'
  +    ]
     },
     {
  -    'return_type' => 'char *',
  +    'return_type' => 'void',
  +    'name' => 'ap_send_size',
       'args' => [
         {
  -        'name' => 'dest',
  -        'type' => 'char *'
  +        'type' => 'apr_ssize_t',
  +        'name' => 'size'
         },
         {
  -        'name' => 'src',
  -        'type' => 'const char *'
  +        'type' => 'request_rec *',
  +        'name' => 'r'
         }
  -    ],
  -    'name' => 'apr_collapse_spaces'
  +    ]
     },
     {
  -    'return_type' => 'apr_status_t',
  +    'return_type' => 'const char *',
  +    'name' => 'ap_server_root_relative',
       'args' => [
  -      {
  -        'name' => 'arg_str',
  -        'type' => 'const char *'
  -      },
         {
  -        'name' => 'argv_out',
  -        'type' => 'char ***'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'p'
         },
         {
  -        'name' => 'token_context',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'const char *',
  +        'name' => 'fname'
         }
  -    ],
  -    'name' => 'apr_tokenize_to_argv'
  +    ]
     },
     {
  -    'return_type' => 'char *',
  +    'return_type' => 'void',
  +    'name' => 'ap_set_content_length',
       'args' => [
  -      {
  -        'name' => 'str',
  -        'type' => 'char *'
  -      },
         {
  -        'name' => 'sep',
  -        'type' => 'const char *'
  +        'type' => 'request_rec *',
  +        'name' => 'r'
         },
         {
  -        'name' => 'last',
  -        'type' => 'char **'
  +        'type' => 'apr_off_t',
  +        'name' => 'length'
         }
  -    ],
  -    'name' => 'apr_strtok'
  +    ]
     },
     {
  -    'return_type' => 'int',
  +    'return_type' => 'void',
  +    'name' => 'ap_set_etag',
       'args' => [
         {
  -        'name' => 'buf',
  -        'type' => 'char *'
  -      },
  +        'type' => 'request_rec *',
  +        'name' => 'r'
  +      }
  +    ]
  +  },
  +  {
  +    'return_type' => 'const char *',
  +    'name' => 'ap_set_file_slot',
  +    'args' => [
         {
  -        'name' => 'len',
  -        'type' => 'apr_size_t'
  +        'type' => 'cmd_parms *',
  +        'name' => 'cmd'
         },
         {
  -        'name' => 'format',
  -        'type' => 'const char *'
  +        'type' => 'void *',
  +        'name' => 'struct_ptr'
         },
         {
  -        'name' => 'arg3',
  -        'type' => '...'
  +        'type' => 'const char *',
  +        'name' => 'arg'
         }
  -    ],
  -    'name' => 'apr_snprintf'
  +    ]
     },
     {
  -    'return_type' => 'int',
  +    'return_type' => 'const char *',
  +    'name' => 'ap_set_flag_slot',
       'args' => [
  -      {
  -        'name' => 'buf',
  -        'type' => 'char *'
  -      },
         {
  -        'name' => 'len',
  -        'type' => 'apr_size_t'
  +        'type' => 'cmd_parms *',
  +        'name' => 'cmd'
         },
         {
  -        'name' => 'format',
  -        'type' => 'const char *'
  +        'type' => 'void *',
  +        'name' => 'struct_ptr'
         },
         {
  -        'name' => 'ap',
  -        'type' => 'va_list'
  +        'type' => 'int',
  +        'name' => 'arg'
         }
  -    ],
  -    'name' => 'apr_vsnprintf'
  +    ]
     },
     {
  -    'return_type' => 'apr_array_header_t *',
  +    'return_type' => 'const char *',
  +    'name' => 'ap_set_int_slot',
       'args' => [
         {
  -        'name' => 'p',
  -        'type' => 'struct apr_pool_t *'
  +        'type' => 'cmd_parms *',
  +        'name' => 'cmd'
         },
         {
  -        'name' => 'nelts',
  -        'type' => 'int'
  +        'type' => 'void *',
  +        'name' => 'struct_ptr'
         },
         {
  -        'name' => 'elt_size',
  -        'type' => 'int'
  +        'type' => 'const char *',
  +        'name' => 'arg'
         }
  -    ],
  -    'name' => 'apr_array_make'
  +    ]
     },
     {
  -    'return_type' => 'void *',
  +    'return_type' => 'int',
  +    'name' => 'ap_set_keepalive',
       'args' => [
         {
  -        'name' => 'arr',
  -        'type' => 'apr_array_header_t *'
  +        'type' => 'request_rec *',
  +        'name' => 'r'
         }
  -    ],
  -    'name' => 'apr_array_push'
  +    ]
     },
     {
       'return_type' => 'void',
  +    'name' => 'ap_set_last_modified',
       'args' => [
  -      {
  -        'name' => 'dst',
  -        'type' => 'apr_array_header_t *'
  -      },
         {
  -        'name' => 'src',
  -        'type' => 'const apr_array_header_t *'
  +        'type' => 'request_rec *',
  +        'name' => 'r'
         }
  -    ],
  -    'name' => 'apr_array_cat'
  +    ]
     },
     {
  -    'return_type' => 'apr_array_header_t *',
  +    'return_type' => 'const char *',
  +    'name' => 'ap_set_name_virtual_host',
       'args' => [
         {
  -        'name' => 'p',
  -        'type' => 'struct apr_pool_t *'
  +        'type' => 'cmd_parms *',
  +        'name' => 'cmd'
         },
  -      {
  -        'name' => 'arr',
  -        'type' => 'const apr_array_header_t *'
  -      }
  -    ],
  -    'name' => 'apr_array_copy'
  -  },
  -  {
  -    'return_type' => 'apr_array_header_t *',
  -    'args' => [
         {
  -        'name' => 'p',
  -        'type' => 'struct apr_pool_t *'
  +        'type' => 'void *',
  +        'name' => 'dummy'
         },
         {
  -        'name' => 'arr',
  -        'type' => 'const apr_array_header_t *'
  +        'type' => 'const char *',
  +        'name' => 'arg'
         }
  -    ],
  -    'name' => 'apr_array_copy_hdr'
  +    ]
     },
     {
  -    'return_type' => 'apr_array_header_t *',
  +    'return_type' => 'const char *',
  +    'name' => 'ap_set_string_slot',
       'args' => [
         {
  -        'name' => 'p',
  -        'type' => 'struct apr_pool_t *'
  +        'type' => 'cmd_parms *',
  +        'name' => 'cmd'
         },
         {
  -        'name' => 'first',
  -        'type' => 'const apr_array_header_t *'
  +        'type' => 'void *',
  +        'name' => 'struct_ptr'
         },
         {
  -        'name' => 'second',
  -        'type' => 'const apr_array_header_t *'
  +        'type' => 'const char *',
  +        'name' => 'arg'
         }
  -    ],
  -    'name' => 'apr_array_append'
  +    ]
     },
     {
  -    'return_type' => 'char *',
  +    'return_type' => 'const char *',
  +    'name' => 'ap_set_string_slot_lower',
       'args' => [
         {
  -        'name' => 'p',
  -        'type' => 'struct apr_pool_t *'
  +        'type' => 'cmd_parms *',
  +        'name' => 'cmd'
         },
         {
  -        'name' => 'arr',
  -        'type' => 'const apr_array_header_t *'
  +        'type' => 'void *',
  +        'name' => 'struct_ptr'
         },
         {
  -        'name' => 'sep',
  -        'type' => 'const char'
  +        'type' => 'const char *',
  +        'name' => 'arg'
         }
  -    ],
  -    'name' => 'apr_array_pstrcat'
  +    ]
     },
     {
  -    'return_type' => 'apr_table_t *',
  +    'return_type' => 'void',
  +    'name' => 'ap_set_sub_req_protocol',
       'args' => [
         {
  -        'name' => 'p',
  -        'type' => 'struct apr_pool_t *'
  +        'type' => 'request_rec *',
  +        'name' => 'rnew'
         },
         {
  -        'name' => 'nelts',
  -        'type' => 'int'
  +        'type' => 'const request_rec *',
  +        'name' => 'r'
         }
  -    ],
  -    'name' => 'apr_table_make'
  +    ]
     },
     {
  -    'return_type' => 'apr_table_t *',
  +    'return_type' => 'int',
  +    'name' => 'ap_setup_client_block',
       'args' => [
         {
  -        'name' => 'p',
  -        'type' => 'struct apr_pool_t *'
  +        'type' => 'request_rec *',
  +        'name' => 'r'
         },
         {
  -        'name' => 't',
  -        'type' => 'const apr_table_t *'
  +        'type' => 'int',
  +        'name' => 'read_policy'
         }
  -    ],
  -    'name' => 'apr_table_copy'
  +    ]
     },
     {
       'return_type' => 'void',
  +    'name' => 'ap_setup_prelinked_modules',
       'args' => [
         {
  -        'name' => 't',
  -        'type' => 'apr_table_t *'
  +        'type' => 'process_rec *',
  +        'name' => 'process'
         }
  -    ],
  -    'name' => 'apr_table_clear'
  +    ]
     },
     {
  -    'return_type' => 'const char *',
  +    'return_type' => 'int',
  +    'name' => 'ap_should_client_block',
       'args' => [
  -      {
  -        'name' => 't',
  -        'type' => 'const apr_table_t *'
  -      },
         {
  -        'name' => 'key',
  -        'type' => 'const char *'
  +        'type' => 'request_rec *',
  +        'name' => 'r'
         }
  -    ],
  -    'name' => 'apr_table_get'
  +    ]
  +  },
  +  {
  +    'return_type' => 'void',
  +    'name' => 'ap_show_directives',
  +    'args' => []
     },
     {
       'return_type' => 'void',
  +    'name' => 'ap_show_modules',
  +    'args' => []
  +  },
  +  {
  +    'return_type' => 'const char *',
  +    'name' => 'ap_show_mpm',
  +    'args' => []
  +  },
  +  {
  +    'return_type' => 'void',
  +    'name' => 'ap_single_module_configure',
       'args' => [
         {
  -        'name' => 't',
  -        'type' => 'apr_table_t *'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'p'
         },
         {
  -        'name' => 'key',
  -        'type' => 'const char *'
  +        'type' => 'server_rec *',
  +        'name' => 's'
         },
         {
  -        'name' => 'val',
  -        'type' => 'const char *'
  +        'type' => 'module *',
  +        'name' => 'm'
         }
  -    ],
  -    'name' => 'apr_table_set'
  +    ]
     },
     {
  -    'return_type' => 'void',
  +    'return_type' => 'const char *',
  +    'name' => 'ap_size_list_item',
       'args' => [
         {
  -        'name' => 't',
  -        'type' => 'apr_table_t *'
  +        'type' => 'const char **',
  +        'name' => 'field'
         },
         {
  -        'name' => 'key',
  -        'type' => 'const char *'
  -      },
  -      {
  -        'name' => 'val',
  -        'type' => 'const char *'
  +        'type' => 'int *',
  +        'name' => 'len'
         }
  -    ],
  -    'name' => 'apr_table_setn'
  +    ]
     },
     {
  -    'return_type' => 'void',
  +    'return_type' => 'const char *',
  +    'name' => 'ap_soak_end_container',
       'args' => [
         {
  -        'name' => 't',
  -        'type' => 'apr_table_t *'
  +        'type' => 'cmd_parms *',
  +        'name' => 'cmd'
         },
         {
  -        'name' => 'key',
  -        'type' => 'const char *'
  +        'type' => 'char *',
  +        'name' => 'directive'
         }
  -    ],
  -    'name' => 'apr_table_unset'
  +    ]
     },
     {
       'return_type' => 'void',
  +    'name' => 'ap_sock_disable_nagle',
       'args' => [
         {
  -        'name' => 't',
  -        'type' => 'apr_table_t *'
  -      },
  -      {
  -        'name' => 'key',
  -        'type' => 'const char *'
  -      },
  +        'type' => 'apr_socket_t *',
  +        'name' => 's'
  +      }
  +    ]
  +  },
  +  {
  +    'return_type' => 'int',
  +    'name' => 'ap_some_auth_required',
  +    'args' => [
         {
  -        'name' => 'val',
  -        'type' => 'const char *'
  +        'type' => 'request_rec *',
  +        'name' => 'r'
         }
  -    ],
  -    'name' => 'apr_table_merge'
  +    ]
     },
     {
       'return_type' => 'void',
  +    'name' => 'ap_str_tolower',
       'args' => [
         {
  -        'name' => 't',
  -        'type' => 'apr_table_t *'
  -      },
  +        'type' => 'char *',
  +        'name' => 's'
  +      }
  +    ]
  +  },
  +  {
  +    'return_type' => 'int',
  +    'name' => 'ap_strcasecmp_match',
  +    'args' => [
         {
  -        'name' => 'key',
  -        'type' => 'const char *'
  +        'type' => 'const char *',
  +        'name' => 'str'
         },
         {
  -        'name' => 'val',
  -        'type' => 'const char *'
  +        'type' => 'const char *',
  +        'name' => 'exp'
         }
  -    ],
  -    'name' => 'apr_table_mergen'
  +    ]
     },
     {
  -    'return_type' => 'void',
  +    'return_type' => 'char *',
  +    'name' => 'ap_strcasestr',
       'args' => [
         {
  -        'name' => 't',
  -        'type' => 'apr_table_t *'
  +        'type' => 'const char *',
  +        'name' => 's1'
         },
         {
  -        'name' => 'key',
  -        'type' => 'const char *'
  -      },
  -      {
  -        'name' => 'val',
  -        'type' => 'const char *'
  +        'type' => 'const char *',
  +        'name' => 's2'
         }
  -    ],
  -    'name' => 'apr_table_add'
  +    ]
     },
     {
  -    'return_type' => 'void',
  +    'return_type' => 'int',
  +    'name' => 'ap_strcmp_match',
       'args' => [
         {
  -        'name' => 't',
  -        'type' => 'apr_table_t *'
  +        'type' => 'const char *',
  +        'name' => 'str'
         },
         {
  -        'name' => 'key',
  -        'type' => 'const char *'
  -      },
  -      {
  -        'name' => 'val',
  -        'type' => 'const char *'
  +        'type' => 'const char *',
  +        'name' => 'exp'
         }
  -    ],
  -    'name' => 'apr_table_addn'
  +    ]
     },
     {
  -    'return_type' => 'apr_table_t *',
  +    'return_type' => 'const char *',
  +    'name' => 'ap_stripprefix',
       'args' => [
         {
  -        'name' => 'p',
  -        'type' => 'struct apr_pool_t *'
  +        'type' => 'const char *',
  +        'name' => 'bigstring'
         },
         {
  -        'name' => 'overlay',
  -        'type' => 'const apr_table_t *'
  -      },
  -      {
  -        'name' => 'base',
  -        'type' => 'const apr_table_t *'
  +        'type' => 'const char *',
  +        'name' => 'prefix'
         }
  -    ],
  -    'name' => 'apr_table_overlay'
  +    ]
     },
     {
  -    'return_type' => 'void',
  +    'return_type' => 'request_rec *',
  +    'name' => 'ap_sub_req_lookup_dirent',
       'args' => [
         {
  -        'name' => 'arg0',
  -        'type' => 'int (*comp)(void *, const char *, const char *)'
  +        'type' => 'const apr_finfo_t *',
  +        'name' => 'finfo'
         },
         {
  -        'name' => 'rec',
  -        'type' => 'void *'
  +        'type' => 'const request_rec *',
  +        'name' => 'r'
         },
         {
  -        'name' => 't',
  -        'type' => 'const apr_table_t *'
  -      },
  -      {
  -        'name' => 'arg3',
  -        'type' => '...'
  +        'type' => 'ap_filter_t *',
  +        'name' => 'next_filter'
         }
  -    ],
  -    'name' => 'apr_table_do'
  +    ]
     },
     {
  -    'return_type' => 'void',
  +    'return_type' => 'request_rec *',
  +    'name' => 'ap_sub_req_lookup_file',
       'args' => [
         {
  -        'name' => 'arg0',
  -        'type' => 'int (*comp)(void *, const char *, const char *)'
  +        'type' => 'const char *',
  +        'name' => 'new_file'
         },
         {
  -        'name' => 'rec',
  -        'type' => 'void *'
  +        'type' => 'const request_rec *',
  +        'name' => 'r'
         },
         {
  -        'name' => 't',
  -        'type' => 'const apr_table_t *'
  -      },
  -      {
  -        'name' => 'arg3',
  -        'type' => 'va_list'
  +        'type' => 'ap_filter_t *',
  +        'name' => 'next_filter'
         }
  -    ],
  -    'name' => 'apr_table_vdo'
  +    ]
     },
     {
  -    'return_type' => 'void',
  +    'return_type' => 'request_rec *',
  +    'name' => 'ap_sub_req_lookup_uri',
       'args' => [
         {
  -        'name' => 'a',
  -        'type' => 'apr_table_t *'
  +        'type' => 'const char *',
  +        'name' => 'new_file'
         },
         {
  -        'name' => 'b',
  -        'type' => 'const apr_table_t *'
  +        'type' => 'const request_rec *',
  +        'name' => 'r'
         },
         {
  -        'name' => 'flags',
  -        'type' => 'unsigned'
  +        'type' => 'ap_filter_t *',
  +        'name' => 'next_filter'
         }
  -    ],
  -    'name' => 'apr_table_overlap'
  +    ]
     },
     {
  -    'return_type' => 'void',
  +    'return_type' => 'request_rec *',
  +    'name' => 'ap_sub_req_method_uri',
       'args' => [
         {
  -        'name' => 'uuid',
  -        'type' => 'apr_uuid_t *'
  -      }
  -    ],
  -    'name' => 'apr_uuid_get'
  -  },
  -  {
  -    'return_type' => 'void',
  -    'args' => [
  +        'type' => 'const char *',
  +        'name' => 'method'
  +      },
         {
  -        'name' => 'buffer',
  -        'type' => 'char *'
  +        'type' => 'const char *',
  +        'name' => 'new_file'
         },
         {
  -        'name' => 'uuid',
  -        'type' => 'const apr_uuid_t *'
  +        'type' => 'const request_rec *',
  +        'name' => 'r'
  +      },
  +      {
  +        'type' => 'ap_filter_t *',
  +        'name' => 'next_filter'
         }
  -    ],
  -    'name' => 'apr_uuid_format'
  +    ]
     },
     {
       'return_type' => 'apr_status_t',
  +    'name' => 'ap_sub_req_output_filter',
       'args' => [
         {
  -        'name' => 'uuid',
  -        'type' => 'apr_uuid_t *'
  +        'type' => 'ap_filter_t *',
  +        'name' => 'f'
         },
         {
  -        'name' => 'uuid_str',
  -        'type' => 'const char *'
  +        'type' => 'apr_bucket_brigade *',
  +        'name' => 'bb'
         }
  -    ],
  -    'name' => 'apr_uuid_parse'
  +    ]
     },
     {
  -    'return_type' => 'int',
  -    'args' => [
  -      {
  -        'name' => 'len',
  -        'type' => 'int'
  -      }
  -    ],
  -    'name' => 'apr_base64_encode_len'
  +    'return_type' => 'void',
  +    'name' => 'ap_sync_scoreboard_image',
  +    'args' => []
     },
     {
  -    'return_type' => 'int',
  +    'return_type' => 'void',
  +    'name' => 'ap_time_process_request',
       'args' => [
         {
  -        'name' => 'coded_dst',
  -        'type' => 'char *'
  +        'type' => 'int',
  +        'name' => 'child_num'
         },
         {
  -        'name' => 'plain_src',
  -        'type' => 'const char *'
  +        'type' => 'int',
  +        'name' => 'thread_num'
         },
         {
  -        'name' => 'len_plain_src',
  -        'type' => 'int'
  +        'type' => 'int',
  +        'name' => 'status'
         }
  -    ],
  -    'name' => 'apr_base64_encode'
  +    ]
     },
     {
  -    'return_type' => 'int',
  +    'return_type' => 'uid_t',
  +    'name' => 'ap_uname2id',
       'args' => [
  -      {
  -        'name' => 'coded_dst',
  -        'type' => 'char *'
  -      },
  -      {
  -        'name' => 'plain_src',
  -        'type' => 'const unsigned char *'
  -      },
         {
  -        'name' => 'len_plain_src',
  -        'type' => 'int'
  +        'type' => 'const char *',
  +        'name' => 'name'
         }
  -    ],
  -    'name' => 'apr_base64_encode_binary'
  +    ]
     },
     {
       'return_type' => 'int',
  +    'name' => 'ap_unescape_url',
       'args' => [
         {
  -        'name' => 'coded_src',
  -        'type' => 'const char *'
  +        'type' => 'char *',
  +        'name' => 'url'
         }
  -    ],
  -    'name' => 'apr_base64_decode_len'
  +    ]
     },
     {
       'return_type' => 'int',
  +    'name' => 'ap_update_child_status',
       'args' => [
         {
  -        'name' => 'plain_dst',
  -        'type' => 'char *'
  +        'type' => 'int',
  +        'name' => 'child_num'
         },
         {
  -        'name' => 'coded_src',
  -        'type' => 'const char *'
  -      }
  -    ],
  -    'name' => 'apr_base64_decode'
  -  },
  -  {
  -    'return_type' => 'int',
  -    'args' => [
  +        'type' => 'int',
  +        'name' => 'thread_num'
  +      },
         {
  -        'name' => 'plain_dst',
  -        'type' => 'unsigned char *'
  +        'type' => 'int',
  +        'name' => 'status'
         },
         {
  -        'name' => 'coded_src',
  -        'type' => 'const char *'
  +        'type' => 'request_rec *',
  +        'name' => 'r'
         }
  -    ],
  -    'name' => 'apr_base64_decode_binary'
  +    ]
     },
     {
  -    'return_type' => 'apr_bucket_brigade *',
  +    'return_type' => 'void',
  +    'name' => 'ap_update_mtime',
       'args' => [
  +      {
  +        'type' => 'request_rec *',
  +        'name' => 'r'
  +      },
         {
  -        'name' => 'p',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'apr_time_t',
  +        'name' => 'dependency_mtime'
         }
  -    ],
  -    'name' => 'apr_brigade_create'
  +    ]
     },
     {
  -    'return_type' => 'apr_status_t',
  +    'return_type' => 'void',
  +    'name' => 'ap_update_vhost_from_headers',
       'args' => [
         {
  -        'name' => 'b',
  -        'type' => 'apr_bucket_brigade *'
  +        'type' => 'request_rec *',
  +        'name' => 'r'
         }
  -    ],
  -    'name' => 'apr_brigade_destroy'
  +    ]
     },
     {
  -    'return_type' => 'apr_status_t',
  +    'return_type' => 'void',
  +    'name' => 'ap_update_vhost_given_ip',
       'args' => [
         {
  -        'name' => 'data',
  -        'type' => 'void *'
  +        'type' => 'conn_rec *',
  +        'name' => 'conn'
         }
  -    ],
  -    'name' => 'apr_brigade_cleanup'
  +    ]
     },
     {
  -    'return_type' => 'apr_bucket_brigade *',
  +    'return_type' => 'int',
  +    'name' => 'ap_vrprintf',
       'args' => [
  +      {
  +        'type' => 'request_rec *',
  +        'name' => 'r'
  +      },
         {
  -        'name' => 'b',
  -        'type' => 'apr_bucket_brigade *'
  +        'type' => 'const char *',
  +        'name' => 'fmt'
         },
         {
  -        'name' => 'e',
  -        'type' => 'apr_bucket *'
  +        'type' => 'va_list',
  +        'name' => 'vlist'
         }
  -    ],
  -    'name' => 'apr_brigade_split'
  +    ]
     },
     {
  -    'return_type' => 'apr_status_t',
  +    'return_type' => 'void',
  +    'name' => 'ap_wait_or_timeout',
       'args' => [
         {
  -        'name' => 'b',
  -        'type' => 'apr_bucket_brigade *'
  +        'type' => 'int *',
  +        'name' => 'status'
         },
         {
  -        'name' => 'point',
  -        'type' => 'apr_off_t'
  +        'type' => 'apr_proc_t *',
  +        'name' => 'ret'
         },
         {
  -        'name' => 'after_point',
  -        'type' => 'apr_bucket **'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'p'
         }
  -    ],
  -    'name' => 'apr_brigade_partition'
  +    ]
     },
     {
  -    'return_type' => 'apr_status_t',
  +    'return_type' => 'const char *',
  +    'name' => 'ap_walk_config',
       'args' => [
         {
  -        'name' => 'bb',
  -        'type' => 'apr_bucket_brigade *'
  +        'type' => 'ap_directive_t *',
  +        'name' => 'conftree'
         },
         {
  -        'name' => 'read_all',
  -        'type' => 'int'
  +        'type' => 'cmd_parms *',
  +        'name' => 'parms'
         },
         {
  -        'name' => 'length',
  -        'type' => 'apr_ssize_t *'
  +        'type' => 'ap_conf_vector_t *',
  +        'name' => 'section_vector'
         }
  -    ],
  -    'name' => 'apr_brigade_length'
  +    ]
     },
     {
  -    'return_type' => 'apr_status_t',
  +    'return_type' => 'int',
  +    'name' => 'ap_xml_parse_input',
       'args' => [
  -      {
  -        'name' => 'b',
  -        'type' => 'apr_bucket_brigade *'
  -      },
         {
  -        'name' => 'vec',
  -        'type' => 'struct iovec *'
  +        'type' => 'request_rec *',
  +        'name' => 'r'
         },
         {
  -        'name' => 'nvec',
  -        'type' => 'int *'
  +        'type' => 'apr_xml_doc **',
  +        'name' => 'pdoc'
         }
  -    ],
  -    'name' => 'apr_brigade_to_iovec'
  +    ]
     },
     {
       'return_type' => 'apr_status_t',
  +    'name' => 'apr_accept',
       'args' => [
  -      {
  -        'name' => 'b',
  -        'type' => 'apr_bucket_brigade *'
  -      },
         {
  -        'name' => 'flush',
  -        'type' => 'apr_brigade_flush'
  +        'type' => 'apr_socket_t **',
  +        'name' => 'new_sock'
         },
         {
  -        'name' => 'ctx',
  -        'type' => 'void *'
  +        'type' => 'apr_socket_t *',
  +        'name' => 'sock'
         },
         {
  -        'name' => 'va',
  -        'type' => 'va_list'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'connection_pool'
         }
  -    ],
  -    'name' => 'apr_brigade_vputstrs'
  +    ]
     },
     {
       'return_type' => 'apr_status_t',
  +    'name' => 'apr_ansi_time_to_apr_time',
       'args' => [
  -      {
  -        'name' => 'b',
  -        'type' => 'apr_bucket_brigade *'
  -      },
  -      {
  -        'name' => 'flush',
  -        'type' => 'apr_brigade_flush'
  -      },
  -      {
  -        'name' => 'ctx',
  -        'type' => 'void *'
  -      },
         {
  -        'name' => 'str',
  -        'type' => 'const char *'
  +        'type' => 'apr_time_t *',
  +        'name' => 'result'
         },
         {
  -        'name' => 'nbyte',
  -        'type' => 'apr_size_t'
  +        'type' => 'time_t',
  +        'name' => 'input'
         }
  -    ],
  -    'name' => 'apr_brigade_write'
  +    ]
     },
     {
  -    'return_type' => 'apr_status_t',
  +    'return_type' => 'apr_array_header_t *',
  +    'name' => 'apr_array_append',
       'args' => [
  -      {
  -        'name' => 'b',
  -        'type' => 'apr_bucket_brigade *'
  -      },
         {
  -        'name' => 'flush',
  -        'type' => 'apr_brigade_flush'
  +        'type' => 'struct apr_pool_t *',
  +        'name' => 'p'
         },
         {
  -        'name' => 'ctx',
  -        'type' => 'void *'
  +        'type' => 'const apr_array_header_t *',
  +        'name' => 'first'
         },
         {
  -        'name' => 'str',
  -        'type' => 'const char *'
  +        'type' => 'const apr_array_header_t *',
  +        'name' => 'second'
         }
  -    ],
  -    'name' => 'apr_brigade_puts'
  +    ]
     },
     {
  -    'return_type' => 'apr_status_t',
  +    'return_type' => 'void',
  +    'name' => 'apr_array_cat',
       'args' => [
  -      {
  -        'name' => 'b',
  -        'type' => 'apr_bucket_brigade *'
  -      },
  -      {
  -        'name' => 'flush',
  -        'type' => 'apr_brigade_flush'
  -      },
         {
  -        'name' => 'ctx',
  -        'type' => 'void *'
  +        'type' => 'apr_array_header_t *',
  +        'name' => 'dst'
         },
         {
  -        'name' => 'c',
  -        'type' => 'const char'
  +        'type' => 'const apr_array_header_t *',
  +        'name' => 'src'
         }
  -    ],
  -    'name' => 'apr_brigade_putc'
  +    ]
     },
     {
  -    'return_type' => 'apr_status_t',
  +    'return_type' => 'apr_array_header_t *',
  +    'name' => 'apr_array_copy',
       'args' => [
  -      {
  -        'name' => 'b',
  -        'type' => 'apr_bucket_brigade *'
  -      },
  -      {
  -        'name' => 'flush',
  -        'type' => 'apr_brigade_flush'
  -      },
         {
  -        'name' => 'ctx',
  -        'type' => 'void *'
  +        'type' => 'struct apr_pool_t *',
  +        'name' => 'p'
         },
         {
  -        'name' => 'arg3',
  -        'type' => '...'
  +        'type' => 'const apr_array_header_t *',
  +        'name' => 'arr'
         }
  -    ],
  -    'name' => 'apr_brigade_putstrs'
  +    ]
     },
     {
  -    'return_type' => 'apr_status_t',
  +    'return_type' => 'apr_array_header_t *',
  +    'name' => 'apr_array_copy_hdr',
       'args' => [
  -      {
  -        'name' => 'b',
  -        'type' => 'apr_bucket_brigade *'
  -      },
  -      {
  -        'name' => 'flush',
  -        'type' => 'apr_brigade_flush'
  -      },
  -      {
  -        'name' => 'ctx',
  -        'type' => 'void *'
  -      },
         {
  -        'name' => 'fmt',
  -        'type' => 'const char *'
  +        'type' => 'struct apr_pool_t *',
  +        'name' => 'p'
         },
         {
  -        'name' => 'arg4',
  -        'type' => '...'
  +        'type' => 'const apr_array_header_t *',
  +        'name' => 'arr'
         }
  -    ],
  -    'name' => 'apr_brigade_printf'
  +    ]
     },
     {
  -    'return_type' => 'apr_status_t',
  +    'return_type' => 'apr_array_header_t *',
  +    'name' => 'apr_array_make',
       'args' => [
  -      {
  -        'name' => 'b',
  -        'type' => 'apr_bucket_brigade *'
  -      },
  -      {
  -        'name' => 'flush',
  -        'type' => 'apr_brigade_flush'
  -      },
         {
  -        'name' => 'ctx',
  -        'type' => 'void *'
  +        'type' => 'struct apr_pool_t *',
  +        'name' => 'p'
         },
         {
  -        'name' => 'fmt',
  -        'type' => 'const char *'
  +        'type' => 'int',
  +        'name' => 'nelts'
         },
         {
  -        'name' => 'va',
  -        'type' => 'va_list'
  +        'type' => 'int',
  +        'name' => 'elt_size'
         }
  -    ],
  -    'name' => 'apr_brigade_vprintf'
  +    ]
     },
     {
  -    'return_type' => 'apr_status_t',
  +    'return_type' => 'char *',
  +    'name' => 'apr_array_pstrcat',
       'args' => [
  +      {
  +        'type' => 'struct apr_pool_t *',
  +        'name' => 'p'
  +      },
         {
  -        'name' => 'data',
  -        'type' => 'apr_bucket *'
  +        'type' => 'const apr_array_header_t *',
  +        'name' => 'arr'
         },
         {
  -        'name' => 'pool',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'const char',
  +        'name' => 'sep'
         }
  -    ],
  -    'name' => 'apr_bucket_setaside_noop'
  +    ]
     },
     {
  -    'return_type' => 'apr_status_t',
  +    'return_type' => 'void *',
  +    'name' => 'apr_array_push',
       'args' => [
  -      {
  -        'name' => 'data',
  -        'type' => 'apr_bucket *'
  -      },
         {
  -        'name' => 'pool',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'apr_array_header_t *',
  +        'name' => 'arr'
         }
  -    ],
  -    'name' => 'apr_bucket_setaside_notimpl'
  +    ]
     },
     {
  -    'return_type' => 'apr_status_t',
  +    'return_type' => 'int',
  +    'name' => 'apr_base64_decode',
       'args' => [
         {
  -        'name' => 'data',
  -        'type' => 'apr_bucket *'
  +        'type' => 'char *',
  +        'name' => 'plain_dst'
         },
         {
  -        'name' => 'point',
  -        'type' => 'apr_off_t'
  +        'type' => 'const char *',
  +        'name' => 'coded_src'
         }
  -    ],
  -    'name' => 'apr_bucket_split_notimpl'
  +    ]
     },
     {
  -    'return_type' => 'apr_status_t',
  +    'return_type' => 'int',
  +    'name' => 'apr_base64_decode_binary',
       'args' => [
         {
  -        'name' => 'e',
  -        'type' => 'apr_bucket *'
  +        'type' => 'unsigned char *',
  +        'name' => 'plain_dst'
         },
         {
  -        'name' => 'c',
  -        'type' => 'apr_bucket **'
  +        'type' => 'const char *',
  +        'name' => 'coded_src'
         }
  -    ],
  -    'name' => 'apr_bucket_copy_notimpl'
  +    ]
     },
     {
  -    'return_type' => 'void',
  +    'return_type' => 'int',
  +    'name' => 'apr_base64_decode_len',
       'args' => [
         {
  -        'name' => 'data',
  -        'type' => 'void *'
  +        'type' => 'const char *',
  +        'name' => 'coded_src'
         }
  -    ],
  -    'name' => 'apr_bucket_destroy_noop'
  +    ]
     },
     {
  -    'return_type' => 'apr_status_t',
  +    'return_type' => 'int',
  +    'name' => 'apr_base64_encode',
       'args' => [
         {
  -        'name' => 'b',
  -        'type' => 'apr_bucket *'
  +        'type' => 'char *',
  +        'name' => 'coded_dst'
         },
  -      {
  -        'name' => 'point',
  -        'type' => 'apr_off_t'
  -      }
  -    ],
  -    'name' => 'apr_bucket_simple_split'
  -  },
  -  {
  -    'return_type' => 'apr_status_t',
  -    'args' => [
         {
  -        'name' => 'a',
  -        'type' => 'apr_bucket *'
  +        'type' => 'const char *',
  +        'name' => 'plain_src'
         },
         {
  -        'name' => 'b',
  -        'type' => 'apr_bucket **'
  +        'type' => 'int',
  +        'name' => 'len_plain_src'
         }
  -    ],
  -    'name' => 'apr_bucket_simple_copy'
  +    ]
     },
     {
  -    'return_type' => 'apr_bucket *',
  +    'return_type' => 'int',
  +    'name' => 'apr_base64_encode_binary',
       'args' => [
  -      {
  -        'name' => 'b',
  -        'type' => 'apr_bucket *'
  -      },
         {
  -        'name' => 'data',
  -        'type' => 'void *'
  +        'type' => 'char *',
  +        'name' => 'coded_dst'
         },
         {
  -        'name' => 'start',
  -        'type' => 'apr_off_t'
  +        'type' => 'const unsigned char *',
  +        'name' => 'plain_src'
         },
         {
  -        'name' => 'length',
  -        'type' => 'apr_off_t'
  +        'type' => 'int',
  +        'name' => 'len_plain_src'
         }
  -    ],
  -    'name' => 'apr_bucket_shared_make'
  +    ]
     },
     {
       'return_type' => 'int',
  +    'name' => 'apr_base64_encode_len',
       'args' => [
         {
  -        'name' => 'data',
  -        'type' => 'void *'
  +        'type' => 'int',
  +        'name' => 'len'
         }
  -    ],
  -    'name' => 'apr_bucket_shared_destroy'
  +    ]
     },
     {
       'return_type' => 'apr_status_t',
  +    'name' => 'apr_bind',
       'args' => [
         {
  -        'name' => 'b',
  -        'type' => 'apr_bucket *'
  +        'type' => 'apr_socket_t *',
  +        'name' => 'sock'
         },
         {
  -        'name' => 'point',
  -        'type' => 'apr_off_t'
  +        'type' => 'apr_sockaddr_t *',
  +        'name' => 'sa'
         }
  -    ],
  -    'name' => 'apr_bucket_shared_split'
  +    ]
     },
     {
       'return_type' => 'apr_status_t',
  +    'name' => 'apr_brigade_cleanup',
       'args' => [
  -      {
  -        'name' => 'a',
  -        'type' => 'apr_bucket *'
  -      },
         {
  -        'name' => 'b',
  -        'type' => 'apr_bucket **'
  +        'type' => 'void *',
  +        'name' => 'data'
         }
  -    ],
  -    'name' => 'apr_bucket_shared_copy'
  -  },
  -  {
  -    'return_type' => 'apr_bucket *',
  -    'args' => [],
  -    'name' => 'apr_bucket_eos_create'
  +    ]
     },
     {
  -    'return_type' => 'apr_bucket *',
  +    'return_type' => 'apr_bucket_brigade *',
  +    'name' => 'apr_brigade_create',
       'args' => [
         {
  -        'name' => 'b',
  -        'type' => 'apr_bucket *'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'p'
         }
  -    ],
  -    'name' => 'apr_bucket_eos_make'
  +    ]
     },
     {
  -    'return_type' => 'apr_bucket *',
  -    'args' => [],
  -    'name' => 'apr_bucket_flush_create'
  -  },
  -  {
  -    'return_type' => 'apr_bucket *',
  +    'return_type' => 'apr_status_t',
  +    'name' => 'apr_brigade_destroy',
       'args' => [
         {
  -        'name' => 'b',
  -        'type' => 'apr_bucket *'
  +        'type' => 'apr_bucket_brigade *',
  +        'name' => 'b'
         }
  -    ],
  -    'name' => 'apr_bucket_flush_make'
  +    ]
     },
     {
  -    'return_type' => 'apr_bucket *',
  +    'return_type' => 'apr_status_t',
  +    'name' => 'apr_brigade_length',
       'args' => [
  +      {
  +        'type' => 'apr_bucket_brigade *',
  +        'name' => 'bb'
  +      },
         {
  -        'name' => 'buf',
  -        'type' => 'const char *'
  +        'type' => 'int',
  +        'name' => 'read_all'
         },
         {
  -        'name' => 'nbyte',
  -        'type' => 'apr_size_t'
  +        'type' => 'apr_ssize_t *',
  +        'name' => 'length'
         }
  -    ],
  -    'name' => 'apr_bucket_immortal_create'
  +    ]
     },
     {
  -    'return_type' => 'apr_bucket *',
  +    'return_type' => 'apr_status_t',
  +    'name' => 'apr_brigade_partition',
       'args' => [
         {
  -        'name' => 'b',
  -        'type' => 'apr_bucket *'
  +        'type' => 'apr_bucket_brigade *',
  +        'name' => 'b'
         },
         {
  -        'name' => 'buf',
  -        'type' => 'const char *'
  +        'type' => 'apr_off_t',
  +        'name' => 'point'
         },
         {
  -        'name' => 'nbyte',
  -        'type' => 'apr_size_t'
  +        'type' => 'apr_bucket **',
  +        'name' => 'after_point'
         }
  -    ],
  -    'name' => 'apr_bucket_immortal_make'
  +    ]
     },
     {
  -    'return_type' => 'apr_bucket *',
  +    'return_type' => 'apr_status_t',
  +    'name' => 'apr_brigade_printf',
       'args' => [
  +      {
  +        'type' => 'apr_bucket_brigade *',
  +        'name' => 'b'
  +      },
  +      {
  +        'type' => 'apr_brigade_flush',
  +        'name' => 'flush'
  +      },
  +      {
  +        'type' => 'void *',
  +        'name' => 'ctx'
  +      },
         {
  -        'name' => 'buf',
  -        'type' => 'const char *'
  +        'type' => 'const char *',
  +        'name' => 'fmt'
         },
         {
  -        'name' => 'nbyte',
  -        'type' => 'apr_size_t'
  +        'type' => '...',
  +        'name' => 'arg4'
         }
  -    ],
  -    'name' => 'apr_bucket_transient_create'
  +    ]
     },
     {
  -    'return_type' => 'apr_bucket *',
  +    'return_type' => 'apr_status_t',
  +    'name' => 'apr_brigade_putc',
       'args' => [
  +      {
  +        'type' => 'apr_bucket_brigade *',
  +        'name' => 'b'
  +      },
         {
  -        'name' => 'b',
  -        'type' => 'apr_bucket *'
  +        'type' => 'apr_brigade_flush',
  +        'name' => 'flush'
         },
         {
  -        'name' => 'buf',
  -        'type' => 'const char *'
  +        'type' => 'void *',
  +        'name' => 'ctx'
         },
         {
  -        'name' => 'nbyte',
  -        'type' => 'apr_size_t'
  +        'type' => 'const char',
  +        'name' => 'c'
         }
  -    ],
  -    'name' => 'apr_bucket_transient_make'
  +    ]
     },
     {
  -    'return_type' => 'apr_bucket *',
  +    'return_type' => 'apr_status_t',
  +    'name' => 'apr_brigade_puts',
       'args' => [
         {
  -        'name' => 'buf',
  -        'type' => 'const char *'
  +        'type' => 'apr_bucket_brigade *',
  +        'name' => 'b'
         },
         {
  -        'name' => 'nbyte',
  -        'type' => 'apr_size_t'
  +        'type' => 'apr_brigade_flush',
  +        'name' => 'flush'
         },
         {
  -        'name' => 'copy',
  -        'type' => 'int'
  +        'type' => 'void *',
  +        'name' => 'ctx'
         },
         {
  -        'name' => 'w',
  -        'type' => 'apr_size_t *'
  +        'type' => 'const char *',
  +        'name' => 'str'
         }
  -    ],
  -    'name' => 'apr_bucket_heap_create'
  +    ]
     },
     {
  -    'return_type' => 'apr_bucket *',
  +    'return_type' => 'apr_status_t',
  +    'name' => 'apr_brigade_putstrs',
       'args' => [
         {
  -        'name' => 'b',
  -        'type' => 'apr_bucket *'
  +        'type' => 'apr_bucket_brigade *',
  +        'name' => 'b'
         },
         {
  -        'name' => 'buf',
  -        'type' => 'const char *'
  +        'type' => 'apr_brigade_flush',
  +        'name' => 'flush'
         },
         {
  -        'name' => 'nbyte',
  -        'type' => 'apr_size_t'
  +        'type' => 'void *',
  +        'name' => 'ctx'
         },
  +      {
  +        'type' => '...',
  +        'name' => 'arg3'
  +      }
  +    ]
  +  },
  +  {
  +    'return_type' => 'apr_bucket_brigade *',
  +    'name' => 'apr_brigade_split',
  +    'args' => [
         {
  -        'name' => 'copy',
  -        'type' => 'int'
  +        'type' => 'apr_bucket_brigade *',
  +        'name' => 'b'
         },
         {
  -        'name' => 'w',
  -        'type' => 'apr_size_t *'
  +        'type' => 'apr_bucket *',
  +        'name' => 'e'
         }
  -    ],
  -    'name' => 'apr_bucket_heap_make'
  +    ]
     },
     {
  -    'return_type' => 'apr_bucket *',
  +    'return_type' => 'apr_status_t',
  +    'name' => 'apr_brigade_to_iovec',
       'args' => [
         {
  -        'name' => 'buf',
  -        'type' => 'const char *'
  +        'type' => 'apr_bucket_brigade *',
  +        'name' => 'b'
         },
         {
  -        'name' => 'length',
  -        'type' => 'apr_size_t'
  +        'type' => 'struct iovec *',
  +        'name' => 'vec'
         },
         {
  -        'name' => 'pool',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'int *',
  +        'name' => 'nvec'
         }
  -    ],
  -    'name' => 'apr_bucket_pool_create'
  +    ]
     },
     {
  -    'return_type' => 'apr_bucket *',
  +    'return_type' => 'apr_status_t',
  +    'name' => 'apr_brigade_vprintf',
       'args' => [
  +      {
  +        'type' => 'apr_bucket_brigade *',
  +        'name' => 'b'
  +      },
         {
  -        'name' => 'b',
  -        'type' => 'apr_bucket *'
  +        'type' => 'apr_brigade_flush',
  +        'name' => 'flush'
         },
         {
  -        'name' => 'buf',
  -        'type' => 'const char *'
  +        'type' => 'void *',
  +        'name' => 'ctx'
         },
         {
  -        'name' => 'length',
  -        'type' => 'apr_size_t'
  +        'type' => 'const char *',
  +        'name' => 'fmt'
         },
         {
  -        'name' => 'pool',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'va_list',
  +        'name' => 'va'
         }
  -    ],
  -    'name' => 'apr_bucket_pool_make'
  +    ]
     },
     {
  -    'return_type' => 'apr_bucket *',
  +    'return_type' => 'apr_status_t',
  +    'name' => 'apr_brigade_vputstrs',
       'args' => [
  +      {
  +        'type' => 'apr_bucket_brigade *',
  +        'name' => 'b'
  +      },
         {
  -        'name' => 'mm',
  -        'type' => 'apr_mmap_t *'
  +        'type' => 'apr_brigade_flush',
  +        'name' => 'flush'
         },
         {
  -        'name' => 'start',
  -        'type' => 'apr_off_t'
  +        'type' => 'void *',
  +        'name' => 'ctx'
         },
         {
  -        'name' => 'length',
  -        'type' => 'apr_size_t'
  +        'type' => 'va_list',
  +        'name' => 'va'
         }
  -    ],
  -    'name' => 'apr_bucket_mmap_create'
  +    ]
     },
     {
  -    'return_type' => 'apr_bucket *',
  +    'return_type' => 'apr_status_t',
  +    'name' => 'apr_brigade_write',
       'args' => [
         {
  -        'name' => 'b',
  -        'type' => 'apr_bucket *'
  +        'type' => 'apr_bucket_brigade *',
  +        'name' => 'b'
         },
         {
  -        'name' => 'mm',
  -        'type' => 'apr_mmap_t *'
  +        'type' => 'apr_brigade_flush',
  +        'name' => 'flush'
         },
         {
  -        'name' => 'start',
  -        'type' => 'apr_off_t'
  +        'type' => 'void *',
  +        'name' => 'ctx'
         },
         {
  -        'name' => 'length',
  -        'type' => 'apr_size_t'
  -      }
  -    ],
  -    'name' => 'apr_bucket_mmap_make'
  -  },
  -  {
  -    'return_type' => 'apr_bucket *',
  -    'args' => [
  +        'type' => 'const char *',
  +        'name' => 'str'
  +      },
         {
  -        'name' => 'thissock',
  -        'type' => 'apr_socket_t *'
  +        'type' => 'apr_size_t',
  +        'name' => 'nbyte'
         }
  -    ],
  -    'name' => 'apr_bucket_socket_create'
  +    ]
     },
     {
  -    'return_type' => 'apr_bucket *',
  +    'return_type' => 'apr_status_t',
  +    'name' => 'apr_bucket_copy_notimpl',
       'args' => [
         {
  -        'name' => 'b',
  -        'type' => 'apr_bucket *'
  +        'type' => 'apr_bucket *',
  +        'name' => 'e'
         },
         {
  -        'name' => 'thissock',
  -        'type' => 'apr_socket_t *'
  +        'type' => 'apr_bucket **',
  +        'name' => 'c'
         }
  -    ],
  -    'name' => 'apr_bucket_socket_make'
  +    ]
     },
     {
  -    'return_type' => 'apr_bucket *',
  +    'return_type' => 'void',
  +    'name' => 'apr_bucket_destroy_noop',
       'args' => [
         {
  -        'name' => 'thispipe',
  -        'type' => 'apr_file_t *'
  +        'type' => 'void *',
  +        'name' => 'data'
         }
  -    ],
  -    'name' => 'apr_bucket_pipe_create'
  +    ]
     },
     {
       'return_type' => 'apr_bucket *',
  -    'args' => [
  -      {
  -        'name' => 'b',
  -        'type' => 'apr_bucket *'
  -      },
  -      {
  -        'name' => 'thispipe',
  -        'type' => 'apr_file_t *'
  -      }
  -    ],
  -    'name' => 'apr_bucket_pipe_make'
  +    'name' => 'apr_bucket_eos_create',
  +    'args' => []
     },
     {
       'return_type' => 'apr_bucket *',
  +    'name' => 'apr_bucket_eos_make',
       'args' => [
  -      {
  -        'name' => 'fd',
  -        'type' => 'apr_file_t *'
  -      },
  -      {
  -        'name' => 'offset',
  -        'type' => 'apr_off_t'
  -      },
         {
  -        'name' => 'len',
  -        'type' => 'apr_size_t'
  +        'type' => 'apr_bucket *',
  +        'name' => 'b'
         }
  -    ],
  -    'name' => 'apr_bucket_file_create'
  +    ]
     },
     {
       'return_type' => 'apr_bucket *',
  +    'name' => 'apr_bucket_file_create',
       'args' => [
         {
  -        'name' => 'b',
  -        'type' => 'apr_bucket *'
  +        'type' => 'apr_file_t *',
  +        'name' => 'fd'
         },
         {
  -        'name' => 'fd',
  -        'type' => 'apr_file_t *'
  +        'type' => 'apr_off_t',
  +        'name' => 'offset'
         },
         {
  -        'name' => 'offset',
  -        'type' => 'apr_off_t'
  +        'type' => 'apr_size_t',
  +        'name' => 'len'
         },
         {
  -        'name' => 'len',
  -        'type' => 'apr_size_t'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'p'
         }
  -    ],
  -    'name' => 'apr_bucket_file_make'
  +    ]
     },
     {
  -    'return_type' => 'apr_status_t',
  +    'return_type' => 'apr_bucket *',
  +    'name' => 'apr_bucket_file_make',
       'args' => [
         {
  -        'name' => 'dbm',
  -        'type' => 'apr_dbm_t **'
  +        'type' => 'apr_bucket *',
  +        'name' => 'b'
         },
         {
  -        'name' => 'name',
  -        'type' => 'const char *'
  +        'type' => 'apr_file_t *',
  +        'name' => 'fd'
         },
         {
  -        'name' => 'mode',
  -        'type' => 'apr_int32_t'
  +        'type' => 'apr_off_t',
  +        'name' => 'offset'
         },
         {
  -        'name' => 'perm',
  -        'type' => 'apr_fileperms_t'
  +        'type' => 'apr_size_t',
  +        'name' => 'len'
         },
         {
  -        'name' => 'cntxt',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'p'
         }
  -    ],
  -    'name' => 'apr_dbm_open'
  +    ]
     },
     {
  -    'return_type' => 'void',
  -    'args' => [
  -      {
  -        'name' => 'dbm',
  -        'type' => 'apr_dbm_t *'
  -      }
  -    ],
  -    'name' => 'apr_dbm_close'
  +    'return_type' => 'apr_bucket *',
  +    'name' => 'apr_bucket_flush_create',
  +    'args' => []
     },
     {
  -    'return_type' => 'apr_status_t',
  +    'return_type' => 'apr_bucket *',
  +    'name' => 'apr_bucket_flush_make',
       'args' => [
  -      {
  -        'name' => 'dbm',
  -        'type' => 'apr_dbm_t *'
  -      },
  -      {
  -        'name' => 'key',
  -        'type' => 'apr_datum_t'
  -      },
         {
  -        'name' => 'pvalue',
  -        'type' => 'apr_datum_t *'
  +        'type' => 'apr_bucket *',
  +        'name' => 'b'
         }
  -    ],
  -    'name' => 'apr_dbm_fetch'
  +    ]
     },
     {
  -    'return_type' => 'apr_status_t',
  +    'return_type' => 'apr_bucket *',
  +    'name' => 'apr_bucket_heap_create',
       'args' => [
         {
  -        'name' => 'dbm',
  -        'type' => 'apr_dbm_t *'
  +        'type' => 'const char *',
  +        'name' => 'buf'
         },
         {
  -        'name' => 'key',
  -        'type' => 'apr_datum_t'
  +        'type' => 'apr_size_t',
  +        'name' => 'nbyte'
         },
  -      {
  -        'name' => 'value',
  -        'type' => 'apr_datum_t'
  -      }
  -    ],
  -    'name' => 'apr_dbm_store'
  -  },
  -  {
  -    'return_type' => 'apr_status_t',
  -    'args' => [
         {
  -        'name' => 'dbm',
  -        'type' => 'apr_dbm_t *'
  +        'type' => 'int',
  +        'name' => 'copy'
         },
         {
  -        'name' => 'key',
  -        'type' => 'apr_datum_t'
  +        'type' => 'apr_size_t *',
  +        'name' => 'w'
         }
  -    ],
  -    'name' => 'apr_dbm_delete'
  +    ]
     },
     {
  -    'return_type' => 'int',
  +    'return_type' => 'apr_bucket *',
  +    'name' => 'apr_bucket_heap_make',
       'args' => [
         {
  -        'name' => 'dbm',
  -        'type' => 'apr_dbm_t *'
  +        'type' => 'apr_bucket *',
  +        'name' => 'b'
         },
  -      {
  -        'name' => 'key',
  -        'type' => 'apr_datum_t'
  -      }
  -    ],
  -    'name' => 'apr_dbm_exists'
  -  },
  -  {
  -    'return_type' => 'apr_status_t',
  -    'args' => [
         {
  -        'name' => 'dbm',
  -        'type' => 'apr_dbm_t *'
  +        'type' => 'const char *',
  +        'name' => 'buf'
         },
         {
  -        'name' => 'pkey',
  -        'type' => 'apr_datum_t *'
  -      }
  -    ],
  -    'name' => 'apr_dbm_firstkey'
  -  },
  -  {
  -    'return_type' => 'apr_status_t',
  -    'args' => [
  +        'type' => 'apr_size_t',
  +        'name' => 'nbyte'
  +      },
         {
  -        'name' => 'dbm',
  -        'type' => 'apr_dbm_t *'
  +        'type' => 'int',
  +        'name' => 'copy'
         },
         {
  -        'name' => 'pkey',
  -        'type' => 'apr_datum_t *'
  +        'type' => 'apr_size_t *',
  +        'name' => 'w'
         }
  -    ],
  -    'name' => 'apr_dbm_nextkey'
  +    ]
     },
     {
  -    'return_type' => 'void',
  +    'return_type' => 'apr_bucket *',
  +    'name' => 'apr_bucket_immortal_create',
       'args' => [
         {
  -        'name' => 'dbm',
  -        'type' => 'apr_dbm_t *'
  +        'type' => 'const char *',
  +        'name' => 'buf'
         },
         {
  -        'name' => 'data',
  -        'type' => 'apr_datum_t'
  +        'type' => 'apr_size_t',
  +        'name' => 'nbyte'
         }
  -    ],
  -    'name' => 'apr_dbm_freedatum'
  +    ]
     },
     {
  -    'return_type' => 'char *',
  +    'return_type' => 'apr_bucket *',
  +    'name' => 'apr_bucket_immortal_make',
       'args' => [
  -      {
  -        'name' => 'dbm',
  -        'type' => 'apr_dbm_t *'
  -      },
         {
  -        'name' => 'errcode',
  -        'type' => 'int *'
  +        'type' => 'apr_bucket *',
  +        'name' => 'b'
         },
         {
  -        'name' => 'errbuf',
  -        'type' => 'char *'
  +        'type' => 'const char *',
  +        'name' => 'buf'
         },
         {
  -        'name' => 'errbufsize',
  -        'type' => 'apr_size_t'
  +        'type' => 'apr_size_t',
  +        'name' => 'nbyte'
         }
  -    ],
  -    'name' => 'apr_dbm_geterror'
  +    ]
     },
     {
  -    'return_type' => 'void',
  +    'return_type' => 'apr_bucket *',
  +    'name' => 'apr_bucket_mmap_create',
       'args' => [
  -      {
  -        'name' => 'pool',
  -        'type' => 'apr_pool_t *'
  -      },
         {
  -        'name' => 'pathname',
  -        'type' => 'const char *'
  +        'type' => 'apr_mmap_t *',
  +        'name' => 'mm'
         },
         {
  -        'name' => 'used1',
  -        'type' => 'const char **'
  +        'type' => 'apr_off_t',
  +        'name' => 'start'
         },
         {
  -        'name' => 'used2',
  -        'type' => 'const char **'
  +        'type' => 'apr_size_t',
  +        'name' => 'length'
         }
  -    ],
  -    'name' => 'apr_dbm_get_usednames'
  +    ]
     },
     {
  -    'return_type' => 'void',
  +    'return_type' => 'apr_bucket *',
  +    'name' => 'apr_bucket_mmap_make',
       'args' => [
  -      {
  -        'name' => 'szName',
  -        'type' => 'const char *'
  -      },
         {
  -        'name' => 'arg1',
  -        'type' => 'void (*pfn)(void)'
  +        'type' => 'apr_bucket *',
  +        'name' => 'b'
         },
         {
  -        'name' => 'aszPre',
  -        'type' => 'const char * const *'
  +        'type' => 'apr_mmap_t *',
  +        'name' => 'mm'
         },
         {
  -        'name' => 'aszSucc',
  -        'type' => 'const char * const *'
  +        'type' => 'apr_off_t',
  +        'name' => 'start'
         },
         {
  -        'name' => 'nOrder',
  -        'type' => 'int'
  +        'type' => 'apr_size_t',
  +        'name' => 'length'
         }
  -    ],
  -    'name' => 'apr_hook_generic_add'
  +    ]
     },
     {
  -    'return_type' => 'apr_array_header_t *',
  +    'return_type' => 'apr_bucket *',
  +    'name' => 'apr_bucket_pipe_create',
       'args' => [
         {
  -        'name' => 'szName',
  -        'type' => 'const char *'
  +        'type' => 'apr_file_t *',
  +        'name' => 'thispipe'
         }
  -    ],
  -    'name' => 'apr_hook_generic_get'
  +    ]
     },
     {
  -    'return_type' => 'void',
  +    'return_type' => 'apr_bucket *',
  +    'name' => 'apr_bucket_pipe_make',
       'args' => [
         {
  -        'name' => 'szHookName',
  -        'type' => 'const char *'
  +        'type' => 'apr_bucket *',
  +        'name' => 'b'
         },
         {
  -        'name' => 'aHooks',
  -        'type' => 'apr_array_header_t **'
  +        'type' => 'apr_file_t *',
  +        'name' => 'thispipe'
         }
  -    ],
  -    'name' => 'apr_hook_sort_register'
  -  },
  -  {
  -    'return_type' => 'void',
  -    'args' => [],
  -    'name' => 'apr_sort_hooks'
  +    ]
     },
     {
  -    'return_type' => 'void',
  +    'return_type' => 'apr_bucket *',
  +    'name' => 'apr_bucket_pool_create',
       'args' => [
         {
  -        'name' => 'szName',
  -        'type' => 'const char *'
  +        'type' => 'const char *',
  +        'name' => 'buf'
         },
         {
  -        'name' => 'aszPre',
  -        'type' => 'const char * const *'
  +        'type' => 'apr_size_t',
  +        'name' => 'length'
         },
         {
  -        'name' => 'aszSucc',
  -        'type' => 'const char * const *'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'pool'
         }
  -    ],
  -    'name' => 'apr_show_hook'
  -  },
  -  {
  -    'return_type' => 'void',
  -    'args' => [],
  -    'name' => 'apr_hook_deregister_all'
  +    ]
     },
     {
  -    'return_type' => 'apr_status_t',
  +    'return_type' => 'apr_bucket *',
  +    'name' => 'apr_bucket_pool_make',
       'args' => [
  -      {
  -        'name' => 'db',
  -        'type' => 'apr_sdbm_t **'
  -      },
         {
  -        'name' => 'name',
  -        'type' => 'const char *'
  +        'type' => 'apr_bucket *',
  +        'name' => 'b'
         },
         {
  -        'name' => 'mode',
  -        'type' => 'apr_int32_t'
  +        'type' => 'const char *',
  +        'name' => 'buf'
         },
         {
  -        'name' => 'perms',
  -        'type' => 'apr_fileperms_t'
  +        'type' => 'apr_size_t',
  +        'name' => 'length'
         },
         {
  -        'name' => 'p',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'pool'
         }
  -    ],
  -    'name' => 'apr_sdbm_open'
  +    ]
     },
     {
       'return_type' => 'apr_status_t',
  +    'name' => 'apr_bucket_setaside_noop',
       'args' => [
  +      {
  +        'type' => 'apr_bucket *',
  +        'name' => 'data'
  +      },
         {
  -        'name' => 'db',
  -        'type' => 'apr_sdbm_t *'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'pool'
         }
  -    ],
  -    'name' => 'apr_sdbm_close'
  +    ]
     },
     {
       'return_type' => 'apr_status_t',
  +    'name' => 'apr_bucket_setaside_notimpl',
       'args' => [
         {
  -        'name' => 'db',
  -        'type' => 'apr_sdbm_t *'
  +        'type' => 'apr_bucket *',
  +        'name' => 'data'
         },
         {
  -        'name' => 'type',
  -        'type' => 'int'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'pool'
         }
  -    ],
  -    'name' => 'apr_sdbm_lock'
  +    ]
     },
     {
       'return_type' => 'apr_status_t',
  +    'name' => 'apr_bucket_shared_copy',
       'args' => [
  +      {
  +        'type' => 'apr_bucket *',
  +        'name' => 'a'
  +      },
         {
  -        'name' => 'db',
  -        'type' => 'apr_sdbm_t *'
  +        'type' => 'apr_bucket **',
  +        'name' => 'b'
         }
  -    ],
  -    'name' => 'apr_sdbm_unlock'
  +    ]
     },
     {
  -    'return_type' => 'apr_status_t',
  +    'return_type' => 'int',
  +    'name' => 'apr_bucket_shared_destroy',
       'args' => [
  -      {
  -        'name' => 'db',
  -        'type' => 'apr_sdbm_t *'
  -      },
  -      {
  -        'name' => 'value',
  -        'type' => 'apr_sdbm_datum_t *'
  -      },
         {
  -        'name' => 'key',
  -        'type' => 'apr_sdbm_datum_t'
  +        'type' => 'void *',
  +        'name' => 'data'
         }
  -    ],
  -    'name' => 'apr_sdbm_fetch'
  +    ]
     },
     {
  -    'return_type' => 'apr_status_t',
  +    'return_type' => 'apr_bucket *',
  +    'name' => 'apr_bucket_shared_make',
       'args' => [
         {
  -        'name' => 'db',
  -        'type' => 'apr_sdbm_t *'
  +        'type' => 'apr_bucket *',
  +        'name' => 'b'
         },
         {
  -        'name' => 'key',
  -        'type' => 'apr_sdbm_datum_t'
  +        'type' => 'void *',
  +        'name' => 'data'
         },
         {
  -        'name' => 'value',
  -        'type' => 'apr_sdbm_datum_t'
  +        'type' => 'apr_off_t',
  +        'name' => 'start'
         },
         {
  -        'name' => 'opt',
  -        'type' => 'int'
  +        'type' => 'apr_off_t',
  +        'name' => 'length'
         }
  -    ],
  -    'name' => 'apr_sdbm_store'
  +    ]
     },
     {
       'return_type' => 'apr_status_t',
  +    'name' => 'apr_bucket_shared_split',
       'args' => [
         {
  -        'name' => 'db',
  -        'type' => 'apr_sdbm_t *'
  +        'type' => 'apr_bucket *',
  +        'name' => 'b'
         },
         {
  -        'name' => 'key',
  -        'type' => 'const apr_sdbm_datum_t'
  +        'type' => 'apr_off_t',
  +        'name' => 'point'
         }
  -    ],
  -    'name' => 'apr_sdbm_delete'
  +    ]
     },
     {
       'return_type' => 'apr_status_t',
  +    'name' => 'apr_bucket_simple_copy',
       'args' => [
         {
  -        'name' => 'db',
  -        'type' => 'apr_sdbm_t *'
  +        'type' => 'apr_bucket *',
  +        'name' => 'a'
         },
         {
  -        'name' => 'key',
  -        'type' => 'apr_sdbm_datum_t *'
  +        'type' => 'apr_bucket **',
  +        'name' => 'b'
         }
  -    ],
  -    'name' => 'apr_sdbm_firstkey'
  +    ]
     },
     {
       'return_type' => 'apr_status_t',
  +    'name' => 'apr_bucket_simple_split',
       'args' => [
         {
  -        'name' => 'db',
  -        'type' => 'apr_sdbm_t *'
  +        'type' => 'apr_bucket *',
  +        'name' => 'b'
         },
         {
  -        'name' => 'key',
  -        'type' => 'apr_sdbm_datum_t *'
  +        'type' => 'apr_off_t',
  +        'name' => 'point'
         }
  -    ],
  -    'name' => 'apr_sdbm_nextkey'
  +    ]
     },
     {
  -    'return_type' => 'int',
  +    'return_type' => 'apr_bucket *',
  +    'name' => 'apr_bucket_socket_create',
       'args' => [
         {
  -        'name' => 'db',
  -        'type' => 'apr_sdbm_t *'
  +        'type' => 'apr_socket_t *',
  +        'name' => 'thissock'
         }
  -    ],
  -    'name' => 'apr_sdbm_rdonly'
  +    ]
     },
     {
  -    'return_type' => 'void',
  +    'return_type' => 'apr_bucket *',
  +    'name' => 'apr_bucket_socket_make',
       'args' => [
  -      {
  -        'name' => 'clear',
  -        'type' => 'const char *'
  -      },
         {
  -        'name' => 'len',
  -        'type' => 'int'
  +        'type' => 'apr_bucket *',
  +        'name' => 'b'
         },
         {
  -        'name' => 'out',
  -        'type' => 'char *'
  +        'type' => 'apr_socket_t *',
  +        'name' => 'thissock'
         }
  -    ],
  -    'name' => 'apr_sha1_base64'
  +    ]
     },
     {
  -    'return_type' => 'void',
  +    'return_type' => 'apr_status_t',
  +    'name' => 'apr_bucket_split_notimpl',
       'args' => [
  +      {
  +        'type' => 'apr_bucket *',
  +        'name' => 'data'
  +      },
         {
  -        'name' => 'context',
  -        'type' => 'apr_sha1_ctx_t *'
  +        'type' => 'apr_off_t',
  +        'name' => 'point'
         }
  -    ],
  -    'name' => 'apr_sha1_init'
  +    ]
     },
     {
  -    'return_type' => 'void',
  +    'return_type' => 'apr_bucket *',
  +    'name' => 'apr_bucket_transient_create',
       'args' => [
  -      {
  -        'name' => 'context',
  -        'type' => 'apr_sha1_ctx_t *'
  -      },
         {
  -        'name' => 'input',
  -        'type' => 'const char *'
  +        'type' => 'const char *',
  +        'name' => 'buf'
         },
         {
  -        'name' => 'inputLen',
  -        'type' => 'unsigned int'
  +        'type' => 'apr_size_t',
  +        'name' => 'nbyte'
         }
  -    ],
  -    'name' => 'apr_sha1_update'
  +    ]
     },
     {
  -    'return_type' => 'void',
  +    'return_type' => 'apr_bucket *',
  +    'name' => 'apr_bucket_transient_make',
       'args' => [
         {
  -        'name' => 'context',
  -        'type' => 'apr_sha1_ctx_t *'
  +        'type' => 'apr_bucket *',
  +        'name' => 'b'
         },
         {
  -        'name' => 'input',
  -        'type' => 'const unsigned char *'
  +        'type' => 'const char *',
  +        'name' => 'buf'
         },
         {
  -        'name' => 'inputLen',
  -        'type' => 'unsigned int'
  +        'type' => 'apr_size_t',
  +        'name' => 'nbyte'
         }
  -    ],
  -    'name' => 'apr_sha1_update_binary'
  +    ]
     },
     {
  -    'return_type' => 'void',
  +    'return_type' => 'char *',
  +    'name' => 'apr_collapse_spaces',
       'args' => [
         {
  -        'name' => 'digest',
  -        'type' => 'unsigned char'
  +        'type' => 'char *',
  +        'name' => 'dest'
         },
         {
  -        'name' => 'context',
  -        'type' => 'apr_sha1_ctx_t *'
  +        'type' => 'const char *',
  +        'name' => 'src'
         }
  -    ],
  -    'name' => 'apr_sha1_final'
  +    ]
     },
     {
  -    'return_type' => 'void',
  +    'return_type' => 'apr_status_t',
  +    'name' => 'apr_connect',
       'args' => [
  -      {
  -        'name' => 'p',
  -        'type' => 'apr_pool_t *'
  -      },
         {
  -        'name' => 'hdr',
  -        'type' => 'apr_text_header *'
  +        'type' => 'apr_socket_t *',
  +        'name' => 'sock'
         },
         {
  -        'name' => 'text',
  -        'type' => 'const char *'
  +        'type' => 'apr_sockaddr_t *',
  +        'name' => 'sa'
         }
  -    ],
  -    'name' => 'apr_text_append'
  +    ]
     },
     {
  -    'return_type' => 'apr_xml_parser *',
  +    'return_type' => 'char *',
  +    'name' => 'apr_cpystrn',
       'args' => [
  +      {
  +        'type' => 'char *',
  +        'name' => 'dst'
  +      },
  +      {
  +        'type' => 'const char *',
  +        'name' => 'src'
  +      },
         {
  -        'name' => 'pool',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'size_t',
  +        'name' => 'dst_size'
         }
  -    ],
  -    'name' => 'apr_xml_parser_create'
  +    ]
     },
     {
       'return_type' => 'apr_status_t',
  +    'name' => 'apr_ctime',
       'args' => [
  -      {
  -        'name' => 'parser',
  -        'type' => 'apr_xml_parser *'
  -      },
         {
  -        'name' => 'data',
  -        'type' => 'const char *'
  +        'type' => 'char *',
  +        'name' => 'date_str'
         },
         {
  -        'name' => 'len',
  -        'type' => 'apr_size_t'
  +        'type' => 'apr_time_t',
  +        'name' => 't'
         }
  -    ],
  -    'name' => 'apr_xml_parser_feed'
  +    ]
     },
     {
  -    'return_type' => 'apr_status_t',
  +    'return_type' => 'int',
  +    'name' => 'apr_date_checkmask',
       'args' => [
         {
  -        'name' => 'parser',
  -        'type' => 'apr_xml_parser *'
  +        'type' => 'const char *',
  +        'name' => 'data'
         },
         {
  -        'name' => 'pdoc',
  -        'type' => 'apr_xml_doc **'
  +        'type' => 'const char *',
  +        'name' => 'mask'
         }
  -    ],
  -    'name' => 'apr_xml_parser_done'
  +    ]
     },
     {
  -    'return_type' => 'char *',
  +    'return_type' => 'apr_time_t',
  +    'name' => 'apr_date_parse_http',
       'args' => [
  -      {
  -        'name' => 'parser',
  -        'type' => 'apr_xml_parser *'
  -      },
         {
  -        'name' => 'errbuf',
  -        'type' => 'char *'
  -      },
  +        'type' => 'const char *',
  +        'name' => 'date'
  +      }
  +    ]
  +  },
  +  {
  +    'return_type' => 'apr_time_t',
  +    'name' => 'apr_date_parse_rfc',
  +    'args' => [
         {
  -        'name' => 'errbufsize',
  -        'type' => 'apr_size_t'
  +        'type' => 'char *',
  +        'name' => 'date'
         }
  -    ],
  -    'name' => 'apr_xml_parser_geterror'
  +    ]
     },
     {
       'return_type' => 'void',
  +    'name' => 'apr_dbm_close',
       'args' => [
         {
  -        'name' => 'p',
  -        'type' => 'apr_pool_t *'
  -      },
  +        'type' => 'apr_dbm_t *',
  +        'name' => 'dbm'
  +      }
  +    ]
  +  },
  +  {
  +    'return_type' => 'apr_status_t',
  +    'name' => 'apr_dbm_delete',
  +    'args' => [
         {
  -        'name' => 'elem',
  -        'type' => 'const apr_xml_elem *'
  +        'type' => 'apr_dbm_t *',
  +        'name' => 'dbm'
         },
         {
  -        'name' => 'style',
  -        'type' => 'int'
  -      },
  +        'type' => 'apr_datum_t',
  +        'name' => 'key'
  +      }
  +    ]
  +  },
  +  {
  +    'return_type' => 'int',
  +    'name' => 'apr_dbm_exists',
  +    'args' => [
         {
  -        'name' => 'namespaces',
  -        'type' => 'apr_array_header_t *'
  +        'type' => 'apr_dbm_t *',
  +        'name' => 'dbm'
         },
  +      {
  +        'type' => 'apr_datum_t',
  +        'name' => 'key'
  +      }
  +    ]
  +  },
  +  {
  +    'return_type' => 'apr_status_t',
  +    'name' => 'apr_dbm_fetch',
  +    'args' => [
         {
  -        'name' => 'ns_map',
  -        'type' => 'int *'
  +        'type' => 'apr_dbm_t *',
  +        'name' => 'dbm'
         },
         {
  -        'name' => 'pbuf',
  -        'type' => 'const char **'
  +        'type' => 'apr_datum_t',
  +        'name' => 'key'
         },
         {
  -        'name' => 'psize',
  -        'type' => 'apr_size_t *'
  +        'type' => 'apr_datum_t *',
  +        'name' => 'pvalue'
         }
  -    ],
  -    'name' => 'apr_xml_to_text'
  +    ]
     },
     {
  -    'return_type' => 'const char *',
  +    'return_type' => 'apr_status_t',
  +    'name' => 'apr_dbm_firstkey',
       'args' => [
         {
  -        'name' => 'p',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'apr_dbm_t *',
  +        'name' => 'dbm'
         },
         {
  -        'name' => 'elem',
  -        'type' => 'const apr_xml_elem *'
  +        'type' => 'apr_datum_t *',
  +        'name' => 'pkey'
         }
  -    ],
  -    'name' => 'apr_xml_empty_elem'
  +    ]
     },
     {
  -    'return_type' => 'const char *',
  +    'return_type' => 'void',
  +    'name' => 'apr_dbm_freedatum',
       'args' => [
  -      {
  -        'name' => 'p',
  -        'type' => 'apr_pool_t *'
  -      },
         {
  -        'name' => 's',
  -        'type' => 'const char *'
  +        'type' => 'apr_dbm_t *',
  +        'name' => 'dbm'
         },
         {
  -        'name' => 'quotes',
  -        'type' => 'int'
  +        'type' => 'apr_datum_t',
  +        'name' => 'data'
         }
  -    ],
  -    'name' => 'apr_xml_quote_string'
  +    ]
     },
     {
       'return_type' => 'void',
  +    'name' => 'apr_dbm_get_usednames',
       'args' => [
  +      {
  +        'type' => 'apr_pool_t *',
  +        'name' => 'pool'
  +      },
  +      {
  +        'type' => 'const char *',
  +        'name' => 'pathname'
  +      },
         {
  -        'name' => 'p',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'const char **',
  +        'name' => 'used1'
         },
         {
  -        'name' => 'elem',
  -        'type' => 'apr_xml_elem *'
  +        'type' => 'const char **',
  +        'name' => 'used2'
         }
  -    ],
  -    'name' => 'apr_xml_quote_elem'
  +    ]
     },
     {
  -    'return_type' => 'int',
  +    'return_type' => 'char *',
  +    'name' => 'apr_dbm_geterror',
       'args' => [
  +      {
  +        'type' => 'apr_dbm_t *',
  +        'name' => 'dbm'
  +      },
  +      {
  +        'type' => 'int *',
  +        'name' => 'errcode'
  +      },
         {
  -        'name' => 'uri_array',
  -        'type' => 'apr_array_header_t *'
  +        'type' => 'char *',
  +        'name' => 'errbuf'
         },
         {
  -        'name' => 'uri',
  -        'type' => 'const char *'
  +        'type' => 'apr_size_t',
  +        'name' => 'errbufsize'
         }
  -    ],
  -    'name' => 'apr_xml_insert_uri'
  +    ]
     },
     {
  -    'return_type' => 'void *',
  +    'return_type' => 'apr_status_t',
  +    'name' => 'apr_dbm_nextkey',
       'args' => [
         {
  -        'name' => 'mem_sys',
  -        'type' => 'apr_sms_t *'
  +        'type' => 'apr_dbm_t *',
  +        'name' => 'dbm'
         },
         {
  -        'name' => 'size',
  -        'type' => 'apr_size_t'
  +        'type' => 'apr_datum_t *',
  +        'name' => 'pkey'
         }
  -    ],
  -    'name' => 'apr_sms_malloc'
  +    ]
     },
     {
  -    'return_type' => 'void *',
  +    'return_type' => 'apr_status_t',
  +    'name' => 'apr_dbm_open',
       'args' => [
  +      {
  +        'type' => 'apr_dbm_t **',
  +        'name' => 'dbm'
  +      },
  +      {
  +        'type' => 'const char *',
  +        'name' => 'name'
  +      },
  +      {
  +        'type' => 'apr_int32_t',
  +        'name' => 'mode'
  +      },
         {
  -        'name' => 'mem_sys',
  -        'type' => 'apr_sms_t *'
  +        'type' => 'apr_fileperms_t',
  +        'name' => 'perm'
         },
         {
  -        'name' => 'size',
  -        'type' => 'apr_size_t'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'cntxt'
         }
  -    ],
  -    'name' => 'apr_sms_calloc'
  +    ]
     },
     {
  -    'return_type' => 'void *',
  +    'return_type' => 'apr_status_t',
  +    'name' => 'apr_dbm_store',
       'args' => [
         {
  -        'name' => 'mem_sys',
  -        'type' => 'apr_sms_t *'
  +        'type' => 'apr_dbm_t *',
  +        'name' => 'dbm'
         },
         {
  -        'name' => 'mem',
  -        'type' => 'void *'
  +        'type' => 'apr_datum_t',
  +        'name' => 'key'
         },
         {
  -        'name' => 'size',
  -        'type' => 'apr_size_t'
  +        'type' => 'apr_datum_t',
  +        'name' => 'value'
         }
  -    ],
  -    'name' => 'apr_sms_realloc'
  +    ]
     },
     {
       'return_type' => 'apr_status_t',
  +    'name' => 'apr_dir_close',
       'args' => [
  -      {
  -        'name' => 'mem_sys',
  -        'type' => 'apr_sms_t *'
  -      },
         {
  -        'name' => 'mem',
  -        'type' => 'void *'
  +        'type' => 'apr_dir_t *',
  +        'name' => 'thedir'
         }
  -    ],
  -    'name' => 'apr_sms_free'
  +    ]
     },
     {
  -    'return_type' => 'apr_sms_t *',
  +    'return_type' => 'apr_status_t',
  +    'name' => 'apr_dir_make',
       'args' => [
  +      {
  +        'type' => 'const char *',
  +        'name' => 'path'
  +      },
         {
  -        'name' => 'memory',
  -        'type' => 'void *'
  +        'type' => 'apr_fileperms_t',
  +        'name' => 'perm'
         },
         {
  -        'name' => 'parent_mem_sys',
  -        'type' => 'apr_sms_t *'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'cont'
         }
  -    ],
  -    'name' => 'apr_sms_create'
  +    ]
     },
     {
       'return_type' => 'apr_status_t',
  +    'name' => 'apr_dir_open',
       'args' => [
  +      {
  +        'type' => 'apr_dir_t **',
  +        'name' => 'new_dir'
  +      },
  +      {
  +        'type' => 'const char *',
  +        'name' => 'dirname'
  +      },
         {
  -        'name' => 'mem_sys',
  -        'type' => 'apr_sms_t *'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'cont'
         }
  -    ],
  -    'name' => 'apr_sms_reset'
  +    ]
     },
     {
       'return_type' => 'apr_status_t',
  +    'name' => 'apr_dir_read',
       'args' => [
  +      {
  +        'type' => 'apr_finfo_t *',
  +        'name' => 'finfo'
  +      },
  +      {
  +        'type' => 'apr_int32_t',
  +        'name' => 'wanted'
  +      },
         {
  -        'name' => 'mem_sys',
  -        'type' => 'apr_sms_t *'
  +        'type' => 'apr_dir_t *',
  +        'name' => 'thedir'
         }
  -    ],
  -    'name' => 'apr_sms_destroy'
  +    ]
     },
     {
  -    'return_type' => 'void',
  +    'return_type' => 'apr_status_t',
  +    'name' => 'apr_dir_remove',
       'args' => [
  +      {
  +        'type' => 'const char *',
  +        'name' => 'path'
  +      },
         {
  -        'name' => 'mem_sys',
  -        'type' => 'apr_sms_t *'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'cont'
         }
  -    ],
  -    'name' => 'apr_sms_threadsafe_lock'
  +    ]
     },
     {
  -    'return_type' => 'void',
  +    'return_type' => 'apr_status_t',
  +    'name' => 'apr_dir_rewind',
       'args' => [
         {
  -        'name' => 'mem_sys',
  -        'type' => 'apr_sms_t *'
  +        'type' => 'apr_dir_t *',
  +        'name' => 'thedir'
         }
  -    ],
  -    'name' => 'apr_sms_threadsafe_unlock'
  +    ]
     },
     {
  -    'return_type' => 'apr_status_t',
  +    'return_type' => 'const char *',
  +    'name' => 'apr_dso_error',
       'args' => [
  +      {
  +        'type' => 'apr_dso_handle_t *',
  +        'name' => 'dso'
  +      },
         {
  -        'name' => 'a',
  -        'type' => 'apr_sms_t *'
  +        'type' => 'char *',
  +        'name' => 'buf'
         },
         {
  -        'name' => 'b',
  -        'type' => 'apr_sms_t *'
  +        'type' => 'apr_size_t',
  +        'name' => 'bufsize'
         }
  -    ],
  -    'name' => 'apr_sms_is_ancestor'
  +    ]
     },
     {
       'return_type' => 'apr_status_t',
  +    'name' => 'apr_dso_load',
       'args' => [
         {
  -        'name' => 'mem_sys',
  -        'type' => 'apr_sms_t *'
  +        'type' => 'apr_dso_handle_t **',
  +        'name' => 'res_handle'
         },
         {
  -        'name' => 'data',
  -        'type' => 'void *'
  +        'type' => 'const char *',
  +        'name' => 'path'
         },
         {
  -        'name' => 'arg2',
  -        'type' => 'apr_status_t (*cleanup_fn)(void *)'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'ctx'
         }
  -    ],
  -    'name' => 'apr_sms_cleanup_register'
  +    ]
     },
     {
       'return_type' => 'apr_status_t',
  +    'name' => 'apr_dso_sym',
       'args' => [
         {
  -        'name' => 'mem_sys',
  -        'type' => 'apr_sms_t *'
  +        'type' => 'apr_dso_handle_sym_t *',
  +        'name' => 'ressym'
         },
         {
  -        'name' => 'data',
  -        'type' => 'void *'
  +        'type' => 'apr_dso_handle_t *',
  +        'name' => 'handle'
         },
         {
  -        'name' => 'arg2',
  -        'type' => 'apr_status_t (*cleanup)(void *)'
  +        'type' => 'const char *',
  +        'name' => 'symname'
         }
  -    ],
  -    'name' => 'apr_sms_cleanup_unregister'
  +    ]
     },
     {
       'return_type' => 'apr_status_t',
  +    'name' => 'apr_dso_unload',
       'args' => [
         {
  -        'name' => 'mem_sys',
  -        'type' => 'apr_sms_t *'
  -      },
  +        'type' => 'apr_dso_handle_t *',
  +        'name' => 'handle'
  +      }
  +    ]
  +  },
  +  {
  +    'return_type' => 'apr_status_t',
  +    'name' => 'apr_explode_gmt',
  +    'args' => [
         {
  -        'name' => 'data',
  -        'type' => 'void *'
  +        'type' => 'apr_exploded_time_t *',
  +        'name' => 'result'
         },
         {
  -        'name' => 'arg2',
  -        'type' => 'apr_status_t (*cleanup)(void *)'
  +        'type' => 'apr_time_t',
  +        'name' => 'input'
         }
  -    ],
  -    'name' => 'apr_sms_cleanup_run'
  +    ]
     },
     {
       'return_type' => 'apr_status_t',
  +    'name' => 'apr_explode_localtime',
       'args' => [
  +      {
  +        'type' => 'apr_exploded_time_t *',
  +        'name' => 'result'
  +      },
         {
  -        'name' => 'mem_sys',
  -        'type' => 'apr_sms_t **'
  +        'type' => 'apr_time_t',
  +        'name' => 'input'
         }
  -    ],
  -    'name' => 'apr_sms_std_create'
  +    ]
     },
     {
       'return_type' => 'apr_status_t',
  +    'name' => 'apr_explode_time',
       'args' => [
  +      {
  +        'type' => 'apr_exploded_time_t *',
  +        'name' => 'result'
  +      },
         {
  -        'name' => 'mem_sys',
  -        'type' => 'apr_sms_t **'
  +        'type' => 'apr_time_t',
  +        'name' => 'input'
         },
         {
  -        'name' => 'pms',
  -        'type' => 'apr_sms_t *'
  +        'type' => 'apr_int32_t',
  +        'name' => 'offs'
         }
  -    ],
  -    'name' => 'apr_sms_tracking_create'
  +    ]
     },
     {
  -    'return_type' => 'apr_port_t',
  +    'return_type' => 'apr_status_t',
  +    'name' => 'apr_file_close',
       'args' => [
         {
  -        'name' => 'scheme_str',
  -        'type' => 'const char *'
  +        'type' => 'apr_file_t *',
  +        'name' => 'file'
         }
  -    ],
  -    'name' => 'apr_uri_default_port_for_scheme'
  +    ]
     },
     {
  -    'return_type' => 'char *',
  +    'return_type' => 'apr_status_t',
  +    'name' => 'apr_file_data_get',
       'args' => [
         {
  -        'name' => 'p',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'void **',
  +        'name' => 'data'
         },
         {
  -        'name' => 'uptr',
  -        'type' => 'const apr_uri_components *'
  +        'type' => 'const char *',
  +        'name' => 'key'
         },
         {
  -        'name' => 'flags',
  -        'type' => 'unsigned'
  +        'type' => 'apr_file_t *',
  +        'name' => 'file'
         }
  -    ],
  -    'name' => 'apr_uri_unparse_components'
  +    ]
     },
     {
  -    'return_type' => 'int',
  +    'return_type' => 'apr_status_t',
  +    'name' => 'apr_file_data_set',
       'args' => [
  +      {
  +        'type' => 'apr_file_t *',
  +        'name' => 'file'
  +      },
         {
  -        'name' => 'p',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'void *',
  +        'name' => 'data'
         },
         {
  -        'name' => 'uri',
  -        'type' => 'const char *'
  +        'type' => 'const char *',
  +        'name' => 'key'
         },
         {
  -        'name' => 'uptr',
  -        'type' => 'apr_uri_components *'
  +        'type' => 'apr_status_t (*cleanup)(void *)',
  +        'name' => 'arg3'
         }
  -    ],
  -    'name' => 'apr_uri_parse_components'
  +    ]
     },
     {
  -    'return_type' => 'int',
  +    'return_type' => 'apr_status_t',
  +    'name' => 'apr_file_dup',
       'args' => [
         {
  -        'name' => 'p',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'apr_file_t **',
  +        'name' => 'new_file'
         },
         {
  -        'name' => 'hostinfo',
  -        'type' => 'const char *'
  +        'type' => 'apr_file_t *',
  +        'name' => 'old_file'
         },
         {
  -        'name' => 'uptr',
  -        'type' => 'apr_uri_components *'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'p'
         }
  -    ],
  -    'name' => 'apr_uri_parse_hostinfo_components'
  +    ]
     },
     {
  -    'return_type' => 'int',
  +    'return_type' => 'apr_status_t',
  +    'name' => 'apr_file_eof',
       'args' => [
  -      {
  -        'name' => 'data',
  -        'type' => 'const char *'
  -      },
         {
  -        'name' => 'mask',
  -        'type' => 'const char *'
  +        'type' => 'apr_file_t *',
  +        'name' => 'fptr'
         }
  -    ],
  -    'name' => 'apr_date_checkmask'
  +    ]
     },
     {
  -    'return_type' => 'apr_time_t',
  +    'return_type' => 'apr_int32_t',
  +    'name' => 'apr_file_flags_get',
       'args' => [
         {
  -        'name' => 'date',
  -        'type' => 'const char *'
  +        'type' => 'apr_file_t *',
  +        'name' => 'f'
         }
  -    ],
  -    'name' => 'apr_date_parse_http'
  +    ]
     },
     {
  -    'return_type' => 'apr_time_t',
  +    'return_type' => 'apr_status_t',
  +    'name' => 'apr_file_flush',
       'args' => [
         {
  -        'name' => 'date',
  -        'type' => 'char *'
  +        'type' => 'apr_file_t *',
  +        'name' => 'thefile'
         }
  -    ],
  -    'name' => 'apr_date_parse_rfc'
  +    ]
     },
     {
       'return_type' => 'apr_status_t',
  +    'name' => 'apr_file_getc',
       'args' => [
  +      {
  +        'type' => 'char *',
  +        'name' => 'ch'
  +      },
         {
  -        'name' => 'context',
  -        'type' => 'apr_md4_ctx_t *'
  +        'type' => 'apr_file_t *',
  +        'name' => 'thefile'
         }
  -    ],
  -    'name' => 'apr_md4_init'
  +    ]
     },
     {
       'return_type' => 'apr_status_t',
  +    'name' => 'apr_file_gets',
       'args' => [
  +      {
  +        'type' => 'char *',
  +        'name' => 'str'
  +      },
         {
  -        'name' => 'context',
  -        'type' => 'apr_md4_ctx_t *'
  +        'type' => 'int',
  +        'name' => 'len'
         },
         {
  -        'name' => 'xlate',
  -        'type' => 'apr_xlate_t *'
  +        'type' => 'apr_file_t *',
  +        'name' => 'thefile'
         }
  -    ],
  -    'name' => 'apr_md4_set_xlate'
  +    ]
     },
     {
       'return_type' => 'apr_status_t',
  +    'name' => 'apr_file_info_get',
       'args' => [
         {
  -        'name' => 'context',
  -        'type' => 'apr_md4_ctx_t *'
  +        'type' => 'apr_finfo_t *',
  +        'name' => 'finfo'
         },
         {
  -        'name' => 'input',
  -        'type' => 'const unsigned char *'
  +        'type' => 'apr_int32_t',
  +        'name' => 'wanted'
         },
         {
  -        'name' => 'inputLen',
  -        'type' => 'apr_size_t'
  +        'type' => 'apr_file_t *',
  +        'name' => 'thefile'
         }
  -    ],
  -    'name' => 'apr_md4_update'
  +    ]
     },
     {
       'return_type' => 'apr_status_t',
  +    'name' => 'apr_file_lock',
       'args' => [
         {
  -        'name' => 'digest',
  -        'type' => 'unsigned char'
  +        'type' => 'apr_file_t *',
  +        'name' => 'thefile'
         },
         {
  -        'name' => 'context',
  -        'type' => 'apr_md4_ctx_t *'
  +        'type' => 'int',
  +        'name' => 'type'
         }
  -    ],
  -    'name' => 'apr_md4_final'
  +    ]
     },
     {
       'return_type' => 'apr_status_t',
  +    'name' => 'apr_file_name_get',
       'args' => [
  -      {
  -        'name' => 'digest',
  -        'type' => 'unsigned char'
  -      },
         {
  -        'name' => 'input',
  -        'type' => 'const unsigned char *'
  +        'type' => 'const char **',
  +        'name' => 'new_path'
         },
         {
  -        'name' => 'inputLen',
  -        'type' => 'apr_size_t'
  +        'type' => 'apr_file_t *',
  +        'name' => 'thefile'
         }
  -    ],
  -    'name' => 'apr_md4'
  +    ]
     },
     {
       'return_type' => 'apr_status_t',
  +    'name' => 'apr_file_namedpipe_create',
       'args' => [
         {
  -        'name' => 'sms',
  -        'type' => 'apr_sms_t **'
  +        'type' => 'const char *',
  +        'name' => 'filename'
         },
         {
  -        'name' => 'pms',
  -        'type' => 'apr_sms_t *'
  +        'type' => 'apr_fileperms_t',
  +        'name' => 'perm'
         },
         {
  -        'name' => 'block_size',
  -        'type' => 'apr_size_t'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'cont'
         }
  -    ],
  -    'name' => 'apr_sms_blocks_create'
  +    ]
     },
     {
  -    'return_type' => 'void',
  +    'return_type' => 'apr_status_t',
  +    'name' => 'apr_file_open',
       'args' => [
         {
  -        'name' => 'szName',
  -        'type' => 'const char *'
  +        'type' => 'apr_file_t **',
  +        'name' => 'new_file'
         },
         {
  -        'name' => 'arg1',
  -        'type' => 'void (*pfn)(void)'
  +        'type' => 'const char *',
  +        'name' => 'fname'
         },
         {
  -        'name' => 'aszPre',
  -        'type' => 'const char * const *'
  +        'type' => 'apr_int32_t',
  +        'name' => 'flag'
         },
         {
  -        'name' => 'aszSucc',
  -        'type' => 'const char * const *'
  +        'type' => 'apr_fileperms_t',
  +        'name' => 'perm'
         },
  -      {
  -        'name' => 'nOrder',
  -        'type' => 'int'
  -      }
  -    ],
  -    'name' => 'apr_optional_hook_add'
  -  },
  -  {
  -    'return_type' => 'apr_array_header_t *',
  -    'args' => [
         {
  -        'name' => 'szName',
  -        'type' => 'const char *'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'cont'
         }
  -    ],
  -    'name' => 'apr_optional_hook_get'
  +    ]
     },
     {
  -    'return_type' => 'int',
  +    'return_type' => 'apr_status_t',
  +    'name' => 'apr_file_open_stderr',
       'args' => [
  -      {
  -        'name' => 'pconf',
  -        'type' => 'apr_pool_t *'
  -      },
         {
  -        'name' => 'plog',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'apr_file_t **',
  +        'name' => 'thefile'
         },
         {
  -        'name' => 'server_conf',
  -        'type' => 'server_rec *'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'cont'
         }
  -    ],
  -    'name' => 'ap_mpm_run'
  -  },
  -  {
  -    'return_type' => 'int',
  -    'args' => [],
  -    'name' => 'ap_graceful_stop_signalled'
  +    ]
     },
     {
       'return_type' => 'apr_status_t',
  +    'name' => 'apr_file_open_stdin',
       'args' => [
  -      {
  -        'name' => 'r',
  -        'type' => 'const request_rec *'
  -      },
         {
  -        'name' => 'newproc',
  -        'type' => 'apr_proc_t *'
  +        'type' => 'apr_file_t **',
  +        'name' => 'thefile'
         },
         {
  -        'name' => 'progname',
  -        'type' => 'const char *'
  -      },
  -      {
  -        'name' => 'args',
  -        'type' => 'const char * const *'
  -      },
  -      {
  -        'name' => 'env',
  -        'type' => 'const char * const *'
  -      },
  -      {
  -        'name' => 'attr',
  -        'type' => 'apr_procattr_t *'
  -      },
  -      {
  -        'name' => 'p',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'cont'
         }
  -    ],
  -    'name' => 'ap_os_create_privileged_process'
  +    ]
     },
     {
       'return_type' => 'apr_status_t',
  +    'name' => 'apr_file_open_stdout',
       'args' => [
         {
  -        'name' => 'query_code',
  -        'type' => 'int'
  +        'type' => 'apr_file_t **',
  +        'name' => 'thefile'
         },
         {
  -        'name' => 'result',
  -        'type' => 'int *'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'cont'
         }
  -    ],
  -    'name' => 'ap_mpm_query'
  +    ]
     },
     {
  -    'return_type' => 'ap_directive_t *',
  +    'return_type' => 'apr_status_t',
  +    'name' => 'apr_file_perms_set',
       'args' => [
  -      {
  -        'name' => 'parent',
  -        'type' => 'ap_directive_t **'
  -      },
         {
  -        'name' => 'current',
  -        'type' => 'ap_directive_t *'
  +        'type' => 'const char *',
  +        'name' => 'fname'
         },
         {
  -        'name' => 'toadd',
  -        'type' => 'ap_directive_t *'
  -      },
  -      {
  -        'name' => 'child',
  -        'type' => 'int'
  +        'type' => 'apr_fileperms_t',
  +        'name' => 'perms'
         }
  -    ],
  -    'name' => 'ap_add_node'
  +    ]
     },
     {
  -    'return_type' => 'const char *',
  +    'return_type' => 'apr_status_t',
  +    'name' => 'apr_file_pipe_create',
       'args' => [
         {
  -        'name' => 'cmd',
  -        'type' => 'cmd_parms *'
  +        'type' => 'apr_file_t **',
  +        'name' => 'in'
         },
         {
  -        'name' => 'struct_ptr',
  -        'type' => 'void *'
  +        'type' => 'apr_file_t **',
  +        'name' => 'out'
         },
         {
  -        'name' => 'arg',
  -        'type' => 'const char *'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'cont'
         }
  -    ],
  -    'name' => 'ap_set_string_slot'
  +    ]
     },
     {
  -    'return_type' => 'const char *',
  +    'return_type' => 'apr_status_t',
  +    'name' => 'apr_file_pipe_timeout_get',
       'args' => [
  -      {
  -        'name' => 'cmd',
  -        'type' => 'cmd_parms *'
  -      },
         {
  -        'name' => 'struct_ptr',
  -        'type' => 'void *'
  +        'type' => 'apr_file_t *',
  +        'name' => 'thepipe'
         },
         {
  -        'name' => 'arg',
  -        'type' => 'const char *'
  +        'type' => 'apr_interval_time_t *',
  +        'name' => 'timeout'
         }
  -    ],
  -    'name' => 'ap_set_int_slot'
  +    ]
     },
     {
  -    'return_type' => 'int',
  +    'return_type' => 'apr_status_t',
  +    'name' => 'apr_file_pipe_timeout_set',
       'args' => [
         {
  -        'name' => 'cmd',
  -        'type' => 'cmd_parms *'
  +        'type' => 'apr_file_t *',
  +        'name' => 'thepipe'
         },
         {
  -        'name' => 'method',
  -        'type' => 'const char *'
  +        'type' => 'apr_interval_time_t',
  +        'name' => 'timeout'
         }
  -    ],
  -    'name' => 'ap_method_is_limited'
  +    ]
     },
     {
  -    'return_type' => 'const char *',
  +    'return_type' => 'apr_pool_t *',
  +    'name' => 'apr_file_pool_get',
       'args' => [
         {
  -        'name' => 'cmd',
  -        'type' => 'cmd_parms *'
  -      },
  -      {
  -        'name' => 'struct_ptr',
  -        'type' => 'void *'
  -      },
  -      {
  -        'name' => 'arg',
  -        'type' => 'const char *'
  +        'type' => 'apr_file_t *',
  +        'name' => 'ob'
         }
  -    ],
  -    'name' => 'ap_set_string_slot_lower'
  +    ]
     },
     {
  -    'return_type' => 'const char *',
  +    'return_type' => 'int',
  +    'name' => 'apr_file_printf',
       'args' => [
         {
  -        'name' => 'cmd',
  -        'type' => 'cmd_parms *'
  +        'type' => 'apr_file_t *',
  +        'name' => 'fptr'
         },
         {
  -        'name' => 'struct_ptr',
  -        'type' => 'void *'
  +        'type' => 'const char *',
  +        'name' => 'format'
         },
         {
  -        'name' => 'arg',
  -        'type' => 'int'
  +        'type' => '...',
  +        'name' => 'arg2'
         }
  -    ],
  -    'name' => 'ap_set_flag_slot'
  +    ]
     },
     {
  -    'return_type' => 'const char *',
  +    'return_type' => 'apr_status_t',
  +    'name' => 'apr_file_putc',
       'args' => [
         {
  -        'name' => 'cmd',
  -        'type' => 'cmd_parms *'
  +        'type' => 'char',
  +        'name' => 'ch'
         },
         {
  -        'name' => 'struct_ptr',
  -        'type' => 'void *'
  -      },
  -      {
  -        'name' => 'arg',
  -        'type' => 'const char *'
  +        'type' => 'apr_file_t *',
  +        'name' => 'thefile'
         }
  -    ],
  -    'name' => 'ap_set_file_slot'
  +    ]
     },
     {
  -    'return_type' => 'const char *',
  +    'return_type' => 'apr_status_t',
  +    'name' => 'apr_file_puts',
       'args' => [
         {
  -        'name' => 'p',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'const char *',
  +        'name' => 'str'
         },
         {
  -        'name' => 'fname',
  -        'type' => 'const char *'
  +        'type' => 'apr_file_t *',
  +        'name' => 'thefile'
         }
  -    ],
  -    'name' => 'ap_server_root_relative'
  +    ]
     },
     {
  -    'return_type' => 'void',
  +    'return_type' => 'apr_status_t',
  +    'name' => 'apr_file_read',
       'args' => [
         {
  -        'name' => 'm',
  -        'type' => 'module *'
  +        'type' => 'apr_file_t *',
  +        'name' => 'thefile'
         },
         {
  -        'name' => 'p',
  -        'type' => 'apr_pool_t *'
  -      }
  -    ],
  -    'name' => 'ap_add_module'
  -  },
  -  {
  -    'return_type' => 'void',
  -    'args' => [
  +        'type' => 'void *',
  +        'name' => 'buf'
  +      },
         {
  -        'name' => 'm',
  -        'type' => 'module *'
  +        'type' => 'apr_size_t *',
  +        'name' => 'nbytes'
         }
  -    ],
  -    'name' => 'ap_remove_module'
  +    ]
     },
     {
  -    'return_type' => 'void',
  +    'return_type' => 'apr_status_t',
  +    'name' => 'apr_file_read_full',
       'args' => [
         {
  -        'name' => 'mod',
  -        'type' => 'module *'
  +        'type' => 'apr_file_t *',
  +        'name' => 'thefile'
         },
  -      {
  -        'name' => 'p',
  -        'type' => 'apr_pool_t *'
  -      }
  -    ],
  -    'name' => 'ap_add_loaded_module'
  -  },
  -  {
  -    'return_type' => 'void',
  -    'args' => [
         {
  -        'name' => 'mod',
  -        'type' => 'module *'
  -      }
  -    ],
  -    'name' => 'ap_remove_loaded_module'
  -  },
  -  {
  -    'return_type' => 'int',
  -    'args' => [
  +        'type' => 'void *',
  +        'name' => 'buf'
  +      },
         {
  -        'name' => 'name',
  -        'type' => 'const char *'
  +        'type' => 'apr_size_t',
  +        'name' => 'nbytes'
         },
         {
  -        'name' => 'p',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'apr_size_t *',
  +        'name' => 'bytes_read'
         }
  -    ],
  -    'name' => 'ap_add_named_module'
  +    ]
     },
     {
  -    'return_type' => 'const char *',
  +    'return_type' => 'apr_status_t',
  +    'name' => 'apr_file_remove',
       'args' => [
         {
  -        'name' => 'm',
  -        'type' => 'module *'
  -      }
  -    ],
  -    'name' => 'ap_find_module_name'
  -  },
  -  {
  -    'return_type' => 'module *',
  -    'args' => [
  +        'type' => 'const char *',
  +        'name' => 'path'
  +      },
         {
  -        'name' => 'name',
  -        'type' => 'const char *'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'cont'
         }
  -    ],
  -    'name' => 'ap_find_linked_module'
  +    ]
     },
     {
       'return_type' => 'apr_status_t',
  +    'name' => 'apr_file_rename',
       'args' => [
         {
  -        'name' => 'ret_cfg',
  -        'type' => 'ap_configfile_t **'
  +        'type' => 'const char *',
  +        'name' => 'from_path'
         },
         {
  -        'name' => 'p',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'const char *',
  +        'name' => 'to_path'
         },
         {
  -        'name' => 'name',
  -        'type' => 'const char *'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'pool'
         }
  -    ],
  -    'name' => 'ap_pcfg_openfile'
  +    ]
     },
     {
  -    'return_type' => 'ap_configfile_t *',
  +    'return_type' => 'apr_status_t',
  +    'name' => 'apr_file_seek',
       'args' => [
  -      {
  -        'name' => 'p',
  -        'type' => 'apr_pool_t *'
  -      },
  -      {
  -        'name' => 'descr',
  -        'type' => 'const char *'
  -      },
         {
  -        'name' => 'param',
  -        'type' => 'void *'
  +        'type' => 'apr_file_t *',
  +        'name' => 'thefile'
         },
         {
  -        'name' => 'arg3',
  -        'type' => 'int(*getc_func)(void*)'
  +        'type' => 'apr_seek_where_t',
  +        'name' => 'where'
         },
         {
  -        'name' => 'arg4',
  -        'type' => 'void *(*gets_func) (void *buf, size_t bufsiz, void *param)'
  -      },
  -      {
  -        'name' => 'arg5',
  -        'type' => 'int(*close_func)(void *param)'
  +        'type' => 'apr_off_t *',
  +        'name' => 'offset'
         }
  -    ],
  -    'name' => 'ap_pcfg_open_custom'
  +    ]
     },
     {
  -    'return_type' => 'int',
  +    'return_type' => 'apr_status_t',
  +    'name' => 'apr_file_trunc',
       'args' => [
         {
  -        'name' => 'buf',
  -        'type' => 'char *'
  +        'type' => 'apr_file_t *',
  +        'name' => 'fp'
         },
         {
  -        'name' => 'bufsize',
  -        'type' => 'size_t'
  -      },
  -      {
  -        'name' => 'cfp',
  -        'type' => 'ap_configfile_t *'
  +        'type' => 'apr_off_t',
  +        'name' => 'offset'
         }
  -    ],
  -    'name' => 'ap_cfg_getline'
  +    ]
     },
     {
  -    'return_type' => 'int',
  +    'return_type' => 'apr_status_t',
  +    'name' => 'apr_file_ungetc',
       'args' => [
         {
  -        'name' => 'cfp',
  -        'type' => 'ap_configfile_t *'
  +        'type' => 'char',
  +        'name' => 'ch'
  +      },
  +      {
  +        'type' => 'apr_file_t *',
  +        'name' => 'thefile'
         }
  -    ],
  -    'name' => 'ap_cfg_getc'
  +    ]
     },
     {
  -    'return_type' => 'int',
  +    'return_type' => 'apr_status_t',
  +    'name' => 'apr_file_unlock',
       'args' => [
         {
  -        'name' => 'cfp',
  -        'type' => 'ap_configfile_t *'
  +        'type' => 'apr_file_t *',
  +        'name' => 'thefile'
         }
  -    ],
  -    'name' => 'ap_cfg_closefile'
  +    ]
     },
     {
  -    'return_type' => 'const char *',
  +    'return_type' => 'apr_status_t',
  +    'name' => 'apr_file_write',
       'args' => [
  +      {
  +        'type' => 'apr_file_t *',
  +        'name' => 'thefile'
  +      },
         {
  -        'name' => 'cmd',
  -        'type' => 'cmd_parms *'
  +        'type' => 'const void *',
  +        'name' => 'buf'
         },
         {
  -        'name' => 'directive',
  -        'type' => 'char *'
  +        'type' => 'apr_size_t *',
  +        'name' => 'nbytes'
         }
  -    ],
  -    'name' => 'ap_soak_end_container'
  +    ]
     },
     {
  -    'return_type' => 'const char *',
  +    'return_type' => 'apr_status_t',
  +    'name' => 'apr_file_write_full',
       'args' => [
  -      {
  -        'name' => 'p',
  -        'type' => 'apr_pool_t *'
  -      },
         {
  -        'name' => 'temp_pool',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'apr_file_t *',
  +        'name' => 'thefile'
         },
         {
  -        'name' => 'parms',
  -        'type' => 'cmd_parms *'
  +        'type' => 'const void *',
  +        'name' => 'buf'
         },
         {
  -        'name' => 'current',
  -        'type' => 'ap_directive_t **'
  +        'type' => 'apr_size_t',
  +        'name' => 'nbytes'
         },
         {
  -        'name' => 'curr_parent',
  -        'type' => 'ap_directive_t **'
  -      },
  -      {
  -        'name' => 'orig_directive',
  -        'type' => 'char *'
  +        'type' => 'apr_size_t *',
  +        'name' => 'bytes_written'
         }
  -    ],
  -    'name' => 'ap_build_cont_config'
  +    ]
     },
     {
  -    'return_type' => 'const char *',
  +    'return_type' => 'apr_status_t',
  +    'name' => 'apr_file_writev',
       'args' => [
         {
  -        'name' => 'parms',
  -        'type' => 'cmd_parms *'
  +        'type' => 'apr_file_t *',
  +        'name' => 'thefile'
         },
         {
  -        'name' => 'conf_pool',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'const struct iovec *',
  +        'name' => 'vec'
         },
         {
  -        'name' => 'temp_pool',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'apr_size_t',
  +        'name' => 'nvec'
         },
         {
  -        'name' => 'conftree',
  -        'type' => 'ap_directive_t **'
  +        'type' => 'apr_size_t *',
  +        'name' => 'nbytes'
         }
  -    ],
  -    'name' => 'ap_build_config'
  +    ]
     },
     {
       'return_type' => 'const char *',
  +    'name' => 'apr_filename_of_pathname',
       'args' => [
         {
  -        'name' => 'conftree',
  -        'type' => 'ap_directive_t *'
  -      },
  -      {
  -        'name' => 'parms',
  -        'type' => 'cmd_parms *'
  -      },
  -      {
  -        'name' => 'section_vector',
  -        'type' => 'ap_conf_vector_t *'
  +        'type' => 'const char *',
  +        'name' => 'pathname'
         }
  -    ],
  -    'name' => 'ap_walk_config'
  +    ]
     },
     {
  -    'return_type' => 'const char *',
  +    'return_type' => 'apr_status_t',
  +    'name' => 'apr_filepath_get',
       'args' => [
         {
  -        'name' => 'cmd',
  -        'type' => 'cmd_parms *'
  +        'type' => 'char **',
  +        'name' => 'path'
         },
         {
  -        'name' => 'forbidden',
  -        'type' => 'unsigned'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'p'
         }
  -    ],
  -    'name' => 'ap_check_cmd_context'
  +    ]
     },
     {
  -    'return_type' => 'void',
  +    'return_type' => 'apr_status_t',
  +    'name' => 'apr_filepath_merge',
       'args' => [
         {
  -        'name' => 'p',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'char **',
  +        'name' => 'newpath'
         },
         {
  -        'name' => 's',
  -        'type' => 'server_rec *'
  +        'type' => 'const char *',
  +        'name' => 'rootpath'
         },
         {
  -        'name' => 'm',
  -        'type' => 'module *'
  -      }
  -    ],
  -    'name' => 'ap_single_module_configure'
  -  },
  -  {
  -    'return_type' => 'void',
  -    'args' => [
  +        'type' => 'const char *',
  +        'name' => 'addpath'
  +      },
  +      {
  +        'type' => 'apr_int32_t',
  +        'name' => 'flags'
  +      },
         {
  -        'name' => 'process',
  -        'type' => 'process_rec *'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'p'
         }
  -    ],
  -    'name' => 'ap_setup_prelinked_modules'
  +    ]
     },
     {
  -    'return_type' => 'void',
  -    'args' => [],
  -    'name' => 'ap_show_directives'
  -  },
  -  {
  -    'return_type' => 'void',
  -    'args' => [],
  -    'name' => 'ap_show_modules'
  -  },
  -  {
  -    'return_type' => 'const char *',
  -    'args' => [],
  -    'name' => 'ap_show_mpm'
  -  },
  -  {
  -    'return_type' => 'server_rec *',
  +    'return_type' => 'apr_status_t',
  +    'name' => 'apr_filepath_root',
       'args' => [
         {
  -        'name' => 'process',
  -        'type' => 'process_rec *'
  +        'type' => 'const char **',
  +        'name' => 'rootpath'
         },
         {
  -        'name' => 'temp_pool',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'const char **',
  +        'name' => 'filepath'
         },
         {
  -        'name' => 'config_name',
  -        'type' => 'const char *'
  +        'type' => 'apr_int32_t',
  +        'name' => 'flags'
         },
         {
  -        'name' => 'conftree',
  -        'type' => 'ap_directive_t **'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'p'
         }
  -    ],
  -    'name' => 'ap_read_config'
  +    ]
     },
     {
  -    'return_type' => 'void',
  +    'return_type' => 'apr_status_t',
  +    'name' => 'apr_filepath_set',
       'args' => [
  +      {
  +        'type' => 'const char *',
  +        'name' => 'path'
  +      },
         {
  -        'name' => 'process',
  -        'type' => 'process_rec *'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'p'
         }
  -    ],
  -    'name' => 'ap_run_rewrite_args'
  +    ]
     },
     {
  -    'return_type' => 'void',
  +    'return_type' => 'apr_status_t',
  +    'name' => 'apr_fnmatch',
       'args' => [
  +      {
  +        'type' => 'const char *',
  +        'name' => 'pattern'
  +      },
         {
  -        'name' => 'm',
  -        'type' => 'module *'
  +        'type' => 'const char *',
  +        'name' => 'strings'
         },
         {
  -        'name' => 'p',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'int',
  +        'name' => 'flags'
         }
  -    ],
  -    'name' => 'ap_register_hooks'
  +    ]
     },
     {
  -    'return_type' => 'void',
  +    'return_type' => 'apr_status_t',
  +    'name' => 'apr_generate_random_bytes',
       'args' => [
         {
  -        'name' => 'p',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'unsigned char *',
  +        'name' => 'buf'
         },
         {
  -        'name' => 'main_server',
  -        'type' => 'server_rec *'
  +        'type' => 'int',
  +        'name' => 'length'
         }
  -    ],
  -    'name' => 'ap_fixup_virtual_hosts'
  +    ]
     },
     {
  -    'return_type' => 'void',
  +    'return_type' => 'apr_status_t',
  +    'name' => 'apr_get_groupname',
       'args' => [
  -      {
  -        'name' => 's',
  -        'type' => 'server_rec *'
  -      },
  -      {
  -        'name' => 'fname',
  -        'type' => 'const char *'
  -      },
         {
  -        'name' => 'conftree',
  -        'type' => 'ap_directive_t **'
  +        'type' => 'char **',
  +        'name' => 'groupname'
         },
         {
  -        'name' => 'p',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'apr_gid_t',
  +        'name' => 'groupid'
         },
         {
  -        'name' => 'ptemp',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'p'
         }
  -    ],
  -    'name' => 'ap_process_resource_config'
  +    ]
     },
     {
  -    'return_type' => 'void',
  +    'return_type' => 'apr_status_t',
  +    'name' => 'apr_get_home_directory',
       'args' => [
  -      {
  -        'name' => 's',
  -        'type' => 'server_rec *'
  -      },
         {
  -        'name' => 'conftree',
  -        'type' => 'ap_directive_t *'
  +        'type' => 'char **',
  +        'name' => 'dirname'
         },
         {
  -        'name' => 'p',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'const char *',
  +        'name' => 'username'
         },
         {
  -        'name' => 'ptemp',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'p'
         }
  -    ],
  -    'name' => 'ap_process_config_tree'
  +    ]
     },
     {
  -    'return_type' => 'void',
  +    'return_type' => 'apr_status_t',
  +    'name' => 'apr_get_user_passwd',
       'args' => [
  -      {
  -        'name' => 'pf',
  -        'type' => 'ap_HOOK_header_parser_t *'
  -      },
         {
  -        'name' => 'aszPre',
  -        'type' => 'const char * const *'
  +        'type' => 'char **',
  +        'name' => 'passwd'
         },
         {
  -        'name' => 'aszSucc',
  -        'type' => 'const char * const *'
  +        'type' => 'const char *',
  +        'name' => 'username'
         },
  -      {
  -        'name' => 'nOrder',
  -        'type' => 'int'
  -      }
  -    ],
  -    'name' => 'ap_hook_header_parser'
  -  },
  -  {
  -    'return_type' => 'int',
  -    'args' => [
         {
  -        'name' => 'r',
  -        'type' => 'request_rec *'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'p'
         }
  -    ],
  -    'name' => 'ap_run_header_parser'
  -  },
  -  {
  -    'return_type' => 'apr_array_header_t *',
  -    'args' => [],
  -    'name' => 'ap_hook_get_header_parser'
  +    ]
     },
     {
  -    'return_type' => 'void',
  +    'return_type' => 'apr_status_t',
  +    'name' => 'apr_get_userid',
       'args' => [
         {
  -        'name' => 'pf',
  -        'type' => 'ap_HOOK_pre_config_t *'
  +        'type' => 'apr_uid_t *',
  +        'name' => 'userid'
         },
         {
  -        'name' => 'aszPre',
  -        'type' => 'const char * const *'
  +        'type' => 'apr_gid_t *',
  +        'name' => 'groupid'
         },
         {
  -        'name' => 'aszSucc',
  -        'type' => 'const char * const *'
  +        'type' => 'const char *',
  +        'name' => 'username'
         },
         {
  -        'name' => 'nOrder',
  -        'type' => 'int'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'p'
         }
  -    ],
  -    'name' => 'ap_hook_pre_config'
  +    ]
     },
     {
  -    'return_type' => 'void',
  +    'return_type' => 'apr_status_t',
  +    'name' => 'apr_get_username',
       'args' => [
         {
  -        'name' => 'pconf',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'char **',
  +        'name' => 'username'
         },
         {
  -        'name' => 'plog',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'apr_uid_t',
  +        'name' => 'userid'
         },
         {
  -        'name' => 'ptemp',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'p'
         }
  -    ],
  -    'name' => 'ap_run_pre_config'
  +    ]
     },
     {
  -    'return_type' => 'apr_array_header_t *',
  -    'args' => [],
  -    'name' => 'ap_hook_get_pre_config'
  -  },
  -  {
  -    'return_type' => 'void',
  +    'return_type' => 'apr_status_t',
  +    'name' => 'apr_gethostname',
       'args' => [
  -      {
  -        'name' => 'pf',
  -        'type' => 'ap_HOOK_post_config_t *'
  -      },
         {
  -        'name' => 'aszPre',
  -        'type' => 'const char * const *'
  +        'type' => 'char *',
  +        'name' => 'buf'
         },
         {
  -        'name' => 'aszSucc',
  -        'type' => 'const char * const *'
  +        'type' => 'int',
  +        'name' => 'len'
         },
         {
  -        'name' => 'nOrder',
  -        'type' => 'int'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'cont'
         }
  -    ],
  -    'name' => 'ap_hook_post_config'
  +    ]
     },
     {
  -    'return_type' => 'void',
  +    'return_type' => 'apr_status_t',
  +    'name' => 'apr_getnameinfo',
       'args' => [
  -      {
  -        'name' => 'pconf',
  -        'type' => 'apr_pool_t *'
  -      },
         {
  -        'name' => 'plog',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'char **',
  +        'name' => 'hostname'
         },
         {
  -        'name' => 'ptemp',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'apr_sockaddr_t *',
  +        'name' => 'sa'
         },
  -      {
  -        'name' => 's',
  -        'type' => 'server_rec *'
  -      }
  -    ],
  -    'name' => 'ap_run_post_config'
  -  },
  -  {
  -    'return_type' => 'apr_array_header_t *',
  -    'args' => [],
  -    'name' => 'ap_hook_get_post_config'
  +      {
  +        'type' => 'apr_int32_t',
  +        'name' => 'flags'
  +      }
  +    ]
     },
     {
  -    'return_type' => 'void',
  +    'return_type' => 'apr_status_t',
  +    'name' => 'apr_getopt',
       'args' => [
         {
  -        'name' => 'pf',
  -        'type' => 'ap_HOOK_open_logs_t *'
  +        'type' => 'apr_getopt_t *',
  +        'name' => 'os'
         },
         {
  -        'name' => 'aszPre',
  -        'type' => 'const char * const *'
  +        'type' => 'const char *',
  +        'name' => 'opts'
         },
         {
  -        'name' => 'aszSucc',
  -        'type' => 'const char * const *'
  +        'type' => 'char *',
  +        'name' => 'option_ch'
         },
         {
  -        'name' => 'nOrder',
  -        'type' => 'int'
  +        'type' => 'const char **',
  +        'name' => 'option_arg'
         }
  -    ],
  -    'name' => 'ap_hook_open_logs'
  +    ]
     },
     {
  -    'return_type' => 'void',
  +    'return_type' => 'apr_status_t',
  +    'name' => 'apr_getopt_init',
       'args' => [
         {
  -        'name' => 'pconf',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'apr_getopt_t **',
  +        'name' => 'os'
         },
         {
  -        'name' => 'plog',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'cont'
         },
         {
  -        'name' => 'ptemp',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'int',
  +        'name' => 'argc'
         },
         {
  -        'name' => 's',
  -        'type' => 'server_rec *'
  +        'type' => 'const char * const *',
  +        'name' => 'argv'
         }
  -    ],
  -    'name' => 'ap_run_open_logs'
  -  },
  -  {
  -    'return_type' => 'apr_array_header_t *',
  -    'args' => [],
  -    'name' => 'ap_hook_get_open_logs'
  +    ]
     },
     {
  -    'return_type' => 'void',
  +    'return_type' => 'apr_status_t',
  +    'name' => 'apr_getopt_long',
       'args' => [
         {
  -        'name' => 'pf',
  -        'type' => 'ap_HOOK_child_init_t *'
  +        'type' => 'apr_getopt_t *',
  +        'name' => 'os'
         },
         {
  -        'name' => 'aszPre',
  -        'type' => 'const char * const *'
  +        'type' => 'const apr_getopt_option_t *',
  +        'name' => 'opts'
         },
         {
  -        'name' => 'aszSucc',
  -        'type' => 'const char * const *'
  +        'type' => 'int *',
  +        'name' => 'option_ch'
         },
         {
  -        'name' => 'nOrder',
  -        'type' => 'int'
  +        'type' => 'const char **',
  +        'name' => 'option_arg'
         }
  -    ],
  -    'name' => 'ap_hook_child_init'
  +    ]
     },
     {
  -    'return_type' => 'void',
  +    'return_type' => 'apr_status_t',
  +    'name' => 'apr_getservbyname',
       'args' => [
         {
  -        'name' => 'pchild',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'apr_sockaddr_t *',
  +        'name' => 'sockaddr'
         },
         {
  -        'name' => 's',
  -        'type' => 'server_rec *'
  +        'type' => 'const char *',
  +        'name' => 'servname'
         }
  -    ],
  -    'name' => 'ap_run_child_init'
  -  },
  -  {
  -    'return_type' => 'apr_array_header_t *',
  -    'args' => [],
  -    'name' => 'ap_hook_get_child_init'
  +    ]
     },
     {
  -    'return_type' => 'void',
  +    'return_type' => 'apr_status_t',
  +    'name' => 'apr_getsocketopt',
       'args' => [
  -      {
  -        'name' => 'pf',
  -        'type' => 'ap_HOOK_handler_t *'
  -      },
         {
  -        'name' => 'aszPre',
  -        'type' => 'const char * const *'
  +        'type' => 'apr_socket_t *',
  +        'name' => 'sock'
         },
         {
  -        'name' => 'aszSucc',
  -        'type' => 'const char * const *'
  +        'type' => 'apr_int32_t',
  +        'name' => 'opt'
         },
         {
  -        'name' => 'nOrder',
  -        'type' => 'int'
  +        'type' => 'apr_int32_t *',
  +        'name' => 'on'
         }
  -    ],
  -    'name' => 'ap_hook_handler'
  +    ]
     },
     {
       'return_type' => 'int',
  +    'name' => 'apr_hash_count',
       'args' => [
         {
  -        'name' => 'r',
  -        'type' => 'request_rec *'
  +        'type' => 'apr_hash_t *',
  +        'name' => 'ht'
         }
  -    ],
  -    'name' => 'ap_run_handler'
  +    ]
     },
     {
  -    'return_type' => 'apr_array_header_t *',
  -    'args' => [],
  -    'name' => 'ap_hook_get_handler'
  +    'return_type' => 'apr_hash_index_t *',
  +    'name' => 'apr_hash_first',
  +    'args' => [
  +      {
  +        'type' => 'apr_hash_t *',
  +        'name' => 'ht'
  +      }
  +    ]
     },
     {
  -    'return_type' => 'void',
  +    'return_type' => 'void *',
  +    'name' => 'apr_hash_get',
       'args' => [
  -      {
  -        'name' => 'pf',
  -        'type' => 'ap_HOOK_quick_handler_t *'
  -      },
         {
  -        'name' => 'aszPre',
  -        'type' => 'const char * const *'
  +        'type' => 'apr_hash_t *',
  +        'name' => 'ht'
         },
         {
  -        'name' => 'aszSucc',
  -        'type' => 'const char * const *'
  +        'type' => 'const void *',
  +        'name' => 'key'
         },
         {
  -        'name' => 'nOrder',
  -        'type' => 'int'
  +        'type' => 'apr_ssize_t',
  +        'name' => 'klen'
         }
  -    ],
  -    'name' => 'ap_hook_quick_handler'
  +    ]
     },
     {
  -    'return_type' => 'int',
  +    'return_type' => 'apr_hash_t *',
  +    'name' => 'apr_hash_make',
       'args' => [
         {
  -        'name' => 'r',
  -        'type' => 'request_rec *'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'pool'
         }
  -    ],
  -    'name' => 'ap_run_quick_handler'
  +    ]
     },
     {
  -    'return_type' => 'apr_array_header_t *',
  -    'args' => [],
  -    'name' => 'ap_hook_get_quick_handler'
  +    'return_type' => 'apr_hash_index_t *',
  +    'name' => 'apr_hash_next',
  +    'args' => [
  +      {
  +        'type' => 'apr_hash_index_t *',
  +        'name' => 'hi'
  +      }
  +    ]
     },
     {
       'return_type' => 'void',
  +    'name' => 'apr_hash_set',
       'args' => [
         {
  -        'name' => 'pf',
  -        'type' => 'ap_HOOK_optional_fn_retrieve_t *'
  +        'type' => 'apr_hash_t *',
  +        'name' => 'ht'
         },
         {
  -        'name' => 'aszPre',
  -        'type' => 'const char * const *'
  +        'type' => 'const void *',
  +        'name' => 'key'
         },
         {
  -        'name' => 'aszSucc',
  -        'type' => 'const char * const *'
  +        'type' => 'apr_ssize_t',
  +        'name' => 'klen'
         },
         {
  -        'name' => 'nOrder',
  -        'type' => 'int'
  +        'type' => 'const void *',
  +        'name' => 'val'
         }
  -    ],
  -    'name' => 'ap_hook_optional_fn_retrieve'
  -  },
  -  {
  -    'return_type' => 'void',
  -    'args' => [],
  -    'name' => 'ap_run_optional_fn_retrieve'
  -  },
  -  {
  -    'return_type' => 'apr_array_header_t *',
  -    'args' => [],
  -    'name' => 'ap_hook_get_optional_fn_retrieve'
  +    ]
     },
     {
       'return_type' => 'void',
  +    'name' => 'apr_hash_this',
       'args' => [
  +      {
  +        'type' => 'apr_hash_index_t *',
  +        'name' => 'hi'
  +      },
  +      {
  +        'type' => 'const void **',
  +        'name' => 'key'
  +      },
  +      {
  +        'type' => 'apr_ssize_t *',
  +        'name' => 'klen'
  +      },
         {
  -        'name' => 'arg0',
  -        'type' => 'conn_rec *'
  +        'type' => 'void **',
  +        'name' => 'val'
         }
  -    ],
  -    'name' => 'ap_lingering_close'
  +    ]
     },
     {
       'return_type' => 'void',
  +    'name' => 'apr_hook_deregister_all',
  +    'args' => []
  +  },
  +  {
  +    'return_type' => 'void',
  +    'name' => 'apr_hook_sort_register',
       'args' => [
  -      {
  -        'name' => 'pf',
  -        'type' => 'ap_HOOK_pre_connection_t *'
  -      },
  -      {
  -        'name' => 'aszPre',
  -        'type' => 'const char * const *'
  -      },
         {
  -        'name' => 'aszSucc',
  -        'type' => 'const char * const *'
  +        'type' => 'const char *',
  +        'name' => 'szHookName'
         },
         {
  -        'name' => 'nOrder',
  -        'type' => 'int'
  +        'type' => 'apr_array_header_t **',
  +        'name' => 'aHooks'
         }
  -    ],
  -    'name' => 'ap_hook_pre_connection'
  +    ]
     },
     {
  -    'return_type' => 'int',
  +    'return_type' => 'apr_status_t',
  +    'name' => 'apr_implode_time',
       'args' => [
  +      {
  +        'type' => 'apr_time_t *',
  +        'name' => 'result'
  +      },
         {
  -        'name' => 'c',
  -        'type' => 'conn_rec *'
  +        'type' => 'apr_exploded_time_t *',
  +        'name' => 'input'
         }
  -    ],
  -    'name' => 'ap_run_pre_connection'
  +    ]
     },
     {
  -    'return_type' => 'apr_array_header_t *',
  -    'args' => [],
  -    'name' => 'ap_hook_get_pre_connection'
  +    'return_type' => 'apr_status_t',
  +    'name' => 'apr_initialize',
  +    'args' => []
     },
     {
  -    'return_type' => 'void',
  +    'return_type' => 'apr_status_t',
  +    'name' => 'apr_ipsubnet_create',
       'args' => [
         {
  -        'name' => 'pf',
  -        'type' => 'ap_HOOK_process_connection_t *'
  +        'type' => 'apr_ipsubnet_t **',
  +        'name' => 'ipsub'
         },
         {
  -        'name' => 'aszPre',
  -        'type' => 'const char * const *'
  +        'type' => 'const char *',
  +        'name' => 'ipstr'
         },
         {
  -        'name' => 'aszSucc',
  -        'type' => 'const char * const *'
  +        'type' => 'const char *',
  +        'name' => 'mask_or_numbits'
         },
         {
  -        'name' => 'nOrder',
  -        'type' => 'int'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'p'
         }
  -    ],
  -    'name' => 'ap_hook_process_connection'
  +    ]
     },
     {
       'return_type' => 'int',
  +    'name' => 'apr_ipsubnet_test',
       'args' => [
  +      {
  +        'type' => 'apr_ipsubnet_t *',
  +        'name' => 'ipsub'
  +      },
         {
  -        'name' => 'c',
  -        'type' => 'conn_rec *'
  +        'type' => 'apr_sockaddr_t *',
  +        'name' => 'sa'
         }
  -    ],
  -    'name' => 'ap_run_process_connection'
  +    ]
     },
     {
  -    'return_type' => 'apr_array_header_t *',
  -    'args' => [],
  -    'name' => 'ap_hook_get_process_connection'
  +    'return_type' => 'int',
  +    'name' => 'apr_is_fnmatch',
  +    'args' => [
  +      {
  +        'type' => 'const char *',
  +        'name' => 'pattern'
  +      }
  +    ]
     },
     {
  -    'return_type' => 'int',
  +    'return_type' => 'apr_status_t',
  +    'name' => 'apr_listen',
       'args' => [
         {
  -        'name' => 'r',
  -        'type' => 'request_rec *'
  +        'type' => 'apr_socket_t *',
  +        'name' => 'sock'
  +      },
  +      {
  +        'type' => 'apr_int32_t',
  +        'name' => 'backlog'
         }
  -    ],
  -    'name' => 'ap_allow_options'
  +    ]
     },
     {
  -    'return_type' => 'int',
  +    'return_type' => 'apr_status_t',
  +    'name' => 'apr_lock_acquire',
       'args' => [
         {
  -        'name' => 'r',
  -        'type' => 'request_rec *'
  +        'type' => 'apr_lock_t *',
  +        'name' => 'lock'
         }
  -    ],
  -    'name' => 'ap_allow_overrides'
  +    ]
     },
     {
  -    'return_type' => 'const char *',
  +    'return_type' => 'apr_status_t',
  +    'name' => 'apr_lock_acquire_rw',
       'args' => [
  +      {
  +        'type' => 'apr_lock_t *',
  +        'name' => 'lock'
  +      },
         {
  -        'name' => 'r',
  -        'type' => 'request_rec *'
  +        'type' => 'apr_readerwriter_e',
  +        'name' => 'type'
         }
  -    ],
  -    'name' => 'ap_default_type'
  +    ]
     },
     {
  -    'return_type' => 'const char *',
  +    'return_type' => 'apr_status_t',
  +    'name' => 'apr_lock_child_init',
       'args' => [
  +      {
  +        'type' => 'apr_lock_t **',
  +        'name' => 'lock'
  +      },
         {
  -        'name' => 'r',
  -        'type' => 'request_rec *'
  +        'type' => 'const char *',
  +        'name' => 'fname'
  +      },
  +      {
  +        'type' => 'apr_pool_t *',
  +        'name' => 'pool'
         }
  -    ],
  -    'name' => 'ap_document_root'
  +    ]
     },
     {
  -    'return_type' => 'const char *',
  +    'return_type' => 'apr_status_t',
  +    'name' => 'apr_lock_create',
       'args' => [
         {
  -        'name' => 'conn',
  -        'type' => 'conn_rec *'
  +        'type' => 'apr_lock_t **',
  +        'name' => 'lock'
         },
         {
  -        'name' => 'dir_config',
  -        'type' => 'void *'
  +        'type' => 'apr_locktype_e',
  +        'name' => 'type'
         },
         {
  -        'name' => 'type',
  -        'type' => 'int'
  +        'type' => 'apr_lockscope_e',
  +        'name' => 'scope'
         },
         {
  -        'name' => 'str_is_ip',
  -        'type' => 'int *'
  +        'type' => 'const char *',
  +        'name' => 'fname'
  +      },
  +      {
  +        'type' => 'apr_pool_t *',
  +        'name' => 'pool'
         }
  -    ],
  -    'name' => 'ap_get_remote_host'
  +    ]
     },
     {
  -    'return_type' => 'const char *',
  +    'return_type' => 'apr_status_t',
  +    'name' => 'apr_lock_create_np',
       'args' => [
  +      {
  +        'type' => 'apr_lock_t **',
  +        'name' => 'lock'
  +      },
  +      {
  +        'type' => 'apr_locktype_e',
  +        'name' => 'type'
  +      },
         {
  -        'name' => 'r',
  -        'type' => 'request_rec *'
  +        'type' => 'apr_lockscope_e',
  +        'name' => 'scope'
  +      },
  +      {
  +        'type' => 'apr_lockmech_e_np',
  +        'name' => 'mech'
  +      },
  +      {
  +        'type' => 'const char *',
  +        'name' => 'fname'
  +      },
  +      {
  +        'type' => 'apr_pool_t *',
  +        'name' => 'pool'
         }
  -    ],
  -    'name' => 'ap_get_remote_logname'
  +    ]
     },
     {
  -    'return_type' => 'char *',
  +    'return_type' => 'apr_status_t',
  +    'name' => 'apr_lock_data_get',
       'args' => [
         {
  -        'name' => 'p',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'apr_lock_t *',
  +        'name' => 'lock'
         },
         {
  -        'name' => 'uri',
  -        'type' => 'const char *'
  +        'type' => 'const char *',
  +        'name' => 'key'
         },
         {
  -        'name' => 'r',
  -        'type' => 'request_rec *'
  +        'type' => 'void *',
  +        'name' => 'data'
         }
  -    ],
  -    'name' => 'ap_construct_url'
  +    ]
     },
     {
  -    'return_type' => 'const char *',
  +    'return_type' => 'apr_status_t',
  +    'name' => 'apr_lock_data_set',
       'args' => [
  +      {
  +        'type' => 'apr_lock_t *',
  +        'name' => 'lock'
  +      },
  +      {
  +        'type' => 'void *',
  +        'name' => 'data'
  +      },
  +      {
  +        'type' => 'const char *',
  +        'name' => 'key'
  +      },
         {
  -        'name' => 'r',
  -        'type' => 'request_rec *'
  +        'type' => 'apr_status_t (*cleanup)(void *)',
  +        'name' => 'arg3'
         }
  -    ],
  -    'name' => 'ap_get_server_name'
  +    ]
     },
     {
  -    'return_type' => 'apr_port_t',
  +    'return_type' => 'apr_status_t',
  +    'name' => 'apr_lock_destroy',
       'args' => [
         {
  -        'name' => 'r',
  -        'type' => 'const request_rec *'
  +        'type' => 'apr_lock_t *',
  +        'name' => 'lock'
         }
  -    ],
  -    'name' => 'ap_get_server_port'
  +    ]
     },
     {
  -    'return_type' => 'unsigned long',
  +    'return_type' => 'apr_status_t',
  +    'name' => 'apr_lock_release',
       'args' => [
         {
  -        'name' => 'r',
  -        'type' => 'const request_rec *'
  +        'type' => 'apr_lock_t *',
  +        'name' => 'lock'
         }
  -    ],
  -    'name' => 'ap_get_limit_req_body'
  +    ]
     },
     {
  -    'return_type' => 'size_t',
  +    'return_type' => 'apr_status_t',
  +    'name' => 'apr_lstat',
       'args' => [
  +      {
  +        'type' => 'apr_finfo_t *',
  +        'name' => 'finfo'
  +      },
         {
  -        'name' => 'r',
  -        'type' => 'const request_rec *'
  +        'type' => 'const char *',
  +        'name' => 'fname'
  +      },
  +      {
  +        'type' => 'apr_int32_t',
  +        'name' => 'wanted'
  +      },
  +      {
  +        'type' => 'apr_pool_t *',
  +        'name' => 'cont'
         }
  -    ],
  -    'name' => 'ap_get_limit_xml_body'
  +    ]
     },
     {
  -    'return_type' => 'void',
  +    'return_type' => 'apr_status_t',
  +    'name' => 'apr_md4',
       'args' => [
         {
  -        'name' => 'r',
  -        'type' => 'request_rec *'
  +        'type' => 'unsigned char',
  +        'name' => 'digest'
         },
         {
  -        'name' => 'status',
  -        'type' => 'int'
  +        'type' => 'const unsigned char *',
  +        'name' => 'input'
         },
         {
  -        'name' => 'string',
  -        'type' => 'char *'
  +        'type' => 'apr_size_t',
  +        'name' => 'inputLen'
         }
  -    ],
  -    'name' => 'ap_custom_response'
  +    ]
     },
     {
  -    'return_type' => 'int',
  +    'return_type' => 'apr_status_t',
  +    'name' => 'apr_md4_final',
       'args' => [
         {
  -        'name' => 'name',
  -        'type' => 'const char *'
  +        'type' => 'unsigned char',
  +        'name' => 'digest'
  +      },
  +      {
  +        'type' => 'apr_md4_ctx_t *',
  +        'name' => 'context'
         }
  -    ],
  -    'name' => 'ap_exists_config_define'
  +    ]
     },
     {
  -    'return_type' => 'int',
  +    'return_type' => 'apr_status_t',
  +    'name' => 'apr_md4_init',
       'args' => [
         {
  -        'name' => 'r',
  -        'type' => 'request_rec *'
  +        'type' => 'apr_md4_ctx_t *',
  +        'name' => 'context'
         }
  -    ],
  -    'name' => 'ap_core_translate'
  +    ]
     },
     {
  -    'return_type' => 'const char *',
  +    'return_type' => 'apr_status_t',
  +    'name' => 'apr_md4_set_xlate',
       'args' => [
  +      {
  +        'type' => 'apr_md4_ctx_t *',
  +        'name' => 'context'
  +      },
         {
  -        'name' => 'r',
  -        'type' => 'request_rec *'
  +        'type' => 'apr_xlate_t *',
  +        'name' => 'xlate'
         }
  -    ],
  -    'name' => 'ap_auth_type'
  +    ]
     },
     {
  -    'return_type' => 'const char *',
  +    'return_type' => 'apr_status_t',
  +    'name' => 'apr_md4_update',
       'args' => [
  +      {
  +        'type' => 'apr_md4_ctx_t *',
  +        'name' => 'context'
  +      },
         {
  -        'name' => 'r',
  -        'type' => 'request_rec *'
  +        'type' => 'const unsigned char *',
  +        'name' => 'input'
  +      },
  +      {
  +        'type' => 'apr_size_t',
  +        'name' => 'inputLen'
         }
  -    ],
  -    'name' => 'ap_auth_name'
  +    ]
     },
     {
  -    'return_type' => 'int',
  +    'return_type' => 'apr_status_t',
  +    'name' => 'apr_md5',
       'args' => [
         {
  -        'name' => 'r',
  -        'type' => 'request_rec *'
  +        'type' => 'unsigned char',
  +        'name' => 'digest'
  +      },
  +      {
  +        'type' => 'const unsigned char *',
  +        'name' => 'input'
  +      },
  +      {
  +        'type' => 'apr_size_t',
  +        'name' => 'inputLen'
         }
  -    ],
  -    'name' => 'ap_satisfies'
  +    ]
     },
     {
  -    'return_type' => 'const apr_array_header_t *',
  +    'return_type' => 'apr_status_t',
  +    'name' => 'apr_md5_encode',
       'args' => [
  +      {
  +        'type' => 'const char *',
  +        'name' => 'password'
  +      },
         {
  -        'name' => 'r',
  -        'type' => 'request_rec *'
  +        'type' => 'const char *',
  +        'name' => 'salt'
  +      },
  +      {
  +        'type' => 'char *',
  +        'name' => 'result'
  +      },
  +      {
  +        'type' => 'size_t',
  +        'name' => 'nbytes'
         }
  -    ],
  -    'name' => 'ap_requires'
  +    ]
     },
     {
  -    'return_type' => 'void',
  +    'return_type' => 'apr_status_t',
  +    'name' => 'apr_md5_final',
       'args' => [
         {
  -        'name' => 'arg0',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'unsigned char',
  +        'name' => 'digest'
         },
         {
  -        'name' => 'arg1',
  -        'type' => 'server_rec *'
  +        'type' => 'apr_md5_ctx_t *',
  +        'name' => 'context'
         }
  -    ],
  -    'name' => 'ap_core_reorder_directories'
  +    ]
     },
     {
  -    'return_type' => 'void',
  +    'return_type' => 'apr_status_t',
  +    'name' => 'apr_md5_init',
       'args' => [
         {
  -        'name' => 'pf',
  -        'type' => 'ap_HOOK_get_mgmt_items_t *'
  -      },
  -      {
  -        'name' => 'aszPre',
  -        'type' => 'const char * const *'
  -      },
  +        'type' => 'apr_md5_ctx_t *',
  +        'name' => 'context'
  +      }
  +    ]
  +  },
  +  {
  +    'return_type' => 'apr_status_t',
  +    'name' => 'apr_md5_set_xlate',
  +    'args' => [
         {
  -        'name' => 'aszSucc',
  -        'type' => 'const char * const *'
  +        'type' => 'apr_md5_ctx_t *',
  +        'name' => 'context'
         },
         {
  -        'name' => 'nOrder',
  -        'type' => 'int'
  +        'type' => 'apr_xlate_t *',
  +        'name' => 'xlate'
         }
  -    ],
  -    'name' => 'ap_hook_get_mgmt_items'
  +    ]
     },
     {
  -    'return_type' => 'int',
  +    'return_type' => 'apr_status_t',
  +    'name' => 'apr_md5_update',
       'args' => [
         {
  -        'name' => 'p',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'apr_md5_ctx_t *',
  +        'name' => 'context'
         },
         {
  -        'name' => 'val',
  -        'type' => 'const char *'
  +        'type' => 'const unsigned char *',
  +        'name' => 'input'
         },
         {
  -        'name' => 'ht',
  -        'type' => 'apr_hash_t *'
  +        'type' => 'apr_size_t',
  +        'name' => 'inputLen'
         }
  -    ],
  -    'name' => 'ap_run_get_mgmt_items'
  -  },
  -  {
  -    'return_type' => 'apr_array_header_t *',
  -    'args' => [],
  -    'name' => 'ap_hook_get_get_mgmt_items'
  -  },
  -  {
  -    'return_type' => 'const char *',
  -    'args' => [],
  -    'name' => 'ap_get_server_version'
  +    ]
     },
     {
  -    'return_type' => 'void',
  +    'return_type' => 'apr_status_t',
  +    'name' => 'apr_mmap_create',
       'args' => [
  +      {
  +        'type' => 'apr_mmap_t **',
  +        'name' => 'newmmap'
  +      },
  +      {
  +        'type' => 'apr_file_t *',
  +        'name' => 'file'
  +      },
  +      {
  +        'type' => 'apr_off_t',
  +        'name' => 'offset'
  +      },
         {
  -        'name' => 'pconf',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'apr_size_t',
  +        'name' => 'size'
         },
         {
  -        'name' => 'component',
  -        'type' => 'const char *'
  +        'type' => 'apr_int32_t',
  +        'name' => 'flag'
  +      },
  +      {
  +        'type' => 'apr_pool_t *',
  +        'name' => 'cntxt'
         }
  -    ],
  -    'name' => 'ap_add_version_component'
  +    ]
     },
     {
  -    'return_type' => 'const char *',
  -    'args' => [],
  -    'name' => 'ap_get_server_built'
  +    'return_type' => 'apr_status_t',
  +    'name' => 'apr_mmap_delete',
  +    'args' => [
  +      {
  +        'type' => 'apr_mmap_t *',
  +        'name' => 'mmap'
  +      }
  +    ]
     },
     {
  -    'return_type' => 'char *',
  +    'return_type' => 'apr_status_t',
  +    'name' => 'apr_mmap_offset',
       'args' => [
  +      {
  +        'type' => 'void **',
  +        'name' => 'addr'
  +      },
         {
  -        'name' => 'p',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'apr_mmap_t *',
  +        'name' => 'mmap'
         },
         {
  -        'name' => 'intype',
  -        'type' => 'const char *'
  +        'type' => 'apr_off_t',
  +        'name' => 'offset'
         }
  -    ],
  -    'name' => 'ap_field_noparam'
  +    ]
     },
     {
  -    'return_type' => 'char *',
  +    'return_type' => 'void',
  +    'name' => 'apr_optional_hook_add',
       'args' => [
  +      {
  +        'type' => 'const char *',
  +        'name' => 'szName'
  +      },
         {
  -        'name' => 'p',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'void (*pfn)(void)',
  +        'name' => 'arg1'
         },
         {
  -        'name' => 't',
  -        'type' => 'apr_time_t'
  +        'type' => 'const char * const *',
  +        'name' => 'aszPre'
         },
         {
  -        'name' => 'fmt',
  -        'type' => 'const char *'
  +        'type' => 'const char * const *',
  +        'name' => 'aszSucc'
         },
         {
  -        'name' => 'gmt',
  -        'type' => 'int'
  +        'type' => 'int',
  +        'name' => 'nOrder'
         }
  -    ],
  -    'name' => 'ap_ht_time'
  +    ]
     },
     {
  -    'return_type' => 'char *',
  +    'return_type' => 'apr_array_header_t *',
  +    'name' => 'apr_optional_hook_get',
       'args' => [
         {
  -        'name' => 'p',
  -        'type' => 'apr_pool_t *'
  -      },
  +        'type' => 'const char *',
  +        'name' => 'szName'
  +      }
  +    ]
  +  },
  +  {
  +    'return_type' => 'apr_status_t',
  +    'name' => 'apr_os_dir_get',
  +    'args' => [
         {
  -        'name' => 'line',
  -        'type' => 'const char **'
  +        'type' => 'apr_os_dir_t **',
  +        'name' => 'thedir'
         },
         {
  -        'name' => 'stop',
  -        'type' => 'char'
  +        'type' => 'apr_dir_t *',
  +        'name' => 'dir'
         }
  -    ],
  -    'name' => 'ap_getword'
  +    ]
     },
     {
  -    'return_type' => 'char *',
  +    'return_type' => 'apr_status_t',
  +    'name' => 'apr_os_dir_put',
       'args' => [
         {
  -        'name' => 'p',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'apr_dir_t **',
  +        'name' => 'dir'
         },
         {
  -        'name' => 'line',
  -        'type' => 'char **'
  +        'type' => 'apr_os_dir_t *',
  +        'name' => 'thedir'
         },
         {
  -        'name' => 'stop',
  -        'type' => 'char'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'cont'
         }
  -    ],
  -    'name' => 'ap_getword_nc'
  +    ]
     },
     {
  -    'return_type' => 'char *',
  +    'return_type' => 'apr_status_t',
  +    'name' => 'apr_os_dso_handle_get',
       'args' => [
         {
  -        'name' => 'p',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'apr_os_dso_handle_t *',
  +        'name' => 'dso'
         },
         {
  -        'name' => 'line',
  -        'type' => 'const char **'
  +        'type' => 'apr_dso_handle_t *',
  +        'name' => 'aprdso'
         }
  -    ],
  -    'name' => 'ap_getword_white'
  +    ]
     },
     {
  -    'return_type' => 'char *',
  +    'return_type' => 'apr_status_t',
  +    'name' => 'apr_os_dso_handle_put',
       'args' => [
  +      {
  +        'type' => 'apr_dso_handle_t **',
  +        'name' => 'dso'
  +      },
         {
  -        'name' => 'p',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'apr_os_dso_handle_t',
  +        'name' => 'thedso'
         },
         {
  -        'name' => 'line',
  -        'type' => 'char **'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'pool'
         }
  -    ],
  -    'name' => 'ap_getword_white_nc'
  +    ]
     },
     {
  -    'return_type' => 'char *',
  +    'return_type' => 'apr_status_t',
  +    'name' => 'apr_os_exp_time_get',
       'args' => [
  -      {
  -        'name' => 'p',
  -        'type' => 'apr_pool_t *'
  -      },
         {
  -        'name' => 'line',
  -        'type' => 'const char **'
  +        'type' => 'apr_os_exp_time_t **',
  +        'name' => 'ostime'
         },
         {
  -        'name' => 'stop',
  -        'type' => 'char'
  +        'type' => 'apr_exploded_time_t *',
  +        'name' => 'aprtime'
         }
  -    ],
  -    'name' => 'ap_getword_nulls'
  +    ]
     },
     {
  -    'return_type' => 'char *',
  +    'return_type' => 'apr_status_t',
  +    'name' => 'apr_os_exp_time_put',
       'args' => [
         {
  -        'name' => 'p',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'apr_exploded_time_t *',
  +        'name' => 'aprtime'
         },
         {
  -        'name' => 'line',
  -        'type' => 'char **'
  +        'type' => 'apr_os_exp_time_t **',
  +        'name' => 'ostime'
         },
         {
  -        'name' => 'stop',
  -        'type' => 'char'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'cont'
         }
  -    ],
  -    'name' => 'ap_getword_nulls_nc'
  +    ]
     },
     {
  -    'return_type' => 'char *',
  +    'return_type' => 'apr_status_t',
  +    'name' => 'apr_os_file_get',
       'args' => [
         {
  -        'name' => 'p',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'apr_os_file_t *',
  +        'name' => 'thefile'
         },
         {
  -        'name' => 'line',
  -        'type' => 'const char **'
  +        'type' => 'apr_file_t *',
  +        'name' => 'file'
         }
  -    ],
  -    'name' => 'ap_getword_conf'
  +    ]
     },
     {
  -    'return_type' => 'char *',
  +    'return_type' => 'apr_status_t',
  +    'name' => 'apr_os_file_put',
       'args' => [
  +      {
  +        'type' => 'apr_file_t **',
  +        'name' => 'file'
  +      },
         {
  -        'name' => 'p',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'apr_os_file_t *',
  +        'name' => 'thefile'
         },
         {
  -        'name' => 'line',
  -        'type' => 'char **'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'cont'
         }
  -    ],
  -    'name' => 'ap_getword_conf_nc'
  +    ]
     },
     {
  -    'return_type' => 'const char *',
  +    'return_type' => 'apr_status_t',
  +    'name' => 'apr_os_imp_time_get',
       'args' => [
         {
  -        'name' => 'p',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'apr_os_imp_time_t **',
  +        'name' => 'ostime'
         },
         {
  -        'name' => 'word',
  -        'type' => 'const char *'
  +        'type' => 'apr_time_t *',
  +        'name' => 'aprtime'
         }
  -    ],
  -    'name' => 'ap_resolve_env'
  +    ]
     },
     {
  -    'return_type' => 'const char *',
  +    'return_type' => 'apr_status_t',
  +    'name' => 'apr_os_imp_time_put',
       'args' => [
  +      {
  +        'type' => 'apr_time_t *',
  +        'name' => 'aprtime'
  +      },
         {
  -        'name' => 'field',
  -        'type' => 'const char **'
  +        'type' => 'apr_os_imp_time_t **',
  +        'name' => 'ostime'
         },
         {
  -        'name' => 'len',
  -        'type' => 'int *'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'cont'
         }
  -    ],
  -    'name' => 'ap_size_list_item'
  +    ]
     },
     {
  -    'return_type' => 'char *',
  +    'return_type' => 'apr_status_t',
  +    'name' => 'apr_os_lock_get',
       'args' => [
         {
  -        'name' => 'p',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'apr_os_lock_t *',
  +        'name' => 'oslock'
         },
         {
  -        'name' => 'field',
  -        'type' => 'const char **'
  +        'type' => 'apr_lock_t *',
  +        'name' => 'lock'
         }
  -    ],
  -    'name' => 'ap_get_list_item'
  +    ]
     },
     {
  -    'return_type' => 'int',
  +    'return_type' => 'apr_status_t',
  +    'name' => 'apr_os_lock_put',
       'args' => [
         {
  -        'name' => 'p',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'apr_lock_t **',
  +        'name' => 'lock'
         },
         {
  -        'name' => 'line',
  -        'type' => 'const char *'
  +        'type' => 'apr_os_lock_t *',
  +        'name' => 'thelock'
         },
         {
  -        'name' => 'tok',
  -        'type' => 'const char *'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'cont'
         }
  -    ],
  -    'name' => 'ap_find_list_item'
  +    ]
     },
     {
  -    'return_type' => 'char *',
  +    'return_type' => 'apr_status_t',
  +    'name' => 'apr_os_sock_get',
       'args' => [
  -      {
  -        'name' => 'p',
  -        'type' => 'apr_pool_t *'
  -      },
         {
  -        'name' => 'accept_line',
  -        'type' => 'const char **'
  +        'type' => 'apr_os_sock_t *',
  +        'name' => 'thesock'
         },
         {
  -        'name' => 'accept_white',
  -        'type' => 'int'
  +        'type' => 'apr_socket_t *',
  +        'name' => 'sock'
         }
  -    ],
  -    'name' => 'ap_get_token'
  +    ]
     },
     {
  -    'return_type' => 'int',
  +    'return_type' => 'apr_status_t',
  +    'name' => 'apr_os_sock_make',
       'args' => [
         {
  -        'name' => 'p',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'apr_socket_t **',
  +        'name' => 'apr_sock'
         },
         {
  -        'name' => 'line',
  -        'type' => 'const char *'
  +        'type' => 'apr_os_sock_info_t *',
  +        'name' => 'os_sock_info'
         },
         {
  -        'name' => 'tok',
  -        'type' => 'const char *'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'cont'
         }
  -    ],
  -    'name' => 'ap_find_token'
  +    ]
     },
     {
  -    'return_type' => 'int',
  +    'return_type' => 'apr_status_t',
  +    'name' => 'apr_os_sock_put',
       'args' => [
         {
  -        'name' => 'p',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'apr_socket_t **',
  +        'name' => 'sock'
         },
         {
  -        'name' => 'line',
  -        'type' => 'const char *'
  +        'type' => 'apr_os_sock_t *',
  +        'name' => 'thesock'
         },
         {
  -        'name' => 'tok',
  -        'type' => 'const char *'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'cont'
         }
  -    ],
  -    'name' => 'ap_find_last_token'
  +    ]
     },
     {
  -    'return_type' => 'int',
  -    'args' => [
  -      {
  -        'name' => 'u',
  -        'type' => 'const char *'
  -      }
  -    ],
  -    'name' => 'ap_is_url'
  +    'return_type' => 'apr_os_thread_t',
  +    'name' => 'apr_os_thread_current',
  +    'args' => []
     },
     {
       'return_type' => 'int',
  +    'name' => 'apr_os_thread_equal',
       'args' => [
  +      {
  +        'type' => 'apr_os_thread_t',
  +        'name' => 'tid1'
  +      },
         {
  -        'name' => 'url',
  -        'type' => 'char *'
  +        'type' => 'apr_os_thread_t',
  +        'name' => 'tid2'
         }
  -    ],
  -    'name' => 'ap_unescape_url'
  +    ]
     },
     {
  -    'return_type' => 'void',
  +    'return_type' => 'apr_status_t',
  +    'name' => 'apr_os_thread_get',
       'args' => [
  +      {
  +        'type' => 'apr_os_thread_t **',
  +        'name' => 'thethd'
  +      },
         {
  -        'name' => 'name',
  -        'type' => 'char *'
  +        'type' => 'apr_thread_t *',
  +        'name' => 'thd'
         }
  -    ],
  -    'name' => 'ap_no2slash'
  +    ]
     },
     {
  -    'return_type' => 'void',
  +    'return_type' => 'apr_status_t',
  +    'name' => 'apr_os_thread_put',
       'args' => [
  +      {
  +        'type' => 'apr_thread_t **',
  +        'name' => 'thd'
  +      },
         {
  -        'name' => 'name',
  -        'type' => 'char *'
  +        'type' => 'apr_os_thread_t *',
  +        'name' => 'thethd'
  +      },
  +      {
  +        'type' => 'apr_pool_t *',
  +        'name' => 'cont'
         }
  -    ],
  -    'name' => 'ap_getparents'
  +    ]
     },
     {
  -    'return_type' => 'char *',
  +    'return_type' => 'apr_status_t',
  +    'name' => 'apr_os_threadkey_get',
       'args' => [
         {
  -        'name' => 'p',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'apr_os_threadkey_t *',
  +        'name' => 'thekey'
         },
         {
  -        'name' => 's',
  -        'type' => 'const char *'
  +        'type' => 'apr_threadkey_t *',
  +        'name' => 'key'
         }
  -    ],
  -    'name' => 'ap_escape_path_segment'
  +    ]
     },
     {
  -    'return_type' => 'char *',
  +    'return_type' => 'apr_status_t',
  +    'name' => 'apr_os_threadkey_put',
       'args' => [
         {
  -        'name' => 'p',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'apr_threadkey_t **',
  +        'name' => 'key'
         },
         {
  -        'name' => 'path',
  -        'type' => 'const char *'
  +        'type' => 'apr_os_threadkey_t *',
  +        'name' => 'thekey'
         },
         {
  -        'name' => 'partial',
  -        'type' => 'int'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'cont'
         }
  -    ],
  -    'name' => 'ap_os_escape_path'
  +    ]
     },
     {
  -    'return_type' => 'char *',
  +    'return_type' => 'void *',
  +    'name' => 'apr_palloc',
       'args' => [
         {
  -        'name' => 'p',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'c'
         },
         {
  -        'name' => 's',
  -        'type' => 'const char *'
  +        'type' => 'apr_size_t',
  +        'name' => 'reqsize'
         }
  -    ],
  -    'name' => 'ap_escape_html'
  +    ]
     },
     {
  -    'return_type' => 'char *',
  +    'return_type' => 'apr_status_t',
  +    'name' => 'apr_parse_addr_port',
       'args' => [
  +      {
  +        'type' => 'char **',
  +        'name' => 'addr'
  +      },
         {
  -        'name' => 'p',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'char **',
  +        'name' => 'scope_id'
         },
         {
  -        'name' => 'hostname',
  -        'type' => 'const char *'
  +        'type' => 'apr_port_t *',
  +        'name' => 'port'
         },
         {
  -        'name' => 'port',
  -        'type' => 'apr_port_t'
  +        'type' => 'const char *',
  +        'name' => 'str'
         },
         {
  -        'name' => 'r',
  -        'type' => 'const request_rec *'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'p'
         }
  -    ],
  -    'name' => 'ap_construct_server'
  +    ]
     },
     {
  -    'return_type' => 'char *',
  +    'return_type' => 'apr_status_t',
  +    'name' => 'apr_password_get',
       'args' => [
         {
  -        'name' => 'p',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'const char *',
  +        'name' => 'prompt'
         },
         {
  -        'name' => 's',
  -        'type' => 'const char *'
  -      }
  -    ],
  -    'name' => 'ap_escape_shell_cmd'
  -  },
  -  {
  -    'return_type' => 'int',
  -    'args' => [
  +        'type' => 'char *',
  +        'name' => 'pwbuf'
  +      },
         {
  -        'name' => 'path',
  -        'type' => 'const char *'
  +        'type' => 'size_t *',
  +        'name' => 'bufsize'
         }
  -    ],
  -    'name' => 'ap_count_dirs'
  +    ]
     },
     {
  -    'return_type' => 'char *',
  +    'return_type' => 'apr_status_t',
  +    'name' => 'apr_password_validate',
       'args' => [
  -      {
  -        'name' => 'd',
  -        'type' => 'char *'
  -      },
         {
  -        'name' => 's',
  -        'type' => 'const char *'
  +        'type' => 'const char *',
  +        'name' => 'passwd'
         },
         {
  -        'name' => 'n',
  -        'type' => 'int'
  +        'type' => 'const char *',
  +        'name' => 'hash'
         }
  -    ],
  -    'name' => 'ap_make_dirstr_prefix'
  +    ]
     },
     {
  -    'return_type' => 'char *',
  +    'return_type' => 'void *',
  +    'name' => 'apr_pcalloc',
       'args' => [
         {
  -        'name' => 'p',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'p'
         },
         {
  -        'name' => 's',
  -        'type' => 'const char *'
  +        'type' => 'apr_size_t',
  +        'name' => 'size'
         }
  -    ],
  -    'name' => 'ap_make_dirstr_parent'
  +    ]
     },
     {
  -    'return_type' => 'char *',
  +    'return_type' => 'void *',
  +    'name' => 'apr_pmemdup',
       'args' => [
         {
  -        'name' => 'a',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'p'
         },
         {
  -        'name' => 'dir',
  -        'type' => 'const char *'
  +        'type' => 'const void *',
  +        'name' => 'm'
         },
         {
  -        'name' => 'f',
  -        'type' => 'const char *'
  +        'type' => 'apr_size_t',
  +        'name' => 'n'
         }
  -    ],
  -    'name' => 'ap_make_full_path'
  +    ]
     },
     {
  -    'return_type' => 'int',
  +    'return_type' => 'apr_status_t',
  +    'name' => 'apr_poll',
       'args' => [
  +      {
  +        'type' => 'apr_pollfd_t *',
  +        'name' => 'aprset'
  +      },
         {
  -        'name' => 'str',
  -        'type' => 'const char *'
  +        'type' => 'apr_int32_t *',
  +        'name' => 'nsds'
  +      },
  +      {
  +        'type' => 'apr_interval_time_t',
  +        'name' => 'timeout'
         }
  -    ],
  -    'name' => 'ap_is_matchexp'
  +    ]
     },
     {
  -    'return_type' => 'int',
  +    'return_type' => 'apr_status_t',
  +    'name' => 'apr_poll_data_get',
       'args' => [
         {
  -        'name' => 'str',
  -        'type' => 'const char *'
  +        'type' => 'apr_pollfd_t *',
  +        'name' => 'pollfd'
         },
         {
  -        'name' => 'exp',
  -        'type' => 'const char *'
  +        'type' => 'const char *',
  +        'name' => 'key'
  +      },
  +      {
  +        'type' => 'void *',
  +        'name' => 'data'
         }
  -    ],
  -    'name' => 'ap_strcmp_match'
  +    ]
     },
     {
  -    'return_type' => 'int',
  +    'return_type' => 'apr_status_t',
  +    'name' => 'apr_poll_data_set',
       'args' => [
  +      {
  +        'type' => 'apr_pollfd_t *',
  +        'name' => 'pollfd'
  +      },
  +      {
  +        'type' => 'void *',
  +        'name' => 'data'
  +      },
         {
  -        'name' => 'str',
  -        'type' => 'const char *'
  +        'type' => 'const char *',
  +        'name' => 'key'
         },
         {
  -        'name' => 'exp',
  -        'type' => 'const char *'
  +        'type' => 'apr_status_t (*cleanup)(void *)',
  +        'name' => 'arg3'
         }
  -    ],
  -    'name' => 'ap_strcasecmp_match'
  +    ]
     },
     {
  -    'return_type' => 'char *',
  +    'return_type' => 'apr_status_t',
  +    'name' => 'apr_poll_revents_get',
       'args' => [
  +      {
  +        'type' => 'apr_int16_t *',
  +        'name' => 'event'
  +      },
         {
  -        'name' => 's1',
  -        'type' => 'const char *'
  +        'type' => 'apr_socket_t *',
  +        'name' => 'sock'
         },
         {
  -        'name' => 's2',
  -        'type' => 'const char *'
  +        'type' => 'apr_pollfd_t *',
  +        'name' => 'aprset'
         }
  -    ],
  -    'name' => 'ap_strcasestr'
  +    ]
     },
     {
  -    'return_type' => 'const char *',
  +    'return_type' => 'apr_status_t',
  +    'name' => 'apr_poll_setup',
       'args' => [
  +      {
  +        'type' => 'apr_pollfd_t **',
  +        'name' => 'new_poll'
  +      },
         {
  -        'name' => 'bigstring',
  -        'type' => 'const char *'
  +        'type' => 'apr_int32_t',
  +        'name' => 'num'
         },
         {
  -        'name' => 'prefix',
  -        'type' => 'const char *'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'cont'
         }
  -    ],
  -    'name' => 'ap_stripprefix'
  +    ]
     },
     {
  -    'return_type' => 'char *',
  +    'return_type' => 'apr_status_t',
  +    'name' => 'apr_poll_socket_add',
       'args' => [
  +      {
  +        'type' => 'apr_pollfd_t *',
  +        'name' => 'aprset'
  +      },
         {
  -        'name' => 'p',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'apr_socket_t *',
  +        'name' => 'sock'
         },
         {
  -        'name' => 'bufcoded',
  -        'type' => 'const char *'
  +        'type' => 'apr_int16_t',
  +        'name' => 'event'
         }
  -    ],
  -    'name' => 'ap_pbase64decode'
  +    ]
     },
     {
  -    'return_type' => 'char *',
  +    'return_type' => 'apr_status_t',
  +    'name' => 'apr_poll_socket_clear',
       'args' => [
         {
  -        'name' => 'p',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'apr_pollfd_t *',
  +        'name' => 'aprset'
         },
         {
  -        'name' => 'string',
  -        'type' => 'char *'
  +        'type' => 'apr_int16_t',
  +        'name' => 'events'
         }
  -    ],
  -    'name' => 'ap_pbase64encode'
  +    ]
     },
     {
  -    'return_type' => 'regex_t *',
  +    'return_type' => 'apr_status_t',
  +    'name' => 'apr_poll_socket_mask',
       'args' => [
         {
  -        'name' => 'p',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'apr_pollfd_t *',
  +        'name' => 'aprset'
         },
         {
  -        'name' => 'pattern',
  -        'type' => 'const char *'
  +        'type' => 'apr_socket_t *',
  +        'name' => 'sock'
         },
         {
  -        'name' => 'cflags',
  -        'type' => 'int'
  +        'type' => 'apr_int16_t',
  +        'name' => 'events'
         }
  -    ],
  -    'name' => 'ap_pregcomp'
  +    ]
     },
     {
  -    'return_type' => 'void',
  +    'return_type' => 'apr_status_t',
  +    'name' => 'apr_poll_socket_remove',
       'args' => [
         {
  -        'name' => 'p',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'apr_pollfd_t *',
  +        'name' => 'aprset'
         },
         {
  -        'name' => 'reg',
  -        'type' => 'regex_t *'
  +        'type' => 'apr_socket_t *',
  +        'name' => 'sock'
         }
  -    ],
  -    'name' => 'ap_pregfree'
  +    ]
     },
     {
  -    'return_type' => 'int',
  +    'return_type' => 'apr_status_t',
  +    'name' => 'apr_pool_alloc_init',
       'args' => [
  -      {
  -        'name' => 'preg',
  -        'type' => 'regex_t *'
  -      },
  -      {
  -        'name' => 'string',
  -        'type' => 'const char *'
  -      },
         {
  -        'name' => 'nmatch',
  -        'type' => 'size_t'
  -      },
  -      {
  -        'name' => 'pmatch',
  -        'type' => 'regmatch_t'
  -      },
  -      {
  -        'name' => 'eflags',
  -        'type' => 'int'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'globalp'
         }
  -    ],
  -    'name' => 'ap_regexec'
  +    ]
     },
     {
  -    'return_type' => 'size_t',
  +    'return_type' => 'void',
  +    'name' => 'apr_pool_alloc_term',
       'args' => [
         {
  -        'name' => 'errcode',
  -        'type' => 'int'
  -      },
  +        'type' => 'apr_pool_t *',
  +        'name' => 'globalp'
  +      }
  +    ]
  +  },
  +  {
  +    'return_type' => 'void',
  +    'name' => 'apr_pool_cleanup_for_exec',
  +    'args' => []
  +  },
  +  {
  +    'return_type' => 'void',
  +    'name' => 'apr_pool_cleanup_kill',
  +    'args' => [
         {
  -        'name' => 'preg',
  -        'type' => 'const regex_t *'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'p'
         },
         {
  -        'name' => 'errbuf',
  -        'type' => 'char *'
  +        'type' => 'const void *',
  +        'name' => 'data'
         },
         {
  -        'name' => 'errbuf_size',
  -        'type' => 'size_t'
  +        'type' => 'apr_status_t (*cleanup)(void *)',
  +        'name' => 'arg2'
         }
  -    ],
  -    'name' => 'ap_regerror'
  +    ]
     },
     {
  -    'return_type' => 'char *',
  +    'return_type' => 'apr_status_t',
  +    'name' => 'apr_pool_cleanup_null',
       'args' => [
         {
  -        'name' => 'p',
  -        'type' => 'apr_pool_t *'
  -      },
  +        'type' => 'void *',
  +        'name' => 'data'
  +      }
  +    ]
  +  },
  +  {
  +    'return_type' => 'void',
  +    'name' => 'apr_pool_cleanup_register',
  +    'args' => [
         {
  -        'name' => 'input',
  -        'type' => 'const char *'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'p'
         },
         {
  -        'name' => 'source',
  -        'type' => 'const char *'
  +        'type' => 'const void *',
  +        'name' => 'data'
         },
         {
  -        'name' => 'nmatch',
  -        'type' => 'size_t'
  +        'type' => 'apr_status_t (*plain_cleanup)(void *)',
  +        'name' => 'arg2'
         },
         {
  -        'name' => 'pmatch',
  -        'type' => 'regmatch_t'
  +        'type' => 'apr_status_t (*child_cleanup)(void *)',
  +        'name' => 'arg3'
         }
  -    ],
  -    'name' => 'ap_pregsub'
  +    ]
     },
     {
  -    'return_type' => 'void',
  +    'return_type' => 'apr_status_t',
  +    'name' => 'apr_pool_cleanup_run',
       'args' => [
  +      {
  +        'type' => 'apr_pool_t *',
  +        'name' => 'p'
  +      },
  +      {
  +        'type' => 'void *',
  +        'name' => 'data'
  +      },
         {
  -        'name' => 's',
  -        'type' => 'char *'
  +        'type' => 'apr_status_t (*cleanup)(void *)',
  +        'name' => 'arg2'
         }
  -    ],
  -    'name' => 'ap_content_type_tolower'
  +    ]
     },
     {
       'return_type' => 'void',
  +    'name' => 'apr_pool_clear',
       'args' => [
         {
  -        'name' => 's',
  -        'type' => 'char *'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'p'
         }
  -    ],
  -    'name' => 'ap_str_tolower'
  +    ]
     },
     {
  -    'return_type' => 'int',
  +    'return_type' => 'apr_status_t',
  +    'name' => 'apr_pool_create',
       'args' => [
         {
  -        'name' => 'str',
  -        'type' => 'const char *'
  +        'type' => 'apr_pool_t **',
  +        'name' => 'newcont'
         },
         {
  -        'name' => 'c',
  -        'type' => 'char'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'cont'
         }
  -    ],
  -    'name' => 'ap_ind'
  +    ]
     },
     {
  -    'return_type' => 'int',
  +    'return_type' => 'void',
  +    'name' => 'apr_pool_destroy',
       'args' => [
  -      {
  -        'name' => 'str',
  -        'type' => 'const char *'
  -      },
         {
  -        'name' => 'c',
  -        'type' => 'char'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'p'
         }
  -    ],
  -    'name' => 'ap_rind'
  +    ]
     },
     {
  -    'return_type' => 'char *',
  +    'return_type' => 'apr_size_t',
  +    'name' => 'apr_pool_free_blocks_num_bytes',
  +    'args' => []
  +  },
  +  {
  +    'return_type' => 'apr_abortfunc_t',
  +    'name' => 'apr_pool_get_abort',
       'args' => [
         {
  -        'name' => 'p',
  -        'type' => 'apr_pool_t *'
  -      },
  -      {
  -        'name' => 'instring',
  -        'type' => 'const char *'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'pool'
         }
  -    ],
  -    'name' => 'ap_escape_quotes'
  +    ]
     },
     {
  -    'return_type' => 'int',
  +    'return_type' => 'apr_pool_t *',
  +    'name' => 'apr_pool_get_parent',
       'args' => [
         {
  -        'name' => 'p',
  -        'type' => 'apr_pool_t *'
  -      },
  -      {
  -        'name' => 'name',
  -        'type' => 'const char *'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'pool'
         }
  -    ],
  -    'name' => 'ap_is_rdirectory'
  +    ]
     },
     {
       'return_type' => 'int',
  +    'name' => 'apr_pool_is_ancestor',
       'args' => [
         {
  -        'name' => 'p',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'a'
         },
  -      {
  -        'name' => 'name',
  -        'type' => 'const char *'
  -      }
  -    ],
  -    'name' => 'ap_is_directory'
  -  },
  -  {
  -    'return_type' => 'char *',
  -    'args' => [
         {
  -        'name' => 'p',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'b'
         }
  -    ],
  -    'name' => 'ap_get_local_host'
  +    ]
     },
     {
       'return_type' => 'void',
  +    'name' => 'apr_pool_note_subprocess',
       'args' => [
         {
  -        'name' => 'szExp',
  -        'type' => 'const char *'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'a'
         },
         {
  -        'name' => 'szFile',
  -        'type' => 'const char *'
  +        'type' => 'apr_proc_t *',
  +        'name' => 'pid'
         },
         {
  -        'name' => 'nLine',
  -        'type' => 'int'
  +        'type' => 'enum kill_conditions',
  +        'name' => 'how'
         }
  -    ],
  -    'name' => 'ap_log_assert'
  +    ]
     },
     {
  -    'return_type' => 'const char *',
  +    'return_type' => 'apr_size_t',
  +    'name' => 'apr_pool_num_bytes',
       'args' => [
         {
  -        'name' => 'prefix',
  -        'type' => 'const char *'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'p'
         },
         {
  -        'name' => 'r',
  -        'type' => 'request_rec *'
  +        'type' => 'int',
  +        'name' => 'recurse'
         }
  -    ],
  -    'name' => 'ap_psignature'
  +    ]
     },
     {
       'return_type' => 'void',
  +    'name' => 'apr_pool_set_abort',
       'args' => [
  +      {
  +        'type' => 'apr_abortfunc_t',
  +        'name' => 'abortfunc'
  +      },
         {
  -        'name' => 'p',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'pool'
         }
  -    ],
  -    'name' => 'ap_open_stderr_log'
  +    ]
     },
     {
  -    'return_type' => 'void',
  +    'return_type' => 'apr_pool_t *',
  +    'name' => 'apr_pool_sub_make',
       'args' => [
         {
  -        'name' => 's_main',
  -        'type' => 'server_rec *'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'p'
         },
         {
  -        'name' => 'p',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'int (*apr_abort)(int retcode)',
  +        'name' => 'arg1'
         }
  -    ],
  -    'name' => 'ap_open_logs'
  +    ]
     },
     {
  -    'return_type' => 'void',
  +    'return_type' => 'apr_status_t',
  +    'name' => 'apr_pool_userdata_get',
       'args' => [
         {
  -        'name' => 'file',
  -        'type' => 'const char *'
  +        'type' => 'void **',
  +        'name' => 'data'
         },
         {
  -        'name' => 'line',
  -        'type' => 'int'
  +        'type' => 'const char *',
  +        'name' => 'key'
         },
         {
  -        'name' => 'level',
  -        'type' => 'int'
  -      },
  +        'type' => 'apr_pool_t *',
  +        'name' => 'cont'
  +      }
  +    ]
  +  },
  +  {
  +    'return_type' => 'apr_status_t',
  +    'name' => 'apr_pool_userdata_set',
  +    'args' => [
         {
  -        'name' => 'status',
  -        'type' => 'apr_status_t'
  +        'type' => 'const void *',
  +        'name' => 'data'
         },
         {
  -        'name' => 's',
  -        'type' => 'const server_rec *'
  +        'type' => 'const char *',
  +        'name' => 'key'
         },
         {
  -        'name' => 'fmt',
  -        'type' => 'const char *'
  +        'type' => 'apr_status_t (*cleanup)(void *)',
  +        'name' => 'arg2'
         },
         {
  -        'name' => 'arg6',
  -        'type' => '...'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'cont'
         }
  -    ],
  -    'name' => 'ap_log_error'
  +    ]
     },
     {
  -    'return_type' => 'void',
  +    'return_type' => 'apr_status_t',
  +    'name' => 'apr_proc_create',
       'args' => [
         {
  -        'name' => 'file',
  -        'type' => 'const char *'
  +        'type' => 'apr_proc_t *',
  +        'name' => 'new_proc'
         },
         {
  -        'name' => 'line',
  -        'type' => 'int'
  +        'type' => 'const char *',
  +        'name' => 'progname'
         },
         {
  -        'name' => 'level',
  -        'type' => 'int'
  +        'type' => 'const char * const *',
  +        'name' => 'args'
         },
         {
  -        'name' => 'status',
  -        'type' => 'apr_status_t'
  +        'type' => 'const char * const *',
  +        'name' => 'env'
         },
         {
  -        'name' => 'p',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'apr_procattr_t *',
  +        'name' => 'attr'
         },
  +      {
  +        'type' => 'apr_pool_t *',
  +        'name' => 'cont'
  +      }
  +    ]
  +  },
  +  {
  +    'return_type' => 'apr_status_t',
  +    'name' => 'apr_proc_detach',
  +    'args' => []
  +  },
  +  {
  +    'return_type' => 'apr_status_t',
  +    'name' => 'apr_proc_fork',
  +    'args' => [
         {
  -        'name' => 'fmt',
  -        'type' => 'const char *'
  +        'type' => 'apr_proc_t *',
  +        'name' => 'proc'
         },
         {
  -        'name' => 'arg6',
  -        'type' => '...'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'cont'
         }
  -    ],
  -    'name' => 'ap_log_perror'
  +    ]
     },
     {
  -    'return_type' => 'void',
  +    'return_type' => 'apr_status_t',
  +    'name' => 'apr_proc_kill',
       'args' => [
         {
  -        'name' => 'file',
  -        'type' => 'const char *'
  +        'type' => 'apr_proc_t *',
  +        'name' => 'proc'
         },
  +      {
  +        'type' => 'int',
  +        'name' => 'sig'
  +      }
  +    ]
  +  },
  +  {
  +    'return_type' => 'void',
  +    'name' => 'apr_proc_other_child_check',
  +    'args' => []
  +  },
  +  {
  +    'return_type' => 'apr_status_t',
  +    'name' => 'apr_proc_other_child_read',
  +    'args' => [
         {
  -        'name' => 'line',
  -        'type' => 'int'
  +        'type' => 'apr_proc_t *',
  +        'name' => 'pid'
         },
         {
  -        'name' => 'level',
  -        'type' => 'int'
  +        'type' => 'int',
  +        'name' => 'status'
  +      }
  +    ]
  +  },
  +  {
  +    'return_type' => 'void',
  +    'name' => 'apr_proc_other_child_register',
  +    'args' => [
  +      {
  +        'type' => 'apr_proc_t *',
  +        'name' => 'pid'
         },
         {
  -        'name' => 'status',
  -        'type' => 'apr_status_t'
  +        'type' => 'void (*maintenance) (int reason,
  +                                                                void *,
  +                                                                int status)',
  +        'name' => 'arg1'
         },
         {
  -        'name' => 'r',
  -        'type' => 'const request_rec *'
  +        'type' => 'void *',
  +        'name' => 'data'
         },
         {
  -        'name' => 'fmt',
  -        'type' => 'const char *'
  +        'type' => 'apr_file_t *',
  +        'name' => 'write_fd'
         },
         {
  -        'name' => 'arg6',
  -        'type' => '...'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'p'
         }
  -    ],
  -    'name' => 'ap_log_rerror'
  +    ]
     },
     {
       'return_type' => 'void',
  +    'name' => 'apr_proc_other_child_unregister',
       'args' => [
         {
  -        'name' => 's',
  -        'type' => 'server_rec *'
  +        'type' => 'void *',
  +        'name' => 'data'
         }
  -    ],
  -    'name' => 'ap_error_log2stderr'
  +    ]
     },
     {
  -    'return_type' => 'void',
  +    'return_type' => 'apr_status_t',
  +    'name' => 'apr_proc_wait',
       'args' => [
         {
  -        'name' => 'p',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'apr_proc_t *',
  +        'name' => 'proc'
         },
         {
  -        'name' => 'fname',
  -        'type' => 'const char *'
  +        'type' => 'apr_wait_how_e',
  +        'name' => 'waithow'
         }
  -    ],
  -    'name' => 'ap_log_pid'
  +    ]
     },
     {
  -    'return_type' => 'piped_log *',
  +    'return_type' => 'apr_status_t',
  +    'name' => 'apr_proc_wait_all_procs',
       'args' => [
         {
  -        'name' => 'p',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'apr_proc_t *',
  +        'name' => 'proc'
         },
         {
  -        'name' => 'program',
  -        'type' => 'const char *'
  -      }
  -    ],
  -    'name' => 'ap_open_piped_log'
  -  },
  -  {
  -    'return_type' => 'void',
  -    'args' => [
  +        'type' => 'int *',
  +        'name' => 'status'
  +      },
  +      {
  +        'type' => 'apr_wait_how_e',
  +        'name' => 'waithow'
  +      },
         {
  -        'name' => 'pl',
  -        'type' => 'piped_log *'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'p'
         }
  -    ],
  -    'name' => 'ap_close_piped_log'
  +    ]
     },
     {
  -    'return_type' => 'void',
  +    'return_type' => 'apr_status_t',
  +    'name' => 'apr_procattr_child_err_set',
       'args' => [
  -      {
  -        'name' => 'pf',
  -        'type' => 'ap_HOOK_error_log_t *'
  -      },
         {
  -        'name' => 'aszPre',
  -        'type' => 'const char * const *'
  +        'type' => 'struct apr_procattr_t *',
  +        'name' => 'attr'
         },
         {
  -        'name' => 'aszSucc',
  -        'type' => 'const char * const *'
  +        'type' => 'apr_file_t *',
  +        'name' => 'child_err'
         },
         {
  -        'name' => 'nOrder',
  -        'type' => 'int'
  +        'type' => 'apr_file_t *',
  +        'name' => 'parent_err'
         }
  -    ],
  -    'name' => 'ap_hook_error_log'
  +    ]
     },
     {
  -    'return_type' => 'void',
  +    'return_type' => 'apr_status_t',
  +    'name' => 'apr_procattr_child_in_set',
       'args' => [
         {
  -        'name' => 'file',
  -        'type' => 'const char *'
  +        'type' => 'struct apr_procattr_t *',
  +        'name' => 'attr'
         },
         {
  -        'name' => 'line',
  -        'type' => 'int'
  +        'type' => 'apr_file_t *',
  +        'name' => 'child_in'
         },
         {
  -        'name' => 'level',
  -        'type' => 'int'
  -      },
  +        'type' => 'apr_file_t *',
  +        'name' => 'parent_in'
  +      }
  +    ]
  +  },
  +  {
  +    'return_type' => 'apr_status_t',
  +    'name' => 'apr_procattr_child_out_set',
  +    'args' => [
         {
  -        'name' => 'arg3',
  -        'type' => '# 281 "/home/dougm/ap/threaded/include/http_log.h"
  -                       apr_status_t status'
  +        'type' => 'struct apr_procattr_t *',
  +        'name' => 'attr'
         },
         {
  -        'name' => 's',
  -        'type' => 'const server_rec *'
  +        'type' => 'apr_file_t *',
  +        'name' => 'child_out'
         },
         {
  -        'name' => 'arg5',
  -        'type' => '# 281 "/home/dougm/ap/threaded/include/http_log.h"
  -                       const request_rec *r'
  -      },
  +        'type' => 'apr_file_t *',
  +        'name' => 'parent_out'
  +      }
  +    ]
  +  },
  +  {
  +    'return_type' => 'apr_status_t',
  +    'name' => 'apr_procattr_cmdtype_set',
  +    'args' => [
         {
  -        'name' => 'pool',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'apr_procattr_t *',
  +        'name' => 'attr'
         },
         {
  -        'name' => 'arg7',
  -        'type' => '# 281 "/home/dougm/ap/threaded/include/http_log.h"
  -                       const char *errstr'
  +        'type' => 'apr_cmdtype_e',
  +        'name' => 'cmd'
         }
  -    ],
  -    'name' => 'ap_run_error_log'
  -  },
  -  {
  -    'return_type' => 'apr_array_header_t *',
  -    'args' => [],
  -    'name' => 'ap_hook_get_error_log'
  +    ]
     },
     {
       'return_type' => 'apr_status_t',
  +    'name' => 'apr_procattr_create',
       'args' => [
         {
  -        'name' => 'filter',
  -        'type' => 'ap_filter_t *'
  +        'type' => 'apr_procattr_t **',
  +        'name' => 'new_attr'
         },
         {
  -        'name' => 'bucket',
  -        'type' => 'apr_bucket_brigade *'
  -      },
  +        'type' => 'apr_pool_t *',
  +        'name' => 'cont'
  +      }
  +    ]
  +  },
  +  {
  +    'return_type' => 'apr_status_t',
  +    'name' => 'apr_procattr_detach_set',
  +    'args' => [
         {
  -        'name' => 'mode',
  -        'type' => 'ap_input_mode_t'
  +        'type' => 'apr_procattr_t *',
  +        'name' => 'attr'
         },
         {
  -        'name' => 'readbytes',
  -        'type' => 'apr_size_t *'
  +        'type' => 'apr_int32_t',
  +        'name' => 'detach'
         }
  -    ],
  -    'name' => 'ap_get_brigade'
  +    ]
     },
     {
       'return_type' => 'apr_status_t',
  +    'name' => 'apr_procattr_dir_set',
       'args' => [
         {
  -        'name' => 'filter',
  -        'type' => 'ap_filter_t *'
  +        'type' => 'apr_procattr_t *',
  +        'name' => 'attr'
         },
         {
  -        'name' => 'bucket',
  -        'type' => 'apr_bucket_brigade *'
  +        'type' => 'const char *',
  +        'name' => 'dir'
         }
  -    ],
  -    'name' => 'ap_pass_brigade'
  +    ]
     },
     {
  -    'return_type' => 'void',
  +    'return_type' => 'apr_status_t',
  +    'name' => 'apr_procattr_io_set',
       'args' => [
         {
  -        'name' => 'name',
  -        'type' => 'const char *'
  +        'type' => 'apr_procattr_t *',
  +        'name' => 'attr'
         },
         {
  -        'name' => 'filter_func',
  -        'type' => 'ap_in_filter_func'
  +        'type' => 'apr_int32_t',
  +        'name' => 'in'
         },
         {
  -        'name' => 'ftype',
  -        'type' => 'ap_filter_type'
  +        'type' => 'apr_int32_t',
  +        'name' => 'out'
  +      },
  +      {
  +        'type' => 'apr_int32_t',
  +        'name' => 'err'
         }
  -    ],
  -    'name' => 'ap_register_input_filter'
  +    ]
     },
     {
  -    'return_type' => 'void',
  +    'return_type' => 'apr_status_t',
  +    'name' => 'apr_procattr_limit_set',
       'args' => [
         {
  -        'name' => 'name',
  -        'type' => 'const char *'
  +        'type' => 'apr_procattr_t *',
  +        'name' => 'attr'
         },
         {
  -        'name' => 'filter_func',
  -        'type' => 'ap_out_filter_func'
  +        'type' => 'apr_int32_t',
  +        'name' => 'what'
         },
         {
  -        'name' => 'ftype',
  -        'type' => 'ap_filter_type'
  +        'type' => 'struct rlimit *',
  +        'name' => 'limit'
         }
  -    ],
  -    'name' => 'ap_register_output_filter'
  +    ]
     },
     {
  -    'return_type' => 'ap_filter_t *',
  +    'return_type' => 'char *',
  +    'name' => 'apr_psprintf',
       'args' => [
  -      {
  -        'name' => 'name',
  -        'type' => 'const char *'
  -      },
         {
  -        'name' => 'ctx',
  -        'type' => 'void *'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'p'
         },
         {
  -        'name' => 'r',
  -        'type' => 'request_rec *'
  +        'type' => 'const char *',
  +        'name' => 'fmt'
         },
         {
  -        'name' => 'c',
  -        'type' => 'conn_rec *'
  +        'type' => '...',
  +        'name' => 'arg2'
         }
  -    ],
  -    'name' => 'ap_add_input_filter'
  +    ]
     },
     {
  -    'return_type' => 'ap_filter_t *',
  +    'return_type' => 'char *',
  +    'name' => 'apr_pstrcat',
       'args' => [
  -      {
  -        'name' => 'name',
  -        'type' => 'const char *'
  -      },
         {
  -        'name' => 'ctx',
  -        'type' => 'void *'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'p'
         },
         {
  -        'name' => 'r',
  -        'type' => 'request_rec *'
  -      },
  -      {
  -        'name' => 'c',
  -        'type' => 'conn_rec *'
  +        'type' => '...',
  +        'name' => 'arg1'
         }
  -    ],
  -    'name' => 'ap_add_output_filter'
  +    ]
     },
     {
  -    'return_type' => 'void',
  +    'return_type' => 'char *',
  +    'name' => 'apr_pstrdup',
       'args' => [
         {
  -        'name' => 'f',
  -        'type' => 'ap_filter_t *'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'p'
  +      },
  +      {
  +        'type' => 'const char *',
  +        'name' => 's'
         }
  -    ],
  -    'name' => 'ap_remove_output_filter'
  +    ]
     },
     {
  -    'return_type' => 'apr_status_t',
  +    'return_type' => 'char *',
  +    'name' => 'apr_pstrndup',
       'args' => [
         {
  -        'name' => 'f',
  -        'type' => 'ap_filter_t *'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'p'
         },
         {
  -        'name' => 'save_to',
  -        'type' => 'apr_bucket_brigade **'
  +        'type' => 'const char *',
  +        'name' => 's'
         },
         {
  -        'name' => 'b',
  -        'type' => 'apr_bucket_brigade **'
  -      },
  -      {
  -        'name' => 'p',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'apr_size_t',
  +        'name' => 'n'
         }
  -    ],
  -    'name' => 'ap_save_brigade'
  +    ]
     },
     {
  -    'return_type' => 'apr_status_t',
  +    'return_type' => 'char *',
  +    'name' => 'apr_pvsprintf',
       'args' => [
         {
  -        'name' => 'bb',
  -        'type' => 'apr_bucket_brigade *'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'p'
         },
         {
  -        'name' => 'ctx',
  -        'type' => 'void *'
  +        'type' => 'const char *',
  +        'name' => 'fmt'
  +      },
  +      {
  +        'type' => 'va_list',
  +        'name' => 'ap'
         }
  -    ],
  -    'name' => 'ap_filter_flush'
  +    ]
     },
     {
       'return_type' => 'apr_status_t',
  +    'name' => 'apr_recv',
       'args' => [
  +      {
  +        'type' => 'apr_socket_t *',
  +        'name' => 'sock'
  +      },
         {
  -        'name' => 'f',
  -        'type' => 'ap_filter_t *'
  +        'type' => 'char *',
  +        'name' => 'buf'
         },
         {
  -        'name' => 'bb',
  -        'type' => 'apr_bucket_brigade *'
  +        'type' => 'apr_size_t *',
  +        'name' => 'len'
         }
  -    ],
  -    'name' => 'ap_fflush'
  +    ]
     },
     {
       'return_type' => 'apr_status_t',
  +    'name' => 'apr_recvfrom',
       'args' => [
         {
  -        'name' => 'f',
  -        'type' => 'ap_filter_t *'
  +        'type' => 'apr_sockaddr_t *',
  +        'name' => 'from'
         },
         {
  -        'name' => 'bb',
  -        'type' => 'apr_bucket_brigade *'
  +        'type' => 'apr_socket_t *',
  +        'name' => 'sock'
         },
         {
  -        'name' => 'arg2',
  -        'type' => '...'
  +        'type' => 'apr_int32_t',
  +        'name' => 'flags'
  +      },
  +      {
  +        'type' => 'char *',
  +        'name' => 'buf'
  +      },
  +      {
  +        'type' => 'apr_size_t *',
  +        'name' => 'len'
         }
  -    ],
  -    'name' => 'ap_fputstrs'
  +    ]
     },
     {
       'return_type' => 'apr_status_t',
  +    'name' => 'apr_rfc822_date',
       'args' => [
  -      {
  -        'name' => 'f',
  -        'type' => 'ap_filter_t *'
  -      },
  -      {
  -        'name' => 'bb',
  -        'type' => 'apr_bucket_brigade *'
  -      },
         {
  -        'name' => 'fmt',
  -        'type' => 'const char *'
  +        'type' => 'char *',
  +        'name' => 'date_str'
         },
         {
  -        'name' => 'arg3',
  -        'type' => '...'
  +        'type' => 'apr_time_t',
  +        'name' => 't'
         }
  -    ],
  -    'name' => 'ap_fprintf'
  +    ]
     },
     {
  -    'return_type' => 'request_rec *',
  +    'return_type' => 'apr_status_t',
  +    'name' => 'apr_sdbm_close',
       'args' => [
         {
  -        'name' => 'c',
  -        'type' => 'conn_rec *'
  +        'type' => 'apr_sdbm_t *',
  +        'name' => 'db'
         }
  -    ],
  -    'name' => 'ap_read_request'
  +    ]
     },
     {
  -    'return_type' => 'void',
  +    'return_type' => 'apr_status_t',
  +    'name' => 'apr_sdbm_delete',
       'args' => [
         {
  -        'name' => 'r',
  -        'type' => 'request_rec *'
  +        'type' => 'apr_sdbm_t *',
  +        'name' => 'db'
  +      },
  +      {
  +        'type' => 'const apr_sdbm_datum_t',
  +        'name' => 'key'
         }
  -    ],
  -    'name' => 'ap_finalize_request_protocol'
  +    ]
     },
     {
  -    'return_type' => 'void',
  +    'return_type' => 'apr_status_t',
  +    'name' => 'apr_sdbm_fetch',
       'args' => [
         {
  -        'name' => 'r',
  -        'type' => 'request_rec *'
  +        'type' => 'apr_sdbm_t *',
  +        'name' => 'db'
         },
         {
  -        'name' => 'recursive_error',
  -        'type' => 'int'
  +        'type' => 'apr_sdbm_datum_t *',
  +        'name' => 'value'
  +      },
  +      {
  +        'type' => 'apr_sdbm_datum_t',
  +        'name' => 'key'
         }
  -    ],
  -    'name' => 'ap_send_error_response'
  +    ]
     },
     {
  -    'return_type' => 'void',
  +    'return_type' => 'apr_status_t',
  +    'name' => 'apr_sdbm_firstkey',
       'args' => [
         {
  -        'name' => 'r',
  -        'type' => 'request_rec *'
  +        'type' => 'apr_sdbm_t *',
  +        'name' => 'db'
         },
         {
  -        'name' => 'length',
  -        'type' => 'apr_off_t'
  +        'type' => 'apr_sdbm_datum_t *',
  +        'name' => 'key'
         }
  -    ],
  -    'name' => 'ap_set_content_length'
  +    ]
     },
     {
  -    'return_type' => 'int',
  +    'return_type' => 'apr_status_t',
  +    'name' => 'apr_sdbm_lock',
       'args' => [
  +      {
  +        'type' => 'apr_sdbm_t *',
  +        'name' => 'db'
  +      },
         {
  -        'name' => 'r',
  -        'type' => 'request_rec *'
  +        'type' => 'int',
  +        'name' => 'type'
         }
  -    ],
  -    'name' => 'ap_set_keepalive'
  +    ]
     },
     {
  -    'return_type' => 'apr_time_t',
  +    'return_type' => 'apr_status_t',
  +    'name' => 'apr_sdbm_nextkey',
       'args' => [
         {
  -        'name' => 'r',
  -        'type' => 'request_rec *'
  +        'type' => 'apr_sdbm_t *',
  +        'name' => 'db'
         },
         {
  -        'name' => 'mtime',
  -        'type' => 'apr_time_t'
  +        'type' => 'apr_sdbm_datum_t *',
  +        'name' => 'key'
         }
  -    ],
  -    'name' => 'ap_rationalize_mtime'
  +    ]
     },
     {
  -    'return_type' => 'const char *',
  +    'return_type' => 'apr_status_t',
  +    'name' => 'apr_sdbm_open',
       'args' => [
  +      {
  +        'type' => 'apr_sdbm_t **',
  +        'name' => 'db'
  +      },
  +      {
  +        'type' => 'const char *',
  +        'name' => 'name'
  +      },
         {
  -        'name' => 'r',
  -        'type' => 'request_rec *'
  +        'type' => 'apr_int32_t',
  +        'name' => 'mode'
         },
         {
  -        'name' => 'type',
  -        'type' => 'const char *'
  +        'type' => 'apr_fileperms_t',
  +        'name' => 'perms'
  +      },
  +      {
  +        'type' => 'apr_pool_t *',
  +        'name' => 'p'
         }
  -    ],
  -    'name' => 'ap_make_content_type'
  +    ]
     },
     {
  -    'return_type' => 'char *',
  +    'return_type' => 'int',
  +    'name' => 'apr_sdbm_rdonly',
       'args' => [
         {
  -        'name' => 'r',
  -        'type' => 'request_rec *'
  -      },
  -      {
  -        'name' => 'force_weak',
  -        'type' => 'int'
  +        'type' => 'apr_sdbm_t *',
  +        'name' => 'db'
         }
  -    ],
  -    'name' => 'ap_make_etag'
  +    ]
     },
     {
  -    'return_type' => 'void',
  +    'return_type' => 'apr_status_t',
  +    'name' => 'apr_sdbm_store',
       'args' => [
         {
  -        'name' => 'r',
  -        'type' => 'request_rec *'
  +        'type' => 'apr_sdbm_t *',
  +        'name' => 'db'
  +      },
  +      {
  +        'type' => 'apr_sdbm_datum_t',
  +        'name' => 'key'
  +      },
  +      {
  +        'type' => 'apr_sdbm_datum_t',
  +        'name' => 'value'
  +      },
  +      {
  +        'type' => 'int',
  +        'name' => 'opt'
         }
  -    ],
  -    'name' => 'ap_set_etag'
  +    ]
     },
     {
  -    'return_type' => 'void',
  +    'return_type' => 'apr_status_t',
  +    'name' => 'apr_sdbm_unlock',
       'args' => [
         {
  -        'name' => 'r',
  -        'type' => 'request_rec *'
  +        'type' => 'apr_sdbm_t *',
  +        'name' => 'db'
         }
  -    ],
  -    'name' => 'ap_set_last_modified'
  +    ]
     },
     {
  -    'return_type' => 'int',
  +    'return_type' => 'apr_status_t',
  +    'name' => 'apr_send',
       'args' => [
  +      {
  +        'type' => 'apr_socket_t *',
  +        'name' => 'sock'
  +      },
         {
  -        'name' => 'r',
  -        'type' => 'request_rec *'
  +        'type' => 'const char *',
  +        'name' => 'buf'
  +      },
  +      {
  +        'type' => 'apr_size_t *',
  +        'name' => 'len'
         }
  -    ],
  -    'name' => 'ap_meets_conditions'
  +    ]
     },
     {
       'return_type' => 'apr_status_t',
  +    'name' => 'apr_sendfile',
       'args' => [
  +      {
  +        'type' => 'apr_socket_t *',
  +        'name' => 'sock'
  +      },
         {
  -        'name' => 'fd',
  -        'type' => 'apr_file_t *'
  +        'type' => 'apr_file_t *',
  +        'name' => 'file'
         },
         {
  -        'name' => 'r',
  -        'type' => 'request_rec *'
  +        'type' => 'apr_hdtr_t *',
  +        'name' => 'hdtr'
         },
         {
  -        'name' => 'offset',
  -        'type' => 'apr_off_t'
  +        'type' => 'apr_off_t *',
  +        'name' => 'offset'
         },
         {
  -        'name' => 'length',
  -        'type' => 'apr_size_t'
  +        'type' => 'apr_size_t *',
  +        'name' => 'len'
         },
         {
  -        'name' => 'nbytes',
  -        'type' => 'apr_size_t *'
  +        'type' => 'apr_int32_t',
  +        'name' => 'flags'
         }
  -    ],
  -    'name' => 'ap_send_fd'
  +    ]
     },
     {
  -    'return_type' => 'size_t',
  +    'return_type' => 'apr_status_t',
  +    'name' => 'apr_sendto',
       'args' => [
  +      {
  +        'type' => 'apr_socket_t *',
  +        'name' => 'sock'
  +      },
         {
  -        'name' => 'mm',
  -        'type' => 'apr_mmap_t *'
  +        'type' => 'apr_sockaddr_t *',
  +        'name' => 'where'
         },
         {
  -        'name' => 'r',
  -        'type' => 'request_rec *'
  +        'type' => 'apr_int32_t',
  +        'name' => 'flags'
         },
         {
  -        'name' => 'offset',
  -        'type' => 'size_t'
  +        'type' => 'const char *',
  +        'name' => 'buf'
         },
         {
  -        'name' => 'length',
  -        'type' => 'size_t'
  +        'type' => 'apr_size_t *',
  +        'name' => 'len'
         }
  -    ],
  -    'name' => 'ap_send_mmap'
  +    ]
     },
     {
  -    'return_type' => 'ap_method_list_t *',
  +    'return_type' => 'apr_status_t',
  +    'name' => 'apr_sendv',
       'args' => [
         {
  -        'name' => 'p',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'apr_socket_t *',
  +        'name' => 'sock'
         },
         {
  -        'name' => 'nelts',
  -        'type' => 'int'
  -      }
  -    ],
  -    'name' => 'ap_make_method_list'
  -  },
  -  {
  -    'return_type' => 'void',
  -    'args' => [
  +        'type' => 'const struct iovec *',
  +        'name' => 'vec'
  +      },
         {
  -        'name' => 'dest',
  -        'type' => 'ap_method_list_t *'
  +        'type' => 'apr_int32_t',
  +        'name' => 'nvec'
         },
         {
  -        'name' => 'src',
  -        'type' => 'ap_method_list_t *'
  +        'type' => 'apr_size_t *',
  +        'name' => 'len'
         }
  -    ],
  -    'name' => 'ap_copy_method_list'
  +    ]
     },
     {
  -    'return_type' => 'void',
  +    'return_type' => 'apr_status_t',
  +    'name' => 'apr_setsocketopt',
       'args' => [
  -      {
  -        'name' => 'arg0',
  -        'type' => 'int (*comp) (void *urec, const char *mname,
  -                                                       int mnum)'
  -      },
         {
  -        'name' => 'rec',
  -        'type' => 'void *'
  +        'type' => 'apr_socket_t *',
  +        'name' => 'sock'
         },
         {
  -        'name' => 'ml',
  -        'type' => 'const ap_method_list_t *'
  +        'type' => 'apr_int32_t',
  +        'name' => 'opt'
         },
         {
  -        'name' => 'arg3',
  -        'type' => '...'
  +        'type' => 'apr_int32_t',
  +        'name' => 'on'
         }
  -    ],
  -    'name' => 'ap_method_list_do'
  +    ]
  +  },
  +  {
  +    'return_type' => 'apr_status_t',
  +    'name' => 'apr_setup_signal_thread',
  +    'args' => []
     },
     {
       'return_type' => 'void',
  +    'name' => 'apr_sha1_base64',
       'args' => [
         {
  -        'name' => 'arg0',
  -        'type' => 'int (*comp) (void *urec, const char *mname,
  -                                                 int mnum)'
  -      },
  -      {
  -        'name' => 'rec',
  -        'type' => 'void *'
  +        'type' => 'const char *',
  +        'name' => 'clear'
         },
         {
  -        'name' => 'ml',
  -        'type' => 'const ap_method_list_t *'
  +        'type' => 'int',
  +        'name' => 'len'
         },
         {
  -        'name' => 'vp',
  -        'type' => 'va_list'
  +        'type' => 'char *',
  +        'name' => 'out'
         }
  -    ],
  -    'name' => 'ap_method_list_vdo'
  +    ]
     },
     {
  -    'return_type' => 'int',
  +    'return_type' => 'void',
  +    'name' => 'apr_sha1_final',
       'args' => [
         {
  -        'name' => 'l',
  -        'type' => 'ap_method_list_t *'
  +        'type' => 'unsigned char',
  +        'name' => 'digest'
         },
         {
  -        'name' => 'method',
  -        'type' => 'const char *'
  +        'type' => 'apr_sha1_ctx_t *',
  +        'name' => 'context'
         }
  -    ],
  -    'name' => 'ap_method_in_list'
  +    ]
     },
     {
       'return_type' => 'void',
  +    'name' => 'apr_sha1_init',
       'args' => [
  -      {
  -        'name' => 'l',
  -        'type' => 'ap_method_list_t *'
  -      },
         {
  -        'name' => 'method',
  -        'type' => 'const char *'
  +        'type' => 'apr_sha1_ctx_t *',
  +        'name' => 'context'
         }
  -    ],
  -    'name' => 'ap_method_list_add'
  +    ]
     },
     {
       'return_type' => 'void',
  +    'name' => 'apr_sha1_update',
       'args' => [
  +      {
  +        'type' => 'apr_sha1_ctx_t *',
  +        'name' => 'context'
  +      },
         {
  -        'name' => 'l',
  -        'type' => 'ap_method_list_t *'
  +        'type' => 'const char *',
  +        'name' => 'input'
         },
         {
  -        'name' => 'method',
  -        'type' => 'const char *'
  +        'type' => 'unsigned int',
  +        'name' => 'inputLen'
         }
  -    ],
  -    'name' => 'ap_method_list_remove'
  +    ]
     },
     {
       'return_type' => 'void',
  +    'name' => 'apr_sha1_update_binary',
       'args' => [
  +      {
  +        'type' => 'apr_sha1_ctx_t *',
  +        'name' => 'context'
  +      },
  +      {
  +        'type' => 'const unsigned char *',
  +        'name' => 'input'
  +      },
         {
  -        'name' => 'l',
  -        'type' => 'ap_method_list_t *'
  +        'type' => 'unsigned int',
  +        'name' => 'inputLen'
         }
  -    ],
  -    'name' => 'ap_clear_method_list'
  +    ]
     },
     {
  -    'return_type' => 'int',
  +    'return_type' => 'apr_status_t',
  +    'name' => 'apr_shm_avail',
       'args' => [
         {
  -        'name' => 'c',
  -        'type' => 'int'
  +        'type' => 'apr_shmem_t *',
  +        'name' => 'c'
         },
         {
  -        'name' => 'r',
  -        'type' => 'request_rec *'
  +        'type' => 'apr_size_t *',
  +        'name' => 'avail'
         }
  -    ],
  -    'name' => 'ap_rputc'
  +    ]
     },
     {
  -    'return_type' => 'int',
  +    'return_type' => 'void *',
  +    'name' => 'apr_shm_calloc',
       'args' => [
         {
  -        'name' => 'str',
  -        'type' => 'const char *'
  +        'type' => 'apr_shmem_t *',
  +        'name' => 'shared'
         },
         {
  -        'name' => 'r',
  -        'type' => 'request_rec *'
  +        'type' => 'apr_size_t',
  +        'name' => 'size'
         }
  -    ],
  -    'name' => 'ap_rputs'
  +    ]
     },
     {
  -    'return_type' => 'int',
  +    'return_type' => 'apr_status_t',
  +    'name' => 'apr_shm_destroy',
       'args' => [
  -      {
  -        'name' => 'buf',
  -        'type' => 'const void *'
  -      },
  -      {
  -        'name' => 'nbyte',
  -        'type' => 'int'
  -      },
         {
  -        'name' => 'r',
  -        'type' => 'request_rec *'
  +        'type' => 'apr_shmem_t *',
  +        'name' => 'm'
         }
  -    ],
  -    'name' => 'ap_rwrite'
  +    ]
     },
     {
  -    'return_type' => 'int',
  +    'return_type' => 'apr_status_t',
  +    'name' => 'apr_shm_free',
       'args' => [
         {
  -        'name' => 'r',
  -        'type' => 'request_rec *'
  +        'type' => 'apr_shmem_t *',
  +        'name' => 'shared'
         },
         {
  -        'name' => 'arg1',
  -        'type' => '...'
  +        'type' => 'void *',
  +        'name' => 'entity'
         }
  -    ],
  -    'name' => 'ap_rvputs'
  +    ]
     },
     {
  -    'return_type' => 'int',
  +    'return_type' => 'apr_status_t',
  +    'name' => 'apr_shm_init',
       'args' => [
  +      {
  +        'type' => 'apr_shmem_t **',
  +        'name' => 'm'
  +      },
         {
  -        'name' => 'r',
  -        'type' => 'request_rec *'
  +        'type' => 'apr_size_t',
  +        'name' => 'reqsize'
         },
         {
  -        'name' => 'fmt',
  -        'type' => 'const char *'
  +        'type' => 'const char *',
  +        'name' => 'file'
         },
         {
  -        'name' => 'vlist',
  -        'type' => 'va_list'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'cont'
         }
  -    ],
  -    'name' => 'ap_vrprintf'
  +    ]
     },
     {
  -    'return_type' => 'int',
  +    'return_type' => 'void *',
  +    'name' => 'apr_shm_malloc',
       'args' => [
  -      {
  -        'name' => 'r',
  -        'type' => 'request_rec *'
  -      },
         {
  -        'name' => 'fmt',
  -        'type' => 'const char *'
  +        'type' => 'apr_shmem_t *',
  +        'name' => 'c'
         },
         {
  -        'name' => 'arg2',
  -        'type' => '...'
  +        'type' => 'apr_size_t',
  +        'name' => 'reqsize'
         }
  -    ],
  -    'name' => 'ap_rprintf'
  +    ]
     },
     {
  -    'return_type' => 'int',
  +    'return_type' => 'apr_status_t',
  +    'name' => 'apr_shm_name_get',
       'args' => [
  +      {
  +        'type' => 'apr_shmem_t *',
  +        'name' => 'c'
  +      },
         {
  -        'name' => 'r',
  -        'type' => 'request_rec *'
  +        'type' => 'apr_shm_name_t **',
  +        'name' => 'name'
         }
  -    ],
  -    'name' => 'ap_rflush'
  +    ]
     },
     {
  -    'return_type' => 'int',
  +    'return_type' => 'apr_status_t',
  +    'name' => 'apr_shm_name_set',
       'args' => [
  +      {
  +        'type' => 'apr_shmem_t *',
  +        'name' => 'c'
  +      },
         {
  -        'name' => 'status',
  -        'type' => 'int'
  +        'type' => 'apr_shm_name_t *',
  +        'name' => 'name'
         }
  -    ],
  -    'name' => 'ap_index_of_response'
  +    ]
     },
     {
  -    'return_type' => 'const char *',
  +    'return_type' => 'apr_status_t',
  +    'name' => 'apr_shm_open',
       'args' => [
         {
  -        'name' => 'status',
  -        'type' => 'int'
  +        'type' => 'apr_shmem_t *',
  +        'name' => 'c'
         }
  -    ],
  -    'name' => 'ap_get_status_line'
  +    ]
     },
     {
  -    'return_type' => 'int',
  +    'return_type' => 'void',
  +    'name' => 'apr_show_hook',
       'args' => [
  +      {
  +        'type' => 'const char *',
  +        'name' => 'szName'
  +      },
         {
  -        'name' => 'r',
  -        'type' => 'request_rec *'
  +        'type' => 'const char * const *',
  +        'name' => 'aszPre'
         },
         {
  -        'name' => 'read_policy',
  -        'type' => 'int'
  +        'type' => 'const char * const *',
  +        'name' => 'aszSucc'
         }
  -    ],
  -    'name' => 'ap_setup_client_block'
  +    ]
     },
     {
  -    'return_type' => 'int',
  +    'return_type' => 'apr_status_t',
  +    'name' => 'apr_shutdown',
       'args' => [
  +      {
  +        'type' => 'apr_socket_t *',
  +        'name' => 'thesocket'
  +      },
         {
  -        'name' => 'r',
  -        'type' => 'request_rec *'
  +        'type' => 'apr_shutdown_how_e',
  +        'name' => 'how'
         }
  -    ],
  -    'name' => 'ap_should_client_block'
  +    ]
     },
     {
  -    'return_type' => 'long',
  +    'return_type' => 'apr_sigfunc_t *',
  +    'name' => 'apr_signal',
       'args' => [
  -      {
  -        'name' => 'r',
  -        'type' => 'request_rec *'
  -      },
         {
  -        'name' => 'buffer',
  -        'type' => 'char *'
  +        'type' => 'int',
  +        'name' => 'signo'
         },
         {
  -        'name' => 'bufsiz',
  -        'type' => 'int'
  +        'type' => 'apr_sigfunc_t *',
  +        'name' => 'func'
         }
  -    ],
  -    'name' => 'ap_get_client_block'
  +    ]
     },
     {
  -    'return_type' => 'int',
  +    'return_type' => 'const char *',
  +    'name' => 'apr_signal_get_description',
       'args' => [
         {
  -        'name' => 'r',
  -        'type' => 'request_rec *'
  +        'type' => 'int',
  +        'name' => 'signum'
         }
  -    ],
  -    'name' => 'ap_discard_request_body'
  +    ]
     },
     {
       'return_type' => 'void',
  +    'name' => 'apr_signal_init',
       'args' => [
         {
  -        'name' => 'r',
  -        'type' => 'request_rec *'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'pglobal'
         }
  -    ],
  -    'name' => 'ap_note_auth_failure'
  +    ]
     },
     {
  -    'return_type' => 'void',
  +    'return_type' => 'apr_status_t',
  +    'name' => 'apr_signal_thread',
       'args' => [
         {
  -        'name' => 'r',
  -        'type' => 'request_rec *'
  +        'type' => 'int(*signal_handler)(int signum)',
  +        'name' => 'arg0'
         }
  -    ],
  -    'name' => 'ap_note_basic_auth_failure'
  +    ]
     },
     {
       'return_type' => 'void',
  +    'name' => 'apr_sleep',
       'args' => [
         {
  -        'name' => 'r',
  -        'type' => 'request_rec *'
  +        'type' => 'apr_interval_time_t',
  +        'name' => 't'
         }
  -    ],
  -    'name' => 'ap_note_digest_auth_failure'
  +    ]
     },
     {
  -    'return_type' => 'int',
  +    'return_type' => 'apr_status_t',
  +    'name' => 'apr_sms_blocks_create',
       'args' => [
  +      {
  +        'type' => 'apr_sms_t **',
  +        'name' => 'sms'
  +      },
         {
  -        'name' => 'r',
  -        'type' => 'request_rec *'
  +        'type' => 'apr_sms_t *',
  +        'name' => 'pms'
         },
         {
  -        'name' => 'pw',
  -        'type' => 'const char **'
  +        'type' => 'apr_size_t',
  +        'name' => 'block_size'
         }
  -    ],
  -    'name' => 'ap_get_basic_auth_pw'
  +    ]
     },
     {
  -    'return_type' => 'void',
  +    'return_type' => 'void *',
  +    'name' => 'apr_sms_calloc',
       'args' => [
         {
  -        'name' => 'r',
  -        'type' => 'request_rec *'
  +        'type' => 'apr_sms_t *',
  +        'name' => 'sms'
         },
         {
  -        'name' => 'uri',
  -        'type' => 'const char *'
  +        'type' => 'apr_size_t',
  +        'name' => 'size'
         }
  -    ],
  -    'name' => 'ap_parse_uri'
  +    ]
     },
     {
  -    'return_type' => 'int',
  +    'return_type' => 'apr_status_t',
  +    'name' => 'apr_sms_cleanup_register',
       'args' => [
         {
  -        'name' => 's',
  -        'type' => 'char *'
  +        'type' => 'apr_sms_t *',
  +        'name' => 'sms'
         },
         {
  -        'name' => 'n',
  -        'type' => 'int'
  +        'type' => 'apr_int32_t',
  +        'name' => 'type'
         },
         {
  -        'name' => 'r',
  -        'type' => 'request_rec *'
  +        'type' => 'void *',
  +        'name' => 'data'
         },
         {
  -        'name' => 'fold',
  -        'type' => 'int'
  +        'type' => 'apr_status_t (*cleanup_fn)(void *)',
  +        'name' => 'arg3'
         }
  -    ],
  -    'name' => 'ap_getline'
  +    ]
     },
     {
  -    'return_type' => 'int',
  +    'return_type' => 'apr_status_t',
  +    'name' => 'apr_sms_cleanup_run',
       'args' => [
  +      {
  +        'type' => 'apr_sms_t *',
  +        'name' => 'sms'
  +      },
  +      {
  +        'type' => 'apr_int32_t',
  +        'name' => 'type'
  +      },
  +      {
  +        'type' => 'void *',
  +        'name' => 'data'
  +      },
         {
  -        'name' => 'method',
  -        'type' => 'const char *'
  +        'type' => 'apr_status_t (*cleanup)(void *)',
  +        'name' => 'arg3'
         }
  -    ],
  -    'name' => 'ap_method_number_of'
  +    ]
     },
     {
  -    'return_type' => 'const char *',
  +    'return_type' => 'apr_status_t',
  +    'name' => 'apr_sms_cleanup_run_type',
       'args' => [
  +      {
  +        'type' => 'apr_sms_t *',
  +        'name' => 'sms'
  +      },
         {
  -        'name' => 'methnum',
  -        'type' => 'int'
  +        'type' => 'apr_int32_t',
  +        'name' => 'type'
         }
  -    ],
  -    'name' => 'ap_method_name_of'
  +    ]
     },
     {
  -    'return_type' => 'void',
  +    'return_type' => 'apr_status_t',
  +    'name' => 'apr_sms_cleanup_unregister',
       'args' => [
         {
  -        'name' => 'pf',
  -        'type' => 'ap_HOOK_post_read_request_t *'
  +        'type' => 'apr_sms_t *',
  +        'name' => 'sms'
         },
         {
  -        'name' => 'aszPre',
  -        'type' => 'const char * const *'
  +        'type' => 'apr_int32_t',
  +        'name' => 'type'
         },
         {
  -        'name' => 'aszSucc',
  -        'type' => 'const char * const *'
  +        'type' => 'void *',
  +        'name' => 'data'
         },
         {
  -        'name' => 'nOrder',
  -        'type' => 'int'
  +        'type' => 'apr_status_t (*cleanup)(void *)',
  +        'name' => 'arg3'
         }
  -    ],
  -    'name' => 'ap_hook_post_read_request'
  +    ]
     },
     {
  -    'return_type' => 'int',
  +    'return_type' => 'apr_status_t',
  +    'name' => 'apr_sms_cleanup_unregister_type',
       'args' => [
  +      {
  +        'type' => 'apr_sms_t *',
  +        'name' => 'sms'
  +      },
         {
  -        'name' => 'r',
  -        'type' => 'request_rec *'
  +        'type' => 'apr_int32_t',
  +        'name' => 'type'
         }
  -    ],
  -    'name' => 'ap_run_post_read_request'
  +    ]
     },
     {
  -    'return_type' => 'apr_array_header_t *',
  -    'args' => [],
  -    'name' => 'ap_hook_get_post_read_request'
  +    'return_type' => 'apr_status_t',
  +    'name' => 'apr_sms_destroy',
  +    'args' => [
  +      {
  +        'type' => 'apr_sms_t *',
  +        'name' => 'sms'
  +      }
  +    ]
     },
     {
  -    'return_type' => 'void',
  +    'return_type' => 'apr_status_t',
  +    'name' => 'apr_sms_free',
       'args' => [
         {
  -        'name' => 'pf',
  -        'type' => 'ap_HOOK_log_transaction_t *'
  +        'type' => 'apr_sms_t *',
  +        'name' => 'sms'
         },
         {
  -        'name' => 'aszPre',
  -        'type' => 'const char * const *'
  -      },
  -      {
  -        'name' => 'aszSucc',
  -        'type' => 'const char * const *'
  -      },
  -      {
  -        'name' => 'nOrder',
  -        'type' => 'int'
  +        'type' => 'void *',
  +        'name' => 'mem'
         }
  -    ],
  -    'name' => 'ap_hook_log_transaction'
  +    ]
     },
     {
  -    'return_type' => 'int',
  +    'return_type' => 'apr_sms_t *',
  +    'name' => 'apr_sms_get_parent',
       'args' => [
         {
  -        'name' => 'r',
  -        'type' => 'request_rec *'
  +        'type' => 'apr_sms_t *',
  +        'name' => 'sms'
         }
  -    ],
  -    'name' => 'ap_run_log_transaction'
  +    ]
     },
     {
  -    'return_type' => 'apr_array_header_t *',
  -    'args' => [],
  -    'name' => 'ap_hook_get_log_transaction'
  +    'return_type' => 'const char *',
  +    'name' => 'apr_sms_identity',
  +    'args' => [
  +      {
  +        'type' => 'apr_sms_t *',
  +        'name' => 'sms'
  +      }
  +    ]
     },
     {
  -    'return_type' => 'void',
  +    'return_type' => 'apr_status_t',
  +    'name' => 'apr_sms_init',
       'args' => [
         {
  -        'name' => 'pf',
  -        'type' => 'ap_HOOK_http_method_t *'
  +        'type' => 'apr_sms_t *',
  +        'name' => 'sms'
         },
         {
  -        'name' => 'aszPre',
  -        'type' => 'const char * const *'
  -      },
  +        'type' => 'apr_sms_t *',
  +        'name' => 'parent_sms'
  +      }
  +    ]
  +  },
  +  {
  +    'return_type' => 'apr_status_t',
  +    'name' => 'apr_sms_is_ancestor',
  +    'args' => [
         {
  -        'name' => 'aszSucc',
  -        'type' => 'const char * const *'
  +        'type' => 'apr_sms_t *',
  +        'name' => 'a'
         },
         {
  -        'name' => 'nOrder',
  -        'type' => 'int'
  +        'type' => 'apr_sms_t *',
  +        'name' => 'b'
         }
  -    ],
  -    'name' => 'ap_hook_http_method'
  +    ]
     },
     {
  -    'return_type' => 'const char *',
  +    'return_type' => 'apr_status_t',
  +    'name' => 'apr_sms_lock',
       'args' => [
         {
  -        'name' => 'r',
  -        'type' => 'const request_rec *'
  +        'type' => 'apr_sms_t *',
  +        'name' => 'sms'
         }
  -    ],
  -    'name' => 'ap_run_http_method'
  +    ]
     },
     {
  -    'return_type' => 'apr_array_header_t *',
  -    'args' => [],
  -    'name' => 'ap_hook_get_http_method'
  +    'return_type' => 'void *',
  +    'name' => 'apr_sms_malloc',
  +    'args' => [
  +      {
  +        'type' => 'apr_sms_t *',
  +        'name' => 'sms'
  +      },
  +      {
  +        'type' => 'apr_size_t',
  +        'name' => 'size'
  +      }
  +    ]
     },
     {
  -    'return_type' => 'void',
  +    'return_type' => 'void *',
  +    'name' => 'apr_sms_realloc',
       'args' => [
         {
  -        'name' => 'pf',
  -        'type' => 'ap_HOOK_default_port_t *'
  +        'type' => 'apr_sms_t *',
  +        'name' => 'sms'
         },
         {
  -        'name' => 'aszPre',
  -        'type' => 'const char * const *'
  +        'type' => 'void *',
  +        'name' => 'mem'
         },
         {
  -        'name' => 'aszSucc',
  -        'type' => 'const char * const *'
  -      },
  +        'type' => 'apr_size_t',
  +        'name' => 'size'
  +      }
  +    ]
  +  },
  +  {
  +    'return_type' => 'apr_status_t',
  +    'name' => 'apr_sms_reset',
  +    'args' => [
         {
  -        'name' => 'nOrder',
  -        'type' => 'int'
  +        'type' => 'apr_sms_t *',
  +        'name' => 'sms'
         }
  -    ],
  -    'name' => 'ap_hook_default_port'
  +    ]
     },
     {
  -    'return_type' => 'apr_port_t',
  +    'return_type' => 'apr_status_t',
  +    'name' => 'apr_sms_std_create',
       'args' => [
         {
  -        'name' => 'r',
  -        'type' => 'const request_rec *'
  +        'type' => 'apr_sms_t **',
  +        'name' => 'sms'
         }
  -    ],
  -    'name' => 'ap_run_default_port'
  +    ]
     },
     {
  -    'return_type' => 'apr_array_header_t *',
  -    'args' => [],
  -    'name' => 'ap_hook_get_default_port'
  +    'return_type' => 'apr_status_t',
  +    'name' => 'apr_sms_tracking_create',
  +    'args' => [
  +      {
  +        'type' => 'apr_sms_t **',
  +        'name' => 'mem_sys'
  +      },
  +      {
  +        'type' => 'apr_sms_t *',
  +        'name' => 'pms'
  +      }
  +    ]
     },
     {
  -    'return_type' => 'apr_bucket *',
  +    'return_type' => 'apr_status_t',
  +    'name' => 'apr_sms_unlock',
  +    'args' => [
  +      {
  +        'type' => 'apr_sms_t *',
  +        'name' => 'sms'
  +      }
  +    ]
  +  },
  +  {
  +    'return_type' => 'int',
  +    'name' => 'apr_snprintf',
       'args' => [
         {
  -        'name' => 'b',
  -        'type' => 'apr_bucket *'
  +        'type' => 'char *',
  +        'name' => 'buf'
         },
         {
  -        'name' => 'error',
  -        'type' => 'int'
  +        'type' => 'apr_size_t',
  +        'name' => 'len'
         },
         {
  -        'name' => 'buf',
  -        'type' => 'const char *'
  +        'type' => 'const char *',
  +        'name' => 'format'
         },
         {
  -        'name' => 'p',
  -        'type' => 'apr_pool_t *'
  +        'type' => '...',
  +        'name' => 'arg3'
         }
  -    ],
  -    'name' => 'ap_bucket_error_make'
  +    ]
     },
     {
  -    'return_type' => 'apr_bucket *',
  +    'return_type' => 'apr_status_t',
  +    'name' => 'apr_sockaddr_info_get',
       'args' => [
  +      {
  +        'type' => 'apr_sockaddr_t **',
  +        'name' => 'sa'
  +      },
  +      {
  +        'type' => 'const char *',
  +        'name' => 'hostname'
  +      },
  +      {
  +        'type' => 'apr_int32_t',
  +        'name' => 'family'
  +      },
         {
  -        'name' => 'error',
  -        'type' => 'int'
  +        'type' => 'apr_port_t',
  +        'name' => 'port'
         },
         {
  -        'name' => 'buf',
  -        'type' => 'const char *'
  +        'type' => 'apr_int32_t',
  +        'name' => 'flags'
         },
         {
  -        'name' => 'p',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'p'
         }
  -    ],
  -    'name' => 'ap_bucket_error_create'
  +    ]
     },
     {
       'return_type' => 'apr_status_t',
  +    'name' => 'apr_sockaddr_ip_get',
       'args' => [
         {
  -        'name' => 'f',
  -        'type' => 'ap_filter_t *'
  +        'type' => 'char **',
  +        'name' => 'addr'
         },
         {
  -        'name' => 'b',
  -        'type' => 'apr_bucket_brigade *'
  +        'type' => 'apr_sockaddr_t *',
  +        'name' => 'sockaddr'
         }
  -    ],
  -    'name' => 'ap_byterange_filter'
  +    ]
     },
     {
       'return_type' => 'apr_status_t',
  +    'name' => 'apr_sockaddr_ip_set',
       'args' => [
         {
  -        'name' => 'f',
  -        'type' => 'ap_filter_t *'
  +        'type' => 'apr_sockaddr_t *',
  +        'name' => 'sockaddr'
         },
         {
  -        'name' => 'b',
  -        'type' => 'apr_bucket_brigade *'
  +        'type' => 'const char *',
  +        'name' => 'addr'
         }
  -    ],
  -    'name' => 'ap_http_header_filter'
  +    ]
     },
     {
       'return_type' => 'apr_status_t',
  +    'name' => 'apr_sockaddr_port_get',
       'args' => [
         {
  -        'name' => 'arg0',
  -        'type' => 'ap_filter_t *'
  +        'type' => 'apr_port_t *',
  +        'name' => 'port'
         },
         {
  -        'name' => 'arg1',
  -        'type' => 'apr_bucket_brigade *'
  +        'type' => 'apr_sockaddr_t *',
  +        'name' => 'sockaddr'
         }
  -    ],
  -    'name' => 'ap_content_length_filter'
  +    ]
     },
     {
       'return_type' => 'apr_status_t',
  +    'name' => 'apr_sockaddr_port_set',
       'args' => [
         {
  -        'name' => 'f',
  -        'type' => 'ap_filter_t *'
  +        'type' => 'apr_sockaddr_t *',
  +        'name' => 'sockaddr'
         },
         {
  -        'name' => 'b',
  -        'type' => 'apr_bucket_brigade *'
  +        'type' => 'apr_port_t',
  +        'name' => 'port'
         }
  -    ],
  -    'name' => 'ap_old_write_filter'
  +    ]
     },
     {
  -    'return_type' => 'void',
  +    'return_type' => 'apr_status_t',
  +    'name' => 'apr_socket_addr_get',
       'args' => [
  +      {
  +        'type' => 'apr_sockaddr_t **',
  +        'name' => 'sa'
  +      },
         {
  -        'name' => 'rnew',
  -        'type' => 'request_rec *'
  +        'type' => 'apr_interface_e',
  +        'name' => 'which'
         },
         {
  -        'name' => 'r',
  -        'type' => 'const request_rec *'
  +        'type' => 'apr_socket_t *',
  +        'name' => 'sock'
         }
  -    ],
  -    'name' => 'ap_set_sub_req_protocol'
  +    ]
     },
     {
  -    'return_type' => 'void',
  +    'return_type' => 'apr_status_t',
  +    'name' => 'apr_socket_close',
       'args' => [
         {
  -        'name' => 'sub_r',
  -        'type' => 'request_rec *'
  +        'type' => 'apr_socket_t *',
  +        'name' => 'thesocket'
         }
  -    ],
  -    'name' => 'ap_finalize_sub_req_protocol'
  +    ]
     },
     {
  -    'return_type' => 'request_rec *',
  +    'return_type' => 'apr_status_t',
  +    'name' => 'apr_socket_create',
       'args' => [
  +      {
  +        'type' => 'apr_socket_t **',
  +        'name' => 'new_sock'
  +      },
         {
  -        'name' => 'new_file',
  -        'type' => 'const char *'
  +        'type' => 'int',
  +        'name' => 'family'
         },
         {
  -        'name' => 'r',
  -        'type' => 'const request_rec *'
  +        'type' => 'int',
  +        'name' => 'type'
         },
         {
  -        'name' => 'next_filter',
  -        'type' => 'ap_filter_t *'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'cont'
         }
  -    ],
  -    'name' => 'ap_sub_req_lookup_uri'
  +    ]
     },
     {
  -    'return_type' => 'request_rec *',
  +    'return_type' => 'apr_status_t',
  +    'name' => 'apr_socket_data_get',
       'args' => [
         {
  -        'name' => 'new_file',
  -        'type' => 'const char *'
  +        'type' => 'void **',
  +        'name' => 'data'
         },
         {
  -        'name' => 'r',
  -        'type' => 'const request_rec *'
  +        'type' => 'const char *',
  +        'name' => 'key'
         },
         {
  -        'name' => 'next_filter',
  -        'type' => 'ap_filter_t *'
  +        'type' => 'apr_socket_t *',
  +        'name' => 'sock'
         }
  -    ],
  -    'name' => 'ap_sub_req_lookup_file'
  +    ]
     },
     {
  -    'return_type' => 'request_rec *',
  +    'return_type' => 'apr_status_t',
  +    'name' => 'apr_socket_data_set',
       'args' => [
         {
  -        'name' => 'method',
  -        'type' => 'const char *'
  +        'type' => 'apr_socket_t *',
  +        'name' => 'sock'
         },
         {
  -        'name' => 'new_file',
  -        'type' => 'const char *'
  +        'type' => 'void *',
  +        'name' => 'data'
         },
         {
  -        'name' => 'r',
  -        'type' => 'const request_rec *'
  +        'type' => 'const char *',
  +        'name' => 'key'
         },
         {
  -        'name' => 'next_filter',
  -        'type' => 'ap_filter_t *'
  +        'type' => 'apr_status_t (*cleanup)(void*)',
  +        'name' => 'arg3'
         }
  -    ],
  -    'name' => 'ap_sub_req_method_uri'
  +    ]
     },
     {
       'return_type' => 'apr_status_t',
  +    'name' => 'apr_socket_from_file',
       'args' => [
         {
  -        'name' => 'f',
  -        'type' => 'ap_filter_t *'
  +        'type' => 'apr_socket_t **',
  +        'name' => 'newsock'
         },
         {
  -        'name' => 'bb',
  -        'type' => 'apr_bucket_brigade *'
  +        'type' => 'apr_file_t *',
  +        'name' => 'file'
         }
  -    ],
  -    'name' => 'ap_sub_req_output_filter'
  +    ]
     },
     {
  -    'return_type' => 'int',
  +    'return_type' => 'void',
  +    'name' => 'apr_sort_hooks',
  +    'args' => []
  +  },
  +  {
  +    'return_type' => 'apr_status_t',
  +    'name' => 'apr_stat',
       'args' => [
         {
  -        'name' => 'r',
  -        'type' => 'request_rec *'
  +        'type' => 'apr_finfo_t *',
  +        'name' => 'finfo'
  +      },
  +      {
  +        'type' => 'const char *',
  +        'name' => 'fname'
  +      },
  +      {
  +        'type' => 'apr_int32_t',
  +        'name' => 'wanted'
  +      },
  +      {
  +        'type' => 'apr_pool_t *',
  +        'name' => 'cont'
         }
  -    ],
  -    'name' => 'ap_run_sub_req'
  +    ]
     },
     {
  -    'return_type' => 'void',
  +    'return_type' => 'char *',
  +    'name' => 'apr_strerror',
       'args' => [
         {
  -        'name' => 'r',
  -        'type' => 'request_rec *'
  +        'type' => 'apr_status_t',
  +        'name' => 'statcode'
  +      },
  +      {
  +        'type' => 'char *',
  +        'name' => 'buf'
  +      },
  +      {
  +        'type' => 'apr_size_t',
  +        'name' => 'bufsize'
         }
  -    ],
  -    'name' => 'ap_destroy_sub_req'
  +    ]
     },
     {
  -    'return_type' => 'void',
  +    'return_type' => 'apr_status_t',
  +    'name' => 'apr_strftime',
       'args' => [
  +      {
  +        'type' => 'char *',
  +        'name' => 's'
  +      },
         {
  -        'name' => 'new_uri',
  -        'type' => 'const char *'
  +        'type' => 'apr_size_t *',
  +        'name' => 'retsize'
         },
         {
  -        'name' => 'r',
  -        'type' => 'request_rec *'
  +        'type' => 'apr_size_t',
  +        'name' => 'max'
  +      },
  +      {
  +        'type' => 'const char *',
  +        'name' => 'format'
  +      },
  +      {
  +        'type' => 'apr_exploded_time_t *',
  +        'name' => 'tm'
         }
  -    ],
  -    'name' => 'ap_internal_redirect'
  +    ]
     },
     {
  -    'return_type' => 'void',
  +    'return_type' => 'int',
  +    'name' => 'apr_strnatcasecmp',
       'args' => [
         {
  -        'name' => 'new_uri',
  -        'type' => 'const char *'
  +        'type' => 'char const *',
  +        'name' => 'a'
         },
         {
  -        'name' => 'r',
  -        'type' => 'request_rec *'
  +        'type' => 'char const *',
  +        'name' => 'b'
         }
  -    ],
  -    'name' => 'ap_internal_redirect_handler'
  +    ]
     },
     {
       'return_type' => 'int',
  +    'name' => 'apr_strnatcmp',
       'args' => [
  +      {
  +        'type' => 'char const *',
  +        'name' => 'a'
  +      },
         {
  -        'name' => 'r',
  -        'type' => 'request_rec *'
  +        'type' => 'char const *',
  +        'name' => 'b'
         }
  -    ],
  -    'name' => 'ap_some_auth_required'
  +    ]
     },
     {
  -    'return_type' => 'int',
  +    'return_type' => 'char *',
  +    'name' => 'apr_strtok',
       'args' => [
  +      {
  +        'type' => 'char *',
  +        'name' => 'str'
  +      },
         {
  -        'name' => 'r',
  -        'type' => 'request_rec *'
  +        'type' => 'const char *',
  +        'name' => 'sep'
  +      },
  +      {
  +        'type' => 'char **',
  +        'name' => 'last'
         }
  -    ],
  -    'name' => 'ap_is_initial_req'
  +    ]
     },
     {
       'return_type' => 'void',
  +    'name' => 'apr_table_add',
       'args' => [
  +      {
  +        'type' => 'apr_table_t *',
  +        'name' => 't'
  +      },
         {
  -        'name' => 'r',
  -        'type' => 'request_rec *'
  +        'type' => 'const char *',
  +        'name' => 'key'
         },
         {
  -        'name' => 'dependency_mtime',
  -        'type' => 'apr_time_t'
  +        'type' => 'const char *',
  +        'name' => 'val'
         }
  -    ],
  -    'name' => 'ap_update_mtime'
  +    ]
     },
     {
       'return_type' => 'void',
  +    'name' => 'apr_table_addn',
       'args' => [
         {
  -        'name' => 'r',
  -        'type' => 'request_rec *'
  +        'type' => 'apr_table_t *',
  +        'name' => 't'
         },
         {
  -        'name' => 'reset',
  -        'type' => 'int'
  +        'type' => 'const char *',
  +        'name' => 'key'
         },
         {
  -        'name' => 'arg2',
  -        'type' => '...'
  +        'type' => 'const char *',
  +        'name' => 'val'
         }
  -    ],
  -    'name' => 'ap_allow_methods'
  +    ]
     },
     {
       'return_type' => 'void',
  +    'name' => 'apr_table_clear',
       'args' => [
         {
  -        'name' => 'arg0',
  -        'type' => 'request_rec *'
  +        'type' => 'apr_table_t *',
  +        'name' => 't'
         }
  -    ],
  -    'name' => 'ap_process_request'
  +    ]
     },
     {
  -    'return_type' => 'void',
  +    'return_type' => 'apr_table_t *',
  +    'name' => 'apr_table_copy',
       'args' => [
         {
  -        'name' => 'type',
  -        'type' => 'int'
  +        'type' => 'struct apr_pool_t *',
  +        'name' => 'p'
         },
         {
  -        'name' => 'r',
  -        'type' => 'request_rec *'
  +        'type' => 'const apr_table_t *',
  +        'name' => 't'
         }
  -    ],
  -    'name' => 'ap_die'
  +    ]
     },
     {
       'return_type' => 'void',
  +    'name' => 'apr_table_do',
       'args' => [
         {
  -        'name' => 'pf',
  -        'type' => 'ap_HOOK_create_request_t *'
  +        'type' => 'int (*comp)(void *, const char *, const char *)',
  +        'name' => 'arg0'
         },
         {
  -        'name' => 'aszPre',
  -        'type' => 'const char * const *'
  +        'type' => 'void *',
  +        'name' => 'rec'
         },
         {
  -        'name' => 'aszSucc',
  -        'type' => 'const char * const *'
  +        'type' => 'const apr_table_t *',
  +        'name' => 't'
         },
         {
  -        'name' => 'nOrder',
  -        'type' => 'int'
  +        'type' => '...',
  +        'name' => 'arg3'
         }
  -    ],
  -    'name' => 'ap_hook_create_request'
  +    ]
     },
     {
  -    'return_type' => 'int',
  +    'return_type' => 'const char *',
  +    'name' => 'apr_table_get',
       'args' => [
         {
  -        'name' => 'r',
  -        'type' => 'request_rec *'
  +        'type' => 'const apr_table_t *',
  +        'name' => 't'
  +      },
  +      {
  +        'type' => 'const char *',
  +        'name' => 'key'
         }
  -    ],
  -    'name' => 'ap_run_create_request'
  +    ]
     },
     {
  -    'return_type' => 'apr_array_header_t *',
  -    'args' => [],
  -    'name' => 'ap_hook_get_create_request'
  +    'return_type' => 'apr_table_t *',
  +    'name' => 'apr_table_make',
  +    'args' => [
  +      {
  +        'type' => 'struct apr_pool_t *',
  +        'name' => 'p'
  +      },
  +      {
  +        'type' => 'int',
  +        'name' => 'nelts'
  +      }
  +    ]
     },
     {
       'return_type' => 'void',
  +    'name' => 'apr_table_merge',
       'args' => [
  -      {
  -        'name' => 'pf',
  -        'type' => 'ap_HOOK_translate_name_t *'
  -      },
         {
  -        'name' => 'aszPre',
  -        'type' => 'const char * const *'
  +        'type' => 'apr_table_t *',
  +        'name' => 't'
         },
         {
  -        'name' => 'aszSucc',
  -        'type' => 'const char * const *'
  +        'type' => 'const char *',
  +        'name' => 'key'
         },
         {
  -        'name' => 'nOrder',
  -        'type' => 'int'
  +        'type' => 'const char *',
  +        'name' => 'val'
         }
  -    ],
  -    'name' => 'ap_hook_translate_name'
  +    ]
     },
     {
  -    'return_type' => 'int',
  +    'return_type' => 'void',
  +    'name' => 'apr_table_mergen',
       'args' => [
  +      {
  +        'type' => 'apr_table_t *',
  +        'name' => 't'
  +      },
  +      {
  +        'type' => 'const char *',
  +        'name' => 'key'
  +      },
         {
  -        'name' => 'r',
  -        'type' => 'request_rec *'
  +        'type' => 'const char *',
  +        'name' => 'val'
         }
  -    ],
  -    'name' => 'ap_run_translate_name'
  -  },
  -  {
  -    'return_type' => 'apr_array_header_t *',
  -    'args' => [],
  -    'name' => 'ap_hook_get_translate_name'
  +    ]
     },
     {
       'return_type' => 'void',
  +    'name' => 'apr_table_overlap',
       'args' => [
         {
  -        'name' => 'pf',
  -        'type' => 'ap_HOOK_check_user_id_t *'
  +        'type' => 'apr_table_t *',
  +        'name' => 'a'
         },
         {
  -        'name' => 'aszPre',
  -        'type' => 'const char * const *'
  +        'type' => 'const apr_table_t *',
  +        'name' => 'b'
         },
         {
  -        'name' => 'aszSucc',
  -        'type' => 'const char * const *'
  -      },
  -      {
  -        'name' => 'nOrder',
  -        'type' => 'int'
  +        'type' => 'unsigned',
  +        'name' => 'flags'
         }
  -    ],
  -    'name' => 'ap_hook_check_user_id'
  +    ]
     },
     {
  -    'return_type' => 'int',
  +    'return_type' => 'apr_table_t *',
  +    'name' => 'apr_table_overlay',
       'args' => [
  +      {
  +        'type' => 'struct apr_pool_t *',
  +        'name' => 'p'
  +      },
  +      {
  +        'type' => 'const apr_table_t *',
  +        'name' => 'overlay'
  +      },
         {
  -        'name' => 'r',
  -        'type' => 'request_rec *'
  +        'type' => 'const apr_table_t *',
  +        'name' => 'base'
         }
  -    ],
  -    'name' => 'ap_run_check_user_id'
  +    ]
     },
     {
  -    'return_type' => 'apr_array_header_t *',
  -    'args' => [],
  -    'name' => 'ap_hook_get_check_user_id'
  -  },
  -  {
       'return_type' => 'void',
  +    'name' => 'apr_table_set',
       'args' => [
  -      {
  -        'name' => 'pf',
  -        'type' => 'ap_HOOK_fixups_t *'
  -      },
         {
  -        'name' => 'aszPre',
  -        'type' => 'const char * const *'
  +        'type' => 'apr_table_t *',
  +        'name' => 't'
         },
         {
  -        'name' => 'aszSucc',
  -        'type' => 'const char * const *'
  +        'type' => 'const char *',
  +        'name' => 'key'
         },
         {
  -        'name' => 'nOrder',
  -        'type' => 'int'
  +        'type' => 'const char *',
  +        'name' => 'val'
         }
  -    ],
  -    'name' => 'ap_hook_fixups'
  +    ]
     },
     {
  -    'return_type' => 'int',
  +    'return_type' => 'void',
  +    'name' => 'apr_table_setn',
       'args' => [
  +      {
  +        'type' => 'apr_table_t *',
  +        'name' => 't'
  +      },
  +      {
  +        'type' => 'const char *',
  +        'name' => 'key'
  +      },
         {
  -        'name' => 'r',
  -        'type' => 'request_rec *'
  +        'type' => 'const char *',
  +        'name' => 'val'
         }
  -    ],
  -    'name' => 'ap_run_fixups'
  +    ]
     },
     {
  -    'return_type' => 'apr_array_header_t *',
  -    'args' => [],
  -    'name' => 'ap_hook_get_fixups'
  +    'return_type' => 'void',
  +    'name' => 'apr_table_unset',
  +    'args' => [
  +      {
  +        'type' => 'apr_table_t *',
  +        'name' => 't'
  +      },
  +      {
  +        'type' => 'const char *',
  +        'name' => 'key'
  +      }
  +    ]
     },
     {
       'return_type' => 'void',
  +    'name' => 'apr_table_vdo',
       'args' => [
         {
  -        'name' => 'pf',
  -        'type' => 'ap_HOOK_type_checker_t *'
  +        'type' => 'int (*comp)(void *, const char *, const char *)',
  +        'name' => 'arg0'
         },
         {
  -        'name' => 'aszPre',
  -        'type' => 'const char * const *'
  +        'type' => 'void *',
  +        'name' => 'rec'
         },
         {
  -        'name' => 'aszSucc',
  -        'type' => 'const char * const *'
  +        'type' => 'const apr_table_t *',
  +        'name' => 't'
         },
         {
  -        'name' => 'nOrder',
  -        'type' => 'int'
  +        'type' => 'va_list',
  +        'name' => 'arg3'
         }
  -    ],
  -    'name' => 'ap_hook_type_checker'
  +    ]
     },
     {
  -    'return_type' => 'int',
  -    'args' => [
  -      {
  -        'name' => 'r',
  -        'type' => 'request_rec *'
  -      }
  -    ],
  -    'name' => 'ap_run_type_checker'
  +    'return_type' => 'void',
  +    'name' => 'apr_terminate',
  +    'args' => []
     },
     {
  -    'return_type' => 'apr_array_header_t *',
  -    'args' => [],
  -    'name' => 'ap_hook_get_type_checker'
  +    'return_type' => 'void',
  +    'name' => 'apr_terminate2',
  +    'args' => []
     },
     {
       'return_type' => 'void',
  +    'name' => 'apr_text_append',
       'args' => [
  -      {
  -        'name' => 'pf',
  -        'type' => 'ap_HOOK_access_checker_t *'
  -      },
         {
  -        'name' => 'aszPre',
  -        'type' => 'const char * const *'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'p'
         },
         {
  -        'name' => 'aszSucc',
  -        'type' => 'const char * const *'
  +        'type' => 'apr_text_header *',
  +        'name' => 'hdr'
         },
         {
  -        'name' => 'nOrder',
  -        'type' => 'int'
  +        'type' => 'const char *',
  +        'name' => 'text'
         }
  -    ],
  -    'name' => 'ap_hook_access_checker'
  +    ]
     },
     {
  -    'return_type' => 'int',
  +    'return_type' => 'apr_status_t',
  +    'name' => 'apr_thread_create',
       'args' => [
         {
  -        'name' => 'r',
  -        'type' => 'request_rec *'
  -      }
  -    ],
  -    'name' => 'ap_run_access_checker'
  -  },
  -  {
  -    'return_type' => 'apr_array_header_t *',
  -    'args' => [],
  -    'name' => 'ap_hook_get_access_checker'
  -  },
  -  {
  -    'return_type' => 'void',
  -    'args' => [
  +        'type' => 'apr_thread_t **',
  +        'name' => 'new_thread'
  +      },
         {
  -        'name' => 'pf',
  -        'type' => 'ap_HOOK_auth_checker_t *'
  +        'type' => 'apr_threadattr_t *',
  +        'name' => 'attr'
         },
         {
  -        'name' => 'aszPre',
  -        'type' => 'const char * const *'
  +        'type' => 'apr_thread_start_t',
  +        'name' => 'func'
         },
         {
  -        'name' => 'aszSucc',
  -        'type' => 'const char * const *'
  +        'type' => 'void *',
  +        'name' => 'data'
         },
         {
  -        'name' => 'nOrder',
  -        'type' => 'int'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'cont'
         }
  -    ],
  -    'name' => 'ap_hook_auth_checker'
  +    ]
     },
     {
  -    'return_type' => 'int',
  +    'return_type' => 'apr_status_t',
  +    'name' => 'apr_thread_data_get',
       'args' => [
         {
  -        'name' => 'r',
  -        'type' => 'request_rec *'
  +        'type' => 'void **',
  +        'name' => 'data'
  +      },
  +      {
  +        'type' => 'const char *',
  +        'name' => 'key'
  +      },
  +      {
  +        'type' => 'apr_thread_t *',
  +        'name' => 'thread'
         }
  -    ],
  -    'name' => 'ap_run_auth_checker'
  +    ]
     },
     {
  -    'return_type' => 'apr_array_header_t *',
  -    'args' => [],
  -    'name' => 'ap_hook_get_auth_checker'
  -  },
  -  {
  -    'return_type' => 'void',
  +    'return_type' => 'apr_status_t',
  +    'name' => 'apr_thread_data_set',
       'args' => [
         {
  -        'name' => 'pf',
  -        'type' => 'ap_HOOK_insert_filter_t *'
  +        'type' => 'void *',
  +        'name' => 'data'
         },
         {
  -        'name' => 'aszPre',
  -        'type' => 'const char * const *'
  +        'type' => 'const char *',
  +        'name' => 'key'
         },
         {
  -        'name' => 'aszSucc',
  -        'type' => 'const char * const *'
  +        'type' => 'apr_status_t (*cleanup) (void *)',
  +        'name' => 'arg2'
         },
  -      {
  -        'name' => 'nOrder',
  -        'type' => 'int'
  -      }
  -    ],
  -    'name' => 'ap_hook_insert_filter'
  -  },
  -  {
  -    'return_type' => 'void',
  -    'args' => [
         {
  -        'name' => 'r',
  -        'type' => 'request_rec *'
  +        'type' => 'apr_thread_t *',
  +        'name' => 'thread'
         }
  -    ],
  -    'name' => 'ap_run_insert_filter'
  -  },
  -  {
  -    'return_type' => 'apr_array_header_t *',
  -    'args' => [],
  -    'name' => 'ap_hook_get_insert_filter'
  +    ]
     },
     {
  -    'return_type' => 'void',
  +    'return_type' => 'apr_status_t',
  +    'name' => 'apr_thread_detach',
       'args' => [
         {
  -        'name' => 'p',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'apr_thread_t *',
  +        'name' => 'thd'
         }
  -    ],
  -    'name' => 'ap_init_vhost_config'
  +    ]
     },
     {
  -    'return_type' => 'void',
  +    'return_type' => 'apr_status_t',
  +    'name' => 'apr_thread_exit',
       'args' => [
         {
  -        'name' => 'p',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'apr_thread_t *',
  +        'name' => 'thd'
         },
         {
  -        'name' => 'main_server',
  -        'type' => 'server_rec *'
  +        'type' => 'apr_status_t *',
  +        'name' => 'retval'
         }
  -    ],
  -    'name' => 'ap_fini_vhost_config'
  +    ]
     },
     {
  -    'return_type' => 'const char *',
  +    'return_type' => 'apr_status_t',
  +    'name' => 'apr_thread_join',
       'args' => [
         {
  -        'name' => 'p',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'apr_status_t *',
  +        'name' => 'retval'
         },
         {
  -        'name' => 'hostname',
  -        'type' => 'const char *'
  -      },
  -      {
  -        'name' => 's',
  -        'type' => 'server_rec *'
  +        'type' => 'apr_thread_t *',
  +        'name' => 'thd'
         }
  -    ],
  -    'name' => 'ap_parse_vhost_addrs'
  +    ]
     },
     {
  -    'return_type' => 'const char *',
  +    'return_type' => 'apr_status_t',
  +    'name' => 'apr_threadattr_create',
       'args' => [
         {
  -        'name' => 'cmd',
  -        'type' => 'cmd_parms *'
  +        'type' => 'apr_threadattr_t **',
  +        'name' => 'new_attr'
         },
         {
  -        'name' => 'dummy',
  -        'type' => 'void *'
  -      },
  -      {
  -        'name' => 'arg',
  -        'type' => 'const char *'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'cont'
         }
  -    ],
  -    'name' => 'ap_set_name_virtual_host'
  +    ]
     },
     {
  -    'return_type' => 'void',
  +    'return_type' => 'apr_status_t',
  +    'name' => 'apr_threadattr_detach_get',
       'args' => [
         {
  -        'name' => 'conn',
  -        'type' => 'conn_rec *'
  +        'type' => 'apr_threadattr_t *',
  +        'name' => 'attr'
         }
  -    ],
  -    'name' => 'ap_update_vhost_given_ip'
  +    ]
     },
     {
  -    'return_type' => 'void',
  +    'return_type' => 'apr_status_t',
  +    'name' => 'apr_threadattr_detach_set',
       'args' => [
  +      {
  +        'type' => 'apr_threadattr_t *',
  +        'name' => 'attr'
  +      },
         {
  -        'name' => 'r',
  -        'type' => 'request_rec *'
  +        'type' => 'apr_int32_t',
  +        'name' => 'on'
         }
  -    ],
  -    'name' => 'ap_update_vhost_from_headers'
  +    ]
     },
     {
  -    'return_type' => 'int',
  +    'return_type' => 'apr_status_t',
  +    'name' => 'apr_threadkey_data_get',
       'args' => [
         {
  -        'name' => 'r',
  -        'type' => 'request_rec *'
  +        'type' => 'void **',
  +        'name' => 'data'
         },
         {
  -        'name' => 'host',
  -        'type' => 'const char *'
  +        'type' => 'const char *',
  +        'name' => 'key'
         },
         {
  -        'name' => 'port',
  -        'type' => 'apr_port_t'
  +        'type' => 'apr_threadkey_t *',
  +        'name' => 'threadkey'
         }
  -    ],
  -    'name' => 'ap_matches_request_vhost'
  -  },
  -  {
  -    'return_type' => 'int',
  -    'args' => [],
  -    'name' => 'ap_exists_scoreboard_image'
  +    ]
     },
     {
  -    'return_type' => 'void',
  +    'return_type' => 'apr_status_t',
  +    'name' => 'apr_threadkey_data_set',
       'args' => [
  +      {
  +        'type' => 'void *',
  +        'name' => 'data'
  +      },
  +      {
  +        'type' => 'const char *',
  +        'name' => 'key'
  +      },
         {
  -        'name' => 'p',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'apr_status_t (*cleanup) (void *)',
  +        'name' => 'arg2'
         },
         {
  -        'name' => 't',
  -        'type' => 'ap_scoreboard_e'
  +        'type' => 'apr_threadkey_t *',
  +        'name' => 'threadkey'
         }
  -    ],
  -    'name' => 'ap_create_scoreboard'
  +    ]
     },
     {
  -    'return_type' => 'void',
  +    'return_type' => 'apr_status_t',
  +    'name' => 'apr_threadkey_private_create',
       'args' => [
         {
  -        'name' => 'child_num',
  -        'type' => 'int'
  +        'type' => 'apr_threadkey_t **',
  +        'name' => 'key'
         },
         {
  -        'name' => 'thread_num',
  -        'type' => 'int'
  +        'type' => 'void (*dest)(void *)',
  +        'name' => 'arg1'
         },
         {
  -        'name' => 'r',
  -        'type' => 'request_rec *'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'cont'
         }
  -    ],
  -    'name' => 'ap_increment_counts'
  +    ]
     },
     {
       'return_type' => 'apr_status_t',
  +    'name' => 'apr_threadkey_private_delete',
       'args' => [
         {
  -        'name' => 'd',
  -        'type' => 'void *'
  +        'type' => 'apr_threadkey_t *',
  +        'name' => 'key'
         }
  -    ],
  -    'name' => 'ap_cleanup_scoreboard'
  -  },
  -  {
  -    'return_type' => 'void',
  -    'args' => [],
  -    'name' => 'ap_sync_scoreboard_image'
  +    ]
     },
     {
  -    'return_type' => 'int',
  +    'return_type' => 'apr_status_t',
  +    'name' => 'apr_threadkey_private_get',
       'args' => [
  -      {
  -        'name' => 'child_num',
  -        'type' => 'int'
  -      },
         {
  -        'name' => 'thread_num',
  -        'type' => 'int'
  +        'type' => 'void **',
  +        'name' => 'new_mem'
         },
         {
  -        'name' => 'status',
  -        'type' => 'int'
  -      },
  -      {
  -        'name' => 'r',
  -        'type' => 'request_rec *'
  +        'type' => 'apr_threadkey_t *',
  +        'name' => 'key'
         }
  -    ],
  -    'name' => 'ap_update_child_status'
  +    ]
     },
     {
  -    'return_type' => 'void',
  +    'return_type' => 'apr_status_t',
  +    'name' => 'apr_threadkey_private_set',
       'args' => [
         {
  -        'name' => 'child_num',
  -        'type' => 'int'
  +        'type' => 'void *',
  +        'name' => 'priv'
         },
         {
  -        'name' => 'thread_num',
  -        'type' => 'int'
  -      },
  -      {
  -        'name' => 'status',
  -        'type' => 'int'
  +        'type' => 'apr_threadkey_t *',
  +        'name' => 'key'
         }
  -    ],
  -    'name' => 'ap_time_process_request'
  +    ]
     },
     {
  -    'return_type' => 'void',
  +    'return_type' => 'apr_time_t',
  +    'name' => 'apr_time_now',
  +    'args' => []
  +  },
  +  {
  +    'return_type' => 'apr_status_t',
  +    'name' => 'apr_tokenize_to_argv',
       'args' => [
  -      {
  -        'name' => 'pf',
  -        'type' => 'ap_HOOK_get_suexec_identity_t *'
  -      },
         {
  -        'name' => 'aszPre',
  -        'type' => 'const char * const *'
  +        'type' => 'const char *',
  +        'name' => 'arg_str'
         },
         {
  -        'name' => 'aszSucc',
  -        'type' => 'const char * const *'
  +        'type' => 'char ***',
  +        'name' => 'argv_out'
         },
         {
  -        'name' => 'nOrder',
  -        'type' => 'int'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'token_context'
         }
  -    ],
  -    'name' => 'ap_hook_get_suexec_identity'
  +    ]
     },
     {
  -    'return_type' => 'ap_unix_identity_t *',
  +    'return_type' => 'apr_port_t',
  +    'name' => 'apr_uri_default_port_for_scheme',
       'args' => [
         {
  -        'name' => 'r',
  -        'type' => 'const request_rec *'
  +        'type' => 'const char *',
  +        'name' => 'scheme_str'
         }
  -    ],
  -    'name' => 'ap_run_get_suexec_identity'
  +    ]
     },
     {
  -    'return_type' => 'apr_array_header_t *',
  -    'args' => [],
  -    'name' => 'ap_hook_get_get_suexec_identity'
  +    'return_type' => 'int',
  +    'name' => 'apr_uri_parse_components',
  +    'args' => [
  +      {
  +        'type' => 'apr_pool_t *',
  +        'name' => 'p'
  +      },
  +      {
  +        'type' => 'const char *',
  +        'name' => 'uri'
  +      },
  +      {
  +        'type' => 'apr_uri_components *',
  +        'name' => 'uptr'
  +      }
  +    ]
     },
     {
  -    'return_type' => 'void',
  +    'return_type' => 'int',
  +    'name' => 'apr_uri_parse_hostinfo_components',
       'args' => [
  +      {
  +        'type' => 'apr_pool_t *',
  +        'name' => 'p'
  +      },
         {
  -        'name' => 'terminate',
  -        'type' => 'int'
  +        'type' => 'const char *',
  +        'name' => 'hostinfo'
  +      },
  +      {
  +        'type' => 'apr_uri_components *',
  +        'name' => 'uptr'
         }
  -    ],
  -    'name' => 'ap_reclaim_child_processes'
  +    ]
     },
     {
  -    'return_type' => 'void',
  +    'return_type' => 'char *',
  +    'name' => 'apr_uri_unparse_components',
       'args' => [
         {
  -        'name' => 'status',
  -        'type' => 'int *'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'p'
         },
         {
  -        'name' => 'ret',
  -        'type' => 'apr_proc_t *'
  +        'type' => 'const apr_uri_components *',
  +        'name' => 'uptr'
         },
         {
  -        'name' => 'p',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'unsigned',
  +        'name' => 'flags'
         }
  -    ],
  -    'name' => 'ap_wait_or_timeout'
  +    ]
     },
     {
       'return_type' => 'void',
  +    'name' => 'apr_uuid_format',
       'args' => [
         {
  -        'name' => 'pid',
  -        'type' => 'apr_proc_t *'
  +        'type' => 'char *',
  +        'name' => 'buffer'
         },
         {
  -        'name' => 'status',
  -        'type' => 'int'
  +        'type' => 'const apr_uuid_t *',
  +        'name' => 'uuid'
         }
  -    ],
  -    'name' => 'ap_process_child_status'
  +    ]
     },
     {
       'return_type' => 'void',
  +    'name' => 'apr_uuid_get',
       'args' => [
         {
  -        'name' => 's',
  -        'type' => 'apr_socket_t *'
  +        'type' => 'apr_uuid_t *',
  +        'name' => 'uuid'
         }
  -    ],
  -    'name' => 'ap_sock_disable_nagle'
  +    ]
     },
     {
  -    'return_type' => 'uid_t',
  +    'return_type' => 'apr_status_t',
  +    'name' => 'apr_uuid_parse',
       'args' => [
  +      {
  +        'type' => 'apr_uuid_t *',
  +        'name' => 'uuid'
  +      },
         {
  -        'name' => 'name',
  -        'type' => 'const char *'
  +        'type' => 'const char *',
  +        'name' => 'uuid_str'
         }
  -    ],
  -    'name' => 'ap_uname2id'
  +    ]
     },
     {
  -    'return_type' => 'gid_t',
  +    'return_type' => 'int',
  +    'name' => 'apr_vformatter',
       'args' => [
  +      {
  +        'type' => 'int (*flush_func)(apr_vformatter_buff_t *b)',
  +        'name' => 'arg0'
  +      },
         {
  -        'name' => 'name',
  -        'type' => 'const char *'
  +        'type' => 'apr_vformatter_buff_t *',
  +        'name' => 'c'
  +      },
  +      {
  +        'type' => 'const char *',
  +        'name' => 'fmt'
  +      },
  +      {
  +        'type' => 'va_list',
  +        'name' => 'ap'
         }
  -    ],
  -    'name' => 'ap_gname2id'
  +    ]
     },
     {
  -    'return_type' => 'char *',
  +    'return_type' => 'int',
  +    'name' => 'apr_vsnprintf',
       'args' => [
  +      {
  +        'type' => 'char *',
  +        'name' => 'buf'
  +      },
         {
  -        'name' => 'conn',
  -        'type' => 'conn_rec *'
  +        'type' => 'apr_size_t',
  +        'name' => 'len'
         },
         {
  -        'name' => 'srv',
  -        'type' => 'server_rec *'
  +        'type' => 'const char *',
  +        'name' => 'format'
  +      },
  +      {
  +        'type' => 'va_list',
  +        'name' => 'ap'
         }
  -    ],
  -    'name' => 'ap_rfc1413'
  +    ]
     },
     {
  -    'return_type' => 'char *',
  +    'return_type' => 'apr_status_t',
  +    'name' => 'apr_xlate_close',
       'args' => [
         {
  -        'name' => 'a',
  -        'type' => 'apr_pool_t *'
  -      },
  -      {
  -        'name' => 'string',
  -        'type' => 'const unsigned char *'
  +        'type' => 'apr_xlate_t *',
  +        'name' => 'convset'
         }
  -    ],
  -    'name' => 'ap_md5'
  +    ]
     },
     {
  -    'return_type' => 'char *',
  +    'return_type' => 'apr_status_t',
  +    'name' => 'apr_xlate_conv_buffer',
       'args' => [
         {
  -        'name' => 'a',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'apr_xlate_t *',
  +        'name' => 'convset'
         },
         {
  -        'name' => 'buf',
  -        'type' => 'const unsigned char *'
  +        'type' => 'const char *',
  +        'name' => 'inbuf'
         },
         {
  -        'name' => 'len',
  -        'type' => 'int'
  +        'type' => 'apr_size_t *',
  +        'name' => 'inbytes_left'
  +      },
  +      {
  +        'type' => 'char *',
  +        'name' => 'outbuf'
  +      },
  +      {
  +        'type' => 'apr_size_t *',
  +        'name' => 'outbytes_left'
         }
  -    ],
  -    'name' => 'ap_md5_binary'
  +    ]
     },
     {
  -    'return_type' => 'char *',
  +    'return_type' => 'apr_int32_t',
  +    'name' => 'apr_xlate_conv_byte',
       'args' => [
         {
  -        'name' => 'p',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'apr_xlate_t *',
  +        'name' => 'convset'
         },
         {
  -        'name' => 'context',
  -        'type' => 'apr_md5_ctx_t *'
  +        'type' => 'unsigned char',
  +        'name' => 'inchar'
         }
  -    ],
  -    'name' => 'ap_md5contextTo64'
  +    ]
     },
     {
  -    'return_type' => 'char *',
  +    'return_type' => 'apr_status_t',
  +    'name' => 'apr_xlate_get_sb',
       'args' => [
         {
  -        'name' => 'p',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'apr_xlate_t *',
  +        'name' => 'convset'
         },
         {
  -        'name' => 'infile',
  -        'type' => 'apr_file_t *'
  +        'type' => 'int *',
  +        'name' => 'onoff'
         }
  -    ],
  -    'name' => 'ap_md5digest'
  +    ]
     },
     {
  -    'return_type' => 'char **',
  +    'return_type' => 'apr_status_t',
  +    'name' => 'apr_xlate_open',
       'args' => [
  +      {
  +        'type' => 'apr_xlate_t **',
  +        'name' => 'convset'
  +      },
         {
  -        'name' => 'p',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'const char *',
  +        'name' => 'topage'
         },
         {
  -        'name' => 't',
  -        'type' => 'apr_table_t *'
  +        'type' => 'const char *',
  +        'name' => 'frompage'
  +      },
  +      {
  +        'type' => 'apr_pool_t *',
  +        'name' => 'pool'
         }
  -    ],
  -    'name' => 'ap_create_environment'
  +    ]
     },
     {
  -    'return_type' => 'int',
  +    'return_type' => 'const char *',
  +    'name' => 'apr_xml_empty_elem',
       'args' => [
         {
  -        'name' => 'uri',
  -        'type' => 'const char *'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'p'
         },
         {
  -        'name' => 'path_info',
  -        'type' => 'const char *'
  +        'type' => 'const apr_xml_elem *',
  +        'name' => 'elem'
         }
  -    ],
  -    'name' => 'ap_find_path_info'
  +    ]
     },
     {
  -    'return_type' => 'void',
  +    'return_type' => 'int',
  +    'name' => 'apr_xml_insert_uri',
       'args' => [
  +      {
  +        'type' => 'apr_array_header_t *',
  +        'name' => 'uri_array'
  +      },
         {
  -        'name' => 'r',
  -        'type' => 'request_rec *'
  +        'type' => 'const char *',
  +        'name' => 'uri'
         }
  -    ],
  -    'name' => 'ap_add_cgi_vars'
  +    ]
     },
     {
  -    'return_type' => 'void',
  +    'return_type' => 'apr_xml_parser *',
  +    'name' => 'apr_xml_parser_create',
       'args' => [
         {
  -        'name' => 'r',
  -        'type' => 'request_rec *'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'pool'
         }
  -    ],
  -    'name' => 'ap_add_common_vars'
  +    ]
     },
     {
  -    'return_type' => 'int',
  +    'return_type' => 'apr_status_t',
  +    'name' => 'apr_xml_parser_done',
       'args' => [
         {
  -        'name' => 'r',
  -        'type' => 'request_rec *'
  +        'type' => 'apr_xml_parser *',
  +        'name' => 'parser'
         },
         {
  -        'name' => 'f',
  -        'type' => 'apr_file_t *'
  -      },
  -      {
  -        'name' => 'buffer',
  -        'type' => 'char *'
  +        'type' => 'apr_xml_doc **',
  +        'name' => 'pdoc'
         }
  -    ],
  -    'name' => 'ap_scan_script_header_err'
  +    ]
     },
     {
  -    'return_type' => 'int',
  +    'return_type' => 'apr_status_t',
  +    'name' => 'apr_xml_parser_feed',
       'args' => [
  -      {
  -        'name' => 'r',
  -        'type' => 'request_rec *'
  -      },
  -      {
  -        'name' => 'buffer',
  -        'type' => 'char *'
  -      },
         {
  -        'name' => 'termch',
  -        'type' => 'const char **'
  +        'type' => 'apr_xml_parser *',
  +        'name' => 'parser'
         },
         {
  -        'name' => 'termarg',
  -        'type' => 'int *'
  +        'type' => 'const char *',
  +        'name' => 'data'
         },
         {
  -        'name' => 'arg4',
  -        'type' => '...'
  +        'type' => 'apr_size_t',
  +        'name' => 'len'
         }
  -    ],
  -    'name' => 'ap_scan_script_header_err_strs'
  +    ]
     },
     {
  -    'return_type' => 'int',
  +    'return_type' => 'char *',
  +    'name' => 'apr_xml_parser_geterror',
       'args' => [
  -      {
  -        'name' => 'r',
  -        'type' => 'request_rec *'
  -      },
         {
  -        'name' => 'buffer',
  -        'type' => 'char *'
  +        'type' => 'apr_xml_parser *',
  +        'name' => 'parser'
         },
         {
  -        'name' => 'arg2',
  -        'type' => 'int (*getsfunc) (char *, int, void *)'
  +        'type' => 'char *',
  +        'name' => 'errbuf'
         },
         {
  -        'name' => 'getsfunc_data',
  -        'type' => 'void *'
  +        'type' => 'apr_size_t',
  +        'name' => 'errbufsize'
         }
  -    ],
  -    'name' => 'ap_scan_script_header_err_core'
  +    ]
     },
     {
       'return_type' => 'void',
  +    'name' => 'apr_xml_quote_elem',
       'args' => [
         {
  -        'name' => 'size',
  -        'type' => 'apr_ssize_t'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'p'
         },
  -      {
  -        'name' => 'r',
  -        'type' => 'request_rec *'
  -      }
  -    ],
  -    'name' => 'ap_send_size'
  -  },
  -  {
  -    'return_type' => 'apr_port_t',
  -    'args' => [
  -      {
  -        'name' => 'scheme_str',
  -        'type' => 'const char *'
  -      }
  -    ],
  -    'name' => 'ap_default_port_for_scheme'
  -  },
  -  {
  -    'return_type' => 'apr_port_t',
  -    'args' => [
         {
  -        'name' => 'r',
  -        'type' => 'const request_rec *'
  +        'type' => 'apr_xml_elem *',
  +        'name' => 'elem'
         }
  -    ],
  -    'name' => 'ap_default_port_for_request'
  +    ]
     },
     {
  -    'return_type' => 'char *',
  +    'return_type' => 'const char *',
  +    'name' => 'apr_xml_quote_string',
       'args' => [
         {
  -        'name' => 'p',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'p'
         },
         {
  -        'name' => 'uptr',
  -        'type' => 'const uri_components *'
  +        'type' => 'const char *',
  +        'name' => 's'
         },
         {
  -        'name' => 'flags',
  -        'type' => 'unsigned'
  +        'type' => 'int',
  +        'name' => 'quotes'
         }
  -    ],
  -    'name' => 'ap_unparse_uri_components'
  +    ]
     },
     {
  -    'return_type' => 'int',
  +    'return_type' => 'void',
  +    'name' => 'apr_xml_to_text',
       'args' => [
         {
  -        'name' => 'p',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'p'
         },
         {
  -        'name' => 'uri',
  -        'type' => 'const char *'
  +        'type' => 'const apr_xml_elem *',
  +        'name' => 'elem'
         },
  -      {
  -        'name' => 'uptr',
  -        'type' => 'uri_components *'
  -      }
  -    ],
  -    'name' => 'ap_parse_uri_components'
  -  },
  -  {
  -    'return_type' => 'int',
  -    'args' => [
         {
  -        'name' => 'p',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'int',
  +        'name' => 'style'
         },
         {
  -        'name' => 'hostinfo',
  -        'type' => 'const char *'
  +        'type' => 'apr_array_header_t *',
  +        'name' => 'namespaces'
         },
         {
  -        'name' => 'uptr',
  -        'type' => 'uri_components *'
  -      }
  -    ],
  -    'name' => 'ap_parse_hostinfo_components'
  -  },
  -  {
  -    'return_type' => 'int',
  -    'args' => [
  +        'type' => 'int *',
  +        'name' => 'ns_map'
  +      },
         {
  -        'name' => 'r',
  -        'type' => 'request_rec *'
  +        'type' => 'const char **',
  +        'name' => 'pbuf'
         },
         {
  -        'name' => 'pdoc',
  -        'type' => 'apr_xml_doc **'
  +        'type' => 'apr_size_t *',
  +        'name' => 'psize'
         }
  -    ],
  -    'name' => 'ap_xml_parse_input'
  +    ]
     }
   ];
   
  
  
  
  1.10      +1757 -1798modperl-2.0/xs/tables/current/Apache/StructureTable.pm
  
  Index: StructureTable.pm
  ===================================================================
  RCS file: /home/cvs/modperl-2.0/xs/tables/current/Apache/StructureTable.pm,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  --- StructureTable.pm	2001/06/15 03:58:12	1.9
  +++ StructureTable.pm	2001/06/28 17:32:51	1.10
  @@ -2,2953 +2,2912 @@
   
   # !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
   # ! WARNING: generated by Apache::ParseSource/0.02
  -# !          Thu Jun 14 20:28:42 2001
  +# !          Thu Jun 28 10:21:07 2001
   # !          do NOT edit, any changes will be lost !
   # !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
   
   $Apache::StructureTable = [
     {
  -    'elts' => [],
  -    'type' => 'apr_pool_t'
  +    'type' => 'ap_HOOK_access_checker_t',
  +    'elts' => []
     },
     {
  -    'elts' => [
  -      {
  -        'name' => 'data',
  -        'type' => 'unsigned char[16]'
  -      }
  -    ],
  -    'type' => 'apr_uuid_t'
  +    'type' => 'ap_HOOK_auth_checker_t',
  +    'elts' => []
  +  },
  +  {
  +    'type' => 'ap_HOOK_check_user_id_t',
  +    'elts' => []
  +  },
  +  {
  +    'type' => 'ap_HOOK_child_init_t',
  +    'elts' => []
  +  },
  +  {
  +    'type' => 'ap_HOOK_create_request_t',
  +    'elts' => []
  +  },
  +  {
  +    'type' => 'ap_HOOK_default_port_t',
  +    'elts' => []
  +  },
  +  {
  +    'type' => 'ap_HOOK_error_log_t',
  +    'elts' => []
  +  },
  +  {
  +    'type' => 'ap_HOOK_fixups_t',
  +    'elts' => []
  +  },
  +  {
  +    'type' => 'ap_HOOK_get_mgmt_items_t',
  +    'elts' => []
  +  },
  +  {
  +    'type' => 'ap_HOOK_get_suexec_identity_t',
  +    'elts' => []
  +  },
  +  {
  +    'type' => 'ap_HOOK_handler_t',
  +    'elts' => []
  +  },
  +  {
  +    'type' => 'ap_HOOK_header_parser_t',
  +    'elts' => []
  +  },
  +  {
  +    'type' => 'ap_HOOK_http_method_t',
  +    'elts' => []
  +  },
  +  {
  +    'type' => 'ap_HOOK_insert_filter_t',
  +    'elts' => []
  +  },
  +  {
  +    'type' => 'ap_HOOK_log_transaction_t',
  +    'elts' => []
  +  },
  +  {
  +    'type' => 'ap_HOOK_open_logs_t',
  +    'elts' => []
  +  },
  +  {
  +    'type' => 'ap_HOOK_optional_fn_retrieve_t',
  +    'elts' => []
  +  },
  +  {
  +    'type' => 'ap_HOOK_post_config_t',
  +    'elts' => []
  +  },
  +  {
  +    'type' => 'ap_HOOK_post_read_request_t',
  +    'elts' => []
  +  },
  +  {
  +    'type' => 'ap_HOOK_pre_config_t',
  +    'elts' => []
  +  },
  +  {
  +    'type' => 'ap_HOOK_pre_connection_t',
  +    'elts' => []
  +  },
  +  {
  +    'type' => 'ap_HOOK_process_connection_t',
  +    'elts' => []
  +  },
  +  {
  +    'type' => 'ap_HOOK_quick_handler_t',
  +    'elts' => []
  +  },
  +  {
  +    'type' => 'ap_HOOK_translate_name_t',
  +    'elts' => []
  +  },
  +  {
  +    'type' => 'ap_HOOK_type_checker_t',
  +    'elts' => []
     },
     {
  +    'type' => 'ap_LINK_access_checker_t',
       'elts' => [
         {
  -        'name' => 'link',
  -        'type' => '_ANON 62'
  +        'type' => 'ap_HOOK_access_checker_t *',
  +        'name' => 'pFunc'
         },
         {
  -        'name' => 'type',
  -        'type' => 'const apr_bucket_type_t *'
  +        'type' => 'const char *',
  +        'name' => 'szName'
         },
         {
  -        'name' => 'length',
  -        'type' => 'apr_off_t'
  +        'type' => 'const char * const *',
  +        'name' => 'aszPredecessors'
         },
         {
  -        'name' => 'start',
  -        'type' => 'apr_off_t'
  +        'type' => 'const char * const *',
  +        'name' => 'aszSuccessors'
         },
         {
  -        'name' => 'data',
  -        'type' => 'void *'
  +        'type' => 'int',
  +        'name' => 'nOrder'
         }
  -    ],
  -    'type' => 'apr_bucket'
  -  },
  -  {
  -    'elts' => [],
  -    'type' => 'ap_HOOK_post_config_t'
  -  },
  -  {
  -    'elts' => [],
  -    'type' => 'apr_interface_e'
  +    ]
     },
     {
  +    'type' => 'ap_LINK_auth_checker_t',
       'elts' => [
  +      {
  +        'type' => 'ap_HOOK_auth_checker_t *',
  +        'name' => 'pFunc'
  +      },
  +      {
  +        'type' => 'const char *',
  +        'name' => 'szName'
  +      },
  +      {
  +        'type' => 'const char * const *',
  +        'name' => 'aszPredecessors'
  +      },
         {
  -        'name' => 'tv_sec',
  -        'type' => '__time_t'
  +        'type' => 'const char * const *',
  +        'name' => 'aszSuccessors'
         },
         {
  -        'name' => 'tv_usec',
  -        'type' => '__suseconds_t'
  +        'type' => 'int',
  +        'name' => 'nOrder'
         }
  -    ],
  -    'type' => 'apr_os_imp_time_t'
  +    ]
     },
     {
  +    'type' => 'ap_LINK_check_user_id_t',
       'elts' => [
         {
  -        'name' => 'pFunc',
  -        'type' => 'ap_HOOK_get_suexec_identity_t *'
  +        'type' => 'ap_HOOK_check_user_id_t *',
  +        'name' => 'pFunc'
         },
         {
  -        'name' => 'szName',
  -        'type' => 'const char *'
  +        'type' => 'const char *',
  +        'name' => 'szName'
         },
         {
  -        'name' => 'aszPredecessors',
  -        'type' => 'const char * const *'
  +        'type' => 'const char * const *',
  +        'name' => 'aszPredecessors'
         },
         {
  -        'name' => 'aszSuccessors',
  -        'type' => 'const char * const *'
  +        'type' => 'const char * const *',
  +        'name' => 'aszSuccessors'
         },
         {
  -        'name' => 'nOrder',
  -        'type' => 'int'
  +        'type' => 'int',
  +        'name' => 'nOrder'
         }
  -    ],
  -    'type' => 'ap_LINK_get_suexec_identity_t'
  +    ]
     },
     {
  +    'type' => 'ap_LINK_child_init_t',
       'elts' => [
         {
  -        'name' => 'pFunc',
  -        'type' => 'ap_HOOK_http_method_t *'
  +        'type' => 'ap_HOOK_child_init_t *',
  +        'name' => 'pFunc'
         },
         {
  -        'name' => 'szName',
  -        'type' => 'const char *'
  +        'type' => 'const char *',
  +        'name' => 'szName'
         },
         {
  -        'name' => 'aszPredecessors',
  -        'type' => 'const char * const *'
  +        'type' => 'const char * const *',
  +        'name' => 'aszPredecessors'
         },
         {
  -        'name' => 'aszSuccessors',
  -        'type' => 'const char * const *'
  +        'type' => 'const char * const *',
  +        'name' => 'aszSuccessors'
         },
         {
  -        'name' => 'nOrder',
  -        'type' => 'int'
  +        'type' => 'int',
  +        'name' => 'nOrder'
         }
  -    ],
  -    'type' => 'ap_LINK_http_method_t'
  +    ]
     },
     {
  +    'type' => 'ap_LINK_create_request_t',
       'elts' => [
         {
  -        'name' => 'pool',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'ap_HOOK_create_request_t *',
  +        'name' => 'pFunc'
         },
         {
  -        'name' => 'pconf',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'const char *',
  +        'name' => 'szName'
         },
         {
  -        'name' => 'argc',
  -        'type' => 'int'
  +        'type' => 'const char * const *',
  +        'name' => 'aszPredecessors'
         },
         {
  -        'name' => 'argv',
  -        'type' => 'const char * const *'
  +        'type' => 'const char * const *',
  +        'name' => 'aszSuccessors'
         },
         {
  -        'name' => 'short_name',
  -        'type' => 'const char *'
  +        'type' => 'int',
  +        'name' => 'nOrder'
         }
  -    ],
  -    'type' => 'process_rec'
  -  },
  -  {
  -    'elts' => [],
  -    'type' => 'ap_HOOK_optional_fn_retrieve_t'
  +    ]
     },
     {
  +    'type' => 'ap_LINK_default_port_t',
       'elts' => [
  +      {
  +        'type' => 'ap_HOOK_default_port_t *',
  +        'name' => 'pFunc'
  +      },
  +      {
  +        'type' => 'const char *',
  +        'name' => 'szName'
  +      },
  +      {
  +        'type' => 'const char * const *',
  +        'name' => 'aszPredecessors'
  +      },
         {
  -        'name' => 'dptr',
  -        'type' => 'char *'
  +        'type' => 'const char * const *',
  +        'name' => 'aszSuccessors'
         },
         {
  -        'name' => 'dsize',
  -        'type' => 'apr_size_t'
  +        'type' => 'int',
  +        'name' => 'nOrder'
         }
  -    ],
  -    'type' => 'apr_datum_t'
  -  },
  -  {
  -    'elts' => [],
  -    'type' => 'apr_time_t'
  +    ]
     },
     {
  +    'type' => 'ap_LINK_error_log_t',
       'elts' => [
  -      {
  -        'name' => 'pool',
  -        'type' => 'apr_pool_t *'
  -      },
         {
  -        'name' => 'connection',
  -        'type' => 'conn_rec *'
  +        'type' => 'ap_HOOK_error_log_t *',
  +        'name' => 'pFunc'
         },
         {
  -        'name' => 'server',
  -        'type' => 'server_rec *'
  +        'type' => 'const char *',
  +        'name' => 'szName'
         },
         {
  -        'name' => 'next',
  -        'type' => 'request_rec *'
  +        'type' => 'const char * const *',
  +        'name' => 'aszPredecessors'
         },
         {
  -        'name' => 'prev',
  -        'type' => 'request_rec *'
  +        'type' => 'const char * const *',
  +        'name' => 'aszSuccessors'
         },
         {
  -        'name' => 'main',
  -        'type' => 'request_rec *'
  -      },
  +        'type' => 'int',
  +        'name' => 'nOrder'
  +      }
  +    ]
  +  },
  +  {
  +    'type' => 'ap_LINK_fixups_t',
  +    'elts' => [
         {
  -        'name' => 'the_request',
  -        'type' => 'char *'
  +        'type' => 'ap_HOOK_fixups_t *',
  +        'name' => 'pFunc'
         },
         {
  -        'name' => 'assbackwards',
  -        'type' => 'int'
  +        'type' => 'const char *',
  +        'name' => 'szName'
         },
         {
  -        'name' => 'proxyreq',
  -        'type' => 'int'
  +        'type' => 'const char * const *',
  +        'name' => 'aszPredecessors'
         },
         {
  -        'name' => 'header_only',
  -        'type' => 'int'
  +        'type' => 'const char * const *',
  +        'name' => 'aszSuccessors'
         },
         {
  -        'name' => 'protocol',
  -        'type' => 'char *'
  -      },
  +        'type' => 'int',
  +        'name' => 'nOrder'
  +      }
  +    ]
  +  },
  +  {
  +    'type' => 'ap_LINK_get_mgmt_items_t',
  +    'elts' => [
         {
  -        'name' => 'proto_num',
  -        'type' => 'int'
  +        'type' => 'ap_HOOK_get_mgmt_items_t *',
  +        'name' => 'pFunc'
         },
         {
  -        'name' => 'hostname',
  -        'type' => 'const char *'
  +        'type' => 'const char *',
  +        'name' => 'szName'
         },
         {
  -        'name' => 'request_time',
  -        'type' => 'apr_time_t'
  +        'type' => 'const char * const *',
  +        'name' => 'aszPredecessors'
         },
         {
  -        'name' => 'status_line',
  -        'type' => 'const char *'
  +        'type' => 'const char * const *',
  +        'name' => 'aszSuccessors'
         },
         {
  -        'name' => 'status',
  -        'type' => 'int'
  -      },
  +        'type' => 'int',
  +        'name' => 'nOrder'
  +      }
  +    ]
  +  },
  +  {
  +    'type' => 'ap_LINK_get_suexec_identity_t',
  +    'elts' => [
         {
  -        'name' => 'method',
  -        'type' => 'const char *'
  +        'type' => 'ap_HOOK_get_suexec_identity_t *',
  +        'name' => 'pFunc'
         },
         {
  -        'name' => 'method_number',
  -        'type' => 'int'
  +        'type' => 'const char *',
  +        'name' => 'szName'
         },
         {
  -        'name' => 'allowed',
  -        'type' => 'int'
  +        'type' => 'const char * const *',
  +        'name' => 'aszPredecessors'
         },
         {
  -        'name' => 'allowed_xmethods',
  -        'type' => 'apr_array_header_t *'
  +        'type' => 'const char * const *',
  +        'name' => 'aszSuccessors'
         },
         {
  -        'name' => 'allowed_methods',
  -        'type' => 'ap_method_list_t *'
  -      },
  +        'type' => 'int',
  +        'name' => 'nOrder'
  +      }
  +    ]
  +  },
  +  {
  +    'type' => 'ap_LINK_handler_t',
  +    'elts' => [
         {
  -        'name' => 'sent_bodyct',
  -        'type' => 'int'
  +        'type' => 'ap_HOOK_handler_t *',
  +        'name' => 'pFunc'
         },
         {
  -        'name' => 'bytes_sent',
  -        'type' => 'long'
  +        'type' => 'const char *',
  +        'name' => 'szName'
         },
         {
  -        'name' => 'mtime',
  -        'type' => 'apr_time_t'
  +        'type' => 'const char * const *',
  +        'name' => 'aszPredecessors'
         },
         {
  -        'name' => 'chunked',
  -        'type' => 'int'
  +        'type' => 'const char * const *',
  +        'name' => 'aszSuccessors'
         },
         {
  -        'name' => 'boundary',
  -        'type' => 'const char *'
  -      },
  +        'type' => 'int',
  +        'name' => 'nOrder'
  +      }
  +    ]
  +  },
  +  {
  +    'type' => 'ap_LINK_header_parser_t',
  +    'elts' => [
         {
  -        'name' => 'range',
  -        'type' => 'const char *'
  +        'type' => 'ap_HOOK_header_parser_t *',
  +        'name' => 'pFunc'
         },
         {
  -        'name' => 'clength',
  -        'type' => 'apr_off_t'
  +        'type' => 'const char *',
  +        'name' => 'szName'
         },
         {
  -        'name' => 'remaining',
  -        'type' => 'apr_size_t'
  +        'type' => 'const char * const *',
  +        'name' => 'aszPredecessors'
         },
         {
  -        'name' => 'read_length',
  -        'type' => 'long'
  +        'type' => 'const char * const *',
  +        'name' => 'aszSuccessors'
         },
         {
  -        'name' => 'read_body',
  -        'type' => 'int'
  -      },
  +        'type' => 'int',
  +        'name' => 'nOrder'
  +      }
  +    ]
  +  },
  +  {
  +    'type' => 'ap_LINK_http_method_t',
  +    'elts' => [
         {
  -        'name' => 'read_chunked',
  -        'type' => 'int'
  +        'type' => 'ap_HOOK_http_method_t *',
  +        'name' => 'pFunc'
         },
         {
  -        'name' => 'expecting_100',
  -        'type' => 'unsigned'
  +        'type' => 'const char *',
  +        'name' => 'szName'
         },
         {
  -        'name' => 'headers_in',
  -        'type' => 'apr_table_t *'
  +        'type' => 'const char * const *',
  +        'name' => 'aszPredecessors'
         },
         {
  -        'name' => 'headers_out',
  -        'type' => 'apr_table_t *'
  +        'type' => 'const char * const *',
  +        'name' => 'aszSuccessors'
         },
         {
  -        'name' => 'err_headers_out',
  -        'type' => 'apr_table_t *'
  -      },
  +        'type' => 'int',
  +        'name' => 'nOrder'
  +      }
  +    ]
  +  },
  +  {
  +    'type' => 'ap_LINK_insert_filter_t',
  +    'elts' => [
         {
  -        'name' => 'subprocess_env',
  -        'type' => 'apr_table_t *'
  +        'type' => 'ap_HOOK_insert_filter_t *',
  +        'name' => 'pFunc'
         },
         {
  -        'name' => 'notes',
  -        'type' => 'apr_table_t *'
  +        'type' => 'const char *',
  +        'name' => 'szName'
         },
         {
  -        'name' => 'content_type',
  -        'type' => 'const char *'
  +        'type' => 'const char * const *',
  +        'name' => 'aszPredecessors'
         },
         {
  -        'name' => 'handler',
  -        'type' => 'const char *'
  +        'type' => 'const char * const *',
  +        'name' => 'aszSuccessors'
         },
         {
  -        'name' => 'content_encoding',
  -        'type' => 'const char *'
  -      },
  +        'type' => 'int',
  +        'name' => 'nOrder'
  +      }
  +    ]
  +  },
  +  {
  +    'type' => 'ap_LINK_log_transaction_t',
  +    'elts' => [
         {
  -        'name' => 'content_language',
  -        'type' => 'const char *'
  +        'type' => 'ap_HOOK_log_transaction_t *',
  +        'name' => 'pFunc'
         },
         {
  -        'name' => 'content_languages',
  -        'type' => 'apr_array_header_t *'
  +        'type' => 'const char *',
  +        'name' => 'szName'
         },
         {
  -        'name' => 'vlist_validator',
  -        'type' => 'char *'
  +        'type' => 'const char * const *',
  +        'name' => 'aszPredecessors'
         },
         {
  -        'name' => 'user',
  -        'type' => 'char *'
  +        'type' => 'const char * const *',
  +        'name' => 'aszSuccessors'
         },
         {
  -        'name' => 'ap_auth_type',
  -        'type' => 'char *'
  -      },
  +        'type' => 'int',
  +        'name' => 'nOrder'
  +      }
  +    ]
  +  },
  +  {
  +    'type' => 'ap_LINK_open_logs_t',
  +    'elts' => [
         {
  -        'name' => 'no_cache',
  -        'type' => 'int'
  +        'type' => 'ap_HOOK_open_logs_t *',
  +        'name' => 'pFunc'
         },
         {
  -        'name' => 'no_local_copy',
  -        'type' => 'int'
  +        'type' => 'const char *',
  +        'name' => 'szName'
         },
         {
  -        'name' => 'unparsed_uri',
  -        'type' => 'char *'
  +        'type' => 'const char * const *',
  +        'name' => 'aszPredecessors'
         },
         {
  -        'name' => 'uri',
  -        'type' => 'char *'
  +        'type' => 'const char * const *',
  +        'name' => 'aszSuccessors'
         },
         {
  -        'name' => 'filename',
  -        'type' => 'char *'
  -      },
  +        'type' => 'int',
  +        'name' => 'nOrder'
  +      }
  +    ]
  +  },
  +  {
  +    'type' => 'ap_LINK_optional_fn_retrieve_t',
  +    'elts' => [
         {
  -        'name' => 'path_info',
  -        'type' => 'char *'
  +        'type' => 'ap_HOOK_optional_fn_retrieve_t *',
  +        'name' => 'pFunc'
         },
         {
  -        'name' => 'args',
  -        'type' => 'char *'
  +        'type' => 'const char *',
  +        'name' => 'szName'
         },
         {
  -        'name' => 'finfo',
  -        'type' => 'apr_finfo_t'
  +        'type' => 'const char * const *',
  +        'name' => 'aszPredecessors'
         },
         {
  -        'name' => 'parsed_uri',
  -        'type' => 'apr_uri_components'
  +        'type' => 'const char * const *',
  +        'name' => 'aszSuccessors'
         },
         {
  -        'name' => 'per_dir_config',
  -        'type' => 'ap_conf_vector_t *'
  -      },
  +        'type' => 'int',
  +        'name' => 'nOrder'
  +      }
  +    ]
  +  },
  +  {
  +    'type' => 'ap_LINK_post_config_t',
  +    'elts' => [
         {
  -        'name' => 'request_config',
  -        'type' => 'ap_conf_vector_t *'
  +        'type' => 'ap_HOOK_post_config_t *',
  +        'name' => 'pFunc'
         },
         {
  -        'name' => 'htaccess',
  -        'type' => 'const struct htaccess_result *'
  +        'type' => 'const char *',
  +        'name' => 'szName'
         },
         {
  -        'name' => 'output_filters',
  -        'type' => 'ap_filter_t *'
  +        'type' => 'const char * const *',
  +        'name' => 'aszPredecessors'
         },
         {
  -        'name' => 'input_filters',
  -        'type' => 'ap_filter_t *'
  +        'type' => 'const char * const *',
  +        'name' => 'aszSuccessors'
         },
         {
  -        'name' => 'eos_sent',
  -        'type' => 'int'
  +        'type' => 'int',
  +        'name' => 'nOrder'
         }
  -    ],
  -    'type' => 'request_rec'
  -  },
  -  {
  -    'elts' => [],
  -    'type' => 'ap_HOOK_create_request_t'
  +    ]
     },
     {
  -    'elts' => [],
  -    'type' => 'apr_threadkey_t'
  -  },
  -  {
  -    'elts' => [],
  -    'type' => 'apr_uint64_t'
  -  },
  -  {
  +    'type' => 'ap_LINK_post_read_request_t',
       'elts' => [
         {
  -        'name' => 'pFunc',
  -        'type' => 'ap_HOOK_open_logs_t *'
  +        'type' => 'ap_HOOK_post_read_request_t *',
  +        'name' => 'pFunc'
         },
         {
  -        'name' => 'szName',
  -        'type' => 'const char *'
  +        'type' => 'const char *',
  +        'name' => 'szName'
         },
         {
  -        'name' => 'aszPredecessors',
  -        'type' => 'const char * const *'
  +        'type' => 'const char * const *',
  +        'name' => 'aszPredecessors'
         },
         {
  -        'name' => 'aszSuccessors',
  -        'type' => 'const char * const *'
  +        'type' => 'const char * const *',
  +        'name' => 'aszSuccessors'
         },
         {
  -        'name' => 'nOrder',
  -        'type' => 'int'
  +        'type' => 'int',
  +        'name' => 'nOrder'
         }
  -    ],
  -    'type' => 'ap_LINK_open_logs_t'
  +    ]
     },
     {
  -    'elts' => [],
  -    'type' => 'apr_readerwriter_e'
  -  },
  -  {
  +    'type' => 'ap_LINK_pre_config_t',
       'elts' => [
  +      {
  +        'type' => 'ap_HOOK_pre_config_t *',
  +        'name' => 'pFunc'
  +      },
         {
  -        'name' => 'dptr',
  -        'type' => 'char *'
  +        'type' => 'const char *',
  +        'name' => 'szName'
         },
         {
  -        'name' => 'dsize',
  -        'type' => 'int'
  +        'type' => 'const char * const *',
  +        'name' => 'aszPredecessors'
  +      },
  +      {
  +        'type' => 'const char * const *',
  +        'name' => 'aszSuccessors'
  +      },
  +      {
  +        'type' => 'int',
  +        'name' => 'nOrder'
         }
  -    ],
  -    'type' => 'apr_sdbm_datum_t'
  -  },
  -  {
  -    'elts' => [],
  -    'type' => 'apr_port_t'
  -  },
  -  {
  -    'elts' => [],
  -    'type' => 'ap_conf_vector_t'
  +    ]
     },
     {
  +    'type' => 'ap_LINK_pre_connection_t',
       'elts' => [
         {
  -        'name' => 'frec',
  -        'type' => 'ap_filter_rec_t *'
  +        'type' => 'ap_HOOK_pre_connection_t *',
  +        'name' => 'pFunc'
         },
         {
  -        'name' => 'ctx',
  -        'type' => 'void *'
  +        'type' => 'const char *',
  +        'name' => 'szName'
         },
         {
  -        'name' => 'next',
  -        'type' => 'ap_filter_t *'
  +        'type' => 'const char * const *',
  +        'name' => 'aszPredecessors'
         },
         {
  -        'name' => 'r',
  -        'type' => 'request_rec *'
  +        'type' => 'const char * const *',
  +        'name' => 'aszSuccessors'
         },
         {
  -        'name' => 'c',
  -        'type' => 'conn_rec *'
  +        'type' => 'int',
  +        'name' => 'nOrder'
         }
  -    ],
  -    'type' => 'ap_filter_t'
  +    ]
     },
     {
  -    'elts' => [],
  -    'type' => 'apr_uid_t'
  -  },
  -  {
  -    'elts' => [],
  -    'type' => 'apr_seek_where_t'
  -  },
  -  {
  -    'elts' => [],
  -    'type' => 'apr_read_type_e'
  -  },
  -  {
  -    'elts' => [],
  -    'type' => 'apr_off_t'
  -  },
  -  {
  +    'type' => 'ap_LINK_process_connection_t',
       'elts' => [
         {
  -        'name' => 'tm_sec',
  -        'type' => 'int'
  +        'type' => 'ap_HOOK_process_connection_t *',
  +        'name' => 'pFunc'
         },
         {
  -        'name' => 'tm_min',
  -        'type' => 'int'
  +        'type' => 'const char *',
  +        'name' => 'szName'
         },
         {
  -        'name' => 'tm_hour',
  -        'type' => 'int'
  +        'type' => 'const char * const *',
  +        'name' => 'aszPredecessors'
         },
         {
  -        'name' => 'tm_mday',
  -        'type' => 'int'
  +        'type' => 'const char * const *',
  +        'name' => 'aszSuccessors'
         },
         {
  -        'name' => 'tm_mon',
  -        'type' => 'int'
  -      },
  -      {
  -        'name' => 'tm_year',
  -        'type' => 'int'
  -      },
  +        'type' => 'int',
  +        'name' => 'nOrder'
  +      }
  +    ]
  +  },
  +  {
  +    'type' => 'ap_LINK_quick_handler_t',
  +    'elts' => [
         {
  -        'name' => 'tm_wday',
  -        'type' => 'int'
  +        'type' => 'ap_HOOK_quick_handler_t *',
  +        'name' => 'pFunc'
         },
         {
  -        'name' => 'tm_yday',
  -        'type' => 'int'
  +        'type' => 'const char *',
  +        'name' => 'szName'
         },
         {
  -        'name' => 'tm_isdst',
  -        'type' => 'int'
  +        'type' => 'const char * const *',
  +        'name' => 'aszPredecessors'
         },
         {
  -        'name' => 'tm_gmtoff',
  -        'type' => 'long int'
  +        'type' => 'const char * const *',
  +        'name' => 'aszSuccessors'
         },
         {
  -        'name' => 'tm_zone',
  -        'type' => '__const char *'
  +        'type' => 'int',
  +        'name' => 'nOrder'
         }
  -    ],
  -    'type' => 'apr_os_exp_time_t'
  +    ]
     },
     {
  +    'type' => 'ap_LINK_translate_name_t',
       'elts' => [
  +      {
  +        'type' => 'ap_HOOK_translate_name_t *',
  +        'name' => 'pFunc'
  +      },
         {
  -        'name' => 'name',
  -        'type' => 'const char *'
  +        'type' => 'const char *',
  +        'name' => 'szName'
         },
         {
  -        'name' => 'filter_func',
  -        'type' => 'ap_filter_func'
  +        'type' => 'const char * const *',
  +        'name' => 'aszPredecessors'
         },
         {
  -        'name' => 'ftype',
  -        'type' => 'ap_filter_type'
  +        'type' => 'const char * const *',
  +        'name' => 'aszSuccessors'
         },
         {
  -        'name' => 'next',
  -        'type' => 'ap_filter_rec_t *'
  +        'type' => 'int',
  +        'name' => 'nOrder'
         }
  -    ],
  -    'type' => 'ap_filter_rec_t'
  +    ]
     },
     {
  +    'type' => 'ap_LINK_type_checker_t',
       'elts' => [
  +      {
  +        'type' => 'ap_HOOK_type_checker_t *',
  +        'name' => 'pFunc'
  +      },
         {
  -        'name' => 'dir',
  -        'type' => 'const char *'
  +        'type' => 'const char *',
  +        'name' => 'szName'
         },
         {
  -        'name' => 'override',
  -        'type' => 'int'
  +        'type' => 'const char * const *',
  +        'name' => 'aszPredecessors'
         },
         {
  -        'name' => 'htaccess',
  -        'type' => 'ap_conf_vector_t *'
  +        'type' => 'const char * const *',
  +        'name' => 'aszSuccessors'
         },
         {
  -        'name' => 'next',
  -        'type' => 'const struct htaccess_result *'
  +        'type' => 'int',
  +        'name' => 'nOrder'
         }
  -    ],
  -    'type' => 'htaccess_result'
  +    ]
     },
     {
  -    'elts' => [],
  -    'type' => 'ap_in_filter_func'
  +    'type' => 'ap_bucket_error',
  +    'elts' => [
  +      {
  +        'type' => 'int',
  +        'name' => 'status'
  +      },
  +      {
  +        'type' => 'const char *',
  +        'name' => 'data'
  +      }
  +    ]
     },
     {
  -    'elts' => [],
  -    'type' => 'apr_os_file_t'
  +    'type' => 'ap_conf_vector_t',
  +    'elts' => []
     },
     {
  +    'type' => 'ap_configfile_t',
       'elts' => [
         {
  -        'name' => 'scheme',
  -        'type' => 'char *'
  +        'type' => 'int(*) (void *param)',
  +        'name' => 'getch'
         },
         {
  -        'name' => 'hostinfo',
  -        'type' => 'char *'
  +        'type' => 'void *(*) (void *buf, size_t bufsiz, void *param)',
  +        'name' => 'getstr'
         },
         {
  -        'name' => 'user',
  -        'type' => 'char *'
  +        'type' => 'int(*) (void *param)',
  +        'name' => 'close'
         },
         {
  -        'name' => 'password',
  -        'type' => 'char *'
  +        'type' => 'void *',
  +        'name' => 'param'
         },
         {
  -        'name' => 'hostname',
  -        'type' => 'char *'
  +        'type' => 'const char *',
  +        'name' => 'name'
         },
         {
  -        'name' => 'port_str',
  -        'type' => 'char *'
  -      },
  +        'type' => 'unsigned',
  +        'name' => 'line_number'
  +      }
  +    ]
  +  },
  +  {
  +    'type' => 'ap_directive_t',
  +    'elts' => [
         {
  -        'name' => 'path',
  -        'type' => 'char *'
  +        'type' => 'const char *',
  +        'name' => 'directive'
         },
         {
  -        'name' => 'query',
  -        'type' => 'char *'
  +        'type' => 'const char *',
  +        'name' => 'args'
         },
         {
  -        'name' => 'fragment',
  -        'type' => 'char *'
  +        'type' => 'ap_directive_t *',
  +        'name' => 'next'
         },
         {
  -        'name' => 'hostent',
  -        'type' => 'hostent *'
  +        'type' => 'ap_directive_t *',
  +        'name' => 'first_child'
         },
         {
  -        'name' => 'port',
  -        'type' => 'apr_port_t'
  +        'type' => 'ap_directive_t *',
  +        'name' => 'parent'
         },
         {
  -        'name' => 'is_initialized',
  -        'type' => 'unsigned'
  +        'type' => 'void *',
  +        'name' => 'data'
         },
         {
  -        'name' => 'dns_looked_up',
  -        'type' => 'unsigned'
  +        'type' => 'const char *',
  +        'name' => 'filename'
         },
         {
  -        'name' => 'dns_resolved',
  -        'type' => 'unsigned'
  +        'type' => 'int',
  +        'name' => 'line_num'
         }
  -    ],
  -    'type' => 'uri_components'
  +    ]
     },
     {
  +    'type' => 'ap_filter_func',
       'elts' => [
  -      {
  -        'name' => 'state',
  -        'type' => 'apr_uint32_t[4]'
  -      },
  -      {
  -        'name' => 'count',
  -        'type' => 'apr_uint32_t[2]'
  -      },
         {
  -        'name' => 'buffer',
  -        'type' => 'unsigned char[64]'
  +        'type' => 'ap_out_filter_func',
  +        'name' => 'out_func'
         },
         {
  -        'name' => 'xlate',
  -        'type' => 'apr_xlate_t *'
  +        'type' => 'ap_in_filter_func',
  +        'name' => 'in_func'
         }
  -    ],
  -    'type' => 'apr_md5_ctx_t'
  -  },
  -  {
  -    'elts' => [],
  -    'type' => 'ap_HOOK_fixups_t'
  -  },
  -  {
  -    'elts' => [],
  -    'type' => 'apr_int64_t'
  +    ]
     },
     {
  +    'type' => 'ap_filter_rec_t',
       'elts' => [
         {
  -        'name' => 'p',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'const char *',
  +        'name' => 'name'
         },
         {
  -        'name' => 'fds',
  -        'type' => 'apr_file_t *[2]'
  +        'type' => 'ap_filter_func',
  +        'name' => 'filter_func'
         },
         {
  -        'name' => 'program',
  -        'type' => 'char *'
  +        'type' => 'ap_filter_type',
  +        'name' => 'ftype'
         },
         {
  -        'name' => 'pid',
  -        'type' => 'apr_proc_t *'
  +        'type' => 'ap_filter_rec_t *',
  +        'name' => 'next'
         }
  -    ],
  -    'type' => 'piped_log'
  +    ]
     },
     {
  +    'type' => 'ap_filter_t',
       'elts' => [
         {
  -        'name' => 'pFunc',
  -        'type' => 'ap_HOOK_error_log_t *'
  +        'type' => 'ap_filter_rec_t *',
  +        'name' => 'frec'
         },
         {
  -        'name' => 'szName',
  -        'type' => 'const char *'
  +        'type' => 'void *',
  +        'name' => 'ctx'
         },
         {
  -        'name' => 'aszPredecessors',
  -        'type' => 'const char * const *'
  +        'type' => 'ap_filter_t *',
  +        'name' => 'next'
         },
         {
  -        'name' => 'aszSuccessors',
  -        'type' => 'const char * const *'
  +        'type' => 'request_rec *',
  +        'name' => 'r'
         },
         {
  -        'name' => 'nOrder',
  -        'type' => 'int'
  +        'type' => 'conn_rec *',
  +        'name' => 'c'
         }
  -    ],
  -    'type' => 'ap_LINK_error_log_t'
  +    ]
  +  },
  +  {
  +    'type' => 'ap_filter_type',
  +    'elts' => []
  +  },
  +  {
  +    'type' => 'ap_generation_t',
  +    'elts' => []
  +  },
  +  {
  +    'type' => 'ap_in_filter_func',
  +    'elts' => []
     },
     {
  -    'elts' => [],
  -    'type' => 'apr_cmdtype_e'
  +    'type' => 'ap_input_mode_t',
  +    'elts' => []
     },
     {
  +    'type' => 'ap_method_list_t',
       'elts' => [
         {
  -        'name' => 'key',
  -        'type' => 'char *'
  +        'type' => 'int',
  +        'name' => 'method_mask'
         },
         {
  -        'name' => 'val',
  -        'type' => 'char *'
  +        'type' => 'apr_array_header_t *',
  +        'name' => 'method_list'
         }
  -    ],
  -    'type' => 'apr_table_entry_t'
  -  },
  -  {
  -    'elts' => [],
  -    'type' => 'apr_thread_start_t'
  -  },
  -  {
  -    'elts' => [],
  -    'type' => 'ap_HOOK_auth_checker_t'
  +    ]
     },
     {
  +    'type' => 'ap_mgmt_item_t',
       'elts' => [
         {
  -        'name' => 'next',
  -        'type' => 'server_addr_rec *'
  +        'type' => 'const char *',
  +        'name' => 'description'
         },
         {
  -        'name' => 'host_addr',
  -        'type' => 'apr_sockaddr_t *'
  +        'type' => 'const char *',
  +        'name' => 'name'
         },
         {
  -        'name' => 'host_port',
  -        'type' => 'apr_port_t'
  +        'type' => 'ap_mgmt_type_e',
  +        'name' => 'vtype'
         },
         {
  -        'name' => 'virthost',
  -        'type' => 'char *'
  +        'type' => 'ap_mgmt_value',
  +        'name' => 'v'
         }
  -    ],
  -    'type' => 'server_addr_rec'
  +    ]
  +  },
  +  {
  +    'type' => 'ap_mgmt_type_e',
  +    'elts' => []
     },
     {
  +    'type' => 'ap_mgmt_value',
       'elts' => [
         {
  -        'name' => 's_value',
  -        'type' => 'const char *'
  +        'type' => 'const char *',
  +        'name' => 's_value'
         },
         {
  -        'name' => 'i_value',
  -        'type' => 'long'
  +        'type' => 'long',
  +        'name' => 'i_value'
         },
         {
  -        'name' => 'h_value',
  -        'type' => 'apr_hash_t *'
  +        'type' => 'apr_hash_t *',
  +        'name' => 'h_value'
         }
  -    ],
  -    'type' => 'ap_mgmt_value'
  +    ]
     },
     {
  -    'elts' => [
  -      {
  -        'name' => 'a',
  -        'type' => 'apr_array_header_t'
  -      }
  -    ],
  -    'type' => 'apr_table_t'
  +    'type' => 'ap_out_filter_func',
  +    'elts' => []
     },
     {
  -    'elts' => [
  -      {
  -        'name' => 'refcount',
  -        'type' => 'int'
  -      }
  -    ],
  -    'type' => 'apr_bucket_refcount'
  +    'type' => 'ap_scoreboard_e',
  +    'elts' => []
     },
     {
  +    'type' => 'ap_unix_identity_t',
       'elts' => [
  -      {
  -        'name' => 'pFunc',
  -        'type' => 'ap_HOOK_child_init_t *'
  -      },
  -      {
  -        'name' => 'szName',
  -        'type' => 'const char *'
  -      },
  -      {
  -        'name' => 'aszPredecessors',
  -        'type' => 'const char * const *'
  -      },
         {
  -        'name' => 'aszSuccessors',
  -        'type' => 'const char * const *'
  +        'type' => 'uid_t',
  +        'name' => 'uid'
         },
         {
  -        'name' => 'nOrder',
  -        'type' => 'int'
  +        'type' => 'gid_t',
  +        'name' => 'gid'
         }
  -    ],
  -    'type' => 'ap_LINK_child_init_t'
  +    ]
     },
     {
  -    'elts' => [],
  -    'type' => 'apr_file_t'
  +    'type' => 'apr_abortfunc_t',
  +    'elts' => []
     },
     {
  +    'type' => 'apr_array_header_t',
       'elts' => [
  -      {
  -        'name' => 'name',
  -        'type' => 'const char *'
  -      },
  -      {
  -        'name' => 'ns',
  -        'type' => 'int'
  -      },
         {
  -        'name' => 'lang',
  -        'type' => 'const char *'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'cont'
         },
         {
  -        'name' => 'first_cdata',
  -        'type' => 'apr_text_header'
  +        'type' => 'int',
  +        'name' => 'elt_size'
         },
         {
  -        'name' => 'following_cdata',
  -        'type' => 'apr_text_header'
  +        'type' => 'int',
  +        'name' => 'nelts'
         },
         {
  -        'name' => 'parent',
  -        'type' => 'apr_xml_elem *'
  +        'type' => 'int',
  +        'name' => 'nalloc'
         },
         {
  -        'name' => 'next',
  -        'type' => 'apr_xml_elem *'
  -      },
  +        'type' => 'char *',
  +        'name' => 'elts'
  +      }
  +    ]
  +  },
  +  {
  +    'type' => 'apr_brigade_flush',
  +    'elts' => []
  +  },
  +  {
  +    'type' => 'apr_bucket',
  +    'elts' => [
         {
  -        'name' => 'first_child',
  -        'type' => 'apr_xml_elem *'
  +        'type' => '_ANON 63',
  +        'name' => 'link'
         },
         {
  -        'name' => 'attr',
  -        'type' => 'apr_xml_attr *'
  +        'type' => 'const apr_bucket_type_t *',
  +        'name' => 'type'
         },
         {
  -        'name' => 'last_child',
  -        'type' => 'apr_xml_elem *'
  +        'type' => 'apr_off_t',
  +        'name' => 'length'
         },
         {
  -        'name' => 'ns_scope',
  -        'type' => 'apr_xml_ns_scope *'
  +        'type' => 'apr_off_t',
  +        'name' => 'start'
         },
         {
  -        'name' => 'priv',
  -        'type' => 'void *'
  +        'type' => 'void *',
  +        'name' => 'data'
         }
  -    ],
  -    'type' => 'apr_xml_elem'
  +    ]
     },
     {
  +    'type' => 'apr_bucket_brigade',
       'elts' => [
         {
  -        'name' => 'getch',
  -        'type' => 'int(*) (void *param)'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'p'
         },
         {
  -        'name' => 'getstr',
  -        'type' => 'void *(*) (void *buf, size_t bufsiz, void *param)'
  -      },
  -      {
  -        'name' => 'close',
  -        'type' => 'int(*) (void *param)'
  -      },
  +        'type' => 'apr_bucket_list',
  +        'name' => 'list'
  +      }
  +    ]
  +  },
  +  {
  +    'type' => 'apr_bucket_file',
  +    'elts' => [
         {
  -        'name' => 'param',
  -        'type' => 'void *'
  +        'type' => 'apr_bucket_refcount',
  +        'name' => 'refcount'
         },
         {
  -        'name' => 'name',
  -        'type' => 'const char *'
  +        'type' => 'apr_file_t *',
  +        'name' => 'fd'
         },
         {
  -        'name' => 'line_number',
  -        'type' => 'unsigned'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'readpool'
         }
  -    ],
  -    'type' => 'ap_configfile_t'
  +    ]
     },
     {
  +    'type' => 'apr_bucket_heap',
       'elts' => [
  -      {
  -        'name' => 'name',
  -        'type' => 'const char *'
  -      },
         {
  -        'name' => 'func',
  -        'type' => 'cmd_func'
  +        'type' => 'apr_bucket_refcount',
  +        'name' => 'refcount'
         },
         {
  -        'name' => 'cmd_data',
  -        'type' => 'void *'
  +        'type' => 'char *',
  +        'name' => 'base'
         },
         {
  -        'name' => 'req_override',
  -        'type' => 'int'
  -      },
  +        'type' => 'apr_size_t',
  +        'name' => 'alloc_len'
  +      }
  +    ]
  +  },
  +  {
  +    'type' => 'apr_bucket_mmap',
  +    'elts' => [
         {
  -        'name' => 'args_how',
  -        'type' => 'enum cmd_how'
  +        'type' => 'apr_bucket_refcount',
  +        'name' => 'refcount'
         },
         {
  -        'name' => 'errmsg',
  -        'type' => 'const char *'
  +        'type' => 'apr_mmap_t *',
  +        'name' => 'mmap'
         }
  -    ],
  -    'type' => 'command_rec'
  +    ]
     },
     {
  +    'type' => 'apr_bucket_pool',
       'elts' => [
  -      {
  -        'name' => 'os_sock',
  -        'type' => 'apr_os_sock_t *'
  -      },
         {
  -        'name' => 'local',
  -        'type' => 'sockaddr *'
  +        'type' => 'apr_bucket_heap',
  +        'name' => 'heap'
         },
         {
  -        'name' => 'remote',
  -        'type' => 'sockaddr *'
  +        'type' => 'const char *',
  +        'name' => 'base'
         },
         {
  -        'name' => 'family',
  -        'type' => 'int'
  -      },
  +        'type' => 'apr_pool_t *',
  +        'name' => 'pool'
  +      }
  +    ]
  +  },
  +  {
  +    'type' => 'apr_bucket_refcount',
  +    'elts' => [
         {
  -        'name' => 'type',
  -        'type' => 'int'
  +        'type' => 'int',
  +        'name' => 'refcount'
         }
  -    ],
  -    'type' => 'apr_os_sock_info_t'
  +    ]
     },
     {
  +    'type' => 'apr_bucket_type_t',
       'elts' => [
  +      {
  +        'type' => 'const char *',
  +        'name' => 'name'
  +      },
  +      {
  +        'type' => 'int',
  +        'name' => 'num_func'
  +      },
         {
  -        'name' => 'cont',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'void(*)(void *data)',
  +        'name' => 'destroy'
         },
         {
  -        'name' => 'elt_size',
  -        'type' => 'int'
  +        'type' => 'apr_status_t(*)(apr_bucket *b, const char **str, apr_size_t *len, apr_read_type_e block)',
  +        'name' => 'read'
         },
         {
  -        'name' => 'nelts',
  -        'type' => 'int'
  +        'type' => 'apr_status_t(*)(apr_bucket *e, apr_pool_t *pool)',
  +        'name' => 'setaside'
         },
         {
  -        'name' => 'nalloc',
  -        'type' => 'int'
  +        'type' => 'apr_status_t(*)(apr_bucket *e, apr_off_t point)',
  +        'name' => 'split'
         },
         {
  -        'name' => 'elts',
  -        'type' => 'char *'
  +        'type' => 'apr_status_t(*)(apr_bucket *e, apr_bucket **c)',
  +        'name' => 'copy'
         }
  -    ],
  -    'type' => 'apr_array_header_t'
  +    ]
  +  },
  +  {
  +    'type' => 'apr_byte_t',
  +    'elts' => []
     },
     {
  -    'elts' => [],
  -    'type' => 'apr_sigfunc_t'
  +    'type' => 'apr_cmdtype_e',
  +    'elts' => []
     },
     {
  +    'type' => 'apr_datum_t',
       'elts' => [
         {
  -        'name' => 'curpos',
  -        'type' => 'char *'
  +        'type' => 'char *',
  +        'name' => 'dptr'
         },
         {
  -        'name' => 'endpos',
  -        'type' => 'char *'
  +        'type' => 'apr_size_t',
  +        'name' => 'dsize'
         }
  -    ],
  -    'type' => 'apr_vformatter_buff_t'
  +    ]
     },
     {
  -    'elts' => [],
  -    'type' => 'apr_status_t'
  +    'type' => 'apr_dbm_t',
  +    'elts' => []
     },
     {
  -    'elts' => [],
  -    'type' => 'ap_HOOK_type_checker_t'
  +    'type' => 'apr_dev_t',
  +    'elts' => []
     },
     {
  -    'elts' => [
  -      {
  -        'name' => 'refcount',
  -        'type' => 'apr_bucket_refcount'
  -      },
  -      {
  -        'name' => 'fd',
  -        'type' => 'apr_file_t *'
  -      }
  -    ],
  -    'type' => 'apr_bucket_file'
  +    'type' => 'apr_dir_t',
  +    'elts' => []
     },
     {
  -    'elts' => [],
  -    'type' => 'ap_HOOK_get_suexec_identity_t'
  +    'type' => 'apr_dso_handle_sym_t',
  +    'elts' => []
     },
     {
  -    'elts' => [
  -      {
  -        'name' => 'root',
  -        'type' => 'apr_xml_elem *'
  -      },
  -      {
  -        'name' => 'namespaces',
  -        'type' => 'apr_array_header_t *'
  -      }
  -    ],
  -    'type' => 'apr_xml_doc'
  +    'type' => 'apr_dso_handle_t',
  +    'elts' => []
     },
     {
  +    'type' => 'apr_exploded_time_t',
       'elts' => [
  -      {
  -        'name' => 'pool',
  -        'type' => 'apr_pool_t *'
  -      },
         {
  -        'name' => 'base_server',
  -        'type' => 'server_rec *'
  +        'type' => 'apr_int32_t',
  +        'name' => 'tm_usec'
         },
         {
  -        'name' => 'vhost_lookup_data',
  -        'type' => 'void *'
  +        'type' => 'apr_int32_t',
  +        'name' => 'tm_sec'
         },
         {
  -        'name' => 'client_socket',
  -        'type' => 'apr_socket_t *'
  +        'type' => 'apr_int32_t',
  +        'name' => 'tm_min'
         },
         {
  -        'name' => 'local_addr',
  -        'type' => 'apr_sockaddr_t *'
  +        'type' => 'apr_int32_t',
  +        'name' => 'tm_hour'
         },
         {
  -        'name' => 'remote_addr',
  -        'type' => 'apr_sockaddr_t *'
  +        'type' => 'apr_int32_t',
  +        'name' => 'tm_mday'
         },
         {
  -        'name' => 'remote_ip',
  -        'type' => 'char *'
  +        'type' => 'apr_int32_t',
  +        'name' => 'tm_mon'
         },
         {
  -        'name' => 'remote_host',
  -        'type' => 'char *'
  +        'type' => 'apr_int32_t',
  +        'name' => 'tm_year'
         },
         {
  -        'name' => 'remote_logname',
  -        'type' => 'char *'
  +        'type' => 'apr_int32_t',
  +        'name' => 'tm_wday'
         },
         {
  -        'name' => 'aborted',
  -        'type' => 'unsigned'
  +        'type' => 'apr_int32_t',
  +        'name' => 'tm_yday'
         },
         {
  -        'name' => 'keepalive',
  -        'type' => 'signed int'
  +        'type' => 'apr_int32_t',
  +        'name' => 'tm_isdst'
         },
         {
  -        'name' => 'double_reverse',
  -        'type' => 'signed int'
  -      },
  +        'type' => 'apr_int32_t',
  +        'name' => 'tm_gmtoff'
  +      }
  +    ]
  +  },
  +  {
  +    'type' => 'apr_file_t',
  +    'elts' => []
  +  },
  +  {
  +    'type' => 'apr_fileperms_t',
  +    'elts' => []
  +  },
  +  {
  +    'type' => 'apr_filetype_e',
  +    'elts' => []
  +  },
  +  {
  +    'type' => 'apr_finfo_t',
  +    'elts' => [
         {
  -        'name' => 'keepalives',
  -        'type' => 'int'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'cntxt'
         },
         {
  -        'name' => 'local_ip',
  -        'type' => 'char *'
  +        'type' => 'apr_int32_t',
  +        'name' => 'valid'
         },
         {
  -        'name' => 'local_host',
  -        'type' => 'char *'
  +        'type' => 'apr_fileperms_t',
  +        'name' => 'protection'
         },
         {
  -        'name' => 'id',
  -        'type' => 'long'
  +        'type' => 'apr_filetype_e',
  +        'name' => 'filetype'
         },
         {
  -        'name' => 'conn_config',
  -        'type' => 'ap_conf_vector_t *'
  +        'type' => 'apr_uid_t',
  +        'name' => 'user'
         },
         {
  -        'name' => 'notes',
  -        'type' => 'apr_table_t *'
  +        'type' => 'apr_gid_t',
  +        'name' => 'group'
         },
         {
  -        'name' => 'input_filters',
  -        'type' => 'ap_filter_t *'
  +        'type' => 'apr_ino_t',
  +        'name' => 'inode'
         },
         {
  -        'name' => 'output_filters',
  -        'type' => 'ap_filter_t *'
  -      }
  -    ],
  -    'type' => 'conn_rec'
  -  },
  -  {
  -    'elts' => [],
  -    'type' => 'ap_HOOK_pre_config_t'
  -  },
  -  {
  -    'elts' => [],
  -    'type' => 'apr_ino_t'
  -  },
  -  {
  -    'elts' => [
  +        'type' => 'apr_dev_t',
  +        'name' => 'device'
  +      },
  +      {
  +        'type' => 'apr_int32_t',
  +        'name' => 'nlink'
  +      },
  +      {
  +        'type' => 'apr_off_t',
  +        'name' => 'size'
  +      },
         {
  -        'name' => 'method_mask',
  -        'type' => 'int'
  +        'type' => 'apr_off_t',
  +        'name' => 'csize'
         },
         {
  -        'name' => 'method_list',
  -        'type' => 'apr_array_header_t *'
  +        'type' => 'apr_time_t',
  +        'name' => 'atime'
  +      },
  +      {
  +        'type' => 'apr_time_t',
  +        'name' => 'mtime'
  +      },
  +      {
  +        'type' => 'apr_time_t',
  +        'name' => 'ctime'
  +      },
  +      {
  +        'type' => 'const char *',
  +        'name' => 'fname'
  +      },
  +      {
  +        'type' => 'const char *',
  +        'name' => 'name'
  +      },
  +      {
  +        'type' => 'apr_file_t *',
  +        'name' => 'filehand'
         }
  -    ],
  -    'type' => 'ap_method_list_t'
  +    ]
     },
     {
  +    'type' => 'apr_getopt_option_t',
       'elts' => [
  +      {
  +        'type' => 'const char *',
  +        'name' => 'name'
  +      },
         {
  -        'name' => 'uid',
  -        'type' => 'uid_t'
  +        'type' => 'int',
  +        'name' => 'optch'
         },
         {
  -        'name' => 'gid',
  -        'type' => 'gid_t'
  +        'type' => 'int',
  +        'name' => 'has_arg'
         }
  -    ],
  -    'type' => 'ap_unix_identity_t'
  +    ]
     },
     {
  +    'type' => 'apr_getopt_t',
       'elts' => [
         {
  -        'name' => 'pFunc',
  -        'type' => 'ap_HOOK_translate_name_t *'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'cont'
         },
         {
  -        'name' => 'szName',
  -        'type' => 'const char *'
  +        'type' => 'int',
  +        'name' => 'err'
         },
         {
  -        'name' => 'aszPredecessors',
  -        'type' => 'const char * const *'
  +        'type' => 'int',
  +        'name' => 'ind'
         },
         {
  -        'name' => 'aszSuccessors',
  -        'type' => 'const char * const *'
  +        'type' => 'int',
  +        'name' => 'opt'
         },
         {
  -        'name' => 'nOrder',
  -        'type' => 'int'
  -      }
  -    ],
  -    'type' => 'ap_LINK_translate_name_t'
  -  },
  -  {
  -    'elts' => [
  +        'type' => 'int',
  +        'name' => 'reset'
  +      },
  +      {
  +        'type' => 'int',
  +        'name' => 'argc'
  +      },
         {
  -        'name' => 'cntxt',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'const char **',
  +        'name' => 'argv'
         },
         {
  -        'name' => 'mm',
  -        'type' => 'void *'
  +        'type' => 'char const *',
  +        'name' => 'place'
         },
         {
  -        'name' => 'size',
  -        'type' => 'apr_off_t'
  +        'type' => 'int',
  +        'name' => 'interleave'
  +      },
  +      {
  +        'type' => 'int',
  +        'name' => 'skip_start'
  +      },
  +      {
  +        'type' => 'int',
  +        'name' => 'skip_end'
         }
  -    ],
  -    'type' => 'apr_mmap_t'
  +    ]
     },
     {
  -    'elts' => [],
  -    'type' => 'apr_threadattr_t'
  +    'type' => 'apr_gid_t',
  +    'elts' => []
     },
     {
  -    'elts' => [],
  -    'type' => 'ap_HOOK_check_user_id_t'
  +    'type' => 'apr_hash_index_t',
  +    'elts' => []
     },
     {
  -    'elts' => [],
  -    'type' => 'ap_HOOK_get_mgmt_items_t'
  +    'type' => 'apr_hash_t',
  +    'elts' => []
     },
     {
  -    'elts' => [],
  -    'type' => 'apr_uint16_t'
  +    'type' => 'apr_hdtr_t',
  +    'elts' => [
  +      {
  +        'type' => 'iovec *',
  +        'name' => 'headers'
  +      },
  +      {
  +        'type' => 'int',
  +        'name' => 'numheaders'
  +      },
  +      {
  +        'type' => 'iovec *',
  +        'name' => 'trailers'
  +      },
  +      {
  +        'type' => 'int',
  +        'name' => 'numtrailers'
  +      }
  +    ]
     },
     {
  -    'elts' => [],
  -    'type' => 'ap_HOOK_log_transaction_t'
  +    'type' => 'apr_in_addr_t',
  +    'elts' => [
  +      {
  +        'type' => 'in_addr_t',
  +        'name' => 's_addr'
  +      }
  +    ]
     },
     {
  -    'elts' => [],
  -    'type' => 'apr_socket_t'
  +    'type' => 'apr_ino_t',
  +    'elts' => []
     },
     {
  -    'elts' => [],
  -    'type' => 'ap_HOOK_translate_name_t'
  +    'type' => 'apr_int16_t',
  +    'elts' => []
     },
     {
  -    'elts' => [],
  -    'type' => 'apr_brigade_flush'
  +    'type' => 'apr_int32_t',
  +    'elts' => []
     },
     {
  -    'elts' => [],
  -    'type' => 'apr_int32_t'
  +    'type' => 'apr_int64_t',
  +    'elts' => []
     },
     {
  +    'type' => 'apr_interface_e',
  +    'elts' => []
  +  },
  +  {
  +    'type' => 'apr_interval_time_t',
  +    'elts' => []
  +  },
  +  {
  +    'type' => 'apr_ipsubnet_t',
       'elts' => [
  -      {
  -        'name' => 'user_name',
  -        'type' => 'const char *'
  -      },
         {
  -        'name' => 'user_id',
  -        'type' => 'uid_t'
  +        'type' => 'int',
  +        'name' => 'family'
         },
         {
  -        'name' => 'group_id',
  -        'type' => 'gid_t'
  +        'type' => 'apr_uint32_t[4]',
  +        'name' => 'sub'
         },
         {
  -        'name' => 'suexec_enabled',
  -        'type' => 'int'
  +        'type' => 'apr_uint32_t[4]',
  +        'name' => 'mask'
         }
  -    ],
  -    'type' => 'unixd_config_rec'
  +    ]
  +  },
  +  {
  +    'type' => 'apr_lock_t',
  +    'elts' => []
     },
     {
  -    'elts' => [],
  -    'type' => 'apr_xml_parser'
  +    'type' => 'apr_lockmech_e_np',
  +    'elts' => []
     },
     {
  -    'elts' => [],
  -    'type' => 'apr_os_proc_t'
  +    'type' => 'apr_lockscope_e',
  +    'elts' => []
     },
     {
  +    'type' => 'apr_locktype_e',
  +    'elts' => []
  +  },
  +  {
  +    'type' => 'apr_md4_ctx_t',
       'elts' => [
         {
  -        'name' => 'description',
  -        'type' => 'const char *'
  +        'type' => 'apr_uint32_t[4]',
  +        'name' => 'state'
         },
         {
  -        'name' => 'name',
  -        'type' => 'const char *'
  +        'type' => 'apr_uint32_t[2]',
  +        'name' => 'count'
         },
         {
  -        'name' => 'vtype',
  -        'type' => 'ap_mgmt_type_e'
  +        'type' => 'unsigned char[64]',
  +        'name' => 'buffer'
         },
         {
  -        'name' => 'v',
  -        'type' => 'ap_mgmt_value'
  +        'type' => 'apr_xlate_t *',
  +        'name' => 'xlate'
         }
  -    ],
  -    'type' => 'ap_mgmt_item_t'
  -  },
  -  {
  -    'elts' => [],
  -    'type' => 'apr_interval_time_t'
  +    ]
     },
     {
  +    'type' => 'apr_md5_ctx_t',
       'elts' => [
         {
  -        'name' => 'pFunc',
  -        'type' => 'ap_HOOK_create_request_t *'
  +        'type' => 'apr_uint32_t[4]',
  +        'name' => 'state'
         },
         {
  -        'name' => 'szName',
  -        'type' => 'const char *'
  +        'type' => 'apr_uint32_t[2]',
  +        'name' => 'count'
         },
         {
  -        'name' => 'aszPredecessors',
  -        'type' => 'const char * const *'
  +        'type' => 'unsigned char[64]',
  +        'name' => 'buffer'
         },
         {
  -        'name' => 'aszSuccessors',
  -        'type' => 'const char * const *'
  -      },
  -      {
  -        'name' => 'nOrder',
  -        'type' => 'int'
  +        'type' => 'apr_xlate_t *',
  +        'name' => 'xlate'
         }
  -    ],
  -    'type' => 'ap_LINK_create_request_t'
  +    ]
     },
     {
  +    'type' => 'apr_mmap_t',
       'elts' => [
         {
  -        'name' => 'parent_mem_sys',
  -        'type' => 'apr_sms_t *'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'cntxt'
         },
         {
  -        'name' => 'child_mem_sys',
  -        'type' => 'apr_sms_t *'
  +        'type' => 'void *',
  +        'name' => 'mm'
         },
         {
  -        'name' => 'sibling_mem_sys',
  -        'type' => 'apr_sms_t *'
  -      },
  +        'type' => 'apr_off_t',
  +        'name' => 'size'
  +      }
  +    ]
  +  },
  +  {
  +    'type' => 'apr_off_t',
  +    'elts' => []
  +  },
  +  {
  +    'type' => 'apr_os_dir_t',
  +    'elts' => []
  +  },
  +  {
  +    'type' => 'apr_os_dso_handle_t',
  +    'elts' => []
  +  },
  +  {
  +    'type' => 'apr_os_exp_time_t',
  +    'elts' => [
         {
  -        'name' => 'ref_mem_sys',
  -        'type' => 'apr_sms_t **'
  +        'type' => 'int',
  +        'name' => 'tm_sec'
         },
         {
  -        'name' => 'accounting_mem_sys',
  -        'type' => 'apr_sms_t *'
  +        'type' => 'int',
  +        'name' => 'tm_min'
         },
         {
  -        'name' => 'cleanups',
  -        'type' => 'apr_sms_cleanup *'
  +        'type' => 'int',
  +        'name' => 'tm_hour'
         },
         {
  -        'name' => 'malloc_fn',
  -        'type' => 'void *(*)(apr_sms_t *mem_sys, apr_size_t size)'
  +        'type' => 'int',
  +        'name' => 'tm_mday'
         },
         {
  -        'name' => 'calloc_fn',
  -        'type' => 'void *(*)(apr_sms_t *mem_sys, apr_size_t size)'
  +        'type' => 'int',
  +        'name' => 'tm_mon'
         },
         {
  -        'name' => 'realloc_fn',
  -        'type' => 'void *(*)(apr_sms_t *mem_sys, void *memory,
  -                       apr_size_t size)'
  +        'type' => 'int',
  +        'name' => 'tm_year'
         },
         {
  -        'name' => 'free_fn',
  -        'type' => 'apr_status_t(*)(apr_sms_t *mem_sys, void *memory)'
  +        'type' => 'int',
  +        'name' => 'tm_wday'
         },
         {
  -        'name' => 'reset_fn',
  -        'type' => 'apr_status_t(*)(apr_sms_t *mem_sys)'
  +        'type' => 'int',
  +        'name' => 'tm_yday'
         },
         {
  -        'name' => 'pre_destroy_fn',
  -        'type' => 'void(*)(apr_sms_t *mem_sys)'
  +        'type' => 'int',
  +        'name' => 'tm_isdst'
         },
         {
  -        'name' => 'destroy_fn',
  -        'type' => 'apr_status_t(*)(apr_sms_t *mem_sys)'
  +        'type' => 'long int',
  +        'name' => 'tm_gmtoff'
         },
  +      {
  +        'type' => '__const char *',
  +        'name' => 'tm_zone'
  +      }
  +    ]
  +  },
  +  {
  +    'type' => 'apr_os_file_t',
  +    'elts' => []
  +  },
  +  {
  +    'type' => 'apr_os_imp_time_t',
  +    'elts' => [
         {
  -        'name' => 'threadsafe_lock_fn',
  -        'type' => 'void(*)(apr_sms_t *mem_sys)'
  +        'type' => '__time_t',
  +        'name' => 'tv_sec'
         },
         {
  -        'name' => 'threadsafe_unlock_fn',
  -        'type' => 'void(*)(apr_sms_t *mem_sys)'
  +        'type' => '__suseconds_t',
  +        'name' => 'tv_usec'
         }
  -    ],
  -    'type' => 'apr_sms_t'
  +    ]
     },
     {
  +    'type' => 'apr_os_lock_t',
       'elts' => [
         {
  -        'name' => 'process',
  -        'type' => 'process_rec *'
  +        'type' => 'int',
  +        'name' => 'crossproc'
         },
         {
  -        'name' => 'next',
  -        'type' => 'server_rec *'
  -      },
  +        'type' => 'pthread_mutex_t *',
  +        'name' => 'intraproc'
  +      }
  +    ]
  +  },
  +  {
  +    'type' => 'apr_os_proc_t',
  +    'elts' => []
  +  },
  +  {
  +    'type' => 'apr_os_sock_info_t',
  +    'elts' => [
         {
  -        'name' => 'defn_name',
  -        'type' => 'const char *'
  +        'type' => 'apr_os_sock_t *',
  +        'name' => 'os_sock'
         },
         {
  -        'name' => 'defn_line_number',
  -        'type' => 'unsigned'
  +        'type' => 'sockaddr *',
  +        'name' => 'local'
         },
         {
  -        'name' => 'server_admin',
  -        'type' => 'char *'
  +        'type' => 'sockaddr *',
  +        'name' => 'remote'
         },
         {
  -        'name' => 'server_hostname',
  -        'type' => 'char *'
  +        'type' => 'int',
  +        'name' => 'family'
         },
         {
  -        'name' => 'port',
  -        'type' => 'apr_port_t'
  -      },
  +        'type' => 'int',
  +        'name' => 'type'
  +      }
  +    ]
  +  },
  +  {
  +    'type' => 'apr_os_sock_t',
  +    'elts' => []
  +  },
  +  {
  +    'type' => 'apr_os_thread_t',
  +    'elts' => []
  +  },
  +  {
  +    'type' => 'apr_os_threadkey_t',
  +    'elts' => []
  +  },
  +  {
  +    'type' => 'apr_other_child_rec_t',
  +    'elts' => []
  +  },
  +  {
  +    'type' => 'apr_pollfd_t',
  +    'elts' => []
  +  },
  +  {
  +    'type' => 'apr_pool_t',
  +    'elts' => []
  +  },
  +  {
  +    'type' => 'apr_port_t',
  +    'elts' => []
  +  },
  +  {
  +    'type' => 'apr_proc_t',
  +    'elts' => [
         {
  -        'name' => 'error_fname',
  -        'type' => 'char *'
  +        'type' => 'pid_t',
  +        'name' => 'pid'
         },
         {
  -        'name' => 'error_log',
  -        'type' => 'apr_file_t *'
  +        'type' => 'apr_file_t *',
  +        'name' => 'in'
         },
         {
  -        'name' => 'loglevel',
  -        'type' => 'int'
  +        'type' => 'apr_file_t *',
  +        'name' => 'out'
         },
         {
  -        'name' => 'is_virtual',
  -        'type' => 'int'
  -      },
  +        'type' => 'apr_file_t *',
  +        'name' => 'err'
  +      }
  +    ]
  +  },
  +  {
  +    'type' => 'apr_procattr_t',
  +    'elts' => []
  +  },
  +  {
  +    'type' => 'apr_read_type_e',
  +    'elts' => []
  +  },
  +  {
  +    'type' => 'apr_readerwriter_e',
  +    'elts' => []
  +  },
  +  {
  +    'type' => 'apr_sdbm_datum_t',
  +    'elts' => [
         {
  -        'name' => 'module_config',
  -        'type' => 'ap_conf_vector_t *'
  +        'type' => 'char *',
  +        'name' => 'dptr'
         },
         {
  -        'name' => 'lookup_defaults',
  -        'type' => 'ap_conf_vector_t *'
  -      },
  +        'type' => 'int',
  +        'name' => 'dsize'
  +      }
  +    ]
  +  },
  +  {
  +    'type' => 'apr_sdbm_t',
  +    'elts' => []
  +  },
  +  {
  +    'type' => 'apr_seek_where_t',
  +    'elts' => []
  +  },
  +  {
  +    'type' => 'apr_sha1_ctx_t',
  +    'elts' => [
         {
  -        'name' => 'addrs',
  -        'type' => 'server_addr_rec *'
  +        'type' => 'apr_uint32_t[5]',
  +        'name' => 'digest'
         },
         {
  -        'name' => 'timeout',
  -        'type' => 'int'
  +        'type' => 'apr_uint32_t',
  +        'name' => 'count_lo'
         },
         {
  -        'name' => 'keep_alive_timeout',
  -        'type' => 'int'
  +        'type' => 'apr_uint32_t',
  +        'name' => 'count_hi'
         },
         {
  -        'name' => 'keep_alive_max',
  -        'type' => 'int'
  +        'type' => 'apr_uint32_t[16]',
  +        'name' => 'data'
         },
         {
  -        'name' => 'keep_alive',
  -        'type' => 'int'
  -      },
  +        'type' => 'int',
  +        'name' => 'local'
  +      }
  +    ]
  +  },
  +  {
  +    'type' => 'apr_shm_name_t',
  +    'elts' => []
  +  },
  +  {
  +    'type' => 'apr_shmem_t',
  +    'elts' => []
  +  },
  +  {
  +    'type' => 'apr_short_interval_time_t',
  +    'elts' => []
  +  },
  +  {
  +    'type' => 'apr_shutdown_how_e',
  +    'elts' => []
  +  },
  +  {
  +    'type' => 'apr_sigfunc_t',
  +    'elts' => []
  +  },
  +  {
  +    'type' => 'apr_signum_t',
  +    'elts' => []
  +  },
  +  {
  +    'type' => 'apr_size_t',
  +    'elts' => []
  +  },
  +  {
  +    'type' => 'apr_sms_t',
  +    'elts' => [
         {
  -        'name' => 'path',
  -        'type' => 'const char *'
  +        'type' => 'apr_sms_t *',
  +        'name' => 'parent'
         },
         {
  -        'name' => 'pathlen',
  -        'type' => 'int'
  +        'type' => 'apr_sms_t *',
  +        'name' => 'child'
         },
         {
  -        'name' => 'names',
  -        'type' => 'apr_array_header_t *'
  +        'type' => 'apr_sms_t *',
  +        'name' => 'sibling'
         },
         {
  -        'name' => 'wild_names',
  -        'type' => 'apr_array_header_t *'
  +        'type' => 'apr_sms_t **',
  +        'name' => 'ref'
         },
         {
  -        'name' => 'limit_req_line',
  -        'type' => 'int'
  +        'type' => 'apr_sms_t *',
  +        'name' => 'accounting'
         },
         {
  -        'name' => 'limit_req_fieldsize',
  -        'type' => 'int'
  +        'type' => 'const char *',
  +        'name' => 'identity'
         },
         {
  -        'name' => 'limit_req_fields',
  -        'type' => 'int'
  -      }
  -    ],
  -    'type' => 'server_rec'
  -  },
  -  {
  -    'elts' => [],
  -    'type' => 'apr_other_child_rec_t'
  -  },
  -  {
  -    'elts' => [],
  -    'type' => 'apr_ssize_t'
  -  },
  -  {
  -    'elts' => [
  -      {
  -        'name' => 'pFunc',
  -        'type' => 'ap_HOOK_pre_config_t *'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'pool'
         },
         {
  -        'name' => 'szName',
  -        'type' => 'const char *'
  +        'type' => 'apr_lock_t *',
  +        'name' => 'sms_lock'
         },
         {
  -        'name' => 'aszPredecessors',
  -        'type' => 'const char * const *'
  +        'type' => 'apr_sms_cleanup *',
  +        'name' => 'cleanups'
         },
         {
  -        'name' => 'aszSuccessors',
  -        'type' => 'const char * const *'
  +        'type' => 'void *(*) (apr_sms_t *sms, apr_size_t size)',
  +        'name' => 'malloc_fn'
         },
  -      {
  -        'name' => 'nOrder',
  -        'type' => 'int'
  -      }
  -    ],
  -    'type' => 'ap_LINK_pre_config_t'
  -  },
  -  {
  -    'elts' => [
         {
  -        'name' => 'name',
  -        'type' => 'const char *'
  +        'type' => 'void *(*) (apr_sms_t *sms, apr_size_t size)',
  +        'name' => 'calloc_fn'
         },
         {
  -        'name' => 'optch',
  -        'type' => 'int'
  +        'type' => 'void *(*) (apr_sms_t *sms, void *memory,
  +                                    apr_size_t size)',
  +        'name' => 'realloc_fn'
         },
         {
  -        'name' => 'has_arg',
  -        'type' => 'int'
  -      }
  -    ],
  -    'type' => 'apr_getopt_option_t'
  -  },
  -  {
  -    'elts' => [
  +        'type' => 'apr_status_t(*) (apr_sms_t *sms, void *memory)',
  +        'name' => 'free_fn'
  +      },
         {
  -        'name' => 'pFunc',
  -        'type' => 'ap_HOOK_type_checker_t *'
  +        'type' => 'apr_status_t(*) (apr_sms_t *sms)',
  +        'name' => 'reset_fn'
         },
         {
  -        'name' => 'szName',
  -        'type' => 'const char *'
  +        'type' => 'apr_status_t(*) (apr_sms_t *sms)',
  +        'name' => 'pre_destroy_fn'
         },
         {
  -        'name' => 'aszPredecessors',
  -        'type' => 'const char * const *'
  +        'type' => 'apr_status_t(*) (apr_sms_t *sms)',
  +        'name' => 'destroy_fn'
         },
         {
  -        'name' => 'aszSuccessors',
  -        'type' => 'const char * const *'
  +        'type' => 'apr_status_t(*) (apr_sms_t *sms)',
  +        'name' => 'lock_fn'
         },
         {
  -        'name' => 'nOrder',
  -        'type' => 'int'
  +        'type' => 'apr_status_t(*) (apr_sms_t *sms)',
  +        'name' => 'unlock_fn'
         }
  -    ],
  -    'type' => 'ap_LINK_type_checker_t'
  -  },
  -  {
  -    'elts' => [],
  -    'type' => 'ap_out_filter_func'
  +    ]
     },
     {
  +    'type' => 'apr_sockaddr_t',
       'elts' => [
  -      {
  -        'name' => 'scheme',
  -        'type' => 'char *'
  -      },
         {
  -        'name' => 'hostinfo',
  -        'type' => 'char *'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'pool'
         },
         {
  -        'name' => 'user',
  -        'type' => 'char *'
  +        'type' => 'char *',
  +        'name' => 'hostname'
         },
         {
  -        'name' => 'password',
  -        'type' => 'char *'
  +        'type' => 'char *',
  +        'name' => 'servname'
         },
         {
  -        'name' => 'hostname',
  -        'type' => 'char *'
  +        'type' => 'apr_port_t',
  +        'name' => 'port'
         },
         {
  -        'name' => 'port_str',
  -        'type' => 'char *'
  +        'type' => 'apr_int32_t',
  +        'name' => 'family'
         },
         {
  -        'name' => 'path',
  -        'type' => 'char *'
  +        'type' => 'union _ANON 1',
  +        'name' => 'sa'
         },
         {
  -        'name' => 'query',
  -        'type' => 'char *'
  +        'type' => 'apr_socklen_t',
  +        'name' => 'salen'
         },
         {
  -        'name' => 'fragment',
  -        'type' => 'char *'
  +        'type' => 'int',
  +        'name' => 'ipaddr_len'
         },
         {
  -        'name' => 'hostent',
  -        'type' => 'hostent *'
  +        'type' => 'int',
  +        'name' => 'addr_str_len'
         },
         {
  -        'name' => 'port',
  -        'type' => 'apr_port_t'
  +        'type' => 'void *',
  +        'name' => 'ipaddr_ptr'
         },
         {
  -        'name' => 'is_initialized',
  -        'type' => 'unsigned'
  -      },
  +        'type' => 'apr_sockaddr_t *',
  +        'name' => 'next'
  +      }
  +    ]
  +  },
  +  {
  +    'type' => 'apr_socket_t',
  +    'elts' => []
  +  },
  +  {
  +    'type' => 'apr_socklen_t',
  +    'elts' => []
  +  },
  +  {
  +    'type' => 'apr_ssize_t',
  +    'elts' => []
  +  },
  +  {
  +    'type' => 'apr_status_t',
  +    'elts' => []
  +  },
  +  {
  +    'type' => 'apr_table_entry_t',
  +    'elts' => [
         {
  -        'name' => 'dns_looked_up',
  -        'type' => 'unsigned'
  +        'type' => 'char *',
  +        'name' => 'key'
         },
         {
  -        'name' => 'dns_resolved',
  -        'type' => 'unsigned'
  +        'type' => 'char *',
  +        'name' => 'val'
         }
  -    ],
  -    'type' => 'apr_uri_components'
  +    ]
     },
     {
  -    'elts' => [],
  -    'type' => 'apr_signum_t'
  +    'type' => 'apr_table_t',
  +    'elts' => [
  +      {
  +        'type' => 'apr_array_header_t',
  +        'name' => 'a'
  +      }
  +    ]
     },
     {
  +    'type' => 'apr_text',
       'elts' => [
         {
  -        'name' => 'out_func',
  -        'type' => 'ap_out_filter_func'
  +        'type' => 'const char *',
  +        'name' => 'text'
         },
         {
  -        'name' => 'in_func',
  -        'type' => 'ap_in_filter_func'
  +        'type' => 'apr_text *',
  +        'name' => 'next'
         }
  -    ],
  -    'type' => 'ap_filter_func'
  +    ]
     },
     {
  -    'elts' => [],
  -    'type' => 'ap_scoreboard_e'
  -  },
  -  {
  +    'type' => 'apr_text_header',
       'elts' => [
         {
  -        'name' => 'crossproc',
  -        'type' => 'int'
  +        'type' => 'apr_text *',
  +        'name' => 'first'
         },
         {
  -        'name' => 'intraproc',
  -        'type' => 'pthread_mutex_t *'
  +        'type' => 'apr_text *',
  +        'name' => 'last'
         }
  -    ],
  -    'type' => 'apr_os_lock_t'
  +    ]
  +  },
  +  {
  +    'type' => 'apr_thread_start_t',
  +    'elts' => []
  +  },
  +  {
  +    'type' => 'apr_thread_t',
  +    'elts' => []
  +  },
  +  {
  +    'type' => 'apr_threadattr_t',
  +    'elts' => []
  +  },
  +  {
  +    'type' => 'apr_threadkey_t',
  +    'elts' => []
     },
     {
  -    'elts' => [],
  -    'type' => 'apr_pollfd_t'
  +    'type' => 'apr_time_t',
  +    'elts' => []
     },
     {
  -    'elts' => [],
  -    'type' => 'ap_mgmt_type_e'
  +    'type' => 'apr_uid_t',
  +    'elts' => []
     },
     {
  -    'elts' => [],
  -    'type' => 'ap_HOOK_child_init_t'
  +    'type' => 'apr_uint16_t',
  +    'elts' => []
     },
     {
  +    'type' => 'apr_uint32_t',
  +    'elts' => []
  +  },
  +  {
  +    'type' => 'apr_uint64_t',
  +    'elts' => []
  +  },
  +  {
  +    'type' => 'apr_uri_components',
       'elts' => [
         {
  -        'name' => 'pid',
  -        'type' => 'pid_t'
  +        'type' => 'char *',
  +        'name' => 'scheme'
         },
         {
  -        'name' => 'in',
  -        'type' => 'apr_file_t *'
  +        'type' => 'char *',
  +        'name' => 'hostinfo'
         },
         {
  -        'name' => 'out',
  -        'type' => 'apr_file_t *'
  +        'type' => 'char *',
  +        'name' => 'user'
         },
         {
  -        'name' => 'err',
  -        'type' => 'apr_file_t *'
  -      }
  -    ],
  -    'type' => 'apr_proc_t'
  -  },
  -  {
  -    'elts' => [],
  -    'type' => 'ap_generation_t'
  -  },
  -  {
  -    'elts' => [
  +        'type' => 'char *',
  +        'name' => 'password'
  +      },
         {
  -        'name' => 'refcount',
  -        'type' => 'apr_bucket_refcount'
  +        'type' => 'char *',
  +        'name' => 'hostname'
         },
         {
  -        'name' => 'base',
  -        'type' => 'char *'
  +        'type' => 'char *',
  +        'name' => 'port_str'
         },
         {
  -        'name' => 'alloc_len',
  -        'type' => 'apr_size_t'
  -      }
  -    ],
  -    'type' => 'apr_bucket_heap'
  -  },
  -  {
  -    'elts' => [],
  -    'type' => 'ap_filter_type'
  -  },
  -  {
  -    'elts' => [
  +        'type' => 'char *',
  +        'name' => 'path'
  +      },
  +      {
  +        'type' => 'char *',
  +        'name' => 'query'
  +      },
  +      {
  +        'type' => 'char *',
  +        'name' => 'fragment'
  +      },
         {
  -        'name' => 'pFunc',
  -        'type' => 'ap_HOOK_pre_connection_t *'
  +        'type' => 'hostent *',
  +        'name' => 'hostent'
         },
         {
  -        'name' => 'szName',
  -        'type' => 'const char *'
  +        'type' => 'apr_port_t',
  +        'name' => 'port'
         },
         {
  -        'name' => 'aszPredecessors',
  -        'type' => 'const char * const *'
  +        'type' => 'unsigned',
  +        'name' => 'is_initialized'
         },
         {
  -        'name' => 'aszSuccessors',
  -        'type' => 'const char * const *'
  +        'type' => 'unsigned',
  +        'name' => 'dns_looked_up'
         },
         {
  -        'name' => 'nOrder',
  -        'type' => 'int'
  +        'type' => 'unsigned',
  +        'name' => 'dns_resolved'
         }
  -    ],
  -    'type' => 'ap_LINK_pre_connection_t'
  +    ]
     },
     {
  +    'type' => 'apr_uuid_t',
       'elts' => [
         {
  -        'name' => 'pFunc',
  -        'type' => 'ap_HOOK_default_port_t *'
  -      },
  -      {
  -        'name' => 'szName',
  -        'type' => 'const char *'
  -      },
  -      {
  -        'name' => 'aszPredecessors',
  -        'type' => 'const char * const *'
  -      },
  +        'type' => 'unsigned char[16]',
  +        'name' => 'data'
  +      }
  +    ]
  +  },
  +  {
  +    'type' => 'apr_vformatter_buff_t',
  +    'elts' => [
         {
  -        'name' => 'aszSuccessors',
  -        'type' => 'const char * const *'
  +        'type' => 'char *',
  +        'name' => 'curpos'
         },
         {
  -        'name' => 'nOrder',
  -        'type' => 'int'
  +        'type' => 'char *',
  +        'name' => 'endpos'
         }
  -    ],
  -    'type' => 'ap_LINK_default_port_t'
  +    ]
  +  },
  +  {
  +    'type' => 'apr_wait_how_e',
  +    'elts' => []
     },
     {
  -    'elts' => [],
  -    'type' => 'apr_dbm_t'
  +    'type' => 'apr_xlate_t',
  +    'elts' => []
     },
     {
  +    'type' => 'apr_xml_attr',
       'elts' => [
         {
  -        'name' => 'pFunc',
  -        'type' => 'ap_HOOK_process_connection_t *'
  +        'type' => 'const char *',
  +        'name' => 'name'
         },
         {
  -        'name' => 'szName',
  -        'type' => 'const char *'
  +        'type' => 'int',
  +        'name' => 'ns'
         },
         {
  -        'name' => 'aszPredecessors',
  -        'type' => 'const char * const *'
  +        'type' => 'const char *',
  +        'name' => 'value'
         },
         {
  -        'name' => 'aszSuccessors',
  -        'type' => 'const char * const *'
  +        'type' => 'apr_xml_attr *',
  +        'name' => 'next'
  +      }
  +    ]
  +  },
  +  {
  +    'type' => 'apr_xml_doc',
  +    'elts' => [
  +      {
  +        'type' => 'apr_xml_elem *',
  +        'name' => 'root'
         },
         {
  -        'name' => 'nOrder',
  -        'type' => 'int'
  +        'type' => 'apr_array_header_t *',
  +        'name' => 'namespaces'
         }
  -    ],
  -    'type' => 'ap_LINK_process_connection_t'
  +    ]
     },
     {
  +    'type' => 'apr_xml_elem',
       'elts' => [
         {
  -        'name' => 'directive',
  -        'type' => 'const char *'
  +        'type' => 'const char *',
  +        'name' => 'name'
         },
         {
  -        'name' => 'args',
  -        'type' => 'const char *'
  +        'type' => 'int',
  +        'name' => 'ns'
         },
         {
  -        'name' => 'next',
  -        'type' => 'ap_directive_t *'
  +        'type' => 'const char *',
  +        'name' => 'lang'
         },
         {
  -        'name' => 'first_child',
  -        'type' => 'ap_directive_t *'
  +        'type' => 'apr_text_header',
  +        'name' => 'first_cdata'
         },
         {
  -        'name' => 'parent',
  -        'type' => 'ap_directive_t *'
  +        'type' => 'apr_text_header',
  +        'name' => 'following_cdata'
         },
         {
  -        'name' => 'data',
  -        'type' => 'void *'
  +        'type' => 'apr_xml_elem *',
  +        'name' => 'parent'
         },
         {
  -        'name' => 'filename',
  -        'type' => 'const char *'
  +        'type' => 'apr_xml_elem *',
  +        'name' => 'next'
         },
         {
  -        'name' => 'line_num',
  -        'type' => 'int'
  -      }
  -    ],
  -    'type' => 'ap_directive_t'
  -  },
  -  {
  -    'elts' => [
  +        'type' => 'apr_xml_elem *',
  +        'name' => 'first_child'
  +      },
         {
  -        'name' => 'refcount',
  -        'type' => 'apr_bucket_refcount'
  +        'type' => 'apr_xml_attr *',
  +        'name' => 'attr'
         },
         {
  -        'name' => 'mmap',
  -        'type' => 'apr_mmap_t *'
  -      }
  -    ],
  -    'type' => 'apr_bucket_mmap'
  -  },
  -  {
  -    'elts' => [],
  -    'type' => 'apr_byte_t'
  -  },
  -  {
  -    'elts' => [],
  -    'type' => 'apr_gid_t'
  -  },
  -  {
  -    'elts' => [],
  -    'type' => 'ap_input_mode_t'
  -  },
  -  {
  -    'elts' => [
  +        'type' => 'apr_xml_elem *',
  +        'name' => 'last_child'
  +      },
         {
  -        'name' => 'first',
  -        'type' => 'apr_text *'
  +        'type' => 'apr_xml_ns_scope *',
  +        'name' => 'ns_scope'
         },
         {
  -        'name' => 'last',
  -        'type' => 'apr_text *'
  +        'type' => 'void *',
  +        'name' => 'priv'
         }
  -    ],
  -    'type' => 'apr_text_header'
  +    ]
     },
     {
  -    'elts' => [],
  -    'type' => 'ap_HOOK_header_parser_t'
  +    'type' => 'apr_xml_parser',
  +    'elts' => []
     },
     {
  +    'type' => 'cmd_func',
  +    'elts' => []
  +  },
  +  {
  +    'type' => 'cmd_parms',
       'elts' => [
  -      {
  -        'name' => 'cntxt',
  -        'type' => 'apr_pool_t *'
  -      },
         {
  -        'name' => 'valid',
  -        'type' => 'apr_int32_t'
  +        'type' => 'void *',
  +        'name' => 'info'
         },
         {
  -        'name' => 'protection',
  -        'type' => 'apr_fileperms_t'
  +        'type' => 'int',
  +        'name' => 'override'
         },
         {
  -        'name' => 'filetype',
  -        'type' => 'apr_filetype_e'
  +        'type' => 'int',
  +        'name' => 'limited'
         },
         {
  -        'name' => 'user',
  -        'type' => 'apr_uid_t'
  +        'type' => 'apr_array_header_t *',
  +        'name' => 'limited_xmethods'
         },
         {
  -        'name' => 'group',
  -        'type' => 'apr_gid_t'
  +        'type' => 'ap_method_list_t *',
  +        'name' => 'xlimited'
         },
         {
  -        'name' => 'inode',
  -        'type' => 'apr_ino_t'
  +        'type' => 'ap_configfile_t *',
  +        'name' => 'config_file'
         },
         {
  -        'name' => 'device',
  -        'type' => 'apr_dev_t'
  +        'type' => 'ap_directive_t *',
  +        'name' => 'directive'
         },
         {
  -        'name' => 'nlink',
  -        'type' => 'apr_int32_t'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'pool'
         },
         {
  -        'name' => 'size',
  -        'type' => 'apr_off_t'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'temp_pool'
         },
         {
  -        'name' => 'csize',
  -        'type' => 'apr_off_t'
  +        'type' => 'server_rec *',
  +        'name' => 'server'
         },
         {
  -        'name' => 'atime',
  -        'type' => 'apr_time_t'
  +        'type' => 'char *',
  +        'name' => 'path'
         },
         {
  -        'name' => 'mtime',
  -        'type' => 'apr_time_t'
  +        'type' => 'const command_rec *',
  +        'name' => 'cmd'
         },
         {
  -        'name' => 'ctime',
  -        'type' => 'apr_time_t'
  +        'type' => 'ap_conf_vector_t *',
  +        'name' => 'context'
         },
         {
  -        'name' => 'fname',
  -        'type' => 'const char *'
  -      },
  -      {
  -        'name' => 'name',
  -        'type' => 'const char *'
  -      },
  -      {
  -        'name' => 'filehand',
  -        'type' => 'apr_file_t *'
  +        'type' => 'const ap_directive_t *',
  +        'name' => 'err_directive'
         }
  -    ],
  -    'type' => 'apr_finfo_t'
  +    ]
     },
     {
  +    'type' => 'command_rec',
       'elts' => [
         {
  -        'name' => 'pFunc',
  -        'type' => 'ap_HOOK_insert_filter_t *'
  +        'type' => 'const char *',
  +        'name' => 'name'
         },
         {
  -        'name' => 'szName',
  -        'type' => 'const char *'
  +        'type' => 'cmd_func',
  +        'name' => 'func'
         },
         {
  -        'name' => 'aszPredecessors',
  -        'type' => 'const char * const *'
  +        'type' => 'void *',
  +        'name' => 'cmd_data'
         },
         {
  -        'name' => 'aszSuccessors',
  -        'type' => 'const char * const *'
  +        'type' => 'int',
  +        'name' => 'req_override'
         },
         {
  -        'name' => 'nOrder',
  -        'type' => 'int'
  +        'type' => 'enum cmd_how',
  +        'name' => 'args_how'
  +      },
  +      {
  +        'type' => 'const char *',
  +        'name' => 'errmsg'
         }
  -    ],
  -    'type' => 'ap_LINK_insert_filter_t'
  +    ]
     },
     {
  +    'type' => 'conn_rec',
       'elts' => [
         {
  -        'name' => 'digest',
  -        'type' => 'apr_uint32_t[5]'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'pool'
         },
         {
  -        'name' => 'count_lo',
  -        'type' => 'apr_uint32_t'
  +        'type' => 'server_rec *',
  +        'name' => 'base_server'
         },
         {
  -        'name' => 'count_hi',
  -        'type' => 'apr_uint32_t'
  +        'type' => 'void *',
  +        'name' => 'vhost_lookup_data'
         },
         {
  -        'name' => 'data',
  -        'type' => 'apr_uint32_t[16]'
  +        'type' => 'apr_socket_t *',
  +        'name' => 'client_socket'
         },
         {
  -        'name' => 'local',
  -        'type' => 'int'
  -      }
  -    ],
  -    'type' => 'apr_sha1_ctx_t'
  -  },
  -  {
  -    'elts' => [
  -      {
  -        'name' => 'tm_usec',
  -        'type' => 'apr_int32_t'
  +        'type' => 'apr_sockaddr_t *',
  +        'name' => 'local_addr'
         },
         {
  -        'name' => 'tm_sec',
  -        'type' => 'apr_int32_t'
  +        'type' => 'apr_sockaddr_t *',
  +        'name' => 'remote_addr'
         },
         {
  -        'name' => 'tm_min',
  -        'type' => 'apr_int32_t'
  +        'type' => 'char *',
  +        'name' => 'remote_ip'
         },
         {
  -        'name' => 'tm_hour',
  -        'type' => 'apr_int32_t'
  +        'type' => 'char *',
  +        'name' => 'remote_host'
         },
         {
  -        'name' => 'tm_mday',
  -        'type' => 'apr_int32_t'
  +        'type' => 'char *',
  +        'name' => 'remote_logname'
         },
         {
  -        'name' => 'tm_mon',
  -        'type' => 'apr_int32_t'
  +        'type' => 'unsigned',
  +        'name' => 'aborted'
         },
         {
  -        'name' => 'tm_year',
  -        'type' => 'apr_int32_t'
  +        'type' => 'signed int',
  +        'name' => 'keepalive'
         },
         {
  -        'name' => 'tm_wday',
  -        'type' => 'apr_int32_t'
  +        'type' => 'signed int',
  +        'name' => 'double_reverse'
         },
         {
  -        'name' => 'tm_yday',
  -        'type' => 'apr_int32_t'
  +        'type' => 'int',
  +        'name' => 'keepalives'
         },
         {
  -        'name' => 'tm_isdst',
  -        'type' => 'apr_int32_t'
  +        'type' => 'char *',
  +        'name' => 'local_ip'
         },
         {
  -        'name' => 'tm_gmtoff',
  -        'type' => 'apr_int32_t'
  -      }
  -    ],
  -    'type' => 'apr_exploded_time_t'
  -  },
  -  {
  -    'elts' => [],
  -    'type' => 'apr_short_interval_time_t'
  -  },
  -  {
  -    'elts' => [
  +        'type' => 'char *',
  +        'name' => 'local_host'
  +      },
         {
  -        'name' => 'pFunc',
  -        'type' => 'ap_HOOK_handler_t *'
  +        'type' => 'long',
  +        'name' => 'id'
         },
         {
  -        'name' => 'szName',
  -        'type' => 'const char *'
  +        'type' => 'ap_conf_vector_t *',
  +        'name' => 'conn_config'
         },
         {
  -        'name' => 'aszPredecessors',
  -        'type' => 'const char * const *'
  +        'type' => 'apr_table_t *',
  +        'name' => 'notes'
         },
         {
  -        'name' => 'aszSuccessors',
  -        'type' => 'const char * const *'
  +        'type' => 'ap_filter_t *',
  +        'name' => 'input_filters'
         },
         {
  -        'name' => 'nOrder',
  -        'type' => 'int'
  +        'type' => 'ap_filter_t *',
  +        'name' => 'output_filters'
         }
  -    ],
  -    'type' => 'ap_LINK_handler_t'
  +    ]
     },
     {
  +    'type' => 'htaccess_result',
       'elts' => [
         {
  -        'name' => 'name',
  -        'type' => 'const char *'
  +        'type' => 'const char *',
  +        'name' => 'dir'
         },
         {
  -        'name' => 'ns',
  -        'type' => 'int'
  +        'type' => 'int',
  +        'name' => 'override'
         },
         {
  -        'name' => 'value',
  -        'type' => 'const char *'
  +        'type' => 'ap_conf_vector_t *',
  +        'name' => 'htaccess'
         },
         {
  -        'name' => 'next',
  -        'type' => 'apr_xml_attr *'
  +        'type' => 'const struct htaccess_result *',
  +        'name' => 'next'
         }
  -    ],
  -    'type' => 'apr_xml_attr'
  -  },
  -  {
  -    'elts' => [],
  -    'type' => 'apr_os_threadkey_t'
  -  },
  -  {
  -    'elts' => [],
  -    'type' => 'ap_HOOK_pre_connection_t'
  +    ]
     },
     {
  -    'elts' => [],
  -    'type' => 'apr_filetype_e'
  -  },
  -  {
  +    'type' => 'module',
       'elts' => [
  -      {
  -        'name' => 'pFunc',
  -        'type' => 'ap_HOOK_access_checker_t *'
  -      },
         {
  -        'name' => 'szName',
  -        'type' => 'const char *'
  +        'type' => 'int',
  +        'name' => 'version'
         },
         {
  -        'name' => 'aszPredecessors',
  -        'type' => 'const char * const *'
  +        'type' => 'int',
  +        'name' => 'minor_version'
         },
         {
  -        'name' => 'aszSuccessors',
  -        'type' => 'const char * const *'
  +        'type' => 'int',
  +        'name' => 'module_index'
         },
  -      {
  -        'name' => 'nOrder',
  -        'type' => 'int'
  -      }
  -    ],
  -    'type' => 'ap_LINK_access_checker_t'
  -  },
  -  {
  -    'elts' => [
         {
  -        'name' => 'pFunc',
  -        'type' => 'ap_HOOK_auth_checker_t *'
  +        'type' => 'const char *',
  +        'name' => 'name'
         },
         {
  -        'name' => 'szName',
  -        'type' => 'const char *'
  +        'type' => 'void *',
  +        'name' => 'dynamic_load_handle'
         },
         {
  -        'name' => 'aszPredecessors',
  -        'type' => 'const char * const *'
  +        'type' => 'module_struct *',
  +        'name' => 'next'
         },
         {
  -        'name' => 'aszSuccessors',
  -        'type' => 'const char * const *'
  +        'type' => 'unsigned long',
  +        'name' => 'magic'
         },
         {
  -        'name' => 'nOrder',
  -        'type' => 'int'
  -      }
  -    ],
  -    'type' => 'ap_LINK_auth_checker_t'
  -  },
  -  {
  -    'elts' => [],
  -    'type' => 'apr_fileperms_t'
  -  },
  -  {
  -    'elts' => [
  -      {
  -        'name' => 'family',
  -        'type' => 'int'
  +        'type' => 'void(*) (process_rec *process)',
  +        'name' => 'rewrite_args'
         },
         {
  -        'name' => 'sub',
  -        'type' => 'apr_uint32_t[4]'
  +        'type' => 'void *(*) (apr_pool_t *p, char *dir)',
  +        'name' => 'create_dir_config'
         },
         {
  -        'name' => 'mask',
  -        'type' => 'apr_uint32_t[4]'
  -      }
  -    ],
  -    'type' => 'apr_ipsubnet_t'
  -  },
  -  {
  -    'elts' => [],
  -    'type' => 'apr_shmem_t'
  -  },
  -  {
  -    'elts' => [],
  -    'type' => 'apr_shutdown_how_e'
  -  },
  -  {
  -    'elts' => [
  -      {
  -        'name' => 'pFunc',
  -        'type' => 'ap_HOOK_log_transaction_t *'
  +        'type' => 'void *(*) (apr_pool_t *p, void *base_conf, void *new_conf)',
  +        'name' => 'merge_dir_config'
         },
         {
  -        'name' => 'szName',
  -        'type' => 'const char *'
  +        'type' => 'void *(*) (apr_pool_t *p, server_rec *s)',
  +        'name' => 'create_server_config'
         },
         {
  -        'name' => 'aszPredecessors',
  -        'type' => 'const char * const *'
  +        'type' => 'void *(*) (apr_pool_t *p, void *base_conf, void *new_conf)',
  +        'name' => 'merge_server_config'
         },
         {
  -        'name' => 'aszSuccessors',
  -        'type' => 'const char * const *'
  +        'type' => 'const command_rec *',
  +        'name' => 'cmds'
         },
         {
  -        'name' => 'nOrder',
  -        'type' => 'int'
  +        'type' => 'void(*) (apr_pool_t *p)',
  +        'name' => 'register_hooks'
         }
  -    ],
  -    'type' => 'ap_LINK_log_transaction_t'
  +    ]
     },
     {
  +    'type' => 'piped_log',
       'elts' => [
         {
  -        'name' => 'heap',
  -        'type' => 'apr_bucket_heap'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'p'
         },
         {
  -        'name' => 'base',
  -        'type' => 'const char *'
  +        'type' => 'apr_file_t *[2]',
  +        'name' => 'fds'
         },
         {
  -        'name' => 'pool',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'char *',
  +        'name' => 'program'
  +      },
  +      {
  +        'type' => 'apr_proc_t *',
  +        'name' => 'pid'
         }
  -    ],
  -    'type' => 'apr_bucket_pool'
  -  },
  -  {
  -    'elts' => [],
  -    'type' => 'apr_shm_name_t'
  +    ]
     },
     {
  +    'type' => 'process_rec',
       'elts' => [
         {
  -        'name' => 'pFunc',
  -        'type' => 'ap_HOOK_post_config_t *'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'pool'
         },
         {
  -        'name' => 'szName',
  -        'type' => 'const char *'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'pconf'
         },
         {
  -        'name' => 'aszPredecessors',
  -        'type' => 'const char * const *'
  +        'type' => 'int',
  +        'name' => 'argc'
         },
         {
  -        'name' => 'aszSuccessors',
  -        'type' => 'const char * const *'
  +        'type' => 'const char * const *',
  +        'name' => 'argv'
         },
         {
  -        'name' => 'nOrder',
  -        'type' => 'int'
  +        'type' => 'const char *',
  +        'name' => 'short_name'
         }
  -    ],
  -    'type' => 'ap_LINK_post_config_t'
  -  },
  -  {
  -    'elts' => [],
  -    'type' => 'apr_procattr_t'
  -  },
  -  {
  -    'elts' => [],
  -    'type' => 'apr_size_t'
  -  },
  -  {
  -    'elts' => [],
  -    'type' => 'apr_thread_t'
  -  },
  -  {
  -    'elts' => [],
  -    'type' => 'apr_dir_t'
  +    ]
     },
     {
  +    'type' => 'request_rec',
       'elts' => [
         {
  -        'name' => 'cont',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'pool'
         },
         {
  -        'name' => 'err',
  -        'type' => 'int'
  +        'type' => 'conn_rec *',
  +        'name' => 'connection'
         },
         {
  -        'name' => 'ind',
  -        'type' => 'int'
  +        'type' => 'server_rec *',
  +        'name' => 'server'
         },
         {
  -        'name' => 'opt',
  -        'type' => 'int'
  +        'type' => 'request_rec *',
  +        'name' => 'next'
         },
         {
  -        'name' => 'reset',
  -        'type' => 'int'
  +        'type' => 'request_rec *',
  +        'name' => 'prev'
         },
         {
  -        'name' => 'argc',
  -        'type' => 'int'
  +        'type' => 'request_rec *',
  +        'name' => 'main'
         },
         {
  -        'name' => 'argv',
  -        'type' => 'const char **'
  +        'type' => 'char *',
  +        'name' => 'the_request'
         },
         {
  -        'name' => 'place',
  -        'type' => 'char const *'
  +        'type' => 'int',
  +        'name' => 'assbackwards'
         },
         {
  -        'name' => 'interleave',
  -        'type' => 'int'
  +        'type' => 'int',
  +        'name' => 'proxyreq'
         },
         {
  -        'name' => 'skip_start',
  -        'type' => 'int'
  +        'type' => 'int',
  +        'name' => 'header_only'
         },
  -      {
  -        'name' => 'skip_end',
  -        'type' => 'int'
  -      }
  -    ],
  -    'type' => 'apr_getopt_t'
  -  },
  -  {
  -    'elts' => [
         {
  -        'name' => 'headers',
  -        'type' => 'iovec *'
  +        'type' => 'char *',
  +        'name' => 'protocol'
         },
         {
  -        'name' => 'numheaders',
  -        'type' => 'int'
  +        'type' => 'int',
  +        'name' => 'proto_num'
         },
         {
  -        'name' => 'trailers',
  -        'type' => 'iovec *'
  +        'type' => 'const char *',
  +        'name' => 'hostname'
         },
         {
  -        'name' => 'numtrailers',
  -        'type' => 'int'
  -      }
  -    ],
  -    'type' => 'apr_hdtr_t'
  -  },
  -  {
  -    'elts' => [],
  -    'type' => 'apr_os_dir_t'
  -  },
  -  {
  -    'elts' => [],
  -    'type' => 'ap_HOOK_default_port_t'
  -  },
  -  {
  -    'elts' => [],
  -    'type' => 'ap_HOOK_http_method_t'
  -  },
  -  {
  -    'elts' => [],
  -    'type' => 'apr_os_sock_t'
  -  },
  -  {
  -    'elts' => [],
  -    'type' => 'cmd_func'
  -  },
  -  {
  -    'elts' => [
  -      {
  -        'name' => 'pFunc',
  -        'type' => 'ap_HOOK_post_read_request_t *'
  +        'type' => 'apr_time_t',
  +        'name' => 'request_time'
         },
         {
  -        'name' => 'szName',
  -        'type' => 'const char *'
  +        'type' => 'const char *',
  +        'name' => 'status_line'
         },
         {
  -        'name' => 'aszPredecessors',
  -        'type' => 'const char * const *'
  +        'type' => 'int',
  +        'name' => 'status'
         },
         {
  -        'name' => 'aszSuccessors',
  -        'type' => 'const char * const *'
  +        'type' => 'const char *',
  +        'name' => 'method'
         },
  -      {
  -        'name' => 'nOrder',
  -        'type' => 'int'
  -      }
  -    ],
  -    'type' => 'ap_LINK_post_read_request_t'
  -  },
  -  {
  -    'elts' => [],
  -    'type' => 'ap_HOOK_process_connection_t'
  -  },
  -  {
  -    'elts' => [],
  -    'type' => 'apr_dev_t'
  -  },
  -  {
  -    'elts' => [
         {
  -        'name' => 'name',
  -        'type' => 'const char *'
  +        'type' => 'int',
  +        'name' => 'method_number'
         },
         {
  -        'name' => 'num_func',
  -        'type' => 'int'
  +        'type' => 'int',
  +        'name' => 'allowed'
         },
         {
  -        'name' => 'destroy',
  -        'type' => 'void(*)(void *data)'
  +        'type' => 'apr_array_header_t *',
  +        'name' => 'allowed_xmethods'
         },
         {
  -        'name' => 'read',
  -        'type' => 'apr_status_t(*)(apr_bucket *b, const char **str, apr_size_t *len, apr_read_type_e block)'
  +        'type' => 'ap_method_list_t *',
  +        'name' => 'allowed_methods'
         },
         {
  -        'name' => 'setaside',
  -        'type' => 'apr_status_t(*)(apr_bucket *e, apr_pool_t *pool)'
  +        'type' => 'int',
  +        'name' => 'sent_bodyct'
         },
         {
  -        'name' => 'split',
  -        'type' => 'apr_status_t(*)(apr_bucket *e, apr_off_t point)'
  +        'type' => 'long',
  +        'name' => 'bytes_sent'
         },
         {
  -        'name' => 'copy',
  -        'type' => 'apr_status_t(*)(apr_bucket *e, apr_bucket **c)'
  -      }
  -    ],
  -    'type' => 'apr_bucket_type_t'
  -  },
  -  {
  -    'elts' => [],
  -    'type' => 'apr_wait_how_e'
  -  },
  -  {
  -    'elts' => [],
  -    'type' => 'ap_HOOK_post_read_request_t'
  -  },
  -  {
  -    'elts' => [],
  -    'type' => 'apr_int16_t'
  -  },
  -  {
  -    'elts' => [
  -      {
  -        'name' => 'text',
  -        'type' => 'const char *'
  +        'type' => 'apr_time_t',
  +        'name' => 'mtime'
         },
         {
  -        'name' => 'next',
  -        'type' => 'apr_text *'
  -      }
  -    ],
  -    'type' => 'apr_text'
  -  },
  -  {
  -    'elts' => [
  -      {
  -        'name' => 'pFunc',
  -        'type' => 'ap_HOOK_header_parser_t *'
  +        'type' => 'int',
  +        'name' => 'chunked'
         },
         {
  -        'name' => 'szName',
  -        'type' => 'const char *'
  +        'type' => 'const char *',
  +        'name' => 'boundary'
         },
         {
  -        'name' => 'aszPredecessors',
  -        'type' => 'const char * const *'
  +        'type' => 'const char *',
  +        'name' => 'range'
         },
         {
  -        'name' => 'aszSuccessors',
  -        'type' => 'const char * const *'
  +        'type' => 'apr_off_t',
  +        'name' => 'clength'
         },
  -      {
  -        'name' => 'nOrder',
  -        'type' => 'int'
  -      }
  -    ],
  -    'type' => 'ap_LINK_header_parser_t'
  -  },
  -  {
  -    'elts' => [],
  -    'type' => 'apr_dso_handle_t'
  -  },
  -  {
  -    'elts' => [
         {
  -        'name' => 'pFunc',
  -        'type' => 'ap_HOOK_get_mgmt_items_t *'
  +        'type' => 'apr_size_t',
  +        'name' => 'remaining'
         },
         {
  -        'name' => 'szName',
  -        'type' => 'const char *'
  +        'type' => 'long',
  +        'name' => 'read_length'
         },
         {
  -        'name' => 'aszPredecessors',
  -        'type' => 'const char * const *'
  +        'type' => 'int',
  +        'name' => 'read_body'
         },
         {
  -        'name' => 'aszSuccessors',
  -        'type' => 'const char * const *'
  +        'type' => 'int',
  +        'name' => 'read_chunked'
         },
  -      {
  -        'name' => 'nOrder',
  -        'type' => 'int'
  -      }
  -    ],
  -    'type' => 'ap_LINK_get_mgmt_items_t'
  -  },
  -  {
  -    'elts' => [],
  -    'type' => 'ap_HOOK_insert_filter_t'
  -  },
  -  {
  -    'elts' => [],
  -    'type' => 'apr_lock_t'
  -  },
  -  {
  -    'elts' => [],
  -    'type' => 'apr_os_dso_handle_t'
  -  },
  -  {
  -    'elts' => [],
  -    'type' => 'apr_dso_handle_sym_t'
  -  },
  -  {
  -    'elts' => [],
  -    'type' => 'apr_sdbm_t'
  -  },
  -  {
  -    'elts' => [],
  -    'type' => 'apr_socklen_t'
  -  },
  -  {
  -    'elts' => [
         {
  -        'name' => 's_addr',
  -        'type' => 'in_addr_t'
  -      }
  -    ],
  -    'type' => 'apr_in_addr_t'
  -  },
  -  {
  -    'elts' => [
  -      {
  -        'name' => 'pFunc',
  -        'type' => 'ap_HOOK_optional_fn_retrieve_t *'
  +        'type' => 'unsigned',
  +        'name' => 'expecting_100'
         },
         {
  -        'name' => 'szName',
  -        'type' => 'const char *'
  +        'type' => 'apr_table_t *',
  +        'name' => 'headers_in'
         },
         {
  -        'name' => 'aszPredecessors',
  -        'type' => 'const char * const *'
  +        'type' => 'apr_table_t *',
  +        'name' => 'headers_out'
         },
         {
  -        'name' => 'aszSuccessors',
  -        'type' => 'const char * const *'
  +        'type' => 'apr_table_t *',
  +        'name' => 'err_headers_out'
         },
  -      {
  -        'name' => 'nOrder',
  -        'type' => 'int'
  -      }
  -    ],
  -    'type' => 'ap_LINK_optional_fn_retrieve_t'
  -  },
  -  {
  -    'elts' => [
         {
  -        'name' => 'pFunc',
  -        'type' => 'ap_HOOK_fixups_t *'
  +        'type' => 'apr_table_t *',
  +        'name' => 'subprocess_env'
         },
         {
  -        'name' => 'szName',
  -        'type' => 'const char *'
  +        'type' => 'apr_table_t *',
  +        'name' => 'notes'
         },
         {
  -        'name' => 'aszPredecessors',
  -        'type' => 'const char * const *'
  +        'type' => 'const char *',
  +        'name' => 'content_type'
         },
         {
  -        'name' => 'aszSuccessors',
  -        'type' => 'const char * const *'
  +        'type' => 'const char *',
  +        'name' => 'handler'
         },
  -      {
  -        'name' => 'nOrder',
  -        'type' => 'int'
  -      }
  -    ],
  -    'type' => 'ap_LINK_fixups_t'
  -  },
  -  {
  -    'elts' => [],
  -    'type' => 'apr_locktype_e'
  -  },
  -  {
  -    'elts' => [],
  -    'type' => 'apr_abortfunc_t'
  -  },
  -  {
  -    'elts' => [],
  -    'type' => 'ap_HOOK_access_checker_t'
  -  },
  -  {
  -    'elts' => [
         {
  -        'name' => 'p',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'const char *',
  +        'name' => 'content_encoding'
         },
         {
  -        'name' => 'list',
  -        'type' => 'apr_bucket_list'
  -      }
  -    ],
  -    'type' => 'apr_bucket_brigade'
  -  },
  -  {
  -    'elts' => [],
  -    'type' => 'apr_os_thread_t'
  -  },
  -  {
  -    'elts' => [],
  -    'type' => 'ap_HOOK_error_log_t'
  -  },
  -  {
  -    'elts' => [
  -      {
  -        'name' => 'version',
  -        'type' => 'int'
  +        'type' => 'const char *',
  +        'name' => 'content_language'
         },
         {
  -        'name' => 'minor_version',
  -        'type' => 'int'
  +        'type' => 'apr_array_header_t *',
  +        'name' => 'content_languages'
         },
         {
  -        'name' => 'module_index',
  -        'type' => 'int'
  +        'type' => 'char *',
  +        'name' => 'vlist_validator'
         },
         {
  -        'name' => 'name',
  -        'type' => 'const char *'
  +        'type' => 'char *',
  +        'name' => 'user'
         },
         {
  -        'name' => 'dynamic_load_handle',
  -        'type' => 'void *'
  +        'type' => 'char *',
  +        'name' => 'ap_auth_type'
         },
         {
  -        'name' => 'next',
  -        'type' => 'module_struct *'
  +        'type' => 'int',
  +        'name' => 'no_cache'
         },
         {
  -        'name' => 'magic',
  -        'type' => 'unsigned long'
  +        'type' => 'int',
  +        'name' => 'no_local_copy'
         },
         {
  -        'name' => 'rewrite_args',
  -        'type' => 'void(*) (process_rec *process)'
  +        'type' => 'char *',
  +        'name' => 'unparsed_uri'
         },
         {
  -        'name' => 'create_dir_config',
  -        'type' => 'void *(*) (apr_pool_t *p, char *dir)'
  +        'type' => 'char *',
  +        'name' => 'uri'
         },
         {
  -        'name' => 'merge_dir_config',
  -        'type' => 'void *(*) (apr_pool_t *p, void *base_conf, void *new_conf)'
  +        'type' => 'char *',
  +        'name' => 'filename'
         },
         {
  -        'name' => 'create_server_config',
  -        'type' => 'void *(*) (apr_pool_t *p, server_rec *s)'
  +        'type' => 'char *',
  +        'name' => 'path_info'
         },
         {
  -        'name' => 'merge_server_config',
  -        'type' => 'void *(*) (apr_pool_t *p, void *base_conf, void *new_conf)'
  +        'type' => 'char *',
  +        'name' => 'args'
         },
         {
  -        'name' => 'cmds',
  -        'type' => 'const command_rec *'
  +        'type' => 'apr_finfo_t',
  +        'name' => 'finfo'
         },
         {
  -        'name' => 'register_hooks',
  -        'type' => 'void(*) (apr_pool_t *p)'
  -      }
  -    ],
  -    'type' => 'module'
  -  },
  -  {
  -    'elts' => [],
  -    'type' => 'ap_HOOK_handler_t'
  -  },
  -  {
  -    'elts' => [
  -      {
  -        'name' => 'pool',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'apr_uri_components',
  +        'name' => 'parsed_uri'
         },
         {
  -        'name' => 'hostname',
  -        'type' => 'char *'
  +        'type' => 'ap_conf_vector_t *',
  +        'name' => 'per_dir_config'
         },
         {
  -        'name' => 'servname',
  -        'type' => 'char *'
  +        'type' => 'ap_conf_vector_t *',
  +        'name' => 'request_config'
         },
         {
  -        'name' => 'port',
  -        'type' => 'apr_port_t'
  +        'type' => 'const struct htaccess_result *',
  +        'name' => 'htaccess'
         },
         {
  -        'name' => 'family',
  -        'type' => 'apr_int32_t'
  +        'type' => 'ap_filter_t *',
  +        'name' => 'output_filters'
         },
         {
  -        'name' => 'sa',
  -        'type' => 'union _ANON 1'
  +        'type' => 'ap_filter_t *',
  +        'name' => 'input_filters'
         },
         {
  -        'name' => 'salen',
  -        'type' => 'apr_socklen_t'
  -      },
  +        'type' => 'int',
  +        'name' => 'eos_sent'
  +      }
  +    ]
  +  },
  +  {
  +    'type' => 'server_addr_rec',
  +    'elts' => [
         {
  -        'name' => 'ipaddr_len',
  -        'type' => 'int'
  +        'type' => 'server_addr_rec *',
  +        'name' => 'next'
         },
         {
  -        'name' => 'addr_str_len',
  -        'type' => 'int'
  +        'type' => 'apr_sockaddr_t *',
  +        'name' => 'host_addr'
         },
         {
  -        'name' => 'ipaddr_ptr',
  -        'type' => 'void *'
  +        'type' => 'apr_port_t',
  +        'name' => 'host_port'
         },
         {
  -        'name' => 'next',
  -        'type' => 'apr_sockaddr_t *'
  +        'type' => 'char *',
  +        'name' => 'virthost'
         }
  -    ],
  -    'type' => 'apr_sockaddr_t'
  -  },
  -  {
  -    'elts' => [],
  -    'type' => 'ap_HOOK_quick_handler_t'
  -  },
  -  {
  -    'elts' => [],
  -    'type' => 'apr_hash_t'
  +    ]
     },
     {
  +    'type' => 'server_rec',
       'elts' => [
         {
  -        'name' => 'info',
  -        'type' => 'void *'
  +        'type' => 'process_rec *',
  +        'name' => 'process'
         },
         {
  -        'name' => 'override',
  -        'type' => 'int'
  +        'type' => 'server_rec *',
  +        'name' => 'next'
         },
         {
  -        'name' => 'limited',
  -        'type' => 'int'
  +        'type' => 'const char *',
  +        'name' => 'defn_name'
         },
         {
  -        'name' => 'limited_xmethods',
  -        'type' => 'apr_array_header_t *'
  +        'type' => 'unsigned',
  +        'name' => 'defn_line_number'
         },
         {
  -        'name' => 'xlimited',
  -        'type' => 'ap_method_list_t *'
  +        'type' => 'char *',
  +        'name' => 'server_admin'
         },
         {
  -        'name' => 'config_file',
  -        'type' => 'ap_configfile_t *'
  +        'type' => 'char *',
  +        'name' => 'server_hostname'
         },
         {
  -        'name' => 'directive',
  -        'type' => 'ap_directive_t *'
  +        'type' => 'apr_port_t',
  +        'name' => 'port'
         },
         {
  -        'name' => 'pool',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'char *',
  +        'name' => 'error_fname'
         },
         {
  -        'name' => 'temp_pool',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'apr_file_t *',
  +        'name' => 'error_log'
         },
         {
  -        'name' => 'server',
  -        'type' => 'server_rec *'
  +        'type' => 'int',
  +        'name' => 'loglevel'
         },
         {
  -        'name' => 'path',
  -        'type' => 'char *'
  +        'type' => 'int',
  +        'name' => 'is_virtual'
         },
         {
  -        'name' => 'cmd',
  -        'type' => 'const command_rec *'
  +        'type' => 'ap_conf_vector_t *',
  +        'name' => 'module_config'
         },
         {
  -        'name' => 'context',
  -        'type' => 'ap_conf_vector_t *'
  +        'type' => 'ap_conf_vector_t *',
  +        'name' => 'lookup_defaults'
         },
         {
  -        'name' => 'err_directive',
  -        'type' => 'const ap_directive_t *'
  -      }
  -    ],
  -    'type' => 'cmd_parms'
  -  },
  -  {
  -    'elts' => [
  -      {
  -        'name' => 'pFunc',
  -        'type' => 'ap_HOOK_quick_handler_t *'
  +        'type' => 'server_addr_rec *',
  +        'name' => 'addrs'
         },
         {
  -        'name' => 'szName',
  -        'type' => 'const char *'
  +        'type' => 'int',
  +        'name' => 'timeout'
         },
         {
  -        'name' => 'aszPredecessors',
  -        'type' => 'const char * const *'
  +        'type' => 'int',
  +        'name' => 'keep_alive_timeout'
         },
         {
  -        'name' => 'aszSuccessors',
  -        'type' => 'const char * const *'
  +        'type' => 'int',
  +        'name' => 'keep_alive_max'
         },
         {
  -        'name' => 'nOrder',
  -        'type' => 'int'
  -      }
  -    ],
  -    'type' => 'ap_LINK_quick_handler_t'
  -  },
  -  {
  -    'elts' => [
  -      {
  -        'name' => 'pFunc',
  -        'type' => 'ap_HOOK_check_user_id_t *'
  +        'type' => 'int',
  +        'name' => 'keep_alive'
         },
         {
  -        'name' => 'szName',
  -        'type' => 'const char *'
  +        'type' => 'const char *',
  +        'name' => 'path'
         },
         {
  -        'name' => 'aszPredecessors',
  -        'type' => 'const char * const *'
  +        'type' => 'int',
  +        'name' => 'pathlen'
         },
         {
  -        'name' => 'aszSuccessors',
  -        'type' => 'const char * const *'
  +        'type' => 'apr_array_header_t *',
  +        'name' => 'names'
         },
  -      {
  -        'name' => 'nOrder',
  -        'type' => 'int'
  -      }
  -    ],
  -    'type' => 'ap_LINK_check_user_id_t'
  -  },
  -  {
  -    'elts' => [
         {
  -        'name' => 'state',
  -        'type' => 'apr_uint32_t[4]'
  +        'type' => 'apr_array_header_t *',
  +        'name' => 'wild_names'
         },
         {
  -        'name' => 'count',
  -        'type' => 'apr_uint32_t[2]'
  +        'type' => 'int',
  +        'name' => 'limit_req_line'
         },
         {
  -        'name' => 'buffer',
  -        'type' => 'unsigned char[64]'
  +        'type' => 'int',
  +        'name' => 'limit_req_fieldsize'
         },
         {
  -        'name' => 'xlate',
  -        'type' => 'apr_xlate_t *'
  +        'type' => 'int',
  +        'name' => 'limit_req_fields'
         }
  -    ],
  -    'type' => 'apr_md4_ctx_t'
  +    ]
     },
     {
  -    'elts' => [],
  -    'type' => 'apr_xlate_t'
  -  },
  -  {
  -    'elts' => [],
  -    'type' => 'apr_hash_index_t'
  -  },
  -  {
  -    'elts' => [],
  -    'type' => 'apr_lockscope_e'
  -  },
  -  {
  +    'type' => 'unixd_config_rec',
       'elts' => [
  +      {
  +        'type' => 'const char *',
  +        'name' => 'user_name'
  +      },
  +      {
  +        'type' => 'uid_t',
  +        'name' => 'user_id'
  +      },
         {
  -        'name' => 'status',
  -        'type' => 'int'
  +        'type' => 'gid_t',
  +        'name' => 'group_id'
         },
         {
  -        'name' => 'data',
  -        'type' => 'const char *'
  +        'type' => 'int',
  +        'name' => 'suexec_enabled'
         }
  -    ],
  -    'type' => 'ap_bucket_error'
  -  },
  -  {
  -    'elts' => [],
  -    'type' => 'ap_HOOK_open_logs_t'
  -  },
  -  {
  -    'elts' => [],
  -    'type' => 'apr_uint32_t'
  +    ]
     }
   ];
   
  
  
  
  1.18      +2205 -2205modperl-2.0/xs/tables/current/ModPerl/FunctionTable.pm
  
  Index: FunctionTable.pm
  ===================================================================
  RCS file: /home/cvs/modperl-2.0/xs/tables/current/ModPerl/FunctionTable.pm,v
  retrieving revision 1.17
  retrieving revision 1.18
  diff -u -r1.17 -r1.18
  --- FunctionTable.pm	2001/05/22 20:45:45	1.17
  +++ FunctionTable.pm	2001/06/28 17:33:00	1.18
  @@ -2,3936 +2,3936 @@
   
   # !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
   # ! WARNING: generated by ModPerl::ParseSource/0.01
  -# !          Tue May 22 13:17:52 2001
  +# !          Thu Jun 28 10:21:20 2001
   # !          do NOT edit, any changes will be lost !
   # !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
   
   $ModPerl::FunctionTable = [
     {
  -    'return_type' => 'U32',
  +    'return_type' => 'int',
  +    'name' => 'modperl_access_handler',
       'args' => [
         {
  -        'name' => 'str',
  -        'type' => 'const char *'
  +        'type' => 'request_rec *',
  +        'name' => 'r'
         }
  -    ],
  -    'name' => 'modperl_flags_lookup_dir'
  +    ]
     },
     {
  -    'return_type' => 'U32',
  +    'return_type' => 'char *',
  +    'name' => 'modperl_apr_strerror',
       'args' => [
         {
  -        'name' => 'str',
  -        'type' => 'const char *'
  +        'type' => 'apr_status_t',
  +        'name' => 'rv'
         }
  -    ],
  -    'name' => 'modperl_flags_lookup_srv'
  +    ]
     },
     {
       'return_type' => 'int',
  +    'name' => 'modperl_authen_handler',
       'args' => [
         {
  -        'name' => 'c',
  -        'type' => 'conn_rec *'
  +        'type' => 'request_rec *',
  +        'name' => 'r'
         }
  -    ],
  -    'name' => 'modperl_pre_connection_handler'
  +    ]
     },
     {
       'return_type' => 'int',
  +    'name' => 'modperl_authz_handler',
       'args' => [
         {
  -        'name' => 'c',
  -        'type' => 'conn_rec *'
  +        'type' => 'request_rec *',
  +        'name' => 'r'
         }
  -    ],
  -    'name' => 'modperl_process_connection_handler'
  +    ]
     },
     {
       'return_type' => 'void',
  +    'name' => 'modperl_brigade_dump',
       'args' => [
         {
  -        'name' => 'p',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'apr_bucket_brigade *',
  +        'name' => 'bb'
         },
         {
  -        'name' => 's',
  -        'type' => 'server_rec *'
  +        'type' => 'FILE *',
  +        'name' => 'fp'
         }
  -    ],
  -    'name' => 'modperl_child_init_handler'
  +    ]
     },
     {
  -    'return_type' => 'int',
  +    'return_type' => 'apr_status_t',
  +    'name' => 'modperl_bucket_read',
       'args' => [
         {
  -        'name' => 'r',
  -        'type' => 'request_rec *'
  -      }
  -    ],
  -    'name' => 'modperl_header_parser_handler'
  -  },
  -  {
  -    'return_type' => 'int',
  -    'args' => [
  +        'type' => 'apr_bucket *',
  +        'name' => 'bucket'
  +      },
         {
  -        'name' => 'r',
  -        'type' => 'request_rec *'
  -      }
  -    ],
  -    'name' => 'modperl_access_handler'
  -  },
  -  {
  -    'return_type' => 'int',
  -    'args' => [
  +        'type' => 'const char **',
  +        'name' => 'str'
  +      },
         {
  -        'name' => 'r',
  -        'type' => 'request_rec *'
  -      }
  -    ],
  -    'name' => 'modperl_authen_handler'
  -  },
  -  {
  -    'return_type' => 'int',
  -    'args' => [
  +        'type' => 'apr_size_t *',
  +        'name' => 'len'
  +      },
         {
  -        'name' => 'r',
  -        'type' => 'request_rec *'
  +        'type' => 'apr_read_type_e',
  +        'name' => 'block'
         }
  -    ],
  -    'name' => 'modperl_authz_handler'
  +    ]
     },
     {
  -    'return_type' => 'int',
  +    'return_type' => 'apr_bucket *',
  +    'name' => 'modperl_bucket_sv_create',
       'args' => [
         {
  -        'name' => 'r',
  -        'type' => 'request_rec *'
  -      }
  -    ],
  -    'name' => 'modperl_type_handler'
  -  },
  -  {
  -    'return_type' => 'int',
  -    'args' => [
  +        'type' => 'PerlInterpreter *',
  +        'name' => 'my_perl'
  +      },
         {
  -        'name' => 'r',
  -        'type' => 'request_rec *'
  -      }
  -    ],
  -    'name' => 'modperl_fixup_handler'
  -  },
  -  {
  -    'return_type' => 'int',
  -    'args' => [
  +        'type' => 'SV *',
  +        'name' => 'sv'
  +      },
         {
  -        'name' => 'r',
  -        'type' => 'request_rec *'
  -      }
  -    ],
  -    'name' => 'modperl_log_handler'
  -  },
  -  {
  -    'return_type' => 'int',
  -    'args' => [
  +        'type' => 'int',
  +        'name' => 'offset'
  +      },
         {
  -        'name' => 'r',
  -        'type' => 'request_rec *'
  +        'type' => 'int',
  +        'name' => 'len'
         }
  -    ],
  -    'name' => 'modperl_post_read_request_handler'
  +    ]
     },
     {
       'return_type' => 'int',
  +    'name' => 'modperl_callback',
       'args' => [
         {
  -        'name' => 'r',
  -        'type' => 'request_rec *'
  -      }
  -    ],
  -    'name' => 'modperl_trans_handler'
  -  },
  -  {
  -    'return_type' => 'void',
  -    'args' => [
  +        'type' => 'PerlInterpreter *',
  +        'name' => 'my_perl'
  +      },
         {
  -        'name' => 'pconf',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'modperl_handler_t *',
  +        'name' => 'handler'
         },
         {
  -        'name' => 'plog',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'p'
         },
         {
  -        'name' => 'ptemp',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'server_rec *',
  +        'name' => 's'
         },
         {
  -        'name' => 's',
  -        'type' => 'server_rec *'
  +        'type' => 'AV *',
  +        'name' => 'args'
         }
  -    ],
  -    'name' => 'modperl_open_logs_handler'
  +    ]
     },
     {
  -    'return_type' => 'void',
  +    'return_type' => 'int',
  +    'name' => 'modperl_callback_connection',
       'args' => [
         {
  -        'name' => 'pconf',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'int',
  +        'name' => 'idx'
         },
         {
  -        'name' => 'plog',
  -        'type' => 'apr_pool_t *'
  -      },
  -      {
  -        'name' => 'ptemp',
  -        'type' => 'apr_pool_t *'
  -      },
  -      {
  -        'name' => 's',
  -        'type' => 'server_rec *'
  +        'type' => 'conn_rec *',
  +        'name' => 'c'
         }
  -    ],
  -    'name' => 'modperl_post_config_handler'
  +    ]
     },
     {
       'return_type' => 'void',
  -    'args' => [],
  -    'name' => 'modperl_register_handler_hooks'
  -  },
  -  {
  -    'return_type' => 'const char *',
  +    'name' => 'modperl_callback_files',
       'args' => [
         {
  -        'name' => 'idx',
  -        'type' => 'int'
  -      }
  -    ],
  -    'name' => 'modperl_handler_desc_connection'
  -  },
  -  {
  -    'return_type' => 'const char *',
  -    'args' => [
  +        'type' => 'int',
  +        'name' => 'idx'
  +      },
         {
  -        'name' => 'idx',
  -        'type' => 'int'
  -      }
  -    ],
  -    'name' => 'modperl_handler_desc_process'
  -  },
  -  {
  -    'return_type' => 'const char *',
  -    'args' => [
  +        'type' => 'apr_pool_t *',
  +        'name' => 'pconf'
  +      },
         {
  -        'name' => 'idx',
  -        'type' => 'int'
  -      }
  -    ],
  -    'name' => 'modperl_handler_desc_files'
  -  },
  -  {
  -    'return_type' => 'const char *',
  -    'args' => [
  +        'type' => 'apr_pool_t *',
  +        'name' => 'plog'
  +      },
         {
  -        'name' => 'idx',
  -        'type' => 'int'
  -      }
  -    ],
  -    'name' => 'modperl_handler_desc_per_srv'
  -  },
  -  {
  -    'return_type' => 'const char *',
  -    'args' => [
  +        'type' => 'apr_pool_t *',
  +        'name' => 'ptemp'
  +      },
         {
  -        'name' => 'idx',
  -        'type' => 'int'
  +        'type' => 'server_rec *',
  +        'name' => 's'
         }
  -    ],
  -    'name' => 'modperl_handler_desc_per_dir'
  +    ]
     },
     {
       'return_type' => 'int',
  +    'name' => 'modperl_callback_per_dir',
       'args' => [
         {
  -        'name' => 'name',
  -        'type' => 'const char *'
  +        'type' => 'int',
  +        'name' => 'idx'
         },
         {
  -        'name' => 'type',
  -        'type' => 'int *'
  +        'type' => 'request_rec *',
  +        'name' => 'r'
         }
  -    ],
  -    'name' => 'modperl_handler_lookup'
  +    ]
     },
     {
  -    'return_type' => 'server_rec *',
  +    'return_type' => 'int',
  +    'name' => 'modperl_callback_per_srv',
       'args' => [
         {
  -        'name' => 'my_perl',
  -        'type' => 'PerlInterpreter *'
  +        'type' => 'int',
  +        'name' => 'idx'
         },
         {
  -        'name' => 'sv',
  -        'type' => 'SV *'
  +        'type' => 'request_rec *',
  +        'name' => 'r'
         }
  -    ],
  -    'name' => 'modperl_sv2server_rec'
  +    ]
     },
     {
  -    'return_type' => 'request_rec *',
  +    'return_type' => 'void',
  +    'name' => 'modperl_callback_process',
       'args' => [
  +      {
  +        'type' => 'int',
  +        'name' => 'idx'
  +      },
         {
  -        'name' => 'my_perl',
  -        'type' => 'PerlInterpreter *'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'p'
         },
         {
  -        'name' => 'sv',
  -        'type' => 'SV *'
  +        'type' => 'server_rec *',
  +        'name' => 's'
         }
  -    ],
  -    'name' => 'modperl_sv2request_rec'
  +    ]
     },
     {
  -    'return_type' => 'request_rec *',
  +    'return_type' => 'int',
  +    'name' => 'modperl_callback_run_handlers',
       'args' => [
         {
  -        'name' => 'my_perl',
  -        'type' => 'PerlInterpreter *'
  +        'type' => 'int',
  +        'name' => 'idx'
         },
         {
  -        'name' => 'sv',
  -        'type' => 'SV *'
  +        'type' => 'int',
  +        'name' => 'type'
         },
         {
  -        'name' => 'classname',
  -        'type' => 'char *'
  +        'type' => 'request_rec *',
  +        'name' => 'r'
         },
         {
  -        'name' => 'cv',
  -        'type' => 'CV *'
  -      }
  -    ],
  -    'name' => 'modperl_xs_sv2request_rec'
  -  },
  -  {
  -    'return_type' => 'SV *',
  -    'args' => [
  +        'type' => 'conn_rec *',
  +        'name' => 'c'
  +      },
         {
  -        'name' => 'my_perl',
  -        'type' => 'PerlInterpreter *'
  +        'type' => 'server_rec *',
  +        'name' => 's'
         },
         {
  -        'name' => 'stashsv',
  -        'type' => 'SV *'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'pconf'
         },
         {
  -        'name' => 'obj',
  -        'type' => 'SV *'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'plog'
  +      },
  +      {
  +        'type' => 'apr_pool_t *',
  +        'name' => 'ptemp'
         }
  -    ],
  -    'name' => 'modperl_newSVsv_obj'
  +    ]
     },
     {
  -    'return_type' => 'SV *',
  +    'return_type' => 'int',
  +    'name' => 'modperl_cgi_header_parse',
       'args' => [
         {
  -        'name' => 'my_perl',
  -        'type' => 'PerlInterpreter *'
  +        'type' => 'request_rec *',
  +        'name' => 'r'
         },
         {
  -        'name' => 'classname',
  -        'type' => 'char *'
  +        'type' => 'char *',
  +        'name' => 'buffer'
         },
         {
  -        'name' => 'ptr',
  -        'type' => 'void *'
  +        'type' => 'const char **',
  +        'name' => 'bodytext'
         }
  -    ],
  -    'name' => 'modperl_ptr2obj'
  +    ]
     },
     {
  -    'return_type' => 'apr_pool_t *',
  +    'return_type' => 'void',
  +    'name' => 'modperl_child_init_handler',
       'args' => [
         {
  -        'name' => 'my_perl',
  -        'type' => 'PerlInterpreter *'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'p'
         },
         {
  -        'name' => 'obj',
  -        'type' => 'SV *'
  +        'type' => 'server_rec *',
  +        'name' => 's'
         }
  -    ],
  -    'name' => 'modperl_sv2pool'
  +    ]
     },
     {
  -    'return_type' => 'char *',
  +    'return_type' => 'modperl_cleanup_data_t *',
  +    'name' => 'modperl_cleanup_data_new',
       'args' => [
  +      {
  +        'type' => 'apr_pool_t *',
  +        'name' => 'p'
  +      },
         {
  -        'name' => 'rv',
  -        'type' => 'apr_status_t'
  +        'type' => 'void *',
  +        'name' => 'data'
         }
  -    ],
  -    'name' => 'modperl_apr_strerror'
  +    ]
     },
     {
  -    'return_type' => 'int',
  +    'return_type' => 'const char *',
  +    'name' => 'modperl_cmd_access_handlers',
       'args' => [
  -      {
  -        'name' => 'my_perl',
  -        'type' => 'PerlInterpreter *'
  -      },
         {
  -        'name' => 'status',
  -        'type' => 'int'
  +        'type' => 'cmd_parms *',
  +        'name' => 'parms'
         },
         {
  -        'name' => 'r',
  -        'type' => 'request_rec *'
  +        'type' => 'void *',
  +        'name' => 'dummy'
         },
         {
  -        'name' => 's',
  -        'type' => 'server_rec *'
  +        'type' => 'const char *',
  +        'name' => 'arg'
         }
  -    ],
  -    'name' => 'modperl_errsv'
  +    ]
     },
     {
  -    'return_type' => 'int',
  +    'return_type' => 'const char *',
  +    'name' => 'modperl_cmd_authen_handlers',
       'args' => [
         {
  -        'name' => 'my_perl',
  -        'type' => 'PerlInterpreter *'
  +        'type' => 'cmd_parms *',
  +        'name' => 'parms'
         },
         {
  -        'name' => 'pv',
  -        'type' => 'const char *'
  +        'type' => 'void *',
  +        'name' => 'dummy'
         },
         {
  -        'name' => 'logfailure',
  -        'type' => 'int'
  +        'type' => 'const char *',
  +        'name' => 'arg'
         }
  -    ],
  -    'name' => 'modperl_require_module'
  +    ]
     },
     {
  -    'return_type' => 'char *',
  +    'return_type' => 'const char *',
  +    'name' => 'modperl_cmd_authz_handlers',
       'args' => [
         {
  -        'name' => 's',
  -        'type' => 'server_rec *'
  +        'type' => 'cmd_parms *',
  +        'name' => 'parms'
         },
         {
  -        'name' => 'p',
  -        'type' => 'apr_pool_t *'
  -      }
  -    ],
  -    'name' => 'modperl_server_desc'
  -  },
  -  {
  -    'return_type' => 'void',
  -    'args' => [
  +        'type' => 'void *',
  +        'name' => 'dummy'
  +      },
         {
  -        'name' => 'my_perl',
  -        'type' => 'PerlInterpreter *'
  +        'type' => 'const char *',
  +        'name' => 'arg'
         }
  -    ],
  -    'name' => 'modperl_xs_dl_handles_clear'
  +    ]
     },
     {
  -    'return_type' => 'apr_array_header_t *',
  +    'return_type' => 'const char *',
  +    'name' => 'modperl_cmd_child_init_handlers',
       'args' => [
         {
  -        'name' => 'my_perl',
  -        'type' => 'PerlInterpreter *'
  +        'type' => 'cmd_parms *',
  +        'name' => 'parms'
         },
         {
  -        'name' => 'p',
  -        'type' => 'apr_pool_t *'
  -      }
  -    ],
  -    'name' => 'modperl_xs_dl_handles_get'
  -  },
  -  {
  -    'return_type' => 'void',
  -    'args' => [
  -      {
  -        'name' => 'p',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'void *',
  +        'name' => 'dummy'
         },
         {
  -        'name' => 'handles',
  -        'type' => 'apr_array_header_t *'
  +        'type' => 'const char *',
  +        'name' => 'arg'
         }
  -    ],
  -    'name' => 'modperl_xs_dl_handles_close'
  +    ]
     },
     {
  -    'return_type' => 'modperl_cleanup_data_t *',
  +    'return_type' => 'const char *',
  +    'name' => 'modperl_cmd_fixup_handlers',
       'args' => [
         {
  -        'name' => 'p',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'cmd_parms *',
  +        'name' => 'parms'
         },
         {
  -        'name' => 'data',
  -        'type' => 'void *'
  -      }
  -    ],
  -    'name' => 'modperl_cleanup_data_new'
  -  },
  -  {
  -    'return_type' => 'modperl_uri_t *',
  -    'args' => [
  +        'type' => 'void *',
  +        'name' => 'dummy'
  +      },
         {
  -        'name' => 'p',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'const char *',
  +        'name' => 'arg'
         }
  -    ],
  -    'name' => 'modperl_uri_new'
  +    ]
     },
     {
  -    'return_type' => 'void *',
  +    'return_type' => 'const char *',
  +    'name' => 'modperl_cmd_header_parser_handlers',
       'args' => [
  +      {
  +        'type' => 'cmd_parms *',
  +        'name' => 'parms'
  +      },
         {
  -        'name' => 'p',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'void *',
  +        'name' => 'dummy'
         },
         {
  -        'name' => 'dir',
  -        'type' => 'char *'
  +        'type' => 'const char *',
  +        'name' => 'arg'
         }
  -    ],
  -    'name' => 'modperl_config_dir_create'
  +    ]
     },
     {
  -    'return_type' => 'void *',
  +    'return_type' => 'const char *',
  +    'name' => 'modperl_cmd_input_filter_handlers',
       'args' => [
         {
  -        'name' => 'p',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'cmd_parms *',
  +        'name' => 'parms'
         },
         {
  -        'name' => 'basev',
  -        'type' => 'void *'
  +        'type' => 'void *',
  +        'name' => 'dummy'
         },
         {
  -        'name' => 'addv',
  -        'type' => 'void *'
  +        'type' => 'const char *',
  +        'name' => 'arg'
         }
  -    ],
  -    'name' => 'modperl_config_dir_merge'
  +    ]
     },
     {
  -    'return_type' => 'modperl_config_srv_t *',
  +    'return_type' => 'const char *',
  +    'name' => 'modperl_cmd_interp_max',
       'args' => [
         {
  -        'name' => 'p',
  -        'type' => 'apr_pool_t *'
  -      }
  -    ],
  -    'name' => 'modperl_config_srv_new'
  -  },
  -  {
  -    'return_type' => 'modperl_config_dir_t *',
  -    'args' => [
  +        'type' => 'cmd_parms *',
  +        'name' => 'parms'
  +      },
         {
  -        'name' => 'p',
  -        'type' => 'apr_pool_t *'
  -      }
  -    ],
  -    'name' => 'modperl_config_dir_new'
  -  },
  -  {
  -    'return_type' => 'modperl_config_req_t *',
  -    'args' => [
  +        'type' => 'void *',
  +        'name' => 'dummy'
  +      },
         {
  -        'name' => 'r',
  -        'type' => 'request_rec *'
  +        'type' => 'const char *',
  +        'name' => 'arg'
         }
  -    ],
  -    'name' => 'modperl_config_req_new'
  +    ]
     },
     {
  -    'return_type' => 'void *',
  +    'return_type' => 'const char *',
  +    'name' => 'modperl_cmd_interp_max_requests',
       'args' => [
         {
  -        'name' => 'p',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'cmd_parms *',
  +        'name' => 'parms'
         },
         {
  -        'name' => 's',
  -        'type' => 'server_rec *'
  +        'type' => 'void *',
  +        'name' => 'dummy'
  +      },
  +      {
  +        'type' => 'const char *',
  +        'name' => 'arg'
         }
  -    ],
  -    'name' => 'modperl_config_srv_create'
  +    ]
     },
     {
  -    'return_type' => 'void *',
  +    'return_type' => 'const char *',
  +    'name' => 'modperl_cmd_interp_max_spare',
       'args' => [
         {
  -        'name' => 'p',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'cmd_parms *',
  +        'name' => 'parms'
         },
         {
  -        'name' => 'basev',
  -        'type' => 'void *'
  +        'type' => 'void *',
  +        'name' => 'dummy'
         },
         {
  -        'name' => 'addv',
  -        'type' => 'void *'
  +        'type' => 'const char *',
  +        'name' => 'arg'
         }
  -    ],
  -    'name' => 'modperl_config_srv_merge'
  +    ]
     },
     {
  -    'return_type' => 'char **',
  +    'return_type' => 'const char *',
  +    'name' => 'modperl_cmd_interp_min_spare',
       'args' => [
  +      {
  +        'type' => 'cmd_parms *',
  +        'name' => 'parms'
  +      },
         {
  -        'name' => 'scfg',
  -        'type' => 'modperl_config_srv_t *'
  +        'type' => 'void *',
  +        'name' => 'dummy'
         },
         {
  -        'name' => 'argc',
  -        'type' => 'int *'
  +        'type' => 'const char *',
  +        'name' => 'arg'
         }
  -    ],
  -    'name' => 'modperl_config_srv_argv_init'
  +    ]
     },
     {
  -    'return_type' => 'char *',
  +    'return_type' => 'const char *',
  +    'name' => 'modperl_cmd_interp_scope',
       'args' => [
         {
  -        'name' => 'handlers',
  -        'type' => 'MpAV **'
  +        'type' => 'cmd_parms *',
  +        'name' => 'parms'
         },
         {
  -        'name' => 'name',
  -        'type' => 'const char *'
  +        'type' => 'void *',
  +        'name' => 'dummy'
         },
         {
  -        'name' => 'p',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'const char *',
  +        'name' => 'arg'
         }
  -    ],
  -    'name' => 'modperl_cmd_push_handlers'
  +    ]
     },
     {
       'return_type' => 'const char *',
  +    'name' => 'modperl_cmd_interp_start',
       'args' => [
         {
  -        'name' => 'parms',
  -        'type' => 'cmd_parms *'
  +        'type' => 'cmd_parms *',
  +        'name' => 'parms'
         },
         {
  -        'name' => 'dummy',
  -        'type' => 'void *'
  +        'type' => 'void *',
  +        'name' => 'dummy'
         },
         {
  -        'name' => 'arg',
  -        'type' => 'const char *'
  +        'type' => 'const char *',
  +        'name' => 'arg'
         }
  -    ],
  -    'name' => 'modperl_cmd_trace'
  +    ]
     },
     {
       'return_type' => 'const char *',
  +    'name' => 'modperl_cmd_log_handlers',
       'args' => [
         {
  -        'name' => 'parms',
  -        'type' => 'cmd_parms *'
  +        'type' => 'cmd_parms *',
  +        'name' => 'parms'
         },
         {
  -        'name' => 'dummy',
  -        'type' => 'void *'
  +        'type' => 'void *',
  +        'name' => 'dummy'
         },
         {
  -        'name' => 'arg',
  -        'type' => 'const char *'
  +        'type' => 'const char *',
  +        'name' => 'arg'
         }
  -    ],
  -    'name' => 'modperl_cmd_switches'
  +    ]
     },
     {
       'return_type' => 'const char *',
  +    'name' => 'modperl_cmd_open_logs_handlers',
       'args' => [
         {
  -        'name' => 'parms',
  -        'type' => 'cmd_parms *'
  +        'type' => 'cmd_parms *',
  +        'name' => 'parms'
         },
         {
  -        'name' => 'dummy',
  -        'type' => 'void *'
  +        'type' => 'void *',
  +        'name' => 'dummy'
         },
         {
  -        'name' => 'arg',
  -        'type' => 'const char *'
  +        'type' => 'const char *',
  +        'name' => 'arg'
         }
  -    ],
  -    'name' => 'modperl_cmd_options'
  +    ]
     },
     {
       'return_type' => 'const char *',
  +    'name' => 'modperl_cmd_options',
       'args' => [
         {
  -        'name' => 'parms',
  -        'type' => 'cmd_parms *'
  +        'type' => 'cmd_parms *',
  +        'name' => 'parms'
         },
         {
  -        'name' => 'dummy',
  -        'type' => 'void *'
  +        'type' => 'void *',
  +        'name' => 'dummy'
         },
         {
  -        'name' => 'arg',
  -        'type' => 'const char *'
  +        'type' => 'const char *',
  +        'name' => 'arg'
         }
  -    ],
  -    'name' => 'modperl_cmd_interp_start'
  +    ]
     },
     {
       'return_type' => 'const char *',
  +    'name' => 'modperl_cmd_output_filter_handlers',
       'args' => [
         {
  -        'name' => 'parms',
  -        'type' => 'cmd_parms *'
  +        'type' => 'cmd_parms *',
  +        'name' => 'parms'
         },
         {
  -        'name' => 'dummy',
  -        'type' => 'void *'
  +        'type' => 'void *',
  +        'name' => 'dummy'
         },
         {
  -        'name' => 'arg',
  -        'type' => 'const char *'
  +        'type' => 'const char *',
  +        'name' => 'arg'
         }
  -    ],
  -    'name' => 'modperl_cmd_interp_max'
  +    ]
     },
     {
       'return_type' => 'const char *',
  +    'name' => 'modperl_cmd_post_config_handlers',
       'args' => [
         {
  -        'name' => 'parms',
  -        'type' => 'cmd_parms *'
  +        'type' => 'cmd_parms *',
  +        'name' => 'parms'
         },
         {
  -        'name' => 'dummy',
  -        'type' => 'void *'
  +        'type' => 'void *',
  +        'name' => 'dummy'
         },
         {
  -        'name' => 'arg',
  -        'type' => 'const char *'
  +        'type' => 'const char *',
  +        'name' => 'arg'
         }
  -    ],
  -    'name' => 'modperl_cmd_interp_max_spare'
  +    ]
     },
     {
       'return_type' => 'const char *',
  +    'name' => 'modperl_cmd_post_read_request_handlers',
       'args' => [
         {
  -        'name' => 'parms',
  -        'type' => 'cmd_parms *'
  +        'type' => 'cmd_parms *',
  +        'name' => 'parms'
         },
         {
  -        'name' => 'dummy',
  -        'type' => 'void *'
  +        'type' => 'void *',
  +        'name' => 'dummy'
         },
         {
  -        'name' => 'arg',
  -        'type' => 'const char *'
  +        'type' => 'const char *',
  +        'name' => 'arg'
         }
  -    ],
  -    'name' => 'modperl_cmd_interp_min_spare'
  +    ]
     },
     {
       'return_type' => 'const char *',
  +    'name' => 'modperl_cmd_pre_connection_handlers',
       'args' => [
         {
  -        'name' => 'parms',
  -        'type' => 'cmd_parms *'
  +        'type' => 'cmd_parms *',
  +        'name' => 'parms'
         },
         {
  -        'name' => 'dummy',
  -        'type' => 'void *'
  +        'type' => 'void *',
  +        'name' => 'dummy'
         },
         {
  -        'name' => 'arg',
  -        'type' => 'const char *'
  +        'type' => 'const char *',
  +        'name' => 'arg'
         }
  -    ],
  -    'name' => 'modperl_cmd_interp_max_requests'
  +    ]
     },
     {
       'return_type' => 'const char *',
  +    'name' => 'modperl_cmd_process_connection_handlers',
       'args' => [
         {
  -        'name' => 'parms',
  -        'type' => 'cmd_parms *'
  +        'type' => 'cmd_parms *',
  +        'name' => 'parms'
         },
         {
  -        'name' => 'dummy',
  -        'type' => 'void *'
  +        'type' => 'void *',
  +        'name' => 'dummy'
         },
         {
  -        'name' => 'arg',
  -        'type' => 'const char *'
  +        'type' => 'const char *',
  +        'name' => 'arg'
         }
  -    ],
  -    'name' => 'modperl_cmd_interp_scope'
  +    ]
     },
     {
  -    'return_type' => 'modperl_handler_t *',
  +    'return_type' => 'char *',
  +    'name' => 'modperl_cmd_push_handlers',
       'args' => [
  +      {
  +        'type' => 'MpAV **',
  +        'name' => 'handlers'
  +      },
         {
  -        'name' => 'p',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'const char *',
  +        'name' => 'name'
         },
         {
  -        'name' => 'name',
  -        'type' => 'const char *'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'p'
         }
  -    ],
  -    'name' => 'modperl_handler_new'
  +    ]
     },
     {
  -    'return_type' => 'int',
  +    'return_type' => 'const char *',
  +    'name' => 'modperl_cmd_response_handlers',
       'args' => [
  -      {
  -        'name' => 'my_perl',
  -        'type' => 'PerlInterpreter *'
  -      },
         {
  -        'name' => 'handp',
  -        'type' => 'modperl_handler_t **'
  +        'type' => 'cmd_parms *',
  +        'name' => 'parms'
         },
         {
  -        'name' => 'p',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'void *',
  +        'name' => 'dummy'
         },
         {
  -        'name' => 's',
  -        'type' => 'server_rec *'
  +        'type' => 'const char *',
  +        'name' => 'arg'
         }
  -    ],
  -    'name' => 'modperl_handler_resolve'
  +    ]
     },
     {
  -    'return_type' => 'modperl_handler_t *',
  +    'return_type' => 'const char *',
  +    'name' => 'modperl_cmd_switches',
       'args' => [
         {
  -        'name' => 'p',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'cmd_parms *',
  +        'name' => 'parms'
         },
  -      {
  -        'name' => 'h',
  -        'type' => 'modperl_handler_t *'
  -      }
  -    ],
  -    'name' => 'modperl_handler_dup'
  -  },
  -  {
  -    'return_type' => 'int',
  -    'args' => [
         {
  -        'name' => 'h1',
  -        'type' => 'modperl_handler_t *'
  +        'type' => 'void *',
  +        'name' => 'dummy'
         },
         {
  -        'name' => 'h2',
  -        'type' => 'modperl_handler_t *'
  +        'type' => 'const char *',
  +        'name' => 'arg'
         }
  -    ],
  -    'name' => 'modperl_handler_equal'
  +    ]
     },
     {
  -    'return_type' => 'MpAV *',
  +    'return_type' => 'const char *',
  +    'name' => 'modperl_cmd_trace',
       'args' => [
         {
  -        'name' => 'p',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'cmd_parms *',
  +        'name' => 'parms'
         },
         {
  -        'name' => 'base_a',
  -        'type' => 'MpAV *'
  +        'type' => 'void *',
  +        'name' => 'dummy'
         },
         {
  -        'name' => 'add_a',
  -        'type' => 'MpAV *'
  +        'type' => 'const char *',
  +        'name' => 'arg'
         }
  -    ],
  -    'name' => 'modperl_handler_array_merge'
  +    ]
     },
     {
  -    'return_type' => 'void',
  +    'return_type' => 'const char *',
  +    'name' => 'modperl_cmd_trans_handlers',
       'args' => [
         {
  -        'name' => 'my_perl',
  -        'type' => 'PerlInterpreter *'
  +        'type' => 'cmd_parms *',
  +        'name' => 'parms'
         },
         {
  -        'name' => 'avp',
  -        'type' => 'AV **'
  +        'type' => 'void *',
  +        'name' => 'dummy'
         },
         {
  -        'name' => 'arg2',
  -        'type' => '...'
  +        'type' => 'const char *',
  +        'name' => 'arg'
         }
  -    ],
  -    'name' => 'modperl_handler_make_args'
  +    ]
     },
     {
  -    'return_type' => 'MpAV **',
  +    'return_type' => 'const char *',
  +    'name' => 'modperl_cmd_type_handlers',
       'args' => [
  -      {
  -        'name' => 'dcfg',
  -        'type' => 'modperl_config_dir_t *'
  -      },
  -      {
  -        'name' => 'scfg',
  -        'type' => 'modperl_config_srv_t *'
  -      },
  -      {
  -        'name' => 'rcfg',
  -        'type' => 'modperl_config_req_t *'
  -      },
  -      {
  -        'name' => 'p',
  -        'type' => 'apr_pool_t *'
  -      },
         {
  -        'name' => 'type',
  -        'type' => 'int'
  +        'type' => 'cmd_parms *',
  +        'name' => 'parms'
         },
         {
  -        'name' => 'idx',
  -        'type' => 'int'
  +        'type' => 'void *',
  +        'name' => 'dummy'
         },
         {
  -        'name' => 'action',
  -        'type' => 'modperl_handler_action_e'
  -      },
  -      {
  -        'name' => 'desc',
  -        'type' => 'const char **'
  +        'type' => 'const char *',
  +        'name' => 'arg'
         }
  -    ],
  -    'name' => 'modperl_handler_lookup_handlers'
  +    ]
     },
     {
  -    'return_type' => 'MpAV **',
  +    'return_type' => 'void *',
  +    'name' => 'modperl_config_dir_create',
       'args' => [
  -      {
  -        'name' => 'r',
  -        'type' => 'request_rec *'
  -      },
  -      {
  -        'name' => 'c',
  -        'type' => 'conn_rec *'
  -      },
         {
  -        'name' => 's',
  -        'type' => 'server_rec *'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'p'
         },
         {
  -        'name' => 'p',
  -        'type' => 'apr_pool_t *'
  -      },
  -      {
  -        'name' => 'name',
  -        'type' => 'const char *'
  -      },
  -      {
  -        'name' => 'action',
  -        'type' => 'modperl_handler_action_e'
  +        'type' => 'char *',
  +        'name' => 'dir'
         }
  -    ],
  -    'name' => 'modperl_handler_get_handlers'
  +    ]
     },
     {
  -    'return_type' => 'int',
  +    'return_type' => 'void *',
  +    'name' => 'modperl_config_dir_merge',
       'args' => [
  -      {
  -        'name' => 'my_perl',
  -        'type' => 'PerlInterpreter *'
  -      },
         {
  -        'name' => 'p',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'p'
         },
         {
  -        'name' => 'handlers',
  -        'type' => 'MpAV *'
  +        'type' => 'void *',
  +        'name' => 'basev'
         },
         {
  -        'name' => 'sv',
  -        'type' => 'SV *'
  +        'type' => 'void *',
  +        'name' => 'addv'
         }
  -    ],
  -    'name' => 'modperl_handler_push_handlers'
  +    ]
     },
     {
  -    'return_type' => 'SV *',
  +    'return_type' => 'modperl_config_dir_t *',
  +    'name' => 'modperl_config_dir_new',
       'args' => [
  -      {
  -        'name' => 'my_perl',
  -        'type' => 'PerlInterpreter *'
  -      },
         {
  -        'name' => 'handp',
  -        'type' => 'MpAV **'
  -      },
  -      {
  -        'name' => 'p',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'p'
         }
  -    ],
  -    'name' => 'modperl_handler_perl_get_handlers'
  +    ]
     },
     {
  -    'return_type' => 'int',
  +    'return_type' => 'modperl_config_req_t *',
  +    'name' => 'modperl_config_req_new',
       'args' => [
  -      {
  -        'name' => 'my_perl',
  -        'type' => 'PerlInterpreter *'
  -      },
  -      {
  -        'name' => 'r',
  -        'type' => 'request_rec *'
  -      },
  -      {
  -        'name' => 'c',
  -        'type' => 'conn_rec *'
  -      },
  -      {
  -        'name' => 's',
  -        'type' => 'server_rec *'
  -      },
  -      {
  -        'name' => 'p',
  -        'type' => 'apr_pool_t *'
  -      },
  -      {
  -        'name' => 'name',
  -        'type' => 'const char *'
  -      },
  -      {
  -        'name' => 'sv',
  -        'type' => 'SV *'
  -      },
         {
  -        'name' => 'action',
  -        'type' => 'modperl_handler_action_e'
  +        'type' => 'request_rec *',
  +        'name' => 'r'
         }
  -    ],
  -    'name' => 'modperl_handler_perl_add_handlers'
  +    ]
     },
     {
  -    'return_type' => 'int',
  +    'return_type' => 'char **',
  +    'name' => 'modperl_config_srv_argv_init',
       'args' => [
  -      {
  -        'name' => 'my_perl',
  -        'type' => 'PerlInterpreter *'
  -      },
  -      {
  -        'name' => 'handler',
  -        'type' => 'modperl_handler_t *'
  -      },
         {
  -        'name' => 'p',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'modperl_config_srv_t *',
  +        'name' => 'scfg'
         },
         {
  -        'name' => 's',
  -        'type' => 'server_rec *'
  -      },
  -      {
  -        'name' => 'args',
  -        'type' => 'AV *'
  +        'type' => 'int *',
  +        'name' => 'argc'
         }
  -    ],
  -    'name' => 'modperl_callback'
  +    ]
     },
     {
  -    'return_type' => 'int',
  +    'return_type' => 'void *',
  +    'name' => 'modperl_config_srv_create',
       'args' => [
  -      {
  -        'name' => 'idx',
  -        'type' => 'int'
  -      },
  -      {
  -        'name' => 'type',
  -        'type' => 'int'
  -      },
         {
  -        'name' => 'r',
  -        'type' => 'request_rec *'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'p'
         },
         {
  -        'name' => 'c',
  -        'type' => 'conn_rec *'
  -      },
  +        'type' => 'server_rec *',
  +        'name' => 's'
  +      }
  +    ]
  +  },
  +  {
  +    'return_type' => 'void *',
  +    'name' => 'modperl_config_srv_merge',
  +    'args' => [
         {
  -        'name' => 's',
  -        'type' => 'server_rec *'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'p'
         },
         {
  -        'name' => 'pconf',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'void *',
  +        'name' => 'basev'
         },
         {
  -        'name' => 'plog',
  -        'type' => 'apr_pool_t *'
  -      },
  +        'type' => 'void *',
  +        'name' => 'addv'
  +      }
  +    ]
  +  },
  +  {
  +    'return_type' => 'modperl_config_srv_t *',
  +    'name' => 'modperl_config_srv_new',
  +    'args' => [
         {
  -        'name' => 'ptemp',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'p'
         }
  -    ],
  -    'name' => 'modperl_callback_run_handlers'
  +    ]
     },
     {
  -    'return_type' => 'int',
  +    'return_type' => 'void',
  +    'name' => 'modperl_env_request_tie',
       'args' => [
         {
  -        'name' => 'idx',
  -        'type' => 'int'
  +        'type' => 'PerlInterpreter *',
  +        'name' => 'my_perl'
         },
         {
  -        'name' => 'r',
  -        'type' => 'request_rec *'
  +        'type' => 'request_rec *',
  +        'name' => 'r'
         }
  -    ],
  -    'name' => 'modperl_callback_per_dir'
  +    ]
     },
     {
  -    'return_type' => 'int',
  +    'return_type' => 'void',
  +    'name' => 'modperl_env_request_untie',
       'args' => [
         {
  -        'name' => 'idx',
  -        'type' => 'int'
  +        'type' => 'PerlInterpreter *',
  +        'name' => 'my_perl'
         },
         {
  -        'name' => 'r',
  -        'type' => 'request_rec *'
  +        'type' => 'request_rec *',
  +        'name' => 'r'
         }
  -    ],
  -    'name' => 'modperl_callback_per_srv'
  +    ]
     },
     {
       'return_type' => 'int',
  +    'name' => 'modperl_errsv',
       'args' => [
  +      {
  +        'type' => 'PerlInterpreter *',
  +        'name' => 'my_perl'
  +      },
  +      {
  +        'type' => 'int',
  +        'name' => 'status'
  +      },
         {
  -        'name' => 'idx',
  -        'type' => 'int'
  +        'type' => 'request_rec *',
  +        'name' => 'r'
         },
         {
  -        'name' => 'c',
  -        'type' => 'conn_rec *'
  +        'type' => 'server_rec *',
  +        'name' => 's'
         }
  -    ],
  -    'name' => 'modperl_callback_connection'
  +    ]
     },
     {
  -    'return_type' => 'void',
  +    'return_type' => 'U32 *',
  +    'name' => 'modperl_filter_attributes',
       'args' => [
         {
  -        'name' => 'idx',
  -        'type' => 'int'
  +        'type' => 'SV *',
  +        'name' => 'package'
         },
         {
  -        'name' => 'p',
  -        'type' => 'apr_pool_t *'
  -      },
  -      {
  -        'name' => 's',
  -        'type' => 'server_rec *'
  +        'type' => 'SV *',
  +        'name' => 'cvrv'
         }
  -    ],
  -    'name' => 'modperl_callback_process'
  +    ]
     },
     {
  -    'return_type' => 'void',
  +    'return_type' => 'modperl_filter_t *',
  +    'name' => 'modperl_filter_mg_get',
       'args' => [
         {
  -        'name' => 'idx',
  -        'type' => 'int'
  +        'type' => 'PerlInterpreter *',
  +        'name' => 'my_perl'
         },
         {
  -        'name' => 'pconf',
  -        'type' => 'apr_pool_t *'
  -      },
  +        'type' => 'SV *',
  +        'name' => 'obj'
  +      }
  +    ]
  +  },
  +  {
  +    'return_type' => 'modperl_filter_t *',
  +    'name' => 'modperl_filter_new',
  +    'args' => [
         {
  -        'name' => 'plog',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'ap_filter_t *',
  +        'name' => 'f'
         },
         {
  -        'name' => 'ptemp',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'apr_bucket_brigade *',
  +        'name' => 'bb'
         },
         {
  -        'name' => 's',
  -        'type' => 'server_rec *'
  +        'type' => 'modperl_filter_mode_e',
  +        'name' => 'mode'
         }
  -    ],
  -    'name' => 'modperl_callback_files'
  +    ]
     },
     {
  -    'return_type' => 'modperl_list_t *',
  +    'return_type' => 'int',
  +    'name' => 'modperl_fixup_handler',
       'args' => [
         {
  -        'name' => 'p',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'request_rec *',
  +        'name' => 'r'
         }
  -    ],
  -    'name' => 'modperl_list_new'
  +    ]
     },
     {
  -    'return_type' => 'modperl_list_t *',
  +    'return_type' => 'U32',
  +    'name' => 'modperl_flags_lookup_dir',
       'args' => [
         {
  -        'name' => 'list',
  -        'type' => 'modperl_list_t *'
  +        'type' => 'const char *',
  +        'name' => 'str'
         }
  -    ],
  -    'name' => 'modperl_list_last'
  +    ]
     },
     {
  -    'return_type' => 'modperl_list_t *',
  +    'return_type' => 'U32',
  +    'name' => 'modperl_flags_lookup_srv',
       'args' => [
         {
  -        'name' => 'list',
  -        'type' => 'modperl_list_t *'
  +        'type' => 'const char *',
  +        'name' => 'str'
         }
  -    ],
  -    'name' => 'modperl_list_first'
  +    ]
     },
     {
  -    'return_type' => 'modperl_list_t *',
  +    'return_type' => 'void *',
  +    'name' => 'modperl_global_get',
       'args' => [
         {
  -        'name' => 'list',
  -        'type' => 'modperl_list_t *'
  -      },
  -      {
  -        'name' => 'new_list',
  -        'type' => 'modperl_list_t *'
  +        'type' => 'modperl_global_t *',
  +        'name' => 'global'
         }
  -    ],
  -    'name' => 'modperl_list_append'
  +    ]
     },
     {
  -    'return_type' => 'modperl_list_t *',
  +    'return_type' => 'apr_pool_t *',
  +    'name' => 'modperl_global_get_pconf',
  +    'args' => []
  +  },
  +  {
  +    'return_type' => 'server_rec *',
  +    'name' => 'modperl_global_get_server_rec',
  +    'args' => []
  +  },
  +  {
  +    'return_type' => 'int',
  +    'name' => 'modperl_global_get_threaded_mpm',
  +    'args' => []
  +  },
  +  {
  +    'return_type' => 'void',
  +    'name' => 'modperl_global_init',
       'args' => [
  +      {
  +        'type' => 'modperl_global_t *',
  +        'name' => 'global'
  +      },
         {
  -        'name' => 'list',
  -        'type' => 'modperl_list_t *'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'p'
         },
         {
  -        'name' => 'new_list',
  -        'type' => 'modperl_list_t *'
  +        'type' => 'void *',
  +        'name' => 'data'
  +      },
  +      {
  +        'type' => 'const char *',
  +        'name' => 'name'
         }
  -    ],
  -    'name' => 'modperl_list_prepend'
  +    ]
     },
     {
  -    'return_type' => 'modperl_list_t *',
  +    'return_type' => 'void',
  +    'name' => 'modperl_global_init_pconf',
       'args' => [
         {
  -        'name' => 'list',
  -        'type' => 'modperl_list_t *'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'p'
         },
         {
  -        'name' => 'rlist',
  -        'type' => 'modperl_list_t *'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'pconf'
         }
  -    ],
  -    'name' => 'modperl_list_remove'
  +    ]
     },
     {
  -    'return_type' => 'modperl_tipool_t *',
  +    'return_type' => 'void',
  +    'name' => 'modperl_global_init_server_rec',
       'args' => [
         {
  -        'name' => 'p',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'p'
         },
         {
  -        'name' => 'cfg',
  -        'type' => 'modperl_tipool_config_t *'
  -      },
  +        'type' => 'server_rec * server_rec',
  +        'name' => 'arg1'
  +      }
  +    ]
  +  },
  +  {
  +    'return_type' => 'void',
  +    'name' => 'modperl_global_init_threaded_mpm',
  +    'args' => [
         {
  -        'name' => 'func',
  -        'type' => 'modperl_tipool_vtbl_t *'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'p'
         },
         {
  -        'name' => 'data',
  -        'type' => 'void *'
  +        'type' => 'int',
  +        'name' => 'threaded_mpm'
         }
  -    ],
  -    'name' => 'modperl_tipool_new'
  +    ]
     },
     {
       'return_type' => 'void',
  +    'name' => 'modperl_global_lock',
       'args' => [
         {
  -        'name' => 'tipool',
  -        'type' => 'modperl_tipool_t *'
  +        'type' => 'modperl_global_t *',
  +        'name' => 'global'
         }
  -    ],
  -    'name' => 'modperl_tipool_init'
  +    ]
     },
     {
       'return_type' => 'void',
  +    'name' => 'modperl_global_lock_pconf',
  +    'args' => []
  +  },
  +  {
  +    'return_type' => 'void',
  +    'name' => 'modperl_global_lock_server_rec',
  +    'args' => []
  +  },
  +  {
  +    'return_type' => 'void',
  +    'name' => 'modperl_global_lock_threaded_mpm',
  +    'args' => []
  +  },
  +  {
  +    'return_type' => 'void',
  +    'name' => 'modperl_global_request_cfg_set',
       'args' => [
         {
  -        'name' => 'tipool',
  -        'type' => 'modperl_tipool_t *'
  +        'type' => 'request_rec *',
  +        'name' => 'r'
         }
  -    ],
  -    'name' => 'modperl_tipool_destroy'
  +    ]
     },
     {
       'return_type' => 'void',
  +    'name' => 'modperl_global_request_obj_set',
       'args' => [
         {
  -        'name' => 'tipool',
  -        'type' => 'modperl_tipool_t *'
  +        'type' => 'PerlInterpreter *',
  +        'name' => 'my_perl'
         },
         {
  -        'name' => 'data',
  -        'type' => 'void *'
  +        'type' => 'SV *',
  +        'name' => 'svr'
         }
  -    ],
  -    'name' => 'modperl_tipool_add'
  +    ]
     },
     {
       'return_type' => 'void',
  +    'name' => 'modperl_global_request_set',
       'args' => [
  -      {
  -        'name' => 'tipool',
  -        'type' => 'modperl_tipool_t *'
  -      },
         {
  -        'name' => 'listp',
  -        'type' => 'modperl_list_t *'
  +        'type' => 'request_rec *',
  +        'name' => 'r'
         }
  -    ],
  -    'name' => 'modperl_tipool_remove'
  +    ]
     },
     {
  -    'return_type' => 'modperl_list_t *',
  +    'return_type' => 'void',
  +    'name' => 'modperl_global_set',
       'args' => [
  -      {
  -        'name' => 'list',
  -        'type' => 'modperl_list_t *'
  -      },
         {
  -        'name' => 'data',
  -        'type' => 'void *'
  +        'type' => 'modperl_global_t *',
  +        'name' => 'global'
         },
         {
  -        'name' => 'listp',
  -        'type' => 'modperl_list_t **'
  +        'type' => 'void *',
  +        'name' => 'data'
         }
  -    ],
  -    'name' => 'modperl_list_remove_data'
  +    ]
     },
     {
  -    'return_type' => 'modperl_list_t *',
  +    'return_type' => 'void',
  +    'name' => 'modperl_global_set_pconf',
       'args' => [
         {
  -        'name' => 'tipool',
  -        'type' => 'modperl_tipool_t *'
  +        'type' => 'void *',
  +        'name' => 'arg0'
         }
  -    ],
  -    'name' => 'modperl_tipool_pop'
  +    ]
     },
     {
       'return_type' => 'void',
  +    'name' => 'modperl_global_set_server_rec',
       'args' => [
  -      {
  -        'name' => 'tipool',
  -        'type' => 'modperl_tipool_t *'
  -      },
         {
  -        'name' => 'listp',
  -        'type' => 'modperl_list_t *'
  -      },
  -      {
  -        'name' => 'num_requests',
  -        'type' => 'int'
  +        'type' => 'void *',
  +        'name' => 'arg0'
         }
  -    ],
  -    'name' => 'modperl_tipool_putback'
  +    ]
     },
     {
       'return_type' => 'void',
  +    'name' => 'modperl_global_set_threaded_mpm',
       'args' => [
         {
  -        'name' => 'tipool',
  -        'type' => 'modperl_tipool_t *'
  -      },
  -      {
  -        'name' => 'data',
  -        'type' => 'void *'
  -      },
  +        'type' => 'void *',
  +        'name' => 'arg0'
  +      }
  +    ]
  +  },
  +  {
  +    'return_type' => 'void',
  +    'name' => 'modperl_global_unlock',
  +    'args' => [
         {
  -        'name' => 'num_requests',
  -        'type' => 'int'
  +        'type' => 'modperl_global_t *',
  +        'name' => 'global'
         }
  -    ],
  -    'name' => 'modperl_tipool_putback_data'
  +    ]
     },
     {
       'return_type' => 'void',
  +    'name' => 'modperl_global_unlock_pconf',
  +    'args' => []
  +  },
  +  {
  +    'return_type' => 'void',
  +    'name' => 'modperl_global_unlock_server_rec',
  +    'args' => []
  +  },
  +  {
  +    'return_type' => 'void',
  +    'name' => 'modperl_global_unlock_threaded_mpm',
  +    'args' => []
  +  },
  +  {
  +    'return_type' => 'MpAV *',
  +    'name' => 'modperl_handler_array_merge',
       'args' => [
         {
  -        'name' => 's',
  -        'type' => 'server_rec *'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'p'
         },
         {
  -        'name' => 'p',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'MpAV *',
  +        'name' => 'base_a'
         },
         {
  -        'name' => 'perl',
  -        'type' => 'PerlInterpreter *'
  +        'type' => 'MpAV *',
  +        'name' => 'add_a'
         }
  -    ],
  -    'name' => 'modperl_interp_init'
  +    ]
     },
     {
  -    'return_type' => 'apr_status_t',
  +    'return_type' => 'const char *',
  +    'name' => 'modperl_handler_desc_connection',
       'args' => [
         {
  -        'name' => 'data',
  -        'type' => 'void *'
  +        'type' => 'int',
  +        'name' => 'idx'
         }
  -    ],
  -    'name' => 'modperl_interp_cleanup'
  +    ]
     },
     {
       'return_type' => 'const char *',
  +    'name' => 'modperl_handler_desc_files',
       'args' => [
         {
  -        'name' => 'scope',
  -        'type' => 'modperl_interp_scope_e'
  +        'type' => 'int',
  +        'name' => 'idx'
         }
  -    ],
  -    'name' => 'modperl_interp_scope_desc'
  +    ]
     },
     {
  -    'return_type' => 'void',
  +    'return_type' => 'const char *',
  +    'name' => 'modperl_handler_desc_per_dir',
       'args' => [
         {
  -        'name' => 'interp',
  -        'type' => 'modperl_interp_t *'
  +        'type' => 'int',
  +        'name' => 'idx'
         }
  -    ],
  -    'name' => 'modperl_interp_clone_init'
  +    ]
     },
     {
  -    'return_type' => 'modperl_interp_t *',
  +    'return_type' => 'const char *',
  +    'name' => 'modperl_handler_desc_per_srv',
       'args' => [
         {
  -        'name' => 'p',
  -        'type' => 'apr_pool_t *'
  -      },
  -      {
  -        'name' => 'mip',
  -        'type' => 'modperl_interp_pool_t *'
  -      },
  -      {
  -        'name' => 'perl',
  -        'type' => 'PerlInterpreter *'
  +        'type' => 'int',
  +        'name' => 'idx'
         }
  -    ],
  -    'name' => 'modperl_interp_new'
  +    ]
     },
     {
  -    'return_type' => 'void',
  +    'return_type' => 'const char *',
  +    'name' => 'modperl_handler_desc_process',
       'args' => [
         {
  -        'name' => 'interp',
  -        'type' => 'modperl_interp_t *'
  +        'type' => 'int',
  +        'name' => 'idx'
         }
  -    ],
  -    'name' => 'modperl_interp_destroy'
  +    ]
     },
     {
  -    'return_type' => 'modperl_interp_t *',
  +    'return_type' => 'modperl_handler_t *',
  +    'name' => 'modperl_handler_dup',
       'args' => [
  +      {
  +        'type' => 'apr_pool_t *',
  +        'name' => 'p'
  +      },
         {
  -        'name' => 's',
  -        'type' => 'server_rec *'
  +        'type' => 'modperl_handler_t *',
  +        'name' => 'h'
         }
  -    ],
  -    'name' => 'modperl_interp_get'
  +    ]
     },
     {
  -    'return_type' => 'apr_status_t',
  +    'return_type' => 'int',
  +    'name' => 'modperl_handler_equal',
       'args' => [
  +      {
  +        'type' => 'modperl_handler_t *',
  +        'name' => 'h1'
  +      },
         {
  -        'name' => 'data',
  -        'type' => 'void *'
  +        'type' => 'modperl_handler_t *',
  +        'name' => 'h2'
         }
  -    ],
  -    'name' => 'modperl_interp_unselect'
  +    ]
     },
     {
  -    'return_type' => 'modperl_interp_t *',
  +    'return_type' => 'MpAV **',
  +    'name' => 'modperl_handler_get_handlers',
       'args' => [
         {
  -        'name' => 'r',
  -        'type' => 'request_rec *'
  +        'type' => 'request_rec *',
  +        'name' => 'r'
         },
         {
  -        'name' => 'c',
  -        'type' => 'conn_rec *'
  +        'type' => 'conn_rec *',
  +        'name' => 'c'
         },
         {
  -        'name' => 's',
  -        'type' => 'server_rec *'
  -      }
  -    ],
  -    'name' => 'modperl_interp_select'
  -  },
  -  {
  -    'return_type' => 'apr_status_t',
  -    'args' => [
  +        'type' => 'server_rec *',
  +        'name' => 's'
  +      },
         {
  -        'name' => 'data',
  -        'type' => 'void *'
  -      }
  -    ],
  -    'name' => 'modperl_interp_pool_destroy'
  -  },
  -  {
  -    'return_type' => 'void',
  -    'args' => [
  +        'type' => 'apr_pool_t *',
  +        'name' => 'p'
  +      },
         {
  -        'name' => 'mip',
  -        'type' => 'modperl_interp_pool_t *'
  +        'type' => 'const char *',
  +        'name' => 'name'
         },
         {
  -        'name' => 'interp',
  -        'type' => 'modperl_interp_t *'
  +        'type' => 'modperl_handler_action_e',
  +        'name' => 'action'
         }
  -    ],
  -    'name' => 'modperl_interp_pool_add'
  +    ]
     },
     {
  -    'return_type' => 'void',
  +    'return_type' => 'int',
  +    'name' => 'modperl_handler_lookup',
       'args' => [
         {
  -        'name' => 'mip',
  -        'type' => 'modperl_interp_pool_t *'
  +        'type' => 'const char *',
  +        'name' => 'name'
         },
         {
  -        'name' => 'interp',
  -        'type' => 'modperl_interp_t *'
  +        'type' => 'int *',
  +        'name' => 'type'
         }
  -    ],
  -    'name' => 'modperl_interp_pool_remove'
  +    ]
     },
     {
  -    'return_type' => 'void',
  +    'return_type' => 'MpAV **',
  +    'name' => 'modperl_handler_lookup_handlers',
       'args' => [
  +      {
  +        'type' => 'modperl_config_dir_t *',
  +        'name' => 'dcfg'
  +      },
         {
  -        'name' => 'func',
  -        'type' => 'char *'
  +        'type' => 'modperl_config_srv_t *',
  +        'name' => 'scfg'
         },
         {
  -        'name' => 'fmt',
  -        'type' => 'const char *'
  +        'type' => 'modperl_config_req_t *',
  +        'name' => 'rcfg'
         },
         {
  -        'name' => 'arg2',
  -        'type' => '...'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'p'
  +      },
  +      {
  +        'type' => 'int',
  +        'name' => 'type'
  +      },
  +      {
  +        'type' => 'int',
  +        'name' => 'idx'
  +      },
  +      {
  +        'type' => 'modperl_handler_action_e',
  +        'name' => 'action'
  +      },
  +      {
  +        'type' => 'const char **',
  +        'name' => 'desc'
         }
  -    ],
  -    'name' => 'modperl_trace'
  +    ]
     },
     {
       'return_type' => 'void',
  +    'name' => 'modperl_handler_make_args',
       'args' => [
  +      {
  +        'type' => 'PerlInterpreter *',
  +        'name' => 'my_perl'
  +      },
         {
  -        'name' => 'level',
  -        'type' => 'const char *'
  +        'type' => 'AV **',
  +        'name' => 'avp'
  +      },
  +      {
  +        'type' => '...',
  +        'name' => 'arg2'
         }
  -    ],
  -    'name' => 'modperl_trace_level_set'
  +    ]
     },
     {
  -    'return_type' => 'modperl_options_t *',
  +    'return_type' => 'modperl_handler_t *',
  +    'name' => 'modperl_handler_new',
       'args' => [
         {
  -        'name' => 'p',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'p'
         },
         {
  -        'name' => 'type',
  -        'type' => 'int'
  +        'type' => 'const char *',
  +        'name' => 'name'
         }
  -    ],
  -    'name' => 'modperl_options_new'
  +    ]
     },
     {
  -    'return_type' => 'const char *',
  +    'return_type' => 'int',
  +    'name' => 'modperl_handler_perl_add_handlers',
       'args' => [
         {
  -        'name' => 'p',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'PerlInterpreter *',
  +        'name' => 'my_perl'
         },
         {
  -        'name' => 'o',
  -        'type' => 'modperl_options_t *'
  +        'type' => 'request_rec *',
  +        'name' => 'r'
         },
         {
  -        'name' => 's',
  -        'type' => 'const char *'
  -      }
  -    ],
  -    'name' => 'modperl_options_set'
  -  },
  -  {
  -    'return_type' => 'modperl_options_t *',
  -    'args' => [
  +        'type' => 'conn_rec *',
  +        'name' => 'c'
  +      },
  +      {
  +        'type' => 'server_rec *',
  +        'name' => 's'
  +      },
         {
  -        'name' => 'p',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'p'
         },
         {
  -        'name' => 'base',
  -        'type' => 'modperl_options_t *'
  +        'type' => 'const char *',
  +        'name' => 'name'
         },
         {
  -        'name' => 'arg2',
  -        'type' => 'modperl_options_t *new'
  +        'type' => 'SV *',
  +        'name' => 'sv'
  +      },
  +      {
  +        'type' => 'modperl_handler_action_e',
  +        'name' => 'action'
         }
  -    ],
  -    'name' => 'modperl_options_merge'
  +    ]
     },
     {
  -    'return_type' => 'const char *',
  +    'return_type' => 'SV *',
  +    'name' => 'modperl_handler_perl_get_handlers',
       'args' => [
         {
  -        'name' => 'parms',
  -        'type' => 'cmd_parms *'
  +        'type' => 'PerlInterpreter *',
  +        'name' => 'my_perl'
         },
         {
  -        'name' => 'dummy',
  -        'type' => 'void *'
  +        'type' => 'MpAV **',
  +        'name' => 'handp'
         },
         {
  -        'name' => 'arg',
  -        'type' => 'const char *'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'p'
         }
  -    ],
  -    'name' => 'modperl_cmd_pre_connection_handlers'
  +    ]
     },
     {
  -    'return_type' => 'const char *',
  +    'return_type' => 'int',
  +    'name' => 'modperl_handler_push_handlers',
       'args' => [
  +      {
  +        'type' => 'PerlInterpreter *',
  +        'name' => 'my_perl'
  +      },
         {
  -        'name' => 'parms',
  -        'type' => 'cmd_parms *'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'p'
         },
         {
  -        'name' => 'dummy',
  -        'type' => 'void *'
  +        'type' => 'MpAV *',
  +        'name' => 'handlers'
         },
         {
  -        'name' => 'arg',
  -        'type' => 'const char *'
  +        'type' => 'SV *',
  +        'name' => 'sv'
         }
  -    ],
  -    'name' => 'modperl_cmd_process_connection_handlers'
  +    ]
     },
     {
  -    'return_type' => 'const char *',
  +    'return_type' => 'int',
  +    'name' => 'modperl_handler_resolve',
       'args' => [
  +      {
  +        'type' => 'PerlInterpreter *',
  +        'name' => 'my_perl'
  +      },
         {
  -        'name' => 'parms',
  -        'type' => 'cmd_parms *'
  +        'type' => 'modperl_handler_t **',
  +        'name' => 'handp'
         },
         {
  -        'name' => 'dummy',
  -        'type' => 'void *'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'p'
         },
         {
  -        'name' => 'arg',
  -        'type' => 'const char *'
  +        'type' => 'server_rec *',
  +        'name' => 's'
         }
  -    ],
  -    'name' => 'modperl_cmd_child_init_handlers'
  +    ]
     },
     {
  -    'return_type' => 'const char *',
  +    'return_type' => 'int',
  +    'name' => 'modperl_header_parser_handler',
       'args' => [
  -      {
  -        'name' => 'parms',
  -        'type' => 'cmd_parms *'
  -      },
         {
  -        'name' => 'dummy',
  -        'type' => 'void *'
  -      },
  -      {
  -        'name' => 'arg',
  -        'type' => 'const char *'
  +        'type' => 'request_rec *',
  +        'name' => 'r'
         }
  -    ],
  -    'name' => 'modperl_cmd_header_parser_handlers'
  +    ]
     },
     {
  -    'return_type' => 'const char *',
  +    'return_type' => 'void',
  +    'name' => 'modperl_hook_init',
       'args' => [
         {
  -        'name' => 'parms',
  -        'type' => 'cmd_parms *'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'pconf'
         },
         {
  -        'name' => 'dummy',
  -        'type' => 'void *'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'plog'
         },
         {
  -        'name' => 'arg',
  -        'type' => 'const char *'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'ptemp'
  +      },
  +      {
  +        'type' => 'server_rec *',
  +        'name' => 's'
         }
  -    ],
  -    'name' => 'modperl_cmd_access_handlers'
  +    ]
     },
     {
  -    'return_type' => 'const char *',
  +    'return_type' => 'void',
  +    'name' => 'modperl_init',
       'args' => [
  -      {
  -        'name' => 'parms',
  -        'type' => 'cmd_parms *'
  -      },
         {
  -        'name' => 'dummy',
  -        'type' => 'void *'
  +        'type' => 'server_rec *',
  +        'name' => 's'
         },
         {
  -        'name' => 'arg',
  -        'type' => 'const char *'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'p'
         }
  -    ],
  -    'name' => 'modperl_cmd_authen_handlers'
  +    ]
     },
     {
  -    'return_type' => 'const char *',
  +    'return_type' => 'apr_status_t',
  +    'name' => 'modperl_input_filter_handler',
       'args' => [
  +      {
  +        'type' => 'ap_filter_t *',
  +        'name' => 'f'
  +      },
         {
  -        'name' => 'parms',
  -        'type' => 'cmd_parms *'
  +        'type' => 'apr_bucket_brigade *',
  +        'name' => 'bb'
         },
         {
  -        'name' => 'dummy',
  -        'type' => 'void *'
  +        'type' => 'ap_input_mode_t',
  +        'name' => 'mode'
         },
         {
  -        'name' => 'arg',
  -        'type' => 'const char *'
  +        'type' => 'apr_size_t *',
  +        'name' => 'readbytes'
         }
  -    ],
  -    'name' => 'modperl_cmd_authz_handlers'
  +    ]
     },
     {
  -    'return_type' => 'const char *',
  +    'return_type' => 'int',
  +    'name' => 'modperl_input_filter_register_connection',
       'args' => [
  -      {
  -        'name' => 'parms',
  -        'type' => 'cmd_parms *'
  -      },
         {
  -        'name' => 'dummy',
  -        'type' => 'void *'
  -      },
  +        'type' => 'conn_rec *',
  +        'name' => 'c'
  +      }
  +    ]
  +  },
  +  {
  +    'return_type' => 'int',
  +    'name' => 'modperl_input_filter_register_request',
  +    'args' => [
         {
  -        'name' => 'arg',
  -        'type' => 'const char *'
  +        'type' => 'request_rec *',
  +        'name' => 'r'
         }
  -    ],
  -    'name' => 'modperl_cmd_type_handlers'
  +    ]
     },
     {
  -    'return_type' => 'const char *',
  +    'return_type' => 'apr_status_t',
  +    'name' => 'modperl_interp_cleanup',
       'args' => [
         {
  -        'name' => 'parms',
  -        'type' => 'cmd_parms *'
  -      },
  +        'type' => 'void *',
  +        'name' => 'data'
  +      }
  +    ]
  +  },
  +  {
  +    'return_type' => 'void',
  +    'name' => 'modperl_interp_clone_init',
  +    'args' => [
         {
  -        'name' => 'dummy',
  -        'type' => 'void *'
  -      },
  +        'type' => 'modperl_interp_t *',
  +        'name' => 'interp'
  +      }
  +    ]
  +  },
  +  {
  +    'return_type' => 'void',
  +    'name' => 'modperl_interp_destroy',
  +    'args' => [
         {
  -        'name' => 'arg',
  -        'type' => 'const char *'
  +        'type' => 'modperl_interp_t *',
  +        'name' => 'interp'
         }
  -    ],
  -    'name' => 'modperl_cmd_fixup_handlers'
  +    ]
     },
     {
  -    'return_type' => 'const char *',
  +    'return_type' => 'modperl_interp_t *',
  +    'name' => 'modperl_interp_get',
       'args' => [
  -      {
  -        'name' => 'parms',
  -        'type' => 'cmd_parms *'
  -      },
  -      {
  -        'name' => 'dummy',
  -        'type' => 'void *'
  -      },
         {
  -        'name' => 'arg',
  -        'type' => 'const char *'
  +        'type' => 'server_rec *',
  +        'name' => 's'
         }
  -    ],
  -    'name' => 'modperl_cmd_response_handlers'
  +    ]
     },
     {
  -    'return_type' => 'const char *',
  +    'return_type' => 'void',
  +    'name' => 'modperl_interp_init',
       'args' => [
         {
  -        'name' => 'parms',
  -        'type' => 'cmd_parms *'
  +        'type' => 'server_rec *',
  +        'name' => 's'
         },
         {
  -        'name' => 'dummy',
  -        'type' => 'void *'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'p'
         },
         {
  -        'name' => 'arg',
  -        'type' => 'const char *'
  +        'type' => 'PerlInterpreter *',
  +        'name' => 'perl'
         }
  -    ],
  -    'name' => 'modperl_cmd_log_handlers'
  +    ]
     },
     {
  -    'return_type' => 'const char *',
  +    'return_type' => 'modperl_interp_t *',
  +    'name' => 'modperl_interp_new',
       'args' => [
         {
  -        'name' => 'parms',
  -        'type' => 'cmd_parms *'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'p'
         },
         {
  -        'name' => 'dummy',
  -        'type' => 'void *'
  +        'type' => 'modperl_interp_pool_t *',
  +        'name' => 'mip'
         },
         {
  -        'name' => 'arg',
  -        'type' => 'const char *'
  +        'type' => 'PerlInterpreter *',
  +        'name' => 'perl'
         }
  -    ],
  -    'name' => 'modperl_cmd_input_filter_handlers'
  +    ]
     },
     {
  -    'return_type' => 'const char *',
  +    'return_type' => 'void',
  +    'name' => 'modperl_interp_pool_add',
       'args' => [
  -      {
  -        'name' => 'parms',
  -        'type' => 'cmd_parms *'
  -      },
         {
  -        'name' => 'dummy',
  -        'type' => 'void *'
  +        'type' => 'modperl_interp_pool_t *',
  +        'name' => 'mip'
         },
         {
  -        'name' => 'arg',
  -        'type' => 'const char *'
  +        'type' => 'modperl_interp_t *',
  +        'name' => 'interp'
         }
  -    ],
  -    'name' => 'modperl_cmd_output_filter_handlers'
  +    ]
     },
     {
  -    'return_type' => 'const char *',
  +    'return_type' => 'apr_status_t',
  +    'name' => 'modperl_interp_pool_destroy',
       'args' => [
  -      {
  -        'name' => 'parms',
  -        'type' => 'cmd_parms *'
  -      },
         {
  -        'name' => 'dummy',
  -        'type' => 'void *'
  -      },
  -      {
  -        'name' => 'arg',
  -        'type' => 'const char *'
  +        'type' => 'void *',
  +        'name' => 'data'
         }
  -    ],
  -    'name' => 'modperl_cmd_post_read_request_handlers'
  +    ]
     },
     {
  -    'return_type' => 'const char *',
  +    'return_type' => 'void',
  +    'name' => 'modperl_interp_pool_remove',
       'args' => [
         {
  -        'name' => 'parms',
  -        'type' => 'cmd_parms *'
  +        'type' => 'modperl_interp_pool_t *',
  +        'name' => 'mip'
         },
         {
  -        'name' => 'dummy',
  -        'type' => 'void *'
  -      },
  -      {
  -        'name' => 'arg',
  -        'type' => 'const char *'
  +        'type' => 'modperl_interp_t *',
  +        'name' => 'interp'
         }
  -    ],
  -    'name' => 'modperl_cmd_trans_handlers'
  +    ]
     },
     {
       'return_type' => 'const char *',
  +    'name' => 'modperl_interp_scope_desc',
       'args' => [
  -      {
  -        'name' => 'parms',
  -        'type' => 'cmd_parms *'
  -      },
         {
  -        'name' => 'dummy',
  -        'type' => 'void *'
  -      },
  -      {
  -        'name' => 'arg',
  -        'type' => 'const char *'
  +        'type' => 'modperl_interp_scope_e',
  +        'name' => 'scope'
         }
  -    ],
  -    'name' => 'modperl_cmd_open_logs_handlers'
  +    ]
     },
     {
  -    'return_type' => 'const char *',
  +    'return_type' => 'modperl_interp_t *',
  +    'name' => 'modperl_interp_select',
       'args' => [
         {
  -        'name' => 'parms',
  -        'type' => 'cmd_parms *'
  +        'type' => 'request_rec *',
  +        'name' => 'r'
         },
         {
  -        'name' => 'dummy',
  -        'type' => 'void *'
  +        'type' => 'conn_rec *',
  +        'name' => 'c'
         },
         {
  -        'name' => 'arg',
  -        'type' => 'const char *'
  +        'type' => 'server_rec *',
  +        'name' => 's'
         }
  -    ],
  -    'name' => 'modperl_cmd_post_config_handlers'
  +    ]
     },
     {
  -    'return_type' => 'void',
  +    'return_type' => 'apr_status_t',
  +    'name' => 'modperl_interp_unselect',
       'args' => [
  -      {
  -        'name' => 'my_perl',
  -        'type' => 'PerlInterpreter *'
  -      },
         {
  -        'name' => 'handle',
  -        'type' => 'GV *'
  +        'type' => 'void *',
  +        'name' => 'data'
         }
  -    ],
  -    'name' => 'modperl_io_handle_untie'
  +    ]
     },
     {
       'return_type' => 'void',
  +    'name' => 'modperl_io_handle_tie',
       'args' => [
         {
  -        'name' => 'my_perl',
  -        'type' => 'PerlInterpreter *'
  +        'type' => 'PerlInterpreter *',
  +        'name' => 'my_perl'
         },
         {
  -        'name' => 'handle',
  -        'type' => 'GV *'
  +        'type' => 'GV *',
  +        'name' => 'handle'
         },
         {
  -        'name' => 'classname',
  -        'type' => 'char *'
  +        'type' => 'char *',
  +        'name' => 'classname'
         },
         {
  -        'name' => 'ptr',
  -        'type' => 'void *'
  +        'type' => 'void *',
  +        'name' => 'ptr'
         }
  -    ],
  -    'name' => 'modperl_io_handle_tie'
  +    ]
     },
     {
       'return_type' => 'int',
  +    'name' => 'modperl_io_handle_tied',
       'args' => [
         {
  -        'name' => 'my_perl',
  -        'type' => 'PerlInterpreter *'
  +        'type' => 'PerlInterpreter *',
  +        'name' => 'my_perl'
         },
         {
  -        'name' => 'handle',
  -        'type' => 'GV *'
  +        'type' => 'GV *',
  +        'name' => 'handle'
         },
         {
  -        'name' => 'classname',
  -        'type' => 'char *'
  +        'type' => 'char *',
  +        'name' => 'classname'
         }
  -    ],
  -    'name' => 'modperl_io_handle_tied'
  +    ]
     },
     {
  -    'return_type' => 'GV *',
  +    'return_type' => 'void',
  +    'name' => 'modperl_io_handle_untie',
       'args' => [
         {
  -        'name' => 'my_perl',
  -        'type' => 'PerlInterpreter *'
  +        'type' => 'PerlInterpreter *',
  +        'name' => 'my_perl'
         },
         {
  -        'name' => 'r',
  -        'type' => 'request_rec *'
  +        'type' => 'GV *',
  +        'name' => 'handle'
         }
  -    ],
  -    'name' => 'modperl_io_tie_stdout'
  +    ]
     },
     {
       'return_type' => 'GV *',
  +    'name' => 'modperl_io_tie_stdin',
       'args' => [
         {
  -        'name' => 'my_perl',
  -        'type' => 'PerlInterpreter *'
  +        'type' => 'PerlInterpreter *',
  +        'name' => 'my_perl'
         },
         {
  -        'name' => 'r',
  -        'type' => 'request_rec *'
  +        'type' => 'request_rec *',
  +        'name' => 'r'
         }
  -    ],
  -    'name' => 'modperl_io_tie_stdin'
  +    ]
     },
     {
  -    'return_type' => 'apr_status_t',
  +    'return_type' => 'GV *',
  +    'name' => 'modperl_io_tie_stdout',
       'args' => [
         {
  -        'name' => 'b',
  -        'type' => 'modperl_wbucket_t *'
  +        'type' => 'PerlInterpreter *',
  +        'name' => 'my_perl'
         },
         {
  -        'name' => 'buf',
  -        'type' => 'const char *'
  -      },
  -      {
  -        'name' => 'len',
  -        'type' => 'apr_ssize_t'
  +        'type' => 'request_rec *',
  +        'name' => 'r'
         }
  -    ],
  -    'name' => 'modperl_wbucket_pass'
  +    ]
     },
     {
  -    'return_type' => 'apr_status_t',
  +    'return_type' => 'modperl_list_t *',
  +    'name' => 'modperl_list_append',
       'args' => [
         {
  -        'name' => 'b',
  -        'type' => 'modperl_wbucket_t *'
  +        'type' => 'modperl_list_t *',
  +        'name' => 'list'
  +      },
  +      {
  +        'type' => 'modperl_list_t *',
  +        'name' => 'new_list'
         }
  -    ],
  -    'name' => 'modperl_wbucket_flush'
  +    ]
     },
     {
  -    'return_type' => 'apr_status_t',
  +    'return_type' => 'modperl_list_t *',
  +    'name' => 'modperl_list_first',
       'args' => [
         {
  -        'name' => 'b',
  -        'type' => 'modperl_wbucket_t *'
  -      },
  -      {
  -        'name' => 'buf',
  -        'type' => 'const char *'
  -      },
  -      {
  -        'name' => 'wlen',
  -        'type' => 'apr_ssize_t *'
  +        'type' => 'modperl_list_t *',
  +        'name' => 'list'
         }
  -    ],
  -    'name' => 'modperl_wbucket_write'
  +    ]
     },
     {
  -    'return_type' => 'modperl_filter_t *',
  +    'return_type' => 'modperl_list_t *',
  +    'name' => 'modperl_list_last',
       'args' => [
  -      {
  -        'name' => 'f',
  -        'type' => 'ap_filter_t *'
  -      },
         {
  -        'name' => 'bb',
  -        'type' => 'apr_bucket_brigade *'
  -      },
  -      {
  -        'name' => 'mode',
  -        'type' => 'modperl_filter_mode_e'
  +        'type' => 'modperl_list_t *',
  +        'name' => 'list'
         }
  -    ],
  -    'name' => 'modperl_filter_new'
  +    ]
     },
     {
  -    'return_type' => 'modperl_filter_t *',
  +    'return_type' => 'modperl_list_t *',
  +    'name' => 'modperl_list_new',
       'args' => [
         {
  -        'name' => 'my_perl',
  -        'type' => 'PerlInterpreter *'
  -      },
  -      {
  -        'name' => 'obj',
  -        'type' => 'SV *'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'p'
         }
  -    ],
  -    'name' => 'modperl_filter_mg_get'
  +    ]
     },
     {
  -    'return_type' => 'int',
  +    'return_type' => 'modperl_list_t *',
  +    'name' => 'modperl_list_prepend',
       'args' => [
         {
  -        'name' => 'filter',
  -        'type' => 'modperl_filter_t *'
  +        'type' => 'modperl_list_t *',
  +        'name' => 'list'
         },
         {
  -        'name' => 'mode',
  -        'type' => 'ap_input_mode_t'
  -      },
  -      {
  -        'name' => 'readbytes',
  -        'type' => 'apr_size_t *'
  +        'type' => 'modperl_list_t *',
  +        'name' => 'new_list'
         }
  -    ],
  -    'name' => 'modperl_run_filter'
  +    ]
     },
     {
  -    'return_type' => 'apr_status_t',
  +    'return_type' => 'modperl_list_t *',
  +    'name' => 'modperl_list_remove',
       'args' => [
         {
  -        'name' => 'f',
  -        'type' => 'ap_filter_t *'
  +        'type' => 'modperl_list_t *',
  +        'name' => 'list'
         },
         {
  -        'name' => 'bb',
  -        'type' => 'apr_bucket_brigade *'
  +        'type' => 'modperl_list_t *',
  +        'name' => 'rlist'
         }
  -    ],
  -    'name' => 'modperl_output_filter_handler'
  +    ]
     },
     {
  -    'return_type' => 'void',
  +    'return_type' => 'modperl_list_t *',
  +    'name' => 'modperl_list_remove_data',
       'args' => [
  +      {
  +        'type' => 'modperl_list_t *',
  +        'name' => 'list'
  +      },
         {
  -        'name' => 'r',
  -        'type' => 'request_rec *'
  +        'type' => 'void *',
  +        'name' => 'data'
  +      },
  +      {
  +        'type' => 'modperl_list_t **',
  +        'name' => 'listp'
         }
  -    ],
  -    'name' => 'modperl_output_filter_register'
  +    ]
     },
     {
  -    'return_type' => 'apr_status_t',
  +    'return_type' => 'int',
  +    'name' => 'modperl_log_handler',
       'args' => [
         {
  -        'name' => 'filter',
  -        'type' => 'modperl_filter_t *'
  +        'type' => 'request_rec *',
  +        'name' => 'r'
         }
  -    ],
  -    'name' => 'modperl_output_filter_flush'
  +    ]
     },
     {
  -    'return_type' => 'apr_ssize_t',
  +    'return_type' => 'void',
  +    'name' => 'modperl_mgv_append',
       'args' => [
         {
  -        'name' => 'my_perl',
  -        'type' => 'PerlInterpreter *'
  +        'type' => 'PerlInterpreter *',
  +        'name' => 'my_perl'
         },
         {
  -        'name' => 'filter',
  -        'type' => 'modperl_filter_t *'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'p'
         },
         {
  -        'name' => 'buffer',
  -        'type' => 'SV *'
  +        'type' => 'modperl_mgv_t *',
  +        'name' => 'symbol'
         },
         {
  -        'name' => 'wanted',
  -        'type' => 'apr_ssize_t'
  +        'type' => 'const char *',
  +        'name' => 'name'
         }
  -    ],
  -    'name' => 'modperl_output_filter_read'
  +    ]
     },
     {
  -    'return_type' => 'apr_status_t',
  +    'return_type' => 'char *',
  +    'name' => 'modperl_mgv_as_string',
       'args' => [
         {
  -        'name' => 'filter',
  -        'type' => 'modperl_filter_t *'
  +        'type' => 'PerlInterpreter *',
  +        'name' => 'my_perl'
         },
         {
  -        'name' => 'buf',
  -        'type' => 'const char *'
  +        'type' => 'modperl_mgv_t *',
  +        'name' => 'symbol'
         },
         {
  -        'name' => 'len',
  -        'type' => 'apr_ssize_t *'
  -      }
  -    ],
  -    'name' => 'modperl_output_filter_write'
  -  },
  -  {
  -    'return_type' => 'void',
  -    'args' => [
  -      {
  -        'name' => 'bb',
  -        'type' => 'apr_bucket_brigade *'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'p'
         },
         {
  -        'name' => 'fp',
  -        'type' => 'FILE *'
  +        'type' => 'int',
  +        'name' => 'package'
         }
  -    ],
  -    'name' => 'modperl_brigade_dump'
  +    ]
     },
     {
  -    'return_type' => 'apr_status_t',
  +    'return_type' => 'modperl_mgv_t *',
  +    'name' => 'modperl_mgv_compile',
       'args' => [
         {
  -        'name' => 'f',
  -        'type' => 'ap_filter_t *'
  +        'type' => 'PerlInterpreter *',
  +        'name' => 'my_perl'
         },
         {
  -        'name' => 'bb',
  -        'type' => 'apr_bucket_brigade *'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'p'
         },
         {
  -        'name' => 'mode',
  -        'type' => 'ap_input_mode_t'
  -      },
  -      {
  -        'name' => 'readbytes',
  -        'type' => 'apr_size_t *'
  +        'type' => 'const char *',
  +        'name' => 'name'
         }
  -    ],
  -    'name' => 'modperl_input_filter_handler'
  +    ]
     },
     {
       'return_type' => 'int',
  +    'name' => 'modperl_mgv_equal',
       'args' => [
         {
  -        'name' => 'c',
  -        'type' => 'conn_rec *'
  -      }
  -    ],
  -    'name' => 'modperl_input_filter_register_connection'
  -  },
  -  {
  -    'return_type' => 'int',
  -    'args' => [
  +        'type' => 'modperl_mgv_t *',
  +        'name' => 'mgv1'
  +      },
         {
  -        'name' => 'r',
  -        'type' => 'request_rec *'
  +        'type' => 'modperl_mgv_t *',
  +        'name' => 'mgv2'
         }
  -    ],
  -    'name' => 'modperl_input_filter_register_request'
  +    ]
     },
     {
  -    'return_type' => 'modperl_mgv_t *',
  +    'return_type' => 'void',
  +    'name' => 'modperl_mgv_hash_handlers',
       'args' => [
  +      {
  +        'type' => 'apr_pool_t *',
  +        'name' => 'p'
  +      },
         {
  -        'name' => 'p',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'server_rec *',
  +        'name' => 's'
         }
  -    ],
  -    'name' => 'modperl_mgv_new'
  +    ]
     },
     {
  -    'return_type' => 'int',
  +    'return_type' => 'GV *',
  +    'name' => 'modperl_mgv_lookup',
       'args' => [
         {
  -        'name' => 'mgv1',
  -        'type' => 'modperl_mgv_t *'
  +        'type' => 'PerlInterpreter *',
  +        'name' => 'my_perl'
         },
         {
  -        'name' => 'mgv2',
  -        'type' => 'modperl_mgv_t *'
  +        'type' => 'modperl_mgv_t *',
  +        'name' => 'symbol'
         }
  -    ],
  -    'name' => 'modperl_mgv_equal'
  +    ]
     },
     {
  -    'return_type' => 'modperl_mgv_t *',
  +    'return_type' => 'GV *',
  +    'name' => 'modperl_mgv_lookup_autoload',
       'args' => [
         {
  -        'name' => 'my_perl',
  -        'type' => 'PerlInterpreter *'
  +        'type' => 'PerlInterpreter *',
  +        'name' => 'my_perl'
         },
         {
  -        'name' => 'p',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'modperl_mgv_t *',
  +        'name' => 'symbol'
         },
         {
  -        'name' => 'name',
  -        'type' => 'const char *'
  +        'type' => 'server_rec *',
  +        'name' => 's'
  +      },
  +      {
  +        'type' => 'apr_pool_t *',
  +        'name' => 'p'
         }
  -    ],
  -    'name' => 'modperl_mgv_compile'
  +    ]
     },
     {
       'return_type' => 'char *',
  +    'name' => 'modperl_mgv_name_from_sv',
       'args' => [
         {
  -        'name' => 'my_perl',
  -        'type' => 'PerlInterpreter *'
  +        'type' => 'PerlInterpreter *',
  +        'name' => 'my_perl'
         },
         {
  -        'name' => 'p',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'p'
         },
         {
  -        'name' => 'sv',
  -        'type' => 'SV *'
  +        'type' => 'SV *',
  +        'name' => 'sv'
         }
  -    ],
  -    'name' => 'modperl_mgv_name_from_sv'
  +    ]
     },
     {
  -    'return_type' => 'GV *',
  +    'return_type' => 'modperl_mgv_t *',
  +    'name' => 'modperl_mgv_new',
       'args' => [
         {
  -        'name' => 'my_perl',
  -        'type' => 'PerlInterpreter *'
  -      },
  -      {
  -        'name' => 'symbol',
  -        'type' => 'modperl_mgv_t *'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'p'
         }
  -    ],
  -    'name' => 'modperl_mgv_lookup'
  +    ]
     },
     {
  -    'return_type' => 'GV *',
  +    'return_type' => 'int',
  +    'name' => 'modperl_mgv_require_module',
       'args' => [
         {
  -        'name' => 'my_perl',
  -        'type' => 'PerlInterpreter *'
  +        'type' => 'PerlInterpreter *',
  +        'name' => 'my_perl'
         },
         {
  -        'name' => 'symbol',
  -        'type' => 'modperl_mgv_t *'
  +        'type' => 'modperl_mgv_t *',
  +        'name' => 'symbol'
         },
         {
  -        'name' => 's',
  -        'type' => 'server_rec *'
  +        'type' => 'server_rec *',
  +        'name' => 's'
         },
         {
  -        'name' => 'p',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'p'
         }
  -    ],
  -    'name' => 'modperl_mgv_lookup_autoload'
  +    ]
     },
     {
       'return_type' => 'int',
  +    'name' => 'modperl_mgv_resolve',
       'args' => [
         {
  -        'name' => 'my_perl',
  -        'type' => 'PerlInterpreter *'
  +        'type' => 'PerlInterpreter *',
  +        'name' => 'my_perl'
         },
         {
  -        'name' => 'handler',
  -        'type' => 'modperl_handler_t *'
  +        'type' => 'modperl_handler_t *',
  +        'name' => 'handler'
         },
         {
  -        'name' => 'p',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'p'
         },
         {
  -        'name' => 'name',
  -        'type' => 'const char *'
  +        'type' => 'const char *',
  +        'name' => 'name'
         }
  -    ],
  -    'name' => 'modperl_mgv_resolve'
  +    ]
     },
     {
  +    'return_type' => 'SV *',
  +    'name' => 'modperl_newSVsv_obj',
  +    'args' => [
  +      {
  +        'type' => 'PerlInterpreter *',
  +        'name' => 'my_perl'
  +      },
  +      {
  +        'type' => 'SV *',
  +        'name' => 'stashsv'
  +      },
  +      {
  +        'type' => 'SV *',
  +        'name' => 'obj'
  +      }
  +    ]
  +  },
  +  {
       'return_type' => 'void',
  +    'name' => 'modperl_open_logs_handler',
       'args' => [
         {
  -        'name' => 'my_perl',
  -        'type' => 'PerlInterpreter *'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'pconf'
         },
         {
  -        'name' => 'p',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'plog'
         },
         {
  -        'name' => 'symbol',
  -        'type' => 'modperl_mgv_t *'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'ptemp'
         },
         {
  -        'name' => 'name',
  -        'type' => 'const char *'
  +        'type' => 'server_rec *',
  +        'name' => 's'
         }
  -    ],
  -    'name' => 'modperl_mgv_append'
  +    ]
     },
     {
  -    'return_type' => 'char *',
  +    'return_type' => 'modperl_options_t *',
  +    'name' => 'modperl_options_merge',
       'args' => [
         {
  -        'name' => 'my_perl',
  -        'type' => 'PerlInterpreter *'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'p'
         },
         {
  -        'name' => 'symbol',
  -        'type' => 'modperl_mgv_t *'
  +        'type' => 'modperl_options_t *',
  +        'name' => 'base'
         },
  +      {
  +        'type' => 'modperl_options_t *new',
  +        'name' => 'arg2'
  +      }
  +    ]
  +  },
  +  {
  +    'return_type' => 'modperl_options_t *',
  +    'name' => 'modperl_options_new',
  +    'args' => [
         {
  -        'name' => 'p',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'p'
         },
         {
  -        'name' => 'package',
  -        'type' => 'int'
  +        'type' => 'int',
  +        'name' => 'type'
         }
  -    ],
  -    'name' => 'modperl_mgv_as_string'
  +    ]
     },
     {
  -    'return_type' => 'int',
  +    'return_type' => 'const char *',
  +    'name' => 'modperl_options_set',
       'args' => [
         {
  -        'name' => 'my_perl',
  -        'type' => 'PerlInterpreter *'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'p'
         },
         {
  -        'name' => 'symbol',
  -        'type' => 'modperl_mgv_t *'
  +        'type' => 'modperl_options_t *',
  +        'name' => 'o'
         },
         {
  -        'name' => 's',
  -        'type' => 'server_rec *'
  -      },
  +        'type' => 'const char *',
  +        'name' => 's'
  +      }
  +    ]
  +  },
  +  {
  +    'return_type' => 'apr_status_t',
  +    'name' => 'modperl_output_filter_flush',
  +    'args' => [
         {
  -        'name' => 'p',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'modperl_filter_t *',
  +        'name' => 'filter'
         }
  -    ],
  -    'name' => 'modperl_mgv_require_module'
  +    ]
     },
     {
  -    'return_type' => 'void',
  +    'return_type' => 'apr_status_t',
  +    'name' => 'modperl_output_filter_handler',
       'args' => [
         {
  -        'name' => 'p',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'ap_filter_t *',
  +        'name' => 'f'
         },
         {
  -        'name' => 's',
  -        'type' => 'server_rec *'
  +        'type' => 'apr_bucket_brigade *',
  +        'name' => 'bb'
         }
  -    ],
  -    'name' => 'modperl_mgv_hash_handlers'
  +    ]
     },
     {
  -    'return_type' => 'void',
  +    'return_type' => 'apr_ssize_t',
  +    'name' => 'modperl_output_filter_read',
       'args' => [
  +      {
  +        'type' => 'PerlInterpreter *',
  +        'name' => 'my_perl'
  +      },
         {
  -        'name' => 'r',
  -        'type' => 'request_rec *'
  +        'type' => 'modperl_filter_t *',
  +        'name' => 'filter'
  +      },
  +      {
  +        'type' => 'SV *',
  +        'name' => 'buffer'
  +      },
  +      {
  +        'type' => 'apr_ssize_t',
  +        'name' => 'wanted'
         }
  -    ],
  -    'name' => 'modperl_global_request_cfg_set'
  +    ]
     },
     {
       'return_type' => 'void',
  +    'name' => 'modperl_output_filter_register',
       'args' => [
         {
  -        'name' => 'r',
  -        'type' => 'request_rec *'
  +        'type' => 'request_rec *',
  +        'name' => 'r'
         }
  -    ],
  -    'name' => 'modperl_global_request_set'
  +    ]
     },
     {
  -    'return_type' => 'void',
  +    'return_type' => 'apr_status_t',
  +    'name' => 'modperl_output_filter_write',
       'args' => [
  +      {
  +        'type' => 'modperl_filter_t *',
  +        'name' => 'filter'
  +      },
         {
  -        'name' => 'my_perl',
  -        'type' => 'PerlInterpreter *'
  +        'type' => 'const char *',
  +        'name' => 'buf'
         },
         {
  -        'name' => 'svr',
  -        'type' => 'SV *'
  +        'type' => 'apr_ssize_t *',
  +        'name' => 'len'
         }
  -    ],
  -    'name' => 'modperl_global_request_obj_set'
  +    ]
     },
     {
       'return_type' => 'void',
  +    'name' => 'modperl_post_config_handler',
       'args' => [
         {
  -        'name' => 'global',
  -        'type' => 'modperl_global_t *'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'pconf'
         },
         {
  -        'name' => 'p',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'plog'
         },
         {
  -        'name' => 'data',
  -        'type' => 'void *'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'ptemp'
         },
         {
  -        'name' => 'name',
  -        'type' => 'const char *'
  +        'type' => 'server_rec *',
  +        'name' => 's'
         }
  -    ],
  -    'name' => 'modperl_global_init'
  +    ]
     },
     {
  -    'return_type' => 'void',
  +    'return_type' => 'int',
  +    'name' => 'modperl_post_read_request_handler',
       'args' => [
         {
  -        'name' => 'global',
  -        'type' => 'modperl_global_t *'
  +        'type' => 'request_rec *',
  +        'name' => 'r'
         }
  -    ],
  -    'name' => 'modperl_global_lock'
  +    ]
     },
     {
       'return_type' => 'void',
  +    'name' => 'modperl_pre_config_handler',
       'args' => [
  +      {
  +        'type' => 'apr_pool_t *',
  +        'name' => 'p'
  +      },
         {
  -        'name' => 'global',
  -        'type' => 'modperl_global_t *'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'plog'
  +      },
  +      {
  +        'type' => 'apr_pool_t *',
  +        'name' => 'ptemp'
         }
  -    ],
  -    'name' => 'modperl_global_unlock'
  +    ]
     },
     {
  -    'return_type' => 'void *',
  +    'return_type' => 'int',
  +    'name' => 'modperl_pre_connection_handler',
       'args' => [
         {
  -        'name' => 'global',
  -        'type' => 'modperl_global_t *'
  +        'type' => 'conn_rec *',
  +        'name' => 'c'
         }
  -    ],
  -    'name' => 'modperl_global_get'
  +    ]
     },
     {
  -    'return_type' => 'void',
  +    'return_type' => 'int',
  +    'name' => 'modperl_process_connection_handler',
       'args' => [
  -      {
  -        'name' => 'global',
  -        'type' => 'modperl_global_t *'
  -      },
         {
  -        'name' => 'data',
  -        'type' => 'void *'
  +        'type' => 'conn_rec *',
  +        'name' => 'c'
         }
  -    ],
  -    'name' => 'modperl_global_set'
  +    ]
     },
     {
  -    'return_type' => 'void',
  +    'return_type' => 'SV *',
  +    'name' => 'modperl_ptr2obj',
       'args' => [
  +      {
  +        'type' => 'PerlInterpreter *',
  +        'name' => 'my_perl'
  +      },
         {
  -        'name' => 'p',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'char *',
  +        'name' => 'classname'
         },
         {
  -        'name' => 'pconf',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'void *',
  +        'name' => 'ptr'
         }
  -    ],
  -    'name' => 'modperl_global_init_pconf'
  +    ]
     },
     {
       'return_type' => 'void',
  -    'args' => [],
  -    'name' => 'modperl_global_lock_pconf'
  +    'name' => 'modperl_register_handler_hooks',
  +    'args' => []
     },
     {
       'return_type' => 'void',
  -    'args' => [],
  -    'name' => 'modperl_global_unlock_pconf'
  -  },
  -  {
  -    'return_type' => 'apr_pool_t *',
  -    'args' => [],
  -    'name' => 'modperl_global_get_pconf'
  -  },
  -  {
  -    'return_type' => 'void',
  +    'name' => 'modperl_register_hooks',
       'args' => [
         {
  -        'name' => 'arg0',
  -        'type' => 'void *'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'p'
         }
  -    ],
  -    'name' => 'modperl_global_set_pconf'
  +    ]
     },
     {
  -    'return_type' => 'void',
  +    'return_type' => 'int',
  +    'name' => 'modperl_require_module',
       'args' => [
         {
  -        'name' => 'p',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'PerlInterpreter *',
  +        'name' => 'my_perl'
         },
         {
  -        'name' => 'arg1',
  -        'type' => 'server_rec * server_rec'
  +        'type' => 'const char *',
  +        'name' => 'pv'
  +      },
  +      {
  +        'type' => 'int',
  +        'name' => 'logfailure'
         }
  -    ],
  -    'name' => 'modperl_global_init_server_rec'
  +    ]
     },
     {
       'return_type' => 'void',
  -    'args' => [],
  -    'name' => 'modperl_global_lock_server_rec'
  +    'name' => 'modperl_response_finish',
  +    'args' => [
  +      {
  +        'type' => 'request_rec *',
  +        'name' => 'r'
  +      }
  +    ]
     },
     {
  -    'return_type' => 'void',
  -    'args' => [],
  -    'name' => 'modperl_global_unlock_server_rec'
  +    'return_type' => 'int',
  +    'name' => 'modperl_response_handler',
  +    'args' => [
  +      {
  +        'type' => 'request_rec *',
  +        'name' => 'r'
  +      }
  +    ]
     },
     {
  -    'return_type' => 'server_rec *',
  -    'args' => [],
  -    'name' => 'modperl_global_get_server_rec'
  +    'return_type' => 'int',
  +    'name' => 'modperl_response_handler_cgi',
  +    'args' => [
  +      {
  +        'type' => 'request_rec *',
  +        'name' => 'r'
  +      }
  +    ]
     },
     {
       'return_type' => 'void',
  +    'name' => 'modperl_response_init',
       'args' => [
         {
  -        'name' => 'arg0',
  -        'type' => 'void *'
  +        'type' => 'request_rec *',
  +        'name' => 'r'
         }
  -    ],
  -    'name' => 'modperl_global_set_server_rec'
  +    ]
     },
     {
  -    'return_type' => 'void',
  +    'return_type' => 'int',
  +    'name' => 'modperl_run_filter',
       'args' => [
  +      {
  +        'type' => 'modperl_filter_t *',
  +        'name' => 'filter'
  +      },
         {
  -        'name' => 'p',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'ap_input_mode_t',
  +        'name' => 'mode'
         },
         {
  -        'name' => 'threaded_mpm',
  -        'type' => 'int'
  +        'type' => 'apr_size_t *',
  +        'name' => 'readbytes'
         }
  -    ],
  -    'name' => 'modperl_global_init_threaded_mpm'
  -  },
  -  {
  -    'return_type' => 'void',
  -    'args' => [],
  -    'name' => 'modperl_global_lock_threaded_mpm'
  -  },
  -  {
  -    'return_type' => 'void',
  -    'args' => [],
  -    'name' => 'modperl_global_unlock_threaded_mpm'
  +    ]
     },
     {
  -    'return_type' => 'int',
  -    'args' => [],
  -    'name' => 'modperl_global_get_threaded_mpm'
  +    'return_type' => 'char *',
  +    'name' => 'modperl_server_desc',
  +    'args' => [
  +      {
  +        'type' => 'server_rec *',
  +        'name' => 's'
  +      },
  +      {
  +        'type' => 'apr_pool_t *',
  +        'name' => 'p'
  +      }
  +    ]
     },
     {
  -    'return_type' => 'void',
  +    'return_type' => 'PerlInterpreter *',
  +    'name' => 'modperl_startup',
       'args' => [
  +      {
  +        'type' => 'server_rec *',
  +        'name' => 's'
  +      },
         {
  -        'name' => 'arg0',
  -        'type' => 'void *'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'p'
         }
  -    ],
  -    'name' => 'modperl_global_set_threaded_mpm'
  +    ]
     },
     {
  -    'return_type' => 'apr_status_t',
  +    'return_type' => 'apr_pool_t *',
  +    'name' => 'modperl_sv2pool',
       'args' => [
         {
  -        'name' => 'p',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'PerlInterpreter *',
  +        'name' => 'my_perl'
         },
         {
  -        'name' => 'key',
  -        'type' => 'modperl_tls_t **'
  +        'type' => 'SV *',
  +        'name' => 'obj'
         }
  -    ],
  -    'name' => 'modperl_tls_create'
  +    ]
     },
     {
  -    'return_type' => 'apr_status_t',
  +    'return_type' => 'request_rec *',
  +    'name' => 'modperl_sv2request_rec',
       'args' => [
         {
  -        'name' => 'key',
  -        'type' => 'modperl_tls_t *'
  +        'type' => 'PerlInterpreter *',
  +        'name' => 'my_perl'
         },
         {
  -        'name' => 'data',
  -        'type' => 'void **'
  +        'type' => 'SV *',
  +        'name' => 'sv'
         }
  -    ],
  -    'name' => 'modperl_tls_get'
  +    ]
     },
     {
  -    'return_type' => 'apr_status_t',
  +    'return_type' => 'server_rec *',
  +    'name' => 'modperl_sv2server_rec',
       'args' => [
         {
  -        'name' => 'key',
  -        'type' => 'modperl_tls_t *'
  +        'type' => 'PerlInterpreter *',
  +        'name' => 'my_perl'
         },
         {
  -        'name' => 'data',
  -        'type' => 'void *'
  +        'type' => 'SV *',
  +        'name' => 'sv'
         }
  -    ],
  -    'name' => 'modperl_tls_set'
  +    ]
     },
     {
       'return_type' => 'void',
  +    'name' => 'modperl_tipool_add',
       'args' => [
         {
  -        'name' => 'p',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'modperl_tipool_t *',
  +        'name' => 'tipool'
         },
         {
  -        'name' => 'key',
  -        'type' => 'modperl_tls_t *'
  -      },
  +        'type' => 'void *',
  +        'name' => 'data'
  +      }
  +    ]
  +  },
  +  {
  +    'return_type' => 'void',
  +    'name' => 'modperl_tipool_destroy',
  +    'args' => [
         {
  -        'name' => 'data',
  -        'type' => 'void *'
  +        'type' => 'modperl_tipool_t *',
  +        'name' => 'tipool'
         }
  -    ],
  -    'name' => 'modperl_tls_reset_cleanup'
  +    ]
     },
     {
  -    'return_type' => 'apr_status_t',
  +    'return_type' => 'void',
  +    'name' => 'modperl_tipool_init',
       'args' => [
         {
  -        'name' => 'p',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'modperl_tipool_t *',
  +        'name' => 'tipool'
         }
  -    ],
  -    'name' => 'modperl_tls_create_request_rec'
  +    ]
     },
     {
  -    'return_type' => 'apr_status_t',
  +    'return_type' => 'modperl_tipool_t *',
  +    'name' => 'modperl_tipool_new',
       'args' => [
  +      {
  +        'type' => 'apr_pool_t *',
  +        'name' => 'p'
  +      },
  +      {
  +        'type' => 'modperl_tipool_config_t *',
  +        'name' => 'cfg'
  +      },
         {
  -        'name' => 'data',
  -        'type' => 'request_rec * *'
  +        'type' => 'modperl_tipool_vtbl_t *',
  +        'name' => 'func'
  +      },
  +      {
  +        'type' => 'void *',
  +        'name' => 'data'
         }
  -    ],
  -    'name' => 'modperl_tls_get_request_rec'
  +    ]
     },
     {
  -    'return_type' => 'apr_status_t',
  +    'return_type' => 'modperl_list_t *',
  +    'name' => 'modperl_tipool_pop',
       'args' => [
         {
  -        'name' => 'data',
  -        'type' => 'void *'
  +        'type' => 'modperl_tipool_t *',
  +        'name' => 'tipool'
         }
  -    ],
  -    'name' => 'modperl_tls_set_request_rec'
  +    ]
     },
     {
       'return_type' => 'void',
  +    'name' => 'modperl_tipool_putback',
       'args' => [
         {
  -        'name' => 'p',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'modperl_tipool_t *',
  +        'name' => 'tipool'
         },
         {
  -        'name' => 'data',
  -        'type' => 'request_rec *'
  +        'type' => 'modperl_list_t *',
  +        'name' => 'listp'
  +      },
  +      {
  +        'type' => 'int',
  +        'name' => 'num_requests'
         }
  -    ],
  -    'name' => 'modperl_tls_reset_cleanup_request_rec'
  +    ]
     },
     {
       'return_type' => 'void',
  +    'name' => 'modperl_tipool_putback_data',
       'args' => [
  +      {
  +        'type' => 'modperl_tipool_t *',
  +        'name' => 'tipool'
  +      },
         {
  -        'name' => 'my_perl',
  -        'type' => 'PerlInterpreter *'
  +        'type' => 'void *',
  +        'name' => 'data'
         },
         {
  -        'name' => 'r',
  -        'type' => 'request_rec *'
  +        'type' => 'int',
  +        'name' => 'num_requests'
         }
  -    ],
  -    'name' => 'modperl_env_request_tie'
  +    ]
     },
     {
       'return_type' => 'void',
  +    'name' => 'modperl_tipool_remove',
       'args' => [
         {
  -        'name' => 'my_perl',
  -        'type' => 'PerlInterpreter *'
  +        'type' => 'modperl_tipool_t *',
  +        'name' => 'tipool'
         },
         {
  -        'name' => 'r',
  -        'type' => 'request_rec *'
  +        'type' => 'modperl_list_t *',
  +        'name' => 'listp'
         }
  -    ],
  -    'name' => 'modperl_env_request_untie'
  +    ]
     },
     {
  -    'return_type' => 'int',
  +    'return_type' => 'apr_status_t',
  +    'name' => 'modperl_tls_create',
       'args' => [
         {
  -        'name' => 'r',
  -        'type' => 'request_rec *'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'p'
         },
         {
  -        'name' => 'buffer',
  -        'type' => 'char *'
  -      },
  +        'type' => 'modperl_tls_t **',
  +        'name' => 'key'
  +      }
  +    ]
  +  },
  +  {
  +    'return_type' => 'apr_status_t',
  +    'name' => 'modperl_tls_create_request_rec',
  +    'args' => [
         {
  -        'name' => 'bodytext',
  -        'type' => 'const char **'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'p'
         }
  -    ],
  -    'name' => 'modperl_cgi_header_parse'
  +    ]
     },
     {
  -    'return_type' => 'void',
  +    'return_type' => 'apr_status_t',
  +    'name' => 'modperl_tls_get',
       'args' => [
         {
  -        'name' => 's',
  -        'type' => 'server_rec *'
  +        'type' => 'modperl_tls_t *',
  +        'name' => 'key'
         },
  +      {
  +        'type' => 'void **',
  +        'name' => 'data'
  +      }
  +    ]
  +  },
  +  {
  +    'return_type' => 'apr_status_t',
  +    'name' => 'modperl_tls_get_request_rec',
  +    'args' => [
         {
  -        'name' => 'p',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'request_rec * *',
  +        'name' => 'data'
         }
  -    ],
  -    'name' => 'modperl_init'
  +    ]
     },
     {
       'return_type' => 'void',
  +    'name' => 'modperl_tls_reset_cleanup',
       'args' => [
         {
  -        'name' => 'pconf',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'p'
         },
         {
  -        'name' => 'plog',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'modperl_tls_t *',
  +        'name' => 'key'
         },
         {
  -        'name' => 'ptemp',
  -        'type' => 'apr_pool_t *'
  -      },
  -      {
  -        'name' => 's',
  -        'type' => 'server_rec *'
  +        'type' => 'void *',
  +        'name' => 'data'
         }
  -    ],
  -    'name' => 'modperl_hook_init'
  +    ]
     },
     {
       'return_type' => 'void',
  +    'name' => 'modperl_tls_reset_cleanup_request_rec',
       'args' => [
  -      {
  -        'name' => 'p',
  -        'type' => 'apr_pool_t *'
  -      },
         {
  -        'name' => 'plog',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'p'
         },
         {
  -        'name' => 'ptemp',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'request_rec *',
  +        'name' => 'data'
         }
  -    ],
  -    'name' => 'modperl_pre_config_handler'
  +    ]
     },
     {
  -    'return_type' => 'void',
  +    'return_type' => 'apr_status_t',
  +    'name' => 'modperl_tls_set',
       'args' => [
  +      {
  +        'type' => 'modperl_tls_t *',
  +        'name' => 'key'
  +      },
         {
  -        'name' => 'p',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'void *',
  +        'name' => 'data'
         }
  -    ],
  -    'name' => 'modperl_register_hooks'
  +    ]
     },
     {
  -    'return_type' => 'PerlInterpreter *',
  +    'return_type' => 'apr_status_t',
  +    'name' => 'modperl_tls_set_request_rec',
       'args' => [
  -      {
  -        'name' => 's',
  -        'type' => 'server_rec *'
  -      },
         {
  -        'name' => 'p',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'void *',
  +        'name' => 'data'
         }
  -    ],
  -    'name' => 'modperl_startup'
  +    ]
     },
     {
       'return_type' => 'void',
  +    'name' => 'modperl_trace',
       'args' => [
  +      {
  +        'type' => 'char *',
  +        'name' => 'func'
  +      },
  +      {
  +        'type' => 'const char *',
  +        'name' => 'fmt'
  +      },
         {
  -        'name' => 'r',
  -        'type' => 'request_rec *'
  +        'type' => '...',
  +        'name' => 'arg2'
         }
  -    ],
  -    'name' => 'modperl_response_init'
  +    ]
     },
     {
       'return_type' => 'void',
  +    'name' => 'modperl_trace_level_set',
       'args' => [
         {
  -        'name' => 'r',
  -        'type' => 'request_rec *'
  +        'type' => 'const char *',
  +        'name' => 'level'
         }
  -    ],
  -    'name' => 'modperl_response_finish'
  +    ]
     },
     {
       'return_type' => 'int',
  +    'name' => 'modperl_trans_handler',
       'args' => [
         {
  -        'name' => 'r',
  -        'type' => 'request_rec *'
  +        'type' => 'request_rec *',
  +        'name' => 'r'
         }
  -    ],
  -    'name' => 'modperl_response_handler'
  +    ]
     },
     {
       'return_type' => 'int',
  +    'name' => 'modperl_type_handler',
       'args' => [
         {
  -        'name' => 'r',
  -        'type' => 'request_rec *'
  +        'type' => 'request_rec *',
  +        'name' => 'r'
         }
  -    ],
  -    'name' => 'modperl_response_handler_cgi'
  +    ]
     },
     {
  -    'return_type' => 'apr_bucket *',
  +    'return_type' => 'modperl_uri_t *',
  +    'name' => 'modperl_uri_new',
       'args' => [
  -      {
  -        'name' => 'my_perl',
  -        'type' => 'PerlInterpreter *'
  -      },
  -      {
  -        'name' => 'sv',
  -        'type' => 'SV *'
  -      },
  -      {
  -        'name' => 'offset',
  -        'type' => 'int'
  -      },
         {
  -        'name' => 'len',
  -        'type' => 'int'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'p'
         }
  -    ],
  -    'name' => 'modperl_bucket_sv_create'
  +    ]
     },
     {
  -    'return_type' => 'apr_bucket *',
  +    'return_type' => 'apr_status_t',
  +    'name' => 'modperl_wbucket_flush',
       'args' => [
  -      {
  -        'name' => 'classname',
  -        'type' => 'SV *'
  -      },
  -      {
  -        'name' => 'sv',
  -        'type' => 'SV *'
  -      },
  -      {
  -        'name' => 'offset',
  -        'type' => 'int'
  -      },
         {
  -        'name' => 'len',
  -        'type' => 'int'
  +        'type' => 'modperl_wbucket_t *',
  +        'name' => 'b'
         }
  -    ],
  -    'name' => 'mpxs_APR__Bucket_new'
  +    ]
     },
     {
       'return_type' => 'apr_status_t',
  +    'name' => 'modperl_wbucket_pass',
       'args' => [
         {
  -        'name' => 'bucket',
  -        'type' => 'apr_bucket *'
  +        'type' => 'modperl_wbucket_t *',
  +        'name' => 'b'
         },
         {
  -        'name' => 'str',
  -        'type' => 'const char **'
  +        'type' => 'const char *',
  +        'name' => 'buf'
         },
         {
  -        'name' => 'len',
  -        'type' => 'apr_size_t *'
  -      },
  -      {
  -        'name' => 'block',
  -        'type' => 'apr_read_type_e'
  +        'type' => 'apr_ssize_t',
  +        'name' => 'len'
         }
  -    ],
  -    'name' => 'modperl_bucket_read'
  +    ]
     },
     {
       'return_type' => 'apr_status_t',
  +    'name' => 'modperl_wbucket_write',
       'args' => [
  -      {
  -        'name' => 'my_perl',
  -        'type' => 'PerlInterpreter *'
  -      },
         {
  -        'name' => 'bucket',
  -        'type' => 'apr_bucket *'
  +        'type' => 'modperl_wbucket_t *',
  +        'name' => 'b'
         },
         {
  -        'name' => 'buffer',
  -        'type' => 'SV *'
  +        'type' => 'const char *',
  +        'name' => 'buf'
         },
  -      {
  -        'name' => 'block',
  -        'type' => 'apr_read_type_e'
  -      }
  -    ],
  -    'name' => 'mpxs_modperl_bucket_read'
  -  },
  -  {
  -    'return_type' => 'int',
  -    'args' => [
         {
  -        'name' => 'bucket',
  -        'type' => 'apr_bucket *'
  +        'type' => 'apr_ssize_t *',
  +        'name' => 'wlen'
         }
  -    ],
  -    'name' => 'mpxs_APR__Bucket_is_eos'
  +    ]
     },
     {
       'return_type' => 'void',
  +    'name' => 'modperl_xs_dl_handles_clear',
       'args' => [
  -      {
  -        'name' => 'a',
  -        'type' => 'apr_bucket *'
  -      },
         {
  -        'name' => 'b',
  -        'type' => 'apr_bucket *'
  +        'type' => 'PerlInterpreter *',
  +        'name' => 'my_perl'
         }
  -    ],
  -    'name' => 'mpxs_APR__Bucket_insert_before'
  +    ]
     },
     {
       'return_type' => 'void',
  +    'name' => 'modperl_xs_dl_handles_close',
       'args' => [
         {
  -        'name' => 'a',
  -        'type' => 'apr_bucket *'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'p'
         },
  -      {
  -        'name' => 'b',
  -        'type' => 'apr_bucket *'
  -      }
  -    ],
  -    'name' => 'mpxs_APR__Bucket_insert_after'
  -  },
  -  {
  -    'return_type' => 'void',
  -    'args' => [
         {
  -        'name' => 'bucket',
  -        'type' => 'apr_bucket *'
  +        'type' => 'apr_array_header_t *',
  +        'name' => 'handles'
         }
  -    ],
  -    'name' => 'mpxs_APR__Bucket_remove'
  +    ]
     },
     {
  -    'return_type' => 'apr_status_t',
  +    'return_type' => 'apr_array_header_t *',
  +    'name' => 'modperl_xs_dl_handles_get',
       'args' => [
  -      {
  -        'name' => 'my_perl',
  -        'type' => 'PerlInterpreter *'
  -      },
  -      {
  -        'name' => 'socket',
  -        'type' => 'apr_socket_t *'
  -      },
         {
  -        'name' => 'sv_buf',
  -        'type' => 'SV *'
  +        'type' => 'PerlInterpreter *',
  +        'name' => 'my_perl'
         },
         {
  -        'name' => 'sv_len',
  -        'type' => 'SV *'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'p'
         }
  -    ],
  -    'name' => 'mpxs_apr_recv'
  +    ]
     },
     {
  -    'return_type' => 'apr_status_t',
  +    'return_type' => 'request_rec *',
  +    'name' => 'modperl_xs_sv2request_rec',
       'args' => [
         {
  -        'name' => 'my_perl',
  -        'type' => 'PerlInterpreter *'
  +        'type' => 'PerlInterpreter *',
  +        'name' => 'my_perl'
         },
         {
  -        'name' => 'socket',
  -        'type' => 'apr_socket_t *'
  +        'type' => 'SV *',
  +        'name' => 'sv'
         },
         {
  -        'name' => 'sv_buf',
  -        'type' => 'SV *'
  +        'type' => 'char *',
  +        'name' => 'classname'
         },
         {
  -        'name' => 'sv_len',
  -        'type' => 'SV *'
  +        'type' => 'CV *',
  +        'name' => 'cv'
         }
  -    ],
  -    'name' => 'mpxs_apr_send'
  +    ]
     },
     {
  -    'return_type' => 'apr_ipsubnet_t *',
  +    'return_type' => 'void',
  +    'name' => 'mpxs_APR__Brigade_concat',
       'args' => [
  -      {
  -        'name' => 'my_perl',
  -        'type' => 'PerlInterpreter *'
  -      },
  -      {
  -        'name' => 'classname',
  -        'type' => 'SV *'
  -      },
         {
  -        'name' => 'p',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'apr_bucket_brigade *',
  +        'name' => 'a'
         },
         {
  -        'name' => 'ipstr',
  -        'type' => 'const char *'
  -      },
  -      {
  -        'name' => 'mask_or_numbits',
  -        'type' => 'const char *'
  +        'type' => 'apr_bucket_brigade *',
  +        'name' => 'b'
         }
  -    ],
  -    'name' => 'mpxs_apr_ipsubnet_create'
  +    ]
     },
     {
  -    'return_type' => 'char *',
  +    'return_type' => 'int',
  +    'name' => 'mpxs_APR__Brigade_empty',
       'args' => [
  -      {
  -        'name' => 'my_perl',
  -        'type' => 'PerlInterpreter *'
  -      },
  -      {
  -        'name' => 'uptr',
  -        'type' => 'apr_uri_components *'
  -      },
         {
  -        'name' => 'flags',
  -        'type' => 'unsigned'
  +        'type' => 'apr_bucket_brigade *',
  +        'name' => 'brigade'
         }
  -    ],
  -    'name' => 'mpxs_apr_uri_unparse_components'
  +    ]
     },
     {
  -    'return_type' => 'apr_uri_components *',
  +    'return_type' => 'apr_bucket *',
  +    'name' => 'mpxs_APR__Brigade_first',
       'args' => [
  -      {
  -        'name' => 'my_perl',
  -        'type' => 'PerlInterpreter *'
  -      },
  -      {
  -        'name' => 'classname',
  -        'type' => 'SV *'
  -      },
  -      {
  -        'name' => 'obj',
  -        'type' => 'SV *'
  -      },
         {
  -        'name' => 'uri_string',
  -        'type' => 'const char *'
  +        'type' => 'apr_bucket_brigade *',
  +        'name' => 'brigade'
         }
  -    ],
  -    'name' => 'mpxs_apr_uri_parse_components'
  +    ]
     },
     {
  -    'return_type' => 'char *',
  +    'return_type' => 'void',
  +    'name' => 'mpxs_APR__Brigade_insert_head',
       'args' => [
         {
  -        'name' => 'uri',
  -        'type' => 'apr_uri_components *'
  +        'type' => 'apr_bucket_brigade *',
  +        'name' => 'brigade'
         },
         {
  -        'name' => 'portsv',
  -        'type' => 'SV *'
  +        'type' => 'apr_bucket *',
  +        'name' => 'bucket'
         }
  -    ],
  -    'name' => 'mpxs_APR__URI_port'
  +    ]
     },
     {
  -    'return_type' => 'apr_bucket_brigade *',
  +    'return_type' => 'void',
  +    'name' => 'mpxs_APR__Brigade_insert_tail',
       'args' => [
         {
  -        'name' => 'my_perl',
  -        'type' => 'PerlInterpreter *'
  +        'type' => 'apr_bucket_brigade *',
  +        'name' => 'brigade'
         },
         {
  -        'name' => 'CLASS',
  -        'type' => 'SV *'
  -      },
  -      {
  -        'name' => 'p',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'apr_bucket *',
  +        'name' => 'bucket'
         }
  -    ],
  -    'name' => 'mpxs_apr_brigade_create'
  +    ]
     },
     {
       'return_type' => 'apr_bucket *',
  +    'name' => 'mpxs_APR__Brigade_last',
       'args' => [
         {
  -        'name' => 'brigade',
  -        'type' => 'apr_bucket_brigade *'
  +        'type' => 'apr_bucket_brigade *',
  +        'name' => 'brigade'
         }
  -    ],
  -    'name' => 'mpxs_APR__Brigade_first'
  +    ]
     },
     {
       'return_type' => 'apr_bucket *',
  +    'name' => 'mpxs_APR__Brigade_next',
       'args' => [
  +      {
  +        'type' => 'apr_bucket_brigade *',
  +        'name' => 'brigade'
  +      },
         {
  -        'name' => 'brigade',
  -        'type' => 'apr_bucket_brigade *'
  +        'type' => 'apr_bucket *',
  +        'name' => 'bucket'
         }
  -    ],
  -    'name' => 'mpxs_APR__Brigade_last'
  +    ]
     },
     {
       'return_type' => 'apr_bucket *',
  +    'name' => 'mpxs_APR__Brigade_prev',
       'args' => [
         {
  -        'name' => 'brigade',
  -        'type' => 'apr_bucket_brigade *'
  +        'type' => 'apr_bucket_brigade *',
  +        'name' => 'brigade'
         },
         {
  -        'name' => 'bucket',
  -        'type' => 'apr_bucket *'
  +        'type' => 'apr_bucket *',
  +        'name' => 'bucket'
         }
  -    ],
  -    'name' => 'mpxs_APR__Brigade_next'
  +    ]
     },
     {
  -    'return_type' => 'apr_bucket *',
  +    'return_type' => 'void',
  +    'name' => 'mpxs_APR__Bucket_insert_after',
       'args' => [
         {
  -        'name' => 'brigade',
  -        'type' => 'apr_bucket_brigade *'
  +        'type' => 'apr_bucket *',
  +        'name' => 'a'
         },
         {
  -        'name' => 'bucket',
  -        'type' => 'apr_bucket *'
  +        'type' => 'apr_bucket *',
  +        'name' => 'b'
         }
  -    ],
  -    'name' => 'mpxs_APR__Brigade_prev'
  +    ]
     },
     {
       'return_type' => 'void',
  +    'name' => 'mpxs_APR__Bucket_insert_before',
       'args' => [
         {
  -        'name' => 'brigade',
  -        'type' => 'apr_bucket_brigade *'
  +        'type' => 'apr_bucket *',
  +        'name' => 'a'
         },
         {
  -        'name' => 'bucket',
  -        'type' => 'apr_bucket *'
  +        'type' => 'apr_bucket *',
  +        'name' => 'b'
         }
  -    ],
  -    'name' => 'mpxs_APR__Brigade_insert_tail'
  +    ]
     },
     {
  -    'return_type' => 'void',
  +    'return_type' => 'int',
  +    'name' => 'mpxs_APR__Bucket_is_eos',
       'args' => [
         {
  -        'name' => 'brigade',
  -        'type' => 'apr_bucket_brigade *'
  -      },
  -      {
  -        'name' => 'bucket',
  -        'type' => 'apr_bucket *'
  +        'type' => 'apr_bucket *',
  +        'name' => 'bucket'
         }
  -    ],
  -    'name' => 'mpxs_APR__Brigade_insert_head'
  +    ]
     },
     {
  -    'return_type' => 'void',
  +    'return_type' => 'apr_bucket *',
  +    'name' => 'mpxs_APR__Bucket_new',
       'args' => [
         {
  -        'name' => 'a',
  -        'type' => 'apr_bucket_brigade *'
  +        'type' => 'SV *',
  +        'name' => 'classname'
         },
         {
  -        'name' => 'b',
  -        'type' => 'apr_bucket_brigade *'
  +        'type' => 'SV *',
  +        'name' => 'sv'
  +      },
  +      {
  +        'type' => 'int',
  +        'name' => 'offset'
  +      },
  +      {
  +        'type' => 'int',
  +        'name' => 'len'
         }
  -    ],
  -    'name' => 'mpxs_APR__Brigade_concat'
  +    ]
     },
     {
  -    'return_type' => 'int',
  +    'return_type' => 'void',
  +    'name' => 'mpxs_APR__Bucket_remove',
       'args' => [
         {
  -        'name' => 'brigade',
  -        'type' => 'apr_bucket_brigade *'
  +        'type' => 'apr_bucket *',
  +        'name' => 'bucket'
         }
  -    ],
  -    'name' => 'mpxs_APR__Brigade_empty'
  +    ]
     },
     {
  -    'return_type' => 'apr_uuid_t *',
  +    'return_type' => 'char *',
  +    'name' => 'mpxs_APR__URI_port',
       'args' => [
         {
  -        'name' => 'my_perl',
  -        'type' => 'PerlInterpreter *'
  +        'type' => 'apr_uri_components *',
  +        'name' => 'uri'
         },
         {
  -        'name' => 'CLASS',
  -        'type' => 'SV *'
  +        'type' => 'SV *',
  +        'name' => 'portsv'
         }
  -    ],
  -    'name' => 'mpxs_apr_uuid_get'
  +    ]
     },
     {
  -    'return_type' => 'apr_uuid_t *',
  +    'return_type' => 'apr_size_t',
  +    'name' => 'mpxs_Apache__Filter_print',
       'args' => [
  +      {
  +        'type' => 'PerlInterpreter *',
  +        'name' => 'my_perl'
  +      },
         {
  -        'name' => 'my_perl',
  -        'type' => 'PerlInterpreter *'
  +        'type' => 'I32',
  +        'name' => 'items'
         },
         {
  -        'name' => 'CLASS',
  -        'type' => 'SV *'
  +        'type' => 'SV **',
  +        'name' => 'mark'
         },
         {
  -        'name' => 'buf',
  -        'type' => 'char *'
  +        'type' => 'SV **',
  +        'name' => 'sp'
         }
  -    ],
  -    'name' => 'mpxs_apr_uuid_parse'
  +    ]
     },
     {
  -    'return_type' => 'apr_pool_t *',
  +    'return_type' => 'apr_size_t',
  +    'name' => 'mpxs_Apache__Filter_read',
       'args' => [
  +      {
  +        'type' => 'PerlInterpreter *',
  +        'name' => 'my_perl'
  +      },
         {
  -        'name' => 'my_perl',
  -        'type' => 'PerlInterpreter *'
  +        'type' => 'I32',
  +        'name' => 'items'
         },
         {
  -        'name' => 'obj',
  -        'type' => 'SV *'
  +        'type' => 'SV **',
  +        'name' => 'mark'
  +      },
  +      {
  +        'type' => 'SV **',
  +        'name' => 'sp'
         }
  -    ],
  -    'name' => 'mpxs_apr_pool_create'
  +    ]
     },
     {
  -    'return_type' => 'apr_status_t',
  +    'return_type' => 'void',
  +    'name' => 'mpxs_Apache__Log_BOOT',
       'args' => [
         {
  -        'name' => 'data',
  -        'type' => 'void *'
  +        'type' => 'PerlInterpreter *',
  +        'name' => 'my_perl'
         }
  -    ],
  -    'name' => 'mpxs_cleanup_run'
  +    ]
     },
     {
  -    'return_type' => 'void',
  +    'return_type' => 'SV *',
  +    'name' => 'mpxs_Apache__Log_log',
       'args' => [
         {
  -        'name' => 'my_perl',
  -        'type' => 'PerlInterpreter *'
  +        'type' => 'PerlInterpreter *',
  +        'name' => 'my_perl'
         },
         {
  -        'name' => 'p',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'SV *',
  +        'name' => 'sv'
         },
  +      {
  +        'type' => 'int',
  +        'name' => 'logtype'
  +      }
  +    ]
  +  },
  +  {
  +    'return_type' => 'SV *',
  +    'name' => 'mpxs_Apache__RequestRec_get_handlers',
  +    'args' => [
         {
  -        'name' => 'cv',
  -        'type' => 'SV *'
  +        'type' => 'request_rec *',
  +        'name' => 'r'
         },
         {
  -        'name' => 'arg',
  -        'type' => 'SV *'
  +        'type' => 'const char *',
  +        'name' => 'name'
         }
  -    ],
  -    'name' => 'mpxs_apr_pool_cleanup_register'
  +    ]
     },
     {
  -    'return_type' => 'apr_lock_t *',
  +    'return_type' => 'int',
  +    'name' => 'mpxs_Apache__RequestRec_location_merge',
       'args' => [
         {
  -        'name' => 'my_perl',
  -        'type' => 'PerlInterpreter *'
  +        'type' => 'request_rec *',
  +        'name' => 'r'
         },
         {
  -        'name' => 'CLASS',
  -        'type' => 'SV *'
  -      },
  +        'type' => 'char *',
  +        'name' => 'location'
  +      }
  +    ]
  +  },
  +  {
  +    'return_type' => 'request_rec *',
  +    'name' => 'mpxs_Apache__RequestRec_new',
  +    'args' => [
         {
  -        'name' => 'p',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'SV *',
  +        'name' => 'classname'
         },
         {
  -        'name' => 'type',
  -        'type' => 'apr_locktype_e'
  +        'type' => 'conn_rec *',
  +        'name' => 'c'
         },
         {
  -        'name' => 'scope',
  -        'type' => 'apr_lockscope_e'
  -      },
  +        'type' => 'apr_pool_t *',
  +        'name' => 'base_pool'
  +      }
  +    ]
  +  },
  +  {
  +    'return_type' => 'apr_uri_components *',
  +    'name' => 'mpxs_Apache__RequestRec_parsed_uri',
  +    'args' => [
         {
  -        'name' => 'fname',
  -        'type' => 'const char *'
  +        'type' => 'request_rec *',
  +        'name' => 'r'
         }
  -    ],
  -    'name' => 'mpxs_apr_lock_create'
  +    ]
     },
     {
  -    'return_type' => 'void',
  +    'return_type' => 'int',
  +    'name' => 'mpxs_Apache__RequestRec_push_handlers',
       'args' => [
         {
  -        'name' => 'my_perl',
  -        'type' => 'PerlInterpreter *'
  +        'type' => 'request_rec *',
  +        'name' => 'r'
         },
         {
  -        'name' => 'sv',
  -        'type' => 'SV *'
  +        'type' => 'const char *',
  +        'name' => 'name'
         },
         {
  -        'name' => 'arg',
  -        'type' => 'SV *'
  +        'type' => 'SV *',
  +        'name' => 'sv'
         }
  -    ],
  -    'name' => 'mpxs_apr_strerror'
  +    ]
     },
     {
  -    'return_type' => 'void',
  +    'return_type' => 'long',
  +    'name' => 'mpxs_Apache__RequestRec_read',
       'args' => [
  +      {
  +        'type' => 'request_rec *',
  +        'name' => 'r'
  +      },
         {
  -        'name' => 'my_perl',
  -        'type' => 'PerlInterpreter *'
  +        'type' => 'SV *',
  +        'name' => 'buffer'
         },
         {
  -        'name' => 'sv',
  -        'type' => 'SV *'
  +        'type' => 'int',
  +        'name' => 'bufsiz'
         },
         {
  -        'name' => 'arg',
  -        'type' => 'SV *'
  +        'type' => 'int',
  +        'name' => 'offset'
         }
  -    ],
  -    'name' => 'mpxs_apr_generate_random_bytes'
  +    ]
     },
     {
  -    'return_type' => 'void',
  +    'return_type' => 'apr_status_t',
  +    'name' => 'mpxs_Apache__RequestRec_sendfile',
       'args' => [
  +      {
  +        'type' => 'request_rec *',
  +        'name' => 'r'
  +      },
         {
  -        'name' => 'my_perl',
  -        'type' => 'PerlInterpreter *'
  +        'type' => 'const char *',
  +        'name' => 'filename'
         },
         {
  -        'name' => 'sv',
  -        'type' => 'SV *'
  +        'type' => 'apr_off_t',
  +        'name' => 'offset'
         },
         {
  -        'name' => 'arg',
  -        'type' => 'SV *'
  +        'type' => 'apr_size_t',
  +        'name' => 'len'
         }
  -    ],
  -    'name' => 'mpxs_apr_base64_encode'
  +    ]
     },
     {
       'return_type' => 'void',
  +    'name' => 'mpxs_Apache__RequestRec_set_basic_credentials',
       'args' => [
         {
  -        'name' => 'my_perl',
  -        'type' => 'PerlInterpreter *'
  +        'type' => 'request_rec *',
  +        'name' => 'r'
         },
         {
  -        'name' => 'sv',
  -        'type' => 'SV *'
  +        'type' => 'char *',
  +        'name' => 'username'
         },
         {
  -        'name' => 'arg',
  -        'type' => 'SV *'
  +        'type' => 'char *',
  +        'name' => 'password'
         }
  -    ],
  -    'name' => 'mpxs_apr_base64_decode'
  +    ]
     },
     {
  -    'return_type' => 'void',
  +    'return_type' => 'int',
  +    'name' => 'mpxs_Apache__RequestRec_set_handlers',
       'args' => [
  +      {
  +        'type' => 'request_rec *',
  +        'name' => 'r'
  +      },
         {
  -        'name' => 'my_perl',
  -        'type' => 'PerlInterpreter *'
  +        'type' => 'const char *',
  +        'name' => 'name'
  +      },
  +      {
  +        'type' => 'SV *',
  +        'name' => 'sv'
         }
  -    ],
  -    'name' => 'mpxs_Apache__Log_BOOT'
  +    ]
     },
     {
  -    'return_type' => 'void',
  +    'return_type' => 'apr_ssize_t',
  +    'name' => 'mpxs_Apache__RequestRec_write',
       'args' => [
         {
  -        'name' => 'my_perl',
  -        'type' => 'PerlInterpreter *'
  +        'type' => 'request_rec *',
  +        'name' => 'r'
         },
         {
  -        'name' => 'level',
  -        'type' => 'int'
  +        'type' => 'SV *',
  +        'name' => 'buffer'
         },
         {
  -        'name' => 'sv',
  -        'type' => 'SV *'
  +        'type' => 'apr_ssize_t',
  +        'name' => 'bufsiz'
         },
         {
  -        'name' => 'msg',
  -        'type' => 'SV *'
  +        'type' => 'int',
  +        'name' => 'offset'
         }
  -    ],
  -    'name' => 'mpxs_ap_log_error'
  +    ]
     },
     {
       'return_type' => 'SV *',
  +    'name' => 'mpxs_Apache__Server_get_handlers',
       'args' => [
         {
  -        'name' => 'my_perl',
  -        'type' => 'PerlInterpreter *'
  +        'type' => 'server_rec *',
  +        'name' => 's'
         },
         {
  -        'name' => 'sv',
  -        'type' => 'SV *'
  -      },
  -      {
  -        'name' => 'logtype',
  -        'type' => 'int'
  +        'type' => 'const char *',
  +        'name' => 'name'
         }
  -    ],
  -    'name' => 'mpxs_Apache__Log_log'
  +    ]
     },
     {
  -    'return_type' => 'apr_uri_components *',
  +    'return_type' => 'int',
  +    'name' => 'mpxs_Apache__Server_push_handlers',
       'args' => [
         {
  -        'name' => 'r',
  -        'type' => 'request_rec *'
  +        'type' => 'server_rec *',
  +        'name' => 's'
  +      },
  +      {
  +        'type' => 'const char *',
  +        'name' => 'name'
  +      },
  +      {
  +        'type' => 'SV *',
  +        'name' => 'sv'
         }
  -    ],
  -    'name' => 'mpxs_Apache__RequestRec_parsed_uri'
  +    ]
     },
     {
       'return_type' => 'int',
  +    'name' => 'mpxs_Apache__Server_set_handlers',
       'args' => [
         {
  -        'name' => 'my_perl',
  -        'type' => 'PerlInterpreter *'
  +        'type' => 'server_rec *',
  +        'name' => 's'
         },
         {
  -        'name' => 'url',
  -        'type' => 'SV *'
  +        'type' => 'const char *',
  +        'name' => 'name'
  +      },
  +      {
  +        'type' => 'SV *',
  +        'name' => 'sv'
         }
  -    ],
  -    'name' => 'mpxs_ap_unescape_url'
  +    ]
     },
     {
  -    'return_type' => 'SV *',
  +    'return_type' => 'request_rec *',
  +    'name' => 'mpxs_Apache_request',
       'args' => [
         {
  -        'name' => 'my_perl',
  -        'type' => 'PerlInterpreter *'
  +        'type' => 'SV *',
  +        'name' => 'classname'
         },
         {
  -        'name' => 'r',
  -        'type' => 'request_rec *'
  +        'type' => 'SV *',
  +        'name' => 'svr'
         }
  -    ],
  -    'name' => 'mpxs_ap_requires'
  +    ]
     },
     {
       'return_type' => 'void',
  +    'name' => 'mpxs_ap_allow_methods',
       'args' => [
         {
  -        'name' => 'my_perl',
  -        'type' => 'PerlInterpreter *'
  +        'type' => 'PerlInterpreter *',
  +        'name' => 'my_perl'
         },
         {
  -        'name' => 'items',
  -        'type' => 'I32'
  +        'type' => 'I32',
  +        'name' => 'items'
         },
         {
  -        'name' => 'mark',
  -        'type' => 'SV **'
  +        'type' => 'SV **',
  +        'name' => 'mark'
         },
         {
  -        'name' => 'sp',
  -        'type' => 'SV **'
  +        'type' => 'SV **',
  +        'name' => 'sp'
         }
  -    ],
  -    'name' => 'mpxs_ap_allow_methods'
  +    ]
     },
     {
  -    'return_type' => 'int',
  +    'return_type' => 'apr_status_t',
  +    'name' => 'mpxs_ap_get_brigade',
       'args' => [
  +      {
  +        'type' => 'PerlInterpreter *',
  +        'name' => 'my_perl'
  +      },
         {
  -        'name' => 'r',
  -        'type' => 'request_rec *'
  +        'type' => 'ap_filter_t *',
  +        'name' => 'filter'
         },
         {
  -        'name' => 'name',
  -        'type' => 'const char *'
  +        'type' => 'apr_bucket_brigade *',
  +        'name' => 'brigade'
         },
         {
  -        'name' => 'sv',
  -        'type' => 'SV *'
  +        'type' => 'ap_input_mode_t',
  +        'name' => 'mode'
  +      },
  +      {
  +        'type' => 'SV *',
  +        'name' => 'svreadbytes'
         }
  -    ],
  -    'name' => 'mpxs_Apache__RequestRec_push_handlers'
  +    ]
     },
     {
  -    'return_type' => 'int',
  +    'return_type' => 'long',
  +    'name' => 'mpxs_ap_get_client_block',
       'args' => [
         {
  -        'name' => 'r',
  -        'type' => 'request_rec *'
  +        'type' => 'PerlInterpreter *',
  +        'name' => 'my_perl'
         },
         {
  -        'name' => 'name',
  -        'type' => 'const char *'
  +        'type' => 'request_rec *',
  +        'name' => 'r'
         },
         {
  -        'name' => 'sv',
  -        'type' => 'SV *'
  +        'type' => 'SV *',
  +        'name' => 'buffer'
  +      },
  +      {
  +        'type' => 'int',
  +        'name' => 'bufsiz'
         }
  -    ],
  -    'name' => 'mpxs_Apache__RequestRec_set_handlers'
  +    ]
     },
     {
  -    'return_type' => 'SV *',
  +    'return_type' => 'void',
  +    'name' => 'mpxs_ap_log_error',
       'args' => [
  +      {
  +        'type' => 'PerlInterpreter *',
  +        'name' => 'my_perl'
  +      },
  +      {
  +        'type' => 'int',
  +        'name' => 'level'
  +      },
         {
  -        'name' => 'r',
  -        'type' => 'request_rec *'
  +        'type' => 'SV *',
  +        'name' => 'sv'
         },
         {
  -        'name' => 'name',
  -        'type' => 'const char *'
  +        'type' => 'SV *',
  +        'name' => 'msg'
         }
  -    ],
  -    'name' => 'mpxs_Apache__RequestRec_get_handlers'
  +    ]
     },
     {
  -    'return_type' => 'request_rec *',
  +    'return_type' => 'SV *',
  +    'name' => 'mpxs_ap_requires',
       'args' => [
  -      {
  -        'name' => 'classname',
  -        'type' => 'SV *'
  -      },
         {
  -        'name' => 'c',
  -        'type' => 'conn_rec *'
  +        'type' => 'PerlInterpreter *',
  +        'name' => 'my_perl'
         },
         {
  -        'name' => 'base_pool',
  -        'type' => 'apr_pool_t *'
  +        'type' => 'request_rec *',
  +        'name' => 'r'
         }
  -    ],
  -    'name' => 'mpxs_Apache__RequestRec_new'
  +    ]
     },
     {
  -    'return_type' => 'request_rec *',
  +    'return_type' => 'apr_size_t',
  +    'name' => 'mpxs_ap_rvputs',
       'args' => [
  +      {
  +        'type' => 'PerlInterpreter *',
  +        'name' => 'my_perl'
  +      },
         {
  -        'name' => 'classname',
  -        'type' => 'SV *'
  +        'type' => 'I32',
  +        'name' => 'items'
         },
         {
  -        'name' => 'svr',
  -        'type' => 'SV *'
  +        'type' => 'SV **',
  +        'name' => 'mark'
  +      },
  +      {
  +        'type' => 'SV **',
  +        'name' => 'sp'
         }
  -    ],
  -    'name' => 'mpxs_Apache_request'
  +    ]
     },
     {
       'return_type' => 'int',
  +    'name' => 'mpxs_ap_unescape_url',
       'args' => [
         {
  -        'name' => 'r',
  -        'type' => 'request_rec *'
  +        'type' => 'PerlInterpreter *',
  +        'name' => 'my_perl'
         },
         {
  -        'name' => 'location',
  -        'type' => 'char *'
  +        'type' => 'SV *',
  +        'name' => 'url'
         }
  -    ],
  -    'name' => 'mpxs_Apache__RequestRec_location_merge'
  +    ]
     },
     {
       'return_type' => 'void',
  +    'name' => 'mpxs_apr_base64_decode',
       'args' => [
         {
  -        'name' => 'r',
  -        'type' => 'request_rec *'
  +        'type' => 'PerlInterpreter *',
  +        'name' => 'my_perl'
         },
         {
  -        'name' => 'username',
  -        'type' => 'char *'
  +        'type' => 'SV *',
  +        'name' => 'sv'
         },
         {
  -        'name' => 'password',
  -        'type' => 'char *'
  +        'type' => 'SV *',
  +        'name' => 'arg'
         }
  -    ],
  -    'name' => 'mpxs_Apache__RequestRec_set_basic_credentials'
  +    ]
     },
     {
  -    'return_type' => 'int',
  +    'return_type' => 'void',
  +    'name' => 'mpxs_apr_base64_encode',
       'args' => [
         {
  -        'name' => 's',
  -        'type' => 'server_rec *'
  +        'type' => 'PerlInterpreter *',
  +        'name' => 'my_perl'
         },
         {
  -        'name' => 'name',
  -        'type' => 'const char *'
  +        'type' => 'SV *',
  +        'name' => 'sv'
         },
         {
  -        'name' => 'sv',
  -        'type' => 'SV *'
  +        'type' => 'SV *',
  +        'name' => 'arg'
         }
  -    ],
  -    'name' => 'mpxs_Apache__Server_push_handlers'
  +    ]
     },
     {
  -    'return_type' => 'int',
  +    'return_type' => 'apr_bucket_brigade *',
  +    'name' => 'mpxs_apr_brigade_create',
       'args' => [
         {
  -        'name' => 's',
  -        'type' => 'server_rec *'
  +        'type' => 'PerlInterpreter *',
  +        'name' => 'my_perl'
         },
         {
  -        'name' => 'name',
  -        'type' => 'const char *'
  +        'type' => 'SV *',
  +        'name' => 'CLASS'
         },
         {
  -        'name' => 'sv',
  -        'type' => 'SV *'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'p'
         }
  -    ],
  -    'name' => 'mpxs_Apache__Server_set_handlers'
  +    ]
     },
     {
  -    'return_type' => 'SV *',
  +    'return_type' => 'void',
  +    'name' => 'mpxs_apr_generate_random_bytes',
       'args' => [
         {
  -        'name' => 's',
  -        'type' => 'server_rec *'
  +        'type' => 'PerlInterpreter *',
  +        'name' => 'my_perl'
         },
         {
  -        'name' => 'name',
  -        'type' => 'const char *'
  +        'type' => 'SV *',
  +        'name' => 'sv'
  +      },
  +      {
  +        'type' => 'SV *',
  +        'name' => 'arg'
         }
  -    ],
  -    'name' => 'mpxs_Apache__Server_get_handlers'
  +    ]
     },
     {
  -    'return_type' => 'apr_size_t',
  +    'return_type' => 'apr_ipsubnet_t *',
  +    'name' => 'mpxs_apr_ipsubnet_create',
       'args' => [
         {
  -        'name' => 'my_perl',
  -        'type' => 'PerlInterpreter *'
  +        'type' => 'PerlInterpreter *',
  +        'name' => 'my_perl'
         },
         {
  -        'name' => 'items',
  -        'type' => 'I32'
  +        'type' => 'SV *',
  +        'name' => 'classname'
         },
         {
  -        'name' => 'mark',
  -        'type' => 'SV **'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'p'
         },
         {
  -        'name' => 'sp',
  -        'type' => 'SV **'
  +        'type' => 'const char *',
  +        'name' => 'ipstr'
  +      },
  +      {
  +        'type' => 'const char *',
  +        'name' => 'mask_or_numbits'
         }
  -    ],
  -    'name' => 'mpxs_Apache__Filter_print'
  +    ]
     },
     {
  -    'return_type' => 'apr_size_t',
  +    'return_type' => 'apr_lock_t *',
  +    'name' => 'mpxs_apr_lock_create',
       'args' => [
         {
  -        'name' => 'my_perl',
  -        'type' => 'PerlInterpreter *'
  +        'type' => 'PerlInterpreter *',
  +        'name' => 'my_perl'
         },
         {
  -        'name' => 'items',
  -        'type' => 'I32'
  +        'type' => 'SV *',
  +        'name' => 'CLASS'
         },
         {
  -        'name' => 'mark',
  -        'type' => 'SV **'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'p'
         },
         {
  -        'name' => 'sp',
  -        'type' => 'SV **'
  +        'type' => 'apr_locktype_e',
  +        'name' => 'type'
  +      },
  +      {
  +        'type' => 'apr_lockscope_e',
  +        'name' => 'scope'
  +      },
  +      {
  +        'type' => 'const char *',
  +        'name' => 'fname'
         }
  -    ],
  -    'name' => 'mpxs_Apache__Filter_read'
  +    ]
     },
     {
  -    'return_type' => 'apr_status_t',
  +    'return_type' => 'void',
  +    'name' => 'mpxs_apr_pool_cleanup_register',
       'args' => [
         {
  -        'name' => 'my_perl',
  -        'type' => 'PerlInterpreter *'
  +        'type' => 'PerlInterpreter *',
  +        'name' => 'my_perl'
         },
         {
  -        'name' => 'filter',
  -        'type' => 'ap_filter_t *'
  +        'type' => 'apr_pool_t *',
  +        'name' => 'p'
         },
         {
  -        'name' => 'brigade',
  -        'type' => 'apr_bucket_brigade *'
  +        'type' => 'SV *',
  +        'name' => 'cv'
         },
  +      {
  +        'type' => 'SV *',
  +        'name' => 'arg'
  +      }
  +    ]
  +  },
  +  {
  +    'return_type' => 'apr_pool_t *',
  +    'name' => 'mpxs_apr_pool_create',
  +    'args' => [
         {
  -        'name' => 'mode',
  -        'type' => 'ap_input_mode_t'
  +        'type' => 'PerlInterpreter *',
  +        'name' => 'my_perl'
         },
         {
  -        'name' => 'svreadbytes',
  -        'type' => 'SV *'
  +        'type' => 'SV *',
  +        'name' => 'obj'
         }
  -    ],
  -    'name' => 'mpxs_ap_get_brigade'
  +    ]
     },
     {
  -    'return_type' => 'U32 *',
  +    'return_type' => 'apr_status_t',
  +    'name' => 'mpxs_apr_recv',
       'args' => [
  +      {
  +        'type' => 'PerlInterpreter *',
  +        'name' => 'my_perl'
  +      },
         {
  -        'name' => 'package',
  -        'type' => 'SV *'
  +        'type' => 'apr_socket_t *',
  +        'name' => 'socket'
         },
         {
  -        'name' => 'cvrv',
  -        'type' => 'SV *'
  +        'type' => 'SV *',
  +        'name' => 'sv_buf'
  +      },
  +      {
  +        'type' => 'SV *',
  +        'name' => 'sv_len'
         }
  -    ],
  -    'name' => 'modperl_filter_attributes'
  +    ]
     },
     {
  -    'return_type' => 'apr_size_t',
  +    'return_type' => 'apr_status_t',
  +    'name' => 'mpxs_apr_send',
       'args' => [
         {
  -        'name' => 'my_perl',
  -        'type' => 'PerlInterpreter *'
  +        'type' => 'PerlInterpreter *',
  +        'name' => 'my_perl'
         },
         {
  -        'name' => 'items',
  -        'type' => 'I32'
  +        'type' => 'apr_socket_t *',
  +        'name' => 'socket'
         },
         {
  -        'name' => 'mark',
  -        'type' => 'SV **'
  +        'type' => 'SV *',
  +        'name' => 'sv_buf'
         },
         {
  -        'name' => 'sp',
  -        'type' => 'SV **'
  +        'type' => 'SV *',
  +        'name' => 'sv_len'
         }
  -    ],
  -    'name' => 'mpxs_ap_rvputs'
  +    ]
     },
     {
  -    'return_type' => 'apr_ssize_t',
  +    'return_type' => 'void',
  +    'name' => 'mpxs_apr_strerror',
  +    'args' => [
  +      {
  +        'type' => 'PerlInterpreter *',
  +        'name' => 'my_perl'
  +      },
  +      {
  +        'type' => 'SV *',
  +        'name' => 'sv'
  +      },
  +      {
  +        'type' => 'SV *',
  +        'name' => 'arg'
  +      }
  +    ]
  +  },
  +  {
  +    'return_type' => 'apr_uri_components *',
  +    'name' => 'mpxs_apr_uri_parse_components',
       'args' => [
         {
  -        'name' => 'r',
  -        'type' => 'request_rec *'
  +        'type' => 'PerlInterpreter *',
  +        'name' => 'my_perl'
         },
         {
  -        'name' => 'buffer',
  -        'type' => 'SV *'
  +        'type' => 'SV *',
  +        'name' => 'classname'
         },
         {
  -        'name' => 'bufsiz',
  -        'type' => 'apr_ssize_t'
  +        'type' => 'SV *',
  +        'name' => 'obj'
         },
         {
  -        'name' => 'offset',
  -        'type' => 'int'
  +        'type' => 'const char *',
  +        'name' => 'uri_string'
         }
  -    ],
  -    'name' => 'mpxs_Apache__RequestRec_write'
  +    ]
     },
     {
  -    'return_type' => 'long',
  +    'return_type' => 'char *',
  +    'name' => 'mpxs_apr_uri_unparse_components',
       'args' => [
         {
  -        'name' => 'my_perl',
  -        'type' => 'PerlInterpreter *'
  +        'type' => 'PerlInterpreter *',
  +        'name' => 'my_perl'
         },
         {
  -        'name' => 'r',
  -        'type' => 'request_rec *'
  +        'type' => 'apr_uri_components *',
  +        'name' => 'uptr'
         },
  +      {
  +        'type' => 'unsigned',
  +        'name' => 'flags'
  +      }
  +    ]
  +  },
  +  {
  +    'return_type' => 'apr_uuid_t *',
  +    'name' => 'mpxs_apr_uuid_get',
  +    'args' => [
         {
  -        'name' => 'buffer',
  -        'type' => 'SV *'
  +        'type' => 'PerlInterpreter *',
  +        'name' => 'my_perl'
         },
         {
  -        'name' => 'bufsiz',
  -        'type' => 'int'
  +        'type' => 'SV *',
  +        'name' => 'CLASS'
         }
  -    ],
  -    'name' => 'mpxs_ap_get_client_block'
  +    ]
     },
     {
  -    'return_type' => 'long',
  +    'return_type' => 'apr_uuid_t *',
  +    'name' => 'mpxs_apr_uuid_parse',
       'args' => [
         {
  -        'name' => 'r',
  -        'type' => 'request_rec *'
  +        'type' => 'PerlInterpreter *',
  +        'name' => 'my_perl'
         },
         {
  -        'name' => 'buffer',
  -        'type' => 'SV *'
  +        'type' => 'SV *',
  +        'name' => 'CLASS'
         },
         {
  -        'name' => 'bufsiz',
  -        'type' => 'int'
  -      },
  +        'type' => 'char *',
  +        'name' => 'buf'
  +      }
  +    ]
  +  },
  +  {
  +    'return_type' => 'apr_status_t',
  +    'name' => 'mpxs_cleanup_run',
  +    'args' => [
         {
  -        'name' => 'offset',
  -        'type' => 'int'
  +        'type' => 'void *',
  +        'name' => 'data'
         }
  -    ],
  -    'name' => 'mpxs_Apache__RequestRec_read'
  +    ]
     },
     {
       'return_type' => 'apr_status_t',
  +    'name' => 'mpxs_modperl_bucket_read',
       'args' => [
         {
  -        'name' => 'r',
  -        'type' => 'request_rec *'
  +        'type' => 'PerlInterpreter *',
  +        'name' => 'my_perl'
         },
         {
  -        'name' => 'filename',
  -        'type' => 'const char *'
  +        'type' => 'apr_bucket *',
  +        'name' => 'bucket'
         },
         {
  -        'name' => 'offset',
  -        'type' => 'apr_off_t'
  +        'type' => 'SV *',
  +        'name' => 'buffer'
         },
         {
  -        'name' => 'len',
  -        'type' => 'apr_size_t'
  +        'type' => 'apr_read_type_e',
  +        'name' => 'block'
         }
  -    ],
  -    'name' => 'mpxs_Apache__RequestRec_sendfile'
  +    ]
     }
   ];