Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
idn2_to_ascii_4i(3)		    libidn2		   idn2_to_ascii_4i(3)

NAME
       idn2_to_ascii_4i	- API function

SYNOPSIS
       #include	<idn2.h>

       int  idn2_to_ascii_4i(const uint32_t * input, size_t inlen, char	* out-
       put, int	flags);

ARGUMENTS
       const uint32_t *	input
		   zero	terminated input Unicode (UCS-4) string.

       size_t inlen
		   number of elements in  input	.

       char * output
		   output zero terminated string that must have	 room  for  at
		   least 63 characters plus the	terminating zero.

       int flags   optional idn2_flags to modify behaviour.

DESCRIPTION
       The ToASCII operation takes a sequence of Unicode code points that make
       up one domain label and transforms it into a sequence of	code points in
       the ASCII range (0..7F).	If ToASCII succeeds, the original sequence and
       the resulting sequence are equivalent labels.

       It  is  important to note that the ToASCII operation can	fail.  ToASCII
       fails if	any step of it fails. If any step  of  the  ToASCII  operation
       fails  on any label in a	domain name, that domain name MUST NOT be used
       as an internationalized domain name.  The method	for dealing with  this
       failure is application-specific.

       The inputs to ToASCII are a sequence of code points.

       ToASCII	never  alters  a  sequence  of code points that	are all	in the
       ASCII range to begin  with  (although  it  could	 fail).	 Applying  the
       ToASCII operation multiple effect as applying it	just once.

       The default behavior of this function (when flags are zero) is to apply
       the IDNA2008 rules without the TR46 amendments. As the TR46 non-transi-
       tional  processing  is  nowadays	 ubiquitous, when unsure, it is	recom-
       mended to call this function  with  the	IDN2_NONTRANSITIONAL  and  the
       IDN2_NFC_INPUT flags for	compatibility with other software.

WARNING
       With  version 2.1.1 until before	version	2.3.5 this function was	depre-
       cated in	favor idn2_to_ascii_4i2().  We	still  encourage  you  to  use
       idn2_to_ascii_4i2() when	appropriate.

RETURNS
       On successful conversion	IDN2_OK	is returned; if	the output label would
       have  been  too	long  IDN2_TOO_BIG_LABEL is returned, or another error
       code is returned.

SINCE
       2.0.0

REPORTING BUGS
       Report bugs to <help-libidn@gnu.org>.
       General guidelines for reporting	bugs: https://www.gnu.org/gethelp/
       Libidn2 home page: https://www.gnu.org/software/libidn2/

COPYRIGHT
       Copyright (C) 2002-2025 Simon Josefsson.
       Copying and distribution	of this	file, with  or	without	 modification,
       are  permitted in any medium without royalty provided the copyright no-
       tice and	this notice are	preserved.

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:

	      https://www.gnu.org/software/libidn/libidn2/manual/

libidn2				     2.3.8		   idn2_to_ascii_4i(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=idn2_to_ascii_4i&sektion=3&manpath=FreeBSD+Ports+14.3.quarterly>

home | help