1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
//! Subsystem identity for loadable domain types.
//!
//! Each domain type (POSIX, VMM, mainframe, etc.) is identified by a
//! [`SubsystemId`] — a deterministic FNV-1a hash of the subsystem name.
//! The kernel has no compile-time knowledge of subsystem types. New
//! subsystems can be added without modifying the kernel.
//!
//! # Example
//!
//! ```
//! use ukernel_sys::SubsystemId;
//!
//! const POSIX: SubsystemId = SubsystemId::from_name(b"posix");
//! const VMM: SubsystemId = SubsystemId::from_name(b"vmm");
//!
//! // Deterministic — same name always produces the same ID
//! assert_eq!(POSIX, SubsystemId::from_name(b"posix"));
//! assert_ne!(POSIX, VMM);
//! ```
/// Subsystem identifier derived from name via FNV-1a hash.
///
/// Deterministic: `"posix"` always hashes to the same value.
;