2 .\" Copyright 2002 walter harms (walter.harms@informatik.uni-oldenburg.de)
4 .\" %%%LICENSE_START(GPL_NOVERSION_ONELINE)
5 .\" Distributed under GPL
8 .\" Corrected, aeb, 2002-05-30
10 .TH A64L 3 2021-03-22 "" "Linux Programmer's Manual"
12 a64l, l64a \- convert between long and base-64
15 .B #include <stdlib.h>
17 .BI "long a64l(const char *" str64 );
18 .BI "char *l64a(long " value );
22 Feature Test Macro Requirements for glibc (see
23 .BR feature_test_macros (7)):
30 .\" || _XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED
31 || /* Glibc since 2.19: */ _DEFAULT_SOURCE
32 || /* Glibc <= 2.19: */ _SVID_SOURCE
35 These functions provide a conversion between 32-bit long integers
36 and little-endian base-64 ASCII strings (of length zero to six).
37 If the string used as argument for
39 has length greater than six, only the first six bytes are used.
42 has more than 32 bits, then
44 uses only the low order 32 bits of
48 sign-extends its 32-bit result.
50 The 64 digits in the base-64 system are:
54 \&\(aq.\(aq represents a 0
55 \&\(aq/\(aq represents a 1
62 So 123 = 59*64\(ha0 + 1*64\(ha1 = "v/".
64 For an explanation of the terms used in this section, see
72 Interface Attribute Value
75 T} Thread safety MT-Unsafe race:l64a
78 T} Thread safety MT-Safe
84 POSIX.1-2001, POSIX.1-2008.
88 may be a pointer to a static buffer, possibly overwritten
98 is zero, it returns an empty string.
100 These functions are broken in glibc before 2.2.5
101 (puts most significant digit first).
103 This is not the encoding used by