trusty (3) a64l.3posix.gz

Provided by: manpages-posix-dev_2.16-1_all bug

NAME

       a64l, l64a - convert between a 32-bit integer and a radix-64 ASCII string

SYNOPSIS

       #include <stdlib.h>

       long a64l(const char *s);
       char *l64a(long value);

DESCRIPTION

       These functions maintain numbers stored in radix-64 ASCII characters.  This is a notation by which 32-bit
       integers can be represented by up to six characters;  each  character  represents  a  digit  in  radix-64
       notation. If the type long contains more than 32 bits, only the low-order 32 bits shall be used for these
       operations.

       The characters used to represent digits are '.' (dot) for 0, '/' for 1, '0' through '9' for  [2,11],  'A'
       through 'Z' for [12,37], and 'a' through 'z' for [38,63].

       The  a64l()  function  shall take a pointer to a radix-64 representation, in which the first digit is the
       least significant, and return the corresponding long value. If the string pointed to by s  contains  more
       than  six characters, a64l() shall use the first six. If the first six characters of the string contain a
       null terminator, a64l() shall use only characters preceding the  null  terminator.  The  a64l()  function
       shall scan the character string from left to right with the least significant digit on the left, decoding
       each character as a 6-bit radix-64 number. If the type long contains more than  32  bits,  the  resulting
       value  is  sign-extended.  The  behavior  of  a64l()  is unspecified if s is a null pointer or the string
       pointed to by s was not generated by a previous call to l64a().

       The l64a() function shall take a long argument  and  return  a  pointer  to  the  corresponding  radix-64
       representation.  The behavior of l64a() is unspecified if value is negative.

       The  value  returned  by  l64a()  may  be  a pointer into a static buffer. Subsequent calls to l64a() may
       overwrite the buffer.

       The l64a() function need not be reentrant. A function that  is  not  required  to  be  reentrant  is  not
       required to be thread-safe.

RETURN VALUE

       Upon  successful  completion,  a64l()  shall return the long value resulting from conversion of the input
       string. If a string pointed to by s is an empty string, a64l() shall return 0L.

       The l64a() function shall return a pointer to the radix-64 representation.  If value is 0L, l64a()  shall
       return a pointer to an empty string.

ERRORS

       No errors are defined.

       The following sections are informative.

EXAMPLES

       None.

APPLICATION USAGE

       If the type long contains more than 32 bits, the result of a64l(l64a(x)) is x in the low-order 32 bits.

RATIONALE

       This is not the same encoding as used by either encoding variant of the uuencode utility.

FUTURE DIRECTIONS

       None.

SEE ALSO

       strtoul()  ,  the  Base  Definitions  volume of IEEE Std 1003.1-2001, <stdlib.h>, the Shell and Utilities
       volume of IEEE Std 1003.1-2001, uuencode

       Portions of this text are reprinted and reproduced in electronic form from IEEE Std 1003.1, 2003 Edition,
       Standard  for  Information Technology -- Portable Operating System Interface (POSIX), The Open Group Base
       Specifications Issue 6, Copyright (C) 2001-2003 by the Institute of Electrical and Electronics Engineers,
       Inc  and  The  Open Group. In the event of any discrepancy between this version and the original IEEE and
       The Open Group Standard, the original IEEE and The Open Group  Standard  is  the  referee  document.  The
       original Standard can be obtained online at http://www.opengroup.org/unix/online.html .