Open Enclave  0.17.0
properties.h
Go to the documentation of this file.
1 // Copyright (c) Open Enclave SDK contributors.
2 // Licensed under the MIT License.
3 
14 #ifndef _OE_BITS_PROPERTIES_H
15 #define _OE_BITS_PROPERTIES_H
16 
17 #include "defs.h"
18 #include "result.h"
19 #include "types.h"
20 
21 OE_EXTERNC_BEGIN
22 
26 /* Injected by OE_SET_ENCLAVE_SGX macro and by the signing tool (oesign) */
27 #define OE_INFO_SECTION_NAME ".oeinfo"
28 
29 typedef struct _oe_enclave_size_settings
30 {
31  uint64_t num_heap_pages;
32  uint64_t num_stack_pages;
33  uint64_t num_tcs;
34 } oe_enclave_size_settings_t;
35 
36 /* Base type for enclave properties */
37 typedef struct _oe_enclave_properties_header
38 {
39  uint32_t size;
41  oe_enclave_type_t enclave_type;
43  oe_enclave_size_settings_t size_settings;
44 } oe_enclave_properties_header_t;
45 
54 #if __x86_64__ || _M_X64
55 #include "sgx/sgxproperties.h"
56 #else
57 #define OE_SET_ENCLAVE_SGX( \
58  PRODUCT_ID, \
59  SECURITY_VERSION, \
60  ALLOW_DEBUG, \
61  HEAP_PAGE_COUNT, \
62  STACK_PAGE_COUNT, \
63  TCS_COUNT)
64 #endif
65 
66 #if __aarch64__
67 #include "optee/opteeproperties.h"
68 #else
69 #define OE_SET_ENCLAVE_OPTEE( \
70  UUID, HEAP_SIZE, STACK_SIZE, FLAGS, VERSION, DESCRIPTION)
71 #endif
72 
85 oe_result_t __oe_sgx_set_minimum_crl_tcb_issue_date(
86  uint32_t year,
87  uint32_t month,
88  uint32_t day,
89  uint32_t hours,
90  uint32_t minutes,
91  uint32_t seconds);
92 
96 OE_EXTERNC_END
97 
98 #endif /* _OE_BITS_PROPERTIES_H */
This file defines the types used by the OE SDK.
enum _oe_enclave_type oe_enclave_type_t
This enumeration defines values for the type parameter passed to oe_create_enclave().
This file defines Open Enclave return codes (results).
enum _oe_result oe_result_t
This enumeration type defines return codes for Open Enclave functions.