|
ra8-firmware 0.1.0
Bare-metal firmware for the Renesas RA8 family (RA8D2 / RA8P1)
|
fw_if_fs adapter over one bound ra8_io_vfs mount. More...
#include "fw_if_fs_ra8_vfs.h"#include <stddef.h>#include <stdint.h>#include <string.h>#include "fw_if_fs.h"#include "fw_if_fs_backend.h"#include "fw_if_fs_ra8_vfs_contracts_internal.h"#include "ra8_attributes.h"#include "ra8_err.h"#include "ra8_fs.h"#include "ra8_fs_meta.h"#include "ra8_io_vfs.h"Go to the source code of this file.
Data Structures | |
| struct | vfs_file_state_t |
| Backend state stored in a caller's file workspace. More... | |
| struct | vfs_directory_state_t |
| Backend state stored in a caller's directory workspace. More... | |
| struct | vfs_list_state_t |
| Callback-list compatibility bridge over a format-owned enumeration. More... | |
| struct | vfs_transaction_state_t |
| Backend state stored in a caller's transaction workspace. More... | |
| struct | vfs_dir_layout_t |
| Where the cursor and the native workspace sit inside a caller span. More... | |
Enumerations | |
| enum | vfs_stage_limits_t : uint8_t { k_vfs_hex_nibble_bits = 4U , k_vfs_stage_hex_digits = 6U , k_vfs_hex_last_digit = k_vfs_stage_hex_digits - 1U , k_vfs_hex_nibble_mask = 0x0FU , k_vfs_stage_attempts = 64U } |
| Bounded attempts to find an unused short staging name. More... | |
| enum | vfs_path_limits_t : uint16_t { k_vfs_stage_leaf_bytes = 12U , k_vfs_exfat_name_max_bytes = 192U , k_vfs_fat_name_max_bytes = 510U } |
| Portable-path limits exposed by the FAT/exFAT adapter. More... | |
| enum | vfs_numeric_limits_t : uint32_t { k_vfs_nanoseconds_per_centisecond = 10000000U , k_vfs_transaction_id_mask = 0x00FFFFFFU } |
| Timestamp and transaction arithmetic constants. More... | |
Functions | |
| static fw_fs_timestamp_t | internal_timestamp (const ra8_fs_timestamp_t *native) |
| static uint16_t | internal_len (const char *text, uint16_t cap) |
| static ra8_err_t | internal_full_path (fw_fs_ra8_vfs_state_t *state, const char *path, char *out) |
| static ra8_err_t | internal_stat (void *ctx, const char *path, fw_fs_stat_t *out) |
| static vfs_dir_layout_t | internal_dir_layout (void *directory_state, uint8_t native_align) |
| Derive both aligned bases inside a caller directory-state span. | |
| static vfs_directory_state_t * | internal_dir_cursor (void *directory_state) |
| Round a caller directory-state span up to the cursor's alignment. | |
| static ra8_err_t | internal_dir_open (void *ctx, const char *path, void *directory_state, uint32_t state_bytes) |
| static ra8_err_t | internal_dir_next (void *ctx, void *directory_state, fw_fs_dirent_value_t *out, bool *out_entry) |
| static ra8_err_t | internal_dir_close (void *ctx, void *directory_state) |
| static void | internal_list_entry (const char *name, uint8_t attr, uint64_t size, void *ctx) |
| Translate one format-list callback into the legacy bounded facade. | |
| static ra8_err_t | internal_listdir (void *ctx, const char *path, uint32_t max_entries, fw_fs_list_fn_t callback, void *callback_ctx, uint32_t *out_count, bool *out_complete) |
| static ra8_err_t | internal_path_op (void *ctx, const char *path, ra8_err_t(*operation)(const char *)) |
| One-path VFS dispatch helper. | |
| static ra8_err_t | internal_mkdir (void *ctx, const char *path) |
| static ra8_err_t | internal_unlink (void *ctx, const char *path) |
| static ra8_err_t | internal_rmdir (void *ctx, const char *path) |
| static ra8_err_t | internal_rename (void *ctx, const char *old_path, const char *new_path, bool replace) |
| static ra8_err_t | internal_space (void *ctx, fw_fs_space_t *out) |
| static ra8_err_t | internal_mode (fw_fs_open_mode_t mode, ra8_fs_mode_t *out) |
| static ra8_err_t | internal_open (void *ctx, const char *path, fw_fs_open_mode_t mode, void *file_state, uint32_t state_bytes) |
| static ra8_err_t | internal_read (void *ctx, void *file_state, uint8_t *dst, uint32_t cap, uint32_t *out_read) |
| static ra8_err_t | internal_write (void *ctx, void *file_state, const uint8_t *src, uint32_t len, uint32_t *out_written) |
| static ra8_err_t | internal_seek (void *ctx, void *file_state, uint64_t offset) |
| static ra8_err_t | internal_tell (void *ctx, void *file_state, uint64_t *out_offset) |
| static ra8_err_t | internal_size (void *ctx, void *file_state, uint64_t *out_size) |
| static ra8_err_t | internal_close (void *ctx, void *file_state) |
| static ra8_err_t | internal_copy_path (char *out, const char *path) |
| static void | internal_hex6 (char out[k_vfs_stage_hex_digits], uint32_t value) |
| Render a fixed-width six-digit hexadecimal transaction id. | |
| static ra8_err_t | internal_stage_path (const char *destination, uint32_t id, char *out) |
| static ra8_err_t | internal_stage_open (fw_fs_ra8_vfs_state_t *state, vfs_transaction_state_t *txn) |
| Open an unused VFS staging file after a bounded collision search. | |
| static ra8_err_t | internal_txn_begin (void *ctx, void *transaction_state, uint32_t state_bytes, const char *destination, fw_fs_transaction_policy_t policy) |
| static ra8_err_t | internal_txn_write (void *ctx, void *transaction_state, const uint8_t *src, uint32_t len, uint32_t *out_written) |
| static ra8_err_t | internal_txn_seek (void *ctx, void *transaction_state, uint64_t offset) |
| static ra8_err_t | internal_txn_validate (void *ctx, void *transaction_state, fw_fs_validate_fn_t validator, void *validator_ctx) |
| static ra8_err_t | internal_txn_commit (void *ctx, void *transaction_state, bool *out_published) |
| static ra8_err_t | internal_txn_abort (void *ctx, void *transaction_state) |
| static ra8_err_t | internal_mount_name (fw_fs_ra8_vfs_state_t *state, const char *name) |
| static ra8_err_t | internal_dir_requirements (fw_fs_ra8_vfs_state_t *state, uint32_t *out_bytes, uint8_t *out_align, uint16_t *out_max_open) |
| Query the named format and compose aligned adapter cursor requirements. | |
| static fw_fs_caps_t | internal_capabilities (const fw_fs_ra8_vfs_cfg_t *cfg, uint32_t directory_bytes, uint8_t directory_alignment, uint16_t max_directories) |
| Compose the portable capability record for one mounted VFS format. | |
| ra8_err_t | fw_fs_ra8_vfs_init (fw_fs_t *out, fw_fs_ra8_vfs_state_t *state, const fw_fs_ra8_vfs_cfg_t *cfg) |
| Bind a live named VFS mount into the portable filesystem facade. | |
Variables | |
| static const fw_fs_stream_iface_t | s_stream_iface |
| Immutable firmware stream vtable. | |
| static const fw_fs_namespace_iface_t | s_namespace_iface |
| Immutable firmware namespace vtable. | |
| static const fw_fs_transaction_iface_t | s_transaction_iface |
| Immutable firmware transaction vtable. | |
fw_if_fs adapter over one bound ra8_io_vfs mount.
Binds the portable filesystem operations to one caller-selected, already mounted ra8_io_vfs volume. The adapter prefixes bounded portable paths, translates metadata and directory callbacks, and stages transactional writes in caller-owned storage without POSIX APIs or dynamic allocation.
Definition in file fw_if_fs_ra8_vfs.c.
| enum vfs_numeric_limits_t : uint32_t |
Timestamp and transaction arithmetic constants.
| Enumerator | |
|---|---|
| k_vfs_nanoseconds_per_centisecond | Nanoseconds in 0.01 s. |
| k_vfs_transaction_id_mask | Six hexadecimal digits. |
Definition at line 52 of file fw_if_fs_ra8_vfs.c.
| enum vfs_path_limits_t : uint16_t |
Portable-path limits exposed by the FAT/exFAT adapter.
| Enumerator | |
|---|---|
| k_vfs_stage_leaf_bytes | TX + six hex digits + .TMP. |
| k_vfs_exfat_name_max_bytes | exFAT component byte cap. |
| k_vfs_fat_name_max_bytes | FAT LFN component byte cap. |
Definition at line 45 of file fw_if_fs_ra8_vfs.c.
| enum vfs_stage_limits_t : uint8_t |
Bounded attempts to find an unused short staging name.
Definition at line 35 of file fw_if_fs_ra8_vfs.c.
|
nodiscard |
Bind a live named VFS mount into the portable filesystem facade.
| [out] | out | Complete portable facade. |
| [in,out] | state | Caller-owned adapter state, retained by out. |
| [in] | cfg | Live mount, registered name, and media property. |
Definition at line 960 of file fw_if_fs_ra8_vfs.c.
References fw_fs_bind(), ra8_fs_mount_t::in_use, internal_capabilities(), internal_dir_requirements(), internal_mount_name(), k_ra8_err_not_initialized, k_ra8_err_null_ptr, k_ra8_ok, memset(), fw_fs_ra8_vfs_cfg_t::mount, fw_fs_ra8_vfs_state_t::mount, fw_fs_ra8_vfs_cfg_t::mount_name, fw_fs_ra8_vfs_cfg_t::removable_media, fw_fs_ra8_vfs_state_t::removable_media, s_namespace_iface, s_stream_iface, and s_transaction_iface.
|
static |
Compose the portable capability record for one mounted VFS format.
Combines fixed adapter services with format-dependent file/name limits and the previously queried directory workspace contract.
| [in] | cfg | Validated adapter configuration. |
| [in] | directory_bytes | Complete directory workspace requirement. |
| [in] | directory_alignment | Required directory workspace alignment. |
| [in] | max_directories | Format-reported concurrent cursor ceiling. |
| fw_fs_caps_t | Capability record matching the selected mount. |
cfg and its mounted format are non-NULL and initialized. Definition at line 926 of file fw_if_fs_ra8_vfs.c.
References fw_fs_caps_t::flags, k_fw_fs_cap_accessed_time, k_fw_fs_cap_atomic_noreplace, k_fw_fs_cap_created_time, k_fw_fs_cap_modified_time, k_fw_fs_cap_namespace, k_fw_fs_cap_rejects_symlink_walk, k_fw_fs_cap_removable_media, k_fw_fs_cap_same_volume_rename, k_fw_fs_cap_space_query, k_fw_fs_cap_stream, k_fw_fs_cap_transactions, k_fw_fs_path_cap, k_ra8_fs_fat_max_file_bytes, k_ra8_fs_max_files, k_ra8_fs_type_exfat, k_vfs_exfat_name_max_bytes, k_vfs_fat_name_max_bytes, fw_fs_ra8_vfs_cfg_t::mount, RA8_INTERNAL, fw_fs_ra8_vfs_cfg_t::removable_media, and ra8_fs_mount_t::type.
Referenced by fw_fs_ra8_vfs_init().
|
static |
Definition at line 525 of file fw_if_fs_ra8_vfs.c.
References ra8_fs_close(), and RA8_INTERNAL.
Referenced by internal_txn_abort(), and internal_txn_validate().
|
static |
Definition at line 535 of file fw_if_fs_ra8_vfs.c.
References k_fw_fs_path_cap, k_ra8_err_invalid_size, k_ra8_ok, and RA8_INTERNAL.
Referenced by internal_txn_begin().
|
static |
Definition at line 292 of file fw_if_fs_ra8_vfs.c.
References internal_dir_cursor(), vfs_directory_state_t::native, RA8_INTERNAL, and ra8_io_vfs_dir_close().
|
static |
Round a caller directory-state span up to the cursor's alignment.
The cursor base does not depend on the mounted format's workspace alignment, so dir_next and dir_close – which never touch that workspace – take the layout under the cursor's own alignment and read its cursor half.
| [in] | directory_state | Caller-owned span accepted by dir_open |
| non-null | Always; dir_open already validated the span capacity |
directory_state is the span a matching dir_open succeeded on Definition at line 232 of file fw_if_fs_ra8_vfs.c.
References vfs_dir_layout_t::cursor, internal_dir_layout(), and RA8_INTERNAL.
Referenced by internal_dir_close(), and internal_dir_next().
|
static |
Derive both aligned bases inside a caller directory-state span.
fw_if_fs.h hands adapters an arbitrary caller-owned byte span for the directory cursor and promises no alignment, so both bases must be derived, not assumed: storing through an unaligned vfs_directory_state_t* is undefined behavior the host UBSan build rejects. Deriving them together also keeps every address conversion in this one function – callers receive void* bases and never convert a pointer to an integer at all.
| [in] | directory_state | Caller-owned span accepted by dir_open |
| [in] | native_align | Alignment the mounted format requires of its own cursor workspace (a power of two, validated at mount) |
| vfs_dir_layout_t | Both bases are non-null; the caller validates the span capacity against the returned byte counts |
directory_state is non-null (checked by every caller's contract) native_align is a non-zero power of two cursor satisfies alignof(vfs_directory_state_t) workspace satisfies native_align; no span byte is written Definition at line 202 of file fw_if_fs_ra8_vfs.c.
References RA8_INTERNAL.
Referenced by internal_dir_cursor(), and internal_dir_open().
|
static |
Definition at line 267 of file fw_if_fs_ra8_vfs.c.
References ra8_fs_dirent_t::attr, internal_dir_cursor(), internal_len(), k_fw_fs_node_directory, k_fw_fs_node_file, k_fw_fs_path_cap, k_ra8_err_invalid_size, k_ra8_fs_attr_directory, k_ra8_ok, memcpy(), fw_fs_dirent_value_t::name, ra8_fs_dirent_t::name, fw_fs_dirent_value_t::name_bytes, vfs_directory_state_t::native, ra8_io_vfs_dir_next(), fw_fs_dirent_value_t::size_bytes, ra8_fs_dirent_t::size_bytes, and fw_fs_dirent_value_t::type.
|
static |
Definition at line 239 of file fw_if_fs_ra8_vfs.c.
References vfs_dir_layout_t::consumed, vfs_dir_layout_t::cursor, vfs_dir_layout_t::cursor_end, fw_fs_ra8_vfs_state_t::directory_workspace_align, fw_fs_ra8_vfs_state_t::directory_workspace_bytes, internal_dir_layout(), internal_full_path(), k_ra8_err_no_mem, k_ra8_ok, vfs_directory_state_t::native, fw_fs_ra8_vfs_state_t::path_a, ra8_io_vfs_dir_open(), and vfs_dir_layout_t::workspace.
|
static |
Query the named format and compose aligned adapter cursor requirements.
Resolves the registered format through VFS, retains its exact inner cursor facts, and adds checked space for the adapter wrapper.
| [in,out] | state | Adapter with a retained registered mount name. |
| [out] | out_bytes | Complete outer workspace bytes. |
| [out] | out_align | Complete outer workspace alignment. |
| [out] | out_max_open | Format-reported concurrency ceiling. |
| k_ra8_ok | All returned and cached requirements are coherent. |
| k_ra8_err_* | VFS capability, path, or checked-size failure. |
state owns writable adapter path scratch. state. Definition at line 878 of file fw_if_fs_ra8_vfs.c.
References fw_fs_ra8_vfs_state_t::directory_workspace_align, fw_fs_ra8_vfs_state_t::directory_workspace_bytes, internal_full_path(), k_ra8_err_invalid_size, k_ra8_ok, fw_fs_ra8_vfs_state_t::max_open_directories, fw_fs_ra8_vfs_state_t::path_a, RA8_INTERNAL, and ra8_io_vfs_dir_requirements().
Referenced by fw_fs_ra8_vfs_init().
|
static |
Definition at line 124 of file fw_if_fs_ra8_vfs.c.
References internal_len(), k_fw_fs_path_cap, k_ra8_err_invalid_size, k_ra8_err_invalid_state, k_ra8_io_vfs_name_max, k_ra8_ok, and fw_fs_ra8_vfs_state_t::mount_name.
Referenced by internal_dir_open(), internal_dir_requirements(), internal_listdir(), internal_open(), internal_path_op(), internal_rename(), and internal_stat().
|
static |
Render a fixed-width six-digit hexadecimal transaction id.
Emits uppercase nibbles from most to least significant without a NUL; callers place the exact field inside an already bounded stage name.
| [out] | out | Six-byte hexadecimal field. |
| [in] | value | Transaction identifier whose low 24 bits are rendered. |
out addresses k_vfs_stage_hex_digits writable bytes. Definition at line 559 of file fw_if_fs_ra8_vfs.c.
References k_vfs_hex_last_digit, k_vfs_hex_nibble_bits, k_vfs_hex_nibble_mask, k_vfs_stage_hex_digits, and RA8_INTERNAL.
Referenced by internal_stage_path().
|
static |
Definition at line 110 of file fw_if_fs_ra8_vfs.c.
References RA8_INTERNAL.
Referenced by internal_dir_next(), internal_full_path(), and internal_list_entry().
|
static |
Translate one format-list callback into the legacy bounded facade.
Bounds and classifies one native entry before forwarding it to the portable callback, preserving stop and error state in the bridge.
| [in] | name | NUL-terminated native entry leaf. |
| [in] | attr | Native filesystem attribute bits. |
| [in] | size | Native file size; ignored for directory classification. |
| [in,out] | ctx | Active bounded-list bridge state. |
name and ctx are non-NULL. ctx contains a live callback and coherent delivery bounds. Definition at line 315 of file fw_if_fs_ra8_vfs.c.
References vfs_list_state_t::callback, vfs_list_state_t::callback_ctx, vfs_list_state_t::callback_error, vfs_list_state_t::count, internal_len(), k_fw_fs_node_directory, k_fw_fs_node_file, k_fw_fs_path_cap, k_ra8_err_invalid_size, k_ra8_fs_attr_directory, k_ra8_ok, vfs_list_state_t::max_entries, and vfs_list_state_t::stopped.
Referenced by internal_listdir().
|
static |
Definition at line 348 of file fw_if_fs_ra8_vfs.c.
References vfs_list_state_t::callback_error, vfs_list_state_t::count, internal_full_path(), internal_list_entry(), k_ra8_ok, fw_fs_ra8_vfs_state_t::path_a, RA8_INTERNAL, ra8_io_vfs_listdir(), and vfs_list_state_t::stopped.
|
static |
Definition at line 384 of file fw_if_fs_ra8_vfs.c.
References internal_path_op(), RA8_INTERNAL, and ra8_io_vfs_mkdir().
|
static |
Definition at line 436 of file fw_if_fs_ra8_vfs.c.
References k_fw_fs_open_append, k_fw_fs_open_read, k_fw_fs_open_write_truncate, k_ra8_err_not_supported, k_ra8_fs_mode_append, k_ra8_fs_mode_read, k_ra8_fs_mode_write, k_ra8_ok, and RA8_INTERNAL.
Referenced by internal_open().
|
static |
Definition at line 832 of file fw_if_fs_ra8_vfs.c.
References k_ra8_err_invalid_arg, k_ra8_io_vfs_name_max, k_ra8_ok, fw_fs_ra8_vfs_state_t::mount_name, and RA8_INTERNAL.
Referenced by fw_fs_ra8_vfs_init().
|
static |
Definition at line 454 of file fw_if_fs_ra8_vfs.c.
References internal_full_path(), internal_mode(), k_ra8_err_no_mem, k_ra8_fs_mode_read, k_ra8_ok, fw_fs_ra8_vfs_state_t::path_a, RA8_INTERNAL, and ra8_io_vfs_open().
Referenced by internal_stage_open(), and internal_txn_validate().
|
static |
One-path VFS dispatch helper.
Definition at line 373 of file fw_if_fs_ra8_vfs.c.
References internal_full_path(), k_ra8_ok, and fw_fs_ra8_vfs_state_t::path_a.
Referenced by internal_mkdir(), internal_rmdir(), and internal_unlink().
|
static |
Definition at line 480 of file fw_if_fs_ra8_vfs.c.
References ra8_fs_read().
Referenced by priv_fmt_host_spool_open(), and priv_fs_posix_stream_iface().
|
static |
Definition at line 403 of file fw_if_fs_ra8_vfs.c.
References internal_full_path(), k_ra8_err_not_supported, k_ra8_ok, fw_fs_ra8_vfs_state_t::path_a, fw_fs_ra8_vfs_state_t::path_b, and ra8_io_vfs_rename().
Referenced by internal_txn_commit().
|
static |
Definition at line 396 of file fw_if_fs_ra8_vfs.c.
References internal_path_op(), RA8_INTERNAL, and ra8_io_vfs_rmdir().
|
static |
Definition at line 501 of file fw_if_fs_ra8_vfs.c.
References ra8_fs_seek(), and RA8_INTERNAL.
Referenced by internal_txn_seek().
|
static |
Definition at line 517 of file fw_if_fs_ra8_vfs.c.
References ra8_fs_size(), and RA8_INTERNAL.
Referenced by internal_txn_seek().
|
static |
Definition at line 421 of file fw_if_fs_ra8_vfs.c.
References fw_fs_space_t::free_bytes, ra8_fs_space_t::free_bytes, k_ra8_ok, fw_fs_ra8_vfs_state_t::mount_name, RA8_INTERNAL, ra8_io_vfs_free_space(), fw_fs_space_t::total_bytes, ra8_fs_space_t::total_bytes, fw_fs_space_t::used_bytes, and ra8_fs_space_t::used_bytes.
Referenced by internal_attributes(), and internal_declaration().
|
static |
Open an unused VFS staging file after a bounded collision search.
Tries monotonically numbered sibling names, stats before open, and handles a create race by continuing only on an exists result.
| [in,out] | state | Bound adapter state and transaction-id source. |
| [in,out] | txn | Transaction state receiving stage path and writer. |
| k_ra8_ok | A new staging writer is open and tracked. |
| k_ra8_err_no_mem | Every bounded candidate collided. |
| k_ra8_err_* | Naming, stat, or open failure. |
txn contains a validated terminated destination path. Definition at line 624 of file fw_if_fs_ra8_vfs.c.
References vfs_transaction_state_t::destination, fw_fs_stat_t::exists, vfs_transaction_state_t::file_state, internal_open(), internal_stage_path(), internal_stat(), k_fw_fs_open_write_truncate, k_ra8_err_exists, k_ra8_err_no_mem, k_ra8_ok, k_vfs_stage_attempts, RA8_INTERNAL, vfs_transaction_state_t::stage, vfs_transaction_state_t::stage_exists, fw_fs_ra8_vfs_state_t::transaction_id, and vfs_transaction_state_t::writer_open.
Referenced by internal_txn_begin().
|
static |
Definition at line 570 of file fw_if_fs_ra8_vfs.c.
References internal_hex6(), k_fw_fs_path_cap, k_ra8_err_invalid_size, k_ra8_ok, k_vfs_stage_hex_digits, k_vfs_stage_leaf_bytes, k_vfs_transaction_id_mask, and RA8_INTERNAL.
Referenced by internal_stage_open().
|
static |
Definition at line 149 of file fw_if_fs_ra8_vfs.c.
References fw_fs_stat_t::accessed, ra8_io_vfs_stat_t::accessed, fw_fs_stat_t::created, ra8_io_vfs_stat_t::created, fw_fs_stat_t::exists, ra8_io_vfs_stat_t::exists, internal_full_path(), internal_timestamp(), ra8_io_vfs_stat_t::is_directory, k_fw_fs_node_directory, k_fw_fs_node_file, k_fw_fs_node_none, k_ra8_ok, fw_fs_stat_t::modified, ra8_io_vfs_stat_t::modified, fw_fs_ra8_vfs_state_t::path_a, RA8_INTERNAL, ra8_io_vfs_stat(), fw_fs_stat_t::size_bytes, ra8_io_vfs_stat_t::size_bytes, and fw_fs_stat_t::type.
Referenced by internal_stage_open(), and internal_txn_begin().
|
static |
Definition at line 509 of file fw_if_fs_ra8_vfs.c.
References ra8_fs_tell(), and RA8_INTERNAL.
Referenced by priv_fs_posix_stream_iface().
|
static |
Definition at line 90 of file fw_if_fs_ra8_vfs.c.
References ra8_fs_datetime_t::centisecond, fw_fs_datetime_t::day, ra8_fs_datetime_t::day, fw_fs_datetime_t::hour, ra8_fs_datetime_t::hour, k_vfs_nanoseconds_per_centisecond, fw_fs_datetime_t::minute, ra8_fs_datetime_t::minute, fw_fs_datetime_t::month, ra8_fs_datetime_t::month, fw_fs_datetime_t::nanosecond, RA8_INTERNAL, fw_fs_datetime_t::second, ra8_fs_datetime_t::second, fw_fs_datetime_t::utc_offset_min, ra8_fs_datetime_t::utc_offset_min, fw_fs_timestamp_t::utc_offset_valid, ra8_fs_timestamp_t::utc_offset_valid, fw_fs_timestamp_t::valid, ra8_fs_timestamp_t::valid, fw_fs_timestamp_t::value, ra8_fs_timestamp_t::value, fw_fs_datetime_t::year, and ra8_fs_datetime_t::year.
Referenced by internal_stat().
|
static |
Definition at line 775 of file fw_if_fs_ra8_vfs.c.
References vfs_transaction_state_t::file_state, internal_close(), internal_unlink(), k_ra8_ok, RA8_INTERNAL, vfs_transaction_state_t::stage, vfs_transaction_state_t::stage_exists, and vfs_transaction_state_t::writer_open.
|
static |
Definition at line 660 of file fw_if_fs_ra8_vfs.c.
References vfs_transaction_state_t::destination, fw_fs_stat_t::exists, internal_copy_path(), internal_stage_open(), internal_stat(), k_fw_fs_txn_create_new, k_ra8_err_exists, k_ra8_err_no_mem, k_ra8_err_not_supported, k_ra8_ok, memset(), vfs_transaction_state_t::policy, and RA8_INTERNAL.
|
static |
Definition at line 760 of file fw_if_fs_ra8_vfs.c.
References vfs_transaction_state_t::destination, internal_rename(), k_ra8_err_invalid_state, k_ra8_ok, vfs_transaction_state_t::stage, vfs_transaction_state_t::stage_exists, and vfs_transaction_state_t::writer_open.
|
static |
Definition at line 706 of file fw_if_fs_ra8_vfs.c.
References vfs_transaction_state_t::file_state, internal_seek(), internal_size(), k_ra8_err_invalid_size, k_ra8_err_invalid_state, k_ra8_ok, RA8_INTERNAL, and vfs_transaction_state_t::writer_open.
|
static |
Definition at line 724 of file fw_if_fs_ra8_vfs.c.
References vfs_transaction_state_t::file_state, fw_fs_close(), internal_close(), internal_open(), k_fw_fs_open_read, k_ra8_err_invalid_state, k_ra8_ok, RA8_INTERNAL, s_stream_iface, vfs_transaction_state_t::stage, and vfs_transaction_state_t::writer_open.
|
static |
Definition at line 692 of file fw_if_fs_ra8_vfs.c.
References vfs_transaction_state_t::file_state, internal_write(), k_ra8_err_invalid_state, RA8_INTERNAL, and vfs_transaction_state_t::writer_open.
|
static |
Definition at line 390 of file fw_if_fs_ra8_vfs.c.
References internal_path_op(), RA8_INTERNAL, and ra8_io_vfs_unlink().
Referenced by internal_txn_abort().
|
static |
Definition at line 489 of file fw_if_fs_ra8_vfs.c.
References k_ra8_ok, and ra8_fs_write().
Referenced by internal_txn_write(), and mdl_storage_vfs_init().
|
static |
Immutable firmware namespace vtable.
Definition at line 796 of file fw_if_fs_ra8_vfs.c.
Referenced by fw_fs_ra8_vfs_init(), and priv_fs_posix_bind_interfaces().
|
static |
Immutable firmware stream vtable.
Definition at line 87 of file fw_if_fs_ra8_vfs.c.
Referenced by fw_fs_ra8_vfs_init(), and internal_txn_validate().
|
static |
Immutable firmware transaction vtable.
Definition at line 822 of file fw_if_fs_ra8_vfs.c.
Referenced by fw_fs_ra8_vfs_init(), and priv_fs_posix_bind_interfaces().