14 #ifndef _OE_BITS_PROPERTIES_H 15 #define _OE_BITS_PROPERTIES_H 27 #define OE_INFO_SECTION_NAME ".oeinfo" 30 #define OE_SGX_MAX_TCS 32 32 typedef struct _oe_enclave_size_settings
34 uint64_t num_heap_pages;
35 uint64_t num_stack_pages;
37 } oe_enclave_size_settings_t;
40 typedef struct _oe_enclave_properties_header
44 oe_enclave_type_t enclave_type;
46 oe_enclave_size_settings_t size_settings;
47 } oe_enclave_properties_header_t;
50 #define OE_SGX_FLAGS_DEBUG 0x0000000000000002ULL 51 #define OE_SGX_FLAGS_MODE64BIT 0x0000000000000004ULL 52 #define OE_SGX_SIGSTRUCT_SIZE 1808 54 typedef struct oe_sgx_enclave_config_t
57 uint16_t security_version;
64 } oe_sgx_enclave_config_t;
67 typedef struct oe_sgx_enclave_properties_t
70 oe_enclave_properties_header_t header;
73 oe_sgx_enclave_config_t config;
76 uint8_t sigstruct[OE_SGX_SIGSTRUCT_SIZE];
77 } oe_sgx_enclave_properties_t;
79 #define OE_INFO_SECTION_BEGIN __attribute__((section(".oeinfo"))) 80 #define OE_INFO_SECTION_END 82 #define OE_MAKE_ATTRIBUTES(ALLOW_DEBUG) \ 83 (OE_SGX_FLAGS_MODE64BIT | (ALLOW_DEBUG ? OE_SGX_FLAGS_DEBUG : 0)) 113 #define OE_SET_ENCLAVE_SGX( \ 120 OE_INFO_SECTION_BEGIN \ 121 OE_EXPORT_CONST oe_sgx_enclave_properties_t oe_enclave_properties_sgx = \ 125 .size = sizeof(oe_sgx_enclave_properties_t), \ 126 .enclave_type = OE_ENCLAVE_TYPE_SGX, \ 129 .num_heap_pages = HEAP_PAGE_COUNT, \ 130 .num_stack_pages = STACK_PAGE_COUNT, \ 131 .num_tcs = TCS_COUNT \ 136 .product_id = PRODUCT_ID, \ 137 .security_version = SECURITY_VERSION, \ 139 .attributes = OE_MAKE_ATTRIBUTES(ALLOW_DEBUG) \ This file defines Open Enclave return codes (results).
enum _oe_result oe_result_t
This enumeration type defines return codes for Open Enclave functions.
oe_result_t __oe_sgx_set_minimum_crl_tcb_issue_date(uint32_t year, uint32_t month, uint32_t day, uint32_t hours, uint32_t minutes, uint32_t seconds)
This function sets the minimum value of issue dates of CRL and TCB info accepted by the enclave...