annotate src/lib/base64.h @ 6410:e4eb71ae8e96 HEAD

Changed .h ifdef/defines to use <NAME>_H format.
author Timo Sirainen <tss@iki.fi>
date Sun, 16 Sep 2007 11:31:27 +0300
parents 6b0fe0f93896
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
6410
e4eb71ae8e96 Changed .h ifdef/defines to use <NAME>_H format.
Timo Sirainen <tss@iki.fi>
parents: 6180
diff changeset
1 #ifndef BASE64_H
e4eb71ae8e96 Changed .h ifdef/defines to use <NAME>_H format.
Timo Sirainen <tss@iki.fi>
parents: 6180
diff changeset
2 #define BASE64_H
0
3b1985cbc908 Initial revision
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
3
2708
f1e9f3ec8135 Buffer API change: we no longer support limited sized buffers where
Timo Sirainen <tss@iki.fi>
parents: 2628
diff changeset
4 /* Translates binary data into base64. The src must not point to dest buffer. */
f1e9f3ec8135 Buffer API change: we no longer support limited sized buffers where
Timo Sirainen <tss@iki.fi>
parents: 2628
diff changeset
5 void base64_encode(const void *src, size_t src_size, buffer_t *dest);
765
553f050c8313 Added buffer API. Point is to hide all buffer writing behind this API which
Timo Sirainen <tss@iki.fi>
parents: 608
diff changeset
6
553f050c8313 Added buffer API. Point is to hide all buffer writing behind this API which
Timo Sirainen <tss@iki.fi>
parents: 608
diff changeset
7 /* Translates base64 data into binary and appends it to dest buffer. dest may
5509
c46a29e0ea9d API change: Returns now 1 if ok, 0 if end of base64 marker found.
Timo Sirainen <tss@iki.fi>
parents: 2708
diff changeset
8 point to same buffer as src. Returns 1 if all ok, 0 if end of base64 data
c46a29e0ea9d API change: Returns now 1 if ok, 0 if end of base64 marker found.
Timo Sirainen <tss@iki.fi>
parents: 2708
diff changeset
9 found, -1 if data is invalid.
c46a29e0ea9d API change: Returns now 1 if ok, 0 if end of base64 marker found.
Timo Sirainen <tss@iki.fi>
parents: 2708
diff changeset
10
2708
f1e9f3ec8135 Buffer API change: we no longer support limited sized buffers where
Timo Sirainen <tss@iki.fi>
parents: 2628
diff changeset
11 Any CR, LF characters are ignored, as well as whitespace at beginning or
f1e9f3ec8135 Buffer API change: we no longer support limited sized buffers where
Timo Sirainen <tss@iki.fi>
parents: 2628
diff changeset
12 end of line.
0
3b1985cbc908 Initial revision
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
13
765
553f050c8313 Added buffer API. Point is to hide all buffer writing behind this API which
Timo Sirainen <tss@iki.fi>
parents: 608
diff changeset
14 This function may be called multiple times for parsing the same stream.
553f050c8313 Added buffer API. Point is to hide all buffer writing behind this API which
Timo Sirainen <tss@iki.fi>
parents: 608
diff changeset
15 If src_pos is non-NULL, it's updated to first non-translated character in
553f050c8313 Added buffer API. Point is to hide all buffer writing behind this API which
Timo Sirainen <tss@iki.fi>
parents: 608
diff changeset
16 src. */
2628
59059ea978b2 Change src from unsigned char* toi void* so callers don't have to do
Timo Sirainen <tss@iki.fi>
parents: 903
diff changeset
17 int base64_decode(const void *src, size_t src_size,
903
fd8888f6f037 Naming style changes, finally got tired of most of the typedefs. Also the
Timo Sirainen <tss@iki.fi>
parents: 765
diff changeset
18 size_t *src_pos_r, buffer_t *dest);
608
debb8468514e SEARCH CHARSET now works properly with message bodies, and in general body
Timo Sirainen <tss@iki.fi>
parents: 566
diff changeset
19
6180
6b0fe0f93896 Added t_base64_decode_str().
Timo Sirainen <tss@iki.fi>
parents: 5509
diff changeset
20 /* Decode given string to a buffer allocated from data stack. */
6b0fe0f93896 Added t_base64_decode_str().
Timo Sirainen <tss@iki.fi>
parents: 5509
diff changeset
21 buffer_t *t_base64_decode_str(const char *str);
6b0fe0f93896 Added t_base64_decode_str().
Timo Sirainen <tss@iki.fi>
parents: 5509
diff changeset
22
765
553f050c8313 Added buffer API. Point is to hide all buffer writing behind this API which
Timo Sirainen <tss@iki.fi>
parents: 608
diff changeset
23 /* max. buffer size required for base64_encode() */
553f050c8313 Added buffer API. Point is to hide all buffer writing behind this API which
Timo Sirainen <tss@iki.fi>
parents: 608
diff changeset
24 #define MAX_BASE64_ENCODED_SIZE(size) \
553f050c8313 Added buffer API. Point is to hide all buffer writing behind this API which
Timo Sirainen <tss@iki.fi>
parents: 608
diff changeset
25 ((size) / 3 * 4 + 2+2)
553f050c8313 Added buffer API. Point is to hide all buffer writing behind this API which
Timo Sirainen <tss@iki.fi>
parents: 608
diff changeset
26 /* max. buffer size required for base64_decode() */
608
debb8468514e SEARCH CHARSET now works properly with message bodies, and in general body
Timo Sirainen <tss@iki.fi>
parents: 566
diff changeset
27 #define MAX_BASE64_DECODED_SIZE(size) \
debb8468514e SEARCH CHARSET now works properly with message bodies, and in general body
Timo Sirainen <tss@iki.fi>
parents: 566
diff changeset
28 ((size) / 4 * 3 + 3)
0
3b1985cbc908 Initial revision
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
29 #endif