This crate contains several things right now:
- Common structs that are used at API boundaries of higher-level crates
Putting the structs in
common
instead of in a larger crate allows to break dependencies, and minimize the amount of code that compiles asstd
andno_std
. - Common error types, used at API boundaries. The rationale is similar.
- Forward declarations of functionality that is "common" to both inside and outside
the enclave. For instance,
mchash
andmc-util-serial
types are forwarded from thecommon
crate. This avoids needing to list these dependencies explicitly in all of the high level targets that use them. - Constants associated to attestation. These appear in
ias_settings
module. - Utility functions such as
for_each_set_bit
, which appears inbits
module.