rpm 4.19.0
The RPM Package Manager
Loading...
Searching...
No Matches
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
13extern "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 */
23char *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 */
34int 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 */
39char *rpmBase64CRC(const unsigned char *data, size_t len);
40
41#ifdef __cplusplus
42}
43#endif