Asylo
Public Member Functions | List of all members
asylo::primitives::Client::ExitCallProvider Class Referenceabstract

An interface to a provider of enclave exit calls. More...

#include <untrusted_primitives.h>

Public Member Functions

virtual ~ExitCallProvider ()=default
 
virtual Status RegisterExitHandler (uint64_t untrusted_selector, const ExitHandler &handler) ASYLO_MUST_USE_RESULT=0
 Registers a callback as the handler routine for an enclave exit point untrusted_selector. More...
 
virtual Status InvokeExitHandler (uint64_t untrusted_selector, MessageReader *input, MessageWriter *output, Client *client) ASYLO_MUST_USE_RESULT=0
 Finds and invokes an exit handler. More...
 

Detailed Description

An interface to a provider of enclave exit calls.

Constructor & Destructor Documentation

◆ ~ExitCallProvider()

virtual asylo::primitives::Client::ExitCallProvider::~ExitCallProvider ( )
virtualdefault

Member Function Documentation

◆ InvokeExitHandler()

virtual Status asylo::primitives::Client::ExitCallProvider::InvokeExitHandler ( uint64_t  untrusted_selector,
MessageReader *  input,
MessageWriter *  output,
Client client 
)
pure virtual

Finds and invokes an exit handler.

Parameters
untrusted_selectorThe identification number for the called untrusted function.
inputA pointer to a MessageReader from which the function implementation can read the arguments the enclave wrote.
outputA pointer to a MessageWriter to which the function will write the function's outputs.
clientA pointer to the client that is exiting.
Returns
an error status on failure, otherwise Ok.

◆ RegisterExitHandler()

virtual Status asylo::primitives::Client::ExitCallProvider::RegisterExitHandler ( uint64_t  untrusted_selector,
const ExitHandler handler 
)
pure virtual

Registers a callback as the handler routine for an enclave exit point untrusted_selector.

Parameters
untrusted_selectorThe identification number an enclave will use to select the registered handler, handler.
handlerThe representation of a callable untrusted function.
Returns
If a handler has already been registered for trusted_selector or if an invalid selector value is passed, returns an error status, otherwise Ok.

The documentation for this class was generated from the following file: