18#ifndef MMGR_MEMORIAM_PRAETEREO_H
19#define MMGR_MEMORIAM_PRAETEREO_H
90 const uint8_t *
const buf;
static const MemoriamPraetereoNs praet
Dispatch table instance named praet.
void mmgr_praet_poll(const PraetCfg *args)
Drives the port layer's poll hook.
void mmgr_praet_hw_close(const PraetTransferCfg *args)
Closes a DMA channel on real hardware.
embed_bool mmgr_praet_tx_submit(const PraetTransferCfg *args)
Submits args->bytes of args->buf on args->channel.
embed_bool mmgr_praet_hw_open(const PraetCfg *args)
Opens a DMA channel on real hardware.
void mmgr_praet_hw_poll(const PraetCfg *args)
Advances whatever polling the port layer needs.
embed_bool mmgr_praet_hw_tx_submit(const PraetTransferCfg *args)
Submits a transfer on real hardware.
embed_bool mmgr_praet_open(const PraetCfg *args)
Opens args->channel and registers args->on_complete against it.
void mmgr_praet_close(const PraetTransferCfg *args)
Closes args->channel.
void(*) mmgr_praet_callback(const mmgr_praet_event *event, void *user)
Reports a finished transfer to whatever registered this callback.
The embedded_types headers every module builds on.
A transfer written down: where from, where to, how many bytes, how each address moves,...
The schedule context: one flag word per channel, the two volatiles that coordinate the interrupt,...
Type of the praet dispatch table.
embed_bool(*) tx_submit(const PraetTransferCfg *args)
void(*) poll(const PraetCfg *args)
void(*) close(const PraetTransferCfg *args)
embed_bool(*) open(const PraetCfg *args)
A completion callback and the pointer handed back to it.
const mmgr_praet_callback callback
Arguments for opening a channel, and for polling one.
const embed_bool loopback
const PraetCallbackCfg *const on_complete
Arguments for submitting a transfer, and for closing a channel.
What the port layer reports when a transfer finishes.