mbed TLS v2.16.3: base64.h File Reference

mbed TLS v2.16.3

Macros | Functions
base64.h File Reference

RFC 1521 base64 encoding/decoding. More...

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

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.

Definition in file base64.h.

## Macro Definition Documentation

## ◆ MBEDTLS_ERR_BASE64_BUFFER_TOO_SMALL

#define MBEDTLS_ERR_BASE64_BUFFER_TOO_SMALL -0x002A

Output buffer too small.

Definition at line 35 of file base64.h.

## ◆ MBEDTLS_ERR_BASE64_INVALID_CHARACTER

#define MBEDTLS_ERR_BASE64_INVALID_CHARACTER -0x002C

Invalid character in input.

Definition at line 36 of file base64.h.

## 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

  dst | destination buffer (can be NULL for checking size)
  dlen | size of the destination buffer
  olen | number of bytes written
  src | source buffer
  slen | amount 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

## ◆ 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

  dst | destination buffer
  dlen | size of the destination buffer
  olen | number of bytes written
  src | source buffer
  slen | amount 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

## ◆ mbedtls_base64_self_test()

int mbedtls_base64_self_test | ( | int | verbose | ) |

Checkup routine.

Returns
  0 if successful, or 1 if the test failed