package Apache2::StructureTable;

# !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
# ! WARNING: generated by Apache2::ParseSource/0.02
# !          Mon Jul  1 12:38:15 2013
# !          do NOT edit, any changes will be lost !
# !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

$Apache2::StructureTable = [
  {
    'type' => 'ap_HOOK_access_checker_ex_t',
    'elts' => []
  },
  {
    'type' => 'ap_HOOK_access_checker_t',
    'elts' => []
  },
  {
    'type' => 'ap_HOOK_auth_checker_t',
    'elts' => []
  },
  {
    'type' => 'ap_HOOK_check_config_t',
    'elts' => []
  },
  {
    'type' => 'ap_HOOK_check_user_id_t',
    'elts' => []
  },
  {
    'type' => 'ap_HOOK_child_init_t',
    'elts' => []
  },
  {
    'type' => 'ap_HOOK_child_status_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_drop_privileges_t',
    'elts' => []
  },
  {
    'type' => 'ap_HOOK_end_generation_t',
    'elts' => []
  },
  {
    'type' => 'ap_HOOK_error_log_t',
    'elts' => []
  },
  {
    'type' => 'ap_HOOK_expr_lookup_t',
    'elts' => []
  },
  {
    'type' => 'ap_HOOK_fixups_t',
    'elts' => []
  },
  {
    'type' => 'ap_HOOK_generate_log_id_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_scheme_t',
    'elts' => []
  },
  {
    'type' => 'ap_HOOK_insert_error_filter_t',
    'elts' => []
  },
  {
    'type' => 'ap_HOOK_insert_filter_t',
    'elts' => []
  },
  {
    'type' => 'ap_HOOK_insert_network_bucket_t',
    'elts' => []
  },
  {
    'type' => 'ap_HOOK_log_transaction_t',
    'elts' => []
  },
  {
    'type' => 'ap_HOOK_map_to_storage_t',
    'elts' => []
  },
  {
    'type' => 'ap_HOOK_monitor_t',
    'elts' => []
  },
  {
    'type' => 'ap_HOOK_mpm_get_name_t',
    'elts' => []
  },
  {
    'type' => 'ap_HOOK_mpm_query_t',
    'elts' => []
  },
  {
    'type' => 'ap_HOOK_mpm_register_timed_callback_t',
    'elts' => []
  },
  {
    'type' => 'ap_HOOK_mpm_t',
    'elts' => []
  },
  {
    'type' => 'ap_HOOK_note_auth_failure_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_pre_read_request_t',
    'elts' => []
  },
  {
    'type' => 'ap_HOOK_process_connection_t',
    'elts' => []
  },
  {
    'type' => 'ap_HOOK_quick_handler_t',
    'elts' => []
  },
  {
    'type' => 'ap_HOOK_session_decode_t',
    'elts' => []
  },
  {
    'type' => 'ap_HOOK_session_encode_t',
    'elts' => []
  },
  {
    'type' => 'ap_HOOK_session_load_t',
    'elts' => []
  },
  {
    'type' => 'ap_HOOK_session_save_t',
    'elts' => []
  },
  {
    'type' => 'ap_HOOK_status_hook_t',
    'elts' => []
  },
  {
    'type' => 'ap_HOOK_test_config_t',
    'elts' => []
  },
  {
    'type' => 'ap_HOOK_translate_name_t',
    'elts' => []
  },
  {
    'type' => 'ap_HOOK_type_checker_t',
    'elts' => []
  },
  {
    'type' => 'ap_HOOK_watchdog_exit_t',
    'elts' => []
  },
  {
    'type' => 'ap_HOOK_watchdog_init_t',
    'elts' => []
  },
  {
    'type' => 'ap_HOOK_watchdog_need_t',
    'elts' => []
  },
  {
    'type' => 'ap_HOOK_watchdog_step_t',
    'elts' => []
  },
  {
    'type' => 'ap_LINK_access_checker_ex_t',
    'elts' => [
      {
        'type' => 'ap_HOOK_access_checker_ex_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_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_config_t',
    'elts' => [
      {
        'type' => 'ap_HOOK_check_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_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_child_status_t',
    'elts' => [
      {
        'type' => 'ap_HOOK_child_status_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_drop_privileges_t',
    'elts' => [
      {
        'type' => 'ap_HOOK_drop_privileges_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_end_generation_t',
    'elts' => [
      {
        'type' => 'ap_HOOK_end_generation_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_expr_lookup_t',
    'elts' => [
      {
        'type' => 'ap_HOOK_expr_lookup_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_generate_log_id_t',
    'elts' => [
      {
        'type' => 'ap_HOOK_generate_log_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_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_scheme_t',
    'elts' => [
      {
        'type' => 'ap_HOOK_http_scheme_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_insert_network_bucket_t',
    'elts' => [
      {
        'type' => 'ap_HOOK_insert_network_bucket_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_monitor_t',
    'elts' => [
      {
        'type' => 'ap_HOOK_monitor_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_mpm_get_name_t',
    'elts' => [
      {
        'type' => 'ap_HOOK_mpm_get_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_mpm_query_t',
    'elts' => [
      {
        'type' => 'ap_HOOK_mpm_query_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_mpm_register_timed_callback_t',
    'elts' => [
      {
        'type' => 'ap_HOOK_mpm_register_timed_callback_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_mpm_t',
    'elts' => [
      {
        'type' => 'ap_HOOK_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_note_auth_failure_t',
    'elts' => [
      {
        'type' => 'ap_HOOK_note_auth_failure_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_pre_read_request_t',
    'elts' => [
      {
        'type' => 'ap_HOOK_pre_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_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_session_decode_t',
    'elts' => [
      {
        'type' => 'ap_HOOK_session_decode_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_session_encode_t',
    'elts' => [
      {
        'type' => 'ap_HOOK_session_encode_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_session_load_t',
    'elts' => [
      {
        'type' => 'ap_HOOK_session_load_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_session_save_t',
    'elts' => [
      {
        'type' => 'ap_HOOK_session_save_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_test_config_t',
    'elts' => [
      {
        'type' => 'ap_HOOK_test_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_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_LINK_watchdog_exit_t',
    'elts' => [
      {
        'type' => 'ap_HOOK_watchdog_exit_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_watchdog_init_t',
    'elts' => [
      {
        'type' => 'ap_HOOK_watchdog_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_watchdog_need_t',
    'elts' => [
      {
        'type' => 'ap_HOOK_watchdog_need_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_watchdog_step_t',
    'elts' => [
      {
        'type' => 'ap_HOOK_watchdog_step_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' => 'apr_status_t(*) (char *ch, void *param)',
        'name' => 'getch'
      },
      {
        'type' => 'apr_status_t(*) (void *buf, apr_size_t bufsiz, void *param)',
        'name' => 'getstr'
      },
      {
        'type' => 'apr_status_t(*) (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_cookie_do',
    'elts' => [
      {
        'type' => 'request_rec *',
        'name' => 'r'
      },
      {
        'type' => 'const char *',
        'name' => 'name'
      },
      {
        'type' => 'const char *',
        'name' => 'encoded'
      },
      {
        'type' => 'apr_table_t *',
        'name' => 'new_cookies'
      },
      {
        'type' => 'int',
        'name' => 'duplicated'
      }
    ]
  },
  {
    'type' => 'ap_dbd_t',
    'elts' => [
      {
        'type' => 'apr_dbd_t *',
        'name' => 'handle'
      },
      {
        'type' => 'const apr_dbd_driver_t *',
        'name' => 'driver'
      },
      {
        'type' => 'apr_hash_t *',
        'name' => 'prepared'
      },
      {
        'type' => 'apr_pool_t *',
        'name' => 'pool'
      }
    ]
  },
  {
    '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_directive_t *',
        'name' => 'last'
      }
    ]
  },
  {
    'type' => 'ap_errorlog_format_item',
    'elts' => [
      {
        'type' => 'ap_errorlog_handler_fn_t *',
        'name' => 'func'
      },
      {
        'type' => 'const char *',
        'name' => 'arg'
      },
      {
        'type' => 'unsigned int',
        'name' => 'flags'
      },
      {
        'type' => 'unsigned int',
        'name' => 'min_loglevel'
      }
    ]
  },
  {
    'type' => 'ap_errorlog_handler',
    'elts' => [
      {
        'type' => 'ap_errorlog_handler_fn_t *',
        'name' => 'func'
      },
      {
        'type' => 'int',
        'name' => 'flags'
      }
    ]
  },
  {
    'type' => 'ap_errorlog_handler_fn_t',
    'elts' => []
  },
  {
    'type' => 'ap_errorlog_info',
    'elts' => [
      {
        'type' => 'const server_rec *',
        'name' => 's'
      },
      {
        'type' => 'const conn_rec *',
        'name' => 'c'
      },
      {
        'type' => 'const request_rec *',
        'name' => 'r'
      },
      {
        'type' => 'const request_rec *',
        'name' => 'rmain'
      },
      {
        'type' => 'apr_pool_t *',
        'name' => 'pool'
      },
      {
        'type' => 'const char *',
        'name' => 'file'
      },
      {
        'type' => 'int',
        'name' => 'line'
      },
      {
        'type' => 'int',
        'name' => 'module_index'
      },
      {
        'type' => 'int',
        'name' => 'level'
      },
      {
        'type' => 'apr_status_t',
        'name' => 'status'
      },
      {
        'type' => 'int',
        'name' => 'using_syslog'
      },
      {
        'type' => 'int',
        'name' => 'startup'
      },
      {
        'type' => 'const char *',
        'name' => 'format'
      }
    ]
  },
  {
    'type' => 'ap_expr_eval_ctx_t',
    'elts' => [
      {
        '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' => 'err'
      },
      {
        'type' => 'const ap_expr_info_t *',
        'name' => 'info'
      },
      {
        'type' => 'ap_regmatch_t *',
        'name' => 're_pmatch'
      },
      {
        'type' => 'apr_size_t',
        'name' => 're_nmatch'
      },
      {
        'type' => 'const char **',
        'name' => 're_source'
      },
      {
        'type' => 'const char **',
        'name' => 'vary_this'
      },
      {
        'type' => 'const char **',
        'name' => 'result_string'
      },
      {
        'type' => 'void *',
        'name' => 'data'
      },
      {
        'type' => 'int',
        'name' => 'reclvl'
      }
    ]
  },
  {
    'type' => 'ap_expr_info_t',
    'elts' => [
      {
        'type' => 'ap_expr_t *',
        'name' => 'root_node'
      },
      {
        'type' => 'const char *',
        'name' => 'filename'
      },
      {
        'type' => 'unsigned int',
        'name' => 'line_number'
      },
      {
        'type' => 'unsigned int',
        'name' => 'flags'
      },
      {
        'type' => 'int',
        'name' => 'module_index'
      }
    ]
  },
  {
    'type' => 'ap_expr_list_func_t',
    'elts' => []
  },
  {
    'type' => 'ap_expr_lookup_fn_t',
    'elts' => []
  },
  {
    'type' => 'ap_expr_lookup_parms',
    'elts' => [
      {
        'type' => 'int',
        'name' => 'type'
      },
      {
        'type' => 'const char *',
        'name' => 'name'
      },
      {
        'type' => 'int',
        'name' => 'flags'
      },
      {
        'type' => 'apr_pool_t *',
        'name' => 'pool'
      },
      {
        'type' => 'apr_pool_t *',
        'name' => 'ptemp'
      },
      {
        'type' => 'const void **',
        'name' => 'func'
      },
      {
        'type' => 'const void **',
        'name' => 'data'
      },
      {
        'type' => 'const char **',
        'name' => 'err'
      },
      {
        'type' => 'const char *',
        'name' => 'arg'
      }
    ]
  },
  {
    'type' => 'ap_expr_op_binary_t',
    'elts' => []
  },
  {
    'type' => 'ap_expr_op_unary_t',
    'elts' => []
  },
  {
    'type' => 'ap_expr_string_func_t',
    'elts' => []
  },
  {
    'type' => 'ap_expr_t',
    'elts' => []
  },
  {
    'type' => 'ap_expr_var_func_t',
    'elts' => []
  },
  {
    'type' => 'ap_filter_func',
    'elts' => [
      {
        'type' => 'ap_out_filter_func',
        'name' => 'out_func'
      },
      {
        'type' => 'ap_in_filter_func',
        'name' => 'in_func'
      }
    ]
  },
  {
    'type' => 'ap_filter_provider_t',
    'elts' => []
  },
  {
    '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_rec_t *',
        'name' => 'next'
      },
      {
        'type' => 'ap_filter_provider_t *',
        'name' => 'providers'
      },
      {
        'type' => 'ap_filter_type',
        'name' => 'ftype'
      },
      {
        'type' => 'int',
        'name' => 'debug'
      },
      {
        'type' => 'unsigned int',
        'name' => 'proto_flags'
      }
    ]
  },
  {
    '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_form_pair_t',
    'elts' => [
      {
        'type' => 'const char *',
        'name' => 'name'
      },
      {
        'type' => 'apr_bucket_brigade *',
        'name' => 'value'
      }
    ]
  },
  {
    '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_list_provider_groups_t',
    'elts' => [
      {
        'type' => 'const char *',
        'name' => 'provider_group'
      },
      {
        'type' => 'const char *',
        'name' => 'provider_version'
      }
    ]
  },
  {
    'type' => 'ap_list_provider_names_t',
    'elts' => [
      {
        'type' => 'const char *',
        'name' => 'provider_name'
      }
    ]
  },
  {
    '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' => 'const char *',
        'name' => 'protocol'
      },
      {
        'type' => 'ap_slave_t *',
        'name' => 'slave'
      }
    ]
  },
  {
    'type' => 'ap_loadavg_t',
    'elts' => [
      {
        'type' => 'float',
        'name' => 'loadavg'
      },
      {
        'type' => 'float',
        'name' => 'loadavg5'
      },
      {
        'type' => 'float',
        'name' => 'loadavg15'
      }
    ]
  },
  {
    '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_module_symbol_t',
    'elts' => [
      {
        'type' => 'const char *',
        'name' => 'name'
      },
      {
        'type' => 'module *',
        'name' => 'modp'
      }
    ]
  },
  {
    'type' => 'ap_mpm_callback_fn_t',
    'elts' => []
  },
  {
    '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' => 'ap_reclaim_callback_fn_t',
    'elts' => []
  },
  {
    'type' => 'ap_regex_t',
    'elts' => [
      {
        'type' => 'void *',
        'name' => 're_pcre'
      },
      {
        'type' => 'int',
        'name' => 're_nsub'
      },
      {
        'type' => 'apr_size_t',
        'name' => 're_erroffset'
      }
    ]
  },
  {
    'type' => 'ap_regmatch_t',
    'elts' => [
      {
        'type' => 'int',
        'name' => 'rm_so'
      },
      {
        'type' => 'int',
        'name' => 'rm_eo'
      }
    ]
  },
  {
    'type' => 'ap_rxplus_t',
    'elts' => [
      {
        'type' => 'ap_regex_t',
        'name' => 'rx'
      },
      {
        'type' => 'apr_uint32_t',
        'name' => 'flags'
      },
      {
        'type' => 'const char *',
        'name' => 'subs'
      },
      {
        'type' => 'const char *',
        'name' => 'match'
      },
      {
        'type' => 'apr_size_t',
        'name' => 'nmatch'
      },
      {
        'type' => 'ap_regmatch_t *',
        'name' => 'pmatch'
      }
    ]
  },
  {
    'type' => 'ap_sb_handle_t',
    'elts' => []
  },
  {
    'type' => 'ap_scoreboard_e',
    'elts' => []
  },
  {
    'type' => 'ap_slave_t',
    'elts' => []
  },
  {
    'type' => 'ap_sload_t',
    'elts' => [
      {
        'type' => 'int',
        'name' => 'idle'
      },
      {
        'type' => 'int',
        'name' => 'busy'
      },
      {
        'type' => 'apr_off_t',
        'name' => 'bytes_served'
      },
      {
        'type' => 'unsigned long',
        'name' => 'access_count'
      }
    ]
  },
  {
    'type' => 'ap_slotmem_callback_fn_t',
    'elts' => []
  },
  {
    'type' => 'ap_slotmem_instance_t',
    'elts' => []
  },
  {
    'type' => 'ap_slotmem_provider_t',
    'elts' => [
      {
        'type' => 'const char *',
        'name' => 'name'
      },
      {
        'type' => 'apr_status_t(*)(ap_slotmem_instance_t *s, ap_slotmem_callback_fn_t *func, void *data, apr_pool_t *pool)',
        'name' => 'doall'
      },
      {
        'type' => 'apr_status_t(*)(ap_slotmem_instance_t **inst, const char *name, apr_size_t item_size, unsigned int item_num, ap_slotmem_type_t type, apr_pool_t *pool)',
        'name' => 'create'
      },
      {
        'type' => 'apr_status_t(*)(ap_slotmem_instance_t **inst, const char *name, apr_size_t *item_size, unsigned int *item_num, apr_pool_t *pool)',
        'name' => 'attach'
      },
      {
        'type' => 'apr_status_t(*)(ap_slotmem_instance_t *s, unsigned int item_id, void**mem)',
        'name' => 'dptr'
      },
      {
        'type' => 'apr_status_t(*)(ap_slotmem_instance_t *s, unsigned int item_id, unsigned char *dest, apr_size_t dest_len)',
        'name' => 'get'
      },
      {
        'type' => 'apr_status_t(*)(ap_slotmem_instance_t *slot, unsigned int item_id, unsigned char *src, apr_size_t src_len)',
        'name' => 'put'
      },
      {
        'type' => 'unsigned int(*)(ap_slotmem_instance_t *s)',
        'name' => 'num_slots'
      },
      {
        'type' => 'unsigned int(*)(ap_slotmem_instance_t *s)',
        'name' => 'num_free_slots'
      },
      {
        'type' => 'apr_size_t(*)(ap_slotmem_instance_t *s)',
        'name' => 'slot_size'
      },
      {
        'type' => 'apr_status_t(*)(ap_slotmem_instance_t *s, unsigned int *item_id)',
        'name' => 'grab'
      },
      {
        'type' => 'apr_status_t(*)(ap_slotmem_instance_t *s, unsigned int item_id)',
        'name' => 'release'
      },
      {
        'type' => 'apr_status_t(*)(ap_slotmem_instance_t *s, unsigned int item_id)',
        'name' => 'fgrab'
      }
    ]
  },
  {
    'type' => 'ap_slotmem_type_t',
    'elts' => []
  },
  {
    'type' => 'ap_socache_instance_t',
    'elts' => []
  },
  {
    'type' => 'ap_socache_iterator_t',
    'elts' => []
  },
  {
    'type' => 'ap_unix_identity_t',
    'elts' => [
      {
        'type' => 'uid_t',
        'name' => 'uid'
      },
      {
        'type' => 'gid_t',
        'name' => 'gid'
      },
      {
        'type' => 'int',
        'name' => 'userdir'
      }
    ]
  },
  {
    'type' => 'ap_version_t',
    'elts' => [
      {
        'type' => 'int',
        'name' => 'major'
      },
      {
        'type' => 'int',
        'name' => 'minor'
      },
      {
        'type' => 'int',
        'name' => 'patch'
      },
      {
        'type' => 'const char *',
        'name' => 'add_string'
      }
    ]
  },
  {
    'type' => 'ap_vhost_iterate_conn_cb',
    'elts' => []
  },
  {
    'type' => 'ap_watchdog_callback_fn_t',
    'elts' => []
  },
  {
    'type' => 'ap_watchdog_t',
    'elts' => []
  },
  {
    'type' => 'apr_OFN_access_compat_ap_satisfies_t',
    'elts' => []
  },
  {
    'type' => 'apr_OFN_ap_authn_cache_store_t
 ',
    'elts' => []
  },
  {
    'type' => 'apr_OFN_ap_dbd_acquire_t',
    'elts' => []
  },
  {
    'type' => 'apr_OFN_ap_dbd_cacquire_t',
    'elts' => []
  },
  {
    'type' => 'apr_OFN_ap_dbd_close_t',
    'elts' => []
  },
  {
    'type' => 'apr_OFN_ap_dbd_open_t',
    'elts' => []
  },
  {
    'type' => 'apr_OFN_ap_dbd_prepare_t',
    'elts' => []
  },
  {
    'type' => 'apr_OFN_ap_find_loaded_module_symbol_t
 ',
    'elts' => []
  },
  {
    'type' => 'apr_OFN_ap_ident_lookup_t
 ',
    'elts' => []
  },
  {
    'type' => 'apr_OFN_ap_logio_add_bytes_in_t
 ',
    'elts' => []
  },
  {
    'type' => 'apr_OFN_ap_logio_add_bytes_out_t
 ',
    'elts' => []
  },
  {
    'type' => 'apr_OFN_ap_logio_get_last_bytes_t',
    'elts' => []
  },
  {
    'type' => 'apr_OFN_ap_register_rewrite_mapfunc_t
 ',
    'elts' => []
  },
  {
    'type' => 'apr_OFN_ap_request_insert_filter_t',
    'elts' => []
  },
  {
    'type' => 'apr_OFN_ap_request_remove_filter_t',
    'elts' => []
  },
  {
    'type' => 'apr_OFN_ap_session_get_t
 ',
    'elts' => []
  },
  {
    'type' => 'apr_OFN_ap_session_load_t
 ',
    'elts' => []
  },
  {
    'type' => 'apr_OFN_ap_session_save_t
 ',
    'elts' => []
  },
  {
    'type' => 'apr_OFN_ap_session_set_t
 ',
    'elts' => []
  },
  {
    'type' => 'apr_OFN_ap_signal_server_t',
    'elts' => []
  },
  {
    'type' => 'apr_OFN_ap_watchdog_get_instance_t
 ',
    'elts' => []
  },
  {
    'type' => 'apr_OFN_ap_watchdog_register_callback_t
 ',
    'elts' => []
  },
  {
    'type' => 'apr_OFN_ap_watchdog_set_callback_interval_t
 ',
    'elts' => []
  },
  {
    'type' => 'apr_OFN_authn_ap_auth_name_t',
    'elts' => []
  },
  {
    'type' => 'apr_OFN_authn_ap_auth_type_t',
    'elts' => []
  },
  {
    'type' => 'apr_OFN_authn_ap_list_provider_names_t
 ',
    'elts' => []
  },
  {
    'type' => 'apr_OFN_authz_ap_list_provider_names_t
 ',
    'elts' => []
  },
  {
    'type' => 'apr_OFN_authz_some_auth_required_t',
    'elts' => []
  },
  {
    'type' => 'apr_OFN_modperl_interp_unselect_t',
    'elts' => []
  },
  {
    'type' => 'apr_OFN_modperl_thx_interp_get_t',
    'elts' => []
  },
  {
    'type' => 'apr_OFN_uldap_cache_check_subgroups_t
 ',
    'elts' => []
  },
  {
    'type' => 'apr_OFN_uldap_cache_checkuserid_t
 ',
    'elts' => []
  },
  {
    'type' => 'apr_OFN_uldap_cache_compare_t
 ',
    'elts' => []
  },
  {
    'type' => 'apr_OFN_uldap_cache_comparedn_t
 ',
    'elts' => []
  },
  {
    'type' => 'apr_OFN_uldap_cache_getuserdn_t
 ',
    'elts' => []
  },
  {
    'type' => 'apr_OFN_uldap_connection_close_t',
    'elts' => []
  },
  {
    'type' => 'apr_OFN_uldap_connection_find_t
 ',
    'elts' => []
  },
  {
    'type' => 'apr_OFN_uldap_connection_open_t
 ',
    'elts' => []
  },
  {
    'type' => 'apr_OFN_uldap_connection_unbind_t',
    'elts' => []
  },
  {
    'type' => 'apr_OFN_uldap_ssl_supported_t',
    'elts' => []
  },
  {
    'type' => 'apr_OFN_xml2enc_charset_t
 ',
    'elts' => []
  },
  {
    'type' => 'apr_OFN_xml2enc_filter_t
 ',
    'elts' => []
  },
  {
    'type' => 'apr_abortfunc_t',
    'elts' => []
  },
  {
    'type' => 'apr_allocator_t',
    'elts' => []
  },
  {
    'type' => 'apr_anylock_t',
    'elts' => [
      {
        'type' => 'int',
        'name' => 'type'
      },
      {
        'type' => 'union apr_anylock_u_t',
        'name' => 'lock'
      }
    ]
  },
  {
    '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 68',
        '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_crypto_block_key_mode_e',
    'elts' => []
  },
  {
    'type' => 'apr_crypto_block_key_type_e',
    'elts' => []
  },
  {
    'type' => 'apr_crypto_block_t',
    'elts' => []
  },
  {
    'type' => 'apr_crypto_config_t',
    'elts' => []
  },
  {
    'type' => 'apr_crypto_driver_t',
    'elts' => []
  },
  {
    'type' => 'apr_crypto_hash_add_t',
    'elts' => []
  },
  {
    'type' => 'apr_crypto_hash_finish_t',
    'elts' => []
  },
  {
    'type' => 'apr_crypto_hash_init_t',
    'elts' => []
  },
  {
    'type' => 'apr_crypto_hash_t',
    'elts' => [
      {
        'type' => 'apr_crypto_hash_init_t *',
        'name' => 'init'
      },
      {
        'type' => 'apr_crypto_hash_add_t *',
        'name' => 'add'
      },
      {
        'type' => 'apr_crypto_hash_finish_t *',
        'name' => 'finish'
      },
      {
        'type' => 'apr_size_t',
        'name' => 'size'
      },
      {
        'type' => 'void *',
        'name' => 'data'
      }
    ]
  },
  {
    'type' => 'apr_crypto_key_t',
    'elts' => []
  },
  {
    'type' => 'apr_crypto_t',
    'elts' => []
  },
  {
    'type' => 'apr_datatype_e',
    'elts' => []
  },
  {
    'type' => 'apr_datum_t',
    'elts' => [
      {
        'type' => 'char *',
        'name' => 'dptr'
      },
      {
        'type' => 'apr_size_t',
        'name' => 'dsize'
      }
    ]
  },
  {
    'type' => 'apr_dbd_driver_t',
    'elts' => []
  },
  {
    'type' => 'apr_dbd_prepared_t',
    'elts' => []
  },
  {
    'type' => 'apr_dbd_results_t',
    'elts' => []
  },
  {
    'type' => 'apr_dbd_row_t',
    'elts' => []
  },
  {
    'type' => 'apr_dbd_t',
    'elts' => []
  },
  {
    'type' => 'apr_dbd_transaction_t',
    'elts' => []
  },
  {
    'type' => 'apr_dbd_type_e',
    'elts' => []
  },
  {
    '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_do_callback_fn_t',
    'elts' => []
  },
  {
    'type' => 'apr_hash_index_t',
    'elts' => []
  },
  {
    'type' => 'apr_hash_t',
    'elts' => []
  },
  {
    'type' => 'apr_hashfunc_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_ldap_err_t',
    'elts' => [
      {
        'type' => 'const char *',
        'name' => 'reason'
      },
      {
        'type' => 'const char *',
        'name' => 'msg'
      },
      {
        'type' => 'int',
        'name' => 'rc'
      }
    ]
  },
  {
    'type' => 'apr_ldap_opt_tls_cert_t',
    'elts' => [
      {
        'type' => 'int',
        'name' => 'type'
      },
      {
        'type' => 'const char *',
        'name' => 'path'
      },
      {
        'type' => 'const char *',
        'name' => 'password'
      }
    ]
  },
  {
    'type' => 'apr_ldap_url_desc_t',
    'elts' => [
      {
        'type' => 'apr_ldap_url_desc_t *',
        'name' => 'lud_next'
      },
      {
        'type' => 'char *',
        'name' => 'lud_scheme'
      },
      {
        'type' => 'char *',
        'name' => 'lud_host'
      },
      {
        'type' => 'int',
        'name' => 'lud_port'
      },
      {
        'type' => 'char *',
        'name' => 'lud_dn'
      },
      {
        'type' => 'char **',
        'name' => 'lud_attrs'
      },
      {
        'type' => 'int',
        'name' => 'lud_scope'
      },
      {
        'type' => 'char *',
        'name' => 'lud_filter'
      },
      {
        'type' => 'char **',
        'name' => 'lud_exts'
      },
      {
        'type' => 'int',
        'name' => 'lud_crit_exts'
      }
    ]
  },
  {
    '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_memcache_conn_t',
    'elts' => []
  },
  {
    'type' => 'apr_memcache_hash_func',
    'elts' => []
  },
  {
    'type' => 'apr_memcache_server_func',
    'elts' => []
  },
  {
    'type' => 'apr_memcache_server_status_t',
    'elts' => []
  },
  {
    'type' => 'apr_memcache_server_t',
    'elts' => [
      {
        'type' => 'const char *',
        'name' => 'host'
      },
      {
        'type' => 'apr_port_t',
        'name' => 'port'
      },
      {
        'type' => 'apr_memcache_server_status_t',
        'name' => 'status'
      },
      {
        'type' => 'apr_reslist_t *',
        'name' => 'conns'
      },
      {
        'type' => 'apr_pool_t *',
        'name' => 'p'
      },
      {
        'type' => 'apr_thread_mutex_t *',
        'name' => 'lock'
      },
      {
        'type' => 'apr_time_t',
        'name' => 'btime'
      }
    ]
  },
  {
    'type' => 'apr_memcache_stats_t',
    'elts' => [
      {
        'type' => 'const char *',
        'name' => 'version'
      },
      {
        'type' => 'apr_uint32_t',
        'name' => 'pid'
      },
      {
        'type' => 'apr_uint32_t',
        'name' => 'uptime'
      },
      {
        'type' => 'apr_time_t',
        'name' => 'time'
      },
      {
        'type' => 'apr_uint32_t',
        'name' => 'pointer_size'
      },
      {
        'type' => 'apr_time_t',
        'name' => 'rusage_user'
      },
      {
        'type' => 'apr_time_t',
        'name' => 'rusage_system'
      },
      {
        'type' => 'apr_uint32_t',
        'name' => 'curr_items'
      },
      {
        'type' => 'apr_uint32_t',
        'name' => 'total_items'
      },
      {
        'type' => 'apr_uint64_t',
        'name' => 'bytes'
      },
      {
        'type' => 'apr_uint32_t',
        'name' => 'curr_connections'
      },
      {
        'type' => 'apr_uint32_t',
        'name' => 'total_connections'
      },
      {
        'type' => 'apr_uint32_t',
        'name' => 'connection_structures'
      },
      {
        'type' => 'apr_uint32_t',
        'name' => 'cmd_get'
      },
      {
        'type' => 'apr_uint32_t',
        'name' => 'cmd_set'
      },
      {
        'type' => 'apr_uint32_t',
        'name' => 'get_hits'
      },
      {
        'type' => 'apr_uint32_t',
        'name' => 'get_misses'
      },
      {
        'type' => 'apr_uint64_t',
        'name' => 'evictions'
      },
      {
        'type' => 'apr_uint64_t',
        'name' => 'bytes_read'
      },
      {
        'type' => 'apr_uint64_t',
        'name' => 'bytes_written'
      },
      {
        'type' => 'apr_uint32_t',
        'name' => 'limit_maxbytes'
      },
      {
        'type' => 'apr_uint32_t',
        'name' => 'threads'
      }
    ]
  },
  {
    'type' => 'apr_memcache_t',
    'elts' => [
      {
        'type' => 'apr_uint32_t',
        'name' => 'flags'
      },
      {
        'type' => 'apr_uint16_t',
        'name' => 'nalloc'
      },
      {
        'type' => 'apr_uint16_t',
        'name' => 'ntotal'
      },
      {
        'type' => 'apr_memcache_server_t **',
        'name' => 'live_servers'
      },
      {
        'type' => 'apr_pool_t *',
        'name' => 'p'
      },
      {
        'type' => 'void *',
        'name' => 'hash_baton'
      },
      {
        'type' => 'apr_memcache_hash_func',
        'name' => 'hash_func'
      },
      {
        'type' => 'void *',
        'name' => 'server_baton'
      },
      {
        'type' => 'apr_memcache_server_func',
        'name' => 'server_func'
      }
    ]
  },
  {
    'type' => 'apr_memcache_value_t',
    'elts' => [
      {
        'type' => 'apr_status_t',
        'name' => 'status'
      },
      {
        'type' => 'const char *',
        'name' => 'key'
      },
      {
        'type' => 'apr_size_t',
        'name' => 'len'
      },
      {
        'type' => 'char *',
        'name' => 'data'
      },
      {
        'type' => 'apr_uint16_t',
        'name' => 'flags'
      }
    ]
  },
  {
    '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' => '_ANON 66',
        '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' => 'int',
        'name' => 'protocol'
      }
    ]
  },
  {
    '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_pollcb_cb_t',
    'elts' => []
  },
  {
    'type' => 'apr_pollcb_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_method_e',
    'elts' => []
  },
  {
    '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_random_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_rmm_off_t',
    'elts' => []
  },
  {
    'type' => 'apr_rmm_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' => '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' => 'union _ANON 1',
        'name' => 'sa'
      }
    ]
  },
  {
    '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_pool_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_uintptr_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_parms',
    'elts' => [
      {
        'type' => 'void *',
        'name' => 'info'
      },
      {
        'type' => 'int',
        'name' => 'override'
      },
      {
        'type' => 'int',
        'name' => 'override_opts'
      },
      {
        'type' => 'apr_table_t *',
        'name' => 'override_list'
      },
      {
        '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' => 'client_addr'
      },
      {
        'type' => 'char *',
        'name' => 'client_ip'
      },
      {
        'type' => 'char *',
        'name' => 'remote_host'
      },
      {
        'type' => 'char *',
        'name' => 'remote_logname'
      },
      {
        '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' => 'conn_state_t *',
        'name' => 'cs'
      },
      {
        'type' => 'int',
        'name' => 'data_in_input_filters'
      },
      {
        'type' => 'int',
        'name' => 'data_in_output_filters'
      },
      {
        'type' => 'unsigned int',
        'name' => 'clogging_input_filters'
      },
      {
        'type' => 'signed int',
        'name' => 'double_reverse'
      },
      {
        'type' => 'unsigned',
        'name' => 'aborted'
      },
      {
        'type' => 'ap_conn_keepalive_e',
        'name' => 'keepalive'
      },
      {
        'type' => 'int',
        'name' => 'keepalives'
      },
      {
        'type' => 'const struct ap_logconf *',
        'name' => 'log'
      },
      {
        'type' => 'const char *',
        'name' => 'log_id'
      },
      {
        'type' => 'apr_thread_t *',
        'name' => 'current_thread'
      }
    ]
  },
  {
    'type' => 'core_net_rec',
    'elts' => []
  },
  {
    'type' => 'htaccess_result',
    'elts' => [
      {
        'type' => 'const char *',
        'name' => 'dir'
      },
      {
        'type' => 'int',
        'name' => 'override'
      },
      {
        'type' => 'int',
        'name' => 'override_opts'
      },
      {
        'type' => 'apr_table_t *',
        'name' => 'override_list'
      },
      {
        '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' => 'process_rec',
    'elts' => [
      {
        'type' => 'apr_pool_t *',
        'name' => 'pool'
      },
      {
        'type' => 'apr_pool_t *',
        'name' => 'pconf'
      },
      {
        'type' => 'const char *',
        'name' => 'short_name'
      },
      {
        'type' => 'const char * const *',
        'name' => 'argv'
      },
      {
        'type' => 'int',
        'name' => 'argc'
      }
    ]
  },
  {
    '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' => 'int',
        'name' => 'proto_num'
      },
      {
        'type' => 'char *',
        'name' => 'protocol'
      },
      {
        'type' => 'const char *',
        'name' => 'hostname'
      },
      {
        'type' => 'apr_time_t',
        'name' => 'request_time'
      },
      {
        'type' => 'const char *',
        'name' => 'status_line'
      },
      {
        'type' => 'int',
        'name' => 'status'
      },
      {
        'type' => 'int',
        'name' => 'method_number'
      },
      {
        'type' => 'const char *',
        'name' => 'method'
      },
      {
        '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' => 'const char *',
        'name' => 'range'
      },
      {
        'type' => 'apr_off_t',
        'name' => 'clength'
      },
      {
        'type' => 'int',
        'name' => 'chunked'
      },
      {
        'type' => 'int',
        'name' => 'read_body'
      },
      {
        'type' => 'int',
        'name' => 'read_chunked'
      },
      {
        'type' => 'unsigned',
        'name' => 'expecting_100'
      },
      {
        'type' => 'apr_bucket_brigade *',
        'name' => 'kept_body'
      },
      {
        'type' => 'apr_table_t *',
        'name' => 'body_table'
      },
      {
        'type' => 'apr_off_t',
        'name' => 'remaining'
      },
      {
        'type' => 'apr_off_t',
        'name' => 'read_length'
      },
      {
        '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' => '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' => 'int',
        'name' => 'used_path_info'
      },
      {
        'type' => 'int',
        'name' => 'eos_sent'
      },
      {
        'type' => 'ap_conf_vector_t *',
        'name' => 'per_dir_config'
      },
      {
        'type' => 'ap_conf_vector_t *',
        'name' => 'request_config'
      },
      {
        'type' => 'const struct ap_logconf *',
        'name' => 'log'
      },
      {
        'type' => 'const char *',
        'name' => 'log_id'
      },
      {
        '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' => 'no_cache'
      },
      {
        'type' => 'int',
        'name' => 'no_local_copy'
      },
      {
        'type' => 'apr_thread_mutex_t *',
        'name' => 'invoke_mtx'
      },
      {
        'type' => 'apr_uri_t',
        'name' => 'parsed_uri'
      },
      {
        'type' => 'apr_finfo_t',
        'name' => 'finfo'
      },
      {
        'type' => 'apr_sockaddr_t *',
        'name' => 'useragent_addr'
      },
      {
        'type' => 'char *',
        'name' => 'useragent_ip'
      }
    ]
  },
  {
    'type' => 'server_addr_rec',
    'elts' => [
      {
        'type' => 'server_addr_rec *',
        'name' => 'next'
      },
      {
        'type' => 'char *',
        'name' => 'virthost'
      },
      {
        'type' => 'apr_sockaddr_t *',
        'name' => 'host_addr'
      },
      {
        'type' => 'apr_port_t',
        'name' => 'host_port'
      }
    ]
  },
  {
    'type' => 'server_rec',
    'elts' => [
      {
        'type' => 'process_rec *',
        'name' => 'process'
      },
      {
        'type' => 'server_rec *',
        'name' => 'next'
      },
      {
        'type' => 'char *',
        'name' => 'error_fname'
      },
      {
        'type' => 'apr_file_t *',
        'name' => 'error_log'
      },
      {
        'type' => 'ap_logconf',
        'name' => 'log'
      },
      {
        'type' => 'ap_conf_vector_t *',
        'name' => 'module_config'
      },
      {
        'type' => 'ap_conf_vector_t *',
        'name' => 'lookup_defaults'
      },
      {
        'type' => 'const char *',
        'name' => 'defn_name'
      },
      {
        'type' => 'unsigned',
        'name' => 'defn_line_number'
      },
      {
        'type' => 'char',
        'name' => 'is_virtual'
      },
      {
        'type' => 'apr_port_t',
        'name' => 'port'
      },
      {
        'type' => 'const char *',
        'name' => 'server_scheme'
      },
      {
        'type' => 'char *',
        'name' => 'server_admin'
      },
      {
        'type' => 'char *',
        'name' => 'server_hostname'
      },
      {
        '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' => 'apr_array_header_t *',
        'name' => 'names'
      },
      {
        'type' => 'apr_array_header_t *',
        'name' => 'wild_names'
      },
      {
        'type' => 'const char *',
        'name' => 'path'
      },
      {
        'type' => 'int',
        'name' => 'pathlen'
      },
      {
        'type' => 'int',
        'name' => 'limit_req_line'
      },
      {
        'type' => 'int',
        'name' => 'limit_req_fieldsize'
      },
      {
        'type' => 'int',
        'name' => 'limit_req_fields'
      },
      {
        'type' => 'void *',
        'name' => 'context'
      }
    ]
  },
  {
    'type' => 'session_rec',
    'elts' => [
      {
        'type' => 'apr_pool_t *',
        'name' => 'pool'
      },
      {
        'type' => 'apr_uuid_t *',
        'name' => 'uuid'
      },
      {
        'type' => 'const char *',
        'name' => 'remote_user'
      },
      {
        'type' => 'apr_table_t *',
        'name' => 'entries'
      },
      {
        'type' => 'const char *',
        'name' => 'encoded'
      },
      {
        'type' => 'apr_time_t',
        'name' => 'expiry'
      },
      {
        'type' => 'long',
        'name' => 'maxage'
      },
      {
        'type' => 'int',
        'name' => 'dirty'
      },
      {
        'type' => 'int',
        'name' => 'cached'
      },
      {
        'type' => 'int',
        'name' => 'written'
      }
    ]
  },
  {
    'type' => 'subrequest_rec',
    'elts' => []
  },
  {
    'type' => 'unixd_config_rec',
    'elts' => [
      {
        'type' => 'const char *',
        'name' => 'user_name'
      },
      {
        'type' => 'const char *',
        'name' => 'group_name'
      },
      {
        'type' => 'uid_t',
        'name' => 'user_id'
      },
      {
        'type' => 'gid_t',
        'name' => 'group_id'
      },
      {
        'type' => 'int',
        'name' => 'suexec_enabled'
      },
      {
        'type' => 'const char *',
        'name' => 'chroot_dir'
      },
      {
        'type' => 'const char *',
        'name' => 'suexec_disabled_reason'
      }
    ]
  },
  {
    '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;
