#plugin-api #qemu #low-level #virtualization #emulation

sys qemu-plugin-sys

Low level bindings to the QEMU plugin API

7 releases

9.0.0-v0 Jun 3, 2024
8.2.2-v0 Mar 11, 2024
8.2.0-v1 Jan 10, 2024
8.1.3-v4 Jan 10, 2024
8.1.3-v3 Dec 19, 2023

#299 in Emulators

24 downloads per month
Used in qemu-plugin

GPL-2.0-only

110KB
2K SLoC

QEMU-PLUGIN-SYS

Low level auto-generated FFI bindings to the QEMU Plugin API (qemu-plugin.h). This crate should not be used directly, check out the qemu-plugin crate for the idiomatic high-level bindings.

Versioning

As of QEMU 8.2.4, the QEMU plugin API has more than a single version. This enables some great features like register inspection and conditional callbacks. Versioning is implemented in the qemu-plugin-sys crate via compile-time features, because a dynamic library can only be compatible with one version at a time. To choose a version, set a listing like:

qemu-plugin-sys = { version = "9.0.0-v0", features = ["plugin-api-v2"], default-features = false }

The qemu-plugin-sys crate's default plugin version is set to the latest version that is officially released in QEMU. Currently, this is V2, released in 8.2.4 and 9.0.0. If you need a different version, you must set default-features = false.


lib.rs:

Low level bindings to the QEMU Plugin API

These bindings are generated from the QEMU source code, and should not be used directly. Instead, use the qeu-plugin crate.

No runtime deps