#![no_std]
extern crate alloc;
#[cfg(test)]
extern crate ax_runtime as _;
#[cfg(test)]
extern crate std;
pub mod config;
pub mod constants;
mod device_type;
pub mod error;
pub mod memory;
pub mod mmio;
pub mod pci;
pub mod queue;
pub use config::VirtioConfig;
pub use constants::*;
pub use device_type::VirtioDeviceID;
pub use error::{VirtioError, VirtioResult, map_virtio_error};
pub use memory::{AddressSpaceMemory, DeviceContextMemory, GuestMemory, NoGuestMemoryAccessor};
pub use mmio::state::{MmioReadOutcome, MmioWriteAction, VirtioMmioState};
pub use pci::{
ActivityPermit, InterruptPublicationRequest, InterruptTransitionRequest, QueueNotification,
QueueNotifyOutcome, VirtioDeviceCore, VirtioPciTransport, VirtioPciWriteOutcome,
VirtioQueueGeneration,
};
pub use queue::{DescriptorChain, VirtioQueue};