Provided by: libidn11-dev_1.33-2.1ubuntu1.2_amd64 bug

NAME

       punycode_encode - API function

SYNOPSIS

       #include <punycode.h>

       int punycode_encode(size_t input_length, const punycode_uint [] input, const unsigned char [] case_flags,
       size_t * output_length, char [] output);

ARGUMENTS

       size_t input_length
                   The number of code points in the  input array and the number  of  flags  in  the   case_flags
                   array.

       const punycode_uint [] input
                   An  array  of  code  points.   They  are  presumed to be Unicode code points, but that is not
                   strictly REQUIRED.  The array contains code points, not code units.  UTF-16 uses  code  units
                   D800  through  DFFF to refer to code points 10000..10FFFF.  The code points D800..DFFF do not
                   occur in any valid Unicode string.  The  code  points  that  can  occur  in  Unicode  strings
                   (0..D7FF and E000..10FFFF) are also called Unicode scalar values.

       const unsigned char [] case_flags
                   A  NULL  pointer  or an array of boolean values parallel to the  input array.  Nonzero (true,
                   flagged) suggests that the corresponding Unicode character be forced to uppercase after being
                   decoded  (if  possible),  and zero (false, unflagged) suggests that it be forced to lowercase
                   (if possible).  ASCII code points (0..7F) are encoded literally, except  that  ASCII  letters
                   are  forced  to  uppercase  or  lowercase  according  to  the  corresponding  case flags.  If
                   case_flags is a NULL pointer then ASCII letters are left as they are, and other  code  points
                   are treated as unflagged.

       size_t * output_length
                   The  caller  passes  in  the  maximum  number  of  ASCII code points that it can receive.  On
                   successful return it will contain the number of ASCII code points actually output.

       char [] output
                   An array of ASCII code points.  It is *not* null-terminated; it will  contain  zeros  if  and
                   only if the  input contains zeros.  (Of course the caller can leave room for a terminator and
                   add one if needed.)

DESCRIPTION

       Converts a sequence of code points (presumed to be Unicode code points) to Punycode.

       Return value:  The  return  value  can  be  any  of  the  Punycode_status  values  defined  above  except
       PUNYCODE_BAD_INPUT.  If not PUNYCODE_SUCCESS, then  output_size and  output might contain garbage.

REPORTING BUGS

       Report bugs to <bug-libidn@gnu.org>.
       General guidelines for reporting bugs: http://www.gnu.org/gethelp/
       GNU Libidn home page: http://www.gnu.org/software/libidn/

COPYRIGHT

       Copyright © 2002-2016 Simon Josefsson.
       Copying  and distribution of this file, with or without modification, are permitted in any medium without
       royalty provided the copyright notice and this notice are preserved.

SEE ALSO

       The full documentation for libidn is maintained as a Texinfo manual.  If the info and libidn programs are
       properly installed at your site, the command

              info libidn

       should give you access to the complete manual.  As an alternative you may obtain the manual from:

              http://www.gnu.org/software/libidn/manual/