rpm  4.17.0
rpmbase64.h
Go to the documentation of this file.
1 /* base64 encoder/decoder based on public domain implementation
2  * by Chris Venter */
3 
10 #include <sys/types.h>
11 
12 #ifdef __cplusplus
13 extern "C" {
14 #endif
15 
16 /* returns malloced base64 encoded string
17  * lines are split with \n characters to be nearest lower multiple of linelen
18  * if linelen/4 == 0 lines are not split
19  * if linelen < 0 default line length (64) is used
20  * the returned string is empty when len == 0
21  * returns NULL on failures
22  */
23 char *rpmBase64Encode(const void *data, size_t len, int linelen);
24 
25 /* decodes from zero terminated base64 encoded string to a newly malloced buffer
26  * ignores whitespace characters in the input string
27  * return values:
28  * 0 - OK
29  * 1 - input is NULL
30  * 2 - invalid length
31  * 3 - invalid characters on input
32  * 4 - malloc failed
33  */
34 int rpmBase64Decode(const char *in, void **out, size_t *outlen);
35 
36 /* counts CRC24 and base64 encodes it in a malloced string
37  * returns NULL on failures
38  */
39 char *rpmBase64CRC(const unsigned char *data, size_t len);
40 
41 #ifdef __cplusplus
42 }
43 #endif
char * rpmBase64CRC(const unsigned char *data, size_t len)
int rpmBase64Decode(const char *in, void **out, size_t *outlen)
char * rpmBase64Encode(const void *data, size_t len, int linelen)