Atmel Software Framework

base64.h File Reference

Copyright (C) 2006-2010, Brainspark B.V.

This file is part of PolarSSL (http://www.polarssl.org) Lead Maintainer: Paul Bakker <polarssl_maintainer at polarssl.org>

All rights reserved.

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.

Macros

#define POLARSSL_ERR_BASE64_BUFFER_TOO_SMALL   0x0010
 
#define POLARSSL_ERR_BASE64_INVALID_CHARACTER   0x0012
 

Functions

int base64_decode (unsigned char *dst, int *dlen, const unsigned char *src, int slen)
 Decode a base64-formatted buffer. More...
 
int base64_encode (unsigned char *dst, int *dlen, const unsigned char *src, int slen)
 Encode a buffer into base64 format. More...
 
int base64_self_test (int verbose)
 Checkup routine. More...
 

#define POLARSSL_ERR_BASE64_BUFFER_TOO_SMALL   0x0010
#define POLARSSL_ERR_BASE64_INVALID_CHARACTER   0x0012

int base64_decode ( unsigned char *  dst,
int *  dlen,
const unsigned char *  src,
int  slen 
)

Decode a base64-formatted buffer.

Parameters
dstdestination buffer
dlensize of the buffer
srcsource buffer
slenamount of data to be decoded
Returns
0 if successful, POLARSSL_ERR_BASE64_BUFFER_TOO_SMALL, or POLARSSL_ERR_BASE64_INVALID_DATA if the input data is not correct. *dlen is always updated to reflect the amount of data that has (or would have) been written.
Note
Call this function with *dlen = 0 to obtain the required buffer size in *dlen
int base64_encode ( unsigned char *  dst,
int *  dlen,
const unsigned char *  src,
int  slen 
)

Encode a buffer into base64 format.

Parameters
dstdestination buffer
dlensize of the buffer
srcsource buffer
slenamount of data to be encoded
Returns
0 if successful, or POLARSSL_ERR_BASE64_BUFFER_TOO_SMALL. *dlen is always updated to reflect the amount of data that has (or would have) been written.
Note
Call this function with *dlen = 0 to obtain the required buffer size in *dlen
int base64_self_test ( int  verbose)

Checkup routine.

Returns
0 if successful, or 1 if the test failed

Referenced by main().