HTTP Daemon Routine
[Apache Core]


モジュール

 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 sever should stop for debugging.

データ構造

struct  ap_version_t
 The numeric version information is broken out into fields within this structure. [詳細]
struct  ap_method_list_t
 Structure for handling HTTP methods. [詳細]
struct  htaccess_result
 This represents the result of calling htaccess; these are cached for each request. [詳細]
struct  process_rec
 A structure that represents one process [詳細]
struct  request_rec
 A structure that represents the current request [詳細]
struct  conn_rec
 Structure to store things which are per connection [詳細]
struct  conn_state_t
 A structure to contain connection state information [詳細]
struct  server_addr_rec
 A structure to be used for Per-vhost config [詳細]
struct  server_rec
 A structure to store information for each virtual server [詳細]
struct  core_output_filter_ctx
struct  core_filter_ctx
struct  core_net_rec
struct  ap_method_list_t
 Structure for handling HTTP methods. [詳細]
struct  server_addr_rec
 A structure to be used for Per-vhost config [詳細]

マクロ定義

#define AP_SERVER_PROTOCOL   "HTTP/1.1"
#define AP_DEFAULT_INDEX   "index.html"
#define DEFAULT_CONTENT_TYPE   "text/plain"
#define AP_TYPES_CONFIG_FILE   "conf/mime.types"
#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_CORE_DECLARE   AP_DECLARE
#define AP_CORE_DECLARE_NONSTD   AP_DECLARE_NONSTD
#define DECLINED   -1
#define DONE   -2
#define OK   0
#define LF   10
#define CR   13
#define CRLF   "\015\012"
#define DEFAULT_VHOST_ADDR   0xfffffffful
#define ap_escape_uri(ppool, path)   ap_os_escape_path(ppool,path,1)
#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

型定義

typedef ap_method_list_t ap_method_list_t
typedef process_rec process_rec
typedef server_rec server_rec
typedef conn_rec conn_rec
typedef request_rec request_rec
typedef conn_state_t conn_state_t
typedef server_addr_rec server_addr_rec
typedef core_output_filter_ctx core_output_filter_ctx_t
typedef core_filter_ctx core_ctx_t

列挙型

enum  ap_conn_keepalive_e { AP_CONN_UNKNOWN, AP_CONN_CLOSE, AP_CONN_KEEPALIVE }
 Enumeration of connection keepalive options
enum  conn_state_e { CONN_STATE_CHECK_REQUEST_LINE_READABLE, CONN_STATE_READ_REQUEST_LINE, CONN_STATE_LINGER }

関数

void ap_get_server_revision (ap_version_t *version)
const char * ap_get_server_version (void)
void ap_add_version_component (apr_pool_t *pconf, const char *component)
const char * ap_get_server_built (void)
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)
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_url (char *url)
int ap_unescape_url_keep2f (char *url)
void ap_no2slash (char *name)
void ap_getparents (char *name)
char * ap_escape_path_segment (apr_pool_t *p, const char *s)
char * ap_os_escape_path (apr_pool_t *p, const char *path, int partial)
char * ap_escape_html (apr_pool_t *p, const char *s)
char * ap_escape_logitem (apr_pool_t *p, const char *str)
apr_size_t ap_escape_errorlog_item (char *dest, const char *source, apr_size_t buflen)
char * ap_construct_server (apr_pool_t *p, const char *hostname, apr_port_t port, const request_rec *r)
char * ap_escape_shell_cmd (apr_pool_t *p, const char *s)
int ap_count_dirs (const char *path)
char * ap_make_dirstr_prefix (char *d, const char *s, int n)
char * ap_make_dirstr_parent (apr_pool_t *p, const char *s)
char * ap_make_full_path (apr_pool_t *a, const char *dir, const char *f)
int ap_os_is_path_absolute (apr_pool_t *p, const char *dir)
int ap_is_matchexp (const char *str)
int ap_strcmp_match (const char *str, const char *expected)
int ap_strcasecmp_match (const char *str, const char *expected)
char * ap_strcasestr (const char *s1, const char *s2)
const char * ap_stripprefix (const char *bigstring, const char *prefix)
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, size_t nmatch, ap_regmatch_t pmatch[])
void ap_content_type_tolower (char *s)
void ap_str_tolower (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)
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)

マクロ定義

#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_DEFAULT_INDEX   "index.html"

