Crate secgate

Crate secgate 

Source

Modules§

util
A set of utility types for low-level communication between compartments.

Macros§

secgate_prelude
Required to put in your source if you call any secure gates.

Structs§

Arguments
Arguments that will be passed to the secure call. Concrete versions of this are generated by the macro.
DynamicSecGate
GateCallInfo
Return
Return value to be filled by the secure call. Concrete versions of this are generated by the macro.
SecFrame
SecGateInfo
A struct of information about a secure gate. These are auto-generated by the crate::entry 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§

ResourceError
TwzError

Constants§

SECGATE_TRAMPOLINE_ALIGN
Minimum alignment of secure trampolines.

Traits§

Crossing
An auto trait that limits the types that can be send across to another compartment. These are:

Functions§

dynamic_gate_call
frame
get_caller
get_sctx_id
Get the thread ID of the caller.
get_thread_id
Get the thread ID of the caller.
restore_frame
runtime_preentry
set_caller

Type Aliases§

RawSecGateInfo
Non-generic and non-pointer-based SecGateInfo, for use during dynamic linking.

Attribute Macros§

entry
Declare a secure gate implementation and entry point.
gatecall
Declare a secure call point as a publically-callable function. This does not include the implementation, but instead defines the call in the user-facing library.