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 2016-03-15 "" "Linux Programmer's Manual"
12 a64l, l64a \- convert between long and base-64
14 .B #include <stdlib.h>
16 .BI "long a64l(const char *" str64 );
18 .BI "char *l64a(long " value );
21 Feature Test Macro Requirements for glibc (see
22 .BR feature_test_macros (7)):
30 _XOPEN_SOURCE\ >=\ 500
31 .\" || _XOPEN_SOURCE\ &&\ _XOPEN_SOURCE_EXTENDED
32 || /* Glibc since 2.19: */ _DEFAULT_SOURCE
33 || /* Glibc versions <= 2.19: */ _SVID_SOURCE
37 These functions provide a conversion between 32-bit long integers
38 and little-endian base-64 ASCII strings (of length zero to six).
39 If the string used as argument for
41 has length greater than six, only the first six bytes are used.
44 has more than 32 bits, then
46 uses only the low order 32 bits of
50 sign-extends its 32-bit result.
52 The 64 digits in the base-64 system are:
56 \&\(aq.\(aq represents a 0
57 \&\(aq/\(aq represents a 1
64 So 123 = 59*64^0 + 1*64^1 = "v/".
66 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
81 POSIX.1-2001, POSIX.1-2008.
85 may be a pointer to a static buffer, possibly overwritten
95 is zero, it returns an empty string.
97 These functions are broken in glibc before 2.2.5
98 (puts most significant digit first).
100 This is not the encoding used by