Skip to content

0.2.0: what mcpp's operating-system layer carried - #3

Merged
Sunrisepeak merged 16 commits into
mainfrom
os-0.2.0
Oct 27, 2026
Merged

Sunrisepeak merged 16 commits into
mainfrom
os-0.2.0

Conversation

@Sunrisepeak

Copy link
Copy Markdown
Member

mcpp keeps no operating-system layer of its own (mcpp design 2026-10-26 §25). The capabilities its `modules/platform` carried and this library did not are added here:

  • process: `exec` replaces the image on Linux and macOS; elsewhere it starts the program, waits for it and ends with its status. `stdio::output` puts both outputs on one pipe, in the order written.
  • fs:
    • `append` writes in one piece; `sync` makes a file or directory durable.
    • `extended` and `windows_extended` give the long-path spelling.
    • `measure` and `measure_now` measure what a volume actually does (NFSv3 among them); `volume_type` names the volume.
    • `place` publishes without replacing, whatever the volume supports; `exchange` swaps two entries.
    • `owner_of` and `writable` answer ownership and write access.
  • machine: `processors` (logical, physical, heterogeneous) and `memory_available`.
  • stdio: `read_input_for` is a bounded read of input. `output_to_error` sends standard output to standard error for a scope, while the document still reaches the original output.
  • terminal: `raw_options::keep_interrupt`.
  • windows: `code_page`, `console_output_code_page`, `long_paths_enabled`, `machine_registry_path`, `writable_fixed_drive`. Windows code declares what it calls in `win32.h` and loads advapi32 at run time.

Each new capability has a test in tests/process_test, tests/fs_test and tests/platform_test. They pass natively and as ok images on Linux.

Sunrisepeak and others added 15 commits October 27, 2026 16:23
…ured volumes, place and exchange, owners, processors and available memory, a bounded read of input, output sent to the error stream, raw mode that keeps the interrupt, and Windows facts

What mcpp's own operating-system layer carried and this library did not
(mcpp design 2026-10-26 §25.4), so that mcpp keeps none.

Co-authored-by: speak-agent <248744407+speak-agent@users.noreply.github.com>
…enkal 0.17.1 KAL_SPAWN_ONE_STRING), and the system's ending for a closed reader

openkal and openkal-windows from their release branches until they are published.

Co-authored-by: speak-agent <248744407+speak-agent@users.noreply.github.com>
Co-authored-by: speak-agent <248744407+speak-agent@users.noreply.github.com>
Co-authored-by: speak-agent <248744407+speak-agent@users.noreply.github.com>
… on, until they are published

Co-authored-by: speak-agent <248744407+speak-agent@users.noreply.github.com>
…shell starts it

Co-authored-by: speak-agent <248744407+speak-agent@users.noreply.github.com>
…rogram (ENOEXEC; EBADARCH, EBADMACHO on macOS)

Co-authored-by: speak-agent <248744407+speak-agent@users.noreply.github.com>
….18.1, openkal-macos 0.15.1, openkal-windows 0.13.1)

Co-authored-by: speak-agent <248744407+speak-agent@users.noreply.github.com>
Co-authored-by: speak-agent <248744407+speak-agent@users.noreply.github.com>
…eads a zero bound as none)

Co-authored-by: speak-agent <248744407+speak-agent@users.noreply.github.com>
Co-authored-by: speak-agent <248744407+speak-agent@users.noreply.github.com>
…hatever a system's start-up takes

Co-authored-by: speak-agent <248744407+speak-agent@users.noreply.github.com>
…16.2

Co-authored-by: speak-agent <248744407+speak-agent@users.noreply.github.com>
Co-authored-by: speak-agent <248744407+speak-agent@users.noreply.github.com>
Co-authored-by: speak-agent <248744407+speak-agent@users.noreply.github.com>
Co-authored-by: speak-agent <248744407+speak-agent@users.noreply.github.com>
@Sunrisepeak
Sunrisepeak merged commit 297584f into main Oct 27, 2026
12 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant