Uri.h   Uri.h 
skipping to change at line 318 skipping to change at line 318
/** /**
* Performs reference resolution as described in * Performs reference resolution as described in
* <a href="http://tools.ietf.org/html/rfc3986#section-5.2.2">section 5.2.2 of RFC 3986</a>. * <a href="http://tools.ietf.org/html/rfc3986#section-5.2.2">section 5.2.2 of RFC 3986</a>.
* NOTE: On success you have to call uriFreeUriMembersA on \p absoluteDest manually later. * NOTE: On success you have to call uriFreeUriMembersA on \p absoluteDest manually later.
* *
* @param absoluteDest <b>OUT</b>: Result %URI * @param absoluteDest <b>OUT</b>: Result %URI
* @param relativeSource <b>IN</b>: Reference to resolve * @param relativeSource <b>IN</b>: Reference to resolve
* @param absoluteBase <b>IN</b>: Base %URI to apply * @param absoluteBase <b>IN</b>: Base %URI to apply
* @return Error code or 0 on success * @return Error code or 0 on success
* *
* @see uriRemoveBaseUriA * @see uriRemoveBaseUriA, uriAddBaseUriExA
* @since 0.4.0 * @since 0.4.0
*/ */
int URI_FUNC(AddBaseUri)(URI_TYPE(Uri) * absoluteDest, int URI_FUNC(AddBaseUri)(URI_TYPE(Uri) * absoluteDest,
const URI_TYPE(Uri) * relativeSource, const URI_TYPE(Uri) * relativeSource,
const URI_TYPE(Uri) * absoluteBase); const URI_TYPE(Uri) * absoluteBase);
/** /**
* Performs reference resolution as described in
* <a href="http://tools.ietf.org/html/rfc3986#section-5.2.2">section 5.2.2
of RFC 3986</a>.
* NOTE: On success you have to call uriFreeUriMembersA on \p absoluteDest
manually later.
*
* @param absoluteDest <b>OUT</b>: Result %URI
* @param relativeSource <b>IN</b>: Reference to resolve
* @param absoluteBase <b>IN</b>: Base %URI to apply
* @param options <b>IN</b>: Configuration to apply
* @return Error code or 0 on success
*
* @see uriRemoveBaseUriA, uriAddBaseUriA
* @since 0.8.1
*/
int URI_FUNC(AddBaseUriEx)(URI_TYPE(Uri) * absoluteDest,
const URI_TYPE(Uri) * relativeSource,
const URI_TYPE(Uri) * absoluteBase,
UriResolutionOptions options);
/**
* Tries to make a relative %URI (a reference) from an * Tries to make a relative %URI (a reference) from an
* absolute %URI and a given base %URI. This can only work if * absolute %URI and a given base %URI. This can only work if
* the absolute %URI shares scheme and authority with * the absolute %URI shares scheme and authority with
* the base %URI. If it does not the result will still be * the base %URI. If it does not the result will still be
* an absolute URI (with scheme part if necessary). * an absolute URI (with scheme part if necessary).
* NOTE: On success you have to call uriFreeUriMembersA on * NOTE: On success you have to call uriFreeUriMembersA on
* \p dest manually later. * \p dest manually later.
* *
* @param dest <b>OUT</b>: Result %URI * @param dest <b>OUT</b>: Result %URI
* @param absoluteSource <b>IN</b>: Absolute %URI to make relative * @param absoluteSource <b>IN</b>: Absolute %URI to make relative
* @param absoluteBase <b>IN</b>: Base %URI * @param absoluteBase <b>IN</b>: Base %URI
* @param domainRootMode <b>IN</b>: Create %URI with path relative to dom ain root * @param domainRootMode <b>IN</b>: Create %URI with path relative to dom ain root
* @return Error code or 0 on success * @return Error code or 0 on success
* *
* @see uriAddBaseUriA * @see uriAddBaseUriA, uriAddBaseUriExA
* @since 0.5.2 * @since 0.5.2
*/ */
int URI_FUNC(RemoveBaseUri)(URI_TYPE(Uri) * dest, int URI_FUNC(RemoveBaseUri)(URI_TYPE(Uri) * dest,
const URI_TYPE(Uri) * absoluteSource, const URI_TYPE(Uri) * absoluteSource,
const URI_TYPE(Uri) * absoluteBase, const URI_TYPE(Uri) * absoluteBase,
UriBool domainRootMode); UriBool domainRootMode);
/** /**
* Checks two URIs for equivalence. Comparison is done * Checks two URIs for equivalence. Comparison is done
* the naive way, without prior normalization. * the naive way, without prior normalization.
 End of changes. 3 change blocks. 
2 lines changed or deleted 23 lines changed or added


 UriBase.h   UriBase.h 
skipping to change at line 53 skipping to change at line 53
*/ */
#ifndef URI_BASE_H #ifndef URI_BASE_H
#define URI_BASE_H 1 #define URI_BASE_H 1
/* Version helper macro */ /* Version helper macro */
#define URI_ANSI_TO_UNICODE(x) L##x #define URI_ANSI_TO_UNICODE(x) L##x
/* Version */ /* Version */
#define URI_VER_MAJOR 0 #define URI_VER_MAJOR 0
#define URI_VER_MINOR 7 #define URI_VER_MINOR 8
#define URI_VER_RELEASE 6 #define URI_VER_RELEASE 1
#define URI_VER_SUFFIX_ANSI "" #define URI_VER_SUFFIX_ANSI ""
#define URI_VER_SUFFIX_UNICODE URI_ANSI_TO_UNICODE(URI_VER_SUFFIX_ANSI) #define URI_VER_SUFFIX_UNICODE URI_ANSI_TO_UNICODE(URI_VER_SUFFIX_ANSI)
/* More version helper macros */ /* More version helper macros */
#define URI_INT_TO_ANSI_HELPER(x) #x #define URI_INT_TO_ANSI_HELPER(x) #x
#define URI_INT_TO_ANSI(x) URI_INT_TO_ANSI_HELPER(x) #define URI_INT_TO_ANSI(x) URI_INT_TO_ANSI_HELPER(x)
#define URI_INT_TO_UNICODE_HELPER(x) URI_ANSI_TO_UNICODE(#x) #define URI_INT_TO_UNICODE_HELPER(x) URI_ANSI_TO_UNICODE(#x)
#define URI_INT_TO_UNICODE(x) URI_INT_TO_UNICODE_HELPER(x) #define URI_INT_TO_UNICODE(x) URI_INT_TO_UNICODE_HELPER(x)
skipping to change at line 135 skipping to change at line 135
} UriIp4; /**< @copydoc UriIp4Struct */ } UriIp4; /**< @copydoc UriIp4Struct */
/** /**
* Holds an IPv6 address. * Holds an IPv6 address.
*/ */
typedef struct UriIp6Struct { typedef struct UriIp6Struct {
unsigned char data[16]; /**< Each quad in two bytes */ unsigned char data[16]; /**< Each quad in two bytes */
} UriIp6; /**< @copydoc UriIp6Struct */ } UriIp6; /**< @copydoc UriIp6Struct */
/** /**
* Specifies a line break conversion mode * Specifies a line break conversion mode.
*/ */
typedef enum UriBreakConversionEnum { typedef enum UriBreakConversionEnum {
URI_BR_TO_LF, /**< Convert to Unix line breaks ("\\x0a") */ URI_BR_TO_LF, /**< Convert to Unix line breaks ("\\x0a") */
URI_BR_TO_CRLF, /**< Convert to Windows line breaks ("\\x0d\\x0a") * / URI_BR_TO_CRLF, /**< Convert to Windows line breaks ("\\x0d\\x0a") * /
URI_BR_TO_CR, /**< Convert to Macintosh line breaks ("\\x0d") */ URI_BR_TO_CR, /**< Convert to Macintosh line breaks ("\\x0d") */
URI_BR_TO_UNIX = URI_BR_TO_LF, /**< @copydoc UriBreakConversionEnum: :URI_BR_TO_LF */ URI_BR_TO_UNIX = URI_BR_TO_LF, /**< @copydoc UriBreakConversionEnum: :URI_BR_TO_LF */
URI_BR_TO_WINDOWS = URI_BR_TO_CRLF, /**< @copydoc UriBreakConversion Enum::URI_BR_TO_CRLF */ URI_BR_TO_WINDOWS = URI_BR_TO_CRLF, /**< @copydoc UriBreakConversion Enum::URI_BR_TO_CRLF */
URI_BR_TO_MAC = URI_BR_TO_CR, /**< @copydoc UriBreakConversionEnum:: URI_BR_TO_CR */ URI_BR_TO_MAC = URI_BR_TO_CR, /**< @copydoc UriBreakConversionEnum:: URI_BR_TO_CR */
URI_BR_DONT_TOUCH /**< Copy line breaks unmodified */ URI_BR_DONT_TOUCH /**< Copy line breaks unmodified */
} UriBreakConversion; /**< @copydoc UriBreakConversionEnum */ } UriBreakConversion; /**< @copydoc UriBreakConversionEnum */
skipping to change at line 160 skipping to change at line 160
typedef enum UriNormalizationMaskEnum { typedef enum UriNormalizationMaskEnum {
URI_NORMALIZED = 0, /**< Do not normalize anything */ URI_NORMALIZED = 0, /**< Do not normalize anything */
URI_NORMALIZE_SCHEME = 1 << 0, /**< Normalize scheme (fix uppercase letters) */ URI_NORMALIZE_SCHEME = 1 << 0, /**< Normalize scheme (fix uppercase letters) */
URI_NORMALIZE_USER_INFO = 1 << 1, /**< Normalize user info (fix uppe rcase percent-encodings) */ URI_NORMALIZE_USER_INFO = 1 << 1, /**< Normalize user info (fix uppe rcase percent-encodings) */
URI_NORMALIZE_HOST = 1 << 2, /**< Normalize host (fix uppercase lett ers) */ URI_NORMALIZE_HOST = 1 << 2, /**< Normalize host (fix uppercase lett ers) */
URI_NORMALIZE_PATH = 1 << 3, /**< Normalize path (fix uppercase perc ent-encodings and redundant dot segments) */ URI_NORMALIZE_PATH = 1 << 3, /**< Normalize path (fix uppercase perc ent-encodings and redundant dot segments) */
URI_NORMALIZE_QUERY = 1 << 4, /**< Normalize query (fix uppercase pe rcent-encodings) */ URI_NORMALIZE_QUERY = 1 << 4, /**< Normalize query (fix uppercase pe rcent-encodings) */
URI_NORMALIZE_FRAGMENT = 1 << 5 /**< Normalize fragment (fix upperca se percent-encodings) */ URI_NORMALIZE_FRAGMENT = 1 << 5 /**< Normalize fragment (fix upperca se percent-encodings) */
} UriNormalizationMask; /**< @copydoc UriNormalizationMaskEnum */ } UriNormalizationMask; /**< @copydoc UriNormalizationMaskEnum */
/**
* Specifies how to resolve %URI references.
*/
typedef enum UriResolutionOptionsEnum {
URI_RESOLVE_STRICTLY = 0, /**< Full RFC conformance */
URI_RESOLVE_IDENTICAL_SCHEME_COMPAT = 1 << 0 /**< Treat %URI to reso
lve with identical scheme as having no scheme */
} UriResolutionOptions; /**< @copydoc UriResolutionOptionsEnum */
#endif /* URI_BASE_H */ #endif /* URI_BASE_H */
 End of changes. 3 change blocks. 
3 lines changed or deleted 12 lines changed or added

This html diff was produced by rfcdiff 1.41. The latest version is available from http://tools.ietf.org/tools/rfcdiff/