Modules
- A set of utility types for low-level communication between compartments.
Macros
- Required to put in your source if you call any secure gates.
Structs
- Arguments that will be passed to the secure call. Concrete versions of this are generated by the macro.
- Return value to be filled by the secure call. Concrete versions of this are generated by the macro.
- A struct of information about a secure gate. These are auto-generated by the crate::secure_gate macro, and stored in a special ELF section (.twz_secgate_info) as an array. The dynamic linker and monitor can then use this to easily enumerate gates.
Enums
- Enum of possible return codes, similar to Result, but with specific variants of possible failures of initializing or invoking the secure gate call.
Constants
- Minimum alignment of secure trampolines.
Traits
- An auto trait that limits the types that can be send across to another compartment. These are:
Type Aliases
- Non-generic and non-pointer-based SecGateInfo, for use during dynamic linking.