Skip to main content

virtio_accel_transport/
lib.rs

1//! Portable descriptor-chain, queue, and notification contracts.
2//!
3//! This crate owns no guest addresses, mappings, ring layout, threads, or global runtime. Concrete
4//! transports retain those details and expose only validated chain metadata plus owned queue tokens.
5
6#![no_std]
7#![forbid(unsafe_code)]
8
9mod bytes;
10mod queue;
11mod regions;
12
13pub use bytes::{ByteAccessError, DriverChainBuffer, ReadableBytes, WritableBytes};
14pub use queue::{
15    ChainError, ChainId, ChainIo, ChainIoResult, DeviceChain, DeviceQueue, DriverQueue,
16    MAX_SPLIT_QUEUE_SIZE, MalformedChain, NotificationHint, NotificationRecheck, PublishError,
17    PublishErrorKind, PublishedChain, QueueConfigError, QueueControl, QueueEpoch, QueueError,
18    QueuePort, QueueSize, QueueState, ReclaimedChain, UsedChain, UsedLength,
19};
20pub use regions::{
21    ChainLayout, ChainLayoutError, ChainRegion, RegionDirection, validate_chain_layout,
22};