Define this to be what your HTML directory content files are called

#define ap_default_port (  )     ap_run_default_port(r)

Get the default port for a request (which depends on the scheme).

引数:
r The request

#define ap_escape_uri ( ppool,
path   )     ap_os_escape_path(ppool,path,1)

参照:
ap_os_escape_path

#define ap_http_scheme (  )     ap_run_http_scheme(r)

Get the scheme for a request.

引数:
r The request

#define AP_IOBUFSIZE   8192

The size of the server's internal read-write buffers

#define ap_is_default_port ( port,
 )     ((port) == ap_default_port(r))

Check whether port is the default port for the request r.

引数:
port The port number
r The request
参照:
ap_default_port

#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_SERVER_PROTOCOL   "HTTP/1.1"

default HTTP Server protocol

#define ap_strchr ( s,
 )     strchr(s, c)

use this instead of strchr

#define ap_strchr_c ( s,
 )     strchr(s, c)

use this instead of strchr

#define ap_strrchr ( s,
 )     strrchr(s, c)

use this instead of strrchr

#define ap_strrchr_c ( s,
 )     strrchr(s, c)

use this instead of strrchr

#define ap_strstr ( s,
 )     strstr(s, c)

use this instead of strrstr

#define ap_strstr_c ( s,
 )     strstr(s, c)

use this instead of strrstr

#define AP_TYPES_CONFIG_FILE   "conf/mime.types"

The name of the MIME types file

#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

a normal exit

#define CR   13

carrige return

#define CRLF   "\015\012"

carrige return /Line Feed Combo

#define DECLINED   -1

Module declines to handle

#define DEFAULT_CONTENT_TYPE   "text/plain"

Define this to be what type you'd like returned for files with unknown suffixes.

警告:
MUST be all lower case.

#define DEFAULT_HTTP_PORT   80

default HTTP Port

#define DEFAULT_HTTPS_PORT   443

default HTTPS Port

#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"
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 DONE   -2

Module has served the response completely

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


型定義

typedef struct ap_method_list_t ap_method_list_t

参照:
ap_method_list_t

typedef struct conn_rec conn_rec

A structure that represents one connection

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_rec server_rec

A structure that represents a virtual server


列挙型

enum conn_state_e

Enumeration of connection states


関数

void ap_add_version_component ( apr_pool_t pconf,
const char *  component 
)

Add a component to the version string

引数:
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
戻り値:
A copy of the string with the PID appended

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
戻り値:
The server's hostname

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

int ap_count_dirs ( const char *  path  ) 

Count the number of directories in a path

引数:
path The path to count
戻り値:
The number of directories

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")
戻り値:
The len of the escaped string (always < maxlen)

char* ap_escape_html ( apr_pool_t p,
const char *  s 
)

Escape an html string

引数:
p The pool to allocate from
s The html to escape
戻り値:
The escaped string

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
戻り値:
The escaped string

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
戻り値:
The converted URL

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 "
戻り値:
A copy of the string with escaped quotes

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
戻り値:
The escaped shell command

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
戻り値:
A copy of the field minus any parameters

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
戻り値:
1 if the token is found, 0 otherwise

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
戻り値:
1 if found, 0 if not found.

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
戻り値:
1 if the token is found, 0 otherwise

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
戻り値:
The return value is a new string containing the converted list item (or NULL if none) and the address pointed to by field is shifted to the next non-comma, non-whitespace.

char* ap_get_local_host ( apr_pool_t p  ) 

Determine the local host name for the current machine

引数:
p The pool to allocate from
戻り値:
A copy of the local host name

const char* ap_get_server_built ( void   ) 

Get the date a time that the server was built

戻り値:
The server build time string

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.

const char* ap_get_server_version ( void   ) 

Get the server version string

戻り値:
The server version string

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
戻り値:
the token

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 occurance 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
戻り値:
A copy of the characters up to the first stop character

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
戻り値:
A copy of the string

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
戻り値:
A copy of the string
覚え書き:
The same as ap_getword_conf(), except it doesn't use const char **.

char* ap_getword_nc ( apr_pool_t p,
char **  line,
char  stop 
)

Get the characters until the first occurance 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
戻り値:
A copy of the characters up to the first stop character
覚え書き:
This is the same as ap_getword(), except it doesn't use const char **.

