Adaptive Framework  0.9.0
All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
Data Structures | Macros | Typedefs | Functions | Variables

Header for Uniform Resource Identifier (URI) helpers. More...

#include "afw_interface.h"

Go to the source code of this file.

Data Structures

struct  afw_uri_parsed_s
 Typedef for parsed URI returned from afw_uri_parse(). More...
 
struct  afw_uri_parser_s
 URI parser typedef. More...
 

Macros

#define AFW_URI_OCTET_INVALID   (afw_uri_octet_type_t)0x00000000
 
#define AFW_URI_OCTET_GEN_DELIM   (afw_uri_octet_type_t)0x00000001
 
#define AFW_URI_OCTET_SUB_DELIM   (afw_uri_octet_type_t)0x00000002
 
#define AFW_URI_OCTET_UNRESERVED   (afw_uri_octet_type_t)0x00000004
 
#define AFW_URI_OCTET_PCT_ENCODED   (afw_uri_octet_type_t)0x00000008
 
#define AFW_URI_OCTET_ALPHA_UPPER   (afw_uri_octet_type_t)0x00000010
 
#define AFW_URI_OCTET_ALPHA_LOWER   (afw_uri_octet_type_t)0x00000020
 
#define AFW_URI_OCTET_DIGIT   (afw_uri_octet_type_t)0x00000040
 
#define AFW_URI_OCTET_HEXDIGIT   (afw_uri_octet_type_t)0x00000080
 
#define AFW_URI_OCTET_ENCODE_URI   (afw_uri_octet_type_t)0x00000100
 encode except A-Z a-z 0-9 ; , / ? : @ & = + $ - _ . ! ~ * ' ( ) #
 
#define AFW_URI_OCTET_ENCODE_COMPONENT   (afw_uri_octet_type_t)0x00000200
 encode except A-Z a-z 0-9 - _ . ! ~ * ' ( )
 
#define AFW_URI_OCTET_ENCODE_COMPONENT_VALUE   (afw_uri_octet_type_t)0x00000400
 encode except A-Z a-z 0-9 - _ . ! ~ * '
 
#define AFW_URI_OCTET_AT   (afw_uri_octet_type_t)0x00010000
 
#define AFW_URI_OCTET_COLON   (afw_uri_octet_type_t)0x00020000
 
#define AFW_URI_OCTET_MINUS   (afw_uri_octet_type_t)0x00040000
 
#define AFW_URI_OCTET_PERCENT   (afw_uri_octet_type_t)0x00080000
 
#define AFW_URI_OCTET_PERIOD   (afw_uri_octet_type_t)0x00100000
 
#define AFW_URI_OCTET_PLUS   (afw_uri_octet_type_t)0x00200000
 
#define AFW_URI_OCTET_QUESTION   (afw_uri_octet_type_t)0x00400000
 
#define AFW_URI_OCTET_SLASH   (afw_uri_octet_type_t)0x00800000
 
#define AFW_URI_OCTET_MASK_IS_BITWISE_NOT   (afw_uri_octet_type_t)0x80000000
 
#define AFW_URI_OCTET_ALPHA
 Upper or lower ascii alpha uri octet type mask. More...
 
#define AFW_URI_OCTET_PCHAR
 pchar uri octet type mask. More...
 
#define AFW_URI_OCTET_SCHEME_START    ( AFW_URI_OCTET_ALPHA )
 Start char of scheme uri octet type mask.
 
#define AFW_URI_OCTET_SCHEME_CONTINUE
 Continue char of scheme uri octet type mask. More...
 
#define AFW_URI_OCTET_USERINFO
 Userinfo uri octet type mask. More...
 
#define AFW_URI_OCTET_QUERY
 Query uri octet type mask. More...
 
#define AFW_URI_OCTET_FRAGMENT
 Fragment uri octet type mask. More...
 
#define AFW_URI_OCTET_RESERVED
 Reserved uri octet type mask. More...
 
#define AFW_URI_OCTET_IS(type, mask)   ((type) & (AFW_URI_OCTET_ ## mask))
 Test uri octet type using mask. More...
 

Typedefs

typedef afw_uint32_t afw_uri_octet_type_t
 Token type typedef.
 
typedef struct afw_uri_parsed_s afw_uri_parsed_t
 Typedef for parsed URI returned from afw_uri_parse().
 
typedef struct afw_uri_parser_s afw_uri_parser_t
 URI parser typedef.
 

Functions

void afw_uri_parser_initialize (afw_uri_parser_t *parser, const afw_utf8_t *uri, const afw_pool_t *p, afw_xctx_t *xctx)
 Initialize a parser in specific pool. More...
 
const afw_uri_parser_tafw_uri_parser_create (const afw_utf8_t *uri, const afw_pool_t *p, afw_xctx_t *xctx)
 Create and initialize a parser in specific pool. More...
 
