🔬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§
- Byte
Buffer Experimental - An arbitrary-sized buffer of bytes in userspace, allocated by userspace.
- Cancel
Experimental - Cancel a usercall previously sent to userspace.
- Fifo
Descriptor Experimental - A circular buffer used as a FIFO queue with atomic reads and writes.
- Return
Experimental - The return value of a usercall. The elements correspond to the RSI and RDX registers in the synchronous calling convention.
- Usercall
Experimental - A usercall. The elements correspond to the RDI, RSI, RDX, R8, and R9 registers in the synchronous calling convention.
Enums§
- Error
Experimental - Error code definitions and space allocation.
- Usercall
Nrs Experimental - Usercall numbers as per the ABI.
Constants§
- EV_
RETURNQ_ NOT_ EMPTY Experimental - An event that will be triggered by userspace when the return queue is not or no longer empty.
- EV_
UNPARK Experimental - An event that enclaves can use for synchronization.
- EV_
USERCALLQ_ NOT_ FULL Experimental - An event that will be triggered by userspace when the usercall queue is not or no longer full.
- FD_
STDERR Experimental - Standard error file descriptor. This is not a secure output channel.
- FD_
STDIN Experimental - Standard input file descriptor. Input read this way is not secure.
- FD_
STDOUT Experimental - Standard output file descriptor. This is not a secure output channel.
- RESULT_
SUCCESS Experimental - A value indicating that the operation was successful.
- USERCALL_
USER_ DEFINED Experimental - Usercall numbers with this bit set will never be defined by this specification.
- WAIT_
INDEFINITE Experimental - WAIT_NO
Experimental
Traits§
- Register
Argument Experimental - Translate a type from/to Register to be used as an argument.
- Return
Value Experimental - 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.