Go to main content

man pages section 3: Library Interfaces and Headers

Exit Print View

Updated: Wednesday, July 27, 2022
 
 

idn2_lookup_ul (3)

Name

idn2_lookup_ul - API function

Synopsis

#include <idn2.h>

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

Description

idn2_lookup_ul(3)                   libidn2                  idn2_lookup_ul(3)



NAME
       idn2_lookup_ul - API function

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

DESCRIPTION
       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 pro-
       cessing.

       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


ATTRIBUTES
       See attributes(7) for descriptions of the following attributes:


       +---------------+------------------+
       |ATTRIBUTE TYPE | ATTRIBUTE VALUE  |
       +---------------+------------------+
       |Availability   | library/libidn2  |
       +---------------+------------------+
       |Stability      | Uncommitted      |
       +---------------+------------------+

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/libidn/libidn2/manual/

NOTES
       Source code for open source software components in Oracle  Solaris  can
       be found at https://www.oracle.com/downloads/opensource/solaris-source-
       code-downloads.html.

       This    software    was    built    from    source     available     at
       https://github.com/oracle/solaris-userland.    The  original  community
       source                was                downloaded                from
       https://ftp.gnu.org/gnu/libidn/libidn2-2.3.0.tar.gz.

       Further information about this software can be found on the open source
       community website at https://www.gnu.org/software/libidn/.



libidn2                              2.2.0                   idn2_lookup_ul(3)