BASE64 de/encoding - by Edward Flick - replace John Walkers implementation with http...
[citadel.git] / libcitadel / lib / b64 / cdecode.h
1 /*
2 cdecode.h - c header for a base64 decoding algorithm
3
4 This is part of the libb64 project, and has been placed in the public domain.
5 For details, see http://sourceforge.net/projects/libb64
6 */
7
8 #ifndef BASE64_CDECODE_H
9 #define BASE64_CDECODE_H
10
11 typedef enum
12 {
13         step_a, step_b, step_c, step_d
14 } base64_decodestep;
15
16 typedef struct
17 {
18         base64_decodestep step;
19         char plainchar;
20 } base64_decodestate;
21
22 void base64_init_decodestate(base64_decodestate* state_in);
23
24 int base64_decode_value(char value_in);
25
26 int base64_decode_block(const char* code_in, const int length_in, char* plaintext_out, base64_decodestate* state_in);
27
28 #endif /* BASE64_CDECODE_H */