rpm: rpmbase64.h Source File

rpm 4.16.1.3

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
rpmBase64Decode
int rpmBase64Decode(const char *in, void **out, size_t *outlen)
rpmBase64CRC
char * rpmBase64CRC(const unsigned char *data, size_t len)
rpmBase64Encode
char * rpmBase64Encode(const void *data, size_t len, int linelen)