ra8-firmware 0.1.0
Bare-metal firmware for the Renesas RA8 family (RA8D2 / RA8P1)
Loading...
Searching...
No Matches
ra8_io_blockdev_backend.h
Go to the documentation of this file.
1
26
27#pragma once
28
29#ifdef __cplusplus
30extern "C" {
31#endif
32
33#include <stdint.h>
34
35#include "ra8_err.h"
36#include "ra8_io_blockdev.h"
37
54 ra8_err_t (*read)(void* ctx, uint32_t lba, uint32_t count, uint8_t* buf);
55
57 ra8_err_t (*write)(void* ctx, uint32_t lba, uint32_t count, const uint8_t* buf);
58
60 ra8_err_t (*erase)(void* ctx, uint32_t lba, uint32_t count);
61
63 ra8_err_t (*get_caps)(const void* ctx, ra8_io_blockdev_caps_t* out);
64
66 ra8_err_t (*sync)(void* ctx);
67};
68
69#ifdef __cplusplus
70}
71#endif
-proof
Error Code Definitions for ra8-firmware.
ra8_err_codes_t ra8_err_t
Canonical error-return type used by every ra8-firmware API.
Definition ra8_err.h:546
ra8_io block-device fabric – one LBA vtable across every storage medium.
Static properties a backend reports about its medium.
Opaque to applications – backends implement this internally and export a binding helper through their...
ra8_err_t(* get_caps)(const void *ctx, ra8_io_blockdev_caps_t *out)
Fill *out with the medium capabilities.
ra8_err_t(* erase)(void *ctx, uint32_t lba, uint32_t count)
Erase count blocks at lba.
ra8_err_t(* read)(void *ctx, uint32_t lba, uint32_t count, uint8_t *buf)
Read count blocks at lba into buf.
ra8_err_t(* sync)(void *ctx)
Commit any write buffering.