#ifndef _NGX_HTTP_CORE_H_INCLUDED_
#define _NGX_HTTP_CORE_H_INCLUDED_
#include <ngx_config.h>
#include <ngx_core.h>
#include <ngx_http.h>
#if (NGX_THREADS)
#include <ngx_thread_pool.h>
#elif (NGX_COMPAT)
typedef struct ngx_thread_pool_s ngx_thread_pool_t;
#endif
#define NGX_HTTP_GZIP_PROXIED_OFF …
#define NGX_HTTP_GZIP_PROXIED_EXPIRED …
#define NGX_HTTP_GZIP_PROXIED_NO_CACHE …
#define NGX_HTTP_GZIP_PROXIED_NO_STORE …
#define NGX_HTTP_GZIP_PROXIED_PRIVATE …
#define NGX_HTTP_GZIP_PROXIED_NO_LM …
#define NGX_HTTP_GZIP_PROXIED_NO_ETAG …
#define NGX_HTTP_GZIP_PROXIED_AUTH …
#define NGX_HTTP_GZIP_PROXIED_ANY …
#define NGX_HTTP_AIO_OFF …
#define NGX_HTTP_AIO_ON …
#define NGX_HTTP_AIO_THREADS …
#define NGX_HTTP_SATISFY_ALL …
#define NGX_HTTP_SATISFY_ANY …
#define NGX_HTTP_LINGERING_OFF …
#define NGX_HTTP_LINGERING_ON …
#define NGX_HTTP_LINGERING_ALWAYS …
#define NGX_HTTP_IMS_OFF …
#define NGX_HTTP_IMS_EXACT …
#define NGX_HTTP_IMS_BEFORE …
#define NGX_HTTP_KEEPALIVE_DISABLE_NONE …
#define NGX_HTTP_KEEPALIVE_DISABLE_MSIE6 …
#define NGX_HTTP_KEEPALIVE_DISABLE_SAFARI …
#define NGX_HTTP_SERVER_TOKENS_OFF …
#define NGX_HTTP_SERVER_TOKENS_ON …
#define NGX_HTTP_SERVER_TOKENS_BUILD …
ngx_http_location_tree_node_t;
ngx_http_core_loc_conf_t;
ngx_http_listen_opt_t;
ngx_http_phases;
ngx_http_phase_handler_t;
ngx_http_phase_handler_pt;
struct ngx_http_phase_handler_s { … };
ngx_http_phase_engine_t;
ngx_http_phase_t;
ngx_http_core_main_conf_t;
ngx_http_core_srv_conf_t;
ngx_http_server_name_t;
ngx_http_virtual_names_t;
struct ngx_http_addr_conf_s { … };
ngx_http_in_addr_t;
#if (NGX_HAVE_INET6)
ngx_http_in6_addr_t;
#endif
ngx_http_port_t;
ngx_http_conf_port_t;
ngx_http_conf_addr_t;
ngx_http_err_page_t;
struct ngx_http_core_loc_conf_s { … };
ngx_http_location_queue_t;
struct ngx_http_location_tree_node_s { … };
void ngx_http_core_run_phases(ngx_http_request_t *r);
ngx_int_t ngx_http_core_generic_phase(ngx_http_request_t *r,
ngx_http_phase_handler_t *ph);
ngx_int_t ngx_http_core_rewrite_phase(ngx_http_request_t *r,
ngx_http_phase_handler_t *ph);
ngx_int_t ngx_http_core_find_config_phase(ngx_http_request_t *r,
ngx_http_phase_handler_t *ph);
ngx_int_t ngx_http_core_post_rewrite_phase(ngx_http_request_t *r,
ngx_http_phase_handler_t *ph);
ngx_int_t ngx_http_core_access_phase(ngx_http_request_t *r,
ngx_http_phase_handler_t *ph);
ngx_int_t ngx_http_core_post_access_phase(ngx_http_request_t *r,
ngx_http_phase_handler_t *ph);
ngx_int_t ngx_http_core_content_phase(ngx_http_request_t *r,
ngx_http_phase_handler_t *ph);
void *ngx_http_test_content_type(ngx_http_request_t *r, ngx_hash_t *types_hash);
ngx_int_t ngx_http_set_content_type(ngx_http_request_t *r);
void ngx_http_set_exten(ngx_http_request_t *r);
ngx_int_t ngx_http_set_etag(ngx_http_request_t *r);
void ngx_http_weak_etag(ngx_http_request_t *r);
ngx_int_t ngx_http_send_response(ngx_http_request_t *r, ngx_uint_t status,
ngx_str_t *ct, ngx_http_complex_value_t *cv);
u_char *ngx_http_map_uri_to_path(ngx_http_request_t *r, ngx_str_t *name,
size_t *root_length, size_t reserved);
ngx_int_t ngx_http_auth_basic_user(ngx_http_request_t *r);
#if (NGX_HTTP_GZIP)
ngx_int_t ngx_http_gzip_ok(ngx_http_request_t *r);
#endif
ngx_int_t ngx_http_subrequest(ngx_http_request_t *r,
ngx_str_t *uri, ngx_str_t *args, ngx_http_request_t **psr,
ngx_http_post_subrequest_t *ps, ngx_uint_t flags);
ngx_int_t ngx_http_internal_redirect(ngx_http_request_t *r,
ngx_str_t *uri, ngx_str_t *args);
ngx_int_t ngx_http_named_location(ngx_http_request_t *r, ngx_str_t *name);
ngx_http_cleanup_t *ngx_http_cleanup_add(ngx_http_request_t *r, size_t size);
ngx_http_output_header_filter_pt;
ngx_http_output_body_filter_pt;
ngx_http_request_body_filter_pt;
ngx_int_t ngx_http_output_filter(ngx_http_request_t *r, ngx_chain_t *chain);
ngx_int_t ngx_http_write_filter(ngx_http_request_t *r, ngx_chain_t *chain);
ngx_int_t ngx_http_request_body_save_filter(ngx_http_request_t *r,
ngx_chain_t *chain);
ngx_int_t ngx_http_set_disable_symlinks(ngx_http_request_t *r,
ngx_http_core_loc_conf_t *clcf, ngx_str_t *path, ngx_open_file_info_t *of);
ngx_int_t ngx_http_get_forwarded_addr(ngx_http_request_t *r, ngx_addr_t *addr,
ngx_table_elt_t *headers, ngx_str_t *value, ngx_array_t *proxies,
int recursive);
ngx_int_t ngx_http_link_multi_headers(ngx_http_request_t *r);
extern ngx_module_t ngx_http_core_module;
extern ngx_uint_t ngx_http_max_module;
extern ngx_str_t ngx_http_core_get_method;
#define ngx_http_clear_content_length(r) …
#define ngx_http_clear_accept_ranges(r) …
#define ngx_http_clear_last_modified(r) …
#define ngx_http_clear_location(r) …
#define ngx_http_clear_etag(r) …
#endif