void afw_uri_parse_next_token (const afw_uri_parser_t *parser, afw_xctx_t *xctx)
 Parse next token. More...
 
void afw_uri_parse_reuse_token (const afw_uri_parser_t *parser, afw_xctx_t *xctx)
 Cause next call afw_uri_parse_get_next_token() to return current token. More...
 
void afw_uri_parse_set_consider_period_a_token (const afw_uri_parser_t *parser, afw_boolean_t consider_period_a_token, afw_xctx_t *xctx)
 Set consider_period_a_token flag. More...
 
afw_size_t afw_uri_encode_len (const afw_utf8_t *string, afw_uri_octet_type_t mask, afw_xctx_t *xctx)
 The length needed to URI encode a string. More...
 
afw_size_t afw_uri_encode_raw_len (const afw_memory_t *raw, afw_uri_octet_type_t mask, afw_xctx_t *xctx)
 The length needed to URI encode raw. More...
 
const afw_utf8_tafw_uri_encode (const afw_utf8_t *string, afw_uri_octet_type_t mask, const afw_pool_t *p, afw_xctx_t *xctx)
 URI encode a string. More...
 
const afw_utf8_tafw_uri_encode_create (const afw_utf8_octet_t *s, afw_size_t len, afw_uri_octet_type_t mask, const afw_pool_t *p, afw_xctx_t *xctx)
 Create a URI encode a string. More...
 
const afw_utf8_tafw_uri_encode_raw (const afw_memory_t *raw, afw_uri_octet_type_t mask, const afw_pool_t *p, afw_xctx_t *xctx)
 URI encode raw. More...
 
afw_size_t afw_uri_encode_to_preallocated (afw_utf8_octet_t *s, afw_size_t s_len, const afw_utf8_t *string, afw_uri_octet_type_t mask, const afw_pool_t *p, afw_xctx_t *xctx)
 URI encode a string using supplied afw_utf8_t. More...
 
afw_size_t afw_uri_encode_raw_to_preallocated (afw_utf8_octet_t *s, afw_size_t s_len, const afw_memory_t *raw, afw_uri_octet_type_t mask, const afw_pool_t *p, afw_xctx_t *xctx)
 URI encode from raw using supplied afw_utf8_t. More...
 
const afw_utf8_tafw_uri_decode (const afw_utf8_t *encoded, const afw_pool_t *p, afw_xctx_t *xctx)
 Decode a URI encoded string. More...
 
const afw_utf8_tafw_uri_decode_create (const afw_utf8_octet_t *s, afw_size_t len, const afw_pool_t *p, afw_xctx_t *xctx)
 Create a URI decoded string. More...
 
const afw_memory_tafw_uri_decode_to_raw_create (const afw_utf8_octet_t *s, afw_size_t len, const afw_pool_t *p, afw_xctx_t *xctx)
 Decode URI encoded string to raw. More...
 
const afw_memory_tafw_uri_decode_to_raw (const afw_utf8_t *encoded, const afw_pool_t *p, afw_xctx_t *xctx)
 Decode a URI encoded string to raw. More...
 
const afw_uri_parsed_tafw_uri_parse (const afw_utf8_t *uri, afw_boolean_t is_value_path, const afw_utf8_t *current_path, const afw_pool_t *p, afw_xctx_t *xctx)
 Parse a URI in specific pool. More...
 
const afw_object_tafw_uri_parsed_to_object (const afw_uri_parsed_t *parsed, const afw_pool_t *p, afw_xctx_t *xctx)
 Turn a parsed URI into an object representation. More...
 
const afw_object_tafw_uri_to_object (const afw_utf8_t *uri, afw_boolean_t is_value_path, const afw_utf8_t *current_path, const afw_pool_t *p, afw_xctx_t *xctx)
 Turn a URI into an object representation. More...
 
afw_boolean_t afw_uri_octet_test (afw_octet_t octet, afw_uri_octet_type_t mask)
 Test uri octet type mask. More...
 
afw_boolean_t afw_uri_parsed_are_equivalent (const afw_uri_parsed_t *parsed1, const afw_uri_parsed_t *parsed2, afw_xctx_t *xctx)
 Determine if two parsed URIs are equivalent. More...
 
afw_boolean_t afw_uri_are_equivalent (const afw_utf8_t *uri1, const afw_utf8_t *uri2, afw_boolean_t is_value_path, const afw_utf8_t *current_path2, const afw_pool_t *p, afw_xctx_t *xctx)
 Determine if two URIs are equivalent. More...
 

Variables

 afw_uri_octet_type [256]
 Token type table indexed by afw_octet_t ( 0 - 255 ).
 

Detailed Description

Header for Uniform Resource Identifier (URI) helpers.

Definition in file afw_uri.h.