29 #if U_SHOW_CPLUSPLUS_API
31 #endif // U_SHOW_CPLUSPLUS_API
57 #ifndef U_HIDE_DEPRECATED_API
156 #if U_SHOW_CPLUSPLUS_API
209 #define UIDNA_INFO_INITIALIZER { \
210 (int16_t)sizeof(UIDNAInfo), \
239 const UChar *label, int32_t length,
240 UChar *dest, int32_t capacity,
266 const UChar *label, int32_t length,
267 UChar *dest, int32_t capacity,
295 const UChar *name, int32_t length,
296 UChar *dest, int32_t capacity,
322 const UChar *name, int32_t length,
323 UChar *dest, int32_t capacity,
347 const char *label, int32_t length,
348 char *dest, int32_t capacity,
370 const char *label, int32_t length,
371 char *dest, int32_t capacity,
393 const char *name, int32_t length,
394 char *dest, int32_t capacity,
416 const char *name, int32_t length,
417 char *dest, int32_t capacity,
516 #ifndef U_HIDE_DEPRECATED_API
581 UChar* dest, int32_t destCapacity,
629 UChar* dest, int32_t destCapacity,
680 UChar* dest, int32_t destCapacity,
727 UChar* dest, int32_t destCapacity,
768 const UChar *s2, int32_t length2,
U_CAPI 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.
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...
Option to check whether the input conforms to the STD3 ASCII rules, for example the restriction of la...
U_CAPI UIDNA * uidna_openUTS46(uint32_t options, UErrorCode *pErrorCode)
Returns a UIDNA instance which implements UTS #46.
A label contains hyphen-minus ('-') in the third and fourth positions.
A label does not meet the IDNA BiDi requirements (for right-to-left characters).
#define U_CAPI
This is used to declare a function as a public ICU C API.
A label does not meet the IDNA CONTEXTJ requirements.
A label starts with a hyphen-minus ('-').
U_CAPI 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 label contains a dot=full stop.
A domain name is longer than 255 bytes in its storage form.
U_CAPI 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.
IDNA option for nontransitional processing in ToUnicode().
IDNA option to check for whether the input conforms to the CONTEXTJ rules.
IDNA option to check for whether the input conforms to the CONTEXTO rules.
struct UIDNAInfo UIDNAInfo
Output container for IDNA processing errors.
A label does not meet the IDNA CONTEXTO requirements for punctuation characters.
Output container for IDNA processing errors.
A non-final domain name label (or the whole domain name) is empty.
#define U_DEPRECATED
This is used to declare a function as a deprecated public ICU C API.
A label or domain name contains disallowed characters.
A label ends with a hyphen-minus ('-').
int16_t size
sizeof(UIDNAInfo)
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...
U_CAPI 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.
#define U_DEFINE_LOCAL_OPEN_POINTER(LocalPointerClassName, Type, closeFunction)
"Smart pointer" definition macro, deletes objects via the closeFunction.
IDNA option for nontransitional processing in ToASCII().
C++ API: "Smart pointers" for use with and in ICU4C C++ code.
UBool reservedB3
Reserved field, do not use.
IDNA option to check for whether the input conforms to the BiDi rules.
UBool isTransitionalDifferent
Set to true if transitional and nontransitional processing produce different results.
Option to allow unassigned code points in domain names and labels.
An ACE label does not contain a valid label string.
int32_t reservedI3
Reserved field, do not use.
char16_t UChar
The base type for UTF-16 code units and pointers.
struct UIDNA UIDNA
C typedef for struct UIDNA.
C API: Parse Error Information.
uint32_t errors
Bit set indicating IDNA processing errors.
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.
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.
A label does not meet the IDNA CONTEXTO requirements for digits.
UErrorCode
Standard ICU4C error code type, a substitute for exceptions.
A domain name label is longer than 63 bytes.
U_CAPI 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.
U_CAPI 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 UParseError struct is used to returned detailed information about parsing errors.
Basic definitions for ICU, for both C and C++ APIs.
U_CAPI 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.
A label starts with a combining mark.
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...
U_CAPI 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.
Default options value: None of the other options are set.
int32_t reservedI2
Reserved field, do not use.
A label starts with "xn--" but does not contain valid Punycode.
"Smart pointer" class, closes a UIDNA via uidna_close().
U_CAPI void uidna_close(UIDNA *idna)
Closes a UIDNA instance.
int8_t UBool
The ICU boolean type, a signed-byte integer.