idn2_lookup_u8 man page

idn2_lookup_u8 — API function

Synopsis

#include <idn2.h>

int idn2_lookup_u8(const uint8_t * src, uint8_t ** lookupname, int flags);

Arguments

const uint8_t * src

input zero-terminated UTF-8 string in Unicode NFC normalized form.

uint8_t ** lookupname

newly allocated output variable with name to lookup in DNS.

int flags

optional idn2_flags to modify behaviour.

Description

Perform IDNA2008 lookup string conversion on domain name  src , as described in section 5 of RFC 5891.  Note that the input string must be encoded in UTF-8 and be in Unicode NFC form.

Pass IDN2_NFC_INPUT in  flags to convert input to NFC form before further processing.  Pass IDN2_ALABEL_ROUNDTRIP in  flags to convert any input A-labels to U-labels and perform additional testing.  Pass IDN2_TRANSITIONAL to enable Unicode TR46 transitional processing, and IDN2_NONTRANSITIONAL to enable Unicode TR46 non-transitional processing.  Multiple flags may be specified by binary or:ing them together, for example IDN2_NFC_INPUT | IDN2_NONTRANSITIONAL.

After version 0.11:  lookupname may be NULL to test lookup of  src without allocating memory.

Returns

On successful conversion IDN2_OK is returned, if the output domain or any label would have been too long IDN2_TOO_BIG_DOMAIN or IDN2_TOO_BIG_LABEL is returned, or another error code is returned.

Since

0.1

See Also

The full documentation for libidn2 is maintained as a Texinfo manual.  If the info and libidn2 programs are properly installed at your site, the command

info libidn2

should give you access to the complete manual. As an alternative you may obtain the manual from:

http://www.gnu.org/software/libidn2/manual/

Info

2.0.0 libidn2