# please insert nothing before this line: -*- mode: cperl; cperl-indent-level: 4; cperl-continued-statement-offset: 4; indent-tabs-mode: nil -*-
package ModPerl::FunctionTable;

# !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
# ! WARNING: generated by ModPerl::ParseSource/0.01
# !          Mon May 23 14:15:47 2005
# !          do NOT edit, any changes will be lost !
# !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

$ModPerl::FunctionTable = [
  {
    'return_type' => 'int',
    'name' => 'modperl_access_handler',
    'args' => [
      {
        'type' => 'request_rec *',
        'name' => 'r'
      }
    ]
  },
  {
    'return_type' => 'SV *',
    'name' => 'modperl_apr_array_header2avrv',
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'apr_array_header_t *',
        'name' => 'array'
      }
    ]
  },
  {
    'return_type' => 'int',
    'name' => 'modperl_authen_handler',
    'args' => [
      {
        'type' => 'request_rec *',
        'name' => 'r'
      }
    ]
  },
  {
    'return_type' => 'int',
    'name' => 'modperl_authz_handler',
    'args' => [
      {
        'type' => 'request_rec *',
        'name' => 'r'
      }
    ]
  },
  {
    'return_type' => 'apr_array_header_t *',
    'name' => 'modperl_avrv2apr_array_header',
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'apr_pool_t *',
        'name' => 'p'
      },
      {
        'type' => 'SV *',
        'name' => 'avrv'
      }
    ]
  },
  {
    'return_type' => 'void',
    'name' => 'modperl_brigade_dump',
    'args' => [
      {
        'type' => 'apr_bucket_brigade *',
        'name' => 'bb'
      },
      {
        'type' => 'apr_file_t *',
        'name' => 'file'
      }
    ]
  },
  {
    'return_type' => 'apr_bucket *',
    'name' => 'modperl_bucket_sv_create',
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'apr_bucket_alloc_t *',
        'name' => 'list'
      },
      {
        'type' => 'SV *',
        'name' => 'sv'
      },
      {
        'type' => 'apr_off_t',
        'name' => 'offset'
      },
      {
        'type' => 'apr_size_t',
        'name' => 'len'
      }
    ]
  },
  {
    'return_type' => 'int',
    'name' => 'modperl_callback',
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'modperl_handler_t *',
        'name' => 'handler'
      },
      {
        'type' => 'apr_pool_t *',
        'name' => 'p'
      },
      {
        'type' => 'request_rec *',
        'name' => 'r'
      },
      {
        'type' => 'server_rec *',
        'name' => 's'
      },
      {
        'type' => 'AV *',
        'name' => 'args'
      }
    ]
  },
  {
    'return_type' => 'int',
    'name' => 'modperl_callback_connection',
    'args' => [
      {
        'type' => 'int',
        'name' => 'idx'
      },
      {
        'type' => 'conn_rec *',
        'name' => 'c'
      },
      {
        'type' => 'modperl_hook_run_mode_e',
        'name' => 'run_mode'
      }
    ]
  },
  {
    'return_type' => 'int',
    'name' => 'modperl_callback_files',
    'args' => [
      {
        'type' => 'int',
        'name' => 'idx'
      },
      {
        'type' => 'apr_pool_t *',
        'name' => 'pconf'
      },
      {
        'type' => 'apr_pool_t *',
        'name' => 'plog'
      },
      {
        'type' => 'apr_pool_t *',
        'name' => 'ptemp'
      },
      {
        'type' => 'server_rec *',
        'name' => 's'
      },
      {
        'type' => 'modperl_hook_run_mode_e',
        'name' => 'run_mode'
      }
    ]
  },
  {
    'return_type' => 'int',
    'name' => 'modperl_callback_per_dir',
    'args' => [
      {
        'type' => 'int',
        'name' => 'idx'
      },
      {
        'type' => 'request_rec *',
        'name' => 'r'
      },
      {
        'type' => 'modperl_hook_run_mode_e',
        'name' => 'run_mode'
      }
    ]
  },
  {
    'return_type' => 'int',
    'name' => 'modperl_callback_per_srv',
    'args' => [
      {
        'type' => 'int',
        'name' => 'idx'
      },
      {
        'type' => 'request_rec *',
        'name' => 'r'
      },
      {
        'type' => 'modperl_hook_run_mode_e',
        'name' => 'run_mode'
      }
    ]
  },
  {
    'return_type' => 'int',
    'name' => 'modperl_callback_pre_connection',
    'args' => [
      {
        'type' => 'int',
        'name' => 'idx'
      },
      {
        'type' => 'conn_rec *',
        'name' => 'c'
      },
      {
        'type' => 'void *',
        'name' => 'csd'
      },
      {
        'type' => 'modperl_hook_run_mode_e',
        'name' => 'run_mode'
      }
    ]
  },
  {
    'return_type' => 'void',
    'name' => 'modperl_callback_process',
    'args' => [
      {
        'type' => 'int',
        'name' => 'idx'
      },
      {
        'type' => 'apr_pool_t *',
        'name' => 'p'
      },
      {
        'type' => 'server_rec *',
        'name' => 's'
      },
      {
        'type' => 'modperl_hook_run_mode_e',
        'name' => 'run_mode'
      }
    ]
  },
  {
    'return_type' => 'int',
    'name' => 'modperl_callback_run_handlers',
    'args' => [
      {
        'type' => 'int',
        'name' => 'idx'
      },
      {
        'type' => 'int',
        'name' => 'type'
      },
      {
        'type' => 'request_rec *',
        'name' => 'r'
      },
      {
        'type' => 'conn_rec *',
        'name' => 'c'
      },
      {
        'type' => 'server_rec *',
        'name' => 's'
      },
      {
        'type' => 'apr_pool_t *',
        'name' => 'pconf'
      },
      {
        'type' => 'apr_pool_t *',
        'name' => 'plog'
      },
      {
        'type' => 'apr_pool_t *',
        'name' => 'ptemp'
      },
      {
        'type' => 'modperl_hook_run_mode_e',
        'name' => 'run_mode'
      }
    ]
  },
  {
    'return_type' => 'int',
    'name' => 'modperl_cgi_header_parse',
    'attr' => [
      '__inline__'
    ],
    'args' => [
      {
        'type' => 'request_rec *',
        'name' => 'r'
      },
      {
        'type' => 'char *',
        'name' => 'buffer'
      },
      {
        'type' => 'apr_size_t *',
        'name' => 'len'
      },
      {
        'type' => 'const char **',
        'name' => 'body'
      }
    ]
  },
  {
    'return_type' => 'void',
    'name' => 'modperl_child_init_handler',
    'args' => [
      {
        'type' => 'apr_pool_t *',
        'name' => 'p'
      },
      {
        'type' => 'server_rec *',
        'name' => 's'
      }
    ]
  },
  {
    'return_type' => 'modperl_cleanup_data_t *',
    'name' => 'modperl_cleanup_data_new',
    'args' => [
      {
        'type' => 'apr_pool_t *',
        'name' => 'p'
      },
      {
        'type' => 'void *',
        'name' => 'data'
      }
    ]
  },
  {
    'return_type' => 'const char *',
    'name' => 'modperl_cmd_END',
    'args' => [
      {
        'type' => 'cmd_parms *',
        'name' => 'parms'
      },
      {
        'type' => 'void *',
        'name' => 'mconfig'
      },
      {
        'type' => 'const char *',
        'name' => 'arg'
      }
    ]
  },
  {
    'return_type' => 'const char *',
    'name' => 'modperl_cmd_access_handlers',
    'args' => [
      {
        'type' => 'cmd_parms *',
        'name' => 'parms'
      },
      {
        'type' => 'void *',
        'name' => 'dummy'
      },
      {
        'type' => 'const char *',
        'name' => 'arg'
      }
    ]
  },
  {
    'return_type' => 'const char *',
    'name' => 'modperl_cmd_add_var',
    'args' => [
      {
        'type' => 'cmd_parms *',
        'name' => 'parms'
      },
      {
        'type' => 'void *',
        'name' => 'mconfig'
      },
      {
        'type' => 'const char *',
        'name' => 'arg1'
      },
      {
        'type' => 'const char *',
        'name' => 'arg2'
      }
    ]
  },
  {
    'return_type' => 'const char *',
    'name' => 'modperl_cmd_authen_handlers',
    'args' => [
      {
        'type' => 'cmd_parms *',
        'name' => 'parms'
      },
      {
        'type' => 'void *',
        'name' => 'dummy'
      },
      {
        'type' => 'const char *',
        'name' => 'arg'
      }
    ]
  },
  {
    'return_type' => 'const char *',
    'name' => 'modperl_cmd_authz_handlers',
    'args' => [
      {
        'type' => 'cmd_parms *',
        'name' => 'parms'
      },
      {
        'type' => 'void *',
        'name' => 'dummy'
      },
      {
        'type' => 'const char *',
        'name' => 'arg'
      }
    ]
  },
  {
    'return_type' => 'const char *',
    'name' => 'modperl_cmd_child_exit_handlers',
    'args' => [
      {
        'type' => 'cmd_parms *',
        'name' => 'parms'
      },
      {
        'type' => 'void *',
        'name' => 'dummy'
      },
      {
        'type' => 'const char *',
        'name' => 'arg'
      }
    ]
  },
  {
    'return_type' => 'const char *',
    'name' => 'modperl_cmd_child_init_handlers',
    'args' => [
      {
        'type' => 'cmd_parms *',
        'name' => 'parms'
      },
      {
        'type' => 'void *',
        'name' => 'dummy'
      },
      {
        'type' => 'const char *',
        'name' => 'arg'
      }
    ]
  },
  {
    'return_type' => 'const char *',
    'name' => 'modperl_cmd_cleanup_handlers',
    'args' => [
      {
        'type' => 'cmd_parms *',
        'name' => 'parms'
      },
      {
        'type' => 'void *',
        'name' => 'dummy'
      },
      {
        'type' => 'const char *',
        'name' => 'arg'
      }
    ]
  },
  {
    'return_type' => 'const char *',
    'name' => 'modperl_cmd_config_requires',
    'args' => [
      {
        'type' => 'cmd_parms *',
        'name' => 'parms'
      },
      {
        'type' => 'void *',
        'name' => 'mconfig'
      },
      {
        'type' => 'const char *',
        'name' => 'arg'
      }
    ]
  },
  {
    'return_type' => 'const char *',
    'name' => 'modperl_cmd_fixup_handlers',
    'args' => [
      {
        'type' => 'cmd_parms *',
        'name' => 'parms'
      },
      {
        'type' => 'void *',
        'name' => 'dummy'
      },
      {
        'type' => 'const char *',
        'name' => 'arg'
      }
    ]
  },
  {
    'return_type' => 'const char *',
    'name' => 'modperl_cmd_header_parser_handlers',
    'args' => [
      {
        'type' => 'cmd_parms *',
        'name' => 'parms'
      },
      {
        'type' => 'void *',
        'name' => 'dummy'
      },
      {
        'type' => 'const char *',
        'name' => 'arg'
      }
    ]
  },
  {
    'return_type' => 'const char *',
    'name' => 'modperl_cmd_init_handlers',
    'args' => [
      {
        'type' => 'cmd_parms *',
        'name' => 'parms'
      },
      {
        'type' => 'void *',
        'name' => 'mconfig'
      },
      {
        'type' => 'const char *',
        'name' => 'arg'
      }
    ]
  },
  {
    'return_type' => 'const char *',
    'name' => 'modperl_cmd_input_filter_handlers',
    'args' => [
      {
        'type' => 'cmd_parms *',
        'name' => 'parms'
      },
      {
        'type' => 'void *',
        'name' => 'dummy'
      },
      {
        'type' => 'const char *',
        'name' => 'arg'
      }
    ]
  },
  {
    'return_type' => 'const char *',
    'name' => 'modperl_cmd_interp_max',
    'args' => [
      {
        'type' => 'cmd_parms *',
        'name' => 'parms'
      },
      {
        'type' => 'void *',
        'name' => 'mconfig'
      },
      {
        'type' => 'const char *',
        'name' => 'arg'
      }
    ]
  },
  {
    'return_type' => 'const char *',
    'name' => 'modperl_cmd_interp_max_requests',
    'args' => [
      {
        'type' => 'cmd_parms *',
        'name' => 'parms'
      },
      {
        'type' => 'void *',
        'name' => 'mconfig'
      },
      {
        'type' => 'const char *',
        'name' => 'arg'
      }
    ]
  },
  {
    'return_type' => 'const char *',
    'name' => 'modperl_cmd_interp_max_spare',
    'args' => [
      {
        'type' => 'cmd_parms *',
        'name' => 'parms'
      },
      {
        'type' => 'void *',
        'name' => 'mconfig'
      },
      {
        'type' => 'const char *',
        'name' => 'arg'
      }
    ]
  },
  {
    'return_type' => 'const char *',
    'name' => 'modperl_cmd_interp_min_spare',
    'args' => [
      {
        'type' => 'cmd_parms *',
        'name' => 'parms'
      },
      {
        'type' => 'void *',
        'name' => 'mconfig'
      },
      {
        'type' => 'const char *',
        'name' => 'arg'
      }
    ]
  },
  {
    'return_type' => 'const char *',
    'name' => 'modperl_cmd_interp_scope',
    'args' => [
      {
        'type' => 'cmd_parms *',
        'name' => 'parms'
      },
      {
        'type' => 'void *',
        'name' => 'mconfig'
      },
      {
        'type' => 'const char *',
        'name' => 'arg'
      }
    ]
  },
  {
    'return_type' => 'const char *',
    'name' => 'modperl_cmd_interp_start',
    'args' => [
      {
        'type' => 'cmd_parms *',
        'name' => 'parms'
      },
      {
        'type' => 'void *',
        'name' => 'mconfig'
      },
      {
        'type' => 'const char *',
        'name' => 'arg'
      }
    ]
  },
  {
    'return_type' => 'const char *',
    'name' => 'modperl_cmd_load_module',
    'args' => [
      {
        'type' => 'cmd_parms *',
        'name' => 'parms'
      },
      {
        'type' => 'void *',
        'name' => 'mconfig'
      },
      {
        'type' => 'const char *',
        'name' => 'arg'
      }
    ]
  },
  {
    'return_type' => 'const char *',
    'name' => 'modperl_cmd_log_handlers',
    'args' => [
      {
        'type' => 'cmd_parms *',
        'name' => 'parms'
      },
      {
        'type' => 'void *',
        'name' => 'dummy'
      },
      {
        'type' => 'const char *',
        'name' => 'arg'
      }
    ]
  },
  {
    'return_type' => 'const char *',
    'name' => 'modperl_cmd_map_to_storage_handlers',
    'args' => [
      {
        'type' => 'cmd_parms *',
        'name' => 'parms'
      },
      {
        'type' => 'void *',
        'name' => 'dummy'
      },
      {
        'type' => 'const char *',
        'name' => 'arg'
      }
    ]
  },
  {
    'return_type' => 'const char *',
    'name' => 'modperl_cmd_modules',
    'args' => [
      {
        'type' => 'cmd_parms *',
        'name' => 'parms'
      },
      {
        'type' => 'void *',
        'name' => 'mconfig'
      },
      {
        'type' => 'const char *',
        'name' => 'arg'
      }
    ]
  },
  {
    'return_type' => 'const char *',
    'name' => 'modperl_cmd_open_logs_handlers',
    'args' => [
      {
        'type' => 'cmd_parms *',
        'name' => 'parms'
      },
      {
        'type' => 'void *',
        'name' => 'dummy'
      },
      {
        'type' => 'const char *',
        'name' => 'arg'
      }
    ]
  },
  {
    'return_type' => 'const char *',
    'name' => 'modperl_cmd_options',
    'args' => [
      {
        'type' => 'cmd_parms *',
        'name' => 'parms'
      },
      {
        'type' => 'void *',
        'name' => 'mconfig'
      },
      {
        'type' => 'const char *',
        'name' => 'arg'
      }
    ]
  },
  {
    'return_type' => 'const char *',
    'name' => 'modperl_cmd_output_filter_handlers',
    'args' => [
      {
        'type' => 'cmd_parms *',
        'name' => 'parms'
      },
      {
        'type' => 'void *',
        'name' => 'dummy'
      },
      {
        'type' => 'const char *',
        'name' => 'arg'
      }
    ]
  },
  {
    'return_type' => 'const char *',
    'name' => 'modperl_cmd_pass_env',
    'args' => [
      {
        'type' => 'cmd_parms *',
        'name' => 'parms'
      },
      {
        'type' => 'void *',
        'name' => 'mconfig'
      },
      {
        'type' => 'const char *',
        'name' => 'arg'
      }
    ]
  },
  {
    'return_type' => 'const char *',
    'name' => 'modperl_cmd_perl',
    'args' => [
      {
        'type' => 'cmd_parms *',
        'name' => 'parms'
      },
      {
        'type' => 'void *',
        'name' => 'mconfig'
      },
      {
        'type' => 'const char *',
        'name' => 'arg'
      }
    ]
  },
  {
    'return_type' => 'const char *',
    'name' => 'modperl_cmd_perldo',
    'args' => [
      {
        'type' => 'cmd_parms *',
        'name' => 'parms'
      },
      {
        'type' => 'void *',
        'name' => 'mconfig'
      },
      {
        'type' => 'const char *',
        'name' => 'arg'
      }
    ]
  },
  {
    'return_type' => 'const char *',
    'name' => 'modperl_cmd_pod',
    'args' => [
      {
        'type' => 'cmd_parms *',
        'name' => 'parms'
      },
      {
        'type' => 'void *',
        'name' => 'mconfig'
      },
      {
        'type' => 'const char *',
        'name' => 'arg'
      }
    ]
  },
  {
    'return_type' => 'const char *',
    'name' => 'modperl_cmd_pod_cut',
    'args' => [
      {
        'type' => 'cmd_parms *',
        'name' => 'parms'
      },
      {
        'type' => 'void *',
        'name' => 'mconfig'
      },
      {
        'type' => 'const char *',
        'name' => 'arg'
      }
    ]
  },
  {
    'return_type' => 'const char *',
    'name' => 'modperl_cmd_post_config_handlers',
    'args' => [
      {
        'type' => 'cmd_parms *',
        'name' => 'parms'
      },
      {
        'type' => 'void *',
        'name' => 'dummy'
      },
      {
        'type' => 'const char *',
        'name' => 'arg'
      }
    ]
  },
  {
    'return_type' => 'const char *',
    'name' => 'modperl_cmd_post_config_requires',
    'args' => [
      {
        'type' => 'cmd_parms *',
        'name' => 'parms'
      },
      {
        'type' => 'void *',
        'name' => 'mconfig'
      },
      {
        'type' => 'const char *',
        'name' => 'arg'
      }
    ]
  },
  {
    'return_type' => 'const char *',
    'name' => 'modperl_cmd_post_read_request_handlers',
    'args' => [
      {
        'type' => 'cmd_parms *',
        'name' => 'parms'
      },
      {
        'type' => 'void *',
        'name' => 'dummy'
      },
      {
        'type' => 'const char *',
        'name' => 'arg'
      }
    ]
  },
  {
    'return_type' => 'const char *',
    'name' => 'modperl_cmd_pre_connection_handlers',
    'args' => [
      {
        'type' => 'cmd_parms *',
        'name' => 'parms'
      },
      {
        'type' => 'void *',
        'name' => 'dummy'
      },
      {
        'type' => 'const char *',
        'name' => 'arg'
      }
    ]
  },
  {
    'return_type' => 'const char *',
    'name' => 'modperl_cmd_process_connection_handlers',
    'args' => [
      {
        'type' => 'cmd_parms *',
        'name' => 'parms'
      },
      {
        'type' => 'void *',
        'name' => 'dummy'
      },
      {
        'type' => 'const char *',
        'name' => 'arg'
      }
    ]
  },
  {
    'return_type' => 'char *',
    'name' => 'modperl_cmd_push_filter_handlers',
    'args' => [
      {
        'type' => 'MpAV **',
        'name' => 'handlers'
      },
      {
        'type' => 'const char *',
        'name' => 'name'
      },
      {
        'type' => 'apr_pool_t *',
        'name' => 'p'
      }
    ]
  },
  {
    'return_type' => 'char *',
    'name' => 'modperl_cmd_push_handlers',
    'args' => [
      {
        'type' => 'MpAV **',
        'name' => 'handlers'
      },
      {
        'type' => 'const char *',
        'name' => 'name'
      },
      {
        'type' => 'apr_pool_t *',
        'name' => 'p'
      }
    ]
  },
  {
    'return_type' => 'const char *',
    'name' => 'modperl_cmd_requires',
    'args' => [
      {
        'type' => 'cmd_parms *',
        'name' => 'parms'
      },
      {
        'type' => 'void *',
        'name' => 'mconfig'
      },
      {
        'type' => 'const char *',
        'name' => 'arg'
      }
    ]
  },
  {
    'return_type' => 'const char *',
    'name' => 'modperl_cmd_response_handlers',
    'args' => [
      {
        'type' => 'cmd_parms *',
        'name' => 'parms'
      },
      {
        'type' => 'void *',
        'name' => 'dummy'
      },
      {
        'type' => 'const char *',
        'name' => 'arg'
      }
    ]
  },
  {
    'return_type' => 'const char *',
    'name' => 'modperl_cmd_set_env',
    'args' => [
      {
        'type' => 'cmd_parms *',
        'name' => 'parms'
      },
      {
        'type' => 'void *',
        'name' => 'mconfig'
      },
      {
        'type' => 'const char *',
        'name' => 'arg1'
      },
      {
        'type' => 'const char *',
        'name' => 'arg2'
      }
    ]
  },
  {
    'return_type' => 'const char *',
    'name' => 'modperl_cmd_set_input_filter',
    'args' => [
      {
        'type' => 'cmd_parms *',
        'name' => 'parms'
      },
      {
        'type' => 'void *',
        'name' => 'mconfig'
      },
      {
        'type' => 'const char *',
        'name' => 'arg'
      }
    ]
  },
  {
    'return_type' => 'const char *',
    'name' => 'modperl_cmd_set_output_filter',
    'args' => [
      {
        'type' => 'cmd_parms *',
        'name' => 'parms'
      },
      {
        'type' => 'void *',
        'name' => 'mconfig'
      },
      {
        'type' => 'const char *',
        'name' => 'arg'
      }
    ]
  },
  {
    'return_type' => 'const char *',
    'name' => 'modperl_cmd_set_var',
    'args' => [
      {
        'type' => 'cmd_parms *',
        'name' => 'parms'
      },
      {
        'type' => 'void *',
        'name' => 'mconfig'
      },
      {
        'type' => 'const char *',
        'name' => 'arg1'
      },
      {
        'type' => 'const char *',
        'name' => 'arg2'
      }
    ]
  },
  {
    'return_type' => 'const char *',
    'name' => 'modperl_cmd_switches',
    'args' => [
      {
        'type' => 'cmd_parms *',
        'name' => 'parms'
      },
      {
        'type' => 'void *',
        'name' => 'mconfig'
      },
      {
        'type' => 'const char *',
        'name' => 'arg'
      }
    ]
  },
  {
    'return_type' => 'const char *',
    'name' => 'modperl_cmd_trace',
    'args' => [
      {
        'type' => 'cmd_parms *',
        'name' => 'parms'
      },
      {
        'type' => 'void *',
        'name' => 'mconfig'
      },
      {
        'type' => 'const char *',
        'name' => 'arg'
      }
    ]
  },
  {
    'return_type' => 'const char *',
    'name' => 'modperl_cmd_trans_handlers',
    'args' => [
      {
        'type' => 'cmd_parms *',
        'name' => 'parms'
      },
      {
        'type' => 'void *',
        'name' => 'dummy'
      },
      {
        'type' => 'const char *',
        'name' => 'arg'
      }
    ]
  },
  {
    'return_type' => 'const char *',
    'name' => 'modperl_cmd_type_handlers',
    'args' => [
      {
        'type' => 'cmd_parms *',
        'name' => 'parms'
      },
      {
        'type' => 'void *',
        'name' => 'dummy'
      },
      {
        'type' => 'const char *',
        'name' => 'arg'
      }
    ]
  },
  {
    'return_type' => 'U16 *',
    'name' => 'modperl_code_attrs',
    'args' => [
     {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'CV *',
        'name' => 'cv'
      }
    ]
  },
  {
    'return_type' => 'int',
    'name' => 'modperl_config_apply_PerlModule',
    'args' => [
      {
        'type' => 'server_rec *',
        'name' => 's'
      },
      {
        'type' => 'modperl_config_srv_t *',
        'name' => 'scfg'
      },
      {
        'type' => 'PerlInterpreter *',
        'name' => 'perl'
      },
      {
        'type' => 'apr_pool_t *',
        'name' => 'p'
      }
    ]
  },
  {
    'return_type' => 'int',
    'name' => 'modperl_config_apply_PerlPostConfigRequire',
    'args' => [
      {
        'type' => 'server_rec *',
        'name' => 's'
      },
      {
        'type' => 'modperl_config_srv_t *',
        'name' => 'scfg'
      },
      {
        'type' => 'apr_pool_t *',
        'name' => 'p'
      }
    ]
  },
  {
    'return_type' => 'int',
    'name' => 'modperl_config_apply_PerlRequire',
    'args' => [
      {
        'type' => 'server_rec *',
        'name' => 's'
      },
      {
        'type' => 'modperl_config_srv_t *',
        'name' => 'scfg'
      },
      {
        'type' => 'PerlInterpreter *',
        'name' => 'perl'
      },
      {
        'type' => 'apr_pool_t *',
        'name' => 'p'
      }
    ]
  },
  {
    'return_type' => 'void *',
    'name' => 'modperl_config_dir_create',
    'args' => [
      {
        'type' => 'apr_pool_t *',
        'name' => 'p'
      },
      {
        'type' => 'char *',
        'name' => 'dir'
      }
    ]
  },
  {
    'return_type' => 'void *',
    'name' => 'modperl_config_dir_merge',
    'args' => [
      {
        'type' => 'apr_pool_t *',
        'name' => 'p'
      },
      {
        'type' => 'void *',
        'name' => 'basev'
      },
      {
        'type' => 'void *',
        'name' => 'addv'
      }
    ]
  },
  {
    'return_type' => 'modperl_config_dir_t *',
    'name' => 'modperl_config_dir_new',
    'args' => [
      {
        'type' => 'apr_pool_t *',
        'name' => 'p'
      }
    ]
  },
  {
    'return_type' => 'const char *',
    'name' => 'modperl_config_insert',
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'server_rec *',
        'name' => 's'
      },
      {
        'type' => 'apr_pool_t *',
        'name' => 'p'
      },
      {
        'type' => 'apr_pool_t *',
        'name' => 'ptmp'
      },
      {
        'type' => 'int',
        'name' => 'override'
      },
      {
        'type' => 'char *',
        'name' => 'path'
      },
      {
        'type' => 'int',
        'name' => 'override_options'
      },
      {
        'type' => 'ap_conf_vector_t *',
        'name' => 'conf'
      },
      {
        'type' => 'SV *',
        'name' => 'lines'
      }
    ]
  },
  {
    'return_type' => 'const char *',
    'name' => 'modperl_config_insert_parms',
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'cmd_parms *',
        'name' => 'parms'
      },
      {
        'type' => 'SV *',
        'name' => 'lines'
      }
    ]
  },
  {
    'return_type' => 'const char *',
    'name' => 'modperl_config_insert_request',
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'request_rec *',
        'name' => 'r'
      },
      {
        'type' => 'SV *',
        'name' => 'lines'
      },
      {
        'type' => 'int',
        'name' => 'override'
      },
      {
        'type' => 'char *',
        'name' => 'path'
      },
      {
        'type' => 'int',
        'name' => 'override_options'
      }
    ]
  },
  {
    'return_type' => 'const char *',
    'name' => 'modperl_config_insert_server',
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'server_rec *',
        'name' => 's'
      },
      {
        'type' => 'SV *',
        'name' => 'lines'
      }
    ]
  },
  {
    'return_type' => 'int',
    'name' => 'modperl_config_is_perl_option_enabled',
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'request_rec *',
        'name' => 'r'
      },
      {
        'type' => 'server_rec *',
        'name' => 's'
      },
      {
        'type' => 'const char *',
        'name' => 'name'
      }
    ]
  },
  {
    'return_type' => 'apr_status_t',
    'name' => 'modperl_config_req_cleanup',
    'args' => [
      {
        'type' => 'void *',
        'name' => 'data'
      }
    ]
  },
  {
    'return_type' => 'modperl_config_req_t *',
    'name' => 'modperl_config_req_new',
    'args' => [
      {
        'type' => 'request_rec *',
        'name' => 'r'
      }
    ]
  },
  {
    'return_type' => 'modperl_config_con_t *',
    'name' => 'modperl_config_con_new',
    'args' => [
      {
        'type' => 'conn_rec *',
        'name' => 'c'
      }
    ]
  },
  {
    'return_type' => 'apr_status_t',
    'name' => 'modperl_config_request_cleanup',
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'request_rec *',
        'name' => 'r'
      }
    ]
  },
  {
    'return_type' => 'char **',
    'name' => 'modperl_config_srv_argv_init',
    'args' => [
      {
        'type' => 'modperl_config_srv_t *',
        'name' => 'scfg'
      },
      {
        'type' => 'int *',
        'name' => 'argc'
      }
    ]
  },
  {
    'return_type' => 'void *',
    'name' => 'modperl_config_srv_create',
    'args' => [
      {
        'type' => 'apr_pool_t *',
        'name' => 'p'
      },
      {
        'type' => 'server_rec *',
        'name' => 's'
      }
    ]
  },
  {
    'return_type' => 'void *',
    'name' => 'modperl_config_srv_merge',
    'args' => [
      {
        'type' => 'apr_pool_t *',
        'name' => 'p'
      },
      {
        'type' => 'void *',
        'name' => 'basev'
      },
      {
        'type' => 'void *',
        'name' => 'addv'
      }
    ]
  },
  {
    'return_type' => 'modperl_config_srv_t *',
    'name' => 'modperl_config_srv_new',
    'args' => [
      {
        'type' => 'apr_pool_t *',
        'name' => 'p'
      }
    ]
  },
  {
    'return_type' => 'int',
    'name' => 'modperl_const_compile',
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'const char *',
        'name' => 'classname'
      },
      {
        'type' => 'const char *',
        'name' => 'arg'
      },
      {
        'type' => 'const char *',
        'name' => 'name'
      }
    ]
  },
  {
    'return_type' => 'const char **',
    'name' => 'modperl_constants_group_lookup_apache2_const',
    'args' => [
      {
        'type' => 'const char *',
        'name' => 'name'
      }
    ]
  },
  {
    'return_type' => 'const char **',
    'name' => 'modperl_constants_group_lookup_apr_const',
    'args' => [
      {
        'type' => 'const char *',
        'name' => 'name'
      }
    ]
  },
  {
    'return_type' => 'const char **',
    'name' => 'modperl_constants_group_lookup_modperl',
    'args' => [
      {
        'type' => 'const char *',
        'name' => 'name'
      }
    ]
  },
  {
    'return_type' => 'SV *',
    'name' => 'modperl_constants_lookup_apache2_const',
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'const char *',
        'name' => 'name'
      }
    ]
  },
  {
    'return_type' => 'SV *',
    'name' => 'modperl_constants_lookup_apr_const',
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'const char *',
        'name' => 'name'
      }
    ]
  },
  {
    'return_type' => 'SV *',
    'name' => 'modperl_constants_lookup_modperl',
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'const char *',
        'name' => 'name'
      }
    ]
  },
  {
    'return_type' => 'void',
    'name' => 'modperl_croak',
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'apr_status_t',
        'name' => 'rc'
      },
      {
        'type' => 'const char*',
        'name' => 'func'
      }
    ]
  },
  {
    'return_type' => 'unsigned long',
    'name' => 'modperl_debug_level',
    'args' => []
  },
  {
    'return_type' => 'SV *',
    'name' => 'modperl_dir_config',
    'attr' => [
      '__inline__'
    ],
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'request_rec *',
        'name' => 'r'
      },
      {
        'type' => 'server_rec *',
        'name' => 's'
      },
      {
        'type' => 'char *',
        'name' => 'key'
      },
      {
        'type' => 'SV *',
        'name' => 'sv_val'
      }
    ]
  },
  {
    'return_type' => 'void',
    'name' => 'modperl_env_clear',
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      }
    ]
  },
  {
    'return_type' => 'void',
    'name' => 'modperl_env_configure_request_dir',
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'request_rec *',
        'name' => 'r'
      }
    ]
  },
  {
    'return_type' => 'void',
    'name' => 'modperl_env_configure_request_srv',
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'request_rec *',
        'name' => 'r'
      }
    ]
  },
  {
    'return_type' => 'void',
    'name' => 'modperl_env_configure_server',
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'apr_pool_t *',
        'name' => 'p'
      },
      {
        'type' => 'server_rec *',
        'name' => 's'
      }
    ]
  },
  {
    'return_type' => 'void',
    'name' => 'modperl_env_default_populate',
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      }
    ]
  },
  {
    'return_type' => 'void',
    'name' => 'modperl_env_hash_keys',
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      }
    ]
  },
  {
    'return_type' => 'void',
    'name' => 'modperl_env_hv_store',
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'const char *',
        'name' => 'key'
      },
      {
        'type' => 'const char *',
        'name' => 'val'
      }
    ]
  },
  {
    'return_type' => 'void',
    'name' => 'modperl_env_init',
    'args' => []
  },
  {
    'return_type' => 'void',
    'name' => 'modperl_env_request_populate',
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'request_rec *',
        'name' => 'r'
      }
    ]
  },
  {
    'return_type' => 'void',
    'name' => 'modperl_env_request_tie',
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'request_rec *',
        'name' => 'r'
      }
    ]
  },
  {
    'return_type' => 'void',
    'name' => 'modperl_env_request_unpopulate',
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'request_rec *',
        'name' => 'r'
      }
    ]
  },
  {
    'return_type' => 'void',
    'name' => 'modperl_env_request_untie',
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'request_rec *',
        'name' => 'r'
      }
    ]
  },
  {
    'return_type' => 'void',
    'name' => 'modperl_env_sync_dir_env_hash2table',
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'apr_pool_t *',
        'name' => 'p'
      },
      {
        'type' => 'modperl_config_dir_t *',
        'name' => 'dcfg'
      }
    ]
  },
  {
    'return_type' => 'void',
    'name' => 'modperl_env_sync_srv_env_hash2table',
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'apr_pool_t *',
        'name' => 'p'
      },
      {
        'type' => 'modperl_config_srv_t *',
        'name' => 'scfg'
      }
    ]
  },
  {
    'return_type' => 'void',
    'name' => 'modperl_env_unload',
    'args' => []
  },
  {
    'return_type' => 'char *',
    'name' => 'modperl_error_strerror',
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'apr_status_t',
        'name' => 'rc'
      }
    ]
  },
  {
    'return_type' => 'int',
    'name' => 'modperl_errsv',
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'int',
        'name' => 'status'
      },
      {
        'type' => 'request_rec *',
        'name' => 'r'
      },
      {
        'type' => 'server_rec *',
        'name' => 's'
      }
    ]
  },
  {
    'return_type' => 'void',
    'name' => 'modperl_errsv_prepend',
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'const char *',
        'name' => 'pat'
      },
      {
        'type' => '...',
        'name' => 'arg2'
      }
    ]
  },
  {
    'return_type' => 'char *',
    'name' => 'modperl_file2package',
    'args' => [
      {
        'type' => 'apr_pool_t *',
        'name' => 'p'
      },
      {
        'type' => 'const char *',
        'name' => 'file'
      }
    ]
  },
  {
    'return_type' => 'U32 *',
    'name' => 'modperl_filter_attributes',
    'attr' => [
      'static',
      '__inline__'
    ],
    'args' => [
      {
        'type' => 'SV *',
        'name' => 'package'
      },
      {
        'type' => 'SV *',
        'name' => 'cvrv'
      }
    ]
  },
  {
    'return_type' => 'modperl_filter_t *',
    'name' => 'modperl_filter_mg_get',
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'SV *',
        'name' => 'obj'
      }
    ]
  },
  {
    'return_type' => 'modperl_filter_t *',
    'name' => 'modperl_filter_new',
    'args' => [
      {
        'type' => 'ap_filter_t *',
        'name' => 'f'
      },
      {
        'type' => 'apr_bucket_brigade *',
        'name' => 'bb'
      },
      {
        'type' => 'modperl_filter_mode_e',
        'name' => 'mode'
      },
      {
        'type' => 'ap_input_mode_t',
        'name' => 'input_mode'
      },
      {
        'type' => 'apr_read_type_e',
        'name' => 'block'
      },
      {
        'type' => 'apr_off_t',
        'name' => 'readbytes'
      }
    ]
  },
  {
    'return_type' => 'int',
    'name' => 'modperl_filter_resolve_init_handler',
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'modperl_handler_t *',
        'name' => 'handler'
      },
      {
        'type' => 'apr_pool_t *',
        'name' => 'p'
      }
    ]
  },
  {
    'return_type' => 'void',
    'name' => 'modperl_filter_runtime_add',
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'request_rec *',
        'name' => 'r'
      },
      {
        'type' => 'conn_rec *',
        'name' => 'c'
      },
      {
        'type' => 'const char *',
        'name' => 'name'
      },
      {
        'type' => 'modperl_filter_mode_e',
        'name' => 'mode'
      },
      {
        'type' => 'modperl_filter_add_t',
        'name' => 'addfunc'
      },
      {
        'type' => 'SV *',
        'name' => 'callback'
      },
      {
        'type' => 'const char *',
        'name' => 'type'
      }
    ]
  },
  {
    'return_type' => 'int',
    'name' => 'modperl_fixup_handler',
    'args' => [
      {
        'type' => 'request_rec *',
        'name' => 'r'
      }
    ]
  },
  {
    'return_type' => 'U32',
    'name' => 'modperl_flags_lookup_dir',
    'args' => [
      {
        'type' => 'const char *',
        'name' => 'str'
      }
    ]
  },
  {
    'return_type' => 'U32',
    'name' => 'modperl_flags_lookup_srv',
    'args' => [
      {
        'type' => 'const char *',
        'name' => 'str'
      }
    ]
  },
  {
    'return_type' => 'void *',
    'name' => 'modperl_get_perl_module_config',
    'args' => [
      {
        'type' => 'ap_conf_vector_t *',
        'name' => 'cv'
      }
    ]
  },
  {
    'return_type' => 'void',
    'name' => 'modperl_global_anon_cnt_init',
    'args' => [
      {
        'type' => 'apr_pool_t *',
        'name' => 'p'
      }
    ]
  },
  {
    'return_type' => 'int',
    'name' => 'modperl_global_anon_cnt_next',
    'args' => []
  },
  {
    'return_type' => 'void *',
    'name' => 'modperl_global_get',
    'args' => [
      {
        'type' => 'modperl_global_t *',
        'name' => 'global'
      }
    ]
  },
  {
    'return_type' => 'apr_pool_t *',
    'name' => 'modperl_global_get_pconf',
    'args' => []
  },
  {
    'return_type' => 'server_rec *',
    'name' => 'modperl_global_get_server_rec',
    'args' => []
  },
  {
    'return_type' => 'void',
    'name' => 'modperl_global_init',
    'args' => [
      {
        'type' => 'modperl_global_t *',
        'name' => 'global'
      },
      {
        'type' => 'apr_pool_t *',
        'name' => 'p'
      },
      {
        'type' => 'void *',
        'name' => 'data'
      },
      {
        'type' => 'const char *',
        'name' => 'name'
      }
    ]
  },
  {
    'return_type' => 'void',
    'name' => 'modperl_global_init_pconf',
    'args' => [
      {
        'type' => 'apr_pool_t *',
        'name' => 'p'
      },
      {
        'type' => 'apr_pool_t *',
        'name' => 'pconf'
      }
    ]
  },
  {
    'return_type' => 'void',
    'name' => 'modperl_global_init_server_rec',
    'args' => [
      {
        'type' => 'apr_pool_t *',
        'name' => 'p'
      },
      {
        'type' => 'server_rec * server_rec',
        'name' => 'arg1'
      }
    ]
  },
  {
    'return_type' => 'void',
    'name' => 'modperl_global_lock',
    'args' => [
      {
        'type' => 'modperl_global_t *',
        'name' => 'global'
      }
    ]
  },
  {
    'return_type' => 'void',
    'name' => 'modperl_global_lock_pconf',
    'args' => []
  },
  {
    'return_type' => 'void',
    'name' => 'modperl_global_lock_server_rec',
    'args' => []
  },
  {
    'return_type' => 'request_rec *',
    'name' => 'modperl_global_request',
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'SV *',
        'name' => 'svr'
      }
    ]
  },
  {
    'return_type' => 'void',
    'name' => 'modperl_global_request_cfg_set',
    'args' => [
      {
        'type' => 'request_rec *',
        'name' => 'r'
      }
    ]
  },
  {
    'return_type' => 'void',
    'name' => 'modperl_global_request_obj_set',
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'SV *',
        'name' => 'svr'
      }
    ]
  },
  {
    'return_type' => 'void',
    'name' => 'modperl_global_request_set',
    'args' => [
      {
        'type' => 'request_rec *',
        'name' => 'r'
      }
    ]
  },
  {
    'return_type' => 'void',
    'name' => 'modperl_global_set',
    'args' => [
      {
        'type' => 'modperl_global_t *',
        'name' => 'global'
      },
      {
        'type' => 'void *',
        'name' => 'data'
      }
    ]
  },
  {
    'return_type' => 'void',
    'name' => 'modperl_global_set_pconf',
    'args' => [
      {
        'type' => 'void *',
        'name' => 'arg0'
      }
    ]
  },
  {
    'return_type' => 'void',
    'name' => 'modperl_global_set_server_rec',
    'args' => [
      {
        'type' => 'void *',
        'name' => 'arg0'
      }
    ]
  },
  {
    'return_type' => 'void',
    'name' => 'modperl_global_unlock',
    'args' => [
      {
        'type' => 'modperl_global_t *',
        'name' => 'global'
      }
    ]
  },
  {
    'return_type' => 'void',
    'name' => 'modperl_global_unlock_pconf',
    'args' => []
  },
  {
    'return_type' => 'void',
    'name' => 'modperl_global_unlock_server_rec',
    'args' => []
  },
  {
    'return_type' => 'void',
    'name' => 'modperl_handler_anon_add',
    'attr' => [
      '__inline__'
    ],
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'modperl_mgv_t *',
        'name' => 'anon'
      },
      {
        'type' => 'CV *',
        'name' => 'cv'
      }
    ]
  },
  {
    'return_type' => 'CV *',
    'name' => 'modperl_handler_anon_get',
    'attr' => [
      '__inline__'
    ],
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'modperl_mgv_t *',
        'name' => 'anon'
      }
    ]
  },
  {
    'return_type' => 'void',
    'name' => 'modperl_handler_anon_init',
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'apr_pool_t *',
        'name' => 'p'
      }
    ]
  },
  {
    'return_type' => 'modperl_mgv_t *',
    'name' => 'modperl_handler_anon_next',
    'attr' => [
      '__inline__'
    ],
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'apr_pool_t *',
        'name' => 'p'
      }
    ]
  },
  {
    'return_type' => 'MpAV *',
    'name' => 'modperl_handler_array_merge',
    'args' => [
      {
        'type' => 'apr_pool_t *',
        'name' => 'p'
      },
      {
        'type' => 'MpAV *',
        'name' => 'base_a'
      },
      {
        'type' => 'MpAV *',
        'name' => 'add_a'
      }
    ]
  },
  {
    'return_type' => 'const char *',
    'name' => 'modperl_handler_desc_connection',
    'args' => [
      {
        'type' => 'int',
        'name' => 'idx'
      }
    ]
  },
  {
    'return_type' => 'const char *',
    'name' => 'modperl_handler_desc_files',
    'args' => [
      {
        'type' => 'int',
        'name' => 'idx'
      }
    ]
  },
  {
    'return_type' => 'const char *',
    'name' => 'modperl_handler_desc_per_dir',
    'args' => [
      {
        'type' => 'int',
        'name' => 'idx'
      }
    ]
  },
  {
    'return_type' => 'const char *',
    'name' => 'modperl_handler_desc_per_srv',
    'args' => [
      {
        'type' => 'int',
        'name' => 'idx'
      }
    ]
  },
  {
    'return_type' => 'const char *',
    'name' => 'modperl_handler_desc_pre_connection',
    'args' => [
      {
        'type' => 'int',
        'name' => 'idx'
      }
    ]
  },
  {
    'return_type' => 'const char *',
    'name' => 'modperl_handler_desc_process',
    'args' => [
      {
        'type' => 'int',
        'name' => 'idx'
      }
    ]
  },
  {
    'return_type' => 'modperl_handler_t *',
    'name' => 'modperl_handler_dup',
    'args' => [
      {
        'type' => 'apr_pool_t *',
        'name' => 'p'
      },
      {
        'type' => 'modperl_handler_t *',
        'name' => 'h'
      }
    ]
  },
  {
    'return_type' => 'int',
    'name' => 'modperl_handler_equal',
    'args' => [
      {
        'type' => 'modperl_handler_t *',
        'name' => 'h1'
      },
      {
        'type' => 'modperl_handler_t *',
        'name' => 'h2'
      }
    ]
  },
  {
    'return_type' => 'MpAV **',
    'name' => 'modperl_handler_get_handlers',
    'args' => [
      {
        'type' => 'request_rec *',
        'name' => 'r'
      },
      {
        'type' => 'conn_rec *',
        'name' => 'c'
      },
      {
        'type' => 'server_rec *',
        'name' => 's'
      },
      {
        'type' => 'apr_pool_t *',
        'name' => 'p'
      },
      {
        'type' => 'const char *',
        'name' => 'name'
      },
      {
        'type' => 'modperl_handler_action_e',
        'name' => 'action'
      }
    ]
  },
  {
    'return_type' => 'int',
    'name' => 'modperl_handler_lookup',
    'args' => [
      {
        'type' => 'const char *',
        'name' => 'name'
      },
      {
        'type' => 'int *',
        'name' => 'type'
      }
    ]
  },
  {
    'return_type' => 'MpAV **',
    'name' => 'modperl_handler_lookup_handlers',
    'args' => [
      {
        'type' => 'modperl_config_dir_t *',
        'name' => 'dcfg'
      },
      {
        'type' => 'modperl_config_srv_t *',
        'name' => 'scfg'
      },
      {
        'type' => 'modperl_config_req_t *',
        'name' => 'rcfg'
      },
      {
        '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'
      }
    ]
  },
  {
    'return_type' => 'void',
    'name' => 'modperl_handler_make_args',
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'AV **',
        'name' => 'avp'
      },
      {
        'type' => '...',
        'name' => 'arg2'
      }
    ]
  },
  {
    'return_type' => 'const char *',
    'name' => 'modperl_handler_name',
    'attr' => [
      '__inline__'
    ],
    'args' => [
      {
        'type' => 'modperl_handler_t *',
        'name' => 'handler'
      }
    ]
  },
  {
    'return_type' => 'modperl_handler_t *',
    'name' => 'modperl_handler_new',
    'args' => [
      {
        'type' => 'apr_pool_t *',
        'name' => 'p'
      },
      {
        'type' => 'const char *',
        'name' => 'name'
      }
    ]
  },
  {
    'return_type' => 'modperl_handler_t *',
    'name' => 'modperl_handler_new_from_sv',
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'apr_pool_t *',
        'name' => 'p'
      },
      {
        'type' => 'SV *',
        'name' => 'sv'
      }
    ]
  },
  {
    'return_type' => 'int',
    'name' => 'modperl_handler_perl_add_handlers',
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'request_rec *',
        'name' => 'r'
      },
      {
        'type' => 'conn_rec *',
        'name' => 'c'
      },
      {
        'type' => 'server_rec *',
        'name' => 's'
      },
      {
        'type' => 'apr_pool_t *',
        'name' => 'p'
      },
      {
        'type' => 'const char *',
        'name' => 'name'
      },
      {
        'type' => 'SV *',
        'name' => 'sv'
      },
      {
        'type' => 'modperl_handler_action_e',
        'name' => 'action'
      }
    ]
  },
  {
    'return_type' => 'SV *',
    'name' => 'modperl_handler_perl_get_handlers',
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'MpAV **',
        'name' => 'handp'
      },
      {
        'type' => 'apr_pool_t *',
        'name' => 'p'
      }
    ]
  },
  {
    'return_type' => 'int',
    'name' => 'modperl_handler_push_handlers',
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'apr_pool_t *',
        'name' => 'p'
      },
      {
        'type' => 'MpAV *',
        'name' => 'handlers'
      },
      {
        'type' => 'SV *',
        'name' => 'sv'
      }
    ]
  },
  {
    'return_type' => 'int',
    'name' => 'modperl_handler_resolve',
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'modperl_handler_t **',
        'name' => 'handp'
      },
      {
        'type' => 'apr_pool_t *',
        'name' => 'p'
      },
      {
        'type' => 'server_rec *',
        'name' => 's'
      }
    ]
  },
  {
    'return_type' => 'void',
    'name' => 'modperl_hash_seed_init',
    'args' => [
      {
        'type' => 'apr_pool_t *',
        'name' => 'p'
      }
    ]
  },
  {
    'return_type' => 'void',
    'name' => 'modperl_hash_seed_set',
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      }
    ]
  },
  {
    'return_type' => 'SV *',
    'name' => 'modperl_hash_tie',
    'attr' => [
      '__inline__'
    ],
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'const char *',
        'name' => 'classname'
      },
      {
        'type' => 'SV *',
        'name' => 'tsv'
      },
      {
        'type' => 'void *',
        'name' => 'p'
      }
    ]
  },
  {
    'return_type' => 'void *',
    'name' => 'modperl_hash_tied_object',
    'attr' => [
      '__inline__'
    ],
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'const char *',
        'name' => 'classname'
      },
      {
        'type' => 'SV *',
        'name' => 'tsv'
      }
    ]
  },
  {
    'return_type' => 'SV *',
    'name' => 'modperl_hash_tied_object_rv',
    'attr' => [
      '__inline__'
    ],
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'const char *',
        'name' => 'classname'
      },
      {
        'type' => 'SV *',
        'name' => 'tsv'
      }
    ]
  },
  {
    'return_type' => 'int',
    'name' => 'modperl_header_parser_handler',
    'args' => [
      {
        'type' => 'request_rec *',
        'name' => 'r'
      }
    ]
  },
  {
    'return_type' => 'int',
    'name' => 'modperl_hook_init',
    'args' => [
      {
        'type' => 'apr_pool_t *',
        'name' => 'pconf'
      },
      {
        'type' => 'apr_pool_t *',
        'name' => 'plog'
      },
      {
        'type' => 'apr_pool_t *',
        'name' => 'ptemp'
      },
      {
        'type' => 'server_rec *',
        'name' => 's'
      }
    ]
  },
  {
    'return_type' => 'int',
    'name' => 'modperl_hook_pre_config',
    'args' => [
      {
        'type' => 'apr_pool_t *',
        'name' => 'p'
      },
      {
        'type' => 'apr_pool_t *',
        'name' => 'plog'
      },
      {
        'type' => 'apr_pool_t *',
        'name' => 'ptemp'
      }
    ]
  },
  {
    'return_type' => 'void',
    'name' => 'modperl_init',
    'args' => [
      {
        'type' => 'server_rec *',
        'name' => 's'
      },
      {
        'type' => 'apr_pool_t *',
        'name' => 'p'
      }
    ]
  },
  {
    'return_type' => 'void',
    'name' => 'modperl_init_globals',
    'args' => [
      {
        'type' => 'server_rec *',
        'name' => 's'
      },
      {
        'type' => 'apr_pool_t *',
        'name' => 'pconf'
      }
    ]
  },
  {
    'return_type' => 'int',
    'name' => 'modperl_init_vhost',
    'args' => [
      {
        'type' => 'server_rec *',
        'name' => 's'
      },
      {
        'type' => 'apr_pool_t *',
        'name' => 'p'
      },
      {
        'type' => 'server_rec *',
        'name' => 'base_server'
      }
    ]
  },
  {
    'return_type' => 'void',
    'name' => 'modperl_input_filter_add_connection',
    'args' => [
      {
        'type' => 'conn_rec *',
        'name' => 'c'
      }
    ]
  },
  {
    'return_type' => 'void',
    'name' => 'modperl_input_filter_add_request',
    'args' => [
      {
        'type' => 'request_rec *',
        'name' => 'r'
      }
    ]
  },
  {
    'return_type' => 'apr_status_t',
    'name' => 'modperl_input_filter_flush',
    'attr' => [
      '__inline__'
    ],
    'args' => [
      {
        'type' => 'modperl_filter_t *',
        'name' => 'filter'
      }
    ]
  },
  {
    'return_type' => 'apr_status_t',
    'name' => 'modperl_input_filter_handler',
    'args' => [
      {
        'type' => 'ap_filter_t *',
        'name' => 'f'
      },
      {
        'type' => 'apr_bucket_brigade *',
        'name' => 'bb'
      },
      {
        'type' => 'ap_input_mode_t',
        'name' => 'input_mode'
      },
      {
        'type' => 'apr_read_type_e',
        'name' => 'block'
      },
      {
        'type' => 'apr_off_t',
        'name' => 'readbytes'
      }
    ]
  },
  {
    'return_type' => 'apr_size_t',
    'name' => 'modperl_input_filter_read',
    'attr' => [
      '__inline__'
    ],
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'modperl_filter_t *',
        'name' => 'filter'
      },
      {
        'type' => 'SV *',
        'name' => 'buffer'
      },
      {
        'type' => 'apr_size_t',
        'name' => 'wanted'
      }
    ]
  },
  {
    'return_type' => 'apr_status_t',
    'name' => 'modperl_input_filter_write',
    'attr' => [
      '__inline__'
    ],
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'modperl_filter_t *',
        'name' => 'filter'
      },
      {
        'type' => 'const char *',
        'name' => 'buf'
      },
      {
        'type' => 'apr_size_t *',
        'name' => 'len'
      }
    ]
  },
  {
    'return_type' => 'apr_status_t',
    'name' => 'modperl_interp_cleanup',
    'args' => [
      {
        'type' => 'void *',
        'name' => 'data'
      }
    ]
  },
  {
    'return_type' => 'void',
    'name' => 'modperl_interp_clone_init',
    'args' => [
      {
        'type' => 'modperl_interp_t *',
        'name' => 'interp'
      }
    ]
  },
  {
    'return_type' => 'void',
    'name' => 'modperl_interp_destroy',
    'args' => [
      {
        'type' => 'modperl_interp_t *',
        'name' => 'interp'
      }
    ]
  },
  {
    'return_type' => 'modperl_interp_t *',
    'name' => 'modperl_interp_get',
    'args' => [
      {
        'type' => 'server_rec *',
        'name' => 's'
      }
    ]
  },
  {
    'return_type' => 'void',
    'name' => 'modperl_interp_init',
    'args' => [
      {
        'type' => 'server_rec *',
        'name' => 's'
      },
      {
        'type' => 'apr_pool_t *',
        'name' => 'p'
      },
      {
        'type' => 'PerlInterpreter *',
        'name' => 'perl'
      }
    ]
  },
  {
    'return_type' => 'void',
    'name' => 'modperl_interp_mip_walk',
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'current_perl'
      },
      {
        'type' => 'PerlInterpreter *',
        'name' => 'parent_perl'
      },
      {
        'type' => 'modperl_interp_pool_t *',
        'name' => 'mip'
      },
      {
        'type' => 'modperl_interp_mip_walker_t',
        'name' => 'walker'
      },
      {
        'type' => 'void *',
        'name' => 'data'
      }
    ]
  },
  {
    'return_type' => 'void',
    'name' => 'modperl_interp_mip_walk_servers',
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'current_perl'
      },
      {
        'type' => 'server_rec *',
        'name' => 'base_server'
      },
      {
        'type' => 'modperl_interp_mip_walker_t',
        'name' => 'walker'
      },
      {
        'type' => 'void *',
        'name' => 'data'
      }
    ]
  },
  {
    'return_type' => 'modperl_interp_t *',
    'name' => 'modperl_interp_new',
    'args' => [
      {
        'type' => 'modperl_interp_pool_t *',
        'name' => 'mip'
      },
      {
        'type' => 'PerlInterpreter *',
        'name' => 'perl'
      }
    ]
  },
  {
    'return_type' => 'apr_status_t',
    'name' => 'modperl_interp_pool_destroy',
    'args' => [
      {
        'type' => 'void *',
        'name' => 'data'
      }
    ]
  },
  {
    'return_type' => 'modperl_interp_t *',
    'name' => 'modperl_interp_pool_get',
    'args' => [
      {
        'type' => 'apr_pool_t *',
        'name' => 'p'
      }
    ]
  },
  {
    'return_type' => 'modperl_interp_t *',
    'name' => 'modperl_interp_pool_select',
    'args' => [
      {
        'type' => 'apr_pool_t *',
        'name' => 'p'
      },
      {
        'type' => 'server_rec *',
        'name' => 's'
      }
    ]
  },
  {
    'return_type' => 'void',
    'name' => 'modperl_interp_pool_set',
    'args' => [
      {
        'type' => 'apr_pool_t *',
        'name' => 'p'
      },
      {
        'type' => 'modperl_interp_t *',
        'name' => 'interp'
      },
      {
        'type' => 'int',
        'name' => 'cleanup'
      }
    ]
  },
  {
    'return_type' => 'const char *',
    'name' => 'modperl_interp_scope_desc',
    'args' => [
      {
        'type' => 'modperl_interp_scope_e',
        'name' => 'scope'
      }
    ]
  },
  {
    'return_type' => 'modperl_interp_t *',
    'name' => 'modperl_interp_select',
    'args' => [
      {
        'type' => 'request_rec *',
        'name' => 'r'
      },
      {
        'type' => 'conn_rec *',
        'name' => 'c'
      },
      {
        'type' => 'server_rec *',
        'name' => 's'
      }
    ]
  },
  {
    'return_type' => 'apr_status_t',
    'name' => 'modperl_interp_unselect',
    'args' => [
      {
        'type' => 'void *',
        'name' => 'data'
      }
    ]
  },
  {
    'return_type' => 'void',
    'name' => 'modperl_io_apache_init',
    'attr' => [
      '__inline__'
    ],
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      }
    ]
  },
  {
    'return_type' => 'void',
    'name' => 'modperl_io_handle_tie',
    'attr' => [
      '__inline__'
    ],
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'GV *',
        'name' => 'handle'
      },
      {
        'type' => 'char *',
        'name' => 'classname'
      },
      {
        'type' => 'void *',
        'name' => 'ptr'
      }
    ]
  },
  {
    'return_type' => 'int',
    'name' => 'modperl_io_handle_tied',
    'attr' => [
      '__inline__'
    ],
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'GV *',
        'name' => 'handle'
      },
      {
        'type' => 'char *',
        'name' => 'classname'
      }
    ]
  },
  {
    'return_type' => 'void',
    'name' => 'modperl_io_handle_untie',
    'attr' => [
      '__inline__'
    ],
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'GV *',
        'name' => 'handle'
      }
    ]
  },
  {
    'return_type' => 'GV *',
    'name' => 'modperl_io_perlio_override_stdin',
    'attr' => [
      '__inline__'
    ],
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'request_rec *',
        'name' => 'r'
      }
    ]
  },
  {
    'return_type' => 'GV *',
    'name' => 'modperl_io_perlio_override_stdout',
    'attr' => [
      '__inline__'
    ],
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'request_rec *',
        'name' => 'r'
      }
    ]
  },
  {
    'return_type' => 'void',
    'name' => 'modperl_io_perlio_restore_stdin',
    'attr' => [
      '__inline__'
    ],
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'GV *',
        'name' => 'handle'
      }
    ]
  },
  {
    'return_type' => 'void',
    'name' => 'modperl_io_perlio_restore_stdout',
    'attr' => [
      '__inline__'
    ],
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'GV *',
        'name' => 'handle'
      }
    ]
  },
  {
    'return_type' => 'GV *',
    'name' => 'modperl_io_tie_stdin',
    'attr' => [
      '__inline__'
    ],
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'request_rec *',
        'name' => 'r'
      }
    ]
  },
  {
    'return_type' => 'GV *',
    'name' => 'modperl_io_tie_stdout',
    'attr' => [
      '__inline__'
    ],
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'request_rec *',
        'name' => 'r'
      }
    ]
  },
  {
    'return_type' => 'int',
    'name' => 'modperl_is_running',
    'args' => []
  },
  {
    'return_type' => 'modperl_list_t *',
    'name' => 'modperl_list_append',
    'args' => [
      {
        'type' => 'modperl_list_t *',
        'name' => 'list'
      },
      {
        'type' => 'modperl_list_t *',
        'name' => 'new_list'
      }
    ]
  },
  {
    'return_type' => 'modperl_list_t *',
    'name' => 'modperl_list_first',
    'args' => [
      {
        'type' => 'modperl_list_t *',
        'name' => 'list'
      }
    ]
  },
  {
    'return_type' => 'modperl_list_t *',
    'name' => 'modperl_list_last',
    'args' => [
      {
        'type' => 'modperl_list_t *',
        'name' => 'list'
      }
    ]
  },
  {
    'return_type' => 'modperl_list_t *',
    'name' => 'modperl_list_new',
    'args' => []
  },
  {
    'return_type' => 'modperl_list_t *',
    'name' => 'modperl_list_prepend',
    'args' => [
      {
        'type' => 'modperl_list_t *',
        'name' => 'list'
      },
      {
        'type' => 'modperl_list_t *',
        'name' => 'new_list'
      }
    ]
  },
  {
    'return_type' => 'modperl_list_t *',
    'name' => 'modperl_list_remove',
    'args' => [
      {
        'type' => 'modperl_list_t *',
        'name' => 'list'
      },
      {
        'type' => 'modperl_list_t *',
        'name' => 'rlist'
      }
    ]
  },
  {
    'return_type' => 'modperl_list_t *',
    'name' => 'modperl_list_remove_data',
    'args' => [
      {
        'type' => 'modperl_list_t *',
        'name' => 'list'
      },
      {
        'type' => 'void *',
        'name' => 'data'
      },
      {
        'type' => 'modperl_list_t **',
        'name' => 'listp'
      }
    ]
  },
  {
    'return_type' => 'int',
    'name' => 'modperl_log_handler',
    'args' => [
      {
        'type' => 'request_rec *',
        'name' => 'r'
      }
    ]
  },
  {
    'return_type' => 'int',
    'name' => 'modperl_map_to_storage_handler',
    'args' => [
      {
        'type' => 'request_rec *',
        'name' => 'r'
      }
    ]
  },
  {
    'return_type' => 'void',
    'name' => 'modperl_mgv_append',
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'apr_pool_t *',
        'name' => 'p'
      },
      {
        'type' => 'modperl_mgv_t *',
        'name' => 'symbol'
      },
      {
        'type' => 'const char *',
        'name' => 'name'
      }
    ]
  },
  {
    'return_type' => 'char *',
    'name' => 'modperl_mgv_as_string',
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'modperl_mgv_t *',
        'name' => 'symbol'
      },
      {
        'type' => 'apr_pool_t *',
        'name' => 'p'
      },
      {
        'type' => 'int',
        'name' => 'package'
      }
    ]
  },
  {
    'return_type' => 'modperl_mgv_t *',
    'name' => 'modperl_mgv_compile',
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'apr_pool_t *',
        'name' => 'p'
      },
      {
        'type' => 'const char *',
        'name' => 'name'
      }
    ]
  },
  {
    'return_type' => 'int',
    'name' => 'modperl_mgv_equal',
    'args' => [
      {
        'type' => 'modperl_mgv_t *',
        'name' => 'mgv1'
      },
      {
        'type' => 'modperl_mgv_t *',
        'name' => 'mgv2'
      }
    ]
  },
  {
    'return_type' => 'void',
    'name' => 'modperl_mgv_hash_handlers',
    'args' => [
      {
        'type' => 'apr_pool_t *',
        'name' => 'p'
      },
      {
        'type' => 'server_rec *',
        'name' => 's'
      }
    ]
  },
  {
    'return_type' => 'modperl_mgv_t *',
    'name' => 'modperl_mgv_last',
    'args' => [
      {
        'type' => 'modperl_mgv_t *',
        'name' => 'symbol'
      }
    ]
  },
  {
    'return_type' => 'char *',
    'name' => 'modperl_mgv_last_name',
    'args' => [
      {
        'type' => 'modperl_mgv_t *',
        'name' => 'symbol'
      }
    ]
  },
  {
    'return_type' => 'GV *',
    'name' => 'modperl_mgv_lookup',
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'modperl_mgv_t *',
        'name' => 'symbol'
      }
    ]
  },
  {
    'return_type' => 'GV *',
    'name' => 'modperl_mgv_lookup_autoload',
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'modperl_mgv_t *',
        'name' => 'symbol'
      },
      {
        'type' => 'server_rec *',
        'name' => 's'
      },
      {
        'type' => 'apr_pool_t *',
        'name' => 'p'
      }
    ]
  },
  {
    'return_type' => 'modperl_mgv_t *',
    'name' => 'modperl_mgv_new',
    'args' => [
      {
        'type' => 'apr_pool_t *',
        'name' => 'p'
      }
    ]
  },
  {
    'return_type' => 'int',
    'name' => 'modperl_mgv_require_module',
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'modperl_mgv_t *',
        'name' => 'symbol'
      },
      {
        'type' => 'server_rec *',
        'name' => 's'
      },
      {
        'type' => 'apr_pool_t *',
        'name' => 'p'
      }
    ]
  },
  {
    'return_type' => 'int',
    'name' => 'modperl_mgv_resolve',
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'modperl_handler_t *',
        'name' => 'handler'
      },
      {
        'type' => 'apr_pool_t *',
        'name' => 'p'
      },
      {
        'type' => 'const char *',
        'name' => 'name'
      },
      {
        'type' => 'int',
        'name' => 'logfailure'
      }
    ]
  },
  {
    'return_type' => 'void',
    'name' => 'modperl_modglobal_hash_keys',
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      }
    ]
  },
  {
    'return_type' => 'modperl_modglobal_key_t *',
    'name' => 'modperl_modglobal_lookup',
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'const char *',
        'name' => 'name'
      }
    ]
  },
  {
    'return_type' => 'const char *',
    'name' => 'modperl_module_add',
    'args' => [
      {
        'type' => 'apr_pool_t *',
        'name' => 'p'
      },
      {
        'type' => 'server_rec *',
        'name' => 's'
      },
      {
        'type' => 'const char *',
        'name' => 'name'
      },
      {
        'type' => 'SV *',
        'name' => 'mod_cmds'
      }
    ]
  },
  {
    'return_type' => 'SV *',
    'name' => 'modperl_module_config_get_obj',
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'SV *',
        'name' => 'pmodule'
      },
      {
        'type' => 'server_rec *',
        'name' => 's'
      },
      {
        'type' => 'ap_conf_vector_t *',
        'name' => 'v'
      }
    ]
  },
  {
    'return_type' => 'PTR_TBL_t *',
    'name' => 'modperl_module_config_table_get',
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'int',
        'name' => 'create'
      }
    ]
  },
  {
    'return_type' => 'void',
    'name' => 'modperl_module_config_table_set',
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'PTR_TBL_t *',
        'name' => 'table'
      }
    ]
  },
  {
    'return_type' => 'SV *',
    'name' => 'modperl_newSVsv_obj',
    'attr' => [
      '__inline__'
    ],
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'SV *',
        'name' => 'stashsv'
      },
      {
        'type' => 'SV *',
        'name' => 'obj'
      }
    ]
  },
  {
    'return_type' => 'int',
    'name' => 'modperl_open_logs_handler',
    'args' => [
      {
        'type' => 'apr_pool_t *',
        'name' => 'pconf'
      },
      {
        'type' => 'apr_pool_t *',
        'name' => 'plog'
      },
      {
        'type' => 'apr_pool_t *',
        'name' => 'ptemp'
      },
      {
        'type' => 'server_rec *',
        'name' => 's'
      }
    ]
  },
  {
    'return_type' => 'modperl_options_t *',
    'name' => 'modperl_options_merge',
    'args' => [
      {
        'type' => 'apr_pool_t *',
        'name' => 'p'
      },
      {
        'type' => 'modperl_options_t *',
        'name' => 'base'
      },
      {
        'type' => 'modperl_options_t *new',
        'name' => 'arg2'
      }
    ]
  },
  {
    'return_type' => 'modperl_options_t *',
    'name' => 'modperl_options_new',
    'args' => [
      {
        'type' => 'apr_pool_t *',
        'name' => 'p'
      },
      {
        'type' => 'int',
        'name' => 'type'
      }
    ]
  },
  {
    'return_type' => 'const char *',
    'name' => 'modperl_options_set',
    'args' => [
      {
        'type' => 'apr_pool_t *',
        'name' => 'p'
      },
      {
        'type' => 'modperl_options_t *',
        'name' => 'o'
      },
      {
        'type' => 'const char *',
        'name' => 's'
      }
    ]
  },
  {
    'return_type' => 'void',
    'name' => 'modperl_output_filter_add_connection',
    'args' => [
      {
        'type' => 'conn_rec *',
        'name' => 'c'
      }
    ]
  },
  {
    'return_type' => 'void',
    'name' => 'modperl_output_filter_add_request',
    'args' => [
      {
        'type' => 'request_rec *',
        'name' => 'r'
      }
    ]
  },
  {
    'return_type' => 'apr_status_t',
    'name' => 'modperl_output_filter_flush',
    'attr' => [
      '__inline__'
    ],
    'args' => [
      {
        'type' => 'modperl_filter_t *',
        'name' => 'filter'
      }
    ]
  },
  {
    'return_type' => 'apr_status_t',
    'name' => 'modperl_output_filter_handler',
    'args' => [
      {
        'type' => 'ap_filter_t *',
        'name' => 'f'
      },
      {
        'type' => 'apr_bucket_brigade *',
        'name' => 'bb'
      }
    ]
  },
  {
    'return_type' => 'apr_size_t',
    'name' => 'modperl_output_filter_read',
    'attr' => [
      '__inline__'
    ],
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'modperl_filter_t *',
        'name' => 'filter'
      },
      {
        'type' => 'SV *',
        'name' => 'buffer'
      },
      {
        'type' => 'apr_size_t',
        'name' => 'wanted'
      }
    ]
  },
  {
    'return_type' => 'apr_status_t',
    'name' => 'modperl_output_filter_write',
    'attr' => [
      '__inline__'
    ],
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'modperl_filter_t *',
        'name' => 'filter'
      },
      {
        'type' => 'const char *',
        'name' => 'buf'
      },
      {
        'type' => 'apr_size_t *',
        'name' => 'len'
      }
    ]
  },
  {
    'return_type' => 'void',
    'name' => 'modperl_package_unload',
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'const char *',
        'name' => 'package'
      }
    ]
  },
  {
    'return_type' => 'void',
    'name' => 'modperl_perl_av_push_elts_ref',
    'attr' => [
      '__inline__'
    ],
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'AV *',
        'name' => 'dst'
      },
      {
        'type' => 'AV *',
        'name' => 'src'
      }
    ]
  },
  {
    'return_type' => 'void',
    'name' => 'modperl_perl_call_endav',
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      }
    ]
  },
  {
    'return_type' => 'void',
    'name' => 'modperl_perl_call_list',
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'AV *',
        'name' => 'subs'
      },
      {
        'type' => 'const char *',
        'name' => 'name'
      }
    ]
  },
  {
    'return_type' => 'void',
    'name' => 'modperl_perl_core_global_init',
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      }
    ]
  },
  {
    'return_type' => 'void',
    'name' => 'modperl_perl_destruct',
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'perl'
      }
    ]
  },
  {
    'return_type' => 'int',
    'name' => 'modperl_perl_destruct_level',
    'args' => []
  },
  {
    'return_type' => 'SV *',
    'name' => 'modperl_perl_do_join',
    'attr' => [
      'static',
      '__inline__'
    ],
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'SV **',
        'name' => 'mark'
      },
      {
        'type' => 'SV **',
        'name' => 'sp'
      }
    ]
  },
  {
    'return_type' => 'void',
    'name' => 'modperl_perl_do_sprintf',
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'SV *',
        'name' => 'sv'
      },
      {
        'type' => 'I32',
        'name' => 'len'
      },
      {
        'type' => 'SV **',
        'name' => 'sarg'
      }
    ]
  },
  {
    'return_type' => 'void',
    'name' => 'modperl_perl_exit',
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'int',
        'name' => 'status'
      }
    ]
  },
  {
    'return_type' => 'SV *',
    'name' => 'modperl_perl_gensym',
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'char *',
        'name' => 'pack'
      }
    ]
  },
  {
    'return_type' => 'void',
    'name' => 'modperl_perl_global_avcv_call',
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'modperl_modglobal_key_t *',
        'name' => 'gkey'
      },
      {
        'type' => 'const char *',
        'name' => 'package'
      },
      {
        'type' => 'I32',
        'name' => 'packlen'
      }
    ]
  },
  {
    'return_type' => 'void',
    'name' => 'modperl_perl_global_avcv_clear',
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'modperl_modglobal_key_t *',
        'name' => 'gkey'
      },
      {
        'type' => 'const char *',
        'name' => 'package'
      },
      {
        'type' => 'I32',
        'name' => 'packlen'
      }
    ]
  },
  {
    'return_type' => 'void',
    'name' => 'modperl_perl_global_avcv_register',
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'modperl_modglobal_key_t *',
        'name' => 'gkey'
      },
      {
        'type' => 'const char *',
        'name' => 'package'
      },
      {
        'type' => 'I32',
        'name' => 'packlen'
      }
    ]
  },
  {
    'return_type' => 'void',
    'name' => 'modperl_perl_global_request_restore',
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'request_rec *',
        'name' => 'r'
      }
    ]
  },
  {
    'return_type' => 'void',
    'name' => 'modperl_perl_global_request_save',
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'request_rec *',
        'name' => 'r'
      }
    ]
  },
  {
    'return_type' => 'HE *',
    'name' => 'modperl_perl_hv_fetch_he',
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'HV *',
        'name' => 'hv'
      },
      {
        'type' => 'char *',
        'name' => 'key'
      },
      {
        'type' => 'I32',
        'name' => 'klen'
      },
      {
        'type' => 'U32',
        'name' => 'hash'
      }
    ]
  },
  {
    'return_type' => 'void',
    'name' => 'modperl_perl_init_ids_server',
    'args' => [
      {
        'type' => 'server_rec *',
        'name' => 's'
      }
    ]
  },
  {
    'return_type' => 'int',
    'name' => 'modperl_perl_module_loaded',
    'attr' => [
      '__inline__'
    ],
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'const char *',
        'name' => 'name'
      }
    ]
  },
  {
    'return_type' => 'void',
    'name' => 'modperl_perl_pp_set',
    'args' => [
      {
        'type' => 'modperl_perl_opcode_e',
        'name' => 'idx'
      }
    ]
  },
  {
    'return_type' => 'void',
    'name' => 'modperl_perl_pp_set_all',
    'args' => []
  },
  {
    'return_type' => 'void',
    'name' => 'modperl_perl_pp_unset',
    'args' => [
      {
        'type' => 'modperl_perl_opcode_e',
        'name' => 'idx'
      }
    ]
  },
  {
    'return_type' => 'void',
    'name' => 'modperl_perl_pp_unset_all',
    'args' => []
  },
  {
    'return_type' => 'SV *',
    'name' => 'modperl_perl_sv_setref_uv',
    'attr' => [
      '__inline__'
    ],
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'SV *',
        'name' => 'rv'
      },
      {
        'type' => 'const char *',
        'name' => 'classname'
      },
      {
        'type' => 'UV',
        'name' => 'uv'
      }
    ]
  },
  {
    'return_type' => 'SV *',
    'name' => 'modperl_pnotes',
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'HV **',
        'name' => 'pnotes'
      },
      {
        'type' => 'SV *',
        'name' => 'key'
      },
      {
        'type' => 'SV *',
        'name' => 'val'
      },
      {
        'type' => 'request_rec *',
        'name' => 'r'
      }
    ]
  },
  {
    'return_type' => 'void',
    'name' => 'modperl_pnotes_kill',
    'args' => [
      {
        'type' => 'void *',
        'name' => 'cl_data'
      }
    ]
  },
  {
    'return_type' => 'int',
    'name' => 'modperl_post_config_handler',
    'args' => [
      {
        'type' => 'apr_pool_t *',
        'name' => 'pconf'
      },
      {
        'type' => 'apr_pool_t *',
        'name' => 'plog'
      },
      {
        'type' => 'apr_pool_t *',
        'name' => 'ptemp'
      },
      {
        'type' => 'server_rec *',
        'name' => 's'
      }
    ]
  },
  {
    'return_type' => 'int',
    'name' => 'modperl_post_post_config_phase',
    'args' => []
  },
  {
    'return_type' => 'int',
    'name' => 'modperl_post_read_request_handler',
    'args' => [
      {
        'type' => 'request_rec *',
        'name' => 'r'
      }
    ]
  },
  {
    'return_type' => 'int',
    'name' => 'modperl_pre_connection_handler',
    'args' => [
      {
        'type' => 'conn_rec *',
        'name' => 'c'
      },
      {
        'type' => 'void *',
        'name' => 'csd'
      }
    ]
  },
  {
    'return_type' => 'int',
    'name' => 'modperl_process_connection_handler',
    'args' => [
      {
        'type' => 'conn_rec *',
        'name' => 'c'
      }
    ]
  },
  {
    'return_type' => 'SV *',
    'name' => 'modperl_ptr2obj',
    'attr' => [
      '__inline__'
    ],
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'char *',
        'name' => 'classname'
      },
      {
        'type' => 'void *',
        'name' => 'ptr'
      }
    ]
  },
  {
    'return_type' => 'void',
    'name' => 'modperl_register_handler_hooks',
    'args' => []
  },
  {
    'return_type' => 'void',
    'name' => 'modperl_register_hooks',
    'args' => [
      {
        'type' => 'apr_pool_t *',
        'name' => 'p'
      }
    ]
  },
  {
    'return_type' => 'ssize_t',
    'name' => 'modperl_request_read',
    'attr' => [
      '__inline__'
    ],
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'request_rec *',
        'name' => 'r'
      },
      {
        'type' => 'char *',
        'name' => 'buffer'
      },
      {
        'type' => 'size_t',
        'name' => 'len'
      }
    ]
  },
  {
    'return_type' => 'int',
    'name' => 'modperl_require_file',
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'const char *',
        'name' => 'pv'
      },
      {
        'type' => 'int',
        'name' => 'logfailure'
      }
    ]
  },
  {
    'return_type' => 'int',
    'name' => 'modperl_require_module',
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'const char *',
        'name' => 'pv'
      },
      {
        'type' => 'int',
        'name' => 'logfailure'
      }
    ]
  },
  {
    'return_type' => 'apr_status_t',
    'name' => 'modperl_response_finish',
    'args' => [
      {
        'type' => 'request_rec *',
        'name' => 'r'
      }
    ]
  },
  {
    'return_type' => 'int',
    'name' => 'modperl_response_handler',
    'args' => [
      {
        'type' => 'request_rec *',
        'name' => 'r'
      }
    ]
  },
  {
    'return_type' => 'int',
    'name' => 'modperl_response_handler_cgi',
    'args' => [
      {
        'type' => 'request_rec *',
        'name' => 'r'
      }
    ]
  },
  {
    'return_type' => 'void',
    'name' => 'modperl_response_init',
    'args' => [
      {
        'type' => 'request_rec *',
        'name' => 'r'
      }
    ]
  },
  {
    'return_type' => 'int',
    'name' => 'modperl_restart_count',
    'args' => []
  },
  {
    'return_type' => 'void',
    'name' => 'modperl_restart_count_inc',
    'args' => [
      {
        'type' => 'server_rec *',
        'name' => 'base_server'
      }
    ]
  },
  {
    'return_type' => 'int',
    'name' => 'modperl_run',
    'args' => []
  },
  {
    'return_type' => 'int',
    'name' => 'modperl_run_filter',
    'args' => [
      {
        'type' => 'modperl_filter_t *',
        'name' => 'filter'
      }
    ]
  },
  {
    'return_type' => 'char *',
    'name' => 'modperl_server_desc',
    'args' => [
      {
        'type' => 'server_rec *',
        'name' => 's'
      },
      {
        'type' => 'apr_pool_t *',
        'name' => 'p'
      }
    ]
  },
  {
    'return_type' => 'apr_pool_t *',
    'name' => 'modperl_server_pool',
    'args' => []
  },
  {
    'return_type' => 'apr_pool_t *',
    'name' => 'modperl_server_user_pool',
    'args' => []
  },
  {
    'return_type' => 'void',
    'name' => 'modperl_set_perl_module_config',
    'args' => [
      {
        'type' => 'ap_conf_vector_t *',
        'name' => 'cv'
      },
      {
        'type' => 'void *',
        'name' => 'cfg'
      }
    ]
  },
  {
    'return_type' => 'SV *',
    'name' => 'modperl_slurp_filename',
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'request_rec *',
        'name' => 'r'
      },
      {
        'type' => 'int',
        'name' => 'tainted'
      }
    ]
  },
  {
    'return_type' => 'int',
    'name' => 'modperl_spawn_proc_prog',
    'attr' => [
      'static'
    ],
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'request_rec *',
        'name' => 'r'
      },
      {
        'type' => 'const char *',
        'name' => 'command'
      },
      {
        'type' => 'const char ***',
        'name' => 'argv'
      },
      {
        'type' => 'apr_file_t **',
        'name' => 'script_in'
      },
      {
        'type' => 'apr_file_t **',
        'name' => 'script_out'
      },
      {
        'type' => 'apr_file_t **',
        'name' => 'script_err'
      }
    ]
  },
  {
    'return_type' => 'PerlInterpreter *',
    'name' => 'modperl_startup',
    'args' => [
      {
        'type' => 'server_rec *',
        'name' => 's'
      },
      {
        'type' => 'apr_pool_t *',
        'name' => 'p'
      }
    ]
  },
  {
    'return_type' => 'void',
    'name' => 'modperl_str_toupper',
    'args' => [
      {
        'type' => 'char *',
        'name' => 'str'
      }
    ]
  },
  {
    'return_type' => 'request_rec *',
    'name' => 'modperl_sv2request_rec',
    'attr' => [
      '__inline__'
    ],
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'SV *',
        'name' => 'sv'
      }
    ]
  },
  {
    'return_type' => 'server_rec *',
    'name' => 'modperl_sv2server_rec',
    'attr' => [
      '__inline__'
    ],
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'SV *',
        'name' => 'sv'
      }
    ]
  },
  {
    'return_type' => 'void',
    'name' => 'modperl_svptr_table_clear',
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'PTR_TBL_t *',
        'name' => 'tbl'
      }
    ]
  },
  {
    'return_type' => 'PTR_TBL_t *',
    'name' => 'modperl_svptr_table_clone',
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'PerlInterpreter *',
        'name' => 'proto_perl'
      },
      {
        'type' => 'PTR_TBL_t *',
        'name' => 'source'
      }
    ]
  },
  {
    'return_type' => 'void',
    'name' => 'modperl_svptr_table_delete',
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'PTR_TBL_t *',
        'name' => 'tbl'
      },
      {
        'type' => 'void *',
        'name' => 'key'
      }
    ]
  },
  {
    'return_type' => 'void',
    'name' => 'modperl_svptr_table_destroy',
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'PTR_TBL_t *',
        'name' => 'tbl'
      }
    ]
  },
  {
    'return_type' => 'void *',
    'name' => 'modperl_svptr_table_fetch',
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'PTR_TBL_t *',
        'name' => 'tbl'
      },
      {
        'type' => 'void *',
        'name' => 'sv'
      }
    ]
  },
  {
    'return_type' => 'void',
    'name' => 'modperl_svptr_table_free',
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'PTR_TBL_t *',
        'name' => 'tbl'
      }
    ]
  },
  {
    'return_type' => 'PTR_TBL_t *',
    'name' => 'modperl_svptr_table_new',
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      }
    ]
  },
  {
    'return_type' => 'void',
    'name' => 'modperl_svptr_table_split',
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'PTR_TBL_t *',
        'name' => 'tbl'
      }
    ]
  },
  {
    'return_type' => 'void',
    'name' => 'modperl_svptr_table_store',
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'PTR_TBL_t *',
        'name' => 'tbl'
      },
      {
        'type' => 'void *',
        'name' => 'oldv'
      },
      {
        'type' => 'void *',
        'name' => 'newv'
      }
    ]
  },
  {
    'return_type' => 'int',
    'name' => 'modperl_sys_dlclose',
    'args' => [
      {
        'type' => 'void *',
        'name' => 'handle'
      }
    ]
  },
  {
    'return_type' => 'int',
    'name' => 'modperl_sys_is_dir',
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'SV *',
        'name' => 'sv'
      }
    ]
  },
  {
    'return_type' => 'SV *',
    'name' => 'modperl_table_get_set',
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'apr_table_t *',
        'name' => 'table'
      },
      {
        'type' => 'char *',
        'name' => 'key'
      },
      {
        'type' => 'SV *',
        'name' => 'sv_val'
      },
      {
        'type' => 'int',
        'name' => 'do_taint'
      }
    ]
  },
  {
    'return_type' => 'int',
    'name' => 'modperl_threaded_mpm',
    'args' => []
  },
  {
    'return_type' => 'int',
    'name' => 'modperl_threads_started',
    'args' => []
  },
  {
    'return_type' => 'modperl_interp_t *',
    'name' => 'modperl_thx_interp_get',
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'thx',
      },
    ],
  },
  {
    'return_type' => 'void',
    'name' => 'modperl_thx_interp_set',
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'thx',
      },
      {
        'type' => 'modperl_interp_t *',
        'name' => 'interp',
      },
    ],
  },
  {
    'return_type' => 'void',
    'name' => 'modperl_tipool_add',
    'args' => [
      {
        'type' => 'modperl_tipool_t *',
        'name' => 'tipool'
      },
      {
        'type' => 'void *',
        'name' => 'data'
      }
    ]
  },
  {
    'return_type' => 'void',
    'name' => 'modperl_tipool_destroy',
    'args' => [
      {
        'type' => 'modperl_tipool_t *',
        'name' => 'tipool'
      }
    ]
  },
  {
    'return_type' => 'void',
    'name' => 'modperl_tipool_init',
    'args' => [
      {
        'type' => 'modperl_tipool_t *',
        'name' => 'tipool'
      }
    ]
  },
  {
    'return_type' => 'modperl_tipool_t *',
    'name' => 'modperl_tipool_new',
    'args' => [
      {
        'type' => 'apr_pool_t *',
        'name' => 'p'
      },
      {
        'type' => 'modperl_tipool_config_t *',
        'name' => 'cfg'
      },
      {
        'type' => 'void *',
        'name' => 'func'
      },
      {
        'type' => 'void *',
        'name' => 'data'
      }
    ]
  },
  {
    'return_type' => 'modperl_list_t *',
    'name' => 'modperl_tipool_pop',
    'args' => [
      {
        'type' => 'modperl_tipool_t *',
        'name' => 'tipool'
      }
    ]
  },
  {
    'return_type' => 'void',
    'name' => 'modperl_tipool_putback',
    'args' => [
      {
        'type' => 'modperl_tipool_t *',
        'name' => 'tipool'
      },
      {
        'type' => 'modperl_list_t *',
        'name' => 'listp'
      },
      {
        'type' => 'int',
        'name' => 'num_requests'
      }
    ]
  },
  {
    'return_type' => 'void',
    'name' => 'modperl_tipool_putback_data',
    'args' => [
      {
        'type' => 'modperl_tipool_t *',
        'name' => 'tipool'
      },
      {
        'type' => 'void *',
        'name' => 'data'
      },
      {
        'type' => 'int',
        'name' => 'num_requests'
      }
    ]
  },
  {
    'return_type' => 'void',
    'name' => 'modperl_tipool_remove',
    'args' => [
      {
        'type' => 'modperl_tipool_t *',
        'name' => 'tipool'
      },
      {
        'type' => 'modperl_list_t *',
        'name' => 'listp'
      }
    ]
  },
  {
    'return_type' => 'apr_status_t',
    'name' => 'modperl_tls_create',
    'args' => [
      {
        'type' => 'apr_pool_t *',
        'name' => 'p'
      },
      {
        'type' => 'modperl_tls_t **',
        'name' => 'key'
      }
    ]
  },
  {
    'return_type' => 'apr_status_t',
    'name' => 'modperl_tls_create_request_rec',
    'args' => [
      {
        'type' => 'apr_pool_t *',
        'name' => 'p'
      }
    ]
  },
  {
    'return_type' => 'apr_status_t',
    'name' => 'modperl_tls_get',
    'args' => [
      {
        'type' => 'modperl_tls_t *',
        'name' => 'key'
      },
      {
        'type' => 'void **',
        'name' => 'data'
      }
    ]
  },
  {
    'return_type' => 'apr_status_t',
    'name' => 'modperl_tls_get_request_rec',
    'args' => [
      {
        'type' => 'request_rec * *',
        'name' => 'data'
      }
    ]
  },
  {
    'return_type' => 'void',
    'name' => 'modperl_tls_reset_cleanup',
    'args' => [
      {
        'type' => 'apr_pool_t *',
        'name' => 'p'
      },
      {
        'type' => 'modperl_tls_t *',
        'name' => 'key'
      },
      {
        'type' => 'void *',
        'name' => 'data'
      }
    ]
  },
  {
    'return_type' => 'void',
    'name' => 'modperl_tls_reset_cleanup_request_rec',
    'args' => [
      {
        'type' => 'apr_pool_t *',
        'name' => 'p'
      },
      {
        'type' => 'request_rec *',
        'name' => 'data'
      }
    ]
  },
  {
    'return_type' => 'apr_status_t',
    'name' => 'modperl_tls_set',
    'args' => [
      {
        'type' => 'modperl_tls_t *',
        'name' => 'key'
      },
      {
        'type' => 'void *',
        'name' => 'data'
      }
    ]
  },
  {
    'return_type' => 'apr_status_t',
    'name' => 'modperl_tls_set_request_rec',
    'args' => [
      {
        'type' => 'void *',
        'name' => 'data'
      }
    ]
  },
  {
    'return_type' => 'void',
    'name' => 'modperl_trace',
    'args' => [
      {
        'type' => 'const char *',
        'name' => 'func'
      },
      {
        'type' => 'const char *',
        'name' => 'fmt'
      },
      {
        'type' => '...',
        'name' => 'arg2'
      }
    ]
  },
  {
    'return_type' => 'void',
    'name' => 'modperl_trace_level_set',
    'args' => [
      {
        'type' => 'apr_file_t *',
        'name' => 'logfile'
      },
      {
        'type' => 'const char *',
        'name' => 'level'
      }
    ]
  },
  {
    'return_type' => 'void',
    'name' => 'modperl_trace_logfile_set',
    'args' => [
      {
        'type' => 'apr_file_t *',
        'name' => 'logfile_new'
      }
    ]
  },
  {
    'return_type' => 'int',
    'name' => 'modperl_trans_handler',
    'args' => [
      {
        'type' => 'request_rec *',
        'name' => 'r'
      }
    ]
  },
  {
    'return_type' => 'int',
    'name' => 'modperl_type_handler',
    'args' => [
      {
        'type' => 'request_rec *',
        'name' => 'r'
      }
    ]
  },
  {
    'return_type' => 'modperl_uri_t *',
    'name' => 'modperl_uri_new',
    'attr' => [
      '__inline__'
    ],
    'args' => [
      {
        'type' => 'apr_pool_t *',
        'name' => 'p'
      }
    ]
  },
  {
    'return_type' => 'apr_status_t',
    'name' => 'modperl_wbucket_flush',
    'attr' => [
      '__inline__'
    ],
    'args' => [
      {
        'type' => 'modperl_wbucket_t *',
        'name' => 'b'
      },
      {
        'type' => 'int',
        'name' => 'add_flush_bucket'
      }
    ]
  },
  {
    'return_type' => 'apr_status_t',
    'name' => 'modperl_wbucket_pass',
    'attr' => [
      '__inline__'
    ],
    'args' => [
      {
        'type' => 'modperl_wbucket_t *',
        'name' => 'b'
      },
      {
        'type' => 'const char *',
        'name' => 'buf'
      },
      {
        'type' => 'apr_size_t',
        'name' => 'len'
      },
      {
        'type' => 'int',
        'name' => 'add_flush_bucket'
      }
    ]
  },
  {
    'return_type' => 'apr_status_t',
    'name' => 'modperl_wbucket_write',
    'attr' => [
      '__inline__'
    ],
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'modperl_wbucket_t *',
        'name' => 'b'
      },
      {
        'type' => 'const char *',
        'name' => 'buf'
      },
      {
        'type' => 'apr_size_t *',
        'name' => 'wlen'
      }
    ]
  },
  {
    'return_type' => 'void',
    'name' => 'modperl_xs_dl_handles_clear',
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      }
    ]
  },
  {
    'return_type' => 'void',
    'name' => 'modperl_xs_dl_handles_close',
    'args' => [
      {
        'type' => 'void **',
        'name' => 'handles'
      }
    ]
  },
  {
    'return_type' => 'void **',
    'name' => 'modperl_xs_dl_handles_get',
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      }
    ]
  },
  {
    'return_type' => 'request_rec *',
    'name' => 'modperl_xs_sv2request_rec',
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'SV *',
        'name' => 'sv'
      },
      {
        'type' => 'char *',
        'name' => 'classname'
      },
      {
        'type' => 'CV *',
        'name' => 'cv'
      }
    ]
  },
  {
    'return_type' => 'void',
    'name' => 'mpxs_APR__Brigade_cleanup',
    'args' => [
      {
        'type' => 'apr_bucket_brigade *',
        'name' => 'brigade'
      }
    ]
  },
  {
    'return_type' => 'void',
    'name' => 'mpxs_APR__Brigade_concat',
    'args' => [
      {
        'type' => 'apr_bucket_brigade *',
        'name' => 'a'
      },
      {
        'type' => 'apr_bucket_brigade *',
        'name' => 'b'
      }
    ]
  },
  {
    'return_type' => 'void',
    'name' => 'mpxs_APR__Brigade_destroy',
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'apr_bucket_brigade *',
        'name' => 'bb'
      }
    ]
  },
  {
    'return_type' => 'apr_bucket *',
    'name' => 'mpxs_APR__Brigade_first',
    'args' => [
      {
        'type' => 'apr_bucket_brigade *',
        'name' => 'brigade'
      }
    ]
  },
  {
    'return_type' => 'apr_size_t',
    'name' => 'mpxs_APR__Brigade_flatten',
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'I32',
        'name' => 'items'
      },
      {
        'type' => 'SV **',
        'name' => 'mark'
      },
      {
        'type' => 'SV **',
        'name' => 'sp'
      }
    ]
  },
  {
    'return_type' => 'void',
    'name' => 'mpxs_APR__Brigade_insert_head',
    'args' => [
      {
        'type' => 'apr_bucket_brigade *',
        'name' => 'brigade'
      },
      {
        'type' => 'apr_bucket *',
        'name' => 'bucket'
      }
    ]
  },
  {
    'return_type' => 'void',
    'name' => 'mpxs_APR__Brigade_insert_tail',
    'args' => [
      {
        'type' => 'apr_bucket_brigade *',
        'name' => 'brigade'
      },
      {
        'type' => 'apr_bucket *',
        'name' => 'bucket'
      }
    ]
  },
  {
    'return_type' => 'int',
    'name' => 'mpxs_APR__Brigade_is_empty',
    'args' => [
      {
        'type' => 'apr_bucket_brigade *',
        'name' => 'brigade'
      }
    ]
  },
  {
    'return_type' => 'apr_bucket *',
    'name' => 'mpxs_APR__Brigade_last',
    'args' => [
      {
        'type' => 'apr_bucket_brigade *',
        'name' => 'brigade'
      }
    ]
  },
  {
    'return_type' => 'SV *',
    'name' => 'mpxs_APR__Brigade_length',
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'apr_bucket_brigade *',
        'name' => 'bb'
      },
      {
        'type' => 'int',
        'name' => 'read_all'
      }
    ]
  },
  {
    'return_type' => 'apr_bucket *',
    'name' => 'mpxs_APR__Brigade_next',
    'args' => [
      {
        'type' => 'apr_bucket_brigade *',
        'name' => 'brigade'
      },
      {
        'type' => 'apr_bucket *',
        'name' => 'bucket'
      }
    ]
  },
  {
    'return_type' => 'apr_pool_t *',
    'name' => 'mpxs_APR__Brigade_pool',
    'args' => [
      {
        'type' => 'apr_bucket_brigade *',
        'name' => 'brigade'
      }
    ]
  },
  {
    'return_type' => 'apr_bucket *',
    'name' => 'mpxs_APR__Brigade_prev',
    'args' => [
      {
        'type' => 'apr_bucket_brigade *',
        'name' => 'brigade'
      },
      {
        'type' => 'apr_bucket *',
        'name' => 'bucket'
      }
    ]
  },
  {
    'return_type' => 'SV *',
    'name' => 'mpxs_APR__BucketAlloc_new',
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'SV *',
        'name' => 'CLASS'
      },
      {
        'type' => 'SV *',
        'name' => 'p_sv'
      }
    ]
  },
  {
    'return_type' => 'void',
    'name' => 'mpxs_APR__Bucket_insert_after',
    'attr' => [
      'static',
      '__inline__'
    ],
    'args' => [
      {
        'type' => 'apr_bucket *',
        'name' => 'a'
      },
      {
        'type' => 'apr_bucket *',
        'name' => 'b'
      }
    ]
  },
  {
    'return_type' => 'void',
    'name' => 'mpxs_APR__Bucket_insert_before',
    'attr' => [
      'static',
      '__inline__'
    ],
    'args' => [
      {
        'type' => 'apr_bucket *',
        'name' => 'a'
      },
      {
        'type' => 'apr_bucket *',
        'name' => 'b'
      }
    ]
  },
  {
    'return_type' => 'int',
    'name' => 'mpxs_APR__Bucket_is_eos',
    'attr' => [
      'static',
      '__inline__'
    ],
    'args' => [
      {
        'type' => 'apr_bucket *',
        'name' => 'bucket'
      }
    ]
  },
  {
    'return_type' => 'int',
    'name' => 'mpxs_APR__Bucket_is_flush',
    'attr' => [
      'static',
      '__inline__'
    ],
    'args' => [
      {
        'type' => 'apr_bucket *',
        'name' => 'bucket'
      }
    ]
  },
  {
    'return_type' => 'apr_bucket *',
    'name' => 'mpxs_APR__Bucket_new',
    'attr' => [
      'static'
    ],
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'SV *',
        'name' => 'classname'
      },
      {
        'type' => 'apr_bucket_alloc_t *',
        'name' => 'list'
      },
      {
        'type' => 'SV *',
        'name' => 'sv'
      },
      {
        'type' => 'apr_off_t',
        'name' => 'offset'
      },
      {
        'type' => 'apr_size_t',
        'name' => 'len'
      }
    ]
  },
  {
    'return_type' => 'apr_size_t',
    'name' => 'mpxs_APR__Bucket_read',
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'apr_bucket *',
        'name' => 'bucket'
      },
      {
        'type' => 'SV *',
        'name' => 'buffer'
      },
      {
        'type' => 'apr_read_type_e',
        'name' => 'block'
      }
    ]
  },
  {
    'return_type' => 'void',
    'name' => 'mpxs_APR__Bucket_remove',
    'attr' => [
      'static',
      '__inline__'
    ],
    'args' => [
      {
        'type' => 'apr_bucket *',
        'name' => 'bucket'
      }
    ]
  },
  {
    'return_type' => 'apr_status_t',
    'name' => 'mpxs_APR__Bucket_setaside',
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'SV *',
        'name' => 'b_sv'
      },
      {
        'type' => 'SV *',
        'name' => 'p_sv'
      }
    ]
  },
  {
    'return_type' => 'SV *',
    'name' => 'mpxs_APR__Finfo_stat',
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'const char *',
        'name' => 'fname'
      },
      {
        'type' => 'apr_int32_t',
        'name' => 'wanted'
      },
      {
        'type' => 'SV *',
        'name' => 'p_sv'
      }
    ]
  },
  {
    'return_type' => 'U32',
    'name' => 'mpxs_APR__OS_current_thread_id',
    'attr' => [
      'static',
      '__inline__'
    ],
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      }
    ]
  },
  {
    'return_type' => 'void',
    'name' => 'mpxs_APR__Pool_clear',
    'attr' => [
      'static',
      '__inline__'
    ],
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'SV *',
        'name' => 'obj'
      }
    ]
  },
  {
    'return_type' => 'apr_int32_t',
    'name' => 'mpxs_APR__Socket_opt_get',
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'apr_socket_t *',
        'name' => 'socket'
      },
      {
        'type' => 'apr_int32_t',
        'name' => 'opt'
      }
    ]
  },
  {
    'return_type' => 'void',
    'name' => 'mpxs_APR__Socket_opt_set',
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'apr_socket_t *',
        'name' => 'socket'
      },
      {
        'type' => 'apr_int32_t',
        'name' => 'opt'
      },
      {
        'type' => 'apr_int32_t',
        'name' => 'val'
      }
    ]
  },
  {
    'return_type' => 'apr_status_t',
    'name' => 'mpxs_APR__Socket_poll',
    'args' => [
      {
        'type' => 'apr_socket_t *',
        'name' => 'socket'
      },
      {
        'type' => 'apr_pool_t *',
        'name' => 'pool'
      },
      {
        'type' => 'apr_interval_time_t',
        'name' => 'timeout'
      },
      {
        'type' => 'apr_int16_t',
        'name' => 'reqevents'
      }
    ]
  },
  {
    'return_type' => 'apr_size_t',
    'name' => 'mpxs_APR__Socket_recv',
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'apr_socket_t *',
        'name' => 'socket'
      },
      {
        'type' => 'SV *',
        'name' => 'buffer'
      },
      {
        'type' => 'apr_size_t',
        'name' => 'len'
      }
    ]
  },
  {
    'return_type' => 'void',
    'name' => 'mpxs_APR__Socket_timeout_set',
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'apr_socket_t *',
        'name' => 'socket'
      },
      {
        'type' => 'apr_interval_time_t',
        'name' => 't'
      }
    ]
  },
  {
    'return_type' => 'int',
    'name' => 'mpxs_APR__Socket_fileno',
    'attr' => [
      'static',
      '__inline__'
    ],
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'apr_socket_t *',
        'name' => 'socket'
      }
    ]
  },
  {
    'return_type' => 'SV *',
    'name' => 'mpxs_APR__String_strfsize',
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'apr_off_t',
        'name' => 'size'
      }
    ]
  },
  {
    'return_type' => 'int',
    'name' => 'mpxs_APR__Table_EXISTS',
    'attr' => [
      'static',
      '__inline__'
    ],
    'args' => [
      {
        'type' => 'apr_table_t *',
        'name' => 't'
      },
      {
        'type' => 'const char *',
        'name' => 'key'
      }
    ]
  },
  {
    'return_type' => 'const char *',
    'name' => 'mpxs_APR__Table_FETCH',
    'attr' => [
      'static',
      '__inline__'
    ],
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'SV *',
        'name' => 'tsv'
      },
      {
        'type' => 'const char *',
        'name' => 'key'
      }
    ]
  },
  {
    'return_type' => 'const char *',
    'name' => 'mpxs_APR__Table_NEXTKEY',
    'attr' => [
      'static',
      '__inline__'
    ],
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'SV *',
        'name' => 'tsv'
      },
      {
        'type' => 'SV *',
        'name' => 'key'
      }
    ]
  },
  {
    'return_type' => 'SV *',
    'name' => 'mpxs_APR__Table_copy',
    'attr' => [
      'static',
      '__inline__'
    ],
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'apr_table_t *',
        'name' => 'base'
      },
      {
        'type' => 'SV *',
        'name' => 'p_sv'
      }
    ]
  },
  {
    'return_type' => 'SV *',
    'name' => 'mpxs_APR__Table_make',
    'attr' => [
      'static',
      '__inline__'
    ],
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'SV *',
        'name' => 'p_sv'
      },
      {
        'type' => 'int',
        'name' => 'nelts'
      }
    ]
  },
  {
    'return_type' => 'SV *',
    'name' => 'mpxs_APR__Table_overlay',
    'attr' => [
      'static',
      '__inline__'
    ],
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'apr_table_t *',
        'name' => 'base'
      },
      {
        'type' => 'apr_table_t *',
        'name' => 'overlay'
      },
      {
        'type' => 'SV *',
        'name' => 'p_sv'
      }
    ]
  },
  {
    'return_type' => 'char *',
    'name' => 'mpxs_APR__URI_port',
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'apr_uri_t *',
        'name' => 'uri'
      },
      {
        'type' => 'SV *',
        'name' => 'portsv'
      }
    ]
  },
  {
    'return_type' => 'SV *',
    'name' => 'mpxs_APR__URI_rpath',
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'apr_uri_t *',
        'name' => 'apr_uri'
      }
    ]
  },
  {
    'return_type' => 'void',
    'name' => 'mpxs_Apache2__CmdParms_add_config',
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'cmd_parms *',
        'name' => 'parms'
      },
      {
        'type' => 'SV *',
        'name' => 'lines'
      }
    ]
  },
  {
    'return_type' => 'SV *',
    'name' => 'mpxs_Apache2__CmdParms_info',
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'cmd_parms *',
        'name' => 'parms'
      }
    ]
  },
  {
    'return_type' => 'int',
    'name' => 'mpxs_Apache2__CmdParms_override_opts',
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'cmd_parms *',
        'name' => 'parms'
      }
    ]
  },
  {
    'return_type' => 'void',
    'name' => 'mpxs_Apache2__Connection_add_input_filter',
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'conn_rec *',
        'name' => 'c'
      },
      {
        'type' => 'SV *',
        'name' => 'callback'
      }
    ]
  },
  {
    'return_type' => 'void',
    'name' => 'mpxs_Apache2__Connection_add_output_filter',
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'conn_rec *',
        'name' => 'c'
      },
      {
        'type' => 'SV *',
        'name' => 'callback'
      }
    ]
  },
  {
    'return_type' => 'apr_socket_t *',
    'name' => 'mpxs_Apache2__Connection_client_socket',
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'conn_rec *',
        'name' => 'c'
      },
      {
        'type' => 'apr_socket_t *',
        'name' => 's'
      }
    ]
  },
  {
    'return_type' => 'const char *',
    'name' => 'mpxs_Apache2__Connection_get_remote_host',
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'conn_rec *',
        'name' => 'c'
      },
      {
        'type' => 'int',
        'name' => 'type'
      },
      {
        'type' => 'ap_conf_vector_t *',
        'name' => 'dir_config'
      }
    ]
  },
  {
    'return_type' => 'SV *',
    'name' => 'mpxs_Apache2__Connection_pnotes',
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'conn_rec *',
        'name' => 'c'
      },
      {
        'type' => 'SV *',
        'name' => 'key'
      },
      {
        'type' => 'SV *',
        'name' => 'val'
      }
    ]
  },
  {
    'return_type' => 'void',
    'name' => 'mpxs_Apache2__Connection_pnotes_kill',
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'conn_rec *',
        'name' => 'c'
      }
    ]
  },
  {
    'return_type' => 'SV *',
    'name' => 'mpxs_Apache2__Directive_as_hash',
    'attr' => [
      'static',
      '__inline__'
    ],
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'ap_directive_t *',
        'name' => 'tree'
      }
    ]
  },
  {
    'return_type' => 'SV *',
    'name' => 'mpxs_Apache2__Directive_as_string',
    'attr' => [
      'static',
      '__inline__'
    ],
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'ap_directive_t *',
        'name' => 'self'
      }
    ]
  },
  {
    'return_type' => 'SV *',
    'name' => 'mpxs_Apache2__Filter_ctx',
    'attr' => [
      'static',
      '__inline__'
    ],
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'ap_filter_t *',
        'name' => 'filter'
      },
      {
        'type' => 'SV *',
        'name' => 'data'
      }
    ]
  },
  {
    'return_type' => 'apr_status_t',
    'name' => 'mpxs_Apache2__Filter_fflush',
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'ap_filter_t *',
        'name' => 'filter'
      },
      {
        'type' => 'apr_bucket_brigade *',
        'name' => 'brigade'
      }
    ]
  },
  {
    'return_type' => 'apr_status_t',
    'name' => 'mpxs_Apache2__Filter_get_brigade',
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'ap_filter_t *',
        'name' => 'f'
      },
      {
        'type' => 'apr_bucket_brigade *',
        'name' => 'bb'
      },
      {
        'type' => 'ap_input_mode_t',
        'name' => 'mode'
      },
      {
        'type' => 'apr_read_type_e',
        'name' => 'block'
      },
      {
        'type' => 'apr_off_t',
        'name' => 'readbytes'
      }
    ]
  },
  {
    'return_type' => 'apr_status_t',
    'name' => 'mpxs_Apache2__Filter_pass_brigade',
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'ap_filter_t *',
        'name' => 'f'
      },
      {
        'type' => 'apr_bucket_brigade *',
        'name' => 'bb'
      }
    ]
  },
  {
    'return_type' => 'apr_size_t',
    'name' => 'mpxs_Apache2__Filter_print',
    'attr' => [
      'static',
      '__inline__'
    ],
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'I32',
        'name' => 'items'
      },
      {
        'type' => 'SV **',
        'name' => 'mark'
      },
      {
        'type' => 'SV **',
        'name' => 'sp'
      }
    ]
  },
  {
    'return_type' => 'apr_size_t',
    'name' => 'mpxs_Apache2__Filter_read',
    'attr' => [
      'static',
      '__inline__'
    ],
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'I32',
        'name' => 'items'
      },
      {
        'type' => 'SV **',
        'name' => 'mark'
      },
      {
        'type' => 'SV **',
        'name' => 'sp'
      }
    ]
  },
  {
    'return_type' => 'void',
    'name' => 'mpxs_Apache2__Filter_remove',
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'I32',
        'name' => 'items'
      },
      {
        'type' => 'SV **',
        'name' => 'mark'
      },
      {
        'type' => 'SV **',
        'name' => 'sp'
      }
    ]
  },
  {
    'return_type' => 'SV *',
    'name' => 'mpxs_Apache2__Filter_seen_eos',
    'attr' => [
      'static',
      '__inline__'
    ],
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'I32',
        'name' => 'items'
      },
      {
        'type' => 'SV **',
        'name' => 'mark'
      },
      {
        'type' => 'SV **',
        'name' => 'sp'
      }
    ]
  },
  {
    'return_type' => 'void',
    'name' => 'mpxs_Apache2__Log_BOOT',
    'attr' => [
      'static'
    ],
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      }
    ]
  },
  {
    'return_type' => 'SV *',
    'name' => 'mpxs_Apache2__Log_log',
    'attr' => [
      'static'
    ],
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'SV *',
        'name' => 'sv'
      },
      {
        'type' => 'int',
        'name' => 'logtype'
      }
    ]
  },
  {
    'return_type' => 'void',
    'name' => 'mpxs_Apache2__MPM_BOOT',
    'attr' => [
      'static'
    ],
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      }
    ]
  },
  {
    'return_type' => 'SV *',
    'name' => 'mpxs_Apache2__MPM_query',
    'attr' => [
      'static',
      '__inline__'
    ],
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'SV *',
        'name' => 'self'
      },
      {
        'type' => 'int',
        'name' => 'query_code'
      }
    ]
  },
  {
    'return_type' => 'void',
    'name' => 'mpxs_Apache2__Module_add',
    'attr' => [
      'static',
      '__inline__'
    ],
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'char *',
        'name' => 'package'
      },
      {
        'type' => 'SV *',
        'name' => 'cmds'
      }
    ]
  },
  {
    'return_type' => 'int',
    'name' => 'mpxs_Apache2__Module_ap_api_major_version',
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'module *',
        'name' => 'mod'
      }
    ]
  },
  {
    'return_type' => 'int',
    'name' => 'mpxs_Apache2__Module_ap_api_minor_version',
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'module *',
        'name' => 'mod'
      }
    ]
  },
  {
    'return_type' => 'SV *',
    'name' => 'mpxs_Apache2__Module_get_config',
    'attr' => [
      'static',
      '__inline__'
    ],
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'SV *',
        'name' => 'pmodule'
      },
      {
        'type' => 'server_rec *',
        'name' => 's'
      },
      {
        'type' => 'ap_conf_vector_t *',
        'name' => 'v'
      }
    ]
  },
  {
    'return_type' => 'int',
    'name' => 'mpxs_Apache2__Module_loaded',
    'attr' => [
      'static',
      '__inline__'
    ],
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'char *',
        'name' => 'name'
      }
    ]
  },
  {
    'return_type' => 'int',
    'name' => 'mpxs_Apache2__RequestRec_FILENO',
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'request_rec *',
        'name' => 'r'
      }
    ]
  },
  {
    'return_type' => 'SV *',
    'name' => 'mpxs_Apache2__RequestRec_GETC',
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'request_rec *',
        'name' => 'r'
      }
    ]
  },
  {
    'return_type' => 'int',
    'name' => 'mpxs_Apache2__RequestRec_OPEN',
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'SV *',
        'name' => 'self'
      },
      {
        'type' => 'SV *',
        'name' => 'arg1'
      },
      {
        'type' => 'SV *',
        'name' => 'arg2'
      }
    ]
  },
  {
    'return_type' => 'void',
    'name' => 'mpxs_Apache2__RequestRec_add_config',
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'request_rec *',
        'name' => 'r'
      },
      {
        'type' => 'SV *',
        'name' => 'lines'
      },
      {
        'type' => 'int',
        'name' => 'override'
      },
      {
        'type' => 'char *',
        'name' => 'path'
      },
      {
        'type' => 'int',
        'name' => 'override_options'
      }
    ]
  },
  {
    'return_type' => 'void',
    'name' => 'mpxs_Apache2__RequestRec_add_input_filter',
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'request_rec *',
        'name' => 'r'
      },
      {
        'type' => 'SV *',
        'name' => 'callback'
      }
    ]
  },
  {
    'return_type' => 'void',
    'name' => 'mpxs_Apache2__RequestRec_add_output_filter',
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'request_rec *',
        'name' => 'r'
      },
      {
        'type' => 'SV *',
        'name' => 'callback'
      }
    ]
  },
  {
    'return_type' => 'int',
    'name' => 'mpxs_Apache2__RequestRec_allow_override_opts',
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
     {
        'type' => 'request_rec *',
        'name' => 'r'
      }
    ]
  },
  {
    'return_type' => 'SV *',
    'name' => 'mpxs_Apache2__RequestRec_as_string',
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'request_rec *',
        'name' => 'r'
      }
    ]
  },
  {
    'return_type' => 'const char *',
    'name' => 'mpxs_Apache2__RequestRec_auth_name',
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'request_rec *',
        'name' => 'r'
      },
      {
        'type' => 'char *',
        'name' => 'name'
      }
    ]
  },
  {
    'return_type' => 'const char *',
    'name' => 'mpxs_Apache2__RequestRec_auth_type',
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'request_rec *',
        'name' => 'r'
      },
      {
        'type' => 'char *',
        'name' => 'type'
      }
    ]
  },
  {
    'return_type' => 'void',
    'name' => 'mpxs_Apache2__RequestRec_child_terminate',
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'request_rec *',
        'name' => 'r'
      }
    ]
  },
  {
    'return_type' => 'SV *',
    'name' => 'mpxs_Apache2__RequestRec_content_languages',
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'request_rec *',
        'name' => 'r'
      },
      {
        'type' => 'SV *',
        'name' => 'languages'
      }
    ]
  },
  {
    'return_type' => 'const char *',
    'name' => 'mpxs_Apache2__RequestRec_content_type',
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'request_rec *',
        'name' => 'r'
      },
      {
        'type' => 'SV *',
        'name' => 'type'
      }
    ]
  },
  {
    'return_type' => 'const char *',
    'name' => 'mpxs_Apache2__RequestRec_document_root',
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'request_rec *',
        'name' => 'r'
      },
      {
        'type' => 'SV *',
        'name' => 'new_root'
      }
    ]
  },
  {
    'return_type' => 'apr_finfo_t *',
    'name' => 'mpxs_Apache2__RequestRec_finfo',
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'request_rec *',
        'name' => 'r'
      },
      {
        'type' => 'apr_finfo_t *',
        'name' => 'finfo'
      }
    ]
  },
  {
    'return_type' => 'SV *',
    'name' => 'mpxs_Apache2__RequestRec_get_handlers',
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'request_rec *',
        'name' => 'r'
      },
      {
        'type' => 'const char *',
        'name' => 'name'
      }
    ]
  },
  {
    'return_type' => 'const char *',
    'name' => 'mpxs_Apache2__RequestRec_handler',
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'I32',
        'name' => 'items'
      },
      {
        'type' => 'SV **',
        'name' => 'mark'
      },
      {
        'type' => 'SV **',
        'name' => 'sp'
      }
    ]
  },
  {
    'return_type' => 'int',
    'name' => 'mpxs_Apache2__RequestRec_is_perl_option_enabled',
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'request_rec *',
        'name' => 'r'
      },
      {
        'type' => 'const char *',
        'name' => 'name'
      }
    ]
  },
  {
    'return_type' => 'char *',
    'name' => 'mpxs_Apache2__RequestRec_location',
    'args' => [
      {
        'type' => 'request_rec *',
        'name' => 'r'
      }
    ]
  },
  {
    'return_type' => 'int',
    'name' => 'mpxs_Apache2__RequestRec_location_merge',
    'args' => [
      {
        'type' => 'request_rec *',
        'name' => 'r'
      },
      {
        'type' => 'char *',
        'name' => 'location'
      }
    ]
  },
  {
    'return_type' => 'SV *',
    'name' => 'mpxs_Apache2__RequestRec_new',
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'SV *',
        'name' => 'classname'
      },
      {
        'type' => 'conn_rec *',
        'name' => 'c'
      },
      {
        'type' => 'SV *',
        'name' => 'base_pool_sv'
      }
    ]
  },
  {
    'return_type' => 'int',
    'name' => 'mpxs_Apache2__RequestRec_no_cache',
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'request_rec *',
        'name' => 'r'
      },
      {
        'type' => 'SV *',
        'name' => 'flag'
      }
    ]
  },
  {
    'return_type' => 'apr_uri_t *',
    'name' => 'mpxs_Apache2__RequestRec_parsed_uri',
    'args' => [
      {
        'type' => 'request_rec *',
        'name' => 'r'
      }
    ]
  },
  {
    'return_type' => 'SV *',
    'name' => 'mpxs_Apache2__RequestRec_pnotes',
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'request_rec *',
        'name' => 'r'
      },
      {
        'type' => 'SV *',
        'name' => 'key'
      },
      {
        'type' => 'SV *',
        'name' => 'val'
      }
    ]
  },
  {
    'return_type' => 'void',
    'name' => 'mpxs_Apache2__RequestRec_pnotes_kill',
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'request_rec *',
        'name' => 'r'
      }
    ]
  },
  {
    'return_type' => 'SV *',
    'name' => 'mpxs_Apache2__RequestRec_print',
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'I32',
        'name' => 'items'
      },
      {
        'type' => 'SV **',
        'name' => 'mark'
      },
      {
        'type' => 'SV **',
        'name' => 'sp'
      }
    ]
  },
  {
    'return_type' => 'int',
    'name' => 'mpxs_Apache2__RequestRec_proxyreq',
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'request_rec *',
        'name' => 'r'
      },
      {
        'type' => 'SV *',
        'name' => 'val'
      }
    ]
  },
  {
    'return_type' => 'int',
    'name' => 'mpxs_Apache2__RequestRec_push_handlers',
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'request_rec *',
        'name' => 'r'
      },
      {
        'type' => 'const char *',
        'name' => 'name'
      },
      {
        'type' => 'SV *',
        'name' => 'sv'
      }
    ]
  },
  {
    'return_type' => 'SV *',
    'name' => 'mpxs_Apache2__RequestRec_read',
    'attr' => [
      'static'
    ],
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'request_rec *',
        'name' => 'r'
      },
      {
        'type' => 'SV *',
        'name' => 'buffer'
      },
      {
        'type' => 'apr_size_t',
        'name' => 'len'
      },
      {
        'type' => 'apr_off_t',
        'name' => 'offset'
      }
    ]
  },
  {
    'return_type' => 'void',
    'name' => 'mpxs_Apache2__RequestRec_rflush',
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'I32',
        'name' => 'items'
      },
      {
        'type' => 'SV **',
        'name' => 'mark'
      },
      {
        'type' => 'SV **',
        'name' => 'sp'
      }
    ]
  },
  {
    'return_type' => 'apr_status_t',
    'name' => 'mpxs_Apache2__RequestRec_sendfile',
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'request_rec *',
        'name' => 'r'
      },
      {
        'type' => 'const char *',
        'name' => 'filename'
      },
      {
        'type' => 'apr_off_t',
        'name' => 'offset'
      },
      {
        'type' => 'apr_size_t',
        'name' => 'len'
      }
    ]
  },
  {
    'return_type' => 'void',
    'name' => 'mpxs_Apache2__RequestRec_set_basic_credentials',
    'args' => [
      {
        'type' => 'request_rec *',
        'name' => 'r'
      },
      {
        'type' => 'char *',
        'name' => 'username'
      },
      {
        'type' => 'char *',
        'name' => 'password'
      }
    ]
  },
  {
    'return_type' => 'int',
    'name' => 'mpxs_Apache2__RequestRec_set_handlers',
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'request_rec *',
        'name' => 'r'
      },
      {
        'type' => 'const char *',
        'name' => 'name'
      },
      {
        'type' => 'SV *',
        'name' => 'sv'
      }
    ]
  },
  {
    'return_type' => '',
    'name' => 'mpxs_Apache2__RequestRec_set_last_modified',
    'args' => [
      {
        'type' => 'request_rec *',
        'name' => 'r'
      },
      {
        'type' => 'apr_time_t',
        'name' => 'mtime'
      }
    ]
  },
  {
    'return_type' => 'SV *',
    'name' => 'mpxs_Apache2__RequestRec_subprocess_env',
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'request_rec *',
        'name' => 'r'
      },
      {
        'type' => 'char *',
        'name' => 'key'
      },
      {
        'type' => 'SV *',
        'name' => 'val'
      }
    ]
  },
  {
    'return_type' => 'apr_size_t',
    'name' => 'mpxs_Apache2__RequestRec_write',
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'request_rec *',
        'name' => 'r'
      },
      {
        'type' => 'SV *',
        'name' => 'buffer'
      },
      {
        'type' => 'apr_size_t',
        'name' => 'len'
      },
      {
        'type' => 'apr_off_t',
        'name' => 'offset'
      }
    ]
  },
  {
    'return_type' => 'request_rec *',
    'name' => 'mpxs_Apache2__RequestUtil_request',
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'SV *',
        'name' => 'classname'
      },
      {
        'type' => 'SV *',
        'name' => 'svr'
      }
    ]
  },
  {
    'return_type' => 'void',
    'name' => 'mpxs_Apache2__ServerRec_add_config',
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'server_rec *',
        'name' => 's'
      },
      {
        'type' => 'SV *',
        'name' => 'lines'
      }
    ]
  },
  {
    'return_type' => 'SV *',
    'name' => 'mpxs_Apache2__ServerRec_get_handlers',
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'server_rec *',
        'name' => 's'
      },
      {
        'type' => 'const char *',
        'name' => 'name'
      }
    ]
  },
  {
    'return_type' => 'int',
    'name' => 'mpxs_Apache2__ServerRec_is_perl_option_enabled',
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'server_rec *',
        'name' => 's'
      },
      {
        'type' => 'const char *',
        'name' => 'name'
      }
    ]
  },
  {
    'return_type' => 'int',
    'name' => 'mpxs_Apache2__ServerRec_push_handlers',
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'server_rec *',
        'name' => 's'
      },
      {
        'type' => 'const char *',
        'name' => 'name'
      },
      {
        'type' => 'SV *',
        'name' => 'sv'
      }
    ]
  },
  {
    'return_type' => 'int',
    'name' => 'mpxs_Apache2__ServerRec_set_handlers',
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'server_rec *',
        'name' => 's'
      },
      {
        'type' => 'const char *',
        'name' => 'name'
      },
      {
        'type' => 'SV *',
        'name' => 'sv'
      }
    ]
  },
  {
    'return_type' => 'void',
    'name' => 'mpxs_Apache2__ServerUtil_BOOT',
    'attr' => [
      'static'
    ],
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      }
    ]
  },
  {
    'return_type' => 'void',
    'name' => 'mpxs_Apache2__ServerUtil_server_shutdown_cleanup_register',
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'SV *',
        'name' => 'cv'
      },
      {
        'type' => 'SV *',
        'name' => 'arg'
      }
    ]
  },
  {
    'return_type' => 'int',
    'name' => 'mpxs_ModPerl__Global_special_list_call',
    'attr' => [
      '__inline__'
    ],
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'const char *',
        'name' => 'name'
      },
      {
        'type' => 'SV *',
        'name' => 'package'
      }
    ]
  },
  {
    'return_type' => 'int',
    'name' => 'mpxs_ModPerl__Global_special_list_clear',
    'attr' => [
      '__inline__'
    ],
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'const char *',
        'name' => 'name'
      },
      {
        'type' => 'SV *',
        'name' => 'package'
      }
    ]
  },
  {
    'return_type' => 'int',
    'name' => 'mpxs_ModPerl__Global_special_list_register',
    'attr' => [
      '__inline__'
    ],
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'const char *',
        'name' => 'name'
      },
      {
        'type' => 'SV *',
        'name' => 'package'
      }
    ]
  },
  {
    'return_type' => 'void',
    'name' => 'mpxs_ModPerl__Util_untaint',
    'attr' => [
      'static',
      '__inline__'
    ],
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'I32',
        'name' => 'items'
      },
      {
        'type' => 'SV **',
        'name' => 'mark'
      },
      {
        'type' => 'SV **',
        'name' => 'sp'
      }
    ]
  },
  {
    'return_type' => 'void',
    'name' => 'mpxs_ap_allow_methods',
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'I32',
        'name' => 'items'
      },
      {
        'type' => 'SV **',
        'name' => 'mark'
      },
      {
        'type' => 'SV **',
        'name' => 'sp'
      }
    ]
  },
  {
    'return_type' => 'long',
    'name' => 'mpxs_ap_get_client_block',
    'attr' => [
      'static',
      '__inline__'
    ],
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'request_rec *',
        'name' => 'r'
      },
      {
        'type' => 'SV *',
        'name' => 'buffer'
      },
      {
        'type' => 'int',
        'name' => 'bufsiz'
      }
    ]
  },
  {
    'return_type' => 'void',
    'name' => 'mpxs_ap_log_error',
    'attr' => [
      'static'
    ],
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'int',
        'name' => 'level'
      },
      {
        'type' => 'SV *',
        'name' => 'sv'
      },
      {
        'type' => 'SV *',
        'name' => 'msg'
      }
    ]
  },
  {
    'return_type' => 'SV *',
    'name' => 'mpxs_ap_requires',
    'attr' => [
      'static',
      '__inline__'
    ],
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'request_rec *',
        'name' => 'r'
      }
    ]
  },
  {
    'return_type' => 'apr_size_t',
    'name' => 'mpxs_ap_rprintf',
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'I32',
        'name' => 'items'
      },
      {
        'type' => 'SV **',
        'name' => 'mark'
      },
      {
        'type' => 'SV **',
        'name' => 'sp'
      }
    ]
  },
  {
    'return_type' => 'int',
    'name' => 'mpxs_ap_run_sub_req',
    'attr' => [
      'static',
      '__inline__'
    ],
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'request_rec *',
        'name' => 'r'
      }
    ]
  },
  {
    'return_type' => 'apr_size_t',
    'name' => 'mpxs_ap_rvputs',
    'attr' => [
      'static',
      '__inline__'
    ],
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'I32',
        'name' => 'items'
      },
      {
        'type' => 'SV **',
        'name' => 'mark'
      },
      {
        'type' => 'SV **',
        'name' => 'sp'
      }
    ]
  },
  {
    'return_type' => 'char *',
    'name' => 'mpxs_ap_unescape_url',
    'attr' => [
      'static',
      '__inline__'
    ],
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'SV *',
        'name' => 'url'
      }
    ]
  },
  {
    'return_type' => 'void',
    'name' => 'mpxs_apr_base64_decode',
    'attr' => [
      'static',
      '__inline__'
    ],
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'SV *',
        'name' => 'sv'
      },
      {
        'type' => 'SV *',
        'name' => 'arg'
      }
    ]
  },
  {
    'return_type' => 'void',
    'name' => 'mpxs_apr_base64_encode',
    'attr' => [
      'static',
      '__inline__'
    ],
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'SV *',
        'name' => 'sv'
      },
      {
        'type' => 'SV *',
        'name' => 'arg'
      }
    ]
  },
  {
    'return_type' => 'SV *',
    'name' => 'mpxs_apr_brigade_create',
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'SV *',
        'name' => 'CLASS'
      },
      {
        'type' => 'SV *',
        'name' => 'p_sv'
      },
      {
        'type' => 'apr_bucket_alloc_t *',
        'name' => 'ba'
      }
    ]
  },
  {
    'return_type' => 'SV *',
    'name' => 'mpxs_apr_ipsubnet_create',
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'SV *',
        'name' => 'classname'
      },
      {
        'type' => 'SV *',
        'name' => 'p_sv'
      },
      {
        'type' => 'const char *',
        'name' => 'ipstr'
      },
      {
        'type' => 'const char *',
        'name' => 'mask_or_numbits'
      }
    ]
  },
  {
    'return_type' => 'int',
    'name' => 'mpxs_apr_password_validate',
    'attr' => [
      'static',
      '__inline__'
    ],
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'const char *',
        'name' => 'passwd'
      },
      {
        'type' => 'const char *',
        'name' => 'hash'
      }
    ]
  },
  {
    'return_type' => 'void',
    'name' => 'mpxs_apr_pool_DESTROY',
    'attr' => [
      'static',
      '__inline__'
    ],
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'SV *',
        'name' => 'obj'
      }
    ]
  },
  {
    'return_type' => '',
    'name' => 'mpxs_apr_pool_cleanup',
    'args' => [
      {
        'type' => 'void *',
        'name' => 'cleanup_data'
      }
    ]
  },
  {
    'return_type' => 'void',
    'name' => 'mpxs_apr_pool_cleanup_register',
    'attr' => [
      'static',
      '__inline__'
    ],
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'apr_pool_t *',
        'name' => 'p'
      },
      {
        'type' => 'SV *',
        'name' => 'cv'
      },
      {
        'type' => 'SV *',
        'name' => 'arg'
      }
    ]
  },
  {
    'return_type' => 'SV *',
    'name' => 'mpxs_apr_pool_create',
    'attr' => [
      'static',
      '__inline__'
    ],
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'SV *',
        'name' => 'parent_pool_obj'
      }
    ]
  },
  {
    'return_type' => '',
    'name' => 'mpxs_apr_pool_parent_get',
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'apr_pool_t *',
        'name' => 'child_pool'
      }
    ]
  },
  {
    'return_type' => '',
    'name' => 'mpxs_apr_sockaddr_ip_get',
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'apr_sockaddr_t *',
        'name' => 'sockaddr'
      }
    ]
  },
  {
    'return_type' => 'apr_size_t',
    'name' => 'mpxs_apr_socket_send',
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'apr_socket_t *',
        'name' => 'socket'
      },
      {
        'type' => 'SV *',
        'name' => 'sv_buf'
      },
      {
        'type' => 'SV *',
        'name' => 'sv_len'
      }
    ]
  },
  {
    'return_type' => 'apr_interval_time_t',
    'name' => 'mpxs_apr_socket_timeout_get',
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'I32',
        'name' => 'items'
      },
      {
        'type' => 'SV **',
        'name' => 'mark'
      },
      {
        'type' => 'SV **',
        'name' => 'sp'
      }
    ]
  },
  {
    'return_type' => 'int',
    'name' => 'mpxs_apr_table_do',
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'I32',
        'name' => 'items'
      },
      {
        'type' => 'SV **',
        'name' => 'mark'
      },
      {
        'type' => 'SV **',
        'name' => 'sp'
      }
    ]
  },
  {
    'return_type' => 'int',
    'name' => 'mpxs_apr_table_do_cb',
    'attr' => [
      'static'
    ],
    'args' => [
      {
        'type' => 'void *',
        'name' => 'data'
      },
      {
        'type' => 'const char *',
        'name' => 'key'
      },
      {
        'type' => 'const char *',
        'name' => 'val'
      }
    ]
  },
  {
    'return_type' => 'SV *',
    'name' => 'mpxs_apr_thread_mutex_create',
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'SV *',
        'name' => 'classname'
      },
      {
        'type' => 'SV *',
        'name' => 'p_sv'
      },
      {
        'type' => 'unsigned int',
        'name' => 'flags'
      }
    ]
  },
  {
    'return_type' => 'SV *',
    'name' => 'mpxs_apr_uri_parse',
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'SV *',
        'name' => 'classname'
      },
      {
        'type' => 'SV *',
        'name' => 'p_sv'
      },
      {
        'type' => 'const char *',
        'name' => 'uri_string'
      }
    ]
  },
  {
    'return_type' => 'char *',
    'name' => 'mpxs_apr_uri_unparse',
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'apr_uri_t *',
        'name' => 'uptr'
      },
      {
        'type' => 'unsigned',
        'name' => 'flags'
      }
    ]
  },
  {
    'return_type' => 'apr_uuid_t *',
    'name' => 'mpxs_apr_uuid_get',
    'attr' => [
      'static',
      '__inline__'
    ],
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'SV *',
        'name' => 'CLASS'
      }
    ]
  },
  {
    'return_type' => 'apr_uuid_t *',
    'name' => 'mpxs_apr_uuid_parse',
    'attr' => [
      'static',
      '__inline__'
    ],
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'SV *',
        'name' => 'CLASS'
      },
      {
        'type' => 'char *',
        'name' => 'buf'
      }
    ]
  },
  {
    'return_type' => 'apr_status_t',
    'name' => 'mpxs_cleanup_run',
    'attr' => [
      'static'
    ],
    'args' => [
      {
        'type' => 'void *',
        'name' => 'data'
      }
    ]
  },
  {
    'return_type' => 'void',
    'name' => 'mpxs_insert_auth_cfg',
    'attr' => [
      'static',
      '__inline__'
    ],
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'request_rec *',
        'name' => 'r'
      },
      {
        'type' => 'char *',
        'name' => 'directive'
      },
      {
        'type' => 'char *',
        'name' => 'val'
      }
    ]
  },
  {
    'return_type' => 'apr_status_t',
    'name' => 'mpxs_setup_client_block',
    'args' => [
      {
        'type' => 'request_rec *',
        'name' => 'r'
      }
    ]
  },
  {
    'return_type' => 'int',
    'name' => 'mpxs_special_list_do',
    'attr' => [
      'static'
    ],
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'const char *',
        'name' => 'name'
      },
      {
        'type' => 'SV *',
        'name' => 'package'
      },
      {
        'type' => 'mpxs_special_list_do_t',
        'name' => 'func'
      }
    ]
  },
  {
    'return_type' => 'modperl_interp_t *',
    'name' => 'mpxs_ModPerl__Interpreter_current',
    'attr' => [
      'static',
      '__inline__'
    ],
    'args' => [
      {
        'type' => 'PerlInterpreter *',
        'name' => 'my_perl'
      },
      {
        'type' => 'SV *',
        'name' => 'class'
      }
    ]
  }
];


1;
