[package]
name = "microvmi"
version = "0.3.13"
authors = ["Mathieu Tarral <mathieu.tarral@protonmail.com>"]
edition = "2018"
description = "A cross-platform, unified, low-level VM introspection API supporting multiple hypervisors"
readme = "README.md"
homepage = "https://github.com/Wenzel/libmicrovmi"
repository = "https://github.com/Wenzel/libmicrovmi"
license = "GPL-3.0-only"
keywords = ["introspection", "VMI"]
[lib]
crate-type = ["cdylib", "lib"]
[features]
xen = [
"xenctrl",
"xenstore-rs",
"xenforeignmemory",
"xenevtchn",
"xenvmevent-sys",
"libc",
]
kvm = ["kvmi"]
virtualbox = ["fdp"]
mflow = ["memflow"]
[dependencies]
env_logger = "0.9.0"
log = "0.4.8"
bitflags = "1.2.1"
cty = "0.2.1"
nix = "^0.23.0"
enum-iterator = "0.7.0"
thiserror = "1.0"
libc = { version = "0.2.58", optional = true }
xenctrl = { version = "=0.6.0", optional = true }
xenstore-rs = { version = "=0.3.2", optional = true }
xenforeignmemory = { version = "=0.2.3", optional = true }
xenevtchn = { version = "=0.1.6", optional = true }
xenvmevent-sys = { version = "=0.1.3", optional = true }
kvmi = { version = "0.4.0", optional = true }
fdp = { version = "=0.2.5", optional = true }
winapi = { version = "0.3", features = [
"tlhelp32",
"winnt",
"handleapi",
"securitybaseapi",
], optional = true }
widestring = { version = "0.4", optional = true }
ntapi = { version = "0.3", optional = true }
vid-sys = { version = "=0.3.0", features = [
"deprecated-apis",
], optional = true }
memflow = { version = "0.2.1", optional = true }
[dev-dependencies]
utilities = { path = "utilities" }
ctrlc = "3.1"
clap = "2.33"
colored = "2.0"
mockall = "0.10.2"
test-case = "1"
indicatif = "0.16.2"
inventory = "0.2.0"
[build-dependencies]
cbindgen = "0.20.0"
[profile.release]
debug = true
[[test]]
name = "integration"
path = "tests/integration.rs"
harness = false
[package.metadata.deb]
extended-description = "A simple virtual machine introspection library providing a cross-platform interface on multiple hypervisors"
depends = "libc6 (>= 2.19)"
section = "libs"
priority = "optional"
assets = [
[
"target/release/libmicrovmi.so",
"usr/lib/libmicrovmi.so",
"644",
],
[
"target/release/capi/libmicrovmi.h",
"usr/include/libmicrovmi.h",
"644",
],
]
[package.metadata.release]
publish = false
[workspace]
members = ["python"]