Go to the documentation of this file.
53 #ifndef U_HIDE_DEPRECATED_API
152 #if U_SHOW_CPLUSPLUS_API
205 #define UIDNA_INFO_INITIALIZER { \
206 (int16_t)sizeof(UIDNAInfo), \
235 const UChar *label, int32_t length,
236 UChar *dest, int32_t capacity,
262 const UChar *label, int32_t length,
263 UChar *dest, int32_t capacity,
291 const UChar *name, int32_t length,
292 UChar *dest, int32_t capacity,
318 const UChar *name, int32_t length,
319 UChar *dest, int32_t capacity,
343 const char *label, int32_t length,
344 char *dest, int32_t capacity,
366 const char *label, int32_t length,
367 char *dest, int32_t capacity,
389 const char *name, int32_t length,
390 char *dest, int32_t capacity,
412 const char *name, int32_t length,
413 char *dest, int32_t capacity,
512 #ifndef U_HIDE_DEPRECATED_API
577 UChar* dest, int32_t destCapacity,
625 UChar* dest, int32_t destCapacity,
676 UChar* dest, int32_t destCapacity,
723 UChar* dest, int32_t destCapacity,
764 const UChar *s2, int32_t length2,
Default options value: None of the other options are set.
IDNA option to check for whether the input conforms to the CONTEXTO rules.
int32_t uidna_nameToUnicodeUTF8(const UIDNA *idna, const char *name, int32_t length, char *dest, int32_t capacity, UIDNAInfo *pInfo, UErrorCode *pErrorCode)
Converts a whole domain name into its Unicode form for human-readable display.
C API: Parse Error Information.
Option to allow unassigned code points in domain names and labels.
A label ends with a hyphen-minus ('-').
Basic definitions for ICU, for both C and C++ APIs.
int8_t UBool
The ICU boolean type.
A label contains hyphen-minus ('-') in the third and fourth positions.
#define U_DEPRECATED
This is used to declare a function as a deprecated public ICU C API
A label starts with a hyphen-minus ('-').
UIDNA * uidna_openUTS46(uint32_t options, UErrorCode *pErrorCode)
Returns a UIDNA instance which implements UTS #46.
A label contains a dot=full stop.
int32_t uidna_labelToUnicodeUTF8(const UIDNA *idna, const char *label, int32_t length, char *dest, int32_t capacity, UIDNAInfo *pInfo, UErrorCode *pErrorCode)
Converts a single domain name label into its Unicode form for human-readable display.
A UParseError struct is used to returned detailed information about parsing errors.
int32_t uidna_nameToUnicode(const UIDNA *idna, const UChar *name, int32_t length, UChar *dest, int32_t capacity, UIDNAInfo *pInfo, UErrorCode *pErrorCode)
Converts a whole domain name into its Unicode form for human-readable display.
IDNA option for nontransitional processing in ToUnicode().
int16_t size
sizeof(UIDNAInfo)
A label does not meet the IDNA CONTEXTJ requirements.
int32_t uidna_nameToASCII(const UIDNA *idna, const UChar *name, int32_t length, UChar *dest, int32_t capacity, UIDNAInfo *pInfo, UErrorCode *pErrorCode)
Converts a whole domain name into its ASCII form for DNS lookup.
UBool reservedB3
Reserved field, do not use.
UErrorCode
Error code to replace exception handling, so that the code is compatible with all C++ compilers,...
A non-final domain name label (or the whole domain name) is empty.
void uidna_close(UIDNA *idna)
Closes a UIDNA instance.
int32_t reservedI2
Reserved field, do not use.
A domain name is longer than 255 bytes in its storage form.
int32_t uidna_IDNToUnicode(const UChar *src, int32_t srcLength, UChar *dest, int32_t destCapacity, int32_t options, UParseError *parseError, UErrorCode *status)
IDNA2003: Convenience function that implements the IDNToUnicode operation as defined in the IDNA RFC.
A label does not meet the IDNA BiDi requirements (for right-to-left characters).
int32_t uidna_nameToASCII_UTF8(const UIDNA *idna, const char *name, int32_t length, char *dest, int32_t capacity, UIDNAInfo *pInfo, UErrorCode *pErrorCode)
Converts a whole domain name into its ASCII form for DNS lookup.
An ACE label does not contain a valid label string.
IDNA option for nontransitional processing in ToASCII().
int32_t uidna_labelToASCII(const UIDNA *idna, const UChar *label, int32_t length, UChar *dest, int32_t capacity, UIDNAInfo *pInfo, UErrorCode *pErrorCode)
Converts a single domain name label into its ASCII form for DNS lookup.
struct UIDNAInfo UIDNAInfo
Output container for IDNA processing errors.
struct UIDNA UIDNA
C typedef for struct UIDNA.
int32_t uidna_IDNToASCII(const UChar *src, int32_t srcLength, UChar *dest, int32_t destCapacity, int32_t options, UParseError *parseError, UErrorCode *status)
IDNA2003: Convenience function that implements the IDNToASCII operation as defined in the IDNA RFC.
int32_t uidna_toASCII(const UChar *src, int32_t srcLength, UChar *dest, int32_t destCapacity, int32_t options, UParseError *parseError, UErrorCode *status)
IDNA2003: This function implements the ToASCII operation as defined in the IDNA RFC.
#define U_DEFINE_LOCAL_OPEN_POINTER(LocalPointerClassName, Type, closeFunction)
A domain name label is longer than 63 bytes.
int32_t uidna_labelToASCII_UTF8(const UIDNA *idna, const char *label, int32_t length, char *dest, int32_t capacity, UIDNAInfo *pInfo, UErrorCode *pErrorCode)
Converts a single domain name label into its ASCII form for DNS lookup.
A label or domain name contains disallowed characters.
IDNA option to check for whether the input conforms to the CONTEXTJ rules.
C++ API: "Smart pointers" for use with and in ICU4C C++ code.
Output container for IDNA processing errors.
int32_t uidna_toUnicode(const UChar *src, int32_t srcLength, UChar *dest, int32_t destCapacity, int32_t options, UParseError *parseError, UErrorCode *status)
IDNA2003: This function implements the ToUnicode operation as defined in the IDNA RFC.
int32_t uidna_compare(const UChar *s1, int32_t length1, const UChar *s2, int32_t length2, int32_t options, UErrorCode *status)
IDNA2003: Compare two IDN strings for equivalence.
UBool isTransitionalDifferent
Set to TRUE if transitional and nontransitional processing produce different results.
A label starts with a combining mark.
#define U_STABLE
This is used to declare a function as a stable public ICU C API.
int32_t reservedI3
Reserved field, do not use.
A label starts with "xn--" but does not contain valid Punycode.
A label does not meet the IDNA CONTEXTO requirements for punctuation characters.
int32_t uidna_labelToUnicode(const UIDNA *idna, const UChar *label, int32_t length, UChar *dest, int32_t capacity, UIDNAInfo *pInfo, UErrorCode *pErrorCode)
Converts a single domain name label into its Unicode form for human-readable display.
IDNA option to check for whether the input conforms to the BiDi rules.
A label does not meet the IDNA CONTEXTO requirements for digits.
#define U_NAMESPACE_BEGIN
Option to check whether the input conforms to the STD3 ASCII rules, for example the restriction of la...
uint32_t errors
Bit set indicating IDNA processing errors.