#ifndef _UAPI_LINUX_VIRTIO_IOMMU_H
#define _UAPI_LINUX_VIRTIO_IOMMU_H
#include <linux/types.h>
#define VIRTIO_IOMMU_F_INPUT_RANGE …
#define VIRTIO_IOMMU_F_DOMAIN_RANGE …
#define VIRTIO_IOMMU_F_MAP_UNMAP …
#define VIRTIO_IOMMU_F_BYPASS …
#define VIRTIO_IOMMU_F_PROBE …
#define VIRTIO_IOMMU_F_MMIO …
#define VIRTIO_IOMMU_F_BYPASS_CONFIG …
struct virtio_iommu_range_64 { … };
struct virtio_iommu_range_32 { … };
struct virtio_iommu_config { … };
#define VIRTIO_IOMMU_T_ATTACH …
#define VIRTIO_IOMMU_T_DETACH …
#define VIRTIO_IOMMU_T_MAP …
#define VIRTIO_IOMMU_T_UNMAP …
#define VIRTIO_IOMMU_T_PROBE …
#define VIRTIO_IOMMU_S_OK …
#define VIRTIO_IOMMU_S_IOERR …
#define VIRTIO_IOMMU_S_UNSUPP …
#define VIRTIO_IOMMU_S_DEVERR …
#define VIRTIO_IOMMU_S_INVAL …
#define VIRTIO_IOMMU_S_RANGE …
#define VIRTIO_IOMMU_S_NOENT …
#define VIRTIO_IOMMU_S_FAULT …
#define VIRTIO_IOMMU_S_NOMEM …
struct virtio_iommu_req_head { … };
struct virtio_iommu_req_tail { … };
#define VIRTIO_IOMMU_ATTACH_F_BYPASS …
struct virtio_iommu_req_attach { … };
struct virtio_iommu_req_detach { … };
#define VIRTIO_IOMMU_MAP_F_READ …
#define VIRTIO_IOMMU_MAP_F_WRITE …
#define VIRTIO_IOMMU_MAP_F_MMIO …
#define VIRTIO_IOMMU_MAP_F_MASK …
struct virtio_iommu_req_map { … };
struct virtio_iommu_req_unmap { … };
#define VIRTIO_IOMMU_PROBE_T_NONE …
#define VIRTIO_IOMMU_PROBE_T_RESV_MEM …
#define VIRTIO_IOMMU_PROBE_T_MASK …
struct virtio_iommu_probe_property { … };
#define VIRTIO_IOMMU_RESV_MEM_T_RESERVED …
#define VIRTIO_IOMMU_RESV_MEM_T_MSI …
struct virtio_iommu_probe_resv_mem { … };
struct virtio_iommu_req_probe { … };
#define VIRTIO_IOMMU_FAULT_R_UNKNOWN …
#define VIRTIO_IOMMU_FAULT_R_DOMAIN …
#define VIRTIO_IOMMU_FAULT_R_MAPPING …
#define VIRTIO_IOMMU_FAULT_F_READ …
#define VIRTIO_IOMMU_FAULT_F_WRITE …
#define VIRTIO_IOMMU_FAULT_F_EXEC …
#define VIRTIO_IOMMU_FAULT_F_ADDRESS …
struct virtio_iommu_fault { … };
#endif