Follow-up to the monorepo re-org. Suite 35/35 plus host tests green. POSIX compatibility is now its own library, library/posix/ (unistd, stdio), layered strictly over the runtime — it calls the runtime's IPC/heap, never system calls directly. The runtime is now POSIX-free (the danos-native application ABI). The VFS wire protocol is danos-native throughout (Stat -> FileStatus, .stat -> .status, O_CREAT -> create); the POSIX layer maps the POSIX spellings at the boundary. The coding standard's ABI-name exception is scoped to one place: a file is allowed POSIX spellings only if it lives under library/posix/ — everywhere else, danos naming with no exception. Naming fixes, all mechanical: - initrd -> initial-ramdisk: the source file, the module, the tool (make-initial-ramdisk.py), the artifact (initial-ramdisk.img, including the bootloader's load path), and the identifiers. - system/kernel/device-service.zig -> devices-broker.zig: it is ring-0 kernel code (the trusted device table + claim capability), not a ring-3 service. The future user-space device *manager* (policy) will live in system/services/. - Dropped the daemon `d` suffix: hpetd -> hpet, busd -> bus. A driver lives in system/drivers/, so the folder already says what it is; encoding the role in the name too is redundant. The coding standard drops that exception. - system/devices/aml/interp.zig -> interpreter.zig (the type was already Interpreter).
14 lines
782 B
Zig
14 lines
782 B
Zig
//! DanOS's POSIX / C compatibility layer — `unistd`, `stdio`, and (later) the C
|
|
//! `errno` / `struct stat` / `extern "C"` surface. This is the *one* place POSIX and
|
|
//! C spellings are allowed to appear verbatim (see docs/coding-standards.md): a file
|
|
//! under library/posix/ *is* the foreign ABI, so it keeps the ABI's names. Everything
|
|
//! it touches on the danos side (the VFS protocol, the runtime) uses danos names,
|
|
//! which this layer translates to at the boundary.
|
|
//!
|
|
//! It is layered strictly *over* the runtime: it calls the runtime's IPC and heap,
|
|
//! never the kernel's system calls directly. danos-native applications use the
|
|
//! runtime; this exists so *POSIX* software can too.
|
|
|
|
pub const unistd = @import("unistd.zig");
|
|
pub const stdio = @import("stdio.zig");
|