| #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; |
| |