pub const DRM_NAME: &[u8; 4] = b"drm\0";
pub const DRM_MIN_ORDER: u32 = 5;
pub const DRM_MAX_ORDER: u32 = 22;
pub const DRM_RAM_PERCENT: u32 = 10;
pub const _DRM_LOCK_HELD: u32 = 2147483648;
pub const _DRM_LOCK_CONT: u32 = 1073741824;
pub const _DRM_VBLANK_HIGH_CRTC_SHIFT: u32 = 1;
pub const _DRM_PRE_MODESET: u32 = 1;
pub const _DRM_POST_MODESET: u32 = 2;
pub const DRM_CAP_DUMB_BUFFER: u32 = 1;
pub const DRM_CAP_VBLANK_HIGH_CRTC: u32 = 2;
pub const DRM_CAP_DUMB_PREFERRED_DEPTH: u32 = 3;
pub const DRM_CAP_DUMB_PREFER_SHADOW: u32 = 4;
pub const DRM_CAP_PRIME: u32 = 5;
pub const DRM_PRIME_CAP_IMPORT: u32 = 1;
pub const DRM_PRIME_CAP_EXPORT: u32 = 2;
pub const DRM_CAP_TIMESTAMP_MONOTONIC: u32 = 6;
pub const DRM_CAP_ASYNC_PAGE_FLIP: u32 = 7;
pub const DRM_CAP_CURSOR_WIDTH: u32 = 8;
pub const DRM_CAP_CURSOR_HEIGHT: u32 = 9;
pub const DRM_CAP_ADDFB2_MODIFIERS: u32 = 16;
pub const DRM_CAP_PAGE_FLIP_TARGET: u32 = 17;
pub const DRM_CAP_CRTC_IN_VBLANK_EVENT: u32 = 18;
pub const DRM_CAP_SYNCOBJ: u32 = 19;
pub const DRM_CAP_SYNCOBJ_TIMELINE: u32 = 20;
pub const DRM_CAP_ATOMIC_ASYNC_PAGE_FLIP: u32 = 21;
pub const DRM_CLIENT_CAP_STEREO_3D: u32 = 1;
pub const DRM_CLIENT_CAP_UNIVERSAL_PLANES: u32 = 2;
pub const DRM_CLIENT_CAP_ATOMIC: u32 = 3;
pub const DRM_CLIENT_CAP_ASPECT_RATIO: u32 = 4;
pub const DRM_CLIENT_CAP_WRITEBACK_CONNECTORS: u32 = 5;
pub const DRM_CLIENT_CAP_CURSOR_PLANE_HOTSPOT: u32 = 6;
pub const DRM_SYNCOBJ_CREATE_SIGNALED: u32 = 1;
pub const DRM_SYNCOBJ_FD_TO_HANDLE_FLAGS_IMPORT_SYNC_FILE: u32 = 1;
pub const DRM_SYNCOBJ_HANDLE_TO_FD_FLAGS_EXPORT_SYNC_FILE: u32 = 1;
pub const DRM_SYNCOBJ_WAIT_FLAGS_WAIT_ALL: u32 = 1;
pub const DRM_SYNCOBJ_WAIT_FLAGS_WAIT_FOR_SUBMIT: u32 = 2;
pub const DRM_SYNCOBJ_WAIT_FLAGS_WAIT_AVAILABLE: u32 = 4;
pub const DRM_SYNCOBJ_WAIT_FLAGS_WAIT_DEADLINE: u32 = 8;
pub const DRM_SYNCOBJ_QUERY_FLAGS_LAST_SUBMITTED: u32 = 1;
pub const DRM_CRTC_SEQUENCE_RELATIVE: u32 = 1;
pub const DRM_CRTC_SEQUENCE_NEXT_ON_MISS: u32 = 2;
pub const DRM_CONNECTOR_NAME_LEN: u32 = 32;
pub const DRM_DISPLAY_MODE_LEN: u32 = 32;
pub const DRM_PROP_NAME_LEN: u32 = 32;
pub const DRM_MODE_TYPE_BUILTIN: u32 = 1;
pub const DRM_MODE_TYPE_CLOCK_C: u32 = 3;
pub const DRM_MODE_TYPE_CRTC_C: u32 = 5;
pub const DRM_MODE_TYPE_PREFERRED: u32 = 8;
pub const DRM_MODE_TYPE_DEFAULT: u32 = 16;
pub const DRM_MODE_TYPE_USERDEF: u32 = 32;
pub const DRM_MODE_TYPE_DRIVER: u32 = 64;
pub const DRM_MODE_TYPE_ALL: u32 = 104;
pub const DRM_MODE_FLAG_PHSYNC: u32 = 1;
pub const DRM_MODE_FLAG_NHSYNC: u32 = 2;
pub const DRM_MODE_FLAG_PVSYNC: u32 = 4;
pub const DRM_MODE_FLAG_NVSYNC: u32 = 8;
pub const DRM_MODE_FLAG_INTERLACE: u32 = 16;
pub const DRM_MODE_FLAG_DBLSCAN: u32 = 32;
pub const DRM_MODE_FLAG_CSYNC: u32 = 64;
pub const DRM_MODE_FLAG_PCSYNC: u32 = 128;
pub const DRM_MODE_FLAG_NCSYNC: u32 = 256;
pub const DRM_MODE_FLAG_HSKEW: u32 = 512;
pub const DRM_MODE_FLAG_BCAST: u32 = 1024;
pub const DRM_MODE_FLAG_PIXMUX: u32 = 2048;
pub const DRM_MODE_FLAG_DBLCLK: u32 = 4096;
pub const DRM_MODE_FLAG_CLKDIV2: u32 = 8192;
pub const DRM_MODE_FLAG_3D_MASK: u32 = 507904;
pub const DRM_MODE_FLAG_3D_NONE: u32 = 0;
pub const DRM_MODE_FLAG_3D_FRAME_PACKING: u32 = 16384;
pub const DRM_MODE_FLAG_3D_FIELD_ALTERNATIVE: u32 = 32768;
pub const DRM_MODE_FLAG_3D_LINE_ALTERNATIVE: u32 = 49152;
pub const DRM_MODE_FLAG_3D_SIDE_BY_SIDE_FULL: u32 = 65536;
pub const DRM_MODE_FLAG_3D_L_DEPTH: u32 = 81920;
pub const DRM_MODE_FLAG_3D_L_DEPTH_GFX_GFX_DEPTH: u32 = 98304;
pub const DRM_MODE_FLAG_3D_TOP_AND_BOTTOM: u32 = 114688;
pub const DRM_MODE_FLAG_3D_SIDE_BY_SIDE_HALF: u32 = 131072;
pub const DRM_MODE_PICTURE_ASPECT_NONE: u32 = 0;
pub const DRM_MODE_PICTURE_ASPECT_4_3: u32 = 1;
pub const DRM_MODE_PICTURE_ASPECT_16_9: u32 = 2;
pub const DRM_MODE_PICTURE_ASPECT_64_27: u32 = 3;
pub const DRM_MODE_PICTURE_ASPECT_256_135: u32 = 4;
pub const DRM_MODE_CONTENT_TYPE_NO_DATA: u32 = 0;
pub const DRM_MODE_CONTENT_TYPE_GRAPHICS: u32 = 1;
pub const DRM_MODE_CONTENT_TYPE_PHOTO: u32 = 2;
pub const DRM_MODE_CONTENT_TYPE_CINEMA: u32 = 3;
pub const DRM_MODE_CONTENT_TYPE_GAME: u32 = 4;
pub const DRM_MODE_FLAG_PIC_AR_MASK: u32 = 7864320;
pub const DRM_MODE_FLAG_PIC_AR_NONE: u32 = 0;
pub const DRM_MODE_FLAG_PIC_AR_4_3: u32 = 524288;
pub const DRM_MODE_FLAG_PIC_AR_16_9: u32 = 1048576;
pub const DRM_MODE_FLAG_PIC_AR_64_27: u32 = 1572864;
pub const DRM_MODE_FLAG_PIC_AR_256_135: u32 = 2097152;
pub const DRM_MODE_FLAG_ALL: u32 = 521215;
pub const DRM_MODE_DPMS_ON: u32 = 0;
pub const DRM_MODE_DPMS_STANDBY: u32 = 1;
pub const DRM_MODE_DPMS_SUSPEND: u32 = 2;
pub const DRM_MODE_DPMS_OFF: u32 = 3;
pub const DRM_MODE_SCALE_NONE: u32 = 0;
pub const DRM_MODE_SCALE_FULLSCREEN: u32 = 1;
pub const DRM_MODE_SCALE_CENTER: u32 = 2;
pub const DRM_MODE_SCALE_ASPECT: u32 = 3;
pub const DRM_MODE_DITHERING_OFF: u32 = 0;
pub const DRM_MODE_DITHERING_ON: u32 = 1;
pub const DRM_MODE_DITHERING_AUTO: u32 = 2;
pub const DRM_MODE_DIRTY_OFF: u32 = 0;
pub const DRM_MODE_DIRTY_ON: u32 = 1;
pub const DRM_MODE_DIRTY_ANNOTATE: u32 = 2;
pub const DRM_MODE_LINK_STATUS_GOOD: u32 = 0;
pub const DRM_MODE_LINK_STATUS_BAD: u32 = 1;
pub const DRM_MODE_ROTATE_0: u32 = 1;
pub const DRM_MODE_ROTATE_90: u32 = 2;
pub const DRM_MODE_ROTATE_180: u32 = 4;
pub const DRM_MODE_ROTATE_270: u32 = 8;
pub const DRM_MODE_ROTATE_MASK: u32 = 15;
pub const DRM_MODE_REFLECT_X: u32 = 16;
pub const DRM_MODE_REFLECT_Y: u32 = 32;
pub const DRM_MODE_REFLECT_MASK: u32 = 48;
pub const DRM_MODE_CONTENT_PROTECTION_UNDESIRED: u32 = 0;
pub const DRM_MODE_CONTENT_PROTECTION_DESIRED: u32 = 1;
pub const DRM_MODE_CONTENT_PROTECTION_ENABLED: u32 = 2;
pub const DRM_MODE_PRESENT_TOP_FIELD: u32 = 1;
pub const DRM_MODE_PRESENT_BOTTOM_FIELD: u32 = 2;
pub const DRM_MODE_ENCODER_NONE: u32 = 0;
pub const DRM_MODE_ENCODER_DAC: u32 = 1;
pub const DRM_MODE_ENCODER_TMDS: u32 = 2;
pub const DRM_MODE_ENCODER_LVDS: u32 = 3;
pub const DRM_MODE_ENCODER_TVDAC: u32 = 4;
pub const DRM_MODE_ENCODER_VIRTUAL: u32 = 5;
pub const DRM_MODE_ENCODER_DSI: u32 = 6;
pub const DRM_MODE_ENCODER_DPMST: u32 = 7;
pub const DRM_MODE_ENCODER_DPI: u32 = 8;
pub const DRM_MODE_CONNECTOR_Unknown: u32 = 0;
pub const DRM_MODE_CONNECTOR_VGA: u32 = 1;
pub const DRM_MODE_CONNECTOR_DVII: u32 = 2;
pub const DRM_MODE_CONNECTOR_DVID: u32 = 3;
pub const DRM_MODE_CONNECTOR_DVIA: u32 = 4;
pub const DRM_MODE_CONNECTOR_Composite: u32 = 5;
pub const DRM_MODE_CONNECTOR_SVIDEO: u32 = 6;
pub const DRM_MODE_CONNECTOR_LVDS: u32 = 7;
pub const DRM_MODE_CONNECTOR_Component: u32 = 8;
pub const DRM_MODE_CONNECTOR_9PinDIN: u32 = 9;
pub const DRM_MODE_CONNECTOR_DisplayPort: u32 = 10;
pub const DRM_MODE_CONNECTOR_HDMIA: u32 = 11;
pub const DRM_MODE_CONNECTOR_HDMIB: u32 = 12;
pub const DRM_MODE_CONNECTOR_TV: u32 = 13;
pub const DRM_MODE_CONNECTOR_eDP: u32 = 14;
pub const DRM_MODE_CONNECTOR_VIRTUAL: u32 = 15;
pub const DRM_MODE_CONNECTOR_DSI: u32 = 16;
pub const DRM_MODE_CONNECTOR_DPI: u32 = 17;
pub const DRM_MODE_CONNECTOR_WRITEBACK: u32 = 18;
pub const DRM_MODE_CONNECTOR_SPI: u32 = 19;
pub const DRM_MODE_CONNECTOR_USB: u32 = 20;
pub const DRM_MODE_PROP_PENDING: u32 = 1;
pub const DRM_MODE_PROP_RANGE: u32 = 2;
pub const DRM_MODE_PROP_IMMUTABLE: u32 = 4;
pub const DRM_MODE_PROP_ENUM: u32 = 8;
pub const DRM_MODE_PROP_BLOB: u32 = 16;
pub const DRM_MODE_PROP_BITMASK: u32 = 32;
pub const DRM_MODE_PROP_LEGACY_TYPE: u32 = 58;
pub const DRM_MODE_PROP_EXTENDED_TYPE: u32 = 65472;
pub const DRM_MODE_PROP_ATOMIC: u32 = 2147483648;
pub const DRM_MODE_OBJECT_CRTC: u32 = 3435973836;
pub const DRM_MODE_OBJECT_CONNECTOR: u32 = 3233857728;
pub const DRM_MODE_OBJECT_ENCODER: u32 = 3772834016;
pub const DRM_MODE_OBJECT_MODE: u32 = 3739147998;
pub const DRM_MODE_OBJECT_PROPERTY: u32 = 2964369584;
pub const DRM_MODE_OBJECT_FB: u32 = 4227595259;
pub const DRM_MODE_OBJECT_BLOB: u32 = 3149642683;
pub const DRM_MODE_OBJECT_PLANE: u32 = 4008636142;
pub const DRM_MODE_OBJECT_ANY: u32 = 0;
pub const DRM_MODE_FB_INTERLACED: u32 = 1;
pub const DRM_MODE_FB_MODIFIERS: u32 = 2;
pub const DRM_MODE_FB_DIRTY_ANNOTATE_COPY: u32 = 1;
pub const DRM_MODE_FB_DIRTY_ANNOTATE_FILL: u32 = 2;
pub const DRM_MODE_FB_DIRTY_FLAGS: u32 = 3;
pub const DRM_MODE_FB_DIRTY_MAX_CLIPS: u32 = 256;
pub const DRM_MODE_CURSOR_BO: u32 = 1;
pub const DRM_MODE_CURSOR_MOVE: u32 = 2;
pub const DRM_MODE_CURSOR_FLAGS: u32 = 3;
pub const DRM_MODE_PAGE_FLIP_EVENT: u32 = 1;
pub const DRM_MODE_PAGE_FLIP_ASYNC: u32 = 2;
pub const DRM_MODE_PAGE_FLIP_TARGET_ABSOLUTE: u32 = 4;
pub const DRM_MODE_PAGE_FLIP_TARGET_RELATIVE: u32 = 8;
pub const DRM_MODE_PAGE_FLIP_TARGET: u32 = 12;
pub const DRM_MODE_PAGE_FLIP_FLAGS: u32 = 15;
pub const DRM_MODE_ATOMIC_TEST_ONLY: u32 = 256;
pub const DRM_MODE_ATOMIC_NONBLOCK: u32 = 512;
pub const DRM_MODE_ATOMIC_ALLOW_MODESET: u32 = 1024;
pub const DRM_MODE_ATOMIC_FLAGS: u32 = 1795;
pub const DRM_IOCTL_BASE: u8 = 100u8;
pub const DRM_COMMAND_BASE: u32 = 64;
pub const DRM_COMMAND_END: u32 = 160;
pub const DRM_EVENT_VBLANK: u32 = 1;
pub const DRM_EVENT_FLIP_COMPLETE: u32 = 2;
pub const DRM_EVENT_CRTC_SEQUENCE: u32 = 3;
pub type __u8 = core::ffi::c_uchar;
pub type __u16 = core::ffi::c_ushort;
pub type __s32 = core::ffi::c_int;
pub type __u32 = core::ffi::c_uint;
pub type __s64 = core::ffi::c_longlong;
pub type __u64 = core::ffi::c_ulonglong;
pub type drm_context_t = core::ffi::c_uint;
pub type drm_drawable_t = core::ffi::c_uint;
pub type drm_magic_t = core::ffi::c_uint;
#[repr(C)]
#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)]
pub struct drm_clip_rect {
pub x1: core::ffi::c_ushort,
pub y1: core::ffi::c_ushort,
pub x2: core::ffi::c_ushort,
pub y2: core::ffi::c_ushort,
}
#[repr(C)]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub struct drm_drawable_info {
pub num_rects: core::ffi::c_uint,
pub rects: *mut drm_clip_rect,
}
impl Default for drm_drawable_info {
fn default() -> Self {
let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
unsafe {
::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
s.assume_init()
}
}
}
#[repr(C)]
#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)]
pub struct drm_tex_region {
pub next: core::ffi::c_uchar,
pub prev: core::ffi::c_uchar,
pub in_use: core::ffi::c_uchar,
pub padding: core::ffi::c_uchar,
pub age: core::ffi::c_uint,
}
#[repr(C)]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub struct drm_hw_lock {
pub lock: core::ffi::c_uint,
pub padding: [core::ffi::c_char; 60usize],
}
impl Default for drm_hw_lock {
fn default() -> Self {
let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
unsafe {
::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
s.assume_init()
}
}
}
#[repr(C)]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub struct drm_version {
pub version_major: core::ffi::c_int,
pub version_minor: core::ffi::c_int,
pub version_patchlevel: core::ffi::c_int,
pub name_len: __kernel_size_t,
pub name: *mut core::ffi::c_char,
pub date_len: __kernel_size_t,
pub date: *mut core::ffi::c_char,
pub desc_len: __kernel_size_t,
pub desc: *mut core::ffi::c_char,
}
impl Default for drm_version {
fn default() -> Self {
let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
unsafe {
::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
s.assume_init()
}
}
}
#[repr(C)]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub struct drm_unique {
pub unique_len: __kernel_size_t,
pub unique: *mut core::ffi::c_char,
}
impl Default for drm_unique {
fn default() -> Self {
let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
unsafe {
::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
s.assume_init()
}
}
}
#[repr(C)]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub struct drm_list {
pub count: core::ffi::c_int,
pub version: *mut drm_version,
}
impl Default for drm_list {
fn default() -> Self {
let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
unsafe {
::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
s.assume_init()
}
}
}
#[repr(C)]
#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)]
pub struct drm_block {
pub unused: core::ffi::c_int,
}
#[repr(C)]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub struct drm_control {
pub func: drm_control__bindgen_ty_1::Type,
pub irq: core::ffi::c_int,
}
pub mod drm_control__bindgen_ty_1 {
pub type Type = core::ffi::c_uint;
pub const DRM_ADD_COMMAND: Type = 0;
pub const DRM_RM_COMMAND: Type = 1;
pub const DRM_INST_HANDLER: Type = 2;
pub const DRM_UNINST_HANDLER: Type = 3;
}
impl Default for drm_control {
fn default() -> Self {
let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
unsafe {
::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
s.assume_init()
}
}
}
pub mod drm_map_type {
pub type Type = core::ffi::c_uint;
pub const _DRM_FRAME_BUFFER: Type = 0;
pub const _DRM_REGISTERS: Type = 1;
pub const _DRM_SHM: Type = 2;
pub const _DRM_AGP: Type = 3;
pub const _DRM_SCATTER_GATHER: Type = 4;
pub const _DRM_CONSISTENT: Type = 5;
}
pub mod drm_map_flags {
pub type Type = core::ffi::c_uint;
pub const _DRM_RESTRICTED: Type = 1;
pub const _DRM_READ_ONLY: Type = 2;
pub const _DRM_LOCKED: Type = 4;
pub const _DRM_KERNEL: Type = 8;
pub const _DRM_WRITE_COMBINING: Type = 16;
pub const _DRM_CONTAINS_LOCK: Type = 32;
pub const _DRM_REMOVABLE: Type = 64;
pub const _DRM_DRIVER: Type = 128;
}
#[repr(C)]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub struct drm_ctx_priv_map {
pub ctx_id: core::ffi::c_uint,
pub handle: *mut core::ffi::c_void,
}
impl Default for drm_ctx_priv_map {
fn default() -> Self {
let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
unsafe {
::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
s.assume_init()
}
}
}
#[repr(C)]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub struct drm_map {
pub offset: core::ffi::c_ulong,
pub size: core::ffi::c_ulong,
pub type_: drm_map_type::Type,
pub flags: drm_map_flags::Type,
pub handle: *mut core::ffi::c_void,
pub mtrr: core::ffi::c_int,
}
impl Default for drm_map {
fn default() -> Self {
let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
unsafe {
::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
s.assume_init()
}
}
}
#[repr(C)]
#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)]
pub struct drm_client {
pub idx: core::ffi::c_int,
pub auth: core::ffi::c_int,
pub pid: core::ffi::c_ulong,
pub uid: core::ffi::c_ulong,
pub magic: core::ffi::c_ulong,
pub iocs: core::ffi::c_ulong,
}
pub mod drm_stat_type {
pub type Type = core::ffi::c_uint;
pub const _DRM_STAT_LOCK: Type = 0;
pub const _DRM_STAT_OPENS: Type = 1;
pub const _DRM_STAT_CLOSES: Type = 2;
pub const _DRM_STAT_IOCTLS: Type = 3;
pub const _DRM_STAT_LOCKS: Type = 4;
pub const _DRM_STAT_UNLOCKS: Type = 5;
pub const _DRM_STAT_VALUE: Type = 6;
pub const _DRM_STAT_BYTE: Type = 7;
pub const _DRM_STAT_COUNT: Type = 8;
pub const _DRM_STAT_IRQ: Type = 9;
pub const _DRM_STAT_PRIMARY: Type = 10;
pub const _DRM_STAT_SECONDARY: Type = 11;
pub const _DRM_STAT_DMA: Type = 12;
pub const _DRM_STAT_SPECIAL: Type = 13;
pub const _DRM_STAT_MISSED: Type = 14;
}
#[repr(C)]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub struct drm_stats {
pub count: core::ffi::c_ulong,
pub data: [drm_stats__bindgen_ty_1; 15usize],
}
#[repr(C)]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub struct drm_stats__bindgen_ty_1 {
pub value: core::ffi::c_ulong,
pub type_: drm_stat_type::Type,
}
impl Default for drm_stats__bindgen_ty_1 {
fn default() -> Self {
let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
unsafe {
::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
s.assume_init()
}
}
}
impl Default for drm_stats {
fn default() -> Self {
let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
unsafe {
::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
s.assume_init()
}
}
}
pub mod drm_lock_flags {
pub type Type = core::ffi::c_uint;
pub const _DRM_LOCK_READY: Type = 1;
pub const _DRM_LOCK_QUIESCENT: Type = 2;
pub const _DRM_LOCK_FLUSH: Type = 4;
pub const _DRM_LOCK_FLUSH_ALL: Type = 8;
pub const _DRM_HALT_ALL_QUEUES: Type = 16;
pub const _DRM_HALT_CUR_QUEUES: Type = 32;
}
#[repr(C)]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub struct drm_lock {
pub context: core::ffi::c_int,
pub flags: drm_lock_flags::Type,
}
impl Default for drm_lock {
fn default() -> Self {
let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
unsafe {
::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
s.assume_init()
}
}
}
pub mod drm_dma_flags {
pub type Type = core::ffi::c_uint;
pub const _DRM_DMA_BLOCK: Type = 1;
pub const _DRM_DMA_WHILE_LOCKED: Type = 2;
pub const _DRM_DMA_PRIORITY: Type = 4;
pub const _DRM_DMA_WAIT: Type = 16;
pub const _DRM_DMA_SMALLER_OK: Type = 32;
pub const _DRM_DMA_LARGER_OK: Type = 64;
}
#[repr(C)]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub struct drm_buf_desc {
pub count: core::ffi::c_int,
pub size: core::ffi::c_int,
pub low_mark: core::ffi::c_int,
pub high_mark: core::ffi::c_int,
pub flags: drm_buf_desc__bindgen_ty_1::Type,
pub agp_start: core::ffi::c_ulong,
}
pub mod drm_buf_desc__bindgen_ty_1 {
pub type Type = core::ffi::c_uint;
pub const _DRM_PAGE_ALIGN: Type = 1;
pub const _DRM_AGP_BUFFER: Type = 2;
pub const _DRM_SG_BUFFER: Type = 4;
pub const _DRM_FB_BUFFER: Type = 8;
pub const _DRM_PCI_BUFFER_RO: Type = 16;
}
impl Default for drm_buf_desc {
fn default() -> Self {
let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
unsafe {
::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
s.assume_init()
}
}
}
#[repr(C)]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub struct drm_buf_info {
pub count: core::ffi::c_int,
pub list: *mut drm_buf_desc,
}
impl Default for drm_buf_info {
fn default() -> Self {
let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
unsafe {
::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
s.assume_init()
}
}
}
#[repr(C)]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub struct drm_buf_free {
pub count: core::ffi::c_int,
pub list: *mut core::ffi::c_int,
}
impl Default for drm_buf_free {
fn default() -> Self {
let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
unsafe {
::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
s.assume_init()
}
}
}
#[repr(C)]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub struct drm_buf_pub {
pub idx: core::ffi::c_int,
pub total: core::ffi::c_int,
pub used: core::ffi::c_int,
pub address: *mut core::ffi::c_void,
}
impl Default for drm_buf_pub {
fn default() -> Self {
let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
unsafe {
::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
s.assume_init()
}
}
}
#[repr(C)]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub struct drm_buf_map {
pub count: core::ffi::c_int,
pub virtual_: *mut core::ffi::c_void,
pub list: *mut drm_buf_pub,
}
impl Default for drm_buf_map {
fn default() -> Self {
let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
unsafe {
::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
s.assume_init()
}
}
}
#[repr(C)]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub struct drm_dma {
pub context: core::ffi::c_int,
pub send_count: core::ffi::c_int,
pub send_indices: *mut core::ffi::c_int,
pub send_sizes: *mut core::ffi::c_int,
pub flags: drm_dma_flags::Type,
pub request_count: core::ffi::c_int,
pub request_size: core::ffi::c_int,
pub request_indices: *mut core::ffi::c_int,
pub request_sizes: *mut core::ffi::c_int,
pub granted_count: core::ffi::c_int,
}
impl Default for drm_dma {
fn default() -> Self {
let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
unsafe {
::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
s.assume_init()
}
}
}
pub mod drm_ctx_flags {
pub type Type = core::ffi::c_uint;
pub const _DRM_CONTEXT_PRESERVED: Type = 1;
pub const _DRM_CONTEXT_2DONLY: Type = 2;
}
#[repr(C)]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub struct drm_ctx {
pub handle: drm_context_t,
pub flags: drm_ctx_flags::Type,
}
impl Default for drm_ctx {
fn default() -> Self {
let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
unsafe {
::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
s.assume_init()
}
}
}
#[repr(C)]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub struct drm_ctx_res {
pub count: core::ffi::c_int,
pub contexts: *mut drm_ctx,
}
impl Default for drm_ctx_res {
fn default() -> Self {
let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
unsafe {
::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
s.assume_init()
}
}
}
#[repr(C)]
#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)]
pub struct drm_draw {
pub handle: drm_drawable_t,
}
pub mod drm_drawable_info_type_t {
pub type Type = core::ffi::c_uint;
pub const DRM_DRAWABLE_CLIPRECTS: Type = 0;
}
#[repr(C)]
#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)]
pub struct drm_update_draw {
pub handle: drm_drawable_t,
pub type_: core::ffi::c_uint,
pub num: core::ffi::c_uint,
pub data: core::ffi::c_ulonglong,
}
#[repr(C)]
#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)]
pub struct drm_auth {
pub magic: drm_magic_t,
}
#[repr(C)]
#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)]
pub struct drm_irq_busid {
pub irq: core::ffi::c_int,
pub busnum: core::ffi::c_int,
pub devnum: core::ffi::c_int,
pub funcnum: core::ffi::c_int,
}
pub mod drm_vblank_seq_type {
pub type Type = core::ffi::c_uint;
pub const _DRM_VBLANK_ABSOLUTE: Type = 0;
pub const _DRM_VBLANK_RELATIVE: Type = 1;
pub const _DRM_VBLANK_HIGH_CRTC_MASK: Type = 62;
pub const _DRM_VBLANK_EVENT: Type = 67108864;
pub const _DRM_VBLANK_FLIP: Type = 134217728;
pub const _DRM_VBLANK_NEXTONMISS: Type = 268435456;
pub const _DRM_VBLANK_SECONDARY: Type = 536870912;
pub const _DRM_VBLANK_SIGNAL: Type = 1073741824;
}
#[repr(C)]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub struct drm_wait_vblank_request {
pub type_: drm_vblank_seq_type::Type,
pub sequence: core::ffi::c_uint,
pub signal: core::ffi::c_ulong,
}
impl Default for drm_wait_vblank_request {
fn default() -> Self {
let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
unsafe {
::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
s.assume_init()
}
}
}
#[repr(C)]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub struct drm_wait_vblank_reply {
pub type_: drm_vblank_seq_type::Type,
pub sequence: core::ffi::c_uint,
pub tval_sec: core::ffi::c_long,
pub tval_usec: core::ffi::c_long,
}
impl Default for drm_wait_vblank_reply {
fn default() -> Self {
let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
unsafe {
::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
s.assume_init()
}
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union drm_wait_vblank {
pub request: drm_wait_vblank_request,
pub reply: drm_wait_vblank_reply,
}
impl Default for drm_wait_vblank {
fn default() -> Self {
let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
unsafe {
::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
s.assume_init()
}
}
}
#[repr(C)]
#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)]
pub struct drm_modeset_ctl {
pub crtc: __u32,
pub cmd: __u32,
}
#[repr(C)]
#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)]
pub struct drm_agp_mode {
pub mode: core::ffi::c_ulong,
}
#[repr(C)]
#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)]
pub struct drm_agp_buffer {
pub size: core::ffi::c_ulong,
pub handle: core::ffi::c_ulong,
pub type_: core::ffi::c_ulong,
pub physical: core::ffi::c_ulong,
}
#[repr(C)]
#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)]
pub struct drm_agp_binding {
pub handle: core::ffi::c_ulong,
pub offset: core::ffi::c_ulong,
}
#[repr(C)]
#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)]
pub struct drm_agp_info {
pub agp_version_major: core::ffi::c_int,
pub agp_version_minor: core::ffi::c_int,
pub mode: core::ffi::c_ulong,
pub aperture_base: core::ffi::c_ulong,
pub aperture_size: core::ffi::c_ulong,
pub memory_allowed: core::ffi::c_ulong,
pub memory_used: core::ffi::c_ulong,
pub id_vendor: core::ffi::c_ushort,
pub id_device: core::ffi::c_ushort,
}
#[repr(C)]
#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)]
pub struct drm_scatter_gather {
pub size: core::ffi::c_ulong,
pub handle: core::ffi::c_ulong,
}
#[repr(C)]
#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)]
pub struct drm_set_version {
pub drm_di_major: core::ffi::c_int,
pub drm_di_minor: core::ffi::c_int,
pub drm_dd_major: core::ffi::c_int,
pub drm_dd_minor: core::ffi::c_int,
}
#[repr(C)]
#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)]
pub struct drm_gem_close {
pub handle: __u32,
pub pad: __u32,
}
#[repr(C)]
#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)]
pub struct drm_gem_flink {
pub handle: __u32,
pub name: __u32,
}
#[repr(C)]
#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)]
pub struct drm_gem_open {
pub name: __u32,
pub handle: __u32,
pub size: __u64,
}
#[repr(C)]
#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)]
pub struct drm_get_cap {
pub capability: __u64,
pub value: __u64,
}
#[repr(C)]
#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)]
pub struct drm_set_client_cap {
pub capability: __u64,
pub value: __u64,
}
#[repr(C)]
#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)]
pub struct drm_prime_handle {
pub handle: __u32,
pub flags: __u32,
pub fd: __s32,
}
#[repr(C)]
#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)]
pub struct drm_syncobj_create {
pub handle: __u32,
pub flags: __u32,
}
#[repr(C)]
#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)]
pub struct drm_syncobj_destroy {
pub handle: __u32,
pub pad: __u32,
}
#[repr(C)]
#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)]
pub struct drm_syncobj_handle {
pub handle: __u32,
pub flags: __u32,
pub fd: __s32,
pub pad: __u32,
}
#[repr(C)]
#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)]
pub struct drm_syncobj_transfer {
pub src_handle: __u32,
pub dst_handle: __u32,
pub src_point: __u64,
pub dst_point: __u64,
pub flags: __u32,
pub pad: __u32,
}
#[repr(C)]
#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)]
pub struct drm_syncobj_wait {
pub handles: __u64,
pub timeout_nsec: __s64,
pub count_handles: __u32,
pub flags: __u32,
pub first_signaled: __u32,
pub pad: __u32,
pub deadline_nsec: __u64,
}
#[repr(C)]
#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)]
pub struct drm_syncobj_timeline_wait {
pub handles: __u64,
pub points: __u64,
pub timeout_nsec: __s64,
pub count_handles: __u32,
pub flags: __u32,
pub first_signaled: __u32,
pub pad: __u32,
pub deadline_nsec: __u64,
}
#[repr(C)]
#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)]
pub struct drm_syncobj_eventfd {
pub handle: __u32,
pub flags: __u32,
pub point: __u64,
pub fd: __s32,
pub pad: __u32,
}
#[repr(C)]
#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)]
pub struct drm_syncobj_array {
pub handles: __u64,
pub count_handles: __u32,
pub pad: __u32,
}
#[repr(C)]
#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)]
pub struct drm_syncobj_timeline_array {
pub handles: __u64,
pub points: __u64,
pub count_handles: __u32,
pub flags: __u32,
}
#[repr(C)]
#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)]
pub struct drm_crtc_get_sequence {
pub crtc_id: __u32,
pub active: __u32,
pub sequence: __u64,
pub sequence_ns: __s64,
}
#[repr(C)]
#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)]
pub struct drm_crtc_queue_sequence {
pub crtc_id: __u32,
pub flags: __u32,
pub sequence: __u64,
pub user_data: __u64,
}
#[repr(C)]
#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)]
pub struct drm_mode_modeinfo {
pub clock: __u32,
pub hdisplay: __u16,
pub hsync_start: __u16,
pub hsync_end: __u16,
pub htotal: __u16,
pub hskew: __u16,
pub vdisplay: __u16,
pub vsync_start: __u16,
pub vsync_end: __u16,
pub vtotal: __u16,
pub vscan: __u16,
pub vrefresh: __u32,
pub flags: __u32,
pub type_: __u32,
pub name: [core::ffi::c_char; 32usize],
}
#[repr(C)]
#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)]
pub struct drm_mode_card_res {
pub fb_id_ptr: __u64,
pub crtc_id_ptr: __u64,
pub connector_id_ptr: __u64,
pub encoder_id_ptr: __u64,
pub count_fbs: __u32,
pub count_crtcs: __u32,
pub count_connectors: __u32,
pub count_encoders: __u32,
pub min_width: __u32,
pub max_width: __u32,
pub min_height: __u32,
pub max_height: __u32,
}
#[repr(C)]
#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)]
pub struct drm_mode_crtc {
pub set_connectors_ptr: __u64,
pub count_connectors: __u32,
pub crtc_id: __u32,
pub fb_id: __u32,
pub x: __u32,
pub y: __u32,
pub gamma_size: __u32,
pub mode_valid: __u32,
pub mode: drm_mode_modeinfo,
}
#[repr(C)]
#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)]
pub struct drm_mode_set_plane {
pub plane_id: __u32,
pub crtc_id: __u32,
pub fb_id: __u32,
pub flags: __u32,
pub crtc_x: __s32,
pub crtc_y: __s32,
pub crtc_w: __u32,
pub crtc_h: __u32,
pub src_x: __u32,
pub src_y: __u32,
pub src_h: __u32,
pub src_w: __u32,
}
#[repr(C)]
#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)]
pub struct drm_mode_get_plane {
pub plane_id: __u32,
pub crtc_id: __u32,
pub fb_id: __u32,
pub possible_crtcs: __u32,
pub gamma_size: __u32,
pub count_format_types: __u32,
pub format_type_ptr: __u64,
}
#[repr(C)]
#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)]
pub struct drm_mode_get_plane_res {
pub plane_id_ptr: __u64,
pub count_planes: __u32,
}
#[repr(C)]
#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)]
pub struct drm_mode_get_encoder {
pub encoder_id: __u32,
pub encoder_type: __u32,
pub crtc_id: __u32,
pub possible_crtcs: __u32,
pub possible_clones: __u32,
}
pub mod drm_mode_subconnector {
pub type Type = core::ffi::c_uint;
pub const DRM_MODE_SUBCONNECTOR_Automatic: Type = 0;
pub const DRM_MODE_SUBCONNECTOR_Unknown: Type = 0;
pub const DRM_MODE_SUBCONNECTOR_VGA: Type = 1;
pub const DRM_MODE_SUBCONNECTOR_DVID: Type = 3;
pub const DRM_MODE_SUBCONNECTOR_DVIA: Type = 4;
pub const DRM_MODE_SUBCONNECTOR_Composite: Type = 5;
pub const DRM_MODE_SUBCONNECTOR_SVIDEO: Type = 6;
pub const DRM_MODE_SUBCONNECTOR_Component: Type = 8;
pub const DRM_MODE_SUBCONNECTOR_SCART: Type = 9;
pub const DRM_MODE_SUBCONNECTOR_DisplayPort: Type = 10;
pub const DRM_MODE_SUBCONNECTOR_HDMIA: Type = 11;
pub const DRM_MODE_SUBCONNECTOR_Native: Type = 15;
pub const DRM_MODE_SUBCONNECTOR_Wireless: Type = 18;
}
#[repr(C)]
#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)]
pub struct drm_mode_get_connector {
pub encoders_ptr: __u64,
pub modes_ptr: __u64,
pub props_ptr: __u64,
pub prop_values_ptr: __u64,
pub count_modes: __u32,
pub count_props: __u32,
pub count_encoders: __u32,
pub encoder_id: __u32,
pub connector_id: __u32,
pub connector_type: __u32,
pub connector_type_id: __u32,
pub connection: __u32,
pub mm_width: __u32,
pub mm_height: __u32,
pub subpixel: __u32,
pub pad: __u32,
}
#[repr(C)]
#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)]
pub struct drm_mode_property_enum {
pub value: __u64,
pub name: [core::ffi::c_char; 32usize],
}
#[repr(C)]
#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)]
pub struct drm_mode_get_property {
pub values_ptr: __u64,
pub enum_blob_ptr: __u64,
pub prop_id: __u32,
pub flags: __u32,
pub name: [core::ffi::c_char; 32usize],
pub count_values: __u32,
pub count_enum_blobs: __u32,
}
#[repr(C)]
#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)]
pub struct drm_mode_connector_set_property {
pub value: __u64,
pub prop_id: __u32,
pub connector_id: __u32,
}
#[repr(C)]
#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)]
pub struct drm_mode_obj_get_properties {
pub props_ptr: __u64,
pub prop_values_ptr: __u64,
pub count_props: __u32,
pub obj_id: __u32,
pub obj_type: __u32,
}
#[repr(C)]
#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)]
pub struct drm_mode_obj_set_property {
pub value: __u64,
pub prop_id: __u32,
pub obj_id: __u32,
pub obj_type: __u32,
}
#[repr(C)]
#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)]
pub struct drm_mode_get_blob {
pub blob_id: __u32,
pub length: __u32,
pub data: __u64,
}
#[repr(C)]
#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)]
pub struct drm_mode_fb_cmd {
pub fb_id: __u32,
pub width: __u32,
pub height: __u32,
pub pitch: __u32,
pub bpp: __u32,
pub depth: __u32,
pub handle: __u32,
}
#[repr(C)]
#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)]
pub struct drm_mode_fb_cmd2 {
pub fb_id: __u32,
pub width: __u32,
pub height: __u32,
pub pixel_format: __u32,
pub flags: __u32,
pub handles: [__u32; 4usize],
pub pitches: [__u32; 4usize],
pub offsets: [__u32; 4usize],
pub modifier: [__u64; 4usize],
}
#[repr(C)]
#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)]
pub struct drm_mode_fb_dirty_cmd {
pub fb_id: __u32,
pub flags: __u32,
pub color: __u32,
pub num_clips: __u32,
pub clips_ptr: __u64,
}
#[repr(C)]
#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)]
pub struct drm_mode_mode_cmd {
pub connector_id: __u32,
pub mode: drm_mode_modeinfo,
}
#[repr(C)]
#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)]
pub struct drm_mode_cursor {
pub flags: __u32,
pub crtc_id: __u32,
pub x: __s32,
pub y: __s32,
pub width: __u32,
pub height: __u32,
pub handle: __u32,
}
#[repr(C)]
#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)]
pub struct drm_mode_cursor2 {
pub flags: __u32,
pub crtc_id: __u32,
pub x: __s32,
pub y: __s32,
pub width: __u32,
pub height: __u32,
pub handle: __u32,
pub hot_x: __s32,
pub hot_y: __s32,
}
#[repr(C)]
#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)]
pub struct drm_mode_crtc_lut {
pub crtc_id: __u32,
pub gamma_size: __u32,
pub red: __u64,
pub green: __u64,
pub blue: __u64,
}
#[repr(C)]
#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)]
pub struct drm_color_ctm {
pub matrix: [__u64; 9usize],
}
#[repr(C)]
#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)]
pub struct drm_color_ctm_3x4 {
pub matrix: [__u64; 12usize],
}
#[repr(C)]
#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)]
pub struct drm_color_lut {
pub red: __u16,
pub green: __u16,
pub blue: __u16,
pub reserved: __u16,
}
#[repr(C)]
#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)]
pub struct hdr_metadata_infoframe {
pub eotf: __u8,
pub metadata_type: __u8,
pub display_primaries: [hdr_metadata_infoframe__bindgen_ty_1; 3usize],
pub white_point: hdr_metadata_infoframe__bindgen_ty_2,
pub max_display_mastering_luminance: __u16,
pub min_display_mastering_luminance: __u16,
pub max_cll: __u16,
pub max_fall: __u16,
}
#[repr(C)]
#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)]
pub struct hdr_metadata_infoframe__bindgen_ty_1 {
pub x: __u16,
pub y: __u16,
}
#[repr(C)]
#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)]
pub struct hdr_metadata_infoframe__bindgen_ty_2 {
pub x: __u16,
pub y: __u16,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct hdr_output_metadata {
pub metadata_type: __u32,
pub __bindgen_anon_1: hdr_output_metadata__bindgen_ty_1,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union hdr_output_metadata__bindgen_ty_1 {
pub hdmi_metadata_type1: hdr_metadata_infoframe,
}
impl Default for hdr_output_metadata__bindgen_ty_1 {
fn default() -> Self {
let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
unsafe {
::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
s.assume_init()
}
}
}
impl Default for hdr_output_metadata {
fn default() -> Self {
let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
unsafe {
::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
s.assume_init()
}
}
}
#[repr(C)]
#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)]
pub struct drm_mode_crtc_page_flip {
pub crtc_id: __u32,
pub fb_id: __u32,
pub flags: __u32,
pub reserved: __u32,
pub user_data: __u64,
}
#[repr(C)]
#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)]
pub struct drm_mode_crtc_page_flip_target {
pub crtc_id: __u32,
pub fb_id: __u32,
pub flags: __u32,
pub sequence: __u32,
pub user_data: __u64,
}
#[repr(C)]
#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)]
pub struct drm_mode_create_dumb {
pub height: __u32,
pub width: __u32,
pub bpp: __u32,
pub flags: __u32,
pub handle: __u32,
pub pitch: __u32,
pub size: __u64,
}
#[repr(C)]
#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)]
pub struct drm_mode_map_dumb {
pub handle: __u32,
pub pad: __u32,
pub offset: __u64,
}
#[repr(C)]
#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)]
pub struct drm_mode_destroy_dumb {
pub handle: __u32,
}
#[repr(C)]
#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)]
pub struct drm_mode_atomic {
pub flags: __u32,
pub count_objs: __u32,
pub objs_ptr: __u64,
pub count_props_ptr: __u64,
pub props_ptr: __u64,
pub prop_values_ptr: __u64,
pub reserved: __u64,
pub user_data: __u64,
}
#[repr(C)]
#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)]
pub struct drm_format_modifier_blob {
pub version: __u32,
pub flags: __u32,
pub count_formats: __u32,
pub formats_offset: __u32,
pub count_modifiers: __u32,
pub modifiers_offset: __u32,
}
#[repr(C)]
#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)]
pub struct drm_format_modifier {
pub formats: __u64,
pub offset: __u32,
pub pad: __u32,
pub modifier: __u64,
}
#[repr(C)]
#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)]
pub struct drm_mode_create_blob {
pub data: __u64,
pub length: __u32,
pub blob_id: __u32,
}
#[repr(C)]
#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)]
pub struct drm_mode_destroy_blob {
pub blob_id: __u32,
}
#[repr(C)]
#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)]
pub struct drm_mode_create_lease {
pub object_ids: __u64,
pub object_count: __u32,
pub flags: __u32,
pub lessee_id: __u32,
pub fd: __u32,
}
#[repr(C)]
#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)]
pub struct drm_mode_list_lessees {
pub count_lessees: __u32,
pub pad: __u32,
pub lessees_ptr: __u64,
}
#[repr(C)]
#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)]
pub struct drm_mode_get_lease {
pub count_objects: __u32,
pub pad: __u32,
pub objects_ptr: __u64,
}
#[repr(C)]
#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)]
pub struct drm_mode_revoke_lease {
pub lessee_id: __u32,
}
#[repr(C)]
#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)]
pub struct drm_mode_rect {
pub x1: __s32,
pub y1: __s32,
pub x2: __s32,
pub y2: __s32,
}
#[repr(C)]
#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)]
pub struct drm_mode_closefb {
pub fb_id: __u32,
pub pad: __u32,
}
#[repr(C)]
#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)]
pub struct drm_event {
pub type_: __u32,
pub length: __u32,
}
#[repr(C)]
#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)]
pub struct drm_event_vblank {
pub base: drm_event,
pub user_data: __u64,
pub tv_sec: __u32,
pub tv_usec: __u32,
pub sequence: __u32,
pub crtc_id: __u32,
}
#[repr(C)]
#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)]
pub struct drm_event_crtc_sequence {
pub base: drm_event,
pub user_data: __u64,
pub time_ns: __s64,
pub sequence: __u64,
}
pub type drm_clip_rect_t = drm_clip_rect;
pub type drm_drawable_info_t = drm_drawable_info;
pub type drm_tex_region_t = drm_tex_region;
pub type drm_hw_lock_t = drm_hw_lock;
pub type drm_version_t = drm_version;
pub type drm_unique_t = drm_unique;
pub type drm_list_t = drm_list;
pub type drm_block_t = drm_block;
pub type drm_control_t = drm_control;
pub use self::drm_map_flags::Type as drm_map_flags_t;
pub use self::drm_map_type::Type as drm_map_type_t;
pub type drm_ctx_priv_map_t = drm_ctx_priv_map;
pub type drm_map_t = drm_map;
pub type drm_client_t = drm_client;
pub use self::drm_stat_type::Type as drm_stat_type_t;
pub type drm_stats_t = drm_stats;
pub use self::drm_lock_flags::Type as drm_lock_flags_t;
pub type drm_lock_t = drm_lock;
pub use self::drm_dma_flags::Type as drm_dma_flags_t;
pub type drm_buf_desc_t = drm_buf_desc;
pub type drm_buf_info_t = drm_buf_info;
pub type drm_buf_free_t = drm_buf_free;
pub type drm_buf_pub_t = drm_buf_pub;
pub type drm_buf_map_t = drm_buf_map;
pub type drm_dma_t = drm_dma;
pub type drm_wait_vblank_t = drm_wait_vblank;
pub type drm_agp_mode_t = drm_agp_mode;
pub use self::drm_ctx_flags::Type as drm_ctx_flags_t;
pub type drm_ctx_t = drm_ctx;
pub type drm_ctx_res_t = drm_ctx_res;
pub type drm_draw_t = drm_draw;
pub type drm_update_draw_t = drm_update_draw;
pub type drm_auth_t = drm_auth;
pub type drm_irq_busid_t = drm_irq_busid;
pub use self::drm_vblank_seq_type::Type as drm_vblank_seq_type_t;
pub type drm_agp_buffer_t = drm_agp_buffer;
pub type drm_agp_binding_t = drm_agp_binding;
pub type drm_agp_info_t = drm_agp_info;
pub type drm_scatter_gather_t = drm_scatter_gather;
pub type drm_set_version_t = drm_set_version;
pub const DRM_MODE_PROP_SIGNED_RANGE: core::ffi::c_uint = 128;
pub const DRM_MODE_PROP_OBJECT: core::ffi::c_uint = 64;