|
Data Structures | |
| struct | ap_version_t |
| The numeric version information is broken out into fields within this structure. More... | |
| struct | ap_method_list_t |
| Structure for handling HTTP methods. More... | |
| struct | htaccess_result |
| This represents the result of calling htaccess; these are cached for each request. More... | |
| struct | process_rec |
| A structure that represents one process. More... | |
| struct | request_rec |
| A structure that represents the current request. More... | |
| struct | conn_rec |
| Structure to store things which are per connection. More... | |
| struct | conn_state_t |
| A structure to contain connection state information. More... | |
| struct | server_addr_rec |
| A structure to be used for Per-vhost config. More... | |
| struct | ap_logconf |
| struct | server_rec |
| A structure to store information for each virtual server. More... | |
| struct | ap_sload_t |
| A structure to hold server load params. More... | |
| struct | ap_loadavg_t |
| A structure to hold various server loadavg. More... | |
| struct | ap_form_pair_t |
Modules | |
| HTTPD specific values of apr_status_t | |
| HTTP Status Codes | |
| List of Methods recognized by the server | |
Methods recognized (but not necessarily handled) by the server. | |
| Module Magic mime types | |
| Possible values for request_rec.read_body | |
| Possible values for request_rec.used_path_info | |
| Proxy request types | |
| Flags which indicate places where the server should stop for debugging. | |
Defines | |
| #define | DOCUMENT_LOCATION HTTPD_ROOT "/htdocs" |
| #define | DYNAMIC_MODULE_LIMIT 256 |
| #define | DEFAULT_ADMIN "[no address given]" |
| #define | DEFAULT_ERRORLOG "logs/error_log" |
| #define | DEFAULT_ACCESS_FNAME ".htaccess" |
| #define | DEFAULT_PATH "/bin:/usr/bin:/usr/ucb:/usr/bsd:/usr/local/bin" |
| #define | SUEXEC_BIN HTTPD_ROOT "/bin/suexec" |
| #define | DEFAULT_TIMEOUT 60 |
| #define | DEFAULT_KEEPALIVE_TIMEOUT 5 |
| #define | DEFAULT_KEEPALIVE 100 |
| #define | DEFAULT_LIMIT_REQUEST_LINE 8190 |
| #define | DEFAULT_LIMIT_REQUEST_FIELDSIZE 8190 |
| #define | DEFAULT_LIMIT_REQUEST_FIELDS 100 |
| #define | DEFAULT_ADD_DEFAULT_CHARSET_NAME "iso-8859-1" |
| #define | AP_SERVER_PROTOCOL "HTTP/1.1" |
| #define | AP_DEFAULT_INDEX "index.html" |
| #define | DOCTYPE_HTML_2_0 |
| #define | DOCTYPE_HTML_3_2 |
| #define | DOCTYPE_HTML_4_0S |
| #define | DOCTYPE_HTML_4_0T |
| #define | DOCTYPE_HTML_4_0F |
| #define | DOCTYPE_XHTML_1_0S |
| #define | DOCTYPE_XHTML_1_0T |
| #define | DOCTYPE_XHTML_1_0F |
| #define | HTTP_VERSION(major, minor) (1000*(major)+(minor)) |
| #define | HTTP_VERSION_MAJOR(number) ((number)/1000) |
| #define | HTTP_VERSION_MINOR(number) ((number)%1000) |
| #define | DEFAULT_HTTP_PORT 80 |
| #define | DEFAULT_HTTPS_PORT 443 |
| #define | ap_is_default_port(port, r) ((port) == ap_default_port(r)) |
| #define | ap_default_port(r) ap_run_default_port(r) |
| #define | ap_http_scheme(r) ap_run_http_scheme(r) |
| #define | MAX_STRING_LEN HUGE_STRING_LEN |
| #define | HUGE_STRING_LEN 8192 |
| #define | AP_IOBUFSIZE 8192 |
| #define | AP_MAX_REG_MATCH 10 |
| #define | AP_MAX_SENDFILE 16777216 |
| #define | APEXIT_OK 0x0 |
| #define | APEXIT_INIT 0x2 |
| #define | APEXIT_CHILDINIT 0x3 |
| #define | APEXIT_CHILDSICK 0x7 |
| #define | APEXIT_CHILDFATAL 0xf |
| #define | AP_DECLARE_DATA |
| #define | AP_MODULE_DECLARE_DATA |
| #define | OK 0 |
| #define | DECLINED -1 |
| #define | DONE -2 |
| #define | SUSPENDED -3 |
| #define | AP_NOBODY_WROTE -100 |
| #define | AP_NOBODY_READ -101 |
| #define | AP_FILTER_ERROR -102 |
| #define | LF 10 |
| #define | CR 13 |
| #define | CRLF "\015\012" |
| #define | CRLF_ASCII "\015\012" |
| #define | DEFAULT_VHOST_ADDR 0xfffffffful |
| #define | ap_escape_uri(ppool, path) ap_os_escape_path(ppool,path,1) |
| #define | ap_escape_html(p, s) ap_escape_html2(p,s,0) |
| #define | ap_assert(exp) ((exp) ? (void)0 : ap_log_assert(#exp,__FILE__,__LINE__)) |
| #define | AP_DEBUG_ASSERT(exp) ((void)0) |
| #define | strtoul strtoul_is_not_a_portable_function_use_strtol_instead |
| #define | ap_strchr(s, c) strchr(s, c) |
| #define | ap_strchr_c(s, c) strchr(s, c) |
| #define | ap_strrchr(s, c) strrchr(s, c) |
| #define | ap_strrchr_c(s, c) strrchr(s, c) |
| #define | ap_strstr(s, c) strstr(s, c) |
| #define | ap_strstr_c(s, c) strstr(s, c) |
| #define | AP_NORESTART APR_OS_START_USEERR + 1 |
Typedefs | |
| typedef struct ap_method_list_t | ap_method_list_t |
| typedef struct process_rec | process_rec |
| typedef struct server_rec | server_rec |
| typedef struct conn_rec | conn_rec |
| typedef struct request_rec | request_rec |
| typedef struct conn_state_t | conn_state_t |
| typedef struct server_addr_rec | server_addr_rec |
| typedef struct ap_sload_t | ap_sload_t |
| typedef struct ap_loadavg_t | ap_loadavg_t |
Enumerations | |
| enum | ap_conn_keepalive_e { AP_CONN_UNKNOWN, AP_CONN_CLOSE, AP_CONN_KEEPALIVE } |
Enumeration of connection keepalive options. More... | |
| enum | conn_state_e { CONN_STATE_CHECK_REQUEST_LINE_READABLE, CONN_STATE_READ_REQUEST_LINE, CONN_STATE_HANDLER, CONN_STATE_WRITE_COMPLETION, CONN_STATE_SUSPENDED, CONN_STATE_LINGER, CONN_STATE_LINGER_NORMAL, CONN_STATE_LINGER_SHORT } |
| enum | conn_sense_e { CONN_SENSE_DEFAULT, CONN_SENSE_WANT_READ, CONN_SENSE_WANT_WRITE } |
Functions | |
| void | ap_get_server_revision (ap_version_t *version) |
| const char * | ap_get_server_banner (void) |
| const char * | ap_get_server_description (void) |
| void | ap_add_version_component (apr_pool_t *pconf, const char *component) |
| const char * | ap_get_server_built (void) |
| const char * | ap_context_document_root (request_rec *r) |
| const char * | ap_context_prefix (request_rec *r) |
| void | ap_set_context_info (request_rec *r, const char *prefix, const char *document_root) |
| void | ap_set_document_root (request_rec *r, const char *document_root) |
| char * | ap_field_noparam (apr_pool_t *p, const char *intype) |
| char * | ap_ht_time (apr_pool_t *p, apr_time_t t, const char *fmt, int gmt) |
| char * | ap_getword (apr_pool_t *p, const char **line, char stop) |
| char * | ap_getword_nc (apr_pool_t *p, char **line, char stop) |
| char * | ap_getword_white (apr_pool_t *p, const char **line) |
| char * | ap_getword_white_nc (apr_pool_t *p, char **line) |
| char * | ap_getword_nulls (apr_pool_t *p, const char **line, char stop) |
| char * | ap_getword_nulls_nc (apr_pool_t *p, char **line, char stop) |
| char * | ap_getword_conf (apr_pool_t *p, const char **line) |
| char * | ap_getword_conf_nc (apr_pool_t *p, char **line) |
| const char * | ap_resolve_env (apr_pool_t *p, const char *word) |
| const char * | ap_size_list_item (const char **field, int *len) |
| char * | ap_get_list_item (apr_pool_t *p, const char **field) |
| int | ap_find_list_item (apr_pool_t *p, const char *line, const char *tok) |
| int | ap_find_etag_weak (apr_pool_t *p, const char *line, const char *tok) |
| int | ap_find_etag_strong (apr_pool_t *p, const char *line, const char *tok) |
| char * | ap_get_token (apr_pool_t *p, const char **accept_line, int accept_white) |
| int | ap_find_token (apr_pool_t *p, const char *line, const char *tok) |
| int | ap_find_last_token (apr_pool_t *p, const char *line, const char *tok) |
| int | ap_is_url (const char *u) |
| int | ap_unescape_all (char *url) |
| int | ap_unescape_url (char *url) |
| int | ap_unescape_url_keep2f (char *url, int decode_slashes) |
| int | ap_unescape_urlencoded (char *query) |
| void | ap_no2slash (char *name) AP_FN_ATTR_NONNULL_ALL |
| void | ap_getparents (char *name) AP_FN_ATTR_NONNULL_ALL |
| char * | ap_escape_path_segment (apr_pool_t *p, const char *s) AP_FN_ATTR_NONNULL_ALL |
| char * | ap_escape_path_segment_buffer (char *c, const char *s) AP_FN_ATTR_NONNULL_ALL |
| char * | ap_os_escape_path (apr_pool_t *p, const char *path, int partial) AP_FN_ATTR_NONNULL_ALL |
| char * | ap_escape_urlencoded (apr_pool_t *p, const char *s) AP_FN_ATTR_NONNULL_ALL |
| char * | ap_escape_urlencoded_buffer (char *c, const char *s) AP_FN_ATTR_NONNULL_ALL |
| char * | ap_escape_html2 (apr_pool_t *p, const char *s, int toasc) AP_FN_ATTR_NONNULL_ALL |
| char * | ap_escape_logitem (apr_pool_t *p, const char *str) AP_FN_ATTR_NONNULL((1)) |
| apr_size_t | ap_escape_errorlog_item (char *dest, const char *source, apr_size_t buflen) AP_FN_ATTR_NONNULL((1)) |
| char * | ap_construct_server (apr_pool_t *p, const char *hostname, apr_port_t port, const request_rec *r) AP_FN_ATTR_NONNULL((1 |
| char *char * | ap_escape_shell_cmd (apr_pool_t *p, const char *s) AP_FN_ATTR_NONNULL_ALL |
| int | ap_count_dirs (const char *path) AP_FN_ATTR_NONNULL_ALL |
| char * | ap_make_dirstr_prefix (char *d, const char *s, int n) AP_FN_ATTR_NONNULL_ALL |
| char * | ap_make_dirstr_parent (apr_pool_t *p, const char *s) AP_FN_ATTR_NONNULL_ALL |
| char * | ap_make_full_path (apr_pool_t *a, const char *dir, const char *f) AP_FN_ATTR_NONNULL_ALL |
| int | ap_os_is_path_absolute (apr_pool_t *p, const char *dir) AP_FN_ATTR_NONNULL_ALL |
| int | ap_is_matchexp (const char *str) AP_FN_ATTR_NONNULL_ALL |
| int | ap_strcmp_match (const char *str, const char *expected) AP_FN_ATTR_NONNULL_ALL |
| int | ap_strcasecmp_match (const char *str, const char *expected) AP_FN_ATTR_NONNULL_ALL |
| char * | ap_strcasestr (const char *s1, const char *s2) AP_FN_ATTR_NONNULL_ALL |
| const char * | ap_stripprefix (const char *bigstring, const char *prefix) AP_FN_ATTR_NONNULL_ALL |
| char * | ap_pbase64decode (apr_pool_t *p, const char *bufcoded) |
| char * | ap_pbase64encode (apr_pool_t *p, char *string) |
| ap_regex_t * | ap_pregcomp (apr_pool_t *p, const char *pattern, int cflags) |
| void | ap_pregfree (apr_pool_t *p, ap_regex_t *reg) |
| char * | ap_pregsub (apr_pool_t *p, const char *input, const char *source, apr_size_t nmatch, ap_regmatch_t pmatch[]) |
| apr_status_t | ap_pregsub_ex (apr_pool_t *p, char **result, const char *input, const char *source, apr_size_t nmatch, ap_regmatch_t pmatch[], apr_size_t maxlen) |
| void | ap_content_type_tolower (char *s) |
| void | ap_str_tolower (char *s) |
| void | ap_str_toupper (char *s) |
| int | ap_ind (const char *str, char c) |
| int | ap_rind (const char *str, char c) |
| char * | ap_escape_quotes (apr_pool_t *p, const char *instring) |
| char * | ap_append_pid (apr_pool_t *p, const char *string, const char *delim) |
| apr_status_t | ap_timeout_parameter_parse (const char *timeout_parameter, apr_interval_time_t *timeout, const char *default_time_unit) |
| int | ap_request_has_body (request_rec *r) |
| apr_status_t | ap_pstr2_alnum (apr_pool_t *p, const char *src, const char **dest) |
| apr_status_t | ap_str2_alnum (const char *src, char *dest) |
| int | ap_parse_form_data (request_rec *r, struct ap_filter_t *f, apr_array_header_t **ptr, apr_size_t num, apr_size_t size) |
| int | ap_is_rdirectory (apr_pool_t *p, const char *name) |
| int | ap_is_directory (apr_pool_t *p, const char *name) |
| char * | ap_get_local_host (apr_pool_t *p) |
| void | ap_log_assert (const char *szExp, const char *szFile, int nLine) __attribute__((noreturn)) |
| const char * | ap_psignature (const char *prefix, request_rec *r) |
| char * | ap_strchr (char *s, int c) |
| const char * | ap_strchr_c (const char *s, int c) |
| char * | ap_strrchr (char *s, int c) |
| const char * | ap_strrchr_c (const char *s, int c) |
| char * | ap_strstr (char *s, const char *c) |
| const char * | ap_strstr_c (const char *s, const char *c) |
| void * | ap_palloc_debug (apr_pool_t *p, apr_size_t size) |
| void * | ap_pcalloc_debug (apr_pool_t *p, apr_size_t size) |
| void | ap_random_insecure_bytes (void *buf, apr_size_t size) |
| apr_uint32_t | ap_random_pick (apr_uint32_t min, apr_uint32_t max) |
| void | ap_abort_on_oom (void) __attribute__((noreturn)) |
| void * | ap_malloc (size_t size) __attribute__((malloc)) AP_FN_ATTR_ALLOC_SIZE(1) |
| void * | ap_calloc (size_t nelem, size_t size) __attribute__((malloc)) AP_FN_ATTR_ALLOC_SIZE2(1 |
| void *void * | ap_realloc (void *ptr, size_t size) AP_FN_ATTR_WARN_UNUSED_RESULT AP_FN_ATTR_ALLOC_SIZE(2) |
| void | ap_get_sload (ap_sload_t *ld) AP_FN_ATTR_NONNULL_ALL |
| void | ap_get_loadavg (ap_loadavg_t *ld) AP_FN_ATTR_NONNULL_ALL |
| void | ap_bin2hex (const void *src, apr_size_t srclen, char *dest) AP_FN_ATTR_NONNULL_ALL |
| int | ap_has_cntrl (const char *str) AP_FN_ATTR_NONNULL_ALL |
| apr_status_t | ap_password_validate (request_rec *r, const char *username, const char *passwd, const char *hash) |
| char * | ap_get_exec_line (apr_pool_t *p, const char *cmd, const char *const *argv) |
| #define ap_assert | ( | exp | ) | ((exp) ? (void)0 : ap_log_assert(#exp,__FILE__,__LINE__)) |
For internal use only.
Internal Assert function
| #define AP_DEBUG_ASSERT | ( | exp | ) | ((void)0) |
Redefine assert() to something more useful for an Apache...
Use ap_assert() if the condition should always be checked. Use AP_DEBUG_ASSERT() if the condition should only be checked when AP_DEBUG is defined.
| #define AP_DECLARE_DATA |
| #define AP_DEFAULT_INDEX "index.html" |
Define this to be what your HTML directory content files are called
Get the default port for a request (which depends on the scheme).
| r | The request |
Escape an html string
| p | The pool to allocate from | |
| s | The html to escape |
| #define AP_FILTER_ERROR -102 |
Returned by any filter if the filter chain encounters an error and has already dealt with the error response.
Get the scheme for a request.
| r | The request |
| #define AP_IOBUFSIZE 8192 |
The size of the server's internal read-write buffers
Check whether port is the default port for the request r.
| port | The port number | |
| r | The request |
| #define AP_MAX_REG_MATCH 10 |
The max number of regex captures that can be expanded by ap_pregsub
| #define AP_MAX_SENDFILE 16777216 |
APR_HAS_LARGE_FILES introduces the problem of spliting sendfile into mutiple buckets, no greater than MAX(apr_size_t), and more granular than that in case the brigade code/filters attempt to read it directly. ### 16mb is an invention, no idea if it is reasonable.
| #define AP_MODULE_DECLARE_DATA |
| #define AP_NOBODY_READ -101 |
Returned by the bottom-most filter if no data was read.
| #define AP_NOBODY_WROTE -100 |
Returned by the bottom-most filter if no data was written.
| #define AP_NORESTART APR_OS_START_USEERR + 1 |
| #define AP_SERVER_PROTOCOL "HTTP/1.1" |
default HTTP Server protocol
| #define APEXIT_CHILDFATAL 0xf |
A fatal error, resulting in the whole server aborting. If a child exits with this error, the parent process considers this a server-wide fatal error and aborts.
| #define APEXIT_CHILDINIT 0x3 |
The child died during its init sequence
| #define APEXIT_CHILDSICK 0x7 |
The child exited due to a resource shortage. The parent should limit the rate of forking until the situation is resolved.
| #define APEXIT_INIT 0x2 |
A fatal error arising during the server's init sequence
| #define APEXIT_OK 0x0 |
MPM child process exit status values The MPM parent process may check the status to see if special error handling is required. a normal exit
| #define CR 13 |
carrige return
| #define CRLF "\015\012" |
carrige return /Line Feed Combo
| #define CRLF_ASCII "\015\012" |
Useful for common code with either platform charset.
| #define DECLINED -1 |
Module declines to handle
| #define DEFAULT_ACCESS_FNAME ".htaccess" |
Define this to be what your per-directory security files are called
| #define DEFAULT_ADD_DEFAULT_CHARSET_NAME "iso-8859-1" |
The default default character set name to add if AddDefaultCharset is enabled. Overridden with AddDefaultCharsetName.
| #define DEFAULT_ADMIN "[no address given]" |
Default administrator's address
| #define DEFAULT_ERRORLOG "logs/error_log" |
The name of the log files
| #define DEFAULT_HTTP_PORT 80 |
default HTTP Port
| #define DEFAULT_HTTPS_PORT 443 |
default HTTPS Port
| #define DEFAULT_KEEPALIVE 100 |
The number of requests to entertain per connection
| #define DEFAULT_KEEPALIVE_TIMEOUT 5 |
The timeout for waiting for keepalive timeout until next request
| #define DEFAULT_LIMIT_REQUEST_FIELDS 100 |
default limit on number of request header fields
| #define DEFAULT_LIMIT_REQUEST_FIELDSIZE 8190 |
default limit on bytes in any one header field
| #define DEFAULT_LIMIT_REQUEST_LINE 8190 |
default limit on bytes in Request-Line (Method+URI+HTTP-version)
| #define DEFAULT_PATH "/bin:/usr/bin:/usr/ucb:/usr/bsd:/usr/local/bin" |
The name of the server config file The default path for CGI scripts if none is currently set
| #define DEFAULT_TIMEOUT 60 |
The timeout for waiting for messages
| #define DEFAULT_VHOST_ADDR 0xfffffffful |
The address 255.255.255.255, when used as a virtualhost address, will become the "default" server when the ip doesn't match other vhosts.
| #define DOCTYPE_HTML_2_0 |
"<!DOCTYPE HTML PUBLIC \"-//IETF//" \ "DTD HTML 2.0//EN\">\n"
The name of the MIME types file HTML 2.0 Doctype
| #define DOCTYPE_HTML_3_2 |
"<!DOCTYPE HTML PUBLIC \"-//W3C//" \ "DTD HTML 3.2 Final//EN\">\n"
HTML 3.2 Doctype
| #define DOCTYPE_HTML_4_0F |
"<!DOCTYPE HTML PUBLIC \"-//W3C//" \ "DTD HTML 4.0 Frameset//EN\"\n" \ "\"http://www.w3.org/TR/REC-html40/frameset.dtd\">\n"
HTML 4.0 Frameset Doctype
| #define DOCTYPE_HTML_4_0S |
"<!DOCTYPE HTML PUBLIC \"-//W3C//" \ "DTD HTML 4.0//EN\"\n" \ "\"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
HTML 4.0 Strict Doctype
| #define DOCTYPE_HTML_4_0T |
"<!DOCTYPE HTML PUBLIC \"-//W3C//" \ "DTD HTML 4.0 Transitional//EN\"\n" \ "\"http://www.w3.org/TR/REC-html40/loose.dtd\">\n"
HTML 4.0 Transitional Doctype
| #define DOCTYPE_XHTML_1_0F |
"<!DOCTYPE html PUBLIC \"-//W3C//" \ "DTD XHTML 1.0 Frameset//EN\"\n" \ "\"http://www.w3.org/TR/xhtml1/DTD/" \ "xhtml1-frameset.dtd\">"
XHTML 1.0 Frameset Doctype
| #define DOCTYPE_XHTML_1_0S |
"<!DOCTYPE html PUBLIC \"-//W3C//" \ "DTD XHTML 1.0 Strict//EN\"\n" \ "\"http://www.w3.org/TR/xhtml1/DTD/" \ "xhtml1-strict.dtd\">\n"
XHTML 1.0 Strict Doctype
| #define DOCTYPE_XHTML_1_0T |
"<!DOCTYPE html PUBLIC \"-//W3C//" \ "DTD XHTML 1.0 Transitional//EN\"\n" \ "\"http://www.w3.org/TR/xhtml1/DTD/" \ "xhtml1-transitional.dtd\">\n"
XHTML 1.0 Transitional Doctype
| #define DOCUMENT_LOCATION HTTPD_ROOT "/htdocs" |
Define this to be the default server home dir. Most things later in this file with a relative pathname will have this added. Default location of documents. Can be overridden by the DocumentRoot directive.
| #define DONE -2 |
Module has served the response completely
| #define DYNAMIC_MODULE_LIMIT 256 |
Maximum number of dynamically loaded modules
| #define HTTP_VERSION | ( | major, | |||
| minor | ) | (1000*(major)+(minor)) |
Internal representation for a HTTP protocol number, e.g., HTTP/1.1
| #define HTTP_VERSION_MAJOR | ( | number | ) | ((number)/1000) |
Major part of HTTP protocol
| #define HTTP_VERSION_MINOR | ( | number | ) | ((number)%1000) |
Minor part of HTTP protocol
| #define HUGE_STRING_LEN 8192 |
The length of a Huge string
| #define LF 10 |
linefeed
| #define MAX_STRING_LEN HUGE_STRING_LEN |
The default string length
| #define OK 0 |
Module has handled this stage.
| #define strtoul strtoul_is_not_a_portable_function_use_strtol_instead |
strtoul does not exist on sunos4.
| #define SUEXEC_BIN HTTPD_ROOT "/bin/suexec" |
The path to the suExec wrapper, can be overridden in Configuration
| #define SUSPENDED -3 |
Module will handle the remainder of the request. The core will never invoke the request again,
| typedef struct ap_loadavg_t ap_loadavg_t |
| typedef struct ap_method_list_t ap_method_list_t |
| typedef struct ap_sload_t ap_sload_t |
| typedef struct conn_state_t conn_state_t |
A structure that represents the status of the current connection
| typedef struct process_rec process_rec |
A structure that represents one process
| typedef struct request_rec request_rec |
A structure that represents the current request
| typedef struct server_addr_rec server_addr_rec |
| typedef struct server_rec server_rec |
A structure that represents a virtual server
| enum ap_conn_keepalive_e |
| enum conn_sense_e |
| enum conn_state_e |
Enumeration of connection states The two states CONN_STATE_LINGER_NORMAL and CONN_STATE_LINGER_SHORT may only be set by the MPM. Use CONN_STATE_LINGER outside of the MPM.
| void ap_abort_on_oom | ( | void | ) |
Abort with a error message signifying out of memory
| void ap_add_version_component | ( | apr_pool_t * | pconf, | |
| const char * | component | |||
| ) |
Add a component to the server description and banner strings
| pconf | The pool to allocate the component from | |
| component | The string to add |
| char* ap_append_pid | ( | apr_pool_t * | p, | |
| const char * | string, | |||
| const char * | delim | |||
| ) |
Given a string, append the PID deliminated by delim. Usually used to create a pid-appended filepath name (eg: /a/b/foo -> /a/b/foo.6726). A function, and not a macro, to avoid unistd.h dependency
| p | The pool to allocate memory from | |
| string | The string to append the PID to | |
| delim | The string to use to deliminate the string from the PID |
| void ap_bin2hex | ( | const void * | src, | |
| apr_size_t | srclen, | |||
| char * | dest | |||
| ) |
Convert binary data into a hex string
| src | pointer to the data | |
| srclen | length of the data | |
| dest | pointer to buffer of length (2 * srclen + 1). The resulting string will be NUL-terminated. |
| void* ap_calloc | ( | size_t | nelem, | |
| size_t | size | |||
| ) |
Wrapper for calloc() that calls ap_abort_on_oom() if out of memory
| nelem | number of elements to allocate memory for | |
| size | size of a single element |
| char* ap_construct_server | ( | apr_pool_t * | p, | |
| const char * | hostname, | |||
| apr_port_t | port, | |||
| const request_rec * | r | |||
| ) |
Construct a full hostname
| p | The pool to allocate from | |
| hostname | The hostname of the server | |
| port | The port the server is running on | |
| r | The current request |
| void ap_content_type_tolower | ( | char * | s | ) |
We want to downcase the type/subtype for comparison purposes but nothing else because ;parameter=foo values are case sensitive.
| s | The content-type to convert to lowercase |
| const char* ap_context_document_root | ( | request_rec * | r | ) |
Get the context_document_root for a request. This is a generalization of the document root, which is too limited in the presence of mappers like mod_userdir and mod_alias. The context_document_root is the directory on disk that maps to the context_prefix URI prefix.
| r | The request |
| const char* ap_context_prefix | ( | request_rec * | r | ) |
Get the context_prefix for a request. The context_prefix URI prefix maps to the context_document_root on disk.
| r | The request |
| int ap_count_dirs | ( | const char * | path | ) |
Count the number of directories in a path
| path | The path to count |
| apr_size_t ap_escape_errorlog_item | ( | char * | dest, | |
| const char * | source, | |||
| apr_size_t | buflen | |||
| ) |
Escape a string for logging into the error log (without a pool)
| dest | The buffer to write to | |
| source | The string to escape | |
| buflen | The buffer size for the escaped string (including "\0") |
| char* ap_escape_html2 | ( | apr_pool_t * | p, | |
| const char * | s, | |||
| int | toasc | |||
| ) |
Escape an html string
| p | The pool to allocate from | |
| s | The html to escape | |
| toasc | Whether to escape all non-ASCII chars to &#nnn; |
| char* ap_escape_logitem | ( | apr_pool_t * | p, | |
| const char * | str | |||
| ) |
Escape a string for logging
| p | The pool to allocate from | |
| str | The string to escape |
| char* ap_escape_path_segment | ( | apr_pool_t * | p, | |
| const char * | s | |||
| ) |
Escape a path segment, as defined in RFC 1808
| p | The pool to allocate from | |
| s | The path to convert |
| char* ap_escape_path_segment_buffer | ( | char * | c, | |
| const char * | s | |||
| ) |
Escape a path segment, as defined in RFC 1808, to a preallocated buffer.
| c | The preallocated buffer to write to | |
| s | The path to convert |
| char* ap_escape_quotes | ( | apr_pool_t * | p, | |
| const char * | instring | |||
| ) |
Given a string, replace any bare " with \" .
| p | The pool to allocate memory from | |
| instring | The string to search for " |
| char* char* ap_escape_shell_cmd | ( | apr_pool_t * | p, | |
| const char * | s | |||
| ) |
Escape a shell command
| p | The pool to allocate from | |
| s | The command to escape |
| char* ap_escape_urlencoded | ( | apr_pool_t * | p, | |
| const char * | s | |||
| ) |
Escape a string as application/x-www-form-urlencoded
| p | The pool to allocate from | |
| s | The path to convert |
| char* ap_escape_urlencoded_buffer | ( | char * | c, | |
| const char * | s | |||
| ) |
Escape a string as application/x-www-form-urlencoded, to a preallocated buffer
| c | The preallocated buffer to write to | |
| s | The path to convert |
| char* ap_field_noparam | ( | apr_pool_t * | p, | |
| const char * | intype | |||
| ) |
Examine a field value (such as a media-/content-type) string and return it sans any parameters; e.g., strip off any ';charset=foo' and the like.
| p | Pool to allocate memory from | |
| intype | The field to examine |
| int ap_find_etag_strong | ( | apr_pool_t * | p, | |
| const char * | line, | |||
| const char * | tok | |||
| ) |
Do a strong ETag comparison within an HTTP field value list.
| p | The pool to allocate from | |
| line | The field value list to search | |
| tok | The token to search for |
| int ap_find_etag_weak | ( | apr_pool_t * | p, | |
| const char * | line, | |||
| const char * | tok | |||
| ) |
Do a weak ETag comparison within an HTTP field value list.
| p | The pool to allocate from | |
| line | The field value list to search | |
| tok | The token to search for |
| int ap_find_last_token | ( | apr_pool_t * | p, | |
| const char * | line, | |||
| const char * | tok | |||
| ) |
find http tokens from the end of the line
| p | The pool to allocate from | |
| line | The line to find the token | |
| tok | The token to find |
| int ap_find_list_item | ( | apr_pool_t * | p, | |
| const char * | line, | |||
| const char * | tok | |||
| ) |
Find an item in canonical form (lowercase, no extra spaces) within an HTTP field value list.
| p | The pool to allocate from | |
| line | The field value list to search | |
| tok | The token to search for |
| int ap_find_token | ( | apr_pool_t * | p, | |
| const char * | line, | |||
| const char * | tok | |||
| ) |
Find http tokens, see the definition of token from RFC2068
| p | The pool to allocate from | |
| line | The line to find the token | |
| tok | The token to find |
| char* ap_get_exec_line | ( | apr_pool_t * | p, | |
| const char * | cmd, | |||
| const char *const * | argv | |||
| ) |
Short function to execute a command and return the first line of output minus
. Useful for "obscuring" passwords via exec calls
| p | the pool to allocate from | |
| cmd | the command to execute | |
| argv | the arguments to pass to the cmd |
| char* ap_get_list_item | ( | apr_pool_t * | p, | |
| const char ** | field | |||
| ) |
Retrieve an HTTP header field list item, as separated by a comma, while stripping insignificant whitespace and lowercasing anything not in a quoted string or comment.
| p | The pool to allocate from | |
| field | The field to retrieve |
| void ap_get_loadavg | ( | ap_loadavg_t * | ld | ) |
Get server load averages (ala getloadavg)
| ld | struct to populate: -1 in fields means error |
| char* ap_get_local_host | ( | apr_pool_t * | p | ) |
Determine the local host name for the current machine
| p | The pool to allocate from |
| const char* ap_get_server_banner | ( | void | ) |
Get the server banner in a form suitable for sending over the network, with the level of information controlled by the ServerTokens directive.
| const char* ap_get_server_built | ( | void | ) |
Get the date a time that the server was built
| const char* ap_get_server_description | ( | void | ) |
Get the server description in a form suitable for local displays, status reports, or logging. This includes the detailed server version and information about some modules. It is not affected by the ServerTokens directive.
| void ap_get_server_revision | ( | ap_version_t * | version | ) |
Return httpd's version information in a numeric form.
| version | Pointer to a version structure for returning the version information. |
| void ap_get_sload | ( | ap_sload_t * | ld | ) |
Get server load params
| ld | struct to populate: -1 in fields means error |
| char* ap_get_token | ( | apr_pool_t * | p, | |
| const char ** | accept_line, | |||
| int | accept_white | |||
| ) |
Retrieve a token, spacing over it and adjusting the pointer to the first non-white byte afterwards. Note that these tokens are delimited by semis and commas and can also be delimited by whitespace at the caller's option.
| p | The pool to allocate from | |
| accept_line | The line to retrieve the token from (adjusted afterwards) | |
| accept_white | Is it delimited by whitespace |
| void ap_getparents | ( | char * | name | ) |
Remove all ./ and xx/../ substrings from a file name. Also remove any leading ../ or /../ substrings.
| name | the file name to parse |
| char* ap_getword | ( | apr_pool_t * | p, | |
| const char ** | line, | |||
| char | stop | |||
| ) |
Get the characters until the first occurrence of a specified character
| p | The pool to allocate memory from | |
| line | The string to get the characters from | |
| stop | The character to stop at |
| char* ap_getword_conf | ( | apr_pool_t * | p, | |
| const char ** | line | |||
| ) |
Get the second word in the string paying attention to quoting
| p | The pool to allocate from | |
| line | The line to traverse |
| char* ap_getword_conf_nc | ( | apr_pool_t * | p, | |
| char ** | line | |||
| ) |
Get the second word in the string paying attention to quoting
| p | The pool to allocate from | |
| line | The line to traverse |
| char* ap_getword_nc | ( | apr_pool_t * | p, | |
| char ** | line, | |||
| char | stop | |||
| ) |
Get the characters until the first occurrence of a specified character
| p | The pool to allocate memory from | |
| line | The string to get the characters from | |
| stop | The character to stop at |
| char* ap_getword_nulls | ( | apr_pool_t * | p, | |
| const char ** | line, | |||
| char | stop | |||
| ) |
Get all characters from the first occurrence of stop to the first "\0"
| p | The pool to allocate memory from | |
| line | The line to traverse | |
| stop | The character to start at |
| char* ap_getword_nulls_nc | ( | apr_pool_t * | p, | |
| char ** | line, | |||
| char | stop | |||
| ) |
Get all characters from the first occurrence of stop to the first "\0"
| p | The pool to allocate memory from | |
| line | The line to traverse | |
| stop | The character to start at |
| char* ap_getword_white | ( | apr_pool_t * | p, | |
| const char ** | line | |||
| ) |
Get the first word from a given string. A word is defined as all characters up to the first whitespace.
| p | The pool to allocate memory from | |
| line | The string to traverse |
| char* ap_getword_white_nc | ( | apr_pool_t * | p, | |
| char ** | line | |||
| ) |
Get the first word from a given string. A word is defined as all characters up to the first whitespace.
| p | The pool to allocate memory from | |
| line | The string to traverse |
| int ap_has_cntrl | ( | const char * | str | ) |
Check if string contains a control character
| str | the string to check | |
| srclen | length of the data |
| char* ap_ht_time | ( | apr_pool_t * | p, | |
| apr_time_t | t, | |||
| const char * | fmt, | |||
| int | gmt | |||
| ) |
Convert a time from an integer into a string in a specified format
| p | The pool to allocate memory from | |
| t | The time to convert | |
| fmt | The format to use for the conversion | |
| gmt | Convert the time for GMT? |
| int ap_ind | ( | const char * | str, | |
| char | c | |||
| ) |
Search a string from left to right for the first occurrence of a specific character
| str | The string to search | |
| c | The character to search for |
| int ap_is_directory | ( | apr_pool_t * | p, | |
| const char * | name | |||
| ) |
Given the name of an object in the file system determine if it is a directory - this version is symlink aware
| p | The pool to allocate from | |
| name | The name of the object to check |
| int ap_is_matchexp | ( | const char * | str | ) |
Does the provided string contain wildcard characters? This is useful for determining if the string should be passed to strcmp_match or to strcmp. The only wildcard characters recognized are '?' and '*'
| str | The string to check |
| int ap_is_rdirectory | ( | apr_pool_t * | p, | |
| const char * | name | |||
| ) |
Given the name of an object in the file system determine if it is a directory
| p | The pool to allocate from | |
| name | The name of the object to check |
| int ap_is_url | ( | const char * | u | ) |
Check for an Absolute URI syntax
| u | The string to check |
| void ap_log_assert | ( | const char * | szExp, | |
| const char * | szFile, | |||
| int | nLine | |||
| ) |
Log an assertion to the error log
| szExp | The assertion that failed | |
| szFile | The file the assertion is in | |
| nLine | The line the assertion is defined on |
| char* ap_make_dirstr_parent | ( | apr_pool_t * | p, | |
| const char * | s | |||
| ) |
Return the parent directory name (including trailing /) of the file s
| p | The pool to allocate from | |
| s | The file to get the parent of |
| char* ap_make_dirstr_prefix | ( | char * | d, | |
| const char * | s, | |||
| int | n | |||
| ) |
Copy at most n leading directories of s into d. d should be at least as large as s plus 1 extra byte
| d | The location to copy to | |
| s | The location to copy from | |
| n | The number of directories to copy |
| char* ap_make_full_path | ( | apr_pool_t * | a, | |
| const char * | dir, | |||
| const char * | f | |||
| ) |
Given a directory and filename, create a single path from them. This function is smart enough to ensure that there is a single '/' between the directory and file names
| a | The pool to allocate from | |
| dir | The directory name | |
| f | The filename |
| void* ap_malloc | ( | size_t | size | ) |
Wrapper for malloc() that calls ap_abort_on_oom() if out of memory
| size | size of the memory block |
| void ap_no2slash | ( | char * | name | ) |
Convert all double slashes to single slashes
| name | The string to convert |
| char* ap_os_escape_path | ( | apr_pool_t * | p, | |
| const char * | path, | |||
| int | partial | |||
| ) |
convert an OS path to a URL in an OS dependent way.
| p | The pool to allocate from | |
| path | The path to convert | |
| partial | if set, assume that the path will be appended to something with a '/' in it (and thus does not prefix "./"). If not set, there will be one byte of additional space after the NUL, to allow the caller to append a '/'. |
| int ap_os_is_path_absolute | ( | apr_pool_t * | p, | |
| const char * | dir | |||
| ) |
Test if the given path has an an absolute path.
| p | The pool to allocate from | |
| dir | The directory name |
| void* ap_palloc_debug | ( | apr_pool_t * | p, | |
| apr_size_t | size | |||
| ) |
| int ap_parse_form_data | ( | request_rec * | r, | |
| struct ap_filter_t * | f, | |||
| apr_array_header_t ** | ptr, | |||
| apr_size_t | num, | |||
| apr_size_t | size | |||
| ) |
Read the body and parse any form found, which must be of the type application/x-www-form-urlencoded.
| r | request containing POSTed form data | |
| f | filter | |
| ptr | returned array of ap_form_pair_t | |
| num | max num of params or -1 for unlimited | |
| size | max size allowed for parsed data |
| apr_status_t ap_password_validate | ( | request_rec * | r, | |
| const char * | username, | |||
| const char * | passwd, | |||
| const char * | hash | |||
| ) |
Wrapper for apr_password_validate() to cache expensive calculations
| r | the current request | |
| username | username of the user | |
| passwd | password string | |
| hash | hash string to be passwd to apr_password_validate() |
| char* ap_pbase64decode | ( | apr_pool_t * | p, | |
| const char * | bufcoded | |||
| ) |
Decode a base64 encoded string into memory allocated from a pool
| p | The pool to allocate from | |
| bufcoded | The encoded string |
| char* ap_pbase64encode | ( | apr_pool_t * | p, | |
| char * | string | |||
| ) |
Encode a string into memory allocated from a pool in base 64 format
| p | The pool to allocate from | |
| string | The plaintext string |
| void* ap_pcalloc_debug | ( | apr_pool_t * | p, | |
| apr_size_t | size | |||
| ) |
| ap_regex_t* ap_pregcomp | ( | apr_pool_t * | p, | |
| const char * | pattern, | |||
| int | cflags | |||
| ) |
Compile a regular expression to be used later. The regex is freed when the pool is destroyed.
| p | The pool to allocate from | |
| pattern | the regular expression to compile | |
| cflags | The bitwise or of one or more of the following:
|
| void ap_pregfree | ( | apr_pool_t * | p, | |
| ap_regex_t * | reg | |||
| ) |
Free the memory associated with a compiled regular expression
| p | The pool the regex was allocated from | |
| reg | The regular expression to free |
| char* ap_pregsub | ( | apr_pool_t * | p, | |
| const char * | input, | |||
| const char * | source, | |||
| apr_size_t | nmatch, | |||
| ap_regmatch_t | pmatch[] | |||
| ) |
After performing a successful regex match, you may use this function to perform a series of string substitutions based on subexpressions that were matched during the call to ap_regexec. This function is limited to result strings of 64K. Consider using ap_pregsub_ex() instead.
| p | The pool to allocate from | |
| input | An arbitrary string containing $1 through $9. These are replaced with the corresponding matched sub-expressions | |
| source | The string that was originally matched to the regex | |
| nmatch | the nmatch returned from ap_pregex | |
| pmatch | the pmatch array returned from ap_pregex |
| apr_status_t ap_pregsub_ex | ( | apr_pool_t * | p, | |
| char ** | result, | |||
| const char * | input, | |||
| const char * | source, | |||
| apr_size_t | nmatch, | |||
| ap_regmatch_t | pmatch[], | |||
| apr_size_t | maxlen | |||
| ) |
After performing a successful regex match, you may use this function to perform a series of string substitutions based on subexpressions that were matched during the call to ap_regexec
| p | The pool to allocate from | |
| result | where to store the result, will be set to NULL on error | |
| input | An arbitrary string containing $1 through $9. These are replaced with the corresponding matched sub-expressions | |
| source | The string that was originally matched to the regex | |
| nmatch | the nmatch returned from ap_pregex | |
| pmatch | the pmatch array returned from ap_pregex | |
| maxlen | the maximum string length to return, 0 for unlimited |
| const char* ap_psignature | ( | const char * | prefix, | |
| request_rec * | r | |||
| ) |
Get HTML describing the address and (optionally) admin of the server.
| prefix | Text which is prepended to the return value | |
| r | The request_rec |
| apr_status_t ap_pstr2_alnum | ( | apr_pool_t * | p, | |
| const char * | src, | |||
| const char ** | dest | |||
| ) |
Cleanup a string (mainly to be filesystem safe) We only allow '_' and alphanumeric chars. Non-printable map to 'x' and all others map to '_'
| p | pool to use to allocate dest | |
| src | string to clean up | |
| dest | cleaned up, allocated string |
| void ap_random_insecure_bytes | ( | void * | buf, | |
| apr_size_t | size | |||
| ) |
Generate pseudo random bytes. This is a convenience interface to apr_random. It is cheaper but less secure than apr_generate_random_bytes().
| buf | where to store the bytes | |
| size | number of bytes to generate |
| apr_uint32_t ap_random_pick | ( | apr_uint32_t | min, | |
| apr_uint32_t | max | |||
| ) |
Get a pseudo random number in a range.
| min | low end of range | |
| max | high end of range |
| void* void* ap_realloc | ( | void * | ptr, | |
| size_t | size | |||
| ) |
Wrapper for realloc() that calls ap_abort_on_oom() if out of memory
| ptr | pointer to the old memory block (or NULL) | |
| size | new size of the memory block |
| int ap_request_has_body | ( | request_rec * | r | ) |
Determine if a request has a request body or not.
| r | the request_rec of the request |
| const char* ap_resolve_env | ( | apr_pool_t * | p, | |
| const char * | word | |||
| ) |
Check a string for any config define or environment variable construct and replace each of them by the value of that variable, if it exists. The default syntax of the constructs is ${ENV} but can be changed by setting the define::* config defines. If the variable does not exist, leave the ${ENV} construct alone but print a warning.
| p | The pool to allocate from | |
| word | The string to check |
| int ap_rind | ( | const char * | str, | |
| char | c | |||
| ) |
Search a string from right to left for the first occurrence of a specific character
| str | The string to search | |
| c | The character to search for |
| void ap_set_context_info | ( | request_rec * | r, | |
| const char * | prefix, | |||
| const char * | document_root | |||
| ) |
Set context_prefix and context_document_root for a request.
| r | The request | |
| prefix | the URI prefix, without trailing slash | |
| document_root | the corresponding directory on disk, without trailing slash |
| void ap_set_document_root | ( | request_rec * | r, | |
| const char * | document_root | |||
| ) |
Set per-request document root. This is for mass virtual hosting modules that want to provide the correct DOCUMENT_ROOT value to scripts.
| r | The request | |
| document_root | the document root for the request. |
| const char* ap_size_list_item | ( | const char ** | field, | |
| int * | len | |||
| ) |
Size an HTTP header field list item, as separated by a comma.
| field | The field to size | |
| len | The length of the field |
| apr_status_t ap_str2_alnum | ( | const char * | src, | |
| char * | dest | |||
| ) |
Cleanup a string (mainly to be filesystem safe) We only allow '_' and alphanumeric chars. Non-printable map to 'x' and all others map to '_'
| src | string to clean up | |
| dest | cleaned up, pre-allocated string |
| void ap_str_tolower | ( | char * | s | ) |
convert a string to all lowercase
| s | The string to convert to lowercase |
| void ap_str_toupper | ( | char * | s | ) |
convert a string to all uppercase
| s | The string to convert to uppercase |
| int ap_strcasecmp_match | ( | const char * | str, | |
| const char * | expected | |||
| ) |
Determine if a string matches a patterm containing the wildcards '?' or '*', ignoring case
| str | The string to check | |
| expected | The pattern to match against |
| char* ap_strcasestr | ( | const char * | s1, | |
| const char * | s2 | |||
| ) |
Find the first occurrence of the substring s2 in s1, regardless of case
| s1 | The string to search | |
| s2 | The substring to search for |
| char* ap_strchr | ( | char * | s, | |
| int | c | |||
| ) |
| const char* ap_strchr_c | ( | const char * | s, | |
| int | c | |||
| ) |
| int ap_strcmp_match | ( | const char * | str, | |
| const char * | expected | |||
| ) |
Determine if a string matches a patterm containing the wildcards '?' or '*'
| str | The string to check | |
| expected | The pattern to match against |
| const char* ap_stripprefix | ( | const char * | bigstring, | |
| const char * | prefix | |||
| ) |
Return a pointer to the location inside of bigstring immediately after prefix
| bigstring | The input string | |
| prefix | The prefix to strip away |
| char* ap_strrchr | ( | char * | s, | |
| int | c | |||
| ) |
| const char* ap_strrchr_c | ( | const char * | s, | |
| int | c | |||
| ) |
| char* ap_strstr | ( | char * | s, | |
| const char * | c | |||
| ) |
| const char* ap_strstr_c | ( | const char * | s, | |
| const char * | c | |||
| ) |
| apr_status_t ap_timeout_parameter_parse | ( | const char * | timeout_parameter, | |
| apr_interval_time_t * | timeout, | |||
| const char * | default_time_unit | |||
| ) |
Parse a given timeout parameter string into an apr_interval_time_t value. The unit of the time interval is given as postfix string to the numeric string. Currently the following units are understood:
ms : milliseconds s : seconds mi[n] : minutes h : hours
If no unit is contained in the given timeout parameter the default_time_unit will be used instead.
| timeout_parameter | The string containing the timeout parameter. | |
| timeout | The timeout value to be returned. | |
| default_time_unit | The default time unit to use if none is specified in timeout_parameter. |
| int ap_unescape_all | ( | char * | url | ) |
Unescape a string
| url | The string to unescape |
| int ap_unescape_url | ( | char * | url | ) |
Unescape a URL
| url | The url to unescape |
| int ap_unescape_url_keep2f | ( | char * | url, | |
| int | decode_slashes | |||
| ) |
Unescape a URL, but leaving 2f (slashes) escaped
| url | The url to unescape | |
| decode_slashes | Whether or not slashes should be decoded |
| int ap_unescape_urlencoded | ( | char * | query | ) |
Unescape an application/x-www-form-urlencoded string
| query | The query to unescape |
1.6.3