mirror of
https://github.com/transmission/transmission
synced 2024-12-26 17:47:37 +00:00
b928ae1ba8
Some crypto libraries (like CyaSSL, MatrixSSL and CommonCrypto) either don't have or expose this functionality at all, expose only part of it, or (like OpenSSL) have heavyweight API for it. Also, for the task as easy as BASE64 encoding and decoding it's much better to use small and simple specialized library.
29 lines
649 B
C
29 lines
649 B
C
/*
|
|
cdecode.h - c header for a base64 decoding algorithm
|
|
|
|
This is part of the libb64 project, and has been placed in the public domain.
|
|
For details, see http://sourceforge.net/projects/libb64
|
|
*/
|
|
|
|
#ifndef BASE64_CDECODE_H
|
|
#define BASE64_CDECODE_H
|
|
|
|
typedef enum
|
|
{
|
|
step_a, step_b, step_c, step_d
|
|
} base64_decodestep;
|
|
|
|
typedef struct
|
|
{
|
|
base64_decodestep step;
|
|
char plainchar;
|
|
} base64_decodestate;
|
|
|
|
void base64_init_decodestate(base64_decodestate* state_in);
|
|
|
|
int base64_decode_value(char value_in);
|
|
|
|
int base64_decode_block(const char* code_in, const int length_in, char* plaintext_out, base64_decodestate* state_in);
|
|
|
|
#endif /* BASE64_CDECODE_H */
|
|
|