/* automatically generated by rust-bindgen */

pub const _STDINT_H: u32 = 1;
pub const _FEATURES_H: u32 = 1;
pub const _ISOC95_SOURCE: u32 = 1;
pub const _ISOC99_SOURCE: u32 = 1;
pub const _ISOC11_SOURCE: u32 = 1;
pub const _POSIX_SOURCE: u32 = 1;
pub const _POSIX_C_SOURCE: u32 = 200809;
pub const _XOPEN_SOURCE: u32 = 700;
pub const _XOPEN_SOURCE_EXTENDED: u32 = 1;
pub const _LARGEFILE64_SOURCE: u32 = 1;
pub const _DEFAULT_SOURCE: u32 = 1;
pub const _ATFILE_SOURCE: u32 = 1;
pub const __USE_ISOC11: u32 = 1;
pub const __USE_ISOC99: u32 = 1;
pub const __USE_ISOC95: u32 = 1;
pub const __USE_ISOCXX11: u32 = 1;
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 __USE_XOPEN: u32 = 1;
pub const __USE_XOPEN_EXTENDED: u32 = 1;
pub const __USE_UNIX98: u32 = 1;
pub const _LARGEFILE_SOURCE: u32 = 1;
pub const __USE_XOPEN2K8XSI: u32 = 1;
pub const __USE_XOPEN2KXSI: u32 = 1;
pub const __USE_LARGEFILE: u32 = 1;
pub const __USE_LARGEFILE64: u32 = 1;
pub const __USE_MISC: u32 = 1;
pub const __USE_ATFILE: u32 = 1;
pub const __USE_GNU: u32 = 1;
pub const __USE_FORTIFY_LEVEL: u32 = 0;
pub const __GLIBC_USE_DEPRECATED_GETS: u32 = 0;
pub const _STDC_PREDEF_H: u32 = 1;
pub const __STDC_IEC_559__: u32 = 1;
pub const __STDC_IEC_559_COMPLEX__: u32 = 1;
pub const __STDC_ISO_10646__: u32 = 201706;
pub const __STDC_NO_THREADS__: u32 = 1;
pub const __GNU_LIBRARY__: u32 = 6;
pub const __GLIBC__: u32 = 2;
pub const __GLIBC_MINOR__: u32 = 27;
pub const _SYS_CDEFS_H: u32 = 1;
pub const __glibc_c99_flexarr_available: u32 = 1;
pub const __WORDSIZE: u32 = 64;
pub const __WORDSIZE_TIME64_COMPAT32: u32 = 1;
pub const __SYSCALL_WORDSIZE: u32 = 64;
pub const __HAVE_GENERIC_SELECTION: u32 = 0;
pub const __GLIBC_USE_LIB_EXT2: u32 = 1;
pub const __GLIBC_USE_IEC_60559_BFP_EXT: u32 = 1;
pub const __GLIBC_USE_IEC_60559_FUNCS_EXT: u32 = 1;
pub const __GLIBC_USE_IEC_60559_TYPES_EXT: 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 __FD_SETSIZE: u32 = 1024;
pub const _BITS_WCHAR_H: u32 = 1;
pub const _BITS_STDINT_INTN_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 INT8_WIDTH: u32 = 8;
pub const UINT8_WIDTH: u32 = 8;
pub const INT16_WIDTH: u32 = 16;
pub const UINT16_WIDTH: u32 = 16;
pub const INT32_WIDTH: u32 = 32;
pub const UINT32_WIDTH: u32 = 32;
pub const INT64_WIDTH: u32 = 64;
pub const UINT64_WIDTH: u32 = 64;
pub const INT_LEAST8_WIDTH: u32 = 8;
pub const UINT_LEAST8_WIDTH: u32 = 8;
pub const INT_LEAST16_WIDTH: u32 = 16;
pub const UINT_LEAST16_WIDTH: u32 = 16;
pub const INT_LEAST32_WIDTH: u32 = 32;
pub const UINT_LEAST32_WIDTH: u32 = 32;
pub const INT_LEAST64_WIDTH: u32 = 64;
pub const UINT_LEAST64_WIDTH: u32 = 64;
pub const INT_FAST8_WIDTH: u32 = 8;
pub const UINT_FAST8_WIDTH: u32 = 8;
pub const INT_FAST16_WIDTH: u32 = 64;
pub const UINT_FAST16_WIDTH: u32 = 64;
pub const INT_FAST32_WIDTH: u32 = 64;
pub const UINT_FAST32_WIDTH: u32 = 64;
pub const INT_FAST64_WIDTH: u32 = 64;
pub const UINT_FAST64_WIDTH: u32 = 64;
pub const INTPTR_WIDTH: u32 = 64;
pub const UINTPTR_WIDTH: u32 = 64;
pub const INTMAX_WIDTH: u32 = 64;
pub const UINTMAX_WIDTH: u32 = 64;
pub const PTRDIFF_WIDTH: u32 = 64;
pub const SIG_ATOMIC_WIDTH: u32 = 32;
pub const SIZE_WIDTH: u32 = 64;
pub const WCHAR_WIDTH: u32 = 32;
pub const WINT_WIDTH: u32 = 32;
pub const __bool_true_false_are_defined: u32 = 1;
pub type __u_char = ::std::os::raw::c_uchar;
pub type __u_short = ::std::os::raw::c_ushort;
pub type __u_int = ::std::os::raw::c_uint;
pub type __u_long = ::std::os::raw::c_ulong;
pub type __int8_t = ::std::os::raw::c_schar;
pub type __uint8_t = ::std::os::raw::c_uchar;
pub type __int16_t = ::std::os::raw::c_short;
pub type __uint16_t = ::std::os::raw::c_ushort;
pub type __int32_t = ::std::os::raw::c_int;
pub type __uint32_t = ::std::os::raw::c_uint;
pub type __int64_t = ::std::os::raw::c_long;
pub type __uint64_t = ::std::os::raw::c_ulong;
pub type __quad_t = ::std::os::raw::c_long;
pub type __u_quad_t = ::std::os::raw::c_ulong;
pub type __intmax_t = ::std::os::raw::c_long;
pub type __uintmax_t = ::std::os::raw::c_ulong;
pub type __dev_t = ::std::os::raw::c_ulong;
pub type __uid_t = ::std::os::raw::c_uint;
pub type __gid_t = ::std::os::raw::c_uint;
pub type __ino_t = ::std::os::raw::c_ulong;
pub type __ino64_t = ::std::os::raw::c_ulong;
pub type __mode_t = ::std::os::raw::c_uint;
pub type __nlink_t = ::std::os::raw::c_ulong;
pub type __off_t = ::std::os::raw::c_long;
pub type __off64_t = ::std::os::raw::c_long;
pub type __pid_t = ::std::os::raw::c_int;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct __fsid_t {
    pub __val: [::std::os::raw::c_int; 2usize],
}
#[test]
fn bindgen_test_layout___fsid_t() {
    assert_eq!(
        ::std::mem::size_of::<__fsid_t>(),
        8usize,
        concat!("Size of: ", stringify!(__fsid_t))
    );
    assert_eq!(
        ::std::mem::align_of::<__fsid_t>(),
        4usize,
        concat!("Alignment of ", stringify!(__fsid_t))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<__fsid_t>())).__val as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(__fsid_t),
            "::",
            stringify!(__val)
        )
    );
}
pub type __clock_t = ::std::os::raw::c_long;
pub type __rlim_t = ::std::os::raw::c_ulong;
pub type __rlim64_t = ::std::os::raw::c_ulong;
pub type __id_t = ::std::os::raw::c_uint;
pub type __time_t = ::std::os::raw::c_long;
pub type __useconds_t = ::std::os::raw::c_uint;
pub type __suseconds_t = ::std::os::raw::c_long;
pub type __daddr_t = ::std::os::raw::c_int;
pub type __key_t = ::std::os::raw::c_int;
pub type __clockid_t = ::std::os::raw::c_int;
pub type __timer_t = *mut ::std::os::raw::c_void;
pub type __blksize_t = ::std::os::raw::c_long;
pub type __blkcnt_t = ::std::os::raw::c_long;
pub type __blkcnt64_t = ::std::os::raw::c_long;
pub type __fsblkcnt_t = ::std::os::raw::c_ulong;
pub type __fsblkcnt64_t = ::std::os::raw::c_ulong;
pub type __fsfilcnt_t = ::std::os::raw::c_ulong;
pub type __fsfilcnt64_t = ::std::os::raw::c_ulong;
pub type __fsword_t = ::std::os::raw::c_long;
pub type __ssize_t = ::std::os::raw::c_long;
pub type __syscall_slong_t = ::std::os::raw::c_long;
pub type __syscall_ulong_t = ::std::os::raw::c_ulong;
pub type __loff_t = __off64_t;
pub type __caddr_t = *mut ::std::os::raw::c_char;
pub type __intptr_t = ::std::os::raw::c_long;
pub type __socklen_t = ::std::os::raw::c_uint;
pub type __sig_atomic_t = ::std::os::raw::c_int;
pub type int_least8_t = ::std::os::raw::c_schar;
pub type int_least16_t = ::std::os::raw::c_short;
pub type int_least32_t = ::std::os::raw::c_int;
pub type int_least64_t = ::std::os::raw::c_long;
pub type uint_least8_t = ::std::os::raw::c_uchar;
pub type uint_least16_t = ::std::os::raw::c_ushort;
pub type uint_least32_t = ::std::os::raw::c_uint;
pub type uint_least64_t = ::std::os::raw::c_ulong;
pub type int_fast8_t = ::std::os::raw::c_schar;
pub type int_fast16_t = ::std::os::raw::c_long;
pub type int_fast32_t = ::std::os::raw::c_long;
pub type int_fast64_t = ::std::os::raw::c_long;
pub type uint_fast8_t = ::std::os::raw::c_uchar;
pub type uint_fast16_t = ::std::os::raw::c_ulong;
pub type uint_fast32_t = ::std::os::raw::c_ulong;
pub type uint_fast64_t = ::std::os::raw::c_ulong;
pub type intmax_t = __intmax_t;
pub type uintmax_t = __uintmax_t;
pub type PropertyContainerHandle_t = u64;
pub type PropertyTypeTag_t = u32;
pub type VRActionHandle_t = u64;
pub type VRActionSetHandle_t = u64;
pub type VRInputValueHandle_t = u64;
pub const k_nDriverNone: ::std::os::raw::c_uint = 4294967295;
pub const k_unMaxDriverDebugResponseSize: ::std::os::raw::c_uint = 32768;
pub const k_unTrackedDeviceIndex_Hmd: ::std::os::raw::c_uint = 0;
pub const k_unMaxTrackedDeviceCount: ::std::os::raw::c_uint = 64;
pub const k_unTrackedDeviceIndexOther: ::std::os::raw::c_uint = 4294967294;
pub const k_unTrackedDeviceIndexInvalid: ::std::os::raw::c_uint = 4294967295;
pub const k_ulInvalidPropertyContainer: ::std::os::raw::c_ulong = 0;
pub const k_unInvalidPropertyTag: ::std::os::raw::c_uint = 0;
pub const k_ulInvalidDriverHandle: ::std::os::raw::c_ulong = 0;
pub const k_unFloatPropertyTag: ::std::os::raw::c_uint = 1;
pub const k_unInt32PropertyTag: ::std::os::raw::c_uint = 2;
pub const k_unUint64PropertyTag: ::std::os::raw::c_uint = 3;
pub const k_unBoolPropertyTag: ::std::os::raw::c_uint = 4;
pub const k_unStringPropertyTag: ::std::os::raw::c_uint = 5;
pub const k_unHmdMatrix34PropertyTag: ::std::os::raw::c_uint = 20;
pub const k_unHmdMatrix44PropertyTag: ::std::os::raw::c_uint = 21;
pub const k_unHmdVector3PropertyTag: ::std::os::raw::c_uint = 22;
pub const k_unHmdVector4PropertyTag: ::std::os::raw::c_uint = 23;
pub const k_unHmdVector2PropertyTag: ::std::os::raw::c_uint = 24;
pub const k_unHmdQuadPropertyTag: ::std::os::raw::c_uint = 25;
pub const k_unHiddenAreaPropertyTag: ::std::os::raw::c_uint = 30;
pub const k_unPathHandleInfoTag: ::std::os::raw::c_uint = 31;
pub const k_unActionPropertyTag: ::std::os::raw::c_uint = 32;
pub const k_unInputValuePropertyTag: ::std::os::raw::c_uint = 33;
pub const k_unWildcardPropertyTag: ::std::os::raw::c_uint = 34;
pub const k_unHapticVibrationPropertyTag: ::std::os::raw::c_uint = 35;
pub const k_unSkeletonPropertyTag: ::std::os::raw::c_uint = 36;
pub const k_unSpatialAnchorPosePropertyTag: ::std::os::raw::c_uint = 40;
pub const k_unJsonPropertyTag: ::std::os::raw::c_uint = 41;
pub const k_unActiveActionSetPropertyTag: ::std::os::raw::c_uint = 42;
pub const k_unOpenVRInternalReserved_Start: ::std::os::raw::c_uint = 1000;
pub const k_unOpenVRInternalReserved_End: ::std::os::raw::c_uint = 10000;
pub const k_unMaxPropertyStringSize: ::std::os::raw::c_uint = 32768;
pub const k_ulInvalidActionHandle: ::std::os::raw::c_ulong = 0;
pub const k_ulInvalidActionSetHandle: ::std::os::raw::c_ulong = 0;
pub const k_ulInvalidInputValueHandle: ::std::os::raw::c_ulong = 0;
pub const k_unControllerStateAxisCount: ::std::os::raw::c_uint = 5;
pub const k_ulOverlayHandleInvalid: ::std::os::raw::c_ulong = 0;
pub const k_unMaxDistortionFunctionParameters: ::std::os::raw::c_uint = 8;
pub const k_unScreenshotHandleInvalid: ::std::os::raw::c_uint = 0;
pub const IVRSystem_Version: &'static [u8; 14usize] = b"IVRSystem_019\0";
pub const IVRExtendedDisplay_Version: &'static [u8; 23usize] = b"IVRExtendedDisplay_001\0";
pub const IVRTrackedCamera_Version: &'static [u8; 21usize] = b"IVRTrackedCamera_005\0";
pub const k_unMaxApplicationKeyLength: ::std::os::raw::c_uint = 128;
pub const k_pch_MimeType_HomeApp: &'static [u8; 8usize] = b"vr/home\0";
pub const k_pch_MimeType_GameTheater: &'static [u8; 16usize] = b"vr/game_theater\0";
pub const IVRApplications_Version: &'static [u8; 20usize] = b"IVRApplications_006\0";
pub const IVRChaperone_Version: &'static [u8; 17usize] = b"IVRChaperone_003\0";
pub const IVRChaperoneSetup_Version: &'static [u8; 22usize] = b"IVRChaperoneSetup_006\0";
pub const IVRCompositor_Version: &'static [u8; 18usize] = b"IVRCompositor_022\0";
pub const k_unVROverlayMaxKeyLength: ::std::os::raw::c_uint = 128;
pub const k_unVROverlayMaxNameLength: ::std::os::raw::c_uint = 128;
pub const k_unMaxOverlayCount: ::std::os::raw::c_uint = 64;
pub const k_unMaxOverlayIntersectionMaskPrimitivesCount: ::std::os::raw::c_uint = 32;
pub const IVROverlay_Version: &'static [u8; 15usize] = b"IVROverlay_019\0";
pub const k_pch_Controller_Component_GDC2015: &'static [u8; 8usize] = b"gdc2015\0";
pub const k_pch_Controller_Component_Base: &'static [u8; 5usize] = b"base\0";
pub const k_pch_Controller_Component_Tip: &'static [u8; 4usize] = b"tip\0";
pub const k_pch_Controller_Component_HandGrip: &'static [u8; 9usize] = b"handgrip\0";
pub const k_pch_Controller_Component_Status: &'static [u8; 7usize] = b"status\0";
pub const IVRRenderModels_Version: &'static [u8; 20usize] = b"IVRRenderModels_006\0";
pub const k_unNotificationTextMaxSize: ::std::os::raw::c_uint = 256;
pub const IVRNotifications_Version: &'static [u8; 21usize] = b"IVRNotifications_002\0";
pub const k_unMaxSettingsKeyLength: ::std::os::raw::c_uint = 128;
pub const IVRSettings_Version: &'static [u8; 16usize] = b"IVRSettings_002\0";
pub const k_pch_SteamVR_Section: &'static [u8; 8usize] = b"steamvr\0";
pub const k_pch_SteamVR_RequireHmd_String: &'static [u8; 11usize] = b"requireHmd\0";
pub const k_pch_SteamVR_ForcedDriverKey_String: &'static [u8; 13usize] = b"forcedDriver\0";
pub const k_pch_SteamVR_ForcedHmdKey_String: &'static [u8; 10usize] = b"forcedHmd\0";
pub const k_pch_SteamVR_DisplayDebug_Bool: &'static [u8; 13usize] = b"displayDebug\0";
pub const k_pch_SteamVR_DebugProcessPipe_String: &'static [u8; 17usize] = b"debugProcessPipe\0";
pub const k_pch_SteamVR_DisplayDebugX_Int32: &'static [u8; 14usize] = b"displayDebugX\0";
pub const k_pch_SteamVR_DisplayDebugY_Int32: &'static [u8; 14usize] = b"displayDebugY\0";
pub const k_pch_SteamVR_SendSystemButtonToAllApps_Bool: &'static [u8; 26usize] =
    b"sendSystemButtonToAllApps\0";
pub const k_pch_SteamVR_LogLevel_Int32: &'static [u8; 9usize] = b"loglevel\0";
pub const k_pch_SteamVR_IPD_Float: &'static [u8; 4usize] = b"ipd\0";
pub const k_pch_SteamVR_Background_String: &'static [u8; 11usize] = b"background\0";
pub const k_pch_SteamVR_BackgroundUseDomeProjection_Bool: &'static [u8; 28usize] =
    b"backgroundUseDomeProjection\0";
pub const k_pch_SteamVR_BackgroundCameraHeight_Float: &'static [u8; 23usize] =
    b"backgroundCameraHeight\0";
pub const k_pch_SteamVR_BackgroundDomeRadius_Float: &'static [u8; 21usize] =
    b"backgroundDomeRadius\0";
pub const k_pch_SteamVR_GridColor_String: &'static [u8; 10usize] = b"gridColor\0";
pub const k_pch_SteamVR_PlayAreaColor_String: &'static [u8; 14usize] = b"playAreaColor\0";
pub const k_pch_SteamVR_ShowStage_Bool: &'static [u8; 10usize] = b"showStage\0";
pub const k_pch_SteamVR_ActivateMultipleDrivers_Bool: &'static [u8; 24usize] =
    b"activateMultipleDrivers\0";
pub const k_pch_SteamVR_UsingSpeakers_Bool: &'static [u8; 14usize] = b"usingSpeakers\0";
pub const k_pch_SteamVR_SpeakersForwardYawOffsetDegrees_Float: &'static [u8; 32usize] =
    b"speakersForwardYawOffsetDegrees\0";
pub const k_pch_SteamVR_BaseStationPowerManagement_Bool: &'static [u8; 27usize] =
    b"basestationPowerManagement\0";
pub const k_pch_SteamVR_NeverKillProcesses_Bool: &'static [u8; 19usize] = b"neverKillProcesses\0";
pub const k_pch_SteamVR_SupersampleScale_Float: &'static [u8; 17usize] = b"supersampleScale\0";
pub const k_pch_SteamVR_MaxRecommendedResolution_Int32: &'static [u8; 25usize] =
    b"maxRecommendedResolution\0";
pub const k_pch_SteamVR_MotionSmoothing_Bool: &'static [u8; 16usize] = b"motionSmoothing\0";
pub const k_pch_SteamVR_MotionSmoothingOverride_Int32: &'static [u8; 24usize] =
    b"motionSmoothingOverride\0";
pub const k_pch_SteamVR_ForceFadeOnBadTracking_Bool: &'static [u8; 23usize] =
    b"forceFadeOnBadTracking\0";
pub const k_pch_SteamVR_DefaultMirrorView_Int32: &'static [u8; 11usize] = b"mirrorView\0";
pub const k_pch_SteamVR_ShowMirrorView_Bool: &'static [u8; 15usize] = b"showMirrorView\0";
pub const k_pch_SteamVR_MirrorViewGeometry_String: &'static [u8; 19usize] = b"mirrorViewGeometry\0";
pub const k_pch_SteamVR_MirrorViewGeometryMaximized_String: &'static [u8; 28usize] =
    b"mirrorViewGeometryMaximized\0";
pub const k_pch_SteamVR_StartMonitorFromAppLaunch: &'static [u8; 26usize] =
    b"startMonitorFromAppLaunch\0";
pub const k_pch_SteamVR_StartCompositorFromAppLaunch_Bool: &'static [u8; 29usize] =
    b"startCompositorFromAppLaunch\0";
pub const k_pch_SteamVR_StartDashboardFromAppLaunch_Bool: &'static [u8; 28usize] =
    b"startDashboardFromAppLaunch\0";
pub const k_pch_SteamVR_StartOverlayAppsFromDashboard_Bool: &'static [u8; 30usize] =
    b"startOverlayAppsFromDashboard\0";
pub const k_pch_SteamVR_EnableHomeApp: &'static [u8; 14usize] = b"enableHomeApp\0";
pub const k_pch_SteamVR_CycleBackgroundImageTimeSec_Int32: &'static [u8; 28usize] =
    b"CycleBackgroundImageTimeSec\0";
pub const k_pch_SteamVR_RetailDemo_Bool: &'static [u8; 11usize] = b"retailDemo\0";
pub const k_pch_SteamVR_IpdOffset_Float: &'static [u8; 10usize] = b"ipdOffset\0";
pub const k_pch_SteamVR_AllowSupersampleFiltering_Bool: &'static [u8; 26usize] =
    b"allowSupersampleFiltering\0";
pub const k_pch_SteamVR_SupersampleManualOverride_Bool: &'static [u8; 26usize] =
    b"supersampleManualOverride\0";
pub const k_pch_SteamVR_EnableLinuxVulkanAsync_Bool: &'static [u8; 23usize] =
    b"enableLinuxVulkanAsync\0";
pub const k_pch_SteamVR_AllowDisplayLockedMode_Bool: &'static [u8; 23usize] =
    b"allowDisplayLockedMode\0";
pub const k_pch_SteamVR_HaveStartedTutorialForNativeChaperoneDriver_Bool: &'static [u8; 44usize] =
    b"haveStartedTutorialForNativeChaperoneDriver\0";
pub const k_pch_SteamVR_ForceWindows32bitVRMonitor: &'static [u8; 27usize] =
    b"forceWindows32BitVRMonitor\0";
pub const k_pch_SteamVR_DebugInput: &'static [u8; 11usize] = b"debugInput\0";
pub const k_pch_SteamVR_DebugInputBinding: &'static [u8; 18usize] = b"debugInputBinding\0";
pub const k_pch_SteamVR_DoNotFadeToGrid: &'static [u8; 16usize] = b"doNotFadeToGrid\0";
pub const k_pch_SteamVR_InputBindingUIBlock: &'static [u8; 15usize] = b"inputBindingUI\0";
pub const k_pch_SteamVR_RenderCameraMode: &'static [u8; 17usize] = b"renderCameraMode\0";
pub const k_pch_SteamVR_EnableSharedResourceJournaling: &'static [u8; 31usize] =
    b"enableSharedResourceJournaling\0";
pub const k_pch_SteamVR_EnableSafeMode: &'static [u8; 15usize] = b"enableSafeMode\0";
pub const k_pch_SteamVR_PreferredRefreshRate: &'static [u8; 21usize] = b"preferredRefreshRate\0";
pub const k_pch_SteamVR_LastVersionNotice: &'static [u8; 18usize] = b"lastVersionNotice\0";
pub const k_pch_SteamVR_LastVersionNoticeDate: &'static [u8; 22usize] = b"lastVersionNoticeDate\0";
pub const k_pch_DirectMode_Section: &'static [u8; 12usize] = b"direct_mode\0";
pub const k_pch_DirectMode_Enable_Bool: &'static [u8; 7usize] = b"enable\0";
pub const k_pch_DirectMode_Count_Int32: &'static [u8; 6usize] = b"count\0";
pub const k_pch_DirectMode_EdidVid_Int32: &'static [u8; 8usize] = b"edidVid\0";
pub const k_pch_DirectMode_EdidPid_Int32: &'static [u8; 8usize] = b"edidPid\0";
pub const k_pch_Lighthouse_Section: &'static [u8; 18usize] = b"driver_lighthouse\0";
pub const k_pch_Lighthouse_DisableIMU_Bool: &'static [u8; 11usize] = b"disableimu\0";
pub const k_pch_Lighthouse_DisableIMUExceptHMD_Bool: &'static [u8; 20usize] =
    b"disableimuexcepthmd\0";
pub const k_pch_Lighthouse_UseDisambiguation_String: &'static [u8; 18usize] =
    b"usedisambiguation\0";
pub const k_pch_Lighthouse_DisambiguationDebug_Int32: &'static [u8; 20usize] =
    b"disambiguationdebug\0";
pub const k_pch_Lighthouse_PrimaryBasestation_Int32: &'static [u8; 19usize] =
    b"primarybasestation\0";
pub const k_pch_Lighthouse_DBHistory_Bool: &'static [u8; 10usize] = b"dbhistory\0";
pub const k_pch_Lighthouse_EnableBluetooth_Bool: &'static [u8; 16usize] = b"enableBluetooth\0";
pub const k_pch_Lighthouse_PowerManagedBaseStations_String: &'static [u8; 25usize] =
    b"PowerManagedBaseStations\0";
pub const k_pch_Lighthouse_PowerManagedBaseStations2_String: &'static [u8; 26usize] =
    b"PowerManagedBaseStations2\0";
pub const k_pch_Lighthouse_InactivityTimeoutForBaseStations_Int32: &'static [u8; 33usize] =
    b"InactivityTimeoutForBaseStations\0";
pub const k_pch_Lighthouse_EnableImuFallback_Bool: &'static [u8; 18usize] = b"enableImuFallback\0";
pub const k_pch_Lighthouse_NewPairing_Bool: &'static [u8; 11usize] = b"newPairing\0";
pub const k_pch_Null_Section: &'static [u8; 12usize] = b"driver_null\0";
pub const k_pch_Null_SerialNumber_String: &'static [u8; 13usize] = b"serialNumber\0";
pub const k_pch_Null_ModelNumber_String: &'static [u8; 12usize] = b"modelNumber\0";
pub const k_pch_Null_WindowX_Int32: &'static [u8; 8usize] = b"windowX\0";
pub const k_pch_Null_WindowY_Int32: &'static [u8; 8usize] = b"windowY\0";
pub const k_pch_Null_WindowWidth_Int32: &'static [u8; 12usize] = b"windowWidth\0";
pub const k_pch_Null_WindowHeight_Int32: &'static [u8; 13usize] = b"windowHeight\0";
pub const k_pch_Null_RenderWidth_Int32: &'static [u8; 12usize] = b"renderWidth\0";
pub const k_pch_Null_RenderHeight_Int32: &'static [u8; 13usize] = b"renderHeight\0";
pub const k_pch_Null_SecondsFromVsyncToPhotons_Float: &'static [u8; 26usize] =
    b"secondsFromVsyncToPhotons\0";
pub const k_pch_Null_DisplayFrequency_Float: &'static [u8; 17usize] = b"displayFrequency\0";
pub const k_pch_UserInterface_Section: &'static [u8; 14usize] = b"userinterface\0";
pub const k_pch_UserInterface_StatusAlwaysOnTop_Bool: &'static [u8; 18usize] =
    b"StatusAlwaysOnTop\0";
pub const k_pch_UserInterface_MinimizeToTray_Bool: &'static [u8; 15usize] = b"MinimizeToTray\0";
pub const k_pch_UserInterface_HidePopupsWhenStatusMinimized_Bool: &'static [u8; 30usize] =
    b"HidePopupsWhenStatusMinimized\0";
pub const k_pch_UserInterface_Screenshots_Bool: &'static [u8; 12usize] = b"screenshots\0";
pub const k_pch_UserInterface_ScreenshotType_Int: &'static [u8; 15usize] = b"screenshotType\0";
pub const k_pch_Notifications_Section: &'static [u8; 14usize] = b"notifications\0";
pub const k_pch_Notifications_DoNotDisturb_Bool: &'static [u8; 13usize] = b"DoNotDisturb\0";
pub const k_pch_Keyboard_Section: &'static [u8; 9usize] = b"keyboard\0";
pub const k_pch_Keyboard_TutorialCompletions: &'static [u8; 20usize] = b"TutorialCompletions\0";
pub const k_pch_Keyboard_ScaleX: &'static [u8; 7usize] = b"ScaleX\0";
pub const k_pch_Keyboard_ScaleY: &'static [u8; 7usize] = b"ScaleY\0";
pub const k_pch_Keyboard_OffsetLeftX: &'static [u8; 12usize] = b"OffsetLeftX\0";
pub const k_pch_Keyboard_OffsetRightX: &'static [u8; 13usize] = b"OffsetRightX\0";
pub const k_pch_Keyboard_OffsetY: &'static [u8; 8usize] = b"OffsetY\0";
pub const k_pch_Keyboard_Smoothing: &'static [u8; 10usize] = b"Smoothing\0";
pub const k_pch_Perf_Section: &'static [u8; 10usize] = b"perfcheck\0";
pub const k_pch_Perf_PerfGraphInHMD_Bool: &'static [u8; 15usize] = b"perfGraphInHMD\0";
pub const k_pch_Perf_AllowTimingStore_Bool: &'static [u8; 17usize] = b"allowTimingStore\0";
pub const k_pch_Perf_SaveTimingsOnExit_Bool: &'static [u8; 18usize] = b"saveTimingsOnExit\0";
pub const k_pch_Perf_TestData_Float: &'static [u8; 13usize] = b"perfTestData\0";
pub const k_pch_Perf_GPUProfiling_Bool: &'static [u8; 13usize] = b"GPUProfiling\0";
pub const k_pch_CollisionBounds_Section: &'static [u8; 16usize] = b"collisionBounds\0";
pub const k_pch_CollisionBounds_Style_Int32: &'static [u8; 21usize] = b"CollisionBoundsStyle\0";
pub const k_pch_CollisionBounds_GroundPerimeterOn_Bool: &'static [u8; 33usize] =
    b"CollisionBoundsGroundPerimeterOn\0";
pub const k_pch_CollisionBounds_CenterMarkerOn_Bool: &'static [u8; 30usize] =
    b"CollisionBoundsCenterMarkerOn\0";
pub const k_pch_CollisionBounds_PlaySpaceOn_Bool: &'static [u8; 27usize] =
    b"CollisionBoundsPlaySpaceOn\0";
pub const k_pch_CollisionBounds_FadeDistance_Float: &'static [u8; 28usize] =
    b"CollisionBoundsFadeDistance\0";
pub const k_pch_CollisionBounds_ColorGammaR_Int32: &'static [u8; 27usize] =
    b"CollisionBoundsColorGammaR\0";
pub const k_pch_CollisionBounds_ColorGammaG_Int32: &'static [u8; 27usize] =
    b"CollisionBoundsColorGammaG\0";
pub const k_pch_CollisionBounds_ColorGammaB_Int32: &'static [u8; 27usize] =
    b"CollisionBoundsColorGammaB\0";
pub const k_pch_CollisionBounds_ColorGammaA_Int32: &'static [u8; 27usize] =
    b"CollisionBoundsColorGammaA\0";
pub const k_pch_Camera_Section: &'static [u8; 7usize] = b"camera\0";
pub const k_pch_Camera_EnableCamera_Bool: &'static [u8; 13usize] = b"enableCamera\0";
pub const k_pch_Camera_EnableCameraInDashboard_Bool: &'static [u8; 24usize] =
    b"enableCameraInDashboard\0";
pub const k_pch_Camera_EnableCameraForCollisionBounds_Bool: &'static [u8; 31usize] =
    b"enableCameraForCollisionBounds\0";
pub const k_pch_Camera_EnableCameraForRoomView_Bool: &'static [u8; 24usize] =
    b"enableCameraForRoomView\0";
pub const k_pch_Camera_BoundsColorGammaR_Int32: &'static [u8; 24usize] =
    b"cameraBoundsColorGammaR\0";
pub const k_pch_Camera_BoundsColorGammaG_Int32: &'static [u8; 24usize] =
    b"cameraBoundsColorGammaG\0";
pub const k_pch_Camera_BoundsColorGammaB_Int32: &'static [u8; 24usize] =
    b"cameraBoundsColorGammaB\0";
pub const k_pch_Camera_BoundsColorGammaA_Int32: &'static [u8; 24usize] =
    b"cameraBoundsColorGammaA\0";
pub const k_pch_Camera_BoundsStrength_Int32: &'static [u8; 21usize] = b"cameraBoundsStrength\0";
pub const k_pch_Camera_RoomViewMode_Int32: &'static [u8; 19usize] = b"cameraRoomViewMode\0";
pub const k_pch_audio_Section: &'static [u8; 6usize] = b"audio\0";
pub const k_pch_audio_OnPlaybackDevice_String: &'static [u8; 17usize] = b"onPlaybackDevice\0";
pub const k_pch_audio_OnRecordDevice_String: &'static [u8; 15usize] = b"onRecordDevice\0";
pub const k_pch_audio_OnPlaybackMirrorDevice_String: &'static [u8; 23usize] =
    b"onPlaybackMirrorDevice\0";
pub const k_pch_audio_OffPlaybackDevice_String: &'static [u8; 18usize] = b"offPlaybackDevice\0";
pub const k_pch_audio_OffRecordDevice_String: &'static [u8; 16usize] = b"offRecordDevice\0";
pub const k_pch_audio_VIVEHDMIGain: &'static [u8; 13usize] = b"viveHDMIGain\0";
pub const k_pch_Power_Section: &'static [u8; 6usize] = b"power\0";
pub const k_pch_Power_PowerOffOnExit_Bool: &'static [u8; 15usize] = b"powerOffOnExit\0";
pub const k_pch_Power_TurnOffScreensTimeout_Float: &'static [u8; 22usize] =
    b"turnOffScreensTimeout\0";
pub const k_pch_Power_TurnOffControllersTimeout_Float: &'static [u8; 26usize] =
    b"turnOffControllersTimeout\0";
pub const k_pch_Power_ReturnToWatchdogTimeout_Float: &'static [u8; 24usize] =
    b"returnToWatchdogTimeout\0";
pub const k_pch_Power_AutoLaunchSteamVROnButtonPress: &'static [u8; 31usize] =
    b"autoLaunchSteamVROnButtonPress\0";
pub const k_pch_Power_PauseCompositorOnStandby_Bool: &'static [u8; 25usize] =
    b"pauseCompositorOnStandby\0";
pub const k_pch_Dashboard_Section: &'static [u8; 10usize] = b"dashboard\0";
pub const k_pch_Dashboard_EnableDashboard_Bool: &'static [u8; 16usize] = b"enableDashboard\0";
pub const k_pch_Dashboard_ArcadeMode_Bool: &'static [u8; 11usize] = b"arcadeMode\0";
pub const k_pch_Dashboard_UseWebDashboard: &'static [u8; 16usize] = b"useWebDashboard\0";
pub const k_pch_Dashboard_UseWebSettings: &'static [u8; 15usize] = b"useWebSettings\0";
pub const k_pch_Dashboard_UseWebIPD: &'static [u8; 10usize] = b"useWebIPD\0";
pub const k_pch_Dashboard_UseWebPowerMenu: &'static [u8; 16usize] = b"useWebPowerMenu\0";
pub const k_pch_modelskin_Section: &'static [u8; 11usize] = b"modelskins\0";
pub const k_pch_Driver_Enable_Bool: &'static [u8; 7usize] = b"enable\0";
pub const k_pch_WebInterface_Section: &'static [u8; 13usize] = b"WebInterface\0";
pub const k_pch_WebInterface_WebEnable_Bool: &'static [u8; 10usize] = b"WebEnable\0";
pub const k_pch_WebInterface_WebPort_String: &'static [u8; 8usize] = b"WebPort\0";
pub const k_pch_VRWebHelper_Section: &'static [u8; 12usize] = b"VRWebHelper\0";
pub const k_pch_VRWebHelper_DebuggerEnabled_Bool: &'static [u8; 16usize] = b"DebuggerEnabled\0";
pub const k_pch_VRWebHelper_DebuggerPort_Int32: &'static [u8; 13usize] = b"DebuggerPort\0";
pub const k_pch_TrackingOverride_Section: &'static [u8; 18usize] = b"TrackingOverrides\0";
pub const k_pch_App_BindingAutosaveURLSuffix_String: &'static [u8; 12usize] = b"AutosaveURL\0";
pub const k_pch_App_BindingCurrentURLSuffix_String: &'static [u8; 11usize] = b"CurrentURL\0";
pub const k_pch_App_NeedToUpdateAutosaveSuffix_Bool: &'static [u8; 21usize] =
    b"NeedToUpdateAutosave\0";
pub const k_pch_Trackers_Section: &'static [u8; 9usize] = b"trackers\0";
pub const k_pch_DesktopUI_Section: &'static [u8; 10usize] = b"DesktopUI\0";
pub const k_pch_LastKnown_Section: &'static [u8; 10usize] = b"LastKnown\0";
pub const k_pch_LastKnown_HMDManufacturer_String: &'static [u8; 16usize] = b"HMDManufacturer\0";
pub const k_pch_LastKnown_HMDModel_String: &'static [u8; 9usize] = b"HMDModel\0";
pub const k_pch_DismissedWarnings_Section: &'static [u8; 18usize] = b"DismissedWarnings\0";
pub const IVRScreenshots_Version: &'static [u8; 19usize] = b"IVRScreenshots_001\0";
pub const IVRResources_Version: &'static [u8; 17usize] = b"IVRResources_001\0";
pub const IVRDriverManager_Version: &'static [u8; 21usize] = b"IVRDriverManager_001\0";
pub const k_unMaxActionNameLength: ::std::os::raw::c_uint = 64;
pub const k_unMaxActionSetNameLength: ::std::os::raw::c_uint = 64;
pub const k_unMaxActionOriginCount: ::std::os::raw::c_uint = 16;
pub const k_unMaxBoneNameLength: ::std::os::raw::c_uint = 32;
pub const IVRInput_Version: &'static [u8; 13usize] = b"IVRInput_006\0";
pub const k_ulInvalidIOBufferHandle: ::std::os::raw::c_ulong = 0;
pub const IVRIOBuffer_Version: &'static [u8; 16usize] = b"IVRIOBuffer_002\0";
pub const k_ulInvalidSpatialAnchorHandle: ::std::os::raw::c_uint = 0;
pub const IVRSpatialAnchors_Version: &'static [u8; 22usize] = b"IVRSpatialAnchors_001\0";
pub const EVREye_Eye_Left: EVREye = 0;
pub const EVREye_Eye_Right: EVREye = 1;
pub type EVREye = u32;
pub const ETextureType_TextureType_Invalid: ETextureType = -1;
pub const ETextureType_TextureType_DirectX: ETextureType = 0;
pub const ETextureType_TextureType_OpenGL: ETextureType = 1;
pub const ETextureType_TextureType_Vulkan: ETextureType = 2;
pub const ETextureType_TextureType_IOSurface: ETextureType = 3;
pub const ETextureType_TextureType_DirectX12: ETextureType = 4;
pub const ETextureType_TextureType_DXGISharedHandle: ETextureType = 5;
pub const ETextureType_TextureType_Metal: ETextureType = 6;
pub type ETextureType = i32;
pub const EColorSpace_ColorSpace_Auto: EColorSpace = 0;
pub const EColorSpace_ColorSpace_Gamma: EColorSpace = 1;
pub const EColorSpace_ColorSpace_Linear: EColorSpace = 2;
pub type EColorSpace = u32;
pub const ETrackingResult_TrackingResult_Uninitialized: ETrackingResult = 1;
pub const ETrackingResult_TrackingResult_Calibrating_InProgress: ETrackingResult = 100;
pub const ETrackingResult_TrackingResult_Calibrating_OutOfRange: ETrackingResult = 101;
pub const ETrackingResult_TrackingResult_Running_OK: ETrackingResult = 200;
pub const ETrackingResult_TrackingResult_Running_OutOfRange: ETrackingResult = 201;
pub const ETrackingResult_TrackingResult_Fallback_RotationOnly: ETrackingResult = 300;
pub type ETrackingResult = u32;
pub const ETrackedDeviceClass_TrackedDeviceClass_Invalid: ETrackedDeviceClass = 0;
pub const ETrackedDeviceClass_TrackedDeviceClass_HMD: ETrackedDeviceClass = 1;
pub const ETrackedDeviceClass_TrackedDeviceClass_Controller: ETrackedDeviceClass = 2;
pub const ETrackedDeviceClass_TrackedDeviceClass_GenericTracker: ETrackedDeviceClass = 3;
pub const ETrackedDeviceClass_TrackedDeviceClass_TrackingReference: ETrackedDeviceClass = 4;
pub const ETrackedDeviceClass_TrackedDeviceClass_DisplayRedirect: ETrackedDeviceClass = 5;
pub const ETrackedDeviceClass_TrackedDeviceClass_Max: ETrackedDeviceClass = 6;
pub type ETrackedDeviceClass = u32;
pub const ETrackedControllerRole_TrackedControllerRole_Invalid: ETrackedControllerRole = 0;
pub const ETrackedControllerRole_TrackedControllerRole_LeftHand: ETrackedControllerRole = 1;
pub const ETrackedControllerRole_TrackedControllerRole_RightHand: ETrackedControllerRole = 2;
pub const ETrackedControllerRole_TrackedControllerRole_OptOut: ETrackedControllerRole = 3;
pub const ETrackedControllerRole_TrackedControllerRole_Treadmill: ETrackedControllerRole = 4;
pub const ETrackedControllerRole_TrackedControllerRole_Max: ETrackedControllerRole = 5;
pub type ETrackedControllerRole = u32;
pub const ETrackingUniverseOrigin_TrackingUniverseSeated: ETrackingUniverseOrigin = 0;
pub const ETrackingUniverseOrigin_TrackingUniverseStanding: ETrackingUniverseOrigin = 1;
pub const ETrackingUniverseOrigin_TrackingUniverseRawAndUncalibrated: ETrackingUniverseOrigin = 2;
pub type ETrackingUniverseOrigin = u32;
pub const EAdditionalRadioFeatures_AdditionalRadioFeatures_None: EAdditionalRadioFeatures = 0;
pub const EAdditionalRadioFeatures_AdditionalRadioFeatures_HTCLinkBox: EAdditionalRadioFeatures = 1;
pub const EAdditionalRadioFeatures_AdditionalRadioFeatures_InternalDongle:
    EAdditionalRadioFeatures = 2;
pub const EAdditionalRadioFeatures_AdditionalRadioFeatures_ExternalDongle:
    EAdditionalRadioFeatures = 4;
pub type EAdditionalRadioFeatures = u32;
pub const ETrackedDeviceProperty_Prop_Invalid: ETrackedDeviceProperty = 0;
pub const ETrackedDeviceProperty_Prop_TrackingSystemName_String: ETrackedDeviceProperty = 1000;
pub const ETrackedDeviceProperty_Prop_ModelNumber_String: ETrackedDeviceProperty = 1001;
pub const ETrackedDeviceProperty_Prop_SerialNumber_String: ETrackedDeviceProperty = 1002;
pub const ETrackedDeviceProperty_Prop_RenderModelName_String: ETrackedDeviceProperty = 1003;
pub const ETrackedDeviceProperty_Prop_WillDriftInYaw_Bool: ETrackedDeviceProperty = 1004;
pub const ETrackedDeviceProperty_Prop_ManufacturerName_String: ETrackedDeviceProperty = 1005;
pub const ETrackedDeviceProperty_Prop_TrackingFirmwareVersion_String: ETrackedDeviceProperty = 1006;
pub const ETrackedDeviceProperty_Prop_HardwareRevision_String: ETrackedDeviceProperty = 1007;
pub const ETrackedDeviceProperty_Prop_AllWirelessDongleDescriptions_String: ETrackedDeviceProperty =
    1008;
pub const ETrackedDeviceProperty_Prop_ConnectedWirelessDongle_String: ETrackedDeviceProperty = 1009;
pub const ETrackedDeviceProperty_Prop_DeviceIsWireless_Bool: ETrackedDeviceProperty = 1010;
pub const ETrackedDeviceProperty_Prop_DeviceIsCharging_Bool: ETrackedDeviceProperty = 1011;
pub const ETrackedDeviceProperty_Prop_DeviceBatteryPercentage_Float: ETrackedDeviceProperty = 1012;
pub const ETrackedDeviceProperty_Prop_StatusDisplayTransform_Matrix34: ETrackedDeviceProperty =
    1013;
pub const ETrackedDeviceProperty_Prop_Firmware_UpdateAvailable_Bool: ETrackedDeviceProperty = 1014;
pub const ETrackedDeviceProperty_Prop_Firmware_ManualUpdate_Bool: ETrackedDeviceProperty = 1015;
pub const ETrackedDeviceProperty_Prop_Firmware_ManualUpdateURL_String: ETrackedDeviceProperty =
    1016;
pub const ETrackedDeviceProperty_Prop_HardwareRevision_Uint64: ETrackedDeviceProperty = 1017;
pub const ETrackedDeviceProperty_Prop_FirmwareVersion_Uint64: ETrackedDeviceProperty = 1018;
pub const ETrackedDeviceProperty_Prop_FPGAVersion_Uint64: ETrackedDeviceProperty = 1019;
pub const ETrackedDeviceProperty_Prop_VRCVersion_Uint64: ETrackedDeviceProperty = 1020;
pub const ETrackedDeviceProperty_Prop_RadioVersion_Uint64: ETrackedDeviceProperty = 1021;
pub const ETrackedDeviceProperty_Prop_DongleVersion_Uint64: ETrackedDeviceProperty = 1022;
pub const ETrackedDeviceProperty_Prop_BlockServerShutdown_Bool: ETrackedDeviceProperty = 1023;
pub const ETrackedDeviceProperty_Prop_CanUnifyCoordinateSystemWithHmd_Bool: ETrackedDeviceProperty =
    1024;
pub const ETrackedDeviceProperty_Prop_ContainsProximitySensor_Bool: ETrackedDeviceProperty = 1025;
pub const ETrackedDeviceProperty_Prop_DeviceProvidesBatteryStatus_Bool: ETrackedDeviceProperty =
    1026;
pub const ETrackedDeviceProperty_Prop_DeviceCanPowerOff_Bool: ETrackedDeviceProperty = 1027;
pub const ETrackedDeviceProperty_Prop_Firmware_ProgrammingTarget_String: ETrackedDeviceProperty =
    1028;
pub const ETrackedDeviceProperty_Prop_DeviceClass_Int32: ETrackedDeviceProperty = 1029;
pub const ETrackedDeviceProperty_Prop_HasCamera_Bool: ETrackedDeviceProperty = 1030;
pub const ETrackedDeviceProperty_Prop_DriverVersion_String: ETrackedDeviceProperty = 1031;
pub const ETrackedDeviceProperty_Prop_Firmware_ForceUpdateRequired_Bool: ETrackedDeviceProperty =
    1032;
pub const ETrackedDeviceProperty_Prop_ViveSystemButtonFixRequired_Bool: ETrackedDeviceProperty =
    1033;
pub const ETrackedDeviceProperty_Prop_ParentDriver_Uint64: ETrackedDeviceProperty = 1034;
pub const ETrackedDeviceProperty_Prop_ResourceRoot_String: ETrackedDeviceProperty = 1035;
pub const ETrackedDeviceProperty_Prop_RegisteredDeviceType_String: ETrackedDeviceProperty = 1036;
pub const ETrackedDeviceProperty_Prop_InputProfilePath_String: ETrackedDeviceProperty = 1037;
pub const ETrackedDeviceProperty_Prop_NeverTracked_Bool: ETrackedDeviceProperty = 1038;
pub const ETrackedDeviceProperty_Prop_NumCameras_Int32: ETrackedDeviceProperty = 1039;
pub const ETrackedDeviceProperty_Prop_CameraFrameLayout_Int32: ETrackedDeviceProperty = 1040;
pub const ETrackedDeviceProperty_Prop_CameraStreamFormat_Int32: ETrackedDeviceProperty = 1041;
pub const ETrackedDeviceProperty_Prop_AdditionalDeviceSettingsPath_String: ETrackedDeviceProperty =
    1042;
pub const ETrackedDeviceProperty_Prop_Identifiable_Bool: ETrackedDeviceProperty = 1043;
pub const ETrackedDeviceProperty_Prop_BootloaderVersion_Uint64: ETrackedDeviceProperty = 1044;
pub const ETrackedDeviceProperty_Prop_AdditionalSystemReportData_String: ETrackedDeviceProperty =
    1045;
pub const ETrackedDeviceProperty_Prop_CompositeFirmwareVersion_String: ETrackedDeviceProperty =
    1046;
pub const ETrackedDeviceProperty_Prop_ReportsTimeSinceVSync_Bool: ETrackedDeviceProperty = 2000;
pub const ETrackedDeviceProperty_Prop_SecondsFromVsyncToPhotons_Float: ETrackedDeviceProperty =
    2001;
pub const ETrackedDeviceProperty_Prop_DisplayFrequency_Float: ETrackedDeviceProperty = 2002;
pub const ETrackedDeviceProperty_Prop_UserIpdMeters_Float: ETrackedDeviceProperty = 2003;
pub const ETrackedDeviceProperty_Prop_CurrentUniverseId_Uint64: ETrackedDeviceProperty = 2004;
pub const ETrackedDeviceProperty_Prop_PreviousUniverseId_Uint64: ETrackedDeviceProperty = 2005;
pub const ETrackedDeviceProperty_Prop_DisplayFirmwareVersion_Uint64: ETrackedDeviceProperty = 2006;
pub const ETrackedDeviceProperty_Prop_IsOnDesktop_Bool: ETrackedDeviceProperty = 2007;
pub const ETrackedDeviceProperty_Prop_DisplayMCType_Int32: ETrackedDeviceProperty = 2008;
pub const ETrackedDeviceProperty_Prop_DisplayMCOffset_Float: ETrackedDeviceProperty = 2009;
pub const ETrackedDeviceProperty_Prop_DisplayMCScale_Float: ETrackedDeviceProperty = 2010;
pub const ETrackedDeviceProperty_Prop_EdidVendorID_Int32: ETrackedDeviceProperty = 2011;
pub const ETrackedDeviceProperty_Prop_DisplayMCImageLeft_String: ETrackedDeviceProperty = 2012;
pub const ETrackedDeviceProperty_Prop_DisplayMCImageRight_String: ETrackedDeviceProperty = 2013;
pub const ETrackedDeviceProperty_Prop_DisplayGCBlackClamp_Float: ETrackedDeviceProperty = 2014;
pub const ETrackedDeviceProperty_Prop_EdidProductID_Int32: ETrackedDeviceProperty = 2015;
pub const ETrackedDeviceProperty_Prop_CameraToHeadTransform_Matrix34: ETrackedDeviceProperty = 2016;
pub const ETrackedDeviceProperty_Prop_DisplayGCType_Int32: ETrackedDeviceProperty = 2017;
pub const ETrackedDeviceProperty_Prop_DisplayGCOffset_Float: ETrackedDeviceProperty = 2018;
pub const ETrackedDeviceProperty_Prop_DisplayGCScale_Float: ETrackedDeviceProperty = 2019;
pub const ETrackedDeviceProperty_Prop_DisplayGCPrescale_Float: ETrackedDeviceProperty = 2020;
pub const ETrackedDeviceProperty_Prop_DisplayGCImage_String: ETrackedDeviceProperty = 2021;
pub const ETrackedDeviceProperty_Prop_LensCenterLeftU_Float: ETrackedDeviceProperty = 2022;
pub const ETrackedDeviceProperty_Prop_LensCenterLeftV_Float: ETrackedDeviceProperty = 2023;
pub const ETrackedDeviceProperty_Prop_LensCenterRightU_Float: ETrackedDeviceProperty = 2024;
pub const ETrackedDeviceProperty_Prop_LensCenterRightV_Float: ETrackedDeviceProperty = 2025;
pub const ETrackedDeviceProperty_Prop_UserHeadToEyeDepthMeters_Float: ETrackedDeviceProperty = 2026;
pub const ETrackedDeviceProperty_Prop_CameraFirmwareVersion_Uint64: ETrackedDeviceProperty = 2027;
pub const ETrackedDeviceProperty_Prop_CameraFirmwareDescription_String: ETrackedDeviceProperty =
    2028;
pub const ETrackedDeviceProperty_Prop_DisplayFPGAVersion_Uint64: ETrackedDeviceProperty = 2029;
pub const ETrackedDeviceProperty_Prop_DisplayBootloaderVersion_Uint64: ETrackedDeviceProperty =
    2030;
pub const ETrackedDeviceProperty_Prop_DisplayHardwareVersion_Uint64: ETrackedDeviceProperty = 2031;
pub const ETrackedDeviceProperty_Prop_AudioFirmwareVersion_Uint64: ETrackedDeviceProperty = 2032;
pub const ETrackedDeviceProperty_Prop_CameraCompatibilityMode_Int32: ETrackedDeviceProperty = 2033;
pub const ETrackedDeviceProperty_Prop_ScreenshotHorizontalFieldOfViewDegrees_Float:
    ETrackedDeviceProperty = 2034;
pub const ETrackedDeviceProperty_Prop_ScreenshotVerticalFieldOfViewDegrees_Float:
    ETrackedDeviceProperty = 2035;
pub const ETrackedDeviceProperty_Prop_DisplaySuppressed_Bool: ETrackedDeviceProperty = 2036;
pub const ETrackedDeviceProperty_Prop_DisplayAllowNightMode_Bool: ETrackedDeviceProperty = 2037;
pub const ETrackedDeviceProperty_Prop_DisplayMCImageWidth_Int32: ETrackedDeviceProperty = 2038;
pub const ETrackedDeviceProperty_Prop_DisplayMCImageHeight_Int32: ETrackedDeviceProperty = 2039;
pub const ETrackedDeviceProperty_Prop_DisplayMCImageNumChannels_Int32: ETrackedDeviceProperty =
    2040;
pub const ETrackedDeviceProperty_Prop_DisplayMCImageData_Binary: ETrackedDeviceProperty = 2041;
pub const ETrackedDeviceProperty_Prop_SecondsFromPhotonsToVblank_Float: ETrackedDeviceProperty =
    2042;
pub const ETrackedDeviceProperty_Prop_DriverDirectModeSendsVsyncEvents_Bool:
    ETrackedDeviceProperty = 2043;
pub const ETrackedDeviceProperty_Prop_DisplayDebugMode_Bool: ETrackedDeviceProperty = 2044;
pub const ETrackedDeviceProperty_Prop_GraphicsAdapterLuid_Uint64: ETrackedDeviceProperty = 2045;
pub const ETrackedDeviceProperty_Prop_DriverProvidedChaperonePath_String: ETrackedDeviceProperty =
    2048;
pub const ETrackedDeviceProperty_Prop_ExpectedTrackingReferenceCount_Int32: ETrackedDeviceProperty =
    2049;
pub const ETrackedDeviceProperty_Prop_ExpectedControllerCount_Int32: ETrackedDeviceProperty = 2050;
pub const ETrackedDeviceProperty_Prop_NamedIconPathControllerLeftDeviceOff_String:
    ETrackedDeviceProperty = 2051;
pub const ETrackedDeviceProperty_Prop_NamedIconPathControllerRightDeviceOff_String:
    ETrackedDeviceProperty = 2052;
pub const ETrackedDeviceProperty_Prop_NamedIconPathTrackingReferenceDeviceOff_String:
    ETrackedDeviceProperty = 2053;
pub const ETrackedDeviceProperty_Prop_DoNotApplyPrediction_Bool: ETrackedDeviceProperty = 2054;
pub const ETrackedDeviceProperty_Prop_CameraToHeadTransforms_Matrix34_Array:
    ETrackedDeviceProperty = 2055;
pub const ETrackedDeviceProperty_Prop_DistortionMeshResolution_Int32: ETrackedDeviceProperty = 2056;
pub const ETrackedDeviceProperty_Prop_DriverIsDrawingControllers_Bool: ETrackedDeviceProperty =
    2057;
pub const ETrackedDeviceProperty_Prop_DriverRequestsApplicationPause_Bool: ETrackedDeviceProperty =
    2058;
pub const ETrackedDeviceProperty_Prop_DriverRequestsReducedRendering_Bool: ETrackedDeviceProperty =
    2059;
pub const ETrackedDeviceProperty_Prop_MinimumIpdStepMeters_Float: ETrackedDeviceProperty = 2060;
pub const ETrackedDeviceProperty_Prop_AudioBridgeFirmwareVersion_Uint64: ETrackedDeviceProperty =
    2061;
pub const ETrackedDeviceProperty_Prop_ImageBridgeFirmwareVersion_Uint64: ETrackedDeviceProperty =
    2062;
pub const ETrackedDeviceProperty_Prop_ImuToHeadTransform_Matrix34: ETrackedDeviceProperty = 2063;
pub const ETrackedDeviceProperty_Prop_ImuFactoryGyroBias_Vector3: ETrackedDeviceProperty = 2064;
pub const ETrackedDeviceProperty_Prop_ImuFactoryGyroScale_Vector3: ETrackedDeviceProperty = 2065;
pub const ETrackedDeviceProperty_Prop_ImuFactoryAccelerometerBias_Vector3: ETrackedDeviceProperty =
    2066;
pub const ETrackedDeviceProperty_Prop_ImuFactoryAccelerometerScale_Vector3: ETrackedDeviceProperty =
    2067;
pub const ETrackedDeviceProperty_Prop_ConfigurationIncludesLighthouse20Features_Bool:
    ETrackedDeviceProperty = 2069;
pub const ETrackedDeviceProperty_Prop_AdditionalRadioFeatures_Uint64: ETrackedDeviceProperty = 2070;
pub const ETrackedDeviceProperty_Prop_CameraWhiteBalance_Vector4_Array: ETrackedDeviceProperty =
    2071;
pub const ETrackedDeviceProperty_Prop_CameraDistortionFunction_Int32_Array: ETrackedDeviceProperty =
    2072;
pub const ETrackedDeviceProperty_Prop_CameraDistortionCoefficients_Float_Array:
    ETrackedDeviceProperty = 2073;
pub const ETrackedDeviceProperty_Prop_ExpectedControllerType_String: ETrackedDeviceProperty = 2074;
pub const ETrackedDeviceProperty_Prop_DisplayAvailableFrameRates_Float_Array:
    ETrackedDeviceProperty = 2080;
pub const ETrackedDeviceProperty_Prop_DisplaySupportsMultipleFramerates_Bool:
    ETrackedDeviceProperty = 2081;
pub const ETrackedDeviceProperty_Prop_DashboardLayoutPathName_String: ETrackedDeviceProperty = 2090;
pub const ETrackedDeviceProperty_Prop_DriverRequestedMuraCorrectionMode_Int32:
    ETrackedDeviceProperty = 2200;
pub const ETrackedDeviceProperty_Prop_DriverRequestedMuraFeather_InnerLeft_Int32:
    ETrackedDeviceProperty = 2201;
pub const ETrackedDeviceProperty_Prop_DriverRequestedMuraFeather_InnerRight_Int32:
    ETrackedDeviceProperty = 2202;
pub const ETrackedDeviceProperty_Prop_DriverRequestedMuraFeather_InnerTop_Int32:
    ETrackedDeviceProperty = 2203;
pub const ETrackedDeviceProperty_Prop_DriverRequestedMuraFeather_InnerBottom_Int32:
    ETrackedDeviceProperty = 2204;
pub const ETrackedDeviceProperty_Prop_DriverRequestedMuraFeather_OuterLeft_Int32:
    ETrackedDeviceProperty = 2205;
pub const ETrackedDeviceProperty_Prop_DriverRequestedMuraFeather_OuterRight_Int32:
    ETrackedDeviceProperty = 2206;
pub const ETrackedDeviceProperty_Prop_DriverRequestedMuraFeather_OuterTop_Int32:
    ETrackedDeviceProperty = 2207;
pub const ETrackedDeviceProperty_Prop_DriverRequestedMuraFeather_OuterBottom_Int32:
    ETrackedDeviceProperty = 2208;
pub const ETrackedDeviceProperty_Prop_AttachedDeviceId_String: ETrackedDeviceProperty = 3000;
pub const ETrackedDeviceProperty_Prop_SupportedButtons_Uint64: ETrackedDeviceProperty = 3001;
pub const ETrackedDeviceProperty_Prop_Axis0Type_Int32: ETrackedDeviceProperty = 3002;
pub const ETrackedDeviceProperty_Prop_Axis1Type_Int32: ETrackedDeviceProperty = 3003;
pub const ETrackedDeviceProperty_Prop_Axis2Type_Int32: ETrackedDeviceProperty = 3004;
pub const ETrackedDeviceProperty_Prop_Axis3Type_Int32: ETrackedDeviceProperty = 3005;
pub const ETrackedDeviceProperty_Prop_Axis4Type_Int32: ETrackedDeviceProperty = 3006;
pub const ETrackedDeviceProperty_Prop_ControllerRoleHint_Int32: ETrackedDeviceProperty = 3007;
pub const ETrackedDeviceProperty_Prop_FieldOfViewLeftDegrees_Float: ETrackedDeviceProperty = 4000;
pub const ETrackedDeviceProperty_Prop_FieldOfViewRightDegrees_Float: ETrackedDeviceProperty = 4001;
pub const ETrackedDeviceProperty_Prop_FieldOfViewTopDegrees_Float: ETrackedDeviceProperty = 4002;
pub const ETrackedDeviceProperty_Prop_FieldOfViewBottomDegrees_Float: ETrackedDeviceProperty = 4003;
pub const ETrackedDeviceProperty_Prop_TrackingRangeMinimumMeters_Float: ETrackedDeviceProperty =
    4004;
pub const ETrackedDeviceProperty_Prop_TrackingRangeMaximumMeters_Float: ETrackedDeviceProperty =
    4005;
pub const ETrackedDeviceProperty_Prop_ModeLabel_String: ETrackedDeviceProperty = 4006;
pub const ETrackedDeviceProperty_Prop_CanWirelessIdentify_Bool: ETrackedDeviceProperty = 4007;
pub const ETrackedDeviceProperty_Prop_Nonce_Int32: ETrackedDeviceProperty = 4008;
pub const ETrackedDeviceProperty_Prop_IconPathName_String: ETrackedDeviceProperty = 5000;
pub const ETrackedDeviceProperty_Prop_NamedIconPathDeviceOff_String: ETrackedDeviceProperty = 5001;
pub const ETrackedDeviceProperty_Prop_NamedIconPathDeviceSearching_String: ETrackedDeviceProperty =
    5002;
pub const ETrackedDeviceProperty_Prop_NamedIconPathDeviceSearchingAlert_String:
    ETrackedDeviceProperty = 5003;
pub const ETrackedDeviceProperty_Prop_NamedIconPathDeviceReady_String: ETrackedDeviceProperty =
    5004;
pub const ETrackedDeviceProperty_Prop_NamedIconPathDeviceReadyAlert_String: ETrackedDeviceProperty =
    5005;
pub const ETrackedDeviceProperty_Prop_NamedIconPathDeviceNotReady_String: ETrackedDeviceProperty =
    5006;
pub const ETrackedDeviceProperty_Prop_NamedIconPathDeviceStandby_String: ETrackedDeviceProperty =
    5007;
pub const ETrackedDeviceProperty_Prop_NamedIconPathDeviceAlertLow_String: ETrackedDeviceProperty =
    5008;
pub const ETrackedDeviceProperty_Prop_DisplayHiddenArea_Binary_Start: ETrackedDeviceProperty = 5100;
pub const ETrackedDeviceProperty_Prop_DisplayHiddenArea_Binary_End: ETrackedDeviceProperty = 5150;
pub const ETrackedDeviceProperty_Prop_ParentContainer: ETrackedDeviceProperty = 5151;
pub const ETrackedDeviceProperty_Prop_UserConfigPath_String: ETrackedDeviceProperty = 6000;
pub const ETrackedDeviceProperty_Prop_InstallPath_String: ETrackedDeviceProperty = 6001;
pub const ETrackedDeviceProperty_Prop_HasDisplayComponent_Bool: ETrackedDeviceProperty = 6002;
pub const ETrackedDeviceProperty_Prop_HasControllerComponent_Bool: ETrackedDeviceProperty = 6003;
pub const ETrackedDeviceProperty_Prop_HasCameraComponent_Bool: ETrackedDeviceProperty = 6004;
pub const ETrackedDeviceProperty_Prop_HasDriverDirectModeComponent_Bool: ETrackedDeviceProperty =
    6005;
pub const ETrackedDeviceProperty_Prop_HasVirtualDisplayComponent_Bool: ETrackedDeviceProperty =
    6006;
pub const ETrackedDeviceProperty_Prop_HasSpatialAnchorsSupport_Bool: ETrackedDeviceProperty = 6007;
pub const ETrackedDeviceProperty_Prop_ControllerType_String: ETrackedDeviceProperty = 7000;
pub const ETrackedDeviceProperty_Prop_ControllerHandSelectionPriority_Int32:
    ETrackedDeviceProperty = 7002;
pub const ETrackedDeviceProperty_Prop_VendorSpecific_Reserved_Start: ETrackedDeviceProperty = 10000;
pub const ETrackedDeviceProperty_Prop_VendorSpecific_Reserved_End: ETrackedDeviceProperty = 10999;
pub const ETrackedDeviceProperty_Prop_TrackedDeviceProperty_Max: ETrackedDeviceProperty = 1000000;
pub type ETrackedDeviceProperty = u32;
pub const ETrackedPropertyError_TrackedProp_Success: ETrackedPropertyError = 0;
pub const ETrackedPropertyError_TrackedProp_WrongDataType: ETrackedPropertyError = 1;
pub const ETrackedPropertyError_TrackedProp_WrongDeviceClass: ETrackedPropertyError = 2;
pub const ETrackedPropertyError_TrackedProp_BufferTooSmall: ETrackedPropertyError = 3;
pub const ETrackedPropertyError_TrackedProp_UnknownProperty: ETrackedPropertyError = 4;
pub const ETrackedPropertyError_TrackedProp_InvalidDevice: ETrackedPropertyError = 5;
pub const ETrackedPropertyError_TrackedProp_CouldNotContactServer: ETrackedPropertyError = 6;
pub const ETrackedPropertyError_TrackedProp_ValueNotProvidedByDevice: ETrackedPropertyError = 7;
pub const ETrackedPropertyError_TrackedProp_StringExceedsMaximumLength: ETrackedPropertyError = 8;
pub const ETrackedPropertyError_TrackedProp_NotYetAvailable: ETrackedPropertyError = 9;
pub const ETrackedPropertyError_TrackedProp_PermissionDenied: ETrackedPropertyError = 10;
pub const ETrackedPropertyError_TrackedProp_InvalidOperation: ETrackedPropertyError = 11;
pub const ETrackedPropertyError_TrackedProp_CannotWriteToWildcards: ETrackedPropertyError = 12;
pub const ETrackedPropertyError_TrackedProp_IPCReadFailure: ETrackedPropertyError = 13;
pub type ETrackedPropertyError = u32;
pub const EVRSubmitFlags_Submit_Default: EVRSubmitFlags = 0;
pub const EVRSubmitFlags_Submit_LensDistortionAlreadyApplied: EVRSubmitFlags = 1;
pub const EVRSubmitFlags_Submit_GlRenderBuffer: EVRSubmitFlags = 2;
pub const EVRSubmitFlags_Submit_Reserved: EVRSubmitFlags = 4;
pub const EVRSubmitFlags_Submit_TextureWithPose: EVRSubmitFlags = 8;
pub const EVRSubmitFlags_Submit_TextureWithDepth: EVRSubmitFlags = 16;
pub type EVRSubmitFlags = u32;
pub const EVRState_VRState_Undefined: EVRState = -1;
pub const EVRState_VRState_Off: EVRState = 0;
pub const EVRState_VRState_Searching: EVRState = 1;
pub const EVRState_VRState_Searching_Alert: EVRState = 2;
pub const EVRState_VRState_Ready: EVRState = 3;
pub const EVRState_VRState_Ready_Alert: EVRState = 4;
pub const EVRState_VRState_NotReady: EVRState = 5;
pub const EVRState_VRState_Standby: EVRState = 6;
pub const EVRState_VRState_Ready_Alert_Low: EVRState = 7;
pub type EVRState = i32;
pub const EVREventType_VREvent_None: EVREventType = 0;
pub const EVREventType_VREvent_TrackedDeviceActivated: EVREventType = 100;
pub const EVREventType_VREvent_TrackedDeviceDeactivated: EVREventType = 101;
pub const EVREventType_VREvent_TrackedDeviceUpdated: EVREventType = 102;
pub const EVREventType_VREvent_TrackedDeviceUserInteractionStarted: EVREventType = 103;
pub const EVREventType_VREvent_TrackedDeviceUserInteractionEnded: EVREventType = 104;
pub const EVREventType_VREvent_IpdChanged: EVREventType = 105;
pub const EVREventType_VREvent_EnterStandbyMode: EVREventType = 106;
pub const EVREventType_VREvent_LeaveStandbyMode: EVREventType = 107;
pub const EVREventType_VREvent_TrackedDeviceRoleChanged: EVREventType = 108;
pub const EVREventType_VREvent_WatchdogWakeUpRequested: EVREventType = 109;
pub const EVREventType_VREvent_LensDistortionChanged: EVREventType = 110;
pub const EVREventType_VREvent_PropertyChanged: EVREventType = 111;
pub const EVREventType_VREvent_WirelessDisconnect: EVREventType = 112;
pub const EVREventType_VREvent_WirelessReconnect: EVREventType = 113;
pub const EVREventType_VREvent_ButtonPress: EVREventType = 200;
pub const EVREventType_VREvent_ButtonUnpress: EVREventType = 201;
pub const EVREventType_VREvent_ButtonTouch: EVREventType = 202;
pub const EVREventType_VREvent_ButtonUntouch: EVREventType = 203;
pub const EVREventType_VREvent_DualAnalog_Press: EVREventType = 250;
pub const EVREventType_VREvent_DualAnalog_Unpress: EVREventType = 251;
pub const EVREventType_VREvent_DualAnalog_Touch: EVREventType = 252;
pub const EVREventType_VREvent_DualAnalog_Untouch: EVREventType = 253;
pub const EVREventType_VREvent_DualAnalog_Move: EVREventType = 254;
pub const EVREventType_VREvent_DualAnalog_ModeSwitch1: EVREventType = 255;
pub const EVREventType_VREvent_DualAnalog_ModeSwitch2: EVREventType = 256;
pub const EVREventType_VREvent_DualAnalog_Cancel: EVREventType = 257;
pub const EVREventType_VREvent_MouseMove: EVREventType = 300;
pub const EVREventType_VREvent_MouseButtonDown: EVREventType = 301;
pub const EVREventType_VREvent_MouseButtonUp: EVREventType = 302;
pub const EVREventType_VREvent_FocusEnter: EVREventType = 303;
pub const EVREventType_VREvent_FocusLeave: EVREventType = 304;
pub const EVREventType_VREvent_ScrollDiscrete: EVREventType = 305;
pub const EVREventType_VREvent_TouchPadMove: EVREventType = 306;
pub const EVREventType_VREvent_OverlayFocusChanged: EVREventType = 307;
pub const EVREventType_VREvent_ReloadOverlays: EVREventType = 308;
pub const EVREventType_VREvent_ScrollSmooth: EVREventType = 309;
pub const EVREventType_VREvent_InputFocusCaptured: EVREventType = 400;
pub const EVREventType_VREvent_InputFocusReleased: EVREventType = 401;
pub const EVREventType_VREvent_SceneFocusLost: EVREventType = 402;
pub const EVREventType_VREvent_SceneFocusGained: EVREventType = 403;
pub const EVREventType_VREvent_SceneApplicationChanged: EVREventType = 404;
pub const EVREventType_VREvent_SceneFocusChanged: EVREventType = 405;
pub const EVREventType_VREvent_InputFocusChanged: EVREventType = 406;
pub const EVREventType_VREvent_SceneApplicationSecondaryRenderingStarted: EVREventType = 407;
pub const EVREventType_VREvent_SceneApplicationUsingWrongGraphicsAdapter: EVREventType = 408;
pub const EVREventType_VREvent_ActionBindingReloaded: EVREventType = 409;
pub const EVREventType_VREvent_HideRenderModels: EVREventType = 410;
pub const EVREventType_VREvent_ShowRenderModels: EVREventType = 411;
pub const EVREventType_VREvent_ConsoleOpened: EVREventType = 420;
pub const EVREventType_VREvent_ConsoleClosed: EVREventType = 421;
pub const EVREventType_VREvent_OverlayShown: EVREventType = 500;
pub const EVREventType_VREvent_OverlayHidden: EVREventType = 501;
pub const EVREventType_VREvent_DashboardActivated: EVREventType = 502;
pub const EVREventType_VREvent_DashboardDeactivated: EVREventType = 503;
pub const EVREventType_VREvent_DashboardRequested: EVREventType = 505;
pub const EVREventType_VREvent_ResetDashboard: EVREventType = 506;
pub const EVREventType_VREvent_RenderToast: EVREventType = 507;
pub const EVREventType_VREvent_ImageLoaded: EVREventType = 508;
pub const EVREventType_VREvent_ShowKeyboard: EVREventType = 509;
pub const EVREventType_VREvent_HideKeyboard: EVREventType = 510;
pub const EVREventType_VREvent_OverlayGamepadFocusGained: EVREventType = 511;
pub const EVREventType_VREvent_OverlayGamepadFocusLost: EVREventType = 512;
pub const EVREventType_VREvent_OverlaySharedTextureChanged: EVREventType = 513;
pub const EVREventType_VREvent_ScreenshotTriggered: EVREventType = 516;
pub const EVREventType_VREvent_ImageFailed: EVREventType = 517;
pub const EVREventType_VREvent_DashboardOverlayCreated: EVREventType = 518;
pub const EVREventType_VREvent_SwitchGamepadFocus: EVREventType = 519;
pub const EVREventType_VREvent_RequestScreenshot: EVREventType = 520;
pub const EVREventType_VREvent_ScreenshotTaken: EVREventType = 521;
pub const EVREventType_VREvent_ScreenshotFailed: EVREventType = 522;
pub const EVREventType_VREvent_SubmitScreenshotToDashboard: EVREventType = 523;
pub const EVREventType_VREvent_ScreenshotProgressToDashboard: EVREventType = 524;
pub const EVREventType_VREvent_PrimaryDashboardDeviceChanged: EVREventType = 525;
pub const EVREventType_VREvent_RoomViewShown: EVREventType = 526;
pub const EVREventType_VREvent_RoomViewHidden: EVREventType = 527;
pub const EVREventType_VREvent_ShowUI: EVREventType = 528;
pub const EVREventType_VREvent_ShowDevTools: EVREventType = 529;
pub const EVREventType_VREvent_Notification_Shown: EVREventType = 600;
pub const EVREventType_VREvent_Notification_Hidden: EVREventType = 601;
pub const EVREventType_VREvent_Notification_BeginInteraction: EVREventType = 602;
pub const EVREventType_VREvent_Notification_Destroyed: EVREventType = 603;
pub const EVREventType_VREvent_Quit: EVREventType = 700;
pub const EVREventType_VREvent_ProcessQuit: EVREventType = 701;
pub const EVREventType_VREvent_QuitAborted_UserPrompt: EVREventType = 702;
pub const EVREventType_VREvent_QuitAcknowledged: EVREventType = 703;
pub const EVREventType_VREvent_DriverRequestedQuit: EVREventType = 704;
pub const EVREventType_VREvent_RestartRequested: EVREventType = 705;
pub const EVREventType_VREvent_ChaperoneDataHasChanged: EVREventType = 800;
pub const EVREventType_VREvent_ChaperoneUniverseHasChanged: EVREventType = 801;
pub const EVREventType_VREvent_ChaperoneTempDataHasChanged: EVREventType = 802;
pub const EVREventType_VREvent_ChaperoneSettingsHaveChanged: EVREventType = 803;
pub const EVREventType_VREvent_SeatedZeroPoseReset: EVREventType = 804;
pub const EVREventType_VREvent_ChaperoneFlushCache: EVREventType = 805;
pub const EVREventType_VREvent_ChaperoneRoomSetupStarting: EVREventType = 806;
pub const EVREventType_VREvent_ChaperoneRoomSetupFinished: EVREventType = 807;
pub const EVREventType_VREvent_AudioSettingsHaveChanged: EVREventType = 820;
pub const EVREventType_VREvent_BackgroundSettingHasChanged: EVREventType = 850;
pub const EVREventType_VREvent_CameraSettingsHaveChanged: EVREventType = 851;
pub const EVREventType_VREvent_ReprojectionSettingHasChanged: EVREventType = 852;
pub const EVREventType_VREvent_ModelSkinSettingsHaveChanged: EVREventType = 853;
pub const EVREventType_VREvent_EnvironmentSettingsHaveChanged: EVREventType = 854;
pub const EVREventType_VREvent_PowerSettingsHaveChanged: EVREventType = 855;
pub const EVREventType_VREvent_EnableHomeAppSettingsHaveChanged: EVREventType = 856;
pub const EVREventType_VREvent_SteamVRSectionSettingChanged: EVREventType = 857;
pub const EVREventType_VREvent_LighthouseSectionSettingChanged: EVREventType = 858;
pub const EVREventType_VREvent_NullSectionSettingChanged: EVREventType = 859;
pub const EVREventType_VREvent_UserInterfaceSectionSettingChanged: EVREventType = 860;
pub const EVREventType_VREvent_NotificationsSectionSettingChanged: EVREventType = 861;
pub const EVREventType_VREvent_KeyboardSectionSettingChanged: EVREventType = 862;
pub const EVREventType_VREvent_PerfSectionSettingChanged: EVREventType = 863;
pub const EVREventType_VREvent_DashboardSectionSettingChanged: EVREventType = 864;
pub const EVREventType_VREvent_WebInterfaceSectionSettingChanged: EVREventType = 865;
pub const EVREventType_VREvent_TrackersSectionSettingChanged: EVREventType = 866;
pub const EVREventType_VREvent_LastKnownSectionSettingChanged: EVREventType = 867;
pub const EVREventType_VREvent_DismissedWarningsSectionSettingChanged: EVREventType = 868;
pub const EVREventType_VREvent_StatusUpdate: EVREventType = 900;
pub const EVREventType_VREvent_WebInterface_InstallDriverCompleted: EVREventType = 950;
pub const EVREventType_VREvent_MCImageUpdated: EVREventType = 1000;
pub const EVREventType_VREvent_FirmwareUpdateStarted: EVREventType = 1100;
pub const EVREventType_VREvent_FirmwareUpdateFinished: EVREventType = 1101;
pub const EVREventType_VREvent_KeyboardClosed: EVREventType = 1200;
pub const EVREventType_VREvent_KeyboardCharInput: EVREventType = 1201;
pub const EVREventType_VREvent_KeyboardDone: EVREventType = 1202;
pub const EVREventType_VREvent_ApplicationTransitionStarted: EVREventType = 1300;
pub const EVREventType_VREvent_ApplicationTransitionAborted: EVREventType = 1301;
pub const EVREventType_VREvent_ApplicationTransitionNewAppStarted: EVREventType = 1302;
pub const EVREventType_VREvent_ApplicationListUpdated: EVREventType = 1303;
pub const EVREventType_VREvent_ApplicationMimeTypeLoad: EVREventType = 1304;
pub const EVREventType_VREvent_ApplicationTransitionNewAppLaunchComplete: EVREventType = 1305;
pub const EVREventType_VREvent_ProcessConnected: EVREventType = 1306;
pub const EVREventType_VREvent_ProcessDisconnected: EVREventType = 1307;
pub const EVREventType_VREvent_Compositor_MirrorWindowShown: EVREventType = 1400;
pub const EVREventType_VREvent_Compositor_MirrorWindowHidden: EVREventType = 1401;
pub const EVREventType_VREvent_Compositor_ChaperoneBoundsShown: EVREventType = 1410;
pub const EVREventType_VREvent_Compositor_ChaperoneBoundsHidden: EVREventType = 1411;
pub const EVREventType_VREvent_Compositor_DisplayDisconnected: EVREventType = 1412;
pub const EVREventType_VREvent_Compositor_DisplayReconnected: EVREventType = 1413;
pub const EVREventType_VREvent_Compositor_HDCPError: EVREventType = 1414;
pub const EVREventType_VREvent_Compositor_ApplicationNotResponding: EVREventType = 1415;
pub const EVREventType_VREvent_Compositor_ApplicationResumed: EVREventType = 1416;
pub const EVREventType_VREvent_Compositor_OutOfVideoMemory: EVREventType = 1417;
pub const EVREventType_VREvent_TrackedCamera_StartVideoStream: EVREventType = 1500;
pub const EVREventType_VREvent_TrackedCamera_StopVideoStream: EVREventType = 1501;
pub const EVREventType_VREvent_TrackedCamera_PauseVideoStream: EVREventType = 1502;
pub const EVREventType_VREvent_TrackedCamera_ResumeVideoStream: EVREventType = 1503;
pub const EVREventType_VREvent_TrackedCamera_EditingSurface: EVREventType = 1550;
pub const EVREventType_VREvent_PerformanceTest_EnableCapture: EVREventType = 1600;
pub const EVREventType_VREvent_PerformanceTest_DisableCapture: EVREventType = 1601;
pub const EVREventType_VREvent_PerformanceTest_FidelityLevel: EVREventType = 1602;
pub const EVREventType_VREvent_MessageOverlay_Closed: EVREventType = 1650;
pub const EVREventType_VREvent_MessageOverlayCloseRequested: EVREventType = 1651;
pub const EVREventType_VREvent_Input_HapticVibration: EVREventType = 1700;
pub const EVREventType_VREvent_Input_BindingLoadFailed: EVREventType = 1701;
pub const EVREventType_VREvent_Input_BindingLoadSuccessful: EVREventType = 1702;
pub const EVREventType_VREvent_Input_ActionManifestReloaded: EVREventType = 1703;
pub const EVREventType_VREvent_Input_ActionManifestLoadFailed: EVREventType = 1704;
pub const EVREventType_VREvent_Input_ProgressUpdate: EVREventType = 1705;
pub const EVREventType_VREvent_Input_TrackerActivated: EVREventType = 1706;
pub const EVREventType_VREvent_Input_BindingsUpdated: EVREventType = 1707;
pub const EVREventType_VREvent_SpatialAnchors_PoseUpdated: EVREventType = 1800;
pub const EVREventType_VREvent_SpatialAnchors_DescriptorUpdated: EVREventType = 1801;
pub const EVREventType_VREvent_SpatialAnchors_RequestPoseUpdate: EVREventType = 1802;
pub const EVREventType_VREvent_SpatialAnchors_RequestDescriptorUpdate: EVREventType = 1803;
pub const EVREventType_VREvent_SystemReport_Started: EVREventType = 1900;
pub const EVREventType_VREvent_VendorSpecific_Reserved_Start: EVREventType = 10000;
pub const EVREventType_VREvent_VendorSpecific_Reserved_End: EVREventType = 19999;
pub type EVREventType = u32;
pub const EDeviceActivityLevel_k_EDeviceActivityLevel_Unknown: EDeviceActivityLevel = -1;
pub const EDeviceActivityLevel_k_EDeviceActivityLevel_Idle: EDeviceActivityLevel = 0;
pub const EDeviceActivityLevel_k_EDeviceActivityLevel_UserInteraction: EDeviceActivityLevel = 1;
pub const EDeviceActivityLevel_k_EDeviceActivityLevel_UserInteraction_Timeout:
    EDeviceActivityLevel = 2;
pub const EDeviceActivityLevel_k_EDeviceActivityLevel_Standby: EDeviceActivityLevel = 3;
pub type EDeviceActivityLevel = i32;
pub const EVRButtonId_k_EButton_System: EVRButtonId = 0;
pub const EVRButtonId_k_EButton_ApplicationMenu: EVRButtonId = 1;
pub const EVRButtonId_k_EButton_Grip: EVRButtonId = 2;
pub const EVRButtonId_k_EButton_DPad_Left: EVRButtonId = 3;
pub const EVRButtonId_k_EButton_DPad_Up: EVRButtonId = 4;
pub const EVRButtonId_k_EButton_DPad_Right: EVRButtonId = 5;
pub const EVRButtonId_k_EButton_DPad_Down: EVRButtonId = 6;
pub const EVRButtonId_k_EButton_A: EVRButtonId = 7;
pub const EVRButtonId_k_EButton_ProximitySensor: EVRButtonId = 31;
pub const EVRButtonId_k_EButton_Axis0: EVRButtonId = 32;
pub const EVRButtonId_k_EButton_Axis1: EVRButtonId = 33;
pub const EVRButtonId_k_EButton_Axis2: EVRButtonId = 34;
pub const EVRButtonId_k_EButton_Axis3: EVRButtonId = 35;
pub const EVRButtonId_k_EButton_Axis4: EVRButtonId = 36;
pub const EVRButtonId_k_EButton_SteamVR_Touchpad: EVRButtonId = 32;
pub const EVRButtonId_k_EButton_SteamVR_Trigger: EVRButtonId = 33;
pub const EVRButtonId_k_EButton_Dashboard_Back: EVRButtonId = 2;
pub const EVRButtonId_k_EButton_IndexController_A: EVRButtonId = 2;
pub const EVRButtonId_k_EButton_IndexController_B: EVRButtonId = 1;
pub const EVRButtonId_k_EButton_IndexController_JoyStick: EVRButtonId = 35;
pub const EVRButtonId_k_EButton_Max: EVRButtonId = 64;
pub type EVRButtonId = u32;
pub const EVRMouseButton_VRMouseButton_Left: EVRMouseButton = 1;
pub const EVRMouseButton_VRMouseButton_Right: EVRMouseButton = 2;
pub const EVRMouseButton_VRMouseButton_Middle: EVRMouseButton = 4;
pub type EVRMouseButton = u32;
pub const EDualAnalogWhich_k_EDualAnalog_Left: EDualAnalogWhich = 0;
pub const EDualAnalogWhich_k_EDualAnalog_Right: EDualAnalogWhich = 1;
pub type EDualAnalogWhich = u32;
pub const EShowUIType_ShowUI_ControllerBinding: EShowUIType = 0;
pub const EShowUIType_ShowUI_ManageTrackers: EShowUIType = 1;
pub const EShowUIType_ShowUI_Pairing: EShowUIType = 3;
pub const EShowUIType_ShowUI_Settings: EShowUIType = 4;
pub type EShowUIType = u32;
pub const EHDCPError_HDCPError_None: EHDCPError = 0;
pub const EHDCPError_HDCPError_LinkLost: EHDCPError = 1;
pub const EHDCPError_HDCPError_Tampered: EHDCPError = 2;
pub const EHDCPError_HDCPError_DeviceRevoked: EHDCPError = 3;
pub const EHDCPError_HDCPError_Unknown: EHDCPError = 4;
pub type EHDCPError = u32;
pub const EVRInputError_VRInputError_None: EVRInputError = 0;
pub const EVRInputError_VRInputError_NameNotFound: EVRInputError = 1;
pub const EVRInputError_VRInputError_WrongType: EVRInputError = 2;
pub const EVRInputError_VRInputError_InvalidHandle: EVRInputError = 3;
pub const EVRInputError_VRInputError_InvalidParam: EVRInputError = 4;
pub const EVRInputError_VRInputError_NoSteam: EVRInputError = 5;
pub const EVRInputError_VRInputError_MaxCapacityReached: EVRInputError = 6;
pub const EVRInputError_VRInputError_IPCError: EVRInputError = 7;
pub const EVRInputError_VRInputError_NoActiveActionSet: EVRInputError = 8;
pub const EVRInputError_VRInputError_InvalidDevice: EVRInputError = 9;
pub const EVRInputError_VRInputError_InvalidSkeleton: EVRInputError = 10;
pub const EVRInputError_VRInputError_InvalidBoneCount: EVRInputError = 11;
pub const EVRInputError_VRInputError_InvalidCompressedData: EVRInputError = 12;
pub const EVRInputError_VRInputError_NoData: EVRInputError = 13;
pub const EVRInputError_VRInputError_BufferTooSmall: EVRInputError = 14;
pub const EVRInputError_VRInputError_MismatchedActionManifest: EVRInputError = 15;
pub const EVRInputError_VRInputError_MissingSkeletonData: EVRInputError = 16;
pub const EVRInputError_VRInputError_InvalidBoneIndex: EVRInputError = 17;
pub type EVRInputError = u32;
pub const EVRSpatialAnchorError_VRSpatialAnchorError_Success: EVRSpatialAnchorError = 0;
pub const EVRSpatialAnchorError_VRSpatialAnchorError_Internal: EVRSpatialAnchorError = 1;
pub const EVRSpatialAnchorError_VRSpatialAnchorError_UnknownHandle: EVRSpatialAnchorError = 2;
pub const EVRSpatialAnchorError_VRSpatialAnchorError_ArrayTooSmall: EVRSpatialAnchorError = 3;
pub const EVRSpatialAnchorError_VRSpatialAnchorError_InvalidDescriptorChar: EVRSpatialAnchorError =
    4;
pub const EVRSpatialAnchorError_VRSpatialAnchorError_NotYetAvailable: EVRSpatialAnchorError = 5;
pub const EVRSpatialAnchorError_VRSpatialAnchorError_NotAvailableInThisUniverse:
    EVRSpatialAnchorError = 6;
pub const EVRSpatialAnchorError_VRSpatialAnchorError_PermanentlyUnavailable: EVRSpatialAnchorError =
    7;
pub const EVRSpatialAnchorError_VRSpatialAnchorError_WrongDriver: EVRSpatialAnchorError = 8;
pub const EVRSpatialAnchorError_VRSpatialAnchorError_DescriptorTooLong: EVRSpatialAnchorError = 9;
pub const EVRSpatialAnchorError_VRSpatialAnchorError_Unknown: EVRSpatialAnchorError = 10;
pub const EVRSpatialAnchorError_VRSpatialAnchorError_NoRoomCalibration: EVRSpatialAnchorError = 11;
pub const EVRSpatialAnchorError_VRSpatialAnchorError_InvalidArgument: EVRSpatialAnchorError = 12;
pub const EVRSpatialAnchorError_VRSpatialAnchorError_UnknownDriver: EVRSpatialAnchorError = 13;
pub type EVRSpatialAnchorError = u32;
pub const EHiddenAreaMeshType_k_eHiddenAreaMesh_Standard: EHiddenAreaMeshType = 0;
pub const EHiddenAreaMeshType_k_eHiddenAreaMesh_Inverse: EHiddenAreaMeshType = 1;
pub const EHiddenAreaMeshType_k_eHiddenAreaMesh_LineLoop: EHiddenAreaMeshType = 2;
pub const EHiddenAreaMeshType_k_eHiddenAreaMesh_Max: EHiddenAreaMeshType = 3;
pub type EHiddenAreaMeshType = u32;
pub const EVRControllerAxisType_k_eControllerAxis_None: EVRControllerAxisType = 0;
pub const EVRControllerAxisType_k_eControllerAxis_TrackPad: EVRControllerAxisType = 1;
pub const EVRControllerAxisType_k_eControllerAxis_Joystick: EVRControllerAxisType = 2;
pub const EVRControllerAxisType_k_eControllerAxis_Trigger: EVRControllerAxisType = 3;
pub type EVRControllerAxisType = u32;
pub const EVRControllerEventOutputType_ControllerEventOutput_OSEvents:
    EVRControllerEventOutputType = 0;
pub const EVRControllerEventOutputType_ControllerEventOutput_VREvents:
    EVRControllerEventOutputType = 1;
pub type EVRControllerEventOutputType = u32;
pub const ECollisionBoundsStyle_COLLISION_BOUNDS_STYLE_BEGINNER: ECollisionBoundsStyle = 0;
pub const ECollisionBoundsStyle_COLLISION_BOUNDS_STYLE_INTERMEDIATE: ECollisionBoundsStyle = 1;
pub const ECollisionBoundsStyle_COLLISION_BOUNDS_STYLE_SQUARES: ECollisionBoundsStyle = 2;
pub const ECollisionBoundsStyle_COLLISION_BOUNDS_STYLE_ADVANCED: ECollisionBoundsStyle = 3;
pub const ECollisionBoundsStyle_COLLISION_BOUNDS_STYLE_NONE: ECollisionBoundsStyle = 4;
pub const ECollisionBoundsStyle_COLLISION_BOUNDS_STYLE_COUNT: ECollisionBoundsStyle = 5;
pub type ECollisionBoundsStyle = u32;
pub const EVROverlayError_VROverlayError_None: EVROverlayError = 0;
pub const EVROverlayError_VROverlayError_UnknownOverlay: EVROverlayError = 10;
pub const EVROverlayError_VROverlayError_InvalidHandle: EVROverlayError = 11;
pub const EVROverlayError_VROverlayError_PermissionDenied: EVROverlayError = 12;
pub const EVROverlayError_VROverlayError_OverlayLimitExceeded: EVROverlayError = 13;
pub const EVROverlayError_VROverlayError_WrongVisibilityType: EVROverlayError = 14;
pub const EVROverlayError_VROverlayError_KeyTooLong: EVROverlayError = 15;
pub const EVROverlayError_VROverlayError_NameTooLong: EVROverlayError = 16;
pub const EVROverlayError_VROverlayError_KeyInUse: EVROverlayError = 17;
pub const EVROverlayError_VROverlayError_WrongTransformType: EVROverlayError = 18;
pub const EVROverlayError_VROverlayError_InvalidTrackedDevice: EVROverlayError = 19;
pub const EVROverlayError_VROverlayError_InvalidParameter: EVROverlayError = 20;
pub const EVROverlayError_VROverlayError_ThumbnailCantBeDestroyed: EVROverlayError = 21;
pub const EVROverlayError_VROverlayError_ArrayTooSmall: EVROverlayError = 22;
pub const EVROverlayError_VROverlayError_RequestFailed: EVROverlayError = 23;
pub const EVROverlayError_VROverlayError_InvalidTexture: EVROverlayError = 24;
pub const EVROverlayError_VROverlayError_UnableToLoadFile: EVROverlayError = 25;
pub const EVROverlayError_VROverlayError_KeyboardAlreadyInUse: EVROverlayError = 26;
pub const EVROverlayError_VROverlayError_NoNeighbor: EVROverlayError = 27;
pub const EVROverlayError_VROverlayError_TooManyMaskPrimitives: EVROverlayError = 29;
pub const EVROverlayError_VROverlayError_BadMaskPrimitive: EVROverlayError = 30;
pub const EVROverlayError_VROverlayError_TextureAlreadyLocked: EVROverlayError = 31;
pub const EVROverlayError_VROverlayError_TextureLockCapacityReached: EVROverlayError = 32;
pub const EVROverlayError_VROverlayError_TextureNotLocked: EVROverlayError = 33;
pub type EVROverlayError = u32;
pub const EVRApplicationType_VRApplication_Other: EVRApplicationType = 0;
pub const EVRApplicationType_VRApplication_Scene: EVRApplicationType = 1;
pub const EVRApplicationType_VRApplication_Overlay: EVRApplicationType = 2;
pub const EVRApplicationType_VRApplication_Background: EVRApplicationType = 3;
pub const EVRApplicationType_VRApplication_Utility: EVRApplicationType = 4;
pub const EVRApplicationType_VRApplication_VRMonitor: EVRApplicationType = 5;
pub const EVRApplicationType_VRApplication_SteamWatchdog: EVRApplicationType = 6;
pub const EVRApplicationType_VRApplication_Bootstrapper: EVRApplicationType = 7;
pub const EVRApplicationType_VRApplication_WebHelper: EVRApplicationType = 8;
pub const EVRApplicationType_VRApplication_Max: EVRApplicationType = 9;
pub type EVRApplicationType = u32;
pub const EVRFirmwareError_VRFirmwareError_None: EVRFirmwareError = 0;
pub const EVRFirmwareError_VRFirmwareError_Success: EVRFirmwareError = 1;
pub const EVRFirmwareError_VRFirmwareError_Fail: EVRFirmwareError = 2;
pub type EVRFirmwareError = u32;
pub const EVRNotificationError_VRNotificationError_OK: EVRNotificationError = 0;
pub const EVRNotificationError_VRNotificationError_InvalidNotificationId: EVRNotificationError =
    100;
pub const EVRNotificationError_VRNotificationError_NotificationQueueFull: EVRNotificationError =
    101;
pub const EVRNotificationError_VRNotificationError_InvalidOverlayHandle: EVRNotificationError = 102;
pub const EVRNotificationError_VRNotificationError_SystemWithUserValueAlreadyExists:
    EVRNotificationError = 103;
pub type EVRNotificationError = u32;
pub const EVRSkeletalMotionRange_VRSkeletalMotionRange_WithController: EVRSkeletalMotionRange = 0;
pub const EVRSkeletalMotionRange_VRSkeletalMotionRange_WithoutController: EVRSkeletalMotionRange =
    1;
pub type EVRSkeletalMotionRange = u32;
pub const EVRSkeletalTrackingLevel_VRSkeletalTracking_Estimated: EVRSkeletalTrackingLevel = 0;
pub const EVRSkeletalTrackingLevel_VRSkeletalTracking_Partial: EVRSkeletalTrackingLevel = 1;
pub const EVRSkeletalTrackingLevel_VRSkeletalTracking_Full: EVRSkeletalTrackingLevel = 2;
pub const EVRSkeletalTrackingLevel_VRSkeletalTrackingLevel_Count: EVRSkeletalTrackingLevel = 3;
pub const EVRSkeletalTrackingLevel_VRSkeletalTrackingLevel_Max: EVRSkeletalTrackingLevel = 2;
pub type EVRSkeletalTrackingLevel = u32;
pub const EVRInitError_VRInitError_None: EVRInitError = 0;
pub const EVRInitError_VRInitError_Unknown: EVRInitError = 1;
pub const EVRInitError_VRInitError_Init_InstallationNotFound: EVRInitError = 100;
pub const EVRInitError_VRInitError_Init_InstallationCorrupt: EVRInitError = 101;
pub const EVRInitError_VRInitError_Init_VRClientDLLNotFound: EVRInitError = 102;
pub const EVRInitError_VRInitError_Init_FileNotFound: EVRInitError = 103;
pub const EVRInitError_VRInitError_Init_FactoryNotFound: EVRInitError = 104;
pub const EVRInitError_VRInitError_Init_InterfaceNotFound: EVRInitError = 105;
pub const EVRInitError_VRInitError_Init_InvalidInterface: EVRInitError = 106;
pub const EVRInitError_VRInitError_Init_UserConfigDirectoryInvalid: EVRInitError = 107;
pub const EVRInitError_VRInitError_Init_HmdNotFound: EVRInitError = 108;
pub const EVRInitError_VRInitError_Init_NotInitialized: EVRInitError = 109;
pub const EVRInitError_VRInitError_Init_PathRegistryNotFound: EVRInitError = 110;
pub const EVRInitError_VRInitError_Init_NoConfigPath: EVRInitError = 111;
pub const EVRInitError_VRInitError_Init_NoLogPath: EVRInitError = 112;
pub const EVRInitError_VRInitError_Init_PathRegistryNotWritable: EVRInitError = 113;
pub const EVRInitError_VRInitError_Init_AppInfoInitFailed: EVRInitError = 114;
pub const EVRInitError_VRInitError_Init_Retry: EVRInitError = 115;
pub const EVRInitError_VRInitError_Init_InitCanceledByUser: EVRInitError = 116;
pub const EVRInitError_VRInitError_Init_AnotherAppLaunching: EVRInitError = 117;
pub const EVRInitError_VRInitError_Init_SettingsInitFailed: EVRInitError = 118;
pub const EVRInitError_VRInitError_Init_ShuttingDown: EVRInitError = 119;
pub const EVRInitError_VRInitError_Init_TooManyObjects: EVRInitError = 120;
pub const EVRInitError_VRInitError_Init_NoServerForBackgroundApp: EVRInitError = 121;
pub const EVRInitError_VRInitError_Init_NotSupportedWithCompositor: EVRInitError = 122;
pub const EVRInitError_VRInitError_Init_NotAvailableToUtilityApps: EVRInitError = 123;
pub const EVRInitError_VRInitError_Init_Internal: EVRInitError = 124;
pub const EVRInitError_VRInitError_Init_HmdDriverIdIsNone: EVRInitError = 125;
pub const EVRInitError_VRInitError_Init_HmdNotFoundPresenceFailed: EVRInitError = 126;
pub const EVRInitError_VRInitError_Init_VRMonitorNotFound: EVRInitError = 127;
pub const EVRInitError_VRInitError_Init_VRMonitorStartupFailed: EVRInitError = 128;
pub const EVRInitError_VRInitError_Init_LowPowerWatchdogNotSupported: EVRInitError = 129;
pub const EVRInitError_VRInitError_Init_InvalidApplicationType: EVRInitError = 130;
pub const EVRInitError_VRInitError_Init_NotAvailableToWatchdogApps: EVRInitError = 131;
pub const EVRInitError_VRInitError_Init_WatchdogDisabledInSettings: EVRInitError = 132;
pub const EVRInitError_VRInitError_Init_VRDashboardNotFound: EVRInitError = 133;
pub const EVRInitError_VRInitError_Init_VRDashboardStartupFailed: EVRInitError = 134;
pub const EVRInitError_VRInitError_Init_VRHomeNotFound: EVRInitError = 135;
pub const EVRInitError_VRInitError_Init_VRHomeStartupFailed: EVRInitError = 136;
pub const EVRInitError_VRInitError_Init_RebootingBusy: EVRInitError = 137;
pub const EVRInitError_VRInitError_Init_FirmwareUpdateBusy: EVRInitError = 138;
pub const EVRInitError_VRInitError_Init_FirmwareRecoveryBusy: EVRInitError = 139;
pub const EVRInitError_VRInitError_Init_USBServiceBusy: EVRInitError = 140;
pub const EVRInitError_VRInitError_Init_VRWebHelperStartupFailed: EVRInitError = 141;
pub const EVRInitError_VRInitError_Init_TrackerManagerInitFailed: EVRInitError = 142;
pub const EVRInitError_VRInitError_Init_AlreadyRunning: EVRInitError = 143;
pub const EVRInitError_VRInitError_Init_FailedForVrMonitor: EVRInitError = 144;
pub const EVRInitError_VRInitError_Driver_Failed: EVRInitError = 200;
pub const EVRInitError_VRInitError_Driver_Unknown: EVRInitError = 201;
pub const EVRInitError_VRInitError_Driver_HmdUnknown: EVRInitError = 202;
pub const EVRInitError_VRInitError_Driver_NotLoaded: EVRInitError = 203;
pub const EVRInitError_VRInitError_Driver_RuntimeOutOfDate: EVRInitError = 204;
pub const EVRInitError_VRInitError_Driver_HmdInUse: EVRInitError = 205;
pub const EVRInitError_VRInitError_Driver_NotCalibrated: EVRInitError = 206;
pub const EVRInitError_VRInitError_Driver_CalibrationInvalid: EVRInitError = 207;
pub const EVRInitError_VRInitError_Driver_HmdDisplayNotFound: EVRInitError = 208;
pub const EVRInitError_VRInitError_Driver_TrackedDeviceInterfaceUnknown: EVRInitError = 209;
pub const EVRInitError_VRInitError_Driver_HmdDriverIdOutOfBounds: EVRInitError = 211;
pub const EVRInitError_VRInitError_Driver_HmdDisplayMirrored: EVRInitError = 212;
pub const EVRInitError_VRInitError_Driver_HmdDisplayNotFoundLaptop: EVRInitError = 213;
pub const EVRInitError_VRInitError_IPC_ServerInitFailed: EVRInitError = 300;
pub const EVRInitError_VRInitError_IPC_ConnectFailed: EVRInitError = 301;
pub const EVRInitError_VRInitError_IPC_SharedStateInitFailed: EVRInitError = 302;
pub const EVRInitError_VRInitError_IPC_CompositorInitFailed: EVRInitError = 303;
pub const EVRInitError_VRInitError_IPC_MutexInitFailed: EVRInitError = 304;
pub const EVRInitError_VRInitError_IPC_Failed: EVRInitError = 305;
pub const EVRInitError_VRInitError_IPC_CompositorConnectFailed: EVRInitError = 306;
pub const EVRInitError_VRInitError_IPC_CompositorInvalidConnectResponse: EVRInitError = 307;
pub const EVRInitError_VRInitError_IPC_ConnectFailedAfterMultipleAttempts: EVRInitError = 308;
pub const EVRInitError_VRInitError_Compositor_Failed: EVRInitError = 400;
pub const EVRInitError_VRInitError_Compositor_D3D11HardwareRequired: EVRInitError = 401;
pub const EVRInitError_VRInitError_Compositor_FirmwareRequiresUpdate: EVRInitError = 402;
pub const EVRInitError_VRInitError_Compositor_OverlayInitFailed: EVRInitError = 403;
pub const EVRInitError_VRInitError_Compositor_ScreenshotsInitFailed: EVRInitError = 404;
pub const EVRInitError_VRInitError_Compositor_UnableToCreateDevice: EVRInitError = 405;
pub const EVRInitError_VRInitError_Compositor_SharedStateIsNull: EVRInitError = 406;
pub const EVRInitError_VRInitError_Compositor_NotificationManagerIsNull: EVRInitError = 407;
pub const EVRInitError_VRInitError_Compositor_ResourceManagerClientIsNull: EVRInitError = 408;
pub const EVRInitError_VRInitError_Compositor_MessageOverlaySharedStateInitFailure: EVRInitError =
    409;
pub const EVRInitError_VRInitError_Compositor_PropertiesInterfaceIsNull: EVRInitError = 410;
pub const EVRInitError_VRInitError_Compositor_CreateFullscreenWindowFailed: EVRInitError = 411;
pub const EVRInitError_VRInitError_Compositor_SettingsInterfaceIsNull: EVRInitError = 412;
pub const EVRInitError_VRInitError_Compositor_FailedToShowWindow: EVRInitError = 413;
pub const EVRInitError_VRInitError_Compositor_DistortInterfaceIsNull: EVRInitError = 414;
pub const EVRInitError_VRInitError_Compositor_DisplayFrequencyFailure: EVRInitError = 415;
pub const EVRInitError_VRInitError_Compositor_RendererInitializationFailed: EVRInitError = 416;
pub const EVRInitError_VRInitError_Compositor_DXGIFactoryInterfaceIsNull: EVRInitError = 417;
pub const EVRInitError_VRInitError_Compositor_DXGIFactoryCreateFailed: EVRInitError = 418;
pub const EVRInitError_VRInitError_Compositor_DXGIFactoryQueryFailed: EVRInitError = 419;
pub const EVRInitError_VRInitError_Compositor_InvalidAdapterDesktop: EVRInitError = 420;
pub const EVRInitError_VRInitError_Compositor_InvalidHmdAttachment: EVRInitError = 421;
pub const EVRInitError_VRInitError_Compositor_InvalidOutputDesktop: EVRInitError = 422;
pub const EVRInitError_VRInitError_Compositor_InvalidDeviceProvided: EVRInitError = 423;
pub const EVRInitError_VRInitError_Compositor_D3D11RendererInitializationFailed: EVRInitError = 424;
pub const EVRInitError_VRInitError_Compositor_FailedToFindDisplayMode: EVRInitError = 425;
pub const EVRInitError_VRInitError_Compositor_FailedToCreateSwapChain: EVRInitError = 426;
pub const EVRInitError_VRInitError_Compositor_FailedToGetBackBuffer: EVRInitError = 427;
pub const EVRInitError_VRInitError_Compositor_FailedToCreateRenderTarget: EVRInitError = 428;
pub const EVRInitError_VRInitError_Compositor_FailedToCreateDXGI2SwapChain: EVRInitError = 429;
pub const EVRInitError_VRInitError_Compositor_FailedtoGetDXGI2BackBuffer: EVRInitError = 430;
pub const EVRInitError_VRInitError_Compositor_FailedToCreateDXGI2RenderTarget: EVRInitError = 431;
pub const EVRInitError_VRInitError_Compositor_FailedToGetDXGIDeviceInterface: EVRInitError = 432;
pub const EVRInitError_VRInitError_Compositor_SelectDisplayMode: EVRInitError = 433;
pub const EVRInitError_VRInitError_Compositor_FailedToCreateNvAPIRenderTargets: EVRInitError = 434;
pub const EVRInitError_VRInitError_Compositor_NvAPISetDisplayMode: EVRInitError = 435;
pub const EVRInitError_VRInitError_Compositor_FailedToCreateDirectModeDisplay: EVRInitError = 436;
pub const EVRInitError_VRInitError_Compositor_InvalidHmdPropertyContainer: EVRInitError = 437;
pub const EVRInitError_VRInitError_Compositor_UpdateDisplayFrequency: EVRInitError = 438;
pub const EVRInitError_VRInitError_Compositor_CreateRasterizerState: EVRInitError = 439;
pub const EVRInitError_VRInitError_Compositor_CreateWireframeRasterizerState: EVRInitError = 440;
pub const EVRInitError_VRInitError_Compositor_CreateSamplerState: EVRInitError = 441;
pub const EVRInitError_VRInitError_Compositor_CreateClampToBorderSamplerState: EVRInitError = 442;
pub const EVRInitError_VRInitError_Compositor_CreateAnisoSamplerState: EVRInitError = 443;
pub const EVRInitError_VRInitError_Compositor_CreateOverlaySamplerState: EVRInitError = 444;
pub const EVRInitError_VRInitError_Compositor_CreatePanoramaSamplerState: EVRInitError = 445;
pub const EVRInitError_VRInitError_Compositor_CreateFontSamplerState: EVRInitError = 446;
pub const EVRInitError_VRInitError_Compositor_CreateNoBlendState: EVRInitError = 447;
pub const EVRInitError_VRInitError_Compositor_CreateBlendState: EVRInitError = 448;
pub const EVRInitError_VRInitError_Compositor_CreateAlphaBlendState: EVRInitError = 449;
pub const EVRInitError_VRInitError_Compositor_CreateBlendStateMaskR: EVRInitError = 450;
pub const EVRInitError_VRInitError_Compositor_CreateBlendStateMaskG: EVRInitError = 451;
pub const EVRInitError_VRInitError_Compositor_CreateBlendStateMaskB: EVRInitError = 452;
pub const EVRInitError_VRInitError_Compositor_CreateDepthStencilState: EVRInitError = 453;
pub const EVRInitError_VRInitError_Compositor_CreateDepthStencilStateNoWrite: EVRInitError = 454;
pub const EVRInitError_VRInitError_Compositor_CreateDepthStencilStateNoDepth: EVRInitError = 455;
pub const EVRInitError_VRInitError_Compositor_CreateFlushTexture: EVRInitError = 456;
pub const EVRInitError_VRInitError_Compositor_CreateDistortionSurfaces: EVRInitError = 457;
pub const EVRInitError_VRInitError_Compositor_CreateConstantBuffer: EVRInitError = 458;
pub const EVRInitError_VRInitError_Compositor_CreateHmdPoseConstantBuffer: EVRInitError = 459;
pub const EVRInitError_VRInitError_Compositor_CreateHmdPoseStagingConstantBuffer: EVRInitError =
    460;
pub const EVRInitError_VRInitError_Compositor_CreateSharedFrameInfoConstantBuffer: EVRInitError =
    461;
pub const EVRInitError_VRInitError_Compositor_CreateOverlayConstantBuffer: EVRInitError = 462;
pub const EVRInitError_VRInitError_Compositor_CreateSceneTextureIndexConstantBuffer: EVRInitError =
    463;
pub const EVRInitError_VRInitError_Compositor_CreateReadableSceneTextureIndexConstantBuffer:
    EVRInitError = 464;
pub const EVRInitError_VRInitError_Compositor_CreateLayerGraphicsTextureIndexConstantBuffer:
    EVRInitError = 465;
pub const EVRInitError_VRInitError_Compositor_CreateLayerComputeTextureIndexConstantBuffer:
    EVRInitError = 466;
pub const EVRInitError_VRInitError_Compositor_CreateLayerComputeSceneTextureIndexConstantBuffer:
    EVRInitError = 467;
pub const EVRInitError_VRInitError_Compositor_CreateComputeHmdPoseConstantBuffer: EVRInitError =
    468;
pub const EVRInitError_VRInitError_Compositor_CreateGeomConstantBuffer: EVRInitError = 469;
pub const EVRInitError_VRInitError_Compositor_CreatePanelMaskConstantBuffer: EVRInitError = 470;
pub const EVRInitError_VRInitError_Compositor_CreatePixelSimUBO: EVRInitError = 471;
pub const EVRInitError_VRInitError_Compositor_CreateMSAARenderTextures: EVRInitError = 472;
pub const EVRInitError_VRInitError_Compositor_CreateResolveRenderTextures: EVRInitError = 473;
pub const EVRInitError_VRInitError_Compositor_CreateComputeResolveRenderTextures: EVRInitError =
    474;
pub const EVRInitError_VRInitError_Compositor_CreateDriverDirectModeResolveTextures: EVRInitError =
    475;
pub const EVRInitError_VRInitError_Compositor_OpenDriverDirectModeResolveTextures: EVRInitError =
    476;
pub const EVRInitError_VRInitError_Compositor_CreateFallbackSyncTexture: EVRInitError = 477;
pub const EVRInitError_VRInitError_Compositor_ShareFallbackSyncTexture: EVRInitError = 478;
pub const EVRInitError_VRInitError_Compositor_CreateOverlayIndexBuffer: EVRInitError = 479;
pub const EVRInitError_VRInitError_Compositor_CreateOverlayVertextBuffer: EVRInitError = 480;
pub const EVRInitError_VRInitError_Compositor_CreateTextVertexBuffer: EVRInitError = 481;
pub const EVRInitError_VRInitError_Compositor_CreateTextIndexBuffer: EVRInitError = 482;
pub const EVRInitError_VRInitError_Compositor_CreateMirrorTextures: EVRInitError = 483;
pub const EVRInitError_VRInitError_Compositor_CreateLastFrameRenderTexture: EVRInitError = 484;
pub const EVRInitError_VRInitError_VendorSpecific_UnableToConnectToOculusRuntime: EVRInitError =
    1000;
pub const EVRInitError_VRInitError_VendorSpecific_WindowsNotInDevMode: EVRInitError = 1001;
pub const EVRInitError_VRInitError_VendorSpecific_HmdFound_CantOpenDevice: EVRInitError = 1101;
pub const EVRInitError_VRInitError_VendorSpecific_HmdFound_UnableToRequestConfigStart:
    EVRInitError = 1102;
pub const EVRInitError_VRInitError_VendorSpecific_HmdFound_NoStoredConfig: EVRInitError = 1103;
pub const EVRInitError_VRInitError_VendorSpecific_HmdFound_ConfigTooBig: EVRInitError = 1104;
pub const EVRInitError_VRInitError_VendorSpecific_HmdFound_ConfigTooSmall: EVRInitError = 1105;
pub const EVRInitError_VRInitError_VendorSpecific_HmdFound_UnableToInitZLib: EVRInitError = 1106;
pub const EVRInitError_VRInitError_VendorSpecific_HmdFound_CantReadFirmwareVersion: EVRInitError =
    1107;
pub const EVRInitError_VRInitError_VendorSpecific_HmdFound_UnableToSendUserDataStart: EVRInitError =
    1108;
pub const EVRInitError_VRInitError_VendorSpecific_HmdFound_UnableToGetUserDataStart: EVRInitError =
    1109;
pub const EVRInitError_VRInitError_VendorSpecific_HmdFound_UnableToGetUserDataNext: EVRInitError =
    1110;
pub const EVRInitError_VRInitError_VendorSpecific_HmdFound_UserDataAddressRange: EVRInitError =
    1111;
pub const EVRInitError_VRInitError_VendorSpecific_HmdFound_UserDataError: EVRInitError = 1112;
pub const EVRInitError_VRInitError_VendorSpecific_HmdFound_ConfigFailedSanityCheck: EVRInitError =
    1113;
pub const EVRInitError_VRInitError_Steam_SteamInstallationNotFound: EVRInitError = 2000;
pub const EVRInitError_VRInitError_LastError: EVRInitError = 2001;
pub type EVRInitError = u32;
pub const EVRScreenshotType_VRScreenshotType_None: EVRScreenshotType = 0;
pub const EVRScreenshotType_VRScreenshotType_Mono: EVRScreenshotType = 1;
pub const EVRScreenshotType_VRScreenshotType_Stereo: EVRScreenshotType = 2;
pub const EVRScreenshotType_VRScreenshotType_Cubemap: EVRScreenshotType = 3;
pub const EVRScreenshotType_VRScreenshotType_MonoPanorama: EVRScreenshotType = 4;
pub const EVRScreenshotType_VRScreenshotType_StereoPanorama: EVRScreenshotType = 5;
pub type EVRScreenshotType = u32;
pub const EVRScreenshotPropertyFilenames_VRScreenshotPropertyFilenames_Preview:
    EVRScreenshotPropertyFilenames = 0;
pub const EVRScreenshotPropertyFilenames_VRScreenshotPropertyFilenames_VR:
    EVRScreenshotPropertyFilenames = 1;
pub type EVRScreenshotPropertyFilenames = u32;
pub const EVRTrackedCameraError_VRTrackedCameraError_None: EVRTrackedCameraError = 0;
pub const EVRTrackedCameraError_VRTrackedCameraError_OperationFailed: EVRTrackedCameraError = 100;
pub const EVRTrackedCameraError_VRTrackedCameraError_InvalidHandle: EVRTrackedCameraError = 101;
pub const EVRTrackedCameraError_VRTrackedCameraError_InvalidFrameHeaderVersion:
    EVRTrackedCameraError = 102;
pub const EVRTrackedCameraError_VRTrackedCameraError_OutOfHandles: EVRTrackedCameraError = 103;
pub const EVRTrackedCameraError_VRTrackedCameraError_IPCFailure: EVRTrackedCameraError = 104;
pub const EVRTrackedCameraError_VRTrackedCameraError_NotSupportedForThisDevice:
    EVRTrackedCameraError = 105;
pub const EVRTrackedCameraError_VRTrackedCameraError_SharedMemoryFailure: EVRTrackedCameraError =
    106;
pub const EVRTrackedCameraError_VRTrackedCameraError_FrameBufferingFailure: EVRTrackedCameraError =
    107;
pub const EVRTrackedCameraError_VRTrackedCameraError_StreamSetupFailure: EVRTrackedCameraError =
    108;
pub const EVRTrackedCameraError_VRTrackedCameraError_InvalidGLTextureId: EVRTrackedCameraError =
    109;
pub const EVRTrackedCameraError_VRTrackedCameraError_InvalidSharedTextureHandle:
    EVRTrackedCameraError = 110;
pub const EVRTrackedCameraError_VRTrackedCameraError_FailedToGetGLTextureId: EVRTrackedCameraError =
    111;
pub const EVRTrackedCameraError_VRTrackedCameraError_SharedTextureFailure: EVRTrackedCameraError =
    112;
pub const EVRTrackedCameraError_VRTrackedCameraError_NoFrameAvailable: EVRTrackedCameraError = 113;
pub const EVRTrackedCameraError_VRTrackedCameraError_InvalidArgument: EVRTrackedCameraError = 114;
pub const EVRTrackedCameraError_VRTrackedCameraError_InvalidFrameBufferSize: EVRTrackedCameraError =
    115;
pub type EVRTrackedCameraError = u32;
pub const EVRTrackedCameraFrameLayout_Mono: EVRTrackedCameraFrameLayout = 1;
pub const EVRTrackedCameraFrameLayout_Stereo: EVRTrackedCameraFrameLayout = 2;
pub const EVRTrackedCameraFrameLayout_VerticalLayout: EVRTrackedCameraFrameLayout = 16;
pub const EVRTrackedCameraFrameLayout_HorizontalLayout: EVRTrackedCameraFrameLayout = 32;
pub type EVRTrackedCameraFrameLayout = u32;
pub const EVRTrackedCameraFrameType_VRTrackedCameraFrameType_Distorted: EVRTrackedCameraFrameType =
    0;
pub const EVRTrackedCameraFrameType_VRTrackedCameraFrameType_Undistorted:
    EVRTrackedCameraFrameType = 1;
pub const EVRTrackedCameraFrameType_VRTrackedCameraFrameType_MaximumUndistorted:
    EVRTrackedCameraFrameType = 2;
pub const EVRTrackedCameraFrameType_MAX_CAMERA_FRAME_TYPES: EVRTrackedCameraFrameType = 3;
pub type EVRTrackedCameraFrameType = u32;
pub const EVRDistortionFunctionType_VRDistortionFunctionType_None: EVRDistortionFunctionType = 0;
pub const EVRDistortionFunctionType_VRDistortionFunctionType_FTheta: EVRDistortionFunctionType = 1;
pub const EVRDistortionFunctionType_VRDistortionFunctionType_Extended_FTheta:
    EVRDistortionFunctionType = 2;
pub const EVRDistortionFunctionType_MAX_DISTORTION_FUNCTION_TYPES: EVRDistortionFunctionType = 3;
pub type EVRDistortionFunctionType = u32;
pub const EVSync_VSync_None: EVSync = 0;
pub const EVSync_VSync_WaitRender: EVSync = 1;
pub const EVSync_VSync_NoWaitRender: EVSync = 2;
pub type EVSync = u32;
pub const EVRMuraCorrectionMode_Default: EVRMuraCorrectionMode = 0;
pub const EVRMuraCorrectionMode_NoCorrection: EVRMuraCorrectionMode = 1;
pub type EVRMuraCorrectionMode = u32;
pub const Imu_OffScaleFlags_OffScale_AccelX: Imu_OffScaleFlags = 1;
pub const Imu_OffScaleFlags_OffScale_AccelY: Imu_OffScaleFlags = 2;
pub const Imu_OffScaleFlags_OffScale_AccelZ: Imu_OffScaleFlags = 4;
pub const Imu_OffScaleFlags_OffScale_GyroX: Imu_OffScaleFlags = 8;
pub const Imu_OffScaleFlags_OffScale_GyroY: Imu_OffScaleFlags = 16;
pub const Imu_OffScaleFlags_OffScale_GyroZ: Imu_OffScaleFlags = 32;
pub type Imu_OffScaleFlags = u32;
pub const EVRApplicationError_VRApplicationError_None: EVRApplicationError = 0;
pub const EVRApplicationError_VRApplicationError_AppKeyAlreadyExists: EVRApplicationError = 100;
pub const EVRApplicationError_VRApplicationError_NoManifest: EVRApplicationError = 101;
pub const EVRApplicationError_VRApplicationError_NoApplication: EVRApplicationError = 102;
pub const EVRApplicationError_VRApplicationError_InvalidIndex: EVRApplicationError = 103;
pub const EVRApplicationError_VRApplicationError_UnknownApplication: EVRApplicationError = 104;
pub const EVRApplicationError_VRApplicationError_IPCFailed: EVRApplicationError = 105;
pub const EVRApplicationError_VRApplicationError_ApplicationAlreadyRunning: EVRApplicationError =
    106;
pub const EVRApplicationError_VRApplicationError_InvalidManifest: EVRApplicationError = 107;
pub const EVRApplicationError_VRApplicationError_InvalidApplication: EVRApplicationError = 108;
pub const EVRApplicationError_VRApplicationError_LaunchFailed: EVRApplicationError = 109;
pub const EVRApplicationError_VRApplicationError_ApplicationAlreadyStarting: EVRApplicationError =
    110;
pub const EVRApplicationError_VRApplicationError_LaunchInProgress: EVRApplicationError = 111;
pub const EVRApplicationError_VRApplicationError_OldApplicationQuitting: EVRApplicationError = 112;
pub const EVRApplicationError_VRApplicationError_TransitionAborted: EVRApplicationError = 113;
pub const EVRApplicationError_VRApplicationError_IsTemplate: EVRApplicationError = 114;
pub const EVRApplicationError_VRApplicationError_SteamVRIsExiting: EVRApplicationError = 115;
pub const EVRApplicationError_VRApplicationError_BufferTooSmall: EVRApplicationError = 200;
pub const EVRApplicationError_VRApplicationError_PropertyNotSet: EVRApplicationError = 201;
pub const EVRApplicationError_VRApplicationError_UnknownProperty: EVRApplicationError = 202;
pub const EVRApplicationError_VRApplicationError_InvalidParameter: EVRApplicationError = 203;
pub type EVRApplicationError = u32;
pub const EVRApplicationProperty_VRApplicationProperty_Name_String: EVRApplicationProperty = 0;
pub const EVRApplicationProperty_VRApplicationProperty_LaunchType_String: EVRApplicationProperty =
    11;
pub const EVRApplicationProperty_VRApplicationProperty_WorkingDirectory_String:
    EVRApplicationProperty = 12;
pub const EVRApplicationProperty_VRApplicationProperty_BinaryPath_String: EVRApplicationProperty =
    13;
pub const EVRApplicationProperty_VRApplicationProperty_Arguments_String: EVRApplicationProperty =
    14;
pub const EVRApplicationProperty_VRApplicationProperty_URL_String: EVRApplicationProperty = 15;
pub const EVRApplicationProperty_VRApplicationProperty_Description_String: EVRApplicationProperty =
    50;
pub const EVRApplicationProperty_VRApplicationProperty_NewsURL_String: EVRApplicationProperty = 51;
pub const EVRApplicationProperty_VRApplicationProperty_ImagePath_String: EVRApplicationProperty =
    52;
pub const EVRApplicationProperty_VRApplicationProperty_Source_String: EVRApplicationProperty = 53;
pub const EVRApplicationProperty_VRApplicationProperty_ActionManifestURL_String:
    EVRApplicationProperty = 54;
pub const EVRApplicationProperty_VRApplicationProperty_IsDashboardOverlay_Bool:
    EVRApplicationProperty = 60;
pub const EVRApplicationProperty_VRApplicationProperty_IsTemplate_Bool: EVRApplicationProperty = 61;
pub const EVRApplicationProperty_VRApplicationProperty_IsInstanced_Bool: EVRApplicationProperty =
    62;
pub const EVRApplicationProperty_VRApplicationProperty_IsInternal_Bool: EVRApplicationProperty = 63;
pub const EVRApplicationProperty_VRApplicationProperty_WantsCompositorPauseInStandby_Bool:
    EVRApplicationProperty = 64;
pub const EVRApplicationProperty_VRApplicationProperty_LastLaunchTime_Uint64:
    EVRApplicationProperty = 70;
pub type EVRApplicationProperty = u32;
pub const EVRApplicationTransitionState_VRApplicationTransition_None:
    EVRApplicationTransitionState = 0;
pub const EVRApplicationTransitionState_VRApplicationTransition_OldAppQuitSent:
    EVRApplicationTransitionState = 10;
pub const EVRApplicationTransitionState_VRApplicationTransition_WaitingForExternalLaunch:
    EVRApplicationTransitionState = 11;
pub const EVRApplicationTransitionState_VRApplicationTransition_NewAppLaunched:
    EVRApplicationTransitionState = 20;
pub type EVRApplicationTransitionState = u32;
pub const ChaperoneCalibrationState_OK: ChaperoneCalibrationState = 1;
pub const ChaperoneCalibrationState_Warning: ChaperoneCalibrationState = 100;
pub const ChaperoneCalibrationState_Warning_BaseStationMayHaveMoved: ChaperoneCalibrationState =
    101;
pub const ChaperoneCalibrationState_Warning_BaseStationRemoved: ChaperoneCalibrationState = 102;
pub const ChaperoneCalibrationState_Warning_SeatedBoundsInvalid: ChaperoneCalibrationState = 103;
pub const ChaperoneCalibrationState_Error: ChaperoneCalibrationState = 200;
pub const ChaperoneCalibrationState_Error_BaseStationUninitialized: ChaperoneCalibrationState = 201;
pub const ChaperoneCalibrationState_Error_BaseStationConflict: ChaperoneCalibrationState = 202;
pub const ChaperoneCalibrationState_Error_PlayAreaInvalid: ChaperoneCalibrationState = 203;
pub const ChaperoneCalibrationState_Error_CollisionBoundsInvalid: ChaperoneCalibrationState = 204;
pub type ChaperoneCalibrationState = u32;
pub const EChaperoneConfigFile_Live: EChaperoneConfigFile = 1;
pub const EChaperoneConfigFile_Temp: EChaperoneConfigFile = 2;
pub type EChaperoneConfigFile = u32;
pub const EChaperoneImportFlags_EChaperoneImport_BoundsOnly: EChaperoneImportFlags = 1;
pub type EChaperoneImportFlags = u32;
pub const EVRCompositorError_VRCompositorError_None: EVRCompositorError = 0;
pub const EVRCompositorError_VRCompositorError_RequestFailed: EVRCompositorError = 1;
pub const EVRCompositorError_VRCompositorError_IncompatibleVersion: EVRCompositorError = 100;
pub const EVRCompositorError_VRCompositorError_DoNotHaveFocus: EVRCompositorError = 101;
pub const EVRCompositorError_VRCompositorError_InvalidTexture: EVRCompositorError = 102;
pub const EVRCompositorError_VRCompositorError_IsNotSceneApplication: EVRCompositorError = 103;
pub const EVRCompositorError_VRCompositorError_TextureIsOnWrongDevice: EVRCompositorError = 104;
pub const EVRCompositorError_VRCompositorError_TextureUsesUnsupportedFormat: EVRCompositorError =
    105;
pub const EVRCompositorError_VRCompositorError_SharedTexturesNotSupported: EVRCompositorError = 106;
pub const EVRCompositorError_VRCompositorError_IndexOutOfRange: EVRCompositorError = 107;
pub const EVRCompositorError_VRCompositorError_AlreadySubmitted: EVRCompositorError = 108;
pub const EVRCompositorError_VRCompositorError_InvalidBounds: EVRCompositorError = 109;
pub type EVRCompositorError = u32;
pub const EVRCompositorTimingMode_VRCompositorTimingMode_Implicit: EVRCompositorTimingMode = 0;
pub const EVRCompositorTimingMode_VRCompositorTimingMode_Explicit_RuntimePerformsPostPresentHandoff : EVRCompositorTimingMode = 1 ;
pub const EVRCompositorTimingMode_VRCompositorTimingMode_Explicit_ApplicationPerformsPostPresentHandoff : EVRCompositorTimingMode = 2 ;
pub type EVRCompositorTimingMode = u32;
pub const VROverlayInputMethod_None: VROverlayInputMethod = 0;
pub const VROverlayInputMethod_Mouse: VROverlayInputMethod = 1;
pub const VROverlayInputMethod_DualAnalog: VROverlayInputMethod = 2;
pub type VROverlayInputMethod = u32;
pub const VROverlayTransformType_VROverlayTransform_Absolute: VROverlayTransformType = 0;
pub const VROverlayTransformType_VROverlayTransform_TrackedDeviceRelative: VROverlayTransformType =
    1;
pub const VROverlayTransformType_VROverlayTransform_SystemOverlay: VROverlayTransformType = 2;
pub const VROverlayTransformType_VROverlayTransform_TrackedComponent: VROverlayTransformType = 3;
pub type VROverlayTransformType = u32;
pub const VROverlayFlags_None: VROverlayFlags = 0;
pub const VROverlayFlags_Curved: VROverlayFlags = 1;
pub const VROverlayFlags_RGSS4X: VROverlayFlags = 2;
pub const VROverlayFlags_NoDashboardTab: VROverlayFlags = 3;
pub const VROverlayFlags_AcceptsGamepadEvents: VROverlayFlags = 4;
pub const VROverlayFlags_ShowGamepadFocus: VROverlayFlags = 5;
pub const VROverlayFlags_SendVRDiscreteScrollEvents: VROverlayFlags = 6;
pub const VROverlayFlags_SendVRTouchpadEvents: VROverlayFlags = 7;
pub const VROverlayFlags_ShowTouchPadScrollWheel: VROverlayFlags = 8;
pub const VROverlayFlags_TransferOwnershipToInternalProcess: VROverlayFlags = 9;
pub const VROverlayFlags_SideBySide_Parallel: VROverlayFlags = 10;
pub const VROverlayFlags_SideBySide_Crossed: VROverlayFlags = 11;
pub const VROverlayFlags_Panorama: VROverlayFlags = 12;
pub const VROverlayFlags_StereoPanorama: VROverlayFlags = 13;
pub const VROverlayFlags_SortWithNonSceneOverlays: VROverlayFlags = 14;
pub const VROverlayFlags_VisibleInDashboard: VROverlayFlags = 15;
pub const VROverlayFlags_MakeOverlaysInteractiveIfVisible: VROverlayFlags = 16;
pub const VROverlayFlags_SendVRSmoothScrollEvents: VROverlayFlags = 17;
pub type VROverlayFlags = u32;
pub const VRMessageOverlayResponse_ButtonPress_0: VRMessageOverlayResponse = 0;
pub const VRMessageOverlayResponse_ButtonPress_1: VRMessageOverlayResponse = 1;
pub const VRMessageOverlayResponse_ButtonPress_2: VRMessageOverlayResponse = 2;
pub const VRMessageOverlayResponse_ButtonPress_3: VRMessageOverlayResponse = 3;
pub const VRMessageOverlayResponse_CouldntFindSystemOverlay: VRMessageOverlayResponse = 4;
pub const VRMessageOverlayResponse_CouldntFindOrCreateClientOverlay: VRMessageOverlayResponse = 5;
pub const VRMessageOverlayResponse_ApplicationQuit: VRMessageOverlayResponse = 6;
pub type VRMessageOverlayResponse = u32;
pub const EGamepadTextInputMode_k_EGamepadTextInputModeNormal: EGamepadTextInputMode = 0;
pub const EGamepadTextInputMode_k_EGamepadTextInputModePassword: EGamepadTextInputMode = 1;
pub const EGamepadTextInputMode_k_EGamepadTextInputModeSubmit: EGamepadTextInputMode = 2;
pub type EGamepadTextInputMode = u32;
pub const EGamepadTextInputLineMode_k_EGamepadTextInputLineModeSingleLine:
    EGamepadTextInputLineMode = 0;
pub const EGamepadTextInputLineMode_k_EGamepadTextInputLineModeMultipleLines:
    EGamepadTextInputLineMode = 1;
pub type EGamepadTextInputLineMode = u32;
pub const EOverlayDirection_OverlayDirection_Up: EOverlayDirection = 0;
pub const EOverlayDirection_OverlayDirection_Down: EOverlayDirection = 1;
pub const EOverlayDirection_OverlayDirection_Left: EOverlayDirection = 2;
pub const EOverlayDirection_OverlayDirection_Right: EOverlayDirection = 3;
pub const EOverlayDirection_OverlayDirection_Count: EOverlayDirection = 4;
pub type EOverlayDirection = u32;
pub const EVROverlayIntersectionMaskPrimitiveType_OverlayIntersectionPrimitiveType_Rectangle:
    EVROverlayIntersectionMaskPrimitiveType = 0;
pub const EVROverlayIntersectionMaskPrimitiveType_OverlayIntersectionPrimitiveType_Circle:
    EVROverlayIntersectionMaskPrimitiveType = 1;
pub type EVROverlayIntersectionMaskPrimitiveType = u32;
pub const EVRRenderModelError_VRRenderModelError_None: EVRRenderModelError = 0;
pub const EVRRenderModelError_VRRenderModelError_Loading: EVRRenderModelError = 100;
pub const EVRRenderModelError_VRRenderModelError_NotSupported: EVRRenderModelError = 200;
pub const EVRRenderModelError_VRRenderModelError_InvalidArg: EVRRenderModelError = 300;
pub const EVRRenderModelError_VRRenderModelError_InvalidModel: EVRRenderModelError = 301;
pub const EVRRenderModelError_VRRenderModelError_NoShapes: EVRRenderModelError = 302;
pub const EVRRenderModelError_VRRenderModelError_MultipleShapes: EVRRenderModelError = 303;
pub const EVRRenderModelError_VRRenderModelError_TooManyVertices: EVRRenderModelError = 304;
pub const EVRRenderModelError_VRRenderModelError_MultipleTextures: EVRRenderModelError = 305;
pub const EVRRenderModelError_VRRenderModelError_BufferTooSmall: EVRRenderModelError = 306;
pub const EVRRenderModelError_VRRenderModelError_NotEnoughNormals: EVRRenderModelError = 307;
pub const EVRRenderModelError_VRRenderModelError_NotEnoughTexCoords: EVRRenderModelError = 308;
pub const EVRRenderModelError_VRRenderModelError_InvalidTexture: EVRRenderModelError = 400;
pub type EVRRenderModelError = u32;
pub const EVRComponentProperty_VRComponentProperty_IsStatic: EVRComponentProperty = 1;
pub const EVRComponentProperty_VRComponentProperty_IsVisible: EVRComponentProperty = 2;
pub const EVRComponentProperty_VRComponentProperty_IsTouched: EVRComponentProperty = 4;
pub const EVRComponentProperty_VRComponentProperty_IsPressed: EVRComponentProperty = 8;
pub const EVRComponentProperty_VRComponentProperty_IsScrolled: EVRComponentProperty = 16;
pub type EVRComponentProperty = u32;
pub const EVRNotificationType_Transient: EVRNotificationType = 0;
pub const EVRNotificationType_Persistent: EVRNotificationType = 1;
pub const EVRNotificationType_Transient_SystemWithUserValue: EVRNotificationType = 2;
pub type EVRNotificationType = u32;
pub const EVRNotificationStyle_None: EVRNotificationStyle = 0;
pub const EVRNotificationStyle_Application: EVRNotificationStyle = 100;
pub const EVRNotificationStyle_Contact_Disabled: EVRNotificationStyle = 200;
pub const EVRNotificationStyle_Contact_Enabled: EVRNotificationStyle = 201;
pub const EVRNotificationStyle_Contact_Active: EVRNotificationStyle = 202;
pub type EVRNotificationStyle = u32;
pub const EVRSettingsError_VRSettingsError_None: EVRSettingsError = 0;
pub const EVRSettingsError_VRSettingsError_IPCFailed: EVRSettingsError = 1;
pub const EVRSettingsError_VRSettingsError_WriteFailed: EVRSettingsError = 2;
pub const EVRSettingsError_VRSettingsError_ReadFailed: EVRSettingsError = 3;
pub const EVRSettingsError_VRSettingsError_JsonParseFailed: EVRSettingsError = 4;
pub const EVRSettingsError_VRSettingsError_UnsetSettingHasNoDefault: EVRSettingsError = 5;
pub type EVRSettingsError = u32;
pub const EVRScreenshotError_VRScreenshotError_None: EVRScreenshotError = 0;
pub const EVRScreenshotError_VRScreenshotError_RequestFailed: EVRScreenshotError = 1;
pub const EVRScreenshotError_VRScreenshotError_IncompatibleVersion: EVRScreenshotError = 100;
pub const EVRScreenshotError_VRScreenshotError_NotFound: EVRScreenshotError = 101;
pub const EVRScreenshotError_VRScreenshotError_BufferTooSmall: EVRScreenshotError = 102;
pub const EVRScreenshotError_VRScreenshotError_ScreenshotAlreadyInProgress: EVRScreenshotError =
    108;
pub type EVRScreenshotError = u32;
pub const EVRSkeletalTransformSpace_VRSkeletalTransformSpace_Model: EVRSkeletalTransformSpace = 0;
pub const EVRSkeletalTransformSpace_VRSkeletalTransformSpace_Parent: EVRSkeletalTransformSpace = 1;
pub type EVRSkeletalTransformSpace = u32;
pub const EVRSkeletalReferencePose_VRSkeletalReferencePose_BindPose: EVRSkeletalReferencePose = 0;
pub const EVRSkeletalReferencePose_VRSkeletalReferencePose_OpenHand: EVRSkeletalReferencePose = 1;
pub const EVRSkeletalReferencePose_VRSkeletalReferencePose_Fist: EVRSkeletalReferencePose = 2;
pub const EVRSkeletalReferencePose_VRSkeletalReferencePose_GripLimit: EVRSkeletalReferencePose = 3;
pub type EVRSkeletalReferencePose = u32;
pub const EVRFinger_VRFinger_Thumb: EVRFinger = 0;
pub const EVRFinger_VRFinger_Index: EVRFinger = 1;
pub const EVRFinger_VRFinger_Middle: EVRFinger = 2;
pub const EVRFinger_VRFinger_Ring: EVRFinger = 3;
pub const EVRFinger_VRFinger_Pinky: EVRFinger = 4;
pub const EVRFinger_VRFinger_Count: EVRFinger = 5;
pub type EVRFinger = u32;
pub const EVRFingerSplay_VRFingerSplay_Thumb_Index: EVRFingerSplay = 0;
pub const EVRFingerSplay_VRFingerSplay_Index_Middle: EVRFingerSplay = 1;
pub const EVRFingerSplay_VRFingerSplay_Middle_Ring: EVRFingerSplay = 2;
pub const EVRFingerSplay_VRFingerSplay_Ring_Pinky: EVRFingerSplay = 3;
pub const EVRFingerSplay_VRFingerSplay_Count: EVRFingerSplay = 4;
pub type EVRFingerSplay = u32;
pub const EVRSummaryType_VRSummaryType_FromAnimation: EVRSummaryType = 0;
pub const EVRSummaryType_VRSummaryType_FromDevice: EVRSummaryType = 1;
pub type EVRSummaryType = u32;
pub const EVRInputFilterCancelType_VRInputFilterCancel_Timers: EVRInputFilterCancelType = 0;
pub const EVRInputFilterCancelType_VRInputFilterCancel_Momentum: EVRInputFilterCancelType = 1;
pub type EVRInputFilterCancelType = u32;
pub const EVRInputStringBits_VRInputString_Hand: EVRInputStringBits = 1;
pub const EVRInputStringBits_VRInputString_ControllerType: EVRInputStringBits = 2;
pub const EVRInputStringBits_VRInputString_InputSource: EVRInputStringBits = 4;
pub const EVRInputStringBits_VRInputString_All: EVRInputStringBits = -1;
pub type EVRInputStringBits = i32;
pub const EIOBufferError_IOBuffer_Success: EIOBufferError = 0;
pub const EIOBufferError_IOBuffer_OperationFailed: EIOBufferError = 100;
pub const EIOBufferError_IOBuffer_InvalidHandle: EIOBufferError = 101;
pub const EIOBufferError_IOBuffer_InvalidArgument: EIOBufferError = 102;
pub const EIOBufferError_IOBuffer_PathExists: EIOBufferError = 103;
pub const EIOBufferError_IOBuffer_PathDoesNotExist: EIOBufferError = 104;
pub const EIOBufferError_IOBuffer_Permission: EIOBufferError = 105;
pub type EIOBufferError = u32;
pub const EIOBufferMode_IOBufferMode_Read: EIOBufferMode = 1;
pub const EIOBufferMode_IOBufferMode_Write: EIOBufferMode = 2;
pub const EIOBufferMode_IOBufferMode_Create: EIOBufferMode = 512;
pub type EIOBufferMode = u32;
pub type TrackedDeviceIndex_t = u32;
pub type VRNotificationId = u32;
pub type VROverlayHandle_t = u64;
pub type SpatialAnchorHandle_t = u32;
pub type glSharedTextureHandle_t = *mut ::std::os::raw::c_void;
pub type glInt_t = i32;
pub type glUInt_t = u32;
pub type SharedTextureHandle_t = u64;
pub type DriverId_t = u32;
pub type WebConsoleHandle_t = u64;
pub type DriverHandle_t = PropertyContainerHandle_t;
pub type BoneIndex_t = i32;
pub type TrackedCameraHandle_t = u64;
pub type ScreenshotHandle_t = u32;
pub type VRComponentProperties = u32;
pub type TextureID_t = i32;
pub type IOBufferHandle_t = u64;
pub use self::ECollisionBoundsStyle as CollisionBoundsStyle_t;
pub use self::EColorSpace as ColorSpace;
pub use self::ETrackedDeviceClass as TrackedDeviceClass;
pub use self::ETrackedDeviceProperty as TrackedDeviceProperty;
pub use self::ETrackedPropertyError as TrackedPropertyError;
pub use self::ETrackingResult as HmdTrackingResult;
pub use self::ETrackingUniverseOrigin as TrackingUniverseOrigin;
pub use self::EVRCompositorError as VRCompositorError;
pub use self::EVREye as Hmd_Eye;
pub use self::EVRFirmwareError as VRFirmwareError;
pub use self::EVRInitError as HmdError;
pub use self::EVROverlayError as VROverlayError;
pub use self::EVRScreenshotError as VRScreenshotsError;
pub use self::EVRState as VRState_t;
pub use self::EVRSubmitFlags as VRSubmitFlags_t;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct HmdMatrix34_t {
    pub m: [[f32; 4usize]; 3usize],
}
#[test]
fn bindgen_test_layout_HmdMatrix34_t() {
    assert_eq!(
        ::std::mem::size_of::<HmdMatrix34_t>(),
        48usize,
        concat!("Size of: ", stringify!(HmdMatrix34_t))
    );
    assert_eq!(
        ::std::mem::align_of::<HmdMatrix34_t>(),
        4usize,
        concat!("Alignment of ", stringify!(HmdMatrix34_t))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<HmdMatrix34_t>())).m as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(HmdMatrix34_t),
            "::",
            stringify!(m)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct HmdMatrix33_t {
    pub m: [[f32; 3usize]; 3usize],
}
#[test]
fn bindgen_test_layout_HmdMatrix33_t() {
    assert_eq!(
        ::std::mem::size_of::<HmdMatrix33_t>(),
        36usize,
        concat!("Size of: ", stringify!(HmdMatrix33_t))
    );
    assert_eq!(
        ::std::mem::align_of::<HmdMatrix33_t>(),
        4usize,
        concat!("Alignment of ", stringify!(HmdMatrix33_t))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<HmdMatrix33_t>())).m as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(HmdMatrix33_t),
            "::",
            stringify!(m)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct HmdMatrix44_t {
    pub m: [[f32; 4usize]; 4usize],
}
#[test]
fn bindgen_test_layout_HmdMatrix44_t() {
    assert_eq!(
        ::std::mem::size_of::<HmdMatrix44_t>(),
        64usize,
        concat!("Size of: ", stringify!(HmdMatrix44_t))
    );
    assert_eq!(
        ::std::mem::align_of::<HmdMatrix44_t>(),
        4usize,
        concat!("Alignment of ", stringify!(HmdMatrix44_t))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<HmdMatrix44_t>())).m as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(HmdMatrix44_t),
            "::",
            stringify!(m)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct HmdVector3_t {
    pub v: [f32; 3usize],
}
#[test]
fn bindgen_test_layout_HmdVector3_t() {
    assert_eq!(
        ::std::mem::size_of::<HmdVector3_t>(),
        12usize,
        concat!("Size of: ", stringify!(HmdVector3_t))
    );
    assert_eq!(
        ::std::mem::align_of::<HmdVector3_t>(),
        4usize,
        concat!("Alignment of ", stringify!(HmdVector3_t))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<HmdVector3_t>())).v as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(HmdVector3_t),
            "::",
            stringify!(v)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct HmdVector4_t {
    pub v: [f32; 4usize],
}
#[test]
fn bindgen_test_layout_HmdVector4_t() {
    assert_eq!(
        ::std::mem::size_of::<HmdVector4_t>(),
        16usize,
        concat!("Size of: ", stringify!(HmdVector4_t))
    );
    assert_eq!(
        ::std::mem::align_of::<HmdVector4_t>(),
        4usize,
        concat!("Alignment of ", stringify!(HmdVector4_t))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<HmdVector4_t>())).v as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(HmdVector4_t),
            "::",
            stringify!(v)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct HmdVector3d_t {
    pub v: [f64; 3usize],
}
#[test]
fn bindgen_test_layout_HmdVector3d_t() {
    assert_eq!(
        ::std::mem::size_of::<HmdVector3d_t>(),
        24usize,
        concat!("Size of: ", stringify!(HmdVector3d_t))
    );
    assert_eq!(
        ::std::mem::align_of::<HmdVector3d_t>(),
        8usize,
        concat!("Alignment of ", stringify!(HmdVector3d_t))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<HmdVector3d_t>())).v as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(HmdVector3d_t),
            "::",
            stringify!(v)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct HmdVector2_t {
    pub v: [f32; 2usize],
}
#[test]
fn bindgen_test_layout_HmdVector2_t() {
    assert_eq!(
        ::std::mem::size_of::<HmdVector2_t>(),
        8usize,
        concat!("Size of: ", stringify!(HmdVector2_t))
    );
    assert_eq!(
        ::std::mem::align_of::<HmdVector2_t>(),
        4usize,
        concat!("Alignment of ", stringify!(HmdVector2_t))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<HmdVector2_t>())).v as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(HmdVector2_t),
            "::",
            stringify!(v)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct HmdQuaternion_t {
    pub w: f64,
    pub x: f64,
    pub y: f64,
    pub z: f64,
}
#[test]
fn bindgen_test_layout_HmdQuaternion_t() {
    assert_eq!(
        ::std::mem::size_of::<HmdQuaternion_t>(),
        32usize,
        concat!("Size of: ", stringify!(HmdQuaternion_t))
    );
    assert_eq!(
        ::std::mem::align_of::<HmdQuaternion_t>(),
        8usize,
        concat!("Alignment of ", stringify!(HmdQuaternion_t))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<HmdQuaternion_t>())).w as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(HmdQuaternion_t),
            "::",
            stringify!(w)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<HmdQuaternion_t>())).x as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(HmdQuaternion_t),
            "::",
            stringify!(x)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<HmdQuaternion_t>())).y as *const _ as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(HmdQuaternion_t),
            "::",
            stringify!(y)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<HmdQuaternion_t>())).z as *const _ as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(HmdQuaternion_t),
            "::",
            stringify!(z)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct HmdQuaternionf_t {
    pub w: f32,
    pub x: f32,
    pub y: f32,
    pub z: f32,
}
#[test]
fn bindgen_test_layout_HmdQuaternionf_t() {
    assert_eq!(
        ::std::mem::size_of::<HmdQuaternionf_t>(),
        16usize,
        concat!("Size of: ", stringify!(HmdQuaternionf_t))
    );
    assert_eq!(
        ::std::mem::align_of::<HmdQuaternionf_t>(),
        4usize,
        concat!("Alignment of ", stringify!(HmdQuaternionf_t))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<HmdQuaternionf_t>())).w as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(HmdQuaternionf_t),
            "::",
            stringify!(w)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<HmdQuaternionf_t>())).x as *const _ as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(HmdQuaternionf_t),
            "::",
            stringify!(x)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<HmdQuaternionf_t>())).y as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(HmdQuaternionf_t),
            "::",
            stringify!(y)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<HmdQuaternionf_t>())).z as *const _ as usize },
        12usize,
        concat!(
            "Offset of field: ",
            stringify!(HmdQuaternionf_t),
            "::",
            stringify!(z)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct HmdColor_t {
    pub r: f32,
    pub g: f32,
    pub b: f32,
    pub a: f32,
}
#[test]
fn bindgen_test_layout_HmdColor_t() {
    assert_eq!(
        ::std::mem::size_of::<HmdColor_t>(),
        16usize,
        concat!("Size of: ", stringify!(HmdColor_t))
    );
    assert_eq!(
        ::std::mem::align_of::<HmdColor_t>(),
        4usize,
        concat!("Alignment of ", stringify!(HmdColor_t))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<HmdColor_t>())).r as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(HmdColor_t),
            "::",
            stringify!(r)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<HmdColor_t>())).g as *const _ as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(HmdColor_t),
            "::",
            stringify!(g)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<HmdColor_t>())).b as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(HmdColor_t),
            "::",
            stringify!(b)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<HmdColor_t>())).a as *const _ as usize },
        12usize,
        concat!(
            "Offset of field: ",
            stringify!(HmdColor_t),
            "::",
            stringify!(a)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct HmdQuad_t {
    pub vCorners: [HmdVector3_t; 4usize],
}
#[test]
fn bindgen_test_layout_HmdQuad_t() {
    assert_eq!(
        ::std::mem::size_of::<HmdQuad_t>(),
        48usize,
        concat!("Size of: ", stringify!(HmdQuad_t))
    );
    assert_eq!(
        ::std::mem::align_of::<HmdQuad_t>(),
        4usize,
        concat!("Alignment of ", stringify!(HmdQuad_t))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<HmdQuad_t>())).vCorners as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(HmdQuad_t),
            "::",
            stringify!(vCorners)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct HmdRect2_t {
    pub vTopLeft: HmdVector2_t,
    pub vBottomRight: HmdVector2_t,
}
#[test]
fn bindgen_test_layout_HmdRect2_t() {
    assert_eq!(
        ::std::mem::size_of::<HmdRect2_t>(),
        16usize,
        concat!("Size of: ", stringify!(HmdRect2_t))
    );
    assert_eq!(
        ::std::mem::align_of::<HmdRect2_t>(),
        4usize,
        concat!("Alignment of ", stringify!(HmdRect2_t))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<HmdRect2_t>())).vTopLeft as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(HmdRect2_t),
            "::",
            stringify!(vTopLeft)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<HmdRect2_t>())).vBottomRight as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(HmdRect2_t),
            "::",
            stringify!(vBottomRight)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct DistortionCoordinates_t {
    pub rfRed: [f32; 2usize],
    pub rfGreen: [f32; 2usize],
    pub rfBlue: [f32; 2usize],
}
#[test]
fn bindgen_test_layout_DistortionCoordinates_t() {
    assert_eq!(
        ::std::mem::size_of::<DistortionCoordinates_t>(),
        24usize,
        concat!("Size of: ", stringify!(DistortionCoordinates_t))
    );
    assert_eq!(
        ::std::mem::align_of::<DistortionCoordinates_t>(),
        4usize,
        concat!("Alignment of ", stringify!(DistortionCoordinates_t))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<DistortionCoordinates_t>())).rfRed as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(DistortionCoordinates_t),
            "::",
            stringify!(rfRed)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<DistortionCoordinates_t>())).rfGreen as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(DistortionCoordinates_t),
            "::",
            stringify!(rfGreen)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<DistortionCoordinates_t>())).rfBlue as *const _ as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(DistortionCoordinates_t),
            "::",
            stringify!(rfBlue)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct Texture_t {
    pub handle: *mut ::std::os::raw::c_void,
    pub eType: ETextureType,
    pub eColorSpace: EColorSpace,
}
#[test]
fn bindgen_test_layout_Texture_t() {
    assert_eq!(
        ::std::mem::size_of::<Texture_t>(),
        16usize,
        concat!("Size of: ", stringify!(Texture_t))
    );
    assert_eq!(
        ::std::mem::align_of::<Texture_t>(),
        8usize,
        concat!("Alignment of ", stringify!(Texture_t))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<Texture_t>())).handle as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(Texture_t),
            "::",
            stringify!(handle)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<Texture_t>())).eType as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(Texture_t),
            "::",
            stringify!(eType)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<Texture_t>())).eColorSpace as *const _ as usize },
        12usize,
        concat!(
            "Offset of field: ",
            stringify!(Texture_t),
            "::",
            stringify!(eColorSpace)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct TrackedDevicePose_t {
    pub mDeviceToAbsoluteTracking: HmdMatrix34_t,
    pub vVelocity: HmdVector3_t,
    pub vAngularVelocity: HmdVector3_t,
    pub eTrackingResult: ETrackingResult,
    pub bPoseIsValid: bool,
    pub bDeviceIsConnected: bool,
}
#[test]
fn bindgen_test_layout_TrackedDevicePose_t() {
    assert_eq!(
        ::std::mem::size_of::<TrackedDevicePose_t>(),
        80usize,
        concat!("Size of: ", stringify!(TrackedDevicePose_t))
    );
    assert_eq!(
        ::std::mem::align_of::<TrackedDevicePose_t>(),
        4usize,
        concat!("Alignment of ", stringify!(TrackedDevicePose_t))
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<TrackedDevicePose_t>())).mDeviceToAbsoluteTracking as *const _
                as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(TrackedDevicePose_t),
            "::",
            stringify!(mDeviceToAbsoluteTracking)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<TrackedDevicePose_t>())).vVelocity as *const _ as usize },
        48usize,
        concat!(
            "Offset of field: ",
            stringify!(TrackedDevicePose_t),
            "::",
            stringify!(vVelocity)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<TrackedDevicePose_t>())).vAngularVelocity as *const _ as usize
        },
        60usize,
        concat!(
            "Offset of field: ",
            stringify!(TrackedDevicePose_t),
            "::",
            stringify!(vAngularVelocity)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<TrackedDevicePose_t>())).eTrackingResult as *const _ as usize
        },
        72usize,
        concat!(
            "Offset of field: ",
            stringify!(TrackedDevicePose_t),
            "::",
            stringify!(eTrackingResult)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<TrackedDevicePose_t>())).bPoseIsValid as *const _ as usize
        },
        76usize,
        concat!(
            "Offset of field: ",
            stringify!(TrackedDevicePose_t),
            "::",
            stringify!(bPoseIsValid)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<TrackedDevicePose_t>())).bDeviceIsConnected as *const _ as usize
        },
        77usize,
        concat!(
            "Offset of field: ",
            stringify!(TrackedDevicePose_t),
            "::",
            stringify!(bDeviceIsConnected)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct VRTextureBounds_t {
    pub uMin: f32,
    pub vMin: f32,
    pub uMax: f32,
    pub vMax: f32,
}
#[test]
fn bindgen_test_layout_VRTextureBounds_t() {
    assert_eq!(
        ::std::mem::size_of::<VRTextureBounds_t>(),
        16usize,
        concat!("Size of: ", stringify!(VRTextureBounds_t))
    );
    assert_eq!(
        ::std::mem::align_of::<VRTextureBounds_t>(),
        4usize,
        concat!("Alignment of ", stringify!(VRTextureBounds_t))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<VRTextureBounds_t>())).uMin as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(VRTextureBounds_t),
            "::",
            stringify!(uMin)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<VRTextureBounds_t>())).vMin as *const _ as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(VRTextureBounds_t),
            "::",
            stringify!(vMin)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<VRTextureBounds_t>())).uMax as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(VRTextureBounds_t),
            "::",
            stringify!(uMax)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<VRTextureBounds_t>())).vMax as *const _ as usize },
        12usize,
        concat!(
            "Offset of field: ",
            stringify!(VRTextureBounds_t),
            "::",
            stringify!(vMax)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct VRTextureWithPose_t {
    pub mDeviceToAbsoluteTracking: HmdMatrix34_t,
}
#[test]
fn bindgen_test_layout_VRTextureWithPose_t() {
    assert_eq!(
        ::std::mem::size_of::<VRTextureWithPose_t>(),
        48usize,
        concat!("Size of: ", stringify!(VRTextureWithPose_t))
    );
    assert_eq!(
        ::std::mem::align_of::<VRTextureWithPose_t>(),
        4usize,
        concat!("Alignment of ", stringify!(VRTextureWithPose_t))
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VRTextureWithPose_t>())).mDeviceToAbsoluteTracking as *const _
                as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(VRTextureWithPose_t),
            "::",
            stringify!(mDeviceToAbsoluteTracking)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct VRTextureDepthInfo_t {
    pub handle: *mut ::std::os::raw::c_void,
    pub mProjection: HmdMatrix44_t,
    pub vRange: HmdVector2_t,
}
#[test]
fn bindgen_test_layout_VRTextureDepthInfo_t() {
    assert_eq!(
        ::std::mem::size_of::<VRTextureDepthInfo_t>(),
        80usize,
        concat!("Size of: ", stringify!(VRTextureDepthInfo_t))
    );
    assert_eq!(
        ::std::mem::align_of::<VRTextureDepthInfo_t>(),
        8usize,
        concat!("Alignment of ", stringify!(VRTextureDepthInfo_t))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<VRTextureDepthInfo_t>())).handle as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(VRTextureDepthInfo_t),
            "::",
            stringify!(handle)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VRTextureDepthInfo_t>())).mProjection as *const _ as usize
        },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(VRTextureDepthInfo_t),
            "::",
            stringify!(mProjection)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<VRTextureDepthInfo_t>())).vRange as *const _ as usize },
        72usize,
        concat!(
            "Offset of field: ",
            stringify!(VRTextureDepthInfo_t),
            "::",
            stringify!(vRange)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct VRTextureWithDepth_t {
    pub depth: VRTextureDepthInfo_t,
}
#[test]
fn bindgen_test_layout_VRTextureWithDepth_t() {
    assert_eq!(
        ::std::mem::size_of::<VRTextureWithDepth_t>(),
        80usize,
        concat!("Size of: ", stringify!(VRTextureWithDepth_t))
    );
    assert_eq!(
        ::std::mem::align_of::<VRTextureWithDepth_t>(),
        8usize,
        concat!("Alignment of ", stringify!(VRTextureWithDepth_t))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<VRTextureWithDepth_t>())).depth as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(VRTextureWithDepth_t),
            "::",
            stringify!(depth)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct VRTextureWithPoseAndDepth_t {
    pub depth: VRTextureDepthInfo_t,
}
#[test]
fn bindgen_test_layout_VRTextureWithPoseAndDepth_t() {
    assert_eq!(
        ::std::mem::size_of::<VRTextureWithPoseAndDepth_t>(),
        80usize,
        concat!("Size of: ", stringify!(VRTextureWithPoseAndDepth_t))
    );
    assert_eq!(
        ::std::mem::align_of::<VRTextureWithPoseAndDepth_t>(),
        8usize,
        concat!("Alignment of ", stringify!(VRTextureWithPoseAndDepth_t))
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VRTextureWithPoseAndDepth_t>())).depth as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(VRTextureWithPoseAndDepth_t),
            "::",
            stringify!(depth)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct VRVulkanTextureData_t {
    pub m_nImage: u64,
    pub m_pDevice: *mut VkDevice_T,
    pub m_pPhysicalDevice: *mut VkPhysicalDevice_T,
    pub m_pInstance: *mut VkInstance_T,
    pub m_pQueue: *mut VkQueue_T,
    pub m_nQueueFamilyIndex: u32,
    pub m_nWidth: u32,
    pub m_nHeight: u32,
    pub m_nFormat: u32,
    pub m_nSampleCount: u32,
}
#[test]
fn bindgen_test_layout_VRVulkanTextureData_t() {
    assert_eq!(
        ::std::mem::size_of::<VRVulkanTextureData_t>(),
        64usize,
        concat!("Size of: ", stringify!(VRVulkanTextureData_t))
    );
    assert_eq!(
        ::std::mem::align_of::<VRVulkanTextureData_t>(),
        8usize,
        concat!("Alignment of ", stringify!(VRVulkanTextureData_t))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<VRVulkanTextureData_t>())).m_nImage as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(VRVulkanTextureData_t),
            "::",
            stringify!(m_nImage)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<VRVulkanTextureData_t>())).m_pDevice as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(VRVulkanTextureData_t),
            "::",
            stringify!(m_pDevice)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VRVulkanTextureData_t>())).m_pPhysicalDevice as *const _ as usize
        },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(VRVulkanTextureData_t),
            "::",
            stringify!(m_pPhysicalDevice)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VRVulkanTextureData_t>())).m_pInstance as *const _ as usize
        },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(VRVulkanTextureData_t),
            "::",
            stringify!(m_pInstance)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<VRVulkanTextureData_t>())).m_pQueue as *const _ as usize },
        32usize,
        concat!(
            "Offset of field: ",
            stringify!(VRVulkanTextureData_t),
            "::",
            stringify!(m_pQueue)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VRVulkanTextureData_t>())).m_nQueueFamilyIndex as *const _
                as usize
        },
        40usize,
        concat!(
            "Offset of field: ",
            stringify!(VRVulkanTextureData_t),
            "::",
            stringify!(m_nQueueFamilyIndex)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<VRVulkanTextureData_t>())).m_nWidth as *const _ as usize },
        44usize,
        concat!(
            "Offset of field: ",
            stringify!(VRVulkanTextureData_t),
            "::",
            stringify!(m_nWidth)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<VRVulkanTextureData_t>())).m_nHeight as *const _ as usize },
        48usize,
        concat!(
            "Offset of field: ",
            stringify!(VRVulkanTextureData_t),
            "::",
            stringify!(m_nHeight)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<VRVulkanTextureData_t>())).m_nFormat as *const _ as usize },
        52usize,
        concat!(
            "Offset of field: ",
            stringify!(VRVulkanTextureData_t),
            "::",
            stringify!(m_nFormat)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VRVulkanTextureData_t>())).m_nSampleCount as *const _ as usize
        },
        56usize,
        concat!(
            "Offset of field: ",
            stringify!(VRVulkanTextureData_t),
            "::",
            stringify!(m_nSampleCount)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct D3D12TextureData_t {
    pub m_pResource: *mut ID3D12Resource,
    pub m_pCommandQueue: *mut ID3D12CommandQueue,
    pub m_nNodeMask: u32,
}
#[test]
fn bindgen_test_layout_D3D12TextureData_t() {
    assert_eq!(
        ::std::mem::size_of::<D3D12TextureData_t>(),
        24usize,
        concat!("Size of: ", stringify!(D3D12TextureData_t))
    );
    assert_eq!(
        ::std::mem::align_of::<D3D12TextureData_t>(),
        8usize,
        concat!("Alignment of ", stringify!(D3D12TextureData_t))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<D3D12TextureData_t>())).m_pResource as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(D3D12TextureData_t),
            "::",
            stringify!(m_pResource)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<D3D12TextureData_t>())).m_pCommandQueue as *const _ as usize
        },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(D3D12TextureData_t),
            "::",
            stringify!(m_pCommandQueue)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<D3D12TextureData_t>())).m_nNodeMask as *const _ as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(D3D12TextureData_t),
            "::",
            stringify!(m_nNodeMask)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct VREvent_Controller_t {
    pub button: u32,
}
#[test]
fn bindgen_test_layout_VREvent_Controller_t() {
    assert_eq!(
        ::std::mem::size_of::<VREvent_Controller_t>(),
        4usize,
        concat!("Size of: ", stringify!(VREvent_Controller_t))
    );
    assert_eq!(
        ::std::mem::align_of::<VREvent_Controller_t>(),
        4usize,
        concat!("Alignment of ", stringify!(VREvent_Controller_t))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<VREvent_Controller_t>())).button as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(VREvent_Controller_t),
            "::",
            stringify!(button)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct VREvent_Mouse_t {
    pub x: f32,
    pub y: f32,
    pub button: u32,
}
#[test]
fn bindgen_test_layout_VREvent_Mouse_t() {
    assert_eq!(
        ::std::mem::size_of::<VREvent_Mouse_t>(),
        12usize,
        concat!("Size of: ", stringify!(VREvent_Mouse_t))
    );
    assert_eq!(
        ::std::mem::align_of::<VREvent_Mouse_t>(),
        4usize,
        concat!("Alignment of ", stringify!(VREvent_Mouse_t))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<VREvent_Mouse_t>())).x as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(VREvent_Mouse_t),
            "::",
            stringify!(x)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<VREvent_Mouse_t>())).y as *const _ as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(VREvent_Mouse_t),
            "::",
            stringify!(y)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<VREvent_Mouse_t>())).button as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(VREvent_Mouse_t),
            "::",
            stringify!(button)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct VREvent_Scroll_t {
    pub xdelta: f32,
    pub ydelta: f32,
    pub unused: u32,
    pub viewportscale: f32,
}
#[test]
fn bindgen_test_layout_VREvent_Scroll_t() {
    assert_eq!(
        ::std::mem::size_of::<VREvent_Scroll_t>(),
        16usize,
        concat!("Size of: ", stringify!(VREvent_Scroll_t))
    );
    assert_eq!(
        ::std::mem::align_of::<VREvent_Scroll_t>(),
        4usize,
        concat!("Alignment of ", stringify!(VREvent_Scroll_t))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<VREvent_Scroll_t>())).xdelta as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(VREvent_Scroll_t),
            "::",
            stringify!(xdelta)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<VREvent_Scroll_t>())).ydelta as *const _ as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(VREvent_Scroll_t),
            "::",
            stringify!(ydelta)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<VREvent_Scroll_t>())).unused as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(VREvent_Scroll_t),
            "::",
            stringify!(unused)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<VREvent_Scroll_t>())).viewportscale as *const _ as usize },
        12usize,
        concat!(
            "Offset of field: ",
            stringify!(VREvent_Scroll_t),
            "::",
            stringify!(viewportscale)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct VREvent_TouchPadMove_t {
    pub bFingerDown: bool,
    pub flSecondsFingerDown: f32,
    pub fValueXFirst: f32,
    pub fValueYFirst: f32,
    pub fValueXRaw: f32,
    pub fValueYRaw: f32,
}
#[test]
fn bindgen_test_layout_VREvent_TouchPadMove_t() {
    assert_eq!(
        ::std::mem::size_of::<VREvent_TouchPadMove_t>(),
        24usize,
        concat!("Size of: ", stringify!(VREvent_TouchPadMove_t))
    );
    assert_eq!(
        ::std::mem::align_of::<VREvent_TouchPadMove_t>(),
        4usize,
        concat!("Alignment of ", stringify!(VREvent_TouchPadMove_t))
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VREvent_TouchPadMove_t>())).bFingerDown as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(VREvent_TouchPadMove_t),
            "::",
            stringify!(bFingerDown)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VREvent_TouchPadMove_t>())).flSecondsFingerDown as *const _
                as usize
        },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(VREvent_TouchPadMove_t),
            "::",
            stringify!(flSecondsFingerDown)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VREvent_TouchPadMove_t>())).fValueXFirst as *const _ as usize
        },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(VREvent_TouchPadMove_t),
            "::",
            stringify!(fValueXFirst)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VREvent_TouchPadMove_t>())).fValueYFirst as *const _ as usize
        },
        12usize,
        concat!(
            "Offset of field: ",
            stringify!(VREvent_TouchPadMove_t),
            "::",
            stringify!(fValueYFirst)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VREvent_TouchPadMove_t>())).fValueXRaw as *const _ as usize
        },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(VREvent_TouchPadMove_t),
            "::",
            stringify!(fValueXRaw)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VREvent_TouchPadMove_t>())).fValueYRaw as *const _ as usize
        },
        20usize,
        concat!(
            "Offset of field: ",
            stringify!(VREvent_TouchPadMove_t),
            "::",
            stringify!(fValueYRaw)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct VREvent_Notification_t {
    pub ulUserValue: u64,
    pub notificationId: u32,
}
#[test]
fn bindgen_test_layout_VREvent_Notification_t() {
    assert_eq!(
        ::std::mem::size_of::<VREvent_Notification_t>(),
        16usize,
        concat!("Size of: ", stringify!(VREvent_Notification_t))
    );
    assert_eq!(
        ::std::mem::align_of::<VREvent_Notification_t>(),
        8usize,
        concat!("Alignment of ", stringify!(VREvent_Notification_t))
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VREvent_Notification_t>())).ulUserValue as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(VREvent_Notification_t),
            "::",
            stringify!(ulUserValue)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VREvent_Notification_t>())).notificationId as *const _ as usize
        },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(VREvent_Notification_t),
            "::",
            stringify!(notificationId)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct VREvent_Process_t {
    pub pid: u32,
    pub oldPid: u32,
    pub bForced: bool,
    pub bConnectionLost: bool,
}
#[test]
fn bindgen_test_layout_VREvent_Process_t() {
    assert_eq!(
        ::std::mem::size_of::<VREvent_Process_t>(),
        12usize,
        concat!("Size of: ", stringify!(VREvent_Process_t))
    );
    assert_eq!(
        ::std::mem::align_of::<VREvent_Process_t>(),
        4usize,
        concat!("Alignment of ", stringify!(VREvent_Process_t))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<VREvent_Process_t>())).pid as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(VREvent_Process_t),
            "::",
            stringify!(pid)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<VREvent_Process_t>())).oldPid as *const _ as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(VREvent_Process_t),
            "::",
            stringify!(oldPid)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<VREvent_Process_t>())).bForced as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(VREvent_Process_t),
            "::",
            stringify!(bForced)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VREvent_Process_t>())).bConnectionLost as *const _ as usize
        },
        9usize,
        concat!(
            "Offset of field: ",
            stringify!(VREvent_Process_t),
            "::",
            stringify!(bConnectionLost)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct VREvent_Overlay_t {
    pub overlayHandle: u64,
    pub devicePath: u64,
}
#[test]
fn bindgen_test_layout_VREvent_Overlay_t() {
    assert_eq!(
        ::std::mem::size_of::<VREvent_Overlay_t>(),
        16usize,
        concat!("Size of: ", stringify!(VREvent_Overlay_t))
    );
    assert_eq!(
        ::std::mem::align_of::<VREvent_Overlay_t>(),
        8usize,
        concat!("Alignment of ", stringify!(VREvent_Overlay_t))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<VREvent_Overlay_t>())).overlayHandle as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(VREvent_Overlay_t),
            "::",
            stringify!(overlayHandle)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<VREvent_Overlay_t>())).devicePath as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(VREvent_Overlay_t),
            "::",
            stringify!(devicePath)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct VREvent_Status_t {
    pub statusState: u32,
}
#[test]
fn bindgen_test_layout_VREvent_Status_t() {
    assert_eq!(
        ::std::mem::size_of::<VREvent_Status_t>(),
        4usize,
        concat!("Size of: ", stringify!(VREvent_Status_t))
    );
    assert_eq!(
        ::std::mem::align_of::<VREvent_Status_t>(),
        4usize,
        concat!("Alignment of ", stringify!(VREvent_Status_t))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<VREvent_Status_t>())).statusState as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(VREvent_Status_t),
            "::",
            stringify!(statusState)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct VREvent_Keyboard_t {
    pub cNewInput: [::std::os::raw::c_char; 8usize],
    pub uUserValue: u64,
}
#[test]
fn bindgen_test_layout_VREvent_Keyboard_t() {
    assert_eq!(
        ::std::mem::size_of::<VREvent_Keyboard_t>(),
        16usize,
        concat!("Size of: ", stringify!(VREvent_Keyboard_t))
    );
    assert_eq!(
        ::std::mem::align_of::<VREvent_Keyboard_t>(),
        8usize,
        concat!("Alignment of ", stringify!(VREvent_Keyboard_t))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<VREvent_Keyboard_t>())).cNewInput as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(VREvent_Keyboard_t),
            "::",
            stringify!(cNewInput)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<VREvent_Keyboard_t>())).uUserValue as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(VREvent_Keyboard_t),
            "::",
            stringify!(uUserValue)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct VREvent_Ipd_t {
    pub ipdMeters: f32,
}
#[test]
fn bindgen_test_layout_VREvent_Ipd_t() {
    assert_eq!(
        ::std::mem::size_of::<VREvent_Ipd_t>(),
        4usize,
        concat!("Size of: ", stringify!(VREvent_Ipd_t))
    );
    assert_eq!(
        ::std::mem::align_of::<VREvent_Ipd_t>(),
        4usize,
        concat!("Alignment of ", stringify!(VREvent_Ipd_t))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<VREvent_Ipd_t>())).ipdMeters as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(VREvent_Ipd_t),
            "::",
            stringify!(ipdMeters)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct VREvent_Chaperone_t {
    pub m_nPreviousUniverse: u64,
    pub m_nCurrentUniverse: u64,
}
#[test]
fn bindgen_test_layout_VREvent_Chaperone_t() {
    assert_eq!(
        ::std::mem::size_of::<VREvent_Chaperone_t>(),
        16usize,
        concat!("Size of: ", stringify!(VREvent_Chaperone_t))
    );
    assert_eq!(
        ::std::mem::align_of::<VREvent_Chaperone_t>(),
        8usize,
        concat!("Alignment of ", stringify!(VREvent_Chaperone_t))
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VREvent_Chaperone_t>())).m_nPreviousUniverse as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(VREvent_Chaperone_t),
            "::",
            stringify!(m_nPreviousUniverse)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VREvent_Chaperone_t>())).m_nCurrentUniverse as *const _ as usize
        },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(VREvent_Chaperone_t),
            "::",
            stringify!(m_nCurrentUniverse)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct VREvent_Reserved_t {
    pub reserved0: u64,
    pub reserved1: u64,
    pub reserved2: u64,
    pub reserved3: u64,
    pub reserved4: u64,
    pub reserved5: u64,
}
#[test]
fn bindgen_test_layout_VREvent_Reserved_t() {
    assert_eq!(
        ::std::mem::size_of::<VREvent_Reserved_t>(),
        48usize,
        concat!("Size of: ", stringify!(VREvent_Reserved_t))
    );
    assert_eq!(
        ::std::mem::align_of::<VREvent_Reserved_t>(),
        8usize,
        concat!("Alignment of ", stringify!(VREvent_Reserved_t))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<VREvent_Reserved_t>())).reserved0 as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(VREvent_Reserved_t),
            "::",
            stringify!(reserved0)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<VREvent_Reserved_t>())).reserved1 as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(VREvent_Reserved_t),
            "::",
            stringify!(reserved1)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<VREvent_Reserved_t>())).reserved2 as *const _ as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(VREvent_Reserved_t),
            "::",
            stringify!(reserved2)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<VREvent_Reserved_t>())).reserved3 as *const _ as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(VREvent_Reserved_t),
            "::",
            stringify!(reserved3)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<VREvent_Reserved_t>())).reserved4 as *const _ as usize },
        32usize,
        concat!(
            "Offset of field: ",
            stringify!(VREvent_Reserved_t),
            "::",
            stringify!(reserved4)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<VREvent_Reserved_t>())).reserved5 as *const _ as usize },
        40usize,
        concat!(
            "Offset of field: ",
            stringify!(VREvent_Reserved_t),
            "::",
            stringify!(reserved5)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct VREvent_PerformanceTest_t {
    pub m_nFidelityLevel: u32,
}
#[test]
fn bindgen_test_layout_VREvent_PerformanceTest_t() {
    assert_eq!(
        ::std::mem::size_of::<VREvent_PerformanceTest_t>(),
        4usize,
        concat!("Size of: ", stringify!(VREvent_PerformanceTest_t))
    );
    assert_eq!(
        ::std::mem::align_of::<VREvent_PerformanceTest_t>(),
        4usize,
        concat!("Alignment of ", stringify!(VREvent_PerformanceTest_t))
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VREvent_PerformanceTest_t>())).m_nFidelityLevel as *const _
                as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(VREvent_PerformanceTest_t),
            "::",
            stringify!(m_nFidelityLevel)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct VREvent_SeatedZeroPoseReset_t {
    pub bResetBySystemMenu: bool,
}
#[test]
fn bindgen_test_layout_VREvent_SeatedZeroPoseReset_t() {
    assert_eq!(
        ::std::mem::size_of::<VREvent_SeatedZeroPoseReset_t>(),
        1usize,
        concat!("Size of: ", stringify!(VREvent_SeatedZeroPoseReset_t))
    );
    assert_eq!(
        ::std::mem::align_of::<VREvent_SeatedZeroPoseReset_t>(),
        1usize,
        concat!("Alignment of ", stringify!(VREvent_SeatedZeroPoseReset_t))
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VREvent_SeatedZeroPoseReset_t>())).bResetBySystemMenu as *const _
                as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(VREvent_SeatedZeroPoseReset_t),
            "::",
            stringify!(bResetBySystemMenu)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct VREvent_Screenshot_t {
    pub handle: u32,
    pub type_: u32,
}
#[test]
fn bindgen_test_layout_VREvent_Screenshot_t() {
    assert_eq!(
        ::std::mem::size_of::<VREvent_Screenshot_t>(),
        8usize,
        concat!("Size of: ", stringify!(VREvent_Screenshot_t))
    );
    assert_eq!(
        ::std::mem::align_of::<VREvent_Screenshot_t>(),
        4usize,
        concat!("Alignment of ", stringify!(VREvent_Screenshot_t))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<VREvent_Screenshot_t>())).handle as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(VREvent_Screenshot_t),
            "::",
            stringify!(handle)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<VREvent_Screenshot_t>())).type_ as *const _ as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(VREvent_Screenshot_t),
            "::",
            stringify!(type_)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct VREvent_ScreenshotProgress_t {
    pub progress: f32,
}
#[test]
fn bindgen_test_layout_VREvent_ScreenshotProgress_t() {
    assert_eq!(
        ::std::mem::size_of::<VREvent_ScreenshotProgress_t>(),
        4usize,
        concat!("Size of: ", stringify!(VREvent_ScreenshotProgress_t))
    );
    assert_eq!(
        ::std::mem::align_of::<VREvent_ScreenshotProgress_t>(),
        4usize,
        concat!("Alignment of ", stringify!(VREvent_ScreenshotProgress_t))
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VREvent_ScreenshotProgress_t>())).progress as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(VREvent_ScreenshotProgress_t),
            "::",
            stringify!(progress)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct VREvent_ApplicationLaunch_t {
    pub pid: u32,
    pub unArgsHandle: u32,
}
#[test]
fn bindgen_test_layout_VREvent_ApplicationLaunch_t() {
    assert_eq!(
        ::std::mem::size_of::<VREvent_ApplicationLaunch_t>(),
        8usize,
        concat!("Size of: ", stringify!(VREvent_ApplicationLaunch_t))
    );
    assert_eq!(
        ::std::mem::align_of::<VREvent_ApplicationLaunch_t>(),
        4usize,
        concat!("Alignment of ", stringify!(VREvent_ApplicationLaunch_t))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<VREvent_ApplicationLaunch_t>())).pid as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(VREvent_ApplicationLaunch_t),
            "::",
            stringify!(pid)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VREvent_ApplicationLaunch_t>())).unArgsHandle as *const _
                as usize
        },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(VREvent_ApplicationLaunch_t),
            "::",
            stringify!(unArgsHandle)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct VREvent_EditingCameraSurface_t {
    pub overlayHandle: u64,
    pub nVisualMode: u32,
}
#[test]
fn bindgen_test_layout_VREvent_EditingCameraSurface_t() {
    assert_eq!(
        ::std::mem::size_of::<VREvent_EditingCameraSurface_t>(),
        16usize,
        concat!("Size of: ", stringify!(VREvent_EditingCameraSurface_t))
    );
    assert_eq!(
        ::std::mem::align_of::<VREvent_EditingCameraSurface_t>(),
        8usize,
        concat!("Alignment of ", stringify!(VREvent_EditingCameraSurface_t))
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VREvent_EditingCameraSurface_t>())).overlayHandle as *const _
                as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(VREvent_EditingCameraSurface_t),
            "::",
            stringify!(overlayHandle)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VREvent_EditingCameraSurface_t>())).nVisualMode as *const _
                as usize
        },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(VREvent_EditingCameraSurface_t),
            "::",
            stringify!(nVisualMode)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct VREvent_MessageOverlay_t {
    pub unVRMessageOverlayResponse: u32,
}
#[test]
fn bindgen_test_layout_VREvent_MessageOverlay_t() {
    assert_eq!(
        ::std::mem::size_of::<VREvent_MessageOverlay_t>(),
        4usize,
        concat!("Size of: ", stringify!(VREvent_MessageOverlay_t))
    );
    assert_eq!(
        ::std::mem::align_of::<VREvent_MessageOverlay_t>(),
        4usize,
        concat!("Alignment of ", stringify!(VREvent_MessageOverlay_t))
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VREvent_MessageOverlay_t>())).unVRMessageOverlayResponse
                as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(VREvent_MessageOverlay_t),
            "::",
            stringify!(unVRMessageOverlayResponse)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct VREvent_Property_t {
    pub container: PropertyContainerHandle_t,
    pub prop: ETrackedDeviceProperty,
}
#[test]
fn bindgen_test_layout_VREvent_Property_t() {
    assert_eq!(
        ::std::mem::size_of::<VREvent_Property_t>(),
        16usize,
        concat!("Size of: ", stringify!(VREvent_Property_t))
    );
    assert_eq!(
        ::std::mem::align_of::<VREvent_Property_t>(),
        8usize,
        concat!("Alignment of ", stringify!(VREvent_Property_t))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<VREvent_Property_t>())).container as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(VREvent_Property_t),
            "::",
            stringify!(container)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<VREvent_Property_t>())).prop as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(VREvent_Property_t),
            "::",
            stringify!(prop)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct VREvent_DualAnalog_t {
    pub x: f32,
    pub y: f32,
    pub transformedX: f32,
    pub transformedY: f32,
    pub which: EDualAnalogWhich,
}
#[test]
fn bindgen_test_layout_VREvent_DualAnalog_t() {
    assert_eq!(
        ::std::mem::size_of::<VREvent_DualAnalog_t>(),
        20usize,
        concat!("Size of: ", stringify!(VREvent_DualAnalog_t))
    );
    assert_eq!(
        ::std::mem::align_of::<VREvent_DualAnalog_t>(),
        4usize,
        concat!("Alignment of ", stringify!(VREvent_DualAnalog_t))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<VREvent_DualAnalog_t>())).x as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(VREvent_DualAnalog_t),
            "::",
            stringify!(x)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<VREvent_DualAnalog_t>())).y as *const _ as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(VREvent_DualAnalog_t),
            "::",
            stringify!(y)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VREvent_DualAnalog_t>())).transformedX as *const _ as usize
        },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(VREvent_DualAnalog_t),
            "::",
            stringify!(transformedX)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VREvent_DualAnalog_t>())).transformedY as *const _ as usize
        },
        12usize,
        concat!(
            "Offset of field: ",
            stringify!(VREvent_DualAnalog_t),
            "::",
            stringify!(transformedY)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<VREvent_DualAnalog_t>())).which as *const _ as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(VREvent_DualAnalog_t),
            "::",
            stringify!(which)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct VREvent_HapticVibration_t {
    pub containerHandle: u64,
    pub componentHandle: u64,
    pub fDurationSeconds: f32,
    pub fFrequency: f32,
    pub fAmplitude: f32,
}
#[test]
fn bindgen_test_layout_VREvent_HapticVibration_t() {
    assert_eq!(
        ::std::mem::size_of::<VREvent_HapticVibration_t>(),
        32usize,
        concat!("Size of: ", stringify!(VREvent_HapticVibration_t))
    );
    assert_eq!(
        ::std::mem::align_of::<VREvent_HapticVibration_t>(),
        8usize,
        concat!("Alignment of ", stringify!(VREvent_HapticVibration_t))
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VREvent_HapticVibration_t>())).containerHandle as *const _
                as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(VREvent_HapticVibration_t),
            "::",
            stringify!(containerHandle)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VREvent_HapticVibration_t>())).componentHandle as *const _
                as usize
        },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(VREvent_HapticVibration_t),
            "::",
            stringify!(componentHandle)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VREvent_HapticVibration_t>())).fDurationSeconds as *const _
                as usize
        },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(VREvent_HapticVibration_t),
            "::",
            stringify!(fDurationSeconds)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VREvent_HapticVibration_t>())).fFrequency as *const _ as usize
        },
        20usize,
        concat!(
            "Offset of field: ",
            stringify!(VREvent_HapticVibration_t),
            "::",
            stringify!(fFrequency)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VREvent_HapticVibration_t>())).fAmplitude as *const _ as usize
        },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(VREvent_HapticVibration_t),
            "::",
            stringify!(fAmplitude)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct VREvent_WebConsole_t {
    pub webConsoleHandle: WebConsoleHandle_t,
}
#[test]
fn bindgen_test_layout_VREvent_WebConsole_t() {
    assert_eq!(
        ::std::mem::size_of::<VREvent_WebConsole_t>(),
        8usize,
        concat!("Size of: ", stringify!(VREvent_WebConsole_t))
    );
    assert_eq!(
        ::std::mem::align_of::<VREvent_WebConsole_t>(),
        8usize,
        concat!("Alignment of ", stringify!(VREvent_WebConsole_t))
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VREvent_WebConsole_t>())).webConsoleHandle as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(VREvent_WebConsole_t),
            "::",
            stringify!(webConsoleHandle)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct VREvent_InputBindingLoad_t {
    pub ulAppContainer: PropertyContainerHandle_t,
    pub pathMessage: u64,
    pub pathUrl: u64,
    pub pathControllerType: u64,
}
#[test]
fn bindgen_test_layout_VREvent_InputBindingLoad_t() {
    assert_eq!(
        ::std::mem::size_of::<VREvent_InputBindingLoad_t>(),
        32usize,
        concat!("Size of: ", stringify!(VREvent_InputBindingLoad_t))
    );
    assert_eq!(
        ::std::mem::align_of::<VREvent_InputBindingLoad_t>(),
        8usize,
        concat!("Alignment of ", stringify!(VREvent_InputBindingLoad_t))
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VREvent_InputBindingLoad_t>())).ulAppContainer as *const _
                as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(VREvent_InputBindingLoad_t),
            "::",
            stringify!(ulAppContainer)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VREvent_InputBindingLoad_t>())).pathMessage as *const _ as usize
        },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(VREvent_InputBindingLoad_t),
            "::",
            stringify!(pathMessage)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VREvent_InputBindingLoad_t>())).pathUrl as *const _ as usize
        },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(VREvent_InputBindingLoad_t),
            "::",
            stringify!(pathUrl)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VREvent_InputBindingLoad_t>())).pathControllerType as *const _
                as usize
        },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(VREvent_InputBindingLoad_t),
            "::",
            stringify!(pathControllerType)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct VREvent_InputActionManifestLoad_t {
    pub pathAppKey: u64,
    pub pathMessage: u64,
    pub pathMessageParam: u64,
    pub pathManifestPath: u64,
}
#[test]
fn bindgen_test_layout_VREvent_InputActionManifestLoad_t() {
    assert_eq!(
        ::std::mem::size_of::<VREvent_InputActionManifestLoad_t>(),
        32usize,
        concat!("Size of: ", stringify!(VREvent_InputActionManifestLoad_t))
    );
    assert_eq!(
        ::std::mem::align_of::<VREvent_InputActionManifestLoad_t>(),
        8usize,
        concat!(
            "Alignment of ",
            stringify!(VREvent_InputActionManifestLoad_t)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VREvent_InputActionManifestLoad_t>())).pathAppKey as *const _
                as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(VREvent_InputActionManifestLoad_t),
            "::",
            stringify!(pathAppKey)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VREvent_InputActionManifestLoad_t>())).pathMessage as *const _
                as usize
        },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(VREvent_InputActionManifestLoad_t),
            "::",
            stringify!(pathMessage)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VREvent_InputActionManifestLoad_t>())).pathMessageParam
                as *const _ as usize
        },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(VREvent_InputActionManifestLoad_t),
            "::",
            stringify!(pathMessageParam)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VREvent_InputActionManifestLoad_t>())).pathManifestPath
                as *const _ as usize
        },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(VREvent_InputActionManifestLoad_t),
            "::",
            stringify!(pathManifestPath)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct VREvent_SpatialAnchor_t {
    pub unHandle: SpatialAnchorHandle_t,
}
#[test]
fn bindgen_test_layout_VREvent_SpatialAnchor_t() {
    assert_eq!(
        ::std::mem::size_of::<VREvent_SpatialAnchor_t>(),
        4usize,
        concat!("Size of: ", stringify!(VREvent_SpatialAnchor_t))
    );
    assert_eq!(
        ::std::mem::align_of::<VREvent_SpatialAnchor_t>(),
        4usize,
        concat!("Alignment of ", stringify!(VREvent_SpatialAnchor_t))
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VREvent_SpatialAnchor_t>())).unHandle as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(VREvent_SpatialAnchor_t),
            "::",
            stringify!(unHandle)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct VREvent_ProgressUpdate_t {
    pub ulApplicationPropertyContainer: u64,
    pub pathDevice: u64,
    pub pathInputSource: u64,
    pub pathProgressAction: u64,
    pub pathIcon: u64,
    pub fProgress: f32,
}
#[test]
fn bindgen_test_layout_VREvent_ProgressUpdate_t() {
    assert_eq!(
        ::std::mem::size_of::<VREvent_ProgressUpdate_t>(),
        48usize,
        concat!("Size of: ", stringify!(VREvent_ProgressUpdate_t))
    );
    assert_eq!(
        ::std::mem::align_of::<VREvent_ProgressUpdate_t>(),
        8usize,
        concat!("Alignment of ", stringify!(VREvent_ProgressUpdate_t))
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VREvent_ProgressUpdate_t>())).ulApplicationPropertyContainer
                as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(VREvent_ProgressUpdate_t),
            "::",
            stringify!(ulApplicationPropertyContainer)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VREvent_ProgressUpdate_t>())).pathDevice as *const _ as usize
        },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(VREvent_ProgressUpdate_t),
            "::",
            stringify!(pathDevice)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VREvent_ProgressUpdate_t>())).pathInputSource as *const _
                as usize
        },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(VREvent_ProgressUpdate_t),
            "::",
            stringify!(pathInputSource)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VREvent_ProgressUpdate_t>())).pathProgressAction as *const _
                as usize
        },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(VREvent_ProgressUpdate_t),
            "::",
            stringify!(pathProgressAction)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VREvent_ProgressUpdate_t>())).pathIcon as *const _ as usize
        },
        32usize,
        concat!(
            "Offset of field: ",
            stringify!(VREvent_ProgressUpdate_t),
            "::",
            stringify!(pathIcon)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VREvent_ProgressUpdate_t>())).fProgress as *const _ as usize
        },
        40usize,
        concat!(
            "Offset of field: ",
            stringify!(VREvent_ProgressUpdate_t),
            "::",
            stringify!(fProgress)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct VREvent_ShowUI_t {
    pub eType: EShowUIType,
}
#[test]
fn bindgen_test_layout_VREvent_ShowUI_t() {
    assert_eq!(
        ::std::mem::size_of::<VREvent_ShowUI_t>(),
        4usize,
        concat!("Size of: ", stringify!(VREvent_ShowUI_t))
    );
    assert_eq!(
        ::std::mem::align_of::<VREvent_ShowUI_t>(),
        4usize,
        concat!("Alignment of ", stringify!(VREvent_ShowUI_t))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<VREvent_ShowUI_t>())).eType as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(VREvent_ShowUI_t),
            "::",
            stringify!(eType)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct VREvent_ShowDevTools_t {
    pub nBrowserIdentifier: i32,
}
#[test]
fn bindgen_test_layout_VREvent_ShowDevTools_t() {
    assert_eq!(
        ::std::mem::size_of::<VREvent_ShowDevTools_t>(),
        4usize,
        concat!("Size of: ", stringify!(VREvent_ShowDevTools_t))
    );
    assert_eq!(
        ::std::mem::align_of::<VREvent_ShowDevTools_t>(),
        4usize,
        concat!("Alignment of ", stringify!(VREvent_ShowDevTools_t))
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VREvent_ShowDevTools_t>())).nBrowserIdentifier as *const _
                as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(VREvent_ShowDevTools_t),
            "::",
            stringify!(nBrowserIdentifier)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct VREvent_HDCPError_t {
    pub eCode: EHDCPError,
}
#[test]
fn bindgen_test_layout_VREvent_HDCPError_t() {
    assert_eq!(
        ::std::mem::size_of::<VREvent_HDCPError_t>(),
        4usize,
        concat!("Size of: ", stringify!(VREvent_HDCPError_t))
    );
    assert_eq!(
        ::std::mem::align_of::<VREvent_HDCPError_t>(),
        4usize,
        concat!("Alignment of ", stringify!(VREvent_HDCPError_t))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<VREvent_HDCPError_t>())).eCode as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(VREvent_HDCPError_t),
            "::",
            stringify!(eCode)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct HiddenAreaMesh_t {
    pub pVertexData: *mut HmdVector2_t,
    pub unTriangleCount: u32,
}
#[test]
fn bindgen_test_layout_HiddenAreaMesh_t() {
    assert_eq!(
        ::std::mem::size_of::<HiddenAreaMesh_t>(),
        16usize,
        concat!("Size of: ", stringify!(HiddenAreaMesh_t))
    );
    assert_eq!(
        ::std::mem::align_of::<HiddenAreaMesh_t>(),
        8usize,
        concat!("Alignment of ", stringify!(HiddenAreaMesh_t))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<HiddenAreaMesh_t>())).pVertexData as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(HiddenAreaMesh_t),
            "::",
            stringify!(pVertexData)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<HiddenAreaMesh_t>())).unTriangleCount as *const _ as usize
        },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(HiddenAreaMesh_t),
            "::",
            stringify!(unTriangleCount)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct VRControllerAxis_t {
    pub x: f32,
    pub y: f32,
}
#[test]
fn bindgen_test_layout_VRControllerAxis_t() {
    assert_eq!(
        ::std::mem::size_of::<VRControllerAxis_t>(),
        8usize,
        concat!("Size of: ", stringify!(VRControllerAxis_t))
    );
    assert_eq!(
        ::std::mem::align_of::<VRControllerAxis_t>(),
        4usize,
        concat!("Alignment of ", stringify!(VRControllerAxis_t))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<VRControllerAxis_t>())).x as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(VRControllerAxis_t),
            "::",
            stringify!(x)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<VRControllerAxis_t>())).y as *const _ as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(VRControllerAxis_t),
            "::",
            stringify!(y)
        )
    );
}
#[repr(C)]
#[cfg_attr(unix, repr(packed(4)))]
#[derive(Debug, Copy, Clone)]
pub struct VRControllerState_t {
    pub unPacketNum: u32,
    pub ulButtonPressed: u64,
    pub ulButtonTouched: u64,
    pub rAxis: [VRControllerAxis_t; 5usize],
}
#[test]
fn bindgen_test_layout_VRControllerState_t() {
    assert_eq!(
        ::std::mem::size_of::<VRControllerState_t>(),
        64usize,
        concat!("Size of: ", stringify!(VRControllerState_t))
    );
    assert_eq!(
        ::std::mem::align_of::<VRControllerState_t>(),
        8usize,
        concat!("Alignment of ", stringify!(VRControllerState_t))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<VRControllerState_t>())).unPacketNum as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(VRControllerState_t),
            "::",
            stringify!(unPacketNum)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VRControllerState_t>())).ulButtonPressed as *const _ as usize
        },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(VRControllerState_t),
            "::",
            stringify!(ulButtonPressed)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VRControllerState_t>())).ulButtonTouched as *const _ as usize
        },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(VRControllerState_t),
            "::",
            stringify!(ulButtonTouched)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<VRControllerState_t>())).rAxis as *const _ as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(VRControllerState_t),
            "::",
            stringify!(rAxis)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct Compositor_OverlaySettings {
    pub size: u32,
    pub curved: bool,
    pub antialias: bool,
    pub scale: f32,
    pub distance: f32,
    pub alpha: f32,
    pub uOffset: f32,
    pub vOffset: f32,
    pub uScale: f32,
    pub vScale: f32,
    pub gridDivs: f32,
    pub gridWidth: f32,
    pub gridScale: f32,
    pub transform: HmdMatrix44_t,
}
#[test]
fn bindgen_test_layout_Compositor_OverlaySettings() {
    assert_eq!(
        ::std::mem::size_of::<Compositor_OverlaySettings>(),
        112usize,
        concat!("Size of: ", stringify!(Compositor_OverlaySettings))
    );
    assert_eq!(
        ::std::mem::align_of::<Compositor_OverlaySettings>(),
        4usize,
        concat!("Alignment of ", stringify!(Compositor_OverlaySettings))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<Compositor_OverlaySettings>())).size as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(Compositor_OverlaySettings),
            "::",
            stringify!(size)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<Compositor_OverlaySettings>())).curved as *const _ as usize
        },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(Compositor_OverlaySettings),
            "::",
            stringify!(curved)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<Compositor_OverlaySettings>())).antialias as *const _ as usize
        },
        5usize,
        concat!(
            "Offset of field: ",
            stringify!(Compositor_OverlaySettings),
            "::",
            stringify!(antialias)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<Compositor_OverlaySettings>())).scale as *const _ as usize
        },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(Compositor_OverlaySettings),
            "::",
            stringify!(scale)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<Compositor_OverlaySettings>())).distance as *const _ as usize
        },
        12usize,
        concat!(
            "Offset of field: ",
            stringify!(Compositor_OverlaySettings),
            "::",
            stringify!(distance)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<Compositor_OverlaySettings>())).alpha as *const _ as usize
        },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(Compositor_OverlaySettings),
            "::",
            stringify!(alpha)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<Compositor_OverlaySettings>())).uOffset as *const _ as usize
        },
        20usize,
        concat!(
            "Offset of field: ",
            stringify!(Compositor_OverlaySettings),
            "::",
            stringify!(uOffset)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<Compositor_OverlaySettings>())).vOffset as *const _ as usize
        },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(Compositor_OverlaySettings),
            "::",
            stringify!(vOffset)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<Compositor_OverlaySettings>())).uScale as *const _ as usize
        },
        28usize,
        concat!(
            "Offset of field: ",
            stringify!(Compositor_OverlaySettings),
            "::",
            stringify!(uScale)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<Compositor_OverlaySettings>())).vScale as *const _ as usize
        },
        32usize,
        concat!(
            "Offset of field: ",
            stringify!(Compositor_OverlaySettings),
            "::",
            stringify!(vScale)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<Compositor_OverlaySettings>())).gridDivs as *const _ as usize
        },
        36usize,
        concat!(
            "Offset of field: ",
            stringify!(Compositor_OverlaySettings),
            "::",
            stringify!(gridDivs)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<Compositor_OverlaySettings>())).gridWidth as *const _ as usize
        },
        40usize,
        concat!(
            "Offset of field: ",
            stringify!(Compositor_OverlaySettings),
            "::",
            stringify!(gridWidth)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<Compositor_OverlaySettings>())).gridScale as *const _ as usize
        },
        44usize,
        concat!(
            "Offset of field: ",
            stringify!(Compositor_OverlaySettings),
            "::",
            stringify!(gridScale)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<Compositor_OverlaySettings>())).transform as *const _ as usize
        },
        48usize,
        concat!(
            "Offset of field: ",
            stringify!(Compositor_OverlaySettings),
            "::",
            stringify!(transform)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct VRBoneTransform_t {
    pub position: HmdVector4_t,
    pub orientation: HmdQuaternionf_t,
}
#[test]
fn bindgen_test_layout_VRBoneTransform_t() {
    assert_eq!(
        ::std::mem::size_of::<VRBoneTransform_t>(),
        32usize,
        concat!("Size of: ", stringify!(VRBoneTransform_t))
    );
    assert_eq!(
        ::std::mem::align_of::<VRBoneTransform_t>(),
        4usize,
        concat!("Alignment of ", stringify!(VRBoneTransform_t))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<VRBoneTransform_t>())).position as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(VRBoneTransform_t),
            "::",
            stringify!(position)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<VRBoneTransform_t>())).orientation as *const _ as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(VRBoneTransform_t),
            "::",
            stringify!(orientation)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CameraVideoStreamFrameHeader_t {
    pub eFrameType: EVRTrackedCameraFrameType,
    pub nWidth: u32,
    pub nHeight: u32,
    pub nBytesPerPixel: u32,
    pub nFrameSequence: u32,
    pub standingTrackedDevicePose: TrackedDevicePose_t,
    pub ulFrameExposureTime: u64,
}
#[test]
fn bindgen_test_layout_CameraVideoStreamFrameHeader_t() {
    assert_eq!(
        ::std::mem::size_of::<CameraVideoStreamFrameHeader_t>(),
        112usize,
        concat!("Size of: ", stringify!(CameraVideoStreamFrameHeader_t))
    );
    assert_eq!(
        ::std::mem::align_of::<CameraVideoStreamFrameHeader_t>(),
        8usize,
        concat!("Alignment of ", stringify!(CameraVideoStreamFrameHeader_t))
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<CameraVideoStreamFrameHeader_t>())).eFrameType as *const _
                as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(CameraVideoStreamFrameHeader_t),
            "::",
            stringify!(eFrameType)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<CameraVideoStreamFrameHeader_t>())).nWidth as *const _ as usize
        },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(CameraVideoStreamFrameHeader_t),
            "::",
            stringify!(nWidth)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<CameraVideoStreamFrameHeader_t>())).nHeight as *const _ as usize
        },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(CameraVideoStreamFrameHeader_t),
            "::",
            stringify!(nHeight)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<CameraVideoStreamFrameHeader_t>())).nBytesPerPixel as *const _
                as usize
        },
        12usize,
        concat!(
            "Offset of field: ",
            stringify!(CameraVideoStreamFrameHeader_t),
            "::",
            stringify!(nBytesPerPixel)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<CameraVideoStreamFrameHeader_t>())).nFrameSequence as *const _
                as usize
        },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(CameraVideoStreamFrameHeader_t),
            "::",
            stringify!(nFrameSequence)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<CameraVideoStreamFrameHeader_t>())).standingTrackedDevicePose
                as *const _ as usize
        },
        20usize,
        concat!(
            "Offset of field: ",
            stringify!(CameraVideoStreamFrameHeader_t),
            "::",
            stringify!(standingTrackedDevicePose)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<CameraVideoStreamFrameHeader_t>())).ulFrameExposureTime
                as *const _ as usize
        },
        104usize,
        concat!(
            "Offset of field: ",
            stringify!(CameraVideoStreamFrameHeader_t),
            "::",
            stringify!(ulFrameExposureTime)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct DriverDirectMode_FrameTiming {
    pub m_nSize: u32,
    pub m_nNumFramePresents: u32,
    pub m_nNumMisPresented: u32,
    pub m_nNumDroppedFrames: u32,
    pub m_nReprojectionFlags: u32,
}
#[test]
fn bindgen_test_layout_DriverDirectMode_FrameTiming() {
    assert_eq!(
        ::std::mem::size_of::<DriverDirectMode_FrameTiming>(),
        20usize,
        concat!("Size of: ", stringify!(DriverDirectMode_FrameTiming))
    );
    assert_eq!(
        ::std::mem::align_of::<DriverDirectMode_FrameTiming>(),
        4usize,
        concat!("Alignment of ", stringify!(DriverDirectMode_FrameTiming))
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<DriverDirectMode_FrameTiming>())).m_nSize as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(DriverDirectMode_FrameTiming),
            "::",
            stringify!(m_nSize)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<DriverDirectMode_FrameTiming>())).m_nNumFramePresents as *const _
                as usize
        },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(DriverDirectMode_FrameTiming),
            "::",
            stringify!(m_nNumFramePresents)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<DriverDirectMode_FrameTiming>())).m_nNumMisPresented as *const _
                as usize
        },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(DriverDirectMode_FrameTiming),
            "::",
            stringify!(m_nNumMisPresented)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<DriverDirectMode_FrameTiming>())).m_nNumDroppedFrames as *const _
                as usize
        },
        12usize,
        concat!(
            "Offset of field: ",
            stringify!(DriverDirectMode_FrameTiming),
            "::",
            stringify!(m_nNumDroppedFrames)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<DriverDirectMode_FrameTiming>())).m_nReprojectionFlags
                as *const _ as usize
        },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(DriverDirectMode_FrameTiming),
            "::",
            stringify!(m_nReprojectionFlags)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct ImuSample_t {
    pub fSampleTime: f64,
    pub vAccel: HmdVector3d_t,
    pub vGyro: HmdVector3d_t,
    pub unOffScaleFlags: u32,
}
#[test]
fn bindgen_test_layout_ImuSample_t() {
    assert_eq!(
        ::std::mem::size_of::<ImuSample_t>(),
        64usize,
        concat!("Size of: ", stringify!(ImuSample_t))
    );
    assert_eq!(
        ::std::mem::align_of::<ImuSample_t>(),
        8usize,
        concat!("Alignment of ", stringify!(ImuSample_t))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<ImuSample_t>())).fSampleTime as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(ImuSample_t),
            "::",
            stringify!(fSampleTime)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<ImuSample_t>())).vAccel as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(ImuSample_t),
            "::",
            stringify!(vAccel)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<ImuSample_t>())).vGyro as *const _ as usize },
        32usize,
        concat!(
            "Offset of field: ",
            stringify!(ImuSample_t),
            "::",
            stringify!(vGyro)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<ImuSample_t>())).unOffScaleFlags as *const _ as usize },
        56usize,
        concat!(
            "Offset of field: ",
            stringify!(ImuSample_t),
            "::",
            stringify!(unOffScaleFlags)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct AppOverrideKeys_t {
    pub pchKey: *mut ::std::os::raw::c_char,
    pub pchValue: *mut ::std::os::raw::c_char,
}
#[test]
fn bindgen_test_layout_AppOverrideKeys_t() {
    assert_eq!(
        ::std::mem::size_of::<AppOverrideKeys_t>(),
        16usize,
        concat!("Size of: ", stringify!(AppOverrideKeys_t))
    );
    assert_eq!(
        ::std::mem::align_of::<AppOverrideKeys_t>(),
        8usize,
        concat!("Alignment of ", stringify!(AppOverrideKeys_t))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<AppOverrideKeys_t>())).pchKey as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(AppOverrideKeys_t),
            "::",
            stringify!(pchKey)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<AppOverrideKeys_t>())).pchValue as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(AppOverrideKeys_t),
            "::",
            stringify!(pchValue)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct Compositor_FrameTiming {
    pub m_nSize: u32,
    pub m_nFrameIndex: u32,
    pub m_nNumFramePresents: u32,
    pub m_nNumMisPresented: u32,
    pub m_nNumDroppedFrames: u32,
    pub m_nReprojectionFlags: u32,
    pub m_flSystemTimeInSeconds: f64,
    pub m_flPreSubmitGpuMs: f32,
    pub m_flPostSubmitGpuMs: f32,
    pub m_flTotalRenderGpuMs: f32,
    pub m_flCompositorRenderGpuMs: f32,
    pub m_flCompositorRenderCpuMs: f32,
    pub m_flCompositorIdleCpuMs: f32,
    pub m_flClientFrameIntervalMs: f32,
    pub m_flPresentCallCpuMs: f32,
    pub m_flWaitForPresentCpuMs: f32,
    pub m_flSubmitFrameMs: f32,
    pub m_flWaitGetPosesCalledMs: f32,
    pub m_flNewPosesReadyMs: f32,
    pub m_flNewFrameReadyMs: f32,
    pub m_flCompositorUpdateStartMs: f32,
    pub m_flCompositorUpdateEndMs: f32,
    pub m_flCompositorRenderStartMs: f32,
    pub m_HmdPose: TrackedDevicePose_t,
    pub m_nNumVSyncsReadyForUse: u32,
    pub m_nNumVSyncsToFirstView: u32,
}
#[test]
fn bindgen_test_layout_Compositor_FrameTiming() {
    assert_eq!(
        ::std::mem::size_of::<Compositor_FrameTiming>(),
        184usize,
        concat!("Size of: ", stringify!(Compositor_FrameTiming))
    );
    assert_eq!(
        ::std::mem::align_of::<Compositor_FrameTiming>(),
        8usize,
        concat!("Alignment of ", stringify!(Compositor_FrameTiming))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<Compositor_FrameTiming>())).m_nSize as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(Compositor_FrameTiming),
            "::",
            stringify!(m_nSize)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<Compositor_FrameTiming>())).m_nFrameIndex as *const _ as usize
        },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(Compositor_FrameTiming),
            "::",
            stringify!(m_nFrameIndex)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<Compositor_FrameTiming>())).m_nNumFramePresents as *const _
                as usize
        },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(Compositor_FrameTiming),
            "::",
            stringify!(m_nNumFramePresents)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<Compositor_FrameTiming>())).m_nNumMisPresented as *const _
                as usize
        },
        12usize,
        concat!(
            "Offset of field: ",
            stringify!(Compositor_FrameTiming),
            "::",
            stringify!(m_nNumMisPresented)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<Compositor_FrameTiming>())).m_nNumDroppedFrames as *const _
                as usize
        },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(Compositor_FrameTiming),
            "::",
            stringify!(m_nNumDroppedFrames)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<Compositor_FrameTiming>())).m_nReprojectionFlags as *const _
                as usize
        },
        20usize,
        concat!(
            "Offset of field: ",
            stringify!(Compositor_FrameTiming),
            "::",
            stringify!(m_nReprojectionFlags)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<Compositor_FrameTiming>())).m_flSystemTimeInSeconds as *const _
                as usize
        },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(Compositor_FrameTiming),
            "::",
            stringify!(m_flSystemTimeInSeconds)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<Compositor_FrameTiming>())).m_flPreSubmitGpuMs as *const _
                as usize
        },
        32usize,
        concat!(
            "Offset of field: ",
            stringify!(Compositor_FrameTiming),
            "::",
            stringify!(m_flPreSubmitGpuMs)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<Compositor_FrameTiming>())).m_flPostSubmitGpuMs as *const _
                as usize
        },
        36usize,
        concat!(
            "Offset of field: ",
            stringify!(Compositor_FrameTiming),
            "::",
            stringify!(m_flPostSubmitGpuMs)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<Compositor_FrameTiming>())).m_flTotalRenderGpuMs as *const _
                as usize
        },
        40usize,
        concat!(
            "Offset of field: ",
            stringify!(Compositor_FrameTiming),
            "::",
            stringify!(m_flTotalRenderGpuMs)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<Compositor_FrameTiming>())).m_flCompositorRenderGpuMs as *const _
                as usize
        },
        44usize,
        concat!(
            "Offset of field: ",
            stringify!(Compositor_FrameTiming),
            "::",
            stringify!(m_flCompositorRenderGpuMs)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<Compositor_FrameTiming>())).m_flCompositorRenderCpuMs as *const _
                as usize
        },
        48usize,
        concat!(
            "Offset of field: ",
            stringify!(Compositor_FrameTiming),
            "::",
            stringify!(m_flCompositorRenderCpuMs)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<Compositor_FrameTiming>())).m_flCompositorIdleCpuMs as *const _
                as usize
        },
        52usize,
        concat!(
            "Offset of field: ",
            stringify!(Compositor_FrameTiming),
            "::",
            stringify!(m_flCompositorIdleCpuMs)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<Compositor_FrameTiming>())).m_flClientFrameIntervalMs as *const _
                as usize
        },
        56usize,
        concat!(
            "Offset of field: ",
            stringify!(Compositor_FrameTiming),
            "::",
            stringify!(m_flClientFrameIntervalMs)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<Compositor_FrameTiming>())).m_flPresentCallCpuMs as *const _
                as usize
        },
        60usize,
        concat!(
            "Offset of field: ",
            stringify!(Compositor_FrameTiming),
            "::",
            stringify!(m_flPresentCallCpuMs)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<Compositor_FrameTiming>())).m_flWaitForPresentCpuMs as *const _
                as usize
        },
        64usize,
        concat!(
            "Offset of field: ",
            stringify!(Compositor_FrameTiming),
            "::",
            stringify!(m_flWaitForPresentCpuMs)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<Compositor_FrameTiming>())).m_flSubmitFrameMs as *const _
                as usize
        },
        68usize,
        concat!(
            "Offset of field: ",
            stringify!(Compositor_FrameTiming),
            "::",
            stringify!(m_flSubmitFrameMs)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<Compositor_FrameTiming>())).m_flWaitGetPosesCalledMs as *const _
                as usize
        },
        72usize,
        concat!(
            "Offset of field: ",
            stringify!(Compositor_FrameTiming),
            "::",
            stringify!(m_flWaitGetPosesCalledMs)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<Compositor_FrameTiming>())).m_flNewPosesReadyMs as *const _
                as usize
        },
        76usize,
        concat!(
            "Offset of field: ",
            stringify!(Compositor_FrameTiming),
            "::",
            stringify!(m_flNewPosesReadyMs)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<Compositor_FrameTiming>())).m_flNewFrameReadyMs as *const _
                as usize
        },
        80usize,
        concat!(
            "Offset of field: ",
            stringify!(Compositor_FrameTiming),
            "::",
            stringify!(m_flNewFrameReadyMs)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<Compositor_FrameTiming>())).m_flCompositorUpdateStartMs
                as *const _ as usize
        },
        84usize,
        concat!(
            "Offset of field: ",
            stringify!(Compositor_FrameTiming),
            "::",
            stringify!(m_flCompositorUpdateStartMs)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<Compositor_FrameTiming>())).m_flCompositorUpdateEndMs as *const _
                as usize
        },
        88usize,
        concat!(
            "Offset of field: ",
            stringify!(Compositor_FrameTiming),
            "::",
            stringify!(m_flCompositorUpdateEndMs)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<Compositor_FrameTiming>())).m_flCompositorRenderStartMs
                as *const _ as usize
        },
        92usize,
        concat!(
            "Offset of field: ",
            stringify!(Compositor_FrameTiming),
            "::",
            stringify!(m_flCompositorRenderStartMs)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<Compositor_FrameTiming>())).m_HmdPose as *const _ as usize
        },
        96usize,
        concat!(
            "Offset of field: ",
            stringify!(Compositor_FrameTiming),
            "::",
            stringify!(m_HmdPose)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<Compositor_FrameTiming>())).m_nNumVSyncsReadyForUse as *const _
                as usize
        },
        176usize,
        concat!(
            "Offset of field: ",
            stringify!(Compositor_FrameTiming),
            "::",
            stringify!(m_nNumVSyncsReadyForUse)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<Compositor_FrameTiming>())).m_nNumVSyncsToFirstView as *const _
                as usize
        },
        180usize,
        concat!(
            "Offset of field: ",
            stringify!(Compositor_FrameTiming),
            "::",
            stringify!(m_nNumVSyncsToFirstView)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct Compositor_CumulativeStats {
    pub m_nPid: u32,
    pub m_nNumFramePresents: u32,
    pub m_nNumDroppedFrames: u32,
    pub m_nNumReprojectedFrames: u32,
    pub m_nNumFramePresentsOnStartup: u32,
    pub m_nNumDroppedFramesOnStartup: u32,
    pub m_nNumReprojectedFramesOnStartup: u32,
    pub m_nNumLoading: u32,
    pub m_nNumFramePresentsLoading: u32,
    pub m_nNumDroppedFramesLoading: u32,
    pub m_nNumReprojectedFramesLoading: u32,
    pub m_nNumTimedOut: u32,
    pub m_nNumFramePresentsTimedOut: u32,
    pub m_nNumDroppedFramesTimedOut: u32,
    pub m_nNumReprojectedFramesTimedOut: u32,
}
#[test]
fn bindgen_test_layout_Compositor_CumulativeStats() {
    assert_eq!(
        ::std::mem::size_of::<Compositor_CumulativeStats>(),
        60usize,
        concat!("Size of: ", stringify!(Compositor_CumulativeStats))
    );
    assert_eq!(
        ::std::mem::align_of::<Compositor_CumulativeStats>(),
        4usize,
        concat!("Alignment of ", stringify!(Compositor_CumulativeStats))
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<Compositor_CumulativeStats>())).m_nPid as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(Compositor_CumulativeStats),
            "::",
            stringify!(m_nPid)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<Compositor_CumulativeStats>())).m_nNumFramePresents as *const _
                as usize
        },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(Compositor_CumulativeStats),
            "::",
            stringify!(m_nNumFramePresents)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<Compositor_CumulativeStats>())).m_nNumDroppedFrames as *const _
                as usize
        },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(Compositor_CumulativeStats),
            "::",
            stringify!(m_nNumDroppedFrames)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<Compositor_CumulativeStats>())).m_nNumReprojectedFrames
                as *const _ as usize
        },
        12usize,
        concat!(
            "Offset of field: ",
            stringify!(Compositor_CumulativeStats),
            "::",
            stringify!(m_nNumReprojectedFrames)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<Compositor_CumulativeStats>())).m_nNumFramePresentsOnStartup
                as *const _ as usize
        },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(Compositor_CumulativeStats),
            "::",
            stringify!(m_nNumFramePresentsOnStartup)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<Compositor_CumulativeStats>())).m_nNumDroppedFramesOnStartup
                as *const _ as usize
        },
        20usize,
        concat!(
            "Offset of field: ",
            stringify!(Compositor_CumulativeStats),
            "::",
            stringify!(m_nNumDroppedFramesOnStartup)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<Compositor_CumulativeStats>())).m_nNumReprojectedFramesOnStartup
                as *const _ as usize
        },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(Compositor_CumulativeStats),
            "::",
            stringify!(m_nNumReprojectedFramesOnStartup)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<Compositor_CumulativeStats>())).m_nNumLoading as *const _
                as usize
        },
        28usize,
        concat!(
            "Offset of field: ",
            stringify!(Compositor_CumulativeStats),
            "::",
            stringify!(m_nNumLoading)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<Compositor_CumulativeStats>())).m_nNumFramePresentsLoading
                as *const _ as usize
        },
        32usize,
        concat!(
            "Offset of field: ",
            stringify!(Compositor_CumulativeStats),
            "::",
            stringify!(m_nNumFramePresentsLoading)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<Compositor_CumulativeStats>())).m_nNumDroppedFramesLoading
                as *const _ as usize
        },
        36usize,
        concat!(
            "Offset of field: ",
            stringify!(Compositor_CumulativeStats),
            "::",
            stringify!(m_nNumDroppedFramesLoading)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<Compositor_CumulativeStats>())).m_nNumReprojectedFramesLoading
                as *const _ as usize
        },
        40usize,
        concat!(
            "Offset of field: ",
            stringify!(Compositor_CumulativeStats),
            "::",
            stringify!(m_nNumReprojectedFramesLoading)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<Compositor_CumulativeStats>())).m_nNumTimedOut as *const _
                as usize
        },
        44usize,
        concat!(
            "Offset of field: ",
            stringify!(Compositor_CumulativeStats),
            "::",
            stringify!(m_nNumTimedOut)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<Compositor_CumulativeStats>())).m_nNumFramePresentsTimedOut
                as *const _ as usize
        },
        48usize,
        concat!(
            "Offset of field: ",
            stringify!(Compositor_CumulativeStats),
            "::",
            stringify!(m_nNumFramePresentsTimedOut)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<Compositor_CumulativeStats>())).m_nNumDroppedFramesTimedOut
                as *const _ as usize
        },
        52usize,
        concat!(
            "Offset of field: ",
            stringify!(Compositor_CumulativeStats),
            "::",
            stringify!(m_nNumDroppedFramesTimedOut)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<Compositor_CumulativeStats>())).m_nNumReprojectedFramesTimedOut
                as *const _ as usize
        },
        56usize,
        concat!(
            "Offset of field: ",
            stringify!(Compositor_CumulativeStats),
            "::",
            stringify!(m_nNumReprojectedFramesTimedOut)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct VROverlayIntersectionParams_t {
    pub vSource: HmdVector3_t,
    pub vDirection: HmdVector3_t,
    pub eOrigin: ETrackingUniverseOrigin,
}
#[test]
fn bindgen_test_layout_VROverlayIntersectionParams_t() {
    assert_eq!(
        ::std::mem::size_of::<VROverlayIntersectionParams_t>(),
        28usize,
        concat!("Size of: ", stringify!(VROverlayIntersectionParams_t))
    );
    assert_eq!(
        ::std::mem::align_of::<VROverlayIntersectionParams_t>(),
        4usize,
        concat!("Alignment of ", stringify!(VROverlayIntersectionParams_t))
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VROverlayIntersectionParams_t>())).vSource as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(VROverlayIntersectionParams_t),
            "::",
            stringify!(vSource)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VROverlayIntersectionParams_t>())).vDirection as *const _
                as usize
        },
        12usize,
        concat!(
            "Offset of field: ",
            stringify!(VROverlayIntersectionParams_t),
            "::",
            stringify!(vDirection)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VROverlayIntersectionParams_t>())).eOrigin as *const _ as usize
        },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(VROverlayIntersectionParams_t),
            "::",
            stringify!(eOrigin)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct VROverlayIntersectionResults_t {
    pub vPoint: HmdVector3_t,
    pub vNormal: HmdVector3_t,
    pub vUVs: HmdVector2_t,
    pub fDistance: f32,
}
#[test]
fn bindgen_test_layout_VROverlayIntersectionResults_t() {
    assert_eq!(
        ::std::mem::size_of::<VROverlayIntersectionResults_t>(),
        36usize,
        concat!("Size of: ", stringify!(VROverlayIntersectionResults_t))
    );
    assert_eq!(
        ::std::mem::align_of::<VROverlayIntersectionResults_t>(),
        4usize,
        concat!("Alignment of ", stringify!(VROverlayIntersectionResults_t))
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VROverlayIntersectionResults_t>())).vPoint as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(VROverlayIntersectionResults_t),
            "::",
            stringify!(vPoint)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VROverlayIntersectionResults_t>())).vNormal as *const _ as usize
        },
        12usize,
        concat!(
            "Offset of field: ",
            stringify!(VROverlayIntersectionResults_t),
            "::",
            stringify!(vNormal)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VROverlayIntersectionResults_t>())).vUVs as *const _ as usize
        },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(VROverlayIntersectionResults_t),
            "::",
            stringify!(vUVs)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VROverlayIntersectionResults_t>())).fDistance as *const _
                as usize
        },
        32usize,
        concat!(
            "Offset of field: ",
            stringify!(VROverlayIntersectionResults_t),
            "::",
            stringify!(fDistance)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct IntersectionMaskRectangle_t {
    pub m_flTopLeftX: f32,
    pub m_flTopLeftY: f32,
    pub m_flWidth: f32,
    pub m_flHeight: f32,
}
#[test]
fn bindgen_test_layout_IntersectionMaskRectangle_t() {
    assert_eq!(
        ::std::mem::size_of::<IntersectionMaskRectangle_t>(),
        16usize,
        concat!("Size of: ", stringify!(IntersectionMaskRectangle_t))
    );
    assert_eq!(
        ::std::mem::align_of::<IntersectionMaskRectangle_t>(),
        4usize,
        concat!("Alignment of ", stringify!(IntersectionMaskRectangle_t))
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<IntersectionMaskRectangle_t>())).m_flTopLeftX as *const _
                as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(IntersectionMaskRectangle_t),
            "::",
            stringify!(m_flTopLeftX)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<IntersectionMaskRectangle_t>())).m_flTopLeftY as *const _
                as usize
        },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(IntersectionMaskRectangle_t),
            "::",
            stringify!(m_flTopLeftY)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<IntersectionMaskRectangle_t>())).m_flWidth as *const _ as usize
        },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(IntersectionMaskRectangle_t),
            "::",
            stringify!(m_flWidth)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<IntersectionMaskRectangle_t>())).m_flHeight as *const _ as usize
        },
        12usize,
        concat!(
            "Offset of field: ",
            stringify!(IntersectionMaskRectangle_t),
            "::",
            stringify!(m_flHeight)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct IntersectionMaskCircle_t {
    pub m_flCenterX: f32,
    pub m_flCenterY: f32,
    pub m_flRadius: f32,
}
#[test]
fn bindgen_test_layout_IntersectionMaskCircle_t() {
    assert_eq!(
        ::std::mem::size_of::<IntersectionMaskCircle_t>(),
        12usize,
        concat!("Size of: ", stringify!(IntersectionMaskCircle_t))
    );
    assert_eq!(
        ::std::mem::align_of::<IntersectionMaskCircle_t>(),
        4usize,
        concat!("Alignment of ", stringify!(IntersectionMaskCircle_t))
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<IntersectionMaskCircle_t>())).m_flCenterX as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(IntersectionMaskCircle_t),
            "::",
            stringify!(m_flCenterX)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<IntersectionMaskCircle_t>())).m_flCenterY as *const _ as usize
        },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(IntersectionMaskCircle_t),
            "::",
            stringify!(m_flCenterY)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<IntersectionMaskCircle_t>())).m_flRadius as *const _ as usize
        },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(IntersectionMaskCircle_t),
            "::",
            stringify!(m_flRadius)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct RenderModel_ComponentState_t {
    pub mTrackingToComponentRenderModel: HmdMatrix34_t,
    pub mTrackingToComponentLocal: HmdMatrix34_t,
    pub uProperties: VRComponentProperties,
}
#[test]
fn bindgen_test_layout_RenderModel_ComponentState_t() {
    assert_eq!(
        ::std::mem::size_of::<RenderModel_ComponentState_t>(),
        100usize,
        concat!("Size of: ", stringify!(RenderModel_ComponentState_t))
    );
    assert_eq!(
        ::std::mem::align_of::<RenderModel_ComponentState_t>(),
        4usize,
        concat!("Alignment of ", stringify!(RenderModel_ComponentState_t))
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<RenderModel_ComponentState_t>())).mTrackingToComponentRenderModel
                as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(RenderModel_ComponentState_t),
            "::",
            stringify!(mTrackingToComponentRenderModel)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<RenderModel_ComponentState_t>())).mTrackingToComponentLocal
                as *const _ as usize
        },
        48usize,
        concat!(
            "Offset of field: ",
            stringify!(RenderModel_ComponentState_t),
            "::",
            stringify!(mTrackingToComponentLocal)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<RenderModel_ComponentState_t>())).uProperties as *const _
                as usize
        },
        96usize,
        concat!(
            "Offset of field: ",
            stringify!(RenderModel_ComponentState_t),
            "::",
            stringify!(uProperties)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct RenderModel_Vertex_t {
    pub vPosition: HmdVector3_t,
    pub vNormal: HmdVector3_t,
    pub rfTextureCoord: [f32; 2usize],
}
#[test]
fn bindgen_test_layout_RenderModel_Vertex_t() {
    assert_eq!(
        ::std::mem::size_of::<RenderModel_Vertex_t>(),
        32usize,
        concat!("Size of: ", stringify!(RenderModel_Vertex_t))
    );
    assert_eq!(
        ::std::mem::align_of::<RenderModel_Vertex_t>(),
        4usize,
        concat!("Alignment of ", stringify!(RenderModel_Vertex_t))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<RenderModel_Vertex_t>())).vPosition as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(RenderModel_Vertex_t),
            "::",
            stringify!(vPosition)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<RenderModel_Vertex_t>())).vNormal as *const _ as usize },
        12usize,
        concat!(
            "Offset of field: ",
            stringify!(RenderModel_Vertex_t),
            "::",
            stringify!(vNormal)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<RenderModel_Vertex_t>())).rfTextureCoord as *const _ as usize
        },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(RenderModel_Vertex_t),
            "::",
            stringify!(rfTextureCoord)
        )
    );
}
#[repr(C)]
#[cfg_attr(unix, repr(packed(4)))]
#[derive(Debug, Copy, Clone)]
pub struct RenderModel_TextureMap_t {
    pub unWidth: u16,
    pub unHeight: u16,
    pub rubTextureMapData: *mut u8,
}
#[test]
fn bindgen_test_layout_RenderModel_TextureMap_t() {
    assert_eq!(
        ::std::mem::size_of::<RenderModel_TextureMap_t>(),
        12usize,
        concat!("Size of: ", stringify!(RenderModel_TextureMap_t))
    );
    assert_eq!(
        ::std::mem::align_of::<RenderModel_TextureMap_t>(),
        4usize,
        concat!("Alignment of ", stringify!(RenderModel_TextureMap_t))
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<RenderModel_TextureMap_t>())).unWidth as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(RenderModel_TextureMap_t),
            "::",
            stringify!(unWidth)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<RenderModel_TextureMap_t>())).unHeight as *const _ as usize
        },
        2usize,
        concat!(
            "Offset of field: ",
            stringify!(RenderModel_TextureMap_t),
            "::",
            stringify!(unHeight)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<RenderModel_TextureMap_t>())).rubTextureMapData as *const _
                as usize
        },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(RenderModel_TextureMap_t),
            "::",
            stringify!(rubTextureMapData)
        )
    );
}
#[repr(C)]
#[cfg_attr(unix, repr(packed(4)))]
#[derive(Debug, Copy, Clone)]
pub struct RenderModel_t {
    pub rVertexData: *mut RenderModel_Vertex_t,
    pub unVertexCount: u32,
    pub rIndexData: *mut u16,
    pub unTriangleCount: u32,
    pub diffuseTextureId: TextureID_t,
}
#[test]
fn bindgen_test_layout_RenderModel_t() {
    assert_eq!(
        ::std::mem::size_of::<RenderModel_t>(),
        28usize,
        concat!("Size of: ", stringify!(RenderModel_t))
    );
    assert_eq!(
        ::std::mem::align_of::<RenderModel_t>(),
        4usize,
        concat!("Alignment of ", stringify!(RenderModel_t))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<RenderModel_t>())).rVertexData as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(RenderModel_t),
            "::",
            stringify!(rVertexData)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<RenderModel_t>())).unVertexCount as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(RenderModel_t),
            "::",
            stringify!(unVertexCount)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<RenderModel_t>())).rIndexData as *const _ as usize },
        12usize,
        concat!(
            "Offset of field: ",
            stringify!(RenderModel_t),
            "::",
            stringify!(rIndexData)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<RenderModel_t>())).unTriangleCount as *const _ as usize },
        20usize,
        concat!(
            "Offset of field: ",
            stringify!(RenderModel_t),
            "::",
            stringify!(unTriangleCount)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<RenderModel_t>())).diffuseTextureId as *const _ as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(RenderModel_t),
            "::",
            stringify!(diffuseTextureId)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct RenderModel_ControllerMode_State_t {
    pub bScrollWheelVisible: bool,
}
#[test]
fn bindgen_test_layout_RenderModel_ControllerMode_State_t() {
    assert_eq!(
        ::std::mem::size_of::<RenderModel_ControllerMode_State_t>(),
        1usize,
        concat!("Size of: ", stringify!(RenderModel_ControllerMode_State_t))
    );
    assert_eq!(
        ::std::mem::align_of::<RenderModel_ControllerMode_State_t>(),
        1usize,
        concat!(
            "Alignment of ",
            stringify!(RenderModel_ControllerMode_State_t)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<RenderModel_ControllerMode_State_t>())).bScrollWheelVisible
                as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(RenderModel_ControllerMode_State_t),
            "::",
            stringify!(bScrollWheelVisible)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct NotificationBitmap_t {
    pub m_pImageData: *mut ::std::os::raw::c_void,
    pub m_nWidth: i32,
    pub m_nHeight: i32,
    pub m_nBytesPerPixel: i32,
}
#[test]
fn bindgen_test_layout_NotificationBitmap_t() {
    assert_eq!(
        ::std::mem::size_of::<NotificationBitmap_t>(),
        24usize,
        concat!("Size of: ", stringify!(NotificationBitmap_t))
    );
    assert_eq!(
        ::std::mem::align_of::<NotificationBitmap_t>(),
        8usize,
        concat!("Alignment of ", stringify!(NotificationBitmap_t))
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<NotificationBitmap_t>())).m_pImageData as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(NotificationBitmap_t),
            "::",
            stringify!(m_pImageData)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<NotificationBitmap_t>())).m_nWidth as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(NotificationBitmap_t),
            "::",
            stringify!(m_nWidth)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<NotificationBitmap_t>())).m_nHeight as *const _ as usize },
        12usize,
        concat!(
            "Offset of field: ",
            stringify!(NotificationBitmap_t),
            "::",
            stringify!(m_nHeight)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<NotificationBitmap_t>())).m_nBytesPerPixel as *const _ as usize
        },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(NotificationBitmap_t),
            "::",
            stringify!(m_nBytesPerPixel)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CVRSettingHelper {
    pub m_pSettings: isize,
}
#[test]
fn bindgen_test_layout_CVRSettingHelper() {
    assert_eq!(
        ::std::mem::size_of::<CVRSettingHelper>(),
        8usize,
        concat!("Size of: ", stringify!(CVRSettingHelper))
    );
    assert_eq!(
        ::std::mem::align_of::<CVRSettingHelper>(),
        8usize,
        concat!("Alignment of ", stringify!(CVRSettingHelper))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<CVRSettingHelper>())).m_pSettings as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(CVRSettingHelper),
            "::",
            stringify!(m_pSettings)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct InputAnalogActionData_t {
    pub bActive: bool,
    pub activeOrigin: VRInputValueHandle_t,
    pub x: f32,
    pub y: f32,
    pub z: f32,
    pub deltaX: f32,
    pub deltaY: f32,
    pub deltaZ: f32,
    pub fUpdateTime: f32,
}
#[test]
fn bindgen_test_layout_InputAnalogActionData_t() {
    assert_eq!(
        ::std::mem::size_of::<InputAnalogActionData_t>(),
        48usize,
        concat!("Size of: ", stringify!(InputAnalogActionData_t))
    );
    assert_eq!(
        ::std::mem::align_of::<InputAnalogActionData_t>(),
        8usize,
        concat!("Alignment of ", stringify!(InputAnalogActionData_t))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<InputAnalogActionData_t>())).bActive as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(InputAnalogActionData_t),
            "::",
            stringify!(bActive)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<InputAnalogActionData_t>())).activeOrigin as *const _ as usize
        },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(InputAnalogActionData_t),
            "::",
            stringify!(activeOrigin)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<InputAnalogActionData_t>())).x as *const _ as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(InputAnalogActionData_t),
            "::",
            stringify!(x)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<InputAnalogActionData_t>())).y as *const _ as usize },
        20usize,
        concat!(
            "Offset of field: ",
            stringify!(InputAnalogActionData_t),
            "::",
            stringify!(y)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<InputAnalogActionData_t>())).z as *const _ as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(InputAnalogActionData_t),
            "::",
            stringify!(z)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<InputAnalogActionData_t>())).deltaX as *const _ as usize },
        28usize,
        concat!(
            "Offset of field: ",
            stringify!(InputAnalogActionData_t),
            "::",
            stringify!(deltaX)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<InputAnalogActionData_t>())).deltaY as *const _ as usize },
        32usize,
        concat!(
            "Offset of field: ",
            stringify!(InputAnalogActionData_t),
            "::",
            stringify!(deltaY)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<InputAnalogActionData_t>())).deltaZ as *const _ as usize },
        36usize,
        concat!(
            "Offset of field: ",
            stringify!(InputAnalogActionData_t),
            "::",
            stringify!(deltaZ)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<InputAnalogActionData_t>())).fUpdateTime as *const _ as usize
        },
        40usize,
        concat!(
            "Offset of field: ",
            stringify!(InputAnalogActionData_t),
            "::",
            stringify!(fUpdateTime)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct InputDigitalActionData_t {
    pub bActive: bool,
    pub activeOrigin: VRInputValueHandle_t,
    pub bState: bool,
    pub bChanged: bool,
    pub fUpdateTime: f32,
}
#[test]
fn bindgen_test_layout_InputDigitalActionData_t() {
    assert_eq!(
        ::std::mem::size_of::<InputDigitalActionData_t>(),
        24usize,
        concat!("Size of: ", stringify!(InputDigitalActionData_t))
    );
    assert_eq!(
        ::std::mem::align_of::<InputDigitalActionData_t>(),
        8usize,
        concat!("Alignment of ", stringify!(InputDigitalActionData_t))
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<InputDigitalActionData_t>())).bActive as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(InputDigitalActionData_t),
            "::",
            stringify!(bActive)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<InputDigitalActionData_t>())).activeOrigin as *const _ as usize
        },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(InputDigitalActionData_t),
            "::",
            stringify!(activeOrigin)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<InputDigitalActionData_t>())).bState as *const _ as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(InputDigitalActionData_t),
            "::",
            stringify!(bState)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<InputDigitalActionData_t>())).bChanged as *const _ as usize
        },
        17usize,
        concat!(
            "Offset of field: ",
            stringify!(InputDigitalActionData_t),
            "::",
            stringify!(bChanged)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<InputDigitalActionData_t>())).fUpdateTime as *const _ as usize
        },
        20usize,
        concat!(
            "Offset of field: ",
            stringify!(InputDigitalActionData_t),
            "::",
            stringify!(fUpdateTime)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct InputPoseActionData_t {
    pub bActive: bool,
    pub activeOrigin: VRInputValueHandle_t,
    pub pose: TrackedDevicePose_t,
}
#[test]
fn bindgen_test_layout_InputPoseActionData_t() {
    assert_eq!(
        ::std::mem::size_of::<InputPoseActionData_t>(),
        96usize,
        concat!("Size of: ", stringify!(InputPoseActionData_t))
    );
    assert_eq!(
        ::std::mem::align_of::<InputPoseActionData_t>(),
        8usize,
        concat!("Alignment of ", stringify!(InputPoseActionData_t))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<InputPoseActionData_t>())).bActive as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(InputPoseActionData_t),
            "::",
            stringify!(bActive)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<InputPoseActionData_t>())).activeOrigin as *const _ as usize
        },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(InputPoseActionData_t),
            "::",
            stringify!(activeOrigin)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<InputPoseActionData_t>())).pose as *const _ as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(InputPoseActionData_t),
            "::",
            stringify!(pose)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct InputSkeletalActionData_t {
    pub bActive: bool,
    pub activeOrigin: VRInputValueHandle_t,
}
#[test]
fn bindgen_test_layout_InputSkeletalActionData_t() {
    assert_eq!(
        ::std::mem::size_of::<InputSkeletalActionData_t>(),
        16usize,
        concat!("Size of: ", stringify!(InputSkeletalActionData_t))
    );
    assert_eq!(
        ::std::mem::align_of::<InputSkeletalActionData_t>(),
        8usize,
        concat!("Alignment of ", stringify!(InputSkeletalActionData_t))
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<InputSkeletalActionData_t>())).bActive as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(InputSkeletalActionData_t),
            "::",
            stringify!(bActive)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<InputSkeletalActionData_t>())).activeOrigin as *const _ as usize
        },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(InputSkeletalActionData_t),
            "::",
            stringify!(activeOrigin)
        )
    );
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct InputOriginInfo_t {
    pub devicePath: VRInputValueHandle_t,
    pub trackedDeviceIndex: TrackedDeviceIndex_t,
    pub rchRenderModelComponentName: [::std::os::raw::c_char; 128usize],
}
#[test]
fn bindgen_test_layout_InputOriginInfo_t() {
    assert_eq!(
        ::std::mem::size_of::<InputOriginInfo_t>(),
        144usize,
        concat!("Size of: ", stringify!(InputOriginInfo_t))
    );
    assert_eq!(
        ::std::mem::align_of::<InputOriginInfo_t>(),
        8usize,
        concat!("Alignment of ", stringify!(InputOriginInfo_t))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<InputOriginInfo_t>())).devicePath as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(InputOriginInfo_t),
            "::",
            stringify!(devicePath)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<InputOriginInfo_t>())).trackedDeviceIndex as *const _ as usize
        },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(InputOriginInfo_t),
            "::",
            stringify!(trackedDeviceIndex)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<InputOriginInfo_t>())).rchRenderModelComponentName as *const _
                as usize
        },
        12usize,
        concat!(
            "Offset of field: ",
            stringify!(InputOriginInfo_t),
            "::",
            stringify!(rchRenderModelComponentName)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct VRActiveActionSet_t {
    pub ulActionSet: VRActionSetHandle_t,
    pub ulRestrictedToDevice: VRInputValueHandle_t,
    pub ulSecondaryActionSet: VRActionSetHandle_t,
    pub unPadding: u32,
    pub nPriority: i32,
}
#[test]
fn bindgen_test_layout_VRActiveActionSet_t() {
    assert_eq!(
        ::std::mem::size_of::<VRActiveActionSet_t>(),
        32usize,
        concat!("Size of: ", stringify!(VRActiveActionSet_t))
    );
    assert_eq!(
        ::std::mem::align_of::<VRActiveActionSet_t>(),
        8usize,
        concat!("Alignment of ", stringify!(VRActiveActionSet_t))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<VRActiveActionSet_t>())).ulActionSet as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(VRActiveActionSet_t),
            "::",
            stringify!(ulActionSet)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VRActiveActionSet_t>())).ulRestrictedToDevice as *const _
                as usize
        },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(VRActiveActionSet_t),
            "::",
            stringify!(ulRestrictedToDevice)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VRActiveActionSet_t>())).ulSecondaryActionSet as *const _
                as usize
        },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(VRActiveActionSet_t),
            "::",
            stringify!(ulSecondaryActionSet)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<VRActiveActionSet_t>())).unPadding as *const _ as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(VRActiveActionSet_t),
            "::",
            stringify!(unPadding)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<VRActiveActionSet_t>())).nPriority as *const _ as usize },
        28usize,
        concat!(
            "Offset of field: ",
            stringify!(VRActiveActionSet_t),
            "::",
            stringify!(nPriority)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct VRSkeletalSummaryData_t {
    pub flFingerCurl: [f32; 5usize],
    pub flFingerSplay: [f32; 4usize],
}
#[test]
fn bindgen_test_layout_VRSkeletalSummaryData_t() {
    assert_eq!(
        ::std::mem::size_of::<VRSkeletalSummaryData_t>(),
        36usize,
        concat!("Size of: ", stringify!(VRSkeletalSummaryData_t))
    );
    assert_eq!(
        ::std::mem::align_of::<VRSkeletalSummaryData_t>(),
        4usize,
        concat!("Alignment of ", stringify!(VRSkeletalSummaryData_t))
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VRSkeletalSummaryData_t>())).flFingerCurl as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(VRSkeletalSummaryData_t),
            "::",
            stringify!(flFingerCurl)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VRSkeletalSummaryData_t>())).flFingerSplay as *const _ as usize
        },
        20usize,
        concat!(
            "Offset of field: ",
            stringify!(VRSkeletalSummaryData_t),
            "::",
            stringify!(flFingerSplay)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct SpatialAnchorPose_t {
    pub mAnchorToAbsoluteTracking: HmdMatrix34_t,
}
#[test]
fn bindgen_test_layout_SpatialAnchorPose_t() {
    assert_eq!(
        ::std::mem::size_of::<SpatialAnchorPose_t>(),
        48usize,
        concat!("Size of: ", stringify!(SpatialAnchorPose_t))
    );
    assert_eq!(
        ::std::mem::align_of::<SpatialAnchorPose_t>(),
        4usize,
        concat!("Alignment of ", stringify!(SpatialAnchorPose_t))
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<SpatialAnchorPose_t>())).mAnchorToAbsoluteTracking as *const _
                as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(SpatialAnchorPose_t),
            "::",
            stringify!(mAnchorToAbsoluteTracking)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct COpenVRContext {
    pub m_pVRSystem: isize,
    pub m_pVRChaperone: isize,
    pub m_pVRChaperoneSetup: isize,
    pub m_pVRCompositor: isize,
    pub m_pVROverlay: isize,
    pub m_pVRResources: isize,
    pub m_pVRRenderModels: isize,
    pub m_pVRExtendedDisplay: isize,
    pub m_pVRSettings: isize,
    pub m_pVRApplications: isize,
    pub m_pVRTrackedCamera: isize,
    pub m_pVRScreenshots: isize,
    pub m_pVRDriverManager: isize,
    pub m_pVRInput: isize,
    pub m_pVRIOBuffer: isize,
    pub m_pVRSpatialAnchors: isize,
    pub m_pVRNotifications: isize,
}
#[test]
fn bindgen_test_layout_COpenVRContext() {
    assert_eq!(
        ::std::mem::size_of::<COpenVRContext>(),
        136usize,
        concat!("Size of: ", stringify!(COpenVRContext))
    );
    assert_eq!(
        ::std::mem::align_of::<COpenVRContext>(),
        8usize,
        concat!("Alignment of ", stringify!(COpenVRContext))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<COpenVRContext>())).m_pVRSystem as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(COpenVRContext),
            "::",
            stringify!(m_pVRSystem)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<COpenVRContext>())).m_pVRChaperone as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(COpenVRContext),
            "::",
            stringify!(m_pVRChaperone)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<COpenVRContext>())).m_pVRChaperoneSetup as *const _ as usize
        },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(COpenVRContext),
            "::",
            stringify!(m_pVRChaperoneSetup)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<COpenVRContext>())).m_pVRCompositor as *const _ as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(COpenVRContext),
            "::",
            stringify!(m_pVRCompositor)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<COpenVRContext>())).m_pVROverlay as *const _ as usize },
        32usize,
        concat!(
            "Offset of field: ",
            stringify!(COpenVRContext),
            "::",
            stringify!(m_pVROverlay)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<COpenVRContext>())).m_pVRResources as *const _ as usize },
        40usize,
        concat!(
            "Offset of field: ",
            stringify!(COpenVRContext),
            "::",
            stringify!(m_pVRResources)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<COpenVRContext>())).m_pVRRenderModels as *const _ as usize
        },
        48usize,
        concat!(
            "Offset of field: ",
            stringify!(COpenVRContext),
            "::",
            stringify!(m_pVRRenderModels)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<COpenVRContext>())).m_pVRExtendedDisplay as *const _ as usize
        },
        56usize,
        concat!(
            "Offset of field: ",
            stringify!(COpenVRContext),
            "::",
            stringify!(m_pVRExtendedDisplay)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<COpenVRContext>())).m_pVRSettings as *const _ as usize },
        64usize,
        concat!(
            "Offset of field: ",
            stringify!(COpenVRContext),
            "::",
            stringify!(m_pVRSettings)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<COpenVRContext>())).m_pVRApplications as *const _ as usize
        },
        72usize,
        concat!(
            "Offset of field: ",
            stringify!(COpenVRContext),
            "::",
            stringify!(m_pVRApplications)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<COpenVRContext>())).m_pVRTrackedCamera as *const _ as usize
        },
        80usize,
        concat!(
            "Offset of field: ",
            stringify!(COpenVRContext),
            "::",
            stringify!(m_pVRTrackedCamera)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<COpenVRContext>())).m_pVRScreenshots as *const _ as usize },
        88usize,
        concat!(
            "Offset of field: ",
            stringify!(COpenVRContext),
            "::",
            stringify!(m_pVRScreenshots)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<COpenVRContext>())).m_pVRDriverManager as *const _ as usize
        },
        96usize,
        concat!(
            "Offset of field: ",
            stringify!(COpenVRContext),
            "::",
            stringify!(m_pVRDriverManager)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<COpenVRContext>())).m_pVRInput as *const _ as usize },
        104usize,
        concat!(
            "Offset of field: ",
            stringify!(COpenVRContext),
            "::",
            stringify!(m_pVRInput)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<COpenVRContext>())).m_pVRIOBuffer as *const _ as usize },
        112usize,
        concat!(
            "Offset of field: ",
            stringify!(COpenVRContext),
            "::",
            stringify!(m_pVRIOBuffer)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<COpenVRContext>())).m_pVRSpatialAnchors as *const _ as usize
        },
        120usize,
        concat!(
            "Offset of field: ",
            stringify!(COpenVRContext),
            "::",
            stringify!(m_pVRSpatialAnchors)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<COpenVRContext>())).m_pVRNotifications as *const _ as usize
        },
        128usize,
        concat!(
            "Offset of field: ",
            stringify!(COpenVRContext),
            "::",
            stringify!(m_pVRNotifications)
        )
    );
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union VREvent_Data_t {
    pub reserved: VREvent_Reserved_t,
    pub controller: VREvent_Controller_t,
    pub mouse: VREvent_Mouse_t,
    pub scroll: VREvent_Scroll_t,
    pub process: VREvent_Process_t,
    pub notification: VREvent_Notification_t,
    pub overlay: VREvent_Overlay_t,
    pub status: VREvent_Status_t,
    pub keyboard: VREvent_Keyboard_t,
    pub ipd: VREvent_Ipd_t,
    pub chaperone: VREvent_Chaperone_t,
    pub performanceTest: VREvent_PerformanceTest_t,
    pub touchPadMove: VREvent_TouchPadMove_t,
    pub seatedZeroPoseReset: VREvent_SeatedZeroPoseReset_t,
    pub screenshot: VREvent_Screenshot_t,
    pub screenshotProgress: VREvent_ScreenshotProgress_t,
    pub applicationLaunch: VREvent_ApplicationLaunch_t,
    pub cameraSurface: VREvent_EditingCameraSurface_t,
    pub messageOverlay: VREvent_MessageOverlay_t,
    pub property: VREvent_Property_t,
    pub dualAnalog: VREvent_DualAnalog_t,
    pub hapticVibration: VREvent_HapticVibration_t,
    pub webConsole: VREvent_WebConsole_t,
    pub inputBinding: VREvent_InputBindingLoad_t,
    pub actionManifest: VREvent_InputActionManifestLoad_t,
    pub spatialAnchor: VREvent_SpatialAnchor_t,
    _bindgen_union_align: [u64; 6usize],
}
#[test]
fn bindgen_test_layout_VREvent_Data_t() {
    assert_eq!(
        ::std::mem::size_of::<VREvent_Data_t>(),
        48usize,
        concat!("Size of: ", stringify!(VREvent_Data_t))
    );
    assert_eq!(
        ::std::mem::align_of::<VREvent_Data_t>(),
        8usize,
        concat!("Alignment of ", stringify!(VREvent_Data_t))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<VREvent_Data_t>())).reserved as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(VREvent_Data_t),
            "::",
            stringify!(reserved)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<VREvent_Data_t>())).controller as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(VREvent_Data_t),
            "::",
            stringify!(controller)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<VREvent_Data_t>())).mouse as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(VREvent_Data_t),
            "::",
            stringify!(mouse)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<VREvent_Data_t>())).scroll as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(VREvent_Data_t),
            "::",
            stringify!(scroll)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<VREvent_Data_t>())).process as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(VREvent_Data_t),
            "::",
            stringify!(process)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<VREvent_Data_t>())).notification as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(VREvent_Data_t),
            "::",
            stringify!(notification)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<VREvent_Data_t>())).overlay as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(VREvent_Data_t),
            "::",
            stringify!(overlay)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<VREvent_Data_t>())).status as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(VREvent_Data_t),
            "::",
            stringify!(status)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<VREvent_Data_t>())).keyboard as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(VREvent_Data_t),
            "::",
            stringify!(keyboard)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<VREvent_Data_t>())).ipd as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(VREvent_Data_t),
            "::",
            stringify!(ipd)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<VREvent_Data_t>())).chaperone as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(VREvent_Data_t),
            "::",
            stringify!(chaperone)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<VREvent_Data_t>())).performanceTest as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(VREvent_Data_t),
            "::",
            stringify!(performanceTest)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<VREvent_Data_t>())).touchPadMove as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(VREvent_Data_t),
            "::",
            stringify!(touchPadMove)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VREvent_Data_t>())).seatedZeroPoseReset as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(VREvent_Data_t),
            "::",
            stringify!(seatedZeroPoseReset)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<VREvent_Data_t>())).screenshot as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(VREvent_Data_t),
            "::",
            stringify!(screenshot)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VREvent_Data_t>())).screenshotProgress as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(VREvent_Data_t),
            "::",
            stringify!(screenshotProgress)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VREvent_Data_t>())).applicationLaunch as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(VREvent_Data_t),
            "::",
            stringify!(applicationLaunch)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<VREvent_Data_t>())).cameraSurface as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(VREvent_Data_t),
            "::",
            stringify!(cameraSurface)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<VREvent_Data_t>())).messageOverlay as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(VREvent_Data_t),
            "::",
            stringify!(messageOverlay)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<VREvent_Data_t>())).property as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(VREvent_Data_t),
            "::",
            stringify!(property)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<VREvent_Data_t>())).dualAnalog as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(VREvent_Data_t),
            "::",
            stringify!(dualAnalog)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<VREvent_Data_t>())).hapticVibration as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(VREvent_Data_t),
            "::",
            stringify!(hapticVibration)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<VREvent_Data_t>())).webConsole as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(VREvent_Data_t),
            "::",
            stringify!(webConsole)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<VREvent_Data_t>())).inputBinding as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(VREvent_Data_t),
            "::",
            stringify!(inputBinding)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<VREvent_Data_t>())).actionManifest as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(VREvent_Data_t),
            "::",
            stringify!(actionManifest)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<VREvent_Data_t>())).spatialAnchor as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(VREvent_Data_t),
            "::",
            stringify!(spatialAnchor)
        )
    );
}
#[doc = " An event posted by the server to all running applications"]
#[repr(C)]
#[cfg_attr(unix, repr(packed(4)))]
#[derive(Copy, Clone)]
pub struct VREvent_t {
    pub eventType: u32,
    pub trackedDeviceIndex: TrackedDeviceIndex_t,
    pub eventAgeSeconds: f32,
    pub data: VREvent_Data_t,
}
#[test]
fn bindgen_test_layout_VREvent_t() {
    assert_eq!(
        ::std::mem::size_of::<VREvent_t>(),
        60usize,
        concat!("Size of: ", stringify!(VREvent_t))
    );
    assert_eq!(
        ::std::mem::align_of::<VREvent_t>(),
        4usize,
        concat!("Alignment of ", stringify!(VREvent_t))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<VREvent_t>())).eventType as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(VREvent_t),
            "::",
            stringify!(eventType)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<VREvent_t>())).trackedDeviceIndex as *const _ as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(VREvent_t),
            "::",
            stringify!(trackedDeviceIndex)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<VREvent_t>())).eventAgeSeconds as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(VREvent_t),
            "::",
            stringify!(eventAgeSeconds)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<VREvent_t>())).data as *const _ as usize },
        12usize,
        concat!(
            "Offset of field: ",
            stringify!(VREvent_t),
            "::",
            stringify!(data)
        )
    );
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union VROverlayIntersectionMaskPrimitive_Data_t {
    pub m_Rectangle: IntersectionMaskRectangle_t,
    pub m_Circle: IntersectionMaskCircle_t,
    _bindgen_union_align: [u32; 4usize],
}
#[test]
fn bindgen_test_layout_VROverlayIntersectionMaskPrimitive_Data_t() {
    assert_eq!(
        ::std::mem::size_of::<VROverlayIntersectionMaskPrimitive_Data_t>(),
        16usize,
        concat!(
            "Size of: ",
            stringify!(VROverlayIntersectionMaskPrimitive_Data_t)
        )
    );
    assert_eq!(
        ::std::mem::align_of::<VROverlayIntersectionMaskPrimitive_Data_t>(),
        4usize,
        concat!(
            "Alignment of ",
            stringify!(VROverlayIntersectionMaskPrimitive_Data_t)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VROverlayIntersectionMaskPrimitive_Data_t>())).m_Rectangle
                as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(VROverlayIntersectionMaskPrimitive_Data_t),
            "::",
            stringify!(m_Rectangle)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VROverlayIntersectionMaskPrimitive_Data_t>())).m_Circle
                as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(VROverlayIntersectionMaskPrimitive_Data_t),
            "::",
            stringify!(m_Circle)
        )
    );
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct VROverlayIntersectionMaskPrimitive_t {
    pub m_nPrimitiveType: EVROverlayIntersectionMaskPrimitiveType,
    pub m_Primitive: VROverlayIntersectionMaskPrimitive_Data_t,
}
#[test]
fn bindgen_test_layout_VROverlayIntersectionMaskPrimitive_t() {
    assert_eq!(
        ::std::mem::size_of::<VROverlayIntersectionMaskPrimitive_t>(),
        20usize,
        concat!(
            "Size of: ",
            stringify!(VROverlayIntersectionMaskPrimitive_t)
        )
    );
    assert_eq!(
        ::std::mem::align_of::<VROverlayIntersectionMaskPrimitive_t>(),
        4usize,
        concat!(
            "Alignment of ",
            stringify!(VROverlayIntersectionMaskPrimitive_t)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VROverlayIntersectionMaskPrimitive_t>())).m_nPrimitiveType
                as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(VROverlayIntersectionMaskPrimitive_t),
            "::",
            stringify!(m_nPrimitiveType)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VROverlayIntersectionMaskPrimitive_t>())).m_Primitive as *const _
                as usize
        },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(VROverlayIntersectionMaskPrimitive_t),
            "::",
            stringify!(m_Primitive)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct VR_IVRSystem_FnTable {
    pub GetRecommendedRenderTargetSize:
        ::std::option::Option<unsafe extern "C" fn(pnWidth: *mut u32, pnHeight: *mut u32)>,
    pub GetProjectionMatrix: ::std::option::Option<
        unsafe extern "C" fn(eEye: EVREye, fNearZ: f32, fFarZ: f32) -> HmdMatrix44_t,
    >,
    pub GetProjectionRaw: ::std::option::Option<
        unsafe extern "C" fn(
            eEye: EVREye,
            pfLeft: *mut f32,
            pfRight: *mut f32,
            pfTop: *mut f32,
            pfBottom: *mut f32,
        ),
    >,
    pub ComputeDistortion: ::std::option::Option<
        unsafe extern "C" fn(
            eEye: EVREye,
            fU: f32,
            fV: f32,
            pDistortionCoordinates: *mut DistortionCoordinates_t,
        ) -> bool,
    >,
    pub GetEyeToHeadTransform:
        ::std::option::Option<unsafe extern "C" fn(eEye: EVREye) -> HmdMatrix34_t>,
    pub GetTimeSinceLastVsync: ::std::option::Option<
        unsafe extern "C" fn(pfSecondsSinceLastVsync: *mut f32, pulFrameCounter: *mut u64) -> bool,
    >,
    pub GetD3D9AdapterIndex: ::std::option::Option<unsafe extern "C" fn() -> i32>,
    pub GetDXGIOutputInfo: ::std::option::Option<unsafe extern "C" fn(pnAdapterIndex: *mut i32)>,
    pub GetOutputDevice: ::std::option::Option<
        unsafe extern "C" fn(
            pnDevice: *mut u64,
            textureType: ETextureType,
            pInstance: *mut VkInstance_T,
        ),
    >,
    pub IsDisplayOnDesktop: ::std::option::Option<unsafe extern "C" fn() -> bool>,
    pub SetDisplayVisibility:
        ::std::option::Option<unsafe extern "C" fn(bIsVisibleOnDesktop: bool) -> bool>,
    pub GetDeviceToAbsoluteTrackingPose: ::std::option::Option<
        unsafe extern "C" fn(
            eOrigin: ETrackingUniverseOrigin,
            fPredictedSecondsToPhotonsFromNow: f32,
            pTrackedDevicePoseArray: *mut TrackedDevicePose_t,
            unTrackedDevicePoseArrayCount: u32,
        ),
    >,
    pub ResetSeatedZeroPose: ::std::option::Option<unsafe extern "C" fn()>,
    pub GetSeatedZeroPoseToStandingAbsoluteTrackingPose:
        ::std::option::Option<unsafe extern "C" fn() -> HmdMatrix34_t>,
    pub GetRawZeroPoseToStandingAbsoluteTrackingPose:
        ::std::option::Option<unsafe extern "C" fn() -> HmdMatrix34_t>,
    pub GetSortedTrackedDeviceIndicesOfClass: ::std::option::Option<
        unsafe extern "C" fn(
            eTrackedDeviceClass: ETrackedDeviceClass,
            punTrackedDeviceIndexArray: *mut TrackedDeviceIndex_t,
            unTrackedDeviceIndexArrayCount: u32,
            unRelativeToTrackedDeviceIndex: TrackedDeviceIndex_t,
        ) -> u32,
    >,
    pub GetTrackedDeviceActivityLevel: ::std::option::Option<
        unsafe extern "C" fn(unDeviceId: TrackedDeviceIndex_t) -> EDeviceActivityLevel,
    >,
    pub ApplyTransform: ::std::option::Option<
        unsafe extern "C" fn(
            pOutputPose: *mut TrackedDevicePose_t,
            pTrackedDevicePose: *mut TrackedDevicePose_t,
            pTransform: *mut HmdMatrix34_t,
        ),
    >,
    pub GetTrackedDeviceIndexForControllerRole: ::std::option::Option<
        unsafe extern "C" fn(unDeviceType: ETrackedControllerRole) -> TrackedDeviceIndex_t,
    >,
    pub GetControllerRoleForTrackedDeviceIndex: ::std::option::Option<
        unsafe extern "C" fn(unDeviceIndex: TrackedDeviceIndex_t) -> ETrackedControllerRole,
    >,
    pub GetTrackedDeviceClass: ::std::option::Option<
        unsafe extern "C" fn(unDeviceIndex: TrackedDeviceIndex_t) -> ETrackedDeviceClass,
    >,
    pub IsTrackedDeviceConnected:
        ::std::option::Option<unsafe extern "C" fn(unDeviceIndex: TrackedDeviceIndex_t) -> bool>,
    pub GetBoolTrackedDeviceProperty: ::std::option::Option<
        unsafe extern "C" fn(
            unDeviceIndex: TrackedDeviceIndex_t,
            prop: ETrackedDeviceProperty,
            pError: *mut ETrackedPropertyError,
        ) -> bool,
    >,
    pub GetFloatTrackedDeviceProperty: ::std::option::Option<
        unsafe extern "C" fn(
            unDeviceIndex: TrackedDeviceIndex_t,
            prop: ETrackedDeviceProperty,
            pError: *mut ETrackedPropertyError,
        ) -> f32,
    >,
    pub GetInt32TrackedDeviceProperty: ::std::option::Option<
        unsafe extern "C" fn(
            unDeviceIndex: TrackedDeviceIndex_t,
            prop: ETrackedDeviceProperty,
            pError: *mut ETrackedPropertyError,
        ) -> i32,
    >,
    pub GetUint64TrackedDeviceProperty: ::std::option::Option<
        unsafe extern "C" fn(
            unDeviceIndex: TrackedDeviceIndex_t,
            prop: ETrackedDeviceProperty,
            pError: *mut ETrackedPropertyError,
        ) -> u64,
    >,
    pub GetMatrix34TrackedDeviceProperty: ::std::option::Option<
        unsafe extern "C" fn(
            unDeviceIndex: TrackedDeviceIndex_t,
            prop: ETrackedDeviceProperty,
            pError: *mut ETrackedPropertyError,
        ) -> HmdMatrix34_t,
    >,
    pub GetArrayTrackedDeviceProperty: ::std::option::Option<
        unsafe extern "C" fn(
            unDeviceIndex: TrackedDeviceIndex_t,
            prop: ETrackedDeviceProperty,
            propType: PropertyTypeTag_t,
            pBuffer: *mut ::std::os::raw::c_void,
            unBufferSize: u32,
            pError: *mut ETrackedPropertyError,
        ) -> u32,
    >,
    pub GetStringTrackedDeviceProperty: ::std::option::Option<
        unsafe extern "C" fn(
            unDeviceIndex: TrackedDeviceIndex_t,
            prop: ETrackedDeviceProperty,
            pchValue: *mut ::std::os::raw::c_char,
            unBufferSize: u32,
            pError: *mut ETrackedPropertyError,
        ) -> u32,
    >,
    pub GetPropErrorNameFromEnum: ::std::option::Option<
        unsafe extern "C" fn(error: ETrackedPropertyError) -> *mut ::std::os::raw::c_char,
    >,
    pub PollNextEvent: ::std::option::Option<
        unsafe extern "C" fn(pEvent: *mut VREvent_t, uncbVREvent: u32) -> bool,
    >,
    pub PollNextEventWithPose: ::std::option::Option<
        unsafe extern "C" fn(
            eOrigin: ETrackingUniverseOrigin,
            pEvent: *mut VREvent_t,
            uncbVREvent: u32,
            pTrackedDevicePose: *mut TrackedDevicePose_t,
        ) -> bool,
    >,
    pub GetEventTypeNameFromEnum: ::std::option::Option<
        unsafe extern "C" fn(eType: EVREventType) -> *mut ::std::os::raw::c_char,
    >,
    pub GetHiddenAreaMesh: ::std::option::Option<
        unsafe extern "C" fn(eEye: EVREye, type_: EHiddenAreaMeshType) -> HiddenAreaMesh_t,
    >,
    pub GetControllerState: ::std::option::Option<
        unsafe extern "C" fn(
            unControllerDeviceIndex: TrackedDeviceIndex_t,
            pControllerState: *mut VRControllerState_t,
            unControllerStateSize: u32,
        ) -> bool,
    >,
    pub GetControllerStateWithPose: ::std::option::Option<
        unsafe extern "C" fn(
            eOrigin: ETrackingUniverseOrigin,
            unControllerDeviceIndex: TrackedDeviceIndex_t,
            pControllerState: *mut VRControllerState_t,
            unControllerStateSize: u32,
            pTrackedDevicePose: *mut TrackedDevicePose_t,
        ) -> bool,
    >,
    pub TriggerHapticPulse: ::std::option::Option<
        unsafe extern "C" fn(
            unControllerDeviceIndex: TrackedDeviceIndex_t,
            unAxisId: u32,
            usDurationMicroSec: ::std::os::raw::c_ushort,
        ),
    >,
    pub GetButtonIdNameFromEnum: ::std::option::Option<
        unsafe extern "C" fn(eButtonId: EVRButtonId) -> *mut ::std::os::raw::c_char,
    >,
    pub GetControllerAxisTypeNameFromEnum: ::std::option::Option<
        unsafe extern "C" fn(eAxisType: EVRControllerAxisType) -> *mut ::std::os::raw::c_char,
    >,
    pub IsInputAvailable: ::std::option::Option<unsafe extern "C" fn() -> bool>,
    pub IsSteamVRDrawingControllers: ::std::option::Option<unsafe extern "C" fn() -> bool>,
    pub ShouldApplicationPause: ::std::option::Option<unsafe extern "C" fn() -> bool>,
    pub ShouldApplicationReduceRenderingWork: ::std::option::Option<unsafe extern "C" fn() -> bool>,
    pub DriverDebugRequest: ::std::option::Option<
        unsafe extern "C" fn(
            unDeviceIndex: TrackedDeviceIndex_t,
            pchRequest: *mut ::std::os::raw::c_char,
            pchResponseBuffer: *mut ::std::os::raw::c_char,
            unResponseBufferSize: u32,
        ) -> u32,
    >,
    pub PerformFirmwareUpdate: ::std::option::Option<
        unsafe extern "C" fn(unDeviceIndex: TrackedDeviceIndex_t) -> EVRFirmwareError,
    >,
    pub AcknowledgeQuit_Exiting: ::std::option::Option<unsafe extern "C" fn()>,
    pub AcknowledgeQuit_UserPrompt: ::std::option::Option<unsafe extern "C" fn()>,
}
#[test]
fn bindgen_test_layout_VR_IVRSystem_FnTable() {
    assert_eq!(
        ::std::mem::size_of::<VR_IVRSystem_FnTable>(),
        376usize,
        concat!("Size of: ", stringify!(VR_IVRSystem_FnTable))
    );
    assert_eq!(
        ::std::mem::align_of::<VR_IVRSystem_FnTable>(),
        8usize,
        concat!("Alignment of ", stringify!(VR_IVRSystem_FnTable))
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRSystem_FnTable>())).GetRecommendedRenderTargetSize
                as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRSystem_FnTable),
            "::",
            stringify!(GetRecommendedRenderTargetSize)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRSystem_FnTable>())).GetProjectionMatrix as *const _
                as usize
        },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRSystem_FnTable),
            "::",
            stringify!(GetProjectionMatrix)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRSystem_FnTable>())).GetProjectionRaw as *const _ as usize
        },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRSystem_FnTable),
            "::",
            stringify!(GetProjectionRaw)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRSystem_FnTable>())).ComputeDistortion as *const _ as usize
        },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRSystem_FnTable),
            "::",
            stringify!(ComputeDistortion)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRSystem_FnTable>())).GetEyeToHeadTransform as *const _
                as usize
        },
        32usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRSystem_FnTable),
            "::",
            stringify!(GetEyeToHeadTransform)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRSystem_FnTable>())).GetTimeSinceLastVsync as *const _
                as usize
        },
        40usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRSystem_FnTable),
            "::",
            stringify!(GetTimeSinceLastVsync)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRSystem_FnTable>())).GetD3D9AdapterIndex as *const _
                as usize
        },
        48usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRSystem_FnTable),
            "::",
            stringify!(GetD3D9AdapterIndex)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRSystem_FnTable>())).GetDXGIOutputInfo as *const _ as usize
        },
        56usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRSystem_FnTable),
            "::",
            stringify!(GetDXGIOutputInfo)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRSystem_FnTable>())).GetOutputDevice as *const _ as usize
        },
        64usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRSystem_FnTable),
            "::",
            stringify!(GetOutputDevice)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRSystem_FnTable>())).IsDisplayOnDesktop as *const _ as usize
        },
        72usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRSystem_FnTable),
            "::",
            stringify!(IsDisplayOnDesktop)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRSystem_FnTable>())).SetDisplayVisibility as *const _
                as usize
        },
        80usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRSystem_FnTable),
            "::",
            stringify!(SetDisplayVisibility)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRSystem_FnTable>())).GetDeviceToAbsoluteTrackingPose
                as *const _ as usize
        },
        88usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRSystem_FnTable),
            "::",
            stringify!(GetDeviceToAbsoluteTrackingPose)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRSystem_FnTable>())).ResetSeatedZeroPose as *const _
                as usize
        },
        96usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRSystem_FnTable),
            "::",
            stringify!(ResetSeatedZeroPose)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRSystem_FnTable>()))
                .GetSeatedZeroPoseToStandingAbsoluteTrackingPose as *const _ as usize
        },
        104usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRSystem_FnTable),
            "::",
            stringify!(GetSeatedZeroPoseToStandingAbsoluteTrackingPose)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRSystem_FnTable>()))
                .GetRawZeroPoseToStandingAbsoluteTrackingPose as *const _ as usize
        },
        112usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRSystem_FnTable),
            "::",
            stringify!(GetRawZeroPoseToStandingAbsoluteTrackingPose)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRSystem_FnTable>())).GetSortedTrackedDeviceIndicesOfClass
                as *const _ as usize
        },
        120usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRSystem_FnTable),
            "::",
            stringify!(GetSortedTrackedDeviceIndicesOfClass)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRSystem_FnTable>())).GetTrackedDeviceActivityLevel
                as *const _ as usize
        },
        128usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRSystem_FnTable),
            "::",
            stringify!(GetTrackedDeviceActivityLevel)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRSystem_FnTable>())).ApplyTransform as *const _ as usize
        },
        136usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRSystem_FnTable),
            "::",
            stringify!(ApplyTransform)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRSystem_FnTable>())).GetTrackedDeviceIndexForControllerRole
                as *const _ as usize
        },
        144usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRSystem_FnTable),
            "::",
            stringify!(GetTrackedDeviceIndexForControllerRole)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRSystem_FnTable>())).GetControllerRoleForTrackedDeviceIndex
                as *const _ as usize
        },
        152usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRSystem_FnTable),
            "::",
            stringify!(GetControllerRoleForTrackedDeviceIndex)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRSystem_FnTable>())).GetTrackedDeviceClass as *const _
                as usize
        },
        160usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRSystem_FnTable),
            "::",
            stringify!(GetTrackedDeviceClass)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRSystem_FnTable>())).IsTrackedDeviceConnected as *const _
                as usize
        },
        168usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRSystem_FnTable),
            "::",
            stringify!(IsTrackedDeviceConnected)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRSystem_FnTable>())).GetBoolTrackedDeviceProperty
                as *const _ as usize
        },
        176usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRSystem_FnTable),
            "::",
            stringify!(GetBoolTrackedDeviceProperty)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRSystem_FnTable>())).GetFloatTrackedDeviceProperty
                as *const _ as usize
        },
        184usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRSystem_FnTable),
            "::",
            stringify!(GetFloatTrackedDeviceProperty)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRSystem_FnTable>())).GetInt32TrackedDeviceProperty
                as *const _ as usize
        },
        192usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRSystem_FnTable),
            "::",
            stringify!(GetInt32TrackedDeviceProperty)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRSystem_FnTable>())).GetUint64TrackedDeviceProperty
                as *const _ as usize
        },
        200usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRSystem_FnTable),
            "::",
            stringify!(GetUint64TrackedDeviceProperty)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRSystem_FnTable>())).GetMatrix34TrackedDeviceProperty
                as *const _ as usize
        },
        208usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRSystem_FnTable),
            "::",
            stringify!(GetMatrix34TrackedDeviceProperty)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRSystem_FnTable>())).GetArrayTrackedDeviceProperty
                as *const _ as usize
        },
        216usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRSystem_FnTable),
            "::",
            stringify!(GetArrayTrackedDeviceProperty)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRSystem_FnTable>())).GetStringTrackedDeviceProperty
                as *const _ as usize
        },
        224usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRSystem_FnTable),
            "::",
            stringify!(GetStringTrackedDeviceProperty)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRSystem_FnTable>())).GetPropErrorNameFromEnum as *const _
                as usize
        },
        232usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRSystem_FnTable),
            "::",
            stringify!(GetPropErrorNameFromEnum)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRSystem_FnTable>())).PollNextEvent as *const _ as usize
        },
        240usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRSystem_FnTable),
            "::",
            stringify!(PollNextEvent)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRSystem_FnTable>())).PollNextEventWithPose as *const _
                as usize
        },
        248usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRSystem_FnTable),
            "::",
            stringify!(PollNextEventWithPose)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRSystem_FnTable>())).GetEventTypeNameFromEnum as *const _
                as usize
        },
        256usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRSystem_FnTable),
            "::",
            stringify!(GetEventTypeNameFromEnum)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRSystem_FnTable>())).GetHiddenAreaMesh as *const _ as usize
        },
        264usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRSystem_FnTable),
            "::",
            stringify!(GetHiddenAreaMesh)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRSystem_FnTable>())).GetControllerState as *const _ as usize
        },
        272usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRSystem_FnTable),
            "::",
            stringify!(GetControllerState)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRSystem_FnTable>())).GetControllerStateWithPose as *const _
                as usize
        },
        280usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRSystem_FnTable),
            "::",
            stringify!(GetControllerStateWithPose)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRSystem_FnTable>())).TriggerHapticPulse as *const _ as usize
        },
        288usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRSystem_FnTable),
            "::",
            stringify!(TriggerHapticPulse)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRSystem_FnTable>())).GetButtonIdNameFromEnum as *const _
                as usize
        },
        296usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRSystem_FnTable),
            "::",
            stringify!(GetButtonIdNameFromEnum)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRSystem_FnTable>())).GetControllerAxisTypeNameFromEnum
                as *const _ as usize
        },
        304usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRSystem_FnTable),
            "::",
            stringify!(GetControllerAxisTypeNameFromEnum)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRSystem_FnTable>())).IsInputAvailable as *const _ as usize
        },
        312usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRSystem_FnTable),
            "::",
            stringify!(IsInputAvailable)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRSystem_FnTable>())).IsSteamVRDrawingControllers as *const _
                as usize
        },
        320usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRSystem_FnTable),
            "::",
            stringify!(IsSteamVRDrawingControllers)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRSystem_FnTable>())).ShouldApplicationPause as *const _
                as usize
        },
        328usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRSystem_FnTable),
            "::",
            stringify!(ShouldApplicationPause)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRSystem_FnTable>())).ShouldApplicationReduceRenderingWork
                as *const _ as usize
        },
        336usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRSystem_FnTable),
            "::",
            stringify!(ShouldApplicationReduceRenderingWork)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRSystem_FnTable>())).DriverDebugRequest as *const _ as usize
        },
        344usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRSystem_FnTable),
            "::",
            stringify!(DriverDebugRequest)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRSystem_FnTable>())).PerformFirmwareUpdate as *const _
                as usize
        },
        352usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRSystem_FnTable),
            "::",
            stringify!(PerformFirmwareUpdate)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRSystem_FnTable>())).AcknowledgeQuit_Exiting as *const _
                as usize
        },
        360usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRSystem_FnTable),
            "::",
            stringify!(AcknowledgeQuit_Exiting)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRSystem_FnTable>())).AcknowledgeQuit_UserPrompt as *const _
                as usize
        },
        368usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRSystem_FnTable),
            "::",
            stringify!(AcknowledgeQuit_UserPrompt)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct VR_IVRExtendedDisplay_FnTable {
    pub GetWindowBounds: ::std::option::Option<
        unsafe extern "C" fn(pnX: *mut i32, pnY: *mut i32, pnWidth: *mut u32, pnHeight: *mut u32),
    >,
    pub GetEyeOutputViewport: ::std::option::Option<
        unsafe extern "C" fn(
            eEye: EVREye,
            pnX: *mut u32,
            pnY: *mut u32,
            pnWidth: *mut u32,
            pnHeight: *mut u32,
        ),
    >,
    pub GetDXGIOutputInfo: ::std::option::Option<
        unsafe extern "C" fn(pnAdapterIndex: *mut i32, pnAdapterOutputIndex: *mut i32),
    >,
}
#[test]
fn bindgen_test_layout_VR_IVRExtendedDisplay_FnTable() {
    assert_eq!(
        ::std::mem::size_of::<VR_IVRExtendedDisplay_FnTable>(),
        24usize,
        concat!("Size of: ", stringify!(VR_IVRExtendedDisplay_FnTable))
    );
    assert_eq!(
        ::std::mem::align_of::<VR_IVRExtendedDisplay_FnTable>(),
        8usize,
        concat!("Alignment of ", stringify!(VR_IVRExtendedDisplay_FnTable))
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRExtendedDisplay_FnTable>())).GetWindowBounds as *const _
                as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRExtendedDisplay_FnTable),
            "::",
            stringify!(GetWindowBounds)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRExtendedDisplay_FnTable>())).GetEyeOutputViewport
                as *const _ as usize
        },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRExtendedDisplay_FnTable),
            "::",
            stringify!(GetEyeOutputViewport)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRExtendedDisplay_FnTable>())).GetDXGIOutputInfo as *const _
                as usize
        },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRExtendedDisplay_FnTable),
            "::",
            stringify!(GetDXGIOutputInfo)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct VR_IVRTrackedCamera_FnTable {
    pub GetCameraErrorNameFromEnum: ::std::option::Option<
        unsafe extern "C" fn(eCameraError: EVRTrackedCameraError) -> *mut ::std::os::raw::c_char,
    >,
    pub HasCamera: ::std::option::Option<
        unsafe extern "C" fn(
            nDeviceIndex: TrackedDeviceIndex_t,
            pHasCamera: *mut bool,
        ) -> EVRTrackedCameraError,
    >,
    pub GetCameraFrameSize: ::std::option::Option<
        unsafe extern "C" fn(
            nDeviceIndex: TrackedDeviceIndex_t,
            eFrameType: EVRTrackedCameraFrameType,
            pnWidth: *mut u32,
            pnHeight: *mut u32,
            pnFrameBufferSize: *mut u32,
        ) -> EVRTrackedCameraError,
    >,
    pub GetCameraIntrinsics: ::std::option::Option<
        unsafe extern "C" fn(
            nDeviceIndex: TrackedDeviceIndex_t,
            nCameraIndex: u32,
            eFrameType: EVRTrackedCameraFrameType,
            pFocalLength: *mut HmdVector2_t,
            pCenter: *mut HmdVector2_t,
        ) -> EVRTrackedCameraError,
    >,
    pub GetCameraProjection: ::std::option::Option<
        unsafe extern "C" fn(
            nDeviceIndex: TrackedDeviceIndex_t,
            nCameraIndex: u32,
            eFrameType: EVRTrackedCameraFrameType,
            flZNear: f32,
            flZFar: f32,
            pProjection: *mut HmdMatrix44_t,
        ) -> EVRTrackedCameraError,
    >,
    pub AcquireVideoStreamingService: ::std::option::Option<
        unsafe extern "C" fn(
            nDeviceIndex: TrackedDeviceIndex_t,
            pHandle: *mut TrackedCameraHandle_t,
        ) -> EVRTrackedCameraError,
    >,
    pub ReleaseVideoStreamingService: ::std::option::Option<
        unsafe extern "C" fn(hTrackedCamera: TrackedCameraHandle_t) -> EVRTrackedCameraError,
    >,
    pub GetVideoStreamFrameBuffer: ::std::option::Option<
        unsafe extern "C" fn(
            hTrackedCamera: TrackedCameraHandle_t,
            eFrameType: EVRTrackedCameraFrameType,
            pFrameBuffer: *mut ::std::os::raw::c_void,
            nFrameBufferSize: u32,
            pFrameHeader: *mut CameraVideoStreamFrameHeader_t,
            nFrameHeaderSize: u32,
        ) -> EVRTrackedCameraError,
    >,
    pub GetVideoStreamTextureSize: ::std::option::Option<
        unsafe extern "C" fn(
            nDeviceIndex: TrackedDeviceIndex_t,
            eFrameType: EVRTrackedCameraFrameType,
            pTextureBounds: *mut VRTextureBounds_t,
            pnWidth: *mut u32,
            pnHeight: *mut u32,
        ) -> EVRTrackedCameraError,
    >,
    pub GetVideoStreamTextureD3D11: ::std::option::Option<
        unsafe extern "C" fn(
            hTrackedCamera: TrackedCameraHandle_t,
            eFrameType: EVRTrackedCameraFrameType,
            pD3D11DeviceOrResource: *mut ::std::os::raw::c_void,
            ppD3D11ShaderResourceView: *mut *mut ::std::os::raw::c_void,
            pFrameHeader: *mut CameraVideoStreamFrameHeader_t,
            nFrameHeaderSize: u32,
        ) -> EVRTrackedCameraError,
    >,
    pub GetVideoStreamTextureGL: ::std::option::Option<
        unsafe extern "C" fn(
            hTrackedCamera: TrackedCameraHandle_t,
            eFrameType: EVRTrackedCameraFrameType,
            pglTextureId: *mut glUInt_t,
            pFrameHeader: *mut CameraVideoStreamFrameHeader_t,
            nFrameHeaderSize: u32,
        ) -> EVRTrackedCameraError,
    >,
    pub ReleaseVideoStreamTextureGL: ::std::option::Option<
        unsafe extern "C" fn(
            hTrackedCamera: TrackedCameraHandle_t,
            glTextureId: glUInt_t,
        ) -> EVRTrackedCameraError,
    >,
}
#[test]
fn bindgen_test_layout_VR_IVRTrackedCamera_FnTable() {
    assert_eq!(
        ::std::mem::size_of::<VR_IVRTrackedCamera_FnTable>(),
        96usize,
        concat!("Size of: ", stringify!(VR_IVRTrackedCamera_FnTable))
    );
    assert_eq!(
        ::std::mem::align_of::<VR_IVRTrackedCamera_FnTable>(),
        8usize,
        concat!("Alignment of ", stringify!(VR_IVRTrackedCamera_FnTable))
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRTrackedCamera_FnTable>())).GetCameraErrorNameFromEnum
                as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRTrackedCamera_FnTable),
            "::",
            stringify!(GetCameraErrorNameFromEnum)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRTrackedCamera_FnTable>())).HasCamera as *const _ as usize
        },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRTrackedCamera_FnTable),
            "::",
            stringify!(HasCamera)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRTrackedCamera_FnTable>())).GetCameraFrameSize as *const _
                as usize
        },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRTrackedCamera_FnTable),
            "::",
            stringify!(GetCameraFrameSize)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRTrackedCamera_FnTable>())).GetCameraIntrinsics as *const _
                as usize
        },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRTrackedCamera_FnTable),
            "::",
            stringify!(GetCameraIntrinsics)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRTrackedCamera_FnTable>())).GetCameraProjection as *const _
                as usize
        },
        32usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRTrackedCamera_FnTable),
            "::",
            stringify!(GetCameraProjection)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRTrackedCamera_FnTable>())).AcquireVideoStreamingService
                as *const _ as usize
        },
        40usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRTrackedCamera_FnTable),
            "::",
            stringify!(AcquireVideoStreamingService)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRTrackedCamera_FnTable>())).ReleaseVideoStreamingService
                as *const _ as usize
        },
        48usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRTrackedCamera_FnTable),
            "::",
            stringify!(ReleaseVideoStreamingService)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRTrackedCamera_FnTable>())).GetVideoStreamFrameBuffer
                as *const _ as usize
        },
        56usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRTrackedCamera_FnTable),
            "::",
            stringify!(GetVideoStreamFrameBuffer)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRTrackedCamera_FnTable>())).GetVideoStreamTextureSize
                as *const _ as usize
        },
        64usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRTrackedCamera_FnTable),
            "::",
            stringify!(GetVideoStreamTextureSize)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRTrackedCamera_FnTable>())).GetVideoStreamTextureD3D11
                as *const _ as usize
        },
        72usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRTrackedCamera_FnTable),
            "::",
            stringify!(GetVideoStreamTextureD3D11)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRTrackedCamera_FnTable>())).GetVideoStreamTextureGL
                as *const _ as usize
        },
        80usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRTrackedCamera_FnTable),
            "::",
            stringify!(GetVideoStreamTextureGL)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRTrackedCamera_FnTable>())).ReleaseVideoStreamTextureGL
                as *const _ as usize
        },
        88usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRTrackedCamera_FnTable),
            "::",
            stringify!(ReleaseVideoStreamTextureGL)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct VR_IVRApplications_FnTable {
    pub AddApplicationManifest: ::std::option::Option<
        unsafe extern "C" fn(
            pchApplicationManifestFullPath: *mut ::std::os::raw::c_char,
            bTemporary: bool,
        ) -> EVRApplicationError,
    >,
    pub RemoveApplicationManifest: ::std::option::Option<
        unsafe extern "C" fn(
            pchApplicationManifestFullPath: *mut ::std::os::raw::c_char,
        ) -> EVRApplicationError,
    >,
    pub IsApplicationInstalled:
        ::std::option::Option<unsafe extern "C" fn(pchAppKey: *mut ::std::os::raw::c_char) -> bool>,
    pub GetApplicationCount: ::std::option::Option<unsafe extern "C" fn() -> u32>,
    pub GetApplicationKeyByIndex: ::std::option::Option<
        unsafe extern "C" fn(
            unApplicationIndex: u32,
            pchAppKeyBuffer: *mut ::std::os::raw::c_char,
            unAppKeyBufferLen: u32,
        ) -> EVRApplicationError,
    >,
    pub GetApplicationKeyByProcessId: ::std::option::Option<
        unsafe extern "C" fn(
            unProcessId: u32,
            pchAppKeyBuffer: *mut ::std::os::raw::c_char,
            unAppKeyBufferLen: u32,
        ) -> EVRApplicationError,
    >,
    pub LaunchApplication: ::std::option::Option<
        unsafe extern "C" fn(pchAppKey: *mut ::std::os::raw::c_char) -> EVRApplicationError,
    >,
    pub LaunchTemplateApplication: ::std::option::Option<
        unsafe extern "C" fn(
            pchTemplateAppKey: *mut ::std::os::raw::c_char,
            pchNewAppKey: *mut ::std::os::raw::c_char,
            pKeys: *mut AppOverrideKeys_t,
            unKeys: u32,
        ) -> EVRApplicationError,
    >,
    pub LaunchApplicationFromMimeType: ::std::option::Option<
        unsafe extern "C" fn(
            pchMimeType: *mut ::std::os::raw::c_char,
            pchArgs: *mut ::std::os::raw::c_char,
        ) -> EVRApplicationError,
    >,
    pub LaunchDashboardOverlay: ::std::option::Option<
        unsafe extern "C" fn(pchAppKey: *mut ::std::os::raw::c_char) -> EVRApplicationError,
    >,
    pub CancelApplicationLaunch:
        ::std::option::Option<unsafe extern "C" fn(pchAppKey: *mut ::std::os::raw::c_char) -> bool>,
    pub IdentifyApplication: ::std::option::Option<
        unsafe extern "C" fn(
            unProcessId: u32,
            pchAppKey: *mut ::std::os::raw::c_char,
        ) -> EVRApplicationError,
    >,
    pub GetApplicationProcessId:
        ::std::option::Option<unsafe extern "C" fn(pchAppKey: *mut ::std::os::raw::c_char) -> u32>,
    pub GetApplicationsErrorNameFromEnum: ::std::option::Option<
        unsafe extern "C" fn(error: EVRApplicationError) -> *mut ::std::os::raw::c_char,
    >,
    pub GetApplicationPropertyString: ::std::option::Option<
        unsafe extern "C" fn(
            pchAppKey: *mut ::std::os::raw::c_char,
            eProperty: EVRApplicationProperty,
            pchPropertyValueBuffer: *mut ::std::os::raw::c_char,
            unPropertyValueBufferLen: u32,
            peError: *mut EVRApplicationError,
        ) -> u32,
    >,
    pub GetApplicationPropertyBool: ::std::option::Option<
        unsafe extern "C" fn(
            pchAppKey: *mut ::std::os::raw::c_char,
            eProperty: EVRApplicationProperty,
            peError: *mut EVRApplicationError,
        ) -> bool,
    >,
    pub GetApplicationPropertyUint64: ::std::option::Option<
        unsafe extern "C" fn(
            pchAppKey: *mut ::std::os::raw::c_char,
            eProperty: EVRApplicationProperty,
            peError: *mut EVRApplicationError,
        ) -> u64,
    >,
    pub SetApplicationAutoLaunch: ::std::option::Option<
        unsafe extern "C" fn(
            pchAppKey: *mut ::std::os::raw::c_char,
            bAutoLaunch: bool,
        ) -> EVRApplicationError,
    >,
    pub GetApplicationAutoLaunch:
        ::std::option::Option<unsafe extern "C" fn(pchAppKey: *mut ::std::os::raw::c_char) -> bool>,
    pub SetDefaultApplicationForMimeType: ::std::option::Option<
        unsafe extern "C" fn(
            pchAppKey: *mut ::std::os::raw::c_char,
            pchMimeType: *mut ::std::os::raw::c_char,
        ) -> EVRApplicationError,
    >,
    pub GetDefaultApplicationForMimeType: ::std::option::Option<
        unsafe extern "C" fn(
            pchMimeType: *mut ::std::os::raw::c_char,
            pchAppKeyBuffer: *mut ::std::os::raw::c_char,
            unAppKeyBufferLen: u32,
        ) -> bool,
    >,
    pub GetApplicationSupportedMimeTypes: ::std::option::Option<
        unsafe extern "C" fn(
            pchAppKey: *mut ::std::os::raw::c_char,
            pchMimeTypesBuffer: *mut ::std::os::raw::c_char,
            unMimeTypesBuffer: u32,
        ) -> bool,
    >,
    pub GetApplicationsThatSupportMimeType: ::std::option::Option<
        unsafe extern "C" fn(
            pchMimeType: *mut ::std::os::raw::c_char,
            pchAppKeysThatSupportBuffer: *mut ::std::os::raw::c_char,
            unAppKeysThatSupportBuffer: u32,
        ) -> u32,
    >,
    pub GetApplicationLaunchArguments: ::std::option::Option<
        unsafe extern "C" fn(
            unHandle: u32,
            pchArgs: *mut ::std::os::raw::c_char,
            unArgs: u32,
        ) -> u32,
    >,
    pub GetStartingApplication: ::std::option::Option<
        unsafe extern "C" fn(
            pchAppKeyBuffer: *mut ::std::os::raw::c_char,
            unAppKeyBufferLen: u32,
        ) -> EVRApplicationError,
    >,
    pub GetTransitionState:
        ::std::option::Option<unsafe extern "C" fn() -> EVRApplicationTransitionState>,
    pub PerformApplicationPrelaunchCheck: ::std::option::Option<
        unsafe extern "C" fn(pchAppKey: *mut ::std::os::raw::c_char) -> EVRApplicationError,
    >,
    pub GetApplicationsTransitionStateNameFromEnum: ::std::option::Option<
        unsafe extern "C" fn(state: EVRApplicationTransitionState) -> *mut ::std::os::raw::c_char,
    >,
    pub IsQuitUserPromptRequested: ::std::option::Option<unsafe extern "C" fn() -> bool>,
    pub LaunchInternalProcess: ::std::option::Option<
        unsafe extern "C" fn(
            pchBinaryPath: *mut ::std::os::raw::c_char,
            pchArguments: *mut ::std::os::raw::c_char,
            pchWorkingDirectory: *mut ::std::os::raw::c_char,
        ) -> EVRApplicationError,
    >,
    pub GetCurrentSceneProcessId: ::std::option::Option<unsafe extern "C" fn() -> u32>,
}
#[test]
fn bindgen_test_layout_VR_IVRApplications_FnTable() {
    assert_eq!(
        ::std::mem::size_of::<VR_IVRApplications_FnTable>(),
        248usize,
        concat!("Size of: ", stringify!(VR_IVRApplications_FnTable))
    );
    assert_eq!(
        ::std::mem::align_of::<VR_IVRApplications_FnTable>(),
        8usize,
        concat!("Alignment of ", stringify!(VR_IVRApplications_FnTable))
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRApplications_FnTable>())).AddApplicationManifest
                as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRApplications_FnTable),
            "::",
            stringify!(AddApplicationManifest)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRApplications_FnTable>())).RemoveApplicationManifest
                as *const _ as usize
        },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRApplications_FnTable),
            "::",
            stringify!(RemoveApplicationManifest)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRApplications_FnTable>())).IsApplicationInstalled
                as *const _ as usize
        },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRApplications_FnTable),
            "::",
            stringify!(IsApplicationInstalled)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRApplications_FnTable>())).GetApplicationCount as *const _
                as usize
        },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRApplications_FnTable),
            "::",
            stringify!(GetApplicationCount)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRApplications_FnTable>())).GetApplicationKeyByIndex
                as *const _ as usize
        },
        32usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRApplications_FnTable),
            "::",
            stringify!(GetApplicationKeyByIndex)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRApplications_FnTable>())).GetApplicationKeyByProcessId
                as *const _ as usize
        },
        40usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRApplications_FnTable),
            "::",
            stringify!(GetApplicationKeyByProcessId)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRApplications_FnTable>())).LaunchApplication as *const _
                as usize
        },
        48usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRApplications_FnTable),
            "::",
            stringify!(LaunchApplication)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRApplications_FnTable>())).LaunchTemplateApplication
                as *const _ as usize
        },
        56usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRApplications_FnTable),
            "::",
            stringify!(LaunchTemplateApplication)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRApplications_FnTable>())).LaunchApplicationFromMimeType
                as *const _ as usize
        },
        64usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRApplications_FnTable),
            "::",
            stringify!(LaunchApplicationFromMimeType)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRApplications_FnTable>())).LaunchDashboardOverlay
                as *const _ as usize
        },
        72usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRApplications_FnTable),
            "::",
            stringify!(LaunchDashboardOverlay)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRApplications_FnTable>())).CancelApplicationLaunch
                as *const _ as usize
        },
        80usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRApplications_FnTable),
            "::",
            stringify!(CancelApplicationLaunch)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRApplications_FnTable>())).IdentifyApplication as *const _
                as usize
        },
        88usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRApplications_FnTable),
            "::",
            stringify!(IdentifyApplication)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRApplications_FnTable>())).GetApplicationProcessId
                as *const _ as usize
        },
        96usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRApplications_FnTable),
            "::",
            stringify!(GetApplicationProcessId)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRApplications_FnTable>())).GetApplicationsErrorNameFromEnum
                as *const _ as usize
        },
        104usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRApplications_FnTable),
            "::",
            stringify!(GetApplicationsErrorNameFromEnum)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRApplications_FnTable>())).GetApplicationPropertyString
                as *const _ as usize
        },
        112usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRApplications_FnTable),
            "::",
            stringify!(GetApplicationPropertyString)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRApplications_FnTable>())).GetApplicationPropertyBool
                as *const _ as usize
        },
        120usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRApplications_FnTable),
            "::",
            stringify!(GetApplicationPropertyBool)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRApplications_FnTable>())).GetApplicationPropertyUint64
                as *const _ as usize
        },
        128usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRApplications_FnTable),
            "::",
            stringify!(GetApplicationPropertyUint64)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRApplications_FnTable>())).SetApplicationAutoLaunch
                as *const _ as usize
        },
        136usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRApplications_FnTable),
            "::",
            stringify!(SetApplicationAutoLaunch)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRApplications_FnTable>())).GetApplicationAutoLaunch
                as *const _ as usize
        },
        144usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRApplications_FnTable),
            "::",
            stringify!(GetApplicationAutoLaunch)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRApplications_FnTable>())).SetDefaultApplicationForMimeType
                as *const _ as usize
        },
        152usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRApplications_FnTable),
            "::",
            stringify!(SetDefaultApplicationForMimeType)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRApplications_FnTable>())).GetDefaultApplicationForMimeType
                as *const _ as usize
        },
        160usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRApplications_FnTable),
            "::",
            stringify!(GetDefaultApplicationForMimeType)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRApplications_FnTable>())).GetApplicationSupportedMimeTypes
                as *const _ as usize
        },
        168usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRApplications_FnTable),
            "::",
            stringify!(GetApplicationSupportedMimeTypes)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRApplications_FnTable>()))
                .GetApplicationsThatSupportMimeType as *const _ as usize
        },
        176usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRApplications_FnTable),
            "::",
            stringify!(GetApplicationsThatSupportMimeType)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRApplications_FnTable>())).GetApplicationLaunchArguments
                as *const _ as usize
        },
        184usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRApplications_FnTable),
            "::",
            stringify!(GetApplicationLaunchArguments)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRApplications_FnTable>())).GetStartingApplication
                as *const _ as usize
        },
        192usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRApplications_FnTable),
            "::",
            stringify!(GetStartingApplication)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRApplications_FnTable>())).GetTransitionState as *const _
                as usize
        },
        200usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRApplications_FnTable),
            "::",
            stringify!(GetTransitionState)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRApplications_FnTable>())).PerformApplicationPrelaunchCheck
                as *const _ as usize
        },
        208usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRApplications_FnTable),
            "::",
            stringify!(PerformApplicationPrelaunchCheck)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRApplications_FnTable>()))
                .GetApplicationsTransitionStateNameFromEnum as *const _ as usize
        },
        216usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRApplications_FnTable),
            "::",
            stringify!(GetApplicationsTransitionStateNameFromEnum)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRApplications_FnTable>())).IsQuitUserPromptRequested
                as *const _ as usize
        },
        224usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRApplications_FnTable),
            "::",
            stringify!(IsQuitUserPromptRequested)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRApplications_FnTable>())).LaunchInternalProcess as *const _
                as usize
        },
        232usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRApplications_FnTable),
            "::",
            stringify!(LaunchInternalProcess)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRApplications_FnTable>())).GetCurrentSceneProcessId
                as *const _ as usize
        },
        240usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRApplications_FnTable),
            "::",
            stringify!(GetCurrentSceneProcessId)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct VR_IVRChaperone_FnTable {
    pub GetCalibrationState:
        ::std::option::Option<unsafe extern "C" fn() -> ChaperoneCalibrationState>,
    pub GetPlayAreaSize:
        ::std::option::Option<unsafe extern "C" fn(pSizeX: *mut f32, pSizeZ: *mut f32) -> bool>,
    pub GetPlayAreaRect: ::std::option::Option<unsafe extern "C" fn(rect: *mut HmdQuad_t) -> bool>,
    pub ReloadInfo: ::std::option::Option<unsafe extern "C" fn()>,
    pub SetSceneColor: ::std::option::Option<unsafe extern "C" fn(color: HmdColor_t)>,
    pub GetBoundsColor: ::std::option::Option<
        unsafe extern "C" fn(
            pOutputColorArray: *mut HmdColor_t,
            nNumOutputColors: ::std::os::raw::c_int,
            flCollisionBoundsFadeDistance: f32,
            pOutputCameraColor: *mut HmdColor_t,
        ),
    >,
    pub AreBoundsVisible: ::std::option::Option<unsafe extern "C" fn() -> bool>,
    pub ForceBoundsVisible: ::std::option::Option<unsafe extern "C" fn(bForce: bool)>,
}
#[test]
fn bindgen_test_layout_VR_IVRChaperone_FnTable() {
    assert_eq!(
        ::std::mem::size_of::<VR_IVRChaperone_FnTable>(),
        64usize,
        concat!("Size of: ", stringify!(VR_IVRChaperone_FnTable))
    );
    assert_eq!(
        ::std::mem::align_of::<VR_IVRChaperone_FnTable>(),
        8usize,
        concat!("Alignment of ", stringify!(VR_IVRChaperone_FnTable))
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRChaperone_FnTable>())).GetCalibrationState as *const _
                as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRChaperone_FnTable),
            "::",
            stringify!(GetCalibrationState)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRChaperone_FnTable>())).GetPlayAreaSize as *const _ as usize
        },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRChaperone_FnTable),
            "::",
            stringify!(GetPlayAreaSize)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRChaperone_FnTable>())).GetPlayAreaRect as *const _ as usize
        },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRChaperone_FnTable),
            "::",
            stringify!(GetPlayAreaRect)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRChaperone_FnTable>())).ReloadInfo as *const _ as usize
        },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRChaperone_FnTable),
            "::",
            stringify!(ReloadInfo)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRChaperone_FnTable>())).SetSceneColor as *const _ as usize
        },
        32usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRChaperone_FnTable),
            "::",
            stringify!(SetSceneColor)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRChaperone_FnTable>())).GetBoundsColor as *const _ as usize
        },
        40usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRChaperone_FnTable),
            "::",
            stringify!(GetBoundsColor)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRChaperone_FnTable>())).AreBoundsVisible as *const _
                as usize
        },
        48usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRChaperone_FnTable),
            "::",
            stringify!(AreBoundsVisible)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRChaperone_FnTable>())).ForceBoundsVisible as *const _
                as usize
        },
        56usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRChaperone_FnTable),
            "::",
            stringify!(ForceBoundsVisible)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct VR_IVRChaperoneSetup_FnTable {
    pub CommitWorkingCopy:
        ::std::option::Option<unsafe extern "C" fn(configFile: EChaperoneConfigFile) -> bool>,
    pub RevertWorkingCopy: ::std::option::Option<unsafe extern "C" fn()>,
    pub GetWorkingPlayAreaSize:
        ::std::option::Option<unsafe extern "C" fn(pSizeX: *mut f32, pSizeZ: *mut f32) -> bool>,
    pub GetWorkingPlayAreaRect:
        ::std::option::Option<unsafe extern "C" fn(rect: *mut HmdQuad_t) -> bool>,
    pub GetWorkingCollisionBoundsInfo: ::std::option::Option<
        unsafe extern "C" fn(pQuadsBuffer: *mut HmdQuad_t, punQuadsCount: *mut u32) -> bool,
    >,
    pub GetLiveCollisionBoundsInfo: ::std::option::Option<
        unsafe extern "C" fn(pQuadsBuffer: *mut HmdQuad_t, punQuadsCount: *mut u32) -> bool,
    >,
    pub GetWorkingSeatedZeroPoseToRawTrackingPose: ::std::option::Option<
        unsafe extern "C" fn(pmatSeatedZeroPoseToRawTrackingPose: *mut HmdMatrix34_t) -> bool,
    >,
    pub GetWorkingStandingZeroPoseToRawTrackingPose: ::std::option::Option<
        unsafe extern "C" fn(pmatStandingZeroPoseToRawTrackingPose: *mut HmdMatrix34_t) -> bool,
    >,
    pub SetWorkingPlayAreaSize: ::std::option::Option<unsafe extern "C" fn(sizeX: f32, sizeZ: f32)>,
    pub SetWorkingCollisionBoundsInfo: ::std::option::Option<
        unsafe extern "C" fn(pQuadsBuffer: *mut HmdQuad_t, unQuadsCount: u32),
    >,
    pub SetWorkingPerimeter: ::std::option::Option<
        unsafe extern "C" fn(pPointBuffer: *mut HmdVector2_t, unPointCount: u32),
    >,
    pub SetWorkingSeatedZeroPoseToRawTrackingPose: ::std::option::Option<
        unsafe extern "C" fn(pMatSeatedZeroPoseToRawTrackingPose: *mut HmdMatrix34_t),
    >,
    pub SetWorkingStandingZeroPoseToRawTrackingPose: ::std::option::Option<
        unsafe extern "C" fn(pMatStandingZeroPoseToRawTrackingPose: *mut HmdMatrix34_t),
    >,
    pub ReloadFromDisk:
        ::std::option::Option<unsafe extern "C" fn(configFile: EChaperoneConfigFile)>,
    pub GetLiveSeatedZeroPoseToRawTrackingPose: ::std::option::Option<
        unsafe extern "C" fn(pmatSeatedZeroPoseToRawTrackingPose: *mut HmdMatrix34_t) -> bool,
    >,
    pub ExportLiveToBuffer: ::std::option::Option<
        unsafe extern "C" fn(
            pBuffer: *mut ::std::os::raw::c_char,
            pnBufferLength: *mut u32,
        ) -> bool,
    >,
    pub ImportFromBufferToWorking: ::std::option::Option<
        unsafe extern "C" fn(pBuffer: *mut ::std::os::raw::c_char, nImportFlags: u32) -> bool,
    >,
    pub ShowWorkingSetPreview: ::std::option::Option<unsafe extern "C" fn()>,
    pub HideWorkingSetPreview: ::std::option::Option<unsafe extern "C" fn()>,
    pub RoomSetupStarting: ::std::option::Option<unsafe extern "C" fn()>,
}
#[test]
fn bindgen_test_layout_VR_IVRChaperoneSetup_FnTable() {
    assert_eq!(
        ::std::mem::size_of::<VR_IVRChaperoneSetup_FnTable>(),
        160usize,
        concat!("Size of: ", stringify!(VR_IVRChaperoneSetup_FnTable))
    );
    assert_eq!(
        ::std::mem::align_of::<VR_IVRChaperoneSetup_FnTable>(),
        8usize,
        concat!("Alignment of ", stringify!(VR_IVRChaperoneSetup_FnTable))
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRChaperoneSetup_FnTable>())).CommitWorkingCopy as *const _
                as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRChaperoneSetup_FnTable),
            "::",
            stringify!(CommitWorkingCopy)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRChaperoneSetup_FnTable>())).RevertWorkingCopy as *const _
                as usize
        },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRChaperoneSetup_FnTable),
            "::",
            stringify!(RevertWorkingCopy)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRChaperoneSetup_FnTable>())).GetWorkingPlayAreaSize
                as *const _ as usize
        },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRChaperoneSetup_FnTable),
            "::",
            stringify!(GetWorkingPlayAreaSize)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRChaperoneSetup_FnTable>())).GetWorkingPlayAreaRect
                as *const _ as usize
        },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRChaperoneSetup_FnTable),
            "::",
            stringify!(GetWorkingPlayAreaRect)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRChaperoneSetup_FnTable>())).GetWorkingCollisionBoundsInfo
                as *const _ as usize
        },
        32usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRChaperoneSetup_FnTable),
            "::",
            stringify!(GetWorkingCollisionBoundsInfo)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRChaperoneSetup_FnTable>())).GetLiveCollisionBoundsInfo
                as *const _ as usize
        },
        40usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRChaperoneSetup_FnTable),
            "::",
            stringify!(GetLiveCollisionBoundsInfo)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRChaperoneSetup_FnTable>()))
                .GetWorkingSeatedZeroPoseToRawTrackingPose as *const _ as usize
        },
        48usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRChaperoneSetup_FnTable),
            "::",
            stringify!(GetWorkingSeatedZeroPoseToRawTrackingPose)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRChaperoneSetup_FnTable>()))
                .GetWorkingStandingZeroPoseToRawTrackingPose as *const _ as usize
        },
        56usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRChaperoneSetup_FnTable),
            "::",
            stringify!(GetWorkingStandingZeroPoseToRawTrackingPose)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRChaperoneSetup_FnTable>())).SetWorkingPlayAreaSize
                as *const _ as usize
        },
        64usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRChaperoneSetup_FnTable),
            "::",
            stringify!(SetWorkingPlayAreaSize)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRChaperoneSetup_FnTable>())).SetWorkingCollisionBoundsInfo
                as *const _ as usize
        },
        72usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRChaperoneSetup_FnTable),
            "::",
            stringify!(SetWorkingCollisionBoundsInfo)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRChaperoneSetup_FnTable>())).SetWorkingPerimeter as *const _
                as usize
        },
        80usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRChaperoneSetup_FnTable),
            "::",
            stringify!(SetWorkingPerimeter)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRChaperoneSetup_FnTable>()))
                .SetWorkingSeatedZeroPoseToRawTrackingPose as *const _ as usize
        },
        88usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRChaperoneSetup_FnTable),
            "::",
            stringify!(SetWorkingSeatedZeroPoseToRawTrackingPose)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRChaperoneSetup_FnTable>()))
                .SetWorkingStandingZeroPoseToRawTrackingPose as *const _ as usize
        },
        96usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRChaperoneSetup_FnTable),
            "::",
            stringify!(SetWorkingStandingZeroPoseToRawTrackingPose)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRChaperoneSetup_FnTable>())).ReloadFromDisk as *const _
                as usize
        },
        104usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRChaperoneSetup_FnTable),
            "::",
            stringify!(ReloadFromDisk)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRChaperoneSetup_FnTable>()))
                .GetLiveSeatedZeroPoseToRawTrackingPose as *const _ as usize
        },
        112usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRChaperoneSetup_FnTable),
            "::",
            stringify!(GetLiveSeatedZeroPoseToRawTrackingPose)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRChaperoneSetup_FnTable>())).ExportLiveToBuffer as *const _
                as usize
        },
        120usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRChaperoneSetup_FnTable),
            "::",
            stringify!(ExportLiveToBuffer)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRChaperoneSetup_FnTable>())).ImportFromBufferToWorking
                as *const _ as usize
        },
        128usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRChaperoneSetup_FnTable),
            "::",
            stringify!(ImportFromBufferToWorking)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRChaperoneSetup_FnTable>())).ShowWorkingSetPreview
                as *const _ as usize
        },
        136usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRChaperoneSetup_FnTable),
            "::",
            stringify!(ShowWorkingSetPreview)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRChaperoneSetup_FnTable>())).HideWorkingSetPreview
                as *const _ as usize
        },
        144usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRChaperoneSetup_FnTable),
            "::",
            stringify!(HideWorkingSetPreview)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRChaperoneSetup_FnTable>())).RoomSetupStarting as *const _
                as usize
        },
        152usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRChaperoneSetup_FnTable),
            "::",
            stringify!(RoomSetupStarting)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct VR_IVRCompositor_FnTable {
    pub SetTrackingSpace:
        ::std::option::Option<unsafe extern "C" fn(eOrigin: ETrackingUniverseOrigin)>,
    pub GetTrackingSpace: ::std::option::Option<unsafe extern "C" fn() -> ETrackingUniverseOrigin>,
    pub WaitGetPoses: ::std::option::Option<
        unsafe extern "C" fn(
            pRenderPoseArray: *mut TrackedDevicePose_t,
            unRenderPoseArrayCount: u32,
            pGamePoseArray: *mut TrackedDevicePose_t,
            unGamePoseArrayCount: u32,
        ) -> EVRCompositorError,
    >,
    pub GetLastPoses: ::std::option::Option<
        unsafe extern "C" fn(
            pRenderPoseArray: *mut TrackedDevicePose_t,
            unRenderPoseArrayCount: u32,
            pGamePoseArray: *mut TrackedDevicePose_t,
            unGamePoseArrayCount: u32,
        ) -> EVRCompositorError,
    >,
    pub GetLastPoseForTrackedDeviceIndex: ::std::option::Option<
        unsafe extern "C" fn(
            unDeviceIndex: TrackedDeviceIndex_t,
            pOutputPose: *mut TrackedDevicePose_t,
            pOutputGamePose: *mut TrackedDevicePose_t,
        ) -> EVRCompositorError,
    >,
    pub Submit: ::std::option::Option<
        unsafe extern "C" fn(
            eEye: EVREye,
            pTexture: *mut Texture_t,
            pBounds: *mut VRTextureBounds_t,
            nSubmitFlags: EVRSubmitFlags,
        ) -> EVRCompositorError,
    >,
    pub ClearLastSubmittedFrame: ::std::option::Option<unsafe extern "C" fn()>,
    pub PostPresentHandoff: ::std::option::Option<unsafe extern "C" fn()>,
    pub GetFrameTiming: ::std::option::Option<
        unsafe extern "C" fn(pTiming: *mut Compositor_FrameTiming, unFramesAgo: u32) -> bool,
    >,
    pub GetFrameTimings: ::std::option::Option<
        unsafe extern "C" fn(pTiming: *mut Compositor_FrameTiming, nFrames: u32) -> u32,
    >,
    pub GetFrameTimeRemaining: ::std::option::Option<unsafe extern "C" fn() -> f32>,
    pub GetCumulativeStats: ::std::option::Option<
        unsafe extern "C" fn(pStats: *mut Compositor_CumulativeStats, nStatsSizeInBytes: u32),
    >,
    pub FadeToColor: ::std::option::Option<
        unsafe extern "C" fn(
            fSeconds: f32,
            fRed: f32,
            fGreen: f32,
            fBlue: f32,
            fAlpha: f32,
            bBackground: bool,
        ),
    >,
    pub GetCurrentFadeColor:
        ::std::option::Option<unsafe extern "C" fn(bBackground: bool) -> HmdColor_t>,
    pub FadeGrid: ::std::option::Option<unsafe extern "C" fn(fSeconds: f32, bFadeIn: bool)>,
    pub GetCurrentGridAlpha: ::std::option::Option<unsafe extern "C" fn() -> f32>,
    pub SetSkyboxOverride: ::std::option::Option<
        unsafe extern "C" fn(pTextures: *mut Texture_t, unTextureCount: u32) -> EVRCompositorError,
    >,
    pub ClearSkyboxOverride: ::std::option::Option<unsafe extern "C" fn()>,
    pub CompositorBringToFront: ::std::option::Option<unsafe extern "C" fn()>,
    pub CompositorGoToBack: ::std::option::Option<unsafe extern "C" fn()>,
    pub CompositorQuit: ::std::option::Option<unsafe extern "C" fn()>,
    pub IsFullscreen: ::std::option::Option<unsafe extern "C" fn() -> bool>,
    pub GetCurrentSceneFocusProcess: ::std::option::Option<unsafe extern "C" fn() -> u32>,
    pub GetLastFrameRenderer: ::std::option::Option<unsafe extern "C" fn() -> u32>,
    pub CanRenderScene: ::std::option::Option<unsafe extern "C" fn() -> bool>,
    pub ShowMirrorWindow: ::std::option::Option<unsafe extern "C" fn()>,
    pub HideMirrorWindow: ::std::option::Option<unsafe extern "C" fn()>,
    pub IsMirrorWindowVisible: ::std::option::Option<unsafe extern "C" fn() -> bool>,
    pub CompositorDumpImages: ::std::option::Option<unsafe extern "C" fn()>,
    pub ShouldAppRenderWithLowResources: ::std::option::Option<unsafe extern "C" fn() -> bool>,
    pub ForceInterleavedReprojectionOn:
        ::std::option::Option<unsafe extern "C" fn(bOverride: bool)>,
    pub ForceReconnectProcess: ::std::option::Option<unsafe extern "C" fn()>,
    pub SuspendRendering: ::std::option::Option<unsafe extern "C" fn(bSuspend: bool)>,
    pub GetMirrorTextureD3D11: ::std::option::Option<
        unsafe extern "C" fn(
            eEye: EVREye,
            pD3D11DeviceOrResource: *mut ::std::os::raw::c_void,
            ppD3D11ShaderResourceView: *mut *mut ::std::os::raw::c_void,
        ) -> EVRCompositorError,
    >,
    pub ReleaseMirrorTextureD3D11: ::std::option::Option<
        unsafe extern "C" fn(pD3D11ShaderResourceView: *mut ::std::os::raw::c_void),
    >,
    pub GetMirrorTextureGL: ::std::option::Option<
        unsafe extern "C" fn(
            eEye: EVREye,
            pglTextureId: *mut glUInt_t,
            pglSharedTextureHandle: *mut glSharedTextureHandle_t,
        ) -> EVRCompositorError,
    >,
    pub ReleaseSharedGLTexture: ::std::option::Option<
        unsafe extern "C" fn(
            glTextureId: glUInt_t,
            glSharedTextureHandle: glSharedTextureHandle_t,
        ) -> bool,
    >,
    pub LockGLSharedTextureForAccess:
        ::std::option::Option<unsafe extern "C" fn(glSharedTextureHandle: glSharedTextureHandle_t)>,
    pub UnlockGLSharedTextureForAccess:
        ::std::option::Option<unsafe extern "C" fn(glSharedTextureHandle: glSharedTextureHandle_t)>,
    pub GetVulkanInstanceExtensionsRequired: ::std::option::Option<
        unsafe extern "C" fn(pchValue: *mut ::std::os::raw::c_char, unBufferSize: u32) -> u32,
    >,
    pub GetVulkanDeviceExtensionsRequired: ::std::option::Option<
        unsafe extern "C" fn(
            pPhysicalDevice: *mut VkPhysicalDevice_T,
            pchValue: *mut ::std::os::raw::c_char,
            unBufferSize: u32,
        ) -> u32,
    >,
    pub SetExplicitTimingMode:
        ::std::option::Option<unsafe extern "C" fn(eTimingMode: EVRCompositorTimingMode)>,
    pub SubmitExplicitTimingData:
        ::std::option::Option<unsafe extern "C" fn() -> EVRCompositorError>,
    pub IsMotionSmoothingEnabled: ::std::option::Option<unsafe extern "C" fn() -> bool>,
    pub IsMotionSmoothingSupported: ::std::option::Option<unsafe extern "C" fn() -> bool>,
    pub IsCurrentSceneFocusAppLoading: ::std::option::Option<unsafe extern "C" fn() -> bool>,
}
#[test]
fn bindgen_test_layout_VR_IVRCompositor_FnTable() {
    assert_eq!(
        ::std::mem::size_of::<VR_IVRCompositor_FnTable>(),
        368usize,
        concat!("Size of: ", stringify!(VR_IVRCompositor_FnTable))
    );
    assert_eq!(
        ::std::mem::align_of::<VR_IVRCompositor_FnTable>(),
        8usize,
        concat!("Alignment of ", stringify!(VR_IVRCompositor_FnTable))
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRCompositor_FnTable>())).SetTrackingSpace as *const _
                as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRCompositor_FnTable),
            "::",
            stringify!(SetTrackingSpace)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRCompositor_FnTable>())).GetTrackingSpace as *const _
                as usize
        },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRCompositor_FnTable),
            "::",
            stringify!(GetTrackingSpace)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRCompositor_FnTable>())).WaitGetPoses as *const _ as usize
        },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRCompositor_FnTable),
            "::",
            stringify!(WaitGetPoses)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRCompositor_FnTable>())).GetLastPoses as *const _ as usize
        },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRCompositor_FnTable),
            "::",
            stringify!(GetLastPoses)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRCompositor_FnTable>())).GetLastPoseForTrackedDeviceIndex
                as *const _ as usize
        },
        32usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRCompositor_FnTable),
            "::",
            stringify!(GetLastPoseForTrackedDeviceIndex)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<VR_IVRCompositor_FnTable>())).Submit as *const _ as usize },
        40usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRCompositor_FnTable),
            "::",
            stringify!(Submit)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRCompositor_FnTable>())).ClearLastSubmittedFrame as *const _
                as usize
        },
        48usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRCompositor_FnTable),
            "::",
            stringify!(ClearLastSubmittedFrame)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRCompositor_FnTable>())).PostPresentHandoff as *const _
                as usize
        },
        56usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRCompositor_FnTable),
            "::",
            stringify!(PostPresentHandoff)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRCompositor_FnTable>())).GetFrameTiming as *const _ as usize
        },
        64usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRCompositor_FnTable),
            "::",
            stringify!(GetFrameTiming)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRCompositor_FnTable>())).GetFrameTimings as *const _
                as usize
        },
        72usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRCompositor_FnTable),
            "::",
            stringify!(GetFrameTimings)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRCompositor_FnTable>())).GetFrameTimeRemaining as *const _
                as usize
        },
        80usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRCompositor_FnTable),
            "::",
            stringify!(GetFrameTimeRemaining)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRCompositor_FnTable>())).GetCumulativeStats as *const _
                as usize
        },
        88usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRCompositor_FnTable),
            "::",
            stringify!(GetCumulativeStats)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRCompositor_FnTable>())).FadeToColor as *const _ as usize
        },
        96usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRCompositor_FnTable),
            "::",
            stringify!(FadeToColor)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRCompositor_FnTable>())).GetCurrentFadeColor as *const _
                as usize
        },
        104usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRCompositor_FnTable),
            "::",
            stringify!(GetCurrentFadeColor)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRCompositor_FnTable>())).FadeGrid as *const _ as usize
        },
        112usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRCompositor_FnTable),
            "::",
            stringify!(FadeGrid)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRCompositor_FnTable>())).GetCurrentGridAlpha as *const _
                as usize
        },
        120usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRCompositor_FnTable),
            "::",
            stringify!(GetCurrentGridAlpha)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRCompositor_FnTable>())).SetSkyboxOverride as *const _
                as usize
        },
        128usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRCompositor_FnTable),
            "::",
            stringify!(SetSkyboxOverride)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRCompositor_FnTable>())).ClearSkyboxOverride as *const _
                as usize
        },
        136usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRCompositor_FnTable),
            "::",
            stringify!(ClearSkyboxOverride)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRCompositor_FnTable>())).CompositorBringToFront as *const _
                as usize
        },
        144usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRCompositor_FnTable),
            "::",
            stringify!(CompositorBringToFront)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRCompositor_FnTable>())).CompositorGoToBack as *const _
                as usize
        },
        152usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRCompositor_FnTable),
            "::",
            stringify!(CompositorGoToBack)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRCompositor_FnTable>())).CompositorQuit as *const _ as usize
        },
        160usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRCompositor_FnTable),
            "::",
            stringify!(CompositorQuit)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRCompositor_FnTable>())).IsFullscreen as *const _ as usize
        },
        168usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRCompositor_FnTable),
            "::",
            stringify!(IsFullscreen)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRCompositor_FnTable>())).GetCurrentSceneFocusProcess
                as *const _ as usize
        },
        176usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRCompositor_FnTable),
            "::",
            stringify!(GetCurrentSceneFocusProcess)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRCompositor_FnTable>())).GetLastFrameRenderer as *const _
                as usize
        },
        184usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRCompositor_FnTable),
            "::",
            stringify!(GetLastFrameRenderer)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRCompositor_FnTable>())).CanRenderScene as *const _ as usize
        },
        192usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRCompositor_FnTable),
            "::",
            stringify!(CanRenderScene)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRCompositor_FnTable>())).ShowMirrorWindow as *const _
                as usize
        },
        200usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRCompositor_FnTable),
            "::",
            stringify!(ShowMirrorWindow)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRCompositor_FnTable>())).HideMirrorWindow as *const _
                as usize
        },
        208usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRCompositor_FnTable),
            "::",
            stringify!(HideMirrorWindow)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRCompositor_FnTable>())).IsMirrorWindowVisible as *const _
                as usize
        },
        216usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRCompositor_FnTable),
            "::",
            stringify!(IsMirrorWindowVisible)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRCompositor_FnTable>())).CompositorDumpImages as *const _
                as usize
        },
        224usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRCompositor_FnTable),
            "::",
            stringify!(CompositorDumpImages)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRCompositor_FnTable>())).ShouldAppRenderWithLowResources
                as *const _ as usize
        },
        232usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRCompositor_FnTable),
            "::",
            stringify!(ShouldAppRenderWithLowResources)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRCompositor_FnTable>())).ForceInterleavedReprojectionOn
                as *const _ as usize
        },
        240usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRCompositor_FnTable),
            "::",
            stringify!(ForceInterleavedReprojectionOn)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRCompositor_FnTable>())).ForceReconnectProcess as *const _
                as usize
        },
        248usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRCompositor_FnTable),
            "::",
            stringify!(ForceReconnectProcess)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRCompositor_FnTable>())).SuspendRendering as *const _
                as usize
        },
        256usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRCompositor_FnTable),
            "::",
            stringify!(SuspendRendering)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRCompositor_FnTable>())).GetMirrorTextureD3D11 as *const _
                as usize
        },
        264usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRCompositor_FnTable),
            "::",
            stringify!(GetMirrorTextureD3D11)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRCompositor_FnTable>())).ReleaseMirrorTextureD3D11
                as *const _ as usize
        },
        272usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRCompositor_FnTable),
            "::",
            stringify!(ReleaseMirrorTextureD3D11)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRCompositor_FnTable>())).GetMirrorTextureGL as *const _
                as usize
        },
        280usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRCompositor_FnTable),
            "::",
            stringify!(GetMirrorTextureGL)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRCompositor_FnTable>())).ReleaseSharedGLTexture as *const _
                as usize
        },
        288usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRCompositor_FnTable),
            "::",
            stringify!(ReleaseSharedGLTexture)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRCompositor_FnTable>())).LockGLSharedTextureForAccess
                as *const _ as usize
        },
        296usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRCompositor_FnTable),
            "::",
            stringify!(LockGLSharedTextureForAccess)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRCompositor_FnTable>())).UnlockGLSharedTextureForAccess
                as *const _ as usize
        },
        304usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRCompositor_FnTable),
            "::",
            stringify!(UnlockGLSharedTextureForAccess)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRCompositor_FnTable>())).GetVulkanInstanceExtensionsRequired
                as *const _ as usize
        },
        312usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRCompositor_FnTable),
            "::",
            stringify!(GetVulkanInstanceExtensionsRequired)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRCompositor_FnTable>())).GetVulkanDeviceExtensionsRequired
                as *const _ as usize
        },
        320usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRCompositor_FnTable),
            "::",
            stringify!(GetVulkanDeviceExtensionsRequired)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRCompositor_FnTable>())).SetExplicitTimingMode as *const _
                as usize
        },
        328usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRCompositor_FnTable),
            "::",
            stringify!(SetExplicitTimingMode)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRCompositor_FnTable>())).SubmitExplicitTimingData
                as *const _ as usize
        },
        336usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRCompositor_FnTable),
            "::",
            stringify!(SubmitExplicitTimingData)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRCompositor_FnTable>())).IsMotionSmoothingEnabled
                as *const _ as usize
        },
        344usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRCompositor_FnTable),
            "::",
            stringify!(IsMotionSmoothingEnabled)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRCompositor_FnTable>())).IsMotionSmoothingSupported
                as *const _ as usize
        },
        352usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRCompositor_FnTable),
            "::",
            stringify!(IsMotionSmoothingSupported)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRCompositor_FnTable>())).IsCurrentSceneFocusAppLoading
                as *const _ as usize
        },
        360usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRCompositor_FnTable),
            "::",
            stringify!(IsCurrentSceneFocusAppLoading)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct VR_IVROverlay_FnTable {
    pub FindOverlay: ::std::option::Option<
        unsafe extern "C" fn(
            pchOverlayKey: *mut ::std::os::raw::c_char,
            pOverlayHandle: *mut VROverlayHandle_t,
        ) -> EVROverlayError,
    >,
    pub CreateOverlay: ::std::option::Option<
        unsafe extern "C" fn(
            pchOverlayKey: *mut ::std::os::raw::c_char,
            pchOverlayName: *mut ::std::os::raw::c_char,
            pOverlayHandle: *mut VROverlayHandle_t,
        ) -> EVROverlayError,
    >,
    pub DestroyOverlay: ::std::option::Option<
        unsafe extern "C" fn(ulOverlayHandle: VROverlayHandle_t) -> EVROverlayError,
    >,
    pub SetHighQualityOverlay: ::std::option::Option<
        unsafe extern "C" fn(ulOverlayHandle: VROverlayHandle_t) -> EVROverlayError,
    >,
    pub GetHighQualityOverlay: ::std::option::Option<unsafe extern "C" fn() -> VROverlayHandle_t>,
    pub GetOverlayKey: ::std::option::Option<
        unsafe extern "C" fn(
            ulOverlayHandle: VROverlayHandle_t,
            pchValue: *mut ::std::os::raw::c_char,
            unBufferSize: u32,
            pError: *mut EVROverlayError,
        ) -> u32,
    >,
    pub GetOverlayName: ::std::option::Option<
        unsafe extern "C" fn(
            ulOverlayHandle: VROverlayHandle_t,
            pchValue: *mut ::std::os::raw::c_char,
            unBufferSize: u32,
            pError: *mut EVROverlayError,
        ) -> u32,
    >,
    pub SetOverlayName: ::std::option::Option<
        unsafe extern "C" fn(
            ulOverlayHandle: VROverlayHandle_t,
            pchName: *mut ::std::os::raw::c_char,
        ) -> EVROverlayError,
    >,
    pub GetOverlayImageData: ::std::option::Option<
        unsafe extern "C" fn(
            ulOverlayHandle: VROverlayHandle_t,
            pvBuffer: *mut ::std::os::raw::c_void,
            unBufferSize: u32,
            punWidth: *mut u32,
            punHeight: *mut u32,
        ) -> EVROverlayError,
    >,
    pub GetOverlayErrorNameFromEnum: ::std::option::Option<
        unsafe extern "C" fn(error: EVROverlayError) -> *mut ::std::os::raw::c_char,
    >,
    pub SetOverlayRenderingPid: ::std::option::Option<
        unsafe extern "C" fn(ulOverlayHandle: VROverlayHandle_t, unPID: u32) -> EVROverlayError,
    >,
    pub GetOverlayRenderingPid:
        ::std::option::Option<unsafe extern "C" fn(ulOverlayHandle: VROverlayHandle_t) -> u32>,
    pub SetOverlayFlag: ::std::option::Option<
        unsafe extern "C" fn(
            ulOverlayHandle: VROverlayHandle_t,
            eOverlayFlag: VROverlayFlags,
            bEnabled: bool,
        ) -> EVROverlayError,
    >,
    pub GetOverlayFlag: ::std::option::Option<
        unsafe extern "C" fn(
            ulOverlayHandle: VROverlayHandle_t,
            eOverlayFlag: VROverlayFlags,
            pbEnabled: *mut bool,
        ) -> EVROverlayError,
    >,
    pub SetOverlayColor: ::std::option::Option<
        unsafe extern "C" fn(
            ulOverlayHandle: VROverlayHandle_t,
            fRed: f32,
            fGreen: f32,
            fBlue: f32,
        ) -> EVROverlayError,
    >,
    pub GetOverlayColor: ::std::option::Option<
        unsafe extern "C" fn(
            ulOverlayHandle: VROverlayHandle_t,
            pfRed: *mut f32,
            pfGreen: *mut f32,
            pfBlue: *mut f32,
        ) -> EVROverlayError,
    >,
    pub SetOverlayAlpha: ::std::option::Option<
        unsafe extern "C" fn(ulOverlayHandle: VROverlayHandle_t, fAlpha: f32) -> EVROverlayError,
    >,
    pub GetOverlayAlpha: ::std::option::Option<
        unsafe extern "C" fn(
            ulOverlayHandle: VROverlayHandle_t,
            pfAlpha: *mut f32,
        ) -> EVROverlayError,
    >,
    pub SetOverlayTexelAspect: ::std::option::Option<
        unsafe extern "C" fn(
            ulOverlayHandle: VROverlayHandle_t,
            fTexelAspect: f32,
        ) -> EVROverlayError,
    >,
    pub GetOverlayTexelAspect: ::std::option::Option<
        unsafe extern "C" fn(
            ulOverlayHandle: VROverlayHandle_t,
            pfTexelAspect: *mut f32,
        ) -> EVROverlayError,
    >,
    pub SetOverlaySortOrder: ::std::option::Option<
        unsafe extern "C" fn(
            ulOverlayHandle: VROverlayHandle_t,
            unSortOrder: u32,
        ) -> EVROverlayError,
    >,
    pub GetOverlaySortOrder: ::std::option::Option<
        unsafe extern "C" fn(
            ulOverlayHandle: VROverlayHandle_t,
            punSortOrder: *mut u32,
        ) -> EVROverlayError,
    >,
    pub SetOverlayWidthInMeters: ::std::option::Option<
        unsafe extern "C" fn(
            ulOverlayHandle: VROverlayHandle_t,
            fWidthInMeters: f32,
        ) -> EVROverlayError,
    >,
    pub GetOverlayWidthInMeters: ::std::option::Option<
        unsafe extern "C" fn(
            ulOverlayHandle: VROverlayHandle_t,
            pfWidthInMeters: *mut f32,
        ) -> EVROverlayError,
    >,
    pub SetOverlayAutoCurveDistanceRangeInMeters: ::std::option::Option<
        unsafe extern "C" fn(
            ulOverlayHandle: VROverlayHandle_t,
            fMinDistanceInMeters: f32,
            fMaxDistanceInMeters: f32,
        ) -> EVROverlayError,
    >,
    pub GetOverlayAutoCurveDistanceRangeInMeters: ::std::option::Option<
        unsafe extern "C" fn(
            ulOverlayHandle: VROverlayHandle_t,
            pfMinDistanceInMeters: *mut f32,
            pfMaxDistanceInMeters: *mut f32,
        ) -> EVROverlayError,
    >,
    pub SetOverlayTextureColorSpace: ::std::option::Option<
        unsafe extern "C" fn(
            ulOverlayHandle: VROverlayHandle_t,
            eTextureColorSpace: EColorSpace,
        ) -> EVROverlayError,
    >,
    pub GetOverlayTextureColorSpace: ::std::option::Option<
        unsafe extern "C" fn(
            ulOverlayHandle: VROverlayHandle_t,
            peTextureColorSpace: *mut EColorSpace,
        ) -> EVROverlayError,
    >,
    pub SetOverlayTextureBounds: ::std::option::Option<
        unsafe extern "C" fn(
            ulOverlayHandle: VROverlayHandle_t,
            pOverlayTextureBounds: *mut VRTextureBounds_t,
        ) -> EVROverlayError,
    >,
    pub GetOverlayTextureBounds: ::std::option::Option<
        unsafe extern "C" fn(
            ulOverlayHandle: VROverlayHandle_t,
            pOverlayTextureBounds: *mut VRTextureBounds_t,
        ) -> EVROverlayError,
    >,
    pub GetOverlayRenderModel: ::std::option::Option<
        unsafe extern "C" fn(
            ulOverlayHandle: VROverlayHandle_t,
            pchValue: *mut ::std::os::raw::c_char,
            unBufferSize: u32,
            pColor: *mut HmdColor_t,
            pError: *mut EVROverlayError,
        ) -> u32,
    >,
    pub SetOverlayRenderModel: ::std::option::Option<
        unsafe extern "C" fn(
            ulOverlayHandle: VROverlayHandle_t,
            pchRenderModel: *mut ::std::os::raw::c_char,
            pColor: *mut HmdColor_t,
        ) -> EVROverlayError,
    >,
    pub GetOverlayTransformType: ::std::option::Option<
        unsafe extern "C" fn(
            ulOverlayHandle: VROverlayHandle_t,
            peTransformType: *mut VROverlayTransformType,
        ) -> EVROverlayError,
    >,
    pub SetOverlayTransformAbsolute: ::std::option::Option<
        unsafe extern "C" fn(
            ulOverlayHandle: VROverlayHandle_t,
            eTrackingOrigin: ETrackingUniverseOrigin,
            pmatTrackingOriginToOverlayTransform: *mut HmdMatrix34_t,
        ) -> EVROverlayError,
    >,
    pub GetOverlayTransformAbsolute: ::std::option::Option<
        unsafe extern "C" fn(
            ulOverlayHandle: VROverlayHandle_t,
            peTrackingOrigin: *mut ETrackingUniverseOrigin,
            pmatTrackingOriginToOverlayTransform: *mut HmdMatrix34_t,
        ) -> EVROverlayError,
    >,
    pub SetOverlayTransformTrackedDeviceRelative: ::std::option::Option<
        unsafe extern "C" fn(
            ulOverlayHandle: VROverlayHandle_t,
            unTrackedDevice: TrackedDeviceIndex_t,
            pmatTrackedDeviceToOverlayTransform: *mut HmdMatrix34_t,
        ) -> EVROverlayError,
    >,
    pub GetOverlayTransformTrackedDeviceRelative: ::std::option::Option<
        unsafe extern "C" fn(
            ulOverlayHandle: VROverlayHandle_t,
            punTrackedDevice: *mut TrackedDeviceIndex_t,
            pmatTrackedDeviceToOverlayTransform: *mut HmdMatrix34_t,
        ) -> EVROverlayError,
    >,
    pub SetOverlayTransformTrackedDeviceComponent: ::std::option::Option<
        unsafe extern "C" fn(
            ulOverlayHandle: VROverlayHandle_t,
            unDeviceIndex: TrackedDeviceIndex_t,
            pchComponentName: *mut ::std::os::raw::c_char,
        ) -> EVROverlayError,
    >,
    pub GetOverlayTransformTrackedDeviceComponent: ::std::option::Option<
        unsafe extern "C" fn(
            ulOverlayHandle: VROverlayHandle_t,
            punDeviceIndex: *mut TrackedDeviceIndex_t,
            pchComponentName: *mut ::std::os::raw::c_char,
            unComponentNameSize: u32,
        ) -> EVROverlayError,
    >,
    pub GetOverlayTransformOverlayRelative: ::std::option::Option<
        unsafe extern "C" fn(
            ulOverlayHandle: VROverlayHandle_t,
            ulOverlayHandleParent: *mut VROverlayHandle_t,
            pmatParentOverlayToOverlayTransform: *mut HmdMatrix34_t,
        ) -> EVROverlayError,
    >,
    pub SetOverlayTransformOverlayRelative: ::std::option::Option<
        unsafe extern "C" fn(
            ulOverlayHandle: VROverlayHandle_t,
            ulOverlayHandleParent: VROverlayHandle_t,
            pmatParentOverlayToOverlayTransform: *mut HmdMatrix34_t,
        ) -> EVROverlayError,
    >,
    pub ShowOverlay: ::std::option::Option<
        unsafe extern "C" fn(ulOverlayHandle: VROverlayHandle_t) -> EVROverlayError,
    >,
    pub HideOverlay: ::std::option::Option<
        unsafe extern "C" fn(ulOverlayHandle: VROverlayHandle_t) -> EVROverlayError,
    >,
    pub IsOverlayVisible:
        ::std::option::Option<unsafe extern "C" fn(ulOverlayHandle: VROverlayHandle_t) -> bool>,
    pub GetTransformForOverlayCoordinates: ::std::option::Option<
        unsafe extern "C" fn(
            ulOverlayHandle: VROverlayHandle_t,
            eTrackingOrigin: ETrackingUniverseOrigin,
            coordinatesInOverlay: HmdVector2_t,
            pmatTransform: *mut HmdMatrix34_t,
        ) -> EVROverlayError,
    >,
    pub PollNextOverlayEvent: ::std::option::Option<
        unsafe extern "C" fn(
            ulOverlayHandle: VROverlayHandle_t,
            pEvent: *mut VREvent_t,
            uncbVREvent: u32,
        ) -> bool,
    >,
    pub GetOverlayInputMethod: ::std::option::Option<
        unsafe extern "C" fn(
            ulOverlayHandle: VROverlayHandle_t,
            peInputMethod: *mut VROverlayInputMethod,
        ) -> EVROverlayError,
    >,
    pub SetOverlayInputMethod: ::std::option::Option<
        unsafe extern "C" fn(
            ulOverlayHandle: VROverlayHandle_t,
            eInputMethod: VROverlayInputMethod,
        ) -> EVROverlayError,
    >,
    pub GetOverlayMouseScale: ::std::option::Option<
        unsafe extern "C" fn(
            ulOverlayHandle: VROverlayHandle_t,
            pvecMouseScale: *mut HmdVector2_t,
        ) -> EVROverlayError,
    >,
    pub SetOverlayMouseScale: ::std::option::Option<
        unsafe extern "C" fn(
            ulOverlayHandle: VROverlayHandle_t,
            pvecMouseScale: *mut HmdVector2_t,
        ) -> EVROverlayError,
    >,
    pub ComputeOverlayIntersection: ::std::option::Option<
        unsafe extern "C" fn(
            ulOverlayHandle: VROverlayHandle_t,
            pParams: *mut VROverlayIntersectionParams_t,
            pResults: *mut VROverlayIntersectionResults_t,
        ) -> bool,
    >,
    pub IsHoverTargetOverlay:
        ::std::option::Option<unsafe extern "C" fn(ulOverlayHandle: VROverlayHandle_t) -> bool>,
    pub GetGamepadFocusOverlay: ::std::option::Option<unsafe extern "C" fn() -> VROverlayHandle_t>,
    pub SetGamepadFocusOverlay: ::std::option::Option<
        unsafe extern "C" fn(ulNewFocusOverlay: VROverlayHandle_t) -> EVROverlayError,
    >,
    pub SetOverlayNeighbor: ::std::option::Option<
        unsafe extern "C" fn(
            eDirection: EOverlayDirection,
            ulFrom: VROverlayHandle_t,
            ulTo: VROverlayHandle_t,
        ) -> EVROverlayError,
    >,
    pub MoveGamepadFocusToNeighbor: ::std::option::Option<
        unsafe extern "C" fn(
            eDirection: EOverlayDirection,
            ulFrom: VROverlayHandle_t,
        ) -> EVROverlayError,
    >,
    pub SetOverlayDualAnalogTransform: ::std::option::Option<
        unsafe extern "C" fn(
            ulOverlay: VROverlayHandle_t,
            eWhich: EDualAnalogWhich,
            pvCenter: *mut HmdVector2_t,
            fRadius: f32,
        ) -> EVROverlayError,
    >,
    pub GetOverlayDualAnalogTransform: ::std::option::Option<
        unsafe extern "C" fn(
            ulOverlay: VROverlayHandle_t,
            eWhich: EDualAnalogWhich,
            pvCenter: *mut HmdVector2_t,
            pfRadius: *mut f32,
        ) -> EVROverlayError,
    >,
    pub SetOverlayTexture: ::std::option::Option<
        unsafe extern "C" fn(
            ulOverlayHandle: VROverlayHandle_t,
            pTexture: *mut Texture_t,
        ) -> EVROverlayError,
    >,
    pub ClearOverlayTexture: ::std::option::Option<
        unsafe extern "C" fn(ulOverlayHandle: VROverlayHandle_t) -> EVROverlayError,
    >,
    pub SetOverlayRaw: ::std::option::Option<
        unsafe extern "C" fn(
            ulOverlayHandle: VROverlayHandle_t,
            pvBuffer: *mut ::std::os::raw::c_void,
            unWidth: u32,
            unHeight: u32,
            unDepth: u32,
        ) -> EVROverlayError,
    >,
    pub SetOverlayFromFile: ::std::option::Option<
        unsafe extern "C" fn(
            ulOverlayHandle: VROverlayHandle_t,
            pchFilePath: *mut ::std::os::raw::c_char,
        ) -> EVROverlayError,
    >,
    pub GetOverlayTexture: ::std::option::Option<
        unsafe extern "C" fn(
            ulOverlayHandle: VROverlayHandle_t,
            pNativeTextureHandle: *mut *mut ::std::os::raw::c_void,
            pNativeTextureRef: *mut ::std::os::raw::c_void,
            pWidth: *mut u32,
            pHeight: *mut u32,
            pNativeFormat: *mut u32,
            pAPIType: *mut ETextureType,
            pColorSpace: *mut EColorSpace,
            pTextureBounds: *mut VRTextureBounds_t,
        ) -> EVROverlayError,
    >,
    pub ReleaseNativeOverlayHandle: ::std::option::Option<
        unsafe extern "C" fn(
            ulOverlayHandle: VROverlayHandle_t,
            pNativeTextureHandle: *mut ::std::os::raw::c_void,
        ) -> EVROverlayError,
    >,
    pub GetOverlayTextureSize: ::std::option::Option<
        unsafe extern "C" fn(
            ulOverlayHandle: VROverlayHandle_t,
            pWidth: *mut u32,
            pHeight: *mut u32,
        ) -> EVROverlayError,
    >,
    pub CreateDashboardOverlay: ::std::option::Option<
        unsafe extern "C" fn(
            pchOverlayKey: *mut ::std::os::raw::c_char,
            pchOverlayFriendlyName: *mut ::std::os::raw::c_char,
            pMainHandle: *mut VROverlayHandle_t,
            pThumbnailHandle: *mut VROverlayHandle_t,
        ) -> EVROverlayError,
    >,
    pub IsDashboardVisible: ::std::option::Option<unsafe extern "C" fn() -> bool>,
    pub IsActiveDashboardOverlay:
        ::std::option::Option<unsafe extern "C" fn(ulOverlayHandle: VROverlayHandle_t) -> bool>,
    pub SetDashboardOverlaySceneProcess: ::std::option::Option<
        unsafe extern "C" fn(
            ulOverlayHandle: VROverlayHandle_t,
            unProcessId: u32,
        ) -> EVROverlayError,
    >,
    pub GetDashboardOverlaySceneProcess: ::std::option::Option<
        unsafe extern "C" fn(
            ulOverlayHandle: VROverlayHandle_t,
            punProcessId: *mut u32,
        ) -> EVROverlayError,
    >,
    pub ShowDashboard:
        ::std::option::Option<unsafe extern "C" fn(pchOverlayToShow: *mut ::std::os::raw::c_char)>,
    pub GetPrimaryDashboardDevice:
        ::std::option::Option<unsafe extern "C" fn() -> TrackedDeviceIndex_t>,
    pub ShowKeyboard: ::std::option::Option<
        unsafe extern "C" fn(
            eInputMode: EGamepadTextInputMode,
            eLineInputMode: EGamepadTextInputLineMode,
            pchDescription: *mut ::std::os::raw::c_char,
            unCharMax: u32,
            pchExistingText: *mut ::std::os::raw::c_char,
            bUseMinimalMode: bool,
            uUserValue: u64,
        ) -> EVROverlayError,
    >,
    pub ShowKeyboardForOverlay: ::std::option::Option<
        unsafe extern "C" fn(
            ulOverlayHandle: VROverlayHandle_t,
            eInputMode: EGamepadTextInputMode,
            eLineInputMode: EGamepadTextInputLineMode,
            pchDescription: *mut ::std::os::raw::c_char,
            unCharMax: u32,
            pchExistingText: *mut ::std::os::raw::c_char,
            bUseMinimalMode: bool,
            uUserValue: u64,
        ) -> EVROverlayError,
    >,
    pub GetKeyboardText: ::std::option::Option<
        unsafe extern "C" fn(pchText: *mut ::std::os::raw::c_char, cchText: u32) -> u32,
    >,
    pub HideKeyboard: ::std::option::Option<unsafe extern "C" fn()>,
    pub SetKeyboardTransformAbsolute: ::std::option::Option<
        unsafe extern "C" fn(
            eTrackingOrigin: ETrackingUniverseOrigin,
            pmatTrackingOriginToKeyboardTransform: *mut HmdMatrix34_t,
        ),
    >,
    pub SetKeyboardPositionForOverlay: ::std::option::Option<
        unsafe extern "C" fn(ulOverlayHandle: VROverlayHandle_t, avoidRect: HmdRect2_t),
    >,
    pub SetOverlayIntersectionMask: ::std::option::Option<
        unsafe extern "C" fn(
            ulOverlayHandle: VROverlayHandle_t,
            pMaskPrimitives: *mut VROverlayIntersectionMaskPrimitive_t,
            unNumMaskPrimitives: u32,
            unPrimitiveSize: u32,
        ) -> EVROverlayError,
    >,
    pub GetOverlayFlags: ::std::option::Option<
        unsafe extern "C" fn(
            ulOverlayHandle: VROverlayHandle_t,
            pFlags: *mut u32,
        ) -> EVROverlayError,
    >,
    pub ShowMessageOverlay: ::std::option::Option<
        unsafe extern "C" fn(
            pchText: *mut ::std::os::raw::c_char,
            pchCaption: *mut ::std::os::raw::c_char,
            pchButton0Text: *mut ::std::os::raw::c_char,
            pchButton1Text: *mut ::std::os::raw::c_char,
            pchButton2Text: *mut ::std::os::raw::c_char,
            pchButton3Text: *mut ::std::os::raw::c_char,
        ) -> VRMessageOverlayResponse,
    >,
    pub CloseMessageOverlay: ::std::option::Option<unsafe extern "C" fn()>,
}
#[test]
fn bindgen_test_layout_VR_IVROverlay_FnTable() {
    assert_eq!(
        ::std::mem::size_of::<VR_IVROverlay_FnTable>(),
        656usize,
        concat!("Size of: ", stringify!(VR_IVROverlay_FnTable))
    );
    assert_eq!(
        ::std::mem::align_of::<VR_IVROverlay_FnTable>(),
        8usize,
        concat!("Alignment of ", stringify!(VR_IVROverlay_FnTable))
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVROverlay_FnTable>())).FindOverlay as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVROverlay_FnTable),
            "::",
            stringify!(FindOverlay)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVROverlay_FnTable>())).CreateOverlay as *const _ as usize
        },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVROverlay_FnTable),
            "::",
            stringify!(CreateOverlay)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVROverlay_FnTable>())).DestroyOverlay as *const _ as usize
        },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVROverlay_FnTable),
            "::",
            stringify!(DestroyOverlay)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVROverlay_FnTable>())).SetHighQualityOverlay as *const _
                as usize
        },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVROverlay_FnTable),
            "::",
            stringify!(SetHighQualityOverlay)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVROverlay_FnTable>())).GetHighQualityOverlay as *const _
                as usize
        },
        32usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVROverlay_FnTable),
            "::",
            stringify!(GetHighQualityOverlay)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVROverlay_FnTable>())).GetOverlayKey as *const _ as usize
        },
        40usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVROverlay_FnTable),
            "::",
            stringify!(GetOverlayKey)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVROverlay_FnTable>())).GetOverlayName as *const _ as usize
        },
        48usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVROverlay_FnTable),
            "::",
            stringify!(GetOverlayName)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVROverlay_FnTable>())).SetOverlayName as *const _ as usize
        },
        56usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVROverlay_FnTable),
            "::",
            stringify!(SetOverlayName)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVROverlay_FnTable>())).GetOverlayImageData as *const _
                as usize
        },
        64usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVROverlay_FnTable),
            "::",
            stringify!(GetOverlayImageData)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVROverlay_FnTable>())).GetOverlayErrorNameFromEnum
                as *const _ as usize
        },
        72usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVROverlay_FnTable),
            "::",
            stringify!(GetOverlayErrorNameFromEnum)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVROverlay_FnTable>())).SetOverlayRenderingPid as *const _
                as usize
        },
        80usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVROverlay_FnTable),
            "::",
            stringify!(SetOverlayRenderingPid)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVROverlay_FnTable>())).GetOverlayRenderingPid as *const _
                as usize
        },
        88usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVROverlay_FnTable),
            "::",
            stringify!(GetOverlayRenderingPid)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVROverlay_FnTable>())).SetOverlayFlag as *const _ as usize
        },
        96usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVROverlay_FnTable),
            "::",
            stringify!(SetOverlayFlag)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVROverlay_FnTable>())).GetOverlayFlag as *const _ as usize
        },
        104usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVROverlay_FnTable),
            "::",
            stringify!(GetOverlayFlag)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVROverlay_FnTable>())).SetOverlayColor as *const _ as usize
        },
        112usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVROverlay_FnTable),
            "::",
            stringify!(SetOverlayColor)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVROverlay_FnTable>())).GetOverlayColor as *const _ as usize
        },
        120usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVROverlay_FnTable),
            "::",
            stringify!(GetOverlayColor)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVROverlay_FnTable>())).SetOverlayAlpha as *const _ as usize
        },
        128usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVROverlay_FnTable),
            "::",
            stringify!(SetOverlayAlpha)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVROverlay_FnTable>())).GetOverlayAlpha as *const _ as usize
        },
        136usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVROverlay_FnTable),
            "::",
            stringify!(GetOverlayAlpha)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVROverlay_FnTable>())).SetOverlayTexelAspect as *const _
                as usize
        },
        144usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVROverlay_FnTable),
            "::",
            stringify!(SetOverlayTexelAspect)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVROverlay_FnTable>())).GetOverlayTexelAspect as *const _
                as usize
        },
        152usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVROverlay_FnTable),
            "::",
            stringify!(GetOverlayTexelAspect)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVROverlay_FnTable>())).SetOverlaySortOrder as *const _
                as usize
        },
        160usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVROverlay_FnTable),
            "::",
            stringify!(SetOverlaySortOrder)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVROverlay_FnTable>())).GetOverlaySortOrder as *const _
                as usize
        },
        168usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVROverlay_FnTable),
            "::",
            stringify!(GetOverlaySortOrder)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVROverlay_FnTable>())).SetOverlayWidthInMeters as *const _
                as usize
        },
        176usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVROverlay_FnTable),
            "::",
            stringify!(SetOverlayWidthInMeters)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVROverlay_FnTable>())).GetOverlayWidthInMeters as *const _
                as usize
        },
        184usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVROverlay_FnTable),
            "::",
            stringify!(GetOverlayWidthInMeters)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVROverlay_FnTable>()))
                .SetOverlayAutoCurveDistanceRangeInMeters as *const _ as usize
        },
        192usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVROverlay_FnTable),
            "::",
            stringify!(SetOverlayAutoCurveDistanceRangeInMeters)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVROverlay_FnTable>()))
                .GetOverlayAutoCurveDistanceRangeInMeters as *const _ as usize
        },
        200usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVROverlay_FnTable),
            "::",
            stringify!(GetOverlayAutoCurveDistanceRangeInMeters)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVROverlay_FnTable>())).SetOverlayTextureColorSpace
                as *const _ as usize
        },
        208usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVROverlay_FnTable),
            "::",
            stringify!(SetOverlayTextureColorSpace)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVROverlay_FnTable>())).GetOverlayTextureColorSpace
                as *const _ as usize
        },
        216usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVROverlay_FnTable),
            "::",
            stringify!(GetOverlayTextureColorSpace)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVROverlay_FnTable>())).SetOverlayTextureBounds as *const _
                as usize
        },
        224usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVROverlay_FnTable),
            "::",
            stringify!(SetOverlayTextureBounds)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVROverlay_FnTable>())).GetOverlayTextureBounds as *const _
                as usize
        },
        232usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVROverlay_FnTable),
            "::",
            stringify!(GetOverlayTextureBounds)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVROverlay_FnTable>())).GetOverlayRenderModel as *const _
                as usize
        },
        240usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVROverlay_FnTable),
            "::",
            stringify!(GetOverlayRenderModel)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVROverlay_FnTable>())).SetOverlayRenderModel as *const _
                as usize
        },
        248usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVROverlay_FnTable),
            "::",
            stringify!(SetOverlayRenderModel)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVROverlay_FnTable>())).GetOverlayTransformType as *const _
                as usize
        },
        256usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVROverlay_FnTable),
            "::",
            stringify!(GetOverlayTransformType)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVROverlay_FnTable>())).SetOverlayTransformAbsolute
                as *const _ as usize
        },
        264usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVROverlay_FnTable),
            "::",
            stringify!(SetOverlayTransformAbsolute)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVROverlay_FnTable>())).GetOverlayTransformAbsolute
                as *const _ as usize
        },
        272usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVROverlay_FnTable),
            "::",
            stringify!(GetOverlayTransformAbsolute)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVROverlay_FnTable>()))
                .SetOverlayTransformTrackedDeviceRelative as *const _ as usize
        },
        280usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVROverlay_FnTable),
            "::",
            stringify!(SetOverlayTransformTrackedDeviceRelative)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVROverlay_FnTable>()))
                .GetOverlayTransformTrackedDeviceRelative as *const _ as usize
        },
        288usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVROverlay_FnTable),
            "::",
            stringify!(GetOverlayTransformTrackedDeviceRelative)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVROverlay_FnTable>()))
                .SetOverlayTransformTrackedDeviceComponent as *const _ as usize
        },
        296usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVROverlay_FnTable),
            "::",
            stringify!(SetOverlayTransformTrackedDeviceComponent)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVROverlay_FnTable>()))
                .GetOverlayTransformTrackedDeviceComponent as *const _ as usize
        },
        304usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVROverlay_FnTable),
            "::",
            stringify!(GetOverlayTransformTrackedDeviceComponent)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVROverlay_FnTable>())).GetOverlayTransformOverlayRelative
                as *const _ as usize
        },
        312usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVROverlay_FnTable),
            "::",
            stringify!(GetOverlayTransformOverlayRelative)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVROverlay_FnTable>())).SetOverlayTransformOverlayRelative
                as *const _ as usize
        },
        320usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVROverlay_FnTable),
            "::",
            stringify!(SetOverlayTransformOverlayRelative)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVROverlay_FnTable>())).ShowOverlay as *const _ as usize
        },
        328usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVROverlay_FnTable),
            "::",
            stringify!(ShowOverlay)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVROverlay_FnTable>())).HideOverlay as *const _ as usize
        },
        336usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVROverlay_FnTable),
            "::",
            stringify!(HideOverlay)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVROverlay_FnTable>())).IsOverlayVisible as *const _ as usize
        },
        344usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVROverlay_FnTable),
            "::",
            stringify!(IsOverlayVisible)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVROverlay_FnTable>())).GetTransformForOverlayCoordinates
                as *const _ as usize
        },
        352usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVROverlay_FnTable),
            "::",
            stringify!(GetTransformForOverlayCoordinates)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVROverlay_FnTable>())).PollNextOverlayEvent as *const _
                as usize
        },
        360usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVROverlay_FnTable),
            "::",
            stringify!(PollNextOverlayEvent)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVROverlay_FnTable>())).GetOverlayInputMethod as *const _
                as usize
        },
        368usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVROverlay_FnTable),
            "::",
            stringify!(GetOverlayInputMethod)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVROverlay_FnTable>())).SetOverlayInputMethod as *const _
                as usize
        },
        376usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVROverlay_FnTable),
            "::",
            stringify!(SetOverlayInputMethod)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVROverlay_FnTable>())).GetOverlayMouseScale as *const _
                as usize
        },
        384usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVROverlay_FnTable),
            "::",
            stringify!(GetOverlayMouseScale)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVROverlay_FnTable>())).SetOverlayMouseScale as *const _
                as usize
        },
        392usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVROverlay_FnTable),
            "::",
            stringify!(SetOverlayMouseScale)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVROverlay_FnTable>())).ComputeOverlayIntersection as *const _
                as usize
        },
        400usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVROverlay_FnTable),
            "::",
            stringify!(ComputeOverlayIntersection)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVROverlay_FnTable>())).IsHoverTargetOverlay as *const _
                as usize
        },
        408usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVROverlay_FnTable),
            "::",
            stringify!(IsHoverTargetOverlay)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVROverlay_FnTable>())).GetGamepadFocusOverlay as *const _
                as usize
        },
        416usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVROverlay_FnTable),
            "::",
            stringify!(GetGamepadFocusOverlay)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVROverlay_FnTable>())).SetGamepadFocusOverlay as *const _
                as usize
        },
        424usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVROverlay_FnTable),
            "::",
            stringify!(SetGamepadFocusOverlay)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVROverlay_FnTable>())).SetOverlayNeighbor as *const _
                as usize
        },
        432usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVROverlay_FnTable),
            "::",
            stringify!(SetOverlayNeighbor)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVROverlay_FnTable>())).MoveGamepadFocusToNeighbor as *const _
                as usize
        },
        440usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVROverlay_FnTable),
            "::",
            stringify!(MoveGamepadFocusToNeighbor)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVROverlay_FnTable>())).SetOverlayDualAnalogTransform
                as *const _ as usize
        },
        448usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVROverlay_FnTable),
            "::",
            stringify!(SetOverlayDualAnalogTransform)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVROverlay_FnTable>())).GetOverlayDualAnalogTransform
                as *const _ as usize
        },
        456usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVROverlay_FnTable),
            "::",
            stringify!(GetOverlayDualAnalogTransform)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVROverlay_FnTable>())).SetOverlayTexture as *const _ as usize
        },
        464usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVROverlay_FnTable),
            "::",
            stringify!(SetOverlayTexture)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVROverlay_FnTable>())).ClearOverlayTexture as *const _
                as usize
        },
        472usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVROverlay_FnTable),
            "::",
            stringify!(ClearOverlayTexture)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVROverlay_FnTable>())).SetOverlayRaw as *const _ as usize
        },
        480usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVROverlay_FnTable),
            "::",
            stringify!(SetOverlayRaw)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVROverlay_FnTable>())).SetOverlayFromFile as *const _
                as usize
        },
        488usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVROverlay_FnTable),
            "::",
            stringify!(SetOverlayFromFile)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVROverlay_FnTable>())).GetOverlayTexture as *const _ as usize
        },
        496usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVROverlay_FnTable),
            "::",
            stringify!(GetOverlayTexture)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVROverlay_FnTable>())).ReleaseNativeOverlayHandle as *const _
                as usize
        },
        504usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVROverlay_FnTable),
            "::",
            stringify!(ReleaseNativeOverlayHandle)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVROverlay_FnTable>())).GetOverlayTextureSize as *const _
                as usize
        },
        512usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVROverlay_FnTable),
            "::",
            stringify!(GetOverlayTextureSize)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVROverlay_FnTable>())).CreateDashboardOverlay as *const _
                as usize
        },
        520usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVROverlay_FnTable),
            "::",
            stringify!(CreateDashboardOverlay)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVROverlay_FnTable>())).IsDashboardVisible as *const _
                as usize
        },
        528usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVROverlay_FnTable),
            "::",
            stringify!(IsDashboardVisible)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVROverlay_FnTable>())).IsActiveDashboardOverlay as *const _
                as usize
        },
        536usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVROverlay_FnTable),
            "::",
            stringify!(IsActiveDashboardOverlay)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVROverlay_FnTable>())).SetDashboardOverlaySceneProcess
                as *const _ as usize
        },
        544usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVROverlay_FnTable),
            "::",
            stringify!(SetDashboardOverlaySceneProcess)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVROverlay_FnTable>())).GetDashboardOverlaySceneProcess
                as *const _ as usize
        },
        552usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVROverlay_FnTable),
            "::",
            stringify!(GetDashboardOverlaySceneProcess)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVROverlay_FnTable>())).ShowDashboard as *const _ as usize
        },
        560usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVROverlay_FnTable),
            "::",
            stringify!(ShowDashboard)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVROverlay_FnTable>())).GetPrimaryDashboardDevice as *const _
                as usize
        },
        568usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVROverlay_FnTable),
            "::",
            stringify!(GetPrimaryDashboardDevice)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVROverlay_FnTable>())).ShowKeyboard as *const _ as usize
        },
        576usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVROverlay_FnTable),
            "::",
            stringify!(ShowKeyboard)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVROverlay_FnTable>())).ShowKeyboardForOverlay as *const _
                as usize
        },
        584usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVROverlay_FnTable),
            "::",
            stringify!(ShowKeyboardForOverlay)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVROverlay_FnTable>())).GetKeyboardText as *const _ as usize
        },
        592usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVROverlay_FnTable),
            "::",
            stringify!(GetKeyboardText)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVROverlay_FnTable>())).HideKeyboard as *const _ as usize
        },
        600usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVROverlay_FnTable),
            "::",
            stringify!(HideKeyboard)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVROverlay_FnTable>())).SetKeyboardTransformAbsolute
                as *const _ as usize
        },
        608usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVROverlay_FnTable),
            "::",
            stringify!(SetKeyboardTransformAbsolute)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVROverlay_FnTable>())).SetKeyboardPositionForOverlay
                as *const _ as usize
        },
        616usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVROverlay_FnTable),
            "::",
            stringify!(SetKeyboardPositionForOverlay)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVROverlay_FnTable>())).SetOverlayIntersectionMask as *const _
                as usize
        },
        624usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVROverlay_FnTable),
            "::",
            stringify!(SetOverlayIntersectionMask)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVROverlay_FnTable>())).GetOverlayFlags as *const _ as usize
        },
        632usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVROverlay_FnTable),
            "::",
            stringify!(GetOverlayFlags)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVROverlay_FnTable>())).ShowMessageOverlay as *const _
                as usize
        },
        640usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVROverlay_FnTable),
            "::",
            stringify!(ShowMessageOverlay)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVROverlay_FnTable>())).CloseMessageOverlay as *const _
                as usize
        },
        648usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVROverlay_FnTable),
            "::",
            stringify!(CloseMessageOverlay)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct VR_IVRRenderModels_FnTable {
    pub LoadRenderModel_Async: ::std::option::Option<
        unsafe extern "C" fn(
            pchRenderModelName: *mut ::std::os::raw::c_char,
            ppRenderModel: *mut *mut RenderModel_t,
        ) -> EVRRenderModelError,
    >,
    pub FreeRenderModel:
        ::std::option::Option<unsafe extern "C" fn(pRenderModel: *mut RenderModel_t)>,
    pub LoadTexture_Async: ::std::option::Option<
        unsafe extern "C" fn(
            textureId: TextureID_t,
            ppTexture: *mut *mut RenderModel_TextureMap_t,
        ) -> EVRRenderModelError,
    >,
    pub FreeTexture:
        ::std::option::Option<unsafe extern "C" fn(pTexture: *mut RenderModel_TextureMap_t)>,
    pub LoadTextureD3D11_Async: ::std::option::Option<
        unsafe extern "C" fn(
            textureId: TextureID_t,
            pD3D11Device: *mut ::std::os::raw::c_void,
            ppD3D11Texture2D: *mut *mut ::std::os::raw::c_void,
        ) -> EVRRenderModelError,
    >,
    pub LoadIntoTextureD3D11_Async: ::std::option::Option<
        unsafe extern "C" fn(
            textureId: TextureID_t,
            pDstTexture: *mut ::std::os::raw::c_void,
        ) -> EVRRenderModelError,
    >,
    pub FreeTextureD3D11:
        ::std::option::Option<unsafe extern "C" fn(pD3D11Texture2D: *mut ::std::os::raw::c_void)>,
    pub GetRenderModelName: ::std::option::Option<
        unsafe extern "C" fn(
            unRenderModelIndex: u32,
            pchRenderModelName: *mut ::std::os::raw::c_char,
            unRenderModelNameLen: u32,
        ) -> u32,
    >,
    pub GetRenderModelCount: ::std::option::Option<unsafe extern "C" fn() -> u32>,
    pub GetComponentCount: ::std::option::Option<
        unsafe extern "C" fn(pchRenderModelName: *mut ::std::os::raw::c_char) -> u32,
    >,
    pub GetComponentName: ::std::option::Option<
        unsafe extern "C" fn(
            pchRenderModelName: *mut ::std::os::raw::c_char,
            unComponentIndex: u32,
            pchComponentName: *mut ::std::os::raw::c_char,
            unComponentNameLen: u32,
        ) -> u32,
    >,
    pub GetComponentButtonMask: ::std::option::Option<
        unsafe extern "C" fn(
            pchRenderModelName: *mut ::std::os::raw::c_char,
            pchComponentName: *mut ::std::os::raw::c_char,
        ) -> u64,
    >,
    pub GetComponentRenderModelName: ::std::option::Option<
        unsafe extern "C" fn(
            pchRenderModelName: *mut ::std::os::raw::c_char,
            pchComponentName: *mut ::std::os::raw::c_char,
            pchComponentRenderModelName: *mut ::std::os::raw::c_char,
            unComponentRenderModelNameLen: u32,
        ) -> u32,
    >,
    pub GetComponentStateForDevicePath: ::std::option::Option<
        unsafe extern "C" fn(
            pchRenderModelName: *mut ::std::os::raw::c_char,
            pchComponentName: *mut ::std::os::raw::c_char,
            devicePath: VRInputValueHandle_t,
            pState: *mut RenderModel_ControllerMode_State_t,
            pComponentState: *mut RenderModel_ComponentState_t,
        ) -> bool,
    >,
    pub GetComponentState: ::std::option::Option<
        unsafe extern "C" fn(
            pchRenderModelName: *mut ::std::os::raw::c_char,
            pchComponentName: *mut ::std::os::raw::c_char,
            pControllerState: *mut VRControllerState_t,
            pState: *mut RenderModel_ControllerMode_State_t,
            pComponentState: *mut RenderModel_ComponentState_t,
        ) -> bool,
    >,
    pub RenderModelHasComponent: ::std::option::Option<
        unsafe extern "C" fn(
            pchRenderModelName: *mut ::std::os::raw::c_char,
            pchComponentName: *mut ::std::os::raw::c_char,
        ) -> bool,
    >,
    pub GetRenderModelThumbnailURL: ::std::option::Option<
        unsafe extern "C" fn(
            pchRenderModelName: *mut ::std::os::raw::c_char,
            pchThumbnailURL: *mut ::std::os::raw::c_char,
            unThumbnailURLLen: u32,
            peError: *mut EVRRenderModelError,
        ) -> u32,
    >,
    pub GetRenderModelOriginalPath: ::std::option::Option<
        unsafe extern "C" fn(
            pchRenderModelName: *mut ::std::os::raw::c_char,
            pchOriginalPath: *mut ::std::os::raw::c_char,
            unOriginalPathLen: u32,
            peError: *mut EVRRenderModelError,
        ) -> u32,
    >,
    pub GetRenderModelErrorNameFromEnum: ::std::option::Option<
        unsafe extern "C" fn(error: EVRRenderModelError) -> *mut ::std::os::raw::c_char,
    >,
}
#[test]
fn bindgen_test_layout_VR_IVRRenderModels_FnTable() {
    assert_eq!(
        ::std::mem::size_of::<VR_IVRRenderModels_FnTable>(),
        152usize,
        concat!("Size of: ", stringify!(VR_IVRRenderModels_FnTable))
    );
    assert_eq!(
        ::std::mem::align_of::<VR_IVRRenderModels_FnTable>(),
        8usize,
        concat!("Alignment of ", stringify!(VR_IVRRenderModels_FnTable))
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRRenderModels_FnTable>())).LoadRenderModel_Async as *const _
                as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRRenderModels_FnTable),
            "::",
            stringify!(LoadRenderModel_Async)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRRenderModels_FnTable>())).FreeRenderModel as *const _
                as usize
        },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRRenderModels_FnTable),
            "::",
            stringify!(FreeRenderModel)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRRenderModels_FnTable>())).LoadTexture_Async as *const _
                as usize
        },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRRenderModels_FnTable),
            "::",
            stringify!(LoadTexture_Async)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRRenderModels_FnTable>())).FreeTexture as *const _ as usize
        },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRRenderModels_FnTable),
            "::",
            stringify!(FreeTexture)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRRenderModels_FnTable>())).LoadTextureD3D11_Async
                as *const _ as usize
        },
        32usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRRenderModels_FnTable),
            "::",
            stringify!(LoadTextureD3D11_Async)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRRenderModels_FnTable>())).LoadIntoTextureD3D11_Async
                as *const _ as usize
        },
        40usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRRenderModels_FnTable),
            "::",
            stringify!(LoadIntoTextureD3D11_Async)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRRenderModels_FnTable>())).FreeTextureD3D11 as *const _
                as usize
        },
        48usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRRenderModels_FnTable),
            "::",
            stringify!(FreeTextureD3D11)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRRenderModels_FnTable>())).GetRenderModelName as *const _
                as usize
        },
        56usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRRenderModels_FnTable),
            "::",
            stringify!(GetRenderModelName)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRRenderModels_FnTable>())).GetRenderModelCount as *const _
                as usize
        },
        64usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRRenderModels_FnTable),
            "::",
            stringify!(GetRenderModelCount)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRRenderModels_FnTable>())).GetComponentCount as *const _
                as usize
        },
        72usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRRenderModels_FnTable),
            "::",
            stringify!(GetComponentCount)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRRenderModels_FnTable>())).GetComponentName as *const _
                as usize
        },
        80usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRRenderModels_FnTable),
            "::",
            stringify!(GetComponentName)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRRenderModels_FnTable>())).GetComponentButtonMask
                as *const _ as usize
        },
        88usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRRenderModels_FnTable),
            "::",
            stringify!(GetComponentButtonMask)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRRenderModels_FnTable>())).GetComponentRenderModelName
                as *const _ as usize
        },
        96usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRRenderModels_FnTable),
            "::",
            stringify!(GetComponentRenderModelName)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRRenderModels_FnTable>())).GetComponentStateForDevicePath
                as *const _ as usize
        },
        104usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRRenderModels_FnTable),
            "::",
            stringify!(GetComponentStateForDevicePath)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRRenderModels_FnTable>())).GetComponentState as *const _
                as usize
        },
        112usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRRenderModels_FnTable),
            "::",
            stringify!(GetComponentState)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRRenderModels_FnTable>())).RenderModelHasComponent
                as *const _ as usize
        },
        120usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRRenderModels_FnTable),
            "::",
            stringify!(RenderModelHasComponent)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRRenderModels_FnTable>())).GetRenderModelThumbnailURL
                as *const _ as usize
        },
        128usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRRenderModels_FnTable),
            "::",
            stringify!(GetRenderModelThumbnailURL)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRRenderModels_FnTable>())).GetRenderModelOriginalPath
                as *const _ as usize
        },
        136usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRRenderModels_FnTable),
            "::",
            stringify!(GetRenderModelOriginalPath)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRRenderModels_FnTable>())).GetRenderModelErrorNameFromEnum
                as *const _ as usize
        },
        144usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRRenderModels_FnTable),
            "::",
            stringify!(GetRenderModelErrorNameFromEnum)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct VR_IVRNotifications_FnTable {
    pub CreateNotification: ::std::option::Option<
        unsafe extern "C" fn(
            ulOverlayHandle: VROverlayHandle_t,
            ulUserValue: u64,
            type_: EVRNotificationType,
            pchText: *mut ::std::os::raw::c_char,
            style: EVRNotificationStyle,
            pImage: *mut NotificationBitmap_t,
            pNotificationId: *mut VRNotificationId,
        ) -> EVRNotificationError,
    >,
    pub RemoveNotification: ::std::option::Option<
        unsafe extern "C" fn(notificationId: VRNotificationId) -> EVRNotificationError,
    >,
}
#[test]
fn bindgen_test_layout_VR_IVRNotifications_FnTable() {
    assert_eq!(
        ::std::mem::size_of::<VR_IVRNotifications_FnTable>(),
        16usize,
        concat!("Size of: ", stringify!(VR_IVRNotifications_FnTable))
    );
    assert_eq!(
        ::std::mem::align_of::<VR_IVRNotifications_FnTable>(),
        8usize,
        concat!("Alignment of ", stringify!(VR_IVRNotifications_FnTable))
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRNotifications_FnTable>())).CreateNotification as *const _
                as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRNotifications_FnTable),
            "::",
            stringify!(CreateNotification)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRNotifications_FnTable>())).RemoveNotification as *const _
                as usize
        },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRNotifications_FnTable),
            "::",
            stringify!(RemoveNotification)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct VR_IVRSettings_FnTable {
    pub GetSettingsErrorNameFromEnum: ::std::option::Option<
        unsafe extern "C" fn(eError: EVRSettingsError) -> *mut ::std::os::raw::c_char,
    >,
    pub Sync: ::std::option::Option<
        unsafe extern "C" fn(bForce: bool, peError: *mut EVRSettingsError) -> bool,
    >,
    pub SetBool: ::std::option::Option<
        unsafe extern "C" fn(
            pchSection: *mut ::std::os::raw::c_char,
            pchSettingsKey: *mut ::std::os::raw::c_char,
            bValue: bool,
            peError: *mut EVRSettingsError,
        ),
    >,
    pub SetInt32: ::std::option::Option<
        unsafe extern "C" fn(
            pchSection: *mut ::std::os::raw::c_char,
            pchSettingsKey: *mut ::std::os::raw::c_char,
            nValue: i32,
            peError: *mut EVRSettingsError,
        ),
    >,
    pub SetFloat: ::std::option::Option<
        unsafe extern "C" fn(
            pchSection: *mut ::std::os::raw::c_char,
            pchSettingsKey: *mut ::std::os::raw::c_char,
            flValue: f32,
            peError: *mut EVRSettingsError,
        ),
    >,
    pub SetString: ::std::option::Option<
        unsafe extern "C" fn(
            pchSection: *mut ::std::os::raw::c_char,
            pchSettingsKey: *mut ::std::os::raw::c_char,
            pchValue: *mut ::std::os::raw::c_char,
            peError: *mut EVRSettingsError,
        ),
    >,
    pub GetBool: ::std::option::Option<
        unsafe extern "C" fn(
            pchSection: *mut ::std::os::raw::c_char,
            pchSettingsKey: *mut ::std::os::raw::c_char,
            peError: *mut EVRSettingsError,
        ) -> bool,
    >,
    pub GetInt32: ::std::option::Option<
        unsafe extern "C" fn(
            pchSection: *mut ::std::os::raw::c_char,
            pchSettingsKey: *mut ::std::os::raw::c_char,
            peError: *mut EVRSettingsError,
        ) -> i32,
    >,
    pub GetFloat: ::std::option::Option<
        unsafe extern "C" fn(
            pchSection: *mut ::std::os::raw::c_char,
            pchSettingsKey: *mut ::std::os::raw::c_char,
            peError: *mut EVRSettingsError,
        ) -> f32,
    >,
    pub GetString: ::std::option::Option<
        unsafe extern "C" fn(
            pchSection: *mut ::std::os::raw::c_char,
            pchSettingsKey: *mut ::std::os::raw::c_char,
            pchValue: *mut ::std::os::raw::c_char,
            unValueLen: u32,
            peError: *mut EVRSettingsError,
        ),
    >,
    pub RemoveSection: ::std::option::Option<
        unsafe extern "C" fn(
            pchSection: *mut ::std::os::raw::c_char,
            peError: *mut EVRSettingsError,
        ),
    >,
    pub RemoveKeyInSection: ::std::option::Option<
        unsafe extern "C" fn(
            pchSection: *mut ::std::os::raw::c_char,
            pchSettingsKey: *mut ::std::os::raw::c_char,
            peError: *mut EVRSettingsError,
        ),
    >,
}
#[test]
fn bindgen_test_layout_VR_IVRSettings_FnTable() {
    assert_eq!(
        ::std::mem::size_of::<VR_IVRSettings_FnTable>(),
        96usize,
        concat!("Size of: ", stringify!(VR_IVRSettings_FnTable))
    );
    assert_eq!(
        ::std::mem::align_of::<VR_IVRSettings_FnTable>(),
        8usize,
        concat!("Alignment of ", stringify!(VR_IVRSettings_FnTable))
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRSettings_FnTable>())).GetSettingsErrorNameFromEnum
                as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRSettings_FnTable),
            "::",
            stringify!(GetSettingsErrorNameFromEnum)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<VR_IVRSettings_FnTable>())).Sync as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRSettings_FnTable),
            "::",
            stringify!(Sync)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<VR_IVRSettings_FnTable>())).SetBool as *const _ as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRSettings_FnTable),
            "::",
            stringify!(SetBool)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<VR_IVRSettings_FnTable>())).SetInt32 as *const _ as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRSettings_FnTable),
            "::",
            stringify!(SetInt32)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<VR_IVRSettings_FnTable>())).SetFloat as *const _ as usize },
        32usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRSettings_FnTable),
            "::",
            stringify!(SetFloat)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRSettings_FnTable>())).SetString as *const _ as usize
        },
        40usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRSettings_FnTable),
            "::",
            stringify!(SetString)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<VR_IVRSettings_FnTable>())).GetBool as *const _ as usize },
        48usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRSettings_FnTable),
            "::",
            stringify!(GetBool)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<VR_IVRSettings_FnTable>())).GetInt32 as *const _ as usize },
        56usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRSettings_FnTable),
            "::",
            stringify!(GetInt32)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<VR_IVRSettings_FnTable>())).GetFloat as *const _ as usize },
        64usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRSettings_FnTable),
            "::",
            stringify!(GetFloat)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRSettings_FnTable>())).GetString as *const _ as usize
        },
        72usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRSettings_FnTable),
            "::",
            stringify!(GetString)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRSettings_FnTable>())).RemoveSection as *const _ as usize
        },
        80usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRSettings_FnTable),
            "::",
            stringify!(RemoveSection)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRSettings_FnTable>())).RemoveKeyInSection as *const _
                as usize
        },
        88usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRSettings_FnTable),
            "::",
            stringify!(RemoveKeyInSection)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct VR_IVRScreenshots_FnTable {
    pub RequestScreenshot: ::std::option::Option<
        unsafe extern "C" fn(
            pOutScreenshotHandle: *mut ScreenshotHandle_t,
            type_: EVRScreenshotType,
            pchPreviewFilename: *mut ::std::os::raw::c_char,
            pchVRFilename: *mut ::std::os::raw::c_char,
        ) -> EVRScreenshotError,
    >,
    pub HookScreenshot: ::std::option::Option<
        unsafe extern "C" fn(
            pSupportedTypes: *mut EVRScreenshotType,
            numTypes: ::std::os::raw::c_int,
        ) -> EVRScreenshotError,
    >,
    pub GetScreenshotPropertyType: ::std::option::Option<
        unsafe extern "C" fn(
            screenshotHandle: ScreenshotHandle_t,
            pError: *mut EVRScreenshotError,
        ) -> EVRScreenshotType,
    >,
    pub GetScreenshotPropertyFilename: ::std::option::Option<
        unsafe extern "C" fn(
            screenshotHandle: ScreenshotHandle_t,
            filenameType: EVRScreenshotPropertyFilenames,
            pchFilename: *mut ::std::os::raw::c_char,
            cchFilename: u32,
            pError: *mut EVRScreenshotError,
        ) -> u32,
    >,
    pub UpdateScreenshotProgress: ::std::option::Option<
        unsafe extern "C" fn(
            screenshotHandle: ScreenshotHandle_t,
            flProgress: f32,
        ) -> EVRScreenshotError,
    >,
    pub TakeStereoScreenshot: ::std::option::Option<
        unsafe extern "C" fn(
            pOutScreenshotHandle: *mut ScreenshotHandle_t,
            pchPreviewFilename: *mut ::std::os::raw::c_char,
            pchVRFilename: *mut ::std::os::raw::c_char,
        ) -> EVRScreenshotError,
    >,
    pub SubmitScreenshot: ::std::option::Option<
        unsafe extern "C" fn(
            screenshotHandle: ScreenshotHandle_t,
            type_: EVRScreenshotType,
            pchSourcePreviewFilename: *mut ::std::os::raw::c_char,
            pchSourceVRFilename: *mut ::std::os::raw::c_char,
        ) -> EVRScreenshotError,
    >,
}
#[test]
fn bindgen_test_layout_VR_IVRScreenshots_FnTable() {
    assert_eq!(
        ::std::mem::size_of::<VR_IVRScreenshots_FnTable>(),
        56usize,
        concat!("Size of: ", stringify!(VR_IVRScreenshots_FnTable))
    );
    assert_eq!(
        ::std::mem::align_of::<VR_IVRScreenshots_FnTable>(),
        8usize,
        concat!("Alignment of ", stringify!(VR_IVRScreenshots_FnTable))
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRScreenshots_FnTable>())).RequestScreenshot as *const _
                as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRScreenshots_FnTable),
            "::",
            stringify!(RequestScreenshot)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRScreenshots_FnTable>())).HookScreenshot as *const _
                as usize
        },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRScreenshots_FnTable),
            "::",
            stringify!(HookScreenshot)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRScreenshots_FnTable>())).GetScreenshotPropertyType
                as *const _ as usize
        },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRScreenshots_FnTable),
            "::",
            stringify!(GetScreenshotPropertyType)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRScreenshots_FnTable>())).GetScreenshotPropertyFilename
                as *const _ as usize
        },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRScreenshots_FnTable),
            "::",
            stringify!(GetScreenshotPropertyFilename)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRScreenshots_FnTable>())).UpdateScreenshotProgress
                as *const _ as usize
        },
        32usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRScreenshots_FnTable),
            "::",
            stringify!(UpdateScreenshotProgress)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRScreenshots_FnTable>())).TakeStereoScreenshot as *const _
                as usize
        },
        40usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRScreenshots_FnTable),
            "::",
            stringify!(TakeStereoScreenshot)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRScreenshots_FnTable>())).SubmitScreenshot as *const _
                as usize
        },
        48usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRScreenshots_FnTable),
            "::",
            stringify!(SubmitScreenshot)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct VR_IVRResources_FnTable {
    pub LoadSharedResource: ::std::option::Option<
        unsafe extern "C" fn(
            pchResourceName: *mut ::std::os::raw::c_char,
            pchBuffer: *mut ::std::os::raw::c_char,
            unBufferLen: u32,
        ) -> u32,
    >,
    pub GetResourceFullPath: ::std::option::Option<
        unsafe extern "C" fn(
            pchResourceName: *mut ::std::os::raw::c_char,
            pchResourceTypeDirectory: *mut ::std::os::raw::c_char,
            pchPathBuffer: *mut ::std::os::raw::c_char,
            unBufferLen: u32,
        ) -> u32,
    >,
}
#[test]
fn bindgen_test_layout_VR_IVRResources_FnTable() {
    assert_eq!(
        ::std::mem::size_of::<VR_IVRResources_FnTable>(),
        16usize,
        concat!("Size of: ", stringify!(VR_IVRResources_FnTable))
    );
    assert_eq!(
        ::std::mem::align_of::<VR_IVRResources_FnTable>(),
        8usize,
        concat!("Alignment of ", stringify!(VR_IVRResources_FnTable))
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRResources_FnTable>())).LoadSharedResource as *const _
                as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRResources_FnTable),
            "::",
            stringify!(LoadSharedResource)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRResources_FnTable>())).GetResourceFullPath as *const _
                as usize
        },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRResources_FnTable),
            "::",
            stringify!(GetResourceFullPath)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct VR_IVRDriverManager_FnTable {
    pub GetDriverCount: ::std::option::Option<unsafe extern "C" fn() -> u32>,
    pub GetDriverName: ::std::option::Option<
        unsafe extern "C" fn(
            nDriver: DriverId_t,
            pchValue: *mut ::std::os::raw::c_char,
            unBufferSize: u32,
        ) -> u32,
    >,
    pub GetDriverHandle: ::std::option::Option<
        unsafe extern "C" fn(pchDriverName: *mut ::std::os::raw::c_char) -> DriverHandle_t,
    >,
}
#[test]
fn bindgen_test_layout_VR_IVRDriverManager_FnTable() {
    assert_eq!(
        ::std::mem::size_of::<VR_IVRDriverManager_FnTable>(),
        24usize,
        concat!("Size of: ", stringify!(VR_IVRDriverManager_FnTable))
    );
    assert_eq!(
        ::std::mem::align_of::<VR_IVRDriverManager_FnTable>(),
        8usize,
        concat!("Alignment of ", stringify!(VR_IVRDriverManager_FnTable))
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRDriverManager_FnTable>())).GetDriverCount as *const _
                as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRDriverManager_FnTable),
            "::",
            stringify!(GetDriverCount)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRDriverManager_FnTable>())).GetDriverName as *const _
                as usize
        },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRDriverManager_FnTable),
            "::",
            stringify!(GetDriverName)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRDriverManager_FnTable>())).GetDriverHandle as *const _
                as usize
        },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRDriverManager_FnTable),
            "::",
            stringify!(GetDriverHandle)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct VR_IVRInput_FnTable {
    pub SetActionManifestPath: ::std::option::Option<
        unsafe extern "C" fn(pchActionManifestPath: *mut ::std::os::raw::c_char) -> EVRInputError,
    >,
    pub GetActionSetHandle: ::std::option::Option<
        unsafe extern "C" fn(
            pchActionSetName: *mut ::std::os::raw::c_char,
            pHandle: *mut VRActionSetHandle_t,
        ) -> EVRInputError,
    >,
    pub GetActionHandle: ::std::option::Option<
        unsafe extern "C" fn(
            pchActionName: *mut ::std::os::raw::c_char,
            pHandle: *mut VRActionHandle_t,
        ) -> EVRInputError,
    >,
    pub GetInputSourceHandle: ::std::option::Option<
        unsafe extern "C" fn(
            pchInputSourcePath: *mut ::std::os::raw::c_char,
            pHandle: *mut VRInputValueHandle_t,
        ) -> EVRInputError,
    >,
    pub UpdateActionState: ::std::option::Option<
        unsafe extern "C" fn(
            pSets: *mut VRActiveActionSet_t,
            unSizeOfVRSelectedActionSet_t: u32,
            unSetCount: u32,
        ) -> EVRInputError,
    >,
    pub GetDigitalActionData: ::std::option::Option<
        unsafe extern "C" fn(
            action: VRActionHandle_t,
            pActionData: *mut InputDigitalActionData_t,
            unActionDataSize: u32,
            ulRestrictToDevice: VRInputValueHandle_t,
        ) -> EVRInputError,
    >,
    pub GetAnalogActionData: ::std::option::Option<
        unsafe extern "C" fn(
            action: VRActionHandle_t,
            pActionData: *mut InputAnalogActionData_t,
            unActionDataSize: u32,
            ulRestrictToDevice: VRInputValueHandle_t,
        ) -> EVRInputError,
    >,
    pub GetPoseActionDataRelativeToNow: ::std::option::Option<
        unsafe extern "C" fn(
            action: VRActionHandle_t,
            eOrigin: ETrackingUniverseOrigin,
            fPredictedSecondsFromNow: f32,
            pActionData: *mut InputPoseActionData_t,
            unActionDataSize: u32,
            ulRestrictToDevice: VRInputValueHandle_t,
        ) -> EVRInputError,
    >,
    pub GetPoseActionDataForNextFrame: ::std::option::Option<
        unsafe extern "C" fn(
            action: VRActionHandle_t,
            eOrigin: ETrackingUniverseOrigin,
            pActionData: *mut InputPoseActionData_t,
            unActionDataSize: u32,
            ulRestrictToDevice: VRInputValueHandle_t,
        ) -> EVRInputError,
    >,
    pub GetSkeletalActionData: ::std::option::Option<
        unsafe extern "C" fn(
            action: VRActionHandle_t,
            pActionData: *mut InputSkeletalActionData_t,
            unActionDataSize: u32,
        ) -> EVRInputError,
    >,
    pub GetBoneCount: ::std::option::Option<
        unsafe extern "C" fn(action: VRActionHandle_t, pBoneCount: *mut u32) -> EVRInputError,
    >,
    pub GetBoneHierarchy: ::std::option::Option<
        unsafe extern "C" fn(
            action: VRActionHandle_t,
            pParentIndices: *mut BoneIndex_t,
            unIndexArayCount: u32,
        ) -> EVRInputError,
    >,
    pub GetBoneName: ::std::option::Option<
        unsafe extern "C" fn(
            action: VRActionHandle_t,
            nBoneIndex: BoneIndex_t,
            pchBoneName: *mut ::std::os::raw::c_char,
            unNameBufferSize: u32,
        ) -> EVRInputError,
    >,
    pub GetSkeletalReferenceTransforms: ::std::option::Option<
        unsafe extern "C" fn(
            action: VRActionHandle_t,
            eTransformSpace: EVRSkeletalTransformSpace,
            eReferencePose: EVRSkeletalReferencePose,
            pTransformArray: *mut VRBoneTransform_t,
            unTransformArrayCount: u32,
        ) -> EVRInputError,
    >,
    pub GetSkeletalTrackingLevel: ::std::option::Option<
        unsafe extern "C" fn(
            action: VRActionHandle_t,
            pSkeletalTrackingLevel: *mut EVRSkeletalTrackingLevel,
        ) -> EVRInputError,
    >,
    pub GetSkeletalBoneData: ::std::option::Option<
        unsafe extern "C" fn(
            action: VRActionHandle_t,
            eTransformSpace: EVRSkeletalTransformSpace,
            eMotionRange: EVRSkeletalMotionRange,
            pTransformArray: *mut VRBoneTransform_t,
            unTransformArrayCount: u32,
        ) -> EVRInputError,
    >,
    pub GetSkeletalSummaryData: ::std::option::Option<
        unsafe extern "C" fn(
            action: VRActionHandle_t,
            eSummaryType: EVRSummaryType,
            pSkeletalSummaryData: *mut VRSkeletalSummaryData_t,
        ) -> EVRInputError,
    >,
    pub GetSkeletalBoneDataCompressed: ::std::option::Option<
        unsafe extern "C" fn(
            action: VRActionHandle_t,
            eMotionRange: EVRSkeletalMotionRange,
            pvCompressedData: *mut ::std::os::raw::c_void,
            unCompressedSize: u32,
            punRequiredCompressedSize: *mut u32,
        ) -> EVRInputError,
    >,
    pub DecompressSkeletalBoneData: ::std::option::Option<
        unsafe extern "C" fn(
            pvCompressedBuffer: *mut ::std::os::raw::c_void,
            unCompressedBufferSize: u32,
            eTransformSpace: EVRSkeletalTransformSpace,
            pTransformArray: *mut VRBoneTransform_t,
            unTransformArrayCount: u32,
        ) -> EVRInputError,
    >,
    pub TriggerHapticVibrationAction: ::std::option::Option<
        unsafe extern "C" fn(
            action: VRActionHandle_t,
            fStartSecondsFromNow: f32,
            fDurationSeconds: f32,
            fFrequency: f32,
            fAmplitude: f32,
            ulRestrictToDevice: VRInputValueHandle_t,
        ) -> EVRInputError,
    >,
    pub GetActionOrigins: ::std::option::Option<
        unsafe extern "C" fn(
            actionSetHandle: VRActionSetHandle_t,
            digitalActionHandle: VRActionHandle_t,
            originsOut: *mut VRInputValueHandle_t,
            originOutCount: u32,
        ) -> EVRInputError,
    >,
    pub GetOriginLocalizedName: ::std::option::Option<
        unsafe extern "C" fn(
            origin: VRInputValueHandle_t,
            pchNameArray: *mut ::std::os::raw::c_char,
            unNameArraySize: u32,
            unStringSectionsToInclude: i32,
        ) -> EVRInputError,
    >,
    pub GetOriginTrackedDeviceInfo: ::std::option::Option<
        unsafe extern "C" fn(
            origin: VRInputValueHandle_t,
            pOriginInfo: *mut InputOriginInfo_t,
            unOriginInfoSize: u32,
        ) -> EVRInputError,
    >,
    pub ShowActionOrigins: ::std::option::Option<
        unsafe extern "C" fn(
            actionSetHandle: VRActionSetHandle_t,
            ulActionHandle: VRActionHandle_t,
        ) -> EVRInputError,
    >,
    pub ShowBindingsForActionSet: ::std::option::Option<
        unsafe extern "C" fn(
            pSets: *mut VRActiveActionSet_t,
            unSizeOfVRSelectedActionSet_t: u32,
            unSetCount: u32,
            originToHighlight: VRInputValueHandle_t,
        ) -> EVRInputError,
    >,
    pub IsUsingLegacyInput: ::std::option::Option<unsafe extern "C" fn() -> bool>,
}
#[test]
fn bindgen_test_layout_VR_IVRInput_FnTable() {
    assert_eq!(
        ::std::mem::size_of::<VR_IVRInput_FnTable>(),
        208usize,
        concat!("Size of: ", stringify!(VR_IVRInput_FnTable))
    );
    assert_eq!(
        ::std::mem::align_of::<VR_IVRInput_FnTable>(),
        8usize,
        concat!("Alignment of ", stringify!(VR_IVRInput_FnTable))
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRInput_FnTable>())).SetActionManifestPath as *const _
                as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRInput_FnTable),
            "::",
            stringify!(SetActionManifestPath)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRInput_FnTable>())).GetActionSetHandle as *const _ as usize
        },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRInput_FnTable),
            "::",
            stringify!(GetActionSetHandle)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRInput_FnTable>())).GetActionHandle as *const _ as usize
        },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRInput_FnTable),
            "::",
            stringify!(GetActionHandle)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRInput_FnTable>())).GetInputSourceHandle as *const _
                as usize
        },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRInput_FnTable),
            "::",
            stringify!(GetInputSourceHandle)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRInput_FnTable>())).UpdateActionState as *const _ as usize
        },
        32usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRInput_FnTable),
            "::",
            stringify!(UpdateActionState)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRInput_FnTable>())).GetDigitalActionData as *const _
                as usize
        },
        40usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRInput_FnTable),
            "::",
            stringify!(GetDigitalActionData)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRInput_FnTable>())).GetAnalogActionData as *const _ as usize
        },
        48usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRInput_FnTable),
            "::",
            stringify!(GetAnalogActionData)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRInput_FnTable>())).GetPoseActionDataRelativeToNow
                as *const _ as usize
        },
        56usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRInput_FnTable),
            "::",
            stringify!(GetPoseActionDataRelativeToNow)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRInput_FnTable>())).GetPoseActionDataForNextFrame
                as *const _ as usize
        },
        64usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRInput_FnTable),
            "::",
            stringify!(GetPoseActionDataForNextFrame)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRInput_FnTable>())).GetSkeletalActionData as *const _
                as usize
        },
        72usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRInput_FnTable),
            "::",
            stringify!(GetSkeletalActionData)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRInput_FnTable>())).GetBoneCount as *const _ as usize
        },
        80usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRInput_FnTable),
            "::",
            stringify!(GetBoneCount)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRInput_FnTable>())).GetBoneHierarchy as *const _ as usize
        },
        88usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRInput_FnTable),
            "::",
            stringify!(GetBoneHierarchy)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<VR_IVRInput_FnTable>())).GetBoneName as *const _ as usize },
        96usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRInput_FnTable),
            "::",
            stringify!(GetBoneName)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRInput_FnTable>())).GetSkeletalReferenceTransforms
                as *const _ as usize
        },
        104usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRInput_FnTable),
            "::",
            stringify!(GetSkeletalReferenceTransforms)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRInput_FnTable>())).GetSkeletalTrackingLevel as *const _
                as usize
        },
        112usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRInput_FnTable),
            "::",
            stringify!(GetSkeletalTrackingLevel)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRInput_FnTable>())).GetSkeletalBoneData as *const _ as usize
        },
        120usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRInput_FnTable),
            "::",
            stringify!(GetSkeletalBoneData)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRInput_FnTable>())).GetSkeletalSummaryData as *const _
                as usize
        },
        128usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRInput_FnTable),
            "::",
            stringify!(GetSkeletalSummaryData)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRInput_FnTable>())).GetSkeletalBoneDataCompressed
                as *const _ as usize
        },
        136usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRInput_FnTable),
            "::",
            stringify!(GetSkeletalBoneDataCompressed)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRInput_FnTable>())).DecompressSkeletalBoneData as *const _
                as usize
        },
        144usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRInput_FnTable),
            "::",
            stringify!(DecompressSkeletalBoneData)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRInput_FnTable>())).TriggerHapticVibrationAction as *const _
                as usize
        },
        152usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRInput_FnTable),
            "::",
            stringify!(TriggerHapticVibrationAction)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRInput_FnTable>())).GetActionOrigins as *const _ as usize
        },
        160usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRInput_FnTable),
            "::",
            stringify!(GetActionOrigins)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRInput_FnTable>())).GetOriginLocalizedName as *const _
                as usize
        },
        168usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRInput_FnTable),
            "::",
            stringify!(GetOriginLocalizedName)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRInput_FnTable>())).GetOriginTrackedDeviceInfo as *const _
                as usize
        },
        176usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRInput_FnTable),
            "::",
            stringify!(GetOriginTrackedDeviceInfo)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRInput_FnTable>())).ShowActionOrigins as *const _ as usize
        },
        184usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRInput_FnTable),
            "::",
            stringify!(ShowActionOrigins)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRInput_FnTable>())).ShowBindingsForActionSet as *const _
                as usize
        },
        192usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRInput_FnTable),
            "::",
            stringify!(ShowBindingsForActionSet)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRInput_FnTable>())).IsUsingLegacyInput as *const _ as usize
        },
        200usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRInput_FnTable),
            "::",
            stringify!(IsUsingLegacyInput)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct VR_IVRIOBuffer_FnTable {
    pub Open: ::std::option::Option<
        unsafe extern "C" fn(
            pchPath: *mut ::std::os::raw::c_char,
            mode: EIOBufferMode,
            unElementSize: u32,
            unElements: u32,
            pulBuffer: *mut IOBufferHandle_t,
        ) -> EIOBufferError,
    >,
    pub Close:
        ::std::option::Option<unsafe extern "C" fn(ulBuffer: IOBufferHandle_t) -> EIOBufferError>,
    pub Read: ::std::option::Option<
        unsafe extern "C" fn(
            ulBuffer: IOBufferHandle_t,
            pDst: *mut ::std::os::raw::c_void,
            unBytes: u32,
            punRead: *mut u32,
        ) -> EIOBufferError,
    >,
    pub Write: ::std::option::Option<
        unsafe extern "C" fn(
            ulBuffer: IOBufferHandle_t,
            pSrc: *mut ::std::os::raw::c_void,
            unBytes: u32,
        ) -> EIOBufferError,
    >,
    pub PropertyContainer: ::std::option::Option<
        unsafe extern "C" fn(ulBuffer: IOBufferHandle_t) -> PropertyContainerHandle_t,
    >,
    pub HasReaders: ::std::option::Option<unsafe extern "C" fn(ulBuffer: IOBufferHandle_t) -> bool>,
}
#[test]
fn bindgen_test_layout_VR_IVRIOBuffer_FnTable() {
    assert_eq!(
        ::std::mem::size_of::<VR_IVRIOBuffer_FnTable>(),
        48usize,
        concat!("Size of: ", stringify!(VR_IVRIOBuffer_FnTable))
    );
    assert_eq!(
        ::std::mem::align_of::<VR_IVRIOBuffer_FnTable>(),
        8usize,
        concat!("Alignment of ", stringify!(VR_IVRIOBuffer_FnTable))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<VR_IVRIOBuffer_FnTable>())).Open as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRIOBuffer_FnTable),
            "::",
            stringify!(Open)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<VR_IVRIOBuffer_FnTable>())).Close as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRIOBuffer_FnTable),
            "::",
            stringify!(Close)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<VR_IVRIOBuffer_FnTable>())).Read as *const _ as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRIOBuffer_FnTable),
            "::",
            stringify!(Read)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<VR_IVRIOBuffer_FnTable>())).Write as *const _ as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRIOBuffer_FnTable),
            "::",
            stringify!(Write)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRIOBuffer_FnTable>())).PropertyContainer as *const _
                as usize
        },
        32usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRIOBuffer_FnTable),
            "::",
            stringify!(PropertyContainer)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRIOBuffer_FnTable>())).HasReaders as *const _ as usize
        },
        40usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRIOBuffer_FnTable),
            "::",
            stringify!(HasReaders)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct VR_IVRSpatialAnchors_FnTable {
    pub CreateSpatialAnchorFromDescriptor: ::std::option::Option<
        unsafe extern "C" fn(
            pchDescriptor: *mut ::std::os::raw::c_char,
            pHandleOut: *mut SpatialAnchorHandle_t,
        ) -> EVRSpatialAnchorError,
    >,
    pub CreateSpatialAnchorFromPose: ::std::option::Option<
        unsafe extern "C" fn(
            unDeviceIndex: TrackedDeviceIndex_t,
            eOrigin: ETrackingUniverseOrigin,
            pPose: *mut SpatialAnchorPose_t,
            pHandleOut: *mut SpatialAnchorHandle_t,
        ) -> EVRSpatialAnchorError,
    >,
    pub GetSpatialAnchorPose: ::std::option::Option<
        unsafe extern "C" fn(
            unHandle: SpatialAnchorHandle_t,
            eOrigin: ETrackingUniverseOrigin,
            pPoseOut: *mut SpatialAnchorPose_t,
        ) -> EVRSpatialAnchorError,
    >,
    pub GetSpatialAnchorDescriptor: ::std::option::Option<
        unsafe extern "C" fn(
            unHandle: SpatialAnchorHandle_t,
            pchDescriptorOut: *mut ::std::os::raw::c_char,
            punDescriptorBufferLenInOut: *mut u32,
        ) -> EVRSpatialAnchorError,
    >,
}
#[test]
fn bindgen_test_layout_VR_IVRSpatialAnchors_FnTable() {
    assert_eq!(
        ::std::mem::size_of::<VR_IVRSpatialAnchors_FnTable>(),
        32usize,
        concat!("Size of: ", stringify!(VR_IVRSpatialAnchors_FnTable))
    );
    assert_eq!(
        ::std::mem::align_of::<VR_IVRSpatialAnchors_FnTable>(),
        8usize,
        concat!("Alignment of ", stringify!(VR_IVRSpatialAnchors_FnTable))
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRSpatialAnchors_FnTable>()))
                .CreateSpatialAnchorFromDescriptor as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRSpatialAnchors_FnTable),
            "::",
            stringify!(CreateSpatialAnchorFromDescriptor)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRSpatialAnchors_FnTable>())).CreateSpatialAnchorFromPose
                as *const _ as usize
        },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRSpatialAnchors_FnTable),
            "::",
            stringify!(CreateSpatialAnchorFromPose)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRSpatialAnchors_FnTable>())).GetSpatialAnchorPose
                as *const _ as usize
        },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRSpatialAnchors_FnTable),
            "::",
            stringify!(GetSpatialAnchorPose)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VR_IVRSpatialAnchors_FnTable>())).GetSpatialAnchorDescriptor
                as *const _ as usize
        },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(VR_IVRSpatialAnchors_FnTable),
            "::",
            stringify!(GetSpatialAnchorDescriptor)
        )
    );
}
extern "C" {
    pub fn VR_InitInternal(peError: *mut EVRInitError, eType: EVRApplicationType) -> isize;
}
extern "C" {
    pub fn VR_ShutdownInternal();
}
extern "C" {
    pub fn VR_IsHmdPresent() -> bool;
}
extern "C" {
    pub fn VR_GetGenericInterface(
        pchInterfaceVersion: *const ::std::os::raw::c_char,
        peError: *mut EVRInitError,
    ) -> isize;
}
extern "C" {
    pub fn VR_IsRuntimeInstalled() -> bool;
}
extern "C" {
    pub fn VR_GetVRInitErrorAsSymbol(error: EVRInitError) -> *const ::std::os::raw::c_char;
}
extern "C" {
    pub fn VR_GetVRInitErrorAsEnglishDescription(
        error: EVRInitError,
    ) -> *const ::std::os::raw::c_char;
}
extern "C" {
    pub fn VR_IsInterfaceVersionValid(pchInterfaceVersion: *const ::std::os::raw::c_char) -> bool;
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct VREvent_Keyboard_t_real {
    pub cNewInput: [::std::os::raw::c_char; 8usize],
    pub uUserValue: u64,
}
#[test]
fn bindgen_test_layout_VREvent_Keyboard_t_real() {
    assert_eq!(
        ::std::mem::size_of::<VREvent_Keyboard_t_real>(),
        16usize,
        concat!("Size of: ", stringify!(VREvent_Keyboard_t_real))
    );
    assert_eq!(
        ::std::mem::align_of::<VREvent_Keyboard_t_real>(),
        8usize,
        concat!("Alignment of ", stringify!(VREvent_Keyboard_t_real))
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VREvent_Keyboard_t_real>())).cNewInput as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(VREvent_Keyboard_t_real),
            "::",
            stringify!(cNewInput)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VREvent_Keyboard_t_real>())).uUserValue as *const _ as usize
        },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(VREvent_Keyboard_t_real),
            "::",
            stringify!(uUserValue)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct VRTextureWithPose_t_real {
    pub handle: *mut ::std::os::raw::c_void,
    pub eType: ETextureType,
    pub eColorSpace: EColorSpace,
    pub mDeviceToAbsoluteTracking: HmdMatrix34_t,
}
#[test]
fn bindgen_test_layout_VRTextureWithPose_t_real() {
    assert_eq!(
        ::std::mem::size_of::<VRTextureWithPose_t_real>(),
        64usize,
        concat!("Size of: ", stringify!(VRTextureWithPose_t_real))
    );
    assert_eq!(
        ::std::mem::align_of::<VRTextureWithPose_t_real>(),
        8usize,
        concat!("Alignment of ", stringify!(VRTextureWithPose_t_real))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<VRTextureWithPose_t_real>())).handle as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(VRTextureWithPose_t_real),
            "::",
            stringify!(handle)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<VRTextureWithPose_t_real>())).eType as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(VRTextureWithPose_t_real),
            "::",
            stringify!(eType)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VRTextureWithPose_t_real>())).eColorSpace as *const _ as usize
        },
        12usize,
        concat!(
            "Offset of field: ",
            stringify!(VRTextureWithPose_t_real),
            "::",
            stringify!(eColorSpace)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<VRTextureWithPose_t_real>())).mDeviceToAbsoluteTracking
                as *const _ as usize
        },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(VRTextureWithPose_t_real),
            "::",
            stringify!(mDeviceToAbsoluteTracking)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct VkDevice_T {
    pub _address: u8,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct VkPhysicalDevice_T {
    pub _address: u8,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct VkInstance_T {
    pub _address: u8,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct VkQueue_T {
    pub _address: u8,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct ID3D12Resource {
    pub _address: u8,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct ID3D12CommandQueue {
    pub _address: u8,
}
