Skip to main content

nub_host_kvm/sandbox/
mod.rs

1/*
2Copyright 2025  The Hyperlight Authors.
3
4Licensed under the Apache License, Version 2.0 (the "License");
5you may not use this file except in compliance with the License.
6You may obtain a copy of the License at
7
8    http://www.apache.org/licenses/LICENSE-2.0
9
10Unless required by applicable law or agreed to in writing, software
11distributed under the License is distributed on an "AS IS" BASIS,
12WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13See the License for the specific language governing permissions and
14limitations under the License.
15*/
16
17/// Configuration needed to establish a sandbox.
18pub mod config;
19/// Functionality for reading, but not modifying host functions
20pub(crate) mod host_funcs;
21/// Functionality for dealing with initialized sandboxes that can
22/// call 0 or more guest functions
23pub mod initialized_multi_use;
24pub(crate) mod outb;
25/// Functionality for creating uninitialized sandboxes, manipulating them,
26/// and converting them to initialized sandboxes.
27pub mod uninitialized;
28/// Functionality for properly converting `UninitializedSandbox`es to
29/// initialized `Sandbox`es.
30pub(crate) mod uninitialized_evolve;
31
32/// Representation of a snapshot of a `Sandbox`.
33pub mod snapshot;
34
35// F2.2: dropped the `trace/` submodule (OpenTelemetry guest tracing).
36
37/// Re-export for `SandboxConfiguration` type
38pub use config::SandboxConfiguration;
39/// Re-export for the `MultiUseSandbox` type
40pub use initialized_multi_use::MultiUseSandbox;
41/// Re-export for `GuestBinary` type
42pub use uninitialized::GuestBinary;
43/// Re-export for `UninitializedSandbox` type
44pub use uninitialized::UninitializedSandbox;