1#![doc = include_str!("../README.md")]
2#![no_std]
3#![deny(unsafe_code)]
4#![forbid(unused_must_use)]
5#![allow(clippy::get_first)]
6
7#[cfg(feature = "alloc")]
8extern crate alloc;
9
10#[cfg(feature = "std")]
11extern crate std;
12
13#[macro_export]
14macro_rules! static_assert {
15 ($condition:expr) => {
16 const _: () = assert!($condition);
17 };
18}
19
20pub mod abi;
21#[cfg(feature = "alloc")]
22pub mod elf;
23pub mod error;
24pub mod operation;
25pub mod program;
26pub mod utils;
27pub mod varint;
28
29#[cfg(feature = "alloc")]
30pub mod writer;
31
32#[cfg(target_arch = "x86_64")]
33pub mod zygote;
34
35pub const HOSTCALL_TRACE: u32 = 0x80000000;
37
38pub const VM_RPC_FLAG_RESET_MEMORY_AFTER_EXECUTION: u32 = 1 << 1;
40
41pub const VM_RPC_FLAG_CLEAR_PROGRAM_AFTER_EXECUTION: u32 = 1 << 2;
43
44pub const VM_RPC_FLAG_RESET_MEMORY_BEFORE_EXECUTION: u32 = 1 << 3;