1/* gbase64.h - Base64 coding functions
2 *
3 * Copyright (C) 2005 Alexander Larsson <[email protected]>
4 *
5 * This library is free software; you can redistribute it and/or
6 * modify it under the terms of the GNU Lesser General Public
7 * License as published by the Free Software Foundation; either
8 * version 2.1 of the License, or (at your option) any later version.
9 *
10 * This library is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 * Lesser General Public License for more details.
14 *
15 * You should have received a copy of the GNU Lesser General Public License
16 * along with this library; if not, see <http://www.gnu.org/licenses/>.
17 */
18
19#ifndef __G_BASE64_H__
20#define __G_BASE64_H__
21
22#if !defined (__GLIB_H_INSIDE__) && !defined (GLIB_COMPILATION)
23#error "Only <glib.h> can be included directly."
24#endif
25
26#include <glib/gtypes.h>
27
28G_BEGIN_DECLS
29
30GLIB_AVAILABLE_IN_ALL
31gsize g_base64_encode_step (const guchar *in,
32 gsize len,
33 gboolean break_lines,
34 gchar *out,
35 gint *state,
36 gint *save);
37GLIB_AVAILABLE_IN_ALL
38gsize g_base64_encode_close (gboolean break_lines,
39 gchar *out,
40 gint *state,
41 gint *save);
42GLIB_AVAILABLE_IN_ALL
43gchar* g_base64_encode (const guchar *data,
44 gsize len) G_GNUC_MALLOC;
45GLIB_AVAILABLE_IN_ALL
46gsize g_base64_decode_step (const gchar *in,
47 gsize len,
48 guchar *out,
49 gint *state,
50 guint *save);
51GLIB_AVAILABLE_IN_ALL
52guchar *g_base64_decode (const gchar *text,
53 gsize *out_len) G_GNUC_MALLOC;
54GLIB_AVAILABLE_IN_ALL
55guchar *g_base64_decode_inplace (gchar *text,
56 gsize *out_len);
57
58
59G_END_DECLS
60
61#endif /* __G_BASE64_H__ */
62