ra8-firmware 0.1.0
Bare-metal firmware for the Renesas RA8 family (RA8D2 / RA8P1)
Loading...
Searching...
No Matches
ra8_io_vfs_internal.h
Go to the documentation of this file.
1
24#pragma once
25
26#include <stdint.h>
27
28#include "ra8_attributes.h"
29#include "ra8_err.h"
30#include "ra8_io_fsfmt.h"
31#include "ra8_io_vfs.h"
32
34typedef struct {
36 char name[(uint32_t)k_ra8_io_vfs_name_max];
40 void* mount_ctx;
42 bool owned;
44 bool native;
46 bool in_use;
48
73
89RA8_PRIV bool priv_ra8_io_vfs_streq(const char* a, const char* b);
90
106RA8_PRIV vfs_slot_t* priv_ra8_io_vfs_find(const char* name, uint8_t* out_index);
107
124RA8_PRIV ra8_err_t priv_ra8_io_vfs_split(const char* path, char* out_name, const char** out_sub);
125
145 vfs_slot_t** out_slot,
146 uint8_t* out_index,
147 const char** out_sub);
Annotation-attribute framework macros for ra8-firmware.
#define RA8_PRIV
Module-private helper: shared across TUs but only inside one library.
#define RA8_TEST_HELPER
Mark a symbol as externally-linked but only callable from tests.
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 pluggable filesystem-format registry (probe + capabilities).
ra8_io virtual filesystem – mount many volumes, address them by name.
@ k_ra8_io_vfs_name_max
Mount name length incl NUL.
Definition ra8_io_vfs.h:58
ra8_err_t priv_ra8_io_vfs_resolve(const char *path, vfs_slot_t **out_slot, uint8_t *out_index, const char **out_sub)
Resolve "name:sub" to a mount slot and sub-path.
Definition ra8_io_vfs.c:181
ra8_err_t ra8_io_vfs_init_slot_test(vfs_slot_t *slot)
Test-only entry point for internal_vfs_init_slot().
Definition ra8_io_vfs.c:398
ra8_err_t priv_ra8_io_vfs_split(const char *path, char *out_name, const char **out_sub)
Split "name:sub" into a bounded name and sub-path pointer.
Definition ra8_io_vfs.c:160
bool priv_ra8_io_vfs_streq(const char *a, const char *b)
Compare two mount names within the fixed bound.
Definition ra8_io_vfs.c:45
vfs_slot_t * priv_ra8_io_vfs_find(const char *name, uint8_t *out_index)
Find an occupied mount slot by name and optionally report its index.
Definition ra8_io_vfs.c:120
One registered filesystem format.
One fixed named-mount slot.
void * mount_ctx
Format-private mounted context.
const ra8_io_fsfmt_t * format
Selected format descriptor.
bool in_use
Slot is occupied.
bool native
Context is a native ra8_fs mount.
bool owned
VFS must invoke format unmount.
char name[(uint32_t) k_ra8_io_vfs_name_max]
NUL-terminated mount name.