00cf51d610
The shared host<->driver ABI crate already contains more than the virtual display: the IDD-push frame ring + control plane AND the gamepad shared-memory layouts (XusbShm / PadShm). "pf-vdisplay-proto" was a misnomer — the name now represents all the drivers it serves. Mechanical rename, no behavior change: - git mv crates/pf-vdisplay-proto -> crates/pf-driver-proto (package name + path-deps in the host crate and the driver workspace). - pf_vdisplay_proto -> pf_driver_proto across host + driver Rust, both Cargo.lock files, the workspace members, the CI path triggers (windows-drivers.yml), and the docs/INF comments. The runtime Global\pfvd-* shared-object names are a SEPARATE contract and are deliberately untouched (host<->driver name matching). - The pf-vdisplay DRIVER crate + its INF service name (Root\pf_vdisplay, UmdfService=pf_vdisplay, pf_vdisplay.dll) are unchanged — only the full `pf_vdisplay_proto` token was replaced, never the `pf_vdisplay` driver name. Linux-verified: cargo test -p pf-driver-proto (const size-asserts compile) + cargo clippy -p punktfunk-host -D warnings clean; Cargo.lock regenerated. The driver-workspace side (path-dep + imports + its Cargo.lock) is Windows-CI-gated. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
21 lines
1.2 KiB
TOML
21 lines
1.2 KiB
TOML
# Shared host<->driver binary contract for the punktfunk pf-vdisplay virtual display.
|
|
#
|
|
# Deliberately self-contained (no `*.workspace = true` inheritance, no Windows deps): this crate is a
|
|
# path dependency of BOTH the host workspace (crates/punktfunk-host) AND the out-of-workspace driver
|
|
# workspace (packaging/windows/drivers/), so it must resolve identically from either build graph. It is
|
|
# `no_std` (+ alloc) and platform-neutral; the GUID/LUID are plain integers each side converts to its
|
|
# own OS type. Defining every wire struct ONCE here — with `const` size/offset asserts + bytemuck
|
|
# round-trips — makes host<->driver ABI drift a COMPILE error instead of a silent frame/IOCTL corruption.
|
|
[package]
|
|
name = "pf-driver-proto"
|
|
version = "0.0.1"
|
|
edition = "2021"
|
|
rust-version = "1.82"
|
|
license = "MIT OR Apache-2.0"
|
|
description = "Shared host<->driver binary contract for the punktfunk pf-vdisplay virtual display (control IOCTLs + IDD-push frame transport)."
|
|
publish = false
|
|
|
|
[dependencies]
|
|
# `min_const_generics`: Pod/Zeroable for `[u8; N]` of any N (the gamepad SHM reserved tails are >32).
|
|
bytemuck = { version = "1.19", features = ["derive", "min_const_generics"] }
|