miri/shims/
mod.rs

1#![warn(clippy::arithmetic_side_effects)]
2
3mod aarch64;
4mod alloc;
5mod backtrace;
6mod files;
7#[cfg(unix)]
8mod native_lib;
9mod unix;
10mod wasi;
11mod windows;
12mod x86;
13
14pub mod env;
15pub mod extern_static;
16pub mod foreign_items;
17pub mod global_ctor;
18pub mod io_error;
19pub mod os_str;
20pub mod panic;
21pub mod time;
22pub mod tls;
23pub mod unwind;
24
25pub use self::files::FdTable;
26#[cfg(target_os = "linux")]
27pub use self::native_lib::trace::{init_sv, register_retcode_sv};
28pub use self::unix::{DirTable, EpollInterestTable};
29
30/// What needs to be done after emulating an item (a shim or an intrinsic) is done.
31pub enum EmulateItemResult {
32    /// The caller is expected to jump to the return block.
33    NeedsReturn,
34    /// The caller is expected to jump to the unwind block.
35    NeedsUnwind,
36    /// Jumping to the next block has already been taken care of.
37    AlreadyJumped,
38    /// The item is not supported.
39    NotSupported,
40}