Open Enclave  0.18.0

◆ oe_create_enclave()

oe_result_t oe_create_enclave ( const char *  path,
oe_enclave_type_t  type,
uint32_t  flags,
const oe_enclave_setting_t settings,
uint32_t  setting_count,
const oe_ocall_func_t ocall_table,
uint32_t  ocall_count,
const oe_ecall_info_t ecall_name_table,
uint32_t  ecall_count,
oe_enclave_t **  enclave 
)

Create an enclave from an enclave image file.

This function creates an enclave from an enclave image file. On successful return, the enclave is fully initialized and ready to use.

Parameters
[in]pathThe path of an enclave image file in ELF-64 format. This file must have been linked with the oecore library and signed by the oesign tool.
[in]typeThe type of enclave supported by the enclave image file.
  • OE_ENCLAVE_TYPE_SGX - An SGX enclave
[in]flagsThese flags control how the enclave is run. It is the bitwise OR of zero or more of the following flags
  • OE_ENCLAVE_FLAG_SIMULATE - runs the enclave in simulation mode
  • OE_ENCLAVE_FLAG_DEBUG - runs the enclave in debug mode. DO NOT SHIP CODE with this flag
[in]settingsArray of additional enclave creation settings for the specific enclave type.
[in]setting_countThe number of settings in the settings.
[in]ocall_tablePointer to table of ocall functions generated by oeedger8r.
[in]ocall_countThe number of functions in the ocall_table.
[in]ecall_name_tableTable of ecall names.
[i]ecall_count Number of ecalls.
[out]enclaveThis points to the enclave instance upon success.
Returns
Returns OE_OK on success.