/* automatically generated by rust-bindgen */ pub const _STDINT_H: u32 = 1; pub const _FEATURES_H: u32 = 1; pub const _DEFAULT_SOURCE: u32 = 1; pub const __USE_ISOC11: u32 = 1; pub const __USE_ISOC99: u32 = 1; pub const __USE_ISOC95: u32 = 1; pub const __USE_POSIX_IMPLICITLY: u32 = 1; pub const _POSIX_SOURCE: u32 = 1; pub const _POSIX_C_SOURCE: u32 = 200809; pub const __USE_POSIX: u32 = 1; pub const __USE_POSIX2: u32 = 1; pub const __USE_POSIX199309: u32 = 1; pub const __USE_POSIX199506: u32 = 1; pub const __USE_XOPEN2K: u32 = 1; pub const __USE_XOPEN2K8: u32 = 1; pub const _ATFILE_SOURCE: u32 = 1; pub const __USE_MISC: u32 = 1; pub const __USE_ATFILE: u32 = 1; pub const __USE_FORTIFY_LEVEL: u32 = 0; pub const __GLIBC_USE_DEPRECATED_GETS: u32 = 0; pub const _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 __GNU_LIBRARY__: u32 = 6; pub const __GLIBC__: u32 = 2; pub const __GLIBC_MINOR__: u32 = 28; 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 = 1; pub const __GLIBC_USE_LIB_EXT2: u32 = 0; pub const __GLIBC_USE_IEC_60559_BFP_EXT: u32 = 0; pub const __GLIBC_USE_IEC_60559_FUNCS_EXT: u32 = 0; pub const __GLIBC_USE_IEC_60559_TYPES_EXT: u32 = 0; 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 _LIBC_LIMITS_H_: u32 = 1; pub const MB_LEN_MAX: u32 = 16; pub const _BITS_POSIX1_LIM_H: u32 = 1; pub const _POSIX_AIO_LISTIO_MAX: u32 = 2; pub const _POSIX_AIO_MAX: u32 = 1; pub const _POSIX_ARG_MAX: u32 = 4096; pub const _POSIX_CHILD_MAX: u32 = 25; pub const _POSIX_DELAYTIMER_MAX: u32 = 32; pub const _POSIX_HOST_NAME_MAX: u32 = 255; pub const _POSIX_LINK_MAX: u32 = 8; pub const _POSIX_LOGIN_NAME_MAX: u32 = 9; pub const _POSIX_MAX_CANON: u32 = 255; pub const _POSIX_MAX_INPUT: u32 = 255; pub const _POSIX_MQ_OPEN_MAX: u32 = 8; pub const _POSIX_MQ_PRIO_MAX: u32 = 32; pub const _POSIX_NAME_MAX: u32 = 14; pub const _POSIX_NGROUPS_MAX: u32 = 8; pub const _POSIX_OPEN_MAX: u32 = 20; pub const _POSIX_PATH_MAX: u32 = 256; pub const _POSIX_PIPE_BUF: u32 = 512; pub const _POSIX_RE_DUP_MAX: u32 = 255; pub const _POSIX_RTSIG_MAX: u32 = 8; pub const _POSIX_SEM_NSEMS_MAX: u32 = 256; pub const _POSIX_SEM_VALUE_MAX: u32 = 32767; pub const _POSIX_SIGQUEUE_MAX: u32 = 32; pub const _POSIX_SSIZE_MAX: u32 = 32767; pub const _POSIX_STREAM_MAX: u32 = 8; pub const _POSIX_SYMLINK_MAX: u32 = 255; pub const _POSIX_SYMLOOP_MAX: u32 = 8; pub const _POSIX_TIMER_MAX: u32 = 32; pub const _POSIX_TTY_NAME_MAX: u32 = 9; pub const _POSIX_TZNAME_MAX: u32 = 6; pub const _POSIX_CLOCKRES_MIN: u32 = 20000000; pub const NR_OPEN: u32 = 1024; pub const NGROUPS_MAX: u32 = 65536; pub const ARG_MAX: u32 = 131072; pub const LINK_MAX: u32 = 127; pub const MAX_CANON: u32 = 255; pub const MAX_INPUT: u32 = 255; pub const NAME_MAX: u32 = 255; pub const PATH_MAX: u32 = 4096; pub const PIPE_BUF: u32 = 4096; pub const XATTR_NAME_MAX: u32 = 255; pub const XATTR_SIZE_MAX: u32 = 65536; pub const XATTR_LIST_MAX: u32 = 65536; pub const RTSIG_MAX: u32 = 32; pub const _POSIX_THREAD_KEYS_MAX: u32 = 128; pub const PTHREAD_KEYS_MAX: u32 = 1024; pub const _POSIX_THREAD_DESTRUCTOR_ITERATIONS: u32 = 4; pub const PTHREAD_DESTRUCTOR_ITERATIONS: u32 = 4; pub const _POSIX_THREAD_THREADS_MAX: u32 = 64; pub const AIO_PRIO_DELTA_MAX: u32 = 20; pub const PTHREAD_STACK_MIN: u32 = 16384; pub const DELAYTIMER_MAX: u32 = 2147483647; pub const TTY_NAME_MAX: u32 = 32; pub const LOGIN_NAME_MAX: u32 = 256; pub const HOST_NAME_MAX: u32 = 64; pub const MQ_PRIO_MAX: u32 = 32768; pub const SEM_VALUE_MAX: u32 = 2147483647; pub const _BITS_POSIX2_LIM_H: u32 = 1; pub const _POSIX2_BC_BASE_MAX: u32 = 99; pub const _POSIX2_BC_DIM_MAX: u32 = 2048; pub const _POSIX2_BC_SCALE_MAX: u32 = 99; pub const _POSIX2_BC_STRING_MAX: u32 = 1000; pub const _POSIX2_COLL_WEIGHTS_MAX: u32 = 2; pub const _POSIX2_EXPR_NEST_MAX: u32 = 32; pub const _POSIX2_LINE_MAX: u32 = 2048; pub const _POSIX2_RE_DUP_MAX: u32 = 255; pub const _POSIX2_CHARCLASS_NAME_MAX: u32 = 14; pub const BC_BASE_MAX: u32 = 99; pub const BC_DIM_MAX: u32 = 2048; pub const BC_SCALE_MAX: u32 = 99; pub const BC_STRING_MAX: u32 = 1000; pub const COLL_WEIGHTS_MAX: u32 = 255; pub const EXPR_NEST_MAX: u32 = 32; pub const LINE_MAX: u32 = 2048; pub const CHARCLASS_NAME_MAX: u32 = 2048; pub const RE_DUP_MAX: u32 = 32767; pub const true_: u32 = 1; pub const false_: u32 = 0; pub const __bool_true_false_are_defined: u32 = 1; pub const RETRO_API_VERSION: u32 = 1; pub const RETRO_DEVICE_TYPE_SHIFT: u32 = 8; pub const RETRO_DEVICE_MASK: u32 = 255; pub const RETRO_DEVICE_NONE: u32 = 0; pub const RETRO_DEVICE_JOYPAD: u32 = 1; pub const RETRO_DEVICE_MOUSE: u32 = 2; pub const RETRO_DEVICE_KEYBOARD: u32 = 3; pub const RETRO_DEVICE_LIGHTGUN: u32 = 4; pub const RETRO_DEVICE_ANALOG: u32 = 5; pub const RETRO_DEVICE_POINTER: u32 = 6; pub const RETRO_DEVICE_ID_JOYPAD_B: u32 = 0; pub const RETRO_DEVICE_ID_JOYPAD_Y: u32 = 1; pub const RETRO_DEVICE_ID_JOYPAD_SELECT: u32 = 2; pub const RETRO_DEVICE_ID_JOYPAD_START: u32 = 3; pub const RETRO_DEVICE_ID_JOYPAD_UP: u32 = 4; pub const RETRO_DEVICE_ID_JOYPAD_DOWN: u32 = 5; pub const RETRO_DEVICE_ID_JOYPAD_LEFT: u32 = 6; pub const RETRO_DEVICE_ID_JOYPAD_RIGHT: u32 = 7; pub const RETRO_DEVICE_ID_JOYPAD_A: u32 = 8; pub const RETRO_DEVICE_ID_JOYPAD_X: u32 = 9; pub const RETRO_DEVICE_ID_JOYPAD_L: u32 = 10; pub const RETRO_DEVICE_ID_JOYPAD_R: u32 = 11; pub const RETRO_DEVICE_ID_JOYPAD_L2: u32 = 12; pub const RETRO_DEVICE_ID_JOYPAD_R2: u32 = 13; pub const RETRO_DEVICE_ID_JOYPAD_L3: u32 = 14; pub const RETRO_DEVICE_ID_JOYPAD_R3: u32 = 15; pub const RETRO_DEVICE_INDEX_ANALOG_LEFT: u32 = 0; pub const RETRO_DEVICE_INDEX_ANALOG_RIGHT: u32 = 1; pub const RETRO_DEVICE_INDEX_ANALOG_BUTTON: u32 = 2; pub const RETRO_DEVICE_ID_ANALOG_X: u32 = 0; pub const RETRO_DEVICE_ID_ANALOG_Y: u32 = 1; pub const RETRO_DEVICE_ID_MOUSE_X: u32 = 0; pub const RETRO_DEVICE_ID_MOUSE_Y: u32 = 1; pub const RETRO_DEVICE_ID_MOUSE_LEFT: u32 = 2; pub const RETRO_DEVICE_ID_MOUSE_RIGHT: u32 = 3; pub const RETRO_DEVICE_ID_MOUSE_WHEELUP: u32 = 4; pub const RETRO_DEVICE_ID_MOUSE_WHEELDOWN: u32 = 5; pub const RETRO_DEVICE_ID_MOUSE_MIDDLE: u32 = 6; pub const RETRO_DEVICE_ID_MOUSE_HORIZ_WHEELUP: u32 = 7; pub const RETRO_DEVICE_ID_MOUSE_HORIZ_WHEELDOWN: u32 = 8; pub const RETRO_DEVICE_ID_MOUSE_BUTTON_4: u32 = 9; pub const RETRO_DEVICE_ID_MOUSE_BUTTON_5: u32 = 10; pub const RETRO_DEVICE_ID_LIGHTGUN_SCREEN_X: u32 = 13; pub const RETRO_DEVICE_ID_LIGHTGUN_SCREEN_Y: u32 = 14; pub const RETRO_DEVICE_ID_LIGHTGUN_IS_OFFSCREEN: u32 = 15; pub const RETRO_DEVICE_ID_LIGHTGUN_TRIGGER: u32 = 2; pub const RETRO_DEVICE_ID_LIGHTGUN_RELOAD: u32 = 16; pub const RETRO_DEVICE_ID_LIGHTGUN_AUX_A: u32 = 3; pub const RETRO_DEVICE_ID_LIGHTGUN_AUX_B: u32 = 4; pub const RETRO_DEVICE_ID_LIGHTGUN_START: u32 = 6; pub const RETRO_DEVICE_ID_LIGHTGUN_SELECT: u32 = 7; pub const RETRO_DEVICE_ID_LIGHTGUN_AUX_C: u32 = 8; pub const RETRO_DEVICE_ID_LIGHTGUN_DPAD_UP: u32 = 9; pub const RETRO_DEVICE_ID_LIGHTGUN_DPAD_DOWN: u32 = 10; pub const RETRO_DEVICE_ID_LIGHTGUN_DPAD_LEFT: u32 = 11; pub const RETRO_DEVICE_ID_LIGHTGUN_DPAD_RIGHT: u32 = 12; pub const RETRO_DEVICE_ID_LIGHTGUN_X: u32 = 0; pub const RETRO_DEVICE_ID_LIGHTGUN_Y: u32 = 1; pub const RETRO_DEVICE_ID_LIGHTGUN_CURSOR: u32 = 3; pub const RETRO_DEVICE_ID_LIGHTGUN_TURBO: u32 = 4; pub const RETRO_DEVICE_ID_LIGHTGUN_PAUSE: u32 = 5; pub const RETRO_DEVICE_ID_POINTER_X: u32 = 0; pub const RETRO_DEVICE_ID_POINTER_Y: u32 = 1; pub const RETRO_DEVICE_ID_POINTER_PRESSED: u32 = 2; pub const RETRO_REGION_NTSC: u32 = 0; pub const RETRO_REGION_PAL: u32 = 1; pub const RETRO_MEMORY_MASK: u32 = 255; pub const RETRO_MEMORY_SAVE_RAM: u32 = 0; pub const RETRO_MEMORY_RTC: u32 = 1; pub const RETRO_MEMORY_SYSTEM_RAM: u32 = 2; pub const RETRO_MEMORY_VIDEO_RAM: u32 = 3; pub const RETRO_ENVIRONMENT_EXPERIMENTAL: u32 = 65536; pub const RETRO_ENVIRONMENT_PRIVATE: u32 = 131072; pub const RETRO_ENVIRONMENT_SET_ROTATION: u32 = 1; pub const RETRO_ENVIRONMENT_GET_OVERSCAN: u32 = 2; pub const RETRO_ENVIRONMENT_GET_CAN_DUPE: u32 = 3; pub const RETRO_ENVIRONMENT_SET_MESSAGE: u32 = 6; pub const RETRO_ENVIRONMENT_SHUTDOWN: u32 = 7; pub const RETRO_ENVIRONMENT_SET_PERFORMANCE_LEVEL: u32 = 8; pub const RETRO_ENVIRONMENT_GET_SYSTEM_DIRECTORY: u32 = 9; pub const RETRO_ENVIRONMENT_SET_PIXEL_FORMAT: u32 = 10; pub const RETRO_ENVIRONMENT_SET_INPUT_DESCRIPTORS: u32 = 11; pub const RETRO_ENVIRONMENT_SET_KEYBOARD_CALLBACK: u32 = 12; pub const RETRO_ENVIRONMENT_SET_DISK_CONTROL_INTERFACE: u32 = 13; pub const RETRO_ENVIRONMENT_SET_HW_RENDER: u32 = 14; pub const RETRO_ENVIRONMENT_GET_VARIABLE: u32 = 15; pub const RETRO_ENVIRONMENT_SET_VARIABLES: u32 = 16; pub const RETRO_ENVIRONMENT_GET_VARIABLE_UPDATE: u32 = 17; pub const RETRO_ENVIRONMENT_SET_SUPPORT_NO_GAME: u32 = 18; pub const RETRO_ENVIRONMENT_GET_LIBRETRO_PATH: u32 = 19; pub const RETRO_ENVIRONMENT_SET_FRAME_TIME_CALLBACK: u32 = 21; pub const RETRO_ENVIRONMENT_SET_AUDIO_CALLBACK: u32 = 22; pub const RETRO_ENVIRONMENT_GET_RUMBLE_INTERFACE: u32 = 23; pub const RETRO_ENVIRONMENT_GET_INPUT_DEVICE_CAPABILITIES: u32 = 24; pub const RETRO_ENVIRONMENT_GET_SENSOR_INTERFACE: u32 = 65561; pub const RETRO_ENVIRONMENT_GET_CAMERA_INTERFACE: u32 = 65562; pub const RETRO_ENVIRONMENT_GET_LOG_INTERFACE: u32 = 27; pub const RETRO_ENVIRONMENT_GET_PERF_INTERFACE: u32 = 28; pub const RETRO_ENVIRONMENT_GET_LOCATION_INTERFACE: u32 = 29; pub const RETRO_ENVIRONMENT_GET_CONTENT_DIRECTORY: u32 = 30; pub const RETRO_ENVIRONMENT_GET_CORE_ASSETS_DIRECTORY: u32 = 30; pub const RETRO_ENVIRONMENT_GET_SAVE_DIRECTORY: u32 = 31; pub const RETRO_ENVIRONMENT_SET_SYSTEM_AV_INFO: u32 = 32; pub const RETRO_ENVIRONMENT_SET_PROC_ADDRESS_CALLBACK: u32 = 33; pub const RETRO_ENVIRONMENT_SET_SUBSYSTEM_INFO: u32 = 34; pub const RETRO_ENVIRONMENT_SET_CONTROLLER_INFO: u32 = 35; pub const RETRO_ENVIRONMENT_SET_MEMORY_MAPS: u32 = 65572; pub const RETRO_ENVIRONMENT_SET_GEOMETRY: u32 = 37; pub const RETRO_ENVIRONMENT_GET_USERNAME: u32 = 38; pub const RETRO_ENVIRONMENT_GET_LANGUAGE: u32 = 39; pub const RETRO_ENVIRONMENT_GET_CURRENT_SOFTWARE_FRAMEBUFFER: u32 = 65576; pub const RETRO_ENVIRONMENT_GET_HW_RENDER_INTERFACE: u32 = 65577; pub const RETRO_ENVIRONMENT_SET_SUPPORT_ACHIEVEMENTS: u32 = 65578; pub const RETRO_ENVIRONMENT_SET_HW_RENDER_CONTEXT_NEGOTIATION_INTERFACE: u32 = 65579; pub const RETRO_ENVIRONMENT_SET_SERIALIZATION_QUIRKS: u32 = 44; pub const RETRO_ENVIRONMENT_SET_HW_SHARED_CONTEXT: u32 = 65580; pub const RETRO_ENVIRONMENT_GET_VFS_INTERFACE: u32 = 65581; pub const RETRO_ENVIRONMENT_GET_LED_INTERFACE: u32 = 65582; pub const RETRO_ENVIRONMENT_GET_AUDIO_VIDEO_ENABLE: u32 = 65583; pub const RETRO_ENVIRONMENT_GET_MIDI_INTERFACE: u32 = 65584; pub const RETRO_ENVIRONMENT_GET_FASTFORWARDING: u32 = 65585; pub const RETRO_VFS_FILE_ACCESS_READ: u32 = 1; pub const RETRO_VFS_FILE_ACCESS_WRITE: u32 = 2; pub const RETRO_VFS_FILE_ACCESS_READ_WRITE: u32 = 3; pub const RETRO_VFS_FILE_ACCESS_UPDATE_EXISTING: u32 = 4; pub const RETRO_VFS_FILE_ACCESS_HINT_NONE: u32 = 0; pub const RETRO_VFS_FILE_ACCESS_HINT_FREQUENT_ACCESS: u32 = 1; pub const RETRO_VFS_SEEK_POSITION_START: u32 = 0; pub const RETRO_VFS_SEEK_POSITION_CURRENT: u32 = 1; pub const RETRO_VFS_SEEK_POSITION_END: u32 = 2; pub const RETRO_SERIALIZATION_QUIRK_INCOMPLETE: u32 = 1; pub const RETRO_SERIALIZATION_QUIRK_MUST_INITIALIZE: u32 = 2; pub const RETRO_SERIALIZATION_QUIRK_CORE_VARIABLE_SIZE: u32 = 4; pub const RETRO_SERIALIZATION_QUIRK_FRONT_VARIABLE_SIZE: u32 = 8; pub const RETRO_SERIALIZATION_QUIRK_SINGLE_SESSION: u32 = 16; pub const RETRO_SERIALIZATION_QUIRK_ENDIAN_DEPENDENT: u32 = 32; pub const RETRO_SERIALIZATION_QUIRK_PLATFORM_DEPENDENT: u32 = 64; pub const RETRO_MEMDESC_CONST: u32 = 1; pub const RETRO_MEMDESC_BIGENDIAN: u32 = 2; pub const RETRO_MEMDESC_SYSTEM_RAM: u32 = 4; pub const RETRO_MEMDESC_SAVE_RAM: u32 = 8; pub const RETRO_MEMDESC_VIDEO_RAM: u32 = 16; pub const RETRO_MEMDESC_ALIGN_2: u32 = 65536; pub const RETRO_MEMDESC_ALIGN_4: u32 = 131072; pub const RETRO_MEMDESC_ALIGN_8: u32 = 196608; pub const RETRO_MEMDESC_MINSIZE_2: u32 = 16777216; pub const RETRO_MEMDESC_MINSIZE_4: u32 = 33554432; pub const RETRO_MEMDESC_MINSIZE_8: u32 = 50331648; pub const RETRO_SIMD_SSE: u32 = 1; pub const RETRO_SIMD_SSE2: u32 = 2; pub const RETRO_SIMD_VMX: u32 = 4; pub const RETRO_SIMD_VMX128: u32 = 8; pub const RETRO_SIMD_AVX: u32 = 16; pub const RETRO_SIMD_NEON: u32 = 32; pub const RETRO_SIMD_SSE3: u32 = 64; pub const RETRO_SIMD_SSSE3: u32 = 128; pub const RETRO_SIMD_MMX: u32 = 256; pub const RETRO_SIMD_MMXEXT: u32 = 512; pub const RETRO_SIMD_SSE4: u32 = 1024; pub const RETRO_SIMD_SSE42: u32 = 2048; pub const RETRO_SIMD_AVX2: u32 = 4096; pub const RETRO_SIMD_VFPU: u32 = 8192; pub const RETRO_SIMD_PS: u32 = 16384; pub const RETRO_SIMD_AES: u32 = 32768; pub const RETRO_SIMD_VFPV3: u32 = 65536; pub const RETRO_SIMD_VFPV4: u32 = 131072; pub const RETRO_SIMD_POPCNT: u32 = 262144; pub const RETRO_SIMD_MOVBE: u32 = 524288; pub const RETRO_SIMD_CMOV: u32 = 1048576; pub const RETRO_SIMD_ASIMD: u32 = 2097152; pub const RETRO_SENSOR_ACCELEROMETER_X: u32 = 0; pub const RETRO_SENSOR_ACCELEROMETER_Y: u32 = 1; pub const RETRO_SENSOR_ACCELEROMETER_Z: u32 = 2; pub const RETRO_MEMORY_ACCESS_WRITE: u32 = 1; pub const RETRO_MEMORY_ACCESS_READ: u32 = 2; pub const RETRO_MEMORY_TYPE_CACHED: 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 __int_least8_t = __int8_t; pub type __uint_least8_t = __uint8_t; pub type __int_least16_t = __int16_t; pub type __uint_least16_t = __uint16_t; pub type __int_least32_t = __int32_t; pub type __uint_least32_t = __uint32_t; pub type __int_least64_t = __int64_t; pub type __uint_least64_t = __uint64_t; pub type __quad_t = ::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 = __int_least8_t; pub type int_least16_t = __int_least16_t; pub type int_least32_t = __int_least32_t; pub type int_least64_t = __int_least64_t; pub type uint_least8_t = __uint_least8_t; pub type uint_least16_t = __uint_least16_t; pub type uint_least32_t = __uint_least32_t; pub type uint_least64_t = __uint_least64_t; pub type int_fast8_t = ::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 wchar_t = ::std::os::raw::c_int; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct max_align_t { pub __clang_max_align_nonce1: ::std::os::raw::c_longlong, pub __bindgen_padding_0: u64, pub __clang_max_align_nonce2: f64, } #[test] fn bindgen_test_layout_max_align_t() { assert_eq!( ::std::mem::size_of::(), 32usize, concat!("Size of: ", stringify!(max_align_t)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).__clang_max_align_nonce1 as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(max_align_t), "::", stringify!(__clang_max_align_nonce1) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).__clang_max_align_nonce2 as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(max_align_t), "::", stringify!(__clang_max_align_nonce2) ) ); } pub const retro_language_RETRO_LANGUAGE_ENGLISH: retro_language = 0; pub const retro_language_RETRO_LANGUAGE_JAPANESE: retro_language = 1; pub const retro_language_RETRO_LANGUAGE_FRENCH: retro_language = 2; pub const retro_language_RETRO_LANGUAGE_SPANISH: retro_language = 3; pub const retro_language_RETRO_LANGUAGE_GERMAN: retro_language = 4; pub const retro_language_RETRO_LANGUAGE_ITALIAN: retro_language = 5; pub const retro_language_RETRO_LANGUAGE_DUTCH: retro_language = 6; pub const retro_language_RETRO_LANGUAGE_PORTUGUESE_BRAZIL: retro_language = 7; pub const retro_language_RETRO_LANGUAGE_PORTUGUESE_PORTUGAL: retro_language = 8; pub const retro_language_RETRO_LANGUAGE_RUSSIAN: retro_language = 9; pub const retro_language_RETRO_LANGUAGE_KOREAN: retro_language = 10; pub const retro_language_RETRO_LANGUAGE_CHINESE_TRADITIONAL: retro_language = 11; pub const retro_language_RETRO_LANGUAGE_CHINESE_SIMPLIFIED: retro_language = 12; pub const retro_language_RETRO_LANGUAGE_ESPERANTO: retro_language = 13; pub const retro_language_RETRO_LANGUAGE_POLISH: retro_language = 14; pub const retro_language_RETRO_LANGUAGE_VIETNAMESE: retro_language = 15; pub const retro_language_RETRO_LANGUAGE_ARABIC: retro_language = 16; pub const retro_language_RETRO_LANGUAGE_GREEK: retro_language = 17; pub const retro_language_RETRO_LANGUAGE_LAST: retro_language = 18; pub const retro_language_RETRO_LANGUAGE_DUMMY: retro_language = 2147483647; pub type retro_language = u32; pub const retro_key_RETROK_UNKNOWN: retro_key = 0; pub const retro_key_RETROK_FIRST: retro_key = 0; pub const retro_key_RETROK_BACKSPACE: retro_key = 8; pub const retro_key_RETROK_TAB: retro_key = 9; pub const retro_key_RETROK_CLEAR: retro_key = 12; pub const retro_key_RETROK_RETURN: retro_key = 13; pub const retro_key_RETROK_PAUSE: retro_key = 19; pub const retro_key_RETROK_ESCAPE: retro_key = 27; pub const retro_key_RETROK_SPACE: retro_key = 32; pub const retro_key_RETROK_EXCLAIM: retro_key = 33; pub const retro_key_RETROK_QUOTEDBL: retro_key = 34; pub const retro_key_RETROK_HASH: retro_key = 35; pub const retro_key_RETROK_DOLLAR: retro_key = 36; pub const retro_key_RETROK_AMPERSAND: retro_key = 38; pub const retro_key_RETROK_QUOTE: retro_key = 39; pub const retro_key_RETROK_LEFTPAREN: retro_key = 40; pub const retro_key_RETROK_RIGHTPAREN: retro_key = 41; pub const retro_key_RETROK_ASTERISK: retro_key = 42; pub const retro_key_RETROK_PLUS: retro_key = 43; pub const retro_key_RETROK_COMMA: retro_key = 44; pub const retro_key_RETROK_MINUS: retro_key = 45; pub const retro_key_RETROK_PERIOD: retro_key = 46; pub const retro_key_RETROK_SLASH: retro_key = 47; pub const retro_key_RETROK_0: retro_key = 48; pub const retro_key_RETROK_1: retro_key = 49; pub const retro_key_RETROK_2: retro_key = 50; pub const retro_key_RETROK_3: retro_key = 51; pub const retro_key_RETROK_4: retro_key = 52; pub const retro_key_RETROK_5: retro_key = 53; pub const retro_key_RETROK_6: retro_key = 54; pub const retro_key_RETROK_7: retro_key = 55; pub const retro_key_RETROK_8: retro_key = 56; pub const retro_key_RETROK_9: retro_key = 57; pub const retro_key_RETROK_COLON: retro_key = 58; pub const retro_key_RETROK_SEMICOLON: retro_key = 59; pub const retro_key_RETROK_LESS: retro_key = 60; pub const retro_key_RETROK_EQUALS: retro_key = 61; pub const retro_key_RETROK_GREATER: retro_key = 62; pub const retro_key_RETROK_QUESTION: retro_key = 63; pub const retro_key_RETROK_AT: retro_key = 64; pub const retro_key_RETROK_LEFTBRACKET: retro_key = 91; pub const retro_key_RETROK_BACKSLASH: retro_key = 92; pub const retro_key_RETROK_RIGHTBRACKET: retro_key = 93; pub const retro_key_RETROK_CARET: retro_key = 94; pub const retro_key_RETROK_UNDERSCORE: retro_key = 95; pub const retro_key_RETROK_BACKQUOTE: retro_key = 96; pub const retro_key_RETROK_a: retro_key = 97; pub const retro_key_RETROK_b: retro_key = 98; pub const retro_key_RETROK_c: retro_key = 99; pub const retro_key_RETROK_d: retro_key = 100; pub const retro_key_RETROK_e: retro_key = 101; pub const retro_key_RETROK_f: retro_key = 102; pub const retro_key_RETROK_g: retro_key = 103; pub const retro_key_RETROK_h: retro_key = 104; pub const retro_key_RETROK_i: retro_key = 105; pub const retro_key_RETROK_j: retro_key = 106; pub const retro_key_RETROK_k: retro_key = 107; pub const retro_key_RETROK_l: retro_key = 108; pub const retro_key_RETROK_m: retro_key = 109; pub const retro_key_RETROK_n: retro_key = 110; pub const retro_key_RETROK_o: retro_key = 111; pub const retro_key_RETROK_p: retro_key = 112; pub const retro_key_RETROK_q: retro_key = 113; pub const retro_key_RETROK_r: retro_key = 114; pub const retro_key_RETROK_s: retro_key = 115; pub const retro_key_RETROK_t: retro_key = 116; pub const retro_key_RETROK_u: retro_key = 117; pub const retro_key_RETROK_v: retro_key = 118; pub const retro_key_RETROK_w: retro_key = 119; pub const retro_key_RETROK_x: retro_key = 120; pub const retro_key_RETROK_y: retro_key = 121; pub const retro_key_RETROK_z: retro_key = 122; pub const retro_key_RETROK_LEFTBRACE: retro_key = 123; pub const retro_key_RETROK_BAR: retro_key = 124; pub const retro_key_RETROK_RIGHTBRACE: retro_key = 125; pub const retro_key_RETROK_TILDE: retro_key = 126; pub const retro_key_RETROK_DELETE: retro_key = 127; pub const retro_key_RETROK_KP0: retro_key = 256; pub const retro_key_RETROK_KP1: retro_key = 257; pub const retro_key_RETROK_KP2: retro_key = 258; pub const retro_key_RETROK_KP3: retro_key = 259; pub const retro_key_RETROK_KP4: retro_key = 260; pub const retro_key_RETROK_KP5: retro_key = 261; pub const retro_key_RETROK_KP6: retro_key = 262; pub const retro_key_RETROK_KP7: retro_key = 263; pub const retro_key_RETROK_KP8: retro_key = 264; pub const retro_key_RETROK_KP9: retro_key = 265; pub const retro_key_RETROK_KP_PERIOD: retro_key = 266; pub const retro_key_RETROK_KP_DIVIDE: retro_key = 267; pub const retro_key_RETROK_KP_MULTIPLY: retro_key = 268; pub const retro_key_RETROK_KP_MINUS: retro_key = 269; pub const retro_key_RETROK_KP_PLUS: retro_key = 270; pub const retro_key_RETROK_KP_ENTER: retro_key = 271; pub const retro_key_RETROK_KP_EQUALS: retro_key = 272; pub const retro_key_RETROK_UP: retro_key = 273; pub const retro_key_RETROK_DOWN: retro_key = 274; pub const retro_key_RETROK_RIGHT: retro_key = 275; pub const retro_key_RETROK_LEFT: retro_key = 276; pub const retro_key_RETROK_INSERT: retro_key = 277; pub const retro_key_RETROK_HOME: retro_key = 278; pub const retro_key_RETROK_END: retro_key = 279; pub const retro_key_RETROK_PAGEUP: retro_key = 280; pub const retro_key_RETROK_PAGEDOWN: retro_key = 281; pub const retro_key_RETROK_F1: retro_key = 282; pub const retro_key_RETROK_F2: retro_key = 283; pub const retro_key_RETROK_F3: retro_key = 284; pub const retro_key_RETROK_F4: retro_key = 285; pub const retro_key_RETROK_F5: retro_key = 286; pub const retro_key_RETROK_F6: retro_key = 287; pub const retro_key_RETROK_F7: retro_key = 288; pub const retro_key_RETROK_F8: retro_key = 289; pub const retro_key_RETROK_F9: retro_key = 290; pub const retro_key_RETROK_F10: retro_key = 291; pub const retro_key_RETROK_F11: retro_key = 292; pub const retro_key_RETROK_F12: retro_key = 293; pub const retro_key_RETROK_F13: retro_key = 294; pub const retro_key_RETROK_F14: retro_key = 295; pub const retro_key_RETROK_F15: retro_key = 296; pub const retro_key_RETROK_NUMLOCK: retro_key = 300; pub const retro_key_RETROK_CAPSLOCK: retro_key = 301; pub const retro_key_RETROK_SCROLLOCK: retro_key = 302; pub const retro_key_RETROK_RSHIFT: retro_key = 303; pub const retro_key_RETROK_LSHIFT: retro_key = 304; pub const retro_key_RETROK_RCTRL: retro_key = 305; pub const retro_key_RETROK_LCTRL: retro_key = 306; pub const retro_key_RETROK_RALT: retro_key = 307; pub const retro_key_RETROK_LALT: retro_key = 308; pub const retro_key_RETROK_RMETA: retro_key = 309; pub const retro_key_RETROK_LMETA: retro_key = 310; pub const retro_key_RETROK_LSUPER: retro_key = 311; pub const retro_key_RETROK_RSUPER: retro_key = 312; pub const retro_key_RETROK_MODE: retro_key = 313; pub const retro_key_RETROK_COMPOSE: retro_key = 314; pub const retro_key_RETROK_HELP: retro_key = 315; pub const retro_key_RETROK_PRINT: retro_key = 316; pub const retro_key_RETROK_SYSREQ: retro_key = 317; pub const retro_key_RETROK_BREAK: retro_key = 318; pub const retro_key_RETROK_MENU: retro_key = 319; pub const retro_key_RETROK_POWER: retro_key = 320; pub const retro_key_RETROK_EURO: retro_key = 321; pub const retro_key_RETROK_UNDO: retro_key = 322; pub const retro_key_RETROK_OEM_102: retro_key = 323; pub const retro_key_RETROK_LAST: retro_key = 324; pub const retro_key_RETROK_DUMMY: retro_key = 2147483647; pub type retro_key = u32; pub const retro_mod_RETROKMOD_NONE: retro_mod = 0; pub const retro_mod_RETROKMOD_SHIFT: retro_mod = 1; pub const retro_mod_RETROKMOD_CTRL: retro_mod = 2; pub const retro_mod_RETROKMOD_ALT: retro_mod = 4; pub const retro_mod_RETROKMOD_META: retro_mod = 8; pub const retro_mod_RETROKMOD_NUMLOCK: retro_mod = 16; pub const retro_mod_RETROKMOD_CAPSLOCK: retro_mod = 32; pub const retro_mod_RETROKMOD_SCROLLOCK: retro_mod = 64; pub const retro_mod_RETROKMOD_DUMMY: retro_mod = 2147483647; pub type retro_mod = u32; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct retro_vfs_file_handle { _unused: [u8; 0], } pub type retro_vfs_get_path_t = ::std::option::Option< unsafe extern "C" fn(stream: *mut retro_vfs_file_handle) -> *const ::std::os::raw::c_char, >; pub type retro_vfs_open_t = ::std::option::Option< unsafe extern "C" fn( path: *const ::std::os::raw::c_char, mode: ::std::os::raw::c_uint, hints: ::std::os::raw::c_uint, ) -> *mut retro_vfs_file_handle, >; pub type retro_vfs_close_t = ::std::option::Option< unsafe extern "C" fn(stream: *mut retro_vfs_file_handle) -> ::std::os::raw::c_int, >; pub type retro_vfs_size_t = ::std::option::Option i64>; pub type retro_vfs_truncate_t = ::std::option::Option< unsafe extern "C" fn(stream: *mut retro_vfs_file_handle, length: i64) -> i64, >; pub type retro_vfs_tell_t = ::std::option::Option i64>; pub type retro_vfs_seek_t = ::std::option::Option< unsafe extern "C" fn( stream: *mut retro_vfs_file_handle, offset: i64, seek_position: ::std::os::raw::c_int, ) -> i64, >; pub type retro_vfs_read_t = ::std::option::Option< unsafe extern "C" fn( stream: *mut retro_vfs_file_handle, s: *mut ::std::os::raw::c_void, len: u64, ) -> i64, >; pub type retro_vfs_write_t = ::std::option::Option< unsafe extern "C" fn( stream: *mut retro_vfs_file_handle, s: *const ::std::os::raw::c_void, len: u64, ) -> i64, >; pub type retro_vfs_flush_t = ::std::option::Option< unsafe extern "C" fn(stream: *mut retro_vfs_file_handle) -> ::std::os::raw::c_int, >; pub type retro_vfs_remove_t = ::std::option::Option< unsafe extern "C" fn(path: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int, >; pub type retro_vfs_rename_t = ::std::option::Option< unsafe extern "C" fn( old_path: *const ::std::os::raw::c_char, new_path: *const ::std::os::raw::c_char, ) -> ::std::os::raw::c_int, >; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct retro_vfs_interface { pub get_path: retro_vfs_get_path_t, pub open: retro_vfs_open_t, pub close: retro_vfs_close_t, pub size: retro_vfs_size_t, pub tell: retro_vfs_tell_t, pub seek: retro_vfs_seek_t, pub read: retro_vfs_read_t, pub write: retro_vfs_write_t, pub flush: retro_vfs_flush_t, pub remove: retro_vfs_remove_t, pub rename: retro_vfs_rename_t, pub truncate: retro_vfs_truncate_t, } #[test] fn bindgen_test_layout_retro_vfs_interface() { assert_eq!( ::std::mem::size_of::(), 96usize, concat!("Size of: ", stringify!(retro_vfs_interface)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(retro_vfs_interface)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_path as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(retro_vfs_interface), "::", stringify!(get_path) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).open as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(retro_vfs_interface), "::", stringify!(open) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).close as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(retro_vfs_interface), "::", stringify!(close) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).size as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(retro_vfs_interface), "::", stringify!(size) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).tell as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(retro_vfs_interface), "::", stringify!(tell) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).seek as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(retro_vfs_interface), "::", stringify!(seek) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).read as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(retro_vfs_interface), "::", stringify!(read) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).write as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(retro_vfs_interface), "::", stringify!(write) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).flush as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(retro_vfs_interface), "::", stringify!(flush) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).remove as *const _ as usize }, 72usize, concat!( "Offset of field: ", stringify!(retro_vfs_interface), "::", stringify!(remove) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).rename as *const _ as usize }, 80usize, concat!( "Offset of field: ", stringify!(retro_vfs_interface), "::", stringify!(rename) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).truncate as *const _ as usize }, 88usize, concat!( "Offset of field: ", stringify!(retro_vfs_interface), "::", stringify!(truncate) ) ); } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct retro_vfs_interface_info { pub required_interface_version: u32, pub iface: *mut retro_vfs_interface, } #[test] fn bindgen_test_layout_retro_vfs_interface_info() { assert_eq!( ::std::mem::size_of::(), 16usize, concat!("Size of: ", stringify!(retro_vfs_interface_info)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(retro_vfs_interface_info)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).required_interface_version as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(retro_vfs_interface_info), "::", stringify!(required_interface_version) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).iface as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(retro_vfs_interface_info), "::", stringify!(iface) ) ); } pub const retro_hw_render_interface_type_RETRO_HW_RENDER_INTERFACE_VULKAN: retro_hw_render_interface_type = 0; pub const retro_hw_render_interface_type_RETRO_HW_RENDER_INTERFACE_D3D9: retro_hw_render_interface_type = 1; pub const retro_hw_render_interface_type_RETRO_HW_RENDER_INTERFACE_D3D10: retro_hw_render_interface_type = 2; pub const retro_hw_render_interface_type_RETRO_HW_RENDER_INTERFACE_D3D11: retro_hw_render_interface_type = 3; pub const retro_hw_render_interface_type_RETRO_HW_RENDER_INTERFACE_D3D12: retro_hw_render_interface_type = 4; pub const retro_hw_render_interface_type_RETRO_HW_RENDER_INTERFACE_DUMMY: retro_hw_render_interface_type = 2147483647; pub type retro_hw_render_interface_type = u32; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct retro_hw_render_interface { pub interface_type: retro_hw_render_interface_type, pub interface_version: ::std::os::raw::c_uint, } #[test] fn bindgen_test_layout_retro_hw_render_interface() { assert_eq!( ::std::mem::size_of::(), 8usize, concat!("Size of: ", stringify!(retro_hw_render_interface)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(retro_hw_render_interface)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).interface_type as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(retro_hw_render_interface), "::", stringify!(interface_type) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).interface_version as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(retro_hw_render_interface), "::", stringify!(interface_version) ) ); } pub type retro_set_led_state_t = ::std::option::Option< unsafe extern "C" fn(led: ::std::os::raw::c_int, state: ::std::os::raw::c_int), >; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct retro_led_interface { pub set_led_state: retro_set_led_state_t, } #[test] fn bindgen_test_layout_retro_led_interface() { assert_eq!( ::std::mem::size_of::(), 8usize, concat!("Size of: ", stringify!(retro_led_interface)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(retro_led_interface)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).set_led_state as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(retro_led_interface), "::", stringify!(set_led_state) ) ); } pub type retro_midi_input_enabled_t = ::std::option::Option bool>; pub type retro_midi_output_enabled_t = ::std::option::Option bool>; pub type retro_midi_read_t = ::std::option::Option bool>; pub type retro_midi_write_t = ::std::option::Option bool>; pub type retro_midi_flush_t = ::std::option::Option bool>; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct retro_midi_interface { pub input_enabled: retro_midi_input_enabled_t, pub output_enabled: retro_midi_output_enabled_t, pub read: retro_midi_read_t, pub write: retro_midi_write_t, pub flush: retro_midi_flush_t, } #[test] fn bindgen_test_layout_retro_midi_interface() { assert_eq!( ::std::mem::size_of::(), 40usize, concat!("Size of: ", stringify!(retro_midi_interface)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(retro_midi_interface)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).input_enabled as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(retro_midi_interface), "::", stringify!(input_enabled) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).output_enabled as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(retro_midi_interface), "::", stringify!(output_enabled) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).read as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(retro_midi_interface), "::", stringify!(read) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).write as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(retro_midi_interface), "::", stringify!(write) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).flush as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(retro_midi_interface), "::", stringify!(flush) ) ); } pub const retro_hw_render_context_negotiation_interface_type_RETRO_HW_RENDER_CONTEXT_NEGOTIATION_INTERFACE_VULKAN : retro_hw_render_context_negotiation_interface_type = 0 ; pub const retro_hw_render_context_negotiation_interface_type_RETRO_HW_RENDER_CONTEXT_NEGOTIATION_INTERFACE_DUMMY : retro_hw_render_context_negotiation_interface_type = 2147483647 ; pub type retro_hw_render_context_negotiation_interface_type = u32; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct retro_hw_render_context_negotiation_interface { pub interface_type: retro_hw_render_context_negotiation_interface_type, pub interface_version: ::std::os::raw::c_uint, } #[test] fn bindgen_test_layout_retro_hw_render_context_negotiation_interface() { assert_eq!( ::std::mem::size_of::(), 8usize, concat!( "Size of: ", stringify!(retro_hw_render_context_negotiation_interface) ) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!( "Alignment of ", stringify!(retro_hw_render_context_negotiation_interface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).interface_type as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(retro_hw_render_context_negotiation_interface), "::", stringify!(interface_type) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())) .interface_version as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(retro_hw_render_context_negotiation_interface), "::", stringify!(interface_version) ) ); } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct retro_memory_descriptor { pub flags: u64, pub ptr: *mut ::std::os::raw::c_void, pub offset: usize, pub start: usize, pub select: usize, pub disconnect: usize, pub len: usize, pub addrspace: *const ::std::os::raw::c_char, } #[test] fn bindgen_test_layout_retro_memory_descriptor() { assert_eq!( ::std::mem::size_of::(), 64usize, concat!("Size of: ", stringify!(retro_memory_descriptor)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(retro_memory_descriptor)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).flags as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(retro_memory_descriptor), "::", stringify!(flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ptr as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(retro_memory_descriptor), "::", stringify!(ptr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).offset as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(retro_memory_descriptor), "::", stringify!(offset) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).start as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(retro_memory_descriptor), "::", stringify!(start) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).select as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(retro_memory_descriptor), "::", stringify!(select) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).disconnect as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(retro_memory_descriptor), "::", stringify!(disconnect) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).len as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(retro_memory_descriptor), "::", stringify!(len) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).addrspace as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(retro_memory_descriptor), "::", stringify!(addrspace) ) ); } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct retro_memory_map { pub descriptors: *const retro_memory_descriptor, pub num_descriptors: ::std::os::raw::c_uint, } #[test] fn bindgen_test_layout_retro_memory_map() { assert_eq!( ::std::mem::size_of::(), 16usize, concat!("Size of: ", stringify!(retro_memory_map)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(retro_memory_map)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).descriptors as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(retro_memory_map), "::", stringify!(descriptors) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).num_descriptors as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(retro_memory_map), "::", stringify!(num_descriptors) ) ); } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct retro_controller_description { pub desc: *const ::std::os::raw::c_char, pub id: ::std::os::raw::c_uint, } #[test] fn bindgen_test_layout_retro_controller_description() { assert_eq!( ::std::mem::size_of::(), 16usize, concat!("Size of: ", stringify!(retro_controller_description)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(retro_controller_description)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).desc as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(retro_controller_description), "::", stringify!(desc) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).id as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(retro_controller_description), "::", stringify!(id) ) ); } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct retro_controller_info { pub types: *const retro_controller_description, pub num_types: ::std::os::raw::c_uint, } #[test] fn bindgen_test_layout_retro_controller_info() { assert_eq!( ::std::mem::size_of::(), 16usize, concat!("Size of: ", stringify!(retro_controller_info)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(retro_controller_info)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).types as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(retro_controller_info), "::", stringify!(types) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).num_types as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(retro_controller_info), "::", stringify!(num_types) ) ); } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct retro_subsystem_memory_info { pub extension: *const ::std::os::raw::c_char, pub type_: ::std::os::raw::c_uint, } #[test] fn bindgen_test_layout_retro_subsystem_memory_info() { assert_eq!( ::std::mem::size_of::(), 16usize, concat!("Size of: ", stringify!(retro_subsystem_memory_info)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(retro_subsystem_memory_info)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).extension as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(retro_subsystem_memory_info), "::", stringify!(extension) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).type_ as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(retro_subsystem_memory_info), "::", stringify!(type_) ) ); } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct retro_subsystem_rom_info { pub desc: *const ::std::os::raw::c_char, pub valid_extensions: *const ::std::os::raw::c_char, pub need_fullpath: bool, pub block_extract: bool, pub required: bool, pub memory: *const retro_subsystem_memory_info, pub num_memory: ::std::os::raw::c_uint, } #[test] fn bindgen_test_layout_retro_subsystem_rom_info() { assert_eq!( ::std::mem::size_of::(), 40usize, concat!("Size of: ", stringify!(retro_subsystem_rom_info)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(retro_subsystem_rom_info)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).desc as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(retro_subsystem_rom_info), "::", stringify!(desc) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).valid_extensions as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(retro_subsystem_rom_info), "::", stringify!(valid_extensions) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).need_fullpath as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(retro_subsystem_rom_info), "::", stringify!(need_fullpath) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).block_extract as *const _ as usize }, 17usize, concat!( "Offset of field: ", stringify!(retro_subsystem_rom_info), "::", stringify!(block_extract) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).required as *const _ as usize }, 18usize, concat!( "Offset of field: ", stringify!(retro_subsystem_rom_info), "::", stringify!(required) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).memory as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(retro_subsystem_rom_info), "::", stringify!(memory) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).num_memory as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(retro_subsystem_rom_info), "::", stringify!(num_memory) ) ); } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct retro_subsystem_info { pub desc: *const ::std::os::raw::c_char, pub ident: *const ::std::os::raw::c_char, pub roms: *const retro_subsystem_rom_info, pub num_roms: ::std::os::raw::c_uint, pub id: ::std::os::raw::c_uint, } #[test] fn bindgen_test_layout_retro_subsystem_info() { assert_eq!( ::std::mem::size_of::(), 32usize, concat!("Size of: ", stringify!(retro_subsystem_info)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(retro_subsystem_info)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).desc as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(retro_subsystem_info), "::", stringify!(desc) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ident as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(retro_subsystem_info), "::", stringify!(ident) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).roms as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(retro_subsystem_info), "::", stringify!(roms) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).num_roms as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(retro_subsystem_info), "::", stringify!(num_roms) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).id as *const _ as usize }, 28usize, concat!( "Offset of field: ", stringify!(retro_subsystem_info), "::", stringify!(id) ) ); } pub type retro_proc_address_t = ::std::option::Option; pub type retro_get_proc_address_t = ::std::option::Option< unsafe extern "C" fn(sym: *const ::std::os::raw::c_char) -> retro_proc_address_t, >; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct retro_get_proc_address_interface { pub get_proc_address: retro_get_proc_address_t, } #[test] fn bindgen_test_layout_retro_get_proc_address_interface() { assert_eq!( ::std::mem::size_of::(), 8usize, concat!("Size of: ", stringify!(retro_get_proc_address_interface)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!( "Alignment of ", stringify!(retro_get_proc_address_interface) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_proc_address as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(retro_get_proc_address_interface), "::", stringify!(get_proc_address) ) ); } pub const retro_log_level_RETRO_LOG_DEBUG: retro_log_level = 0; pub const retro_log_level_RETRO_LOG_INFO: retro_log_level = 1; pub const retro_log_level_RETRO_LOG_WARN: retro_log_level = 2; pub const retro_log_level_RETRO_LOG_ERROR: retro_log_level = 3; pub const retro_log_level_RETRO_LOG_DUMMY: retro_log_level = 2147483647; pub type retro_log_level = u32; pub type retro_log_printf_t = ::std::option::Option< unsafe extern "C" fn(level: retro_log_level, fmt: *const ::std::os::raw::c_char, ...), >; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct retro_log_callback { pub log: retro_log_printf_t, } #[test] fn bindgen_test_layout_retro_log_callback() { assert_eq!( ::std::mem::size_of::(), 8usize, concat!("Size of: ", stringify!(retro_log_callback)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(retro_log_callback)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).log as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(retro_log_callback), "::", stringify!(log) ) ); } pub type retro_perf_tick_t = u64; pub type retro_time_t = i64; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct retro_perf_counter { pub ident: *const ::std::os::raw::c_char, pub start: retro_perf_tick_t, pub total: retro_perf_tick_t, pub call_cnt: retro_perf_tick_t, pub registered: bool, } #[test] fn bindgen_test_layout_retro_perf_counter() { assert_eq!( ::std::mem::size_of::(), 40usize, concat!("Size of: ", stringify!(retro_perf_counter)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(retro_perf_counter)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ident as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(retro_perf_counter), "::", stringify!(ident) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).start as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(retro_perf_counter), "::", stringify!(start) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).total as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(retro_perf_counter), "::", stringify!(total) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).call_cnt as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(retro_perf_counter), "::", stringify!(call_cnt) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).registered as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(retro_perf_counter), "::", stringify!(registered) ) ); } pub type retro_perf_get_time_usec_t = ::std::option::Option retro_time_t>; pub type retro_perf_get_counter_t = ::std::option::Option retro_perf_tick_t>; pub type retro_get_cpu_features_t = ::std::option::Option u64>; pub type retro_perf_log_t = ::std::option::Option; pub type retro_perf_register_t = ::std::option::Option; pub type retro_perf_start_t = ::std::option::Option; pub type retro_perf_stop_t = ::std::option::Option; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct retro_perf_callback { pub get_time_usec: retro_perf_get_time_usec_t, pub get_cpu_features: retro_get_cpu_features_t, pub get_perf_counter: retro_perf_get_counter_t, pub perf_register: retro_perf_register_t, pub perf_start: retro_perf_start_t, pub perf_stop: retro_perf_stop_t, pub perf_log: retro_perf_log_t, } #[test] fn bindgen_test_layout_retro_perf_callback() { assert_eq!( ::std::mem::size_of::(), 56usize, concat!("Size of: ", stringify!(retro_perf_callback)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(retro_perf_callback)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_time_usec as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(retro_perf_callback), "::", stringify!(get_time_usec) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_cpu_features as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(retro_perf_callback), "::", stringify!(get_cpu_features) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_perf_counter as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(retro_perf_callback), "::", stringify!(get_perf_counter) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).perf_register as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(retro_perf_callback), "::", stringify!(perf_register) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).perf_start as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(retro_perf_callback), "::", stringify!(perf_start) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).perf_stop as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(retro_perf_callback), "::", stringify!(perf_stop) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).perf_log as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(retro_perf_callback), "::", stringify!(perf_log) ) ); } pub const retro_sensor_action_RETRO_SENSOR_ACCELEROMETER_ENABLE: retro_sensor_action = 0; pub const retro_sensor_action_RETRO_SENSOR_ACCELEROMETER_DISABLE: retro_sensor_action = 1; pub const retro_sensor_action_RETRO_SENSOR_DUMMY: retro_sensor_action = 2147483647; pub type retro_sensor_action = u32; pub type retro_set_sensor_state_t = ::std::option::Option< unsafe extern "C" fn( port: ::std::os::raw::c_uint, action: retro_sensor_action, rate: ::std::os::raw::c_uint, ) -> bool, >; pub type retro_sensor_get_input_t = ::std::option::Option< unsafe extern "C" fn(port: ::std::os::raw::c_uint, id: ::std::os::raw::c_uint) -> f32, >; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct retro_sensor_interface { pub set_sensor_state: retro_set_sensor_state_t, pub get_sensor_input: retro_sensor_get_input_t, } #[test] fn bindgen_test_layout_retro_sensor_interface() { assert_eq!( ::std::mem::size_of::(), 16usize, concat!("Size of: ", stringify!(retro_sensor_interface)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(retro_sensor_interface)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).set_sensor_state as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(retro_sensor_interface), "::", stringify!(set_sensor_state) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_sensor_input as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(retro_sensor_interface), "::", stringify!(get_sensor_input) ) ); } pub const retro_camera_buffer_RETRO_CAMERA_BUFFER_OPENGL_TEXTURE: retro_camera_buffer = 0; pub const retro_camera_buffer_RETRO_CAMERA_BUFFER_RAW_FRAMEBUFFER: retro_camera_buffer = 1; pub const retro_camera_buffer_RETRO_CAMERA_BUFFER_DUMMY: retro_camera_buffer = 2147483647; pub type retro_camera_buffer = u32; pub type retro_camera_start_t = ::std::option::Option bool>; pub type retro_camera_stop_t = ::std::option::Option; pub type retro_camera_lifetime_status_t = ::std::option::Option; pub type retro_camera_frame_raw_framebuffer_t = ::std::option::Option< unsafe extern "C" fn( buffer: *const u32, width: ::std::os::raw::c_uint, height: ::std::os::raw::c_uint, pitch: usize, ), >; pub type retro_camera_frame_opengl_texture_t = ::std::option::Option< unsafe extern "C" fn( texture_id: ::std::os::raw::c_uint, texture_target: ::std::os::raw::c_uint, affine: *const f32, ), >; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct retro_camera_callback { pub caps: u64, pub width: ::std::os::raw::c_uint, pub height: ::std::os::raw::c_uint, pub start: retro_camera_start_t, pub stop: retro_camera_stop_t, pub frame_raw_framebuffer: retro_camera_frame_raw_framebuffer_t, pub frame_opengl_texture: retro_camera_frame_opengl_texture_t, pub initialized: retro_camera_lifetime_status_t, pub deinitialized: retro_camera_lifetime_status_t, } #[test] fn bindgen_test_layout_retro_camera_callback() { assert_eq!( ::std::mem::size_of::(), 64usize, concat!("Size of: ", stringify!(retro_camera_callback)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(retro_camera_callback)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).caps as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(retro_camera_callback), "::", stringify!(caps) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).width as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(retro_camera_callback), "::", stringify!(width) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).height as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(retro_camera_callback), "::", stringify!(height) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).start as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(retro_camera_callback), "::", stringify!(start) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).stop as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(retro_camera_callback), "::", stringify!(stop) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).frame_raw_framebuffer as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(retro_camera_callback), "::", stringify!(frame_raw_framebuffer) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).frame_opengl_texture as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(retro_camera_callback), "::", stringify!(frame_opengl_texture) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).initialized as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(retro_camera_callback), "::", stringify!(initialized) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).deinitialized as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(retro_camera_callback), "::", stringify!(deinitialized) ) ); } pub type retro_location_set_interval_t = ::std::option::Option< unsafe extern "C" fn( interval_ms: ::std::os::raw::c_uint, interval_distance: ::std::os::raw::c_uint, ), >; pub type retro_location_start_t = ::std::option::Option bool>; pub type retro_location_stop_t = ::std::option::Option; pub type retro_location_get_position_t = ::std::option::Option< unsafe extern "C" fn( lat: *mut f64, lon: *mut f64, horiz_accuracy: *mut f64, vert_accuracy: *mut f64, ) -> bool, >; pub type retro_location_lifetime_status_t = ::std::option::Option; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct retro_location_callback { pub start: retro_location_start_t, pub stop: retro_location_stop_t, pub get_position: retro_location_get_position_t, pub set_interval: retro_location_set_interval_t, pub initialized: retro_location_lifetime_status_t, pub deinitialized: retro_location_lifetime_status_t, } #[test] fn bindgen_test_layout_retro_location_callback() { assert_eq!( ::std::mem::size_of::(), 48usize, concat!("Size of: ", stringify!(retro_location_callback)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(retro_location_callback)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).start as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(retro_location_callback), "::", stringify!(start) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).stop as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(retro_location_callback), "::", stringify!(stop) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_position as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(retro_location_callback), "::", stringify!(get_position) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).set_interval as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(retro_location_callback), "::", stringify!(set_interval) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).initialized as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(retro_location_callback), "::", stringify!(initialized) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).deinitialized as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(retro_location_callback), "::", stringify!(deinitialized) ) ); } pub const retro_rumble_effect_RETRO_RUMBLE_STRONG: retro_rumble_effect = 0; pub const retro_rumble_effect_RETRO_RUMBLE_WEAK: retro_rumble_effect = 1; pub const retro_rumble_effect_RETRO_RUMBLE_DUMMY: retro_rumble_effect = 2147483647; pub type retro_rumble_effect = u32; pub type retro_set_rumble_state_t = ::std::option::Option< unsafe extern "C" fn( port: ::std::os::raw::c_uint, effect: retro_rumble_effect, strength: u16, ) -> bool, >; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct retro_rumble_interface { pub set_rumble_state: retro_set_rumble_state_t, } #[test] fn bindgen_test_layout_retro_rumble_interface() { assert_eq!( ::std::mem::size_of::(), 8usize, concat!("Size of: ", stringify!(retro_rumble_interface)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(retro_rumble_interface)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).set_rumble_state as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(retro_rumble_interface), "::", stringify!(set_rumble_state) ) ); } pub type retro_audio_callback_t = ::std::option::Option; pub type retro_audio_set_state_callback_t = ::std::option::Option; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct retro_audio_callback { pub callback: retro_audio_callback_t, pub set_state: retro_audio_set_state_callback_t, } #[test] fn bindgen_test_layout_retro_audio_callback() { assert_eq!( ::std::mem::size_of::(), 16usize, concat!("Size of: ", stringify!(retro_audio_callback)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(retro_audio_callback)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).callback as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(retro_audio_callback), "::", stringify!(callback) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).set_state as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(retro_audio_callback), "::", stringify!(set_state) ) ); } pub type retro_usec_t = i64; pub type retro_frame_time_callback_t = ::std::option::Option; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct retro_frame_time_callback { pub callback: retro_frame_time_callback_t, pub reference: retro_usec_t, } #[test] fn bindgen_test_layout_retro_frame_time_callback() { assert_eq!( ::std::mem::size_of::(), 16usize, concat!("Size of: ", stringify!(retro_frame_time_callback)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(retro_frame_time_callback)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).callback as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(retro_frame_time_callback), "::", stringify!(callback) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).reference as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(retro_frame_time_callback), "::", stringify!(reference) ) ); } pub type retro_hw_context_reset_t = ::std::option::Option; pub type retro_hw_get_current_framebuffer_t = ::std::option::Option usize>; pub type retro_hw_get_proc_address_t = ::std::option::Option< unsafe extern "C" fn(sym: *const ::std::os::raw::c_char) -> retro_proc_address_t, >; pub const retro_hw_context_type_RETRO_HW_CONTEXT_NONE: retro_hw_context_type = 0; pub const retro_hw_context_type_RETRO_HW_CONTEXT_OPENGL: retro_hw_context_type = 1; pub const retro_hw_context_type_RETRO_HW_CONTEXT_OPENGLES2: retro_hw_context_type = 2; pub const retro_hw_context_type_RETRO_HW_CONTEXT_OPENGL_CORE: retro_hw_context_type = 3; pub const retro_hw_context_type_RETRO_HW_CONTEXT_OPENGLES3: retro_hw_context_type = 4; pub const retro_hw_context_type_RETRO_HW_CONTEXT_OPENGLES_VERSION: retro_hw_context_type = 5; pub const retro_hw_context_type_RETRO_HW_CONTEXT_VULKAN: retro_hw_context_type = 6; pub const retro_hw_context_type_RETRO_HW_CONTEXT_DIRECT3D: retro_hw_context_type = 7; pub const retro_hw_context_type_RETRO_HW_CONTEXT_DUMMY: retro_hw_context_type = 2147483647; pub type retro_hw_context_type = u32; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct retro_hw_render_callback { pub context_type: retro_hw_context_type, pub context_reset: retro_hw_context_reset_t, pub get_current_framebuffer: retro_hw_get_current_framebuffer_t, pub get_proc_address: retro_hw_get_proc_address_t, pub depth: bool, pub stencil: bool, pub bottom_left_origin: bool, pub version_major: ::std::os::raw::c_uint, pub version_minor: ::std::os::raw::c_uint, pub cache_context: bool, pub context_destroy: retro_hw_context_reset_t, pub debug_context: bool, } #[test] fn bindgen_test_layout_retro_hw_render_callback() { assert_eq!( ::std::mem::size_of::(), 64usize, concat!("Size of: ", stringify!(retro_hw_render_callback)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(retro_hw_render_callback)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).context_type as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(retro_hw_render_callback), "::", stringify!(context_type) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).context_reset as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(retro_hw_render_callback), "::", stringify!(context_reset) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_current_framebuffer as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(retro_hw_render_callback), "::", stringify!(get_current_framebuffer) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_proc_address as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(retro_hw_render_callback), "::", stringify!(get_proc_address) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).depth as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(retro_hw_render_callback), "::", stringify!(depth) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).stencil as *const _ as usize }, 33usize, concat!( "Offset of field: ", stringify!(retro_hw_render_callback), "::", stringify!(stencil) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).bottom_left_origin as *const _ as usize }, 34usize, concat!( "Offset of field: ", stringify!(retro_hw_render_callback), "::", stringify!(bottom_left_origin) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).version_major as *const _ as usize }, 36usize, concat!( "Offset of field: ", stringify!(retro_hw_render_callback), "::", stringify!(version_major) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).version_minor as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(retro_hw_render_callback), "::", stringify!(version_minor) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cache_context as *const _ as usize }, 44usize, concat!( "Offset of field: ", stringify!(retro_hw_render_callback), "::", stringify!(cache_context) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).context_destroy as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(retro_hw_render_callback), "::", stringify!(context_destroy) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).debug_context as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(retro_hw_render_callback), "::", stringify!(debug_context) ) ); } pub type retro_keyboard_event_t = ::std::option::Option< unsafe extern "C" fn( down: bool, keycode: ::std::os::raw::c_uint, character: u32, key_modifiers: u16, ), >; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct retro_keyboard_callback { pub callback: retro_keyboard_event_t, } #[test] fn bindgen_test_layout_retro_keyboard_callback() { assert_eq!( ::std::mem::size_of::(), 8usize, concat!("Size of: ", stringify!(retro_keyboard_callback)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(retro_keyboard_callback)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).callback as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(retro_keyboard_callback), "::", stringify!(callback) ) ); } pub type retro_set_eject_state_t = ::std::option::Option bool>; pub type retro_get_eject_state_t = ::std::option::Option bool>; pub type retro_get_image_index_t = ::std::option::Option ::std::os::raw::c_uint>; pub type retro_set_image_index_t = ::std::option::Option bool>; pub type retro_get_num_images_t = ::std::option::Option ::std::os::raw::c_uint>; pub type retro_replace_image_index_t = ::std::option::Option< unsafe extern "C" fn(index: ::std::os::raw::c_uint, info: *const retro_game_info) -> bool, >; pub type retro_add_image_index_t = ::std::option::Option bool>; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct retro_disk_control_callback { pub set_eject_state: retro_set_eject_state_t, pub get_eject_state: retro_get_eject_state_t, pub get_image_index: retro_get_image_index_t, pub set_image_index: retro_set_image_index_t, pub get_num_images: retro_get_num_images_t, pub replace_image_index: retro_replace_image_index_t, pub add_image_index: retro_add_image_index_t, } #[test] fn bindgen_test_layout_retro_disk_control_callback() { assert_eq!( ::std::mem::size_of::(), 56usize, concat!("Size of: ", stringify!(retro_disk_control_callback)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(retro_disk_control_callback)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).set_eject_state as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(retro_disk_control_callback), "::", stringify!(set_eject_state) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_eject_state as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(retro_disk_control_callback), "::", stringify!(get_eject_state) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_image_index as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(retro_disk_control_callback), "::", stringify!(get_image_index) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).set_image_index as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(retro_disk_control_callback), "::", stringify!(set_image_index) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).get_num_images as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(retro_disk_control_callback), "::", stringify!(get_num_images) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).replace_image_index as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(retro_disk_control_callback), "::", stringify!(replace_image_index) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).add_image_index as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(retro_disk_control_callback), "::", stringify!(add_image_index) ) ); } pub const retro_pixel_format_RETRO_PIXEL_FORMAT_0RGB1555: retro_pixel_format = 0; pub const retro_pixel_format_RETRO_PIXEL_FORMAT_XRGB8888: retro_pixel_format = 1; pub const retro_pixel_format_RETRO_PIXEL_FORMAT_RGB565: retro_pixel_format = 2; pub const retro_pixel_format_RETRO_PIXEL_FORMAT_UNKNOWN: retro_pixel_format = 2147483647; pub type retro_pixel_format = u32; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct retro_message { pub msg: *const ::std::os::raw::c_char, pub frames: ::std::os::raw::c_uint, } #[test] fn bindgen_test_layout_retro_message() { assert_eq!( ::std::mem::size_of::(), 16usize, concat!("Size of: ", stringify!(retro_message)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(retro_message)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).msg as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(retro_message), "::", stringify!(msg) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).frames as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(retro_message), "::", stringify!(frames) ) ); } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct retro_input_descriptor { pub port: ::std::os::raw::c_uint, pub device: ::std::os::raw::c_uint, pub index: ::std::os::raw::c_uint, pub id: ::std::os::raw::c_uint, pub description: *const ::std::os::raw::c_char, } #[test] fn bindgen_test_layout_retro_input_descriptor() { assert_eq!( ::std::mem::size_of::(), 24usize, concat!("Size of: ", stringify!(retro_input_descriptor)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(retro_input_descriptor)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).port as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(retro_input_descriptor), "::", stringify!(port) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).device as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(retro_input_descriptor), "::", stringify!(device) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).index as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(retro_input_descriptor), "::", stringify!(index) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).id as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(retro_input_descriptor), "::", stringify!(id) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).description as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(retro_input_descriptor), "::", stringify!(description) ) ); } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct retro_system_info { pub library_name: *const ::std::os::raw::c_char, pub library_version: *const ::std::os::raw::c_char, pub valid_extensions: *const ::std::os::raw::c_char, pub need_fullpath: bool, pub block_extract: bool, } #[test] fn bindgen_test_layout_retro_system_info() { assert_eq!( ::std::mem::size_of::(), 32usize, concat!("Size of: ", stringify!(retro_system_info)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(retro_system_info)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).library_name as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(retro_system_info), "::", stringify!(library_name) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).library_version as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(retro_system_info), "::", stringify!(library_version) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).valid_extensions as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(retro_system_info), "::", stringify!(valid_extensions) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).need_fullpath as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(retro_system_info), "::", stringify!(need_fullpath) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).block_extract as *const _ as usize }, 25usize, concat!( "Offset of field: ", stringify!(retro_system_info), "::", stringify!(block_extract) ) ); } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct retro_game_geometry { pub base_width: ::std::os::raw::c_uint, pub base_height: ::std::os::raw::c_uint, pub max_width: ::std::os::raw::c_uint, pub max_height: ::std::os::raw::c_uint, pub aspect_ratio: f32, } #[test] fn bindgen_test_layout_retro_game_geometry() { assert_eq!( ::std::mem::size_of::(), 20usize, concat!("Size of: ", stringify!(retro_game_geometry)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(retro_game_geometry)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).base_width as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(retro_game_geometry), "::", stringify!(base_width) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).base_height as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(retro_game_geometry), "::", stringify!(base_height) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).max_width as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(retro_game_geometry), "::", stringify!(max_width) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).max_height as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(retro_game_geometry), "::", stringify!(max_height) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).aspect_ratio as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(retro_game_geometry), "::", stringify!(aspect_ratio) ) ); } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct retro_system_timing { pub fps: f64, pub sample_rate: f64, } #[test] fn bindgen_test_layout_retro_system_timing() { assert_eq!( ::std::mem::size_of::(), 16usize, concat!("Size of: ", stringify!(retro_system_timing)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(retro_system_timing)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).fps as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(retro_system_timing), "::", stringify!(fps) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).sample_rate as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(retro_system_timing), "::", stringify!(sample_rate) ) ); } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct retro_system_av_info { pub geometry: retro_game_geometry, pub timing: retro_system_timing, } #[test] fn bindgen_test_layout_retro_system_av_info() { assert_eq!( ::std::mem::size_of::(), 40usize, concat!("Size of: ", stringify!(retro_system_av_info)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(retro_system_av_info)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).geometry as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(retro_system_av_info), "::", stringify!(geometry) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).timing as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(retro_system_av_info), "::", stringify!(timing) ) ); } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct retro_variable { pub key: *const ::std::os::raw::c_char, pub value: *const ::std::os::raw::c_char, } #[test] fn bindgen_test_layout_retro_variable() { assert_eq!( ::std::mem::size_of::(), 16usize, concat!("Size of: ", stringify!(retro_variable)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(retro_variable)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).key as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(retro_variable), "::", stringify!(key) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).value as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(retro_variable), "::", stringify!(value) ) ); } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct retro_game_info { pub path: *const ::std::os::raw::c_char, pub data: *const ::std::os::raw::c_void, pub size: usize, pub meta: *const ::std::os::raw::c_char, } #[test] fn bindgen_test_layout_retro_game_info() { assert_eq!( ::std::mem::size_of::(), 32usize, concat!("Size of: ", stringify!(retro_game_info)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(retro_game_info)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).path as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(retro_game_info), "::", stringify!(path) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).data as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(retro_game_info), "::", stringify!(data) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).size as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(retro_game_info), "::", stringify!(size) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).meta as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(retro_game_info), "::", stringify!(meta) ) ); } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct retro_framebuffer { pub data: *mut ::std::os::raw::c_void, pub width: ::std::os::raw::c_uint, pub height: ::std::os::raw::c_uint, pub pitch: usize, pub format: retro_pixel_format, pub access_flags: ::std::os::raw::c_uint, pub memory_flags: ::std::os::raw::c_uint, } #[test] fn bindgen_test_layout_retro_framebuffer() { assert_eq!( ::std::mem::size_of::(), 40usize, concat!("Size of: ", stringify!(retro_framebuffer)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(retro_framebuffer)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).data as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(retro_framebuffer), "::", stringify!(data) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).width as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(retro_framebuffer), "::", stringify!(width) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).height as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(retro_framebuffer), "::", stringify!(height) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pitch as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(retro_framebuffer), "::", stringify!(pitch) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).format as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(retro_framebuffer), "::", stringify!(format) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).access_flags as *const _ as usize }, 28usize, concat!( "Offset of field: ", stringify!(retro_framebuffer), "::", stringify!(access_flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).memory_flags as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(retro_framebuffer), "::", stringify!(memory_flags) ) ); } pub type retro_environment_t = ::std::option::Option< unsafe extern "C" fn(cmd: ::std::os::raw::c_uint, data: *mut ::std::os::raw::c_void) -> bool, >; pub type retro_video_refresh_t = ::std::option::Option< unsafe extern "C" fn( data: *const ::std::os::raw::c_void, width: ::std::os::raw::c_uint, height: ::std::os::raw::c_uint, pitch: usize, ), >; pub type retro_audio_sample_t = ::std::option::Option; pub type retro_audio_sample_batch_t = ::std::option::Option usize>; pub type retro_input_poll_t = ::std::option::Option; pub type retro_input_state_t = ::std::option::Option< unsafe extern "C" fn( port: ::std::os::raw::c_uint, device: ::std::os::raw::c_uint, index: ::std::os::raw::c_uint, id: ::std::os::raw::c_uint, ) -> i16, >;