#kvm

kvm-bindings

Rust FFI bindings to KVM generated using bindgen

4 releases (2 breaking)

Uses old Rust 2015

0.3.0 Jul 21, 2020
0.2.0 Nov 6, 2019
0.1.1 Jan 24, 2019
0.1.0 Jan 21, 2019

#46 in FFI

Download history 457/week @ 2020-04-08 586/week @ 2020-04-15 729/week @ 2020-04-22 899/week @ 2020-04-29 949/week @ 2020-05-06 890/week @ 2020-05-13 1285/week @ 2020-05-20 420/week @ 2020-05-27 642/week @ 2020-06-03 382/week @ 2020-06-10 709/week @ 2020-06-17 530/week @ 2020-06-24 452/week @ 2020-07-01 203/week @ 2020-07-08 266/week @ 2020-07-15 247/week @ 2020-07-22

2,735 downloads per month
Used in 2 crates

Apache-2.0

1.5MB
51K SLoC

Build Status Crates.io

kvm-bindings

Rust FFI bindings to KVM generated using bindgen. It currently has support for the following target architectures:

  • x86
  • x86_64
  • arm
  • arm64

Usage

First, add the following to your Cargo.toml:

kvm-bindings = "0.1"

Next, add this to your crate root:

extern crate kvm_bindings;

By default kvm-bindings will export a wrapper over the latest available kernel version (4.20), but you can select a different version by specifying it in your toml:

kvm-bindings = { version = "0.1", features = ["kvm_v4_20_0"]}

Bindings are generated for each specific Linux kernel version based on the enabled crate features as follows:

  • kvm_v4_14_0 contains the bindings for the Linux kernel version 4.14
  • kvm_v4_20_0 contains the bindings for the Linux kernel version 4.20

This crate also offers safe wrappers over FAM structs - FFI structs that have a Flexible Array Member in their definition. These safe wrappers can be used if the fam-wrappers feature is enabled for this crate. Example:

kvm-bindings = { version = "0.1", features = ["kvm_v4_20_0", "fam-wrappers"]}

Dependencies

The crate has an optional dependency to vmm-sys-util when enabling the fam-wrappers feature.

Dependencies