CMS 3D CMS Logo

base64.h
Go to the documentation of this file.
1 /* -*- buffer-read-only: t -*- vi: set ro: */
2 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
3 /* base64.h -- Encode binary data using printable characters.
4  Copyright (C) 2004-2006, 2009-2011 Free Software Foundation, Inc.
5  Written by Simon Josefsson.
6 
7  This program is free software; you can redistribute it and/or modify
8  it under the terms of the GNU General Public License as published by
9  the Free Software Foundation; either version 3, or (at your option)
10  any later version.
11 
12  This program is distributed in the hope that it will be useful,
13  but WITHOUT ANY WARRANTY; without even the implied warranty of
14  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15  GNU General Public License for more details.
16 
17  You should have received a copy of the GNU General Public License
18  along with this program; if not, write to the Free Software Foundation,
19  Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
20 
21 #ifndef BASE64_H
22 #define BASE64_H
23 
24 /* Get size_t. */
25 #include <cstddef>
26 
27 /* Get bool. */
28 
29 /* This uses that the expression (n+(k-1))/k means the smallest
30  integer >= n/k, i.e., the ceiling of n/k. */
31 #define BASE64_LENGTH(inlen) ((((inlen) + 2) / 3) * 4)
32 
34  unsigned int i;
35  char buf[4];
36 };
37 
38 extern bool isbase64(char ch);
39 
40 extern void base64_encode(const char *in, size_t inlen, char *out, size_t outlen);
41 
42 extern size_t base64_encode_alloc(const char *in, size_t inlen, char **out);
43 
44 extern void base64_decode_ctx_init(struct base64_decode_context *ctx);
45 
46 extern bool base64_decode_ctx(
47  struct base64_decode_context *ctx, const char *in, size_t inlen, char *out, size_t *outlen);
48 
49 extern bool base64_decode_alloc_ctx(
50  struct base64_decode_context *ctx, const char *in, size_t inlen, char **out, size_t *outlen);
51 
52 #define base64_decode(in, inlen, out, outlen) base64_decode_ctx(NULL, in, inlen, out, outlen)
53 
54 #define base64_decode_alloc(in, inlen, out, outlen) base64_decode_alloc_ctx(NULL, in, inlen, out, outlen)
55 
56 #endif /* BASE64_H */
bool base64_decode_alloc_ctx(struct base64_decode_context *ctx, const char *in, size_t inlen, char **out, size_t *outlen)
Definition: base64.cc:452
unsigned int i
Definition: base64.h:34
void base64_decode_ctx_init(struct base64_decode_context *ctx)
Definition: base64.cc:246
bool base64_decode_ctx(struct base64_decode_context *ctx, const char *in, size_t inlen, char *out, size_t *outlen)
Definition: base64.cc:372
void base64_encode(const char *in, size_t inlen, char *out, size_t outlen)
Definition: base64.cc:65
size_t base64_encode_alloc(const char *in, size_t inlen, char **out)
Definition: base64.cc:100
bool isbase64(char ch)
Definition: base64.cc:243