Skip to main content

Module raw

Module raw 

Source
🔬This is a nightly-only experimental API. (sgx_platform #56975)
Available on Fortanix and SGX only.
Expand description

Lowest-level interfaces to usercalls and usercall ABI type definitions.

Structs§

ByteBufferExperimental
An arbitrary-sized buffer of bytes in userspace, allocated by userspace.
CancelExperimental
Cancel a usercall previously sent to userspace.
FifoDescriptorExperimental
A circular buffer used as a FIFO queue with atomic reads and writes.
ReturnExperimental
The return value of a usercall. The elements correspond to the RSI and RDX registers in the synchronous calling convention.
UsercallExperimental
A usercall. The elements correspond to the RDI, RSI, RDX, R8, and R9 registers in the synchronous calling convention.

Enums§

ErrorExperimental
Error code definitions and space allocation.
UsercallNrsExperimental
Usercall numbers as per the ABI.

Constants§

EV_RETURNQ_NOT_EMPTYExperimental
An event that will be triggered by userspace when the return queue is not or no longer empty.
EV_UNPARKExperimental
An event that enclaves can use for synchronization.
EV_USERCALLQ_NOT_FULLExperimental
An event that will be triggered by userspace when the usercall queue is not or no longer full.
FD_STDERRExperimental
Standard error file descriptor. This is not a secure output channel.
FD_STDINExperimental
Standard input file descriptor. Input read this way is not secure.
FD_STDOUTExperimental
Standard output file descriptor. This is not a secure output channel.
RESULT_SUCCESSExperimental
A value indicating that the operation was successful.
USERCALL_USER_DEFINEDExperimental
Usercall numbers with this bit set will never be defined by this specification.
WAIT_INDEFINITEExperimental
WAIT_NOExperimental

Traits§

RegisterArgumentExperimental
Translate a type from/to Register to be used as an argument.
ReturnValueExperimental
Translate a pair of Registers to the raw usercall return value.

Functions§

accept_streamâš Experimental
This is the raw function definition, see the ABI documentation for more information.
allocâš Experimental
This is the raw function definition, see the ABI documentation for more information.
async_queuesâš Experimental
This is the raw function definition, see the ABI documentation for more information.
bind_streamâš Experimental
This is the raw function definition, see the ABI documentation for more information.
closeâš Experimental
This is the raw function definition, see the ABI documentation for more information.
connect_streamâš Experimental
This is the raw function definition, see the ABI documentation for more information.
do_usercallâš Experimental
Performs the raw usercall operation as defined in the ABI calling convention.
exitâš Experimental
This is the raw function definition, see the ABI documentation for more information.
flushâš Experimental
This is the raw function definition, see the ABI documentation for more information.
freeâš Experimental
This is the raw function definition, see the ABI documentation for more information.
insecure_timeâš Experimental
This is the raw function definition, see the ABI documentation for more information.
launch_threadâš Experimental
This is the raw function definition, see the ABI documentation for more information.
readâš Experimental
This is the raw function definition, see the ABI documentation for more information.
read_allocâš Experimental
This is the raw function definition, see the ABI documentation for more information.
sendâš Experimental
This is the raw function definition, see the ABI documentation for more information.
waitâš Experimental
This is the raw function definition, see the ABI documentation for more information.
writeâš Experimental
This is the raw function definition, see the ABI documentation for more information.

Type Aliases§

FdExperimental
A file descriptor.
RegisterExperimental
A value passed or returned in a CPU register.
ResultExperimental
The first return value of usercalls that might fail.
TcsExperimental
The absolute address of a TCS in the current enclave.