os_abi_sentinel
os_abi_sentinel is a dependency-free, no_std-first crate for Rust OS development
(edition 2024) focused on one thing: keeping your ABI contracts correct across boundaries.
It provides:
- Compile-time ABI assertions: type size, alignment, and field offsets
- Minimal ABI versioning: tiny, dependency-free version types and compatibility checks
Relationship with your other crates
This crate is intentionally independent and complements your other crates by covering a different concern:
os_metal_primitives: hardware-facing primitives (MMIO, bitfields, IRQ, etc.)os_dev_toolkit: diagnostics/logging/developer toolingos_kernel_foundry: higher-level kernel scaffolding
os_abi_sentinel focuses on the stability of data layouts and compatibility rules at
component boundaries.
Quick example: enforce a boot info ABI
use ;
const_assert_size!;
const_assert_align!;
const_assert_offset!;
const_assert_offset!;
Documentation
- API docs: build locally with
cargo doc --open - Project docs: see the
docs/directory, starting fromdocs/MANUAL.md
License
MIT. See LICENSE.
Attribution
This crate was created by an AI assistant based on an idea and requirements by alisio85.
See NOTICE.md.