19#ifndef PROTOCORE_HEX_H
20#define PROTOCORE_HEX_H
100 void (*
const digit)(uint8_t *work);
101 void (*
const val)(uint8_t *work);
102 void (*
const u32)(uint8_t *work);
103 void (*
const encode)(uint8_t *work);
104 void (*
const decode)(uint8_t *work);
119static const HexNs Hex __attribute__((unused)) = {
void protocore_hex_u32(uint8_t *work)
HexVars HexV
The operands and the outcome.
void protocore_hex_digit(uint8_t *work)
void protocore_hex_val(uint8_t *work)
void protocore_hex_encode(uint8_t *work)
void protocore_hex_decode(uint8_t *work)
const HexStorage PROTOCORE_HEX
The digit tables every hex site reads.
What a digit conversion names: one nibble, or one character.
uint32_t v
the value a u32 render writes
char ch
the character a value lookup reads
proto_bool upper
render A-F rather than a-f
uint8_t nibble
the nibble a digit lookup renders
The buffers a run conversion moves between.
uint32_t cap
how much room that has
uint8_t * bytes
where a decode writes
uint32_t n
how many bytes to encode, or how many characters to decode
const char * text
the characters a decode reads
const uint8_t * in
the bytes an encode reads
char * out
where an encode or a u32 render writes
void(*const digit)(uint8_t *work)
The two digit tables: the only thing this module owns.
const char * upper
the 16 hex digits, uppercase - for the protocols that specify capitals
const char * lower
the 16 hex digits, lowercase
_Bool proto_bool
The truth value.