/* automatically generated by rust-bindgen 0.68.1 */

#[repr(C)]
#[derive(Default)]
pub struct __IncompleteArrayField<T>(::core::marker::PhantomData<T>, [T; 0]);
impl<T> __IncompleteArrayField<T> {
    #[inline]
    pub const fn new() -> Self {
        __IncompleteArrayField(::core::marker::PhantomData, [])
    }
    #[inline]
    pub fn as_ptr(&self) -> *const T {
        self as *const _ as *const T
    }
    #[inline]
    pub fn as_mut_ptr(&mut self) -> *mut T {
        self as *mut _ as *mut T
    }
    #[inline]
    pub unsafe fn as_slice(&self, len: usize) -> &[T] {
        ::core::slice::from_raw_parts(self.as_ptr(), len)
    }
    #[inline]
    pub unsafe fn as_mut_slice(&mut self, len: usize) -> &mut [T] {
        ::core::slice::from_raw_parts_mut(self.as_mut_ptr(), len)
    }
}
impl<T> ::core::fmt::Debug for __IncompleteArrayField<T> {
    fn fmt(&self, fmt: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
        fmt.write_str("__IncompleteArrayField")
    }
}
pub const __GNUC_VA_LIST: u32 = 1;
pub const _SYS_TYPES_H: u32 = 1;
pub const _FEATURES_H: u32 = 1;
pub const _DEFAULT_SOURCE: u32 = 1;
pub const __GLIBC_USE_ISOC2X: u32 = 0;
pub const __USE_ISOC11: u32 = 1;
pub const __USE_ISOC99: u32 = 1;
pub const __USE_ISOC95: u32 = 1;
pub const __USE_POSIX_IMPLICITLY: u32 = 1;
pub const _POSIX_SOURCE: u32 = 1;
pub const _POSIX_C_SOURCE: u32 = 200809;
pub const __USE_POSIX: u32 = 1;
pub const __USE_POSIX2: u32 = 1;
pub const __USE_POSIX199309: u32 = 1;
pub const __USE_POSIX199506: u32 = 1;
pub const __USE_XOPEN2K: u32 = 1;
pub const __USE_XOPEN2K8: u32 = 1;
pub const _ATFILE_SOURCE: u32 = 1;
pub const __WORDSIZE: u32 = 64;
pub const __WORDSIZE_TIME64_COMPAT32: u32 = 1;
pub const __SYSCALL_WORDSIZE: u32 = 64;
pub const __TIMESIZE: u32 = 64;
pub const __USE_MISC: u32 = 1;
pub const __USE_ATFILE: u32 = 1;
pub const __USE_FORTIFY_LEVEL: u32 = 0;
pub const __GLIBC_USE_DEPRECATED_GETS: u32 = 0;
pub const __GLIBC_USE_DEPRECATED_SCANF: u32 = 0;
pub const _STDC_PREDEF_H: u32 = 1;
pub const __STDC_IEC_559__: u32 = 1;
pub const __STDC_IEC_60559_BFP__: u32 = 201404;
pub const __STDC_IEC_559_COMPLEX__: u32 = 1;
pub const __STDC_IEC_60559_COMPLEX__: u32 = 201404;
pub const __STDC_ISO_10646__: u32 = 201706;
pub const __GNU_LIBRARY__: u32 = 6;
pub const __GLIBC__: u32 = 2;
pub const __GLIBC_MINOR__: u32 = 37;
pub const _SYS_CDEFS_H: u32 = 1;
pub const __glibc_c99_flexarr_available: u32 = 1;
pub const __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI: u32 = 0;
pub const __HAVE_GENERIC_SELECTION: u32 = 1;
pub const _BITS_TYPES_H: u32 = 1;
pub const _BITS_TYPESIZES_H: u32 = 1;
pub const __OFF_T_MATCHES_OFF64_T: u32 = 1;
pub const __INO_T_MATCHES_INO64_T: u32 = 1;
pub const __RLIM_T_MATCHES_RLIM64_T: u32 = 1;
pub const __STATFS_MATCHES_STATFS64: u32 = 1;
pub const __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64: u32 = 1;
pub const __FD_SETSIZE: u32 = 1024;
pub const _BITS_TIME64_H: u32 = 1;
pub const __clock_t_defined: u32 = 1;
pub const __clockid_t_defined: u32 = 1;
pub const __time_t_defined: u32 = 1;
pub const __timer_t_defined: u32 = 1;
pub const _BITS_STDINT_INTN_H: u32 = 1;
pub const __BIT_TYPES_DEFINED__: u32 = 1;
pub const _ENDIAN_H: u32 = 1;
pub const _BITS_ENDIAN_H: u32 = 1;
pub const __LITTLE_ENDIAN: u32 = 1234;
pub const __BIG_ENDIAN: u32 = 4321;
pub const __PDP_ENDIAN: u32 = 3412;
pub const _BITS_ENDIANNESS_H: u32 = 1;
pub const __BYTE_ORDER: u32 = 1234;
pub const __FLOAT_WORD_ORDER: u32 = 1234;
pub const LITTLE_ENDIAN: u32 = 1234;
pub const BIG_ENDIAN: u32 = 4321;
pub const PDP_ENDIAN: u32 = 3412;
pub const BYTE_ORDER: u32 = 1234;
pub const _BITS_BYTESWAP_H: u32 = 1;
pub const _BITS_UINTN_IDENTITY_H: u32 = 1;
pub const _SYS_SELECT_H: u32 = 1;
pub const __sigset_t_defined: u32 = 1;
pub const __timeval_defined: u32 = 1;
pub const _STRUCT_TIMESPEC: u32 = 1;
pub const FD_SETSIZE: u32 = 1024;
pub const _BITS_PTHREADTYPES_COMMON_H: u32 = 1;
pub const _THREAD_SHARED_TYPES_H: u32 = 1;
pub const _BITS_PTHREADTYPES_ARCH_H: u32 = 1;
pub const __SIZEOF_PTHREAD_MUTEX_T: u32 = 40;
pub const __SIZEOF_PTHREAD_ATTR_T: u32 = 56;
pub const __SIZEOF_PTHREAD_RWLOCK_T: u32 = 56;
pub const __SIZEOF_PTHREAD_BARRIER_T: u32 = 32;
pub const __SIZEOF_PTHREAD_MUTEXATTR_T: u32 = 4;
pub const __SIZEOF_PTHREAD_COND_T: u32 = 48;
pub const __SIZEOF_PTHREAD_CONDATTR_T: u32 = 4;
pub const __SIZEOF_PTHREAD_RWLOCKATTR_T: u32 = 8;
pub const __SIZEOF_PTHREAD_BARRIERATTR_T: u32 = 4;
pub const _THREAD_MUTEX_INTERNAL_H: u32 = 1;
pub const __PTHREAD_MUTEX_HAVE_PREV: u32 = 1;
pub const __have_pthread_attr_t: u32 = 1;
pub const _STDINT_H: u32 = 1;
pub const __GLIBC_USE_LIB_EXT2: u32 = 0;
pub const __GLIBC_USE_IEC_60559_BFP_EXT: u32 = 0;
pub const __GLIBC_USE_IEC_60559_BFP_EXT_C2X: u32 = 0;
pub const __GLIBC_USE_IEC_60559_EXT: u32 = 0;
pub const __GLIBC_USE_IEC_60559_FUNCS_EXT: u32 = 0;
pub const __GLIBC_USE_IEC_60559_FUNCS_EXT_C2X: u32 = 0;
pub const __GLIBC_USE_IEC_60559_TYPES_EXT: u32 = 0;
pub const _BITS_WCHAR_H: u32 = 1;
pub const _BITS_STDINT_UINTN_H: u32 = 1;
pub const INT8_MIN: i32 = -128;
pub const INT16_MIN: i32 = -32768;
pub const INT32_MIN: i32 = -2147483648;
pub const INT8_MAX: u32 = 127;
pub const INT16_MAX: u32 = 32767;
pub const INT32_MAX: u32 = 2147483647;
pub const UINT8_MAX: u32 = 255;
pub const UINT16_MAX: u32 = 65535;
pub const UINT32_MAX: u32 = 4294967295;
pub const INT_LEAST8_MIN: i32 = -128;
pub const INT_LEAST16_MIN: i32 = -32768;
pub const INT_LEAST32_MIN: i32 = -2147483648;
pub const INT_LEAST8_MAX: u32 = 127;
pub const INT_LEAST16_MAX: u32 = 32767;
pub const INT_LEAST32_MAX: u32 = 2147483647;
pub const UINT_LEAST8_MAX: u32 = 255;
pub const UINT_LEAST16_MAX: u32 = 65535;
pub const UINT_LEAST32_MAX: u32 = 4294967295;
pub const INT_FAST8_MIN: i32 = -128;
pub const INT_FAST16_MIN: i64 = -9223372036854775808;
pub const INT_FAST32_MIN: i64 = -9223372036854775808;
pub const INT_FAST8_MAX: u32 = 127;
pub const INT_FAST16_MAX: u64 = 9223372036854775807;
pub const INT_FAST32_MAX: u64 = 9223372036854775807;
pub const UINT_FAST8_MAX: u32 = 255;
pub const UINT_FAST16_MAX: i32 = -1;
pub const UINT_FAST32_MAX: i32 = -1;
pub const INTPTR_MIN: i64 = -9223372036854775808;
pub const INTPTR_MAX: u64 = 9223372036854775807;
pub const UINTPTR_MAX: i32 = -1;
pub const PTRDIFF_MIN: i64 = -9223372036854775808;
pub const PTRDIFF_MAX: u64 = 9223372036854775807;
pub const SIG_ATOMIC_MIN: i32 = -2147483648;
pub const SIG_ATOMIC_MAX: u32 = 2147483647;
pub const SIZE_MAX: i32 = -1;
pub const WINT_MIN: u32 = 0;
pub const WINT_MAX: u32 = 4294967295;
pub const __BITS_PER_LONG: u32 = 64;
pub const _IOC_NRBITS: u32 = 8;
pub const _IOC_TYPEBITS: u32 = 8;
pub const _IOC_SIZEBITS: u32 = 14;
pub const _IOC_DIRBITS: u32 = 2;
pub const _IOC_NRMASK: u32 = 255;
pub const _IOC_TYPEMASK: u32 = 255;
pub const _IOC_SIZEMASK: u32 = 16383;
pub const _IOC_DIRMASK: u32 = 3;
pub const _IOC_NRSHIFT: u32 = 0;
pub const _IOC_TYPESHIFT: u32 = 8;
pub const _IOC_SIZESHIFT: u32 = 16;
pub const _IOC_DIRSHIFT: u32 = 30;
pub const _IOC_NONE: u32 = 0;
pub const _IOC_WRITE: u32 = 1;
pub const _IOC_READ: u32 = 2;
pub const IOC_IN: u32 = 1073741824;
pub const IOC_OUT: u32 = 2147483648;
pub const IOC_INOUT: u32 = 3221225472;
pub const IOCSIZE_MASK: u32 = 1073676288;
pub const IOCSIZE_SHIFT: u32 = 16;
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_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_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_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 FORMAT_BLOB_CURRENT: u32 = 1;
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 const DRM_MAX_MINOR: u32 = 64;
pub const DRM_IOC_VOID: u32 = 0;
pub const DRM_IOC_READ: u32 = 2;
pub const DRM_IOC_WRITE: u32 = 1;
pub const DRM_IOC_READWRITE: u32 = 3;
pub const DRM_DEV_UID: u32 = 0;
pub const DRM_DEV_GID: u32 = 0;
pub const DRM_DIR_NAME: &[u8; 9] = b"/dev/dri\0";
pub const DRM_PRIMARY_MINOR_NAME: &[u8; 5] = b"card\0";
pub const DRM_CONTROL_MINOR_NAME: &[u8; 9] = b"controlD\0";
pub const DRM_RENDER_MINOR_NAME: &[u8; 8] = b"renderD\0";
pub const DRM_PROC_NAME: &[u8; 11] = b"/proc/dri/\0";
pub const DRM_DEV_NAME: &[u8; 10] = b"%s/card%d\0";
pub const DRM_CONTROL_DEV_NAME: &[u8; 14] = b"%s/controlD%d\0";
pub const DRM_RENDER_DEV_NAME: &[u8; 13] = b"%s/renderD%d\0";
pub const DRM_ERR_NO_DEVICE: i32 = -1001;
pub const DRM_ERR_NO_ACCESS: i32 = -1002;
pub const DRM_ERR_NOT_ROOT: i32 = -1003;
pub const DRM_ERR_INVALID: i32 = -1004;
pub const DRM_ERR_NO_FD: i32 = -1005;
pub const DRM_AGP_NO_HANDLE: u32 = 0;
pub const DRM_VBLANK_HIGH_CRTC_SHIFT: u32 = 1;
pub const DRM_LOCK_HELD: u32 = 2147483648;
pub const DRM_LOCK_CONT: u32 = 1073741824;
pub const DRM_NODE_PRIMARY: u32 = 0;
pub const DRM_NODE_CONTROL: u32 = 1;
pub const DRM_NODE_RENDER: u32 = 2;
pub const DRM_NODE_MAX: u32 = 3;
pub const DRM_EVENT_CONTEXT_VERSION: u32 = 4;
pub const DRM_BUS_PCI: u32 = 0;
pub const DRM_BUS_USB: u32 = 1;
pub const DRM_BUS_PLATFORM: u32 = 2;
pub const DRM_BUS_HOST1X: u32 = 3;
pub const DRM_PLATFORM_DEVICE_NAME_LEN: u32 = 512;
pub const DRM_HOST1X_DEVICE_NAME_LEN: u32 = 512;
pub const DRM_DEVICE_GET_PCI_REVISION: u32 = 1;
pub const __bool_true_false_are_defined: u32 = 1;
pub const true_: u32 = 1;
pub const false_: u32 = 0;
pub const DRM_MODE_FEATURE_KMS: u32 = 1;
pub const DRM_MODE_FEATURE_DIRTYFB: u32 = 1;
pub const DRM_PLANE_TYPE_OVERLAY: u32 = 0;
pub const DRM_PLANE_TYPE_PRIMARY: u32 = 1;
pub const DRM_PLANE_TYPE_CURSOR: u32 = 2;
pub const AMDGPU_CS_MAX_IBS_PER_SUBMIT: u32 = 4;
pub const AMDGPU_TIMEOUT_INFINITE: i32 = -1;
pub const AMDGPU_QUERY_FENCE_TIMEOUT_IS_ABSOLUTE: u32 = 1;
pub const AMDGPU_VA_RANGE_32_BIT: u32 = 1;
pub const AMDGPU_VA_RANGE_HIGH: u32 = 2;
pub const AMDGPU_VA_RANGE_REPLAYABLE: u32 = 4;
pub const DRM_AMDGPU_GEM_CREATE: u32 = 0;
pub const DRM_AMDGPU_GEM_MMAP: u32 = 1;
pub const DRM_AMDGPU_CTX: u32 = 2;
pub const DRM_AMDGPU_BO_LIST: u32 = 3;
pub const DRM_AMDGPU_CS: u32 = 4;
pub const DRM_AMDGPU_INFO: u32 = 5;
pub const DRM_AMDGPU_GEM_METADATA: u32 = 6;
pub const DRM_AMDGPU_GEM_WAIT_IDLE: u32 = 7;
pub const DRM_AMDGPU_GEM_VA: u32 = 8;
pub const DRM_AMDGPU_WAIT_CS: u32 = 9;
pub const DRM_AMDGPU_GEM_OP: u32 = 16;
pub const DRM_AMDGPU_GEM_USERPTR: u32 = 17;
pub const DRM_AMDGPU_WAIT_FENCES: u32 = 18;
pub const DRM_AMDGPU_VM: u32 = 19;
pub const DRM_AMDGPU_FENCE_TO_HANDLE: u32 = 20;
pub const DRM_AMDGPU_SCHED: u32 = 21;
pub const AMDGPU_GEM_DOMAIN_CPU: u32 = 1;
pub const AMDGPU_GEM_DOMAIN_GTT: u32 = 2;
pub const AMDGPU_GEM_DOMAIN_VRAM: u32 = 4;
pub const AMDGPU_GEM_DOMAIN_GDS: u32 = 8;
pub const AMDGPU_GEM_DOMAIN_GWS: u32 = 16;
pub const AMDGPU_GEM_DOMAIN_OA: u32 = 32;
pub const AMDGPU_GEM_DOMAIN_DOORBELL: u32 = 64;
pub const AMDGPU_GEM_DOMAIN_MASK: u32 = 127;
pub const AMDGPU_GEM_CREATE_CPU_ACCESS_REQUIRED: u32 = 1;
pub const AMDGPU_GEM_CREATE_NO_CPU_ACCESS: u32 = 2;
pub const AMDGPU_GEM_CREATE_CPU_GTT_USWC: u32 = 4;
pub const AMDGPU_GEM_CREATE_VRAM_CLEARED: u32 = 8;
pub const AMDGPU_GEM_CREATE_VRAM_CONTIGUOUS: u32 = 32;
pub const AMDGPU_GEM_CREATE_VM_ALWAYS_VALID: u32 = 64;
pub const AMDGPU_GEM_CREATE_EXPLICIT_SYNC: u32 = 128;
pub const AMDGPU_GEM_CREATE_CP_MQD_GFX9: u32 = 256;
pub const AMDGPU_GEM_CREATE_VRAM_WIPE_ON_RELEASE: u32 = 512;
pub const AMDGPU_GEM_CREATE_ENCRYPTED: u32 = 1024;
pub const AMDGPU_GEM_CREATE_PREEMPTIBLE: u32 = 2048;
pub const AMDGPU_GEM_CREATE_DISCARDABLE: u32 = 4096;
pub const AMDGPU_GEM_CREATE_COHERENT: u32 = 8192;
pub const AMDGPU_GEM_CREATE_UNCACHED: u32 = 16384;
pub const AMDGPU_GEM_CREATE_EXT_COHERENT: u32 = 32768;
pub const AMDGPU_BO_LIST_OP_CREATE: u32 = 0;
pub const AMDGPU_BO_LIST_OP_DESTROY: u32 = 1;
pub const AMDGPU_BO_LIST_OP_UPDATE: u32 = 2;
pub const AMDGPU_CTX_OP_ALLOC_CTX: u32 = 1;
pub const AMDGPU_CTX_OP_FREE_CTX: u32 = 2;
pub const AMDGPU_CTX_OP_QUERY_STATE: u32 = 3;
pub const AMDGPU_CTX_OP_QUERY_STATE2: u32 = 4;
pub const AMDGPU_CTX_OP_GET_STABLE_PSTATE: u32 = 5;
pub const AMDGPU_CTX_OP_SET_STABLE_PSTATE: u32 = 6;
pub const AMDGPU_CTX_NO_RESET: u32 = 0;
pub const AMDGPU_CTX_GUILTY_RESET: u32 = 1;
pub const AMDGPU_CTX_INNOCENT_RESET: u32 = 2;
pub const AMDGPU_CTX_UNKNOWN_RESET: u32 = 3;
pub const AMDGPU_CTX_QUERY2_FLAGS_RESET: u32 = 1;
pub const AMDGPU_CTX_QUERY2_FLAGS_VRAMLOST: u32 = 2;
pub const AMDGPU_CTX_QUERY2_FLAGS_GUILTY: u32 = 4;
pub const AMDGPU_CTX_QUERY2_FLAGS_RAS_CE: u32 = 8;
pub const AMDGPU_CTX_QUERY2_FLAGS_RAS_UE: u32 = 16;
pub const AMDGPU_CTX_QUERY2_FLAGS_RESET_IN_PROGRESS: u32 = 32;
pub const AMDGPU_CTX_PRIORITY_UNSET: i32 = -2048;
pub const AMDGPU_CTX_PRIORITY_VERY_LOW: i32 = -1023;
pub const AMDGPU_CTX_PRIORITY_LOW: i32 = -512;
pub const AMDGPU_CTX_PRIORITY_NORMAL: u32 = 0;
pub const AMDGPU_CTX_PRIORITY_HIGH: u32 = 512;
pub const AMDGPU_CTX_PRIORITY_VERY_HIGH: u32 = 1023;
pub const AMDGPU_CTX_STABLE_PSTATE_FLAGS_MASK: u32 = 15;
pub const AMDGPU_CTX_STABLE_PSTATE_NONE: u32 = 0;
pub const AMDGPU_CTX_STABLE_PSTATE_STANDARD: u32 = 1;
pub const AMDGPU_CTX_STABLE_PSTATE_MIN_SCLK: u32 = 2;
pub const AMDGPU_CTX_STABLE_PSTATE_MIN_MCLK: u32 = 3;
pub const AMDGPU_CTX_STABLE_PSTATE_PEAK: u32 = 4;
pub const AMDGPU_VM_OP_RESERVE_VMID: u32 = 1;
pub const AMDGPU_VM_OP_UNRESERVE_VMID: u32 = 2;
pub const AMDGPU_SCHED_OP_PROCESS_PRIORITY_OVERRIDE: u32 = 1;
pub const AMDGPU_SCHED_OP_CONTEXT_PRIORITY_OVERRIDE: u32 = 2;
pub const AMDGPU_GEM_USERPTR_READONLY: u32 = 1;
pub const AMDGPU_GEM_USERPTR_ANONONLY: u32 = 2;
pub const AMDGPU_GEM_USERPTR_VALIDATE: u32 = 4;
pub const AMDGPU_GEM_USERPTR_REGISTER: u32 = 8;
pub const AMDGPU_TILING_ARRAY_MODE_SHIFT: u32 = 0;
pub const AMDGPU_TILING_ARRAY_MODE_MASK: u32 = 15;
pub const AMDGPU_TILING_PIPE_CONFIG_SHIFT: u32 = 4;
pub const AMDGPU_TILING_PIPE_CONFIG_MASK: u32 = 31;
pub const AMDGPU_TILING_TILE_SPLIT_SHIFT: u32 = 9;
pub const AMDGPU_TILING_TILE_SPLIT_MASK: u32 = 7;
pub const AMDGPU_TILING_MICRO_TILE_MODE_SHIFT: u32 = 12;
pub const AMDGPU_TILING_MICRO_TILE_MODE_MASK: u32 = 7;
pub const AMDGPU_TILING_BANK_WIDTH_SHIFT: u32 = 15;
pub const AMDGPU_TILING_BANK_WIDTH_MASK: u32 = 3;
pub const AMDGPU_TILING_BANK_HEIGHT_SHIFT: u32 = 17;
pub const AMDGPU_TILING_BANK_HEIGHT_MASK: u32 = 3;
pub const AMDGPU_TILING_MACRO_TILE_ASPECT_SHIFT: u32 = 19;
pub const AMDGPU_TILING_MACRO_TILE_ASPECT_MASK: u32 = 3;
pub const AMDGPU_TILING_NUM_BANKS_SHIFT: u32 = 21;
pub const AMDGPU_TILING_NUM_BANKS_MASK: u32 = 3;
pub const AMDGPU_TILING_SWIZZLE_MODE_SHIFT: u32 = 0;
pub const AMDGPU_TILING_SWIZZLE_MODE_MASK: u32 = 31;
pub const AMDGPU_TILING_DCC_OFFSET_256B_SHIFT: u32 = 5;
pub const AMDGPU_TILING_DCC_OFFSET_256B_MASK: u32 = 16777215;
pub const AMDGPU_TILING_DCC_PITCH_MAX_SHIFT: u32 = 29;
pub const AMDGPU_TILING_DCC_PITCH_MAX_MASK: u32 = 16383;
pub const AMDGPU_TILING_DCC_INDEPENDENT_64B_SHIFT: u32 = 43;
pub const AMDGPU_TILING_DCC_INDEPENDENT_64B_MASK: u32 = 1;
pub const AMDGPU_TILING_DCC_INDEPENDENT_128B_SHIFT: u32 = 44;
pub const AMDGPU_TILING_DCC_INDEPENDENT_128B_MASK: u32 = 1;
pub const AMDGPU_TILING_SCANOUT_SHIFT: u32 = 63;
pub const AMDGPU_TILING_SCANOUT_MASK: u32 = 1;
pub const AMDGPU_GEM_METADATA_OP_SET_METADATA: u32 = 1;
pub const AMDGPU_GEM_METADATA_OP_GET_METADATA: u32 = 2;
pub const AMDGPU_GEM_OP_GET_GEM_CREATE_INFO: u32 = 0;
pub const AMDGPU_GEM_OP_SET_PLACEMENT: u32 = 1;
pub const AMDGPU_VA_OP_MAP: u32 = 1;
pub const AMDGPU_VA_OP_UNMAP: u32 = 2;
pub const AMDGPU_VA_OP_CLEAR: u32 = 3;
pub const AMDGPU_VA_OP_REPLACE: u32 = 4;
pub const AMDGPU_VM_DELAY_UPDATE: u32 = 1;
pub const AMDGPU_VM_PAGE_READABLE: u32 = 2;
pub const AMDGPU_VM_PAGE_WRITEABLE: u32 = 4;
pub const AMDGPU_VM_PAGE_EXECUTABLE: u32 = 8;
pub const AMDGPU_VM_PAGE_PRT: u32 = 16;
pub const AMDGPU_VM_MTYPE_MASK: u32 = 480;
pub const AMDGPU_VM_MTYPE_DEFAULT: u32 = 0;
pub const AMDGPU_VM_MTYPE_NC: u32 = 32;
pub const AMDGPU_VM_MTYPE_WC: u32 = 64;
pub const AMDGPU_VM_MTYPE_CC: u32 = 96;
pub const AMDGPU_VM_MTYPE_UC: u32 = 128;
pub const AMDGPU_VM_MTYPE_RW: u32 = 160;
pub const AMDGPU_VM_PAGE_NOALLOC: u32 = 512;
pub const AMDGPU_HW_IP_GFX: u32 = 0;
pub const AMDGPU_HW_IP_COMPUTE: u32 = 1;
pub const AMDGPU_HW_IP_DMA: u32 = 2;
pub const AMDGPU_HW_IP_UVD: u32 = 3;
pub const AMDGPU_HW_IP_VCE: u32 = 4;
pub const AMDGPU_HW_IP_UVD_ENC: u32 = 5;
pub const AMDGPU_HW_IP_VCN_DEC: u32 = 6;
pub const AMDGPU_HW_IP_VCN_ENC: u32 = 7;
pub const AMDGPU_HW_IP_VCN_JPEG: u32 = 8;
pub const AMDGPU_HW_IP_VPE: u32 = 9;
pub const AMDGPU_HW_IP_NUM: u32 = 10;
pub const AMDGPU_HW_IP_INSTANCE_MAX_COUNT: u32 = 1;
pub const AMDGPU_CHUNK_ID_IB: u32 = 1;
pub const AMDGPU_CHUNK_ID_FENCE: u32 = 2;
pub const AMDGPU_CHUNK_ID_DEPENDENCIES: u32 = 3;
pub const AMDGPU_CHUNK_ID_SYNCOBJ_IN: u32 = 4;
pub const AMDGPU_CHUNK_ID_SYNCOBJ_OUT: u32 = 5;
pub const AMDGPU_CHUNK_ID_BO_HANDLES: u32 = 6;
pub const AMDGPU_CHUNK_ID_SCHEDULED_DEPENDENCIES: u32 = 7;
pub const AMDGPU_CHUNK_ID_SYNCOBJ_TIMELINE_WAIT: u32 = 8;
pub const AMDGPU_CHUNK_ID_SYNCOBJ_TIMELINE_SIGNAL: u32 = 9;
pub const AMDGPU_CHUNK_ID_CP_GFX_SHADOW: u32 = 10;
pub const AMDGPU_IB_FLAG_CE: u32 = 1;
pub const AMDGPU_IB_FLAG_PREAMBLE: u32 = 2;
pub const AMDGPU_IB_FLAG_PREEMPT: u32 = 4;
pub const AMDGPU_IB_FLAG_TC_WB_NOT_INVALIDATE: u32 = 8;
pub const AMDGPU_IB_FLAG_RESET_GDS_MAX_WAVE_ID: u32 = 16;
pub const AMDGPU_IB_FLAGS_SECURE: u32 = 32;
pub const AMDGPU_IB_FLAG_EMIT_MEM_SYNC: u32 = 64;
pub const AMDGPU_FENCE_TO_HANDLE_GET_SYNCOBJ: u32 = 0;
pub const AMDGPU_FENCE_TO_HANDLE_GET_SYNCOBJ_FD: u32 = 1;
pub const AMDGPU_FENCE_TO_HANDLE_GET_SYNC_FILE_FD: u32 = 2;
pub const AMDGPU_CS_CHUNK_CP_GFX_SHADOW_FLAGS_INIT_SHADOW: u32 = 1;
pub const AMDGPU_IDS_FLAGS_FUSION: u32 = 1;
pub const AMDGPU_IDS_FLAGS_PREEMPTION: u32 = 2;
pub const AMDGPU_IDS_FLAGS_TMZ: u32 = 4;
pub const AMDGPU_IDS_FLAGS_CONFORMANT_TRUNC_COORD: u32 = 8;
pub const AMDGPU_INFO_ACCEL_WORKING: u32 = 0;
pub const AMDGPU_INFO_CRTC_FROM_ID: u32 = 1;
pub const AMDGPU_INFO_HW_IP_INFO: u32 = 2;
pub const AMDGPU_INFO_HW_IP_COUNT: u32 = 3;
pub const AMDGPU_INFO_TIMESTAMP: u32 = 5;
pub const AMDGPU_INFO_FW_VERSION: u32 = 14;
pub const AMDGPU_INFO_FW_VCE: u32 = 1;
pub const AMDGPU_INFO_FW_UVD: u32 = 2;
pub const AMDGPU_INFO_FW_GMC: u32 = 3;
pub const AMDGPU_INFO_FW_GFX_ME: u32 = 4;
pub const AMDGPU_INFO_FW_GFX_PFP: u32 = 5;
pub const AMDGPU_INFO_FW_GFX_CE: u32 = 6;
pub const AMDGPU_INFO_FW_GFX_RLC: u32 = 7;
pub const AMDGPU_INFO_FW_GFX_MEC: u32 = 8;
pub const AMDGPU_INFO_FW_SMC: u32 = 10;
pub const AMDGPU_INFO_FW_SDMA: u32 = 11;
pub const AMDGPU_INFO_FW_SOS: u32 = 12;
pub const AMDGPU_INFO_FW_ASD: u32 = 13;
pub const AMDGPU_INFO_FW_VCN: u32 = 14;
pub const AMDGPU_INFO_FW_GFX_RLC_RESTORE_LIST_CNTL: u32 = 15;
pub const AMDGPU_INFO_FW_GFX_RLC_RESTORE_LIST_GPM_MEM: u32 = 16;
pub const AMDGPU_INFO_FW_GFX_RLC_RESTORE_LIST_SRM_MEM: u32 = 17;
pub const AMDGPU_INFO_FW_DMCU: u32 = 18;
pub const AMDGPU_INFO_FW_TA: u32 = 19;
pub const AMDGPU_INFO_FW_DMCUB: u32 = 20;
pub const AMDGPU_INFO_FW_TOC: u32 = 21;
pub const AMDGPU_INFO_FW_CAP: u32 = 22;
pub const AMDGPU_INFO_FW_GFX_RLCP: u32 = 23;
pub const AMDGPU_INFO_FW_GFX_RLCV: u32 = 24;
pub const AMDGPU_INFO_FW_MES_KIQ: u32 = 25;
pub const AMDGPU_INFO_FW_MES: u32 = 26;
pub const AMDGPU_INFO_FW_IMU: u32 = 27;
pub const AMDGPU_INFO_FW_VPE: u32 = 28;
pub const AMDGPU_INFO_NUM_BYTES_MOVED: u32 = 15;
pub const AMDGPU_INFO_VRAM_USAGE: u32 = 16;
pub const AMDGPU_INFO_GTT_USAGE: u32 = 17;
pub const AMDGPU_INFO_GDS_CONFIG: u32 = 19;
pub const AMDGPU_INFO_VRAM_GTT: u32 = 20;
pub const AMDGPU_INFO_READ_MMR_REG: u32 = 21;
pub const AMDGPU_INFO_DEV_INFO: u32 = 22;
pub const AMDGPU_INFO_VIS_VRAM_USAGE: u32 = 23;
pub const AMDGPU_INFO_NUM_EVICTIONS: u32 = 24;
pub const AMDGPU_INFO_MEMORY: u32 = 25;
pub const AMDGPU_INFO_VCE_CLOCK_TABLE: u32 = 26;
pub const AMDGPU_INFO_VBIOS: u32 = 27;
pub const AMDGPU_INFO_VBIOS_SIZE: u32 = 1;
pub const AMDGPU_INFO_VBIOS_IMAGE: u32 = 2;
pub const AMDGPU_INFO_VBIOS_INFO: u32 = 3;
pub const AMDGPU_INFO_NUM_HANDLES: u32 = 28;
pub const AMDGPU_INFO_SENSOR: u32 = 29;
pub const AMDGPU_INFO_SENSOR_GFX_SCLK: u32 = 1;
pub const AMDGPU_INFO_SENSOR_GFX_MCLK: u32 = 2;
pub const AMDGPU_INFO_SENSOR_GPU_TEMP: u32 = 3;
pub const AMDGPU_INFO_SENSOR_GPU_LOAD: u32 = 4;
pub const AMDGPU_INFO_SENSOR_GPU_AVG_POWER: u32 = 5;
pub const AMDGPU_INFO_SENSOR_VDDNB: u32 = 6;
pub const AMDGPU_INFO_SENSOR_VDDGFX: u32 = 7;
pub const AMDGPU_INFO_SENSOR_STABLE_PSTATE_GFX_SCLK: u32 = 8;
pub const AMDGPU_INFO_SENSOR_STABLE_PSTATE_GFX_MCLK: u32 = 9;
pub const AMDGPU_INFO_SENSOR_PEAK_PSTATE_GFX_SCLK: u32 = 10;
pub const AMDGPU_INFO_SENSOR_PEAK_PSTATE_GFX_MCLK: u32 = 11;
pub const AMDGPU_INFO_NUM_VRAM_CPU_PAGE_FAULTS: u32 = 30;
pub const AMDGPU_INFO_VRAM_LOST_COUNTER: u32 = 31;
pub const AMDGPU_INFO_RAS_ENABLED_FEATURES: u32 = 32;
pub const AMDGPU_INFO_RAS_ENABLED_UMC: u32 = 1;
pub const AMDGPU_INFO_RAS_ENABLED_SDMA: u32 = 2;
pub const AMDGPU_INFO_RAS_ENABLED_GFX: u32 = 4;
pub const AMDGPU_INFO_RAS_ENABLED_MMHUB: u32 = 8;
pub const AMDGPU_INFO_RAS_ENABLED_ATHUB: u32 = 16;
pub const AMDGPU_INFO_RAS_ENABLED_PCIE: u32 = 32;
pub const AMDGPU_INFO_RAS_ENABLED_HDP: u32 = 64;
pub const AMDGPU_INFO_RAS_ENABLED_XGMI: u32 = 128;
pub const AMDGPU_INFO_RAS_ENABLED_DF: u32 = 256;
pub const AMDGPU_INFO_RAS_ENABLED_SMN: u32 = 512;
pub const AMDGPU_INFO_RAS_ENABLED_SEM: u32 = 1024;
pub const AMDGPU_INFO_RAS_ENABLED_MP0: u32 = 2048;
pub const AMDGPU_INFO_RAS_ENABLED_MP1: u32 = 4096;
pub const AMDGPU_INFO_RAS_ENABLED_FUSE: u32 = 8192;
pub const AMDGPU_INFO_VIDEO_CAPS: u32 = 33;
pub const AMDGPU_INFO_VIDEO_CAPS_DECODE: u32 = 0;
pub const AMDGPU_INFO_VIDEO_CAPS_ENCODE: u32 = 1;
pub const AMDGPU_INFO_MAX_IBS: u32 = 34;
pub const AMDGPU_INFO_GPUVM_FAULT: u32 = 35;
pub const AMDGPU_INFO_MMR_SE_INDEX_SHIFT: u32 = 0;
pub const AMDGPU_INFO_MMR_SE_INDEX_MASK: u32 = 255;
pub const AMDGPU_INFO_MMR_SH_INDEX_SHIFT: u32 = 8;
pub const AMDGPU_INFO_MMR_SH_INDEX_MASK: u32 = 255;
pub const AMDGPU_VRAM_TYPE_UNKNOWN: u32 = 0;
pub const AMDGPU_VRAM_TYPE_GDDR1: u32 = 1;
pub const AMDGPU_VRAM_TYPE_DDR2: u32 = 2;
pub const AMDGPU_VRAM_TYPE_GDDR3: u32 = 3;
pub const AMDGPU_VRAM_TYPE_GDDR4: u32 = 4;
pub const AMDGPU_VRAM_TYPE_GDDR5: u32 = 5;
pub const AMDGPU_VRAM_TYPE_HBM: u32 = 6;
pub const AMDGPU_VRAM_TYPE_DDR3: u32 = 7;
pub const AMDGPU_VRAM_TYPE_DDR4: u32 = 8;
pub const AMDGPU_VRAM_TYPE_GDDR6: u32 = 9;
pub const AMDGPU_VRAM_TYPE_DDR5: u32 = 10;
pub const AMDGPU_VRAM_TYPE_LPDDR4: u32 = 11;
pub const AMDGPU_VRAM_TYPE_LPDDR5: u32 = 12;
pub const AMDGPU_VCE_CLOCK_TABLE_ENTRIES: u32 = 6;
pub const AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_MPEG2: u32 = 0;
pub const AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_MPEG4: u32 = 1;
pub const AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_VC1: u32 = 2;
pub const AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_MPEG4_AVC: u32 = 3;
pub const AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_HEVC: u32 = 4;
pub const AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_JPEG: u32 = 5;
pub const AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_VP9: u32 = 6;
pub const AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_AV1: u32 = 7;
pub const AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_COUNT: u32 = 8;
pub const AMDGPU_VMHUB_TYPE_MASK: u32 = 255;
pub const AMDGPU_VMHUB_TYPE_SHIFT: u32 = 0;
pub const AMDGPU_VMHUB_TYPE_GFX: u32 = 0;
pub const AMDGPU_VMHUB_TYPE_MM0: u32 = 1;
pub const AMDGPU_VMHUB_TYPE_MM1: u32 = 2;
pub const AMDGPU_VMHUB_IDX_MASK: u32 = 65280;
pub const AMDGPU_VMHUB_IDX_SHIFT: u32 = 8;
pub const AMDGPU_FAMILY_UNKNOWN: u32 = 0;
pub const AMDGPU_FAMILY_SI: u32 = 110;
pub const AMDGPU_FAMILY_CI: u32 = 120;
pub const AMDGPU_FAMILY_KV: u32 = 125;
pub const AMDGPU_FAMILY_VI: u32 = 130;
pub const AMDGPU_FAMILY_CZ: u32 = 135;
pub const AMDGPU_FAMILY_AI: u32 = 141;
pub const AMDGPU_FAMILY_RV: u32 = 142;
pub const AMDGPU_FAMILY_NV: u32 = 143;
pub const AMDGPU_FAMILY_VGH: u32 = 144;
pub const AMDGPU_FAMILY_GC_11_0_0: u32 = 145;
pub const AMDGPU_FAMILY_YC: u32 = 146;
pub const AMDGPU_FAMILY_GC_11_0_1: u32 = 148;
pub const AMDGPU_FAMILY_GC_10_3_6: u32 = 149;
pub const AMDGPU_FAMILY_GC_10_3_7: u32 = 151;
pub const AMDGPU_FAMILY_GC_11_5_0: u32 = 150;
pub const NUM_HBM_INSTANCES: u32 = 4;
pub const NUM_XGMI_LINKS: u32 = 8;
pub const MAX_GFX_CLKS: u32 = 8;
pub const MAX_CLKS: u32 = 4;
pub const NUM_VCN: u32 = 4;
pub const NUM_JPEG_ENG: u32 = 32;
pub type va_list = __builtin_va_list;
pub type __gnuc_va_list = __builtin_va_list;
pub type __u_char = ::core::ffi::c_uchar;
pub type __u_short = ::core::ffi::c_ushort;
pub type __u_int = ::core::ffi::c_uint;
pub type __u_long = ::core::ffi::c_ulong;
pub type __int8_t = ::core::ffi::c_schar;
pub type __uint8_t = ::core::ffi::c_uchar;
pub type __int16_t = ::core::ffi::c_short;
pub type __uint16_t = ::core::ffi::c_ushort;
pub type __int32_t = ::core::ffi::c_int;
pub type __uint32_t = ::core::ffi::c_uint;
pub type __int64_t = ::core::ffi::c_long;
pub type __uint64_t = ::core::ffi::c_ulong;
pub type __int_least8_t = __int8_t;
pub type __uint_least8_t = __uint8_t;
pub type __int_least16_t = __int16_t;
pub type __uint_least16_t = __uint16_t;
pub type __int_least32_t = __int32_t;
pub type __uint_least32_t = __uint32_t;
pub type __int_least64_t = __int64_t;
pub type __uint_least64_t = __uint64_t;
pub type __quad_t = ::core::ffi::c_long;
pub type __u_quad_t = ::core::ffi::c_ulong;
pub type __intmax_t = ::core::ffi::c_long;
pub type __uintmax_t = ::core::ffi::c_ulong;
pub type __dev_t = ::core::ffi::c_ulong;
pub type __uid_t = ::core::ffi::c_uint;
pub type __gid_t = ::core::ffi::c_uint;
pub type __ino_t = ::core::ffi::c_ulong;
pub type __ino64_t = ::core::ffi::c_ulong;
pub type __mode_t = ::core::ffi::c_uint;
pub type __nlink_t = ::core::ffi::c_ulong;
pub type __off_t = ::core::ffi::c_long;
pub type __off64_t = ::core::ffi::c_long;
pub type __pid_t = ::core::ffi::c_int;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct __fsid_t {
    pub __val: [::core::ffi::c_int; 2usize],
}
#[test]
fn bindgen_test_layout___fsid_t() {
    const UNINIT: ::core::mem::MaybeUninit<__fsid_t> = ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<__fsid_t>(),
        8usize,
        concat!("Size of: ", stringify!(__fsid_t))
    );
    assert_eq!(
        ::core::mem::align_of::<__fsid_t>(),
        4usize,
        concat!("Alignment of ", stringify!(__fsid_t))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).__val) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(__fsid_t),
            "::",
            stringify!(__val)
        )
    );
}
pub type __clock_t = ::core::ffi::c_long;
pub type __rlim_t = ::core::ffi::c_ulong;
pub type __rlim64_t = ::core::ffi::c_ulong;
pub type __id_t = ::core::ffi::c_uint;
pub type __time_t = ::core::ffi::c_long;
pub type __useconds_t = ::core::ffi::c_uint;
pub type __suseconds_t = ::core::ffi::c_long;
pub type __suseconds64_t = ::core::ffi::c_long;
pub type __daddr_t = ::core::ffi::c_int;
pub type __key_t = ::core::ffi::c_int;
pub type __clockid_t = ::core::ffi::c_int;
pub type __timer_t = *mut ::core::ffi::c_void;
pub type __blksize_t = ::core::ffi::c_long;
pub type __blkcnt_t = ::core::ffi::c_long;
pub type __blkcnt64_t = ::core::ffi::c_long;
pub type __fsblkcnt_t = ::core::ffi::c_ulong;
pub type __fsblkcnt64_t = ::core::ffi::c_ulong;
pub type __fsfilcnt_t = ::core::ffi::c_ulong;
pub type __fsfilcnt64_t = ::core::ffi::c_ulong;
pub type __fsword_t = ::core::ffi::c_long;
pub type __ssize_t = ::core::ffi::c_long;
pub type __syscall_slong_t = ::core::ffi::c_long;
pub type __syscall_ulong_t = ::core::ffi::c_ulong;
pub type __loff_t = __off64_t;
pub type __caddr_t = *mut ::core::ffi::c_char;
pub type __intptr_t = ::core::ffi::c_long;
pub type __socklen_t = ::core::ffi::c_uint;
pub type __sig_atomic_t = ::core::ffi::c_int;
pub type u_char = __u_char;
pub type u_short = __u_short;
pub type u_int = __u_int;
pub type u_long = __u_long;
pub type quad_t = __quad_t;
pub type u_quad_t = __u_quad_t;
pub type fsid_t = __fsid_t;
pub type loff_t = __loff_t;
pub type ino_t = __ino_t;
pub type dev_t = __dev_t;
pub type gid_t = __gid_t;
pub type mode_t = __mode_t;
pub type nlink_t = __nlink_t;
pub type uid_t = __uid_t;
pub type off_t = __off_t;
pub type pid_t = __pid_t;
pub type id_t = __id_t;
pub type daddr_t = __daddr_t;
pub type caddr_t = __caddr_t;
pub type key_t = __key_t;
pub type clock_t = __clock_t;
pub type clockid_t = __clockid_t;
pub type time_t = __time_t;
pub type timer_t = __timer_t;
pub type ulong = ::core::ffi::c_ulong;
pub type ushort = ::core::ffi::c_ushort;
pub type uint = ::core::ffi::c_uint;
pub type u_int8_t = __uint8_t;
pub type u_int16_t = __uint16_t;
pub type u_int32_t = __uint32_t;
pub type u_int64_t = __uint64_t;
pub type register_t = ::core::ffi::c_long;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct __sigset_t {
    pub __val: [::core::ffi::c_ulong; 16usize],
}
#[test]
fn bindgen_test_layout___sigset_t() {
    const UNINIT: ::core::mem::MaybeUninit<__sigset_t> = ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<__sigset_t>(),
        128usize,
        concat!("Size of: ", stringify!(__sigset_t))
    );
    assert_eq!(
        ::core::mem::align_of::<__sigset_t>(),
        8usize,
        concat!("Alignment of ", stringify!(__sigset_t))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).__val) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(__sigset_t),
            "::",
            stringify!(__val)
        )
    );
}
pub type sigset_t = __sigset_t;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct timeval {
    pub tv_sec: __time_t,
    pub tv_usec: __suseconds_t,
}
#[test]
fn bindgen_test_layout_timeval() {
    const UNINIT: ::core::mem::MaybeUninit<timeval> = ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<timeval>(),
        16usize,
        concat!("Size of: ", stringify!(timeval))
    );
    assert_eq!(
        ::core::mem::align_of::<timeval>(),
        8usize,
        concat!("Alignment of ", stringify!(timeval))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).tv_sec) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(timeval),
            "::",
            stringify!(tv_sec)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).tv_usec) as usize - ptr as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(timeval),
            "::",
            stringify!(tv_usec)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct timespec {
    pub tv_sec: __time_t,
    pub tv_nsec: __syscall_slong_t,
}
#[test]
fn bindgen_test_layout_timespec() {
    const UNINIT: ::core::mem::MaybeUninit<timespec> = ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<timespec>(),
        16usize,
        concat!("Size of: ", stringify!(timespec))
    );
    assert_eq!(
        ::core::mem::align_of::<timespec>(),
        8usize,
        concat!("Alignment of ", stringify!(timespec))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).tv_sec) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(timespec),
            "::",
            stringify!(tv_sec)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).tv_nsec) as usize - ptr as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(timespec),
            "::",
            stringify!(tv_nsec)
        )
    );
}
pub type suseconds_t = __suseconds_t;
pub type __fd_mask = ::core::ffi::c_long;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct fd_set {
    pub __fds_bits: [__fd_mask; 16usize],
}
#[test]
fn bindgen_test_layout_fd_set() {
    const UNINIT: ::core::mem::MaybeUninit<fd_set> = ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<fd_set>(),
        128usize,
        concat!("Size of: ", stringify!(fd_set))
    );
    assert_eq!(
        ::core::mem::align_of::<fd_set>(),
        8usize,
        concat!("Alignment of ", stringify!(fd_set))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).__fds_bits) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(fd_set),
            "::",
            stringify!(__fds_bits)
        )
    );
}
pub type fd_mask = __fd_mask;
extern "C" {
    pub fn select(
        __nfds: ::core::ffi::c_int,
        __readfds: *mut fd_set,
        __writefds: *mut fd_set,
        __exceptfds: *mut fd_set,
        __timeout: *mut timeval,
    ) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn pselect(
        __nfds: ::core::ffi::c_int,
        __readfds: *mut fd_set,
        __writefds: *mut fd_set,
        __exceptfds: *mut fd_set,
        __timeout: *const timespec,
        __sigmask: *const __sigset_t,
    ) -> ::core::ffi::c_int;
}
pub type blksize_t = __blksize_t;
pub type blkcnt_t = __blkcnt_t;
pub type fsblkcnt_t = __fsblkcnt_t;
pub type fsfilcnt_t = __fsfilcnt_t;
#[repr(C)]
#[derive(Copy, Clone)]
pub union __atomic_wide_counter {
    pub __value64: ::core::ffi::c_ulonglong,
    pub __value32: __atomic_wide_counter__bindgen_ty_1,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct __atomic_wide_counter__bindgen_ty_1 {
    pub __low: ::core::ffi::c_uint,
    pub __high: ::core::ffi::c_uint,
}
#[test]
fn bindgen_test_layout___atomic_wide_counter__bindgen_ty_1() {
    const UNINIT: ::core::mem::MaybeUninit<__atomic_wide_counter__bindgen_ty_1> =
        ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<__atomic_wide_counter__bindgen_ty_1>(),
        8usize,
        concat!("Size of: ", stringify!(__atomic_wide_counter__bindgen_ty_1))
    );
    assert_eq!(
        ::core::mem::align_of::<__atomic_wide_counter__bindgen_ty_1>(),
        4usize,
        concat!(
            "Alignment of ",
            stringify!(__atomic_wide_counter__bindgen_ty_1)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).__low) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(__atomic_wide_counter__bindgen_ty_1),
            "::",
            stringify!(__low)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).__high) as usize - ptr as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(__atomic_wide_counter__bindgen_ty_1),
            "::",
            stringify!(__high)
        )
    );
}
#[test]
fn bindgen_test_layout___atomic_wide_counter() {
    const UNINIT: ::core::mem::MaybeUninit<__atomic_wide_counter> =
        ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<__atomic_wide_counter>(),
        8usize,
        concat!("Size of: ", stringify!(__atomic_wide_counter))
    );
    assert_eq!(
        ::core::mem::align_of::<__atomic_wide_counter>(),
        8usize,
        concat!("Alignment of ", stringify!(__atomic_wide_counter))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).__value64) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(__atomic_wide_counter),
            "::",
            stringify!(__value64)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).__value32) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(__atomic_wide_counter),
            "::",
            stringify!(__value32)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct __pthread_internal_list {
    pub __prev: *mut __pthread_internal_list,
    pub __next: *mut __pthread_internal_list,
}
#[test]
fn bindgen_test_layout___pthread_internal_list() {
    const UNINIT: ::core::mem::MaybeUninit<__pthread_internal_list> =
        ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<__pthread_internal_list>(),
        16usize,
        concat!("Size of: ", stringify!(__pthread_internal_list))
    );
    assert_eq!(
        ::core::mem::align_of::<__pthread_internal_list>(),
        8usize,
        concat!("Alignment of ", stringify!(__pthread_internal_list))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).__prev) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(__pthread_internal_list),
            "::",
            stringify!(__prev)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).__next) as usize - ptr as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(__pthread_internal_list),
            "::",
            stringify!(__next)
        )
    );
}
pub type __pthread_list_t = __pthread_internal_list;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct __pthread_internal_slist {
    pub __next: *mut __pthread_internal_slist,
}
#[test]
fn bindgen_test_layout___pthread_internal_slist() {
    const UNINIT: ::core::mem::MaybeUninit<__pthread_internal_slist> =
        ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<__pthread_internal_slist>(),
        8usize,
        concat!("Size of: ", stringify!(__pthread_internal_slist))
    );
    assert_eq!(
        ::core::mem::align_of::<__pthread_internal_slist>(),
        8usize,
        concat!("Alignment of ", stringify!(__pthread_internal_slist))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).__next) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(__pthread_internal_slist),
            "::",
            stringify!(__next)
        )
    );
}
pub type __pthread_slist_t = __pthread_internal_slist;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct __pthread_mutex_s {
    pub __lock: ::core::ffi::c_int,
    pub __count: ::core::ffi::c_uint,
    pub __owner: ::core::ffi::c_int,
    pub __nusers: ::core::ffi::c_uint,
    pub __kind: ::core::ffi::c_int,
    pub __spins: ::core::ffi::c_short,
    pub __elision: ::core::ffi::c_short,
    pub __list: __pthread_list_t,
}
#[test]
fn bindgen_test_layout___pthread_mutex_s() {
    const UNINIT: ::core::mem::MaybeUninit<__pthread_mutex_s> = ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<__pthread_mutex_s>(),
        40usize,
        concat!("Size of: ", stringify!(__pthread_mutex_s))
    );
    assert_eq!(
        ::core::mem::align_of::<__pthread_mutex_s>(),
        8usize,
        concat!("Alignment of ", stringify!(__pthread_mutex_s))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).__lock) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(__pthread_mutex_s),
            "::",
            stringify!(__lock)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).__count) as usize - ptr as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(__pthread_mutex_s),
            "::",
            stringify!(__count)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).__owner) as usize - ptr as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(__pthread_mutex_s),
            "::",
            stringify!(__owner)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).__nusers) as usize - ptr as usize },
        12usize,
        concat!(
            "Offset of field: ",
            stringify!(__pthread_mutex_s),
            "::",
            stringify!(__nusers)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).__kind) as usize - ptr as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(__pthread_mutex_s),
            "::",
            stringify!(__kind)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).__spins) as usize - ptr as usize },
        20usize,
        concat!(
            "Offset of field: ",
            stringify!(__pthread_mutex_s),
            "::",
            stringify!(__spins)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).__elision) as usize - ptr as usize },
        22usize,
        concat!(
            "Offset of field: ",
            stringify!(__pthread_mutex_s),
            "::",
            stringify!(__elision)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).__list) as usize - ptr as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(__pthread_mutex_s),
            "::",
            stringify!(__list)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct __pthread_rwlock_arch_t {
    pub __readers: ::core::ffi::c_uint,
    pub __writers: ::core::ffi::c_uint,
    pub __wrphase_futex: ::core::ffi::c_uint,
    pub __writers_futex: ::core::ffi::c_uint,
    pub __pad3: ::core::ffi::c_uint,
    pub __pad4: ::core::ffi::c_uint,
    pub __cur_writer: ::core::ffi::c_int,
    pub __shared: ::core::ffi::c_int,
    pub __rwelision: ::core::ffi::c_schar,
    pub __pad1: [::core::ffi::c_uchar; 7usize],
    pub __pad2: ::core::ffi::c_ulong,
    pub __flags: ::core::ffi::c_uint,
}
#[test]
fn bindgen_test_layout___pthread_rwlock_arch_t() {
    const UNINIT: ::core::mem::MaybeUninit<__pthread_rwlock_arch_t> =
        ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<__pthread_rwlock_arch_t>(),
        56usize,
        concat!("Size of: ", stringify!(__pthread_rwlock_arch_t))
    );
    assert_eq!(
        ::core::mem::align_of::<__pthread_rwlock_arch_t>(),
        8usize,
        concat!("Alignment of ", stringify!(__pthread_rwlock_arch_t))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).__readers) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(__pthread_rwlock_arch_t),
            "::",
            stringify!(__readers)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).__writers) as usize - ptr as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(__pthread_rwlock_arch_t),
            "::",
            stringify!(__writers)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).__wrphase_futex) as usize - ptr as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(__pthread_rwlock_arch_t),
            "::",
            stringify!(__wrphase_futex)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).__writers_futex) as usize - ptr as usize },
        12usize,
        concat!(
            "Offset of field: ",
            stringify!(__pthread_rwlock_arch_t),
            "::",
            stringify!(__writers_futex)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).__pad3) as usize - ptr as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(__pthread_rwlock_arch_t),
            "::",
            stringify!(__pad3)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).__pad4) as usize - ptr as usize },
        20usize,
        concat!(
            "Offset of field: ",
            stringify!(__pthread_rwlock_arch_t),
            "::",
            stringify!(__pad4)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).__cur_writer) as usize - ptr as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(__pthread_rwlock_arch_t),
            "::",
            stringify!(__cur_writer)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).__shared) as usize - ptr as usize },
        28usize,
        concat!(
            "Offset of field: ",
            stringify!(__pthread_rwlock_arch_t),
            "::",
            stringify!(__shared)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).__rwelision) as usize - ptr as usize },
        32usize,
        concat!(
            "Offset of field: ",
            stringify!(__pthread_rwlock_arch_t),
            "::",
            stringify!(__rwelision)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).__pad1) as usize - ptr as usize },
        33usize,
        concat!(
            "Offset of field: ",
            stringify!(__pthread_rwlock_arch_t),
            "::",
            stringify!(__pad1)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).__pad2) as usize - ptr as usize },
        40usize,
        concat!(
            "Offset of field: ",
            stringify!(__pthread_rwlock_arch_t),
            "::",
            stringify!(__pad2)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).__flags) as usize - ptr as usize },
        48usize,
        concat!(
            "Offset of field: ",
            stringify!(__pthread_rwlock_arch_t),
            "::",
            stringify!(__flags)
        )
    );
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct __pthread_cond_s {
    pub __wseq: __atomic_wide_counter,
    pub __g1_start: __atomic_wide_counter,
    pub __g_refs: [::core::ffi::c_uint; 2usize],
    pub __g_size: [::core::ffi::c_uint; 2usize],
    pub __g1_orig_size: ::core::ffi::c_uint,
    pub __wrefs: ::core::ffi::c_uint,
    pub __g_signals: [::core::ffi::c_uint; 2usize],
}
#[test]
fn bindgen_test_layout___pthread_cond_s() {
    const UNINIT: ::core::mem::MaybeUninit<__pthread_cond_s> = ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<__pthread_cond_s>(),
        48usize,
        concat!("Size of: ", stringify!(__pthread_cond_s))
    );
    assert_eq!(
        ::core::mem::align_of::<__pthread_cond_s>(),
        8usize,
        concat!("Alignment of ", stringify!(__pthread_cond_s))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).__wseq) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(__pthread_cond_s),
            "::",
            stringify!(__wseq)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).__g1_start) as usize - ptr as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(__pthread_cond_s),
            "::",
            stringify!(__g1_start)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).__g_refs) as usize - ptr as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(__pthread_cond_s),
            "::",
            stringify!(__g_refs)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).__g_size) as usize - ptr as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(__pthread_cond_s),
            "::",
            stringify!(__g_size)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).__g1_orig_size) as usize - ptr as usize },
        32usize,
        concat!(
            "Offset of field: ",
            stringify!(__pthread_cond_s),
            "::",
            stringify!(__g1_orig_size)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).__wrefs) as usize - ptr as usize },
        36usize,
        concat!(
            "Offset of field: ",
            stringify!(__pthread_cond_s),
            "::",
            stringify!(__wrefs)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).__g_signals) as usize - ptr as usize },
        40usize,
        concat!(
            "Offset of field: ",
            stringify!(__pthread_cond_s),
            "::",
            stringify!(__g_signals)
        )
    );
}
pub type __tss_t = ::core::ffi::c_uint;
pub type __thrd_t = ::core::ffi::c_ulong;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct __once_flag {
    pub __data: ::core::ffi::c_int,
}
#[test]
fn bindgen_test_layout___once_flag() {
    const UNINIT: ::core::mem::MaybeUninit<__once_flag> = ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<__once_flag>(),
        4usize,
        concat!("Size of: ", stringify!(__once_flag))
    );
    assert_eq!(
        ::core::mem::align_of::<__once_flag>(),
        4usize,
        concat!("Alignment of ", stringify!(__once_flag))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).__data) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(__once_flag),
            "::",
            stringify!(__data)
        )
    );
}
pub type pthread_t = ::core::ffi::c_ulong;
#[repr(C)]
#[derive(Copy, Clone)]
pub union pthread_mutexattr_t {
    pub __size: [::core::ffi::c_char; 4usize],
    pub __align: ::core::ffi::c_int,
}
#[test]
fn bindgen_test_layout_pthread_mutexattr_t() {
    const UNINIT: ::core::mem::MaybeUninit<pthread_mutexattr_t> =
        ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<pthread_mutexattr_t>(),
        4usize,
        concat!("Size of: ", stringify!(pthread_mutexattr_t))
    );
    assert_eq!(
        ::core::mem::align_of::<pthread_mutexattr_t>(),
        4usize,
        concat!("Alignment of ", stringify!(pthread_mutexattr_t))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).__size) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(pthread_mutexattr_t),
            "::",
            stringify!(__size)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).__align) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(pthread_mutexattr_t),
            "::",
            stringify!(__align)
        )
    );
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union pthread_condattr_t {
    pub __size: [::core::ffi::c_char; 4usize],
    pub __align: ::core::ffi::c_int,
}
#[test]
fn bindgen_test_layout_pthread_condattr_t() {
    const UNINIT: ::core::mem::MaybeUninit<pthread_condattr_t> = ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<pthread_condattr_t>(),
        4usize,
        concat!("Size of: ", stringify!(pthread_condattr_t))
    );
    assert_eq!(
        ::core::mem::align_of::<pthread_condattr_t>(),
        4usize,
        concat!("Alignment of ", stringify!(pthread_condattr_t))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).__size) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(pthread_condattr_t),
            "::",
            stringify!(__size)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).__align) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(pthread_condattr_t),
            "::",
            stringify!(__align)
        )
    );
}
pub type pthread_key_t = ::core::ffi::c_uint;
pub type pthread_once_t = ::core::ffi::c_int;
#[repr(C)]
#[derive(Copy, Clone)]
pub union pthread_attr_t {
    pub __size: [::core::ffi::c_char; 56usize],
    pub __align: ::core::ffi::c_long,
}
#[test]
fn bindgen_test_layout_pthread_attr_t() {
    const UNINIT: ::core::mem::MaybeUninit<pthread_attr_t> = ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<pthread_attr_t>(),
        56usize,
        concat!("Size of: ", stringify!(pthread_attr_t))
    );
    assert_eq!(
        ::core::mem::align_of::<pthread_attr_t>(),
        8usize,
        concat!("Alignment of ", stringify!(pthread_attr_t))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).__size) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(pthread_attr_t),
            "::",
            stringify!(__size)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).__align) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(pthread_attr_t),
            "::",
            stringify!(__align)
        )
    );
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union pthread_mutex_t {
    pub __data: __pthread_mutex_s,
    pub __size: [::core::ffi::c_char; 40usize],
    pub __align: ::core::ffi::c_long,
}
#[test]
fn bindgen_test_layout_pthread_mutex_t() {
    const UNINIT: ::core::mem::MaybeUninit<pthread_mutex_t> = ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<pthread_mutex_t>(),
        40usize,
        concat!("Size of: ", stringify!(pthread_mutex_t))
    );
    assert_eq!(
        ::core::mem::align_of::<pthread_mutex_t>(),
        8usize,
        concat!("Alignment of ", stringify!(pthread_mutex_t))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).__data) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(pthread_mutex_t),
            "::",
            stringify!(__data)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).__size) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(pthread_mutex_t),
            "::",
            stringify!(__size)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).__align) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(pthread_mutex_t),
            "::",
            stringify!(__align)
        )
    );
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union pthread_cond_t {
    pub __data: __pthread_cond_s,
    pub __size: [::core::ffi::c_char; 48usize],
    pub __align: ::core::ffi::c_longlong,
}
#[test]
fn bindgen_test_layout_pthread_cond_t() {
    const UNINIT: ::core::mem::MaybeUninit<pthread_cond_t> = ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<pthread_cond_t>(),
        48usize,
        concat!("Size of: ", stringify!(pthread_cond_t))
    );
    assert_eq!(
        ::core::mem::align_of::<pthread_cond_t>(),
        8usize,
        concat!("Alignment of ", stringify!(pthread_cond_t))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).__data) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(pthread_cond_t),
            "::",
            stringify!(__data)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).__size) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(pthread_cond_t),
            "::",
            stringify!(__size)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).__align) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(pthread_cond_t),
            "::",
            stringify!(__align)
        )
    );
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union pthread_rwlock_t {
    pub __data: __pthread_rwlock_arch_t,
    pub __size: [::core::ffi::c_char; 56usize],
    pub __align: ::core::ffi::c_long,
}
#[test]
fn bindgen_test_layout_pthread_rwlock_t() {
    const UNINIT: ::core::mem::MaybeUninit<pthread_rwlock_t> = ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<pthread_rwlock_t>(),
        56usize,
        concat!("Size of: ", stringify!(pthread_rwlock_t))
    );
    assert_eq!(
        ::core::mem::align_of::<pthread_rwlock_t>(),
        8usize,
        concat!("Alignment of ", stringify!(pthread_rwlock_t))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).__data) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(pthread_rwlock_t),
            "::",
            stringify!(__data)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).__size) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(pthread_rwlock_t),
            "::",
            stringify!(__size)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).__align) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(pthread_rwlock_t),
            "::",
            stringify!(__align)
        )
    );
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union pthread_rwlockattr_t {
    pub __size: [::core::ffi::c_char; 8usize],
    pub __align: ::core::ffi::c_long,
}
#[test]
fn bindgen_test_layout_pthread_rwlockattr_t() {
    const UNINIT: ::core::mem::MaybeUninit<pthread_rwlockattr_t> =
        ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<pthread_rwlockattr_t>(),
        8usize,
        concat!("Size of: ", stringify!(pthread_rwlockattr_t))
    );
    assert_eq!(
        ::core::mem::align_of::<pthread_rwlockattr_t>(),
        8usize,
        concat!("Alignment of ", stringify!(pthread_rwlockattr_t))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).__size) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(pthread_rwlockattr_t),
            "::",
            stringify!(__size)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).__align) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(pthread_rwlockattr_t),
            "::",
            stringify!(__align)
        )
    );
}
pub type pthread_spinlock_t = ::core::ffi::c_int;
#[repr(C)]
#[derive(Copy, Clone)]
pub union pthread_barrier_t {
    pub __size: [::core::ffi::c_char; 32usize],
    pub __align: ::core::ffi::c_long,
}
#[test]
fn bindgen_test_layout_pthread_barrier_t() {
    const UNINIT: ::core::mem::MaybeUninit<pthread_barrier_t> = ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<pthread_barrier_t>(),
        32usize,
        concat!("Size of: ", stringify!(pthread_barrier_t))
    );
    assert_eq!(
        ::core::mem::align_of::<pthread_barrier_t>(),
        8usize,
        concat!("Alignment of ", stringify!(pthread_barrier_t))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).__size) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(pthread_barrier_t),
            "::",
            stringify!(__size)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).__align) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(pthread_barrier_t),
            "::",
            stringify!(__align)
        )
    );
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union pthread_barrierattr_t {
    pub __size: [::core::ffi::c_char; 4usize],
    pub __align: ::core::ffi::c_int,
}
#[test]
fn bindgen_test_layout_pthread_barrierattr_t() {
    const UNINIT: ::core::mem::MaybeUninit<pthread_barrierattr_t> =
        ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<pthread_barrierattr_t>(),
        4usize,
        concat!("Size of: ", stringify!(pthread_barrierattr_t))
    );
    assert_eq!(
        ::core::mem::align_of::<pthread_barrierattr_t>(),
        4usize,
        concat!("Alignment of ", stringify!(pthread_barrierattr_t))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).__size) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(pthread_barrierattr_t),
            "::",
            stringify!(__size)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).__align) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(pthread_barrierattr_t),
            "::",
            stringify!(__align)
        )
    );
}
pub type int_least8_t = __int_least8_t;
pub type int_least16_t = __int_least16_t;
pub type int_least32_t = __int_least32_t;
pub type int_least64_t = __int_least64_t;
pub type uint_least8_t = __uint_least8_t;
pub type uint_least16_t = __uint_least16_t;
pub type uint_least32_t = __uint_least32_t;
pub type uint_least64_t = __uint_least64_t;
pub type int_fast8_t = ::core::ffi::c_schar;
pub type int_fast16_t = ::core::ffi::c_long;
pub type int_fast32_t = ::core::ffi::c_long;
pub type int_fast64_t = ::core::ffi::c_long;
pub type uint_fast8_t = ::core::ffi::c_uchar;
pub type uint_fast16_t = ::core::ffi::c_ulong;
pub type uint_fast32_t = ::core::ffi::c_ulong;
pub type uint_fast64_t = ::core::ffi::c_ulong;
pub type intmax_t = __intmax_t;
pub type uintmax_t = __uintmax_t;
pub type __s8 = ::core::ffi::c_schar;
pub type __u8 = ::core::ffi::c_uchar;
pub type __s16 = ::core::ffi::c_short;
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;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct __kernel_fd_set {
    pub fds_bits: [::core::ffi::c_ulong; 16usize],
}
#[test]
fn bindgen_test_layout___kernel_fd_set() {
    const UNINIT: ::core::mem::MaybeUninit<__kernel_fd_set> = ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<__kernel_fd_set>(),
        128usize,
        concat!("Size of: ", stringify!(__kernel_fd_set))
    );
    assert_eq!(
        ::core::mem::align_of::<__kernel_fd_set>(),
        8usize,
        concat!("Alignment of ", stringify!(__kernel_fd_set))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).fds_bits) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(__kernel_fd_set),
            "::",
            stringify!(fds_bits)
        )
    );
}
pub type __kernel_sighandler_t =
    ::core::option::Option<unsafe extern "C" fn(arg1: ::core::ffi::c_int)>;
pub type __kernel_key_t = ::core::ffi::c_int;
pub type __kernel_mqd_t = ::core::ffi::c_int;
pub type __kernel_old_uid_t = ::core::ffi::c_ushort;
pub type __kernel_old_gid_t = ::core::ffi::c_ushort;
pub type __kernel_old_dev_t = ::core::ffi::c_ulong;
pub type __kernel_long_t = ::core::ffi::c_long;
pub type __kernel_ulong_t = ::core::ffi::c_ulong;
pub type __kernel_ino_t = __kernel_ulong_t;
pub type __kernel_mode_t = ::core::ffi::c_uint;
pub type __kernel_pid_t = ::core::ffi::c_int;
pub type __kernel_ipc_pid_t = ::core::ffi::c_int;
pub type __kernel_uid_t = ::core::ffi::c_uint;
pub type __kernel_gid_t = ::core::ffi::c_uint;
pub type __kernel_suseconds_t = __kernel_long_t;
pub type __kernel_daddr_t = ::core::ffi::c_int;
pub type __kernel_uid32_t = ::core::ffi::c_uint;
pub type __kernel_gid32_t = ::core::ffi::c_uint;
pub type __kernel_size_t = __kernel_ulong_t;
pub type __kernel_ssize_t = __kernel_long_t;
pub type __kernel_ptrdiff_t = __kernel_long_t;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct __kernel_fsid_t {
    pub val: [::core::ffi::c_int; 2usize],
}
#[test]
fn bindgen_test_layout___kernel_fsid_t() {
    const UNINIT: ::core::mem::MaybeUninit<__kernel_fsid_t> = ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<__kernel_fsid_t>(),
        8usize,
        concat!("Size of: ", stringify!(__kernel_fsid_t))
    );
    assert_eq!(
        ::core::mem::align_of::<__kernel_fsid_t>(),
        4usize,
        concat!("Alignment of ", stringify!(__kernel_fsid_t))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).val) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(__kernel_fsid_t),
            "::",
            stringify!(val)
        )
    );
}
pub type __kernel_off_t = __kernel_long_t;
pub type __kernel_loff_t = ::core::ffi::c_longlong;
pub type __kernel_old_time_t = __kernel_long_t;
pub type __kernel_time_t = __kernel_long_t;
pub type __kernel_time64_t = ::core::ffi::c_longlong;
pub type __kernel_clock_t = __kernel_long_t;
pub type __kernel_timer_t = ::core::ffi::c_int;
pub type __kernel_clockid_t = ::core::ffi::c_int;
pub type __kernel_caddr_t = *mut ::core::ffi::c_char;
pub type __kernel_uid16_t = ::core::ffi::c_ushort;
pub type __kernel_gid16_t = ::core::ffi::c_ushort;
pub type __s128 = i128;
pub type __u128 = u128;
pub type __le16 = __u16;
pub type __be16 = __u16;
pub type __le32 = __u32;
pub type __be32 = __u32;
pub type __le64 = __u64;
pub type __be64 = __u64;
pub type __sum16 = __u16;
pub type __wsum = __u32;
pub type __poll_t = ::core::ffi::c_uint;
pub type drm_handle_t = ::core::ffi::c_uint;
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, Copy, Clone)]
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,
}
#[test]
fn bindgen_test_layout_drm_clip_rect() {
    const UNINIT: ::core::mem::MaybeUninit<drm_clip_rect> = ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<drm_clip_rect>(),
        8usize,
        concat!("Size of: ", stringify!(drm_clip_rect))
    );
    assert_eq!(
        ::core::mem::align_of::<drm_clip_rect>(),
        2usize,
        concat!("Alignment of ", stringify!(drm_clip_rect))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).x1) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_clip_rect),
            "::",
            stringify!(x1)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).y1) as usize - ptr as usize },
        2usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_clip_rect),
            "::",
            stringify!(y1)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).x2) as usize - ptr as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_clip_rect),
            "::",
            stringify!(x2)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).y2) as usize - ptr as usize },
        6usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_clip_rect),
            "::",
            stringify!(y2)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct drm_drawable_info {
    pub num_rects: ::core::ffi::c_uint,
    pub rects: *mut drm_clip_rect,
}
#[test]
fn bindgen_test_layout_drm_drawable_info() {
    const UNINIT: ::core::mem::MaybeUninit<drm_drawable_info> = ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<drm_drawable_info>(),
        16usize,
        concat!("Size of: ", stringify!(drm_drawable_info))
    );
    assert_eq!(
        ::core::mem::align_of::<drm_drawable_info>(),
        8usize,
        concat!("Alignment of ", stringify!(drm_drawable_info))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).num_rects) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_drawable_info),
            "::",
            stringify!(num_rects)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).rects) as usize - ptr as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_drawable_info),
            "::",
            stringify!(rects)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
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,
}
#[test]
fn bindgen_test_layout_drm_tex_region() {
    const UNINIT: ::core::mem::MaybeUninit<drm_tex_region> = ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<drm_tex_region>(),
        8usize,
        concat!("Size of: ", stringify!(drm_tex_region))
    );
    assert_eq!(
        ::core::mem::align_of::<drm_tex_region>(),
        4usize,
        concat!("Alignment of ", stringify!(drm_tex_region))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).next) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_tex_region),
            "::",
            stringify!(next)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).prev) as usize - ptr as usize },
        1usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_tex_region),
            "::",
            stringify!(prev)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).in_use) as usize - ptr as usize },
        2usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_tex_region),
            "::",
            stringify!(in_use)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).padding) as usize - ptr as usize },
        3usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_tex_region),
            "::",
            stringify!(padding)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).age) as usize - ptr as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_tex_region),
            "::",
            stringify!(age)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct drm_hw_lock {
    pub lock: ::core::ffi::c_uint,
    pub padding: [::core::ffi::c_char; 60usize],
}
#[test]
fn bindgen_test_layout_drm_hw_lock() {
    const UNINIT: ::core::mem::MaybeUninit<drm_hw_lock> = ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<drm_hw_lock>(),
        64usize,
        concat!("Size of: ", stringify!(drm_hw_lock))
    );
    assert_eq!(
        ::core::mem::align_of::<drm_hw_lock>(),
        4usize,
        concat!("Alignment of ", stringify!(drm_hw_lock))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).lock) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_hw_lock),
            "::",
            stringify!(lock)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).padding) as usize - ptr as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_hw_lock),
            "::",
            stringify!(padding)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
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,
}
#[test]
fn bindgen_test_layout_drm_version() {
    const UNINIT: ::core::mem::MaybeUninit<drm_version> = ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<drm_version>(),
        64usize,
        concat!("Size of: ", stringify!(drm_version))
    );
    assert_eq!(
        ::core::mem::align_of::<drm_version>(),
        8usize,
        concat!("Alignment of ", stringify!(drm_version))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).version_major) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_version),
            "::",
            stringify!(version_major)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).version_minor) as usize - ptr as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_version),
            "::",
            stringify!(version_minor)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).version_patchlevel) as usize - ptr as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_version),
            "::",
            stringify!(version_patchlevel)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).name_len) as usize - ptr as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_version),
            "::",
            stringify!(name_len)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).name) as usize - ptr as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_version),
            "::",
            stringify!(name)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).date_len) as usize - ptr as usize },
        32usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_version),
            "::",
            stringify!(date_len)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).date) as usize - ptr as usize },
        40usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_version),
            "::",
            stringify!(date)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).desc_len) as usize - ptr as usize },
        48usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_version),
            "::",
            stringify!(desc_len)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).desc) as usize - ptr as usize },
        56usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_version),
            "::",
            stringify!(desc)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct drm_unique {
    pub unique_len: __kernel_size_t,
    pub unique: *mut ::core::ffi::c_char,
}
#[test]
fn bindgen_test_layout_drm_unique() {
    const UNINIT: ::core::mem::MaybeUninit<drm_unique> = ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<drm_unique>(),
        16usize,
        concat!("Size of: ", stringify!(drm_unique))
    );
    assert_eq!(
        ::core::mem::align_of::<drm_unique>(),
        8usize,
        concat!("Alignment of ", stringify!(drm_unique))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).unique_len) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_unique),
            "::",
            stringify!(unique_len)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).unique) as usize - ptr as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_unique),
            "::",
            stringify!(unique)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct drm_list {
    pub count: ::core::ffi::c_int,
    pub version: *mut drm_version,
}
#[test]
fn bindgen_test_layout_drm_list() {
    const UNINIT: ::core::mem::MaybeUninit<drm_list> = ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<drm_list>(),
        16usize,
        concat!("Size of: ", stringify!(drm_list))
    );
    assert_eq!(
        ::core::mem::align_of::<drm_list>(),
        8usize,
        concat!("Alignment of ", stringify!(drm_list))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).count) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_list),
            "::",
            stringify!(count)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).version) as usize - ptr as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_list),
            "::",
            stringify!(version)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct drm_block {
    pub unused: ::core::ffi::c_int,
}
#[test]
fn bindgen_test_layout_drm_block() {
    const UNINIT: ::core::mem::MaybeUninit<drm_block> = ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<drm_block>(),
        4usize,
        concat!("Size of: ", stringify!(drm_block))
    );
    assert_eq!(
        ::core::mem::align_of::<drm_block>(),
        4usize,
        concat!("Alignment of ", stringify!(drm_block))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).unused) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_block),
            "::",
            stringify!(unused)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct drm_control {
    pub func: drm_control__bindgen_ty_1,
    pub irq: ::core::ffi::c_int,
}
pub const drm_control_DRM_ADD_COMMAND: drm_control__bindgen_ty_1 = 0;
pub const drm_control_DRM_RM_COMMAND: drm_control__bindgen_ty_1 = 1;
pub const drm_control_DRM_INST_HANDLER: drm_control__bindgen_ty_1 = 2;
pub const drm_control_DRM_UNINST_HANDLER: drm_control__bindgen_ty_1 = 3;
pub type drm_control__bindgen_ty_1 = ::core::ffi::c_uint;
#[test]
fn bindgen_test_layout_drm_control() {
    const UNINIT: ::core::mem::MaybeUninit<drm_control> = ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<drm_control>(),
        8usize,
        concat!("Size of: ", stringify!(drm_control))
    );
    assert_eq!(
        ::core::mem::align_of::<drm_control>(),
        4usize,
        concat!("Alignment of ", stringify!(drm_control))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).func) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_control),
            "::",
            stringify!(func)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).irq) as usize - ptr as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_control),
            "::",
            stringify!(irq)
        )
    );
}
pub const drm_map_type__DRM_FRAME_BUFFER: drm_map_type = 0;
pub const drm_map_type__DRM_REGISTERS: drm_map_type = 1;
pub const drm_map_type__DRM_SHM: drm_map_type = 2;
pub const drm_map_type__DRM_AGP: drm_map_type = 3;
pub const drm_map_type__DRM_SCATTER_GATHER: drm_map_type = 4;
pub const drm_map_type__DRM_CONSISTENT: drm_map_type = 5;
pub type drm_map_type = ::core::ffi::c_uint;
pub const drm_map_flags__DRM_RESTRICTED: drm_map_flags = 1;
pub const drm_map_flags__DRM_READ_ONLY: drm_map_flags = 2;
pub const drm_map_flags__DRM_LOCKED: drm_map_flags = 4;
pub const drm_map_flags__DRM_KERNEL: drm_map_flags = 8;
pub const drm_map_flags__DRM_WRITE_COMBINING: drm_map_flags = 16;
pub const drm_map_flags__DRM_CONTAINS_LOCK: drm_map_flags = 32;
pub const drm_map_flags__DRM_REMOVABLE: drm_map_flags = 64;
pub const drm_map_flags__DRM_DRIVER: drm_map_flags = 128;
pub type drm_map_flags = ::core::ffi::c_uint;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct drm_ctx_priv_map {
    pub ctx_id: ::core::ffi::c_uint,
    pub handle: *mut ::core::ffi::c_void,
}
#[test]
fn bindgen_test_layout_drm_ctx_priv_map() {
    const UNINIT: ::core::mem::MaybeUninit<drm_ctx_priv_map> = ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<drm_ctx_priv_map>(),
        16usize,
        concat!("Size of: ", stringify!(drm_ctx_priv_map))
    );
    assert_eq!(
        ::core::mem::align_of::<drm_ctx_priv_map>(),
        8usize,
        concat!("Alignment of ", stringify!(drm_ctx_priv_map))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).ctx_id) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_ctx_priv_map),
            "::",
            stringify!(ctx_id)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).handle) as usize - ptr as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_ctx_priv_map),
            "::",
            stringify!(handle)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct drm_map {
    pub offset: ::core::ffi::c_ulong,
    pub size: ::core::ffi::c_ulong,
    pub type_: drm_map_type,
    pub flags: drm_map_flags,
    pub handle: *mut ::core::ffi::c_void,
    pub mtrr: ::core::ffi::c_int,
}
#[test]
fn bindgen_test_layout_drm_map() {
    const UNINIT: ::core::mem::MaybeUninit<drm_map> = ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<drm_map>(),
        40usize,
        concat!("Size of: ", stringify!(drm_map))
    );
    assert_eq!(
        ::core::mem::align_of::<drm_map>(),
        8usize,
        concat!("Alignment of ", stringify!(drm_map))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).offset) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_map),
            "::",
            stringify!(offset)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).size) as usize - ptr as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_map),
            "::",
            stringify!(size)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_map),
            "::",
            stringify!(type_)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
        20usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_map),
            "::",
            stringify!(flags)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).handle) as usize - ptr as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_map),
            "::",
            stringify!(handle)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).mtrr) as usize - ptr as usize },
        32usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_map),
            "::",
            stringify!(mtrr)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
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,
}
#[test]
fn bindgen_test_layout_drm_client() {
    const UNINIT: ::core::mem::MaybeUninit<drm_client> = ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<drm_client>(),
        40usize,
        concat!("Size of: ", stringify!(drm_client))
    );
    assert_eq!(
        ::core::mem::align_of::<drm_client>(),
        8usize,
        concat!("Alignment of ", stringify!(drm_client))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).idx) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_client),
            "::",
            stringify!(idx)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).auth) as usize - ptr as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_client),
            "::",
            stringify!(auth)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).pid) as usize - ptr as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_client),
            "::",
            stringify!(pid)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).uid) as usize - ptr as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_client),
            "::",
            stringify!(uid)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).magic) as usize - ptr as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_client),
            "::",
            stringify!(magic)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).iocs) as usize - ptr as usize },
        32usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_client),
            "::",
            stringify!(iocs)
        )
    );
}
pub const drm_stat_type__DRM_STAT_LOCK: drm_stat_type = 0;
pub const drm_stat_type__DRM_STAT_OPENS: drm_stat_type = 1;
pub const drm_stat_type__DRM_STAT_CLOSES: drm_stat_type = 2;
pub const drm_stat_type__DRM_STAT_IOCTLS: drm_stat_type = 3;
pub const drm_stat_type__DRM_STAT_LOCKS: drm_stat_type = 4;
pub const drm_stat_type__DRM_STAT_UNLOCKS: drm_stat_type = 5;
pub const drm_stat_type__DRM_STAT_VALUE: drm_stat_type = 6;
pub const drm_stat_type__DRM_STAT_BYTE: drm_stat_type = 7;
pub const drm_stat_type__DRM_STAT_COUNT: drm_stat_type = 8;
pub const drm_stat_type__DRM_STAT_IRQ: drm_stat_type = 9;
pub const drm_stat_type__DRM_STAT_PRIMARY: drm_stat_type = 10;
pub const drm_stat_type__DRM_STAT_SECONDARY: drm_stat_type = 11;
pub const drm_stat_type__DRM_STAT_DMA: drm_stat_type = 12;
pub const drm_stat_type__DRM_STAT_SPECIAL: drm_stat_type = 13;
pub const drm_stat_type__DRM_STAT_MISSED: drm_stat_type = 14;
pub type drm_stat_type = ::core::ffi::c_uint;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct drm_stats {
    pub count: ::core::ffi::c_ulong,
    pub data: [drm_stats__bindgen_ty_1; 15usize],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct drm_stats__bindgen_ty_1 {
    pub value: ::core::ffi::c_ulong,
    pub type_: drm_stat_type,
}
#[test]
fn bindgen_test_layout_drm_stats__bindgen_ty_1() {
    const UNINIT: ::core::mem::MaybeUninit<drm_stats__bindgen_ty_1> =
        ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<drm_stats__bindgen_ty_1>(),
        16usize,
        concat!("Size of: ", stringify!(drm_stats__bindgen_ty_1))
    );
    assert_eq!(
        ::core::mem::align_of::<drm_stats__bindgen_ty_1>(),
        8usize,
        concat!("Alignment of ", stringify!(drm_stats__bindgen_ty_1))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).value) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_stats__bindgen_ty_1),
            "::",
            stringify!(value)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_stats__bindgen_ty_1),
            "::",
            stringify!(type_)
        )
    );
}
#[test]
fn bindgen_test_layout_drm_stats() {
    const UNINIT: ::core::mem::MaybeUninit<drm_stats> = ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<drm_stats>(),
        248usize,
        concat!("Size of: ", stringify!(drm_stats))
    );
    assert_eq!(
        ::core::mem::align_of::<drm_stats>(),
        8usize,
        concat!("Alignment of ", stringify!(drm_stats))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).count) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_stats),
            "::",
            stringify!(count)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_stats),
            "::",
            stringify!(data)
        )
    );
}
pub const drm_lock_flags__DRM_LOCK_READY: drm_lock_flags = 1;
pub const drm_lock_flags__DRM_LOCK_QUIESCENT: drm_lock_flags = 2;
pub const drm_lock_flags__DRM_LOCK_FLUSH: drm_lock_flags = 4;
pub const drm_lock_flags__DRM_LOCK_FLUSH_ALL: drm_lock_flags = 8;
pub const drm_lock_flags__DRM_HALT_ALL_QUEUES: drm_lock_flags = 16;
pub const drm_lock_flags__DRM_HALT_CUR_QUEUES: drm_lock_flags = 32;
pub type drm_lock_flags = ::core::ffi::c_uint;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct drm_lock {
    pub context: ::core::ffi::c_int,
    pub flags: drm_lock_flags,
}
#[test]
fn bindgen_test_layout_drm_lock() {
    const UNINIT: ::core::mem::MaybeUninit<drm_lock> = ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<drm_lock>(),
        8usize,
        concat!("Size of: ", stringify!(drm_lock))
    );
    assert_eq!(
        ::core::mem::align_of::<drm_lock>(),
        4usize,
        concat!("Alignment of ", stringify!(drm_lock))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).context) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_lock),
            "::",
            stringify!(context)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_lock),
            "::",
            stringify!(flags)
        )
    );
}
pub const drm_dma_flags__DRM_DMA_BLOCK: drm_dma_flags = 1;
pub const drm_dma_flags__DRM_DMA_WHILE_LOCKED: drm_dma_flags = 2;
pub const drm_dma_flags__DRM_DMA_PRIORITY: drm_dma_flags = 4;
pub const drm_dma_flags__DRM_DMA_WAIT: drm_dma_flags = 16;
pub const drm_dma_flags__DRM_DMA_SMALLER_OK: drm_dma_flags = 32;
pub const drm_dma_flags__DRM_DMA_LARGER_OK: drm_dma_flags = 64;
pub type drm_dma_flags = ::core::ffi::c_uint;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
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,
    pub agp_start: ::core::ffi::c_ulong,
}
pub const drm_buf_desc__DRM_PAGE_ALIGN: drm_buf_desc__bindgen_ty_1 = 1;
pub const drm_buf_desc__DRM_AGP_BUFFER: drm_buf_desc__bindgen_ty_1 = 2;
pub const drm_buf_desc__DRM_SG_BUFFER: drm_buf_desc__bindgen_ty_1 = 4;
pub const drm_buf_desc__DRM_FB_BUFFER: drm_buf_desc__bindgen_ty_1 = 8;
pub const drm_buf_desc__DRM_PCI_BUFFER_RO: drm_buf_desc__bindgen_ty_1 = 16;
pub type drm_buf_desc__bindgen_ty_1 = ::core::ffi::c_uint;
#[test]
fn bindgen_test_layout_drm_buf_desc() {
    const UNINIT: ::core::mem::MaybeUninit<drm_buf_desc> = ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<drm_buf_desc>(),
        32usize,
        concat!("Size of: ", stringify!(drm_buf_desc))
    );
    assert_eq!(
        ::core::mem::align_of::<drm_buf_desc>(),
        8usize,
        concat!("Alignment of ", stringify!(drm_buf_desc))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).count) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_buf_desc),
            "::",
            stringify!(count)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).size) as usize - ptr as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_buf_desc),
            "::",
            stringify!(size)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).low_mark) as usize - ptr as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_buf_desc),
            "::",
            stringify!(low_mark)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).high_mark) as usize - ptr as usize },
        12usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_buf_desc),
            "::",
            stringify!(high_mark)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_buf_desc),
            "::",
            stringify!(flags)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).agp_start) as usize - ptr as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_buf_desc),
            "::",
            stringify!(agp_start)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct drm_buf_info {
    pub count: ::core::ffi::c_int,
    pub list: *mut drm_buf_desc,
}
#[test]
fn bindgen_test_layout_drm_buf_info() {
    const UNINIT: ::core::mem::MaybeUninit<drm_buf_info> = ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<drm_buf_info>(),
        16usize,
        concat!("Size of: ", stringify!(drm_buf_info))
    );
    assert_eq!(
        ::core::mem::align_of::<drm_buf_info>(),
        8usize,
        concat!("Alignment of ", stringify!(drm_buf_info))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).count) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_buf_info),
            "::",
            stringify!(count)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).list) as usize - ptr as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_buf_info),
            "::",
            stringify!(list)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct drm_buf_free {
    pub count: ::core::ffi::c_int,
    pub list: *mut ::core::ffi::c_int,
}
#[test]
fn bindgen_test_layout_drm_buf_free() {
    const UNINIT: ::core::mem::MaybeUninit<drm_buf_free> = ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<drm_buf_free>(),
        16usize,
        concat!("Size of: ", stringify!(drm_buf_free))
    );
    assert_eq!(
        ::core::mem::align_of::<drm_buf_free>(),
        8usize,
        concat!("Alignment of ", stringify!(drm_buf_free))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).count) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_buf_free),
            "::",
            stringify!(count)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).list) as usize - ptr as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_buf_free),
            "::",
            stringify!(list)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
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,
}
#[test]
fn bindgen_test_layout_drm_buf_pub() {
    const UNINIT: ::core::mem::MaybeUninit<drm_buf_pub> = ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<drm_buf_pub>(),
        24usize,
        concat!("Size of: ", stringify!(drm_buf_pub))
    );
    assert_eq!(
        ::core::mem::align_of::<drm_buf_pub>(),
        8usize,
        concat!("Alignment of ", stringify!(drm_buf_pub))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).idx) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_buf_pub),
            "::",
            stringify!(idx)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).total) as usize - ptr as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_buf_pub),
            "::",
            stringify!(total)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).used) as usize - ptr as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_buf_pub),
            "::",
            stringify!(used)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).address) as usize - ptr as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_buf_pub),
            "::",
            stringify!(address)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct drm_buf_map {
    pub count: ::core::ffi::c_int,
    pub virtual_: *mut ::core::ffi::c_void,
    pub list: *mut drm_buf_pub,
}
#[test]
fn bindgen_test_layout_drm_buf_map() {
    const UNINIT: ::core::mem::MaybeUninit<drm_buf_map> = ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<drm_buf_map>(),
        24usize,
        concat!("Size of: ", stringify!(drm_buf_map))
    );
    assert_eq!(
        ::core::mem::align_of::<drm_buf_map>(),
        8usize,
        concat!("Alignment of ", stringify!(drm_buf_map))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).count) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_buf_map),
            "::",
            stringify!(count)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).virtual_) as usize - ptr as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_buf_map),
            "::",
            stringify!(virtual_)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).list) as usize - ptr as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_buf_map),
            "::",
            stringify!(list)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
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,
    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,
}
#[test]
fn bindgen_test_layout_drm_dma() {
    const UNINIT: ::core::mem::MaybeUninit<drm_dma> = ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<drm_dma>(),
        64usize,
        concat!("Size of: ", stringify!(drm_dma))
    );
    assert_eq!(
        ::core::mem::align_of::<drm_dma>(),
        8usize,
        concat!("Alignment of ", stringify!(drm_dma))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).context) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_dma),
            "::",
            stringify!(context)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).send_count) as usize - ptr as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_dma),
            "::",
            stringify!(send_count)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).send_indices) as usize - ptr as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_dma),
            "::",
            stringify!(send_indices)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).send_sizes) as usize - ptr as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_dma),
            "::",
            stringify!(send_sizes)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_dma),
            "::",
            stringify!(flags)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).request_count) as usize - ptr as usize },
        28usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_dma),
            "::",
            stringify!(request_count)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).request_size) as usize - ptr as usize },
        32usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_dma),
            "::",
            stringify!(request_size)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).request_indices) as usize - ptr as usize },
        40usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_dma),
            "::",
            stringify!(request_indices)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).request_sizes) as usize - ptr as usize },
        48usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_dma),
            "::",
            stringify!(request_sizes)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).granted_count) as usize - ptr as usize },
        56usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_dma),
            "::",
            stringify!(granted_count)
        )
    );
}
pub const drm_ctx_flags__DRM_CONTEXT_PRESERVED: drm_ctx_flags = 1;
pub const drm_ctx_flags__DRM_CONTEXT_2DONLY: drm_ctx_flags = 2;
pub type drm_ctx_flags = ::core::ffi::c_uint;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct drm_ctx {
    pub handle: drm_context_t,
    pub flags: drm_ctx_flags,
}
#[test]
fn bindgen_test_layout_drm_ctx() {
    const UNINIT: ::core::mem::MaybeUninit<drm_ctx> = ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<drm_ctx>(),
        8usize,
        concat!("Size of: ", stringify!(drm_ctx))
    );
    assert_eq!(
        ::core::mem::align_of::<drm_ctx>(),
        4usize,
        concat!("Alignment of ", stringify!(drm_ctx))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).handle) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_ctx),
            "::",
            stringify!(handle)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_ctx),
            "::",
            stringify!(flags)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct drm_ctx_res {
    pub count: ::core::ffi::c_int,
    pub contexts: *mut drm_ctx,
}
#[test]
fn bindgen_test_layout_drm_ctx_res() {
    const UNINIT: ::core::mem::MaybeUninit<drm_ctx_res> = ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<drm_ctx_res>(),
        16usize,
        concat!("Size of: ", stringify!(drm_ctx_res))
    );
    assert_eq!(
        ::core::mem::align_of::<drm_ctx_res>(),
        8usize,
        concat!("Alignment of ", stringify!(drm_ctx_res))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).count) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_ctx_res),
            "::",
            stringify!(count)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).contexts) as usize - ptr as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_ctx_res),
            "::",
            stringify!(contexts)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct drm_draw {
    pub handle: drm_drawable_t,
}
#[test]
fn bindgen_test_layout_drm_draw() {
    const UNINIT: ::core::mem::MaybeUninit<drm_draw> = ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<drm_draw>(),
        4usize,
        concat!("Size of: ", stringify!(drm_draw))
    );
    assert_eq!(
        ::core::mem::align_of::<drm_draw>(),
        4usize,
        concat!("Alignment of ", stringify!(drm_draw))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).handle) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_draw),
            "::",
            stringify!(handle)
        )
    );
}
pub const drm_drawable_info_type_t_DRM_DRAWABLE_CLIPRECTS: drm_drawable_info_type_t = 0;
pub type drm_drawable_info_type_t = ::core::ffi::c_uint;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
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,
}
#[test]
fn bindgen_test_layout_drm_update_draw() {
    const UNINIT: ::core::mem::MaybeUninit<drm_update_draw> = ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<drm_update_draw>(),
        24usize,
        concat!("Size of: ", stringify!(drm_update_draw))
    );
    assert_eq!(
        ::core::mem::align_of::<drm_update_draw>(),
        8usize,
        concat!("Alignment of ", stringify!(drm_update_draw))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).handle) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_update_draw),
            "::",
            stringify!(handle)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_update_draw),
            "::",
            stringify!(type_)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).num) as usize - ptr as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_update_draw),
            "::",
            stringify!(num)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_update_draw),
            "::",
            stringify!(data)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct drm_auth {
    pub magic: drm_magic_t,
}
#[test]
fn bindgen_test_layout_drm_auth() {
    const UNINIT: ::core::mem::MaybeUninit<drm_auth> = ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<drm_auth>(),
        4usize,
        concat!("Size of: ", stringify!(drm_auth))
    );
    assert_eq!(
        ::core::mem::align_of::<drm_auth>(),
        4usize,
        concat!("Alignment of ", stringify!(drm_auth))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).magic) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_auth),
            "::",
            stringify!(magic)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
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,
}
#[test]
fn bindgen_test_layout_drm_irq_busid() {
    const UNINIT: ::core::mem::MaybeUninit<drm_irq_busid> = ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<drm_irq_busid>(),
        16usize,
        concat!("Size of: ", stringify!(drm_irq_busid))
    );
    assert_eq!(
        ::core::mem::align_of::<drm_irq_busid>(),
        4usize,
        concat!("Alignment of ", stringify!(drm_irq_busid))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).irq) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_irq_busid),
            "::",
            stringify!(irq)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).busnum) as usize - ptr as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_irq_busid),
            "::",
            stringify!(busnum)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).devnum) as usize - ptr as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_irq_busid),
            "::",
            stringify!(devnum)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).funcnum) as usize - ptr as usize },
        12usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_irq_busid),
            "::",
            stringify!(funcnum)
        )
    );
}
pub const drm_vblank_seq_type__DRM_VBLANK_ABSOLUTE: drm_vblank_seq_type = 0;
pub const drm_vblank_seq_type__DRM_VBLANK_RELATIVE: drm_vblank_seq_type = 1;
pub const drm_vblank_seq_type__DRM_VBLANK_HIGH_CRTC_MASK: drm_vblank_seq_type = 62;
pub const drm_vblank_seq_type__DRM_VBLANK_EVENT: drm_vblank_seq_type = 67108864;
pub const drm_vblank_seq_type__DRM_VBLANK_FLIP: drm_vblank_seq_type = 134217728;
pub const drm_vblank_seq_type__DRM_VBLANK_NEXTONMISS: drm_vblank_seq_type = 268435456;
pub const drm_vblank_seq_type__DRM_VBLANK_SECONDARY: drm_vblank_seq_type = 536870912;
pub const drm_vblank_seq_type__DRM_VBLANK_SIGNAL: drm_vblank_seq_type = 1073741824;
pub type drm_vblank_seq_type = ::core::ffi::c_uint;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct drm_wait_vblank_request {
    pub type_: drm_vblank_seq_type,
    pub sequence: ::core::ffi::c_uint,
    pub signal: ::core::ffi::c_ulong,
}
#[test]
fn bindgen_test_layout_drm_wait_vblank_request() {
    const UNINIT: ::core::mem::MaybeUninit<drm_wait_vblank_request> =
        ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<drm_wait_vblank_request>(),
        16usize,
        concat!("Size of: ", stringify!(drm_wait_vblank_request))
    );
    assert_eq!(
        ::core::mem::align_of::<drm_wait_vblank_request>(),
        8usize,
        concat!("Alignment of ", stringify!(drm_wait_vblank_request))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_wait_vblank_request),
            "::",
            stringify!(type_)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).sequence) as usize - ptr as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_wait_vblank_request),
            "::",
            stringify!(sequence)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).signal) as usize - ptr as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_wait_vblank_request),
            "::",
            stringify!(signal)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct drm_wait_vblank_reply {
    pub type_: drm_vblank_seq_type,
    pub sequence: ::core::ffi::c_uint,
    pub tval_sec: ::core::ffi::c_long,
    pub tval_usec: ::core::ffi::c_long,
}
#[test]
fn bindgen_test_layout_drm_wait_vblank_reply() {
    const UNINIT: ::core::mem::MaybeUninit<drm_wait_vblank_reply> =
        ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<drm_wait_vblank_reply>(),
        24usize,
        concat!("Size of: ", stringify!(drm_wait_vblank_reply))
    );
    assert_eq!(
        ::core::mem::align_of::<drm_wait_vblank_reply>(),
        8usize,
        concat!("Alignment of ", stringify!(drm_wait_vblank_reply))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_wait_vblank_reply),
            "::",
            stringify!(type_)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).sequence) as usize - ptr as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_wait_vblank_reply),
            "::",
            stringify!(sequence)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).tval_sec) as usize - ptr as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_wait_vblank_reply),
            "::",
            stringify!(tval_sec)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).tval_usec) as usize - ptr as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_wait_vblank_reply),
            "::",
            stringify!(tval_usec)
        )
    );
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union drm_wait_vblank {
    pub request: drm_wait_vblank_request,
    pub reply: drm_wait_vblank_reply,
}
#[test]
fn bindgen_test_layout_drm_wait_vblank() {
    const UNINIT: ::core::mem::MaybeUninit<drm_wait_vblank> = ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<drm_wait_vblank>(),
        24usize,
        concat!("Size of: ", stringify!(drm_wait_vblank))
    );
    assert_eq!(
        ::core::mem::align_of::<drm_wait_vblank>(),
        8usize,
        concat!("Alignment of ", stringify!(drm_wait_vblank))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).request) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_wait_vblank),
            "::",
            stringify!(request)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).reply) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_wait_vblank),
            "::",
            stringify!(reply)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct drm_modeset_ctl {
    pub crtc: __u32,
    pub cmd: __u32,
}
#[test]
fn bindgen_test_layout_drm_modeset_ctl() {
    const UNINIT: ::core::mem::MaybeUninit<drm_modeset_ctl> = ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<drm_modeset_ctl>(),
        8usize,
        concat!("Size of: ", stringify!(drm_modeset_ctl))
    );
    assert_eq!(
        ::core::mem::align_of::<drm_modeset_ctl>(),
        4usize,
        concat!("Alignment of ", stringify!(drm_modeset_ctl))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).crtc) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_modeset_ctl),
            "::",
            stringify!(crtc)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).cmd) as usize - ptr as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_modeset_ctl),
            "::",
            stringify!(cmd)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct drm_agp_mode {
    pub mode: ::core::ffi::c_ulong,
}
#[test]
fn bindgen_test_layout_drm_agp_mode() {
    const UNINIT: ::core::mem::MaybeUninit<drm_agp_mode> = ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<drm_agp_mode>(),
        8usize,
        concat!("Size of: ", stringify!(drm_agp_mode))
    );
    assert_eq!(
        ::core::mem::align_of::<drm_agp_mode>(),
        8usize,
        concat!("Alignment of ", stringify!(drm_agp_mode))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).mode) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_agp_mode),
            "::",
            stringify!(mode)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
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,
}
#[test]
fn bindgen_test_layout_drm_agp_buffer() {
    const UNINIT: ::core::mem::MaybeUninit<drm_agp_buffer> = ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<drm_agp_buffer>(),
        32usize,
        concat!("Size of: ", stringify!(drm_agp_buffer))
    );
    assert_eq!(
        ::core::mem::align_of::<drm_agp_buffer>(),
        8usize,
        concat!("Alignment of ", stringify!(drm_agp_buffer))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).size) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_agp_buffer),
            "::",
            stringify!(size)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).handle) as usize - ptr as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_agp_buffer),
            "::",
            stringify!(handle)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_agp_buffer),
            "::",
            stringify!(type_)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).physical) as usize - ptr as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_agp_buffer),
            "::",
            stringify!(physical)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct drm_agp_binding {
    pub handle: ::core::ffi::c_ulong,
    pub offset: ::core::ffi::c_ulong,
}
#[test]
fn bindgen_test_layout_drm_agp_binding() {
    const UNINIT: ::core::mem::MaybeUninit<drm_agp_binding> = ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<drm_agp_binding>(),
        16usize,
        concat!("Size of: ", stringify!(drm_agp_binding))
    );
    assert_eq!(
        ::core::mem::align_of::<drm_agp_binding>(),
        8usize,
        concat!("Alignment of ", stringify!(drm_agp_binding))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).handle) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_agp_binding),
            "::",
            stringify!(handle)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).offset) as usize - ptr as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_agp_binding),
            "::",
            stringify!(offset)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
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,
}
#[test]
fn bindgen_test_layout_drm_agp_info() {
    const UNINIT: ::core::mem::MaybeUninit<drm_agp_info> = ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<drm_agp_info>(),
        56usize,
        concat!("Size of: ", stringify!(drm_agp_info))
    );
    assert_eq!(
        ::core::mem::align_of::<drm_agp_info>(),
        8usize,
        concat!("Alignment of ", stringify!(drm_agp_info))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).agp_version_major) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_agp_info),
            "::",
            stringify!(agp_version_major)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).agp_version_minor) as usize - ptr as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_agp_info),
            "::",
            stringify!(agp_version_minor)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).mode) as usize - ptr as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_agp_info),
            "::",
            stringify!(mode)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).aperture_base) as usize - ptr as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_agp_info),
            "::",
            stringify!(aperture_base)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).aperture_size) as usize - ptr as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_agp_info),
            "::",
            stringify!(aperture_size)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).memory_allowed) as usize - ptr as usize },
        32usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_agp_info),
            "::",
            stringify!(memory_allowed)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).memory_used) as usize - ptr as usize },
        40usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_agp_info),
            "::",
            stringify!(memory_used)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).id_vendor) as usize - ptr as usize },
        48usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_agp_info),
            "::",
            stringify!(id_vendor)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).id_device) as usize - ptr as usize },
        50usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_agp_info),
            "::",
            stringify!(id_device)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct drm_scatter_gather {
    pub size: ::core::ffi::c_ulong,
    pub handle: ::core::ffi::c_ulong,
}
#[test]
fn bindgen_test_layout_drm_scatter_gather() {
    const UNINIT: ::core::mem::MaybeUninit<drm_scatter_gather> = ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<drm_scatter_gather>(),
        16usize,
        concat!("Size of: ", stringify!(drm_scatter_gather))
    );
    assert_eq!(
        ::core::mem::align_of::<drm_scatter_gather>(),
        8usize,
        concat!("Alignment of ", stringify!(drm_scatter_gather))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).size) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_scatter_gather),
            "::",
            stringify!(size)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).handle) as usize - ptr as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_scatter_gather),
            "::",
            stringify!(handle)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
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,
}
#[test]
fn bindgen_test_layout_drm_set_version() {
    const UNINIT: ::core::mem::MaybeUninit<drm_set_version> = ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<drm_set_version>(),
        16usize,
        concat!("Size of: ", stringify!(drm_set_version))
    );
    assert_eq!(
        ::core::mem::align_of::<drm_set_version>(),
        4usize,
        concat!("Alignment of ", stringify!(drm_set_version))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).drm_di_major) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_set_version),
            "::",
            stringify!(drm_di_major)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).drm_di_minor) as usize - ptr as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_set_version),
            "::",
            stringify!(drm_di_minor)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).drm_dd_major) as usize - ptr as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_set_version),
            "::",
            stringify!(drm_dd_major)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).drm_dd_minor) as usize - ptr as usize },
        12usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_set_version),
            "::",
            stringify!(drm_dd_minor)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct drm_gem_close {
    pub handle: __u32,
    pub pad: __u32,
}
#[test]
fn bindgen_test_layout_drm_gem_close() {
    const UNINIT: ::core::mem::MaybeUninit<drm_gem_close> = ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<drm_gem_close>(),
        8usize,
        concat!("Size of: ", stringify!(drm_gem_close))
    );
    assert_eq!(
        ::core::mem::align_of::<drm_gem_close>(),
        4usize,
        concat!("Alignment of ", stringify!(drm_gem_close))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).handle) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_gem_close),
            "::",
            stringify!(handle)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).pad) as usize - ptr as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_gem_close),
            "::",
            stringify!(pad)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct drm_gem_flink {
    pub handle: __u32,
    pub name: __u32,
}
#[test]
fn bindgen_test_layout_drm_gem_flink() {
    const UNINIT: ::core::mem::MaybeUninit<drm_gem_flink> = ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<drm_gem_flink>(),
        8usize,
        concat!("Size of: ", stringify!(drm_gem_flink))
    );
    assert_eq!(
        ::core::mem::align_of::<drm_gem_flink>(),
        4usize,
        concat!("Alignment of ", stringify!(drm_gem_flink))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).handle) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_gem_flink),
            "::",
            stringify!(handle)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).name) as usize - ptr as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_gem_flink),
            "::",
            stringify!(name)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct drm_gem_open {
    pub name: __u32,
    pub handle: __u32,
    pub size: __u64,
}
#[test]
fn bindgen_test_layout_drm_gem_open() {
    const UNINIT: ::core::mem::MaybeUninit<drm_gem_open> = ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<drm_gem_open>(),
        16usize,
        concat!("Size of: ", stringify!(drm_gem_open))
    );
    assert_eq!(
        ::core::mem::align_of::<drm_gem_open>(),
        8usize,
        concat!("Alignment of ", stringify!(drm_gem_open))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).name) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_gem_open),
            "::",
            stringify!(name)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).handle) as usize - ptr as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_gem_open),
            "::",
            stringify!(handle)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).size) as usize - ptr as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_gem_open),
            "::",
            stringify!(size)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct drm_get_cap {
    pub capability: __u64,
    pub value: __u64,
}
#[test]
fn bindgen_test_layout_drm_get_cap() {
    const UNINIT: ::core::mem::MaybeUninit<drm_get_cap> = ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<drm_get_cap>(),
        16usize,
        concat!("Size of: ", stringify!(drm_get_cap))
    );
    assert_eq!(
        ::core::mem::align_of::<drm_get_cap>(),
        8usize,
        concat!("Alignment of ", stringify!(drm_get_cap))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).capability) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_get_cap),
            "::",
            stringify!(capability)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).value) as usize - ptr as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_get_cap),
            "::",
            stringify!(value)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct drm_set_client_cap {
    pub capability: __u64,
    pub value: __u64,
}
#[test]
fn bindgen_test_layout_drm_set_client_cap() {
    const UNINIT: ::core::mem::MaybeUninit<drm_set_client_cap> = ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<drm_set_client_cap>(),
        16usize,
        concat!("Size of: ", stringify!(drm_set_client_cap))
    );
    assert_eq!(
        ::core::mem::align_of::<drm_set_client_cap>(),
        8usize,
        concat!("Alignment of ", stringify!(drm_set_client_cap))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).capability) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_set_client_cap),
            "::",
            stringify!(capability)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).value) as usize - ptr as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_set_client_cap),
            "::",
            stringify!(value)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct drm_prime_handle {
    pub handle: __u32,
    pub flags: __u32,
    pub fd: __s32,
}
#[test]
fn bindgen_test_layout_drm_prime_handle() {
    const UNINIT: ::core::mem::MaybeUninit<drm_prime_handle> = ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<drm_prime_handle>(),
        12usize,
        concat!("Size of: ", stringify!(drm_prime_handle))
    );
    assert_eq!(
        ::core::mem::align_of::<drm_prime_handle>(),
        4usize,
        concat!("Alignment of ", stringify!(drm_prime_handle))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).handle) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_prime_handle),
            "::",
            stringify!(handle)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_prime_handle),
            "::",
            stringify!(flags)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).fd) as usize - ptr as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_prime_handle),
            "::",
            stringify!(fd)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct drm_syncobj_create {
    pub handle: __u32,
    pub flags: __u32,
}
#[test]
fn bindgen_test_layout_drm_syncobj_create() {
    const UNINIT: ::core::mem::MaybeUninit<drm_syncobj_create> = ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<drm_syncobj_create>(),
        8usize,
        concat!("Size of: ", stringify!(drm_syncobj_create))
    );
    assert_eq!(
        ::core::mem::align_of::<drm_syncobj_create>(),
        4usize,
        concat!("Alignment of ", stringify!(drm_syncobj_create))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).handle) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_syncobj_create),
            "::",
            stringify!(handle)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_syncobj_create),
            "::",
            stringify!(flags)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct drm_syncobj_destroy {
    pub handle: __u32,
    pub pad: __u32,
}
#[test]
fn bindgen_test_layout_drm_syncobj_destroy() {
    const UNINIT: ::core::mem::MaybeUninit<drm_syncobj_destroy> =
        ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<drm_syncobj_destroy>(),
        8usize,
        concat!("Size of: ", stringify!(drm_syncobj_destroy))
    );
    assert_eq!(
        ::core::mem::align_of::<drm_syncobj_destroy>(),
        4usize,
        concat!("Alignment of ", stringify!(drm_syncobj_destroy))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).handle) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_syncobj_destroy),
            "::",
            stringify!(handle)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).pad) as usize - ptr as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_syncobj_destroy),
            "::",
            stringify!(pad)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct drm_syncobj_handle {
    pub handle: __u32,
    pub flags: __u32,
    pub fd: __s32,
    pub pad: __u32,
}
#[test]
fn bindgen_test_layout_drm_syncobj_handle() {
    const UNINIT: ::core::mem::MaybeUninit<drm_syncobj_handle> = ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<drm_syncobj_handle>(),
        16usize,
        concat!("Size of: ", stringify!(drm_syncobj_handle))
    );
    assert_eq!(
        ::core::mem::align_of::<drm_syncobj_handle>(),
        4usize,
        concat!("Alignment of ", stringify!(drm_syncobj_handle))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).handle) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_syncobj_handle),
            "::",
            stringify!(handle)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_syncobj_handle),
            "::",
            stringify!(flags)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).fd) as usize - ptr as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_syncobj_handle),
            "::",
            stringify!(fd)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).pad) as usize - ptr as usize },
        12usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_syncobj_handle),
            "::",
            stringify!(pad)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
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,
}
#[test]
fn bindgen_test_layout_drm_syncobj_transfer() {
    const UNINIT: ::core::mem::MaybeUninit<drm_syncobj_transfer> =
        ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<drm_syncobj_transfer>(),
        32usize,
        concat!("Size of: ", stringify!(drm_syncobj_transfer))
    );
    assert_eq!(
        ::core::mem::align_of::<drm_syncobj_transfer>(),
        8usize,
        concat!("Alignment of ", stringify!(drm_syncobj_transfer))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).src_handle) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_syncobj_transfer),
            "::",
            stringify!(src_handle)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).dst_handle) as usize - ptr as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_syncobj_transfer),
            "::",
            stringify!(dst_handle)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).src_point) as usize - ptr as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_syncobj_transfer),
            "::",
            stringify!(src_point)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).dst_point) as usize - ptr as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_syncobj_transfer),
            "::",
            stringify!(dst_point)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_syncobj_transfer),
            "::",
            stringify!(flags)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).pad) as usize - ptr as usize },
        28usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_syncobj_transfer),
            "::",
            stringify!(pad)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
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,
}
#[test]
fn bindgen_test_layout_drm_syncobj_wait() {
    const UNINIT: ::core::mem::MaybeUninit<drm_syncobj_wait> = ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<drm_syncobj_wait>(),
        32usize,
        concat!("Size of: ", stringify!(drm_syncobj_wait))
    );
    assert_eq!(
        ::core::mem::align_of::<drm_syncobj_wait>(),
        8usize,
        concat!("Alignment of ", stringify!(drm_syncobj_wait))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).handles) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_syncobj_wait),
            "::",
            stringify!(handles)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).timeout_nsec) as usize - ptr as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_syncobj_wait),
            "::",
            stringify!(timeout_nsec)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).count_handles) as usize - ptr as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_syncobj_wait),
            "::",
            stringify!(count_handles)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
        20usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_syncobj_wait),
            "::",
            stringify!(flags)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).first_signaled) as usize - ptr as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_syncobj_wait),
            "::",
            stringify!(first_signaled)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).pad) as usize - ptr as usize },
        28usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_syncobj_wait),
            "::",
            stringify!(pad)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
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,
}
#[test]
fn bindgen_test_layout_drm_syncobj_timeline_wait() {
    const UNINIT: ::core::mem::MaybeUninit<drm_syncobj_timeline_wait> =
        ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<drm_syncobj_timeline_wait>(),
        40usize,
        concat!("Size of: ", stringify!(drm_syncobj_timeline_wait))
    );
    assert_eq!(
        ::core::mem::align_of::<drm_syncobj_timeline_wait>(),
        8usize,
        concat!("Alignment of ", stringify!(drm_syncobj_timeline_wait))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).handles) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_syncobj_timeline_wait),
            "::",
            stringify!(handles)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).points) as usize - ptr as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_syncobj_timeline_wait),
            "::",
            stringify!(points)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).timeout_nsec) as usize - ptr as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_syncobj_timeline_wait),
            "::",
            stringify!(timeout_nsec)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).count_handles) as usize - ptr as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_syncobj_timeline_wait),
            "::",
            stringify!(count_handles)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
        28usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_syncobj_timeline_wait),
            "::",
            stringify!(flags)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).first_signaled) as usize - ptr as usize },
        32usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_syncobj_timeline_wait),
            "::",
            stringify!(first_signaled)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).pad) as usize - ptr as usize },
        36usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_syncobj_timeline_wait),
            "::",
            stringify!(pad)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct drm_syncobj_eventfd {
    pub handle: __u32,
    pub flags: __u32,
    pub point: __u64,
    pub fd: __s32,
    pub pad: __u32,
}
#[test]
fn bindgen_test_layout_drm_syncobj_eventfd() {
    const UNINIT: ::core::mem::MaybeUninit<drm_syncobj_eventfd> =
        ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<drm_syncobj_eventfd>(),
        24usize,
        concat!("Size of: ", stringify!(drm_syncobj_eventfd))
    );
    assert_eq!(
        ::core::mem::align_of::<drm_syncobj_eventfd>(),
        8usize,
        concat!("Alignment of ", stringify!(drm_syncobj_eventfd))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).handle) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_syncobj_eventfd),
            "::",
            stringify!(handle)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_syncobj_eventfd),
            "::",
            stringify!(flags)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).point) as usize - ptr as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_syncobj_eventfd),
            "::",
            stringify!(point)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).fd) as usize - ptr as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_syncobj_eventfd),
            "::",
            stringify!(fd)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).pad) as usize - ptr as usize },
        20usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_syncobj_eventfd),
            "::",
            stringify!(pad)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct drm_syncobj_array {
    pub handles: __u64,
    pub count_handles: __u32,
    pub pad: __u32,
}
#[test]
fn bindgen_test_layout_drm_syncobj_array() {
    const UNINIT: ::core::mem::MaybeUninit<drm_syncobj_array> = ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<drm_syncobj_array>(),
        16usize,
        concat!("Size of: ", stringify!(drm_syncobj_array))
    );
    assert_eq!(
        ::core::mem::align_of::<drm_syncobj_array>(),
        8usize,
        concat!("Alignment of ", stringify!(drm_syncobj_array))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).handles) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_syncobj_array),
            "::",
            stringify!(handles)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).count_handles) as usize - ptr as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_syncobj_array),
            "::",
            stringify!(count_handles)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).pad) as usize - ptr as usize },
        12usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_syncobj_array),
            "::",
            stringify!(pad)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct drm_syncobj_timeline_array {
    pub handles: __u64,
    pub points: __u64,
    pub count_handles: __u32,
    pub flags: __u32,
}
#[test]
fn bindgen_test_layout_drm_syncobj_timeline_array() {
    const UNINIT: ::core::mem::MaybeUninit<drm_syncobj_timeline_array> =
        ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<drm_syncobj_timeline_array>(),
        24usize,
        concat!("Size of: ", stringify!(drm_syncobj_timeline_array))
    );
    assert_eq!(
        ::core::mem::align_of::<drm_syncobj_timeline_array>(),
        8usize,
        concat!("Alignment of ", stringify!(drm_syncobj_timeline_array))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).handles) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_syncobj_timeline_array),
            "::",
            stringify!(handles)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).points) as usize - ptr as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_syncobj_timeline_array),
            "::",
            stringify!(points)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).count_handles) as usize - ptr as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_syncobj_timeline_array),
            "::",
            stringify!(count_handles)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
        20usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_syncobj_timeline_array),
            "::",
            stringify!(flags)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct drm_crtc_get_sequence {
    pub crtc_id: __u32,
    pub active: __u32,
    pub sequence: __u64,
    pub sequence_ns: __s64,
}
#[test]
fn bindgen_test_layout_drm_crtc_get_sequence() {
    const UNINIT: ::core::mem::MaybeUninit<drm_crtc_get_sequence> =
        ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<drm_crtc_get_sequence>(),
        24usize,
        concat!("Size of: ", stringify!(drm_crtc_get_sequence))
    );
    assert_eq!(
        ::core::mem::align_of::<drm_crtc_get_sequence>(),
        8usize,
        concat!("Alignment of ", stringify!(drm_crtc_get_sequence))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).crtc_id) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_crtc_get_sequence),
            "::",
            stringify!(crtc_id)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).active) as usize - ptr as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_crtc_get_sequence),
            "::",
            stringify!(active)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).sequence) as usize - ptr as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_crtc_get_sequence),
            "::",
            stringify!(sequence)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).sequence_ns) as usize - ptr as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_crtc_get_sequence),
            "::",
            stringify!(sequence_ns)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct drm_crtc_queue_sequence {
    pub crtc_id: __u32,
    pub flags: __u32,
    pub sequence: __u64,
    pub user_data: __u64,
}
#[test]
fn bindgen_test_layout_drm_crtc_queue_sequence() {
    const UNINIT: ::core::mem::MaybeUninit<drm_crtc_queue_sequence> =
        ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<drm_crtc_queue_sequence>(),
        24usize,
        concat!("Size of: ", stringify!(drm_crtc_queue_sequence))
    );
    assert_eq!(
        ::core::mem::align_of::<drm_crtc_queue_sequence>(),
        8usize,
        concat!("Alignment of ", stringify!(drm_crtc_queue_sequence))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).crtc_id) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_crtc_queue_sequence),
            "::",
            stringify!(crtc_id)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_crtc_queue_sequence),
            "::",
            stringify!(flags)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).sequence) as usize - ptr as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_crtc_queue_sequence),
            "::",
            stringify!(sequence)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).user_data) as usize - ptr as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_crtc_queue_sequence),
            "::",
            stringify!(user_data)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
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],
}
#[test]
fn bindgen_test_layout_drm_mode_modeinfo() {
    const UNINIT: ::core::mem::MaybeUninit<drm_mode_modeinfo> = ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<drm_mode_modeinfo>(),
        68usize,
        concat!("Size of: ", stringify!(drm_mode_modeinfo))
    );
    assert_eq!(
        ::core::mem::align_of::<drm_mode_modeinfo>(),
        4usize,
        concat!("Alignment of ", stringify!(drm_mode_modeinfo))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).clock) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_mode_modeinfo),
            "::",
            stringify!(clock)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).hdisplay) as usize - ptr as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_mode_modeinfo),
            "::",
            stringify!(hdisplay)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).hsync_start) as usize - ptr as usize },
        6usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_mode_modeinfo),
            "::",
            stringify!(hsync_start)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).hsync_end) as usize - ptr as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_mode_modeinfo),
            "::",
            stringify!(hsync_end)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).htotal) as usize - ptr as usize },
        10usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_mode_modeinfo),
            "::",
            stringify!(htotal)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).hskew) as usize - ptr as usize },
        12usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_mode_modeinfo),
            "::",
            stringify!(hskew)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).vdisplay) as usize - ptr as usize },
        14usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_mode_modeinfo),
            "::",
            stringify!(vdisplay)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).vsync_start) as usize - ptr as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_mode_modeinfo),
            "::",
            stringify!(vsync_start)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).vsync_end) as usize - ptr as usize },
        18usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_mode_modeinfo),
            "::",
            stringify!(vsync_end)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).vtotal) as usize - ptr as usize },
        20usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_mode_modeinfo),
            "::",
            stringify!(vtotal)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).vscan) as usize - ptr as usize },
        22usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_mode_modeinfo),
            "::",
            stringify!(vscan)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).vrefresh) as usize - ptr as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_mode_modeinfo),
            "::",
            stringify!(vrefresh)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
        28usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_mode_modeinfo),
            "::",
            stringify!(flags)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
        32usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_mode_modeinfo),
            "::",
            stringify!(type_)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).name) as usize - ptr as usize },
        36usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_mode_modeinfo),
            "::",
            stringify!(name)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
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,
}
#[test]
fn bindgen_test_layout_drm_mode_card_res() {
    const UNINIT: ::core::mem::MaybeUninit<drm_mode_card_res> = ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<drm_mode_card_res>(),
        64usize,
        concat!("Size of: ", stringify!(drm_mode_card_res))
    );
    assert_eq!(
        ::core::mem::align_of::<drm_mode_card_res>(),
        8usize,
        concat!("Alignment of ", stringify!(drm_mode_card_res))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).fb_id_ptr) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_mode_card_res),
            "::",
            stringify!(fb_id_ptr)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).crtc_id_ptr) as usize - ptr as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_mode_card_res),
            "::",
            stringify!(crtc_id_ptr)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).connector_id_ptr) as usize - ptr as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_mode_card_res),
            "::",
            stringify!(connector_id_ptr)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).encoder_id_ptr) as usize - ptr as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_mode_card_res),
            "::",
            stringify!(encoder_id_ptr)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).count_fbs) as usize - ptr as usize },
        32usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_mode_card_res),
            "::",
            stringify!(count_fbs)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).count_crtcs) as usize - ptr as usize },
        36usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_mode_card_res),
            "::",
            stringify!(count_crtcs)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).count_connectors) as usize - ptr as usize },
        40usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_mode_card_res),
            "::",
            stringify!(count_connectors)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).count_encoders) as usize - ptr as usize },
        44usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_mode_card_res),
            "::",
            stringify!(count_encoders)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).min_width) as usize - ptr as usize },
        48usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_mode_card_res),
            "::",
            stringify!(min_width)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).max_width) as usize - ptr as usize },
        52usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_mode_card_res),
            "::",
            stringify!(max_width)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).min_height) as usize - ptr as usize },
        56usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_mode_card_res),
            "::",
            stringify!(min_height)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).max_height) as usize - ptr as usize },
        60usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_mode_card_res),
            "::",
            stringify!(max_height)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
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,
}
#[test]
fn bindgen_test_layout_drm_mode_crtc() {
    const UNINIT: ::core::mem::MaybeUninit<drm_mode_crtc> = ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<drm_mode_crtc>(),
        104usize,
        concat!("Size of: ", stringify!(drm_mode_crtc))
    );
    assert_eq!(
        ::core::mem::align_of::<drm_mode_crtc>(),
        8usize,
        concat!("Alignment of ", stringify!(drm_mode_crtc))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).set_connectors_ptr) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_mode_crtc),
            "::",
            stringify!(set_connectors_ptr)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).count_connectors) as usize - ptr as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_mode_crtc),
            "::",
            stringify!(count_connectors)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).crtc_id) as usize - ptr as usize },
        12usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_mode_crtc),
            "::",
            stringify!(crtc_id)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).fb_id) as usize - ptr as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_mode_crtc),
            "::",
            stringify!(fb_id)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).x) as usize - ptr as usize },
        20usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_mode_crtc),
            "::",
            stringify!(x)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).y) as usize - ptr as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_mode_crtc),
            "::",
            stringify!(y)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).gamma_size) as usize - ptr as usize },
        28usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_mode_crtc),
            "::",
            stringify!(gamma_size)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).mode_valid) as usize - ptr as usize },
        32usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_mode_crtc),
            "::",
            stringify!(mode_valid)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).mode) as usize - ptr as usize },
        36usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_mode_crtc),
            "::",
            stringify!(mode)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
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,
}
#[test]
fn bindgen_test_layout_drm_mode_set_plane() {
    const UNINIT: ::core::mem::MaybeUninit<drm_mode_set_plane> = ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<drm_mode_set_plane>(),
        48usize,
        concat!("Size of: ", stringify!(drm_mode_set_plane))
    );
    assert_eq!(
        ::core::mem::align_of::<drm_mode_set_plane>(),
        4usize,
        concat!("Alignment of ", stringify!(drm_mode_set_plane))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).plane_id) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_mode_set_plane),
            "::",
            stringify!(plane_id)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).crtc_id) as usize - ptr as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_mode_set_plane),
            "::",
            stringify!(crtc_id)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).fb_id) as usize - ptr as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_mode_set_plane),
            "::",
            stringify!(fb_id)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
        12usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_mode_set_plane),
            "::",
            stringify!(flags)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).crtc_x) as usize - ptr as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_mode_set_plane),
            "::",
            stringify!(crtc_x)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).crtc_y) as usize - ptr as usize },
        20usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_mode_set_plane),
            "::",
            stringify!(crtc_y)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).crtc_w) as usize - ptr as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_mode_set_plane),
            "::",
            stringify!(crtc_w)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).crtc_h) as usize - ptr as usize },
        28usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_mode_set_plane),
            "::",
            stringify!(crtc_h)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).src_x) as usize - ptr as usize },
        32usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_mode_set_plane),
            "::",
            stringify!(src_x)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).src_y) as usize - ptr as usize },
        36usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_mode_set_plane),
            "::",
            stringify!(src_y)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).src_h) as usize - ptr as usize },
        40usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_mode_set_plane),
            "::",
            stringify!(src_h)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).src_w) as usize - ptr as usize },
        44usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_mode_set_plane),
            "::",
            stringify!(src_w)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
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,
}
#[test]
fn bindgen_test_layout_drm_mode_get_plane() {
    const UNINIT: ::core::mem::MaybeUninit<drm_mode_get_plane> = ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<drm_mode_get_plane>(),
        32usize,
        concat!("Size of: ", stringify!(drm_mode_get_plane))
    );
    assert_eq!(
        ::core::mem::align_of::<drm_mode_get_plane>(),
        8usize,
        concat!("Alignment of ", stringify!(drm_mode_get_plane))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).plane_id) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_mode_get_plane),
            "::",
            stringify!(plane_id)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).crtc_id) as usize - ptr as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_mode_get_plane),
            "::",
            stringify!(crtc_id)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).fb_id) as usize - ptr as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_mode_get_plane),
            "::",
            stringify!(fb_id)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).possible_crtcs) as usize - ptr as usize },
        12usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_mode_get_plane),
            "::",
            stringify!(possible_crtcs)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).gamma_size) as usize - ptr as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_mode_get_plane),
            "::",
            stringify!(gamma_size)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).count_format_types) as usize - ptr as usize },
        20usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_mode_get_plane),
            "::",
            stringify!(count_format_types)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).format_type_ptr) as usize - ptr as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_mode_get_plane),
            "::",
            stringify!(format_type_ptr)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct drm_mode_get_plane_res {
    pub plane_id_ptr: __u64,
    pub count_planes: __u32,
}
#[test]
fn bindgen_test_layout_drm_mode_get_plane_res() {
    const UNINIT: ::core::mem::MaybeUninit<drm_mode_get_plane_res> =
        ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<drm_mode_get_plane_res>(),
        16usize,
        concat!("Size of: ", stringify!(drm_mode_get_plane_res))
    );
    assert_eq!(
        ::core::mem::align_of::<drm_mode_get_plane_res>(),
        8usize,
        concat!("Alignment of ", stringify!(drm_mode_get_plane_res))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).plane_id_ptr) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_mode_get_plane_res),
            "::",
            stringify!(plane_id_ptr)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).count_planes) as usize - ptr as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_mode_get_plane_res),
            "::",
            stringify!(count_planes)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
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,
}
#[test]
fn bindgen_test_layout_drm_mode_get_encoder() {
    const UNINIT: ::core::mem::MaybeUninit<drm_mode_get_encoder> =
        ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<drm_mode_get_encoder>(),
        20usize,
        concat!("Size of: ", stringify!(drm_mode_get_encoder))
    );
    assert_eq!(
        ::core::mem::align_of::<drm_mode_get_encoder>(),
        4usize,
        concat!("Alignment of ", stringify!(drm_mode_get_encoder))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).encoder_id) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_mode_get_encoder),
            "::",
            stringify!(encoder_id)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).encoder_type) as usize - ptr as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_mode_get_encoder),
            "::",
            stringify!(encoder_type)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).crtc_id) as usize - ptr as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_mode_get_encoder),
            "::",
            stringify!(crtc_id)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).possible_crtcs) as usize - ptr as usize },
        12usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_mode_get_encoder),
            "::",
            stringify!(possible_crtcs)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).possible_clones) as usize - ptr as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_mode_get_encoder),
            "::",
            stringify!(possible_clones)
        )
    );
}
pub const drm_mode_subconnector_DRM_MODE_SUBCONNECTOR_Automatic: drm_mode_subconnector = 0;
pub const drm_mode_subconnector_DRM_MODE_SUBCONNECTOR_Unknown: drm_mode_subconnector = 0;
pub const drm_mode_subconnector_DRM_MODE_SUBCONNECTOR_VGA: drm_mode_subconnector = 1;
pub const drm_mode_subconnector_DRM_MODE_SUBCONNECTOR_DVID: drm_mode_subconnector = 3;
pub const drm_mode_subconnector_DRM_MODE_SUBCONNECTOR_DVIA: drm_mode_subconnector = 4;
pub const drm_mode_subconnector_DRM_MODE_SUBCONNECTOR_Composite: drm_mode_subconnector = 5;
pub const drm_mode_subconnector_DRM_MODE_SUBCONNECTOR_SVIDEO: drm_mode_subconnector = 6;
pub const drm_mode_subconnector_DRM_MODE_SUBCONNECTOR_Component: drm_mode_subconnector = 8;
pub const drm_mode_subconnector_DRM_MODE_SUBCONNECTOR_SCART: drm_mode_subconnector = 9;
pub const drm_mode_subconnector_DRM_MODE_SUBCONNECTOR_DisplayPort: drm_mode_subconnector = 10;
pub const drm_mode_subconnector_DRM_MODE_SUBCONNECTOR_HDMIA: drm_mode_subconnector = 11;
pub const drm_mode_subconnector_DRM_MODE_SUBCONNECTOR_Native: drm_mode_subconnector = 15;
pub const drm_mode_subconnector_DRM_MODE_SUBCONNECTOR_Wireless: drm_mode_subconnector = 18;
pub type drm_mode_subconnector = ::core::ffi::c_uint;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
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,
}
#[test]
fn bindgen_test_layout_drm_mode_get_connector() {
    const UNINIT: ::core::mem::MaybeUninit<drm_mode_get_connector> =
        ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<drm_mode_get_connector>(),
        80usize,
        concat!("Size of: ", stringify!(drm_mode_get_connector))
    );
    assert_eq!(
        ::core::mem::align_of::<drm_mode_get_connector>(),
        8usize,
        concat!("Alignment of ", stringify!(drm_mode_get_connector))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).encoders_ptr) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_mode_get_connector),
            "::",
            stringify!(encoders_ptr)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).modes_ptr) as usize - ptr as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_mode_get_connector),
            "::",
            stringify!(modes_ptr)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).props_ptr) as usize - ptr as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_mode_get_connector),
            "::",
            stringify!(props_ptr)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).prop_values_ptr) as usize - ptr as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_mode_get_connector),
            "::",
            stringify!(prop_values_ptr)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).count_modes) as usize - ptr as usize },
        32usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_mode_get_connector),
            "::",
            stringify!(count_modes)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).count_props) as usize - ptr as usize },
        36usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_mode_get_connector),
            "::",
            stringify!(count_props)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).count_encoders) as usize - ptr as usize },
        40usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_mode_get_connector),
            "::",
            stringify!(count_encoders)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).encoder_id) as usize - ptr as usize },
        44usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_mode_get_connector),
            "::",
            stringify!(encoder_id)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).connector_id) as usize - ptr as usize },
        48usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_mode_get_connector),
            "::",
            stringify!(connector_id)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).connector_type) as usize - ptr as usize },
        52usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_mode_get_connector),
            "::",
            stringify!(connector_type)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).connector_type_id) as usize - ptr as usize },
        56usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_mode_get_connector),
            "::",
            stringify!(connector_type_id)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).connection) as usize - ptr as usize },
        60usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_mode_get_connector),
            "::",
            stringify!(connection)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).mm_width) as usize - ptr as usize },
        64usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_mode_get_connector),
            "::",
            stringify!(mm_width)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).mm_height) as usize - ptr as usize },
        68usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_mode_get_connector),
            "::",
            stringify!(mm_height)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).subpixel) as usize - ptr as usize },
        72usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_mode_get_connector),
            "::",
            stringify!(subpixel)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).pad) as usize - ptr as usize },
        76usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_mode_get_connector),
            "::",
            stringify!(pad)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct drm_mode_property_enum {
    pub value: __u64,
    pub name: [::core::ffi::c_char; 32usize],
}
#[test]
fn bindgen_test_layout_drm_mode_property_enum() {
    const UNINIT: ::core::mem::MaybeUninit<drm_mode_property_enum> =
        ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<drm_mode_property_enum>(),
        40usize,
        concat!("Size of: ", stringify!(drm_mode_property_enum))
    );
    assert_eq!(
        ::core::mem::align_of::<drm_mode_property_enum>(),
        8usize,
        concat!("Alignment of ", stringify!(drm_mode_property_enum))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).value) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_mode_property_enum),
            "::",
            stringify!(value)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).name) as usize - ptr as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_mode_property_enum),
            "::",
            stringify!(name)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
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,
}
#[test]
fn bindgen_test_layout_drm_mode_get_property() {
    const UNINIT: ::core::mem::MaybeUninit<drm_mode_get_property> =
        ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<drm_mode_get_property>(),
        64usize,
        concat!("Size of: ", stringify!(drm_mode_get_property))
    );
    assert_eq!(
        ::core::mem::align_of::<drm_mode_get_property>(),
        8usize,
        concat!("Alignment of ", stringify!(drm_mode_get_property))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).values_ptr) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_mode_get_property),
            "::",
            stringify!(values_ptr)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).enum_blob_ptr) as usize - ptr as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_mode_get_property),
            "::",
            stringify!(enum_blob_ptr)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).prop_id) as usize - ptr as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_mode_get_property),
            "::",
            stringify!(prop_id)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
        20usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_mode_get_property),
            "::",
            stringify!(flags)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).name) as usize - ptr as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_mode_get_property),
            "::",
            stringify!(name)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).count_values) as usize - ptr as usize },
        56usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_mode_get_property),
            "::",
            stringify!(count_values)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).count_enum_blobs) as usize - ptr as usize },
        60usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_mode_get_property),
            "::",
            stringify!(count_enum_blobs)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct drm_mode_connector_set_property {
    pub value: __u64,
    pub prop_id: __u32,
    pub connector_id: __u32,
}
#[test]
fn bindgen_test_layout_drm_mode_connector_set_property() {
    const UNINIT: ::core::mem::MaybeUninit<drm_mode_connector_set_property> =
        ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<drm_mode_connector_set_property>(),
        16usize,
        concat!("Size of: ", stringify!(drm_mode_connector_set_property))
    );
    assert_eq!(
        ::core::mem::align_of::<drm_mode_connector_set_property>(),
        8usize,
        concat!("Alignment of ", stringify!(drm_mode_connector_set_property))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).value) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_mode_connector_set_property),
            "::",
            stringify!(value)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).prop_id) as usize - ptr as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_mode_connector_set_property),
            "::",
            stringify!(prop_id)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).connector_id) as usize - ptr as usize },
        12usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_mode_connector_set_property),
            "::",
            stringify!(connector_id)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
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,
}
#[test]
fn bindgen_test_layout_drm_mode_obj_get_properties() {
    const UNINIT: ::core::mem::MaybeUninit<drm_mode_obj_get_properties> =
        ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<drm_mode_obj_get_properties>(),
        32usize,
        concat!("Size of: ", stringify!(drm_mode_obj_get_properties))
    );
    assert_eq!(
        ::core::mem::align_of::<drm_mode_obj_get_properties>(),
        8usize,
        concat!("Alignment of ", stringify!(drm_mode_obj_get_properties))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).props_ptr) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_mode_obj_get_properties),
            "::",
            stringify!(props_ptr)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).prop_values_ptr) as usize - ptr as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_mode_obj_get_properties),
            "::",
            stringify!(prop_values_ptr)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).count_props) as usize - ptr as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_mode_obj_get_properties),
            "::",
            stringify!(count_props)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).obj_id) as usize - ptr as usize },
        20usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_mode_obj_get_properties),
            "::",
            stringify!(obj_id)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).obj_type) as usize - ptr as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_mode_obj_get_properties),
            "::",
            stringify!(obj_type)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct drm_mode_obj_set_property {
    pub value: __u64,
    pub prop_id: __u32,
    pub obj_id: __u32,
    pub obj_type: __u32,
}
#[test]
fn bindgen_test_layout_drm_mode_obj_set_property() {
    const UNINIT: ::core::mem::MaybeUninit<drm_mode_obj_set_property> =
        ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<drm_mode_obj_set_property>(),
        24usize,
        concat!("Size of: ", stringify!(drm_mode_obj_set_property))
    );
    assert_eq!(
        ::core::mem::align_of::<drm_mode_obj_set_property>(),
        8usize,
        concat!("Alignment of ", stringify!(drm_mode_obj_set_property))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).value) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_mode_obj_set_property),
            "::",
            stringify!(value)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).prop_id) as usize - ptr as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_mode_obj_set_property),
            "::",
            stringify!(prop_id)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).obj_id) as usize - ptr as usize },
        12usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_mode_obj_set_property),
            "::",
            stringify!(obj_id)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).obj_type) as usize - ptr as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_mode_obj_set_property),
            "::",
            stringify!(obj_type)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct drm_mode_get_blob {
    pub blob_id: __u32,
    pub length: __u32,
    pub data: __u64,
}
#[test]
fn bindgen_test_layout_drm_mode_get_blob() {
    const UNINIT: ::core::mem::MaybeUninit<drm_mode_get_blob> = ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<drm_mode_get_blob>(),
        16usize,
        concat!("Size of: ", stringify!(drm_mode_get_blob))
    );
    assert_eq!(
        ::core::mem::align_of::<drm_mode_get_blob>(),
        8usize,
        concat!("Alignment of ", stringify!(drm_mode_get_blob))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).blob_id) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_mode_get_blob),
            "::",
            stringify!(blob_id)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).length) as usize - ptr as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_mode_get_blob),
            "::",
            stringify!(length)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_mode_get_blob),
            "::",
            stringify!(data)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
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,
}
#[test]
fn bindgen_test_layout_drm_mode_fb_cmd() {
    const UNINIT: ::core::mem::MaybeUninit<drm_mode_fb_cmd> = ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<drm_mode_fb_cmd>(),
        28usize,
        concat!("Size of: ", stringify!(drm_mode_fb_cmd))
    );
    assert_eq!(
        ::core::mem::align_of::<drm_mode_fb_cmd>(),
        4usize,
        concat!("Alignment of ", stringify!(drm_mode_fb_cmd))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).fb_id) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_mode_fb_cmd),
            "::",
            stringify!(fb_id)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).width) as usize - ptr as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_mode_fb_cmd),
            "::",
            stringify!(width)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).height) as usize - ptr as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_mode_fb_cmd),
            "::",
            stringify!(height)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).pitch) as usize - ptr as usize },
        12usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_mode_fb_cmd),
            "::",
            stringify!(pitch)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).bpp) as usize - ptr as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_mode_fb_cmd),
            "::",
            stringify!(bpp)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).depth) as usize - ptr as usize },
        20usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_mode_fb_cmd),
            "::",
            stringify!(depth)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).handle) as usize - ptr as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_mode_fb_cmd),
            "::",
            stringify!(handle)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
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],
}
#[test]
fn bindgen_test_layout_drm_mode_fb_cmd2() {
    const UNINIT: ::core::mem::MaybeUninit<drm_mode_fb_cmd2> = ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<drm_mode_fb_cmd2>(),
        104usize,
        concat!("Size of: ", stringify!(drm_mode_fb_cmd2))
    );
    assert_eq!(
        ::core::mem::align_of::<drm_mode_fb_cmd2>(),
        8usize,
        concat!("Alignment of ", stringify!(drm_mode_fb_cmd2))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).fb_id) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_mode_fb_cmd2),
            "::",
            stringify!(fb_id)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).width) as usize - ptr as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_mode_fb_cmd2),
            "::",
            stringify!(width)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).height) as usize - ptr as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_mode_fb_cmd2),
            "::",
            stringify!(height)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).pixel_format) as usize - ptr as usize },
        12usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_mode_fb_cmd2),
            "::",
            stringify!(pixel_format)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_mode_fb_cmd2),
            "::",
            stringify!(flags)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).handles) as usize - ptr as usize },
        20usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_mode_fb_cmd2),
            "::",
            stringify!(handles)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).pitches) as usize - ptr as usize },
        36usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_mode_fb_cmd2),
            "::",
            stringify!(pitches)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).offsets) as usize - ptr as usize },
        52usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_mode_fb_cmd2),
            "::",
            stringify!(offsets)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).modifier) as usize - ptr as usize },
        72usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_mode_fb_cmd2),
            "::",
            stringify!(modifier)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
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,
}
#[test]
fn bindgen_test_layout_drm_mode_fb_dirty_cmd() {
    const UNINIT: ::core::mem::MaybeUninit<drm_mode_fb_dirty_cmd> =
        ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<drm_mode_fb_dirty_cmd>(),
        24usize,
        concat!("Size of: ", stringify!(drm_mode_fb_dirty_cmd))
    );
    assert_eq!(
        ::core::mem::align_of::<drm_mode_fb_dirty_cmd>(),
        8usize,
        concat!("Alignment of ", stringify!(drm_mode_fb_dirty_cmd))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).fb_id) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_mode_fb_dirty_cmd),
            "::",
            stringify!(fb_id)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_mode_fb_dirty_cmd),
            "::",
            stringify!(flags)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).color) as usize - ptr as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_mode_fb_dirty_cmd),
            "::",
            stringify!(color)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).num_clips) as usize - ptr as usize },
        12usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_mode_fb_dirty_cmd),
            "::",
            stringify!(num_clips)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).clips_ptr) as usize - ptr as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_mode_fb_dirty_cmd),
            "::",
            stringify!(clips_ptr)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct drm_mode_mode_cmd {
    pub connector_id: __u32,
    pub mode: drm_mode_modeinfo,
}
#[test]
fn bindgen_test_layout_drm_mode_mode_cmd() {
    const UNINIT: ::core::mem::MaybeUninit<drm_mode_mode_cmd> = ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<drm_mode_mode_cmd>(),
        72usize,
        concat!("Size of: ", stringify!(drm_mode_mode_cmd))
    );
    assert_eq!(
        ::core::mem::align_of::<drm_mode_mode_cmd>(),
        4usize,
        concat!("Alignment of ", stringify!(drm_mode_mode_cmd))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).connector_id) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_mode_mode_cmd),
            "::",
            stringify!(connector_id)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).mode) as usize - ptr as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_mode_mode_cmd),
            "::",
            stringify!(mode)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
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,
}
#[test]
fn bindgen_test_layout_drm_mode_cursor() {
    const UNINIT: ::core::mem::MaybeUninit<drm_mode_cursor> = ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<drm_mode_cursor>(),
        28usize,
        concat!("Size of: ", stringify!(drm_mode_cursor))
    );
    assert_eq!(
        ::core::mem::align_of::<drm_mode_cursor>(),
        4usize,
        concat!("Alignment of ", stringify!(drm_mode_cursor))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_mode_cursor),
            "::",
            stringify!(flags)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).crtc_id) as usize - ptr as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_mode_cursor),
            "::",
            stringify!(crtc_id)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).x) as usize - ptr as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_mode_cursor),
            "::",
            stringify!(x)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).y) as usize - ptr as usize },
        12usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_mode_cursor),
            "::",
            stringify!(y)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).width) as usize - ptr as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_mode_cursor),
            "::",
            stringify!(width)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).height) as usize - ptr as usize },
        20usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_mode_cursor),
            "::",
            stringify!(height)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).handle) as usize - ptr as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_mode_cursor),
            "::",
            stringify!(handle)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
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,
}
#[test]
fn bindgen_test_layout_drm_mode_cursor2() {
    const UNINIT: ::core::mem::MaybeUninit<drm_mode_cursor2> = ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<drm_mode_cursor2>(),
        36usize,
        concat!("Size of: ", stringify!(drm_mode_cursor2))
    );
    assert_eq!(
        ::core::mem::align_of::<drm_mode_cursor2>(),
        4usize,
        concat!("Alignment of ", stringify!(drm_mode_cursor2))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_mode_cursor2),
            "::",
            stringify!(flags)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).crtc_id) as usize - ptr as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_mode_cursor2),
            "::",
            stringify!(crtc_id)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).x) as usize - ptr as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_mode_cursor2),
            "::",
            stringify!(x)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).y) as usize - ptr as usize },
        12usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_mode_cursor2),
            "::",
            stringify!(y)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).width) as usize - ptr as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_mode_cursor2),
            "::",
            stringify!(width)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).height) as usize - ptr as usize },
        20usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_mode_cursor2),
            "::",
            stringify!(height)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).handle) as usize - ptr as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_mode_cursor2),
            "::",
            stringify!(handle)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).hot_x) as usize - ptr as usize },
        28usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_mode_cursor2),
            "::",
            stringify!(hot_x)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).hot_y) as usize - ptr as usize },
        32usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_mode_cursor2),
            "::",
            stringify!(hot_y)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct drm_mode_crtc_lut {
    pub crtc_id: __u32,
    pub gamma_size: __u32,
    pub red: __u64,
    pub green: __u64,
    pub blue: __u64,
}
#[test]
fn bindgen_test_layout_drm_mode_crtc_lut() {
    const UNINIT: ::core::mem::MaybeUninit<drm_mode_crtc_lut> = ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<drm_mode_crtc_lut>(),
        32usize,
        concat!("Size of: ", stringify!(drm_mode_crtc_lut))
    );
    assert_eq!(
        ::core::mem::align_of::<drm_mode_crtc_lut>(),
        8usize,
        concat!("Alignment of ", stringify!(drm_mode_crtc_lut))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).crtc_id) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_mode_crtc_lut),
            "::",
            stringify!(crtc_id)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).gamma_size) as usize - ptr as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_mode_crtc_lut),
            "::",
            stringify!(gamma_size)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).red) as usize - ptr as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_mode_crtc_lut),
            "::",
            stringify!(red)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).green) as usize - ptr as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_mode_crtc_lut),
            "::",
            stringify!(green)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).blue) as usize - ptr as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_mode_crtc_lut),
            "::",
            stringify!(blue)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct drm_color_ctm {
    pub matrix: [__u64; 9usize],
}
#[test]
fn bindgen_test_layout_drm_color_ctm() {
    const UNINIT: ::core::mem::MaybeUninit<drm_color_ctm> = ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<drm_color_ctm>(),
        72usize,
        concat!("Size of: ", stringify!(drm_color_ctm))
    );
    assert_eq!(
        ::core::mem::align_of::<drm_color_ctm>(),
        8usize,
        concat!("Alignment of ", stringify!(drm_color_ctm))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).matrix) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_color_ctm),
            "::",
            stringify!(matrix)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct drm_color_lut {
    pub red: __u16,
    pub green: __u16,
    pub blue: __u16,
    pub reserved: __u16,
}
#[test]
fn bindgen_test_layout_drm_color_lut() {
    const UNINIT: ::core::mem::MaybeUninit<drm_color_lut> = ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<drm_color_lut>(),
        8usize,
        concat!("Size of: ", stringify!(drm_color_lut))
    );
    assert_eq!(
        ::core::mem::align_of::<drm_color_lut>(),
        2usize,
        concat!("Alignment of ", stringify!(drm_color_lut))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).red) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_color_lut),
            "::",
            stringify!(red)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).green) as usize - ptr as usize },
        2usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_color_lut),
            "::",
            stringify!(green)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).blue) as usize - ptr as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_color_lut),
            "::",
            stringify!(blue)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).reserved) as usize - ptr as usize },
        6usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_color_lut),
            "::",
            stringify!(reserved)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
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, Copy, Clone)]
pub struct hdr_metadata_infoframe__bindgen_ty_1 {
    pub x: __u16,
    pub y: __u16,
}
#[test]
fn bindgen_test_layout_hdr_metadata_infoframe__bindgen_ty_1() {
    const UNINIT: ::core::mem::MaybeUninit<hdr_metadata_infoframe__bindgen_ty_1> =
        ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<hdr_metadata_infoframe__bindgen_ty_1>(),
        4usize,
        concat!(
            "Size of: ",
            stringify!(hdr_metadata_infoframe__bindgen_ty_1)
        )
    );
    assert_eq!(
        ::core::mem::align_of::<hdr_metadata_infoframe__bindgen_ty_1>(),
        2usize,
        concat!(
            "Alignment of ",
            stringify!(hdr_metadata_infoframe__bindgen_ty_1)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).x) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(hdr_metadata_infoframe__bindgen_ty_1),
            "::",
            stringify!(x)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).y) as usize - ptr as usize },
        2usize,
        concat!(
            "Offset of field: ",
            stringify!(hdr_metadata_infoframe__bindgen_ty_1),
            "::",
            stringify!(y)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct hdr_metadata_infoframe__bindgen_ty_2 {
    pub x: __u16,
    pub y: __u16,
}
#[test]
fn bindgen_test_layout_hdr_metadata_infoframe__bindgen_ty_2() {
    const UNINIT: ::core::mem::MaybeUninit<hdr_metadata_infoframe__bindgen_ty_2> =
        ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<hdr_metadata_infoframe__bindgen_ty_2>(),
        4usize,
        concat!(
            "Size of: ",
            stringify!(hdr_metadata_infoframe__bindgen_ty_2)
        )
    );
    assert_eq!(
        ::core::mem::align_of::<hdr_metadata_infoframe__bindgen_ty_2>(),
        2usize,
        concat!(
            "Alignment of ",
            stringify!(hdr_metadata_infoframe__bindgen_ty_2)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).x) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(hdr_metadata_infoframe__bindgen_ty_2),
            "::",
            stringify!(x)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).y) as usize - ptr as usize },
        2usize,
        concat!(
            "Offset of field: ",
            stringify!(hdr_metadata_infoframe__bindgen_ty_2),
            "::",
            stringify!(y)
        )
    );
}
#[test]
fn bindgen_test_layout_hdr_metadata_infoframe() {
    const UNINIT: ::core::mem::MaybeUninit<hdr_metadata_infoframe> =
        ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<hdr_metadata_infoframe>(),
        26usize,
        concat!("Size of: ", stringify!(hdr_metadata_infoframe))
    );
    assert_eq!(
        ::core::mem::align_of::<hdr_metadata_infoframe>(),
        2usize,
        concat!("Alignment of ", stringify!(hdr_metadata_infoframe))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).eotf) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(hdr_metadata_infoframe),
            "::",
            stringify!(eotf)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).metadata_type) as usize - ptr as usize },
        1usize,
        concat!(
            "Offset of field: ",
            stringify!(hdr_metadata_infoframe),
            "::",
            stringify!(metadata_type)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).display_primaries) as usize - ptr as usize },
        2usize,
        concat!(
            "Offset of field: ",
            stringify!(hdr_metadata_infoframe),
            "::",
            stringify!(display_primaries)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).white_point) as usize - ptr as usize },
        14usize,
        concat!(
            "Offset of field: ",
            stringify!(hdr_metadata_infoframe),
            "::",
            stringify!(white_point)
        )
    );
    assert_eq!(
        unsafe {
            ::core::ptr::addr_of!((*ptr).max_display_mastering_luminance) as usize - ptr as usize
        },
        18usize,
        concat!(
            "Offset of field: ",
            stringify!(hdr_metadata_infoframe),
            "::",
            stringify!(max_display_mastering_luminance)
        )
    );
    assert_eq!(
        unsafe {
            ::core::ptr::addr_of!((*ptr).min_display_mastering_luminance) as usize - ptr as usize
        },
        20usize,
        concat!(
            "Offset of field: ",
            stringify!(hdr_metadata_infoframe),
            "::",
            stringify!(min_display_mastering_luminance)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).max_cll) as usize - ptr as usize },
        22usize,
        concat!(
            "Offset of field: ",
            stringify!(hdr_metadata_infoframe),
            "::",
            stringify!(max_cll)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).max_fall) as usize - ptr as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(hdr_metadata_infoframe),
            "::",
            stringify!(max_fall)
        )
    );
}
#[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,
}
#[test]
fn bindgen_test_layout_hdr_output_metadata__bindgen_ty_1() {
    const UNINIT: ::core::mem::MaybeUninit<hdr_output_metadata__bindgen_ty_1> =
        ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<hdr_output_metadata__bindgen_ty_1>(),
        26usize,
        concat!("Size of: ", stringify!(hdr_output_metadata__bindgen_ty_1))
    );
    assert_eq!(
        ::core::mem::align_of::<hdr_output_metadata__bindgen_ty_1>(),
        2usize,
        concat!(
            "Alignment of ",
            stringify!(hdr_output_metadata__bindgen_ty_1)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).hdmi_metadata_type1) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(hdr_output_metadata__bindgen_ty_1),
            "::",
            stringify!(hdmi_metadata_type1)
        )
    );
}
#[test]
fn bindgen_test_layout_hdr_output_metadata() {
    const UNINIT: ::core::mem::MaybeUninit<hdr_output_metadata> =
        ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<hdr_output_metadata>(),
        32usize,
        concat!("Size of: ", stringify!(hdr_output_metadata))
    );
    assert_eq!(
        ::core::mem::align_of::<hdr_output_metadata>(),
        4usize,
        concat!("Alignment of ", stringify!(hdr_output_metadata))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).metadata_type) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(hdr_output_metadata),
            "::",
            stringify!(metadata_type)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
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,
}
#[test]
fn bindgen_test_layout_drm_mode_crtc_page_flip() {
    const UNINIT: ::core::mem::MaybeUninit<drm_mode_crtc_page_flip> =
        ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<drm_mode_crtc_page_flip>(),
        24usize,
        concat!("Size of: ", stringify!(drm_mode_crtc_page_flip))
    );
    assert_eq!(
        ::core::mem::align_of::<drm_mode_crtc_page_flip>(),
        8usize,
        concat!("Alignment of ", stringify!(drm_mode_crtc_page_flip))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).crtc_id) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_mode_crtc_page_flip),
            "::",
            stringify!(crtc_id)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).fb_id) as usize - ptr as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_mode_crtc_page_flip),
            "::",
            stringify!(fb_id)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_mode_crtc_page_flip),
            "::",
            stringify!(flags)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).reserved) as usize - ptr as usize },
        12usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_mode_crtc_page_flip),
            "::",
            stringify!(reserved)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).user_data) as usize - ptr as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_mode_crtc_page_flip),
            "::",
            stringify!(user_data)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
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,
}
#[test]
fn bindgen_test_layout_drm_mode_crtc_page_flip_target() {
    const UNINIT: ::core::mem::MaybeUninit<drm_mode_crtc_page_flip_target> =
        ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<drm_mode_crtc_page_flip_target>(),
        24usize,
        concat!("Size of: ", stringify!(drm_mode_crtc_page_flip_target))
    );
    assert_eq!(
        ::core::mem::align_of::<drm_mode_crtc_page_flip_target>(),
        8usize,
        concat!("Alignment of ", stringify!(drm_mode_crtc_page_flip_target))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).crtc_id) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_mode_crtc_page_flip_target),
            "::",
            stringify!(crtc_id)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).fb_id) as usize - ptr as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_mode_crtc_page_flip_target),
            "::",
            stringify!(fb_id)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_mode_crtc_page_flip_target),
            "::",
            stringify!(flags)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).sequence) as usize - ptr as usize },
        12usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_mode_crtc_page_flip_target),
            "::",
            stringify!(sequence)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).user_data) as usize - ptr as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_mode_crtc_page_flip_target),
            "::",
            stringify!(user_data)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
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,
}
#[test]
fn bindgen_test_layout_drm_mode_create_dumb() {
    const UNINIT: ::core::mem::MaybeUninit<drm_mode_create_dumb> =
        ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<drm_mode_create_dumb>(),
        32usize,
        concat!("Size of: ", stringify!(drm_mode_create_dumb))
    );
    assert_eq!(
        ::core::mem::align_of::<drm_mode_create_dumb>(),
        8usize,
        concat!("Alignment of ", stringify!(drm_mode_create_dumb))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).height) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_mode_create_dumb),
            "::",
            stringify!(height)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).width) as usize - ptr as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_mode_create_dumb),
            "::",
            stringify!(width)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).bpp) as usize - ptr as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_mode_create_dumb),
            "::",
            stringify!(bpp)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
        12usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_mode_create_dumb),
            "::",
            stringify!(flags)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).handle) as usize - ptr as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_mode_create_dumb),
            "::",
            stringify!(handle)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).pitch) as usize - ptr as usize },
        20usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_mode_create_dumb),
            "::",
            stringify!(pitch)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).size) as usize - ptr as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_mode_create_dumb),
            "::",
            stringify!(size)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct drm_mode_map_dumb {
    pub handle: __u32,
    pub pad: __u32,
    pub offset: __u64,
}
#[test]
fn bindgen_test_layout_drm_mode_map_dumb() {
    const UNINIT: ::core::mem::MaybeUninit<drm_mode_map_dumb> = ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<drm_mode_map_dumb>(),
        16usize,
        concat!("Size of: ", stringify!(drm_mode_map_dumb))
    );
    assert_eq!(
        ::core::mem::align_of::<drm_mode_map_dumb>(),
        8usize,
        concat!("Alignment of ", stringify!(drm_mode_map_dumb))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).handle) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_mode_map_dumb),
            "::",
            stringify!(handle)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).pad) as usize - ptr as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_mode_map_dumb),
            "::",
            stringify!(pad)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).offset) as usize - ptr as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_mode_map_dumb),
            "::",
            stringify!(offset)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct drm_mode_destroy_dumb {
    pub handle: __u32,
}
#[test]
fn bindgen_test_layout_drm_mode_destroy_dumb() {
    const UNINIT: ::core::mem::MaybeUninit<drm_mode_destroy_dumb> =
        ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<drm_mode_destroy_dumb>(),
        4usize,
        concat!("Size of: ", stringify!(drm_mode_destroy_dumb))
    );
    assert_eq!(
        ::core::mem::align_of::<drm_mode_destroy_dumb>(),
        4usize,
        concat!("Alignment of ", stringify!(drm_mode_destroy_dumb))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).handle) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_mode_destroy_dumb),
            "::",
            stringify!(handle)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
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,
}
#[test]
fn bindgen_test_layout_drm_mode_atomic() {
    const UNINIT: ::core::mem::MaybeUninit<drm_mode_atomic> = ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<drm_mode_atomic>(),
        56usize,
        concat!("Size of: ", stringify!(drm_mode_atomic))
    );
    assert_eq!(
        ::core::mem::align_of::<drm_mode_atomic>(),
        8usize,
        concat!("Alignment of ", stringify!(drm_mode_atomic))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_mode_atomic),
            "::",
            stringify!(flags)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).count_objs) as usize - ptr as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_mode_atomic),
            "::",
            stringify!(count_objs)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).objs_ptr) as usize - ptr as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_mode_atomic),
            "::",
            stringify!(objs_ptr)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).count_props_ptr) as usize - ptr as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_mode_atomic),
            "::",
            stringify!(count_props_ptr)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).props_ptr) as usize - ptr as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_mode_atomic),
            "::",
            stringify!(props_ptr)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).prop_values_ptr) as usize - ptr as usize },
        32usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_mode_atomic),
            "::",
            stringify!(prop_values_ptr)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).reserved) as usize - ptr as usize },
        40usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_mode_atomic),
            "::",
            stringify!(reserved)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).user_data) as usize - ptr as usize },
        48usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_mode_atomic),
            "::",
            stringify!(user_data)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
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,
}
#[test]
fn bindgen_test_layout_drm_format_modifier_blob() {
    const UNINIT: ::core::mem::MaybeUninit<drm_format_modifier_blob> =
        ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<drm_format_modifier_blob>(),
        24usize,
        concat!("Size of: ", stringify!(drm_format_modifier_blob))
    );
    assert_eq!(
        ::core::mem::align_of::<drm_format_modifier_blob>(),
        4usize,
        concat!("Alignment of ", stringify!(drm_format_modifier_blob))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).version) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_format_modifier_blob),
            "::",
            stringify!(version)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_format_modifier_blob),
            "::",
            stringify!(flags)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).count_formats) as usize - ptr as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_format_modifier_blob),
            "::",
            stringify!(count_formats)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).formats_offset) as usize - ptr as usize },
        12usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_format_modifier_blob),
            "::",
            stringify!(formats_offset)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).count_modifiers) as usize - ptr as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_format_modifier_blob),
            "::",
            stringify!(count_modifiers)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).modifiers_offset) as usize - ptr as usize },
        20usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_format_modifier_blob),
            "::",
            stringify!(modifiers_offset)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct drm_format_modifier {
    pub formats: __u64,
    pub offset: __u32,
    pub pad: __u32,
    pub modifier: __u64,
}
#[test]
fn bindgen_test_layout_drm_format_modifier() {
    const UNINIT: ::core::mem::MaybeUninit<drm_format_modifier> =
        ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<drm_format_modifier>(),
        24usize,
        concat!("Size of: ", stringify!(drm_format_modifier))
    );
    assert_eq!(
        ::core::mem::align_of::<drm_format_modifier>(),
        8usize,
        concat!("Alignment of ", stringify!(drm_format_modifier))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).formats) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_format_modifier),
            "::",
            stringify!(formats)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).offset) as usize - ptr as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_format_modifier),
            "::",
            stringify!(offset)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).pad) as usize - ptr as usize },
        12usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_format_modifier),
            "::",
            stringify!(pad)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).modifier) as usize - ptr as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_format_modifier),
            "::",
            stringify!(modifier)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct drm_mode_create_blob {
    pub data: __u64,
    pub length: __u32,
    pub blob_id: __u32,
}
#[test]
fn bindgen_test_layout_drm_mode_create_blob() {
    const UNINIT: ::core::mem::MaybeUninit<drm_mode_create_blob> =
        ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<drm_mode_create_blob>(),
        16usize,
        concat!("Size of: ", stringify!(drm_mode_create_blob))
    );
    assert_eq!(
        ::core::mem::align_of::<drm_mode_create_blob>(),
        8usize,
        concat!("Alignment of ", stringify!(drm_mode_create_blob))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_mode_create_blob),
            "::",
            stringify!(data)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).length) as usize - ptr as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_mode_create_blob),
            "::",
            stringify!(length)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).blob_id) as usize - ptr as usize },
        12usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_mode_create_blob),
            "::",
            stringify!(blob_id)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct drm_mode_destroy_blob {
    pub blob_id: __u32,
}
#[test]
fn bindgen_test_layout_drm_mode_destroy_blob() {
    const UNINIT: ::core::mem::MaybeUninit<drm_mode_destroy_blob> =
        ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<drm_mode_destroy_blob>(),
        4usize,
        concat!("Size of: ", stringify!(drm_mode_destroy_blob))
    );
    assert_eq!(
        ::core::mem::align_of::<drm_mode_destroy_blob>(),
        4usize,
        concat!("Alignment of ", stringify!(drm_mode_destroy_blob))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).blob_id) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_mode_destroy_blob),
            "::",
            stringify!(blob_id)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct drm_mode_create_lease {
    pub object_ids: __u64,
    pub object_count: __u32,
    pub flags: __u32,
    pub lessee_id: __u32,
    pub fd: __u32,
}
#[test]
fn bindgen_test_layout_drm_mode_create_lease() {
    const UNINIT: ::core::mem::MaybeUninit<drm_mode_create_lease> =
        ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<drm_mode_create_lease>(),
        24usize,
        concat!("Size of: ", stringify!(drm_mode_create_lease))
    );
    assert_eq!(
        ::core::mem::align_of::<drm_mode_create_lease>(),
        8usize,
        concat!("Alignment of ", stringify!(drm_mode_create_lease))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).object_ids) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_mode_create_lease),
            "::",
            stringify!(object_ids)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).object_count) as usize - ptr as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_mode_create_lease),
            "::",
            stringify!(object_count)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
        12usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_mode_create_lease),
            "::",
            stringify!(flags)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).lessee_id) as usize - ptr as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_mode_create_lease),
            "::",
            stringify!(lessee_id)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).fd) as usize - ptr as usize },
        20usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_mode_create_lease),
            "::",
            stringify!(fd)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct drm_mode_list_lessees {
    pub count_lessees: __u32,
    pub pad: __u32,
    pub lessees_ptr: __u64,
}
#[test]
fn bindgen_test_layout_drm_mode_list_lessees() {
    const UNINIT: ::core::mem::MaybeUninit<drm_mode_list_lessees> =
        ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<drm_mode_list_lessees>(),
        16usize,
        concat!("Size of: ", stringify!(drm_mode_list_lessees))
    );
    assert_eq!(
        ::core::mem::align_of::<drm_mode_list_lessees>(),
        8usize,
        concat!("Alignment of ", stringify!(drm_mode_list_lessees))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).count_lessees) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_mode_list_lessees),
            "::",
            stringify!(count_lessees)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).pad) as usize - ptr as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_mode_list_lessees),
            "::",
            stringify!(pad)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).lessees_ptr) as usize - ptr as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_mode_list_lessees),
            "::",
            stringify!(lessees_ptr)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct drm_mode_get_lease {
    pub count_objects: __u32,
    pub pad: __u32,
    pub objects_ptr: __u64,
}
#[test]
fn bindgen_test_layout_drm_mode_get_lease() {
    const UNINIT: ::core::mem::MaybeUninit<drm_mode_get_lease> = ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<drm_mode_get_lease>(),
        16usize,
        concat!("Size of: ", stringify!(drm_mode_get_lease))
    );
    assert_eq!(
        ::core::mem::align_of::<drm_mode_get_lease>(),
        8usize,
        concat!("Alignment of ", stringify!(drm_mode_get_lease))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).count_objects) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_mode_get_lease),
            "::",
            stringify!(count_objects)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).pad) as usize - ptr as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_mode_get_lease),
            "::",
            stringify!(pad)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).objects_ptr) as usize - ptr as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_mode_get_lease),
            "::",
            stringify!(objects_ptr)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct drm_mode_revoke_lease {
    pub lessee_id: __u32,
}
#[test]
fn bindgen_test_layout_drm_mode_revoke_lease() {
    const UNINIT: ::core::mem::MaybeUninit<drm_mode_revoke_lease> =
        ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<drm_mode_revoke_lease>(),
        4usize,
        concat!("Size of: ", stringify!(drm_mode_revoke_lease))
    );
    assert_eq!(
        ::core::mem::align_of::<drm_mode_revoke_lease>(),
        4usize,
        concat!("Alignment of ", stringify!(drm_mode_revoke_lease))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).lessee_id) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_mode_revoke_lease),
            "::",
            stringify!(lessee_id)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct drm_mode_rect {
    pub x1: __s32,
    pub y1: __s32,
    pub x2: __s32,
    pub y2: __s32,
}
#[test]
fn bindgen_test_layout_drm_mode_rect() {
    const UNINIT: ::core::mem::MaybeUninit<drm_mode_rect> = ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<drm_mode_rect>(),
        16usize,
        concat!("Size of: ", stringify!(drm_mode_rect))
    );
    assert_eq!(
        ::core::mem::align_of::<drm_mode_rect>(),
        4usize,
        concat!("Alignment of ", stringify!(drm_mode_rect))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).x1) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_mode_rect),
            "::",
            stringify!(x1)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).y1) as usize - ptr as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_mode_rect),
            "::",
            stringify!(y1)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).x2) as usize - ptr as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_mode_rect),
            "::",
            stringify!(x2)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).y2) as usize - ptr as usize },
        12usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_mode_rect),
            "::",
            stringify!(y2)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct drm_mode_closefb {
    pub fb_id: __u32,
    pub pad: __u32,
}
#[test]
fn bindgen_test_layout_drm_mode_closefb() {
    const UNINIT: ::core::mem::MaybeUninit<drm_mode_closefb> = ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<drm_mode_closefb>(),
        8usize,
        concat!("Size of: ", stringify!(drm_mode_closefb))
    );
    assert_eq!(
        ::core::mem::align_of::<drm_mode_closefb>(),
        4usize,
        concat!("Alignment of ", stringify!(drm_mode_closefb))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).fb_id) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_mode_closefb),
            "::",
            stringify!(fb_id)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).pad) as usize - ptr as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_mode_closefb),
            "::",
            stringify!(pad)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct drm_event {
    pub type_: __u32,
    pub length: __u32,
}
#[test]
fn bindgen_test_layout_drm_event() {
    const UNINIT: ::core::mem::MaybeUninit<drm_event> = ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<drm_event>(),
        8usize,
        concat!("Size of: ", stringify!(drm_event))
    );
    assert_eq!(
        ::core::mem::align_of::<drm_event>(),
        4usize,
        concat!("Alignment of ", stringify!(drm_event))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_event),
            "::",
            stringify!(type_)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).length) as usize - ptr as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_event),
            "::",
            stringify!(length)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
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,
}
#[test]
fn bindgen_test_layout_drm_event_vblank() {
    const UNINIT: ::core::mem::MaybeUninit<drm_event_vblank> = ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<drm_event_vblank>(),
        32usize,
        concat!("Size of: ", stringify!(drm_event_vblank))
    );
    assert_eq!(
        ::core::mem::align_of::<drm_event_vblank>(),
        8usize,
        concat!("Alignment of ", stringify!(drm_event_vblank))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).base) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_event_vblank),
            "::",
            stringify!(base)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).user_data) as usize - ptr as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_event_vblank),
            "::",
            stringify!(user_data)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).tv_sec) as usize - ptr as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_event_vblank),
            "::",
            stringify!(tv_sec)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).tv_usec) as usize - ptr as usize },
        20usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_event_vblank),
            "::",
            stringify!(tv_usec)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).sequence) as usize - ptr as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_event_vblank),
            "::",
            stringify!(sequence)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).crtc_id) as usize - ptr as usize },
        28usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_event_vblank),
            "::",
            stringify!(crtc_id)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct drm_event_crtc_sequence {
    pub base: drm_event,
    pub user_data: __u64,
    pub time_ns: __s64,
    pub sequence: __u64,
}
#[test]
fn bindgen_test_layout_drm_event_crtc_sequence() {
    const UNINIT: ::core::mem::MaybeUninit<drm_event_crtc_sequence> =
        ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<drm_event_crtc_sequence>(),
        32usize,
        concat!("Size of: ", stringify!(drm_event_crtc_sequence))
    );
    assert_eq!(
        ::core::mem::align_of::<drm_event_crtc_sequence>(),
        8usize,
        concat!("Alignment of ", stringify!(drm_event_crtc_sequence))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).base) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_event_crtc_sequence),
            "::",
            stringify!(base)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).user_data) as usize - ptr as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_event_crtc_sequence),
            "::",
            stringify!(user_data)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).time_ns) as usize - ptr as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_event_crtc_sequence),
            "::",
            stringify!(time_ns)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).sequence) as usize - ptr as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_event_crtc_sequence),
            "::",
            stringify!(sequence)
        )
    );
}
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 as drm_map_flags_t;
pub use self::drm_map_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 as drm_stat_type_t;
pub type drm_stats_t = drm_stats;
pub use self::drm_lock_flags as drm_lock_flags_t;
pub type drm_lock_t = drm_lock;
pub use self::drm_dma_flags 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 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 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 type drmSize = ::core::ffi::c_uint;
pub type drmSizePtr = *mut ::core::ffi::c_uint;
pub type drmAddress = *mut ::core::ffi::c_void;
pub type drmAddressPtr = *mut *mut ::core::ffi::c_void;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _drmServerInfo {
    pub debug_print: ::core::option::Option<
        unsafe extern "C" fn(
            format: *const ::core::ffi::c_char,
            ap: *mut __va_list_tag,
        ) -> ::core::ffi::c_int,
    >,
    pub load_module: ::core::option::Option<
        unsafe extern "C" fn(name: *const ::core::ffi::c_char) -> ::core::ffi::c_int,
    >,
    pub get_perms:
        ::core::option::Option<unsafe extern "C" fn(arg1: *mut gid_t, arg2: *mut mode_t)>,
}
#[test]
fn bindgen_test_layout__drmServerInfo() {
    const UNINIT: ::core::mem::MaybeUninit<_drmServerInfo> = ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<_drmServerInfo>(),
        24usize,
        concat!("Size of: ", stringify!(_drmServerInfo))
    );
    assert_eq!(
        ::core::mem::align_of::<_drmServerInfo>(),
        8usize,
        concat!("Alignment of ", stringify!(_drmServerInfo))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).debug_print) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_drmServerInfo),
            "::",
            stringify!(debug_print)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).load_module) as usize - ptr as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(_drmServerInfo),
            "::",
            stringify!(load_module)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).get_perms) as usize - ptr as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(_drmServerInfo),
            "::",
            stringify!(get_perms)
        )
    );
}
pub type drmServerInfo = _drmServerInfo;
pub type drmServerInfoPtr = *mut _drmServerInfo;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct drmHashEntry {
    pub fd: ::core::ffi::c_int,
    pub f: ::core::option::Option<
        unsafe extern "C" fn(
            arg1: ::core::ffi::c_int,
            arg2: *mut ::core::ffi::c_void,
            arg3: *mut ::core::ffi::c_void,
        ),
    >,
    pub tagTable: *mut ::core::ffi::c_void,
}
#[test]
fn bindgen_test_layout_drmHashEntry() {
    const UNINIT: ::core::mem::MaybeUninit<drmHashEntry> = ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<drmHashEntry>(),
        24usize,
        concat!("Size of: ", stringify!(drmHashEntry))
    );
    assert_eq!(
        ::core::mem::align_of::<drmHashEntry>(),
        8usize,
        concat!("Alignment of ", stringify!(drmHashEntry))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).fd) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(drmHashEntry),
            "::",
            stringify!(fd)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).f) as usize - ptr as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(drmHashEntry),
            "::",
            stringify!(f)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).tagTable) as usize - ptr as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(drmHashEntry),
            "::",
            stringify!(tagTable)
        )
    );
}
extern "C" {
    pub fn drmIoctl(
        fd: ::core::ffi::c_int,
        request: ::core::ffi::c_ulong,
        arg: *mut ::core::ffi::c_void,
    ) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn drmGetHashTable() -> *mut ::core::ffi::c_void;
}
extern "C" {
    pub fn drmGetEntry(fd: ::core::ffi::c_int) -> *mut drmHashEntry;
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _drmVersion {
    pub version_major: ::core::ffi::c_int,
    pub version_minor: ::core::ffi::c_int,
    pub version_patchlevel: ::core::ffi::c_int,
    pub name_len: ::core::ffi::c_int,
    pub name: *mut ::core::ffi::c_char,
    pub date_len: ::core::ffi::c_int,
    pub date: *mut ::core::ffi::c_char,
    pub desc_len: ::core::ffi::c_int,
    pub desc: *mut ::core::ffi::c_char,
}
#[test]
fn bindgen_test_layout__drmVersion() {
    const UNINIT: ::core::mem::MaybeUninit<_drmVersion> = ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<_drmVersion>(),
        56usize,
        concat!("Size of: ", stringify!(_drmVersion))
    );
    assert_eq!(
        ::core::mem::align_of::<_drmVersion>(),
        8usize,
        concat!("Alignment of ", stringify!(_drmVersion))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).version_major) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_drmVersion),
            "::",
            stringify!(version_major)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).version_minor) as usize - ptr as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(_drmVersion),
            "::",
            stringify!(version_minor)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).version_patchlevel) as usize - ptr as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(_drmVersion),
            "::",
            stringify!(version_patchlevel)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).name_len) as usize - ptr as usize },
        12usize,
        concat!(
            "Offset of field: ",
            stringify!(_drmVersion),
            "::",
            stringify!(name_len)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).name) as usize - ptr as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(_drmVersion),
            "::",
            stringify!(name)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).date_len) as usize - ptr as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(_drmVersion),
            "::",
            stringify!(date_len)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).date) as usize - ptr as usize },
        32usize,
        concat!(
            "Offset of field: ",
            stringify!(_drmVersion),
            "::",
            stringify!(date)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).desc_len) as usize - ptr as usize },
        40usize,
        concat!(
            "Offset of field: ",
            stringify!(_drmVersion),
            "::",
            stringify!(desc_len)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).desc) as usize - ptr as usize },
        48usize,
        concat!(
            "Offset of field: ",
            stringify!(_drmVersion),
            "::",
            stringify!(desc)
        )
    );
}
pub type drmVersion = _drmVersion;
pub type drmVersionPtr = *mut _drmVersion;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _drmStats {
    pub count: ::core::ffi::c_ulong,
    pub data: [_drmStats__bindgen_ty_1; 15usize],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _drmStats__bindgen_ty_1 {
    pub value: ::core::ffi::c_ulong,
    pub long_format: *const ::core::ffi::c_char,
    pub long_name: *const ::core::ffi::c_char,
    pub rate_format: *const ::core::ffi::c_char,
    pub rate_name: *const ::core::ffi::c_char,
    pub isvalue: ::core::ffi::c_int,
    pub mult_names: *const ::core::ffi::c_char,
    pub mult: ::core::ffi::c_int,
    pub verbose: ::core::ffi::c_int,
}
#[test]
fn bindgen_test_layout__drmStats__bindgen_ty_1() {
    const UNINIT: ::core::mem::MaybeUninit<_drmStats__bindgen_ty_1> =
        ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<_drmStats__bindgen_ty_1>(),
        64usize,
        concat!("Size of: ", stringify!(_drmStats__bindgen_ty_1))
    );
    assert_eq!(
        ::core::mem::align_of::<_drmStats__bindgen_ty_1>(),
        8usize,
        concat!("Alignment of ", stringify!(_drmStats__bindgen_ty_1))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).value) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_drmStats__bindgen_ty_1),
            "::",
            stringify!(value)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).long_format) as usize - ptr as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(_drmStats__bindgen_ty_1),
            "::",
            stringify!(long_format)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).long_name) as usize - ptr as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(_drmStats__bindgen_ty_1),
            "::",
            stringify!(long_name)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).rate_format) as usize - ptr as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(_drmStats__bindgen_ty_1),
            "::",
            stringify!(rate_format)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).rate_name) as usize - ptr as usize },
        32usize,
        concat!(
            "Offset of field: ",
            stringify!(_drmStats__bindgen_ty_1),
            "::",
            stringify!(rate_name)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).isvalue) as usize - ptr as usize },
        40usize,
        concat!(
            "Offset of field: ",
            stringify!(_drmStats__bindgen_ty_1),
            "::",
            stringify!(isvalue)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).mult_names) as usize - ptr as usize },
        48usize,
        concat!(
            "Offset of field: ",
            stringify!(_drmStats__bindgen_ty_1),
            "::",
            stringify!(mult_names)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).mult) as usize - ptr as usize },
        56usize,
        concat!(
            "Offset of field: ",
            stringify!(_drmStats__bindgen_ty_1),
            "::",
            stringify!(mult)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).verbose) as usize - ptr as usize },
        60usize,
        concat!(
            "Offset of field: ",
            stringify!(_drmStats__bindgen_ty_1),
            "::",
            stringify!(verbose)
        )
    );
}
#[test]
fn bindgen_test_layout__drmStats() {
    const UNINIT: ::core::mem::MaybeUninit<_drmStats> = ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<_drmStats>(),
        968usize,
        concat!("Size of: ", stringify!(_drmStats))
    );
    assert_eq!(
        ::core::mem::align_of::<_drmStats>(),
        8usize,
        concat!("Alignment of ", stringify!(_drmStats))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).count) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_drmStats),
            "::",
            stringify!(count)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(_drmStats),
            "::",
            stringify!(data)
        )
    );
}
pub type drmStatsT = _drmStats;
pub const drmMapType_DRM_FRAME_BUFFER: drmMapType = 0;
pub const drmMapType_DRM_REGISTERS: drmMapType = 1;
pub const drmMapType_DRM_SHM: drmMapType = 2;
pub const drmMapType_DRM_AGP: drmMapType = 3;
pub const drmMapType_DRM_SCATTER_GATHER: drmMapType = 4;
pub const drmMapType_DRM_CONSISTENT: drmMapType = 5;
pub type drmMapType = ::core::ffi::c_uint;
pub const drmMapFlags_DRM_RESTRICTED: drmMapFlags = 1;
pub const drmMapFlags_DRM_READ_ONLY: drmMapFlags = 2;
pub const drmMapFlags_DRM_LOCKED: drmMapFlags = 4;
pub const drmMapFlags_DRM_KERNEL: drmMapFlags = 8;
pub const drmMapFlags_DRM_WRITE_COMBINING: drmMapFlags = 16;
pub const drmMapFlags_DRM_CONTAINS_LOCK: drmMapFlags = 32;
pub const drmMapFlags_DRM_REMOVABLE: drmMapFlags = 64;
pub type drmMapFlags = ::core::ffi::c_uint;
pub const drmDMAFlags_DRM_DMA_BLOCK: drmDMAFlags = 1;
pub const drmDMAFlags_DRM_DMA_WHILE_LOCKED: drmDMAFlags = 2;
pub const drmDMAFlags_DRM_DMA_PRIORITY: drmDMAFlags = 4;
pub const drmDMAFlags_DRM_DMA_WAIT: drmDMAFlags = 16;
pub const drmDMAFlags_DRM_DMA_SMALLER_OK: drmDMAFlags = 32;
pub const drmDMAFlags_DRM_DMA_LARGER_OK: drmDMAFlags = 64;
pub type drmDMAFlags = ::core::ffi::c_uint;
pub const drmBufDescFlags_DRM_PAGE_ALIGN: drmBufDescFlags = 1;
pub const drmBufDescFlags_DRM_AGP_BUFFER: drmBufDescFlags = 2;
pub const drmBufDescFlags_DRM_SG_BUFFER: drmBufDescFlags = 4;
pub const drmBufDescFlags_DRM_FB_BUFFER: drmBufDescFlags = 8;
pub const drmBufDescFlags_DRM_PCI_BUFFER_RO: drmBufDescFlags = 16;
pub type drmBufDescFlags = ::core::ffi::c_uint;
pub const drmLockFlags_DRM_LOCK_READY: drmLockFlags = 1;
pub const drmLockFlags_DRM_LOCK_QUIESCENT: drmLockFlags = 2;
pub const drmLockFlags_DRM_LOCK_FLUSH: drmLockFlags = 4;
pub const drmLockFlags_DRM_LOCK_FLUSH_ALL: drmLockFlags = 8;
pub const drmLockFlags_DRM_HALT_ALL_QUEUES: drmLockFlags = 16;
pub const drmLockFlags_DRM_HALT_CUR_QUEUES: drmLockFlags = 32;
pub type drmLockFlags = ::core::ffi::c_uint;
pub const drm_context_tFlags_DRM_CONTEXT_PRESERVED: drm_context_tFlags = 1;
pub const drm_context_tFlags_DRM_CONTEXT_2DONLY: drm_context_tFlags = 2;
pub type drm_context_tFlags = ::core::ffi::c_uint;
pub type drm_context_tFlagsPtr = *mut drm_context_tFlags;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _drmBufDesc {
    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,
}
#[test]
fn bindgen_test_layout__drmBufDesc() {
    const UNINIT: ::core::mem::MaybeUninit<_drmBufDesc> = ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<_drmBufDesc>(),
        16usize,
        concat!("Size of: ", stringify!(_drmBufDesc))
    );
    assert_eq!(
        ::core::mem::align_of::<_drmBufDesc>(),
        4usize,
        concat!("Alignment of ", stringify!(_drmBufDesc))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).count) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_drmBufDesc),
            "::",
            stringify!(count)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).size) as usize - ptr as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(_drmBufDesc),
            "::",
            stringify!(size)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).low_mark) as usize - ptr as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(_drmBufDesc),
            "::",
            stringify!(low_mark)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).high_mark) as usize - ptr as usize },
        12usize,
        concat!(
            "Offset of field: ",
            stringify!(_drmBufDesc),
            "::",
            stringify!(high_mark)
        )
    );
}
pub type drmBufDesc = _drmBufDesc;
pub type drmBufDescPtr = *mut _drmBufDesc;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _drmBufInfo {
    pub count: ::core::ffi::c_int,
    pub list: drmBufDescPtr,
}
#[test]
fn bindgen_test_layout__drmBufInfo() {
    const UNINIT: ::core::mem::MaybeUninit<_drmBufInfo> = ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<_drmBufInfo>(),
        16usize,
        concat!("Size of: ", stringify!(_drmBufInfo))
    );
    assert_eq!(
        ::core::mem::align_of::<_drmBufInfo>(),
        8usize,
        concat!("Alignment of ", stringify!(_drmBufInfo))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).count) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_drmBufInfo),
            "::",
            stringify!(count)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).list) as usize - ptr as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(_drmBufInfo),
            "::",
            stringify!(list)
        )
    );
}
pub type drmBufInfo = _drmBufInfo;
pub type drmBufInfoPtr = *mut _drmBufInfo;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _drmBuf {
    pub idx: ::core::ffi::c_int,
    pub total: ::core::ffi::c_int,
    pub used: ::core::ffi::c_int,
    pub address: drmAddress,
}
#[test]
fn bindgen_test_layout__drmBuf() {
    const UNINIT: ::core::mem::MaybeUninit<_drmBuf> = ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<_drmBuf>(),
        24usize,
        concat!("Size of: ", stringify!(_drmBuf))
    );
    assert_eq!(
        ::core::mem::align_of::<_drmBuf>(),
        8usize,
        concat!("Alignment of ", stringify!(_drmBuf))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).idx) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_drmBuf),
            "::",
            stringify!(idx)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).total) as usize - ptr as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(_drmBuf),
            "::",
            stringify!(total)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).used) as usize - ptr as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(_drmBuf),
            "::",
            stringify!(used)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).address) as usize - ptr as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(_drmBuf),
            "::",
            stringify!(address)
        )
    );
}
pub type drmBuf = _drmBuf;
pub type drmBufPtr = *mut _drmBuf;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _drmBufMap {
    pub count: ::core::ffi::c_int,
    pub list: drmBufPtr,
}
#[test]
fn bindgen_test_layout__drmBufMap() {
    const UNINIT: ::core::mem::MaybeUninit<_drmBufMap> = ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<_drmBufMap>(),
        16usize,
        concat!("Size of: ", stringify!(_drmBufMap))
    );
    assert_eq!(
        ::core::mem::align_of::<_drmBufMap>(),
        8usize,
        concat!("Alignment of ", stringify!(_drmBufMap))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).count) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_drmBufMap),
            "::",
            stringify!(count)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).list) as usize - ptr as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(_drmBufMap),
            "::",
            stringify!(list)
        )
    );
}
pub type drmBufMap = _drmBufMap;
pub type drmBufMapPtr = *mut _drmBufMap;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _drmLock {
    pub lock: ::core::ffi::c_uint,
    pub padding: [::core::ffi::c_char; 60usize],
}
#[test]
fn bindgen_test_layout__drmLock() {
    const UNINIT: ::core::mem::MaybeUninit<_drmLock> = ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<_drmLock>(),
        64usize,
        concat!("Size of: ", stringify!(_drmLock))
    );
    assert_eq!(
        ::core::mem::align_of::<_drmLock>(),
        4usize,
        concat!("Alignment of ", stringify!(_drmLock))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).lock) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_drmLock),
            "::",
            stringify!(lock)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).padding) as usize - ptr as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(_drmLock),
            "::",
            stringify!(padding)
        )
    );
}
pub type drmLock = _drmLock;
pub type drmLockPtr = *mut _drmLock;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _drmDMAReq {
    pub context: drm_context_t,
    pub send_count: ::core::ffi::c_int,
    pub send_list: *mut ::core::ffi::c_int,
    pub send_sizes: *mut ::core::ffi::c_int,
    pub flags: drmDMAFlags,
    pub request_count: ::core::ffi::c_int,
    pub request_size: ::core::ffi::c_int,
    pub request_list: *mut ::core::ffi::c_int,
    pub request_sizes: *mut ::core::ffi::c_int,
    pub granted_count: ::core::ffi::c_int,
}
#[test]
fn bindgen_test_layout__drmDMAReq() {
    const UNINIT: ::core::mem::MaybeUninit<_drmDMAReq> = ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<_drmDMAReq>(),
        64usize,
        concat!("Size of: ", stringify!(_drmDMAReq))
    );
    assert_eq!(
        ::core::mem::align_of::<_drmDMAReq>(),
        8usize,
        concat!("Alignment of ", stringify!(_drmDMAReq))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).context) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_drmDMAReq),
            "::",
            stringify!(context)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).send_count) as usize - ptr as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(_drmDMAReq),
            "::",
            stringify!(send_count)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).send_list) as usize - ptr as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(_drmDMAReq),
            "::",
            stringify!(send_list)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).send_sizes) as usize - ptr as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(_drmDMAReq),
            "::",
            stringify!(send_sizes)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(_drmDMAReq),
            "::",
            stringify!(flags)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).request_count) as usize - ptr as usize },
        28usize,
        concat!(
            "Offset of field: ",
            stringify!(_drmDMAReq),
            "::",
            stringify!(request_count)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).request_size) as usize - ptr as usize },
        32usize,
        concat!(
            "Offset of field: ",
            stringify!(_drmDMAReq),
            "::",
            stringify!(request_size)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).request_list) as usize - ptr as usize },
        40usize,
        concat!(
            "Offset of field: ",
            stringify!(_drmDMAReq),
            "::",
            stringify!(request_list)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).request_sizes) as usize - ptr as usize },
        48usize,
        concat!(
            "Offset of field: ",
            stringify!(_drmDMAReq),
            "::",
            stringify!(request_sizes)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).granted_count) as usize - ptr as usize },
        56usize,
        concat!(
            "Offset of field: ",
            stringify!(_drmDMAReq),
            "::",
            stringify!(granted_count)
        )
    );
}
pub type drmDMAReq = _drmDMAReq;
pub type drmDMAReqPtr = *mut _drmDMAReq;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _drmRegion {
    pub handle: drm_handle_t,
    pub offset: ::core::ffi::c_uint,
    pub size: drmSize,
    pub map: drmAddress,
}
#[test]
fn bindgen_test_layout__drmRegion() {
    const UNINIT: ::core::mem::MaybeUninit<_drmRegion> = ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<_drmRegion>(),
        24usize,
        concat!("Size of: ", stringify!(_drmRegion))
    );
    assert_eq!(
        ::core::mem::align_of::<_drmRegion>(),
        8usize,
        concat!("Alignment of ", stringify!(_drmRegion))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).handle) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_drmRegion),
            "::",
            stringify!(handle)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).offset) as usize - ptr as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(_drmRegion),
            "::",
            stringify!(offset)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).size) as usize - ptr as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(_drmRegion),
            "::",
            stringify!(size)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).map) as usize - ptr as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(_drmRegion),
            "::",
            stringify!(map)
        )
    );
}
pub type drmRegion = _drmRegion;
pub type drmRegionPtr = *mut _drmRegion;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _drmTextureRegion {
    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,
}
#[test]
fn bindgen_test_layout__drmTextureRegion() {
    const UNINIT: ::core::mem::MaybeUninit<_drmTextureRegion> = ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<_drmTextureRegion>(),
        8usize,
        concat!("Size of: ", stringify!(_drmTextureRegion))
    );
    assert_eq!(
        ::core::mem::align_of::<_drmTextureRegion>(),
        4usize,
        concat!("Alignment of ", stringify!(_drmTextureRegion))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).next) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_drmTextureRegion),
            "::",
            stringify!(next)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).prev) as usize - ptr as usize },
        1usize,
        concat!(
            "Offset of field: ",
            stringify!(_drmTextureRegion),
            "::",
            stringify!(prev)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).in_use) as usize - ptr as usize },
        2usize,
        concat!(
            "Offset of field: ",
            stringify!(_drmTextureRegion),
            "::",
            stringify!(in_use)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).padding) as usize - ptr as usize },
        3usize,
        concat!(
            "Offset of field: ",
            stringify!(_drmTextureRegion),
            "::",
            stringify!(padding)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).age) as usize - ptr as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(_drmTextureRegion),
            "::",
            stringify!(age)
        )
    );
}
pub type drmTextureRegion = _drmTextureRegion;
pub type drmTextureRegionPtr = *mut _drmTextureRegion;
pub const drmVBlankSeqType_DRM_VBLANK_ABSOLUTE: drmVBlankSeqType = 0;
pub const drmVBlankSeqType_DRM_VBLANK_RELATIVE: drmVBlankSeqType = 1;
pub const drmVBlankSeqType_DRM_VBLANK_HIGH_CRTC_MASK: drmVBlankSeqType = 62;
pub const drmVBlankSeqType_DRM_VBLANK_EVENT: drmVBlankSeqType = 67108864;
pub const drmVBlankSeqType_DRM_VBLANK_FLIP: drmVBlankSeqType = 134217728;
pub const drmVBlankSeqType_DRM_VBLANK_NEXTONMISS: drmVBlankSeqType = 268435456;
pub const drmVBlankSeqType_DRM_VBLANK_SECONDARY: drmVBlankSeqType = 536870912;
pub const drmVBlankSeqType_DRM_VBLANK_SIGNAL: drmVBlankSeqType = 1073741824;
pub type drmVBlankSeqType = ::core::ffi::c_uint;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _drmVBlankReq {
    pub type_: drmVBlankSeqType,
    pub sequence: ::core::ffi::c_uint,
    pub signal: ::core::ffi::c_ulong,
}
#[test]
fn bindgen_test_layout__drmVBlankReq() {
    const UNINIT: ::core::mem::MaybeUninit<_drmVBlankReq> = ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<_drmVBlankReq>(),
        16usize,
        concat!("Size of: ", stringify!(_drmVBlankReq))
    );
    assert_eq!(
        ::core::mem::align_of::<_drmVBlankReq>(),
        8usize,
        concat!("Alignment of ", stringify!(_drmVBlankReq))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_drmVBlankReq),
            "::",
            stringify!(type_)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).sequence) as usize - ptr as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(_drmVBlankReq),
            "::",
            stringify!(sequence)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).signal) as usize - ptr as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(_drmVBlankReq),
            "::",
            stringify!(signal)
        )
    );
}
pub type drmVBlankReq = _drmVBlankReq;
pub type drmVBlankReqPtr = *mut _drmVBlankReq;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _drmVBlankReply {
    pub type_: drmVBlankSeqType,
    pub sequence: ::core::ffi::c_uint,
    pub tval_sec: ::core::ffi::c_long,
    pub tval_usec: ::core::ffi::c_long,
}
#[test]
fn bindgen_test_layout__drmVBlankReply() {
    const UNINIT: ::core::mem::MaybeUninit<_drmVBlankReply> = ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<_drmVBlankReply>(),
        24usize,
        concat!("Size of: ", stringify!(_drmVBlankReply))
    );
    assert_eq!(
        ::core::mem::align_of::<_drmVBlankReply>(),
        8usize,
        concat!("Alignment of ", stringify!(_drmVBlankReply))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_drmVBlankReply),
            "::",
            stringify!(type_)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).sequence) as usize - ptr as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(_drmVBlankReply),
            "::",
            stringify!(sequence)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).tval_sec) as usize - ptr as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(_drmVBlankReply),
            "::",
            stringify!(tval_sec)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).tval_usec) as usize - ptr as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(_drmVBlankReply),
            "::",
            stringify!(tval_usec)
        )
    );
}
pub type drmVBlankReply = _drmVBlankReply;
pub type drmVBlankReplyPtr = *mut _drmVBlankReply;
#[repr(C)]
#[derive(Copy, Clone)]
pub union _drmVBlank {
    pub request: drmVBlankReq,
    pub reply: drmVBlankReply,
}
#[test]
fn bindgen_test_layout__drmVBlank() {
    const UNINIT: ::core::mem::MaybeUninit<_drmVBlank> = ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<_drmVBlank>(),
        24usize,
        concat!("Size of: ", stringify!(_drmVBlank))
    );
    assert_eq!(
        ::core::mem::align_of::<_drmVBlank>(),
        8usize,
        concat!("Alignment of ", stringify!(_drmVBlank))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).request) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_drmVBlank),
            "::",
            stringify!(request)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).reply) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_drmVBlank),
            "::",
            stringify!(reply)
        )
    );
}
pub type drmVBlank = _drmVBlank;
pub type drmVBlankPtr = *mut _drmVBlank;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _drmSetVersion {
    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,
}
#[test]
fn bindgen_test_layout__drmSetVersion() {
    const UNINIT: ::core::mem::MaybeUninit<_drmSetVersion> = ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<_drmSetVersion>(),
        16usize,
        concat!("Size of: ", stringify!(_drmSetVersion))
    );
    assert_eq!(
        ::core::mem::align_of::<_drmSetVersion>(),
        4usize,
        concat!("Alignment of ", stringify!(_drmSetVersion))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).drm_di_major) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_drmSetVersion),
            "::",
            stringify!(drm_di_major)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).drm_di_minor) as usize - ptr as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(_drmSetVersion),
            "::",
            stringify!(drm_di_minor)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).drm_dd_major) as usize - ptr as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(_drmSetVersion),
            "::",
            stringify!(drm_dd_major)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).drm_dd_minor) as usize - ptr as usize },
        12usize,
        concat!(
            "Offset of field: ",
            stringify!(_drmSetVersion),
            "::",
            stringify!(drm_dd_minor)
        )
    );
}
pub type drmSetVersion = _drmSetVersion;
pub type drmSetVersionPtr = *mut _drmSetVersion;
extern "C" {
    pub fn drmAvailable() -> ::core::ffi::c_int;
}
extern "C" {
    pub fn drmOpen(
        name: *const ::core::ffi::c_char,
        busid: *const ::core::ffi::c_char,
    ) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn drmOpenWithType(
        name: *const ::core::ffi::c_char,
        busid: *const ::core::ffi::c_char,
        type_: ::core::ffi::c_int,
    ) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn drmOpenControl(minor: ::core::ffi::c_int) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn drmOpenRender(minor: ::core::ffi::c_int) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn drmClose(fd: ::core::ffi::c_int) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn drmGetVersion(fd: ::core::ffi::c_int) -> drmVersionPtr;
}
extern "C" {
    pub fn drmGetLibVersion(fd: ::core::ffi::c_int) -> drmVersionPtr;
}
extern "C" {
    pub fn drmGetCap(
        fd: ::core::ffi::c_int,
        capability: u64,
        value: *mut u64,
    ) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn drmFreeVersion(arg1: drmVersionPtr);
}
extern "C" {
    pub fn drmGetMagic(fd: ::core::ffi::c_int, magic: *mut drm_magic_t) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn drmGetBusid(fd: ::core::ffi::c_int) -> *mut ::core::ffi::c_char;
}
extern "C" {
    pub fn drmGetInterruptFromBusID(
        fd: ::core::ffi::c_int,
        busnum: ::core::ffi::c_int,
        devnum: ::core::ffi::c_int,
        funcnum: ::core::ffi::c_int,
    ) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn drmGetMap(
        fd: ::core::ffi::c_int,
        idx: ::core::ffi::c_int,
        offset: *mut drm_handle_t,
        size: *mut drmSize,
        type_: *mut drmMapType,
        flags: *mut drmMapFlags,
        handle: *mut drm_handle_t,
        mtrr: *mut ::core::ffi::c_int,
    ) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn drmGetClient(
        fd: ::core::ffi::c_int,
        idx: ::core::ffi::c_int,
        auth: *mut ::core::ffi::c_int,
        pid: *mut ::core::ffi::c_int,
        uid: *mut ::core::ffi::c_int,
        magic: *mut ::core::ffi::c_ulong,
        iocs: *mut ::core::ffi::c_ulong,
    ) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn drmGetStats(fd: ::core::ffi::c_int, stats: *mut drmStatsT) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn drmSetInterfaceVersion(
        fd: ::core::ffi::c_int,
        version: *mut drmSetVersion,
    ) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn drmCommandNone(
        fd: ::core::ffi::c_int,
        drmCommandIndex: ::core::ffi::c_ulong,
    ) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn drmCommandRead(
        fd: ::core::ffi::c_int,
        drmCommandIndex: ::core::ffi::c_ulong,
        data: *mut ::core::ffi::c_void,
        size: ::core::ffi::c_ulong,
    ) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn drmCommandWrite(
        fd: ::core::ffi::c_int,
        drmCommandIndex: ::core::ffi::c_ulong,
        data: *mut ::core::ffi::c_void,
        size: ::core::ffi::c_ulong,
    ) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn drmCommandWriteRead(
        fd: ::core::ffi::c_int,
        drmCommandIndex: ::core::ffi::c_ulong,
        data: *mut ::core::ffi::c_void,
        size: ::core::ffi::c_ulong,
    ) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn drmFreeBusid(busid: *const ::core::ffi::c_char);
}
extern "C" {
    pub fn drmSetBusid(
        fd: ::core::ffi::c_int,
        busid: *const ::core::ffi::c_char,
    ) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn drmAuthMagic(fd: ::core::ffi::c_int, magic: drm_magic_t) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn drmAddMap(
        fd: ::core::ffi::c_int,
        offset: drm_handle_t,
        size: drmSize,
        type_: drmMapType,
        flags: drmMapFlags,
        handle: *mut drm_handle_t,
    ) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn drmRmMap(fd: ::core::ffi::c_int, handle: drm_handle_t) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn drmAddContextPrivateMapping(
        fd: ::core::ffi::c_int,
        ctx_id: drm_context_t,
        handle: drm_handle_t,
    ) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn drmAddBufs(
        fd: ::core::ffi::c_int,
        count: ::core::ffi::c_int,
        size: ::core::ffi::c_int,
        flags: drmBufDescFlags,
        agp_offset: ::core::ffi::c_int,
    ) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn drmMarkBufs(fd: ::core::ffi::c_int, low: f64, high: f64) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn drmCreateContext(
        fd: ::core::ffi::c_int,
        handle: *mut drm_context_t,
    ) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn drmSetContextFlags(
        fd: ::core::ffi::c_int,
        context: drm_context_t,
        flags: drm_context_tFlags,
    ) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn drmGetContextFlags(
        fd: ::core::ffi::c_int,
        context: drm_context_t,
        flags: drm_context_tFlagsPtr,
    ) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn drmAddContextTag(
        fd: ::core::ffi::c_int,
        context: drm_context_t,
        tag: *mut ::core::ffi::c_void,
    ) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn drmDelContextTag(fd: ::core::ffi::c_int, context: drm_context_t) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn drmGetContextTag(
        fd: ::core::ffi::c_int,
        context: drm_context_t,
    ) -> *mut ::core::ffi::c_void;
}
extern "C" {
    pub fn drmGetReservedContextList(
        fd: ::core::ffi::c_int,
        count: *mut ::core::ffi::c_int,
    ) -> *mut drm_context_t;
}
extern "C" {
    pub fn drmFreeReservedContextList(arg1: *mut drm_context_t);
}
extern "C" {
    pub fn drmSwitchToContext(fd: ::core::ffi::c_int, context: drm_context_t)
        -> ::core::ffi::c_int;
}
extern "C" {
    pub fn drmDestroyContext(fd: ::core::ffi::c_int, handle: drm_context_t) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn drmCreateDrawable(
        fd: ::core::ffi::c_int,
        handle: *mut drm_drawable_t,
    ) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn drmDestroyDrawable(fd: ::core::ffi::c_int, handle: drm_drawable_t)
        -> ::core::ffi::c_int;
}
extern "C" {
    pub fn drmUpdateDrawableInfo(
        fd: ::core::ffi::c_int,
        handle: drm_drawable_t,
        type_: drm_drawable_info_type_t,
        num: ::core::ffi::c_uint,
        data: *mut ::core::ffi::c_void,
    ) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn drmCtlInstHandler(fd: ::core::ffi::c_int, irq: ::core::ffi::c_int)
        -> ::core::ffi::c_int;
}
extern "C" {
    pub fn drmCtlUninstHandler(fd: ::core::ffi::c_int) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn drmSetClientCap(
        fd: ::core::ffi::c_int,
        capability: u64,
        value: u64,
    ) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn drmCrtcGetSequence(
        fd: ::core::ffi::c_int,
        crtcId: u32,
        sequence: *mut u64,
        ns: *mut u64,
    ) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn drmCrtcQueueSequence(
        fd: ::core::ffi::c_int,
        crtcId: u32,
        flags: u32,
        sequence: u64,
        sequence_queued: *mut u64,
        user_data: u64,
    ) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn drmMap(
        fd: ::core::ffi::c_int,
        handle: drm_handle_t,
        size: drmSize,
        address: drmAddressPtr,
    ) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn drmUnmap(address: drmAddress, size: drmSize) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn drmGetBufInfo(fd: ::core::ffi::c_int) -> drmBufInfoPtr;
}
extern "C" {
    pub fn drmMapBufs(fd: ::core::ffi::c_int) -> drmBufMapPtr;
}
extern "C" {
    pub fn drmUnmapBufs(bufs: drmBufMapPtr) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn drmDMA(fd: ::core::ffi::c_int, request: drmDMAReqPtr) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn drmFreeBufs(
        fd: ::core::ffi::c_int,
        count: ::core::ffi::c_int,
        list: *mut ::core::ffi::c_int,
    ) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn drmGetLock(
        fd: ::core::ffi::c_int,
        context: drm_context_t,
        flags: drmLockFlags,
    ) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn drmUnlock(fd: ::core::ffi::c_int, context: drm_context_t) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn drmFinish(
        fd: ::core::ffi::c_int,
        context: ::core::ffi::c_int,
        flags: drmLockFlags,
    ) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn drmGetContextPrivateMapping(
        fd: ::core::ffi::c_int,
        ctx_id: drm_context_t,
        handle: *mut drm_handle_t,
    ) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn drmAgpAcquire(fd: ::core::ffi::c_int) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn drmAgpRelease(fd: ::core::ffi::c_int) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn drmAgpEnable(fd: ::core::ffi::c_int, mode: ::core::ffi::c_ulong) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn drmAgpAlloc(
        fd: ::core::ffi::c_int,
        size: ::core::ffi::c_ulong,
        type_: ::core::ffi::c_ulong,
        address: *mut ::core::ffi::c_ulong,
        handle: *mut drm_handle_t,
    ) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn drmAgpFree(fd: ::core::ffi::c_int, handle: drm_handle_t) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn drmAgpBind(
        fd: ::core::ffi::c_int,
        handle: drm_handle_t,
        offset: ::core::ffi::c_ulong,
    ) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn drmAgpUnbind(fd: ::core::ffi::c_int, handle: drm_handle_t) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn drmAgpVersionMajor(fd: ::core::ffi::c_int) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn drmAgpVersionMinor(fd: ::core::ffi::c_int) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn drmAgpGetMode(fd: ::core::ffi::c_int) -> ::core::ffi::c_ulong;
}
extern "C" {
    pub fn drmAgpBase(fd: ::core::ffi::c_int) -> ::core::ffi::c_ulong;
}
extern "C" {
    pub fn drmAgpSize(fd: ::core::ffi::c_int) -> ::core::ffi::c_ulong;
}
extern "C" {
    pub fn drmAgpMemoryUsed(fd: ::core::ffi::c_int) -> ::core::ffi::c_ulong;
}
extern "C" {
    pub fn drmAgpMemoryAvail(fd: ::core::ffi::c_int) -> ::core::ffi::c_ulong;
}
extern "C" {
    pub fn drmAgpVendorId(fd: ::core::ffi::c_int) -> ::core::ffi::c_uint;
}
extern "C" {
    pub fn drmAgpDeviceId(fd: ::core::ffi::c_int) -> ::core::ffi::c_uint;
}
extern "C" {
    pub fn drmScatterGatherAlloc(
        fd: ::core::ffi::c_int,
        size: ::core::ffi::c_ulong,
        handle: *mut drm_handle_t,
    ) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn drmScatterGatherFree(fd: ::core::ffi::c_int, handle: drm_handle_t)
        -> ::core::ffi::c_int;
}
extern "C" {
    pub fn drmWaitVBlank(fd: ::core::ffi::c_int, vbl: drmVBlankPtr) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn drmSetServerInfo(info: drmServerInfoPtr);
}
extern "C" {
    pub fn drmError(
        err: ::core::ffi::c_int,
        label: *const ::core::ffi::c_char,
    ) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn drmMalloc(size: ::core::ffi::c_int) -> *mut ::core::ffi::c_void;
}
extern "C" {
    pub fn drmFree(pt: *mut ::core::ffi::c_void);
}
extern "C" {
    pub fn drmHashCreate() -> *mut ::core::ffi::c_void;
}
extern "C" {
    pub fn drmHashDestroy(t: *mut ::core::ffi::c_void) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn drmHashLookup(
        t: *mut ::core::ffi::c_void,
        key: ::core::ffi::c_ulong,
        value: *mut *mut ::core::ffi::c_void,
    ) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn drmHashInsert(
        t: *mut ::core::ffi::c_void,
        key: ::core::ffi::c_ulong,
        value: *mut ::core::ffi::c_void,
    ) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn drmHashDelete(
        t: *mut ::core::ffi::c_void,
        key: ::core::ffi::c_ulong,
    ) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn drmHashFirst(
        t: *mut ::core::ffi::c_void,
        key: *mut ::core::ffi::c_ulong,
        value: *mut *mut ::core::ffi::c_void,
    ) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn drmHashNext(
        t: *mut ::core::ffi::c_void,
        key: *mut ::core::ffi::c_ulong,
        value: *mut *mut ::core::ffi::c_void,
    ) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn drmRandomCreate(seed: ::core::ffi::c_ulong) -> *mut ::core::ffi::c_void;
}
extern "C" {
    pub fn drmRandomDestroy(state: *mut ::core::ffi::c_void) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn drmRandom(state: *mut ::core::ffi::c_void) -> ::core::ffi::c_ulong;
}
extern "C" {
    pub fn drmRandomDouble(state: *mut ::core::ffi::c_void) -> f64;
}
extern "C" {
    pub fn drmSLCreate() -> *mut ::core::ffi::c_void;
}
extern "C" {
    pub fn drmSLDestroy(l: *mut ::core::ffi::c_void) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn drmSLLookup(
        l: *mut ::core::ffi::c_void,
        key: ::core::ffi::c_ulong,
        value: *mut *mut ::core::ffi::c_void,
    ) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn drmSLInsert(
        l: *mut ::core::ffi::c_void,
        key: ::core::ffi::c_ulong,
        value: *mut ::core::ffi::c_void,
    ) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn drmSLDelete(
        l: *mut ::core::ffi::c_void,
        key: ::core::ffi::c_ulong,
    ) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn drmSLNext(
        l: *mut ::core::ffi::c_void,
        key: *mut ::core::ffi::c_ulong,
        value: *mut *mut ::core::ffi::c_void,
    ) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn drmSLFirst(
        l: *mut ::core::ffi::c_void,
        key: *mut ::core::ffi::c_ulong,
        value: *mut *mut ::core::ffi::c_void,
    ) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn drmSLDump(l: *mut ::core::ffi::c_void);
}
extern "C" {
    pub fn drmSLLookupNeighbors(
        l: *mut ::core::ffi::c_void,
        key: ::core::ffi::c_ulong,
        prev_key: *mut ::core::ffi::c_ulong,
        prev_value: *mut *mut ::core::ffi::c_void,
        next_key: *mut ::core::ffi::c_ulong,
        next_value: *mut *mut ::core::ffi::c_void,
    ) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn drmOpenOnce(
        unused: *mut ::core::ffi::c_void,
        BusID: *const ::core::ffi::c_char,
        newlyopened: *mut ::core::ffi::c_int,
    ) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn drmOpenOnceWithType(
        BusID: *const ::core::ffi::c_char,
        newlyopened: *mut ::core::ffi::c_int,
        type_: ::core::ffi::c_int,
    ) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn drmCloseOnce(fd: ::core::ffi::c_int);
}
extern "C" {
    pub fn drmMsg(format: *const ::core::ffi::c_char, ...);
}
extern "C" {
    pub fn drmSetMaster(fd: ::core::ffi::c_int) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn drmDropMaster(fd: ::core::ffi::c_int) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn drmIsMaster(fd: ::core::ffi::c_int) -> ::core::ffi::c_int;
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _drmEventContext {
    pub version: ::core::ffi::c_int,
    pub vblank_handler: ::core::option::Option<
        unsafe extern "C" fn(
            fd: ::core::ffi::c_int,
            sequence: ::core::ffi::c_uint,
            tv_sec: ::core::ffi::c_uint,
            tv_usec: ::core::ffi::c_uint,
            user_data: *mut ::core::ffi::c_void,
        ),
    >,
    pub page_flip_handler: ::core::option::Option<
        unsafe extern "C" fn(
            fd: ::core::ffi::c_int,
            sequence: ::core::ffi::c_uint,
            tv_sec: ::core::ffi::c_uint,
            tv_usec: ::core::ffi::c_uint,
            user_data: *mut ::core::ffi::c_void,
        ),
    >,
    pub page_flip_handler2: ::core::option::Option<
        unsafe extern "C" fn(
            fd: ::core::ffi::c_int,
            sequence: ::core::ffi::c_uint,
            tv_sec: ::core::ffi::c_uint,
            tv_usec: ::core::ffi::c_uint,
            crtc_id: ::core::ffi::c_uint,
            user_data: *mut ::core::ffi::c_void,
        ),
    >,
    pub sequence_handler: ::core::option::Option<
        unsafe extern "C" fn(fd: ::core::ffi::c_int, sequence: u64, ns: u64, user_data: u64),
    >,
}
#[test]
fn bindgen_test_layout__drmEventContext() {
    const UNINIT: ::core::mem::MaybeUninit<_drmEventContext> = ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<_drmEventContext>(),
        40usize,
        concat!("Size of: ", stringify!(_drmEventContext))
    );
    assert_eq!(
        ::core::mem::align_of::<_drmEventContext>(),
        8usize,
        concat!("Alignment of ", stringify!(_drmEventContext))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).version) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_drmEventContext),
            "::",
            stringify!(version)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).vblank_handler) as usize - ptr as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(_drmEventContext),
            "::",
            stringify!(vblank_handler)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).page_flip_handler) as usize - ptr as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(_drmEventContext),
            "::",
            stringify!(page_flip_handler)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).page_flip_handler2) as usize - ptr as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(_drmEventContext),
            "::",
            stringify!(page_flip_handler2)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).sequence_handler) as usize - ptr as usize },
        32usize,
        concat!(
            "Offset of field: ",
            stringify!(_drmEventContext),
            "::",
            stringify!(sequence_handler)
        )
    );
}
pub type drmEventContext = _drmEventContext;
pub type drmEventContextPtr = *mut _drmEventContext;
extern "C" {
    pub fn drmHandleEvent(fd: ::core::ffi::c_int, evctx: drmEventContextPtr) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn drmGetDeviceNameFromFd(fd: ::core::ffi::c_int) -> *mut ::core::ffi::c_char;
}
extern "C" {
    pub fn drmGetDeviceNameFromFd2(fd: ::core::ffi::c_int) -> *mut ::core::ffi::c_char;
}
extern "C" {
    pub fn drmGetNodeTypeFromFd(fd: ::core::ffi::c_int) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn drmPrimeHandleToFD(
        fd: ::core::ffi::c_int,
        handle: u32,
        flags: u32,
        prime_fd: *mut ::core::ffi::c_int,
    ) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn drmPrimeFDToHandle(
        fd: ::core::ffi::c_int,
        prime_fd: ::core::ffi::c_int,
        handle: *mut u32,
    ) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn drmCloseBufferHandle(fd: ::core::ffi::c_int, handle: u32) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn drmGetPrimaryDeviceNameFromFd(fd: ::core::ffi::c_int) -> *mut ::core::ffi::c_char;
}
extern "C" {
    pub fn drmGetRenderDeviceNameFromFd(fd: ::core::ffi::c_int) -> *mut ::core::ffi::c_char;
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _drmPciBusInfo {
    pub domain: u16,
    pub bus: u8,
    pub dev: u8,
    pub func: u8,
}
#[test]
fn bindgen_test_layout__drmPciBusInfo() {
    const UNINIT: ::core::mem::MaybeUninit<_drmPciBusInfo> = ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<_drmPciBusInfo>(),
        6usize,
        concat!("Size of: ", stringify!(_drmPciBusInfo))
    );
    assert_eq!(
        ::core::mem::align_of::<_drmPciBusInfo>(),
        2usize,
        concat!("Alignment of ", stringify!(_drmPciBusInfo))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).domain) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_drmPciBusInfo),
            "::",
            stringify!(domain)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).bus) as usize - ptr as usize },
        2usize,
        concat!(
            "Offset of field: ",
            stringify!(_drmPciBusInfo),
            "::",
            stringify!(bus)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).dev) as usize - ptr as usize },
        3usize,
        concat!(
            "Offset of field: ",
            stringify!(_drmPciBusInfo),
            "::",
            stringify!(dev)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).func) as usize - ptr as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(_drmPciBusInfo),
            "::",
            stringify!(func)
        )
    );
}
pub type drmPciBusInfo = _drmPciBusInfo;
pub type drmPciBusInfoPtr = *mut _drmPciBusInfo;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _drmPciDeviceInfo {
    pub vendor_id: u16,
    pub device_id: u16,
    pub subvendor_id: u16,
    pub subdevice_id: u16,
    pub revision_id: u8,
}
#[test]
fn bindgen_test_layout__drmPciDeviceInfo() {
    const UNINIT: ::core::mem::MaybeUninit<_drmPciDeviceInfo> = ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<_drmPciDeviceInfo>(),
        10usize,
        concat!("Size of: ", stringify!(_drmPciDeviceInfo))
    );
    assert_eq!(
        ::core::mem::align_of::<_drmPciDeviceInfo>(),
        2usize,
        concat!("Alignment of ", stringify!(_drmPciDeviceInfo))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).vendor_id) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_drmPciDeviceInfo),
            "::",
            stringify!(vendor_id)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).device_id) as usize - ptr as usize },
        2usize,
        concat!(
            "Offset of field: ",
            stringify!(_drmPciDeviceInfo),
            "::",
            stringify!(device_id)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).subvendor_id) as usize - ptr as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(_drmPciDeviceInfo),
            "::",
            stringify!(subvendor_id)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).subdevice_id) as usize - ptr as usize },
        6usize,
        concat!(
            "Offset of field: ",
            stringify!(_drmPciDeviceInfo),
            "::",
            stringify!(subdevice_id)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).revision_id) as usize - ptr as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(_drmPciDeviceInfo),
            "::",
            stringify!(revision_id)
        )
    );
}
pub type drmPciDeviceInfo = _drmPciDeviceInfo;
pub type drmPciDeviceInfoPtr = *mut _drmPciDeviceInfo;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _drmUsbBusInfo {
    pub bus: u8,
    pub dev: u8,
}
#[test]
fn bindgen_test_layout__drmUsbBusInfo() {
    const UNINIT: ::core::mem::MaybeUninit<_drmUsbBusInfo> = ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<_drmUsbBusInfo>(),
        2usize,
        concat!("Size of: ", stringify!(_drmUsbBusInfo))
    );
    assert_eq!(
        ::core::mem::align_of::<_drmUsbBusInfo>(),
        1usize,
        concat!("Alignment of ", stringify!(_drmUsbBusInfo))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).bus) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_drmUsbBusInfo),
            "::",
            stringify!(bus)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).dev) as usize - ptr as usize },
        1usize,
        concat!(
            "Offset of field: ",
            stringify!(_drmUsbBusInfo),
            "::",
            stringify!(dev)
        )
    );
}
pub type drmUsbBusInfo = _drmUsbBusInfo;
pub type drmUsbBusInfoPtr = *mut _drmUsbBusInfo;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _drmUsbDeviceInfo {
    pub vendor: u16,
    pub product: u16,
}
#[test]
fn bindgen_test_layout__drmUsbDeviceInfo() {
    const UNINIT: ::core::mem::MaybeUninit<_drmUsbDeviceInfo> = ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<_drmUsbDeviceInfo>(),
        4usize,
        concat!("Size of: ", stringify!(_drmUsbDeviceInfo))
    );
    assert_eq!(
        ::core::mem::align_of::<_drmUsbDeviceInfo>(),
        2usize,
        concat!("Alignment of ", stringify!(_drmUsbDeviceInfo))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).vendor) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_drmUsbDeviceInfo),
            "::",
            stringify!(vendor)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).product) as usize - ptr as usize },
        2usize,
        concat!(
            "Offset of field: ",
            stringify!(_drmUsbDeviceInfo),
            "::",
            stringify!(product)
        )
    );
}
pub type drmUsbDeviceInfo = _drmUsbDeviceInfo;
pub type drmUsbDeviceInfoPtr = *mut _drmUsbDeviceInfo;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _drmPlatformBusInfo {
    pub fullname: [::core::ffi::c_char; 512usize],
}
#[test]
fn bindgen_test_layout__drmPlatformBusInfo() {
    const UNINIT: ::core::mem::MaybeUninit<_drmPlatformBusInfo> =
        ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<_drmPlatformBusInfo>(),
        512usize,
        concat!("Size of: ", stringify!(_drmPlatformBusInfo))
    );
    assert_eq!(
        ::core::mem::align_of::<_drmPlatformBusInfo>(),
        1usize,
        concat!("Alignment of ", stringify!(_drmPlatformBusInfo))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).fullname) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_drmPlatformBusInfo),
            "::",
            stringify!(fullname)
        )
    );
}
pub type drmPlatformBusInfo = _drmPlatformBusInfo;
pub type drmPlatformBusInfoPtr = *mut _drmPlatformBusInfo;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _drmPlatformDeviceInfo {
    pub compatible: *mut *mut ::core::ffi::c_char,
}
#[test]
fn bindgen_test_layout__drmPlatformDeviceInfo() {
    const UNINIT: ::core::mem::MaybeUninit<_drmPlatformDeviceInfo> =
        ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<_drmPlatformDeviceInfo>(),
        8usize,
        concat!("Size of: ", stringify!(_drmPlatformDeviceInfo))
    );
    assert_eq!(
        ::core::mem::align_of::<_drmPlatformDeviceInfo>(),
        8usize,
        concat!("Alignment of ", stringify!(_drmPlatformDeviceInfo))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).compatible) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_drmPlatformDeviceInfo),
            "::",
            stringify!(compatible)
        )
    );
}
pub type drmPlatformDeviceInfo = _drmPlatformDeviceInfo;
pub type drmPlatformDeviceInfoPtr = *mut _drmPlatformDeviceInfo;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _drmHost1xBusInfo {
    pub fullname: [::core::ffi::c_char; 512usize],
}
#[test]
fn bindgen_test_layout__drmHost1xBusInfo() {
    const UNINIT: ::core::mem::MaybeUninit<_drmHost1xBusInfo> = ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<_drmHost1xBusInfo>(),
        512usize,
        concat!("Size of: ", stringify!(_drmHost1xBusInfo))
    );
    assert_eq!(
        ::core::mem::align_of::<_drmHost1xBusInfo>(),
        1usize,
        concat!("Alignment of ", stringify!(_drmHost1xBusInfo))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).fullname) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_drmHost1xBusInfo),
            "::",
            stringify!(fullname)
        )
    );
}
pub type drmHost1xBusInfo = _drmHost1xBusInfo;
pub type drmHost1xBusInfoPtr = *mut _drmHost1xBusInfo;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _drmHost1xDeviceInfo {
    pub compatible: *mut *mut ::core::ffi::c_char,
}
#[test]
fn bindgen_test_layout__drmHost1xDeviceInfo() {
    const UNINIT: ::core::mem::MaybeUninit<_drmHost1xDeviceInfo> =
        ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<_drmHost1xDeviceInfo>(),
        8usize,
        concat!("Size of: ", stringify!(_drmHost1xDeviceInfo))
    );
    assert_eq!(
        ::core::mem::align_of::<_drmHost1xDeviceInfo>(),
        8usize,
        concat!("Alignment of ", stringify!(_drmHost1xDeviceInfo))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).compatible) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_drmHost1xDeviceInfo),
            "::",
            stringify!(compatible)
        )
    );
}
pub type drmHost1xDeviceInfo = _drmHost1xDeviceInfo;
pub type drmHost1xDeviceInfoPtr = *mut _drmHost1xDeviceInfo;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct _drmDevice {
    pub nodes: *mut *mut ::core::ffi::c_char,
    pub available_nodes: ::core::ffi::c_int,
    pub bustype: ::core::ffi::c_int,
    pub businfo: _drmDevice__bindgen_ty_1,
    pub deviceinfo: _drmDevice__bindgen_ty_2,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union _drmDevice__bindgen_ty_1 {
    pub pci: drmPciBusInfoPtr,
    pub usb: drmUsbBusInfoPtr,
    pub platform: drmPlatformBusInfoPtr,
    pub host1x: drmHost1xBusInfoPtr,
}
#[test]
fn bindgen_test_layout__drmDevice__bindgen_ty_1() {
    const UNINIT: ::core::mem::MaybeUninit<_drmDevice__bindgen_ty_1> =
        ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<_drmDevice__bindgen_ty_1>(),
        8usize,
        concat!("Size of: ", stringify!(_drmDevice__bindgen_ty_1))
    );
    assert_eq!(
        ::core::mem::align_of::<_drmDevice__bindgen_ty_1>(),
        8usize,
        concat!("Alignment of ", stringify!(_drmDevice__bindgen_ty_1))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).pci) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_drmDevice__bindgen_ty_1),
            "::",
            stringify!(pci)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).usb) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_drmDevice__bindgen_ty_1),
            "::",
            stringify!(usb)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).platform) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_drmDevice__bindgen_ty_1),
            "::",
            stringify!(platform)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).host1x) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_drmDevice__bindgen_ty_1),
            "::",
            stringify!(host1x)
        )
    );
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union _drmDevice__bindgen_ty_2 {
    pub pci: drmPciDeviceInfoPtr,
    pub usb: drmUsbDeviceInfoPtr,
    pub platform: drmPlatformDeviceInfoPtr,
    pub host1x: drmHost1xDeviceInfoPtr,
}
#[test]
fn bindgen_test_layout__drmDevice__bindgen_ty_2() {
    const UNINIT: ::core::mem::MaybeUninit<_drmDevice__bindgen_ty_2> =
        ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<_drmDevice__bindgen_ty_2>(),
        8usize,
        concat!("Size of: ", stringify!(_drmDevice__bindgen_ty_2))
    );
    assert_eq!(
        ::core::mem::align_of::<_drmDevice__bindgen_ty_2>(),
        8usize,
        concat!("Alignment of ", stringify!(_drmDevice__bindgen_ty_2))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).pci) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_drmDevice__bindgen_ty_2),
            "::",
            stringify!(pci)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).usb) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_drmDevice__bindgen_ty_2),
            "::",
            stringify!(usb)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).platform) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_drmDevice__bindgen_ty_2),
            "::",
            stringify!(platform)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).host1x) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_drmDevice__bindgen_ty_2),
            "::",
            stringify!(host1x)
        )
    );
}
#[test]
fn bindgen_test_layout__drmDevice() {
    const UNINIT: ::core::mem::MaybeUninit<_drmDevice> = ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<_drmDevice>(),
        32usize,
        concat!("Size of: ", stringify!(_drmDevice))
    );
    assert_eq!(
        ::core::mem::align_of::<_drmDevice>(),
        8usize,
        concat!("Alignment of ", stringify!(_drmDevice))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).nodes) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_drmDevice),
            "::",
            stringify!(nodes)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).available_nodes) as usize - ptr as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(_drmDevice),
            "::",
            stringify!(available_nodes)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).bustype) as usize - ptr as usize },
        12usize,
        concat!(
            "Offset of field: ",
            stringify!(_drmDevice),
            "::",
            stringify!(bustype)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).businfo) as usize - ptr as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(_drmDevice),
            "::",
            stringify!(businfo)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).deviceinfo) as usize - ptr as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(_drmDevice),
            "::",
            stringify!(deviceinfo)
        )
    );
}
pub type drmDevice = _drmDevice;
pub type drmDevicePtr = *mut _drmDevice;
extern "C" {
    pub fn drmGetDevice(fd: ::core::ffi::c_int, device: *mut drmDevicePtr) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn drmFreeDevice(device: *mut drmDevicePtr);
}
extern "C" {
    pub fn drmGetDevices(
        devices: *mut drmDevicePtr,
        max_devices: ::core::ffi::c_int,
    ) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn drmFreeDevices(devices: *mut drmDevicePtr, count: ::core::ffi::c_int);
}
extern "C" {
    pub fn drmGetDevice2(
        fd: ::core::ffi::c_int,
        flags: u32,
        device: *mut drmDevicePtr,
    ) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn drmGetDevices2(
        flags: u32,
        devices: *mut drmDevicePtr,
        max_devices: ::core::ffi::c_int,
    ) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn drmGetDeviceFromDevId(
        dev_id: dev_t,
        flags: u32,
        device: *mut drmDevicePtr,
    ) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn drmGetNodeTypeFromDevId(devid: dev_t) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn drmDevicesEqual(a: drmDevicePtr, b: drmDevicePtr) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn drmSyncobjCreate(
        fd: ::core::ffi::c_int,
        flags: u32,
        handle: *mut u32,
    ) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn drmSyncobjDestroy(fd: ::core::ffi::c_int, handle: u32) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn drmSyncobjHandleToFD(
        fd: ::core::ffi::c_int,
        handle: u32,
        obj_fd: *mut ::core::ffi::c_int,
    ) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn drmSyncobjFDToHandle(
        fd: ::core::ffi::c_int,
        obj_fd: ::core::ffi::c_int,
        handle: *mut u32,
    ) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn drmSyncobjImportSyncFile(
        fd: ::core::ffi::c_int,
        handle: u32,
        sync_file_fd: ::core::ffi::c_int,
    ) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn drmSyncobjExportSyncFile(
        fd: ::core::ffi::c_int,
        handle: u32,
        sync_file_fd: *mut ::core::ffi::c_int,
    ) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn drmSyncobjWait(
        fd: ::core::ffi::c_int,
        handles: *mut u32,
        num_handles: ::core::ffi::c_uint,
        timeout_nsec: i64,
        flags: ::core::ffi::c_uint,
        first_signaled: *mut u32,
    ) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn drmSyncobjReset(
        fd: ::core::ffi::c_int,
        handles: *const u32,
        handle_count: u32,
    ) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn drmSyncobjSignal(
        fd: ::core::ffi::c_int,
        handles: *const u32,
        handle_count: u32,
    ) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn drmSyncobjTimelineSignal(
        fd: ::core::ffi::c_int,
        handles: *const u32,
        points: *mut u64,
        handle_count: u32,
    ) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn drmSyncobjTimelineWait(
        fd: ::core::ffi::c_int,
        handles: *mut u32,
        points: *mut u64,
        num_handles: ::core::ffi::c_uint,
        timeout_nsec: i64,
        flags: ::core::ffi::c_uint,
        first_signaled: *mut u32,
    ) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn drmSyncobjQuery(
        fd: ::core::ffi::c_int,
        handles: *mut u32,
        points: *mut u64,
        handle_count: u32,
    ) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn drmSyncobjQuery2(
        fd: ::core::ffi::c_int,
        handles: *mut u32,
        points: *mut u64,
        handle_count: u32,
        flags: u32,
    ) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn drmSyncobjTransfer(
        fd: ::core::ffi::c_int,
        dst_handle: u32,
        dst_point: u64,
        src_handle: u32,
        src_point: u64,
        flags: u32,
    ) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn drmSyncobjEventfd(
        fd: ::core::ffi::c_int,
        handle: u32,
        point: u64,
        ev_fd: ::core::ffi::c_int,
        flags: u32,
    ) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn drmGetFormatModifierVendor(modifier: u64) -> *mut ::core::ffi::c_char;
}
extern "C" {
    pub fn drmGetFormatModifierName(modifier: u64) -> *mut ::core::ffi::c_char;
}
extern "C" {
    pub fn drmGetFormatName(format: u32) -> *mut ::core::ffi::c_char;
}
pub type wchar_t = ::core::ffi::c_int;
#[repr(C)]
#[repr(align(16))]
#[derive(Debug, Copy, Clone)]
pub struct max_align_t {
    pub __clang_max_align_nonce1: ::core::ffi::c_longlong,
    pub __bindgen_padding_0: u64,
    pub __clang_max_align_nonce2: u128,
}
#[test]
fn bindgen_test_layout_max_align_t() {
    const UNINIT: ::core::mem::MaybeUninit<max_align_t> = ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<max_align_t>(),
        32usize,
        concat!("Size of: ", stringify!(max_align_t))
    );
    assert_eq!(
        ::core::mem::align_of::<max_align_t>(),
        16usize,
        concat!("Alignment of ", stringify!(max_align_t))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).__clang_max_align_nonce1) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(max_align_t),
            "::",
            stringify!(__clang_max_align_nonce1)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).__clang_max_align_nonce2) as usize - ptr as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(max_align_t),
            "::",
            stringify!(__clang_max_align_nonce2)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _drmModeRes {
    pub count_fbs: ::core::ffi::c_int,
    pub fbs: *mut u32,
    pub count_crtcs: ::core::ffi::c_int,
    pub crtcs: *mut u32,
    pub count_connectors: ::core::ffi::c_int,
    pub connectors: *mut u32,
    pub count_encoders: ::core::ffi::c_int,
    pub encoders: *mut u32,
    pub min_width: u32,
    pub max_width: u32,
    pub min_height: u32,
    pub max_height: u32,
}
#[test]
fn bindgen_test_layout__drmModeRes() {
    const UNINIT: ::core::mem::MaybeUninit<_drmModeRes> = ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<_drmModeRes>(),
        80usize,
        concat!("Size of: ", stringify!(_drmModeRes))
    );
    assert_eq!(
        ::core::mem::align_of::<_drmModeRes>(),
        8usize,
        concat!("Alignment of ", stringify!(_drmModeRes))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).count_fbs) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_drmModeRes),
            "::",
            stringify!(count_fbs)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).fbs) as usize - ptr as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(_drmModeRes),
            "::",
            stringify!(fbs)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).count_crtcs) as usize - ptr as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(_drmModeRes),
            "::",
            stringify!(count_crtcs)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).crtcs) as usize - ptr as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(_drmModeRes),
            "::",
            stringify!(crtcs)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).count_connectors) as usize - ptr as usize },
        32usize,
        concat!(
            "Offset of field: ",
            stringify!(_drmModeRes),
            "::",
            stringify!(count_connectors)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).connectors) as usize - ptr as usize },
        40usize,
        concat!(
            "Offset of field: ",
            stringify!(_drmModeRes),
            "::",
            stringify!(connectors)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).count_encoders) as usize - ptr as usize },
        48usize,
        concat!(
            "Offset of field: ",
            stringify!(_drmModeRes),
            "::",
            stringify!(count_encoders)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).encoders) as usize - ptr as usize },
        56usize,
        concat!(
            "Offset of field: ",
            stringify!(_drmModeRes),
            "::",
            stringify!(encoders)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).min_width) as usize - ptr as usize },
        64usize,
        concat!(
            "Offset of field: ",
            stringify!(_drmModeRes),
            "::",
            stringify!(min_width)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).max_width) as usize - ptr as usize },
        68usize,
        concat!(
            "Offset of field: ",
            stringify!(_drmModeRes),
            "::",
            stringify!(max_width)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).min_height) as usize - ptr as usize },
        72usize,
        concat!(
            "Offset of field: ",
            stringify!(_drmModeRes),
            "::",
            stringify!(min_height)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).max_height) as usize - ptr as usize },
        76usize,
        concat!(
            "Offset of field: ",
            stringify!(_drmModeRes),
            "::",
            stringify!(max_height)
        )
    );
}
pub type drmModeRes = _drmModeRes;
pub type drmModeResPtr = *mut _drmModeRes;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _drmModeModeInfo {
    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],
}
#[test]
fn bindgen_test_layout__drmModeModeInfo() {
    const UNINIT: ::core::mem::MaybeUninit<_drmModeModeInfo> = ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<_drmModeModeInfo>(),
        68usize,
        concat!("Size of: ", stringify!(_drmModeModeInfo))
    );
    assert_eq!(
        ::core::mem::align_of::<_drmModeModeInfo>(),
        4usize,
        concat!("Alignment of ", stringify!(_drmModeModeInfo))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).clock) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_drmModeModeInfo),
            "::",
            stringify!(clock)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).hdisplay) as usize - ptr as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(_drmModeModeInfo),
            "::",
            stringify!(hdisplay)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).hsync_start) as usize - ptr as usize },
        6usize,
        concat!(
            "Offset of field: ",
            stringify!(_drmModeModeInfo),
            "::",
            stringify!(hsync_start)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).hsync_end) as usize - ptr as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(_drmModeModeInfo),
            "::",
            stringify!(hsync_end)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).htotal) as usize - ptr as usize },
        10usize,
        concat!(
            "Offset of field: ",
            stringify!(_drmModeModeInfo),
            "::",
            stringify!(htotal)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).hskew) as usize - ptr as usize },
        12usize,
        concat!(
            "Offset of field: ",
            stringify!(_drmModeModeInfo),
            "::",
            stringify!(hskew)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).vdisplay) as usize - ptr as usize },
        14usize,
        concat!(
            "Offset of field: ",
            stringify!(_drmModeModeInfo),
            "::",
            stringify!(vdisplay)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).vsync_start) as usize - ptr as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(_drmModeModeInfo),
            "::",
            stringify!(vsync_start)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).vsync_end) as usize - ptr as usize },
        18usize,
        concat!(
            "Offset of field: ",
            stringify!(_drmModeModeInfo),
            "::",
            stringify!(vsync_end)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).vtotal) as usize - ptr as usize },
        20usize,
        concat!(
            "Offset of field: ",
            stringify!(_drmModeModeInfo),
            "::",
            stringify!(vtotal)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).vscan) as usize - ptr as usize },
        22usize,
        concat!(
            "Offset of field: ",
            stringify!(_drmModeModeInfo),
            "::",
            stringify!(vscan)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).vrefresh) as usize - ptr as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(_drmModeModeInfo),
            "::",
            stringify!(vrefresh)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
        28usize,
        concat!(
            "Offset of field: ",
            stringify!(_drmModeModeInfo),
            "::",
            stringify!(flags)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
        32usize,
        concat!(
            "Offset of field: ",
            stringify!(_drmModeModeInfo),
            "::",
            stringify!(type_)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).name) as usize - ptr as usize },
        36usize,
        concat!(
            "Offset of field: ",
            stringify!(_drmModeModeInfo),
            "::",
            stringify!(name)
        )
    );
}
pub type drmModeModeInfo = _drmModeModeInfo;
pub type drmModeModeInfoPtr = *mut _drmModeModeInfo;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _drmModeFB {
    pub fb_id: u32,
    pub width: u32,
    pub height: u32,
    pub pitch: u32,
    pub bpp: u32,
    pub depth: u32,
    pub handle: u32,
}
#[test]
fn bindgen_test_layout__drmModeFB() {
    const UNINIT: ::core::mem::MaybeUninit<_drmModeFB> = ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<_drmModeFB>(),
        28usize,
        concat!("Size of: ", stringify!(_drmModeFB))
    );
    assert_eq!(
        ::core::mem::align_of::<_drmModeFB>(),
        4usize,
        concat!("Alignment of ", stringify!(_drmModeFB))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).fb_id) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_drmModeFB),
            "::",
            stringify!(fb_id)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).width) as usize - ptr as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(_drmModeFB),
            "::",
            stringify!(width)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).height) as usize - ptr as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(_drmModeFB),
            "::",
            stringify!(height)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).pitch) as usize - ptr as usize },
        12usize,
        concat!(
            "Offset of field: ",
            stringify!(_drmModeFB),
            "::",
            stringify!(pitch)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).bpp) as usize - ptr as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(_drmModeFB),
            "::",
            stringify!(bpp)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).depth) as usize - ptr as usize },
        20usize,
        concat!(
            "Offset of field: ",
            stringify!(_drmModeFB),
            "::",
            stringify!(depth)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).handle) as usize - ptr as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(_drmModeFB),
            "::",
            stringify!(handle)
        )
    );
}
pub type drmModeFB = _drmModeFB;
pub type drmModeFBPtr = *mut _drmModeFB;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _drmModeFB2 {
    pub fb_id: u32,
    pub width: u32,
    pub height: u32,
    pub pixel_format: u32,
    pub modifier: u64,
    pub flags: u32,
    pub handles: [u32; 4usize],
    pub pitches: [u32; 4usize],
    pub offsets: [u32; 4usize],
}
#[test]
fn bindgen_test_layout__drmModeFB2() {
    const UNINIT: ::core::mem::MaybeUninit<_drmModeFB2> = ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<_drmModeFB2>(),
        80usize,
        concat!("Size of: ", stringify!(_drmModeFB2))
    );
    assert_eq!(
        ::core::mem::align_of::<_drmModeFB2>(),
        8usize,
        concat!("Alignment of ", stringify!(_drmModeFB2))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).fb_id) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_drmModeFB2),
            "::",
            stringify!(fb_id)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).width) as usize - ptr as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(_drmModeFB2),
            "::",
            stringify!(width)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).height) as usize - ptr as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(_drmModeFB2),
            "::",
            stringify!(height)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).pixel_format) as usize - ptr as usize },
        12usize,
        concat!(
            "Offset of field: ",
            stringify!(_drmModeFB2),
            "::",
            stringify!(pixel_format)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).modifier) as usize - ptr as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(_drmModeFB2),
            "::",
            stringify!(modifier)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(_drmModeFB2),
            "::",
            stringify!(flags)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).handles) as usize - ptr as usize },
        28usize,
        concat!(
            "Offset of field: ",
            stringify!(_drmModeFB2),
            "::",
            stringify!(handles)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).pitches) as usize - ptr as usize },
        44usize,
        concat!(
            "Offset of field: ",
            stringify!(_drmModeFB2),
            "::",
            stringify!(pitches)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).offsets) as usize - ptr as usize },
        60usize,
        concat!(
            "Offset of field: ",
            stringify!(_drmModeFB2),
            "::",
            stringify!(offsets)
        )
    );
}
pub type drmModeFB2 = _drmModeFB2;
pub type drmModeFB2Ptr = *mut _drmModeFB2;
pub type drmModeClip = drm_clip_rect;
pub type drmModeClipPtr = *mut drm_clip_rect;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _drmModePropertyBlob {
    pub id: u32,
    pub length: u32,
    pub data: *mut ::core::ffi::c_void,
}
#[test]
fn bindgen_test_layout__drmModePropertyBlob() {
    const UNINIT: ::core::mem::MaybeUninit<_drmModePropertyBlob> =
        ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<_drmModePropertyBlob>(),
        16usize,
        concat!("Size of: ", stringify!(_drmModePropertyBlob))
    );
    assert_eq!(
        ::core::mem::align_of::<_drmModePropertyBlob>(),
        8usize,
        concat!("Alignment of ", stringify!(_drmModePropertyBlob))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).id) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_drmModePropertyBlob),
            "::",
            stringify!(id)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).length) as usize - ptr as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(_drmModePropertyBlob),
            "::",
            stringify!(length)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(_drmModePropertyBlob),
            "::",
            stringify!(data)
        )
    );
}
pub type drmModePropertyBlobRes = _drmModePropertyBlob;
pub type drmModePropertyBlobPtr = *mut _drmModePropertyBlob;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _drmModeProperty {
    pub prop_id: u32,
    pub flags: u32,
    pub name: [::core::ffi::c_char; 32usize],
    pub count_values: ::core::ffi::c_int,
    pub values: *mut u64,
    pub count_enums: ::core::ffi::c_int,
    pub enums: *mut drm_mode_property_enum,
    pub count_blobs: ::core::ffi::c_int,
    pub blob_ids: *mut u32,
}
#[test]
fn bindgen_test_layout__drmModeProperty() {
    const UNINIT: ::core::mem::MaybeUninit<_drmModeProperty> = ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<_drmModeProperty>(),
        88usize,
        concat!("Size of: ", stringify!(_drmModeProperty))
    );
    assert_eq!(
        ::core::mem::align_of::<_drmModeProperty>(),
        8usize,
        concat!("Alignment of ", stringify!(_drmModeProperty))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).prop_id) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_drmModeProperty),
            "::",
            stringify!(prop_id)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(_drmModeProperty),
            "::",
            stringify!(flags)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).name) as usize - ptr as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(_drmModeProperty),
            "::",
            stringify!(name)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).count_values) as usize - ptr as usize },
        40usize,
        concat!(
            "Offset of field: ",
            stringify!(_drmModeProperty),
            "::",
            stringify!(count_values)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).values) as usize - ptr as usize },
        48usize,
        concat!(
            "Offset of field: ",
            stringify!(_drmModeProperty),
            "::",
            stringify!(values)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).count_enums) as usize - ptr as usize },
        56usize,
        concat!(
            "Offset of field: ",
            stringify!(_drmModeProperty),
            "::",
            stringify!(count_enums)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).enums) as usize - ptr as usize },
        64usize,
        concat!(
            "Offset of field: ",
            stringify!(_drmModeProperty),
            "::",
            stringify!(enums)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).count_blobs) as usize - ptr as usize },
        72usize,
        concat!(
            "Offset of field: ",
            stringify!(_drmModeProperty),
            "::",
            stringify!(count_blobs)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).blob_ids) as usize - ptr as usize },
        80usize,
        concat!(
            "Offset of field: ",
            stringify!(_drmModeProperty),
            "::",
            stringify!(blob_ids)
        )
    );
}
pub type drmModePropertyRes = _drmModeProperty;
pub type drmModePropertyPtr = *mut _drmModeProperty;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _drmModeCrtc {
    pub crtc_id: u32,
    pub buffer_id: u32,
    pub x: u32,
    pub y: u32,
    pub width: u32,
    pub height: u32,
    pub mode_valid: ::core::ffi::c_int,
    pub mode: drmModeModeInfo,
    pub gamma_size: ::core::ffi::c_int,
}
#[test]
fn bindgen_test_layout__drmModeCrtc() {
    const UNINIT: ::core::mem::MaybeUninit<_drmModeCrtc> = ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<_drmModeCrtc>(),
        100usize,
        concat!("Size of: ", stringify!(_drmModeCrtc))
    );
    assert_eq!(
        ::core::mem::align_of::<_drmModeCrtc>(),
        4usize,
        concat!("Alignment of ", stringify!(_drmModeCrtc))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).crtc_id) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_drmModeCrtc),
            "::",
            stringify!(crtc_id)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).buffer_id) as usize - ptr as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(_drmModeCrtc),
            "::",
            stringify!(buffer_id)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).x) as usize - ptr as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(_drmModeCrtc),
            "::",
            stringify!(x)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).y) as usize - ptr as usize },
        12usize,
        concat!(
            "Offset of field: ",
            stringify!(_drmModeCrtc),
            "::",
            stringify!(y)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).width) as usize - ptr as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(_drmModeCrtc),
            "::",
            stringify!(width)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).height) as usize - ptr as usize },
        20usize,
        concat!(
            "Offset of field: ",
            stringify!(_drmModeCrtc),
            "::",
            stringify!(height)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).mode_valid) as usize - ptr as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(_drmModeCrtc),
            "::",
            stringify!(mode_valid)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).mode) as usize - ptr as usize },
        28usize,
        concat!(
            "Offset of field: ",
            stringify!(_drmModeCrtc),
            "::",
            stringify!(mode)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).gamma_size) as usize - ptr as usize },
        96usize,
        concat!(
            "Offset of field: ",
            stringify!(_drmModeCrtc),
            "::",
            stringify!(gamma_size)
        )
    );
}
pub type drmModeCrtc = _drmModeCrtc;
pub type drmModeCrtcPtr = *mut _drmModeCrtc;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _drmModeEncoder {
    pub encoder_id: u32,
    pub encoder_type: u32,
    pub crtc_id: u32,
    pub possible_crtcs: u32,
    pub possible_clones: u32,
}
#[test]
fn bindgen_test_layout__drmModeEncoder() {
    const UNINIT: ::core::mem::MaybeUninit<_drmModeEncoder> = ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<_drmModeEncoder>(),
        20usize,
        concat!("Size of: ", stringify!(_drmModeEncoder))
    );
    assert_eq!(
        ::core::mem::align_of::<_drmModeEncoder>(),
        4usize,
        concat!("Alignment of ", stringify!(_drmModeEncoder))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).encoder_id) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_drmModeEncoder),
            "::",
            stringify!(encoder_id)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).encoder_type) as usize - ptr as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(_drmModeEncoder),
            "::",
            stringify!(encoder_type)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).crtc_id) as usize - ptr as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(_drmModeEncoder),
            "::",
            stringify!(crtc_id)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).possible_crtcs) as usize - ptr as usize },
        12usize,
        concat!(
            "Offset of field: ",
            stringify!(_drmModeEncoder),
            "::",
            stringify!(possible_crtcs)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).possible_clones) as usize - ptr as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(_drmModeEncoder),
            "::",
            stringify!(possible_clones)
        )
    );
}
pub type drmModeEncoder = _drmModeEncoder;
pub type drmModeEncoderPtr = *mut _drmModeEncoder;
pub const drmModeConnection_DRM_MODE_CONNECTED: drmModeConnection = 1;
pub const drmModeConnection_DRM_MODE_DISCONNECTED: drmModeConnection = 2;
pub const drmModeConnection_DRM_MODE_UNKNOWNCONNECTION: drmModeConnection = 3;
pub type drmModeConnection = ::core::ffi::c_uint;
pub const drmModeSubPixel_DRM_MODE_SUBPIXEL_UNKNOWN: drmModeSubPixel = 1;
pub const drmModeSubPixel_DRM_MODE_SUBPIXEL_HORIZONTAL_RGB: drmModeSubPixel = 2;
pub const drmModeSubPixel_DRM_MODE_SUBPIXEL_HORIZONTAL_BGR: drmModeSubPixel = 3;
pub const drmModeSubPixel_DRM_MODE_SUBPIXEL_VERTICAL_RGB: drmModeSubPixel = 4;
pub const drmModeSubPixel_DRM_MODE_SUBPIXEL_VERTICAL_BGR: drmModeSubPixel = 5;
pub const drmModeSubPixel_DRM_MODE_SUBPIXEL_NONE: drmModeSubPixel = 6;
pub type drmModeSubPixel = ::core::ffi::c_uint;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _drmModeConnector {
    pub connector_id: u32,
    pub encoder_id: u32,
    pub connector_type: u32,
    pub connector_type_id: u32,
    pub connection: drmModeConnection,
    pub mmWidth: u32,
    pub mmHeight: u32,
    pub subpixel: drmModeSubPixel,
    pub count_modes: ::core::ffi::c_int,
    pub modes: drmModeModeInfoPtr,
    pub count_props: ::core::ffi::c_int,
    pub props: *mut u32,
    pub prop_values: *mut u64,
    pub count_encoders: ::core::ffi::c_int,
    pub encoders: *mut u32,
}
#[test]
fn bindgen_test_layout__drmModeConnector() {
    const UNINIT: ::core::mem::MaybeUninit<_drmModeConnector> = ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<_drmModeConnector>(),
        88usize,
        concat!("Size of: ", stringify!(_drmModeConnector))
    );
    assert_eq!(
        ::core::mem::align_of::<_drmModeConnector>(),
        8usize,
        concat!("Alignment of ", stringify!(_drmModeConnector))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).connector_id) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_drmModeConnector),
            "::",
            stringify!(connector_id)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).encoder_id) as usize - ptr as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(_drmModeConnector),
            "::",
            stringify!(encoder_id)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).connector_type) as usize - ptr as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(_drmModeConnector),
            "::",
            stringify!(connector_type)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).connector_type_id) as usize - ptr as usize },
        12usize,
        concat!(
            "Offset of field: ",
            stringify!(_drmModeConnector),
            "::",
            stringify!(connector_type_id)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).connection) as usize - ptr as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(_drmModeConnector),
            "::",
            stringify!(connection)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).mmWidth) as usize - ptr as usize },
        20usize,
        concat!(
            "Offset of field: ",
            stringify!(_drmModeConnector),
            "::",
            stringify!(mmWidth)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).mmHeight) as usize - ptr as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(_drmModeConnector),
            "::",
            stringify!(mmHeight)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).subpixel) as usize - ptr as usize },
        28usize,
        concat!(
            "Offset of field: ",
            stringify!(_drmModeConnector),
            "::",
            stringify!(subpixel)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).count_modes) as usize - ptr as usize },
        32usize,
        concat!(
            "Offset of field: ",
            stringify!(_drmModeConnector),
            "::",
            stringify!(count_modes)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).modes) as usize - ptr as usize },
        40usize,
        concat!(
            "Offset of field: ",
            stringify!(_drmModeConnector),
            "::",
            stringify!(modes)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).count_props) as usize - ptr as usize },
        48usize,
        concat!(
            "Offset of field: ",
            stringify!(_drmModeConnector),
            "::",
            stringify!(count_props)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).props) as usize - ptr as usize },
        56usize,
        concat!(
            "Offset of field: ",
            stringify!(_drmModeConnector),
            "::",
            stringify!(props)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).prop_values) as usize - ptr as usize },
        64usize,
        concat!(
            "Offset of field: ",
            stringify!(_drmModeConnector),
            "::",
            stringify!(prop_values)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).count_encoders) as usize - ptr as usize },
        72usize,
        concat!(
            "Offset of field: ",
            stringify!(_drmModeConnector),
            "::",
            stringify!(count_encoders)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).encoders) as usize - ptr as usize },
        80usize,
        concat!(
            "Offset of field: ",
            stringify!(_drmModeConnector),
            "::",
            stringify!(encoders)
        )
    );
}
pub type drmModeConnector = _drmModeConnector;
pub type drmModeConnectorPtr = *mut _drmModeConnector;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _drmModeObjectProperties {
    pub count_props: u32,
    pub props: *mut u32,
    pub prop_values: *mut u64,
}
#[test]
fn bindgen_test_layout__drmModeObjectProperties() {
    const UNINIT: ::core::mem::MaybeUninit<_drmModeObjectProperties> =
        ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<_drmModeObjectProperties>(),
        24usize,
        concat!("Size of: ", stringify!(_drmModeObjectProperties))
    );
    assert_eq!(
        ::core::mem::align_of::<_drmModeObjectProperties>(),
        8usize,
        concat!("Alignment of ", stringify!(_drmModeObjectProperties))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).count_props) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_drmModeObjectProperties),
            "::",
            stringify!(count_props)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).props) as usize - ptr as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(_drmModeObjectProperties),
            "::",
            stringify!(props)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).prop_values) as usize - ptr as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(_drmModeObjectProperties),
            "::",
            stringify!(prop_values)
        )
    );
}
pub type drmModeObjectProperties = _drmModeObjectProperties;
pub type drmModeObjectPropertiesPtr = *mut _drmModeObjectProperties;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _drmModeFormatModifierIterator {
    pub fmt_idx: u32,
    pub mod_idx: u32,
    pub fmt: u32,
    pub mod_: u64,
}
#[test]
fn bindgen_test_layout__drmModeFormatModifierIterator() {
    const UNINIT: ::core::mem::MaybeUninit<_drmModeFormatModifierIterator> =
        ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<_drmModeFormatModifierIterator>(),
        24usize,
        concat!("Size of: ", stringify!(_drmModeFormatModifierIterator))
    );
    assert_eq!(
        ::core::mem::align_of::<_drmModeFormatModifierIterator>(),
        8usize,
        concat!("Alignment of ", stringify!(_drmModeFormatModifierIterator))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).fmt_idx) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_drmModeFormatModifierIterator),
            "::",
            stringify!(fmt_idx)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).mod_idx) as usize - ptr as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(_drmModeFormatModifierIterator),
            "::",
            stringify!(mod_idx)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).fmt) as usize - ptr as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(_drmModeFormatModifierIterator),
            "::",
            stringify!(fmt)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).mod_) as usize - ptr as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(_drmModeFormatModifierIterator),
            "::",
            stringify!(mod_)
        )
    );
}
pub type drmModeFormatModifierIterator = _drmModeFormatModifierIterator;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _drmModePlane {
    pub count_formats: u32,
    pub formats: *mut u32,
    pub plane_id: u32,
    pub crtc_id: u32,
    pub fb_id: u32,
    pub crtc_x: u32,
    pub crtc_y: u32,
    pub x: u32,
    pub y: u32,
    pub possible_crtcs: u32,
    pub gamma_size: u32,
}
#[test]
fn bindgen_test_layout__drmModePlane() {
    const UNINIT: ::core::mem::MaybeUninit<_drmModePlane> = ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<_drmModePlane>(),
        56usize,
        concat!("Size of: ", stringify!(_drmModePlane))
    );
    assert_eq!(
        ::core::mem::align_of::<_drmModePlane>(),
        8usize,
        concat!("Alignment of ", stringify!(_drmModePlane))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).count_formats) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_drmModePlane),
            "::",
            stringify!(count_formats)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).formats) as usize - ptr as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(_drmModePlane),
            "::",
            stringify!(formats)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).plane_id) as usize - ptr as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(_drmModePlane),
            "::",
            stringify!(plane_id)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).crtc_id) as usize - ptr as usize },
        20usize,
        concat!(
            "Offset of field: ",
            stringify!(_drmModePlane),
            "::",
            stringify!(crtc_id)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).fb_id) as usize - ptr as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(_drmModePlane),
            "::",
            stringify!(fb_id)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).crtc_x) as usize - ptr as usize },
        28usize,
        concat!(
            "Offset of field: ",
            stringify!(_drmModePlane),
            "::",
            stringify!(crtc_x)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).crtc_y) as usize - ptr as usize },
        32usize,
        concat!(
            "Offset of field: ",
            stringify!(_drmModePlane),
            "::",
            stringify!(crtc_y)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).x) as usize - ptr as usize },
        36usize,
        concat!(
            "Offset of field: ",
            stringify!(_drmModePlane),
            "::",
            stringify!(x)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).y) as usize - ptr as usize },
        40usize,
        concat!(
            "Offset of field: ",
            stringify!(_drmModePlane),
            "::",
            stringify!(y)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).possible_crtcs) as usize - ptr as usize },
        44usize,
        concat!(
            "Offset of field: ",
            stringify!(_drmModePlane),
            "::",
            stringify!(possible_crtcs)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).gamma_size) as usize - ptr as usize },
        48usize,
        concat!(
            "Offset of field: ",
            stringify!(_drmModePlane),
            "::",
            stringify!(gamma_size)
        )
    );
}
pub type drmModePlane = _drmModePlane;
pub type drmModePlanePtr = *mut _drmModePlane;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _drmModePlaneRes {
    pub count_planes: u32,
    pub planes: *mut u32,
}
#[test]
fn bindgen_test_layout__drmModePlaneRes() {
    const UNINIT: ::core::mem::MaybeUninit<_drmModePlaneRes> = ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<_drmModePlaneRes>(),
        16usize,
        concat!("Size of: ", stringify!(_drmModePlaneRes))
    );
    assert_eq!(
        ::core::mem::align_of::<_drmModePlaneRes>(),
        8usize,
        concat!("Alignment of ", stringify!(_drmModePlaneRes))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).count_planes) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_drmModePlaneRes),
            "::",
            stringify!(count_planes)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).planes) as usize - ptr as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(_drmModePlaneRes),
            "::",
            stringify!(planes)
        )
    );
}
pub type drmModePlaneRes = _drmModePlaneRes;
pub type drmModePlaneResPtr = *mut _drmModePlaneRes;
extern "C" {
    pub fn drmModeFreeModeInfo(ptr: drmModeModeInfoPtr);
}
extern "C" {
    pub fn drmModeFreeResources(ptr: drmModeResPtr);
}
extern "C" {
    pub fn drmModeFreeFB(ptr: drmModeFBPtr);
}
extern "C" {
    pub fn drmModeFreeFB2(ptr: drmModeFB2Ptr);
}
extern "C" {
    pub fn drmModeFreeCrtc(ptr: drmModeCrtcPtr);
}
extern "C" {
    pub fn drmModeFreeConnector(ptr: drmModeConnectorPtr);
}
extern "C" {
    pub fn drmModeFreeEncoder(ptr: drmModeEncoderPtr);
}
extern "C" {
    pub fn drmModeFreePlane(ptr: drmModePlanePtr);
}
extern "C" {
    pub fn drmModeFreePlaneResources(ptr: drmModePlaneResPtr);
}
extern "C" {
    pub fn drmIsKMS(fd: ::core::ffi::c_int) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn drmModeGetResources(fd: ::core::ffi::c_int) -> drmModeResPtr;
}
extern "C" {
    pub fn drmModeGetFB(fd: ::core::ffi::c_int, bufferId: u32) -> drmModeFBPtr;
}
extern "C" {
    pub fn drmModeGetFB2(fd: ::core::ffi::c_int, bufferId: u32) -> drmModeFB2Ptr;
}
extern "C" {
    pub fn drmModeAddFB(
        fd: ::core::ffi::c_int,
        width: u32,
        height: u32,
        depth: u8,
        bpp: u8,
        pitch: u32,
        bo_handle: u32,
        buf_id: *mut u32,
    ) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn drmModeAddFB2(
        fd: ::core::ffi::c_int,
        width: u32,
        height: u32,
        pixel_format: u32,
        bo_handles: *const u32,
        pitches: *const u32,
        offsets: *const u32,
        buf_id: *mut u32,
        flags: u32,
    ) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn drmModeAddFB2WithModifiers(
        fd: ::core::ffi::c_int,
        width: u32,
        height: u32,
        pixel_format: u32,
        bo_handles: *const u32,
        pitches: *const u32,
        offsets: *const u32,
        modifier: *const u64,
        buf_id: *mut u32,
        flags: u32,
    ) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn drmModeRmFB(fd: ::core::ffi::c_int, bufferId: u32) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn drmModeCloseFB(fd: ::core::ffi::c_int, buffer_id: u32) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn drmModeDirtyFB(
        fd: ::core::ffi::c_int,
        bufferId: u32,
        clips: drmModeClipPtr,
        num_clips: u32,
    ) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn drmModeGetCrtc(fd: ::core::ffi::c_int, crtcId: u32) -> drmModeCrtcPtr;
}
extern "C" {
    pub fn drmModeSetCrtc(
        fd: ::core::ffi::c_int,
        crtcId: u32,
        bufferId: u32,
        x: u32,
        y: u32,
        connectors: *mut u32,
        count: ::core::ffi::c_int,
        mode: drmModeModeInfoPtr,
    ) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn drmModeSetCursor(
        fd: ::core::ffi::c_int,
        crtcId: u32,
        bo_handle: u32,
        width: u32,
        height: u32,
    ) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn drmModeSetCursor2(
        fd: ::core::ffi::c_int,
        crtcId: u32,
        bo_handle: u32,
        width: u32,
        height: u32,
        hot_x: i32,
        hot_y: i32,
    ) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn drmModeMoveCursor(
        fd: ::core::ffi::c_int,
        crtcId: u32,
        x: ::core::ffi::c_int,
        y: ::core::ffi::c_int,
    ) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn drmModeGetEncoder(fd: ::core::ffi::c_int, encoder_id: u32) -> drmModeEncoderPtr;
}
extern "C" {
    pub fn drmModeGetConnector(fd: ::core::ffi::c_int, connectorId: u32) -> drmModeConnectorPtr;
}
extern "C" {
    pub fn drmModeGetConnectorCurrent(
        fd: ::core::ffi::c_int,
        connector_id: u32,
    ) -> drmModeConnectorPtr;
}
extern "C" {
    pub fn drmModeConnectorGetPossibleCrtcs(
        fd: ::core::ffi::c_int,
        connector: *const drmModeConnector,
    ) -> u32;
}
extern "C" {
    pub fn drmModeAttachMode(
        fd: ::core::ffi::c_int,
        connectorId: u32,
        mode_info: drmModeModeInfoPtr,
    ) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn drmModeDetachMode(
        fd: ::core::ffi::c_int,
        connectorId: u32,
        mode_info: drmModeModeInfoPtr,
    ) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn drmModeGetProperty(fd: ::core::ffi::c_int, propertyId: u32) -> drmModePropertyPtr;
}
extern "C" {
    pub fn drmModeFreeProperty(ptr: drmModePropertyPtr);
}
extern "C" {
    pub fn drmModeGetPropertyBlob(fd: ::core::ffi::c_int, blob_id: u32) -> drmModePropertyBlobPtr;
}
extern "C" {
    pub fn drmModeFormatModifierBlobIterNext(
        blob: *const drmModePropertyBlobRes,
        iter: *mut drmModeFormatModifierIterator,
    ) -> bool;
}
extern "C" {
    pub fn drmModeFreePropertyBlob(ptr: drmModePropertyBlobPtr);
}
extern "C" {
    pub fn drmModeConnectorSetProperty(
        fd: ::core::ffi::c_int,
        connector_id: u32,
        property_id: u32,
        value: u64,
    ) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn drmCheckModesettingSupported(busid: *const ::core::ffi::c_char) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn drmModeCrtcSetGamma(
        fd: ::core::ffi::c_int,
        crtc_id: u32,
        size: u32,
        red: *const u16,
        green: *const u16,
        blue: *const u16,
    ) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn drmModeCrtcGetGamma(
        fd: ::core::ffi::c_int,
        crtc_id: u32,
        size: u32,
        red: *mut u16,
        green: *mut u16,
        blue: *mut u16,
    ) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn drmModePageFlip(
        fd: ::core::ffi::c_int,
        crtc_id: u32,
        fb_id: u32,
        flags: u32,
        user_data: *mut ::core::ffi::c_void,
    ) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn drmModePageFlipTarget(
        fd: ::core::ffi::c_int,
        crtc_id: u32,
        fb_id: u32,
        flags: u32,
        user_data: *mut ::core::ffi::c_void,
        target_vblank: u32,
    ) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn drmModeGetPlaneResources(fd: ::core::ffi::c_int) -> drmModePlaneResPtr;
}
extern "C" {
    pub fn drmModeGetPlane(fd: ::core::ffi::c_int, plane_id: u32) -> drmModePlanePtr;
}
extern "C" {
    pub fn drmModeSetPlane(
        fd: ::core::ffi::c_int,
        plane_id: u32,
        crtc_id: u32,
        fb_id: u32,
        flags: u32,
        crtc_x: i32,
        crtc_y: i32,
        crtc_w: u32,
        crtc_h: u32,
        src_x: u32,
        src_y: u32,
        src_w: u32,
        src_h: u32,
    ) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn drmModeObjectGetProperties(
        fd: ::core::ffi::c_int,
        object_id: u32,
        object_type: u32,
    ) -> drmModeObjectPropertiesPtr;
}
extern "C" {
    pub fn drmModeFreeObjectProperties(ptr: drmModeObjectPropertiesPtr);
}
extern "C" {
    pub fn drmModeObjectSetProperty(
        fd: ::core::ffi::c_int,
        object_id: u32,
        object_type: u32,
        property_id: u32,
        value: u64,
    ) -> ::core::ffi::c_int;
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _drmModeAtomicReq {
    _unused: [u8; 0],
}
pub type drmModeAtomicReq = _drmModeAtomicReq;
pub type drmModeAtomicReqPtr = *mut _drmModeAtomicReq;
extern "C" {
    pub fn drmModeAtomicAlloc() -> drmModeAtomicReqPtr;
}
extern "C" {
    pub fn drmModeAtomicDuplicate(req: drmModeAtomicReqPtr) -> drmModeAtomicReqPtr;
}
extern "C" {
    pub fn drmModeAtomicMerge(
        base: drmModeAtomicReqPtr,
        augment: drmModeAtomicReqPtr,
    ) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn drmModeAtomicFree(req: drmModeAtomicReqPtr);
}
extern "C" {
    pub fn drmModeAtomicGetCursor(req: drmModeAtomicReqPtr) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn drmModeAtomicSetCursor(req: drmModeAtomicReqPtr, cursor: ::core::ffi::c_int);
}
extern "C" {
    pub fn drmModeAtomicAddProperty(
        req: drmModeAtomicReqPtr,
        object_id: u32,
        property_id: u32,
        value: u64,
    ) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn drmModeAtomicCommit(
        fd: ::core::ffi::c_int,
        req: drmModeAtomicReqPtr,
        flags: u32,
        user_data: *mut ::core::ffi::c_void,
    ) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn drmModeCreatePropertyBlob(
        fd: ::core::ffi::c_int,
        data: *const ::core::ffi::c_void,
        size: usize,
        id: *mut u32,
    ) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn drmModeDestroyPropertyBlob(fd: ::core::ffi::c_int, id: u32) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn drmModeCreateLease(
        fd: ::core::ffi::c_int,
        objects: *const u32,
        num_objects: ::core::ffi::c_int,
        flags: ::core::ffi::c_int,
        lessee_id: *mut u32,
    ) -> ::core::ffi::c_int;
}
#[repr(C)]
#[derive(Debug)]
pub struct drmModeLesseeList {
    pub count: u32,
    pub lessees: __IncompleteArrayField<u32>,
}
#[test]
fn bindgen_test_layout_drmModeLesseeList() {
    const UNINIT: ::core::mem::MaybeUninit<drmModeLesseeList> = ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<drmModeLesseeList>(),
        4usize,
        concat!("Size of: ", stringify!(drmModeLesseeList))
    );
    assert_eq!(
        ::core::mem::align_of::<drmModeLesseeList>(),
        4usize,
        concat!("Alignment of ", stringify!(drmModeLesseeList))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).count) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(drmModeLesseeList),
            "::",
            stringify!(count)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).lessees) as usize - ptr as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(drmModeLesseeList),
            "::",
            stringify!(lessees)
        )
    );
}
pub type drmModeLesseeListRes = drmModeLesseeList;
pub type drmModeLesseeListPtr = *mut drmModeLesseeList;
extern "C" {
    pub fn drmModeListLessees(fd: ::core::ffi::c_int) -> drmModeLesseeListPtr;
}
#[repr(C)]
#[derive(Debug)]
pub struct drmModeObjectList {
    pub count: u32,
    pub objects: __IncompleteArrayField<u32>,
}
#[test]
fn bindgen_test_layout_drmModeObjectList() {
    const UNINIT: ::core::mem::MaybeUninit<drmModeObjectList> = ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<drmModeObjectList>(),
        4usize,
        concat!("Size of: ", stringify!(drmModeObjectList))
    );
    assert_eq!(
        ::core::mem::align_of::<drmModeObjectList>(),
        4usize,
        concat!("Alignment of ", stringify!(drmModeObjectList))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).count) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(drmModeObjectList),
            "::",
            stringify!(count)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).objects) as usize - ptr as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(drmModeObjectList),
            "::",
            stringify!(objects)
        )
    );
}
pub type drmModeObjectListRes = drmModeObjectList;
pub type drmModeObjectListPtr = *mut drmModeObjectList;
extern "C" {
    pub fn drmModeGetLease(fd: ::core::ffi::c_int) -> drmModeObjectListPtr;
}
extern "C" {
    pub fn drmModeRevokeLease(fd: ::core::ffi::c_int, lessee_id: u32) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn drmModeGetConnectorTypeName(connector_type: u32) -> *const ::core::ffi::c_char;
}
extern "C" {
    pub fn drmModeCreateDumbBuffer(
        fd: ::core::ffi::c_int,
        width: u32,
        height: u32,
        bpp: u32,
        flags: u32,
        handle: *mut u32,
        pitch: *mut u32,
        size: *mut u64,
    ) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn drmModeDestroyDumbBuffer(fd: ::core::ffi::c_int, handle: u32) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn drmModeMapDumbBuffer(
        fd: ::core::ffi::c_int,
        handle: u32,
        offset: *mut u64,
    ) -> ::core::ffi::c_int;
}
pub const amdgpu_bo_handle_type_amdgpu_bo_handle_type_gem_flink_name: amdgpu_bo_handle_type = 0;
pub const amdgpu_bo_handle_type_amdgpu_bo_handle_type_kms: amdgpu_bo_handle_type = 1;
pub const amdgpu_bo_handle_type_amdgpu_bo_handle_type_dma_buf_fd: amdgpu_bo_handle_type = 2;
pub const amdgpu_bo_handle_type_amdgpu_bo_handle_type_kms_noimport: amdgpu_bo_handle_type = 3;
pub type amdgpu_bo_handle_type = ::core::ffi::c_uint;
pub const amdgpu_gpu_va_range_amdgpu_gpu_va_range_general: amdgpu_gpu_va_range = 0;
pub type amdgpu_gpu_va_range = ::core::ffi::c_uint;
pub const amdgpu_sw_info_amdgpu_sw_info_address32_hi: amdgpu_sw_info = 0;
pub type amdgpu_sw_info = ::core::ffi::c_uint;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct amdgpu_device {
    _unused: [u8; 0],
}
pub type amdgpu_device_handle = *mut amdgpu_device;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct amdgpu_context {
    _unused: [u8; 0],
}
pub type amdgpu_context_handle = *mut amdgpu_context;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct amdgpu_bo {
    _unused: [u8; 0],
}
pub type amdgpu_bo_handle = *mut amdgpu_bo;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct amdgpu_bo_list {
    _unused: [u8; 0],
}
pub type amdgpu_bo_list_handle = *mut amdgpu_bo_list;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct amdgpu_va {
    _unused: [u8; 0],
}
pub type amdgpu_va_handle = *mut amdgpu_va;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct amdgpu_semaphore {
    _unused: [u8; 0],
}
pub type amdgpu_semaphore_handle = *mut amdgpu_semaphore;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct amdgpu_bo_alloc_request {
    pub alloc_size: u64,
    pub phys_alignment: u64,
    pub preferred_heap: u32,
    pub flags: u64,
}
#[test]
fn bindgen_test_layout_amdgpu_bo_alloc_request() {
    const UNINIT: ::core::mem::MaybeUninit<amdgpu_bo_alloc_request> =
        ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<amdgpu_bo_alloc_request>(),
        32usize,
        concat!("Size of: ", stringify!(amdgpu_bo_alloc_request))
    );
    assert_eq!(
        ::core::mem::align_of::<amdgpu_bo_alloc_request>(),
        8usize,
        concat!("Alignment of ", stringify!(amdgpu_bo_alloc_request))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).alloc_size) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(amdgpu_bo_alloc_request),
            "::",
            stringify!(alloc_size)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).phys_alignment) as usize - ptr as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(amdgpu_bo_alloc_request),
            "::",
            stringify!(phys_alignment)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).preferred_heap) as usize - ptr as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(amdgpu_bo_alloc_request),
            "::",
            stringify!(preferred_heap)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(amdgpu_bo_alloc_request),
            "::",
            stringify!(flags)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct amdgpu_bo_metadata {
    pub flags: u64,
    pub tiling_info: u64,
    pub size_metadata: u32,
    pub umd_metadata: [u32; 64usize],
}
#[test]
fn bindgen_test_layout_amdgpu_bo_metadata() {
    const UNINIT: ::core::mem::MaybeUninit<amdgpu_bo_metadata> = ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<amdgpu_bo_metadata>(),
        280usize,
        concat!("Size of: ", stringify!(amdgpu_bo_metadata))
    );
    assert_eq!(
        ::core::mem::align_of::<amdgpu_bo_metadata>(),
        8usize,
        concat!("Alignment of ", stringify!(amdgpu_bo_metadata))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(amdgpu_bo_metadata),
            "::",
            stringify!(flags)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).tiling_info) as usize - ptr as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(amdgpu_bo_metadata),
            "::",
            stringify!(tiling_info)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).size_metadata) as usize - ptr as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(amdgpu_bo_metadata),
            "::",
            stringify!(size_metadata)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).umd_metadata) as usize - ptr as usize },
        20usize,
        concat!(
            "Offset of field: ",
            stringify!(amdgpu_bo_metadata),
            "::",
            stringify!(umd_metadata)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct amdgpu_bo_info {
    pub alloc_size: u64,
    pub phys_alignment: u64,
    pub preferred_heap: u32,
    pub alloc_flags: u64,
    pub metadata: amdgpu_bo_metadata,
}
#[test]
fn bindgen_test_layout_amdgpu_bo_info() {
    const UNINIT: ::core::mem::MaybeUninit<amdgpu_bo_info> = ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<amdgpu_bo_info>(),
        312usize,
        concat!("Size of: ", stringify!(amdgpu_bo_info))
    );
    assert_eq!(
        ::core::mem::align_of::<amdgpu_bo_info>(),
        8usize,
        concat!("Alignment of ", stringify!(amdgpu_bo_info))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).alloc_size) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(amdgpu_bo_info),
            "::",
            stringify!(alloc_size)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).phys_alignment) as usize - ptr as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(amdgpu_bo_info),
            "::",
            stringify!(phys_alignment)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).preferred_heap) as usize - ptr as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(amdgpu_bo_info),
            "::",
            stringify!(preferred_heap)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).alloc_flags) as usize - ptr as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(amdgpu_bo_info),
            "::",
            stringify!(alloc_flags)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).metadata) as usize - ptr as usize },
        32usize,
        concat!(
            "Offset of field: ",
            stringify!(amdgpu_bo_info),
            "::",
            stringify!(metadata)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct amdgpu_bo_import_result {
    pub buf_handle: amdgpu_bo_handle,
    pub alloc_size: u64,
}
#[test]
fn bindgen_test_layout_amdgpu_bo_import_result() {
    const UNINIT: ::core::mem::MaybeUninit<amdgpu_bo_import_result> =
        ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<amdgpu_bo_import_result>(),
        16usize,
        concat!("Size of: ", stringify!(amdgpu_bo_import_result))
    );
    assert_eq!(
        ::core::mem::align_of::<amdgpu_bo_import_result>(),
        8usize,
        concat!("Alignment of ", stringify!(amdgpu_bo_import_result))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).buf_handle) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(amdgpu_bo_import_result),
            "::",
            stringify!(buf_handle)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).alloc_size) as usize - ptr as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(amdgpu_bo_import_result),
            "::",
            stringify!(alloc_size)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct amdgpu_gds_resource_info {
    pub gds_gfx_partition_size: u32,
    pub compute_partition_size: u32,
    pub gds_total_size: u32,
    pub gws_per_gfx_partition: u32,
    pub gws_per_compute_partition: u32,
    pub oa_per_gfx_partition: u32,
    pub oa_per_compute_partition: u32,
}
#[test]
fn bindgen_test_layout_amdgpu_gds_resource_info() {
    const UNINIT: ::core::mem::MaybeUninit<amdgpu_gds_resource_info> =
        ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<amdgpu_gds_resource_info>(),
        28usize,
        concat!("Size of: ", stringify!(amdgpu_gds_resource_info))
    );
    assert_eq!(
        ::core::mem::align_of::<amdgpu_gds_resource_info>(),
        4usize,
        concat!("Alignment of ", stringify!(amdgpu_gds_resource_info))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).gds_gfx_partition_size) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(amdgpu_gds_resource_info),
            "::",
            stringify!(gds_gfx_partition_size)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).compute_partition_size) as usize - ptr as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(amdgpu_gds_resource_info),
            "::",
            stringify!(compute_partition_size)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).gds_total_size) as usize - ptr as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(amdgpu_gds_resource_info),
            "::",
            stringify!(gds_total_size)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).gws_per_gfx_partition) as usize - ptr as usize },
        12usize,
        concat!(
            "Offset of field: ",
            stringify!(amdgpu_gds_resource_info),
            "::",
            stringify!(gws_per_gfx_partition)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).gws_per_compute_partition) as usize - ptr as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(amdgpu_gds_resource_info),
            "::",
            stringify!(gws_per_compute_partition)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).oa_per_gfx_partition) as usize - ptr as usize },
        20usize,
        concat!(
            "Offset of field: ",
            stringify!(amdgpu_gds_resource_info),
            "::",
            stringify!(oa_per_gfx_partition)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).oa_per_compute_partition) as usize - ptr as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(amdgpu_gds_resource_info),
            "::",
            stringify!(oa_per_compute_partition)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct amdgpu_cs_fence {
    pub context: amdgpu_context_handle,
    pub ip_type: u32,
    pub ip_instance: u32,
    pub ring: u32,
    pub fence: u64,
}
#[test]
fn bindgen_test_layout_amdgpu_cs_fence() {
    const UNINIT: ::core::mem::MaybeUninit<amdgpu_cs_fence> = ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<amdgpu_cs_fence>(),
        32usize,
        concat!("Size of: ", stringify!(amdgpu_cs_fence))
    );
    assert_eq!(
        ::core::mem::align_of::<amdgpu_cs_fence>(),
        8usize,
        concat!("Alignment of ", stringify!(amdgpu_cs_fence))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).context) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(amdgpu_cs_fence),
            "::",
            stringify!(context)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).ip_type) as usize - ptr as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(amdgpu_cs_fence),
            "::",
            stringify!(ip_type)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).ip_instance) as usize - ptr as usize },
        12usize,
        concat!(
            "Offset of field: ",
            stringify!(amdgpu_cs_fence),
            "::",
            stringify!(ip_instance)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).ring) as usize - ptr as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(amdgpu_cs_fence),
            "::",
            stringify!(ring)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).fence) as usize - ptr as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(amdgpu_cs_fence),
            "::",
            stringify!(fence)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct amdgpu_cs_ib_info {
    pub flags: u64,
    pub ib_mc_address: u64,
    pub size: u32,
}
#[test]
fn bindgen_test_layout_amdgpu_cs_ib_info() {
    const UNINIT: ::core::mem::MaybeUninit<amdgpu_cs_ib_info> = ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<amdgpu_cs_ib_info>(),
        24usize,
        concat!("Size of: ", stringify!(amdgpu_cs_ib_info))
    );
    assert_eq!(
        ::core::mem::align_of::<amdgpu_cs_ib_info>(),
        8usize,
        concat!("Alignment of ", stringify!(amdgpu_cs_ib_info))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(amdgpu_cs_ib_info),
            "::",
            stringify!(flags)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).ib_mc_address) as usize - ptr as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(amdgpu_cs_ib_info),
            "::",
            stringify!(ib_mc_address)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).size) as usize - ptr as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(amdgpu_cs_ib_info),
            "::",
            stringify!(size)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct amdgpu_cs_fence_info {
    pub handle: amdgpu_bo_handle,
    pub offset: u64,
}
#[test]
fn bindgen_test_layout_amdgpu_cs_fence_info() {
    const UNINIT: ::core::mem::MaybeUninit<amdgpu_cs_fence_info> =
        ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<amdgpu_cs_fence_info>(),
        16usize,
        concat!("Size of: ", stringify!(amdgpu_cs_fence_info))
    );
    assert_eq!(
        ::core::mem::align_of::<amdgpu_cs_fence_info>(),
        8usize,
        concat!("Alignment of ", stringify!(amdgpu_cs_fence_info))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).handle) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(amdgpu_cs_fence_info),
            "::",
            stringify!(handle)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).offset) as usize - ptr as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(amdgpu_cs_fence_info),
            "::",
            stringify!(offset)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct amdgpu_cs_request {
    pub flags: u64,
    pub ip_type: ::core::ffi::c_uint,
    pub ip_instance: ::core::ffi::c_uint,
    pub ring: u32,
    pub resources: amdgpu_bo_list_handle,
    pub number_of_dependencies: u32,
    pub dependencies: *mut amdgpu_cs_fence,
    pub number_of_ibs: u32,
    pub ibs: *mut amdgpu_cs_ib_info,
    pub seq_no: u64,
    pub fence_info: amdgpu_cs_fence_info,
}
#[test]
fn bindgen_test_layout_amdgpu_cs_request() {
    const UNINIT: ::core::mem::MaybeUninit<amdgpu_cs_request> = ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<amdgpu_cs_request>(),
        88usize,
        concat!("Size of: ", stringify!(amdgpu_cs_request))
    );
    assert_eq!(
        ::core::mem::align_of::<amdgpu_cs_request>(),
        8usize,
        concat!("Alignment of ", stringify!(amdgpu_cs_request))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(amdgpu_cs_request),
            "::",
            stringify!(flags)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).ip_type) as usize - ptr as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(amdgpu_cs_request),
            "::",
            stringify!(ip_type)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).ip_instance) as usize - ptr as usize },
        12usize,
        concat!(
            "Offset of field: ",
            stringify!(amdgpu_cs_request),
            "::",
            stringify!(ip_instance)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).ring) as usize - ptr as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(amdgpu_cs_request),
            "::",
            stringify!(ring)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).resources) as usize - ptr as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(amdgpu_cs_request),
            "::",
            stringify!(resources)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).number_of_dependencies) as usize - ptr as usize },
        32usize,
        concat!(
            "Offset of field: ",
            stringify!(amdgpu_cs_request),
            "::",
            stringify!(number_of_dependencies)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).dependencies) as usize - ptr as usize },
        40usize,
        concat!(
            "Offset of field: ",
            stringify!(amdgpu_cs_request),
            "::",
            stringify!(dependencies)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).number_of_ibs) as usize - ptr as usize },
        48usize,
        concat!(
            "Offset of field: ",
            stringify!(amdgpu_cs_request),
            "::",
            stringify!(number_of_ibs)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).ibs) as usize - ptr as usize },
        56usize,
        concat!(
            "Offset of field: ",
            stringify!(amdgpu_cs_request),
            "::",
            stringify!(ibs)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).seq_no) as usize - ptr as usize },
        64usize,
        concat!(
            "Offset of field: ",
            stringify!(amdgpu_cs_request),
            "::",
            stringify!(seq_no)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).fence_info) as usize - ptr as usize },
        72usize,
        concat!(
            "Offset of field: ",
            stringify!(amdgpu_cs_request),
            "::",
            stringify!(fence_info)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct amdgpu_buffer_size_alignments {
    pub size_local: u64,
    pub size_remote: u64,
}
#[test]
fn bindgen_test_layout_amdgpu_buffer_size_alignments() {
    const UNINIT: ::core::mem::MaybeUninit<amdgpu_buffer_size_alignments> =
        ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<amdgpu_buffer_size_alignments>(),
        16usize,
        concat!("Size of: ", stringify!(amdgpu_buffer_size_alignments))
    );
    assert_eq!(
        ::core::mem::align_of::<amdgpu_buffer_size_alignments>(),
        8usize,
        concat!("Alignment of ", stringify!(amdgpu_buffer_size_alignments))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).size_local) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(amdgpu_buffer_size_alignments),
            "::",
            stringify!(size_local)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).size_remote) as usize - ptr as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(amdgpu_buffer_size_alignments),
            "::",
            stringify!(size_remote)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct amdgpu_heap_info {
    pub heap_size: u64,
    pub heap_usage: u64,
    pub max_allocation: u64,
}
#[test]
fn bindgen_test_layout_amdgpu_heap_info() {
    const UNINIT: ::core::mem::MaybeUninit<amdgpu_heap_info> = ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<amdgpu_heap_info>(),
        24usize,
        concat!("Size of: ", stringify!(amdgpu_heap_info))
    );
    assert_eq!(
        ::core::mem::align_of::<amdgpu_heap_info>(),
        8usize,
        concat!("Alignment of ", stringify!(amdgpu_heap_info))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).heap_size) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(amdgpu_heap_info),
            "::",
            stringify!(heap_size)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).heap_usage) as usize - ptr as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(amdgpu_heap_info),
            "::",
            stringify!(heap_usage)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).max_allocation) as usize - ptr as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(amdgpu_heap_info),
            "::",
            stringify!(max_allocation)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct amdgpu_gpu_info {
    pub asic_id: u32,
    pub chip_rev: u32,
    pub chip_external_rev: u32,
    pub family_id: u32,
    pub ids_flags: u64,
    pub max_engine_clk: u64,
    pub max_memory_clk: u64,
    pub num_shader_engines: u32,
    pub num_shader_arrays_per_engine: u32,
    pub avail_quad_shader_pipes: u32,
    pub max_quad_shader_pipes: u32,
    pub cache_entries_per_quad_pipe: u32,
    pub num_hw_gfx_contexts: u32,
    pub rb_pipes: u32,
    pub enabled_rb_pipes_mask: u32,
    pub gpu_counter_freq: u32,
    pub backend_disable: [u32; 4usize],
    pub mc_arb_ramcfg: u32,
    pub gb_addr_cfg: u32,
    pub gb_tile_mode: [u32; 32usize],
    pub gb_macro_tile_mode: [u32; 16usize],
    pub pa_sc_raster_cfg: [u32; 4usize],
    pub pa_sc_raster_cfg1: [u32; 4usize],
    pub cu_active_number: u32,
    pub cu_ao_mask: u32,
    pub cu_bitmap: [[u32; 4usize]; 4usize],
    pub vram_type: u32,
    pub vram_bit_width: u32,
    pub ce_ram_size: u32,
    pub vce_harvest_config: u32,
    pub pci_rev_id: u32,
}
#[test]
fn bindgen_test_layout_amdgpu_gpu_info() {
    const UNINIT: ::core::mem::MaybeUninit<amdgpu_gpu_info> = ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<amdgpu_gpu_info>(),
        416usize,
        concat!("Size of: ", stringify!(amdgpu_gpu_info))
    );
    assert_eq!(
        ::core::mem::align_of::<amdgpu_gpu_info>(),
        8usize,
        concat!("Alignment of ", stringify!(amdgpu_gpu_info))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).asic_id) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(amdgpu_gpu_info),
            "::",
            stringify!(asic_id)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).chip_rev) as usize - ptr as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(amdgpu_gpu_info),
            "::",
            stringify!(chip_rev)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).chip_external_rev) as usize - ptr as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(amdgpu_gpu_info),
            "::",
            stringify!(chip_external_rev)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).family_id) as usize - ptr as usize },
        12usize,
        concat!(
            "Offset of field: ",
            stringify!(amdgpu_gpu_info),
            "::",
            stringify!(family_id)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).ids_flags) as usize - ptr as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(amdgpu_gpu_info),
            "::",
            stringify!(ids_flags)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).max_engine_clk) as usize - ptr as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(amdgpu_gpu_info),
            "::",
            stringify!(max_engine_clk)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).max_memory_clk) as usize - ptr as usize },
        32usize,
        concat!(
            "Offset of field: ",
            stringify!(amdgpu_gpu_info),
            "::",
            stringify!(max_memory_clk)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).num_shader_engines) as usize - ptr as usize },
        40usize,
        concat!(
            "Offset of field: ",
            stringify!(amdgpu_gpu_info),
            "::",
            stringify!(num_shader_engines)
        )
    );
    assert_eq!(
        unsafe {
            ::core::ptr::addr_of!((*ptr).num_shader_arrays_per_engine) as usize - ptr as usize
        },
        44usize,
        concat!(
            "Offset of field: ",
            stringify!(amdgpu_gpu_info),
            "::",
            stringify!(num_shader_arrays_per_engine)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).avail_quad_shader_pipes) as usize - ptr as usize },
        48usize,
        concat!(
            "Offset of field: ",
            stringify!(amdgpu_gpu_info),
            "::",
            stringify!(avail_quad_shader_pipes)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).max_quad_shader_pipes) as usize - ptr as usize },
        52usize,
        concat!(
            "Offset of field: ",
            stringify!(amdgpu_gpu_info),
            "::",
            stringify!(max_quad_shader_pipes)
        )
    );
    assert_eq!(
        unsafe {
            ::core::ptr::addr_of!((*ptr).cache_entries_per_quad_pipe) as usize - ptr as usize
        },
        56usize,
        concat!(
            "Offset of field: ",
            stringify!(amdgpu_gpu_info),
            "::",
            stringify!(cache_entries_per_quad_pipe)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).num_hw_gfx_contexts) as usize - ptr as usize },
        60usize,
        concat!(
            "Offset of field: ",
            stringify!(amdgpu_gpu_info),
            "::",
            stringify!(num_hw_gfx_contexts)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).rb_pipes) as usize - ptr as usize },
        64usize,
        concat!(
            "Offset of field: ",
            stringify!(amdgpu_gpu_info),
            "::",
            stringify!(rb_pipes)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).enabled_rb_pipes_mask) as usize - ptr as usize },
        68usize,
        concat!(
            "Offset of field: ",
            stringify!(amdgpu_gpu_info),
            "::",
            stringify!(enabled_rb_pipes_mask)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).gpu_counter_freq) as usize - ptr as usize },
        72usize,
        concat!(
            "Offset of field: ",
            stringify!(amdgpu_gpu_info),
            "::",
            stringify!(gpu_counter_freq)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).backend_disable) as usize - ptr as usize },
        76usize,
        concat!(
            "Offset of field: ",
            stringify!(amdgpu_gpu_info),
            "::",
            stringify!(backend_disable)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).mc_arb_ramcfg) as usize - ptr as usize },
        92usize,
        concat!(
            "Offset of field: ",
            stringify!(amdgpu_gpu_info),
            "::",
            stringify!(mc_arb_ramcfg)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).gb_addr_cfg) as usize - ptr as usize },
        96usize,
        concat!(
            "Offset of field: ",
            stringify!(amdgpu_gpu_info),
            "::",
            stringify!(gb_addr_cfg)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).gb_tile_mode) as usize - ptr as usize },
        100usize,
        concat!(
            "Offset of field: ",
            stringify!(amdgpu_gpu_info),
            "::",
            stringify!(gb_tile_mode)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).gb_macro_tile_mode) as usize - ptr as usize },
        228usize,
        concat!(
            "Offset of field: ",
            stringify!(amdgpu_gpu_info),
            "::",
            stringify!(gb_macro_tile_mode)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).pa_sc_raster_cfg) as usize - ptr as usize },
        292usize,
        concat!(
            "Offset of field: ",
            stringify!(amdgpu_gpu_info),
            "::",
            stringify!(pa_sc_raster_cfg)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).pa_sc_raster_cfg1) as usize - ptr as usize },
        308usize,
        concat!(
            "Offset of field: ",
            stringify!(amdgpu_gpu_info),
            "::",
            stringify!(pa_sc_raster_cfg1)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).cu_active_number) as usize - ptr as usize },
        324usize,
        concat!(
            "Offset of field: ",
            stringify!(amdgpu_gpu_info),
            "::",
            stringify!(cu_active_number)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).cu_ao_mask) as usize - ptr as usize },
        328usize,
        concat!(
            "Offset of field: ",
            stringify!(amdgpu_gpu_info),
            "::",
            stringify!(cu_ao_mask)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).cu_bitmap) as usize - ptr as usize },
        332usize,
        concat!(
            "Offset of field: ",
            stringify!(amdgpu_gpu_info),
            "::",
            stringify!(cu_bitmap)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).vram_type) as usize - ptr as usize },
        396usize,
        concat!(
            "Offset of field: ",
            stringify!(amdgpu_gpu_info),
            "::",
            stringify!(vram_type)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).vram_bit_width) as usize - ptr as usize },
        400usize,
        concat!(
            "Offset of field: ",
            stringify!(amdgpu_gpu_info),
            "::",
            stringify!(vram_bit_width)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).ce_ram_size) as usize - ptr as usize },
        404usize,
        concat!(
            "Offset of field: ",
            stringify!(amdgpu_gpu_info),
            "::",
            stringify!(ce_ram_size)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).vce_harvest_config) as usize - ptr as usize },
        408usize,
        concat!(
            "Offset of field: ",
            stringify!(amdgpu_gpu_info),
            "::",
            stringify!(vce_harvest_config)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).pci_rev_id) as usize - ptr as usize },
        412usize,
        concat!(
            "Offset of field: ",
            stringify!(amdgpu_gpu_info),
            "::",
            stringify!(pci_rev_id)
        )
    );
}
extern "C" {
    pub fn amdgpu_device_initialize(
        fd: ::core::ffi::c_int,
        major_version: *mut u32,
        minor_version: *mut u32,
        device_handle: *mut amdgpu_device_handle,
    ) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn amdgpu_device_deinitialize(device_handle: amdgpu_device_handle) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn amdgpu_device_get_fd(device_handle: amdgpu_device_handle) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn amdgpu_bo_alloc(
        dev: amdgpu_device_handle,
        alloc_buffer: *mut amdgpu_bo_alloc_request,
        buf_handle: *mut amdgpu_bo_handle,
    ) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn amdgpu_bo_set_metadata(
        buf_handle: amdgpu_bo_handle,
        info: *mut amdgpu_bo_metadata,
    ) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn amdgpu_bo_query_info(
        buf_handle: amdgpu_bo_handle,
        info: *mut amdgpu_bo_info,
    ) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn amdgpu_bo_export(
        buf_handle: amdgpu_bo_handle,
        type_: amdgpu_bo_handle_type,
        shared_handle: *mut u32,
    ) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn amdgpu_bo_import(
        dev: amdgpu_device_handle,
        type_: amdgpu_bo_handle_type,
        shared_handle: u32,
        output: *mut amdgpu_bo_import_result,
    ) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn amdgpu_create_bo_from_user_mem(
        dev: amdgpu_device_handle,
        cpu: *mut ::core::ffi::c_void,
        size: u64,
        buf_handle: *mut amdgpu_bo_handle,
    ) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn amdgpu_find_bo_by_cpu_mapping(
        dev: amdgpu_device_handle,
        cpu: *mut ::core::ffi::c_void,
        size: u64,
        buf_handle: *mut amdgpu_bo_handle,
        offset_in_bo: *mut u64,
    ) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn amdgpu_bo_free(buf_handle: amdgpu_bo_handle) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn amdgpu_bo_inc_ref(bo: amdgpu_bo_handle);
}
extern "C" {
    pub fn amdgpu_bo_cpu_map(
        buf_handle: amdgpu_bo_handle,
        cpu: *mut *mut ::core::ffi::c_void,
    ) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn amdgpu_bo_cpu_unmap(buf_handle: amdgpu_bo_handle) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn amdgpu_bo_wait_for_idle(
        buf_handle: amdgpu_bo_handle,
        timeout_ns: u64,
        buffer_busy: *mut bool,
    ) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn amdgpu_bo_list_create_raw(
        dev: amdgpu_device_handle,
        number_of_buffers: u32,
        buffers: *mut drm_amdgpu_bo_list_entry,
        result: *mut u32,
    ) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn amdgpu_bo_list_destroy_raw(
        dev: amdgpu_device_handle,
        bo_list: u32,
    ) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn amdgpu_bo_list_create(
        dev: amdgpu_device_handle,
        number_of_resources: u32,
        resources: *mut amdgpu_bo_handle,
        resource_prios: *mut u8,
        result: *mut amdgpu_bo_list_handle,
    ) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn amdgpu_bo_list_destroy(handle: amdgpu_bo_list_handle) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn amdgpu_bo_list_update(
        handle: amdgpu_bo_list_handle,
        number_of_resources: u32,
        resources: *mut amdgpu_bo_handle,
        resource_prios: *mut u8,
    ) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn amdgpu_cs_ctx_create2(
        dev: amdgpu_device_handle,
        priority: u32,
        context: *mut amdgpu_context_handle,
    ) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn amdgpu_cs_ctx_create(
        dev: amdgpu_device_handle,
        context: *mut amdgpu_context_handle,
    ) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn amdgpu_cs_ctx_free(context: amdgpu_context_handle) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn amdgpu_cs_ctx_override_priority(
        dev: amdgpu_device_handle,
        context: amdgpu_context_handle,
        master_fd: ::core::ffi::c_int,
        priority: ::core::ffi::c_uint,
    ) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn amdgpu_cs_ctx_stable_pstate(
        context: amdgpu_context_handle,
        op: u32,
        flags: u32,
        out_flags: *mut u32,
    ) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn amdgpu_cs_query_reset_state(
        context: amdgpu_context_handle,
        state: *mut u32,
        hangs: *mut u32,
    ) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn amdgpu_cs_query_reset_state2(
        context: amdgpu_context_handle,
        flags: *mut u64,
    ) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn amdgpu_cs_submit(
        context: amdgpu_context_handle,
        flags: u64,
        ibs_request: *mut amdgpu_cs_request,
        number_of_requests: u32,
    ) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn amdgpu_cs_query_fence_status(
        fence: *mut amdgpu_cs_fence,
        timeout_ns: u64,
        flags: u64,
        expired: *mut u32,
    ) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn amdgpu_cs_wait_fences(
        fences: *mut amdgpu_cs_fence,
        fence_count: u32,
        wait_all: bool,
        timeout_ns: u64,
        status: *mut u32,
        first: *mut u32,
    ) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn amdgpu_query_buffer_size_alignment(
        dev: amdgpu_device_handle,
        info: *mut amdgpu_buffer_size_alignments,
    ) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn amdgpu_query_firmware_version(
        dev: amdgpu_device_handle,
        fw_type: ::core::ffi::c_uint,
        ip_instance: ::core::ffi::c_uint,
        index: ::core::ffi::c_uint,
        version: *mut u32,
        feature: *mut u32,
    ) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn amdgpu_query_hw_ip_count(
        dev: amdgpu_device_handle,
        type_: ::core::ffi::c_uint,
        count: *mut u32,
    ) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn amdgpu_query_hw_ip_info(
        dev: amdgpu_device_handle,
        type_: ::core::ffi::c_uint,
        ip_instance: ::core::ffi::c_uint,
        info: *mut drm_amdgpu_info_hw_ip,
    ) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn amdgpu_query_heap_info(
        dev: amdgpu_device_handle,
        heap: u32,
        flags: u32,
        info: *mut amdgpu_heap_info,
    ) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn amdgpu_query_crtc_from_id(
        dev: amdgpu_device_handle,
        id: ::core::ffi::c_uint,
        result: *mut i32,
    ) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn amdgpu_query_gpu_info(
        dev: amdgpu_device_handle,
        info: *mut amdgpu_gpu_info,
    ) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn amdgpu_query_info(
        dev: amdgpu_device_handle,
        info_id: ::core::ffi::c_uint,
        size: ::core::ffi::c_uint,
        value: *mut ::core::ffi::c_void,
    ) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn amdgpu_query_sw_info(
        dev: amdgpu_device_handle,
        info: amdgpu_sw_info,
        value: *mut ::core::ffi::c_void,
    ) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn amdgpu_query_gds_info(
        dev: amdgpu_device_handle,
        gds_info: *mut amdgpu_gds_resource_info,
    ) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn amdgpu_query_sensor_info(
        dev: amdgpu_device_handle,
        sensor_type: ::core::ffi::c_uint,
        size: ::core::ffi::c_uint,
        value: *mut ::core::ffi::c_void,
    ) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn amdgpu_query_video_caps_info(
        dev: amdgpu_device_handle,
        cap_type: ::core::ffi::c_uint,
        size: ::core::ffi::c_uint,
        value: *mut ::core::ffi::c_void,
    ) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn amdgpu_query_gpuvm_fault_info(
        dev: amdgpu_device_handle,
        size: ::core::ffi::c_uint,
        value: *mut ::core::ffi::c_void,
    ) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn amdgpu_read_mm_registers(
        dev: amdgpu_device_handle,
        dword_offset: ::core::ffi::c_uint,
        count: ::core::ffi::c_uint,
        instance: u32,
        flags: u32,
        values: *mut u32,
    ) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn amdgpu_va_range_alloc(
        dev: amdgpu_device_handle,
        va_range_type: amdgpu_gpu_va_range,
        size: u64,
        va_base_alignment: u64,
        va_base_required: u64,
        va_base_allocated: *mut u64,
        va_range_handle: *mut amdgpu_va_handle,
        flags: u64,
    ) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn amdgpu_va_range_free(va_range_handle: amdgpu_va_handle) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn amdgpu_va_range_query(
        dev: amdgpu_device_handle,
        type_: amdgpu_gpu_va_range,
        start: *mut u64,
        end: *mut u64,
    ) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn amdgpu_bo_va_op(
        bo: amdgpu_bo_handle,
        offset: u64,
        size: u64,
        addr: u64,
        flags: u64,
        ops: u32,
    ) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn amdgpu_bo_va_op_raw(
        dev: amdgpu_device_handle,
        bo: amdgpu_bo_handle,
        offset: u64,
        size: u64,
        addr: u64,
        flags: u64,
        ops: u32,
    ) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn amdgpu_cs_create_semaphore(sem: *mut amdgpu_semaphore_handle) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn amdgpu_cs_signal_semaphore(
        ctx: amdgpu_context_handle,
        ip_type: u32,
        ip_instance: u32,
        ring: u32,
        sem: amdgpu_semaphore_handle,
    ) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn amdgpu_cs_wait_semaphore(
        ctx: amdgpu_context_handle,
        ip_type: u32,
        ip_instance: u32,
        ring: u32,
        sem: amdgpu_semaphore_handle,
    ) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn amdgpu_cs_destroy_semaphore(sem: amdgpu_semaphore_handle) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn amdgpu_get_marketing_name(dev: amdgpu_device_handle) -> *const ::core::ffi::c_char;
}
extern "C" {
    pub fn amdgpu_cs_create_syncobj2(
        dev: amdgpu_device_handle,
        flags: u32,
        syncobj: *mut u32,
    ) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn amdgpu_cs_create_syncobj(
        dev: amdgpu_device_handle,
        syncobj: *mut u32,
    ) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn amdgpu_cs_destroy_syncobj(dev: amdgpu_device_handle, syncobj: u32)
        -> ::core::ffi::c_int;
}
extern "C" {
    pub fn amdgpu_cs_syncobj_reset(
        dev: amdgpu_device_handle,
        syncobjs: *const u32,
        syncobj_count: u32,
    ) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn amdgpu_cs_syncobj_signal(
        dev: amdgpu_device_handle,
        syncobjs: *const u32,
        syncobj_count: u32,
    ) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn amdgpu_cs_syncobj_timeline_signal(
        dev: amdgpu_device_handle,
        syncobjs: *const u32,
        points: *mut u64,
        syncobj_count: u32,
    ) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn amdgpu_cs_syncobj_wait(
        dev: amdgpu_device_handle,
        handles: *mut u32,
        num_handles: ::core::ffi::c_uint,
        timeout_nsec: i64,
        flags: ::core::ffi::c_uint,
        first_signaled: *mut u32,
    ) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn amdgpu_cs_syncobj_timeline_wait(
        dev: amdgpu_device_handle,
        handles: *mut u32,
        points: *mut u64,
        num_handles: ::core::ffi::c_uint,
        timeout_nsec: i64,
        flags: ::core::ffi::c_uint,
        first_signaled: *mut u32,
    ) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn amdgpu_cs_syncobj_query(
        dev: amdgpu_device_handle,
        handles: *mut u32,
        points: *mut u64,
        num_handles: ::core::ffi::c_uint,
    ) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn amdgpu_cs_syncobj_query2(
        dev: amdgpu_device_handle,
        handles: *mut u32,
        points: *mut u64,
        num_handles: ::core::ffi::c_uint,
        flags: u32,
    ) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn amdgpu_cs_export_syncobj(
        dev: amdgpu_device_handle,
        syncobj: u32,
        shared_fd: *mut ::core::ffi::c_int,
    ) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn amdgpu_cs_import_syncobj(
        dev: amdgpu_device_handle,
        shared_fd: ::core::ffi::c_int,
        syncobj: *mut u32,
    ) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn amdgpu_cs_syncobj_export_sync_file(
        dev: amdgpu_device_handle,
        syncobj: u32,
        sync_file_fd: *mut ::core::ffi::c_int,
    ) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn amdgpu_cs_syncobj_import_sync_file(
        dev: amdgpu_device_handle,
        syncobj: u32,
        sync_file_fd: ::core::ffi::c_int,
    ) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn amdgpu_cs_syncobj_export_sync_file2(
        dev: amdgpu_device_handle,
        syncobj: u32,
        point: u64,
        flags: u32,
        sync_file_fd: *mut ::core::ffi::c_int,
    ) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn amdgpu_cs_syncobj_import_sync_file2(
        dev: amdgpu_device_handle,
        syncobj: u32,
        point: u64,
        sync_file_fd: ::core::ffi::c_int,
    ) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn amdgpu_cs_syncobj_transfer(
        dev: amdgpu_device_handle,
        dst_handle: u32,
        dst_point: u64,
        src_handle: u32,
        src_point: u64,
        flags: u32,
    ) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn amdgpu_cs_fence_to_handle(
        dev: amdgpu_device_handle,
        fence: *mut amdgpu_cs_fence,
        what: u32,
        out_handle: *mut u32,
    ) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn amdgpu_cs_submit_raw(
        dev: amdgpu_device_handle,
        context: amdgpu_context_handle,
        bo_list_handle: amdgpu_bo_list_handle,
        num_chunks: ::core::ffi::c_int,
        chunks: *mut drm_amdgpu_cs_chunk,
        seq_no: *mut u64,
    ) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn amdgpu_cs_submit_raw2(
        dev: amdgpu_device_handle,
        context: amdgpu_context_handle,
        bo_list_handle: u32,
        num_chunks: ::core::ffi::c_int,
        chunks: *mut drm_amdgpu_cs_chunk,
        seq_no: *mut u64,
    ) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn amdgpu_cs_chunk_fence_to_dep(
        fence: *mut amdgpu_cs_fence,
        dep: *mut drm_amdgpu_cs_chunk_dep,
    );
}
extern "C" {
    pub fn amdgpu_cs_chunk_fence_info_to_data(
        fence_info: *mut amdgpu_cs_fence_info,
        data: *mut drm_amdgpu_cs_chunk_data,
    );
}
extern "C" {
    pub fn amdgpu_vm_reserve_vmid(dev: amdgpu_device_handle, flags: u32) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn amdgpu_vm_unreserve_vmid(dev: amdgpu_device_handle, flags: u32) -> ::core::ffi::c_int;
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct drm_amdgpu_gem_create_in {
    #[doc = " the requested memory size"]
    pub bo_size: __u64,
    #[doc = " physical start_addr alignment in bytes for some HW requirements"]
    pub alignment: __u64,
    #[doc = " the requested memory domains"]
    pub domains: __u64,
    #[doc = " allocation flags"]
    pub domain_flags: __u64,
}
#[test]
fn bindgen_test_layout_drm_amdgpu_gem_create_in() {
    const UNINIT: ::core::mem::MaybeUninit<drm_amdgpu_gem_create_in> =
        ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<drm_amdgpu_gem_create_in>(),
        32usize,
        concat!("Size of: ", stringify!(drm_amdgpu_gem_create_in))
    );
    assert_eq!(
        ::core::mem::align_of::<drm_amdgpu_gem_create_in>(),
        8usize,
        concat!("Alignment of ", stringify!(drm_amdgpu_gem_create_in))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).bo_size) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_gem_create_in),
            "::",
            stringify!(bo_size)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).alignment) as usize - ptr as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_gem_create_in),
            "::",
            stringify!(alignment)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).domains) as usize - ptr as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_gem_create_in),
            "::",
            stringify!(domains)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).domain_flags) as usize - ptr as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_gem_create_in),
            "::",
            stringify!(domain_flags)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct drm_amdgpu_gem_create_out {
    #[doc = " returned GEM object handle"]
    pub handle: __u32,
    pub _pad: __u32,
}
#[test]
fn bindgen_test_layout_drm_amdgpu_gem_create_out() {
    const UNINIT: ::core::mem::MaybeUninit<drm_amdgpu_gem_create_out> =
        ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<drm_amdgpu_gem_create_out>(),
        8usize,
        concat!("Size of: ", stringify!(drm_amdgpu_gem_create_out))
    );
    assert_eq!(
        ::core::mem::align_of::<drm_amdgpu_gem_create_out>(),
        4usize,
        concat!("Alignment of ", stringify!(drm_amdgpu_gem_create_out))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).handle) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_gem_create_out),
            "::",
            stringify!(handle)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr)._pad) as usize - ptr as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_gem_create_out),
            "::",
            stringify!(_pad)
        )
    );
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union drm_amdgpu_gem_create {
    pub in_: drm_amdgpu_gem_create_in,
    pub out: drm_amdgpu_gem_create_out,
}
#[test]
fn bindgen_test_layout_drm_amdgpu_gem_create() {
    const UNINIT: ::core::mem::MaybeUninit<drm_amdgpu_gem_create> =
        ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<drm_amdgpu_gem_create>(),
        32usize,
        concat!("Size of: ", stringify!(drm_amdgpu_gem_create))
    );
    assert_eq!(
        ::core::mem::align_of::<drm_amdgpu_gem_create>(),
        8usize,
        concat!("Alignment of ", stringify!(drm_amdgpu_gem_create))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).in_) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_gem_create),
            "::",
            stringify!(in_)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).out) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_gem_create),
            "::",
            stringify!(out)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct drm_amdgpu_bo_list_in {
    #[doc = " Type of operation"]
    pub operation: __u32,
    #[doc = " Handle of list or 0 if we want to create one"]
    pub list_handle: __u32,
    #[doc = " Number of BOs in list"]
    pub bo_number: __u32,
    #[doc = " Size of each element describing BO"]
    pub bo_info_size: __u32,
    #[doc = " Pointer to array describing BOs"]
    pub bo_info_ptr: __u64,
}
#[test]
fn bindgen_test_layout_drm_amdgpu_bo_list_in() {
    const UNINIT: ::core::mem::MaybeUninit<drm_amdgpu_bo_list_in> =
        ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<drm_amdgpu_bo_list_in>(),
        24usize,
        concat!("Size of: ", stringify!(drm_amdgpu_bo_list_in))
    );
    assert_eq!(
        ::core::mem::align_of::<drm_amdgpu_bo_list_in>(),
        8usize,
        concat!("Alignment of ", stringify!(drm_amdgpu_bo_list_in))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).operation) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_bo_list_in),
            "::",
            stringify!(operation)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).list_handle) as usize - ptr as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_bo_list_in),
            "::",
            stringify!(list_handle)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).bo_number) as usize - ptr as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_bo_list_in),
            "::",
            stringify!(bo_number)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).bo_info_size) as usize - ptr as usize },
        12usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_bo_list_in),
            "::",
            stringify!(bo_info_size)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).bo_info_ptr) as usize - ptr as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_bo_list_in),
            "::",
            stringify!(bo_info_ptr)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct drm_amdgpu_bo_list_entry {
    #[doc = " Handle of BO"]
    pub bo_handle: __u32,
    #[doc = " New (if specified) BO priority to be used during migration"]
    pub bo_priority: __u32,
}
#[test]
fn bindgen_test_layout_drm_amdgpu_bo_list_entry() {
    const UNINIT: ::core::mem::MaybeUninit<drm_amdgpu_bo_list_entry> =
        ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<drm_amdgpu_bo_list_entry>(),
        8usize,
        concat!("Size of: ", stringify!(drm_amdgpu_bo_list_entry))
    );
    assert_eq!(
        ::core::mem::align_of::<drm_amdgpu_bo_list_entry>(),
        4usize,
        concat!("Alignment of ", stringify!(drm_amdgpu_bo_list_entry))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).bo_handle) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_bo_list_entry),
            "::",
            stringify!(bo_handle)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).bo_priority) as usize - ptr as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_bo_list_entry),
            "::",
            stringify!(bo_priority)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct drm_amdgpu_bo_list_out {
    #[doc = " Handle of resource list"]
    pub list_handle: __u32,
    pub _pad: __u32,
}
#[test]
fn bindgen_test_layout_drm_amdgpu_bo_list_out() {
    const UNINIT: ::core::mem::MaybeUninit<drm_amdgpu_bo_list_out> =
        ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<drm_amdgpu_bo_list_out>(),
        8usize,
        concat!("Size of: ", stringify!(drm_amdgpu_bo_list_out))
    );
    assert_eq!(
        ::core::mem::align_of::<drm_amdgpu_bo_list_out>(),
        4usize,
        concat!("Alignment of ", stringify!(drm_amdgpu_bo_list_out))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).list_handle) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_bo_list_out),
            "::",
            stringify!(list_handle)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr)._pad) as usize - ptr as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_bo_list_out),
            "::",
            stringify!(_pad)
        )
    );
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union drm_amdgpu_bo_list {
    pub in_: drm_amdgpu_bo_list_in,
    pub out: drm_amdgpu_bo_list_out,
}
#[test]
fn bindgen_test_layout_drm_amdgpu_bo_list() {
    const UNINIT: ::core::mem::MaybeUninit<drm_amdgpu_bo_list> = ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<drm_amdgpu_bo_list>(),
        24usize,
        concat!("Size of: ", stringify!(drm_amdgpu_bo_list))
    );
    assert_eq!(
        ::core::mem::align_of::<drm_amdgpu_bo_list>(),
        8usize,
        concat!("Alignment of ", stringify!(drm_amdgpu_bo_list))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).in_) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_bo_list),
            "::",
            stringify!(in_)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).out) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_bo_list),
            "::",
            stringify!(out)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct drm_amdgpu_ctx_in {
    #[doc = " AMDGPU_CTX_OP_*"]
    pub op: __u32,
    #[doc = " Flags"]
    pub flags: __u32,
    pub ctx_id: __u32,
    #[doc = " AMDGPU_CTX_PRIORITY_*"]
    pub priority: __s32,
}
#[test]
fn bindgen_test_layout_drm_amdgpu_ctx_in() {
    const UNINIT: ::core::mem::MaybeUninit<drm_amdgpu_ctx_in> = ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<drm_amdgpu_ctx_in>(),
        16usize,
        concat!("Size of: ", stringify!(drm_amdgpu_ctx_in))
    );
    assert_eq!(
        ::core::mem::align_of::<drm_amdgpu_ctx_in>(),
        4usize,
        concat!("Alignment of ", stringify!(drm_amdgpu_ctx_in))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).op) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_ctx_in),
            "::",
            stringify!(op)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_ctx_in),
            "::",
            stringify!(flags)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).ctx_id) as usize - ptr as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_ctx_in),
            "::",
            stringify!(ctx_id)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).priority) as usize - ptr as usize },
        12usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_ctx_in),
            "::",
            stringify!(priority)
        )
    );
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union drm_amdgpu_ctx_out {
    pub alloc: drm_amdgpu_ctx_out__bindgen_ty_1,
    pub state: drm_amdgpu_ctx_out__bindgen_ty_2,
    pub pstate: drm_amdgpu_ctx_out__bindgen_ty_3,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct drm_amdgpu_ctx_out__bindgen_ty_1 {
    pub ctx_id: __u32,
    pub _pad: __u32,
}
#[test]
fn bindgen_test_layout_drm_amdgpu_ctx_out__bindgen_ty_1() {
    const UNINIT: ::core::mem::MaybeUninit<drm_amdgpu_ctx_out__bindgen_ty_1> =
        ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<drm_amdgpu_ctx_out__bindgen_ty_1>(),
        8usize,
        concat!("Size of: ", stringify!(drm_amdgpu_ctx_out__bindgen_ty_1))
    );
    assert_eq!(
        ::core::mem::align_of::<drm_amdgpu_ctx_out__bindgen_ty_1>(),
        4usize,
        concat!(
            "Alignment of ",
            stringify!(drm_amdgpu_ctx_out__bindgen_ty_1)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).ctx_id) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_ctx_out__bindgen_ty_1),
            "::",
            stringify!(ctx_id)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr)._pad) as usize - ptr as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_ctx_out__bindgen_ty_1),
            "::",
            stringify!(_pad)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct drm_amdgpu_ctx_out__bindgen_ty_2 {
    #[doc = " For future use, no flags defined so far"]
    pub flags: __u64,
    #[doc = " Number of resets caused by this context so far."]
    pub hangs: __u32,
    #[doc = " Reset status since the last call of the ioctl."]
    pub reset_status: __u32,
}
#[test]
fn bindgen_test_layout_drm_amdgpu_ctx_out__bindgen_ty_2() {
    const UNINIT: ::core::mem::MaybeUninit<drm_amdgpu_ctx_out__bindgen_ty_2> =
        ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<drm_amdgpu_ctx_out__bindgen_ty_2>(),
        16usize,
        concat!("Size of: ", stringify!(drm_amdgpu_ctx_out__bindgen_ty_2))
    );
    assert_eq!(
        ::core::mem::align_of::<drm_amdgpu_ctx_out__bindgen_ty_2>(),
        8usize,
        concat!(
            "Alignment of ",
            stringify!(drm_amdgpu_ctx_out__bindgen_ty_2)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_ctx_out__bindgen_ty_2),
            "::",
            stringify!(flags)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).hangs) as usize - ptr as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_ctx_out__bindgen_ty_2),
            "::",
            stringify!(hangs)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).reset_status) as usize - ptr as usize },
        12usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_ctx_out__bindgen_ty_2),
            "::",
            stringify!(reset_status)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct drm_amdgpu_ctx_out__bindgen_ty_3 {
    pub flags: __u32,
    pub _pad: __u32,
}
#[test]
fn bindgen_test_layout_drm_amdgpu_ctx_out__bindgen_ty_3() {
    const UNINIT: ::core::mem::MaybeUninit<drm_amdgpu_ctx_out__bindgen_ty_3> =
        ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<drm_amdgpu_ctx_out__bindgen_ty_3>(),
        8usize,
        concat!("Size of: ", stringify!(drm_amdgpu_ctx_out__bindgen_ty_3))
    );
    assert_eq!(
        ::core::mem::align_of::<drm_amdgpu_ctx_out__bindgen_ty_3>(),
        4usize,
        concat!(
            "Alignment of ",
            stringify!(drm_amdgpu_ctx_out__bindgen_ty_3)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_ctx_out__bindgen_ty_3),
            "::",
            stringify!(flags)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr)._pad) as usize - ptr as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_ctx_out__bindgen_ty_3),
            "::",
            stringify!(_pad)
        )
    );
}
#[test]
fn bindgen_test_layout_drm_amdgpu_ctx_out() {
    const UNINIT: ::core::mem::MaybeUninit<drm_amdgpu_ctx_out> = ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<drm_amdgpu_ctx_out>(),
        16usize,
        concat!("Size of: ", stringify!(drm_amdgpu_ctx_out))
    );
    assert_eq!(
        ::core::mem::align_of::<drm_amdgpu_ctx_out>(),
        8usize,
        concat!("Alignment of ", stringify!(drm_amdgpu_ctx_out))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).alloc) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_ctx_out),
            "::",
            stringify!(alloc)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).state) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_ctx_out),
            "::",
            stringify!(state)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).pstate) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_ctx_out),
            "::",
            stringify!(pstate)
        )
    );
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union drm_amdgpu_ctx {
    pub in_: drm_amdgpu_ctx_in,
    pub out: drm_amdgpu_ctx_out,
}
#[test]
fn bindgen_test_layout_drm_amdgpu_ctx() {
    const UNINIT: ::core::mem::MaybeUninit<drm_amdgpu_ctx> = ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<drm_amdgpu_ctx>(),
        16usize,
        concat!("Size of: ", stringify!(drm_amdgpu_ctx))
    );
    assert_eq!(
        ::core::mem::align_of::<drm_amdgpu_ctx>(),
        8usize,
        concat!("Alignment of ", stringify!(drm_amdgpu_ctx))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).in_) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_ctx),
            "::",
            stringify!(in_)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).out) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_ctx),
            "::",
            stringify!(out)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct drm_amdgpu_vm_in {
    #[doc = " AMDGPU_VM_OP_*"]
    pub op: __u32,
    pub flags: __u32,
}
#[test]
fn bindgen_test_layout_drm_amdgpu_vm_in() {
    const UNINIT: ::core::mem::MaybeUninit<drm_amdgpu_vm_in> = ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<drm_amdgpu_vm_in>(),
        8usize,
        concat!("Size of: ", stringify!(drm_amdgpu_vm_in))
    );
    assert_eq!(
        ::core::mem::align_of::<drm_amdgpu_vm_in>(),
        4usize,
        concat!("Alignment of ", stringify!(drm_amdgpu_vm_in))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).op) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_vm_in),
            "::",
            stringify!(op)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_vm_in),
            "::",
            stringify!(flags)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct drm_amdgpu_vm_out {
    #[doc = " For future use, no flags defined so far"]
    pub flags: __u64,
}
#[test]
fn bindgen_test_layout_drm_amdgpu_vm_out() {
    const UNINIT: ::core::mem::MaybeUninit<drm_amdgpu_vm_out> = ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<drm_amdgpu_vm_out>(),
        8usize,
        concat!("Size of: ", stringify!(drm_amdgpu_vm_out))
    );
    assert_eq!(
        ::core::mem::align_of::<drm_amdgpu_vm_out>(),
        8usize,
        concat!("Alignment of ", stringify!(drm_amdgpu_vm_out))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_vm_out),
            "::",
            stringify!(flags)
        )
    );
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union drm_amdgpu_vm {
    pub in_: drm_amdgpu_vm_in,
    pub out: drm_amdgpu_vm_out,
}
#[test]
fn bindgen_test_layout_drm_amdgpu_vm() {
    const UNINIT: ::core::mem::MaybeUninit<drm_amdgpu_vm> = ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<drm_amdgpu_vm>(),
        8usize,
        concat!("Size of: ", stringify!(drm_amdgpu_vm))
    );
    assert_eq!(
        ::core::mem::align_of::<drm_amdgpu_vm>(),
        8usize,
        concat!("Alignment of ", stringify!(drm_amdgpu_vm))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).in_) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_vm),
            "::",
            stringify!(in_)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).out) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_vm),
            "::",
            stringify!(out)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct drm_amdgpu_sched_in {
    pub op: __u32,
    pub fd: __u32,
    #[doc = " AMDGPU_CTX_PRIORITY_*"]
    pub priority: __s32,
    pub ctx_id: __u32,
}
#[test]
fn bindgen_test_layout_drm_amdgpu_sched_in() {
    const UNINIT: ::core::mem::MaybeUninit<drm_amdgpu_sched_in> =
        ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<drm_amdgpu_sched_in>(),
        16usize,
        concat!("Size of: ", stringify!(drm_amdgpu_sched_in))
    );
    assert_eq!(
        ::core::mem::align_of::<drm_amdgpu_sched_in>(),
        4usize,
        concat!("Alignment of ", stringify!(drm_amdgpu_sched_in))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).op) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_sched_in),
            "::",
            stringify!(op)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).fd) as usize - ptr as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_sched_in),
            "::",
            stringify!(fd)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).priority) as usize - ptr as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_sched_in),
            "::",
            stringify!(priority)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).ctx_id) as usize - ptr as usize },
        12usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_sched_in),
            "::",
            stringify!(ctx_id)
        )
    );
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union drm_amdgpu_sched {
    pub in_: drm_amdgpu_sched_in,
}
#[test]
fn bindgen_test_layout_drm_amdgpu_sched() {
    const UNINIT: ::core::mem::MaybeUninit<drm_amdgpu_sched> = ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<drm_amdgpu_sched>(),
        16usize,
        concat!("Size of: ", stringify!(drm_amdgpu_sched))
    );
    assert_eq!(
        ::core::mem::align_of::<drm_amdgpu_sched>(),
        4usize,
        concat!("Alignment of ", stringify!(drm_amdgpu_sched))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).in_) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_sched),
            "::",
            stringify!(in_)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct drm_amdgpu_gem_userptr {
    pub addr: __u64,
    pub size: __u64,
    pub flags: __u32,
    pub handle: __u32,
}
#[test]
fn bindgen_test_layout_drm_amdgpu_gem_userptr() {
    const UNINIT: ::core::mem::MaybeUninit<drm_amdgpu_gem_userptr> =
        ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<drm_amdgpu_gem_userptr>(),
        24usize,
        concat!("Size of: ", stringify!(drm_amdgpu_gem_userptr))
    );
    assert_eq!(
        ::core::mem::align_of::<drm_amdgpu_gem_userptr>(),
        8usize,
        concat!("Alignment of ", stringify!(drm_amdgpu_gem_userptr))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).addr) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_gem_userptr),
            "::",
            stringify!(addr)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).size) as usize - ptr as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_gem_userptr),
            "::",
            stringify!(size)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_gem_userptr),
            "::",
            stringify!(flags)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).handle) as usize - ptr as usize },
        20usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_gem_userptr),
            "::",
            stringify!(handle)
        )
    );
}
#[doc = " The same structure is shared for input/output"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct drm_amdgpu_gem_metadata {
    #[doc = " GEM Object handle"]
    pub handle: __u32,
    #[doc = " Do we want get or set metadata"]
    pub op: __u32,
    pub data: drm_amdgpu_gem_metadata__bindgen_ty_1,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct drm_amdgpu_gem_metadata__bindgen_ty_1 {
    #[doc = " For future use, no flags defined so far"]
    pub flags: __u64,
    #[doc = " family specific tiling info"]
    pub tiling_info: __u64,
    pub data_size_bytes: __u32,
    pub data: [__u32; 64usize],
}
#[test]
fn bindgen_test_layout_drm_amdgpu_gem_metadata__bindgen_ty_1() {
    const UNINIT: ::core::mem::MaybeUninit<drm_amdgpu_gem_metadata__bindgen_ty_1> =
        ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<drm_amdgpu_gem_metadata__bindgen_ty_1>(),
        280usize,
        concat!(
            "Size of: ",
            stringify!(drm_amdgpu_gem_metadata__bindgen_ty_1)
        )
    );
    assert_eq!(
        ::core::mem::align_of::<drm_amdgpu_gem_metadata__bindgen_ty_1>(),
        8usize,
        concat!(
            "Alignment of ",
            stringify!(drm_amdgpu_gem_metadata__bindgen_ty_1)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_gem_metadata__bindgen_ty_1),
            "::",
            stringify!(flags)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).tiling_info) as usize - ptr as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_gem_metadata__bindgen_ty_1),
            "::",
            stringify!(tiling_info)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).data_size_bytes) as usize - ptr as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_gem_metadata__bindgen_ty_1),
            "::",
            stringify!(data_size_bytes)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
        20usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_gem_metadata__bindgen_ty_1),
            "::",
            stringify!(data)
        )
    );
}
#[test]
fn bindgen_test_layout_drm_amdgpu_gem_metadata() {
    const UNINIT: ::core::mem::MaybeUninit<drm_amdgpu_gem_metadata> =
        ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<drm_amdgpu_gem_metadata>(),
        288usize,
        concat!("Size of: ", stringify!(drm_amdgpu_gem_metadata))
    );
    assert_eq!(
        ::core::mem::align_of::<drm_amdgpu_gem_metadata>(),
        8usize,
        concat!("Alignment of ", stringify!(drm_amdgpu_gem_metadata))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).handle) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_gem_metadata),
            "::",
            stringify!(handle)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).op) as usize - ptr as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_gem_metadata),
            "::",
            stringify!(op)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_gem_metadata),
            "::",
            stringify!(data)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct drm_amdgpu_gem_mmap_in {
    #[doc = " the GEM object handle"]
    pub handle: __u32,
    pub _pad: __u32,
}
#[test]
fn bindgen_test_layout_drm_amdgpu_gem_mmap_in() {
    const UNINIT: ::core::mem::MaybeUninit<drm_amdgpu_gem_mmap_in> =
        ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<drm_amdgpu_gem_mmap_in>(),
        8usize,
        concat!("Size of: ", stringify!(drm_amdgpu_gem_mmap_in))
    );
    assert_eq!(
        ::core::mem::align_of::<drm_amdgpu_gem_mmap_in>(),
        4usize,
        concat!("Alignment of ", stringify!(drm_amdgpu_gem_mmap_in))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).handle) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_gem_mmap_in),
            "::",
            stringify!(handle)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr)._pad) as usize - ptr as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_gem_mmap_in),
            "::",
            stringify!(_pad)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct drm_amdgpu_gem_mmap_out {
    #[doc = " mmap offset from the vma offset manager"]
    pub addr_ptr: __u64,
}
#[test]
fn bindgen_test_layout_drm_amdgpu_gem_mmap_out() {
    const UNINIT: ::core::mem::MaybeUninit<drm_amdgpu_gem_mmap_out> =
        ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<drm_amdgpu_gem_mmap_out>(),
        8usize,
        concat!("Size of: ", stringify!(drm_amdgpu_gem_mmap_out))
    );
    assert_eq!(
        ::core::mem::align_of::<drm_amdgpu_gem_mmap_out>(),
        8usize,
        concat!("Alignment of ", stringify!(drm_amdgpu_gem_mmap_out))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).addr_ptr) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_gem_mmap_out),
            "::",
            stringify!(addr_ptr)
        )
    );
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union drm_amdgpu_gem_mmap {
    pub in_: drm_amdgpu_gem_mmap_in,
    pub out: drm_amdgpu_gem_mmap_out,
}
#[test]
fn bindgen_test_layout_drm_amdgpu_gem_mmap() {
    const UNINIT: ::core::mem::MaybeUninit<drm_amdgpu_gem_mmap> =
        ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<drm_amdgpu_gem_mmap>(),
        8usize,
        concat!("Size of: ", stringify!(drm_amdgpu_gem_mmap))
    );
    assert_eq!(
        ::core::mem::align_of::<drm_amdgpu_gem_mmap>(),
        8usize,
        concat!("Alignment of ", stringify!(drm_amdgpu_gem_mmap))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).in_) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_gem_mmap),
            "::",
            stringify!(in_)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).out) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_gem_mmap),
            "::",
            stringify!(out)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct drm_amdgpu_gem_wait_idle_in {
    #[doc = " GEM object handle"]
    pub handle: __u32,
    #[doc = " For future use, no flags defined so far"]
    pub flags: __u32,
    #[doc = " Absolute timeout to wait"]
    pub timeout: __u64,
}
#[test]
fn bindgen_test_layout_drm_amdgpu_gem_wait_idle_in() {
    const UNINIT: ::core::mem::MaybeUninit<drm_amdgpu_gem_wait_idle_in> =
        ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<drm_amdgpu_gem_wait_idle_in>(),
        16usize,
        concat!("Size of: ", stringify!(drm_amdgpu_gem_wait_idle_in))
    );
    assert_eq!(
        ::core::mem::align_of::<drm_amdgpu_gem_wait_idle_in>(),
        8usize,
        concat!("Alignment of ", stringify!(drm_amdgpu_gem_wait_idle_in))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).handle) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_gem_wait_idle_in),
            "::",
            stringify!(handle)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_gem_wait_idle_in),
            "::",
            stringify!(flags)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).timeout) as usize - ptr as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_gem_wait_idle_in),
            "::",
            stringify!(timeout)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct drm_amdgpu_gem_wait_idle_out {
    #[doc = " BO status:  0 - BO is idle, 1 - BO is busy"]
    pub status: __u32,
    #[doc = " Returned current memory domain"]
    pub domain: __u32,
}
#[test]
fn bindgen_test_layout_drm_amdgpu_gem_wait_idle_out() {
    const UNINIT: ::core::mem::MaybeUninit<drm_amdgpu_gem_wait_idle_out> =
        ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<drm_amdgpu_gem_wait_idle_out>(),
        8usize,
        concat!("Size of: ", stringify!(drm_amdgpu_gem_wait_idle_out))
    );
    assert_eq!(
        ::core::mem::align_of::<drm_amdgpu_gem_wait_idle_out>(),
        4usize,
        concat!("Alignment of ", stringify!(drm_amdgpu_gem_wait_idle_out))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).status) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_gem_wait_idle_out),
            "::",
            stringify!(status)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).domain) as usize - ptr as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_gem_wait_idle_out),
            "::",
            stringify!(domain)
        )
    );
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union drm_amdgpu_gem_wait_idle {
    pub in_: drm_amdgpu_gem_wait_idle_in,
    pub out: drm_amdgpu_gem_wait_idle_out,
}
#[test]
fn bindgen_test_layout_drm_amdgpu_gem_wait_idle() {
    const UNINIT: ::core::mem::MaybeUninit<drm_amdgpu_gem_wait_idle> =
        ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<drm_amdgpu_gem_wait_idle>(),
        16usize,
        concat!("Size of: ", stringify!(drm_amdgpu_gem_wait_idle))
    );
    assert_eq!(
        ::core::mem::align_of::<drm_amdgpu_gem_wait_idle>(),
        8usize,
        concat!("Alignment of ", stringify!(drm_amdgpu_gem_wait_idle))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).in_) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_gem_wait_idle),
            "::",
            stringify!(in_)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).out) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_gem_wait_idle),
            "::",
            stringify!(out)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct drm_amdgpu_wait_cs_in {
    pub handle: __u64,
    #[doc = " Absolute timeout to wait"]
    pub timeout: __u64,
    pub ip_type: __u32,
    pub ip_instance: __u32,
    pub ring: __u32,
    pub ctx_id: __u32,
}
#[test]
fn bindgen_test_layout_drm_amdgpu_wait_cs_in() {
    const UNINIT: ::core::mem::MaybeUninit<drm_amdgpu_wait_cs_in> =
        ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<drm_amdgpu_wait_cs_in>(),
        32usize,
        concat!("Size of: ", stringify!(drm_amdgpu_wait_cs_in))
    );
    assert_eq!(
        ::core::mem::align_of::<drm_amdgpu_wait_cs_in>(),
        8usize,
        concat!("Alignment of ", stringify!(drm_amdgpu_wait_cs_in))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).handle) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_wait_cs_in),
            "::",
            stringify!(handle)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).timeout) as usize - ptr as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_wait_cs_in),
            "::",
            stringify!(timeout)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).ip_type) as usize - ptr as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_wait_cs_in),
            "::",
            stringify!(ip_type)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).ip_instance) as usize - ptr as usize },
        20usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_wait_cs_in),
            "::",
            stringify!(ip_instance)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).ring) as usize - ptr as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_wait_cs_in),
            "::",
            stringify!(ring)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).ctx_id) as usize - ptr as usize },
        28usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_wait_cs_in),
            "::",
            stringify!(ctx_id)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct drm_amdgpu_wait_cs_out {
    #[doc = " CS status:  0 - CS completed, 1 - CS still busy"]
    pub status: __u64,
}
#[test]
fn bindgen_test_layout_drm_amdgpu_wait_cs_out() {
    const UNINIT: ::core::mem::MaybeUninit<drm_amdgpu_wait_cs_out> =
        ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<drm_amdgpu_wait_cs_out>(),
        8usize,
        concat!("Size of: ", stringify!(drm_amdgpu_wait_cs_out))
    );
    assert_eq!(
        ::core::mem::align_of::<drm_amdgpu_wait_cs_out>(),
        8usize,
        concat!("Alignment of ", stringify!(drm_amdgpu_wait_cs_out))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).status) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_wait_cs_out),
            "::",
            stringify!(status)
        )
    );
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union drm_amdgpu_wait_cs {
    pub in_: drm_amdgpu_wait_cs_in,
    pub out: drm_amdgpu_wait_cs_out,
}
#[test]
fn bindgen_test_layout_drm_amdgpu_wait_cs() {
    const UNINIT: ::core::mem::MaybeUninit<drm_amdgpu_wait_cs> = ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<drm_amdgpu_wait_cs>(),
        32usize,
        concat!("Size of: ", stringify!(drm_amdgpu_wait_cs))
    );
    assert_eq!(
        ::core::mem::align_of::<drm_amdgpu_wait_cs>(),
        8usize,
        concat!("Alignment of ", stringify!(drm_amdgpu_wait_cs))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).in_) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_wait_cs),
            "::",
            stringify!(in_)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).out) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_wait_cs),
            "::",
            stringify!(out)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct drm_amdgpu_fence {
    pub ctx_id: __u32,
    pub ip_type: __u32,
    pub ip_instance: __u32,
    pub ring: __u32,
    pub seq_no: __u64,
}
#[test]
fn bindgen_test_layout_drm_amdgpu_fence() {
    const UNINIT: ::core::mem::MaybeUninit<drm_amdgpu_fence> = ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<drm_amdgpu_fence>(),
        24usize,
        concat!("Size of: ", stringify!(drm_amdgpu_fence))
    );
    assert_eq!(
        ::core::mem::align_of::<drm_amdgpu_fence>(),
        8usize,
        concat!("Alignment of ", stringify!(drm_amdgpu_fence))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).ctx_id) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_fence),
            "::",
            stringify!(ctx_id)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).ip_type) as usize - ptr as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_fence),
            "::",
            stringify!(ip_type)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).ip_instance) as usize - ptr as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_fence),
            "::",
            stringify!(ip_instance)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).ring) as usize - ptr as usize },
        12usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_fence),
            "::",
            stringify!(ring)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).seq_no) as usize - ptr as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_fence),
            "::",
            stringify!(seq_no)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct drm_amdgpu_wait_fences_in {
    #[doc = " This points to uint64_t * which points to fences"]
    pub fences: __u64,
    pub fence_count: __u32,
    pub wait_all: __u32,
    pub timeout_ns: __u64,
}
#[test]
fn bindgen_test_layout_drm_amdgpu_wait_fences_in() {
    const UNINIT: ::core::mem::MaybeUninit<drm_amdgpu_wait_fences_in> =
        ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<drm_amdgpu_wait_fences_in>(),
        24usize,
        concat!("Size of: ", stringify!(drm_amdgpu_wait_fences_in))
    );
    assert_eq!(
        ::core::mem::align_of::<drm_amdgpu_wait_fences_in>(),
        8usize,
        concat!("Alignment of ", stringify!(drm_amdgpu_wait_fences_in))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).fences) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_wait_fences_in),
            "::",
            stringify!(fences)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).fence_count) as usize - ptr as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_wait_fences_in),
            "::",
            stringify!(fence_count)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).wait_all) as usize - ptr as usize },
        12usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_wait_fences_in),
            "::",
            stringify!(wait_all)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).timeout_ns) as usize - ptr as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_wait_fences_in),
            "::",
            stringify!(timeout_ns)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct drm_amdgpu_wait_fences_out {
    pub status: __u32,
    pub first_signaled: __u32,
}
#[test]
fn bindgen_test_layout_drm_amdgpu_wait_fences_out() {
    const UNINIT: ::core::mem::MaybeUninit<drm_amdgpu_wait_fences_out> =
        ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<drm_amdgpu_wait_fences_out>(),
        8usize,
        concat!("Size of: ", stringify!(drm_amdgpu_wait_fences_out))
    );
    assert_eq!(
        ::core::mem::align_of::<drm_amdgpu_wait_fences_out>(),
        4usize,
        concat!("Alignment of ", stringify!(drm_amdgpu_wait_fences_out))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).status) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_wait_fences_out),
            "::",
            stringify!(status)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).first_signaled) as usize - ptr as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_wait_fences_out),
            "::",
            stringify!(first_signaled)
        )
    );
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union drm_amdgpu_wait_fences {
    pub in_: drm_amdgpu_wait_fences_in,
    pub out: drm_amdgpu_wait_fences_out,
}
#[test]
fn bindgen_test_layout_drm_amdgpu_wait_fences() {
    const UNINIT: ::core::mem::MaybeUninit<drm_amdgpu_wait_fences> =
        ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<drm_amdgpu_wait_fences>(),
        24usize,
        concat!("Size of: ", stringify!(drm_amdgpu_wait_fences))
    );
    assert_eq!(
        ::core::mem::align_of::<drm_amdgpu_wait_fences>(),
        8usize,
        concat!("Alignment of ", stringify!(drm_amdgpu_wait_fences))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).in_) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_wait_fences),
            "::",
            stringify!(in_)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).out) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_wait_fences),
            "::",
            stringify!(out)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct drm_amdgpu_gem_op {
    #[doc = " GEM object handle"]
    pub handle: __u32,
    #[doc = " AMDGPU_GEM_OP_*"]
    pub op: __u32,
    #[doc = " Input or return value"]
    pub value: __u64,
}
#[test]
fn bindgen_test_layout_drm_amdgpu_gem_op() {
    const UNINIT: ::core::mem::MaybeUninit<drm_amdgpu_gem_op> = ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<drm_amdgpu_gem_op>(),
        16usize,
        concat!("Size of: ", stringify!(drm_amdgpu_gem_op))
    );
    assert_eq!(
        ::core::mem::align_of::<drm_amdgpu_gem_op>(),
        8usize,
        concat!("Alignment of ", stringify!(drm_amdgpu_gem_op))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).handle) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_gem_op),
            "::",
            stringify!(handle)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).op) as usize - ptr as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_gem_op),
            "::",
            stringify!(op)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).value) as usize - ptr as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_gem_op),
            "::",
            stringify!(value)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct drm_amdgpu_gem_va {
    #[doc = " GEM object handle"]
    pub handle: __u32,
    pub _pad: __u32,
    #[doc = " AMDGPU_VA_OP_*"]
    pub operation: __u32,
    #[doc = " AMDGPU_VM_PAGE_*"]
    pub flags: __u32,
    #[doc = " va address to assign . Must be correctly aligned."]
    pub va_address: __u64,
    #[doc = " Specify offset inside of BO to assign. Must be correctly aligned."]
    pub offset_in_bo: __u64,
    #[doc = " Specify mapping size. Must be correctly aligned."]
    pub map_size: __u64,
}
#[test]
fn bindgen_test_layout_drm_amdgpu_gem_va() {
    const UNINIT: ::core::mem::MaybeUninit<drm_amdgpu_gem_va> = ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<drm_amdgpu_gem_va>(),
        40usize,
        concat!("Size of: ", stringify!(drm_amdgpu_gem_va))
    );
    assert_eq!(
        ::core::mem::align_of::<drm_amdgpu_gem_va>(),
        8usize,
        concat!("Alignment of ", stringify!(drm_amdgpu_gem_va))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).handle) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_gem_va),
            "::",
            stringify!(handle)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr)._pad) as usize - ptr as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_gem_va),
            "::",
            stringify!(_pad)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).operation) as usize - ptr as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_gem_va),
            "::",
            stringify!(operation)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
        12usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_gem_va),
            "::",
            stringify!(flags)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).va_address) as usize - ptr as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_gem_va),
            "::",
            stringify!(va_address)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).offset_in_bo) as usize - ptr as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_gem_va),
            "::",
            stringify!(offset_in_bo)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).map_size) as usize - ptr as usize },
        32usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_gem_va),
            "::",
            stringify!(map_size)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct drm_amdgpu_cs_chunk {
    pub chunk_id: __u32,
    pub length_dw: __u32,
    pub chunk_data: __u64,
}
#[test]
fn bindgen_test_layout_drm_amdgpu_cs_chunk() {
    const UNINIT: ::core::mem::MaybeUninit<drm_amdgpu_cs_chunk> =
        ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<drm_amdgpu_cs_chunk>(),
        16usize,
        concat!("Size of: ", stringify!(drm_amdgpu_cs_chunk))
    );
    assert_eq!(
        ::core::mem::align_of::<drm_amdgpu_cs_chunk>(),
        8usize,
        concat!("Alignment of ", stringify!(drm_amdgpu_cs_chunk))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).chunk_id) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_cs_chunk),
            "::",
            stringify!(chunk_id)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).length_dw) as usize - ptr as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_cs_chunk),
            "::",
            stringify!(length_dw)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).chunk_data) as usize - ptr as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_cs_chunk),
            "::",
            stringify!(chunk_data)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct drm_amdgpu_cs_in {
    #[doc = " Rendering context id"]
    pub ctx_id: __u32,
    #[doc = "  Handle of resource list associated with CS"]
    pub bo_list_handle: __u32,
    pub num_chunks: __u32,
    pub flags: __u32,
    #[doc = " this points to __u64 * which point to cs chunks"]
    pub chunks: __u64,
}
#[test]
fn bindgen_test_layout_drm_amdgpu_cs_in() {
    const UNINIT: ::core::mem::MaybeUninit<drm_amdgpu_cs_in> = ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<drm_amdgpu_cs_in>(),
        24usize,
        concat!("Size of: ", stringify!(drm_amdgpu_cs_in))
    );
    assert_eq!(
        ::core::mem::align_of::<drm_amdgpu_cs_in>(),
        8usize,
        concat!("Alignment of ", stringify!(drm_amdgpu_cs_in))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).ctx_id) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_cs_in),
            "::",
            stringify!(ctx_id)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).bo_list_handle) as usize - ptr as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_cs_in),
            "::",
            stringify!(bo_list_handle)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).num_chunks) as usize - ptr as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_cs_in),
            "::",
            stringify!(num_chunks)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
        12usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_cs_in),
            "::",
            stringify!(flags)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).chunks) as usize - ptr as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_cs_in),
            "::",
            stringify!(chunks)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct drm_amdgpu_cs_out {
    pub handle: __u64,
}
#[test]
fn bindgen_test_layout_drm_amdgpu_cs_out() {
    const UNINIT: ::core::mem::MaybeUninit<drm_amdgpu_cs_out> = ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<drm_amdgpu_cs_out>(),
        8usize,
        concat!("Size of: ", stringify!(drm_amdgpu_cs_out))
    );
    assert_eq!(
        ::core::mem::align_of::<drm_amdgpu_cs_out>(),
        8usize,
        concat!("Alignment of ", stringify!(drm_amdgpu_cs_out))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).handle) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_cs_out),
            "::",
            stringify!(handle)
        )
    );
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union drm_amdgpu_cs {
    pub in_: drm_amdgpu_cs_in,
    pub out: drm_amdgpu_cs_out,
}
#[test]
fn bindgen_test_layout_drm_amdgpu_cs() {
    const UNINIT: ::core::mem::MaybeUninit<drm_amdgpu_cs> = ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<drm_amdgpu_cs>(),
        24usize,
        concat!("Size of: ", stringify!(drm_amdgpu_cs))
    );
    assert_eq!(
        ::core::mem::align_of::<drm_amdgpu_cs>(),
        8usize,
        concat!("Alignment of ", stringify!(drm_amdgpu_cs))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).in_) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_cs),
            "::",
            stringify!(in_)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).out) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_cs),
            "::",
            stringify!(out)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct drm_amdgpu_cs_chunk_ib {
    pub _pad: __u32,
    #[doc = " AMDGPU_IB_FLAG_*"]
    pub flags: __u32,
    #[doc = " Virtual address to begin IB execution"]
    pub va_start: __u64,
    #[doc = " Size of submission"]
    pub ib_bytes: __u32,
    #[doc = " HW IP to submit to"]
    pub ip_type: __u32,
    #[doc = " HW IP index of the same type to submit to"]
    pub ip_instance: __u32,
    #[doc = " Ring index to submit to"]
    pub ring: __u32,
}
#[test]
fn bindgen_test_layout_drm_amdgpu_cs_chunk_ib() {
    const UNINIT: ::core::mem::MaybeUninit<drm_amdgpu_cs_chunk_ib> =
        ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<drm_amdgpu_cs_chunk_ib>(),
        32usize,
        concat!("Size of: ", stringify!(drm_amdgpu_cs_chunk_ib))
    );
    assert_eq!(
        ::core::mem::align_of::<drm_amdgpu_cs_chunk_ib>(),
        8usize,
        concat!("Alignment of ", stringify!(drm_amdgpu_cs_chunk_ib))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr)._pad) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_cs_chunk_ib),
            "::",
            stringify!(_pad)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_cs_chunk_ib),
            "::",
            stringify!(flags)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).va_start) as usize - ptr as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_cs_chunk_ib),
            "::",
            stringify!(va_start)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).ib_bytes) as usize - ptr as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_cs_chunk_ib),
            "::",
            stringify!(ib_bytes)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).ip_type) as usize - ptr as usize },
        20usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_cs_chunk_ib),
            "::",
            stringify!(ip_type)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).ip_instance) as usize - ptr as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_cs_chunk_ib),
            "::",
            stringify!(ip_instance)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).ring) as usize - ptr as usize },
        28usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_cs_chunk_ib),
            "::",
            stringify!(ring)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct drm_amdgpu_cs_chunk_dep {
    pub ip_type: __u32,
    pub ip_instance: __u32,
    pub ring: __u32,
    pub ctx_id: __u32,
    pub handle: __u64,
}
#[test]
fn bindgen_test_layout_drm_amdgpu_cs_chunk_dep() {
    const UNINIT: ::core::mem::MaybeUninit<drm_amdgpu_cs_chunk_dep> =
        ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<drm_amdgpu_cs_chunk_dep>(),
        24usize,
        concat!("Size of: ", stringify!(drm_amdgpu_cs_chunk_dep))
    );
    assert_eq!(
        ::core::mem::align_of::<drm_amdgpu_cs_chunk_dep>(),
        8usize,
        concat!("Alignment of ", stringify!(drm_amdgpu_cs_chunk_dep))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).ip_type) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_cs_chunk_dep),
            "::",
            stringify!(ip_type)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).ip_instance) as usize - ptr as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_cs_chunk_dep),
            "::",
            stringify!(ip_instance)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).ring) as usize - ptr as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_cs_chunk_dep),
            "::",
            stringify!(ring)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).ctx_id) as usize - ptr as usize },
        12usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_cs_chunk_dep),
            "::",
            stringify!(ctx_id)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).handle) as usize - ptr as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_cs_chunk_dep),
            "::",
            stringify!(handle)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct drm_amdgpu_cs_chunk_fence {
    pub handle: __u32,
    pub offset: __u32,
}
#[test]
fn bindgen_test_layout_drm_amdgpu_cs_chunk_fence() {
    const UNINIT: ::core::mem::MaybeUninit<drm_amdgpu_cs_chunk_fence> =
        ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<drm_amdgpu_cs_chunk_fence>(),
        8usize,
        concat!("Size of: ", stringify!(drm_amdgpu_cs_chunk_fence))
    );
    assert_eq!(
        ::core::mem::align_of::<drm_amdgpu_cs_chunk_fence>(),
        4usize,
        concat!("Alignment of ", stringify!(drm_amdgpu_cs_chunk_fence))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).handle) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_cs_chunk_fence),
            "::",
            stringify!(handle)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).offset) as usize - ptr as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_cs_chunk_fence),
            "::",
            stringify!(offset)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct drm_amdgpu_cs_chunk_sem {
    pub handle: __u32,
}
#[test]
fn bindgen_test_layout_drm_amdgpu_cs_chunk_sem() {
    const UNINIT: ::core::mem::MaybeUninit<drm_amdgpu_cs_chunk_sem> =
        ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<drm_amdgpu_cs_chunk_sem>(),
        4usize,
        concat!("Size of: ", stringify!(drm_amdgpu_cs_chunk_sem))
    );
    assert_eq!(
        ::core::mem::align_of::<drm_amdgpu_cs_chunk_sem>(),
        4usize,
        concat!("Alignment of ", stringify!(drm_amdgpu_cs_chunk_sem))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).handle) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_cs_chunk_sem),
            "::",
            stringify!(handle)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct drm_amdgpu_cs_chunk_syncobj {
    pub handle: __u32,
    pub flags: __u32,
    pub point: __u64,
}
#[test]
fn bindgen_test_layout_drm_amdgpu_cs_chunk_syncobj() {
    const UNINIT: ::core::mem::MaybeUninit<drm_amdgpu_cs_chunk_syncobj> =
        ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<drm_amdgpu_cs_chunk_syncobj>(),
        16usize,
        concat!("Size of: ", stringify!(drm_amdgpu_cs_chunk_syncobj))
    );
    assert_eq!(
        ::core::mem::align_of::<drm_amdgpu_cs_chunk_syncobj>(),
        8usize,
        concat!("Alignment of ", stringify!(drm_amdgpu_cs_chunk_syncobj))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).handle) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_cs_chunk_syncobj),
            "::",
            stringify!(handle)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_cs_chunk_syncobj),
            "::",
            stringify!(flags)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).point) as usize - ptr as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_cs_chunk_syncobj),
            "::",
            stringify!(point)
        )
    );
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union drm_amdgpu_fence_to_handle {
    pub in_: drm_amdgpu_fence_to_handle__bindgen_ty_1,
    pub out: drm_amdgpu_fence_to_handle__bindgen_ty_2,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct drm_amdgpu_fence_to_handle__bindgen_ty_1 {
    pub fence: drm_amdgpu_fence,
    pub what: __u32,
    pub pad: __u32,
}
#[test]
fn bindgen_test_layout_drm_amdgpu_fence_to_handle__bindgen_ty_1() {
    const UNINIT: ::core::mem::MaybeUninit<drm_amdgpu_fence_to_handle__bindgen_ty_1> =
        ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<drm_amdgpu_fence_to_handle__bindgen_ty_1>(),
        32usize,
        concat!(
            "Size of: ",
            stringify!(drm_amdgpu_fence_to_handle__bindgen_ty_1)
        )
    );
    assert_eq!(
        ::core::mem::align_of::<drm_amdgpu_fence_to_handle__bindgen_ty_1>(),
        8usize,
        concat!(
            "Alignment of ",
            stringify!(drm_amdgpu_fence_to_handle__bindgen_ty_1)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).fence) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_fence_to_handle__bindgen_ty_1),
            "::",
            stringify!(fence)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).what) as usize - ptr as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_fence_to_handle__bindgen_ty_1),
            "::",
            stringify!(what)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).pad) as usize - ptr as usize },
        28usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_fence_to_handle__bindgen_ty_1),
            "::",
            stringify!(pad)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct drm_amdgpu_fence_to_handle__bindgen_ty_2 {
    pub handle: __u32,
}
#[test]
fn bindgen_test_layout_drm_amdgpu_fence_to_handle__bindgen_ty_2() {
    const UNINIT: ::core::mem::MaybeUninit<drm_amdgpu_fence_to_handle__bindgen_ty_2> =
        ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<drm_amdgpu_fence_to_handle__bindgen_ty_2>(),
        4usize,
        concat!(
            "Size of: ",
            stringify!(drm_amdgpu_fence_to_handle__bindgen_ty_2)
        )
    );
    assert_eq!(
        ::core::mem::align_of::<drm_amdgpu_fence_to_handle__bindgen_ty_2>(),
        4usize,
        concat!(
            "Alignment of ",
            stringify!(drm_amdgpu_fence_to_handle__bindgen_ty_2)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).handle) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_fence_to_handle__bindgen_ty_2),
            "::",
            stringify!(handle)
        )
    );
}
#[test]
fn bindgen_test_layout_drm_amdgpu_fence_to_handle() {
    const UNINIT: ::core::mem::MaybeUninit<drm_amdgpu_fence_to_handle> =
        ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<drm_amdgpu_fence_to_handle>(),
        32usize,
        concat!("Size of: ", stringify!(drm_amdgpu_fence_to_handle))
    );
    assert_eq!(
        ::core::mem::align_of::<drm_amdgpu_fence_to_handle>(),
        8usize,
        concat!("Alignment of ", stringify!(drm_amdgpu_fence_to_handle))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).in_) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_fence_to_handle),
            "::",
            stringify!(in_)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).out) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_fence_to_handle),
            "::",
            stringify!(out)
        )
    );
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct drm_amdgpu_cs_chunk_data {
    pub __bindgen_anon_1: drm_amdgpu_cs_chunk_data__bindgen_ty_1,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union drm_amdgpu_cs_chunk_data__bindgen_ty_1 {
    pub ib_data: drm_amdgpu_cs_chunk_ib,
    pub fence_data: drm_amdgpu_cs_chunk_fence,
}
#[test]
fn bindgen_test_layout_drm_amdgpu_cs_chunk_data__bindgen_ty_1() {
    const UNINIT: ::core::mem::MaybeUninit<drm_amdgpu_cs_chunk_data__bindgen_ty_1> =
        ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<drm_amdgpu_cs_chunk_data__bindgen_ty_1>(),
        32usize,
        concat!(
            "Size of: ",
            stringify!(drm_amdgpu_cs_chunk_data__bindgen_ty_1)
        )
    );
    assert_eq!(
        ::core::mem::align_of::<drm_amdgpu_cs_chunk_data__bindgen_ty_1>(),
        8usize,
        concat!(
            "Alignment of ",
            stringify!(drm_amdgpu_cs_chunk_data__bindgen_ty_1)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).ib_data) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_cs_chunk_data__bindgen_ty_1),
            "::",
            stringify!(ib_data)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).fence_data) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_cs_chunk_data__bindgen_ty_1),
            "::",
            stringify!(fence_data)
        )
    );
}
#[test]
fn bindgen_test_layout_drm_amdgpu_cs_chunk_data() {
    assert_eq!(
        ::core::mem::size_of::<drm_amdgpu_cs_chunk_data>(),
        32usize,
        concat!("Size of: ", stringify!(drm_amdgpu_cs_chunk_data))
    );
    assert_eq!(
        ::core::mem::align_of::<drm_amdgpu_cs_chunk_data>(),
        8usize,
        concat!("Alignment of ", stringify!(drm_amdgpu_cs_chunk_data))
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct drm_amdgpu_cs_chunk_cp_gfx_shadow {
    pub shadow_va: __u64,
    pub csa_va: __u64,
    pub gds_va: __u64,
    pub flags: __u64,
}
#[test]
fn bindgen_test_layout_drm_amdgpu_cs_chunk_cp_gfx_shadow() {
    const UNINIT: ::core::mem::MaybeUninit<drm_amdgpu_cs_chunk_cp_gfx_shadow> =
        ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<drm_amdgpu_cs_chunk_cp_gfx_shadow>(),
        32usize,
        concat!("Size of: ", stringify!(drm_amdgpu_cs_chunk_cp_gfx_shadow))
    );
    assert_eq!(
        ::core::mem::align_of::<drm_amdgpu_cs_chunk_cp_gfx_shadow>(),
        8usize,
        concat!(
            "Alignment of ",
            stringify!(drm_amdgpu_cs_chunk_cp_gfx_shadow)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).shadow_va) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_cs_chunk_cp_gfx_shadow),
            "::",
            stringify!(shadow_va)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).csa_va) as usize - ptr as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_cs_chunk_cp_gfx_shadow),
            "::",
            stringify!(csa_va)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).gds_va) as usize - ptr as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_cs_chunk_cp_gfx_shadow),
            "::",
            stringify!(gds_va)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_cs_chunk_cp_gfx_shadow),
            "::",
            stringify!(flags)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct drm_amdgpu_query_fw {
    #[doc = " AMDGPU_INFO_FW_*"]
    pub fw_type: __u32,
    #[doc = " Index of the IP if there are more IPs of\n the same type."]
    pub ip_instance: __u32,
    #[doc = " Index of the engine. Whether this is used depends\n on the firmware type. (e.g. MEC, SDMA)"]
    pub index: __u32,
    pub _pad: __u32,
}
#[test]
fn bindgen_test_layout_drm_amdgpu_query_fw() {
    const UNINIT: ::core::mem::MaybeUninit<drm_amdgpu_query_fw> =
        ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<drm_amdgpu_query_fw>(),
        16usize,
        concat!("Size of: ", stringify!(drm_amdgpu_query_fw))
    );
    assert_eq!(
        ::core::mem::align_of::<drm_amdgpu_query_fw>(),
        4usize,
        concat!("Alignment of ", stringify!(drm_amdgpu_query_fw))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).fw_type) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_query_fw),
            "::",
            stringify!(fw_type)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).ip_instance) as usize - ptr as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_query_fw),
            "::",
            stringify!(ip_instance)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).index) as usize - ptr as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_query_fw),
            "::",
            stringify!(index)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr)._pad) as usize - ptr as usize },
        12usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_query_fw),
            "::",
            stringify!(_pad)
        )
    );
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct drm_amdgpu_info {
    pub return_pointer: __u64,
    pub return_size: __u32,
    pub query: __u32,
    pub __bindgen_anon_1: drm_amdgpu_info__bindgen_ty_1,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union drm_amdgpu_info__bindgen_ty_1 {
    pub mode_crtc: drm_amdgpu_info__bindgen_ty_1__bindgen_ty_1,
    pub query_hw_ip: drm_amdgpu_info__bindgen_ty_1__bindgen_ty_2,
    pub read_mmr_reg: drm_amdgpu_info__bindgen_ty_1__bindgen_ty_3,
    pub query_fw: drm_amdgpu_query_fw,
    pub vbios_info: drm_amdgpu_info__bindgen_ty_1__bindgen_ty_4,
    pub sensor_info: drm_amdgpu_info__bindgen_ty_1__bindgen_ty_5,
    pub video_cap: drm_amdgpu_info__bindgen_ty_1__bindgen_ty_6,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct drm_amdgpu_info__bindgen_ty_1__bindgen_ty_1 {
    pub id: __u32,
    pub _pad: __u32,
}
#[test]
fn bindgen_test_layout_drm_amdgpu_info__bindgen_ty_1__bindgen_ty_1() {
    const UNINIT: ::core::mem::MaybeUninit<drm_amdgpu_info__bindgen_ty_1__bindgen_ty_1> =
        ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<drm_amdgpu_info__bindgen_ty_1__bindgen_ty_1>(),
        8usize,
        concat!(
            "Size of: ",
            stringify!(drm_amdgpu_info__bindgen_ty_1__bindgen_ty_1)
        )
    );
    assert_eq!(
        ::core::mem::align_of::<drm_amdgpu_info__bindgen_ty_1__bindgen_ty_1>(),
        4usize,
        concat!(
            "Alignment of ",
            stringify!(drm_amdgpu_info__bindgen_ty_1__bindgen_ty_1)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).id) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_info__bindgen_ty_1__bindgen_ty_1),
            "::",
            stringify!(id)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr)._pad) as usize - ptr as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_info__bindgen_ty_1__bindgen_ty_1),
            "::",
            stringify!(_pad)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct drm_amdgpu_info__bindgen_ty_1__bindgen_ty_2 {
    #[doc = " AMDGPU_HW_IP_*"]
    pub type_: __u32,
    #[doc = " Index of the IP if there are more IPs of the same\n type. Ignored by AMDGPU_INFO_HW_IP_COUNT."]
    pub ip_instance: __u32,
}
#[test]
fn bindgen_test_layout_drm_amdgpu_info__bindgen_ty_1__bindgen_ty_2() {
    const UNINIT: ::core::mem::MaybeUninit<drm_amdgpu_info__bindgen_ty_1__bindgen_ty_2> =
        ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<drm_amdgpu_info__bindgen_ty_1__bindgen_ty_2>(),
        8usize,
        concat!(
            "Size of: ",
            stringify!(drm_amdgpu_info__bindgen_ty_1__bindgen_ty_2)
        )
    );
    assert_eq!(
        ::core::mem::align_of::<drm_amdgpu_info__bindgen_ty_1__bindgen_ty_2>(),
        4usize,
        concat!(
            "Alignment of ",
            stringify!(drm_amdgpu_info__bindgen_ty_1__bindgen_ty_2)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_info__bindgen_ty_1__bindgen_ty_2),
            "::",
            stringify!(type_)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).ip_instance) as usize - ptr as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_info__bindgen_ty_1__bindgen_ty_2),
            "::",
            stringify!(ip_instance)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct drm_amdgpu_info__bindgen_ty_1__bindgen_ty_3 {
    pub dword_offset: __u32,
    #[doc = " number of registers to read"]
    pub count: __u32,
    pub instance: __u32,
    #[doc = " For future use, no flags defined so far"]
    pub flags: __u32,
}
#[test]
fn bindgen_test_layout_drm_amdgpu_info__bindgen_ty_1__bindgen_ty_3() {
    const UNINIT: ::core::mem::MaybeUninit<drm_amdgpu_info__bindgen_ty_1__bindgen_ty_3> =
        ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<drm_amdgpu_info__bindgen_ty_1__bindgen_ty_3>(),
        16usize,
        concat!(
            "Size of: ",
            stringify!(drm_amdgpu_info__bindgen_ty_1__bindgen_ty_3)
        )
    );
    assert_eq!(
        ::core::mem::align_of::<drm_amdgpu_info__bindgen_ty_1__bindgen_ty_3>(),
        4usize,
        concat!(
            "Alignment of ",
            stringify!(drm_amdgpu_info__bindgen_ty_1__bindgen_ty_3)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).dword_offset) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_info__bindgen_ty_1__bindgen_ty_3),
            "::",
            stringify!(dword_offset)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).count) as usize - ptr as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_info__bindgen_ty_1__bindgen_ty_3),
            "::",
            stringify!(count)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).instance) as usize - ptr as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_info__bindgen_ty_1__bindgen_ty_3),
            "::",
            stringify!(instance)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
        12usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_info__bindgen_ty_1__bindgen_ty_3),
            "::",
            stringify!(flags)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct drm_amdgpu_info__bindgen_ty_1__bindgen_ty_4 {
    pub type_: __u32,
    pub offset: __u32,
}
#[test]
fn bindgen_test_layout_drm_amdgpu_info__bindgen_ty_1__bindgen_ty_4() {
    const UNINIT: ::core::mem::MaybeUninit<drm_amdgpu_info__bindgen_ty_1__bindgen_ty_4> =
        ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<drm_amdgpu_info__bindgen_ty_1__bindgen_ty_4>(),
        8usize,
        concat!(
            "Size of: ",
            stringify!(drm_amdgpu_info__bindgen_ty_1__bindgen_ty_4)
        )
    );
    assert_eq!(
        ::core::mem::align_of::<drm_amdgpu_info__bindgen_ty_1__bindgen_ty_4>(),
        4usize,
        concat!(
            "Alignment of ",
            stringify!(drm_amdgpu_info__bindgen_ty_1__bindgen_ty_4)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_info__bindgen_ty_1__bindgen_ty_4),
            "::",
            stringify!(type_)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).offset) as usize - ptr as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_info__bindgen_ty_1__bindgen_ty_4),
            "::",
            stringify!(offset)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct drm_amdgpu_info__bindgen_ty_1__bindgen_ty_5 {
    pub type_: __u32,
}
#[test]
fn bindgen_test_layout_drm_amdgpu_info__bindgen_ty_1__bindgen_ty_5() {
    const UNINIT: ::core::mem::MaybeUninit<drm_amdgpu_info__bindgen_ty_1__bindgen_ty_5> =
        ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<drm_amdgpu_info__bindgen_ty_1__bindgen_ty_5>(),
        4usize,
        concat!(
            "Size of: ",
            stringify!(drm_amdgpu_info__bindgen_ty_1__bindgen_ty_5)
        )
    );
    assert_eq!(
        ::core::mem::align_of::<drm_amdgpu_info__bindgen_ty_1__bindgen_ty_5>(),
        4usize,
        concat!(
            "Alignment of ",
            stringify!(drm_amdgpu_info__bindgen_ty_1__bindgen_ty_5)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_info__bindgen_ty_1__bindgen_ty_5),
            "::",
            stringify!(type_)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct drm_amdgpu_info__bindgen_ty_1__bindgen_ty_6 {
    pub type_: __u32,
}
#[test]
fn bindgen_test_layout_drm_amdgpu_info__bindgen_ty_1__bindgen_ty_6() {
    const UNINIT: ::core::mem::MaybeUninit<drm_amdgpu_info__bindgen_ty_1__bindgen_ty_6> =
        ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<drm_amdgpu_info__bindgen_ty_1__bindgen_ty_6>(),
        4usize,
        concat!(
            "Size of: ",
            stringify!(drm_amdgpu_info__bindgen_ty_1__bindgen_ty_6)
        )
    );
    assert_eq!(
        ::core::mem::align_of::<drm_amdgpu_info__bindgen_ty_1__bindgen_ty_6>(),
        4usize,
        concat!(
            "Alignment of ",
            stringify!(drm_amdgpu_info__bindgen_ty_1__bindgen_ty_6)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_info__bindgen_ty_1__bindgen_ty_6),
            "::",
            stringify!(type_)
        )
    );
}
#[test]
fn bindgen_test_layout_drm_amdgpu_info__bindgen_ty_1() {
    const UNINIT: ::core::mem::MaybeUninit<drm_amdgpu_info__bindgen_ty_1> =
        ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<drm_amdgpu_info__bindgen_ty_1>(),
        16usize,
        concat!("Size of: ", stringify!(drm_amdgpu_info__bindgen_ty_1))
    );
    assert_eq!(
        ::core::mem::align_of::<drm_amdgpu_info__bindgen_ty_1>(),
        4usize,
        concat!("Alignment of ", stringify!(drm_amdgpu_info__bindgen_ty_1))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).mode_crtc) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_info__bindgen_ty_1),
            "::",
            stringify!(mode_crtc)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).query_hw_ip) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_info__bindgen_ty_1),
            "::",
            stringify!(query_hw_ip)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).read_mmr_reg) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_info__bindgen_ty_1),
            "::",
            stringify!(read_mmr_reg)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).query_fw) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_info__bindgen_ty_1),
            "::",
            stringify!(query_fw)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).vbios_info) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_info__bindgen_ty_1),
            "::",
            stringify!(vbios_info)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).sensor_info) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_info__bindgen_ty_1),
            "::",
            stringify!(sensor_info)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).video_cap) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_info__bindgen_ty_1),
            "::",
            stringify!(video_cap)
        )
    );
}
#[test]
fn bindgen_test_layout_drm_amdgpu_info() {
    const UNINIT: ::core::mem::MaybeUninit<drm_amdgpu_info> = ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<drm_amdgpu_info>(),
        32usize,
        concat!("Size of: ", stringify!(drm_amdgpu_info))
    );
    assert_eq!(
        ::core::mem::align_of::<drm_amdgpu_info>(),
        8usize,
        concat!("Alignment of ", stringify!(drm_amdgpu_info))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).return_pointer) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_info),
            "::",
            stringify!(return_pointer)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).return_size) as usize - ptr as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_info),
            "::",
            stringify!(return_size)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).query) as usize - ptr as usize },
        12usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_info),
            "::",
            stringify!(query)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct drm_amdgpu_info_gds {
    #[doc = " GDS GFX partition size"]
    pub gds_gfx_partition_size: __u32,
    #[doc = " GDS compute partition size"]
    pub compute_partition_size: __u32,
    #[doc = " total GDS memory size"]
    pub gds_total_size: __u32,
    #[doc = " GWS size per GFX partition"]
    pub gws_per_gfx_partition: __u32,
    #[doc = " GSW size per compute partition"]
    pub gws_per_compute_partition: __u32,
    #[doc = " OA size per GFX partition"]
    pub oa_per_gfx_partition: __u32,
    #[doc = " OA size per compute partition"]
    pub oa_per_compute_partition: __u32,
    pub _pad: __u32,
}
#[test]
fn bindgen_test_layout_drm_amdgpu_info_gds() {
    const UNINIT: ::core::mem::MaybeUninit<drm_amdgpu_info_gds> =
        ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<drm_amdgpu_info_gds>(),
        32usize,
        concat!("Size of: ", stringify!(drm_amdgpu_info_gds))
    );
    assert_eq!(
        ::core::mem::align_of::<drm_amdgpu_info_gds>(),
        4usize,
        concat!("Alignment of ", stringify!(drm_amdgpu_info_gds))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).gds_gfx_partition_size) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_info_gds),
            "::",
            stringify!(gds_gfx_partition_size)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).compute_partition_size) as usize - ptr as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_info_gds),
            "::",
            stringify!(compute_partition_size)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).gds_total_size) as usize - ptr as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_info_gds),
            "::",
            stringify!(gds_total_size)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).gws_per_gfx_partition) as usize - ptr as usize },
        12usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_info_gds),
            "::",
            stringify!(gws_per_gfx_partition)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).gws_per_compute_partition) as usize - ptr as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_info_gds),
            "::",
            stringify!(gws_per_compute_partition)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).oa_per_gfx_partition) as usize - ptr as usize },
        20usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_info_gds),
            "::",
            stringify!(oa_per_gfx_partition)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).oa_per_compute_partition) as usize - ptr as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_info_gds),
            "::",
            stringify!(oa_per_compute_partition)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr)._pad) as usize - ptr as usize },
        28usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_info_gds),
            "::",
            stringify!(_pad)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct drm_amdgpu_info_vram_gtt {
    pub vram_size: __u64,
    pub vram_cpu_accessible_size: __u64,
    pub gtt_size: __u64,
}
#[test]
fn bindgen_test_layout_drm_amdgpu_info_vram_gtt() {
    const UNINIT: ::core::mem::MaybeUninit<drm_amdgpu_info_vram_gtt> =
        ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<drm_amdgpu_info_vram_gtt>(),
        24usize,
        concat!("Size of: ", stringify!(drm_amdgpu_info_vram_gtt))
    );
    assert_eq!(
        ::core::mem::align_of::<drm_amdgpu_info_vram_gtt>(),
        8usize,
        concat!("Alignment of ", stringify!(drm_amdgpu_info_vram_gtt))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).vram_size) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_info_vram_gtt),
            "::",
            stringify!(vram_size)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).vram_cpu_accessible_size) as usize - ptr as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_info_vram_gtt),
            "::",
            stringify!(vram_cpu_accessible_size)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).gtt_size) as usize - ptr as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_info_vram_gtt),
            "::",
            stringify!(gtt_size)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct drm_amdgpu_heap_info {
    #[doc = " max. physical memory"]
    pub total_heap_size: __u64,
    #[doc = " Theoretical max. available memory in the given heap"]
    pub usable_heap_size: __u64,
    #[doc = " Number of bytes allocated in the heap. This includes all processes\n and private allocations in the kernel. It changes when new buffers\n are allocated, freed, and moved. It cannot be larger than\n heap_size."]
    pub heap_usage: __u64,
    #[doc = " Theoretical possible max. size of buffer which\n could be allocated in the given heap"]
    pub max_allocation: __u64,
}
#[test]
fn bindgen_test_layout_drm_amdgpu_heap_info() {
    const UNINIT: ::core::mem::MaybeUninit<drm_amdgpu_heap_info> =
        ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<drm_amdgpu_heap_info>(),
        32usize,
        concat!("Size of: ", stringify!(drm_amdgpu_heap_info))
    );
    assert_eq!(
        ::core::mem::align_of::<drm_amdgpu_heap_info>(),
        8usize,
        concat!("Alignment of ", stringify!(drm_amdgpu_heap_info))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).total_heap_size) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_heap_info),
            "::",
            stringify!(total_heap_size)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).usable_heap_size) as usize - ptr as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_heap_info),
            "::",
            stringify!(usable_heap_size)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).heap_usage) as usize - ptr as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_heap_info),
            "::",
            stringify!(heap_usage)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).max_allocation) as usize - ptr as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_heap_info),
            "::",
            stringify!(max_allocation)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct drm_amdgpu_memory_info {
    pub vram: drm_amdgpu_heap_info,
    pub cpu_accessible_vram: drm_amdgpu_heap_info,
    pub gtt: drm_amdgpu_heap_info,
}
#[test]
fn bindgen_test_layout_drm_amdgpu_memory_info() {
    const UNINIT: ::core::mem::MaybeUninit<drm_amdgpu_memory_info> =
        ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<drm_amdgpu_memory_info>(),
        96usize,
        concat!("Size of: ", stringify!(drm_amdgpu_memory_info))
    );
    assert_eq!(
        ::core::mem::align_of::<drm_amdgpu_memory_info>(),
        8usize,
        concat!("Alignment of ", stringify!(drm_amdgpu_memory_info))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).vram) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_memory_info),
            "::",
            stringify!(vram)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).cpu_accessible_vram) as usize - ptr as usize },
        32usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_memory_info),
            "::",
            stringify!(cpu_accessible_vram)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).gtt) as usize - ptr as usize },
        64usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_memory_info),
            "::",
            stringify!(gtt)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct drm_amdgpu_info_firmware {
    pub ver: __u32,
    pub feature: __u32,
}
#[test]
fn bindgen_test_layout_drm_amdgpu_info_firmware() {
    const UNINIT: ::core::mem::MaybeUninit<drm_amdgpu_info_firmware> =
        ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<drm_amdgpu_info_firmware>(),
        8usize,
        concat!("Size of: ", stringify!(drm_amdgpu_info_firmware))
    );
    assert_eq!(
        ::core::mem::align_of::<drm_amdgpu_info_firmware>(),
        4usize,
        concat!("Alignment of ", stringify!(drm_amdgpu_info_firmware))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).ver) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_info_firmware),
            "::",
            stringify!(ver)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).feature) as usize - ptr as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_info_firmware),
            "::",
            stringify!(feature)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct drm_amdgpu_info_vbios {
    pub name: [__u8; 64usize],
    pub vbios_pn: [__u8; 64usize],
    pub version: __u32,
    pub pad: __u32,
    pub vbios_ver_str: [__u8; 32usize],
    pub date: [__u8; 32usize],
}
#[test]
fn bindgen_test_layout_drm_amdgpu_info_vbios() {
    const UNINIT: ::core::mem::MaybeUninit<drm_amdgpu_info_vbios> =
        ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<drm_amdgpu_info_vbios>(),
        200usize,
        concat!("Size of: ", stringify!(drm_amdgpu_info_vbios))
    );
    assert_eq!(
        ::core::mem::align_of::<drm_amdgpu_info_vbios>(),
        4usize,
        concat!("Alignment of ", stringify!(drm_amdgpu_info_vbios))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).name) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_info_vbios),
            "::",
            stringify!(name)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).vbios_pn) as usize - ptr as usize },
        64usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_info_vbios),
            "::",
            stringify!(vbios_pn)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).version) as usize - ptr as usize },
        128usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_info_vbios),
            "::",
            stringify!(version)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).pad) as usize - ptr as usize },
        132usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_info_vbios),
            "::",
            stringify!(pad)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).vbios_ver_str) as usize - ptr as usize },
        136usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_info_vbios),
            "::",
            stringify!(vbios_ver_str)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).date) as usize - ptr as usize },
        168usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_info_vbios),
            "::",
            stringify!(date)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct drm_amdgpu_info_device {
    #[doc = " PCI Device ID"]
    pub device_id: __u32,
    #[doc = " Internal chip revision: A0, A1, etc.)"]
    pub chip_rev: __u32,
    pub external_rev: __u32,
    #[doc = " Revision id in PCI Config space"]
    pub pci_rev: __u32,
    pub family: __u32,
    pub num_shader_engines: __u32,
    pub num_shader_arrays_per_engine: __u32,
    pub gpu_counter_freq: __u32,
    pub max_engine_clock: __u64,
    pub max_memory_clock: __u64,
    pub cu_active_number: __u32,
    pub cu_ao_mask: __u32,
    pub cu_bitmap: [[__u32; 4usize]; 4usize],
    #[doc = " Render backend pipe mask. One render backend is CB+DB."]
    pub enabled_rb_pipes_mask: __u32,
    pub num_rb_pipes: __u32,
    pub num_hw_gfx_contexts: __u32,
    pub pcie_gen: __u32,
    pub ids_flags: __u64,
    #[doc = " Starting virtual address for UMDs."]
    pub virtual_address_offset: __u64,
    #[doc = " The maximum virtual address"]
    pub virtual_address_max: __u64,
    #[doc = " Required alignment of virtual addresses."]
    pub virtual_address_alignment: __u32,
    #[doc = " Page table entry - fragment size"]
    pub pte_fragment_size: __u32,
    pub gart_page_size: __u32,
    #[doc = " constant engine ram size"]
    pub ce_ram_size: __u32,
    #[doc = " video memory type info"]
    pub vram_type: __u32,
    #[doc = " video memory bit width"]
    pub vram_bit_width: __u32,
    pub vce_harvest_config: __u32,
    pub gc_double_offchip_lds_buf: __u32,
    pub prim_buf_gpu_addr: __u64,
    pub pos_buf_gpu_addr: __u64,
    pub cntl_sb_buf_gpu_addr: __u64,
    pub param_buf_gpu_addr: __u64,
    pub prim_buf_size: __u32,
    pub pos_buf_size: __u32,
    pub cntl_sb_buf_size: __u32,
    pub param_buf_size: __u32,
    pub wave_front_size: __u32,
    pub num_shader_visible_vgprs: __u32,
    pub num_cu_per_sh: __u32,
    pub num_tcc_blocks: __u32,
    pub gs_vgt_table_depth: __u32,
    pub gs_prim_buffer_depth: __u32,
    pub max_gs_waves_per_vgt: __u32,
    pub pcie_num_lanes: __u32,
    pub cu_ao_bitmap: [[__u32; 4usize]; 4usize],
    #[doc = " Starting high virtual address for UMDs."]
    pub high_va_offset: __u64,
    #[doc = " The maximum high virtual address"]
    pub high_va_max: __u64,
    pub pa_sc_tile_steering_override: __u32,
    pub tcc_disabled_mask: __u64,
    pub min_engine_clock: __u64,
    pub min_memory_clock: __u64,
    pub tcp_cache_size: __u32,
    pub num_sqc_per_wgp: __u32,
    pub sqc_data_cache_size: __u32,
    pub sqc_inst_cache_size: __u32,
    pub gl1c_cache_size: __u32,
    pub gl2c_cache_size: __u32,
    pub mall_size: __u64,
    pub enabled_rb_pipes_mask_hi: __u32,
    pub shadow_size: __u32,
    pub shadow_alignment: __u32,
    pub csa_size: __u32,
    pub csa_alignment: __u32,
}
#[test]
fn bindgen_test_layout_drm_amdgpu_info_device() {
    const UNINIT: ::core::mem::MaybeUninit<drm_amdgpu_info_device> =
        ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<drm_amdgpu_info_device>(),
        440usize,
        concat!("Size of: ", stringify!(drm_amdgpu_info_device))
    );
    assert_eq!(
        ::core::mem::align_of::<drm_amdgpu_info_device>(),
        8usize,
        concat!("Alignment of ", stringify!(drm_amdgpu_info_device))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).device_id) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_info_device),
            "::",
            stringify!(device_id)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).chip_rev) as usize - ptr as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_info_device),
            "::",
            stringify!(chip_rev)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).external_rev) as usize - ptr as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_info_device),
            "::",
            stringify!(external_rev)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).pci_rev) as usize - ptr as usize },
        12usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_info_device),
            "::",
            stringify!(pci_rev)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).family) as usize - ptr as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_info_device),
            "::",
            stringify!(family)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).num_shader_engines) as usize - ptr as usize },
        20usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_info_device),
            "::",
            stringify!(num_shader_engines)
        )
    );
    assert_eq!(
        unsafe {
            ::core::ptr::addr_of!((*ptr).num_shader_arrays_per_engine) as usize - ptr as usize
        },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_info_device),
            "::",
            stringify!(num_shader_arrays_per_engine)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).gpu_counter_freq) as usize - ptr as usize },
        28usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_info_device),
            "::",
            stringify!(gpu_counter_freq)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).max_engine_clock) as usize - ptr as usize },
        32usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_info_device),
            "::",
            stringify!(max_engine_clock)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).max_memory_clock) as usize - ptr as usize },
        40usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_info_device),
            "::",
            stringify!(max_memory_clock)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).cu_active_number) as usize - ptr as usize },
        48usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_info_device),
            "::",
            stringify!(cu_active_number)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).cu_ao_mask) as usize - ptr as usize },
        52usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_info_device),
            "::",
            stringify!(cu_ao_mask)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).cu_bitmap) as usize - ptr as usize },
        56usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_info_device),
            "::",
            stringify!(cu_bitmap)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).enabled_rb_pipes_mask) as usize - ptr as usize },
        120usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_info_device),
            "::",
            stringify!(enabled_rb_pipes_mask)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).num_rb_pipes) as usize - ptr as usize },
        124usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_info_device),
            "::",
            stringify!(num_rb_pipes)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).num_hw_gfx_contexts) as usize - ptr as usize },
        128usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_info_device),
            "::",
            stringify!(num_hw_gfx_contexts)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).pcie_gen) as usize - ptr as usize },
        132usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_info_device),
            "::",
            stringify!(pcie_gen)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).ids_flags) as usize - ptr as usize },
        136usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_info_device),
            "::",
            stringify!(ids_flags)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).virtual_address_offset) as usize - ptr as usize },
        144usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_info_device),
            "::",
            stringify!(virtual_address_offset)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).virtual_address_max) as usize - ptr as usize },
        152usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_info_device),
            "::",
            stringify!(virtual_address_max)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).virtual_address_alignment) as usize - ptr as usize },
        160usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_info_device),
            "::",
            stringify!(virtual_address_alignment)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).pte_fragment_size) as usize - ptr as usize },
        164usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_info_device),
            "::",
            stringify!(pte_fragment_size)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).gart_page_size) as usize - ptr as usize },
        168usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_info_device),
            "::",
            stringify!(gart_page_size)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).ce_ram_size) as usize - ptr as usize },
        172usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_info_device),
            "::",
            stringify!(ce_ram_size)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).vram_type) as usize - ptr as usize },
        176usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_info_device),
            "::",
            stringify!(vram_type)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).vram_bit_width) as usize - ptr as usize },
        180usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_info_device),
            "::",
            stringify!(vram_bit_width)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).vce_harvest_config) as usize - ptr as usize },
        184usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_info_device),
            "::",
            stringify!(vce_harvest_config)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).gc_double_offchip_lds_buf) as usize - ptr as usize },
        188usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_info_device),
            "::",
            stringify!(gc_double_offchip_lds_buf)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).prim_buf_gpu_addr) as usize - ptr as usize },
        192usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_info_device),
            "::",
            stringify!(prim_buf_gpu_addr)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).pos_buf_gpu_addr) as usize - ptr as usize },
        200usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_info_device),
            "::",
            stringify!(pos_buf_gpu_addr)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).cntl_sb_buf_gpu_addr) as usize - ptr as usize },
        208usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_info_device),
            "::",
            stringify!(cntl_sb_buf_gpu_addr)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).param_buf_gpu_addr) as usize - ptr as usize },
        216usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_info_device),
            "::",
            stringify!(param_buf_gpu_addr)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).prim_buf_size) as usize - ptr as usize },
        224usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_info_device),
            "::",
            stringify!(prim_buf_size)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).pos_buf_size) as usize - ptr as usize },
        228usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_info_device),
            "::",
            stringify!(pos_buf_size)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).cntl_sb_buf_size) as usize - ptr as usize },
        232usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_info_device),
            "::",
            stringify!(cntl_sb_buf_size)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).param_buf_size) as usize - ptr as usize },
        236usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_info_device),
            "::",
            stringify!(param_buf_size)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).wave_front_size) as usize - ptr as usize },
        240usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_info_device),
            "::",
            stringify!(wave_front_size)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).num_shader_visible_vgprs) as usize - ptr as usize },
        244usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_info_device),
            "::",
            stringify!(num_shader_visible_vgprs)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).num_cu_per_sh) as usize - ptr as usize },
        248usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_info_device),
            "::",
            stringify!(num_cu_per_sh)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).num_tcc_blocks) as usize - ptr as usize },
        252usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_info_device),
            "::",
            stringify!(num_tcc_blocks)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).gs_vgt_table_depth) as usize - ptr as usize },
        256usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_info_device),
            "::",
            stringify!(gs_vgt_table_depth)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).gs_prim_buffer_depth) as usize - ptr as usize },
        260usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_info_device),
            "::",
            stringify!(gs_prim_buffer_depth)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).max_gs_waves_per_vgt) as usize - ptr as usize },
        264usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_info_device),
            "::",
            stringify!(max_gs_waves_per_vgt)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).pcie_num_lanes) as usize - ptr as usize },
        268usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_info_device),
            "::",
            stringify!(pcie_num_lanes)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).cu_ao_bitmap) as usize - ptr as usize },
        272usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_info_device),
            "::",
            stringify!(cu_ao_bitmap)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).high_va_offset) as usize - ptr as usize },
        336usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_info_device),
            "::",
            stringify!(high_va_offset)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).high_va_max) as usize - ptr as usize },
        344usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_info_device),
            "::",
            stringify!(high_va_max)
        )
    );
    assert_eq!(
        unsafe {
            ::core::ptr::addr_of!((*ptr).pa_sc_tile_steering_override) as usize - ptr as usize
        },
        352usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_info_device),
            "::",
            stringify!(pa_sc_tile_steering_override)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).tcc_disabled_mask) as usize - ptr as usize },
        360usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_info_device),
            "::",
            stringify!(tcc_disabled_mask)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).min_engine_clock) as usize - ptr as usize },
        368usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_info_device),
            "::",
            stringify!(min_engine_clock)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).min_memory_clock) as usize - ptr as usize },
        376usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_info_device),
            "::",
            stringify!(min_memory_clock)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).tcp_cache_size) as usize - ptr as usize },
        384usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_info_device),
            "::",
            stringify!(tcp_cache_size)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).num_sqc_per_wgp) as usize - ptr as usize },
        388usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_info_device),
            "::",
            stringify!(num_sqc_per_wgp)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).sqc_data_cache_size) as usize - ptr as usize },
        392usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_info_device),
            "::",
            stringify!(sqc_data_cache_size)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).sqc_inst_cache_size) as usize - ptr as usize },
        396usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_info_device),
            "::",
            stringify!(sqc_inst_cache_size)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).gl1c_cache_size) as usize - ptr as usize },
        400usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_info_device),
            "::",
            stringify!(gl1c_cache_size)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).gl2c_cache_size) as usize - ptr as usize },
        404usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_info_device),
            "::",
            stringify!(gl2c_cache_size)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).mall_size) as usize - ptr as usize },
        408usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_info_device),
            "::",
            stringify!(mall_size)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).enabled_rb_pipes_mask_hi) as usize - ptr as usize },
        416usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_info_device),
            "::",
            stringify!(enabled_rb_pipes_mask_hi)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).shadow_size) as usize - ptr as usize },
        420usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_info_device),
            "::",
            stringify!(shadow_size)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).shadow_alignment) as usize - ptr as usize },
        424usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_info_device),
            "::",
            stringify!(shadow_alignment)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).csa_size) as usize - ptr as usize },
        428usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_info_device),
            "::",
            stringify!(csa_size)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).csa_alignment) as usize - ptr as usize },
        432usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_info_device),
            "::",
            stringify!(csa_alignment)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct drm_amdgpu_info_hw_ip {
    #[doc = " Version of h/w IP"]
    pub hw_ip_version_major: __u32,
    pub hw_ip_version_minor: __u32,
    #[doc = " Capabilities"]
    pub capabilities_flags: __u64,
    #[doc = " command buffer address start alignment"]
    pub ib_start_alignment: __u32,
    #[doc = " command buffer size alignment"]
    pub ib_size_alignment: __u32,
    #[doc = " Bitmask of available rings. Bit 0 means ring 0, etc."]
    pub available_rings: __u32,
    #[doc = " version info: bits 23:16 major, 15:8 minor, 7:0 revision"]
    pub ip_discovery_version: __u32,
}
#[test]
fn bindgen_test_layout_drm_amdgpu_info_hw_ip() {
    const UNINIT: ::core::mem::MaybeUninit<drm_amdgpu_info_hw_ip> =
        ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<drm_amdgpu_info_hw_ip>(),
        32usize,
        concat!("Size of: ", stringify!(drm_amdgpu_info_hw_ip))
    );
    assert_eq!(
        ::core::mem::align_of::<drm_amdgpu_info_hw_ip>(),
        8usize,
        concat!("Alignment of ", stringify!(drm_amdgpu_info_hw_ip))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).hw_ip_version_major) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_info_hw_ip),
            "::",
            stringify!(hw_ip_version_major)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).hw_ip_version_minor) as usize - ptr as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_info_hw_ip),
            "::",
            stringify!(hw_ip_version_minor)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).capabilities_flags) as usize - ptr as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_info_hw_ip),
            "::",
            stringify!(capabilities_flags)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).ib_start_alignment) as usize - ptr as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_info_hw_ip),
            "::",
            stringify!(ib_start_alignment)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).ib_size_alignment) as usize - ptr as usize },
        20usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_info_hw_ip),
            "::",
            stringify!(ib_size_alignment)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).available_rings) as usize - ptr as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_info_hw_ip),
            "::",
            stringify!(available_rings)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).ip_discovery_version) as usize - ptr as usize },
        28usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_info_hw_ip),
            "::",
            stringify!(ip_discovery_version)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct drm_amdgpu_info_num_handles {
    #[doc = " Max handles as supported by firmware for UVD"]
    pub uvd_max_handles: __u32,
    #[doc = " Handles currently in use for UVD"]
    pub uvd_used_handles: __u32,
}
#[test]
fn bindgen_test_layout_drm_amdgpu_info_num_handles() {
    const UNINIT: ::core::mem::MaybeUninit<drm_amdgpu_info_num_handles> =
        ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<drm_amdgpu_info_num_handles>(),
        8usize,
        concat!("Size of: ", stringify!(drm_amdgpu_info_num_handles))
    );
    assert_eq!(
        ::core::mem::align_of::<drm_amdgpu_info_num_handles>(),
        4usize,
        concat!("Alignment of ", stringify!(drm_amdgpu_info_num_handles))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).uvd_max_handles) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_info_num_handles),
            "::",
            stringify!(uvd_max_handles)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).uvd_used_handles) as usize - ptr as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_info_num_handles),
            "::",
            stringify!(uvd_used_handles)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct drm_amdgpu_info_vce_clock_table_entry {
    #[doc = " System clock"]
    pub sclk: __u32,
    #[doc = " Memory clock"]
    pub mclk: __u32,
    #[doc = " VCE clock"]
    pub eclk: __u32,
    pub pad: __u32,
}
#[test]
fn bindgen_test_layout_drm_amdgpu_info_vce_clock_table_entry() {
    const UNINIT: ::core::mem::MaybeUninit<drm_amdgpu_info_vce_clock_table_entry> =
        ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<drm_amdgpu_info_vce_clock_table_entry>(),
        16usize,
        concat!(
            "Size of: ",
            stringify!(drm_amdgpu_info_vce_clock_table_entry)
        )
    );
    assert_eq!(
        ::core::mem::align_of::<drm_amdgpu_info_vce_clock_table_entry>(),
        4usize,
        concat!(
            "Alignment of ",
            stringify!(drm_amdgpu_info_vce_clock_table_entry)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).sclk) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_info_vce_clock_table_entry),
            "::",
            stringify!(sclk)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).mclk) as usize - ptr as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_info_vce_clock_table_entry),
            "::",
            stringify!(mclk)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).eclk) as usize - ptr as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_info_vce_clock_table_entry),
            "::",
            stringify!(eclk)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).pad) as usize - ptr as usize },
        12usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_info_vce_clock_table_entry),
            "::",
            stringify!(pad)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct drm_amdgpu_info_vce_clock_table {
    pub entries: [drm_amdgpu_info_vce_clock_table_entry; 6usize],
    pub num_valid_entries: __u32,
    pub pad: __u32,
}
#[test]
fn bindgen_test_layout_drm_amdgpu_info_vce_clock_table() {
    const UNINIT: ::core::mem::MaybeUninit<drm_amdgpu_info_vce_clock_table> =
        ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<drm_amdgpu_info_vce_clock_table>(),
        104usize,
        concat!("Size of: ", stringify!(drm_amdgpu_info_vce_clock_table))
    );
    assert_eq!(
        ::core::mem::align_of::<drm_amdgpu_info_vce_clock_table>(),
        4usize,
        concat!("Alignment of ", stringify!(drm_amdgpu_info_vce_clock_table))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).entries) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_info_vce_clock_table),
            "::",
            stringify!(entries)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).num_valid_entries) as usize - ptr as usize },
        96usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_info_vce_clock_table),
            "::",
            stringify!(num_valid_entries)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).pad) as usize - ptr as usize },
        100usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_info_vce_clock_table),
            "::",
            stringify!(pad)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct drm_amdgpu_info_video_codec_info {
    pub valid: __u32,
    pub max_width: __u32,
    pub max_height: __u32,
    pub max_pixels_per_frame: __u32,
    pub max_level: __u32,
    pub pad: __u32,
}
#[test]
fn bindgen_test_layout_drm_amdgpu_info_video_codec_info() {
    const UNINIT: ::core::mem::MaybeUninit<drm_amdgpu_info_video_codec_info> =
        ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<drm_amdgpu_info_video_codec_info>(),
        24usize,
        concat!("Size of: ", stringify!(drm_amdgpu_info_video_codec_info))
    );
    assert_eq!(
        ::core::mem::align_of::<drm_amdgpu_info_video_codec_info>(),
        4usize,
        concat!(
            "Alignment of ",
            stringify!(drm_amdgpu_info_video_codec_info)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).valid) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_info_video_codec_info),
            "::",
            stringify!(valid)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).max_width) as usize - ptr as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_info_video_codec_info),
            "::",
            stringify!(max_width)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).max_height) as usize - ptr as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_info_video_codec_info),
            "::",
            stringify!(max_height)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).max_pixels_per_frame) as usize - ptr as usize },
        12usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_info_video_codec_info),
            "::",
            stringify!(max_pixels_per_frame)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).max_level) as usize - ptr as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_info_video_codec_info),
            "::",
            stringify!(max_level)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).pad) as usize - ptr as usize },
        20usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_info_video_codec_info),
            "::",
            stringify!(pad)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct drm_amdgpu_info_video_caps {
    pub codec_info: [drm_amdgpu_info_video_codec_info; 8usize],
}
#[test]
fn bindgen_test_layout_drm_amdgpu_info_video_caps() {
    const UNINIT: ::core::mem::MaybeUninit<drm_amdgpu_info_video_caps> =
        ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<drm_amdgpu_info_video_caps>(),
        192usize,
        concat!("Size of: ", stringify!(drm_amdgpu_info_video_caps))
    );
    assert_eq!(
        ::core::mem::align_of::<drm_amdgpu_info_video_caps>(),
        4usize,
        concat!("Alignment of ", stringify!(drm_amdgpu_info_video_caps))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).codec_info) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_info_video_caps),
            "::",
            stringify!(codec_info)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct drm_amdgpu_info_gpuvm_fault {
    pub addr: __u64,
    pub status: __u32,
    pub vmhub: __u32,
}
#[test]
fn bindgen_test_layout_drm_amdgpu_info_gpuvm_fault() {
    const UNINIT: ::core::mem::MaybeUninit<drm_amdgpu_info_gpuvm_fault> =
        ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<drm_amdgpu_info_gpuvm_fault>(),
        16usize,
        concat!("Size of: ", stringify!(drm_amdgpu_info_gpuvm_fault))
    );
    assert_eq!(
        ::core::mem::align_of::<drm_amdgpu_info_gpuvm_fault>(),
        8usize,
        concat!("Alignment of ", stringify!(drm_amdgpu_info_gpuvm_fault))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).addr) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_info_gpuvm_fault),
            "::",
            stringify!(addr)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).status) as usize - ptr as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_info_gpuvm_fault),
            "::",
            stringify!(status)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).vmhub) as usize - ptr as usize },
        12usize,
        concat!(
            "Offset of field: ",
            stringify!(drm_amdgpu_info_gpuvm_fault),
            "::",
            stringify!(vmhub)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct metrics_table_header {
    pub structure_size: u16,
    pub format_revision: u8,
    pub content_revision: u8,
}
#[test]
fn bindgen_test_layout_metrics_table_header() {
    const UNINIT: ::core::mem::MaybeUninit<metrics_table_header> =
        ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<metrics_table_header>(),
        4usize,
        concat!("Size of: ", stringify!(metrics_table_header))
    );
    assert_eq!(
        ::core::mem::align_of::<metrics_table_header>(),
        2usize,
        concat!("Alignment of ", stringify!(metrics_table_header))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).structure_size) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(metrics_table_header),
            "::",
            stringify!(structure_size)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).format_revision) as usize - ptr as usize },
        2usize,
        concat!(
            "Offset of field: ",
            stringify!(metrics_table_header),
            "::",
            stringify!(format_revision)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).content_revision) as usize - ptr as usize },
        3usize,
        concat!(
            "Offset of field: ",
            stringify!(metrics_table_header),
            "::",
            stringify!(content_revision)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct gpu_metrics_v1_0 {
    pub common_header: metrics_table_header,
    pub system_clock_counter: u64,
    pub temperature_edge: u16,
    pub temperature_hotspot: u16,
    pub temperature_mem: u16,
    pub temperature_vrgfx: u16,
    pub temperature_vrsoc: u16,
    pub temperature_vrmem: u16,
    pub average_gfx_activity: u16,
    pub average_umc_activity: u16,
    pub average_mm_activity: u16,
    pub average_socket_power: u16,
    pub energy_accumulator: u32,
    pub average_gfxclk_frequency: u16,
    pub average_socclk_frequency: u16,
    pub average_uclk_frequency: u16,
    pub average_vclk0_frequency: u16,
    pub average_dclk0_frequency: u16,
    pub average_vclk1_frequency: u16,
    pub average_dclk1_frequency: u16,
    pub current_gfxclk: u16,
    pub current_socclk: u16,
    pub current_uclk: u16,
    pub current_vclk0: u16,
    pub current_dclk0: u16,
    pub current_vclk1: u16,
    pub current_dclk1: u16,
    pub throttle_status: u32,
    pub current_fan_speed: u16,
    pub pcie_link_width: u8,
    pub pcie_link_speed: u8,
}
#[test]
fn bindgen_test_layout_gpu_metrics_v1_0() {
    const UNINIT: ::core::mem::MaybeUninit<gpu_metrics_v1_0> = ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<gpu_metrics_v1_0>(),
        80usize,
        concat!("Size of: ", stringify!(gpu_metrics_v1_0))
    );
    assert_eq!(
        ::core::mem::align_of::<gpu_metrics_v1_0>(),
        8usize,
        concat!("Alignment of ", stringify!(gpu_metrics_v1_0))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).common_header) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v1_0),
            "::",
            stringify!(common_header)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).system_clock_counter) as usize - ptr as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v1_0),
            "::",
            stringify!(system_clock_counter)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).temperature_edge) as usize - ptr as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v1_0),
            "::",
            stringify!(temperature_edge)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).temperature_hotspot) as usize - ptr as usize },
        18usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v1_0),
            "::",
            stringify!(temperature_hotspot)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).temperature_mem) as usize - ptr as usize },
        20usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v1_0),
            "::",
            stringify!(temperature_mem)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).temperature_vrgfx) as usize - ptr as usize },
        22usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v1_0),
            "::",
            stringify!(temperature_vrgfx)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).temperature_vrsoc) as usize - ptr as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v1_0),
            "::",
            stringify!(temperature_vrsoc)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).temperature_vrmem) as usize - ptr as usize },
        26usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v1_0),
            "::",
            stringify!(temperature_vrmem)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).average_gfx_activity) as usize - ptr as usize },
        28usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v1_0),
            "::",
            stringify!(average_gfx_activity)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).average_umc_activity) as usize - ptr as usize },
        30usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v1_0),
            "::",
            stringify!(average_umc_activity)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).average_mm_activity) as usize - ptr as usize },
        32usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v1_0),
            "::",
            stringify!(average_mm_activity)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).average_socket_power) as usize - ptr as usize },
        34usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v1_0),
            "::",
            stringify!(average_socket_power)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).energy_accumulator) as usize - ptr as usize },
        36usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v1_0),
            "::",
            stringify!(energy_accumulator)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).average_gfxclk_frequency) as usize - ptr as usize },
        40usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v1_0),
            "::",
            stringify!(average_gfxclk_frequency)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).average_socclk_frequency) as usize - ptr as usize },
        42usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v1_0),
            "::",
            stringify!(average_socclk_frequency)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).average_uclk_frequency) as usize - ptr as usize },
        44usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v1_0),
            "::",
            stringify!(average_uclk_frequency)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).average_vclk0_frequency) as usize - ptr as usize },
        46usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v1_0),
            "::",
            stringify!(average_vclk0_frequency)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).average_dclk0_frequency) as usize - ptr as usize },
        48usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v1_0),
            "::",
            stringify!(average_dclk0_frequency)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).average_vclk1_frequency) as usize - ptr as usize },
        50usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v1_0),
            "::",
            stringify!(average_vclk1_frequency)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).average_dclk1_frequency) as usize - ptr as usize },
        52usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v1_0),
            "::",
            stringify!(average_dclk1_frequency)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).current_gfxclk) as usize - ptr as usize },
        54usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v1_0),
            "::",
            stringify!(current_gfxclk)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).current_socclk) as usize - ptr as usize },
        56usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v1_0),
            "::",
            stringify!(current_socclk)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).current_uclk) as usize - ptr as usize },
        58usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v1_0),
            "::",
            stringify!(current_uclk)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).current_vclk0) as usize - ptr as usize },
        60usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v1_0),
            "::",
            stringify!(current_vclk0)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).current_dclk0) as usize - ptr as usize },
        62usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v1_0),
            "::",
            stringify!(current_dclk0)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).current_vclk1) as usize - ptr as usize },
        64usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v1_0),
            "::",
            stringify!(current_vclk1)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).current_dclk1) as usize - ptr as usize },
        66usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v1_0),
            "::",
            stringify!(current_dclk1)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).throttle_status) as usize - ptr as usize },
        68usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v1_0),
            "::",
            stringify!(throttle_status)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).current_fan_speed) as usize - ptr as usize },
        72usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v1_0),
            "::",
            stringify!(current_fan_speed)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).pcie_link_width) as usize - ptr as usize },
        74usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v1_0),
            "::",
            stringify!(pcie_link_width)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).pcie_link_speed) as usize - ptr as usize },
        75usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v1_0),
            "::",
            stringify!(pcie_link_speed)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct gpu_metrics_v1_1 {
    pub common_header: metrics_table_header,
    pub temperature_edge: u16,
    pub temperature_hotspot: u16,
    pub temperature_mem: u16,
    pub temperature_vrgfx: u16,
    pub temperature_vrsoc: u16,
    pub temperature_vrmem: u16,
    pub average_gfx_activity: u16,
    pub average_umc_activity: u16,
    pub average_mm_activity: u16,
    pub average_socket_power: u16,
    pub energy_accumulator: u64,
    pub system_clock_counter: u64,
    pub average_gfxclk_frequency: u16,
    pub average_socclk_frequency: u16,
    pub average_uclk_frequency: u16,
    pub average_vclk0_frequency: u16,
    pub average_dclk0_frequency: u16,
    pub average_vclk1_frequency: u16,
    pub average_dclk1_frequency: u16,
    pub current_gfxclk: u16,
    pub current_socclk: u16,
    pub current_uclk: u16,
    pub current_vclk0: u16,
    pub current_dclk0: u16,
    pub current_vclk1: u16,
    pub current_dclk1: u16,
    pub throttle_status: u32,
    pub current_fan_speed: u16,
    pub pcie_link_width: u16,
    pub pcie_link_speed: u16,
    pub padding: u16,
    pub gfx_activity_acc: u32,
    pub mem_activity_acc: u32,
    pub temperature_hbm: [u16; 4usize],
}
#[test]
fn bindgen_test_layout_gpu_metrics_v1_1() {
    const UNINIT: ::core::mem::MaybeUninit<gpu_metrics_v1_1> = ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<gpu_metrics_v1_1>(),
        96usize,
        concat!("Size of: ", stringify!(gpu_metrics_v1_1))
    );
    assert_eq!(
        ::core::mem::align_of::<gpu_metrics_v1_1>(),
        8usize,
        concat!("Alignment of ", stringify!(gpu_metrics_v1_1))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).common_header) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v1_1),
            "::",
            stringify!(common_header)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).temperature_edge) as usize - ptr as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v1_1),
            "::",
            stringify!(temperature_edge)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).temperature_hotspot) as usize - ptr as usize },
        6usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v1_1),
            "::",
            stringify!(temperature_hotspot)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).temperature_mem) as usize - ptr as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v1_1),
            "::",
            stringify!(temperature_mem)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).temperature_vrgfx) as usize - ptr as usize },
        10usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v1_1),
            "::",
            stringify!(temperature_vrgfx)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).temperature_vrsoc) as usize - ptr as usize },
        12usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v1_1),
            "::",
            stringify!(temperature_vrsoc)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).temperature_vrmem) as usize - ptr as usize },
        14usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v1_1),
            "::",
            stringify!(temperature_vrmem)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).average_gfx_activity) as usize - ptr as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v1_1),
            "::",
            stringify!(average_gfx_activity)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).average_umc_activity) as usize - ptr as usize },
        18usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v1_1),
            "::",
            stringify!(average_umc_activity)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).average_mm_activity) as usize - ptr as usize },
        20usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v1_1),
            "::",
            stringify!(average_mm_activity)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).average_socket_power) as usize - ptr as usize },
        22usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v1_1),
            "::",
            stringify!(average_socket_power)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).energy_accumulator) as usize - ptr as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v1_1),
            "::",
            stringify!(energy_accumulator)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).system_clock_counter) as usize - ptr as usize },
        32usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v1_1),
            "::",
            stringify!(system_clock_counter)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).average_gfxclk_frequency) as usize - ptr as usize },
        40usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v1_1),
            "::",
            stringify!(average_gfxclk_frequency)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).average_socclk_frequency) as usize - ptr as usize },
        42usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v1_1),
            "::",
            stringify!(average_socclk_frequency)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).average_uclk_frequency) as usize - ptr as usize },
        44usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v1_1),
            "::",
            stringify!(average_uclk_frequency)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).average_vclk0_frequency) as usize - ptr as usize },
        46usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v1_1),
            "::",
            stringify!(average_vclk0_frequency)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).average_dclk0_frequency) as usize - ptr as usize },
        48usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v1_1),
            "::",
            stringify!(average_dclk0_frequency)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).average_vclk1_frequency) as usize - ptr as usize },
        50usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v1_1),
            "::",
            stringify!(average_vclk1_frequency)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).average_dclk1_frequency) as usize - ptr as usize },
        52usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v1_1),
            "::",
            stringify!(average_dclk1_frequency)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).current_gfxclk) as usize - ptr as usize },
        54usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v1_1),
            "::",
            stringify!(current_gfxclk)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).current_socclk) as usize - ptr as usize },
        56usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v1_1),
            "::",
            stringify!(current_socclk)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).current_uclk) as usize - ptr as usize },
        58usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v1_1),
            "::",
            stringify!(current_uclk)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).current_vclk0) as usize - ptr as usize },
        60usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v1_1),
            "::",
            stringify!(current_vclk0)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).current_dclk0) as usize - ptr as usize },
        62usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v1_1),
            "::",
            stringify!(current_dclk0)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).current_vclk1) as usize - ptr as usize },
        64usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v1_1),
            "::",
            stringify!(current_vclk1)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).current_dclk1) as usize - ptr as usize },
        66usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v1_1),
            "::",
            stringify!(current_dclk1)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).throttle_status) as usize - ptr as usize },
        68usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v1_1),
            "::",
            stringify!(throttle_status)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).current_fan_speed) as usize - ptr as usize },
        72usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v1_1),
            "::",
            stringify!(current_fan_speed)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).pcie_link_width) as usize - ptr as usize },
        74usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v1_1),
            "::",
            stringify!(pcie_link_width)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).pcie_link_speed) as usize - ptr as usize },
        76usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v1_1),
            "::",
            stringify!(pcie_link_speed)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).padding) as usize - ptr as usize },
        78usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v1_1),
            "::",
            stringify!(padding)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).gfx_activity_acc) as usize - ptr as usize },
        80usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v1_1),
            "::",
            stringify!(gfx_activity_acc)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).mem_activity_acc) as usize - ptr as usize },
        84usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v1_1),
            "::",
            stringify!(mem_activity_acc)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).temperature_hbm) as usize - ptr as usize },
        88usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v1_1),
            "::",
            stringify!(temperature_hbm)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct gpu_metrics_v1_2 {
    pub common_header: metrics_table_header,
    pub temperature_edge: u16,
    pub temperature_hotspot: u16,
    pub temperature_mem: u16,
    pub temperature_vrgfx: u16,
    pub temperature_vrsoc: u16,
    pub temperature_vrmem: u16,
    pub average_gfx_activity: u16,
    pub average_umc_activity: u16,
    pub average_mm_activity: u16,
    pub average_socket_power: u16,
    pub energy_accumulator: u64,
    pub system_clock_counter: u64,
    pub average_gfxclk_frequency: u16,
    pub average_socclk_frequency: u16,
    pub average_uclk_frequency: u16,
    pub average_vclk0_frequency: u16,
    pub average_dclk0_frequency: u16,
    pub average_vclk1_frequency: u16,
    pub average_dclk1_frequency: u16,
    pub current_gfxclk: u16,
    pub current_socclk: u16,
    pub current_uclk: u16,
    pub current_vclk0: u16,
    pub current_dclk0: u16,
    pub current_vclk1: u16,
    pub current_dclk1: u16,
    pub throttle_status: u32,
    pub current_fan_speed: u16,
    pub pcie_link_width: u16,
    pub pcie_link_speed: u16,
    pub padding: u16,
    pub gfx_activity_acc: u32,
    pub mem_activity_acc: u32,
    pub temperature_hbm: [u16; 4usize],
    pub firmware_timestamp: u64,
}
#[test]
fn bindgen_test_layout_gpu_metrics_v1_2() {
    const UNINIT: ::core::mem::MaybeUninit<gpu_metrics_v1_2> = ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<gpu_metrics_v1_2>(),
        104usize,
        concat!("Size of: ", stringify!(gpu_metrics_v1_2))
    );
    assert_eq!(
        ::core::mem::align_of::<gpu_metrics_v1_2>(),
        8usize,
        concat!("Alignment of ", stringify!(gpu_metrics_v1_2))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).common_header) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v1_2),
            "::",
            stringify!(common_header)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).temperature_edge) as usize - ptr as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v1_2),
            "::",
            stringify!(temperature_edge)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).temperature_hotspot) as usize - ptr as usize },
        6usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v1_2),
            "::",
            stringify!(temperature_hotspot)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).temperature_mem) as usize - ptr as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v1_2),
            "::",
            stringify!(temperature_mem)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).temperature_vrgfx) as usize - ptr as usize },
        10usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v1_2),
            "::",
            stringify!(temperature_vrgfx)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).temperature_vrsoc) as usize - ptr as usize },
        12usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v1_2),
            "::",
            stringify!(temperature_vrsoc)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).temperature_vrmem) as usize - ptr as usize },
        14usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v1_2),
            "::",
            stringify!(temperature_vrmem)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).average_gfx_activity) as usize - ptr as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v1_2),
            "::",
            stringify!(average_gfx_activity)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).average_umc_activity) as usize - ptr as usize },
        18usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v1_2),
            "::",
            stringify!(average_umc_activity)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).average_mm_activity) as usize - ptr as usize },
        20usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v1_2),
            "::",
            stringify!(average_mm_activity)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).average_socket_power) as usize - ptr as usize },
        22usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v1_2),
            "::",
            stringify!(average_socket_power)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).energy_accumulator) as usize - ptr as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v1_2),
            "::",
            stringify!(energy_accumulator)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).system_clock_counter) as usize - ptr as usize },
        32usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v1_2),
            "::",
            stringify!(system_clock_counter)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).average_gfxclk_frequency) as usize - ptr as usize },
        40usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v1_2),
            "::",
            stringify!(average_gfxclk_frequency)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).average_socclk_frequency) as usize - ptr as usize },
        42usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v1_2),
            "::",
            stringify!(average_socclk_frequency)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).average_uclk_frequency) as usize - ptr as usize },
        44usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v1_2),
            "::",
            stringify!(average_uclk_frequency)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).average_vclk0_frequency) as usize - ptr as usize },
        46usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v1_2),
            "::",
            stringify!(average_vclk0_frequency)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).average_dclk0_frequency) as usize - ptr as usize },
        48usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v1_2),
            "::",
            stringify!(average_dclk0_frequency)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).average_vclk1_frequency) as usize - ptr as usize },
        50usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v1_2),
            "::",
            stringify!(average_vclk1_frequency)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).average_dclk1_frequency) as usize - ptr as usize },
        52usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v1_2),
            "::",
            stringify!(average_dclk1_frequency)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).current_gfxclk) as usize - ptr as usize },
        54usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v1_2),
            "::",
            stringify!(current_gfxclk)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).current_socclk) as usize - ptr as usize },
        56usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v1_2),
            "::",
            stringify!(current_socclk)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).current_uclk) as usize - ptr as usize },
        58usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v1_2),
            "::",
            stringify!(current_uclk)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).current_vclk0) as usize - ptr as usize },
        60usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v1_2),
            "::",
            stringify!(current_vclk0)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).current_dclk0) as usize - ptr as usize },
        62usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v1_2),
            "::",
            stringify!(current_dclk0)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).current_vclk1) as usize - ptr as usize },
        64usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v1_2),
            "::",
            stringify!(current_vclk1)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).current_dclk1) as usize - ptr as usize },
        66usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v1_2),
            "::",
            stringify!(current_dclk1)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).throttle_status) as usize - ptr as usize },
        68usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v1_2),
            "::",
            stringify!(throttle_status)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).current_fan_speed) as usize - ptr as usize },
        72usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v1_2),
            "::",
            stringify!(current_fan_speed)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).pcie_link_width) as usize - ptr as usize },
        74usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v1_2),
            "::",
            stringify!(pcie_link_width)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).pcie_link_speed) as usize - ptr as usize },
        76usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v1_2),
            "::",
            stringify!(pcie_link_speed)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).padding) as usize - ptr as usize },
        78usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v1_2),
            "::",
            stringify!(padding)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).gfx_activity_acc) as usize - ptr as usize },
        80usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v1_2),
            "::",
            stringify!(gfx_activity_acc)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).mem_activity_acc) as usize - ptr as usize },
        84usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v1_2),
            "::",
            stringify!(mem_activity_acc)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).temperature_hbm) as usize - ptr as usize },
        88usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v1_2),
            "::",
            stringify!(temperature_hbm)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).firmware_timestamp) as usize - ptr as usize },
        96usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v1_2),
            "::",
            stringify!(firmware_timestamp)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct gpu_metrics_v1_3 {
    pub common_header: metrics_table_header,
    pub temperature_edge: u16,
    pub temperature_hotspot: u16,
    pub temperature_mem: u16,
    pub temperature_vrgfx: u16,
    pub temperature_vrsoc: u16,
    pub temperature_vrmem: u16,
    pub average_gfx_activity: u16,
    pub average_umc_activity: u16,
    pub average_mm_activity: u16,
    pub average_socket_power: u16,
    pub energy_accumulator: u64,
    pub system_clock_counter: u64,
    pub average_gfxclk_frequency: u16,
    pub average_socclk_frequency: u16,
    pub average_uclk_frequency: u16,
    pub average_vclk0_frequency: u16,
    pub average_dclk0_frequency: u16,
    pub average_vclk1_frequency: u16,
    pub average_dclk1_frequency: u16,
    pub current_gfxclk: u16,
    pub current_socclk: u16,
    pub current_uclk: u16,
    pub current_vclk0: u16,
    pub current_dclk0: u16,
    pub current_vclk1: u16,
    pub current_dclk1: u16,
    pub throttle_status: u32,
    pub current_fan_speed: u16,
    pub pcie_link_width: u16,
    pub pcie_link_speed: u16,
    pub padding: u16,
    pub gfx_activity_acc: u32,
    pub mem_activity_acc: u32,
    pub temperature_hbm: [u16; 4usize],
    pub firmware_timestamp: u64,
    pub voltage_soc: u16,
    pub voltage_gfx: u16,
    pub voltage_mem: u16,
    pub padding1: u16,
    pub indep_throttle_status: u64,
}
#[test]
fn bindgen_test_layout_gpu_metrics_v1_3() {
    const UNINIT: ::core::mem::MaybeUninit<gpu_metrics_v1_3> = ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<gpu_metrics_v1_3>(),
        120usize,
        concat!("Size of: ", stringify!(gpu_metrics_v1_3))
    );
    assert_eq!(
        ::core::mem::align_of::<gpu_metrics_v1_3>(),
        8usize,
        concat!("Alignment of ", stringify!(gpu_metrics_v1_3))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).common_header) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v1_3),
            "::",
            stringify!(common_header)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).temperature_edge) as usize - ptr as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v1_3),
            "::",
            stringify!(temperature_edge)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).temperature_hotspot) as usize - ptr as usize },
        6usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v1_3),
            "::",
            stringify!(temperature_hotspot)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).temperature_mem) as usize - ptr as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v1_3),
            "::",
            stringify!(temperature_mem)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).temperature_vrgfx) as usize - ptr as usize },
        10usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v1_3),
            "::",
            stringify!(temperature_vrgfx)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).temperature_vrsoc) as usize - ptr as usize },
        12usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v1_3),
            "::",
            stringify!(temperature_vrsoc)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).temperature_vrmem) as usize - ptr as usize },
        14usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v1_3),
            "::",
            stringify!(temperature_vrmem)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).average_gfx_activity) as usize - ptr as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v1_3),
            "::",
            stringify!(average_gfx_activity)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).average_umc_activity) as usize - ptr as usize },
        18usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v1_3),
            "::",
            stringify!(average_umc_activity)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).average_mm_activity) as usize - ptr as usize },
        20usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v1_3),
            "::",
            stringify!(average_mm_activity)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).average_socket_power) as usize - ptr as usize },
        22usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v1_3),
            "::",
            stringify!(average_socket_power)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).energy_accumulator) as usize - ptr as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v1_3),
            "::",
            stringify!(energy_accumulator)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).system_clock_counter) as usize - ptr as usize },
        32usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v1_3),
            "::",
            stringify!(system_clock_counter)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).average_gfxclk_frequency) as usize - ptr as usize },
        40usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v1_3),
            "::",
            stringify!(average_gfxclk_frequency)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).average_socclk_frequency) as usize - ptr as usize },
        42usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v1_3),
            "::",
            stringify!(average_socclk_frequency)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).average_uclk_frequency) as usize - ptr as usize },
        44usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v1_3),
            "::",
            stringify!(average_uclk_frequency)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).average_vclk0_frequency) as usize - ptr as usize },
        46usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v1_3),
            "::",
            stringify!(average_vclk0_frequency)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).average_dclk0_frequency) as usize - ptr as usize },
        48usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v1_3),
            "::",
            stringify!(average_dclk0_frequency)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).average_vclk1_frequency) as usize - ptr as usize },
        50usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v1_3),
            "::",
            stringify!(average_vclk1_frequency)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).average_dclk1_frequency) as usize - ptr as usize },
        52usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v1_3),
            "::",
            stringify!(average_dclk1_frequency)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).current_gfxclk) as usize - ptr as usize },
        54usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v1_3),
            "::",
            stringify!(current_gfxclk)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).current_socclk) as usize - ptr as usize },
        56usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v1_3),
            "::",
            stringify!(current_socclk)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).current_uclk) as usize - ptr as usize },
        58usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v1_3),
            "::",
            stringify!(current_uclk)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).current_vclk0) as usize - ptr as usize },
        60usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v1_3),
            "::",
            stringify!(current_vclk0)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).current_dclk0) as usize - ptr as usize },
        62usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v1_3),
            "::",
            stringify!(current_dclk0)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).current_vclk1) as usize - ptr as usize },
        64usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v1_3),
            "::",
            stringify!(current_vclk1)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).current_dclk1) as usize - ptr as usize },
        66usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v1_3),
            "::",
            stringify!(current_dclk1)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).throttle_status) as usize - ptr as usize },
        68usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v1_3),
            "::",
            stringify!(throttle_status)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).current_fan_speed) as usize - ptr as usize },
        72usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v1_3),
            "::",
            stringify!(current_fan_speed)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).pcie_link_width) as usize - ptr as usize },
        74usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v1_3),
            "::",
            stringify!(pcie_link_width)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).pcie_link_speed) as usize - ptr as usize },
        76usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v1_3),
            "::",
            stringify!(pcie_link_speed)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).padding) as usize - ptr as usize },
        78usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v1_3),
            "::",
            stringify!(padding)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).gfx_activity_acc) as usize - ptr as usize },
        80usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v1_3),
            "::",
            stringify!(gfx_activity_acc)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).mem_activity_acc) as usize - ptr as usize },
        84usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v1_3),
            "::",
            stringify!(mem_activity_acc)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).temperature_hbm) as usize - ptr as usize },
        88usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v1_3),
            "::",
            stringify!(temperature_hbm)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).firmware_timestamp) as usize - ptr as usize },
        96usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v1_3),
            "::",
            stringify!(firmware_timestamp)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).voltage_soc) as usize - ptr as usize },
        104usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v1_3),
            "::",
            stringify!(voltage_soc)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).voltage_gfx) as usize - ptr as usize },
        106usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v1_3),
            "::",
            stringify!(voltage_gfx)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).voltage_mem) as usize - ptr as usize },
        108usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v1_3),
            "::",
            stringify!(voltage_mem)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).padding1) as usize - ptr as usize },
        110usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v1_3),
            "::",
            stringify!(padding1)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).indep_throttle_status) as usize - ptr as usize },
        112usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v1_3),
            "::",
            stringify!(indep_throttle_status)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct gpu_metrics_v1_4 {
    pub common_header: metrics_table_header,
    pub temperature_hotspot: u16,
    pub temperature_mem: u16,
    pub temperature_vrsoc: u16,
    pub curr_socket_power: u16,
    pub average_gfx_activity: u16,
    pub average_umc_activity: u16,
    pub vcn_activity: [u16; 4usize],
    pub energy_accumulator: u64,
    pub system_clock_counter: u64,
    pub throttle_status: u32,
    pub gfxclk_lock_status: u32,
    pub pcie_link_width: u16,
    pub pcie_link_speed: u16,
    pub xgmi_link_width: u16,
    pub xgmi_link_speed: u16,
    pub gfx_activity_acc: u32,
    pub mem_activity_acc: u32,
    pub pcie_bandwidth_acc: u64,
    pub pcie_bandwidth_inst: u64,
    pub pcie_l0_to_recov_count_acc: u64,
    pub pcie_replay_count_acc: u64,
    pub pcie_replay_rover_count_acc: u64,
    pub xgmi_read_data_acc: [u64; 8usize],
    pub xgmi_write_data_acc: [u64; 8usize],
    pub firmware_timestamp: u64,
    pub current_gfxclk: [u16; 8usize],
    pub current_socclk: [u16; 4usize],
    pub current_vclk0: [u16; 4usize],
    pub current_dclk0: [u16; 4usize],
    pub current_uclk: u16,
    pub padding: u16,
}
#[test]
fn bindgen_test_layout_gpu_metrics_v1_4() {
    const UNINIT: ::core::mem::MaybeUninit<gpu_metrics_v1_4> = ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<gpu_metrics_v1_4>(),
        288usize,
        concat!("Size of: ", stringify!(gpu_metrics_v1_4))
    );
    assert_eq!(
        ::core::mem::align_of::<gpu_metrics_v1_4>(),
        8usize,
        concat!("Alignment of ", stringify!(gpu_metrics_v1_4))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).common_header) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v1_4),
            "::",
            stringify!(common_header)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).temperature_hotspot) as usize - ptr as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v1_4),
            "::",
            stringify!(temperature_hotspot)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).temperature_mem) as usize - ptr as usize },
        6usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v1_4),
            "::",
            stringify!(temperature_mem)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).temperature_vrsoc) as usize - ptr as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v1_4),
            "::",
            stringify!(temperature_vrsoc)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).curr_socket_power) as usize - ptr as usize },
        10usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v1_4),
            "::",
            stringify!(curr_socket_power)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).average_gfx_activity) as usize - ptr as usize },
        12usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v1_4),
            "::",
            stringify!(average_gfx_activity)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).average_umc_activity) as usize - ptr as usize },
        14usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v1_4),
            "::",
            stringify!(average_umc_activity)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).vcn_activity) as usize - ptr as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v1_4),
            "::",
            stringify!(vcn_activity)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).energy_accumulator) as usize - ptr as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v1_4),
            "::",
            stringify!(energy_accumulator)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).system_clock_counter) as usize - ptr as usize },
        32usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v1_4),
            "::",
            stringify!(system_clock_counter)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).throttle_status) as usize - ptr as usize },
        40usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v1_4),
            "::",
            stringify!(throttle_status)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).gfxclk_lock_status) as usize - ptr as usize },
        44usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v1_4),
            "::",
            stringify!(gfxclk_lock_status)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).pcie_link_width) as usize - ptr as usize },
        48usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v1_4),
            "::",
            stringify!(pcie_link_width)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).pcie_link_speed) as usize - ptr as usize },
        50usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v1_4),
            "::",
            stringify!(pcie_link_speed)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).xgmi_link_width) as usize - ptr as usize },
        52usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v1_4),
            "::",
            stringify!(xgmi_link_width)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).xgmi_link_speed) as usize - ptr as usize },
        54usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v1_4),
            "::",
            stringify!(xgmi_link_speed)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).gfx_activity_acc) as usize - ptr as usize },
        56usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v1_4),
            "::",
            stringify!(gfx_activity_acc)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).mem_activity_acc) as usize - ptr as usize },
        60usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v1_4),
            "::",
            stringify!(mem_activity_acc)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).pcie_bandwidth_acc) as usize - ptr as usize },
        64usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v1_4),
            "::",
            stringify!(pcie_bandwidth_acc)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).pcie_bandwidth_inst) as usize - ptr as usize },
        72usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v1_4),
            "::",
            stringify!(pcie_bandwidth_inst)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).pcie_l0_to_recov_count_acc) as usize - ptr as usize },
        80usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v1_4),
            "::",
            stringify!(pcie_l0_to_recov_count_acc)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).pcie_replay_count_acc) as usize - ptr as usize },
        88usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v1_4),
            "::",
            stringify!(pcie_replay_count_acc)
        )
    );
    assert_eq!(
        unsafe {
            ::core::ptr::addr_of!((*ptr).pcie_replay_rover_count_acc) as usize - ptr as usize
        },
        96usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v1_4),
            "::",
            stringify!(pcie_replay_rover_count_acc)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).xgmi_read_data_acc) as usize - ptr as usize },
        104usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v1_4),
            "::",
            stringify!(xgmi_read_data_acc)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).xgmi_write_data_acc) as usize - ptr as usize },
        168usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v1_4),
            "::",
            stringify!(xgmi_write_data_acc)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).firmware_timestamp) as usize - ptr as usize },
        232usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v1_4),
            "::",
            stringify!(firmware_timestamp)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).current_gfxclk) as usize - ptr as usize },
        240usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v1_4),
            "::",
            stringify!(current_gfxclk)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).current_socclk) as usize - ptr as usize },
        256usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v1_4),
            "::",
            stringify!(current_socclk)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).current_vclk0) as usize - ptr as usize },
        264usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v1_4),
            "::",
            stringify!(current_vclk0)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).current_dclk0) as usize - ptr as usize },
        272usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v1_4),
            "::",
            stringify!(current_dclk0)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).current_uclk) as usize - ptr as usize },
        280usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v1_4),
            "::",
            stringify!(current_uclk)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).padding) as usize - ptr as usize },
        282usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v1_4),
            "::",
            stringify!(padding)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct gpu_metrics_v1_5 {
    pub common_header: metrics_table_header,
    pub temperature_hotspot: u16,
    pub temperature_mem: u16,
    pub temperature_vrsoc: u16,
    pub curr_socket_power: u16,
    pub average_gfx_activity: u16,
    pub average_umc_activity: u16,
    pub vcn_activity: [u16; 4usize],
    pub jpeg_activity: [u16; 32usize],
    pub energy_accumulator: u64,
    pub system_clock_counter: u64,
    pub throttle_status: u32,
    pub gfxclk_lock_status: u32,
    pub pcie_link_width: u16,
    pub pcie_link_speed: u16,
    pub xgmi_link_width: u16,
    pub xgmi_link_speed: u16,
    pub gfx_activity_acc: u32,
    pub mem_activity_acc: u32,
    pub pcie_bandwidth_acc: u64,
    pub pcie_bandwidth_inst: u64,
    pub pcie_l0_to_recov_count_acc: u64,
    pub pcie_replay_count_acc: u64,
    pub pcie_replay_rover_count_acc: u64,
    pub pcie_nak_sent_count_acc: u32,
    pub pcie_nak_rcvd_count_acc: u32,
    pub xgmi_read_data_acc: [u64; 8usize],
    pub xgmi_write_data_acc: [u64; 8usize],
    pub firmware_timestamp: u64,
    pub current_gfxclk: [u16; 8usize],
    pub current_socclk: [u16; 4usize],
    pub current_vclk0: [u16; 4usize],
    pub current_dclk0: [u16; 4usize],
    pub current_uclk: u16,
    pub padding: u16,
}
#[test]
fn bindgen_test_layout_gpu_metrics_v1_5() {
    const UNINIT: ::core::mem::MaybeUninit<gpu_metrics_v1_5> = ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<gpu_metrics_v1_5>(),
        360usize,
        concat!("Size of: ", stringify!(gpu_metrics_v1_5))
    );
    assert_eq!(
        ::core::mem::align_of::<gpu_metrics_v1_5>(),
        8usize,
        concat!("Alignment of ", stringify!(gpu_metrics_v1_5))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).common_header) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v1_5),
            "::",
            stringify!(common_header)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).temperature_hotspot) as usize - ptr as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v1_5),
            "::",
            stringify!(temperature_hotspot)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).temperature_mem) as usize - ptr as usize },
        6usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v1_5),
            "::",
            stringify!(temperature_mem)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).temperature_vrsoc) as usize - ptr as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v1_5),
            "::",
            stringify!(temperature_vrsoc)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).curr_socket_power) as usize - ptr as usize },
        10usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v1_5),
            "::",
            stringify!(curr_socket_power)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).average_gfx_activity) as usize - ptr as usize },
        12usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v1_5),
            "::",
            stringify!(average_gfx_activity)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).average_umc_activity) as usize - ptr as usize },
        14usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v1_5),
            "::",
            stringify!(average_umc_activity)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).vcn_activity) as usize - ptr as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v1_5),
            "::",
            stringify!(vcn_activity)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).jpeg_activity) as usize - ptr as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v1_5),
            "::",
            stringify!(jpeg_activity)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).energy_accumulator) as usize - ptr as usize },
        88usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v1_5),
            "::",
            stringify!(energy_accumulator)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).system_clock_counter) as usize - ptr as usize },
        96usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v1_5),
            "::",
            stringify!(system_clock_counter)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).throttle_status) as usize - ptr as usize },
        104usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v1_5),
            "::",
            stringify!(throttle_status)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).gfxclk_lock_status) as usize - ptr as usize },
        108usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v1_5),
            "::",
            stringify!(gfxclk_lock_status)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).pcie_link_width) as usize - ptr as usize },
        112usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v1_5),
            "::",
            stringify!(pcie_link_width)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).pcie_link_speed) as usize - ptr as usize },
        114usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v1_5),
            "::",
            stringify!(pcie_link_speed)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).xgmi_link_width) as usize - ptr as usize },
        116usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v1_5),
            "::",
            stringify!(xgmi_link_width)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).xgmi_link_speed) as usize - ptr as usize },
        118usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v1_5),
            "::",
            stringify!(xgmi_link_speed)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).gfx_activity_acc) as usize - ptr as usize },
        120usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v1_5),
            "::",
            stringify!(gfx_activity_acc)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).mem_activity_acc) as usize - ptr as usize },
        124usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v1_5),
            "::",
            stringify!(mem_activity_acc)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).pcie_bandwidth_acc) as usize - ptr as usize },
        128usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v1_5),
            "::",
            stringify!(pcie_bandwidth_acc)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).pcie_bandwidth_inst) as usize - ptr as usize },
        136usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v1_5),
            "::",
            stringify!(pcie_bandwidth_inst)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).pcie_l0_to_recov_count_acc) as usize - ptr as usize },
        144usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v1_5),
            "::",
            stringify!(pcie_l0_to_recov_count_acc)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).pcie_replay_count_acc) as usize - ptr as usize },
        152usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v1_5),
            "::",
            stringify!(pcie_replay_count_acc)
        )
    );
    assert_eq!(
        unsafe {
            ::core::ptr::addr_of!((*ptr).pcie_replay_rover_count_acc) as usize - ptr as usize
        },
        160usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v1_5),
            "::",
            stringify!(pcie_replay_rover_count_acc)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).pcie_nak_sent_count_acc) as usize - ptr as usize },
        168usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v1_5),
            "::",
            stringify!(pcie_nak_sent_count_acc)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).pcie_nak_rcvd_count_acc) as usize - ptr as usize },
        172usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v1_5),
            "::",
            stringify!(pcie_nak_rcvd_count_acc)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).xgmi_read_data_acc) as usize - ptr as usize },
        176usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v1_5),
            "::",
            stringify!(xgmi_read_data_acc)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).xgmi_write_data_acc) as usize - ptr as usize },
        240usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v1_5),
            "::",
            stringify!(xgmi_write_data_acc)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).firmware_timestamp) as usize - ptr as usize },
        304usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v1_5),
            "::",
            stringify!(firmware_timestamp)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).current_gfxclk) as usize - ptr as usize },
        312usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v1_5),
            "::",
            stringify!(current_gfxclk)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).current_socclk) as usize - ptr as usize },
        328usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v1_5),
            "::",
            stringify!(current_socclk)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).current_vclk0) as usize - ptr as usize },
        336usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v1_5),
            "::",
            stringify!(current_vclk0)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).current_dclk0) as usize - ptr as usize },
        344usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v1_5),
            "::",
            stringify!(current_dclk0)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).current_uclk) as usize - ptr as usize },
        352usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v1_5),
            "::",
            stringify!(current_uclk)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).padding) as usize - ptr as usize },
        354usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v1_5),
            "::",
            stringify!(padding)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct gpu_metrics_v2_0 {
    pub common_header: metrics_table_header,
    pub system_clock_counter: u64,
    pub temperature_gfx: u16,
    pub temperature_soc: u16,
    pub temperature_core: [u16; 8usize],
    pub temperature_l3: [u16; 2usize],
    pub average_gfx_activity: u16,
    pub average_mm_activity: u16,
    pub average_socket_power: u16,
    pub average_cpu_power: u16,
    pub average_soc_power: u16,
    pub average_gfx_power: u16,
    pub average_core_power: [u16; 8usize],
    pub average_gfxclk_frequency: u16,
    pub average_socclk_frequency: u16,
    pub average_uclk_frequency: u16,
    pub average_fclk_frequency: u16,
    pub average_vclk_frequency: u16,
    pub average_dclk_frequency: u16,
    pub current_gfxclk: u16,
    pub current_socclk: u16,
    pub current_uclk: u16,
    pub current_fclk: u16,
    pub current_vclk: u16,
    pub current_dclk: u16,
    pub current_coreclk: [u16; 8usize],
    pub current_l3clk: [u16; 2usize],
    pub throttle_status: u32,
    pub fan_pwm: u16,
    pub padding: u16,
}
#[test]
fn bindgen_test_layout_gpu_metrics_v2_0() {
    const UNINIT: ::core::mem::MaybeUninit<gpu_metrics_v2_0> = ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<gpu_metrics_v2_0>(),
        120usize,
        concat!("Size of: ", stringify!(gpu_metrics_v2_0))
    );
    assert_eq!(
        ::core::mem::align_of::<gpu_metrics_v2_0>(),
        8usize,
        concat!("Alignment of ", stringify!(gpu_metrics_v2_0))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).common_header) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v2_0),
            "::",
            stringify!(common_header)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).system_clock_counter) as usize - ptr as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v2_0),
            "::",
            stringify!(system_clock_counter)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).temperature_gfx) as usize - ptr as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v2_0),
            "::",
            stringify!(temperature_gfx)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).temperature_soc) as usize - ptr as usize },
        18usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v2_0),
            "::",
            stringify!(temperature_soc)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).temperature_core) as usize - ptr as usize },
        20usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v2_0),
            "::",
            stringify!(temperature_core)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).temperature_l3) as usize - ptr as usize },
        36usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v2_0),
            "::",
            stringify!(temperature_l3)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).average_gfx_activity) as usize - ptr as usize },
        40usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v2_0),
            "::",
            stringify!(average_gfx_activity)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).average_mm_activity) as usize - ptr as usize },
        42usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v2_0),
            "::",
            stringify!(average_mm_activity)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).average_socket_power) as usize - ptr as usize },
        44usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v2_0),
            "::",
            stringify!(average_socket_power)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).average_cpu_power) as usize - ptr as usize },
        46usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v2_0),
            "::",
            stringify!(average_cpu_power)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).average_soc_power) as usize - ptr as usize },
        48usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v2_0),
            "::",
            stringify!(average_soc_power)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).average_gfx_power) as usize - ptr as usize },
        50usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v2_0),
            "::",
            stringify!(average_gfx_power)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).average_core_power) as usize - ptr as usize },
        52usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v2_0),
            "::",
            stringify!(average_core_power)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).average_gfxclk_frequency) as usize - ptr as usize },
        68usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v2_0),
            "::",
            stringify!(average_gfxclk_frequency)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).average_socclk_frequency) as usize - ptr as usize },
        70usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v2_0),
            "::",
            stringify!(average_socclk_frequency)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).average_uclk_frequency) as usize - ptr as usize },
        72usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v2_0),
            "::",
            stringify!(average_uclk_frequency)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).average_fclk_frequency) as usize - ptr as usize },
        74usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v2_0),
            "::",
            stringify!(average_fclk_frequency)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).average_vclk_frequency) as usize - ptr as usize },
        76usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v2_0),
            "::",
            stringify!(average_vclk_frequency)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).average_dclk_frequency) as usize - ptr as usize },
        78usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v2_0),
            "::",
            stringify!(average_dclk_frequency)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).current_gfxclk) as usize - ptr as usize },
        80usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v2_0),
            "::",
            stringify!(current_gfxclk)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).current_socclk) as usize - ptr as usize },
        82usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v2_0),
            "::",
            stringify!(current_socclk)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).current_uclk) as usize - ptr as usize },
        84usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v2_0),
            "::",
            stringify!(current_uclk)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).current_fclk) as usize - ptr as usize },
        86usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v2_0),
            "::",
            stringify!(current_fclk)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).current_vclk) as usize - ptr as usize },
        88usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v2_0),
            "::",
            stringify!(current_vclk)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).current_dclk) as usize - ptr as usize },
        90usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v2_0),
            "::",
            stringify!(current_dclk)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).current_coreclk) as usize - ptr as usize },
        92usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v2_0),
            "::",
            stringify!(current_coreclk)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).current_l3clk) as usize - ptr as usize },
        108usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v2_0),
            "::",
            stringify!(current_l3clk)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).throttle_status) as usize - ptr as usize },
        112usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v2_0),
            "::",
            stringify!(throttle_status)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).fan_pwm) as usize - ptr as usize },
        116usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v2_0),
            "::",
            stringify!(fan_pwm)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).padding) as usize - ptr as usize },
        118usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v2_0),
            "::",
            stringify!(padding)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct gpu_metrics_v2_1 {
    pub common_header: metrics_table_header,
    pub temperature_gfx: u16,
    pub temperature_soc: u16,
    pub temperature_core: [u16; 8usize],
    pub temperature_l3: [u16; 2usize],
    pub average_gfx_activity: u16,
    pub average_mm_activity: u16,
    pub system_clock_counter: u64,
    pub average_socket_power: u16,
    pub average_cpu_power: u16,
    pub average_soc_power: u16,
    pub average_gfx_power: u16,
    pub average_core_power: [u16; 8usize],
    pub average_gfxclk_frequency: u16,
    pub average_socclk_frequency: u16,
    pub average_uclk_frequency: u16,
    pub average_fclk_frequency: u16,
    pub average_vclk_frequency: u16,
    pub average_dclk_frequency: u16,
    pub current_gfxclk: u16,
    pub current_socclk: u16,
    pub current_uclk: u16,
    pub current_fclk: u16,
    pub current_vclk: u16,
    pub current_dclk: u16,
    pub current_coreclk: [u16; 8usize],
    pub current_l3clk: [u16; 2usize],
    pub throttle_status: u32,
    pub fan_pwm: u16,
    pub padding: [u16; 3usize],
}
#[test]
fn bindgen_test_layout_gpu_metrics_v2_1() {
    const UNINIT: ::core::mem::MaybeUninit<gpu_metrics_v2_1> = ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<gpu_metrics_v2_1>(),
        120usize,
        concat!("Size of: ", stringify!(gpu_metrics_v2_1))
    );
    assert_eq!(
        ::core::mem::align_of::<gpu_metrics_v2_1>(),
        8usize,
        concat!("Alignment of ", stringify!(gpu_metrics_v2_1))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).common_header) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v2_1),
            "::",
            stringify!(common_header)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).temperature_gfx) as usize - ptr as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v2_1),
            "::",
            stringify!(temperature_gfx)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).temperature_soc) as usize - ptr as usize },
        6usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v2_1),
            "::",
            stringify!(temperature_soc)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).temperature_core) as usize - ptr as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v2_1),
            "::",
            stringify!(temperature_core)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).temperature_l3) as usize - ptr as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v2_1),
            "::",
            stringify!(temperature_l3)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).average_gfx_activity) as usize - ptr as usize },
        28usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v2_1),
            "::",
            stringify!(average_gfx_activity)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).average_mm_activity) as usize - ptr as usize },
        30usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v2_1),
            "::",
            stringify!(average_mm_activity)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).system_clock_counter) as usize - ptr as usize },
        32usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v2_1),
            "::",
            stringify!(system_clock_counter)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).average_socket_power) as usize - ptr as usize },
        40usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v2_1),
            "::",
            stringify!(average_socket_power)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).average_cpu_power) as usize - ptr as usize },
        42usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v2_1),
            "::",
            stringify!(average_cpu_power)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).average_soc_power) as usize - ptr as usize },
        44usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v2_1),
            "::",
            stringify!(average_soc_power)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).average_gfx_power) as usize - ptr as usize },
        46usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v2_1),
            "::",
            stringify!(average_gfx_power)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).average_core_power) as usize - ptr as usize },
        48usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v2_1),
            "::",
            stringify!(average_core_power)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).average_gfxclk_frequency) as usize - ptr as usize },
        64usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v2_1),
            "::",
            stringify!(average_gfxclk_frequency)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).average_socclk_frequency) as usize - ptr as usize },
        66usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v2_1),
            "::",
            stringify!(average_socclk_frequency)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).average_uclk_frequency) as usize - ptr as usize },
        68usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v2_1),
            "::",
            stringify!(average_uclk_frequency)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).average_fclk_frequency) as usize - ptr as usize },
        70usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v2_1),
            "::",
            stringify!(average_fclk_frequency)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).average_vclk_frequency) as usize - ptr as usize },
        72usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v2_1),
            "::",
            stringify!(average_vclk_frequency)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).average_dclk_frequency) as usize - ptr as usize },
        74usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v2_1),
            "::",
            stringify!(average_dclk_frequency)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).current_gfxclk) as usize - ptr as usize },
        76usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v2_1),
            "::",
            stringify!(current_gfxclk)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).current_socclk) as usize - ptr as usize },
        78usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v2_1),
            "::",
            stringify!(current_socclk)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).current_uclk) as usize - ptr as usize },
        80usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v2_1),
            "::",
            stringify!(current_uclk)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).current_fclk) as usize - ptr as usize },
        82usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v2_1),
            "::",
            stringify!(current_fclk)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).current_vclk) as usize - ptr as usize },
        84usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v2_1),
            "::",
            stringify!(current_vclk)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).current_dclk) as usize - ptr as usize },
        86usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v2_1),
            "::",
            stringify!(current_dclk)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).current_coreclk) as usize - ptr as usize },
        88usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v2_1),
            "::",
            stringify!(current_coreclk)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).current_l3clk) as usize - ptr as usize },
        104usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v2_1),
            "::",
            stringify!(current_l3clk)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).throttle_status) as usize - ptr as usize },
        108usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v2_1),
            "::",
            stringify!(throttle_status)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).fan_pwm) as usize - ptr as usize },
        112usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v2_1),
            "::",
            stringify!(fan_pwm)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).padding) as usize - ptr as usize },
        114usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v2_1),
            "::",
            stringify!(padding)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct gpu_metrics_v2_2 {
    pub common_header: metrics_table_header,
    pub temperature_gfx: u16,
    pub temperature_soc: u16,
    pub temperature_core: [u16; 8usize],
    pub temperature_l3: [u16; 2usize],
    pub average_gfx_activity: u16,
    pub average_mm_activity: u16,
    pub system_clock_counter: u64,
    pub average_socket_power: u16,
    pub average_cpu_power: u16,
    pub average_soc_power: u16,
    pub average_gfx_power: u16,
    pub average_core_power: [u16; 8usize],
    pub average_gfxclk_frequency: u16,
    pub average_socclk_frequency: u16,
    pub average_uclk_frequency: u16,
    pub average_fclk_frequency: u16,
    pub average_vclk_frequency: u16,
    pub average_dclk_frequency: u16,
    pub current_gfxclk: u16,
    pub current_socclk: u16,
    pub current_uclk: u16,
    pub current_fclk: u16,
    pub current_vclk: u16,
    pub current_dclk: u16,
    pub current_coreclk: [u16; 8usize],
    pub current_l3clk: [u16; 2usize],
    pub throttle_status: u32,
    pub fan_pwm: u16,
    pub padding: [u16; 3usize],
    pub indep_throttle_status: u64,
}
#[test]
fn bindgen_test_layout_gpu_metrics_v2_2() {
    const UNINIT: ::core::mem::MaybeUninit<gpu_metrics_v2_2> = ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<gpu_metrics_v2_2>(),
        128usize,
        concat!("Size of: ", stringify!(gpu_metrics_v2_2))
    );
    assert_eq!(
        ::core::mem::align_of::<gpu_metrics_v2_2>(),
        8usize,
        concat!("Alignment of ", stringify!(gpu_metrics_v2_2))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).common_header) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v2_2),
            "::",
            stringify!(common_header)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).temperature_gfx) as usize - ptr as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v2_2),
            "::",
            stringify!(temperature_gfx)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).temperature_soc) as usize - ptr as usize },
        6usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v2_2),
            "::",
            stringify!(temperature_soc)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).temperature_core) as usize - ptr as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v2_2),
            "::",
            stringify!(temperature_core)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).temperature_l3) as usize - ptr as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v2_2),
            "::",
            stringify!(temperature_l3)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).average_gfx_activity) as usize - ptr as usize },
        28usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v2_2),
            "::",
            stringify!(average_gfx_activity)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).average_mm_activity) as usize - ptr as usize },
        30usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v2_2),
            "::",
            stringify!(average_mm_activity)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).system_clock_counter) as usize - ptr as usize },
        32usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v2_2),
            "::",
            stringify!(system_clock_counter)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).average_socket_power) as usize - ptr as usize },
        40usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v2_2),
            "::",
            stringify!(average_socket_power)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).average_cpu_power) as usize - ptr as usize },
        42usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v2_2),
            "::",
            stringify!(average_cpu_power)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).average_soc_power) as usize - ptr as usize },
        44usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v2_2),
            "::",
            stringify!(average_soc_power)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).average_gfx_power) as usize - ptr as usize },
        46usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v2_2),
            "::",
            stringify!(average_gfx_power)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).average_core_power) as usize - ptr as usize },
        48usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v2_2),
            "::",
            stringify!(average_core_power)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).average_gfxclk_frequency) as usize - ptr as usize },
        64usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v2_2),
            "::",
            stringify!(average_gfxclk_frequency)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).average_socclk_frequency) as usize - ptr as usize },
        66usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v2_2),
            "::",
            stringify!(average_socclk_frequency)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).average_uclk_frequency) as usize - ptr as usize },
        68usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v2_2),
            "::",
            stringify!(average_uclk_frequency)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).average_fclk_frequency) as usize - ptr as usize },
        70usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v2_2),
            "::",
            stringify!(average_fclk_frequency)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).average_vclk_frequency) as usize - ptr as usize },
        72usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v2_2),
            "::",
            stringify!(average_vclk_frequency)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).average_dclk_frequency) as usize - ptr as usize },
        74usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v2_2),
            "::",
            stringify!(average_dclk_frequency)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).current_gfxclk) as usize - ptr as usize },
        76usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v2_2),
            "::",
            stringify!(current_gfxclk)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).current_socclk) as usize - ptr as usize },
        78usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v2_2),
            "::",
            stringify!(current_socclk)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).current_uclk) as usize - ptr as usize },
        80usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v2_2),
            "::",
            stringify!(current_uclk)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).current_fclk) as usize - ptr as usize },
        82usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v2_2),
            "::",
            stringify!(current_fclk)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).current_vclk) as usize - ptr as usize },
        84usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v2_2),
            "::",
            stringify!(current_vclk)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).current_dclk) as usize - ptr as usize },
        86usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v2_2),
            "::",
            stringify!(current_dclk)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).current_coreclk) as usize - ptr as usize },
        88usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v2_2),
            "::",
            stringify!(current_coreclk)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).current_l3clk) as usize - ptr as usize },
        104usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v2_2),
            "::",
            stringify!(current_l3clk)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).throttle_status) as usize - ptr as usize },
        108usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v2_2),
            "::",
            stringify!(throttle_status)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).fan_pwm) as usize - ptr as usize },
        112usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v2_2),
            "::",
            stringify!(fan_pwm)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).padding) as usize - ptr as usize },
        114usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v2_2),
            "::",
            stringify!(padding)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).indep_throttle_status) as usize - ptr as usize },
        120usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v2_2),
            "::",
            stringify!(indep_throttle_status)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct gpu_metrics_v2_3 {
    pub common_header: metrics_table_header,
    pub temperature_gfx: u16,
    pub temperature_soc: u16,
    pub temperature_core: [u16; 8usize],
    pub temperature_l3: [u16; 2usize],
    pub average_gfx_activity: u16,
    pub average_mm_activity: u16,
    pub system_clock_counter: u64,
    pub average_socket_power: u16,
    pub average_cpu_power: u16,
    pub average_soc_power: u16,
    pub average_gfx_power: u16,
    pub average_core_power: [u16; 8usize],
    pub average_gfxclk_frequency: u16,
    pub average_socclk_frequency: u16,
    pub average_uclk_frequency: u16,
    pub average_fclk_frequency: u16,
    pub average_vclk_frequency: u16,
    pub average_dclk_frequency: u16,
    pub current_gfxclk: u16,
    pub current_socclk: u16,
    pub current_uclk: u16,
    pub current_fclk: u16,
    pub current_vclk: u16,
    pub current_dclk: u16,
    pub current_coreclk: [u16; 8usize],
    pub current_l3clk: [u16; 2usize],
    pub throttle_status: u32,
    pub fan_pwm: u16,
    pub padding: [u16; 3usize],
    pub indep_throttle_status: u64,
    pub average_temperature_gfx: u16,
    pub average_temperature_soc: u16,
    pub average_temperature_core: [u16; 8usize],
    pub average_temperature_l3: [u16; 2usize],
}
#[test]
fn bindgen_test_layout_gpu_metrics_v2_3() {
    const UNINIT: ::core::mem::MaybeUninit<gpu_metrics_v2_3> = ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<gpu_metrics_v2_3>(),
        152usize,
        concat!("Size of: ", stringify!(gpu_metrics_v2_3))
    );
    assert_eq!(
        ::core::mem::align_of::<gpu_metrics_v2_3>(),
        8usize,
        concat!("Alignment of ", stringify!(gpu_metrics_v2_3))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).common_header) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v2_3),
            "::",
            stringify!(common_header)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).temperature_gfx) as usize - ptr as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v2_3),
            "::",
            stringify!(temperature_gfx)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).temperature_soc) as usize - ptr as usize },
        6usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v2_3),
            "::",
            stringify!(temperature_soc)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).temperature_core) as usize - ptr as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v2_3),
            "::",
            stringify!(temperature_core)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).temperature_l3) as usize - ptr as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v2_3),
            "::",
            stringify!(temperature_l3)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).average_gfx_activity) as usize - ptr as usize },
        28usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v2_3),
            "::",
            stringify!(average_gfx_activity)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).average_mm_activity) as usize - ptr as usize },
        30usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v2_3),
            "::",
            stringify!(average_mm_activity)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).system_clock_counter) as usize - ptr as usize },
        32usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v2_3),
            "::",
            stringify!(system_clock_counter)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).average_socket_power) as usize - ptr as usize },
        40usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v2_3),
            "::",
            stringify!(average_socket_power)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).average_cpu_power) as usize - ptr as usize },
        42usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v2_3),
            "::",
            stringify!(average_cpu_power)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).average_soc_power) as usize - ptr as usize },
        44usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v2_3),
            "::",
            stringify!(average_soc_power)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).average_gfx_power) as usize - ptr as usize },
        46usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v2_3),
            "::",
            stringify!(average_gfx_power)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).average_core_power) as usize - ptr as usize },
        48usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v2_3),
            "::",
            stringify!(average_core_power)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).average_gfxclk_frequency) as usize - ptr as usize },
        64usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v2_3),
            "::",
            stringify!(average_gfxclk_frequency)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).average_socclk_frequency) as usize - ptr as usize },
        66usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v2_3),
            "::",
            stringify!(average_socclk_frequency)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).average_uclk_frequency) as usize - ptr as usize },
        68usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v2_3),
            "::",
            stringify!(average_uclk_frequency)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).average_fclk_frequency) as usize - ptr as usize },
        70usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v2_3),
            "::",
            stringify!(average_fclk_frequency)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).average_vclk_frequency) as usize - ptr as usize },
        72usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v2_3),
            "::",
            stringify!(average_vclk_frequency)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).average_dclk_frequency) as usize - ptr as usize },
        74usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v2_3),
            "::",
            stringify!(average_dclk_frequency)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).current_gfxclk) as usize - ptr as usize },
        76usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v2_3),
            "::",
            stringify!(current_gfxclk)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).current_socclk) as usize - ptr as usize },
        78usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v2_3),
            "::",
            stringify!(current_socclk)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).current_uclk) as usize - ptr as usize },
        80usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v2_3),
            "::",
            stringify!(current_uclk)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).current_fclk) as usize - ptr as usize },
        82usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v2_3),
            "::",
            stringify!(current_fclk)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).current_vclk) as usize - ptr as usize },
        84usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v2_3),
            "::",
            stringify!(current_vclk)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).current_dclk) as usize - ptr as usize },
        86usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v2_3),
            "::",
            stringify!(current_dclk)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).current_coreclk) as usize - ptr as usize },
        88usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v2_3),
            "::",
            stringify!(current_coreclk)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).current_l3clk) as usize - ptr as usize },
        104usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v2_3),
            "::",
            stringify!(current_l3clk)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).throttle_status) as usize - ptr as usize },
        108usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v2_3),
            "::",
            stringify!(throttle_status)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).fan_pwm) as usize - ptr as usize },
        112usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v2_3),
            "::",
            stringify!(fan_pwm)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).padding) as usize - ptr as usize },
        114usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v2_3),
            "::",
            stringify!(padding)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).indep_throttle_status) as usize - ptr as usize },
        120usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v2_3),
            "::",
            stringify!(indep_throttle_status)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).average_temperature_gfx) as usize - ptr as usize },
        128usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v2_3),
            "::",
            stringify!(average_temperature_gfx)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).average_temperature_soc) as usize - ptr as usize },
        130usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v2_3),
            "::",
            stringify!(average_temperature_soc)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).average_temperature_core) as usize - ptr as usize },
        132usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v2_3),
            "::",
            stringify!(average_temperature_core)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).average_temperature_l3) as usize - ptr as usize },
        148usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v2_3),
            "::",
            stringify!(average_temperature_l3)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct gpu_metrics_v2_4 {
    pub common_header: metrics_table_header,
    pub temperature_gfx: u16,
    pub temperature_soc: u16,
    pub temperature_core: [u16; 8usize],
    pub temperature_l3: [u16; 2usize],
    pub average_gfx_activity: u16,
    pub average_mm_activity: u16,
    pub system_clock_counter: u64,
    pub average_socket_power: u16,
    pub average_cpu_power: u16,
    pub average_soc_power: u16,
    pub average_gfx_power: u16,
    pub average_core_power: [u16; 8usize],
    pub average_gfxclk_frequency: u16,
    pub average_socclk_frequency: u16,
    pub average_uclk_frequency: u16,
    pub average_fclk_frequency: u16,
    pub average_vclk_frequency: u16,
    pub average_dclk_frequency: u16,
    pub current_gfxclk: u16,
    pub current_socclk: u16,
    pub current_uclk: u16,
    pub current_fclk: u16,
    pub current_vclk: u16,
    pub current_dclk: u16,
    pub current_coreclk: [u16; 8usize],
    pub current_l3clk: [u16; 2usize],
    pub throttle_status: u32,
    pub fan_pwm: u16,
    pub padding: [u16; 3usize],
    pub indep_throttle_status: u64,
    pub average_temperature_gfx: u16,
    pub average_temperature_soc: u16,
    pub average_temperature_core: [u16; 8usize],
    pub average_temperature_l3: [u16; 2usize],
    pub average_cpu_voltage: u16,
    pub average_soc_voltage: u16,
    pub average_gfx_voltage: u16,
    pub average_cpu_current: u16,
    pub average_soc_current: u16,
    pub average_gfx_current: u16,
}
#[test]
fn bindgen_test_layout_gpu_metrics_v2_4() {
    const UNINIT: ::core::mem::MaybeUninit<gpu_metrics_v2_4> = ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<gpu_metrics_v2_4>(),
        168usize,
        concat!("Size of: ", stringify!(gpu_metrics_v2_4))
    );
    assert_eq!(
        ::core::mem::align_of::<gpu_metrics_v2_4>(),
        8usize,
        concat!("Alignment of ", stringify!(gpu_metrics_v2_4))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).common_header) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v2_4),
            "::",
            stringify!(common_header)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).temperature_gfx) as usize - ptr as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v2_4),
            "::",
            stringify!(temperature_gfx)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).temperature_soc) as usize - ptr as usize },
        6usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v2_4),
            "::",
            stringify!(temperature_soc)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).temperature_core) as usize - ptr as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v2_4),
            "::",
            stringify!(temperature_core)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).temperature_l3) as usize - ptr as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v2_4),
            "::",
            stringify!(temperature_l3)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).average_gfx_activity) as usize - ptr as usize },
        28usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v2_4),
            "::",
            stringify!(average_gfx_activity)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).average_mm_activity) as usize - ptr as usize },
        30usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v2_4),
            "::",
            stringify!(average_mm_activity)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).system_clock_counter) as usize - ptr as usize },
        32usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v2_4),
            "::",
            stringify!(system_clock_counter)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).average_socket_power) as usize - ptr as usize },
        40usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v2_4),
            "::",
            stringify!(average_socket_power)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).average_cpu_power) as usize - ptr as usize },
        42usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v2_4),
            "::",
            stringify!(average_cpu_power)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).average_soc_power) as usize - ptr as usize },
        44usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v2_4),
            "::",
            stringify!(average_soc_power)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).average_gfx_power) as usize - ptr as usize },
        46usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v2_4),
            "::",
            stringify!(average_gfx_power)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).average_core_power) as usize - ptr as usize },
        48usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v2_4),
            "::",
            stringify!(average_core_power)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).average_gfxclk_frequency) as usize - ptr as usize },
        64usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v2_4),
            "::",
            stringify!(average_gfxclk_frequency)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).average_socclk_frequency) as usize - ptr as usize },
        66usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v2_4),
            "::",
            stringify!(average_socclk_frequency)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).average_uclk_frequency) as usize - ptr as usize },
        68usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v2_4),
            "::",
            stringify!(average_uclk_frequency)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).average_fclk_frequency) as usize - ptr as usize },
        70usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v2_4),
            "::",
            stringify!(average_fclk_frequency)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).average_vclk_frequency) as usize - ptr as usize },
        72usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v2_4),
            "::",
            stringify!(average_vclk_frequency)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).average_dclk_frequency) as usize - ptr as usize },
        74usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v2_4),
            "::",
            stringify!(average_dclk_frequency)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).current_gfxclk) as usize - ptr as usize },
        76usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v2_4),
            "::",
            stringify!(current_gfxclk)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).current_socclk) as usize - ptr as usize },
        78usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v2_4),
            "::",
            stringify!(current_socclk)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).current_uclk) as usize - ptr as usize },
        80usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v2_4),
            "::",
            stringify!(current_uclk)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).current_fclk) as usize - ptr as usize },
        82usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v2_4),
            "::",
            stringify!(current_fclk)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).current_vclk) as usize - ptr as usize },
        84usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v2_4),
            "::",
            stringify!(current_vclk)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).current_dclk) as usize - ptr as usize },
        86usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v2_4),
            "::",
            stringify!(current_dclk)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).current_coreclk) as usize - ptr as usize },
        88usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v2_4),
            "::",
            stringify!(current_coreclk)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).current_l3clk) as usize - ptr as usize },
        104usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v2_4),
            "::",
            stringify!(current_l3clk)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).throttle_status) as usize - ptr as usize },
        108usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v2_4),
            "::",
            stringify!(throttle_status)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).fan_pwm) as usize - ptr as usize },
        112usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v2_4),
            "::",
            stringify!(fan_pwm)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).padding) as usize - ptr as usize },
        114usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v2_4),
            "::",
            stringify!(padding)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).indep_throttle_status) as usize - ptr as usize },
        120usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v2_4),
            "::",
            stringify!(indep_throttle_status)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).average_temperature_gfx) as usize - ptr as usize },
        128usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v2_4),
            "::",
            stringify!(average_temperature_gfx)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).average_temperature_soc) as usize - ptr as usize },
        130usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v2_4),
            "::",
            stringify!(average_temperature_soc)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).average_temperature_core) as usize - ptr as usize },
        132usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v2_4),
            "::",
            stringify!(average_temperature_core)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).average_temperature_l3) as usize - ptr as usize },
        148usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v2_4),
            "::",
            stringify!(average_temperature_l3)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).average_cpu_voltage) as usize - ptr as usize },
        152usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v2_4),
            "::",
            stringify!(average_cpu_voltage)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).average_soc_voltage) as usize - ptr as usize },
        154usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v2_4),
            "::",
            stringify!(average_soc_voltage)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).average_gfx_voltage) as usize - ptr as usize },
        156usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v2_4),
            "::",
            stringify!(average_gfx_voltage)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).average_cpu_current) as usize - ptr as usize },
        158usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v2_4),
            "::",
            stringify!(average_cpu_current)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).average_soc_current) as usize - ptr as usize },
        160usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v2_4),
            "::",
            stringify!(average_soc_current)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).average_gfx_current) as usize - ptr as usize },
        162usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v2_4),
            "::",
            stringify!(average_gfx_current)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct gpu_metrics_v3_0 {
    pub common_header: metrics_table_header,
    pub temperature_gfx: u16,
    pub temperature_soc: u16,
    pub temperature_core: [u16; 16usize],
    pub temperature_skin: u16,
    pub average_gfx_activity: u16,
    pub average_vcn_activity: u16,
    pub average_ipu_activity: [u16; 8usize],
    pub average_core_c0_activity: [u16; 16usize],
    pub average_dram_reads: u16,
    pub average_dram_writes: u16,
    pub average_ipu_reads: u16,
    pub average_ipu_writes: u16,
    pub system_clock_counter: u64,
    pub average_socket_power: u32,
    pub average_ipu_power: u16,
    pub average_apu_power: u32,
    pub average_gfx_power: u32,
    pub average_dgpu_power: u32,
    pub average_all_core_power: u32,
    pub average_core_power: [u16; 16usize],
    pub average_sys_power: u16,
    pub stapm_power_limit: u16,
    pub current_stapm_power_limit: u16,
    pub average_gfxclk_frequency: u16,
    pub average_socclk_frequency: u16,
    pub average_vpeclk_frequency: u16,
    pub average_ipuclk_frequency: u16,
    pub average_fclk_frequency: u16,
    pub average_vclk_frequency: u16,
    pub average_uclk_frequency: u16,
    pub average_mpipu_frequency: u16,
    pub current_coreclk: [u16; 16usize],
    pub current_core_maxfreq: u16,
    pub current_gfx_maxfreq: u16,
    pub throttle_residency_prochot: u32,
    pub throttle_residency_spl: u32,
    pub throttle_residency_fppt: u32,
    pub throttle_residency_sppt: u32,
    pub throttle_residency_thm_core: u32,
    pub throttle_residency_thm_gfx: u32,
    pub throttle_residency_thm_soc: u32,
    pub time_filter_alphavalue: u32,
}
#[test]
fn bindgen_test_layout_gpu_metrics_v3_0() {
    const UNINIT: ::core::mem::MaybeUninit<gpu_metrics_v3_0> = ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<gpu_metrics_v3_0>(),
        264usize,
        concat!("Size of: ", stringify!(gpu_metrics_v3_0))
    );
    assert_eq!(
        ::core::mem::align_of::<gpu_metrics_v3_0>(),
        8usize,
        concat!("Alignment of ", stringify!(gpu_metrics_v3_0))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).common_header) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v3_0),
            "::",
            stringify!(common_header)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).temperature_gfx) as usize - ptr as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v3_0),
            "::",
            stringify!(temperature_gfx)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).temperature_soc) as usize - ptr as usize },
        6usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v3_0),
            "::",
            stringify!(temperature_soc)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).temperature_core) as usize - ptr as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v3_0),
            "::",
            stringify!(temperature_core)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).temperature_skin) as usize - ptr as usize },
        40usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v3_0),
            "::",
            stringify!(temperature_skin)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).average_gfx_activity) as usize - ptr as usize },
        42usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v3_0),
            "::",
            stringify!(average_gfx_activity)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).average_vcn_activity) as usize - ptr as usize },
        44usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v3_0),
            "::",
            stringify!(average_vcn_activity)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).average_ipu_activity) as usize - ptr as usize },
        46usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v3_0),
            "::",
            stringify!(average_ipu_activity)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).average_core_c0_activity) as usize - ptr as usize },
        62usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v3_0),
            "::",
            stringify!(average_core_c0_activity)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).average_dram_reads) as usize - ptr as usize },
        94usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v3_0),
            "::",
            stringify!(average_dram_reads)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).average_dram_writes) as usize - ptr as usize },
        96usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v3_0),
            "::",
            stringify!(average_dram_writes)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).average_ipu_reads) as usize - ptr as usize },
        98usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v3_0),
            "::",
            stringify!(average_ipu_reads)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).average_ipu_writes) as usize - ptr as usize },
        100usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v3_0),
            "::",
            stringify!(average_ipu_writes)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).system_clock_counter) as usize - ptr as usize },
        104usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v3_0),
            "::",
            stringify!(system_clock_counter)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).average_socket_power) as usize - ptr as usize },
        112usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v3_0),
            "::",
            stringify!(average_socket_power)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).average_ipu_power) as usize - ptr as usize },
        116usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v3_0),
            "::",
            stringify!(average_ipu_power)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).average_apu_power) as usize - ptr as usize },
        120usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v3_0),
            "::",
            stringify!(average_apu_power)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).average_gfx_power) as usize - ptr as usize },
        124usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v3_0),
            "::",
            stringify!(average_gfx_power)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).average_dgpu_power) as usize - ptr as usize },
        128usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v3_0),
            "::",
            stringify!(average_dgpu_power)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).average_all_core_power) as usize - ptr as usize },
        132usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v3_0),
            "::",
            stringify!(average_all_core_power)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).average_core_power) as usize - ptr as usize },
        136usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v3_0),
            "::",
            stringify!(average_core_power)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).average_sys_power) as usize - ptr as usize },
        168usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v3_0),
            "::",
            stringify!(average_sys_power)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).stapm_power_limit) as usize - ptr as usize },
        170usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v3_0),
            "::",
            stringify!(stapm_power_limit)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).current_stapm_power_limit) as usize - ptr as usize },
        172usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v3_0),
            "::",
            stringify!(current_stapm_power_limit)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).average_gfxclk_frequency) as usize - ptr as usize },
        174usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v3_0),
            "::",
            stringify!(average_gfxclk_frequency)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).average_socclk_frequency) as usize - ptr as usize },
        176usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v3_0),
            "::",
            stringify!(average_socclk_frequency)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).average_vpeclk_frequency) as usize - ptr as usize },
        178usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v3_0),
            "::",
            stringify!(average_vpeclk_frequency)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).average_ipuclk_frequency) as usize - ptr as usize },
        180usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v3_0),
            "::",
            stringify!(average_ipuclk_frequency)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).average_fclk_frequency) as usize - ptr as usize },
        182usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v3_0),
            "::",
            stringify!(average_fclk_frequency)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).average_vclk_frequency) as usize - ptr as usize },
        184usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v3_0),
            "::",
            stringify!(average_vclk_frequency)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).average_uclk_frequency) as usize - ptr as usize },
        186usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v3_0),
            "::",
            stringify!(average_uclk_frequency)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).average_mpipu_frequency) as usize - ptr as usize },
        188usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v3_0),
            "::",
            stringify!(average_mpipu_frequency)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).current_coreclk) as usize - ptr as usize },
        190usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v3_0),
            "::",
            stringify!(current_coreclk)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).current_core_maxfreq) as usize - ptr as usize },
        222usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v3_0),
            "::",
            stringify!(current_core_maxfreq)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).current_gfx_maxfreq) as usize - ptr as usize },
        224usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v3_0),
            "::",
            stringify!(current_gfx_maxfreq)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).throttle_residency_prochot) as usize - ptr as usize },
        228usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v3_0),
            "::",
            stringify!(throttle_residency_prochot)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).throttle_residency_spl) as usize - ptr as usize },
        232usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v3_0),
            "::",
            stringify!(throttle_residency_spl)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).throttle_residency_fppt) as usize - ptr as usize },
        236usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v3_0),
            "::",
            stringify!(throttle_residency_fppt)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).throttle_residency_sppt) as usize - ptr as usize },
        240usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v3_0),
            "::",
            stringify!(throttle_residency_sppt)
        )
    );
    assert_eq!(
        unsafe {
            ::core::ptr::addr_of!((*ptr).throttle_residency_thm_core) as usize - ptr as usize
        },
        244usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v3_0),
            "::",
            stringify!(throttle_residency_thm_core)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).throttle_residency_thm_gfx) as usize - ptr as usize },
        248usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v3_0),
            "::",
            stringify!(throttle_residency_thm_gfx)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).throttle_residency_thm_soc) as usize - ptr as usize },
        252usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v3_0),
            "::",
            stringify!(throttle_residency_thm_soc)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).time_filter_alphavalue) as usize - ptr as usize },
        256usize,
        concat!(
            "Offset of field: ",
            stringify!(gpu_metrics_v3_0),
            "::",
            stringify!(time_filter_alphavalue)
        )
    );
}
pub type __builtin_va_list = [__va_list_tag; 1usize];
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct __va_list_tag {
    pub gp_offset: ::core::ffi::c_uint,
    pub fp_offset: ::core::ffi::c_uint,
    pub overflow_arg_area: *mut ::core::ffi::c_void,
    pub reg_save_area: *mut ::core::ffi::c_void,
}
#[test]
fn bindgen_test_layout___va_list_tag() {
    const UNINIT: ::core::mem::MaybeUninit<__va_list_tag> = ::core::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::core::mem::size_of::<__va_list_tag>(),
        24usize,
        concat!("Size of: ", stringify!(__va_list_tag))
    );
    assert_eq!(
        ::core::mem::align_of::<__va_list_tag>(),
        8usize,
        concat!("Alignment of ", stringify!(__va_list_tag))
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).gp_offset) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(__va_list_tag),
            "::",
            stringify!(gp_offset)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).fp_offset) as usize - ptr as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(__va_list_tag),
            "::",
            stringify!(fp_offset)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).overflow_arg_area) as usize - ptr as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(__va_list_tag),
            "::",
            stringify!(overflow_arg_area)
        )
    );
    assert_eq!(
        unsafe { ::core::ptr::addr_of!((*ptr).reg_save_area) as usize - ptr as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(__va_list_tag),
            "::",
            stringify!(reg_save_area)
        )
    );
}
