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