apreq.h(3)
| include/apreq.h(3) | libapreq2 | include/apreq.h(3) |
NAME
include/apreq.h - Main header file...
SYNOPSIS
#include 'apr_tables.h'
#include <stddef.h>
Data Structures
struct apreq_value_t
libapreq's pre-extensible string type
Macros
#define APREQ_DECLARE(d) APR_DECLARE(d)
#define APREQ_DECLARE_NONSTD(d) APR_DECLARE_NONSTD(d)
#define APREQ_DECLARE_DATA
#define APREQ_DEFAULT_READ_BLOCK_SIZE (64 * 1024)
#define APREQ_DEFAULT_READ_LIMIT (64 * 1024 * 1024)
#define APREQ_DEFAULT_BRIGADE_LIMIT (256 * 1024)
#define APREQ_DEFAULT_NELTS 8
#define APREQ_FLAGS_OFF(f, name) ((f) &= ~(name##_MASK <<
name##_BIT))
#define APREQ_FLAGS_ON(f, name) ((f) |= (name##_MASK <<
name##_BIT))
#define APREQ_FLAGS_GET(f, name) (((f) >> name##_BIT) &
name##_MASK)
#define APREQ_FLAGS_SET(f, name, value)
#define APREQ_CHARSET_BIT 0
#define APREQ_CHARSET_MASK 255
#define APREQ_TAINTED_BIT 8
#define APREQ_TAINTED_MASK 1
#define APREQ_COOKIE_VERSION_BIT 11
#define APREQ_COOKIE_VERSION_MASK 3
#define APREQ_COOKIE_SECURE_BIT 13
#define APREQ_COOKIE_SECURE_MASK 1
#define APREQ_COOKIE_HTTPONLY_BIT 14
#define APREQ_COOKIE_HTTPONLY_MASK 1
#define apreq_attr_to_type(T, A, P) ( (T*) ((char*)(P)-offsetof(T,A)) )
Typedefs
typedef struct apreq_value_t apreq_value_t
libapreq's pre-extensible string type
Enumerations
enum apreq_charset_t { APREQ_CHARSET_ASCII =0,
APREQ_CHARSET_LATIN1 =1, APREQ_CHARSET_CP1252 =2,
APREQ_CHARSET_UTF8 =8 }
enum apreq_join_t { APREQ_JOIN_AS_IS, APREQ_JOIN_ENCODE,
APREQ_JOIN_DECODE, APREQ_JOIN_QUOTE }
enum apreq_match_t { APREQ_MATCH_FULL,
APREQ_MATCH_PARTIAL }
enum apreq_expires_t { APREQ_EXPIRES_HTTP,
APREQ_EXPIRES_NSCOOKIE }
Functions
static APR_INLINE void apreq_value_table_add (const
apreq_value_t *v, apr_table_t *t)
apr_status_t apreq_initialize (apr_pool_t *pool)
apr_status_t apreq_pre_initialize (apr_pool_t *pool)
apr_status_t apreq_post_initialize (apr_pool_t *pool)
Detailed Description
Main header file...
Define the generic APREQ_ macros and common data structures.
Macro Definition Documentation
#define apreq_attr_to_type(T, A, P) ( (T*) ((char*)(P)-offsetof(T,A)) )
Parameters
A attribute
P XXX
#define APREQ_CHARSET_BIT 0
Charset Bit
See also
APREQ_FLAGS_ON
APREQ_FLAGS_GET
APREQ_FLAGS_SET
#define APREQ_CHARSET_MASK 255
Charset Mask
See also
APREQ_FLAGS_ON
APREQ_FLAGS_GET
APREQ_FLAGS_SET
#define APREQ_COOKIE_HTTPONLY_BIT 14
Cookie's HttpOnly Bit
See also
APREQ_FLAGS_ON
APREQ_FLAGS_GET
APREQ_FLAGS_SET
#define APREQ_COOKIE_HTTPONLY_MASK 1
Cookie's HttpOnly Mask
See also
APREQ_FLAGS_ON
APREQ_FLAGS_GET
APREQ_FLAGS_SET
#define APREQ_COOKIE_SECURE_BIT 13
Cookie's Secure Bit
See also
APREQ_FLAGS_ON
APREQ_FLAGS_GET
APREQ_FLAGS_SET
#define APREQ_COOKIE_SECURE_MASK 1
Cookie's Secure Mask
See also
APREQ_FLAGS_ON
APREQ_FLAGS_GET
APREQ_FLAGS_SET
#define APREQ_COOKIE_VERSION_BIT 11
Cookier Version Bit
See also
APREQ_FLAGS_ON
APREQ_FLAGS_GET
APREQ_FLAGS_SET
#define APREQ_COOKIE_VERSION_MASK 3
Cookie Version Mask
See also
APREQ_FLAGS_ON
APREQ_FLAGS_GET
APREQ_FLAGS_SET
#define APREQ_DECLARE(d) APR_DECLARE(d)
The public APREQ functions are declared with APREQ_DECLARE(), so they may use the most appropriate calling convention. Public APR functions with variable arguments must use APR_DECLARE_NONSTD().
Remarks
Examples
/home/jorton/src/asf/apreq-v2.16/include/apreq.h.
#define APREQ_DECLARE_DATA
The public APREQ variables are declared with APREQ_DECLARE_DATA. This assures the appropriate indirection is invoked at compile time.
See also
APREQ_DECLARE_NONSTD
Remarks
APREQ_DECLARE_DATA type apr_variable = value;
#define APREQ_DECLARE_NONSTD(d) APR_DECLARE_NONSTD(d)
APEQ_DECLARE_NONSTD(rettype) apr_func(args, ...);
#define APREQ_DEFAULT_BRIGADE_LIMIT (256 * 1024)
Maximum number of bytes mod_apreq2 will let accumulate within the heap-buckets in a brigade. Excess data will be spooled to an appended file bucket
See also
#define APREQ_DEFAULT_NELTS 8
Number of elements in the initial apr_table
See also
#define APREQ_DEFAULT_READ_BLOCK_SIZE (64 * 1024)
Read chucks of data in 64k blocks from the request
#define APREQ_DEFAULT_READ_LIMIT (64 * 1024 * 1024)
Maximum number of bytes mod_apreq2 will send off to libapreq2 for parsing. mod_apreq2 will log this event and subsequently remove itself from the filter chain.
See also
#define APREQ_FLAGS_GET(f, name) (((f) >> name##_BIT) & name##_MASK)
Get specified bit f in bitfield name
#define APREQ_FLAGS_OFF(f, name) ((f) &= ~(name##_MASK << name##_BIT))
Check to see if specified bit f is off in bitfield name
#define APREQ_FLAGS_ON(f, name) ((f) |= (name##_MASK << name##_BIT))
Check to see if specified bit f is on in bitfield name
#define APREQ_FLAGS_SET(f, name, value)
Value:
Set specified bit f in bitfield name to value Note the below BIT/Mask defines are used sans the _BIT, _MASK because of the this define's ##_MASK, ##_BIT usage. Each come in a pair
((f) = (((f) & ~(name##_MASK << name##_BIT)) | ((name##_MASK & (value)) << name##_BIT)))
#define APREQ_TAINTED_BIT 8
Tainted Bit
See also
APREQ_FLAGS_ON
APREQ_FLAGS_GET
APREQ_FLAGS_SET
#define APREQ_TAINTED_MASK 1
Tainted Mask
See also
APREQ_FLAGS_ON
APREQ_FLAGS_GET
APREQ_FLAGS_SET
Enumeration Type Documentation
enum apreq_charset_t
Character encodings.
Examples
/home/jorton/src/asf/apreq-v2.16/include/apreq.h.
enum apreq_expires_t
Expiration date format
Enumerator
- APREQ_EXPIRES_HTTP
- Use date formatting consistent with RFC 2616
- APREQ_EXPIRES_NSCOOKIE
- Use format consistent with Netscape's Cookie Spec
Examples
/home/jorton/src/asf/apreq-v2.16/include/apreq.h.
enum apreq_join_t
Join type
Enumerator
- APREQ_JOIN_AS_IS
- Join the strings without modification
- APREQ_JOIN_ENCODE
- Url-encode the strings before joining them
- APREQ_JOIN_DECODE
- Url-decode the strings before joining them
- APREQ_JOIN_QUOTE
- Quote the strings, backslashing existing quote marks.
Examples
/home/jorton/src/asf/apreq-v2.16/include/apreq.h.
enum apreq_match_t
Match type
Enumerator
- APREQ_MATCH_FULL
- Full match only.
- APREQ_MATCH_PARTIAL
- Partial matches are ok.
Examples
/home/jorton/src/asf/apreq-v2.16/include/apreq.h.
Function Documentation
apr_status_t apreq_initialize (apr_pool_t * pool)
Initialize libapreq2. Applications (except apache modules using mod_apreq) should call this exactly once before they use any libapreq2 modules. If you want to modify the list of default parsers with apreq_register_parser(), please use apreq_pre_initialize() and apreq_post_initialize() instead.
Parameters
Remarks
Examples
/home/jorton/src/asf/apreq-v2.16/include/apreq.h.
apr_status_t apreq_post_initialize (apr_pool_t * pool)
Post-initialize libapreq2. Applications (except apache modules using mod_apreq2) should this exactly once before they use any libapreq2 modules for parsing.
Parameters
Examples
/home/jorton/src/asf/apreq-v2.16/include/apreq.h.
apr_status_t apreq_pre_initialize (apr_pool_t * pool)
Pre-initialize libapreq2. Applications (except apache modules using mod_apreq2) should call this exactly once before they register custom parsers with libapreq2. mod_apreq2 does this automatically during the post-config phase, so modules that need call apreq_register_parser should create a post-config hook using APR_HOOK_MIDDLE.
Parameters
Remarks
Examples
/home/jorton/src/asf/apreq-v2.16/include/apreq.h.
static APR_INLINE void apreq_value_table_add (const apreq_value_t * v, apr_table_t * t) [static]
Adds the specified apreq_value_t to the apr_table_t.
Parameters
t add v to this table
Returns
@ see apr_table_t
See also
Examples
/home/jorton/src/asf/apreq-v2.16/include/apreq.h.
Author
Generated automatically by Doxygen for libapreq2 from the source code.
| Wed Mar 10 2021 | Version 2.16 |
