Mercurial > dovecot > original-hg > dovecot-1.2
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 |
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 | 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 | 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 | 20 /* Decode given string to a buffer allocated from data stack. */ |
21 buffer_t *t_base64_decode_str(const char *str); | |
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 | 29 #endif |