The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
# please insert nothing before this line: -*- mode: cperl; cperl-indent-level: 4; cperl-continued-statement-offset: 4; indent-tabs-mode: nil -*-
package Apache2::StructureTable;

# !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
# ! WARNING: generated by Apache::ParseSource/0.02
# !          Fri Dec 10 14:14:10 2004
# !          do NOT edit, any changes will be lost !
# !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

$Apache2::StructureTable = [
  {
    'type' => 'ap_HOOK_access_checker_t',
    'elts' => []
  },
  {
    'type' => 'ap_HOOK_auth_checker_t',
    'elts' => []
  },
  {
    'type' => 'ap_HOOK_check_user_id_t',
    'elts' => []
  },
  {
    'type' => 'ap_HOOK_child_init_t',
    'elts' => []
  },
  {
    'type' => 'ap_HOOK_create_connection_t',
    'elts' => []
  },
  {
    'type' => 'ap_HOOK_create_request_t',
    'elts' => []
  },
  {
    'type' => 'ap_HOOK_default_port_t',
    'elts' => []
  },
  {
    'type' => 'ap_HOOK_error_log_t',
    'elts' => []
  },
  {
    'type' => 'ap_HOOK_fixups_t',
    'elts' => []
  },
  {
    'type' => 'ap_HOOK_get_mgmt_items_t',
    'elts' => []
  },
  {
    'type' => 'ap_HOOK_get_suexec_identity_t',
    'elts' => []
  },
  {
    'type' => 'ap_HOOK_handler_t',
    'elts' => []
  },
  {
    'type' => 'ap_HOOK_header_parser_t',
    'elts' => []
  },
  {
    'type' => 'ap_HOOK_http_method_t',
    'elts' => []
  },
  {
    'type' => 'ap_HOOK_insert_error_filter_t',
    'elts' => []
  },
  {
    'type' => 'ap_HOOK_insert_filter_t',
    'elts' => []
  },
  {
    'type' => 'ap_HOOK_log_transaction_t',
    'elts' => []
  },
  {
    'type' => 'ap_HOOK_map_to_storage_t',
    'elts' => []
  },
  {
    'type' => 'ap_HOOK_open_logs_t',
    'elts' => []
  },
  {
    'type' => 'ap_HOOK_optional_fn_retrieve_t',
    'elts' => []
  },
  {
    'type' => 'ap_HOOK_post_config_t',
    'elts' => []
  },
  {
    'type' => 'ap_HOOK_post_read_request_t',
    'elts' => []
  },
  {
    'type' => 'ap_HOOK_pre_config_t',
    'elts' => []
  },
  {
    'type' => 'ap_HOOK_pre_connection_t',
    'elts' => []
  },
  {
    'type' => 'ap_HOOK_pre_mpm_t',
    'elts' => []
  },
  {
    'type' => 'ap_HOOK_process_connection_t',
    'elts' => []
  },
  {
    'type' => 'ap_HOOK_quick_handler_t',
    'elts' => []
  },
  {
    'type' => 'ap_HOOK_status_hook_t',
    'elts' => []
  },
  {
    'type' => 'ap_HOOK_translate_name_t',
    'elts' => []
  },
  {
    'type' => 'ap_HOOK_type_checker_t',
    'elts' => []
  },
  {
    'type' => 'ap_LINK_access_checker_t',
    'elts' => [
      {
        'type' => 'ap_HOOK_access_checker_t *',
        'name' => 'pFunc'
      },
      {
        'type' => 'const char *',
        'name' => 'szName'
      },
      {
        'type' => 'const char * const *',
        'name' => 'aszPredecessors'
      },
      {
        'type' => 'const char * const *',
        'name' => 'aszSuccessors'
      },
      {
        'type' => 'int',
        'name' => 'nOrder'
      }
    ]
  },
  {
    'type' => 'ap_LINK_auth_checker_t',
    'elts' => [
      {
        'type' => 'ap_HOOK_auth_checker_t *',
        'name' => 'pFunc'
      },
      {
        'type' => 'const char *',
        'name' => 'szName'
      },
      {
        'type' => 'const char * const *',
        'name' => 'aszPredecessors'
      },
      {
        'type' => 'const char * const *',
        'name' => 'aszSuccessors'
      },
      {
        'type' => 'int',
        'name' => 'nOrder'
      }
    ]
  },
  {
    'type' => 'ap_LINK_check_user_id_t',
    'elts' => [
      {
        'type' => 'ap_HOOK_check_user_id_t *',
        'name' => 'pFunc'
      },
      {
        'type' => 'const char *',
        'name' => 'szName'
      },
      {
        'type' => 'const char * const *',
        'name' => 'aszPredecessors'
      },
      {
        'type' => 'const char * const *',
        'name' => 'aszSuccessors'
      },
      {
        'type' => 'int',
        'name' => 'nOrder'
      }
    ]
  },
  {
    'type' => 'ap_LINK_child_init_t',
    'elts' => [
      {
        'type' => 'ap_HOOK_child_init_t *',
        'name' => 'pFunc'
      },
      {
        'type' => 'const char *',
        'name' => 'szName'
      },
      {
        'type' => 'const char * const *',
        'name' => 'aszPredecessors'
      },
      {
        'type' => 'const char * const *',
        'name' => 'aszSuccessors'
      },
      {
        'type' => 'int',
        'name' => 'nOrder'
      }
    ]
  },
  {
    'type' => 'ap_LINK_create_connection_t',
    'elts' => [
      {
        'type' => 'ap_HOOK_create_connection_t *',
        'name' => 'pFunc'
      },
      {
        'type' => 'const char *',
        'name' => 'szName'
      },
      {
        'type' => 'const char * const *',
        'name' => 'aszPredecessors'
      },
      {
        'type' => 'const char * const *',
        'name' => 'aszSuccessors'
      },
      {
        'type' => 'int',
        'name' => 'nOrder'
      }
    ]
  },
  {
    'type' => 'ap_LINK_create_request_t',
    'elts' => [
      {
        'type' => 'ap_HOOK_create_request_t *',
        'name' => 'pFunc'
      },
      {
        'type' => 'const char *',
        'name' => 'szName'
      },
      {
        'type' => 'const char * const *',
        'name' => 'aszPredecessors'
      },
      {
        'type' => 'const char * const *',
        'name' => 'aszSuccessors'
      },
      {
        'type' => 'int',
        'name' => 'nOrder'
      }
    ]
  },
  {
    'type' => 'ap_LINK_default_port_t',
    'elts' => [
      {
        'type' => 'ap_HOOK_default_port_t *',
        'name' => 'pFunc'
      },
      {
        'type' => 'const char *',
        'name' => 'szName'
      },
      {
        'type' => 'const char * const *',
        'name' => 'aszPredecessors'
      },
      {
        'type' => 'const char * const *',
        'name' => 'aszSuccessors'
      },
      {
        'type' => 'int',
        'name' => 'nOrder'
      }
    ]
  },
  {
    'type' => 'ap_LINK_error_log_t',
    'elts' => [
      {
        'type' => 'ap_HOOK_error_log_t *',
        'name' => 'pFunc'
      },
      {
        'type' => 'const char *',
        'name' => 'szName'
      },
      {
        'type' => 'const char * const *',
        'name' => 'aszPredecessors'
      },
      {
        'type' => 'const char * const *',
        'name' => 'aszSuccessors'
      },
      {
        'type' => 'int',
        'name' => 'nOrder'
      }
    ]
  },
  {
    'type' => 'ap_LINK_fixups_t',
    'elts' => [
      {
        'type' => 'ap_HOOK_fixups_t *',
        'name' => 'pFunc'
      },
      {
        'type' => 'const char *',
        'name' => 'szName'
      },
      {
        'type' => 'const char * const *',
        'name' => 'aszPredecessors'
      },
      {
        'type' => 'const char * const *',
        'name' => 'aszSuccessors'
      },
      {
        'type' => 'int',
        'name' => 'nOrder'
      }
    ]
  },
  {
    'type' => 'ap_LINK_get_mgmt_items_t',
    'elts' => [
      {
        'type' => 'ap_HOOK_get_mgmt_items_t *',
        'name' => 'pFunc'
      },
      {
        'type' => 'const char *',
        'name' => 'szName'
      },
      {
        'type' => 'const char * const *',
        'name' => 'aszPredecessors'
      },
      {
        'type' => 'const char * const *',
        'name' => 'aszSuccessors'
      },
      {
        'type' => 'int',
        'name' => 'nOrder'
      }
    ]
  },
  {
    'type' => 'ap_LINK_get_suexec_identity_t',
    'elts' => [
      {
        'type' => 'ap_HOOK_get_suexec_identity_t *',
        'name' => 'pFunc'
      },
      {
        'type' => 'const char *',
        'name' => 'szName'
      },
      {
        'type' => 'const char * const *',
        'name' => 'aszPredecessors'
      },
      {
        'type' => 'const char * const *',
        'name' => 'aszSuccessors'
      },
      {
        'type' => 'int',
        'name' => 'nOrder'
      }
    ]
  },
  {
    'type' => 'ap_LINK_handler_t',
    'elts' => [
      {
        'type' => 'ap_HOOK_handler_t *',
        'name' => 'pFunc'
      },
      {
        'type' => 'const char *',
        'name' => 'szName'
      },
      {
        'type' => 'const char * const *',
        'name' => 'aszPredecessors'
      },
      {
        'type' => 'const char * const *',
        'name' => 'aszSuccessors'
      },
      {
        'type' => 'int',
        'name' => 'nOrder'
      }
    ]
  },
  {
    'type' => 'ap_LINK_header_parser_t',
    'elts' => [
      {
        'type' => 'ap_HOOK_header_parser_t *',
        'name' => 'pFunc'
      },
      {
        'type' => 'const char *',
        'name' => 'szName'
      },
      {
        'type' => 'const char * const *',
        'name' => 'aszPredecessors'
      },
      {
        'type' => 'const char * const *',
        'name' => 'aszSuccessors'
      },
      {
        'type' => 'int',
        'name' => 'nOrder'
      }
    ]
  },
  {
    'type' => 'ap_LINK_http_method_t',
    'elts' => [
      {
        'type' => 'ap_HOOK_http_method_t *',
        'name' => 'pFunc'
      },
      {
        'type' => 'const char *',
        'name' => 'szName'
      },
      {
        'type' => 'const char * const *',
        'name' => 'aszPredecessors'
      },
      {
        'type' => 'const char * const *',
        'name' => 'aszSuccessors'
      },
      {
        'type' => 'int',
        'name' => 'nOrder'
      }
    ]
  },
  {
    'type' => 'ap_LINK_insert_error_filter_t',
    'elts' => [
      {
        'type' => 'ap_HOOK_insert_error_filter_t *',
        'name' => 'pFunc'
      },
      {
        'type' => 'const char *',
        'name' => 'szName'
      },
      {
        'type' => 'const char * const *',
        'name' => 'aszPredecessors'
      },
      {
        'type' => 'const char * const *',
        'name' => 'aszSuccessors'
      },
      {
        'type' => 'int',
        'name' => 'nOrder'
      }
    ]
  },
  {
    'type' => 'ap_LINK_insert_filter_t',
    'elts' => [
      {
        'type' => 'ap_HOOK_insert_filter_t *',
        'name' => 'pFunc'
      },
      {
        'type' => 'const char *',
        'name' => 'szName'
      },
      {
        'type' => 'const char * const *',
        'name' => 'aszPredecessors'
      },
      {
        'type' => 'const char * const *',
        'name' => 'aszSuccessors'
      },
      {
        'type' => 'int',
        'name' => 'nOrder'
      }
    ]
  },
  {
    'type' => 'ap_LINK_log_transaction_t',
    'elts' => [
      {
        'type' => 'ap_HOOK_log_transaction_t *',
        'name' => 'pFunc'
      },
      {
        'type' => 'const char *',
        'name' => 'szName'
      },
      {
        'type' => 'const char * const *',
        'name' => 'aszPredecessors'
      },
      {
        'type' => 'const char * const *',
        'name' => 'aszSuccessors'
      },
      {
        'type' => 'int',
        'name' => 'nOrder'
      }
    ]
  },
  {
    'type' => 'ap_LINK_map_to_storage_t',
    'elts' => [
      {
        'type' => 'ap_HOOK_map_to_storage_t *',
        'name' => 'pFunc'
      },
      {
        'type' => 'const char *',
        'name' => 'szName'
      },
      {
        'type' => 'const char * const *',
        'name' => 'aszPredecessors'
      },
      {
        'type' => 'const char * const *',
        'name' => 'aszSuccessors'
      },
      {
        'type' => 'int',
        'name' => 'nOrder'
      }
    ]
  },
  {
    'type' => 'ap_LINK_open_logs_t',
    'elts' => [
      {
        'type' => 'ap_HOOK_open_logs_t *',
        'name' => 'pFunc'
      },
      {
        'type' => 'const char *',
        'name' => 'szName'
      },
      {
        'type' => 'const char * const *',
        'name' => 'aszPredecessors'
      },
      {
        'type' => 'const char * const *',
        'name' => 'aszSuccessors'
      },
      {
        'type' => 'int',
        'name' => 'nOrder'
      }
    ]
  },
  {
    'type' => 'ap_LINK_optional_fn_retrieve_t',
    'elts' => [
      {
        'type' => 'ap_HOOK_optional_fn_retrieve_t *',
        'name' => 'pFunc'
      },
      {
        'type' => 'const char *',
        'name' => 'szName'
      },
      {
        'type' => 'const char * const *',
        'name' => 'aszPredecessors'
      },
      {
        'type' => 'const char * const *',
        'name' => 'aszSuccessors'
      },
      {
        'type' => 'int',
        'name' => 'nOrder'
      }
    ]
  },
  {
    'type' => 'ap_LINK_post_config_t',
    'elts' => [
      {
        'type' => 'ap_HOOK_post_config_t *',
        'name' => 'pFunc'
      },
      {
        'type' => 'const char *',
        'name' => 'szName'
      },
      {
        'type' => 'const char * const *',
        'name' => 'aszPredecessors'
      },
      {
        'type' => 'const char * const *',
        'name' => 'aszSuccessors'
      },
      {
        'type' => 'int',
        'name' => 'nOrder'
      }
    ]
  },
  {
    'type' => 'ap_LINK_post_read_request_t',
    'elts' => [
      {
        'type' => 'ap_HOOK_post_read_request_t *',
        'name' => 'pFunc'
      },
      {
        'type' => 'const char *',
        'name' => 'szName'
      },
      {
        'type' => 'const char * const *',
        'name' => 'aszPredecessors'
      },
      {
        'type' => 'const char * const *',
        'name' => 'aszSuccessors'
      },
      {
        'type' => 'int',
        'name' => 'nOrder'
      }
    ]
  },
  {
    'type' => 'ap_LINK_pre_config_t',
    'elts' => [
      {
        'type' => 'ap_HOOK_pre_config_t *',
        'name' => 'pFunc'
      },
      {
        'type' => 'const char *',
        'name' => 'szName'
      },
      {
        'type' => 'const char * const *',
        'name' => 'aszPredecessors'
      },
      {
        'type' => 'const char * const *',
        'name' => 'aszSuccessors'
      },
      {
        'type' => 'int',
        'name' => 'nOrder'
      }
    ]
  },
  {
    'type' => 'ap_LINK_pre_connection_t',
    'elts' => [
      {
        'type' => 'ap_HOOK_pre_connection_t *',
        'name' => 'pFunc'
      },
      {
        'type' => 'const char *',
        'name' => 'szName'
      },
      {
        'type' => 'const char * const *',
        'name' => 'aszPredecessors'
      },
      {
        'type' => 'const char * const *',
        'name' => 'aszSuccessors'
      },
      {
        'type' => 'int',
        'name' => 'nOrder'
      }
    ]
  },
  {
    'type' => 'ap_LINK_pre_mpm_t',
    'elts' => [
      {
        'type' => 'ap_HOOK_pre_mpm_t *',
        'name' => 'pFunc'
      },
      {
        'type' => 'const char *',
        'name' => 'szName'
      },
      {
        'type' => 'const char * const *',
        'name' => 'aszPredecessors'
      },
      {
        'type' => 'const char * const *',
        'name' => 'aszSuccessors'
      },
      {
        'type' => 'int',
        'name' => 'nOrder'
      }
    ]
  },
  {
    'type' => 'ap_LINK_process_connection_t',
    'elts' => [
      {
        'type' => 'ap_HOOK_process_connection_t *',
        'name' => 'pFunc'
      },
      {
        'type' => 'const char *',
        'name' => 'szName'
      },
      {
        'type' => 'const char * const *',
        'name' => 'aszPredecessors'
      },
      {
        'type' => 'const char * const *',
        'name' => 'aszSuccessors'
      },
      {
        'type' => 'int',
        'name' => 'nOrder'
      }
    ]
  },
  {
    'type' => 'ap_LINK_quick_handler_t',
    'elts' => [
      {
        'type' => 'ap_HOOK_quick_handler_t *',
        'name' => 'pFunc'
      },
      {
        'type' => 'const char *',
        'name' => 'szName'
      },
      {
        'type' => 'const char * const *',
        'name' => 'aszPredecessors'
      },
      {
        'type' => 'const char * const *',
        'name' => 'aszSuccessors'
      },
      {
        'type' => 'int',
        'name' => 'nOrder'
      }
    ]
  },
  {
    'type' => 'ap_LINK_status_hook_t',
    'elts' => [
      {
        'type' => 'ap_HOOK_status_hook_t *',
        'name' => 'pFunc'
      },
      {
        'type' => 'const char *',
        'name' => 'szName'
      },
      {
        'type' => 'const char * const *',
        'name' => 'aszPredecessors'
      },
      {
        'type' => 'const char * const *',
        'name' => 'aszSuccessors'
      },
      {
        'type' => 'int',
        'name' => 'nOrder'
      }
    ]
  },
  {
    'type' => 'ap_LINK_translate_name_t',
    'elts' => [
      {
        'type' => 'ap_HOOK_translate_name_t *',
        'name' => 'pFunc'
      },
      {
        'type' => 'const char *',
        'name' => 'szName'
      },
      {
        'type' => 'const char * const *',
        'name' => 'aszPredecessors'
      },
      {
        'type' => 'const char * const *',
        'name' => 'aszSuccessors'
      },
      {
        'type' => 'int',
        'name' => 'nOrder'
      }
    ]
  },
  {
    'type' => 'ap_LINK_type_checker_t',
    'elts' => [
      {
        'type' => 'ap_HOOK_type_checker_t *',
        'name' => 'pFunc'
      },
      {
        'type' => 'const char *',
        'name' => 'szName'
      },
      {
        'type' => 'const char * const *',
        'name' => 'aszPredecessors'
      },
      {
        'type' => 'const char * const *',
        'name' => 'aszSuccessors'
      },
      {
        'type' => 'int',
        'name' => 'nOrder'
      }
    ]
  },
  {
    'type' => 'ap_bucket_error',
    'elts' => [
      {
        'type' => 'apr_bucket_refcount',
        'name' => 'refcount'
      },
      {
        'type' => 'int',
        'name' => 'status'
      },
      {
        'type' => 'const char *',
        'name' => 'data'
      }
    ]
  },
  {
    'type' => 'ap_conf_vector_t',
    'elts' => []
  },
  {
    'type' => 'ap_configfile_t',
    'elts' => [
      {
        'type' => 'int(*) (void *param)',
        'name' => 'getch'
      },
      {
        'type' => 'void *(*) (void *buf, size_t bufsiz, void *param)',
        'name' => 'getstr'
      },
      {
        'type' => 'int(*) (void *param)',
        'name' => 'close'
      },
      {
        'type' => 'void *',
        'name' => 'param'
      },
      {
        'type' => 'const char *',
        'name' => 'name'
      },
      {
        'type' => 'unsigned',
        'name' => 'line_number'
      }
    ]
  },
  {
    'type' => 'ap_conn_keepalive_e',
    'elts' => []
  },
  {
    'type' => 'ap_directive_t',
    'elts' => [
      {
        'type' => 'const char *',
        'name' => 'directive'
      },
      {
        'type' => 'const char *',
        'name' => 'args'
      },
      {
        'type' => 'ap_directive_t *',
        'name' => 'next'
      },
      {
        'type' => 'ap_directive_t *',
        'name' => 'first_child'
      },
      {
        'type' => 'ap_directive_t *',
        'name' => 'parent'
      },
      {
        'type' => 'void *',
        'name' => 'data'
      },
      {
        'type' => 'const char *',
        'name' => 'filename'
      },
      {
        'type' => 'int',
        'name' => 'line_num'
      }
    ]
  },
  {
    'type' => 'ap_filter_func',
    'elts' => [
      {
        'type' => 'ap_out_filter_func',
        'name' => 'out_func'
      },
      {
        'type' => 'ap_in_filter_func',
        'name' => 'in_func'
      }
    ]
  },
  {
    'type' => 'ap_filter_rec_t',
    'elts' => [
      {
        'type' => 'const char *',
        'name' => 'name'
      },
      {
        'type' => 'ap_filter_func',
        'name' => 'filter_func'
      },
      {
        'type' => 'ap_init_filter_func',
        'name' => 'filter_init_func'
      },
      {
        'type' => 'ap_filter_type',
        'name' => 'ftype'
      },
      {
        'type' => 'ap_filter_rec_t *',
        'name' => 'next'
      }
    ]
  },
  {
    'type' => 'ap_filter_t',
    'elts' => [
      {
        'type' => 'ap_filter_rec_t *',
        'name' => 'frec'
      },
      {
        'type' => 'void *',
        'name' => 'ctx'
      },
      {
        'type' => 'ap_filter_t *',
        'name' => 'next'
      },
      {
        'type' => 'request_rec *',
        'name' => 'r'
      },
      {
        'type' => 'conn_rec *',
        'name' => 'c'
      }
    ]
  },
  {
    'type' => 'ap_filter_type',
    'elts' => []
  },
  {
    'type' => 'ap_generation_t',
    'elts' => []
  },
  {
    'type' => 'ap_in_filter_func',
    'elts' => []
  },
  {
    'type' => 'ap_init_filter_func',
    'elts' => []
  },
  {
    'type' => 'ap_input_mode_t',
    'elts' => []
  },
  {
    'type' => 'ap_listen_rec',
    'elts' => [
      {
        'type' => 'ap_listen_rec *',
        'name' => 'next'
      },
      {
        'type' => 'apr_socket_t *',
        'name' => 'sd'
      },
      {
        'type' => 'apr_sockaddr_t *',
        'name' => 'bind_addr'
      },
      {
        'type' => 'accept_function',
        'name' => 'accept_func'
      },
      {
        'type' => 'int',
        'name' => 'active'
      }
    ]
  },
  {
    'type' => 'ap_method_list_t',
    'elts' => [
      {
        'type' => 'apr_int64_t',
        'name' => 'method_mask'
      },
      {
        'type' => 'apr_array_header_t *',
        'name' => 'method_list'
      }
    ]
  },
  {
    'type' => 'ap_mgmt_item_t',
    'elts' => [
      {
        'type' => 'const char *',
        'name' => 'description'
      },
      {
        'type' => 'const char *',
        'name' => 'name'
      },
      {
        'type' => 'ap_mgmt_type_e',
        'name' => 'vtype'
      },
      {
        'type' => 'ap_mgmt_value',
        'name' => 'v'
      }
    ]
  },
  {
    'type' => 'ap_mgmt_type_e',
    'elts' => []
  },
  {
    'type' => 'ap_mgmt_value',
    'elts' => [
      {
        'type' => 'const char *',
        'name' => 's_value'
      },
      {
        'type' => 'long',
        'name' => 'i_value'
      },
      {
        'type' => 'apr_hash_t *',
        'name' => 'h_value'
      }
    ]
  },
  {
    'type' => 'ap_out_filter_func',
    'elts' => []
  },
  {
    'type' => 'ap_pcw_dir_cb_t',
    'elts' => []
  },
  {
    'type' => 'ap_pcw_srv_cb_t',
    'elts' => []
  },
  {
    'type' => 'ap_pod_t',
    'elts' => [
      {
        'type' => 'apr_file_t *',
        'name' => 'pod_in'
      },
      {
        'type' => 'apr_file_t *',
        'name' => 'pod_out'
      },
      {
        'type' => 'apr_pool_t *',
        'name' => 'p'
      },
      {
        'type' => 'apr_sockaddr_t *',
        'name' => 'sa'
      }
    ]
  },
  {
    'type' => 'ap_sb_handle_t',
    'elts' => []
  },
  {
    'type' => 'ap_scoreboard_e',
    'elts' => []
  },
  {
    'type' => 'ap_unix_identity_t',
    'elts' => [
      {
        'type' => 'uid_t',
        'name' => 'uid'
      },
      {
        'type' => 'gid_t',
        'name' => 'gid'
      },
      {
        'type' => 'int',
        'name' => 'userdir'
      }
    ]
  },
  {
    'type' => 'apr_OFN_ap_logio_add_bytes_out_t',
    'elts' => []
  },
  {
    'type' => 'apr_OFN_ap_signal_server_t',
    'elts' => []
  },
  {
    'type' => 'apr_OFN_modperl_interp_unselect_t',
    'elts' => []
  },
  {
    'type' => 'apr_abortfunc_t',
    'elts' => []
  },
  {
    'type' => 'apr_allocator_t',
    'elts' => []
  },
  {
    'type' => 'apr_array_header_t',
    'elts' => [
      {
        'type' => 'apr_pool_t *',
        'name' => 'pool'
      },
      {
        'type' => 'int',
        'name' => 'elt_size'
      },
      {
        'type' => 'int',
        'name' => 'nelts'
      },
      {
        'type' => 'int',
        'name' => 'nalloc'
      },
      {
        'type' => 'char *',
        'name' => 'elts'
      }
    ]
  },
  {
    'type' => 'apr_brigade_flush',
    'elts' => []
  },
  {
    'type' => 'apr_bucket',
    'elts' => [
      {
        'type' => '_ANON 53',
        'name' => 'link'
      },
      {
        'type' => 'const apr_bucket_type_t *',
        'name' => 'type'
      },
      {
        'type' => 'apr_size_t',
        'name' => 'length'
      },
      {
        'type' => 'apr_off_t',
        'name' => 'start'
      },
      {
        'type' => 'void *',
        'name' => 'data'
      },
      {
        'type' => 'void(*)(void *e)',
        'name' => 'free'
      },
      {
        'type' => 'apr_bucket_alloc_t *',
        'name' => 'list'
      }
    ]
  },
  {
    'type' => 'apr_bucket_alloc_t',
    'elts' => []
  },
  {
    'type' => 'apr_bucket_brigade',
    'elts' => [
      {
        'type' => 'apr_pool_t *',
        'name' => 'p'
      },
      {
        'type' => 'apr_bucket_list',
        'name' => 'list'
      },
      {
        'type' => 'apr_bucket_alloc_t *',
        'name' => 'bucket_alloc'
      }
    ]
  },
  {
    'type' => 'apr_bucket_file',
    'elts' => [
      {
        'type' => 'apr_bucket_refcount',
        'name' => 'refcount'
      },
      {
        'type' => 'apr_file_t *',
        'name' => 'fd'
      },
      {
        'type' => 'apr_pool_t *',
        'name' => 'readpool'
      },
      {
        'type' => 'int',
        'name' => 'can_mmap'
      }
    ]
  },
  {
    'type' => 'apr_bucket_heap',
    'elts' => [
      {
        'type' => 'apr_bucket_refcount',
        'name' => 'refcount'
      },
      {
        'type' => 'char *',
        'name' => 'base'
      },
      {
        'type' => 'apr_size_t',
        'name' => 'alloc_len'
      },
      {
        'type' => 'void(*)(void *data)',
        'name' => 'free_func'
      }
    ]
  },
  {
    'type' => 'apr_bucket_mmap',
    'elts' => [
      {
        'type' => 'apr_bucket_refcount',
        'name' => 'refcount'
      },
      {
        'type' => 'apr_mmap_t *',
        'name' => 'mmap'
      }
    ]
  },
  {
    'type' => 'apr_bucket_pool',
    'elts' => [
      {
        'type' => 'apr_bucket_heap',
        'name' => 'heap'
      },
      {
        'type' => 'const char *',
        'name' => 'base'
      },
      {
        'type' => 'apr_pool_t *',
        'name' => 'pool'
      },
      {
        'type' => 'apr_bucket_alloc_t *',
        'name' => 'list'
      }
    ]
  },
  {
    'type' => 'apr_bucket_refcount',
    'elts' => [
      {
        'type' => 'int',
        'name' => 'refcount'
      }
    ]
  },
  {
    'type' => 'apr_bucket_structs',
    'elts' => []
  },
  {
    'type' => 'apr_bucket_type_t',
    'elts' => [
      {
        'type' => 'const char *',
        'name' => 'name'
      },
      {
        'type' => 'int',
        'name' => 'num_func'
      },
      {
        'type' => 'int',
        'name' => 'is_metadata'
      },
      {
        'type' => 'void(*)(void *data)',
        'name' => 'destroy'
      },
      {
        'type' => 'apr_status_t(*)(apr_bucket *b, const char **str, apr_size_t *len,
                         apr_read_type_e block)',
        'name' => 'read'
      },
      {
        'type' => 'apr_status_t(*)(apr_bucket *e, apr_pool_t *pool)',
        'name' => 'setaside'
      },
      {
        'type' => 'apr_status_t(*)(apr_bucket *e, apr_size_t point)',
        'name' => 'split'
      },
      {
        'type' => 'apr_status_t(*)(apr_bucket *e, apr_bucket **c)',
        'name' => 'copy'
      }
    ]
  },
  {
    'type' => 'apr_byte_t',
    'elts' => []
  },
  {
    'type' => 'apr_child_errfn_t',
    'elts' => []
  },
  {
    'type' => 'apr_cmdtype_e',
    'elts' => []
  },
  {
    'type' => 'apr_datatype_e',
    'elts' => []
  },
  {
    'type' => 'apr_datum_t',
    'elts' => [
      {
        'type' => 'char *',
        'name' => 'dptr'
      },
      {
        'type' => 'apr_size_t',
        'name' => 'dsize'
      }
    ]
  },
  {
    'type' => 'apr_dbm_t',
    'elts' => []
  },
  {
    'type' => 'apr_descriptor',
    'elts' => [
      {
        'type' => 'apr_file_t *',
        'name' => 'f'
      },
      {
        'type' => 'apr_socket_t *',
        'name' => 's'
      }
    ]
  },
  {
    'type' => 'apr_dev_t',
    'elts' => []
  },
  {
    'type' => 'apr_dir_t',
    'elts' => []
  },
  {
    'type' => 'apr_dso_handle_sym_t',
    'elts' => []
  },
  {
    'type' => 'apr_dso_handle_t',
    'elts' => []
  },
  {
    'type' => 'apr_exit_why_e',
    'elts' => []
  },
  {
    'type' => 'apr_file_t',
    'elts' => []
  },
  {
    'type' => 'apr_fileattrs_t',
    'elts' => []
  },
  {
    'type' => 'apr_fileperms_t',
    'elts' => []
  },
  {
    'type' => 'apr_filetype_e',
    'elts' => []
  },
  {
    'type' => 'apr_finfo_t',
    'elts' => [
      {
        'type' => 'apr_pool_t *',
        'name' => 'pool'
      },
      {
        'type' => 'apr_int32_t',
        'name' => 'valid'
      },
      {
        'type' => 'apr_fileperms_t',
        'name' => 'protection'
      },
      {
        'type' => 'apr_filetype_e',
        'name' => 'filetype'
      },
      {
        'type' => 'apr_uid_t',
        'name' => 'user'
      },
      {
        'type' => 'apr_gid_t',
        'name' => 'group'
      },
      {
        'type' => 'apr_ino_t',
        'name' => 'inode'
      },
      {
        'type' => 'apr_dev_t',
        'name' => 'device'
      },
      {
        'type' => 'apr_int32_t',
        'name' => 'nlink'
      },
      {
        'type' => 'apr_off_t',
        'name' => 'size'
      },
      {
        'type' => 'apr_off_t',
        'name' => 'csize'
      },
      {
        'type' => 'apr_time_t',
        'name' => 'atime'
      },
      {
        'type' => 'apr_time_t',
        'name' => 'mtime'
      },
      {
        'type' => 'apr_time_t',
        'name' => 'ctime'
      },
      {
        'type' => 'const char *',
        'name' => 'fname'
      },
      {
        'type' => 'const char *',
        'name' => 'name'
      },
      {
        'type' => 'apr_file_t *',
        'name' => 'filehand'
      }
    ]
  },
  {
    'type' => 'apr_getopt_err_fn_t',
    'elts' => []
  },
  {
    'type' => 'apr_getopt_option_t',
    'elts' => [
      {
        'type' => 'const char *',
        'name' => 'name'
      },
      {
        'type' => 'int',
        'name' => 'optch'
      },
      {
        'type' => 'int',
        'name' => 'has_arg'
      },
      {
        'type' => 'const char *',
        'name' => 'description'
      }
    ]
  },
  {
    'type' => 'apr_getopt_t',
    'elts' => [
      {
        'type' => 'apr_pool_t *',
        'name' => 'cont'
      },
      {
        'type' => 'apr_getopt_err_fn_t *',
        'name' => 'errfn'
      },
      {
        'type' => 'void *',
        'name' => 'errarg'
      },
      {
        'type' => 'int',
        'name' => 'ind'
      },
      {
        'type' => 'int',
        'name' => 'opt'
      },
      {
        'type' => 'int',
        'name' => 'reset'
      },
      {
        'type' => 'int',
        'name' => 'argc'
      },
      {
        'type' => 'const char **',
        'name' => 'argv'
      },
      {
        'type' => 'char const *',
        'name' => 'place'
      },
      {
        'type' => 'int',
        'name' => 'interleave'
      },
      {
        'type' => 'int',
        'name' => 'skip_start'
      },
      {
        'type' => 'int',
        'name' => 'skip_end'
      }
    ]
  },
  {
    'type' => 'apr_gid_t',
    'elts' => []
  },
  {
    'type' => 'apr_global_mutex_t',
    'elts' => []
  },
  {
    'type' => 'apr_hash_index_t',
    'elts' => []
  },
  {
    'type' => 'apr_hash_t',
    'elts' => []
  },
  {
    'type' => 'apr_hdtr_t',
    'elts' => [
      {
        'type' => 'iovec *',
        'name' => 'headers'
      },
      {
        'type' => 'int',
        'name' => 'numheaders'
      },
      {
        'type' => 'iovec *',
        'name' => 'trailers'
      },
      {
        'type' => 'int',
        'name' => 'numtrailers'
      }
    ]
  },
  {
    'type' => 'apr_in_addr_t',
    'elts' => [
      {
        'type' => 'in_addr_t',
        'name' => 's_addr'
      }
    ]
  },
  {
    'type' => 'apr_ino_t',
    'elts' => []
  },
  {
    'type' => 'apr_int16_t',
    'elts' => []
  },
  {
    'type' => 'apr_int32_t',
    'elts' => []
  },
  {
    'type' => 'apr_int64_t',
    'elts' => []
  },
  {
    'type' => 'apr_interface_e',
    'elts' => []
  },
  {
    'type' => 'apr_interval_time_t',
    'elts' => []
  },
  {
    'type' => 'apr_ipsubnet_t',
    'elts' => []
  },
  {
    'type' => 'apr_kill_conditions_e',
    'elts' => []
  },
  {
    'type' => 'apr_lockmech_e',
    'elts' => []
  },
  {
    'type' => 'apr_md4_ctx_t',
    'elts' => [
      {
        'type' => 'apr_uint32_t[4]',
        'name' => 'state'
      },
      {
        'type' => 'apr_uint32_t[2]',
        'name' => 'count'
      },
      {
        'type' => 'unsigned char[64]',
        'name' => 'buffer'
      },
      {
        'type' => 'apr_xlate_t *',
        'name' => 'xlate'
      }
    ]
  },
  {
    'type' => 'apr_md5_ctx_t',
    'elts' => [
      {
        'type' => 'apr_uint32_t[4]',
        'name' => 'state'
      },
      {
        'type' => 'apr_uint32_t[2]',
        'name' => 'count'
      },
      {
        'type' => 'unsigned char[64]',
        'name' => 'buffer'
      },
      {
        'type' => 'apr_xlate_t *',
        'name' => 'xlate'
      }
    ]
  },
  {
    'type' => 'apr_memnode_t',
    'elts' => [
      {
        'type' => 'apr_memnode_t *',
        'name' => 'next'
      },
      {
        'type' => 'apr_memnode_t **',
        'name' => 'ref'
      },
      {
        'type' => 'apr_uint32_t',
        'name' => 'index'
      },
      {
        'type' => 'apr_uint32_t',
        'name' => 'free_index'
      },
      {
        'type' => 'char *',
        'name' => 'first_avail'
      },
      {
        'type' => 'char *',
        'name' => 'endp'
      }
    ]
  },
  {
    'type' => 'apr_mmap_t',
    'elts' => [
      {
        'type' => 'apr_pool_t *',
        'name' => 'cntxt'
      },
      {
        'type' => 'void *',
        'name' => 'mm'
      },
      {
        'type' => 'apr_size_t',
        'name' => 'size'
      },
      {
        'type' => 'int',
        'name' => 'unused'
      },
      {
        'type' => '_ANON 51',
        'name' => 'link'
      }
    ]
  },
  {
    'type' => 'apr_off_t',
    'elts' => []
  },
  {
    'type' => 'apr_opt_fn_t',
    'elts' => []
  },
  {
    'type' => 'apr_os_dir_t',
    'elts' => []
  },
  {
    'type' => 'apr_os_dso_handle_t',
    'elts' => []
  },
  {
    'type' => 'apr_os_exp_time_t',
    'elts' => [
      {
        'type' => 'int',
        'name' => 'tm_sec'
      },
      {
        'type' => 'int',
        'name' => 'tm_min'
      },
      {
        'type' => 'int',
        'name' => 'tm_hour'
      },
      {
        'type' => 'int',
        'name' => 'tm_mday'
      },
      {
        'type' => 'int',
        'name' => 'tm_mon'
      },
      {
        'type' => 'int',
        'name' => 'tm_year'
      },
      {
        'type' => 'int',
        'name' => 'tm_wday'
      },
      {
        'type' => 'int',
        'name' => 'tm_yday'
      },
      {
        'type' => 'int',
        'name' => 'tm_isdst'
      },
      {
        'type' => 'long int',
        'name' => 'tm_gmtoff'
      },
      {
        'type' => '__const char *',
        'name' => 'tm_zone'
      }
    ]
  },
  {
    'type' => 'apr_os_file_t',
    'elts' => []
  },
  {
    'type' => 'apr_os_global_mutex_t',
    'elts' => [
      {
        'type' => 'apr_pool_t *',
        'name' => 'pool'
      },
      {
        'type' => 'apr_proc_mutex_t *',
        'name' => 'proc_mutex'
      },
      {
        'type' => 'apr_thread_mutex_t *',
        'name' => 'thread_mutex'
      }
    ]
  },
  {
    'type' => 'apr_os_imp_time_t',
    'elts' => [
      {
        'type' => '__time_t',
        'name' => 'tv_sec'
      },
      {
        'type' => '__suseconds_t',
        'name' => 'tv_usec'
      }
    ]
  },
  {
    'type' => 'apr_os_proc_mutex_t',
    'elts' => [
      {
        'type' => 'int',
        'name' => 'crossproc'
      },
      {
        'type' => 'pthread_mutex_t *',
        'name' => 'pthread_interproc'
      },
      {
        'type' => 'pthread_mutex_t *',
        'name' => 'intraproc'
      }
    ]
  },
  {
    'type' => 'apr_os_proc_t',
    'elts' => []
  },
  {
    'type' => 'apr_os_shm_t',
    'elts' => []
  },
  {
    'type' => 'apr_os_sock_info_t',
    'elts' => [
      {
        'type' => 'apr_os_sock_t *',
        'name' => 'os_sock'
      },
      {
        'type' => 'sockaddr *',
        'name' => 'local'
      },
      {
        'type' => 'sockaddr *',
        'name' => 'remote'
      },
      {
        'type' => 'int',
        'name' => 'family'
      },
      {
        'type' => 'int',
        'name' => 'type'
      }
    ]
  },
  {
    'type' => 'apr_os_sock_t',
    'elts' => []
  },
  {
    'type' => 'apr_os_thread_t',
    'elts' => []
  },
  {
    'type' => 'apr_os_threadkey_t',
    'elts' => []
  },
  {
    'type' => 'apr_other_child_rec_t',
    'elts' => []
  },
  {
    'type' => 'apr_pollfd_t',
    'elts' => [
      {
        'type' => 'apr_pool_t *',
        'name' => 'p'
      },
      {
        'type' => 'apr_datatype_e',
        'name' => 'desc_type'
      },
      {
        'type' => 'apr_int16_t',
        'name' => 'reqevents'
      },
      {
        'type' => 'apr_int16_t',
        'name' => 'rtnevents'
      },
      {
        'type' => 'apr_descriptor',
        'name' => 'desc'
      },
      {
        'type' => 'void *',
        'name' => 'client_data'
      }
    ]
  },
  {
    'type' => 'apr_pollset_t',
    'elts' => []
  },
  {
    'type' => 'apr_pool_t',
    'elts' => []
  },
  {
    'type' => 'apr_port_t',
    'elts' => []
  },
  {
    'type' => 'apr_proc_mutex_t',
    'elts' => []
  },
  {
    'type' => 'apr_proc_t',
    'elts' => [
      {
        'type' => 'pid_t',
        'name' => 'pid'
      },
      {
        'type' => 'apr_file_t *',
        'name' => 'in'
      },
      {
        'type' => 'apr_file_t *',
        'name' => 'out'
      },
      {
        'type' => 'apr_file_t *',
        'name' => 'err'
      }
    ]
  },
  {
    'type' => 'apr_procattr_t',
    'elts' => []
  },
  {
    'type' => 'apr_queue_t',
    'elts' => []
  },
  {
    'type' => 'apr_read_type_e',
    'elts' => []
  },
  {
    'type' => 'apr_reslist_constructor',
    'elts' => []
  },
  {
    'type' => 'apr_reslist_destructor',
    'elts' => []
  },
  {
    'type' => 'apr_reslist_t',
    'elts' => []
  },
  {
    'type' => 'apr_sdbm_datum_t',
    'elts' => [
      {
        'type' => 'char *',
        'name' => 'dptr'
      },
      {
        'type' => 'int',
        'name' => 'dsize'
      }
    ]
  },
  {
    'type' => 'apr_sdbm_t',
    'elts' => []
  },
  {
    'type' => 'apr_seek_where_t',
    'elts' => []
  },
  {
    'type' => 'apr_sha1_ctx_t',
    'elts' => [
      {
        'type' => 'apr_uint32_t[5]',
        'name' => 'digest'
      },
      {
        'type' => 'apr_uint32_t',
        'name' => 'count_lo'
      },
      {
        'type' => 'apr_uint32_t',
        'name' => 'count_hi'
      },
      {
        'type' => 'apr_uint32_t[16]',
        'name' => 'data'
      },
      {
        'type' => 'int',
        'name' => 'local'
      }
    ]
  },
  {
    'type' => 'apr_shm_t',
    'elts' => []
  },
  {
    'type' => 'apr_short_interval_time_t',
    'elts' => []
  },
  {
    'type' => 'apr_shutdown_how_e',
    'elts' => []
  },
  {
    'type' => 'apr_sigfunc_t',
    'elts' => []
  },
  {
    'type' => 'apr_signum_t',
    'elts' => []
  },
  {
    'type' => 'apr_size_t',
    'elts' => []
  },
  {
    'type' => 'apr_sockaddr_t',
    'elts' => [
      {
        'type' => 'apr_pool_t *',
        'name' => 'pool'
      },
      {
        'type' => 'char *',
        'name' => 'hostname'
      },
      {
        'type' => 'char *',
        'name' => 'servname'
      },
      {
        'type' => 'apr_port_t',
        'name' => 'port'
      },
      {
        'type' => 'apr_int32_t',
        'name' => 'family'
      },
      {
        'type' => 'union _ANON 1',
        'name' => 'sa'
      },
      {
        'type' => 'apr_socklen_t',
        'name' => 'salen'
      },
      {
        'type' => 'int',
        'name' => 'ipaddr_len'
      },
      {
        'type' => 'int',
        'name' => 'addr_str_len'
      },
      {
        'type' => 'void *',
        'name' => 'ipaddr_ptr'
      },
      {
        'type' => 'apr_sockaddr_t *',
        'name' => 'next'
      }
    ]
  },
  {
    'type' => 'apr_socket_t',
    'elts' => []
  },
  {
    'type' => 'apr_socklen_t',
    'elts' => []
  },
  {
    'type' => 'apr_ssize_t',
    'elts' => []
  },
  {
    'type' => 'apr_status_t',
    'elts' => []
  },
  {
    'type' => 'apr_strmatch_pattern',
    'elts' => [
      {
        'type' => 'const char *(*)(const apr_strmatch_pattern *this_pattern,
                           const char *s, apr_size_t slen)',
        'name' => 'compare'
      },
      {
        'type' => 'const char *',
        'name' => 'pattern'
      },
      {
        'type' => 'apr_size_t',
        'name' => 'length'
      },
      {
        'type' => 'void *',
        'name' => 'context'
      }
    ]
  },
  {
    'type' => 'apr_table_entry_t',
    'elts' => [
      {
        'type' => 'char *',
        'name' => 'key'
      },
      {
        'type' => 'char *',
        'name' => 'val'
      },
      {
        'type' => 'apr_uint32_t',
        'name' => 'key_checksum'
      }
    ]
  },
  {
    'type' => 'apr_table_t',
    'elts' => []
  },
  {
    'type' => 'apr_text',
    'elts' => [
      {
        'type' => 'const char *',
        'name' => 'text'
      },
      {
        'type' => 'apr_text *',
        'name' => 'next'
      }
    ]
  },
  {
    'type' => 'apr_text_header',
    'elts' => [
      {
        'type' => 'apr_text *',
        'name' => 'first'
      },
      {
        'type' => 'apr_text *',
        'name' => 'last'
      }
    ]
  },
  {
    'type' => 'apr_thread_cond_t',
    'elts' => []
  },
  {
    'type' => 'apr_thread_mutex_t',
    'elts' => []
  },
  {
    'type' => 'apr_thread_once_t',
    'elts' => []
  },
  {
    'type' => 'apr_thread_rwlock_t',
    'elts' => []
  },
  {
    'type' => 'apr_thread_start_t',
    'elts' => []
  },
  {
    'type' => 'apr_thread_t',
    'elts' => []
  },
  {
    'type' => 'apr_threadattr_t',
    'elts' => []
  },
  {
    'type' => 'apr_threadkey_t',
    'elts' => []
  },
  {
    'type' => 'apr_time_exp_t',
    'elts' => [
      {
        'type' => 'apr_int32_t',
        'name' => 'tm_usec'
      },
      {
        'type' => 'apr_int32_t',
        'name' => 'tm_sec'
      },
      {
        'type' => 'apr_int32_t',
        'name' => 'tm_min'
      },
      {
        'type' => 'apr_int32_t',
        'name' => 'tm_hour'
      },
      {
        'type' => 'apr_int32_t',
        'name' => 'tm_mday'
      },
      {
        'type' => 'apr_int32_t',
        'name' => 'tm_mon'
      },
      {
        'type' => 'apr_int32_t',
        'name' => 'tm_year'
      },
      {
        'type' => 'apr_int32_t',
        'name' => 'tm_wday'
      },
      {
        'type' => 'apr_int32_t',
        'name' => 'tm_yday'
      },
      {
        'type' => 'apr_int32_t',
        'name' => 'tm_isdst'
      },
      {
        'type' => 'apr_int32_t',
        'name' => 'tm_gmtoff'
      }
    ]
  },
  {
    'type' => 'apr_time_t',
    'elts' => []
  },
  {
    'type' => 'apr_uid_t',
    'elts' => []
  },
  {
    'type' => 'apr_uint16_t',
    'elts' => []
  },
  {
    'type' => 'apr_uint32_t',
    'elts' => []
  },
  {
    'type' => 'apr_uint64_t',
    'elts' => []
  },
  {
    'type' => 'apr_uri_t',
    'elts' => [
      {
        'type' => 'char *',
        'name' => 'scheme'
      },
      {
        'type' => 'char *',
        'name' => 'hostinfo'
      },
      {
        'type' => 'char *',
        'name' => 'user'
      },
      {
        'type' => 'char *',
        'name' => 'password'
      },
      {
        'type' => 'char *',
        'name' => 'hostname'
      },
      {
        'type' => 'char *',
        'name' => 'port_str'
      },
      {
        'type' => 'char *',
        'name' => 'path'
      },
      {
        'type' => 'char *',
        'name' => 'query'
      },
      {
        'type' => 'char *',
        'name' => 'fragment'
      },
      {
        'type' => 'hostent *',
        'name' => 'hostent'
      },
      {
        'type' => 'apr_port_t',
        'name' => 'port'
      },
      {
        'type' => 'unsigned',
        'name' => 'is_initialized'
      },
      {
        'type' => 'unsigned',
        'name' => 'dns_looked_up'
      },
      {
        'type' => 'unsigned',
        'name' => 'dns_resolved'
      }
    ]
  },
  {
    'type' => 'apr_uuid_t',
    'elts' => [
      {
        'type' => 'unsigned char[16]',
        'name' => 'data'
      }
    ]
  },
  {
    'type' => 'apr_version_t',
    'elts' => [
      {
        'type' => 'int',
        'name' => 'major'
      },
      {
        'type' => 'int',
        'name' => 'minor'
      },
      {
        'type' => 'int',
        'name' => 'patch'
      },
      {
        'type' => 'int',
        'name' => 'is_dev'
      }
    ]
  },
  {
    'type' => 'apr_vformatter_buff_t',
    'elts' => [
      {
        'type' => 'char *',
        'name' => 'curpos'
      },
      {
        'type' => 'char *',
        'name' => 'endpos'
      }
    ]
  },
  {
    'type' => 'apr_wait_how_e',
    'elts' => []
  },
  {
    'type' => 'apr_xlate_t',
    'elts' => []
  },
  {
    'type' => 'apr_xml_attr',
    'elts' => [
      {
        'type' => 'const char *',
        'name' => 'name'
      },
      {
        'type' => 'int',
        'name' => 'ns'
      },
      {
        'type' => 'const char *',
        'name' => 'value'
      },
      {
        'type' => 'apr_xml_attr *',
        'name' => 'next'
      }
    ]
  },
  {
    'type' => 'apr_xml_doc',
    'elts' => [
      {
        'type' => 'apr_xml_elem *',
        'name' => 'root'
      },
      {
        'type' => 'apr_array_header_t *',
        'name' => 'namespaces'
      }
    ]
  },
  {
    'type' => 'apr_xml_elem',
    'elts' => [
      {
        'type' => 'const char *',
        'name' => 'name'
      },
      {
        'type' => 'int',
        'name' => 'ns'
      },
      {
        'type' => 'const char *',
        'name' => 'lang'
      },
      {
        'type' => 'apr_text_header',
        'name' => 'first_cdata'
      },
      {
        'type' => 'apr_text_header',
        'name' => 'following_cdata'
      },
      {
        'type' => 'apr_xml_elem *',
        'name' => 'parent'
      },
      {
        'type' => 'apr_xml_elem *',
        'name' => 'next'
      },
      {
        'type' => 'apr_xml_elem *',
        'name' => 'first_child'
      },
      {
        'type' => 'apr_xml_attr *',
        'name' => 'attr'
      },
      {
        'type' => 'apr_xml_elem *',
        'name' => 'last_child'
      },
      {
        'type' => 'apr_xml_ns_scope *',
        'name' => 'ns_scope'
      },
      {
        'type' => 'void *',
        'name' => 'priv'
      }
    ]
  },
  {
    'type' => 'apr_xml_parser',
    'elts' => []
  },
  {
    'type' => 'cmd_func',
    'elts' => []
  },
  {
    'type' => 'cmd_parms',
    'elts' => [
      {
        'type' => 'void *',
        'name' => 'info'
      },
      {
        'type' => 'int',
        'name' => 'override'
      },
      {
        'type' => 'apr_int64_t',
        'name' => 'limited'
      },
      {
        'type' => 'apr_array_header_t *',
        'name' => 'limited_xmethods'
      },
      {
        'type' => 'ap_method_list_t *',
        'name' => 'xlimited'
      },
      {
        'type' => 'ap_configfile_t *',
        'name' => 'config_file'
      },
      {
        'type' => 'ap_directive_t *',
        'name' => 'directive'
      },
      {
        'type' => 'apr_pool_t *',
        'name' => 'pool'
      },
      {
        'type' => 'apr_pool_t *',
        'name' => 'temp_pool'
      },
      {
        'type' => 'server_rec *',
        'name' => 'server'
      },
      {
        'type' => 'char *',
        'name' => 'path'
      },
      {
        'type' => 'const command_rec *',
        'name' => 'cmd'
      },
      {
        'type' => 'ap_conf_vector_t *',
        'name' => 'context'
      },
      {
        'type' => 'const ap_directive_t *',
        'name' => 'err_directive'
      }
    ]
  },
  {
    'type' => 'command_rec',
    'elts' => [
      {
        'type' => 'const char *',
        'name' => 'name'
      },
      {
        'type' => 'cmd_func',
        'name' => 'func'
      },
      {
        'type' => 'void *',
        'name' => 'cmd_data'
      },
      {
        'type' => 'int',
        'name' => 'req_override'
      },
      {
        'type' => 'enum cmd_how',
        'name' => 'args_how'
      },
      {
        'type' => 'const char *',
        'name' => 'errmsg'
      }
    ]
  },
  {
    'type' => 'conn_rec',
    'elts' => [
      {
        'type' => 'apr_pool_t *',
        'name' => 'pool'
      },
      {
        'type' => 'server_rec *',
        'name' => 'base_server'
      },
      {
        'type' => 'void *',
        'name' => 'vhost_lookup_data'
      },
      {
        'type' => 'apr_sockaddr_t *',
        'name' => 'local_addr'
      },
      {
        'type' => 'apr_sockaddr_t *',
        'name' => 'remote_addr'
      },
      {
        'type' => 'char *',
        'name' => 'remote_ip'
      },
      {
        'type' => 'char *',
        'name' => 'remote_host'
      },
      {
        'type' => 'char *',
        'name' => 'remote_logname'
      },
      {
        'type' => 'unsigned',
        'name' => 'aborted'
      },
      {
        'type' => 'ap_conn_keepalive_e',
        'name' => 'keepalive'
      },
      {
        'type' => 'signed int',
        'name' => 'double_reverse'
      },
      {
        'type' => 'int',
        'name' => 'keepalives'
      },
      {
        'type' => 'char *',
        'name' => 'local_ip'
      },
      {
        'type' => 'char *',
        'name' => 'local_host'
      },
      {
        'type' => 'long',
        'name' => 'id'
      },
      {
        'type' => 'ap_conf_vector_t *',
        'name' => 'conn_config'
      },
      {
        'type' => 'apr_table_t *',
        'name' => 'notes'
      },
      {
        'type' => 'ap_filter_t *',
        'name' => 'input_filters'
      },
      {
        'type' => 'ap_filter_t *',
        'name' => 'output_filters'
      },
      {
        'type' => 'void *',
        'name' => 'sbh'
      },
      {
        'type' => 'apr_bucket_alloc_t *',
        'name' => 'bucket_alloc'
      }
    ]
  },
  {
    'type' => 'core_net_rec',
    'elts' => []
  },
  {
    'type' => 'htaccess_result',
    'elts' => [
      {
        'type' => 'const char *',
        'name' => 'dir'
      },
      {
        'type' => 'int',
        'name' => 'override'
      },
      {
        'type' => 'ap_conf_vector_t *',
        'name' => 'htaccess'
      },
      {
        'type' => 'const struct htaccess_result *',
        'name' => 'next'
      }
    ]
  },
  {
    'type' => 'modperl_uri_t',
    'elts' => [
      {
        'type' => 'apr_uri_t',
        'name' => 'uri'
      },
      {
        'type' => 'apr_pool_t *',
        'name' => 'pool'
      },
      {
        'type' => 'char *',
        'name' => 'path_info'
      }
    ]
  },
  {
    'type' => 'module',
    'elts' => [
      {
        'type' => 'int',
        'name' => 'version'
      },
      {
        'type' => 'int',
        'name' => 'minor_version'
      },
      {
        'type' => 'int',
        'name' => 'module_index'
      },
      {
        'type' => 'const char *',
        'name' => 'name'
      },
      {
        'type' => 'void *',
        'name' => 'dynamic_load_handle'
      },
      {
        'type' => 'module_struct *',
        'name' => 'next'
      },
      {
        'type' => 'unsigned long',
        'name' => 'magic'
      },
      {
        'type' => 'void(*) (process_rec *process)',
        'name' => 'rewrite_args'
      },
      {
        'type' => 'void *(*) (apr_pool_t *p, char *dir)',
        'name' => 'create_dir_config'
      },
      {
        'type' => 'void *(*) (apr_pool_t *p, void *base_conf, void *new_conf)',
        'name' => 'merge_dir_config'
      },
      {
        'type' => 'void *(*) (apr_pool_t *p, server_rec *s)',
        'name' => 'create_server_config'
      },
      {
        'type' => 'void *(*) (apr_pool_t *p, void *base_conf,
                                  void *new_conf)',
        'name' => 'merge_server_config'
      },
      {
        'type' => 'const command_rec *',
        'name' => 'cmds'
      },
      {
        'type' => 'void(*) (apr_pool_t *p)',
        'name' => 'register_hooks'
      }
    ]
  },
  {
    'type' => 'piped_log',
    'elts' => [
      {
        'type' => 'apr_pool_t *',
        'name' => 'p'
      },
      {
        'type' => 'apr_file_t *[2]',
        'name' => 'fds'
      },
      {
        'type' => 'char *',
        'name' => 'program'
      },
      {
        'type' => 'apr_proc_t *',
        'name' => 'pid'
      }
    ]
  },
  {
    'type' => 'process_rec',
    'elts' => [
      {
        'type' => 'apr_pool_t *',
        'name' => 'pool'
      },
      {
        'type' => 'apr_pool_t *',
        'name' => 'pconf'
      },
      {
        'type' => 'int',
        'name' => 'argc'
      },
      {
        'type' => 'const char * const *',
        'name' => 'argv'
      },
      {
        'type' => 'const char *',
        'name' => 'short_name'
      }
    ]
  },
  {
    'type' => 'request_rec',
    'elts' => [
      {
        'type' => 'apr_pool_t *',
        'name' => 'pool'
      },
      {
        'type' => 'conn_rec *',
        'name' => 'connection'
      },
      {
        'type' => 'server_rec *',
        'name' => 'server'
      },
      {
        'type' => 'request_rec *',
        'name' => 'next'
      },
      {
        'type' => 'request_rec *',
        'name' => 'prev'
      },
      {
        'type' => 'request_rec *',
        'name' => 'main'
      },
      {
        'type' => 'char *',
        'name' => 'the_request'
      },
      {
        'type' => 'int',
        'name' => 'assbackwards'
      },
      {
        'type' => 'int',
        'name' => 'proxyreq'
      },
      {
        'type' => 'int',
        'name' => 'header_only'
      },
      {
        'type' => 'char *',
        'name' => 'protocol'
      },
      {
        'type' => 'int',
        'name' => 'proto_num'
      },
      {
        'type' => 'const char *',
        'name' => 'hostname'
      },
      {
        'type' => 'apr_time_t',
        'name' => 'request_time'
      },
      {
        'type' => 'const char *',
        'name' => 'status_line'
      },
      {
        'type' => 'int',
        'name' => 'status'
      },
      {
        'type' => 'const char *',
        'name' => 'method'
      },
      {
        'type' => 'int',
        'name' => 'method_number'
      },
      {
        'type' => 'apr_int64_t',
        'name' => 'allowed'
      },
      {
        'type' => 'apr_array_header_t *',
        'name' => 'allowed_xmethods'
      },
      {
        'type' => 'ap_method_list_t *',
        'name' => 'allowed_methods'
      },
      {
        'type' => 'apr_off_t',
        'name' => 'sent_bodyct'
      },
      {
        'type' => 'apr_off_t',
        'name' => 'bytes_sent'
      },
      {
        'type' => 'apr_time_t',
        'name' => 'mtime'
      },
      {
        'type' => 'int',
        'name' => 'chunked'
      },
      {
        'type' => 'const char *',
        'name' => 'range'
      },
      {
        'type' => 'apr_off_t',
        'name' => 'clength'
      },
      {
        'type' => 'apr_off_t',
        'name' => 'remaining'
      },
      {
        'type' => 'apr_off_t',
        'name' => 'read_length'
      },
      {
        'type' => 'int',
        'name' => 'read_body'
      },
      {
        'type' => 'int',
        'name' => 'read_chunked'
      },
      {
        'type' => 'unsigned',
        'name' => 'expecting_100'
      },
      {
        'type' => 'apr_table_t *',
        'name' => 'headers_in'
      },
      {
        'type' => 'apr_table_t *',
        'name' => 'headers_out'
      },
      {
        'type' => 'apr_table_t *',
        'name' => 'err_headers_out'
      },
      {
        'type' => 'apr_table_t *',
        'name' => 'subprocess_env'
      },
      {
        'type' => 'apr_table_t *',
        'name' => 'notes'
      },
      {
        'type' => 'const char *',
        'name' => 'content_type'
      },
      {
        'type' => 'const char *',
        'name' => 'handler'
      },
      {
        'type' => 'const char *',
        'name' => 'content_encoding'
      },
      {
        'type' => 'apr_array_header_t *',
        'name' => 'content_languages'
      },
      {
        'type' => 'char *',
        'name' => 'vlist_validator'
      },
      {
        'type' => 'char *',
        'name' => 'user'
      },
      {
        'type' => 'char *',
        'name' => 'ap_auth_type'
      },
      {
        'type' => 'int',
        'name' => 'no_cache'
      },
      {
        'type' => 'int',
        'name' => 'no_local_copy'
      },
      {
        'type' => 'char *',
        'name' => 'unparsed_uri'
      },
      {
        'type' => 'char *',
        'name' => 'uri'
      },
      {
        'type' => 'char *',
        'name' => 'filename'
      },
      {
        'type' => 'char *',
        'name' => 'canonical_filename'
      },
      {
        'type' => 'char *',
        'name' => 'path_info'
      },
      {
        'type' => 'char *',
        'name' => 'args'
      },
      {
        'type' => 'apr_finfo_t',
        'name' => 'finfo'
      },
      {
        'type' => 'apr_uri_t',
        'name' => 'parsed_uri'
      },
      {
        'type' => 'int',
        'name' => 'used_path_info'
      },
      {
        'type' => 'ap_conf_vector_t *',
        'name' => 'per_dir_config'
      },
      {
        'type' => 'ap_conf_vector_t *',
        'name' => 'request_config'
      },
      {
        'type' => 'const struct htaccess_result *',
        'name' => 'htaccess'
      },
      {
        'type' => 'ap_filter_t *',
        'name' => 'output_filters'
      },
      {
        'type' => 'ap_filter_t *',
        'name' => 'input_filters'
      },
      {
        'type' => 'ap_filter_t *',
        'name' => 'proto_output_filters'
      },
      {
        'type' => 'ap_filter_t *',
        'name' => 'proto_input_filters'
      },
      {
        'type' => 'int',
        'name' => 'eos_sent'
      }
    ]
  },
  {
    'type' => 'server_addr_rec',
    'elts' => [
      {
        'type' => 'server_addr_rec *',
        'name' => 'next'
      },
      {
        'type' => 'apr_sockaddr_t *',
        'name' => 'host_addr'
      },
      {
        'type' => 'apr_port_t',
        'name' => 'host_port'
      },
      {
        'type' => 'char *',
        'name' => 'virthost'
      }
    ]
  },
  {
    'type' => 'server_rec',
    'elts' => [
      {
        'type' => 'process_rec *',
        'name' => 'process'
      },
      {
        'type' => 'server_rec *',
        'name' => 'next'
      },
      {
        'type' => 'const char *',
        'name' => 'defn_name'
      },
      {
        'type' => 'unsigned',
        'name' => 'defn_line_number'
      },
      {
        'type' => 'char *',
        'name' => 'server_admin'
      },
      {
        'type' => 'char *',
        'name' => 'server_hostname'
      },
      {
        'type' => 'apr_port_t',
        'name' => 'port'
      },
      {
        'type' => 'char *',
        'name' => 'error_fname'
      },
      {
        'type' => 'apr_file_t *',
        'name' => 'error_log'
      },
      {
        'type' => 'int',
        'name' => 'loglevel'
      },
      {
        'type' => 'int',
        'name' => 'is_virtual'
      },
      {
        'type' => 'ap_conf_vector_t *',
        'name' => 'module_config'
      },
      {
        'type' => 'ap_conf_vector_t *',
        'name' => 'lookup_defaults'
      },
      {
        'type' => 'server_addr_rec *',
        'name' => 'addrs'
      },
      {
        'type' => 'apr_interval_time_t',
        'name' => 'timeout'
      },
      {
        'type' => 'apr_interval_time_t',
        'name' => 'keep_alive_timeout'
      },
      {
        'type' => 'int',
        'name' => 'keep_alive_max'
      },
      {
        'type' => 'int',
        'name' => 'keep_alive'
      },
      {
        'type' => 'const char *',
        'name' => 'path'
      },
      {
        'type' => 'int',
        'name' => 'pathlen'
      },
      {
        'type' => 'apr_array_header_t *',
        'name' => 'names'
      },
      {
        'type' => 'apr_array_header_t *',
        'name' => 'wild_names'
      },
      {
        'type' => 'int',
        'name' => 'limit_req_line'
      },
      {
        'type' => 'int',
        'name' => 'limit_req_fieldsize'
      },
      {
        'type' => 'int',
        'name' => 'limit_req_fields'
      }
    ]
  },
  {
    'type' => 'subrequest_rec',
    'elts' => []
  },
  {
    'type' => 'unixd_config_rec',
    'elts' => [
      {
        'type' => 'const char *',
        'name' => 'user_name'
      },
      {
        'type' => 'uid_t',
        'name' => 'user_id'
      },
      {
        'type' => 'gid_t',
        'name' => 'group_id'
      },
      {
        'type' => 'int',
        'name' => 'suexec_enabled'
      }
    ]
  },
  {
    'type' => 'modperl_interp_t',
    'elts' => [
      {
        'type' => 'modperl_interp_pool_t *',
        'name' => 'mip'
      },
      {
        'type' => 'PerlInterpreter *',
        'name' => 'perl'
      },
      {
        'type' => 'int',
        'name' => 'num_requests'
      },
      {
        'type' => 'U8',
        'name' => 'flags'
      },
      {
        'type' => 'modperl_config_con_t *',
        'name' => 'ccfg'
      },
      {
        'type' => 'int',
        'name' => 'refcnt'
      },
      {
        'type' => 'unsigned long',
        'name' => 'tid'
      }
    ]
  },
  {
    'type' => 'modperl_interp_pool_t',
    'elts' => [
      {
        'type' => 'server_rec *',
        'name' => 'server'
      },
      {
        'type' => 'modperl_tipool_t *',
        'name' => 'tipool'
      },
      {
        'type' => 'modperl_tipool_config_t *',
        'name' => 'tipool_cfg'
      },
      {
        'type' => 'modperl_interp_t *',
        'name' => 'parent'
      }
    ]
  },
  {
    'type' => 'modperl_tipool_t',
    'elts' => [
      {
        'type' => 'perl_mutex',
        'name' => 'tiplock'
      },
      {
        'type' => 'perl_cond',
        'name' => 'available'
      },
      {
        'type' => 'modperl_list_t *',
        'name' => 'idle'
      },
      {
        'type' => 'modperl_list_t *',
        'name' => 'busy'
      },
      {
        'type' => 'int',
        'name' => 'in_use'
      },
      {
        'type' => 'int',
        'name' => 'size'
      },
      {
        'type' => 'void *',
        'name' => 'data'
      },
      {
        'type' => 'modperl_tipool_config_t *',
        'name' => 'cfg'
      },
      {
        'type' => 'modperl_tipool_vtbl_t *',
        'name' => 'func'
      }
    ]
  },
  {
    'type' => 'modperl_tipool_config_t',
    'elts' => [
      {
        'type' => 'int',
        'name' => 'start'
      },
      {
        'type' => 'int',
        'name' => 'min_spare'
      },
      {
        'type' => 'int',
        'name' => 'max_spare'
      },
      {
        'type' => 'int',
        'name' => 'max'
      },
      {
        'type' => 'int',
        'name' => 'max_requests'
      }
    ]
  }
];


1;