]>
Commit | Line | Data |
---|---|---|
1 | // SPDX-License-Identifier: NONE | |
2 | /* | |
3 | * This is part of the libb64 project, and has been placed in the public domain. | |
4 | * For details, see http://sourceforge.net/projects/libb64 | |
5 | */ | |
6 | ||
7 | #ifndef _BASE64_H_ | |
8 | #define _BASE64_H_ | |
9 | ||
10 | enum base64_encodestep { | |
11 | step_A, step_B, step_C | |
12 | }; | |
13 | ||
14 | struct base64_encodestate { | |
15 | enum base64_encodestep step; | |
16 | char result; | |
17 | int stepcount; | |
18 | }; | |
19 | ||
20 | void base64_init_encodestate(struct base64_encodestate *state_in); | |
21 | ||
22 | char base64_encode_value(char value_in); | |
23 | ||
24 | int base64_encode_block(const char *plaintext_in, int length_in, char *code_out, | |
25 | struct base64_encodestate *state_in); | |
26 | ||
27 | int base64_encode_blockend(char *code_out, struct base64_encodestate *state_in); | |
28 | ||
29 | ||
30 | enum base64_decodestep { | |
31 | step_a, step_b, step_c, step_d | |
32 | }; | |
33 | ||
34 | struct base64_decodestate { | |
35 | enum base64_decodestep step; | |
36 | char plainchar; | |
37 | }; | |
38 | ||
39 | void base64_init_decodestate(struct base64_decodestate *state_in); | |
40 | ||
41 | signed char base64_decode_value(signed char value_in); | |
42 | ||
43 | int base64_decode_block(const char *code_in, int length_in, char *plaintext_out, | |
44 | struct base64_decodestate *state_in); | |
45 | ||
46 | #endif /* _BASE64_H_ */ |