4
0
Fork
You've already forked wdi-rs
1
Rust interface to libwdi
  • Rust 100%
Piotr Esden-Tempski f725c94092
Some checks failed
ci/woodpecker/pr/build-windows Pipeline was successful
ci/woodpecker/push/build-windows Pipeline failed
coc: Added abuse contact.
2026年06月20日 14:47:06 -07:00
.codeberg/ci codeberg: Provide the extra environment variable needed for bindgen to find the Windows SDK 2026年03月06日 12:23:40 +00:00
libwdi-sys libwdi-sys/build: Gated the libclang find logic behind a compiler check - if we're on clang-cl then there's no need to go digging for libclang 2026年03月06日 11:17:54 +00:00
src misc: Added licensing information to the main corpus of code in the repo 2023年08月20日 13:20:25 -07:00
.gitignore misc: Added .vscode to the Git ignores 2023年08月20日 13:24:28 -07:00
.gitmodules Initial commit 2022年07月14日 05:28:31 -06:00
Cargo.lock cargo: Bumped the crate versions to allow a new release to be made 2026年03月05日 03:46:03 +00:00
Cargo.toml cargo: Bumped the crate versions to allow a new release to be made 2026年03月05日 03:46:03 +00:00
CODE_OF_CONDUCT.md coc: Added abuse contact. 2026年06月20日 14:47:06 -07:00
LICENSE misc: Added license files to the top of the repo 2023年08月20日 13:20:25 -07:00
LICENSE-MIT misc: Added license files to the top of the repo 2023年08月20日 13:20:25 -07:00
README.md cargo: Bumped the crate versions to allow a new release to be made 2026年03月05日 03:46:03 +00:00

wdi-rs — A safe Rust wrapper for libwdi

Warning: this crate is extremely work in progress and the actual wrapping is very bare bones. The functionality implemented exists almost entirely for bmputil.

Cross compilation

Considerable effort has been put into libwdi-sys's build script to ensure cross compilation works as seamlessly as possible. It will, however, require an existing Windows target cross toolchain setup, but cargo-xwin can take care of most of that for you.

The only other requirement is the Windows 8.0 Driver Kit redistributable components, with the environment variable WDK_DIR set to the path it's been extracted to, e.g. export WDK_DIR=/opt/wdk/8.0.

libusb-win32 and libusbK support

By default, the library provides WinUSB support only. Two other drivers are supported by libusb0 and libusbk features. The only requirement is to provide driver paths through environment variables (respectively, LIBUSB0_DIR and LIBUSBK_DIR).