idn2_lookup_ul(3)

idn2_lookup_ul3

Api function

Usage

#include <idn2.h>

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

Arguments

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.

Overview

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. This is default since version 2.2. To switch this behavior off, pass IDN2_NO_ALABEL_ROUNDTRIP

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_ALABEL_ROUNDTRIP | IDN2_NONTRANSITIONAL.

The IDN2_NFC_INPUT in flags is always enabled in this function.

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 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.

Since

0.1

Releases

8 releases since Debian 7 (Wheezy); the text changed 6 times.

  1. 7
  2. 8
  3. 9
  4. 10
  5. 11
  6. 12
  7. 13–Arch

Reporting bugs

Report bugs to <[email protected]>.
General guidelines for reporting bugs: https://www.gnu.org/gethelp/
Libidn2 home page: https://www.gnu.org/software/libidn2/

From libidn2 2.3.8-1 in Arch Linux 2026-11-01. Parsed by carta from the page's man source.