Blame


1 cfa37a7b 2004-04-10 devnull .TH ENCODE 3
2 cfa37a7b 2004-04-10 devnull .SH NAME
3 cfa37a7b 2004-04-10 devnull dec64, enc64, dec32, enc32, dec16, enc16, encodefmt \- encoding byte arrays as strings
4 cfa37a7b 2004-04-10 devnull .SH SYNOPSIS
5 cfa37a7b 2004-04-10 devnull .B #include <u.h>
6 cfa37a7b 2004-04-10 devnull .br
7 cfa37a7b 2004-04-10 devnull .B #include <libc.h>
8 cfa37a7b 2004-04-10 devnull .PP
9 cfa37a7b 2004-04-10 devnull .B
10 cfa37a7b 2004-04-10 devnull int dec64(uchar *out, int lim, char *in, int n)
11 cfa37a7b 2004-04-10 devnull .PP
12 cfa37a7b 2004-04-10 devnull .B
13 cfa37a7b 2004-04-10 devnull int enc64(char *out, int lim, uchar *in, int n)
14 cfa37a7b 2004-04-10 devnull .PP
15 cfa37a7b 2004-04-10 devnull .B
16 cfa37a7b 2004-04-10 devnull int dec32(uchar *out, int lim, char *in, int n)
17 cfa37a7b 2004-04-10 devnull .PP
18 cfa37a7b 2004-04-10 devnull .B
19 cfa37a7b 2004-04-10 devnull int enc32(char *out, int lim, uchar *in, int n)
20 cfa37a7b 2004-04-10 devnull .PP
21 cfa37a7b 2004-04-10 devnull .B
22 cfa37a7b 2004-04-10 devnull int dec16(uchar *out, int lim, char *in, int n)
23 cfa37a7b 2004-04-10 devnull .PP
24 cfa37a7b 2004-04-10 devnull .B
25 cfa37a7b 2004-04-10 devnull int enc16(char *out, int lim, uchar *in, int n)
26 cfa37a7b 2004-04-10 devnull .PP
27 cfa37a7b 2004-04-10 devnull .B
28 cfa37a7b 2004-04-10 devnull int encodefmt(Fmt*)
29 cfa37a7b 2004-04-10 devnull .SH DESCRIPTION
30 cfa37a7b 2004-04-10 devnull .PP
31 cfa37a7b 2004-04-10 devnull .IR Enc16 ,
32 cfa37a7b 2004-04-10 devnull .I enc32
33 cfa37a7b 2004-04-10 devnull and
34 cfa37a7b 2004-04-10 devnull .I enc64
35 cfa37a7b 2004-04-10 devnull create null terminated strings. They return the size of the
36 cfa37a7b 2004-04-10 devnull encoded string (without the null) or -1 if the encoding fails.
37 cfa37a7b 2004-04-10 devnull The encoding fails if
38 cfa37a7b 2004-04-10 devnull .IR lim ,
39 cfa37a7b 2004-04-10 devnull the length of the output buffer, is too small.
40 cfa37a7b 2004-04-10 devnull .PP
41 cfa37a7b 2004-04-10 devnull .IR Dec16 ,
42 cfa37a7b 2004-04-10 devnull .I dec32
43 cfa37a7b 2004-04-10 devnull and
44 cfa37a7b 2004-04-10 devnull .I dec64
45 cfa37a7b 2004-04-10 devnull return the number of bytes decoded or -1 if the decoding fails.
46 cfa37a7b 2004-04-10 devnull The decoding fails if the output buffer is not large enough or,
47 cfa37a7b 2004-04-10 devnull for base 32, if the input buffer length is not a multiple
48 cfa37a7b 2004-04-10 devnull of 8.
49 cfa37a7b 2004-04-10 devnull .PP
50 cfa37a7b 2004-04-10 devnull .I Encodefmt
51 cfa37a7b 2004-04-10 devnull can be used with
52 d32deab1 2020-08-16 rsc .MR fmtinstall (3)
53 cfa37a7b 2004-04-10 devnull and
54 d32deab1 2020-08-16 rsc .MR print (3)
55 cfa37a7b 2004-04-10 devnull to print encoded representations of byte arrays.
56 cfa37a7b 2004-04-10 devnull The verbs are
57 cfa37a7b 2004-04-10 devnull .TP
58 cfa37a7b 2004-04-10 devnull .B H
59 cfa37a7b 2004-04-10 devnull base 16 (i.e. hexadecimal). The default encoding is
60 cfa37a7b 2004-04-10 devnull in upper case. The
61 cfa37a7b 2004-04-10 devnull .B l
62 cfa37a7b 2004-04-10 devnull flag forces lower case.
63 cfa37a7b 2004-04-10 devnull .TP
64 cfa37a7b 2004-04-10 devnull .B <
65 cfa37a7b 2004-04-10 devnull base 32
66 cfa37a7b 2004-04-10 devnull .TP
67 cfa37a7b 2004-04-10 devnull .B [
68 cfa37a7b 2004-04-10 devnull base 64 (same as MIME)
69 cfa37a7b 2004-04-10 devnull .PD
70 cfa37a7b 2004-04-10 devnull .PP
71 cfa37a7b 2004-04-10 devnull The length of the array is specified as
72 cfa37a7b 2004-04-10 devnull .IR f2 .
73 cfa37a7b 2004-04-10 devnull For example, to display a 15 byte array as hex:
74 cfa37a7b 2004-04-10 devnull .EX
75 cfa37a7b 2004-04-10 devnull
76 cfa37a7b 2004-04-10 devnull char x[15];
77 cfa37a7b 2004-04-10 devnull
78 cfa37a7b 2004-04-10 devnull fmtinstall('H', encodefmt);
79 cfa37a7b 2004-04-10 devnull print("%.*H\\n", sizeof x, x);
80 cfa37a7b 2004-04-10 devnull
81 cfa37a7b 2004-04-10 devnull .EE
82 cfa37a7b 2004-04-10 devnull .SH SOURCE
83 c3674de4 2005-01-11 devnull .B \*9/src/lib9/u32.c
84 cfa37a7b 2004-04-10 devnull .br
85 c3674de4 2005-01-11 devnull .B \*9/src/lib9/u64.c