summaryrefslogtreecommitdiff
path: root/ap.d
diff options
context:
space:
mode:
authorPaul Querna <pquerna@apache.org>2008-12-05 03:34:52 +0000
committerPaul Querna <pquerna@apache.org>2008-12-05 03:34:52 +0000
commitf47b6f394ef7c9639388b3c0815947016e333764 (patch)
treef78fc9a820a1a1f2215f171f715db0001c0d0b5e /ap.d
parentcca2d66b122f66b91684f6de386e4dc4fbd35d64 (diff)
downloadhttpd-f47b6f394ef7c9639388b3c0815947016e333764.tar.gz
Import the core parts of the DTrace patch. This is a modified and updated
version of what was submited by Theo before: <http://mail-archives.apache.org/mod_mbox/httpd-dev/200805.mbox/%3C6AFBCFE8-4CCA-4A02-8A43-F9170689695D@omniti.com%3E> Note, this does not hook it up into the build system at this time, because the original patch was a little too creative there. Submitted By: Theo Schlossnagle <jesus omniti.com> git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@723565 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'ap.d')
-rw-r--r--ap.d102
1 files changed, 102 insertions, 0 deletions
diff --git a/ap.d b/ap.d
new file mode 100644
index 0000000000..6084096721
--- /dev/null
+++ b/ap.d
@@ -0,0 +1,102 @@
+#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;
+