Open Enclave
Macros | Functions
host.h File Reference

This file defines the programming interface for developing host applications. More...

#include <stdarg.h>
#include <stddef.h>
#include <stdint.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "bits/defs.h"
#include "bits/report.h"
#include "bits/result.h"
#include "bits/types.h"

Go to the source code of this file.

Macros

#define OE_ENCLAVE_FLAG_DEBUG   0x00000001
 Flag passed into oe_create_enclave to run the enclave in debug mode.
 
#define OE_ENCLAVE_FLAG_SIMULATE   0x00000002
 Flag passed into oe_create_enclave to run the enclave in simulation mode.
 

Functions

oe_result_t oe_create_enclave (const char *path, oe_enclave_type_t type, uint32_t flags, const void *config, uint32_t config_size, oe_enclave_t **enclave)
 Create an enclave from an enclave image file. More...
 
oe_result_t oe_terminate_enclave (oe_enclave_t *enclave)
 Terminate an enclave and reclaims its resources. More...
 
oe_result_t oe_call_enclave (oe_enclave_t *enclave, const char *func, void *args)
 Perform a high-level enclave function call (ECALL). More...
 
oe_result_t oe_get_report (oe_enclave_t *enclave, uint32_t flags, const void *opt_params, size_t opt_params_size, uint8_t *report_buffer, size_t *report_buffer_size)
 Get a report signed by the enclave platform for use in attestation. More...
 
oe_result_t oe_get_target_info (const uint8_t *report, size_t report_size, void *target_info_buffer, size_t *target_info_size)
 Extracts additional platform specific data from the report and writes it to target_info_buffer. More...
 
oe_result_t oe_parse_report (const uint8_t *report, size_t report_size, oe_report_t *parsed_report)
 Parse an enclave report into a standard format for reading. More...
 
oe_result_t oe_verify_report (oe_enclave_t *enclave, const uint8_t *report, size_t report_size, oe_report_t *parsed_report)
 Verify the integrity of the report and its signature. More...
 

Detailed Description

This file defines the programming interface for developing host applications.