Data Structures | |
struct | UriTextRangeStructA |
struct | UriPathSegmentStructA |
struct | UriHostDataStructA |
struct | UriUriStructA |
struct | UriParserStateStructA |
struct | UriQueryListStructA |
Typedefs | |
typedef UriTextRangeStructA | UriTextRangeA |
typedef UriPathSegmentStructA | UriPathSegmentA |
typedef UriHostDataStructA | UriHostDataA |
typedef UriUriStructA | UriUriA |
typedef UriParserStateStructA | UriParserStateA |
typedef UriQueryListStructA | UriQueryListA |
Functions | |
int | uriParseUriExA (UriParserStateA *state, const char *first, const char *afterLast) |
int | uriParseUriA (UriParserStateA *state, const char *text) |
void | uriFreeUriMembersA (UriUriA *uri) |
char * | uriEscapeExA (const char *inFirst, const char *inAfterLast, char *out, UriBool spaceToPlus, UriBool normalizeBreaks) |
char * | uriEscapeA (const char *in, char *out, UriBool spaceToPlus, UriBool normalizeBreaks) |
const char * | uriUnescapeInPlaceExA (char *inout, UriBool plusToSpace, UriBreakConversion breakConversion) |
const char * | uriUnescapeInPlaceA (char *inout) |
int | uriAddBaseUriA (UriUriA *absoluteDest, const UriUriA *relativeSource, const UriUriA *absoluteBase) |
int | uriRemoveBaseUriA (UriUriA *dest, const UriUriA *absoluteSource, const UriUriA *absoluteBase, UriBool domainRootMode) |
UriBool | uriEqualsUriA (const UriUriA *a, const UriUriA *b) |
int | uriToStringCharsRequiredA (const UriUriA *uri, int *charsRequired) |
int | uriToStringA (char *dest, const UriUriA *uri, int maxChars, int *charsWritten) |
unsigned int | uriNormalizeSyntaxMaskRequiredA (const UriUriA *uri) |
int | uriNormalizeSyntaxExA (UriUriA *uri, unsigned int mask) |
int | uriNormalizeSyntaxA (UriUriA *uri) |
int | uriUnixFilenameToUriStringA (const char *filename, char *uriString) |
int | uriWindowsFilenameToUriStringA (const char *filename, char *uriString) |
int | uriUriStringToUnixFilenameA (const char *uriString, char *filename) |
int | uriUriStringToWindowsFilenameA (const char *uriString, char *filename) |
int | uriComposeQueryCharsRequiredA (const UriQueryListA *queryList, int *charsRequired) |
int | uriComposeQueryCharsRequiredExA (const UriQueryListA *queryList, int *charsRequired, UriBool spaceToPlus, UriBool normalizeBreaks) |
int | uriComposeQueryA (char *dest, const UriQueryListA *queryList, int maxChars, int *charsWritten) |
int | uriComposeQueryExA (char *dest, const UriQueryListA *queryList, int maxChars, int *charsWritten, UriBool spaceToPlus, UriBool normalizeBreaks) |
int | uriComposeQueryMallocA (char **dest, const UriQueryListA *queryList) |
int | uriComposeQueryMallocExA (char **dest, const UriQueryListA *queryList, UriBool spaceToPlus, UriBool normalizeBreaks) |
int | uriDissectQueryMallocA (UriQueryListA **dest, int *itemCount, const char *first, const char *afterLast) |
int | uriDissectQueryMallocExA (UriQueryListA **dest, int *itemCount, const char *first, const char *afterLast, UriBool plusToSpace, UriBreakConversion breakConversion) |
void | uriFreeQueryListA (UriQueryListA *queryList) |
|
Holds structured host information. This is either a IPv4, IPv6, plain text for IPvFuture or all zero for a registered name.
|
|
Represents a state of the URI parser. Missing components can be NULL to reflect a components absence.
|
|
Represents a path segment within a URI path. More precisely it is a node in a linked list of path segments.
|
|
Represents a query element. More precisely it is a node in a linked list of query elements.
|
|
Specifies a range of characters within a string. The range includes all characters from
|
|
Represents an RFC 3986 URI. Missing components can be {NULL, NULL} ranges.
|
|
Performs reference resolution as described in section 5.2.2 of RFC 3986.
|
|
Converts a query list structure back to a query string. The composed string does not start with '?', on the way ' ' is converted to '+' and line breaks are normalized to "%0D%0A".
|
|
Calculates the number of characters needed to store the string representation of the given query list excluding the terminator. It is assumed that line breaks are will be normalized to "%0D%0A".
|
|
Calculates the number of characters needed to store the string representation of the given query list excluding the terminator.
|
|
Converts a query list structure back to a query string. The composed string does not start with '?'.
|
|
Converts a query list structure back to a query string. Memory for this string is allocated internally. The composed string does not start with '?', on the way ' ' is converted to '+' and line breaks are normalized to "%0D%0A".
|
|
Converts a query list structure back to a query string. Memory for this string is allocated internally. The composed string does not start with '?'.
|
|
Constructs a query list from the raw query string of a given URI. On the way '+' is converted back to ' ', line breaks are not modified.
|
|
Constructs a query list from the raw query string of a given URI.
|
|
Checks two URIs for equivalence. Comparison is done the naive way, without prior normalization. NOTE: Two
|
|
Percent-encodes all unreserved characters from the input string and writes the encoded version to the output string. Be sure to allocate 3 times the space of the input buffer for the output buffer for
|
|
Percent-encodes all unreserved characters from the input string and writes the encoded version to the output string. Be sure to allocate 3 times the space of the input buffer for the output buffer for
|
|
Frees all memory associated with the given query list. The structure itself is freed as well.
|
|
Frees all memory associated with the members of the URI structure. Note that the structure itself is not freed, only its members.
|
|
Normalizes all components of a URI. NOTE: If necessary the URI becomes owner of all memory behind the text pointed to. Text is duplicated in that case.
|
|
Normalizes a URI using a normalization mask. The normalization mask decides what components are normalized. NOTE: If necessary the URI becomes owner of all memory behind the text pointed to. Text is duplicated in that case.
|
|
Determines the components of a URI that are not normalized.
|
|
Parses a RFC 3986 URI.
|
|
Parses a RFC 3986 URI.
|
|
Tries to make a relative URI (a reference) from an absolute URI and a given base URI. This can only work if the absolute URI shares scheme and authority with the base URI. If it does not the result will still be an absolute URI (with scheme part if necessary).
|
|
Converts a URI structure back to text as described in section 5.3 of RFC 3986.
|
|
Calculates the number of characters needed to store the string representation of the given URI excluding the terminator.
|
|
Unescapes percent-encoded groups in a given string. E.g. "%20" will become " ". Unescaping is done in place. The return value will be point to the new position of the terminating zero. Use this value to get the new length of the string. NULL is only returned if NOTE: '+' is not decoded to ' ' and line breaks are not converted. Use the more advanced UnescapeInPlaceEx for that features instead.
|
|
Unescapes percent-encoded groups in a given string. E.g. "%20" will become " ". Unescaping is done in place. The return value will be point to the new position of the terminating zero. Use this value to get the new length of the string. NULL is only returned if
|
|
Converts a Unix filename to a URI string. The destination buffer must be large enough to hold 7 + 3 * len(filename) + 1 characters in case of an absolute filename or 3 * len(filename) + 1 in case of a relative filename. EXAMPLE Input: "/bin/bash" Output: "file:///bin/bash"
|
|
Extracts a Unix filename from a URI string. The destination buffer must be large enough to hold len(uriString) + 1 - 7 characters in case of an absolute URI or len(uriString) + 1 in case of a relative URI.
|
|
Extracts a Windows filename from a URI string. The destination buffer must be large enough to hold len(uriString) + 1 - 8 characters in case of an absolute URI or len(uriString) + 1 in case of a relative URI.
|
|
Converts a Windows filename to a URI string. The destination buffer must be large enough to hold 8 + 3 * len(filename) + 1 characters in case of an absolute filename or 3 * len(filename) + 1 in case of a relative filename. EXAMPLE Input: "E:\\Documents and Settings" Output: "file:///E:/Documents%20and%20Settings"
|