~ubuntu-branches/ubuntu/trusty/mysql-5.6/trusty

« back to all changes in this revision

Viewing changes to include/base64.h

  • Committer: Package Import Robot
  • Author(s): James Page
  • Date: 2014-02-12 11:54:27 UTC
  • Revision ID: package-import@ubuntu.com-20140212115427-oq6tfsqxl1wuwehi
Tags: upstream-5.6.15
ImportĀ upstreamĀ versionĀ 5.6.15

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/* Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved.
 
2
 
 
3
   This program is free software; you can redistribute it and/or modify
 
4
   it under the terms of the GNU General Public License as published by
 
5
   the Free Software Foundation; version 2 of the License.
 
6
 
 
7
   This program is distributed in the hope that it will be useful,
 
8
   but WITHOUT ANY WARRANTY; without even the implied warranty of
 
9
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 
10
   GNU General Public License for more details.
 
11
 
 
12
   You should have received a copy of the GNU General Public License
 
13
   along with this program; if not, write to the Free Software
 
14
   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
 
15
 
 
16
#ifndef __BASE64_H_INCLUDED__
 
17
#define __BASE64_H_INCLUDED__
 
18
 
 
19
#ifdef __cplusplus
 
20
extern "C" {
 
21
#endif
 
22
 
 
23
/*
 
24
  Calculate how much memory needed for dst of base64_encode()
 
25
*/
 
26
int base64_needed_encoded_length(int length_of_data);
 
27
 
 
28
/*
 
29
  Maximum length base64_encode_needed_length() can accept with no overflow.
 
30
*/
 
31
int base64_encode_max_arg_length(void);
 
32
 
 
33
/*
 
34
  Calculate how much memory needed for dst of base64_decode()
 
35
*/
 
36
int base64_needed_decoded_length(int length_of_encoded_data);
 
37
 
 
38
/*
 
39
  Maximum length base64_decode_needed_length() can accept with no overflow.
 
40
*/
 
41
int base64_decode_max_arg_length();
 
42
 
 
43
/*
 
44
  Encode data as a base64 string
 
45
*/
 
46
int base64_encode(const void *src, size_t src_len, char *dst);
 
47
 
 
48
/*
 
49
  Decode a base64 string into data
 
50
*/
 
51
int base64_decode(const char *src, size_t src_len,
 
52
                  void *dst, const char **end_ptr, int flags);
 
53
 
 
54
/* Allow multuple chunks 'AAA= AA== AA==', binlog uses this */
 
55
#define MY_BASE64_DECODE_ALLOW_MULTIPLE_CHUNKS 1
 
56
 
 
57
 
 
58
#ifdef __cplusplus
 
59
}
 
60
#endif
 
61
#endif /* !__BASE64_H_INCLUDED__ */