|
ra8-firmware 0.1.0
Bare-metal firmware for the Renesas RA8 family (RA8D2 / RA8P1)
|
Pluggable filesystem-format registry and native ra8_fs adapter. More...
#include "ra8_io_fsfmt.h"#include <stddef.h>#include <stdint.h>#include "ra8_attributes.h"#include "ra8_check.h"#include "ra8_err.h"#include "ra8_fs.h"Go to the source code of this file.
Functions | |
| static ra8_err_t | internal_native_mount (const ra8_fs_backend_t *backend, void **out_mount) |
| Mount the native ra8_fs implementation without pointer aliasing. | |
| static ra8_err_t | internal_native_unmount (void *mount_ctx) |
| Release a native ra8_fs mount. | |
| static ra8_err_t | internal_native_open (void *mount_ctx, const char *path, ra8_fs_mode_t mode, void **out_file) |
| Open a native ra8_fs stream without pointer aliasing. | |
| static ra8_err_t | internal_native_close (void *file_ctx) |
| Close a native ra8_fs stream. | |
| static ra8_err_t | internal_native_read (void *file_ctx, void *buf, uint32_t bytes, uint32_t *out_read) |
| Read a native ra8_fs stream. | |
| static ra8_err_t | internal_native_write (void *file_ctx, const void *buf, uint32_t bytes) |
| Write a native ra8_fs stream. | |
| static ra8_err_t | internal_native_seek (void *file_ctx, uint64_t offset_bytes) |
| Seek a native ra8_fs stream. | |
| static ra8_err_t | internal_native_tell (const void *file_ctx, uint64_t *out_offset) |
| Report a native ra8_fs stream offset. | |
| static ra8_err_t | internal_native_size (const void *file_ctx, uint64_t *out_bytes) |
| Report a native ra8_fs stream size. | |
| static ra8_err_t | internal_native_stat (void *mount_ctx, const char *path, ra8_fs_stat_t *out) |
| Query native ra8_fs metadata. | |
| static ra8_err_t | internal_native_listdir (void *mount_ctx, const char *path, ra8_fs_listdir_cb_t cb, void *cb_ctx) |
| Enumerate a native ra8_fs directory. | |
| static ra8_err_t | internal_native_dir_open (void *mount_ctx, const char *path, void *directory_state, uint32_t state_bytes) |
| Open one native incremental directory cursor. | |
| static ra8_err_t | internal_native_dir_next (void *directory_state, ra8_fs_dirent_t *out, bool *out_entry) |
| Copy one native directory-cursor entry without retaining a lock. | |
| static ra8_err_t | internal_native_dir_close (void *directory_state) |
| Close and consume one native directory cursor. | |
| static ra8_err_t | internal_native_unlink (void *mount_ctx, const char *path) |
| Unlink a native ra8_fs file. | |
| static ra8_err_t | internal_native_rename (void *mount_ctx, const char *old_path, const char *new_path) |
| Rename inside one native ra8_fs mount. | |
| static ra8_err_t | internal_native_mkdir (void *mount_ctx, const char *path) |
| Create a native ra8_fs directory. | |
| static ra8_err_t | internal_native_rmdir (void *mount_ctx, const char *path) |
| Remove a native ra8_fs directory. | |
| static ra8_err_t | internal_native_free_space (void *mount_ctx, ra8_fs_space_t *out) |
| Query native ra8_fs free space. | |
| static bool | internal_exfat_probe (const ra8_fs_backend_t *backend) |
| Test whether the authoritative native parser identifies exFAT. | |
| static bool | internal_fat_probe (const ra8_fs_backend_t *backend) |
| Test whether the authoritative native parser identifies a FAT variant. | |
| static ra8_err_t | internal_validate_dir_cursor_caps (const ra8_io_fsfmt_t *fmt) |
| Validate that a claimed directory-cursor capability is complete. | |
| static ra8_err_t | internal_validate_single_op_caps (const ra8_io_fsfmt_t *fmt) |
| Validate that every claimed optional capability has an operation. | |
| static ra8_err_t | internal_validate_caps (const ra8_io_fsfmt_t *fmt) |
| Validate every optional capability flag against its backing operation. | |
| ra8_err_t | ra8_io_fsfmt_init (void) |
| Reset the registry and register the built-in FAT + exFAT formats. | |
| static ra8_err_t | internal_validate_required_ops_group1 (const ra8_io_fsfmt_t *fmt) |
| Validate that the first six mandatory format operations are present. | |
| static ra8_err_t | internal_validate_required_ops_group2 (const ra8_io_fsfmt_t *fmt) |
| Validate that the remaining five mandatory format operations are present. | |
| static ra8_err_t | internal_validate_required_ops (const ra8_io_fsfmt_t *fmt) |
| Validate that every mandatory format operation pointer is present. | |
| ra8_err_t | ra8_io_fsfmt_register (const ra8_io_fsfmt_t *fmt) |
| Register a filesystem format (the foreign-format seam). | |
| ra8_err_t | ra8_io_fsfmt_get_builtin (ra8_fs_type_t type, const ra8_io_fsfmt_t **out) |
| Return the built-in descriptor serving one native ra8_fs type. | |
| ra8_err_t | ra8_io_fsfmt_probe (const ra8_fs_backend_t *backend, const ra8_io_fsfmt_t **out) |
| Detect the format of a volume by probing registered formats in order. | |
Variables | |
| static const char *const | s_tag = "ra8_io_fsfmt" |
| Module log tag. | |
| static const ra8_io_fsfmt_t * | s_reg [(uint32_t) k_ra8_io_fsfmt_max] |
| Registered formats, in probe priority order. | |
| static uint32_t | s_count |
| Occupied entries in s_reg. | |
| static const ra8_io_fsfmt_ops_t | s_native_ops |
| Complete native operation table; no explicit durable-sync seam exists. | |
| static const ra8_io_fsfmt_t | s_fmt_fat |
| Native FAT12/16/32 descriptor. | |
| static const ra8_io_fsfmt_ops_t | s_exfat_ops |
| Native exFAT descriptor; shares byte-identical ra8_fs dispatch. | |
| static const ra8_io_fsfmt_t | s_fmt_exfat |
| Native exFAT descriptor. | |
Pluggable filesystem-format registry and native ra8_fs adapter.
A format descriptor owns the complete operation table the VFS dispatches. The built-in FAT and exFAT descriptors adapt the existing ra8_fs engine; foreign descriptors use the same registration path and require no VFS edit. Probe validation is delegated to ra8_fs_probe for the native formats, so superfloppy, MBR and GPT volumes are recognised by the same parser as mount.
Definition in file ra8_io_fsfmt.c.
|
static |
Test whether the authoritative native parser identifies exFAT.
Uses ra8_fs_probe, including superfloppy, MBR, and GPT validation.
| [in] | backend | Candidate backend. |
| true | A valid exFAT volume was found. |
| false | Probe failed or found another format. |
backend points at stable storage state. Definition at line 509 of file ra8_io_fsfmt.c.
References k_ra8_fs_type_exfat, k_ra8_fs_type_unknown, k_ra8_ok, ra8_fs_probe(), and RA8_INTERNAL.
|
static |
Test whether the authoritative native parser identifies a FAT variant.
Accepts FAT12, FAT16, or FAT32 returned by ra8_fs_probe.
| [in] | backend | Candidate backend. |
| true | FAT12, FAT16, or FAT32 was found. |
| false | Probe failed or found another format. |
backend points at stable storage state. Definition at line 533 of file ra8_io_fsfmt.c.
References k_ra8_fs_type_fat12, k_ra8_fs_type_fat16, k_ra8_fs_type_fat32, k_ra8_fs_type_unknown, k_ra8_ok, ra8_fs_probe(), and RA8_INTERNAL.
|
static |
Close a native ra8_fs stream.
Delegates final timestamp and FSInfo handling to ra8_fs_close.
| [in,out] | file_ctx | Native open-file context. |
| k_ra8_ok | Stream closed. |
| k_ra8_err_* | Error propagated from ra8_fs_close. |
file_ctx is non-NULL. file_ctx identifies a live native stream. Definition at line 130 of file ra8_io_fsfmt.c.
References ra8_fs_close(), and RA8_INTERNAL.
|
static |
Close and consume one native directory cursor.
Delegates lifecycle teardown to the native filesystem cursor.
| [in,out] | directory_state | Open native cursor workspace. |
| k_ra8_ok | The native cursor was consumed. |
| k_ra8_err_* | Native cursor lifecycle failure. |
directory_state is non-NULL. Definition at line 382 of file ra8_io_fsfmt.c.
References ra8_fs_dir_close(), and RA8_INTERNAL.
|
static |
Copy one native directory-cursor entry without retaining a lock.
Delegates one incremental step to the caller-owned native cursor.
| [in,out] | directory_state | Open native cursor workspace. |
| [out] | out | Stable copied native entry. |
| [out] | out_entry | True when out contains an entry; false at clean end. |
| k_ra8_ok | One entry was copied or clean end was observed. |
| k_ra8_err_* | Native media, corruption, or lifecycle failure. |
directory_state owns an open native cursor. out_entry true fully initializes out. Definition at line 362 of file ra8_io_fsfmt.c.
References ra8_fs_dir_next().
|
static |
Open one native incremental directory cursor.
Validates the opaque extent, clears the native cursor object, and delegates path resolution to the mounted FAT/exFAT implementation.
| [in,out] | mount_ctx | Native mounted context. |
| [in] | path | Directory path. |
| [out] | directory_state | Caller-owned native cursor workspace. |
| [in] | state_bytes | Accessible workspace extent. |
| k_ra8_ok | The workspace owns one open native cursor. |
| k_ra8_err_no_mem | The supplied workspace is too small. |
| k_ra8_err_* | Native cursor-open failure. |
state_bytes describes the writable extent at directory_state. Definition at line 331 of file ra8_io_fsfmt.c.
References k_ra8_err_no_mem, ra8_fs_dir_open(), and RA8_INTERNAL.
|
static |
Query native ra8_fs free space.
Delegates capacity and allocation counts to ra8_fs_free_space.
| [in,out] | mount_ctx | Native mounted context. |
| [out] | out | Space result. |
| k_ra8_ok | Space reported. |
| k_ra8_err_* | Error propagated from ra8_fs_free_space. |
mount_ctx is non-NULL and live. out is non-NULL and writable. Definition at line 489 of file ra8_io_fsfmt.c.
References ra8_fs_free_space(), and RA8_INTERNAL.
|
static |
Enumerate a native ra8_fs directory.
Delegates one callback per visible entry to ra8_fs_listdir.
| [in,out] | mount_ctx | Native mounted context. |
| [in] | path | Directory path. |
| [in] | cb | Entry callback. |
| [in,out] | cb_ctx | Caller context forwarded to cb. |
| k_ra8_ok | Enumeration completed. |
| k_ra8_err_* | Error propagated from ra8_fs_listdir. |
mount_ctx and path are non-NULL. cb is non-NULL. Definition at line 286 of file ra8_io_fsfmt.c.
References ra8_fs_dirent_t::attr, ra8_fs_dir_t::is_open, k_ra8_ok, ra8_fs_dirent_t::name, ra8_fs_dir_close(), ra8_fs_dir_next(), ra8_fs_dir_open(), and ra8_fs_dirent_t::size_bytes.
|
static |
Create a native ra8_fs directory.
Delegates directory creation to ra8_fs_mkdir.
| [in,out] | mount_ctx | Native mounted context. |
| [in] | path | Directory path. |
| k_ra8_ok | Directory created. |
| k_ra8_err_* | Error propagated from ra8_fs_mkdir. |
mount_ctx and path are non-NULL. path resolves as a directory. Definition at line 447 of file ra8_io_fsfmt.c.
References ra8_fs_mkdir(), and RA8_INTERNAL.
|
static |
Mount the native ra8_fs implementation without pointer aliasing.
Delegates to ra8_fs_mount and converts its typed handle only after success.
| [in] | backend | Device-neutral block backend. |
| [out] | out_mount | Receives the native mount as an opaque context. |
| k_ra8_ok | Context returned. |
| k_ra8_err_* | Error propagated from ra8_fs_mount. |
backend is non-NULL and supplies the required operations. out_mount is non-NULL and writable. Definition at line 53 of file ra8_io_fsfmt.c.
References k_ra8_ok, ra8_fs_mount(), and RA8_INTERNAL.
|
static |
Open a native ra8_fs stream without pointer aliasing.
Delegates path and mode semantics to ra8_fs_open.
| [in,out] | mount_ctx | Native mounted context. |
| [in] | path | Volume-relative path. |
| [in] | mode | Requested stream mode. |
| [out] | out_file | Receives an opaque native file context. |
| k_ra8_ok | Stream opened. |
| k_ra8_err_* | Error propagated from ra8_fs_open. |
mount_ctx and path are non-NULL. out_file is non-NULL and writable. Definition at line 104 of file ra8_io_fsfmt.c.
References k_ra8_ok, and ra8_fs_open().
|
static |
Read a native ra8_fs stream.
Delegates bounded streaming reads to ra8_fs_read.
| [in,out] | file_ctx | Native open-file context. |
| [out] | buf | Destination buffer. |
| [in] | bytes | Maximum bytes to read. |
| [out] | out_read | Actual bytes read. |
| k_ra8_ok | Read completed, possibly at EOF. |
| k_ra8_err_* | Error propagated from ra8_fs_read. |
file_ctx and buf are non-NULL. out_read is non-NULL and writable. bytes. Definition at line 154 of file ra8_io_fsfmt.c.
References ra8_fs_read().
|
static |
Rename inside one native ra8_fs mount.
Delegates same-format rename semantics to ra8_fs_rename.
| [in,out] | mount_ctx | Native mounted context. |
| [in] | old_path | Existing path. |
| [in] | new_path | Destination path. |
| k_ra8_ok | Entry renamed. |
| k_ra8_err_* | Error propagated from ra8_fs_rename. |
mount_ctx. new_path resolves to the prior entry. Definition at line 426 of file ra8_io_fsfmt.c.
References ra8_fs_rename().
|
static |
Remove a native ra8_fs directory.
Delegates empty-directory removal to ra8_fs_rmdir.
| [in,out] | mount_ctx | Native mounted context. |
| [in] | path | Directory path. |
| k_ra8_ok | Directory removed. |
| k_ra8_err_* | Error propagated from ra8_fs_rmdir. |
mount_ctx and path are non-NULL. path does not name the volume root. path no longer resolves. Definition at line 468 of file ra8_io_fsfmt.c.
References ra8_fs_rmdir(), and RA8_INTERNAL.
|
static |
Seek a native ra8_fs stream.
Delegates 64-bit offset handling to ra8_fs_seek.
| [in,out] | file_ctx | Native open-file context. |
| [in] | offset_bytes | Requested absolute byte offset. |
| k_ra8_ok | Offset updated. |
| k_ra8_err_* | Error propagated from ra8_fs_seek. |
file_ctx is non-NULL. file_ctx identifies a live native stream. Definition at line 197 of file ra8_io_fsfmt.c.
References ra8_fs_seek(), and RA8_INTERNAL.
|
static |
Report a native ra8_fs stream size.
Delegates the format's 64-bit length query to ra8_fs_size.
| [in] | file_ctx | Native open-file context. |
| [out] | out_bytes | Receives the file length. |
| k_ra8_ok | Size reported. |
| k_ra8_err_* | Error propagated from ra8_fs_size. |
file_ctx is non-NULL and live. out_bytes is non-NULL and writable. Definition at line 239 of file ra8_io_fsfmt.c.
References ra8_fs_size(), and RA8_INTERNAL.
|
static |
Query native ra8_fs metadata.
Delegates entry metadata decoding to ra8_fs_stat.
| [in,out] | mount_ctx | Native mounted context. |
| [in] | path | Volume-relative path. |
| [out] | out | Metadata result. |
| k_ra8_ok | Metadata reported. |
| k_ra8_err_* | Error propagated from ra8_fs_stat. |
mount_ctx and path are non-NULL. out is non-NULL and writable. Definition at line 262 of file ra8_io_fsfmt.c.
References ra8_fs_stat().
|
static |
Report a native ra8_fs stream offset.
Delegates the format's 64-bit position query to ra8_fs_tell.
| [in] | file_ctx | Native open-file context. |
| [out] | out_offset | Receives the byte offset. |
| k_ra8_ok | Offset reported. |
| k_ra8_err_* | Error propagated from ra8_fs_tell. |
file_ctx is non-NULL and live. out_offset is non-NULL and writable. Definition at line 218 of file ra8_io_fsfmt.c.
References ra8_fs_tell(), and RA8_INTERNAL.
|
static |
Unlink a native ra8_fs file.
Delegates file removal and chain release to ra8_fs_unlink.
| [in,out] | mount_ctx | Native mounted context. |
| [in] | path | File path. |
| k_ra8_ok | File removed. |
| k_ra8_err_* | Error propagated from ra8_fs_unlink. |
mount_ctx and path are non-NULL. path. path no longer resolves. Definition at line 403 of file ra8_io_fsfmt.c.
References ra8_fs_unlink(), and RA8_INTERNAL.
|
static |
Release a native ra8_fs mount.
Delegates lifecycle and pending metadata handling to ra8_fs_unmount.
| [in,out] | mount_ctx | Native mount context. |
| k_ra8_ok | Mount released. |
| k_ra8_err_* | Error propagated from ra8_fs_unmount. |
mount_ctx is non-NULL. mount_ctx identifies a live native mount. Definition at line 80 of file ra8_io_fsfmt.c.
References ra8_fs_unmount(), and RA8_INTERNAL.
|
static |
Write a native ra8_fs stream.
Delegates complete streaming writes to ra8_fs_write.
| [in,out] | file_ctx | Native writable-file context. |
| [in] | buf | Source bytes. |
| [in] | bytes | Number of bytes to write. |
| k_ra8_ok | Every requested byte was written. |
| k_ra8_err_* | Error propagated from ra8_fs_write. |
file_ctx and buf are non-NULL. file_ctx was opened in write or append mode. bytes. Definition at line 176 of file ra8_io_fsfmt.c.
References ra8_fs_write(), and RA8_INTERNAL.
Referenced by internal_posix_write().
|
static |
Validate every optional capability flag against its backing operation.
Runs the directory-cursor consistency check only when that capability is claimed, then the six independent single-operation checks, then the one flag-to-flag implication: durable_sync cannot be claimed without supports_sync, because a durable sync is a stronger promise about the same operation rather than a separate one.
| [in] | fmt | Candidate format descriptor. |
| k_ra8_ok | Every claimed capability is backed by an operation or flag. |
| k_ra8_err_invalid_arg | A claimed capability lacks its operation, capacity, alignment, or companion flag. |
fmt and fmt->ops are non-NULL. Definition at line 762 of file ra8_io_fsfmt.c.
References internal_validate_dir_cursor_caps(), internal_validate_single_op_caps(), k_ra8_err_invalid_arg, k_ra8_ok, RA8_RETURN_ON_ERROR, and s_tag.
Referenced by ra8_io_fsfmt_register().
|
static |
Validate that a claimed directory-cursor capability is complete.
The seven-way OR keeps every dir-cursor precondition – the three cursor operations, the workspace byte and open-directory capacities, and the workspace alignment's non-zero, power-of-two shape – in one decision.
| [in] | fmt | Candidate format descriptor claiming dir-cursor support. |
| k_ra8_ok | Every dir-cursor precondition is satisfied. |
| k_ra8_err_invalid_arg | An operation, capacity, or alignment field is invalid. |
fmt->caps.supports_dir_cursor is true. fmt and fmt->ops are non-NULL. Definition at line 667 of file ra8_io_fsfmt.c.
References k_ra8_err_invalid_arg, and k_ra8_ok.
Referenced by internal_validate_caps().
|
static |
Validate that every mandatory format operation pointer is present.
Rejects a descriptor missing any of the eleven operations every format backend must implement, regardless of optional capability.
| [in] | fmt | Candidate format descriptor with a validated non-NULL ops. |
| k_ra8_ok | Every mandatory operation pointer is present. |
| k_ra8_err_null_ptr | A mandatory operation pointer is absent. |
fmt and fmt->ops are non-NULL. fmt->ops addresses a fully initialized operation table. Definition at line 859 of file ra8_io_fsfmt.c.
References internal_validate_required_ops_group1(), internal_validate_required_ops_group2(), RA8_RETURN_ON_ERROR, and s_tag.
Referenced by ra8_io_fsfmt_register().
|
static |
Validate that the first six mandatory format operations are present.
Checks the probe, mount, unmount, open, close, and read pointers – the operations every mount and every stream open must reach – with one RA8_CHECK_NULL_PTR per pointer, so each is an independent decision rather than one compound condition.
| [in] | fmt | Candidate format descriptor with a validated non-NULL ops. |
| k_ra8_ok | Every mandatory operation pointer in this group is present. |
| k_ra8_err_null_ptr | A mandatory operation pointer is absent. |
fmt and fmt->ops are non-NULL. fmt->ops addresses a fully initialized operation table. Definition at line 804 of file ra8_io_fsfmt.c.
References k_ra8_ok, RA8_CHECK_NULL_PTR, and s_tag.
Referenced by internal_validate_required_ops().
|
static |
Validate that the remaining five mandatory format operations are present.
Checks the seek, tell, size, stat, and listdir pointers – the rest of the eleven every backend must implement – with one RA8_CHECK_NULL_PTR per pointer, so each is an independent decision rather than one compound condition.
| [in] | fmt | Candidate format descriptor with a validated non-NULL ops. |
| k_ra8_ok | Every mandatory operation pointer in this group is present. |
| k_ra8_err_null_ptr | A mandatory operation pointer is absent. |
fmt and fmt->ops are non-NULL. fmt->ops addresses a fully initialized operation table. Definition at line 833 of file ra8_io_fsfmt.c.
References k_ra8_ok, RA8_CHECK_NULL_PTR, and s_tag.
Referenced by internal_validate_required_ops().
|
static |
Validate that every claimed optional capability has an operation.
Rejects descriptors whose advertised behavior cannot be dispatched.
| [in] | fmt | Candidate format descriptor. |
| k_ra8_ok | Every claimed capability is backed by an operation. |
| k_ra8_err_invalid_arg | A claimed operation is absent or incoherent. |
fmt and fmt->ops are non-NULL. Validate the six independent single-operation capability flags.
Each claimed capability requires exactly its own paired operation pointer; the checks are structurally identical and independent.
| [in] | fmt | Candidate format descriptor. |
| k_ra8_ok | Every claimed capability in this group is backed by an operation. |
| k_ra8_err_invalid_arg | A claimed operation is absent. |
fmt and fmt->ops are non-NULL. Definition at line 708 of file ra8_io_fsfmt.c.
References k_ra8_err_invalid_arg, and k_ra8_ok.
Referenced by internal_validate_caps().
|
nodiscard |
Return the built-in descriptor serving one native ra8_fs type.
FAT12/16/32 share the FAT descriptor; exFAT has its own descriptor. This lookup does not depend on registry initialization and is used to adapt an already-mounted legacy ra8_fs_mount_t into the same operations-dispatched VFS path as an automatically probed mount.
| [in] | type | Native filesystem type. |
| [out] | out | Matching built-in descriptor. |
| k_ra8_ok | Descriptor returned. |
| k_ra8_err_null_ptr | out was NULL. |
| k_ra8_err_invalid_arg | type was unknown or foreign. |
Definition at line 882 of file ra8_io_fsfmt.c.
References k_ra8_err_invalid_arg, k_ra8_fs_type_exfat, k_ra8_fs_type_fat12, k_ra8_fs_type_fat16, k_ra8_fs_type_fat32, k_ra8_ok, RA8_CHECK_NULL_PTR, s_fmt_exfat, s_fmt_fat, and s_tag.
Referenced by internal_is_native(), and ra8_io_vfs_mount().
|
nodiscard |
Reset the registry and register the built-in FAT + exFAT formats.
| k_ra8_ok | Registry holds the two built-ins. |
Definition at line 778 of file ra8_io_fsfmt.c.
References k_ra8_ok, ra8_io_fsfmt_register(), RA8_RETURN_ON_ERROR, s_count, s_fmt_exfat, s_fmt_fat, and s_tag.
Referenced by internal_demo_probe_fat().
|
nodiscard |
Detect the format of a volume by probing registered formats in order.
| [in] | backend | Block-device backend to inspect. |
| [out] | out | Set to the first matching format. |
| k_ra8_ok | A format matched; *out is set. |
| k_ra8_err_null_ptr | backend or out was NULL. |
| k_ra8_err_not_found | No registered format claimed the volume. |
Definition at line 904 of file ra8_io_fsfmt.c.
References k_ra8_err_not_found, k_ra8_ok, RA8_CHECK_NULL_PTR, s_count, s_reg, and s_tag.
Referenced by internal_demo_probe_fat(), internal_demo_probe_foreign(), and internal_vfs_probe_and_mount().
|
nodiscard |
Register a filesystem format (the foreign-format seam).
| [in] | fmt | Format descriptor (a const instance that out-lives the registry). |
| k_ra8_ok | Format registered. |
| k_ra8_err_null_ptr | A mandatory descriptor or operation was NULL. |
| k_ra8_err_invalid_arg | A capability claimed an absent optional op. |
| k_ra8_err_no_mem | The registry is full. |
Definition at line 867 of file ra8_io_fsfmt.c.
References internal_validate_caps(), internal_validate_required_ops(), k_ra8_err_no_mem, k_ra8_io_fsfmt_max, k_ra8_ok, RA8_CHECK_NULL_PTR, RA8_RETURN_ON_ERROR, s_count, s_reg, and s_tag.
Referenced by internal_demo_probe_foreign(), and ra8_io_fsfmt_init().
|
static |
Occupied entries in s_reg.
Definition at line 35 of file ra8_io_fsfmt.c.
Referenced by ra8_io_fsfmt_init(), ra8_io_fsfmt_probe(), and ra8_io_fsfmt_register().
|
static |
Native exFAT descriptor; shares byte-identical ra8_fs dispatch.
Definition at line 599 of file ra8_io_fsfmt.c.
|
static |
Native exFAT descriptor.
Definition at line 624 of file ra8_io_fsfmt.c.
Referenced by ra8_io_fsfmt_get_builtin(), and ra8_io_fsfmt_init().
|
static |
Native FAT12/16/32 descriptor.
Definition at line 574 of file ra8_io_fsfmt.c.
Referenced by ra8_io_fsfmt_get_builtin(), and ra8_io_fsfmt_init().
|
static |
Complete native operation table; no explicit durable-sync seam exists.
Definition at line 549 of file ra8_io_fsfmt.c.
|
static |
Registered formats, in probe priority order.
Definition at line 33 of file ra8_io_fsfmt.c.
Referenced by app_launch_banner(), app_launch_enter_reader(), app_launch_register(), app_launch_route_back(), app_launch_selfcheck(), app_shell_add(), app_shell_banner(), app_shell_launch_library(), app_shell_log_menu(), app_shell_open_reader(), app_shell_register(), app_shell_selfcheck(), app_shell_settings_round_trip(), app_shell_uninstall_demo(), main(), ra8_io_fsfmt_probe(), ra8_io_fsfmt_register(), wd_check_touch_dispatch(), wd_neighbor_id(), wd_print_banner(), wd_register_apps(), wd_render_active(), wd_route_button(), wd_selfcheck(), and wd_service_request().
|
static |
Module log tag.
Definition at line 30 of file ra8_io_fsfmt.c.