summaryrefslogtreecommitdiffstats
path: root/man/man3/a64l.3
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-24 04:52:22 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-24 04:52:22 +0000
commit3d08cd331c1adcf0d917392f7e527b3f00511748 (patch)
tree312f0d1e1632f48862f044b8bb87e602dcffb5f9 /man/man3/a64l.3
parentAdding debian version 6.7-2. (diff)
downloadmanpages-3d08cd331c1adcf0d917392f7e527b3f00511748.tar.xz
manpages-3d08cd331c1adcf0d917392f7e527b3f00511748.zip
Merging upstream version 6.8.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'man/man3/a64l.3')
-rw-r--r--man/man3/a64l.3111
1 files changed, 111 insertions, 0 deletions
diff --git a/man/man3/a64l.3 b/man/man3/a64l.3
new file mode 100644
index 0000000..9fe156a
--- /dev/null
+++ b/man/man3/a64l.3
@@ -0,0 +1,111 @@
+'\" t
+\t
+.\" Copyright 2002 walter harms (walter.harms@informatik.uni-oldenburg.de)
+.\"
+.\" SPDX-License-Identifier: GPL-1.0-or-later
+.\"
+.\" Corrected, aeb, 2002-05-30
+.\"
+.TH a64l 3 2024-05-02 "Linux man-pages (unreleased)"
+.SH NAME
+a64l, l64a \- convert between long and base-64
+.SH LIBRARY
+Standard C library
+.RI ( libc ", " \-lc )
+.SH SYNOPSIS
+.nf
+.B #include <stdlib.h>
+.P
+.BI "long a64l(const char *" str64 );
+.BI "char *l64a(long " value );
+.fi
+.P
+.RS -4
+Feature Test Macro Requirements for glibc (see
+.BR feature_test_macros (7)):
+.RE
+.P
+.BR a64l (),
+.BR l64a ():
+.nf
+ _XOPEN_SOURCE >= 500
+.\" || _XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED
+ || /* glibc >= 2.19: */ _DEFAULT_SOURCE
+ || /* glibc <= 2.19: */ _SVID_SOURCE
+.fi
+.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 the type
+.I long
+has 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.
+.P
+The 64 digits in the base-64 system are:
+.P
+.RS
+.nf
+\&\[aq].\[aq] represents a 0
+\&\[aq]/\[aq] represents a 1
+0-9 represent 2-11
+A-Z represent 12-37
+a-z represent 38-63
+.fi
+.RE
+.P
+So 123 = 59*64\[ha]0 + 1*64\[ha]1 = "v/".
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lbx lb lb
+l l l.
+Interface Attribute Value
+T{
+.na
+.nh
+.BR l64a ()
+T} Thread safety MT-Unsafe race:l64a
+T{
+.na
+.nh
+.BR a64l ()
+T} Thread safety MT-Safe
+.TE
+.SH STANDARDS
+POSIX.1-2008.
+.SH HISTORY
+POSIX.1-2001.
+.SH NOTES
+The value returned by
+.BR l64a ()
+may be a pointer to a static buffer, possibly overwritten
+by later calls.
+.P
+The behavior of
+.BR l64a ()
+is undefined when
+.I value
+is negative.
+If
+.I value
+is zero, it returns an empty string.
+.P
+These functions are broken before glibc 2.2.5
+(puts most significant digit first).
+.P
+This is not the encoding used by
+.BR uuencode (1).
+.SH SEE ALSO
+.BR uuencode (1),
+.\" .BR itoa (3),
+.BR strtoul (3)