1 /*
2 cencode.h - c header for a base64 encoding 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_CENCODE_H
9 #define BASE64_CENCODE_H
10 
11 typedef enum
12 {
13 	step_A, step_B, step_C
14 } base64_encodestep;
15 
16 typedef struct
17 {
18 	base64_encodestep step;
19 	char result;
20 	int stepcount;
21 } base64_encodestate;
22 
23 void base64_init_encodestate(base64_encodestate* state_in);
24 
25 char base64_encode_value(char value_in);
26 
27 int base64_encode_block(const char* plaintext_in, int length_in, char* code_out, base64_encodestate* state_in);
28 
29 int base64_encode_blockend(char* code_out, base64_encodestate* state_in);
30 
31 #endif /* BASE64_CENCODE_H */
32