char* ap_getword_nulls ( apr_pool_t p,
const char **  line,
char  stop 
)

Get all characters from the first occurance of stop to the first "\0"

引数:
p The pool to allocate memory from
line The line to traverse
stop The character to start at
戻り値:
A copy of all caracters after the first occurance of the specified character

char* ap_getword_nulls_nc ( apr_pool_t p,
char **  line,
char  stop 
)

Get all characters from the first occurance of stop to the first "\0"

引数:
p The pool to allocate memory from
line The line to traverse
stop The character to start at
戻り値:
A copy of all caracters after the first occurance of the specified character
覚え書き:
The same as ap_getword_nulls(), except it doesn't use const char **.

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
戻り値:
The first word in the line

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
戻り値:
The first word in the line
覚え書き:
The same as ap_getword_white(), except it doesn't use const char**

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?
戻り値:
The string that represents the specified time

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
戻り値:
The index of the first occurrence of c in str

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
戻り値:
1 if it is a directory, 0 otherwise

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
戻り値:
1 if the string has wildcards, 0 otherwise

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
戻り値:
1 if it is a directory, 0 otherwise

int ap_is_url ( const char *  u  ) 

Check for an Absolute URI syntax

引数:
u The string to check
戻り値:
1 if URI, 0 otherwise

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
戻り値:
A copy of the file's parent directory

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
戻り値:
value is the ever useful pointer to the trailing "\0" of d
覚え書き:
on platforms with drive letters, n = 0 returns the "/" root, whereas n = 1 returns the "d:/" root. On all other platforms, n = 0 returns the empty string.

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 sinlge '/' between the directory and file names

引数:
a The pool to allocate from
dir The directory name
f The filename
戻り値:
A copy of the full path
覚え書き:
Never consider using this function if you are dealing with filesystem names that need to remain canonical, unless you are merging an apr_dir_read path and returned filename. Otherwise, the result is not canonical.

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 dependant 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 "./")
戻り値:
The converted URL

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
覚え書き:
The converse is not necessarily true, some OS's (Win32/OS2/Netware) have multiple forms of absolute paths. This only reports if the path is absolute in a canonical sense.

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
戻り値:
The decoded 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
戻り値:
The encoded string

ap_regex_t* ap_pregcomp ( apr_pool_t p,
const char *  pattern,
int  cflags 
)

Compile a regular expression to be used later

引数:
p The pool to allocate from
pattern the regular expression to compile
cflags The bitwise or of one or more of the following:
  • REG_EXTENDED - Use POSIX extended Regular Expressions
  • REG_ICASE - Ignore case
  • REG_NOSUB - Support for substring addressing of matches not required
  • REG_NEWLINE - Match-any-character operators don't match new-line
戻り値:
The compiled regular expression

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,
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

引数:
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

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
戻り値:
HTML describing the server, allocated in r's pool.

const char* ap_resolve_env ( apr_pool_t p,
const char *  word 
)

Check a string for any ${ENV} environment variable construct and replace each them by the value of that environment variable, if it exists. If the environment value does not exist, leave the ${ENV} construct alone; it means something else.

引数:
p The pool to allocate from
word The string to check
戻り値:
The string with the replaced environment variables

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
戻り値:
The index of the first occurrence of c in str

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
戻り値:
The return value is a pointer to the beginning of the non-empty list item within the original string (or NULL if there is none) and the address of field is shifted to the next non-comma, non-whitespace character. len is the length of the item excluding any beginning whitespace.

void ap_str_tolower ( char *  s  ) 

convert a string to all lowercase

引数:
s The string to convert to lowercase

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
戻り値:
1 if the two strings match, 0 otherwise

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
戻り値:
A pointer to the beginning of the substring
意見:
See apr_strmatch() for a faster alternative

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
戻り値:
1 if the two strings match, 0 otherwise

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
戻り値:
A pointer relative to bigstring after prefix

int ap_unescape_url ( char *  url  ) 

Unescape a URL

引数:
url The url to unescape
戻り値:
0 on success, non-zero otherwise

int ap_unescape_url_keep2f ( char *  url  ) 

Unescape a URL, but leaving 2f (slashes) escaped

引数:
url The url to unescape
戻り値:
0 on success, non-zero otherwise


Apacheに対してSun Jul 19 22:05:28 2009に生成されました。  doxygen 1.4.7