Skip to main content

virtio_accel_guest/
lib.rs

1//! No-std reference driver for portable virtio-accel protocol 1.0.
2//!
3//! Callers provide complete driver-owned chains. The client writes exact request frames into those
4//! chains, tracks bounded in-flight ownership, and validates all device-written bytes after used
5//! reclamation. It names no VMM, guest-memory library, operating system, or device backend.
6
7#![no_std]
8#![forbid(unsafe_code)]
9
10extern crate alloc;
11
12mod client;
13mod config;
14mod operation;
15mod types;
16
17pub use client::{
18    ClientHealth, ClientInitError, Completion, GuestClient, Pending, PumpResult, QueueSetupError,
19    RequestPoll, StaleOperation, StartError, StartErrorKind, StartResult,
20};
21pub use config::{GuestConfig, GuestConfigError};
22pub use operation::{
23    AllocateBuffer, CancelEvent, CreateContext, CreateExecutionQueue, DestroyContext, DestroyEvent,
24    DestroyExecutionQueue, FreeBuffer, GetDeviceInfo, LoadProgram, Operation, PollEvent,
25    ReadBuffer, ResponseError, Submit, UnloadProgram, WriteBuffer,
26};
27pub use types::{
28    AccessMode, Binding, Buffer, BufferDesc, BufferRange, BufferUsage, Context, DeviceInfo,
29    DeviceInfoError, Event, EventState, ExecutionQueue, FailureDisposition, MemoryDomain, Program,
30    ProgramDesc, ReadBufferOutput, SubmissionOutcome, ValueError,
31};