idn2_lookup_ul(3) API function


#include <idn2.h>

int idn2_lookup_ul(const char * src, char ** lookupname, int flags);


const char * src
input zero-terminated locale encoded string.
char ** lookupname
newly allocated output variable with name to lookup in DNS.
int flags
optional idn2_flags to modify behaviour.


Perform IDNA2008 lookup string conversion on domain name src, as described in section 5 of RFC 5891. Note that the input is assumed to be encoded in the locale's default coding system, and will be transcoded to UTF-8 and NFC normalized by this function.

Pass IDN2_ALABEL_ROUNDTRIP in flags to convert any input A-labels to U-labels and perform additional testing.


On successful conversion IDN2_OK is returned, if conversion from locale to UTF-8 fails then IDN2_ICONV_FAIL 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.