Expand description
System Call Types and low level methods
These system call types act as the “wire format” between the kernel and userspace.
These types and functions are NOT generally used outside of creating
porcelain
functions, or within the kernel itself.
Consider using the porcelain
functions directly
instead when making userspace system calls.
§WARNING!
Care must be taken when modifying these types! Non-additive changes, including ANY field reordering MUST be considered a breaking change!
I have chosen NOT to mark these enums as #[non_exhaustive]
as
Serde will already fail deserialization on an unknown enum variant.
Breakages of downstream code causing non-exhaustive enum matching errors
due to added enum variants are NOT considered a “breaking change” at the
moment. If this is important to you, pin the exact common
crate version
you plan to support, or open an issue to discuss changing this policy.