Skip to main content

hyperlight_common/
lib.rs

1// SPDX-License-Identifier: Apache-2.0
2// Copyright 2025 The Hyperlight Authors.
3
4#![cfg_attr(not(any(test, debug_assertions)), warn(clippy::panic))]
5#![cfg_attr(not(any(test, debug_assertions)), warn(clippy::expect_used))]
6#![cfg_attr(not(any(test, debug_assertions)), warn(clippy::unwrap_used))]
7// We use Arbitrary during fuzzing, which requires std
8#![cfg_attr(not(any(feature = "fuzzing", test, miri)), no_std)]
9
10extern crate alloc;
11
12/// cbindgen:ignore
13/// Support types for the bindings that `{host,guest}_bindgen!` generates
14pub mod component;
15
16pub mod flatbuffer_wrappers;
17/// cbindgen:ignore
18/// FlatBuffers-related utilities and (mostly) generated code
19#[allow(clippy::all, warnings)]
20mod flatbuffers;
21// cbindgen:ignore
22pub mod layout;
23
24// cbindgen:ignore
25pub mod log_level;
26
27/// cbindgen:ignore
28pub mod mem;
29
30/// cbindgen:ignore
31pub mod outb;
32
33/// cbindgen:ignore
34pub mod resource;
35
36/// cbindgen:ignore
37pub mod func;
38
39// cbindgen:ignore
40pub mod vmem;
41
42/// ELF note types for embedding hyperlight version metadata in guest binaries.
43pub mod version_note;
44
45/// cbindgen:ignore
46pub mod virtq;
47
48/// cbindgen:ignore
49pub mod arch {
50    #[cfg(target_arch = "aarch64")]
51    #[path = "aarch64/exn.rs"]
52    pub mod exn;
53}