#ifndef CommonNumerics_basexx_h
#define CommonNumerics_basexx_h
#include <stdint.h>
#include <stddef.h>
#include "../lib/ccDispatch.h"
#include <CommonNumerics/CommonNumerics.h>
#include <CommonNumerics/CommonBaseXX.h>
typedef struct encoderConstants_t {
uint32_t baseNum;
uint32_t log;
uint32_t inputBlocksize;
uint32_t outputBlocksize;
uint8_t basemask;
} encoderConstants;
typedef struct baseEncoder_t {
const char *name;
CNEncodings encoding;
const char *charMap;
const encoderConstants *values;
uint8_t baseNum;
uint8_t padding;
} BaseEncoder;
typedef BaseEncoder *BaseEncoderRefCustom;
typedef const BaseEncoder *BaseEncoderRef;
#define CC_BASE_REVERSE_MAP_SIZE 256
typedef struct coderFrame_t {
uint8_t reverseMap[CC_BASE_REVERSE_MAP_SIZE];
BaseEncoderRef encoderRef;
} BaseEncoderFrame, *CoderFrame;
extern const BaseEncoder defaultBase64;
extern const BaseEncoder defaultBase32; extern const BaseEncoder recoveryBase32;
extern const BaseEncoder hexBase32;
extern const BaseEncoder defaultBase16;
void setReverseMap(CoderFrame frame);
#endif