ukernel-sys 0.1.0

System interface types for µKernel — a Rust microkernel with hypervisor and real-time scheduling. Defines kernel operations, submission ring layout, and subsystem registration.
Documentation
# ukernel-sys

System interface types for [µKernel](https://americankernel.com) — a Rust microkernel
with hypervisor, container runtime, and real-time scheduling.
DO-178C certification in progress.

This crate defines the ABI between userspace domains and the kernel:

- **`KernelOp`**~30 primitive kernel operations (memory, VFS, network, threads, signals)
- **`SubmitEntry` / `CompleteEntry`** — submission ring entry types for batched syscalls
- **`SubmitRing`** — shared-memory ring buffer layout
- **`SubsystemId`** — hashed identity for loadable domain types (POSIX, VMM, etc.)

## Architecture

µKernel uses a vectorized syscall model inspired by io_uring. Userspace queues
operations into a shared-memory ring and flushes them with a single `SYS_SUBMIT`
syscall. The kernel processes the batch, capability-checks each operation, and
writes results to the completion ring. One ring transition for N operations.

```text
Application
    ↓ (std or no_std)
libposix / ukernel-std
    ↓ queues KernelOps
Submission Ring (shared page)
    ↓ SYS_SUBMIT (one ring transition)
µKernel (capability check + execute per op)
Completion Ring (results)
```

## Usage

```rust
use ukernel_sys::{KernelOp, SubmitEntry, SubsystemId};

// Define a subsystem
const MY_SUBSYSTEM: SubsystemId = SubsystemId::from_name(b"my-runtime");

// Create a submission entry
let entry = SubmitEntry::new(
    KernelOp::DebugPrint as u16,
    [buf_ptr, buf_len, 0, 0, 0],
    42, // user_data — returned in completion
);
```

## `no_std`

This crate is `#![no_std]` with zero dependencies. It contains only type
definitions and constants — no I/O, no allocation, no unsafe code.

## License

MIT OR Apache-2.0

## Links

- [µKernel]https://americankernel.com — product information and licensing
- [Vinci Consulting]https://vinciconsulting.com — engineering services
- [POSIX Conformance Suite]https://github.com/vinciconsulting/posix-conformance — syscall-level PSE53 tests