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 
30 /* This uses that the expression (n+(k-1))/k means the smallest
31  integer >= n/k, i.e., the ceiling of n/k. */
32 # define BASE64_LENGTH(inlen) ((((inlen) + 2) / 3) * 4)
33 
35 {
36  unsigned int i;
37  char buf[4];
38 };
39 
40 extern bool isbase64 (char ch);
41 
42 extern void base64_encode (const char *in, size_t inlen,
43  char *out, size_t outlen);
44 
45 extern size_t base64_encode_alloc (const char *in, size_t inlen, char **out);
46 
47 extern void base64_decode_ctx_init (struct base64_decode_context *ctx);
48 
49 extern bool base64_decode_ctx (struct base64_decode_context *ctx,
50  const char *in, size_t inlen,
51  char *out, size_t *outlen);
52 
53 extern bool base64_decode_alloc_ctx (struct base64_decode_context *ctx,
54  const char *in, size_t inlen,
55  char **out, size_t *outlen);
56 
57 #define base64_decode(in, inlen, out, outlen) \
58  base64_decode_ctx (NULL, in, inlen, out, outlen)
59 
60 #define base64_decode_alloc(in, inlen, out, outlen) \
61  base64_decode_alloc_ctx (NULL, in, inlen, out, outlen)
62 
63 #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:551
unsigned int i
Definition: base64.h:36
void base64_decode_ctx_init(struct base64_decode_context *ctx)
Definition: base64.cc:308
bool base64_decode_ctx(struct base64_decode_context *ctx, const char *in, size_t inlen, char *out, size_t *outlen)
Definition: base64.cc:460
void base64_encode(const char *in, size_t inlen, char *out, size_t outlen)
Definition: base64.cc:70
size_t base64_encode_alloc(const char *in, size_t inlen, char **out)
Definition: base64.cc:117
bool isbase64(char ch)
Definition: base64.cc:301