24RCSIDH(base32_h,
"$Id: 941b92118b9202ce6f8e6822ed4ff4bf20838921 $")
30#include <freeradius-devel/missing.h>
31#include <freeradius-devel/util/sbuff.h>
32#include <freeradius-devel/util/dbuff.h>
56 return alphabet[(
uint8_t)c] < 32;
62#define fr_base32_encode(_out, _in, _add_padding) \
63 fr_base32_encode_nstd(_out, _in, _add_padding, fr_base32_alphabet_encode)
69#define fr_base32_decode(_out, _in, _expect_padding, _no_trailing) \
70 fr_base32_decode_nstd(NULL, _out, _in, _expect_padding, _no_trailing, fr_base32_alphabet_decode)
char const fr_base32_alphabet_encode[SBUFF_CHAR_CLASS]
Encode/decode binary data using printable characters (base32 format)
char const fr_base32_hex_alphabet_encode[SBUFF_CHAR_CLASS]
ssize_t fr_base32_encode_nstd(fr_sbuff_t *out, fr_dbuff_t *in, bool add_padding, char const alphabet[static SBUFF_CHAR_CLASS])
Base 64 encode binary data.
uint8_t const fr_base32_alphabet_decode[SBUFF_CHAR_CLASS]
static bool fr_is_base32_nstd(char c, uint8_t const alphabet[static SBUFF_CHAR_CLASS])
Check if char is in base32 alphabet.
ssize_t fr_base32_decode_nstd(fr_sbuff_parse_error_t *err, fr_dbuff_t *out, fr_sbuff_t *in, bool expect_padding, bool no_trailing, uint8_t const alphabet[static SBUFF_CHAR_CLASS]))
uint8_t const fr_base32_hex_alphabet_decode[SBUFF_CHAR_CLASS]
static size_t char ** out