]> git.proxmox.com Git - mirror_frr.git/blob - lib/base64.h
Merge pull request #13649 from donaldsharp/unlock_the_node_or_else
[mirror_frr.git] / lib / base64.h
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_ */