diff options
Diffstat (limited to 'man3/a64l.3')
-rw-r--r-- | man3/a64l.3 | 66 |
1 files changed, 66 insertions, 0 deletions
diff --git a/man3/a64l.3 b/man3/a64l.3 new file mode 100644 index 000000000..21ac2bfab --- /dev/null +++ b/man3/a64l.3 @@ -0,0 +1,66 @@ +.\" Copyright 2002 walter harms (walter.harms@informatik.uni-oldenburg.de) +.\" Distributed under GPL +.\" +.\" Corrected, aeb, 2002-05-30 +.\" +.TH A64L 3 2002-02-15 "" "Linux Programmer's Manual" +.SH NAME +a64l, l64a \- convert between long and base-64 +.SH SYNOPSIS +.B #include <stdlib.h> +.sp +.BI "long a64l(char *" str64 ); +.sp +.BI "char *l64a(long " value ); +.sp +.SH DESCRIPTION +These functions provide a conversion between 32-bit long integers +and little-endian base-64 ASCII strings (of length zero to six). +If the string used as argument for +.BR a64l () +has length greater than six, only the first six bytes are used. +If longs have more than 32 bits, then +.BR l64a () +uses only the low order 32 bits of +.IR value , +and +.BR a64l () +sign-extends its 32-bit result. +.LP +The 64 digits in the base 64 system are: +.RS +.nf +\&'.' represents a 0 +\&'/' represents a 1 +0-9 represent 2-11 +A-Z represent 12-37 +a-z represent 38-63 +.fi +.RE +.br +So 123 = 59*64^0 + 1*64^1 = "v/". +.SH NOTES +The value returned by +.BR a64l () +may be a pointer to a static buffer, possibly overwritten +by later calls. +.LP +The behaviour of +.BR l64a () +is undefined when +.I value +is negative. If +.I value +is zero, it returns an empty string. +.LP +These functions are broken in glibc before 2.2.5 +(puts most significant digit first). +.LP +This is not the encoding used by +.BR uuencode (1). +.SH "CONFORMING TO" +XPG 4.2, POSIX 1003.1-2001. +.SH "SEE ALSO" +.BR uuencode (1), +.BR itoa (3), +.BR strtoul (3) |