[package]
edition = "2024"
rust-version = "1.85.0"
name = "vmi"
version = "0.4.0"
authors = ["Petr Benes <w.benny@outlook.com>"]
build = false
publish = true
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "A modular and extensible library for Virtual Machine Introspection"
homepage = "https://github.com/vmi-rs/vmi"
readme = "README.md"
keywords = [
"vmi",
"introspection",
"xen",
]
categories = ["virtualization"]
license = "MIT"
repository = "https://github.com/vmi-rs/vmi"
resolver = "2"
[package.metadata.docs.rs]
all-features = true
cargo-args = [
"-Zunstable-options",
"-Zrustdoc-scrape-examples",
]
rustdoc-args = [
"-Zunstable-options",
"--generate-link-to-definition",
"--cfg",
"docsrs",
]
[features]
arch-amd64 = [
"vmi-arch-amd64",
"vmi-utils?/arch-amd64",
]
default = [
"arch-amd64",
"driver-kdmp",
"driver-xen",
"driver-xen-core-dump",
"os-linux",
"os-windows",
"utils",
]
driver-kdmp = ["vmi-driver-kdmp"]
driver-xen = ["vmi-driver-xen"]
driver-xen-core-dump = ["vmi-driver-xen-core-dump"]
os-linux = ["vmi-os-linux"]
os-windows = [
"vmi-os-windows",
"vmi-utils?/os-windows",
]
utils = ["vmi-utils"]
[lib]
name = "vmi"
path = "src/lib.rs"
[[example]]
name = "basic"
path = "examples/basic.rs"
doc-scrape-examples = true
[[example]]
name = "basic-process-list"
path = "examples/basic-process-list.rs"
doc-scrape-examples = true
[[example]]
name = "windows-breakpoint-manager"
path = "examples/windows-breakpoint-manager.rs"
doc-scrape-examples = true
[[example]]
name = "windows-dump"
path = "examples/windows-dump.rs"
doc-scrape-examples = true
[[example]]
name = "windows-recipe-messagebox"
path = "examples/windows-recipe-messagebox.rs"
doc-scrape-examples = true
[[example]]
name = "windows-recipe-writefile"
path = "examples/windows-recipe-writefile.rs"
doc-scrape-examples = true
[[example]]
name = "windows-recipe-writefile-advanced"
path = "examples/windows-recipe-writefile-advanced.rs"
doc-scrape-examples = true
[dependencies.indexmap]
version = "2"
[dependencies.isr-core]
version = "0.4.0"
[dependencies.isr-macros]
version = "0.4.0"
[dependencies.tracing]
version = "0.1"
[dependencies.vmi-arch-amd64]
version = "0.4.0"
optional = true
[dependencies.vmi-core]
version = "0.4.0"
[dependencies.vmi-driver-kdmp]
version = "0.4.0"
optional = true
[dependencies.vmi-driver-xen]
version = "0.4.0"
optional = true
[dependencies.vmi-driver-xen-core-dump]
version = "0.4.0"
optional = true
[dependencies.vmi-os-linux]
version = "0.4.0"
optional = true
[dependencies.vmi-os-windows]
version = "0.4.0"
optional = true
[dependencies.vmi-utils]
version = "0.4.0"
optional = true
[dependencies.zerocopy]
version = "0.8"
[dev-dependencies.isr]
version = "0.4.0"
[dev-dependencies.signal-hook]
version = "0.3"
[dev-dependencies.tracing]
version = "0.1"
[dev-dependencies.tracing-subscriber]
version = "0.3"
[dev-dependencies.vmi-arch-amd64]
version = "0.4.0"
[dev-dependencies.vmi-core]
version = "0.4.0"
[dev-dependencies.vmi-driver-kdmp]
version = "0.4.0"
[dev-dependencies.vmi-driver-xen]
version = "0.4.0"
[dev-dependencies.vmi-driver-xen-core-dump]
version = "0.4.0"
[dev-dependencies.vmi-os-linux]
version = "0.4.0"
[dev-dependencies.vmi-os-windows]
version = "0.4.0"
[dev-dependencies.xen]
version = "0.4.0"
package = "libxen"
[dev-dependencies.zerocopy]
version = "0.8"
[profile.release]
debug = 1