José
Functions
Base64

URL-safe Base64 Encoding & Decoding. More...

Functions

size_t jose_b64_dec (const json_t *i, void *o, size_t ol)
 Decodes a URL-safe Base64 JSON string to a buffer. More...
 
jose_io_tjose_b64_dec_io (jose_io_t *next)
 Creates a new IO object which performs URL-safe Base64 decoding. More...
 
size_t jose_b64_dec_buf (const void *i, size_t il, void *o, size_t ol)
 Decodes a URL-safe Base64 buffer to an output buffer. More...
 
json_t * jose_b64_dec_load (const json_t *i)
 Decodes a JSON string from a URL-safe Base64 JSON string. More...
 
json_t * jose_b64_enc (const void *i, size_t il)
 Encodes data to a URL-safe Base64 JSON string. More...
 
jose_io_tjose_b64_enc_io (jose_io_t *next)
 Creates a new IO object which performs URL-safe Base64 encoding. More...
 
size_t jose_b64_enc_buf (const void *i, size_t il, void *o, size_t ol)
 Encodes data to a URL-safe Base64 buffer. More...
 
json_t * jose_b64_enc_dump (const json_t *i)
 Encodes the input JSON as a URL-safe Base64 JSON string. More...
 

Detailed Description

URL-safe Base64 Encoding & Decoding.

Function Documentation

◆ jose_b64_dec()

size_t jose_b64_dec ( const json_t *  i,
void *  o,
size_t  ol 
)

Decodes a URL-safe Base64 JSON string to a buffer.

If o is NULL, the number of output bytes necessary is returned.

This function will never write more than ol bytes. If the output buffer is too small, an error will occur.

Parameters
iThe input URL-safe Base64 JSON string.
oThe output buffer (may be NULL).
olThe size of the output buffer.
Returns
The number of bytes that were (or would be) written. If an error occurs, SIZE_MAX is returned.

◆ jose_b64_dec_io()

jose_io_t* jose_b64_dec_io ( jose_io_t next)

Creates a new IO object which performs URL-safe Base64 decoding.

All data written to the returned IO object will be decoded before passing it on to the next IO object in the chain.

Parameters
nextThe next IO object in the chain.
Returns
The new IO object or NULL on error.

◆ jose_b64_dec_buf()

size_t jose_b64_dec_buf ( const void *  i,
size_t  il,
void *  o,
size_t  ol 
)

Decodes a URL-safe Base64 buffer to an output buffer.

If o is NULL, the number of output bytes necessary is returned.

This function will never write more than ol bytes. If the output buffer is too small, an error will occur.

Parameters
iThe input URL-safe Base64 buffer.
ilThe size of the data in the input buffer.
oThe output buffer.
olThe size of the output buffer.
Returns
The number of bytes that were (or would be) written. If an error occurs, SIZE_MAX is returned.

◆ jose_b64_dec_load()

json_t* jose_b64_dec_load ( const json_t *  i)

Decodes a JSON string from a URL-safe Base64 JSON string.

Parameters
iThe input URL-safe Base64 JSON string containing JSON data.
Returns
The output JSON data.

◆ jose_b64_enc()

json_t* jose_b64_enc ( const void *  i,
size_t  il 
)

Encodes data to a URL-safe Base64 JSON string.

Parameters
iThe input buffer.
ilThe size of the data in the input buffer.
Returns
The decoded JSON data. If an error occurs, NULL is returned.

◆ jose_b64_enc_io()

jose_io_t* jose_b64_enc_io ( jose_io_t next)

Creates a new IO object which performs URL-safe Base64 encoding.

All data written to the returned IO object will be encoded before passing it on to the next IO object in the chain.

Parameters
nextThe next IO object in the chain.
Returns
The new IO object or NULL on error.

◆ jose_b64_enc_buf()

size_t jose_b64_enc_buf ( const void *  i,
size_t  il,
void *  o,
size_t  ol 
)

Encodes data to a URL-safe Base64 buffer.

If o is NULL, the number of output bytes necessary is returned.

This function will never write more than ol bytes. If the output buffer is too small, an error will occur.

Parameters
iThe input buffer.
ilThe size of the data in the input buffer.
oThe output URL-safe Base64 buffer.
olThe size of the output buffer.
Returns
The number of bytes that were (or would be) written. If an error occurs, SIZE_MAX is returned.

◆ jose_b64_enc_dump()

json_t* jose_b64_enc_dump ( const json_t *  i)

Encodes the input JSON as a URL-safe Base64 JSON string.

Parameters
iThe input JSON data.
Returns
The output URL-safe Base64 JSON string.