A64L(3) BSD Library Functions Manual A64L(3)
a64l, l64a, l64a_r -- convert between a long integer and a base-64 ASCII string
Standard C Library (libc, -lc)
a64l(const char *s);
l64a(long int l);
l64a_r(long int l, char *buffer, int buflen);
The a64l() and l64a() functions convert between a long integer and its base-64 ASCII string
The characters used to represent ``digits'' are `.' for 0, `/' for 1, `0' - `9' for 2 - 11,
`A' - `Z' for 12 - 37, and `a' - `z' for 38 - 63.
a64l() takes a pointer to a NUL-terminated base-64 ASCII string representation, s, and
returns the corresponding long integer value.
l64a() takes a long integer value, l, and returns a pointer to the corresponding NUL-termi-
nated base-64 ASCII string representation.
l64a_r() performs a conversion identical to that of l64a() and stores the resulting repre-
sentation in the memory area pointed to by buffer, consuming at most buflen characters
including the terminating NUL character.
On successful completion, a64l() returns the long integer value corresponding to the input
string. If the string pointed to by s is an empty string, a64l() returns a value of 0L.
l64a() returns a pointer to the base-64 ASCII string representation corresponding to the
input value. If l is 0L, l64a() returns a pointer to an empty string.
On successful completion, l64a_r() returns 0; if buffer is of insufficient length, -1 is
The a64l() and l64a() functions conform to X/Open Portability Guide Issue 4, Version 2
(``XPG4.2'') and IEEE Std 1003.1-2004 (``POSIX.1''). The l64a_r() function conforms to
System V Interface Definition, Fourth Edition (``SVID4''), Multithreading Extension.
The l64a() function is not reentrant. The value returned by it points into a static buffer
area; subsequent calls to la64a() may overwrite this buffer. In multi-threaded applica-
tions, l64a_r() should be used instead.
BSD May 6, 2010 BSD