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 #include <stdint.h> 12 13 #if defined(__cplusplus) 14 extern "C" 15 { 16 #endif 17 18 typedef enum 19 { 20 step_A, step_B, step_C 21 } base64_encodestep; 22 23 typedef struct 24 { 25 base64_encodestep step; 26 char result; 27 int stepcount; 28 int lineLength; 29 } base64_encodestate; 30 31 void base64_init_encodestate(base64_encodestate* state_in, int lineLength); 32 33 char base64_encode_value(const int8_t value_in); 34 35 int base64_encode_block(const uint8_t *plaintext_in, int length_in, char* code_out, base64_encodestate* state_in); 36 37 int base64_encode_blockend(char *code_out, base64_encodestate* state_in); 38 #if defined(__cplusplus) 39 } 40 #endif 41 42 #endif /* BASE64_CENCODE_H */ 43