RetroArch
Macros | Functions
base64.h File Reference

RFC 1521 base64 encoding/decoding. More...

#include <stddef.h>
Include dependency graph for base64.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define MBEDTLS_ERR_BASE64_BUFFER_TOO_SMALL   -0x002A
 
#define MBEDTLS_ERR_BASE64_INVALID_CHARACTER   -0x002C
 

Functions

int mbedtls_base64_encode (unsigned char *dst, size_t dlen, size_t *olen, const unsigned char *src, size_t slen)
 Encode a buffer into base64 format. More...
 
int mbedtls_base64_decode (unsigned char *dst, size_t dlen, size_t *olen, const unsigned char *src, size_t slen)
 Decode a base64-formatted buffer. More...
 
int mbedtls_base64_self_test (int verbose)
 Checkup routine. More...
 

Detailed Description

RFC 1521 base64 encoding/decoding.

Copyright (C) 2006-2015, ARM Limited, All Rights Reserved SPDX-License-Identifier: Apache-2.0

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

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

Macro Definition Documentation

◆ MBEDTLS_ERR_BASE64_BUFFER_TOO_SMALL

#define MBEDTLS_ERR_BASE64_BUFFER_TOO_SMALL   -0x002A

Output buffer too small.

◆ MBEDTLS_ERR_BASE64_INVALID_CHARACTER

#define MBEDTLS_ERR_BASE64_INVALID_CHARACTER   -0x002C

Invalid character in input.

Function Documentation

◆ mbedtls_base64_decode()

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

Decode a base64-formatted buffer.

Parameters
dstdestination buffer (can be NULL for checking size)
dlensize of the destination buffer
olennumber of bytes written
srcsource buffer
slenamount of data to be decoded
Returns
0 if successful, MBEDTLS_ERR_BASE64_BUFFER_TOO_SMALL, or MBEDTLS_ERR_BASE64_INVALID_CHARACTER if the input data is not correct. *olen 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 *olen
Here is the caller graph for this function:

◆ mbedtls_base64_encode()

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

Encode a buffer into base64 format.

Parameters
dstdestination buffer
dlensize of the destination buffer
olennumber of bytes written
srcsource buffer
slenamount of data to be encoded
Returns
0 if successful, or MBEDTLS_ERR_BASE64_BUFFER_TOO_SMALL. *olen 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 *olen is set to the maximum length representable as a size_t.
Note
Call this function with dlen = 0 to obtain the required buffer size in *olen
Here is the caller graph for this function:

◆ mbedtls_base64_self_test()

int mbedtls_base64_self_test ( int  verbose)

Checkup routine.

Returns
0 if successful, or 1 if the test failed
Here is the call graph for this function: