idn_checkname(3)

NAME
idn_checkname - validate an internationalized domain name

SYNOPSIS
#include <idn/api.h>
idn_result_t
idn_checkname(idn_action_t actions, const char *from);

DESCRIPTION

The function idn_checkname() internally creates a copy of name, encodes it with idn_encodename() and returns its error code.

In addition with action macros for idn_encodename() (e.g. IDN_UNICODECONV), the following macros are available for idn_checkname().

    IDN_CHECK_REGIST
        Encode a domain name with IDNA2008 registration protocol to validate a domain name. Currently, its value is the same as IDN_ENCODE_REGIST.

    IDN_CHECK_LOOKUP
        Encode a domain name with IDNA2008 lookup protocol to validate a domain name. Currently, its value is the same as IDN_ENCODE_LOOKUP.

EXAMPLES
The program below shows an example of idn_checkname().

    idn_result_t r;
    ...
    r = idn_checkname(IDN_CHECK_REGIST, name);
    if (r == idn_success)
        fprintf(stderr, "'%s' is valid\n", name);
    else {
        fprintf(stderr, "'%s' is not valid: %s\n",
             name, idn_result_tostring(r));
    }
    ...

SEE ALSO
idncheck(1), libidnkit(3), idn_encodename(3), idn_nameinit(3), idn_result_tostring(3), idn.conf(5)