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
Standard ICU4C error code type, a substitute for exceptions.
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.
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.