Module memflow::os

source · []
Expand description

Describes an operating system in high level.

Currently there are 3 key parts describing an OS, each subsetting the previous level:

  • OS
  • Process
  • ModuleInfo

OS abstracts away the very root of the system. Often times, the underlying object is a OS kernel, but it should not be a concern, because it is designed to also work with various non-OS systems like UEFI firmware, as well as pseudo implementations that use native system calls.

Process abstracts away a single process. It provides memory access, module lists, and more.

ModuleInfo currently is just an information block, without any memory access, or special functions. It might be wise to implement helpers for exported functions, memory protection flags, and other things concerned with individual modules.

Re-exports

pub use keyboard::Keyboard;
pub use keyboard::KeyboardState;
pub use keyboard::OsKeyboard;
pub use keyboard::OsKeyboardInner;
pub use module::ExportCallback;
pub use module::ExportInfo;
pub use module::ImportCallback;
pub use module::ImportInfo;
pub use module::ModuleAddressCallback;
pub use module::ModuleAddressInfo;
pub use module::ModuleInfo;
pub use module::ModuleInfoCallback;
pub use module::SectionCallback;
pub use module::SectionInfo;
pub use process::Pid;
pub use process::Process;
pub use process::ProcessInfo;
pub use process::ProcessInfoCallback;
pub use process::ProcessState;
pub use root::Os;
pub use root::OsInfo;
pub use root::OsInner;

Modules

Describes optional keyboard input for a Operating System

Describes modules

Describes process context

Describes the root of the Operating System

Helpers for implementing several OS functions.

Type Definitions