29#ifndef MMGR_OCTETUS_INTROITUS_EXITUS_H
30#define MMGR_OCTETUS_INTROITUS_EXITUS_H
50 const uint8_t *
const src;
52 const uint8_t **
const blob;
The embedded_types headers every module builds on.
void mmgr_byteio_put_be(const OctetusCfg *args)
Appends the low args->bytes of args->value to args->write_span, most significant byte first.
static const OctetusIntroitusExitusNs byteio
Dispatch table instance named byteio, with each member set to its mmgr_byteio_ function.
embed_bool mmgr_byteio_rd_str(const OctetusCfg *args)
Reads a big endian 32-bit length at args->read_span's cursor, then points args->blob at the run behin...
embed_bool mmgr_byteio_mpint_fixed(const OctetusCfg *args)
Right-aligns the big endian integer at args->src into args->write_span's whole buffer,...
void mmgr_byteio_raw(const OctetusCfg *args)
Appends args->bytes from args->src to args->write_span as they are.
embed_bool mmgr_byteio_take_be(const OctetusCfg *args)
Reads a big endian value of args->bytes at args->read_span's cursor and advances past it.
void mmgr_byteio_put(const OctetusCfg *args)
Appends args->byte to args->write_span.
Spans over a caller's buffer, the two span types, and the spat dispatch table.
Arguments for the byteio calls, where each call reads only the members it needs.
mmgr_cspan *const read_span
const uint8_t **const blob
mmgr_span *const write_span
Type of the byteio dispatch table.
embed_bool(*) take_be(const OctetusCfg *args)
void(*) put(const OctetusCfg *args)
void(*) put_be(const OctetusCfg *args)
embed_bool(*) mpint_fixed(const OctetusCfg *args)
embed_bool(*) rd_str(const OctetusCfg *args)
void(*) raw(const OctetusCfg *args)
A buffer being read: its bytes, how far the reader has gone, and whether it ran out.
A buffer being filled: its bytes, how far the writer has gone, and whether it ran out.