mbed TLS v1.3.14
Macros | Functions
base64.h File Reference

RFC 1521 base64 encoding/decoding. More...

#include <stddef.h>
Include dependency graph for base64.h:

Go to the source code of this file.

Macros

#define POLARSSL_ERR_BASE64_BUFFER_TOO_SMALL   -0x002A
 Output buffer too small. More...
 
#define POLARSSL_ERR_BASE64_INVALID_CHARACTER   -0x002C
 Invalid character in input. More...
 

Functions

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

Detailed Description

RFC 1521 base64 encoding/decoding.

Copyright (C) 2006-2013, ARM Limited, All Rights Reserved

This file is part of mbed TLS (https://tls.mbed.org)

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.

Definition in file base64.h.

Macro Definition Documentation

#define POLARSSL_ERR_BASE64_BUFFER_TOO_SMALL   -0x002A

Output buffer too small.

Definition at line 29 of file base64.h.

#define POLARSSL_ERR_BASE64_INVALID_CHARACTER   -0x002C

Invalid character in input.

Definition at line 30 of file base64.h.

Function Documentation

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

Decode a base64-formatted buffer.

Parameters
dstdestination buffer (can be NULL for checking size)
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_CHARACTER 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 *dst = NULL or *dlen = 0 to obtain the required buffer size in *dlen
int base64_encode ( unsigned char *  dst,
size_t *  dlen,
const unsigned char *  src,
size_t  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. If that length cannot be represented, then no data is written to the buffer and *dlen is set to SIZE_T_MAX.
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