Expand description
This file was generated by the following commands and modified manually.
$ bindgen virtio_iommu.h \
--allowlist-type "virtio_iommu.*" \
--allowlist-var "VIRTIO_IOMMU_.*" \
--with-derive-default \
--no-layout-tests \
--no-prepend-enum-name > protocol.rs
$ sed -i "s/__u/u/g" protocol.rs
$ sed -i "s/__le/Le/g" protocol.rs
The main points of the manual modifications are as follows:
* Removed `head` and `tail` from each command struct. Instead, we process
them as separate payloads.
* Derive implementations of zerocopy traits as needed.
* Use of `packed` because removing `head` and `tail` introduces paddings
* Remove `IncompleteArrayField`
* Convert padding of [u8; 64usize] to [u64; 8usize]. According to the rust
doc, "Arrays of sizes from 0 to 32 (inclusive) implement the Default trait
if the element type allows it."Structs§
- virtio_
iommu_ config - virtio_
iommu_ fault - virtio_
iommu_ probe_ property - virtio_
iommu_ probe_ resv_ mem - virtio_
iommu_ range_ 32 - virtio_
iommu_ range_ 64 - virtio_
iommu_ req_ attach - virtio_
iommu_ req_ detach - virtio_
iommu_ req_ head - virtio_
iommu_ req_ map - virtio_
iommu_ req_ probe - virtio_
iommu_ req_ tail - virtio_
iommu_ req_ unmap
Constants§
- VIRTIO_
IOMMU_ FAULT_ F_ ADDRESS - VIRTIO_
IOMMU_ FAULT_ F_ EXEC - VIRTIO_
IOMMU_ FAULT_ F_ READ - VIRTIO_
IOMMU_ FAULT_ F_ WRITE - VIRTIO_
IOMMU_ FAULT_ R_ DOMAIN - VIRTIO_
IOMMU_ FAULT_ R_ MAPPING - VIRTIO_
IOMMU_ FAULT_ R_ UNKNOWN - VIRTIO_
IOMMU_ F_ BYPASS - VIRTIO_
IOMMU_ F_ DOMAIN_ RANGE - VIRTIO_
IOMMU_ F_ INPUT_ RANGE - VIRTIO_
IOMMU_ F_ MAP_ UNMAP - VIRTIO_
IOMMU_ F_ MMIO - VIRTIO_
IOMMU_ F_ PROBE - VIRTIO_
IOMMU_ MAP_ F_ MASK - VIRTIO_
IOMMU_ MAP_ F_ MMIO - VIRTIO_
IOMMU_ MAP_ F_ READ - VIRTIO_
IOMMU_ MAP_ F_ WRITE - VIRTIO_
IOMMU_ PROBE_ T_ MASK - VIRTIO_
IOMMU_ PROBE_ T_ NONE - VIRTIO_
IOMMU_ PROBE_ T_ RESV_ MEM - VIRTIO_
IOMMU_ RESV_ MEM_ T_ MSI - VIRTIO_
IOMMU_ RESV_ MEM_ T_ RESERVED - VIRTIO_
IOMMU_ S_ DEVERR - VIRTIO_
IOMMU_ S_ FAULT - VIRTIO_
IOMMU_ S_ INVAL - VIRTIO_
IOMMU_ S_ IOERR - VIRTIO_
IOMMU_ S_ NOENT - VIRTIO_
IOMMU_ S_ NOMEM - VIRTIO_
IOMMU_ S_ OK - VIRTIO_
IOMMU_ S_ RANGE - VIRTIO_
IOMMU_ S_ UNSUPP - VIRTIO_
IOMMU_ T_ ATTACH - VIRTIO_
IOMMU_ T_ DETACH - VIRTIO_
IOMMU_ T_ MAP - VIRTIO_
IOMMU_ T_ PROBE - VIRTIO_
IOMMU_ T_ UNMAP