lexe_enclave/lib.rs
1//! low-level SGX enclave types, constants, and platform functions.
2//!
3//! This crate tries to be dependency minimized, so other crates can
4//! use types like `Measurement` with also pulling in a huge number of other
5//! heavy dependencies.
6
7/// Basic heap allocator instrumentation for SGX enclaves.
8pub mod allocator;
9
10// Re-export in this `enclave` module for nicer namespacing, e.g.,
11// `enclave::measurement()` vs just `measurement()`.
12pub mod enclave {
13 pub use crate::{platform::*, types::*};
14
15 pub mod dev {
16 pub use crate::dev::*;
17 }
18}
19
20/// Dev enclave identity patching.
21mod dev;
22/// SGX platform functions, e.g., `measurement()`, `machine_id()`, ...
23mod platform;
24/// SGX enclave types, e.g., `Measurement`, `MachineId`, ...
25mod types;