Asylo
Classes | Typedefs | Functions
asylo::primitives Namespace Reference

Classes

class  Client
 A reference to an enclave held by untrusted code. More...
 
class  EntryHandler
 Callback structure for dispatching messages passed to the enclave. More...
 
class  ExitHandler
 Callback structure for dispatching messages from the enclave. More...
 
class  Extent
 A extent object suitable for sharing address ranges between trusted and untrusted code. More...
 
class  PrimitiveStatus
 Shared representation of a status code across the enclave boundary. More...
 
class  TrustedPrimitives
 Trusted runtime primitive interface. More...
 
class  UntrustedDeleter
 Deleter for untrusted memory for use with std::unique_ptr. More...
 

Typedefs

using ExtentAllocator = std::function< primitives::Extent(size_t)>
 The callback signature for a function which performs custom allocation of an Extent. More...
 
template<typename T >
using UntrustedUniquePtr = std::unique_ptr< T, UntrustedDeleter >
 An alias for unique_ptr that frees data with UntrustedDeleter. More...
 

Functions

template<typename Backend , typename... Args>
StatusOr< std::shared_ptr< class Client > > LoadEnclave (Args &&... args)
 Loads an enclave. More...
 

Typedef Documentation

◆ ExtentAllocator

using asylo::primitives::ExtentAllocator = typedef std::function<primitives::Extent(size_t)>

The callback signature for a function which performs custom allocation of an Extent.

◆ UntrustedUniquePtr

template<typename T >
using asylo::primitives::UntrustedUniquePtr = typedef std::unique_ptr<T, UntrustedDeleter>

An alias for unique_ptr that frees data with UntrustedDeleter.

Function Documentation

◆ LoadEnclave()

template<typename Backend , typename... Args>
StatusOr<std::shared_ptr<class Client> > asylo::primitives::LoadEnclave ( Args &&...  args)

Loads an enclave.

This template function should be instantiated with an "Enclave Backend" parameter exported by a concrete implementation of the "Backend" concept.