Go to main content

man pages section 3: Library Interfaces and Headers

Exit Print View

Updated: Wednesday, July 27, 2022
 
 

idn2_register_u8 (3)

Name

idn2_register_u8 - API function

Synopsis

#include <idn2.h>

int  idn2_register_u8(const  uint8_t  * ulabel, const uint8_t * alabel,
uint8_t ** insertname, int flags);

Description

idn2_register_u8(3)                 libidn2                idn2_register_u8(3)



NAME
       idn2_register_u8 - API function

SYNOPSIS
       #include <idn2.h>

       int  idn2_register_u8(const  uint8_t  * ulabel, const uint8_t * alabel,
       uint8_t ** insertname, int flags);

ARGUMENTS
       const uint8_t * ulabel
                   input zero-terminated UTF-8  and  Unicode  NFC  string,  or
                   NULL.

       const uint8_t * alabel
                   input zero-terminated ACE encoded string (xn--), or NULL.

       uint8_t ** insertname
                   newly  allocated  output  variable with name to register in
                   DNS.

       int flags   optional idn2_flags to modify behaviour.

DESCRIPTION
       Perform IDNA2008 register string conversion on domain label  ulabel and
       alabel  ,  as  described in section 4 of RFC 5891.  Note that the input
       ulabel must be encoded in UTF-8 and be in Unicode NFC form.

       Pass IDN2_NFC_INPUT in  flags to convert  input   ulabel  to  NFC  form
       before further processing.

       It  is  recommended to supply both  ulabel and  alabel for better error
       checking, but supplying just one of them will work.   Passing  in  only
       alabel  is  better than only  ulabel .  See RFC 5891 section 4 for more
       information.

       After version 0.11:  insertname may be NULL to test conversion of   src
       without allocating memory.

RETURNS
       On  successful  conversion  IDN2_OK is returned, when the given  ulabel
       and   alabel  does  not  match  each  other  IDN2_UALABEL_MISMATCH   is
       returned,   when   either   of   the   input   labels   are   too  long
       IDN2_TOO_BIG_LABEL is returned, when  alabel does does not appear to be
       a proper A-label IDN2_INVALID_ALABEL is returned, or another error code
       is returned.


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_register_u8(3)