Base64 utility functions. More...
Functions | |
static size_t | spdk_base64_get_encoded_strlen (size_t raw_len) |
Following the Base64 part in RFC4648: https://tools.ietf.org/html/rfc4648.html. | |
static size_t | spdk_base64_get_decoded_len (size_t encoded_strlen) |
Calculate length of raw buffer based on strlen of encoded Base64. | |
int | spdk_base64_encode (char *dst, const void *src, size_t src_len) |
Base 64 Encoding with Standard Base64 Alphabet defined in RFC4684. | |
int | spdk_base64_urlsafe_encode (char *dst, const void *src, size_t src_len) |
Base 64 Encoding with URL and Filename Safe Alphabet. | |
int | spdk_base64_decode (void *dst, size_t *dst_len, const char *src) |
Base 64 Decoding with Standard Base64 Alphabet defined in RFC4684. | |
int | spdk_base64_urlsafe_decode (void *dst, size_t *dst_len, const char *src) |
Base 64 Decoding with URL and Filename Safe Alphabet. | |
Base64 utility functions.
int spdk_base64_decode | ( | void * | dst, |
size_t * | dst_len, | ||
const char * | src ) |
Base 64 Decoding with Standard Base64 Alphabet defined in RFC4684.
dst | Buffer address of decoded raw data. Its length should be enough to contain decoded raw data, so it needs to be at least as long as spdk_base64_get_decoded_len(encoded_strlen). If NULL, only dst_len will be populated indicating the exact decoded length. |
dst_len | Output parameter for the length of actual decoded raw data. If NULL, the actual decoded length won't be returned. |
src | Data buffer for base64 string to be decoded. |
int spdk_base64_encode | ( | char * | dst, |
const void * | src, | ||
size_t | src_len ) |
Base 64 Encoding with Standard Base64 Alphabet defined in RFC4684.
dst | Buffer address of encoded Base64 string. Its length should be enough to contain Base64 string and the terminating null byte ('\0'), so it needs to be at least as long as 1 + spdk_base64_get_encoded_strlen(src_len). |
src | Raw data buffer to be encoded. |
src_len | Length of raw data buffer. |
|
inlinestatic |
Calculate length of raw buffer based on strlen of encoded Base64.
This length will be the max possible decoded len. The exact decoded length could be shorter depending on if there was padding in the Base64 string.
encoded_strlen | Length of encoded Base64 string, excluding terminating null byte ('\0'). |
|
inlinestatic |
Following the Base64 part in RFC4648: https://tools.ietf.org/html/rfc4648.html.
Calculate strlen of encoded Base64 string based on raw buffer length.
raw_len | Length of raw buffer. |
int spdk_base64_urlsafe_decode | ( | void * | dst, |
size_t * | dst_len, | ||
const char * | src ) |
Base 64 Decoding with URL and Filename Safe Alphabet.
dst | Buffer address of decoded raw data. Its length should be enough to contain decoded raw data, so it needs to be at least as long as spdk_base64_get_decoded_len(encoded_strlen). If NULL, only dst_len will be populated indicating the exact decoded length. |
dst_len | Output parameter for the length of actual decoded raw data. If NULL, the actual decoded length won't be returned. |
src | Data buffer for base64 string to be decoded. |
int spdk_base64_urlsafe_encode | ( | char * | dst, |
const void * | src, | ||
size_t | src_len ) |
Base 64 Encoding with URL and Filename Safe Alphabet.
dst | Buffer address of encoded Base64 string. Its length should be enough to contain Base64 string and the terminating null byte ('\0'), so it needs to be at least as long as 1 + spdk_base64_get_encoded_strlen(src_len). |
src | Raw data buffer to be encoded. |
src_len | Length of raw data buffer. |