ap.d revision a42b70fa75429d73ef00d6ae212676f8a652f51c
d183a4514d8a5b6a5d48d15a8dff52d0c96691eaChristian Maeder#pragma D depends_on provider io
d183a4514d8a5b6a5d48d15a8dff52d0c96691eaChristian Maedertypedef struct request_rec {
d183a4514d8a5b6a5d48d15a8dff52d0c96691eaChristian Maeder uintptr_t pool;
d183a4514d8a5b6a5d48d15a8dff52d0c96691eaChristian Maeder uintptr_t connection;
d183a4514d8a5b6a5d48d15a8dff52d0c96691eaChristian Maeder uintptr_t server;
d183a4514d8a5b6a5d48d15a8dff52d0c96691eaChristian Maeder uintptr_t next;
d183a4514d8a5b6a5d48d15a8dff52d0c96691eaChristian Maeder uintptr_t prev;
d183a4514d8a5b6a5d48d15a8dff52d0c96691eaChristian Maeder uintptr_t main;
d183a4514d8a5b6a5d48d15a8dff52d0c96691eaChristian Maeder char *the_request;
d183a4514d8a5b6a5d48d15a8dff52d0c96691eaChristian Maeder int assbackwards;
d183a4514d8a5b6a5d48d15a8dff52d0c96691eaChristian Maeder int proxyreq;
d183a4514d8a5b6a5d48d15a8dff52d0c96691eaChristian Maeder int header_only;
d183a4514d8a5b6a5d48d15a8dff52d0c96691eaChristian Maeder char *protocol;
d183a4514d8a5b6a5d48d15a8dff52d0c96691eaChristian Maeder int proto_num;
d183a4514d8a5b6a5d48d15a8dff52d0c96691eaChristian Maeder char *hostname;
d183a4514d8a5b6a5d48d15a8dff52d0c96691eaChristian Maeder int64_t request_time;
d183a4514d8a5b6a5d48d15a8dff52d0c96691eaChristian Maeder char *status_line;
d183a4514d8a5b6a5d48d15a8dff52d0c96691eaChristian Maeder int status;
d183a4514d8a5b6a5d48d15a8dff52d0c96691eaChristian Maeder const char *method;
d183a4514d8a5b6a5d48d15a8dff52d0c96691eaChristian Maeder int method_number;
d183a4514d8a5b6a5d48d15a8dff52d0c96691eaChristian Maeder int64_t allowed;
d183a4514d8a5b6a5d48d15a8dff52d0c96691eaChristian Maeder uintptr_t allowed_xmethods;
d183a4514d8a5b6a5d48d15a8dff52d0c96691eaChristian Maeder uintptr_t allowed_methods;
d183a4514d8a5b6a5d48d15a8dff52d0c96691eaChristian Maeder offset_t sent_bodyct;
d183a4514d8a5b6a5d48d15a8dff52d0c96691eaChristian Maeder offset_t bytes_sent;
d183a4514d8a5b6a5d48d15a8dff52d0c96691eaChristian Maeder int64_t mtime;
d183a4514d8a5b6a5d48d15a8dff52d0c96691eaChristian Maeder int chunked;
d183a4514d8a5b6a5d48d15a8dff52d0c96691eaChristian Maeder char *range;
d183a4514d8a5b6a5d48d15a8dff52d0c96691eaChristian Maeder offset_t clength;
d183a4514d8a5b6a5d48d15a8dff52d0c96691eaChristian Maeder offset_t remaining;
d183a4514d8a5b6a5d48d15a8dff52d0c96691eaChristian Maeder offset_t read_length;
d183a4514d8a5b6a5d48d15a8dff52d0c96691eaChristian Maeder int read_body;
d183a4514d8a5b6a5d48d15a8dff52d0c96691eaChristian Maeder int read_chunked;
d183a4514d8a5b6a5d48d15a8dff52d0c96691eaChristian Maeder unsigned expecting_100;
d183a4514d8a5b6a5d48d15a8dff52d0c96691eaChristian Maeder uintptr_t headers_in;
d183a4514d8a5b6a5d48d15a8dff52d0c96691eaChristian Maeder uintptr_t headers_out;
d183a4514d8a5b6a5d48d15a8dff52d0c96691eaChristian Maeder uintptr_t err_headers_out;
d183a4514d8a5b6a5d48d15a8dff52d0c96691eaChristian Maeder uintptr_t subprocess_env;
d183a4514d8a5b6a5d48d15a8dff52d0c96691eaChristian Maeder uintptr_t notes;
d183a4514d8a5b6a5d48d15a8dff52d0c96691eaChristian Maeder char *content_type; /* Break these out --- we dispatch on 'em */
d183a4514d8a5b6a5d48d15a8dff52d0c96691eaChristian Maeder char *handler; /* What we *really* dispatch on */
d183a4514d8a5b6a5d48d15a8dff52d0c96691eaChristian Maeder char *content_encoding;
d183a4514d8a5b6a5d48d15a8dff52d0c96691eaChristian Maeder uintptr_t content_languages;
36968f55942e973058ae8d1e2ac69c6f5d53a681Christian Maeder char *vlist_validator;
d183a4514d8a5b6a5d48d15a8dff52d0c96691eaChristian Maeder char *user;
d183a4514d8a5b6a5d48d15a8dff52d0c96691eaChristian Maeder char *ap_auth_type;
d183a4514d8a5b6a5d48d15a8dff52d0c96691eaChristian Maeder int no_cache;
d183a4514d8a5b6a5d48d15a8dff52d0c96691eaChristian Maeder int no_local_copy;
d183a4514d8a5b6a5d48d15a8dff52d0c96691eaChristian Maeder char *unparsed_uri;
d183a4514d8a5b6a5d48d15a8dff52d0c96691eaChristian Maeder char *uri;
d183a4514d8a5b6a5d48d15a8dff52d0c96691eaChristian Maeder char *filename;
d183a4514d8a5b6a5d48d15a8dff52d0c96691eaChristian Maeder char *canonical_filename;
d183a4514d8a5b6a5d48d15a8dff52d0c96691eaChristian Maeder char *path_info;
d183a4514d8a5b6a5d48d15a8dff52d0c96691eaChristian Maeder char *args;
d183a4514d8a5b6a5d48d15a8dff52d0c96691eaChristian Maeder /* finfo */
d183a4514d8a5b6a5d48d15a8dff52d0c96691eaChristian Maeder uintptr_t finfo_pool;
d183a4514d8a5b6a5d48d15a8dff52d0c96691eaChristian Maeder int32_t finfo_valid;
d183a4514d8a5b6a5d48d15a8dff52d0c96691eaChristian Maeder int32_t finfo_protection;
d183a4514d8a5b6a5d48d15a8dff52d0c96691eaChristian Maeder int32_t finfo_filetype;
d183a4514d8a5b6a5d48d15a8dff52d0c96691eaChristian Maeder int finfo_user;
d183a4514d8a5b6a5d48d15a8dff52d0c96691eaChristian Maeder int finfo_group;
d183a4514d8a5b6a5d48d15a8dff52d0c96691eaChristian Maeder uint64_t finfo_inode;
d183a4514d8a5b6a5d48d15a8dff52d0c96691eaChristian Maeder uint64_t finfo_device;
d183a4514d8a5b6a5d48d15a8dff52d0c96691eaChristian Maeder int32_t finfo_nlink;
d183a4514d8a5b6a5d48d15a8dff52d0c96691eaChristian Maeder offset_t finfo_size;
d183a4514d8a5b6a5d48d15a8dff52d0c96691eaChristian Maeder offset_t finfo_csize;
d183a4514d8a5b6a5d48d15a8dff52d0c96691eaChristian Maeder int64_t finfo_atime;
d183a4514d8a5b6a5d48d15a8dff52d0c96691eaChristian Maeder int64_t finfo_mtime;
d183a4514d8a5b6a5d48d15a8dff52d0c96691eaChristian Maeder int64_t finfo_ctime;
d183a4514d8a5b6a5d48d15a8dff52d0c96691eaChristian Maeder char *finfo_fname;
d183a4514d8a5b6a5d48d15a8dff52d0c96691eaChristian Maeder char *finfo_name;
d183a4514d8a5b6a5d48d15a8dff52d0c96691eaChristian Maeder uintptr_t finfo_ffilehand;
d183a4514d8a5b6a5d48d15a8dff52d0c96691eaChristian Maeder /* parsed_uri */
d183a4514d8a5b6a5d48d15a8dff52d0c96691eaChristian Maeder char *uri_scheme;
d183a4514d8a5b6a5d48d15a8dff52d0c96691eaChristian Maeder char *uri_hostinfo;
d183a4514d8a5b6a5d48d15a8dff52d0c96691eaChristian Maeder char *uri_user;
d183a4514d8a5b6a5d48d15a8dff52d0c96691eaChristian Maeder char *uri_password;
d183a4514d8a5b6a5d48d15a8dff52d0c96691eaChristian Maeder char *uri_hostname;
d183a4514d8a5b6a5d48d15a8dff52d0c96691eaChristian Maeder char *uri_port_str;
d183a4514d8a5b6a5d48d15a8dff52d0c96691eaChristian Maeder char *uri_path;
d183a4514d8a5b6a5d48d15a8dff52d0c96691eaChristian Maeder char *uri_query;
d183a4514d8a5b6a5d48d15a8dff52d0c96691eaChristian Maeder char *uri_fragment;
d183a4514d8a5b6a5d48d15a8dff52d0c96691eaChristian Maeder uintptr_t uri_hostent;
d183a4514d8a5b6a5d48d15a8dff52d0c96691eaChristian Maeder uint16_t uri_port;
d183a4514d8a5b6a5d48d15a8dff52d0c96691eaChristian Maeder unsigned uri_is_initialized:1;
d183a4514d8a5b6a5d48d15a8dff52d0c96691eaChristian Maeder unsigned uri_dns_looked_up:1;
d183a4514d8a5b6a5d48d15a8dff52d0c96691eaChristian Maeder unsigned uri_dns_resolved:1;
d183a4514d8a5b6a5d48d15a8dff52d0c96691eaChristian Maeder
d183a4514d8a5b6a5d48d15a8dff52d0c96691eaChristian Maeder /* back to request_rec */
d183a4514d8a5b6a5d48d15a8dff52d0c96691eaChristian Maeder int used_path_info;
d183a4514d8a5b6a5d48d15a8dff52d0c96691eaChristian Maeder uintptr_t per_dir_config;
d183a4514d8a5b6a5d48d15a8dff52d0c96691eaChristian Maeder uintptr_t request_config;
d183a4514d8a5b6a5d48d15a8dff52d0c96691eaChristian Maeder uintptr_t htaccess;
d183a4514d8a5b6a5d48d15a8dff52d0c96691eaChristian Maeder uintptr_t output_filters;
d183a4514d8a5b6a5d48d15a8dff52d0c96691eaChristian Maeder uintptr_t input_filters;
d183a4514d8a5b6a5d48d15a8dff52d0c96691eaChristian Maeder uintptr_t proto_output_filters;
d183a4514d8a5b6a5d48d15a8dff52d0c96691eaChristian Maeder uintptr_t proto_input_filters;
d183a4514d8a5b6a5d48d15a8dff52d0c96691eaChristian Maeder int eos_sent;
d183a4514d8a5b6a5d48d15a8dff52d0c96691eaChristian Maeder uintptr_t kept_body;
d183a4514d8a5b6a5d48d15a8dff52d0c96691eaChristian Maeder uintptr_t invoke_mtx;
d183a4514d8a5b6a5d48d15a8dff52d0c96691eaChristian Maeder} request_rec;
d183a4514d8a5b6a5d48d15a8dff52d0c96691eaChristian Maeder
d183a4514d8a5b6a5d48d15a8dff52d0c96691eaChristian Maeder