You are viewing a plain text version of this content. The canonical link for it is here.
Posted to modperl-cvs@perl.apache.org by jk...@apache.org on 2013/06/27 08:41:26 UTC

svn commit: r1497222 [7/7] - in /perl/modperl/branches/httpd24/xs/tables: current/Apache2/ current/ModPerl/ current24/ current24/APR/ current24/Apache2/ current24/ModPerl/

Added: perl/modperl/branches/httpd24/xs/tables/current24/ModPerl/FunctionTable.pm
URL: http://svn.apache.org/viewvc/perl/modperl/branches/httpd24/xs/tables/current24/ModPerl/FunctionTable.pm?rev=1497222&view=auto
==============================================================================
--- perl/modperl/branches/httpd24/xs/tables/current24/ModPerl/FunctionTable.pm (added)
+++ perl/modperl/branches/httpd24/xs/tables/current24/ModPerl/FunctionTable.pm Thu Jun 27 06:41:26 2013
@@ -0,0 +1,8547 @@
+package ModPerl::FunctionTable;
+
+# !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+# ! WARNING: generated by ModPerl::ParseSource/0.01
+# !          Wed Feb 20 16:22:07 2013
+# !          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_authn_provider',
+    '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_authz_handlers',
+    'args' => [
+      {
+        'type' => 'cmd_parms *',
+        'name' => 'parms'
+      },
+      {
+        'type' => 'void *',
+        'name' => 'dummy'
+      },
+      {
+        'type' => 'const char *',
+        'name' => 'arg'
+      }
+    ]
+  },
+  {
+    'return_type' => 'const char *',
+    'name' => 'modperl_cmd_authz_provider',
+    '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_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' => 'modperl_config_con_t *',
+    'name' => 'modperl_config_con_new',
+    'args' => [
+      {
+        'type' => 'conn_rec *',
+        'name' => 'c'
+      }
+    ]
+  },
+  {
+    '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' => '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'
+      },
+      {
+        'type' => 'server_rec *',
+        'name' => 's'
+      }
+    ]
+  },
+  {
+    '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' => 'U16 *',
+    'name' => 'modperl_filter_attributes',
+    'attr' => [
+      'static',
+      '__inline__'
+    ],
+    'args' => [
+      {
+        'type' => 'PerlInterpreter*',
+        'name' => 'my_perl'
+      },
+      {
+        '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' => 'char *',
+    'name' => 'modperl_pid_tid',
+    'attr' => [
+      '__inline__'
+    ],
+    'args' => [
+      {
+        'type' => 'apr_pool_t *',
+        'name' => 'p'
+      }
+    ]
+  },
+  {
+    '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'
+      },
+      {
+        'type' => 'conn_rec *',
+        'name' => 'c'
+      }
+    ]
+  },
+  {
+    '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*',

[... 3958 lines stripped ...]