summaryrefslogtreecommitdiffstats
path: root/rfc2045/base64.h
blob: ef112aa7aa20c48dff212bc53cb1fa6fe1559b72 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
#ifndef base64_h
#define base64_h

#include "rfc2045/rfc2045_config.h"


/*
** Copyright 2002 Double Precision, Inc.  See COPYING for
** distribution information.
*/

#ifdef  __cplusplus
extern "C" {
#endif

/* This is an attempt to write a portable base64 decoder */

struct base64decode {

	char workbuf[256];
	int workbuflen;

	int (*decode_func)(const char *, int, void *);
	void *decode_func_arg;
} ;

void base64_decode_init(struct base64decode *,
			int (*)(const char *, int, void *),
			void *);
int base64_decode(struct base64decode *, const char *, int);
int base64_decode_end(struct base64decode *);

char *base64_decode_str(const char *);

#ifdef  __cplusplus
}
#endif

#endif