#![cfg_attr(doc_cfg, feature(doc_cfg))]
#[doc(inline)]
pub use panda_sys as sys;
#[doc(hidden)]
pub use panda_macros as cbs;
#[doc(inline)]
pub use plugins::hooks::hook;
#[doc(hidden)]
pub use {inventory, lazy_static, once_cell, paste};
#[doc(hidden)]
extern crate self as panda;
pub mod abi;
pub mod on_sys;
mod library_mode;
pub use library_mode::*;
mod guest_ptr;
pub use guest_ptr::*;
mod api;
pub use api::*;
mod arch;
pub use arch::*;
mod error;
pub use error::*;
mod callbacks;
pub use callbacks::*;
mod init_return;
pub use init_return::InitReturn;
pub mod panda_arg;
#[doc(inline)]
pub use panda_arg::PandaArgs;
pub mod enums;
pub mod plugins;
pub mod taint;
#[cfg_attr(doc_cfg, doc(cfg(feature = "syscall-injection")))]
#[cfg(all(feature = "syscall-injection", not(feature = "ppc")))]
pub mod syscall_injection;
pub use enums::arch::*;
pub mod prelude {
pub use crate::panda_arg::PandaArgs;
pub use crate::regs::SyscallPc;
pub use crate::sys::target_long;
pub use crate::sys::target_pid_t;
pub use crate::sys::target_ptr_t;
pub use crate::sys::target_ulong;
pub use crate::sys::CPUState;
pub use crate::sys::TranslationBlock;
pub use crate::Panda;
pub use crate::PluginHandle;
pub use panda_macros::PandaArgs;
}
#[cfg(not(feature = "ppc"))]
pub use panda_macros::{on_all_sys_enter, on_all_sys_return};
pub use panda_macros::{
after_block_exec, after_block_translate, after_cpu_exec_enter, after_insn_exec,
after_insn_translate, after_loadvm, after_machine_init, asid_changed, before_block_exec,
before_block_exec_invalidate_opt, before_block_translate, before_cpu_exec_exit,
before_handle_exception, before_handle_interrupt, before_loadvm, before_tcg_codegen,
cpu_restore_state, during_machine_init, end_block_exec, guest_hypercall, hd_read, hd_write,
hook, init, insn_exec, insn_translate, main_loop_wait, mmio_after_read, mmio_before_write,
monitor, on_mmap_updated, on_process_end, on_process_start, on_rec_auxv, on_thread_end,
on_thread_start, phys_mem_after_read, phys_mem_after_write, phys_mem_before_read,
phys_mem_before_write, pre_shutdown, replay_after_dma, replay_before_dma, replay_handle_packet,
replay_hd_transfer, replay_net_transfer, replay_serial_read, replay_serial_receive,
replay_serial_send, replay_serial_write, start_block_exec, top_loop, unassigned_io_read,
unassigned_io_write, uninit, virt_mem_after_read, virt_mem_after_write, virt_mem_before_read,
virt_mem_before_write, GuestType,
};