virtgralloc/
virtgralloc.rs
1use zerocopy::{FromBytes, IntoBytes, KnownLayout};
8
9pub const VIRTGRALLOC_IOCTL_BASE: u8 = 103u8;
10pub const VIRTGRALLOC_DEVICE_NAME: &[u8; 18] = b"/dev/virtgralloc0\0";
11
12pub type virtgralloc_VulkanMode = u64;
13pub type virtgralloc_SetVulkanModeResult = u64;
14#[repr(C)]
15#[derive(Debug, Default, Copy, Clone, IntoBytes, KnownLayout, FromBytes, zerocopy::Immutable)]
16pub struct virtgralloc_set_vulkan_mode {
17 pub vulkan_mode: virtgralloc_VulkanMode,
18 pub result: virtgralloc_SetVulkanModeResult,
19}
20pub const VIRTGRALLOC_VULKAN_MODE_INVALID: virtgralloc_VulkanMode = 0;
21pub const VIRTGRALLOC_VULKAN_MODE_SWIFTSHADER: virtgralloc_VulkanMode = 1;
22pub const VIRTGRALLOC_VULKAN_MODE_MAGMA: virtgralloc_VulkanMode = 2;
23pub const VIRTGRALLOC_SET_VULKAN_MODE_RESULT_INVALID: virtgralloc_SetVulkanModeResult = 0;
24pub const VIRTGRALLOC_SET_VULKAN_MODE_RESULT_SUCCESS: virtgralloc_SetVulkanModeResult = 1;
25pub const VIRTGRALLOC_IOCTL_SET_VULKAN_MODE: u32 = 3222300417;