|
ra8-firmware 0.1.0
Bare-metal firmware for the Renesas RA8 family (RA8D2 / RA8P1)
|
Backend-author interface for binding concrete filesystem ports. More...
Go to the source code of this file.
Data Structures | |
| struct | fw_fs_namespace_iface |
| Namespace backend operations. More... | |
| struct | fw_fs_stream_iface |
| Open-file backend operations over caller-supplied state. More... | |
| struct | fw_fs_transaction_iface |
| Staged-publication backend operations over caller-supplied state. More... | |
Functions | |
| ra8_err_t | fw_fs_bind (fw_fs_t *out, const fw_fs_namespace_iface_t *namespace_iface, const fw_fs_stream_iface_t *stream_iface, const fw_fs_transaction_iface_t *transaction_iface, void *ctx, const fw_fs_caps_t *caps) |
| Bind segregated vtables and one context into a complete facade. | |
Backend-author interface for binding concrete filesystem ports.
Applications do not construct these vtables. A concrete adapter exports one _init() function which passes immutable vtables, a caller-owned context, and truthful capabilities to fw_fs_bind.
Definition in file fw_if_fs_backend.h.
|
nodiscard |
Bind segregated vtables and one context into a complete facade.
Namespace and stream capabilities/interfaces are mandatory. Optional operation pointers must agree with their advertised capability bits.
Definition at line 427 of file fw_if_fs.c.
References fw_fs_namespace_t::caps, fw_fs_stream_port_t::caps, fw_fs_t::caps, fw_fs_transaction_port_t::caps, fw_fs_namespace_t::ctx, fw_fs_stream_port_t::ctx, fw_fs_transaction_port_t::ctx, fw_fs_path_validate(), fw_fs_namespace_t::iface, fw_fs_stream_port_t::iface, fw_fs_transaction_port_t::iface, internal_fw_fs_caps_validate(), internal_interfaces(), k_ra8_err_null_ptr, k_ra8_ok, fw_fs_t::names, fw_fs_t::streams, and fw_fs_t::transactions.
Referenced by fw_fs_ra8_vfs_init(), and priv_fs_posix_bind_interfaces().