|
ra8-firmware 0.1.0
Bare-metal firmware for the Renesas RA8 family (RA8D2 / RA8P1)
|
mdl – host CLI for the e-reader media downloader. More...
#include <errno.h>#include <fcntl.h>#include <limits.h>#include <signal.h>#include <stdint.h>#include <stdlib.h>#include <string.h>#include <sys/stat.h>#include <unistd.h>#include "fw_if_fs_posix.h"#include "mdl_app.h"#include "mdl_cli_internal.h"#include "mdl_compose_internal.h"#include "mdl_host_credentials_internal.h"#include "mdl_sanitize.h"#include "mdl_stream_internal.h"#include "ra8_attributes.h"#include "ra8_io_stream_posix.h"Go to the source code of this file.
Data Structures | |
| struct | export_arena_storage_t |
| Naturally aligned, caller-owned exporter workspace storage. More... | |
| struct | storage_workspace_t |
| Maximally aligned storage for one filesystem backend handle. More... | |
| struct | directory_workspace_t |
| Maximally aligned storage for one filesystem directory cursor. More... | |
Enumerations | |
| enum | credential_input_capacity_t : size_t { k_cookie_input_capacity = 64U * 1024U , k_ca_pem_input_capacity = 512U * 1024U } |
| Explicit host credential input capacities. More... | |
Functions | |
| static ra8_err_t | internal_output_init (void) |
| Bind process output descriptors and surface broken pipes as errors. | |
| static ra8_err_t | internal_diagnostic (const char *message) |
| Write one fixed process diagnostic through the injected sink. | |
| static ra8_err_t | internal_read_credential (int fd, const struct stat *before, uint8_t *destination, size_t length) |
| Read one already-open credential file and reject concurrent mutation. | |
| static ra8_err_t | internal_load_credential (const char *path, uint8_t *destination, size_t supplied, size_t *required, size_t *used) |
| Load one path argument into exact caller-supplied credential storage. | |
| static ra8_err_t | internal_credential_capacity_error (ra8_io_stream_t *diagnostic, const char *option, size_t required, size_t supplied) |
| Emit an exact required-versus-supplied credential capacity error. | |
| static ra8_err_t | internal_prepare_credentials (const mdl_args_t *args, mdl_net_policy_t *policy, ra8_io_stream_t *diagnostic) |
| Snapshot optional host credential paths into portable byte policy. | |
| static int | internal_exit_from_error (ra8_err_t err, bool usage_error) |
| Convert one CLI or output status to the process exit convention. | |
| static ra8_err_t | internal_storage_init (void) |
| Bind the host root through the POSIX composition adapter. | |
| static ra8_err_t | internal_resolve_config_path (mdl_args_t *args) |
| Resolve an optional host config argument into the root-bound namespace. | |
| static ra8_err_t | internal_resolve_one_leaf (const char *input, char *destination, size_t capacity) |
| Resolve a library root, including one absent final directory. | |
| static ra8_err_t | internal_resolve_output_path (mdl_args_t *args) |
| Canonicalize the command output root with one absent leaf allowed. | |
| static ra8_err_t | internal_resolve_cache_path (mdl_args_t *args) |
| Resolve or derive the persistent per-host cache root. | |
| static bool | internal_uses_output_path (mdl_cli_mode_t mode) |
| True when a validated mode consumes the canonical output root. | |
| static bool | internal_uses_cache_path (mdl_cli_mode_t mode) |
| Classify modes that perform persistent document caching. | |
| static ra8_err_t | internal_resolve_pack_path (mdl_args_t *args) |
| Canonicalize the existing pack input directory. | |
| static ra8_err_t | internal_resolve_verify_path (mdl_args_t *args) |
| Canonicalize a verify target while preserving absent-leaf diagnostics. | |
| static ra8_err_t | internal_resolve_descriptor_path (mdl_args_t *args) |
| Select the canonical init-site descriptor directory. | |
| static int | internal_prepare_args (mdl_args_t *args, mdl_cli_mode_t mode, ra8_io_stream_t *diagnostic) |
| Apply host defaults and canonicalize paths for the selected mode. | |
| static int | internal_prepare_run_policy (const mdl_args_t *args, mdl_run_opts_t *opts, mdl_format_t *format) |
| Validate output format and attach bounded credential byte views. | |
| static int | internal_main_init (int argc, char **argv, mdl_args_t *a) |
| Bootstrap process I/O and workspace state, then parse arguments. | |
| static int | internal_main_run (const mdl_args_t *a, mdl_cli_mode_t mode, mdl_format_t format, const mdl_run_opts_t *opts, const mdl_nums_t *nums) |
| Build the series-run plan, then dispatch and shut down cleanly. | |
| int | main (int argc, char **argv) |
| Program entry point: parse the command line and select a run mode. | |
Variables | |
| static export_arena_storage_t | s_export_arena |
| Process-lifetime exporter workspace storage (zero heap). | |
| static fw_fs_t | s_fs |
| Host-selected filesystem facade and adapter state. | |
| static fw_fs_posix_state_t | s_fs_posix = {.root_fd = -1} |
| static storage_workspace_t | s_fs_file_work |
| One file and one transaction workspace for single-threaded storage. | |
| static storage_workspace_t | s_fs_transaction_work |
| static directory_workspace_t | s_fs_directory_work |
| One bounded host directory-cursor workspace. | |
| static uint8_t | s_fs_io_buffer [k_mdl_storage_io_bytes] |
| Caller-owned streaming buffer shared by serial storage operations. | |
| static char | s_config_path [PATH_MAX] |
| Canonical host config path retained through one command run. | |
| static char | s_library_path [PATH_MAX] |
| Canonical host library root retained through one command run. | |
| static char | s_cache_path [PATH_MAX] |
| Canonical host cache root retained through one command run. | |
| static char | s_mode_path [PATH_MAX] |
| Canonical verify, pack, or descriptor path retained for one run. | |
| static uint8_t | s_cookie_input [k_cookie_input_capacity] |
| Process-lifetime, caller-owned cookie input bytes. | |
| static uint8_t | s_ca_pem_input [k_ca_pem_input_capacity] |
| Process-lifetime, caller-owned custom CA PEM bytes. | |
| static mdl_app_context_t | s_app |
| Process-lifetime bounded application state. | |
| static ra8_io_stream_t | s_output |
| Process stdout and stderr exposed through the portable byte-stream facade. | |
| static ra8_io_stream_t | s_diagnostic |
| static ra8_io_stream_posix_state_t | s_output_posix |
| Borrowed raw-descriptor backend state for process output streams. | |
| static ra8_io_stream_posix_state_t | s_diagnostic_posix |
mdl – host CLI for the e-reader media downloader.
Native host binary that links the firmware error contract (ra8_err_t) and drives the downloader logic that will later run on the RA8 (only the injected libcurl backend is host-specific). Modes:
The tool identifies itself honestly, honours robots.txt by default, and sanitises every untrusted name before it reaches the filesystem.
Definition in file main.c.
| enum credential_input_capacity_t : size_t |
|
static |
Emit an exact required-versus-supplied credential capacity error.
| [in,out] | diagnostic | Bound diagnostic byte stream. |
| [in] | option | NUL-terminated CLI option name. |
| [in] | required | Exact observed input bytes. |
| [in] | supplied | Exact caller-owned capacity bytes. |
Uses process-lifetime caller-owned storage and injected I/O. Publishes no partial path or credential view after a failed validation.
| k_ra8_ok | The operation completed successfully. |
| other | The originating validation, storage, stream, or network error. |
Definition at line 277 of file main.c.
References k_ra8_ok, priv_mdl_stream_text(), priv_mdl_stream_u64(), and RA8_INTERNAL.
Referenced by internal_prepare_credentials().
|
static |
Write one fixed process diagnostic through the injected sink.
| [in] | message | NUL-terminated diagnostic including its newline. |
message is non-NULL and NUL-terminated. Uses process-lifetime caller-owned storage and injected I/O. Publishes no partial path or credential view after a failed validation.
| k_ra8_ok | The operation completed successfully. |
| other | The originating validation, storage, stream, or network error. |
Definition at line 150 of file main.c.
References RA8_INTERNAL, ra8_io_stream_puts(), and s_diagnostic.
Referenced by internal_main_run().
|
static |
Convert one CLI or output status to the process exit convention.
| [in] | err | Canonical operation status. |
| [in] | usage_error | Whether invalid argument maps to usage exit 2. |
| 0 | err is k_ra8_ok. |
| 2 | usage_error is true and err is invalid-argument. |
| 1 | Every output or operational failure. |
err is a canonical ra8_err_t value. Uses process-lifetime caller-owned storage and injected I/O. Publishes no partial path or credential view after a failed validation.
Definition at line 379 of file main.c.
References k_ra8_err_invalid_arg, k_ra8_ok, and RA8_INTERNAL.
Referenced by internal_prepare_run_policy(), and main().
|
static |
Load one path argument into exact caller-supplied credential storage.
| [in] | path | Host path accepted only at this composition boundary. |
| [out] | destination | Caller-owned credential byte storage. |
| [in] | supplied | Exact destination capacity in bytes. |
| [out] | required | Source size required for a complete snapshot. |
| [out] | used | Complete stable byte count on success. |
| k_ra8_ok | A stable regular-file snapshot was retained. |
| k_ra8_err_invalid_arg | The source is not a regular file. |
| k_ra8_err_invalid_size | The source exceeds supplied. |
| k_ra8_err_access_denied | Open, stat, read, mutation, or close failed. |
path is NUL-terminated. required reports the observed source size when representable. used to required; failure leaves used zero. Uses process-lifetime caller-owned storage and injected I/O. Publishes no partial path or credential view after a failed validation.
Definition at line 223 of file main.c.
References internal_read_credential(), k_ra8_err_access_denied, k_ra8_err_invalid_arg, k_ra8_err_invalid_size, k_ra8_ok, O_CLOEXEC, O_NOFOLLOW, and RA8_INTERNAL.
Referenced by internal_prepare_credentials().
|
static |
Bootstrap process I/O and workspace state, then parse arguments.
Initializes the output stream and composition-root context, binds the fixed export arena, and parses argv into a.
| [in] | argc | Argument count. |
| [in] | argv | Argument vector. |
| [out] | a | Receives the parsed (not yet validated) command arguments. |
| 0 | Output, context, and argument parsing are ready. |
| 1 | Output stream initialization failed. |
argv is non-NULL and holds argc entries. a addresses writable storage for one complete mdl_args_t. a holds the raw parsed arguments. Definition at line 829 of file main.c.
References internal_output_init(), k_ra8_ok, mdl_app_bind(), mdl_cli_parse(), mdl_export_workspace_init(), RA8_INTERNAL, s_app, s_diagnostic, s_export_arena, and s_output.
Referenced by main().
|
static |
Build the series-run plan, then dispatch and shut down cleanly.
Binds the portable filesystem, dispatches to the selected mode handler, and always attempts filesystem shutdown before returning.
| [in] | a | Validated parsed command arguments. |
| [in] | mode | Selected run mode. |
| [in] | format | Validated output format. |
| [in] | opts | Prepared run policy. |
| [in] | nums | Parsed numeric options. |
| 0 | The dispatched mode completed successfully. |
| 1 | Filesystem binding or shutdown failed. |
| other | The dispatched mode's own failure status. |
opts already carries the credential views the run policy prepared. Definition at line 863 of file main.c.
References fw_fs_posix_deinit(), internal_diagnostic(), internal_storage_init(), k_ra8_ok, priv_mdl_compose_build_run(), priv_mdl_compose_dispatch(), RA8_INTERNAL, and s_fs_posix.
Referenced by main().
|
static |
Bind process output descriptors and surface broken pipes as errors.
| k_ra8_ok | Both output streams are ready. |
| k_ra8_err_comm_error | The process signal disposition could not be installed. |
| other | A raw-descriptor stream binding failed. |
Uses process-lifetime caller-owned storage and injected I/O. Publishes no partial path or credential view after a failed validation.
Definition at line 121 of file main.c.
References k_ra8_err_comm_error, k_ra8_ok, RA8_INTERNAL, ra8_io_stream_posix_init(), s_diagnostic, s_diagnostic_posix, s_output, and s_output_posix.
Referenced by internal_main_init().
|
static |
Apply host defaults and canonicalize paths for the selected mode.
| [in,out] | args | Validated parsed arguments. |
| [in] | mode | Validated CLI mode. |
| [in,out] | diagnostic | Bound stream receiving preparation diagnostics. |
| 0 | Defaults and required host paths are ready. |
| 1 | A required config or library path could not be resolved. |
args and diagnostic are non-NULL and mode came from mdl_cli_validate. Uses process-lifetime caller-owned storage and injected I/O. Publishes no partial path or credential view after a failed validation.
Definition at line 740 of file main.c.
References mdl_args_t::attr, mdl_args_t::ignore_robots, internal_resolve_cache_path(), internal_resolve_config_path(), internal_resolve_descriptor_path(), internal_resolve_output_path(), internal_resolve_pack_path(), internal_resolve_verify_path(), internal_uses_cache_path(), internal_uses_output_path(), k_mdl_cli_mode_init_site, k_mdl_cli_mode_pack, k_mdl_cli_mode_verify, k_ra8_ok, mdl_args_t::out, and ra8_io_stream_puts().
Referenced by main().
|
static |
Snapshot optional host credential paths into portable byte policy.
| [in] | args | Validated CLI arguments retaining host-only paths. |
| [in,out] | policy | Network policy receiving read-only byte views. |
| [in,out] | diagnostic | Bound diagnostic stream. |
Uses process-lifetime caller-owned storage and injected I/O. Publishes no partial path or credential view after a failed validation.
| k_ra8_ok | The operation completed successfully. |
| other | The originating validation, storage, stream, or network error. |
Definition at line 309 of file main.c.
References mdl_args_t::ca_file, mdl_net_policy_t::ca_pem, mdl_args_t::cookie_file, mdl_net_policy_t::cookies, internal_credential_capacity_error(), internal_load_credential(), k_ra8_err_invalid_arg, k_ra8_err_invalid_size, k_ra8_ok, RA8_INTERNAL, ra8_io_stream_puts(), s_ca_pem_input, and s_cookie_input.
Referenced by internal_prepare_run_policy().
|
static |
Validate output format and attach bounded credential byte views.
| [in] | args | Validated parsed command arguments. |
| [in,out] | opts | Mutable run policy receiving credential views. |
| [out] | format | Validated output format. |
| 0 | Format and credential policy are ready. |
| 1 | Credential preparation failed. |
| 2 | The requested format is invalid. |
opts and format ready for the complete run. Uses process-lifetime caller-owned storage and injected I/O. Publishes no partial path or credential view after a failed validation.
Definition at line 798 of file main.c.
References mdl_args_t::format, internal_exit_from_error(), internal_prepare_credentials(), k_mdl_format_invalid, k_ra8_ok, mdl_format_from_str(), mdl_run_opts_t::policy, priv_mdl_cli_reject_parts(), and s_diagnostic.
Referenced by main().
|
static |
Read one already-open credential file and reject concurrent mutation.
| [in] | fd | Raw descriptor pinned to the selected regular file. |
| [in] | before | Metadata captured immediately after open. |
| [out] | destination | Caller-owned credential storage. |
| [in] | length | Exact expected file length. |
| k_ra8_ok | Exactly length stable bytes were read. |
| k_ra8_err_access_denied | A read/stat failed or the source mutated. |
fd is readable and destination has at least length bytes. length bytes and observes EOF at that extent. Uses process-lifetime caller-owned storage and injected I/O. Publishes no partial path or credential view after a failed validation.
Definition at line 175 of file main.c.
References k_ra8_err_access_denied, k_ra8_ok, and priv_mdl_host_credential_stat_unchanged().
Referenced by internal_load_credential().
|
static |
Resolve or derive the persistent per-host cache root.
Uses the explicit cache path when supplied; otherwise joins the fixed .mdl_cache leaf beneath the canonical output root.
| [in,out] | args | Parsed arguments receiving the canonical cache path. |
| k_ra8_ok | The cache root is canonical and portable-sized. |
| other | The supplied or derived path is unsafe or too large. |
args is non-NULL and its output root is canonical. Definition at line 555 of file main.c.
References mdl_args_t::cache_dir, internal_resolve_one_leaf(), k_ra8_err_invalid_size, k_ra8_ok, mdl_path_join(), mdl_args_t::out, RA8_INTERNAL, and s_cache_path.
Referenced by internal_prepare_args().
|
static |
Resolve an optional host config argument into the root-bound namespace.
| [in,out] | args | Parsed command arguments whose config pointer may change. |
| k_ra8_ok | No config was supplied or its canonical path was retained. |
| k_ra8_err_not_found | The host could not resolve the supplied path. |
args is non-NULL and its optional config string is NUL-terminated. Uses process-lifetime caller-owned storage and injected I/O. Publishes no partial path or credential view after a failed validation.
Definition at line 444 of file main.c.
References mdl_args_t::cfg, k_fw_fs_path_cap, k_ra8_err_invalid_size, k_ra8_err_not_found, k_ra8_ok, RA8_INTERNAL, s_config_path, and strlen().
Referenced by internal_prepare_args().
|
static |
Select the canonical init-site descriptor directory.
Uses a real sites child only when lstat proves the child is a directory rather than a symlink; otherwise it selects the current canonical directory. Unexpected inspection failures stop the run.
| [in,out] | args | Parsed arguments whose output field receives the directory. |
| k_ra8_ok | A safe portable-sized descriptor directory was selected. |
| k_ra8_err_not_found | The current directory could not be resolved. |
| k_ra8_err_access_denied | The candidate child could not be inspected. |
| k_ra8_err_invalid_size | The selected namespace exceeds the path cap. |
args is non-null and init-site mode was validated. Definition at line 696 of file main.c.
References k_fw_fs_path_cap, k_ra8_err_access_denied, k_ra8_err_invalid_size, k_ra8_err_not_found, k_ra8_ok, mdl_path_join(), memcpy(), mdl_args_t::out, RA8_INTERNAL, s_mode_path, and strlen().
Referenced by internal_prepare_args().
|
static |
Resolve a library root, including one absent final directory.
Existing roots pass through realpath; for an absent root only its existing canonical parent is resolved and one safe leaf is joined.
| [in] | input | Existing canonical path or path with one absent final leaf. |
| [out] | destination | Receives the canonical absolute path. |
| [in] | capacity | Writable bytes at destination. |
| k_ra8_ok | The root is canonical and retained for the command lifetime. |
| k_ra8_err_not_found | The path or its immediate parent cannot resolve. |
| k_ra8_err_invalid_arg | The absent final component is unsafe. |
input and destination are non-NULL and input is NUL-terminated. destination within capacity. Definition at line 478 of file main.c.
References k_fw_fs_path_cap, k_ra8_err_invalid_arg, k_ra8_err_invalid_size, k_ra8_err_not_found, k_ra8_ok, mdl_path_join(), memcpy(), strcmp(), strlen(), and strrchr().
Referenced by internal_resolve_cache_path(), and internal_resolve_output_path().
|
static |
Canonicalize the command output root with one absent leaf allowed.
Resolves the existing directory or its canonical parent, then redirects the parsed output view to process-lifetime storage.
| [in,out] | args | Parsed arguments whose output pointer is replaced. |
| k_ra8_ok | The output root is canonical and portable-sized. |
| other | The path is missing, unsafe, or too large. |
args and args->out are non-NULL and NUL-terminated. Definition at line 529 of file main.c.
References internal_resolve_one_leaf(), k_ra8_ok, mdl_args_t::out, RA8_INTERNAL, and s_library_path.
Referenced by internal_prepare_args(), and internal_resolve_verify_path().
|
static |
Canonicalize the existing pack input directory.
| [in,out] | args | Parsed arguments whose pack pointer is replaced. |
| k_ra8_ok | The selected input is canonical and portable-sized. |
| k_ra8_err_not_found | The selected directory cannot be resolved. |
| k_ra8_err_invalid_size | The canonical path exceeds the facade cap. |
args is non-null and args->pack is NUL-terminated. Uses process-lifetime caller-owned storage and injected I/O. Publishes no partial path or credential view after a failed validation.
Definition at line 633 of file main.c.
References k_fw_fs_path_cap, k_ra8_err_invalid_size, k_ra8_err_not_found, k_ra8_ok, mdl_args_t::pack, RA8_INTERNAL, s_mode_path, and strlen().
Referenced by internal_prepare_args().
|
static |
Canonicalize a verify target while preserving absent-leaf diagnostics.
Reuses output-root resolution so one missing final component becomes a canonical portable path; the verifier then reports the specific unreadable-directory failure instead of preparation masking it.
| [in,out] | args | Parsed arguments whose selected verify path is replaced. |
| k_ra8_ok | The verify target is canonical and portable-sized. |
| other | The target or its immediate parent cannot be resolved safely. |
args is non-null and its selected verify path is NUL-terminated. Definition at line 661 of file main.c.
References internal_resolve_output_path(), k_ra8_ok, mdl_args_t::out, RA8_INTERNAL, and mdl_args_t::verify_dir.
Referenced by internal_prepare_args().
|
static |
Bind the host root through the POSIX composition adapter.
Performs storage init through the injected filesystem facade and keeps source and transaction handles caller-owned on every return path.
| k_ra8_ok | The POSIX facade and downloader binding are ready. |
| other | POSIX adapter or workspace binding initialization failed. |
Definition at line 401 of file main.c.
References fw_fs_posix_deinit(), fw_fs_posix_init(), k_ra8_ok, mdl_library_workspace_init(), mdl_storage_init(), RA8_INTERNAL, s_app, s_fs, s_fs_directory_work, s_fs_file_work, s_fs_io_buffer, s_fs_posix, and s_fs_transaction_work.
Referenced by internal_main_run().
|
static |
Classify modes that perform persistent document caching.
Restricts cache-path setup to modes that may retrieve series, chapter, or cover documents through the cache coordinator.
| [in] | mode | Validated CLI mode. |
| true | The selected mode may read or publish cache state. |
| false | The selected mode does not consume a cache path. |
mode is a valid enum value. Definition at line 610 of file main.c.
References k_mdl_cli_mode_browse, k_mdl_cli_mode_search, k_mdl_cli_mode_series, k_mdl_cli_mode_update_all, and RA8_INTERNAL.
Referenced by internal_prepare_args().
|
static |
True when a validated mode consumes the canonical output root.
| [in] | mode | Validated command mode. |
| true | The mode consumes the output root. |
| false | The mode has no output-root dependency. |
mode was produced by mdl_cli_validate. Uses process-lifetime caller-owned storage and injected I/O. Publishes no partial path or credential view after a failed validation.
Definition at line 587 of file main.c.
References k_mdl_cli_mode_artifact, k_mdl_cli_mode_browse, k_mdl_cli_mode_list, k_mdl_cli_mode_page, k_mdl_cli_mode_remove, k_mdl_cli_mode_search, k_mdl_cli_mode_series, k_mdl_cli_mode_update_all, and RA8_INTERNAL.
Referenced by internal_prepare_args().
| int main | ( | int | argc, |
| char ** | argv ) |
Program entry point: parse the command line and select a run mode.
Parses and validates the arguments, then hands off to priv_mdl_compose_dispatch, which selects a library command (--list/--remove/--update-all), search/browse discovery (--search/--browse), pack mode (--pack), series mode (--config + --series), or single-page mode (a bare URL), in that precedence.
| [in] | argc | Argument count. |
| [in] | argv | Argument vector. |
Definition at line 894 of file main.c.
References internal_exit_from_error(), internal_main_init(), internal_main_run(), internal_prepare_args(), internal_prepare_run_policy(), k_mdl_cli_mode_help, k_mdl_cli_mode_invalid, k_mdl_cli_mode_version, k_mdl_format_invalid, k_ra8_err_invalid_arg, k_ra8_ok, mdl_cli_parse_nums(), mdl_cli_run_opts(), mdl_cli_usage(), mdl_cli_validate(), mdl_run_opts_t::net, priv_mdl_compose_net_provider(), ra8_io_stream_puts(), s_diagnostic, and s_output.
|
static |
Process-lifetime bounded application state.
Definition at line 95 of file main.c.
Referenced by internal_main_init(), and internal_storage_init().
|
static |
Process-lifetime, caller-owned custom CA PEM bytes.
Definition at line 93 of file main.c.
Referenced by internal_prepare_credentials().
|
static |
Canonical host cache root retained through one command run.
Definition at line 87 of file main.c.
Referenced by internal_resolve_cache_path().
|
static |
Canonical host config path retained through one command run.
Definition at line 83 of file main.c.
Referenced by internal_resolve_config_path().
|
static |
Process-lifetime, caller-owned cookie input bytes.
Definition at line 91 of file main.c.
Referenced by internal_prepare_credentials().
|
static |
Definition at line 99 of file main.c.
Referenced by internal_diagnostic(), internal_main_init(), internal_output_init(), internal_prepare_run_policy(), and main().
|
static |
Definition at line 102 of file main.c.
Referenced by internal_output_init().
|
static |
Process-lifetime exporter workspace storage (zero heap).
Definition at line 70 of file main.c.
Referenced by internal_main_init().
|
static |
Host-selected filesystem facade and adapter state.
Definition at line 72 of file main.c.
Referenced by internal_storage_init().
|
static |
One bounded host directory-cursor workspace.
Definition at line 79 of file main.c.
Referenced by internal_storage_init().
|
static |
One file and one transaction workspace for single-threaded storage.
Definition at line 76 of file main.c.
Referenced by internal_storage_init().
|
static |
Caller-owned streaming buffer shared by serial storage operations.
Definition at line 81 of file main.c.
Referenced by internal_storage_init().
|
static |
Definition at line 73 of file main.c.
Referenced by internal_main_run(), and internal_storage_init().
|
static |
Definition at line 77 of file main.c.
Referenced by internal_storage_init().
|
static |
Canonical host library root retained through one command run.
Definition at line 85 of file main.c.
Referenced by internal_resolve_output_path().
|
static |
Canonical verify, pack, or descriptor path retained for one run.
Definition at line 89 of file main.c.
Referenced by internal_resolve_descriptor_path(), and internal_resolve_pack_path().
|
static |
Process stdout and stderr exposed through the portable byte-stream facade.
Definition at line 98 of file main.c.
Referenced by internal_main_init(), internal_output_init(), and main().
|
static |
Borrowed raw-descriptor backend state for process output streams.
Definition at line 101 of file main.c.
Referenced by internal_output_init().