A64L(3) BSD Library Functions Manual A64L(3)
a64l, l64a, l64a_r -- convert between a long integer and a base-64 ASCII
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 representation.
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 represen-
tation, s, and returns the corresponding long integer value.
l64a() takes a long integer value, l, and returns a pointer to the corre-
sponding NUL-terminated base-64 ASCII string representation.
l64a_r() performs a conversion identical to that of l64a() and stores the
resulting representation in the memory area pointed to by buffer, consum-
ing at most buflen characters including the terminating NUL character.
On successful completion, a64l() returns the long integer value corre-
sponding 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 cor-
responding 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 insuffi-
cient length, -1 is returned.
The a64l() and l64a() functions conform to X/Open Portability Guide
Issue 4, Version 2 (``XPG4.2''). The l64a_r() function conforms to
System V Interface Definition, Fourth Edition (``SVID4''), Multithreading
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 applications, l64a_r() should be used instead.
BSD February 6, 1999 BSD