1#![allow(dead_code, non_camel_case_types, non_upper_case_globals)]
4
5use libc::size_t;
6
7pub const RETRO_API_VERSION: u32 = 1;
8pub const RETRO_DEVICE_TYPE_SHIFT: u32 = 8;
9pub const RETRO_DEVICE_MASK: u32 = 255;
10pub const RETRO_DEVICE_NONE: u32 = 0;
11pub const RETRO_DEVICE_JOYPAD: u32 = 1;
12pub const RETRO_DEVICE_MOUSE: u32 = 2;
13pub const RETRO_DEVICE_KEYBOARD: u32 = 3;
14pub const RETRO_DEVICE_LIGHTGUN: u32 = 4;
15pub const RETRO_DEVICE_ANALOG: u32 = 5;
16pub const RETRO_DEVICE_POINTER: u32 = 6;
17pub const RETRO_DEVICE_ID_JOYPAD_B: u32 = 0;
18pub const RETRO_DEVICE_ID_JOYPAD_Y: u32 = 1;
19pub const RETRO_DEVICE_ID_JOYPAD_SELECT: u32 = 2;
20pub const RETRO_DEVICE_ID_JOYPAD_START: u32 = 3;
21pub const RETRO_DEVICE_ID_JOYPAD_UP: u32 = 4;
22pub const RETRO_DEVICE_ID_JOYPAD_DOWN: u32 = 5;
23pub const RETRO_DEVICE_ID_JOYPAD_LEFT: u32 = 6;
24pub const RETRO_DEVICE_ID_JOYPAD_RIGHT: u32 = 7;
25pub const RETRO_DEVICE_ID_JOYPAD_A: u32 = 8;
26pub const RETRO_DEVICE_ID_JOYPAD_X: u32 = 9;
27pub const RETRO_DEVICE_ID_JOYPAD_L: u32 = 10;
28pub const RETRO_DEVICE_ID_JOYPAD_R: u32 = 11;
29pub const RETRO_DEVICE_ID_JOYPAD_L2: u32 = 12;
30pub const RETRO_DEVICE_ID_JOYPAD_R2: u32 = 13;
31pub const RETRO_DEVICE_ID_JOYPAD_L3: u32 = 14;
32pub const RETRO_DEVICE_ID_JOYPAD_R3: u32 = 15;
33pub const RETRO_DEVICE_ID_JOYPAD_MASK: u32 = 256;
34pub const RETRO_DEVICE_INDEX_ANALOG_LEFT: u32 = 0;
35pub const RETRO_DEVICE_INDEX_ANALOG_RIGHT: u32 = 1;
36pub const RETRO_DEVICE_INDEX_ANALOG_BUTTON: u32 = 2;
37pub const RETRO_DEVICE_ID_ANALOG_X: u32 = 0;
38pub const RETRO_DEVICE_ID_ANALOG_Y: u32 = 1;
39pub const RETRO_DEVICE_ID_MOUSE_X: u32 = 0;
40pub const RETRO_DEVICE_ID_MOUSE_Y: u32 = 1;
41pub const RETRO_DEVICE_ID_MOUSE_LEFT: u32 = 2;
42pub const RETRO_DEVICE_ID_MOUSE_RIGHT: u32 = 3;
43pub const RETRO_DEVICE_ID_MOUSE_WHEELUP: u32 = 4;
44pub const RETRO_DEVICE_ID_MOUSE_WHEELDOWN: u32 = 5;
45pub const RETRO_DEVICE_ID_MOUSE_MIDDLE: u32 = 6;
46pub const RETRO_DEVICE_ID_MOUSE_HORIZ_WHEELUP: u32 = 7;
47pub const RETRO_DEVICE_ID_MOUSE_HORIZ_WHEELDOWN: u32 = 8;
48pub const RETRO_DEVICE_ID_MOUSE_BUTTON_4: u32 = 9;
49pub const RETRO_DEVICE_ID_MOUSE_BUTTON_5: u32 = 10;
50pub const RETRO_DEVICE_ID_LIGHTGUN_SCREEN_X: u32 = 13;
51pub const RETRO_DEVICE_ID_LIGHTGUN_SCREEN_Y: u32 = 14;
52pub const RETRO_DEVICE_ID_LIGHTGUN_IS_OFFSCREEN: u32 = 15;
53pub const RETRO_DEVICE_ID_LIGHTGUN_TRIGGER: u32 = 2;
54pub const RETRO_DEVICE_ID_LIGHTGUN_RELOAD: u32 = 16;
55pub const RETRO_DEVICE_ID_LIGHTGUN_AUX_A: u32 = 3;
56pub const RETRO_DEVICE_ID_LIGHTGUN_AUX_B: u32 = 4;
57pub const RETRO_DEVICE_ID_LIGHTGUN_START: u32 = 6;
58pub const RETRO_DEVICE_ID_LIGHTGUN_SELECT: u32 = 7;
59pub const RETRO_DEVICE_ID_LIGHTGUN_AUX_C: u32 = 8;
60pub const RETRO_DEVICE_ID_LIGHTGUN_DPAD_UP: u32 = 9;
61pub const RETRO_DEVICE_ID_LIGHTGUN_DPAD_DOWN: u32 = 10;
62pub const RETRO_DEVICE_ID_LIGHTGUN_DPAD_LEFT: u32 = 11;
63pub const RETRO_DEVICE_ID_LIGHTGUN_DPAD_RIGHT: u32 = 12;
64pub const RETRO_DEVICE_ID_LIGHTGUN_X: u32 = 0;
65pub const RETRO_DEVICE_ID_LIGHTGUN_Y: u32 = 1;
66pub const RETRO_DEVICE_ID_LIGHTGUN_CURSOR: u32 = 3;
67pub const RETRO_DEVICE_ID_LIGHTGUN_TURBO: u32 = 4;
68pub const RETRO_DEVICE_ID_LIGHTGUN_PAUSE: u32 = 5;
69pub const RETRO_DEVICE_ID_POINTER_X: u32 = 0;
70pub const RETRO_DEVICE_ID_POINTER_Y: u32 = 1;
71pub const RETRO_DEVICE_ID_POINTER_PRESSED: u32 = 2;
72pub const RETRO_DEVICE_ID_POINTER_COUNT: u32 = 3;
73pub const RETRO_REGION_NTSC: u32 = 0;
74pub const RETRO_REGION_PAL: u32 = 1;
75pub const RETRO_MEMORY_MASK: u32 = 255;
76pub const RETRO_MEMORY_SAVE_RAM: u32 = 0;
77pub const RETRO_MEMORY_RTC: u32 = 1;
78pub const RETRO_MEMORY_SYSTEM_RAM: u32 = 2;
79pub const RETRO_MEMORY_VIDEO_RAM: u32 = 3;
80pub const RETRO_ENVIRONMENT_EXPERIMENTAL: u32 = 65536;
81pub const RETRO_ENVIRONMENT_PRIVATE: u32 = 131072;
82pub const RETRO_ENVIRONMENT_SET_ROTATION: u32 = 1;
83pub const RETRO_ENVIRONMENT_GET_OVERSCAN: u32 = 2;
84pub const RETRO_ENVIRONMENT_GET_CAN_DUPE: u32 = 3;
85pub const RETRO_ENVIRONMENT_SET_MESSAGE: u32 = 6;
86pub const RETRO_ENVIRONMENT_SHUTDOWN: u32 = 7;
87pub const RETRO_ENVIRONMENT_SET_PERFORMANCE_LEVEL: u32 = 8;
88pub const RETRO_ENVIRONMENT_GET_SYSTEM_DIRECTORY: u32 = 9;
89pub const RETRO_ENVIRONMENT_SET_PIXEL_FORMAT: u32 = 10;
90pub const RETRO_ENVIRONMENT_SET_INPUT_DESCRIPTORS: u32 = 11;
91pub const RETRO_ENVIRONMENT_SET_KEYBOARD_CALLBACK: u32 = 12;
92pub const RETRO_ENVIRONMENT_SET_DISK_CONTROL_INTERFACE: u32 = 13;
93pub const RETRO_ENVIRONMENT_SET_HW_RENDER: u32 = 14;
94pub const RETRO_ENVIRONMENT_GET_VARIABLE: u32 = 15;
95pub const RETRO_ENVIRONMENT_SET_VARIABLES: u32 = 16;
96pub const RETRO_ENVIRONMENT_GET_VARIABLE_UPDATE: u32 = 17;
97pub const RETRO_ENVIRONMENT_SET_SUPPORT_NO_GAME: u32 = 18;
98pub const RETRO_ENVIRONMENT_GET_LIBRETRO_PATH: u32 = 19;
99pub const RETRO_ENVIRONMENT_SET_FRAME_TIME_CALLBACK: u32 = 21;
100pub const RETRO_ENVIRONMENT_SET_AUDIO_CALLBACK: u32 = 22;
101pub const RETRO_ENVIRONMENT_GET_RUMBLE_INTERFACE: u32 = 23;
102pub const RETRO_ENVIRONMENT_GET_INPUT_DEVICE_CAPABILITIES: u32 = 24;
103pub const RETRO_ENVIRONMENT_GET_SENSOR_INTERFACE: u32 = 65561;
104pub const RETRO_ENVIRONMENT_GET_CAMERA_INTERFACE: u32 = 65562;
105pub const RETRO_ENVIRONMENT_GET_LOG_INTERFACE: u32 = 27;
106pub const RETRO_ENVIRONMENT_GET_PERF_INTERFACE: u32 = 28;
107pub const RETRO_ENVIRONMENT_GET_LOCATION_INTERFACE: u32 = 29;
108pub const RETRO_ENVIRONMENT_GET_CONTENT_DIRECTORY: u32 = 30;
109pub const RETRO_ENVIRONMENT_GET_CORE_ASSETS_DIRECTORY: u32 = 30;
110pub const RETRO_ENVIRONMENT_GET_SAVE_DIRECTORY: u32 = 31;
111pub const RETRO_ENVIRONMENT_SET_SYSTEM_AV_INFO: u32 = 32;
112pub const RETRO_ENVIRONMENT_SET_PROC_ADDRESS_CALLBACK: u32 = 33;
113pub const RETRO_ENVIRONMENT_SET_SUBSYSTEM_INFO: u32 = 34;
114pub const RETRO_ENVIRONMENT_SET_CONTROLLER_INFO: u32 = 35;
115pub const RETRO_ENVIRONMENT_SET_MEMORY_MAPS: u32 = 65572;
116pub const RETRO_ENVIRONMENT_SET_GEOMETRY: u32 = 37;
117pub const RETRO_ENVIRONMENT_GET_USERNAME: u32 = 38;
118pub const RETRO_ENVIRONMENT_GET_LANGUAGE: u32 = 39;
119pub const RETRO_ENVIRONMENT_GET_CURRENT_SOFTWARE_FRAMEBUFFER: u32 = 65576;
120pub const RETRO_ENVIRONMENT_GET_HW_RENDER_INTERFACE: u32 = 65577;
121pub const RETRO_ENVIRONMENT_SET_SUPPORT_ACHIEVEMENTS: u32 = 65578;
122pub const RETRO_ENVIRONMENT_SET_HW_RENDER_CONTEXT_NEGOTIATION_INTERFACE: u32 = 65579;
123pub const RETRO_ENVIRONMENT_SET_SERIALIZATION_QUIRKS: u32 = 44;
124pub const RETRO_ENVIRONMENT_SET_HW_SHARED_CONTEXT: u32 = 65580;
125pub const RETRO_ENVIRONMENT_GET_VFS_INTERFACE: u32 = 65581;
126pub const RETRO_ENVIRONMENT_GET_LED_INTERFACE: u32 = 65582;
127pub const RETRO_ENVIRONMENT_GET_AUDIO_VIDEO_ENABLE: u32 = 65583;
128pub const RETRO_ENVIRONMENT_GET_MIDI_INTERFACE: u32 = 65584;
129pub const RETRO_ENVIRONMENT_GET_FASTFORWARDING: u32 = 65585;
130pub const RETRO_ENVIRONMENT_GET_TARGET_REFRESH_RATE: u32 = 65586;
131pub const RETRO_ENVIRONMENT_GET_INPUT_BITMASKS: u32 = 65587;
132pub const RETRO_ENVIRONMENT_GET_CORE_OPTIONS_VERSION: u32 = 52;
133pub const RETRO_ENVIRONMENT_SET_CORE_OPTIONS: u32 = 53;
134pub const RETRO_ENVIRONMENT_SET_CORE_OPTIONS_INTL: u32 = 54;
135pub const RETRO_ENVIRONMENT_SET_CORE_OPTIONS_DISPLAY: u32 = 55;
136pub const RETRO_ENVIRONMENT_GET_PREFERRED_HW_RENDER: u32 = 56;
137pub const RETRO_ENVIRONMENT_GET_DISK_CONTROL_INTERFACE_VERSION: u32 = 57;
138pub const RETRO_ENVIRONMENT_SET_DISK_CONTROL_EXT_INTERFACE: u32 = 58;
139pub const RETRO_ENVIRONMENT_GET_MESSAGE_INTERFACE_VERSION: u32 = 59;
140pub const RETRO_ENVIRONMENT_SET_MESSAGE_EXT: u32 = 60;
141pub const RETRO_ENVIRONMENT_GET_INPUT_MAX_USERS: u32 = 61;
142pub const RETRO_ENVIRONMENT_SET_AUDIO_BUFFER_STATUS_CALLBACK: u32 = 62;
143pub const RETRO_ENVIRONMENT_SET_MINIMUM_AUDIO_LATENCY: u32 = 63;
144pub const RETRO_ENVIRONMENT_SET_FASTFORWARDING_OVERRIDE: u32 = 64;
145pub const RETRO_ENVIRONMENT_SET_CONTENT_INFO_OVERRIDE: u32 = 65;
146pub const RETRO_ENVIRONMENT_GET_GAME_INFO_EXT: u32 = 66;
147pub const RETRO_ENVIRONMENT_SET_CORE_OPTIONS_V2: u32 = 67;
148pub const RETRO_ENVIRONMENT_SET_CORE_OPTIONS_V2_INTL: u32 = 68;
149pub const RETRO_ENVIRONMENT_SET_CORE_OPTIONS_UPDATE_DISPLAY_CALLBACK: u32 = 69;
150pub const RETRO_VFS_FILE_ACCESS_READ: u32 = 1;
151pub const RETRO_VFS_FILE_ACCESS_WRITE: u32 = 2;
152pub const RETRO_VFS_FILE_ACCESS_READ_WRITE: u32 = 3;
153pub const RETRO_VFS_FILE_ACCESS_UPDATE_EXISTING: u32 = 4;
154pub const RETRO_VFS_FILE_ACCESS_HINT_NONE: u32 = 0;
155pub const RETRO_VFS_FILE_ACCESS_HINT_FREQUENT_ACCESS: u32 = 1;
156pub const RETRO_VFS_SEEK_POSITION_START: u32 = 0;
157pub const RETRO_VFS_SEEK_POSITION_CURRENT: u32 = 1;
158pub const RETRO_VFS_SEEK_POSITION_END: u32 = 2;
159pub const RETRO_VFS_STAT_IS_VALID: u32 = 1;
160pub const RETRO_VFS_STAT_IS_DIRECTORY: u32 = 2;
161pub const RETRO_VFS_STAT_IS_CHARACTER_SPECIAL: u32 = 4;
162pub const RETRO_SERIALIZATION_QUIRK_INCOMPLETE: u32 = 1;
163pub const RETRO_SERIALIZATION_QUIRK_MUST_INITIALIZE: u32 = 2;
164pub const RETRO_SERIALIZATION_QUIRK_CORE_VARIABLE_SIZE: u32 = 4;
165pub const RETRO_SERIALIZATION_QUIRK_FRONT_VARIABLE_SIZE: u32 = 8;
166pub const RETRO_SERIALIZATION_QUIRK_SINGLE_SESSION: u32 = 16;
167pub const RETRO_SERIALIZATION_QUIRK_ENDIAN_DEPENDENT: u32 = 32;
168pub const RETRO_SERIALIZATION_QUIRK_PLATFORM_DEPENDENT: u32 = 64;
169pub const RETRO_MEMDESC_CONST: u32 = 1;
170pub const RETRO_MEMDESC_BIGENDIAN: u32 = 2;
171pub const RETRO_MEMDESC_SYSTEM_RAM: u32 = 4;
172pub const RETRO_MEMDESC_SAVE_RAM: u32 = 8;
173pub const RETRO_MEMDESC_VIDEO_RAM: u32 = 16;
174pub const RETRO_MEMDESC_ALIGN_2: u32 = 65536;
175pub const RETRO_MEMDESC_ALIGN_4: u32 = 131072;
176pub const RETRO_MEMDESC_ALIGN_8: u32 = 196608;
177pub const RETRO_MEMDESC_MINSIZE_2: u32 = 16777216;
178pub const RETRO_MEMDESC_MINSIZE_4: u32 = 33554432;
179pub const RETRO_MEMDESC_MINSIZE_8: u32 = 50331648;
180pub const RETRO_SIMD_SSE: u32 = 1;
181pub const RETRO_SIMD_SSE2: u32 = 2;
182pub const RETRO_SIMD_VMX: u32 = 4;
183pub const RETRO_SIMD_VMX128: u32 = 8;
184pub const RETRO_SIMD_AVX: u32 = 16;
185pub const RETRO_SIMD_NEON: u32 = 32;
186pub const RETRO_SIMD_SSE3: u32 = 64;
187pub const RETRO_SIMD_SSSE3: u32 = 128;
188pub const RETRO_SIMD_MMX: u32 = 256;
189pub const RETRO_SIMD_MMXEXT: u32 = 512;
190pub const RETRO_SIMD_SSE4: u32 = 1024;
191pub const RETRO_SIMD_SSE42: u32 = 2048;
192pub const RETRO_SIMD_AVX2: u32 = 4096;
193pub const RETRO_SIMD_VFPU: u32 = 8192;
194pub const RETRO_SIMD_PS: u32 = 16384;
195pub const RETRO_SIMD_AES: u32 = 32768;
196pub const RETRO_SIMD_VFPV3: u32 = 65536;
197pub const RETRO_SIMD_VFPV4: u32 = 131072;
198pub const RETRO_SIMD_POPCNT: u32 = 262144;
199pub const RETRO_SIMD_MOVBE: u32 = 524288;
200pub const RETRO_SIMD_CMOV: u32 = 1048576;
201pub const RETRO_SIMD_ASIMD: u32 = 2097152;
202pub const RETRO_SENSOR_ACCELEROMETER_X: u32 = 0;
203pub const RETRO_SENSOR_ACCELEROMETER_Y: u32 = 1;
204pub const RETRO_SENSOR_ACCELEROMETER_Z: u32 = 2;
205pub const RETRO_SENSOR_GYROSCOPE_X: u32 = 3;
206pub const RETRO_SENSOR_GYROSCOPE_Y: u32 = 4;
207pub const RETRO_SENSOR_GYROSCOPE_Z: u32 = 5;
208pub const RETRO_SENSOR_ILLUMINANCE: u32 = 6;
209pub const RETRO_NUM_CORE_OPTION_VALUES_MAX: u32 = 128;
210pub const RETRO_MEMORY_ACCESS_WRITE: u32 = 1;
211pub const RETRO_MEMORY_ACCESS_READ: u32 = 2;
212pub const RETRO_MEMORY_TYPE_CACHED: u32 = 1;
213
214pub const retro_language_RETRO_LANGUAGE_ENGLISH: retro_language = 0;
215pub const retro_language_RETRO_LANGUAGE_JAPANESE: retro_language = 1;
216pub const retro_language_RETRO_LANGUAGE_FRENCH: retro_language = 2;
217pub const retro_language_RETRO_LANGUAGE_SPANISH: retro_language = 3;
218pub const retro_language_RETRO_LANGUAGE_GERMAN: retro_language = 4;
219pub const retro_language_RETRO_LANGUAGE_ITALIAN: retro_language = 5;
220pub const retro_language_RETRO_LANGUAGE_DUTCH: retro_language = 6;
221pub const retro_language_RETRO_LANGUAGE_PORTUGUESE_BRAZIL: retro_language = 7;
222pub const retro_language_RETRO_LANGUAGE_PORTUGUESE_PORTUGAL: retro_language = 8;
223pub const retro_language_RETRO_LANGUAGE_RUSSIAN: retro_language = 9;
224pub const retro_language_RETRO_LANGUAGE_KOREAN: retro_language = 10;
225pub const retro_language_RETRO_LANGUAGE_CHINESE_TRADITIONAL: retro_language = 11;
226pub const retro_language_RETRO_LANGUAGE_CHINESE_SIMPLIFIED: retro_language = 12;
227pub const retro_language_RETRO_LANGUAGE_ESPERANTO: retro_language = 13;
228pub const retro_language_RETRO_LANGUAGE_POLISH: retro_language = 14;
229pub const retro_language_RETRO_LANGUAGE_VIETNAMESE: retro_language = 15;
230pub const retro_language_RETRO_LANGUAGE_ARABIC: retro_language = 16;
231pub const retro_language_RETRO_LANGUAGE_GREEK: retro_language = 17;
232pub const retro_language_RETRO_LANGUAGE_TURKISH: retro_language = 18;
233pub const retro_language_RETRO_LANGUAGE_SLOVAK: retro_language = 19;
234pub const retro_language_RETRO_LANGUAGE_PERSIAN: retro_language = 20;
235pub const retro_language_RETRO_LANGUAGE_HEBREW: retro_language = 21;
236pub const retro_language_RETRO_LANGUAGE_ASTURIAN: retro_language = 22;
237pub const retro_language_RETRO_LANGUAGE_FINNISH: retro_language = 23;
238pub const retro_language_RETRO_LANGUAGE_LAST: retro_language = 24;
239pub const retro_language_RETRO_LANGUAGE_DUMMY: retro_language = 2147483647;
240pub type retro_language = ::std::os::raw::c_uint;
241pub const retro_key_RETROK_UNKNOWN: retro_key = 0;
242pub const retro_key_RETROK_FIRST: retro_key = 0;
243pub const retro_key_RETROK_BACKSPACE: retro_key = 8;
244pub const retro_key_RETROK_TAB: retro_key = 9;
245pub const retro_key_RETROK_CLEAR: retro_key = 12;
246pub const retro_key_RETROK_RETURN: retro_key = 13;
247pub const retro_key_RETROK_PAUSE: retro_key = 19;
248pub const retro_key_RETROK_ESCAPE: retro_key = 27;
249pub const retro_key_RETROK_SPACE: retro_key = 32;
250pub const retro_key_RETROK_EXCLAIM: retro_key = 33;
251pub const retro_key_RETROK_QUOTEDBL: retro_key = 34;
252pub const retro_key_RETROK_HASH: retro_key = 35;
253pub const retro_key_RETROK_DOLLAR: retro_key = 36;
254pub const retro_key_RETROK_AMPERSAND: retro_key = 38;
255pub const retro_key_RETROK_QUOTE: retro_key = 39;
256pub const retro_key_RETROK_LEFTPAREN: retro_key = 40;
257pub const retro_key_RETROK_RIGHTPAREN: retro_key = 41;
258pub const retro_key_RETROK_ASTERISK: retro_key = 42;
259pub const retro_key_RETROK_PLUS: retro_key = 43;
260pub const retro_key_RETROK_COMMA: retro_key = 44;
261pub const retro_key_RETROK_MINUS: retro_key = 45;
262pub const retro_key_RETROK_PERIOD: retro_key = 46;
263pub const retro_key_RETROK_SLASH: retro_key = 47;
264pub const retro_key_RETROK_0: retro_key = 48;
265pub const retro_key_RETROK_1: retro_key = 49;
266pub const retro_key_RETROK_2: retro_key = 50;
267pub const retro_key_RETROK_3: retro_key = 51;
268pub const retro_key_RETROK_4: retro_key = 52;
269pub const retro_key_RETROK_5: retro_key = 53;
270pub const retro_key_RETROK_6: retro_key = 54;
271pub const retro_key_RETROK_7: retro_key = 55;
272pub const retro_key_RETROK_8: retro_key = 56;
273pub const retro_key_RETROK_9: retro_key = 57;
274pub const retro_key_RETROK_COLON: retro_key = 58;
275pub const retro_key_RETROK_SEMICOLON: retro_key = 59;
276pub const retro_key_RETROK_LESS: retro_key = 60;
277pub const retro_key_RETROK_EQUALS: retro_key = 61;
278pub const retro_key_RETROK_GREATER: retro_key = 62;
279pub const retro_key_RETROK_QUESTION: retro_key = 63;
280pub const retro_key_RETROK_AT: retro_key = 64;
281pub const retro_key_RETROK_LEFTBRACKET: retro_key = 91;
282pub const retro_key_RETROK_BACKSLASH: retro_key = 92;
283pub const retro_key_RETROK_RIGHTBRACKET: retro_key = 93;
284pub const retro_key_RETROK_CARET: retro_key = 94;
285pub const retro_key_RETROK_UNDERSCORE: retro_key = 95;
286pub const retro_key_RETROK_BACKQUOTE: retro_key = 96;
287pub const retro_key_RETROK_a: retro_key = 97;
288pub const retro_key_RETROK_b: retro_key = 98;
289pub const retro_key_RETROK_c: retro_key = 99;
290pub const retro_key_RETROK_d: retro_key = 100;
291pub const retro_key_RETROK_e: retro_key = 101;
292pub const retro_key_RETROK_f: retro_key = 102;
293pub const retro_key_RETROK_g: retro_key = 103;
294pub const retro_key_RETROK_h: retro_key = 104;
295pub const retro_key_RETROK_i: retro_key = 105;
296pub const retro_key_RETROK_j: retro_key = 106;
297pub const retro_key_RETROK_k: retro_key = 107;
298pub const retro_key_RETROK_l: retro_key = 108;
299pub const retro_key_RETROK_m: retro_key = 109;
300pub const retro_key_RETROK_n: retro_key = 110;
301pub const retro_key_RETROK_o: retro_key = 111;
302pub const retro_key_RETROK_p: retro_key = 112;
303pub const retro_key_RETROK_q: retro_key = 113;
304pub const retro_key_RETROK_r: retro_key = 114;
305pub const retro_key_RETROK_s: retro_key = 115;
306pub const retro_key_RETROK_t: retro_key = 116;
307pub const retro_key_RETROK_u: retro_key = 117;
308pub const retro_key_RETROK_v: retro_key = 118;
309pub const retro_key_RETROK_w: retro_key = 119;
310pub const retro_key_RETROK_x: retro_key = 120;
311pub const retro_key_RETROK_y: retro_key = 121;
312pub const retro_key_RETROK_z: retro_key = 122;
313pub const retro_key_RETROK_LEFTBRACE: retro_key = 123;
314pub const retro_key_RETROK_BAR: retro_key = 124;
315pub const retro_key_RETROK_RIGHTBRACE: retro_key = 125;
316pub const retro_key_RETROK_TILDE: retro_key = 126;
317pub const retro_key_RETROK_DELETE: retro_key = 127;
318pub const retro_key_RETROK_KP0: retro_key = 256;
319pub const retro_key_RETROK_KP1: retro_key = 257;
320pub const retro_key_RETROK_KP2: retro_key = 258;
321pub const retro_key_RETROK_KP3: retro_key = 259;
322pub const retro_key_RETROK_KP4: retro_key = 260;
323pub const retro_key_RETROK_KP5: retro_key = 261;
324pub const retro_key_RETROK_KP6: retro_key = 262;
325pub const retro_key_RETROK_KP7: retro_key = 263;
326pub const retro_key_RETROK_KP8: retro_key = 264;
327pub const retro_key_RETROK_KP9: retro_key = 265;
328pub const retro_key_RETROK_KP_PERIOD: retro_key = 266;
329pub const retro_key_RETROK_KP_DIVIDE: retro_key = 267;
330pub const retro_key_RETROK_KP_MULTIPLY: retro_key = 268;
331pub const retro_key_RETROK_KP_MINUS: retro_key = 269;
332pub const retro_key_RETROK_KP_PLUS: retro_key = 270;
333pub const retro_key_RETROK_KP_ENTER: retro_key = 271;
334pub const retro_key_RETROK_KP_EQUALS: retro_key = 272;
335pub const retro_key_RETROK_UP: retro_key = 273;
336pub const retro_key_RETROK_DOWN: retro_key = 274;
337pub const retro_key_RETROK_RIGHT: retro_key = 275;
338pub const retro_key_RETROK_LEFT: retro_key = 276;
339pub const retro_key_RETROK_INSERT: retro_key = 277;
340pub const retro_key_RETROK_HOME: retro_key = 278;
341pub const retro_key_RETROK_END: retro_key = 279;
342pub const retro_key_RETROK_PAGEUP: retro_key = 280;
343pub const retro_key_RETROK_PAGEDOWN: retro_key = 281;
344pub const retro_key_RETROK_F1: retro_key = 282;
345pub const retro_key_RETROK_F2: retro_key = 283;
346pub const retro_key_RETROK_F3: retro_key = 284;
347pub const retro_key_RETROK_F4: retro_key = 285;
348pub const retro_key_RETROK_F5: retro_key = 286;
349pub const retro_key_RETROK_F6: retro_key = 287;
350pub const retro_key_RETROK_F7: retro_key = 288;
351pub const retro_key_RETROK_F8: retro_key = 289;
352pub const retro_key_RETROK_F9: retro_key = 290;
353pub const retro_key_RETROK_F10: retro_key = 291;
354pub const retro_key_RETROK_F11: retro_key = 292;
355pub const retro_key_RETROK_F12: retro_key = 293;
356pub const retro_key_RETROK_F13: retro_key = 294;
357pub const retro_key_RETROK_F14: retro_key = 295;
358pub const retro_key_RETROK_F15: retro_key = 296;
359pub const retro_key_RETROK_NUMLOCK: retro_key = 300;
360pub const retro_key_RETROK_CAPSLOCK: retro_key = 301;
361pub const retro_key_RETROK_SCROLLOCK: retro_key = 302;
362pub const retro_key_RETROK_RSHIFT: retro_key = 303;
363pub const retro_key_RETROK_LSHIFT: retro_key = 304;
364pub const retro_key_RETROK_RCTRL: retro_key = 305;
365pub const retro_key_RETROK_LCTRL: retro_key = 306;
366pub const retro_key_RETROK_RALT: retro_key = 307;
367pub const retro_key_RETROK_LALT: retro_key = 308;
368pub const retro_key_RETROK_RMETA: retro_key = 309;
369pub const retro_key_RETROK_LMETA: retro_key = 310;
370pub const retro_key_RETROK_LSUPER: retro_key = 311;
371pub const retro_key_RETROK_RSUPER: retro_key = 312;
372pub const retro_key_RETROK_MODE: retro_key = 313;
373pub const retro_key_RETROK_COMPOSE: retro_key = 314;
374pub const retro_key_RETROK_HELP: retro_key = 315;
375pub const retro_key_RETROK_PRINT: retro_key = 316;
376pub const retro_key_RETROK_SYSREQ: retro_key = 317;
377pub const retro_key_RETROK_BREAK: retro_key = 318;
378pub const retro_key_RETROK_MENU: retro_key = 319;
379pub const retro_key_RETROK_POWER: retro_key = 320;
380pub const retro_key_RETROK_EURO: retro_key = 321;
381pub const retro_key_RETROK_UNDO: retro_key = 322;
382pub const retro_key_RETROK_OEM_102: retro_key = 323;
383pub const retro_key_RETROK_LAST: retro_key = 324;
384pub const retro_key_RETROK_DUMMY: retro_key = 2147483647;
385pub type retro_key = ::std::os::raw::c_uint;
386pub const retro_mod_RETROKMOD_NONE: retro_mod = 0;
387pub const retro_mod_RETROKMOD_SHIFT: retro_mod = 1;
388pub const retro_mod_RETROKMOD_CTRL: retro_mod = 2;
389pub const retro_mod_RETROKMOD_ALT: retro_mod = 4;
390pub const retro_mod_RETROKMOD_META: retro_mod = 8;
391pub const retro_mod_RETROKMOD_NUMLOCK: retro_mod = 16;
392pub const retro_mod_RETROKMOD_CAPSLOCK: retro_mod = 32;
393pub const retro_mod_RETROKMOD_SCROLLOCK: retro_mod = 64;
394pub const retro_mod_RETROKMOD_DUMMY: retro_mod = 2147483647;
395pub type retro_mod = ::std::os::raw::c_uint;
396#[repr(C)]
397#[derive(Debug, Copy, Clone)]
398pub struct retro_vfs_file_handle {
399 _unused: [u8; 0],
400}
401#[repr(C)]
402#[derive(Debug, Copy, Clone)]
403pub struct retro_vfs_dir_handle {
404 _unused: [u8; 0],
405}
406pub type retro_vfs_get_path_t = ::std::option::Option<
407 unsafe extern "C" fn(stream: *mut retro_vfs_file_handle) -> *const ::std::os::raw::c_char,
408>;
409pub type retro_vfs_open_t = ::std::option::Option<
410 unsafe extern "C" fn(
411 path: *const ::std::os::raw::c_char,
412 mode: ::std::os::raw::c_uint,
413 hints: ::std::os::raw::c_uint,
414 ) -> *mut retro_vfs_file_handle,
415>;
416pub type retro_vfs_close_t = ::std::option::Option<
417 unsafe extern "C" fn(stream: *mut retro_vfs_file_handle) -> ::std::os::raw::c_int,
418>;
419pub type retro_vfs_size_t =
420 ::std::option::Option<unsafe extern "C" fn(stream: *mut retro_vfs_file_handle) -> i64>;
421pub type retro_vfs_truncate_t = ::std::option::Option<
422 unsafe extern "C" fn(stream: *mut retro_vfs_file_handle, length: i64) -> i64,
423>;
424pub type retro_vfs_tell_t =
425 ::std::option::Option<unsafe extern "C" fn(stream: *mut retro_vfs_file_handle) -> i64>;
426pub type retro_vfs_seek_t = ::std::option::Option<
427 unsafe extern "C" fn(
428 stream: *mut retro_vfs_file_handle,
429 offset: i64,
430 seek_position: ::std::os::raw::c_int,
431 ) -> i64,
432>;
433pub type retro_vfs_read_t = ::std::option::Option<
434 unsafe extern "C" fn(
435 stream: *mut retro_vfs_file_handle,
436 s: *mut ::std::os::raw::c_void,
437 len: u64,
438 ) -> i64,
439>;
440pub type retro_vfs_write_t = ::std::option::Option<
441 unsafe extern "C" fn(
442 stream: *mut retro_vfs_file_handle,
443 s: *const ::std::os::raw::c_void,
444 len: u64,
445 ) -> i64,
446>;
447pub type retro_vfs_flush_t = ::std::option::Option<
448 unsafe extern "C" fn(stream: *mut retro_vfs_file_handle) -> ::std::os::raw::c_int,
449>;
450pub type retro_vfs_remove_t = ::std::option::Option<
451 unsafe extern "C" fn(path: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int,
452>;
453pub type retro_vfs_rename_t = ::std::option::Option<
454 unsafe extern "C" fn(
455 old_path: *const ::std::os::raw::c_char,
456 new_path: *const ::std::os::raw::c_char,
457 ) -> ::std::os::raw::c_int,
458>;
459pub type retro_vfs_stat_t = ::std::option::Option<
460 unsafe extern "C" fn(
461 path: *const ::std::os::raw::c_char,
462 size: *mut i32,
463 ) -> ::std::os::raw::c_int,
464>;
465pub type retro_vfs_mkdir_t = ::std::option::Option<
466 unsafe extern "C" fn(dir: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int,
467>;
468pub type retro_vfs_opendir_t = ::std::option::Option<
469 unsafe extern "C" fn(
470 dir: *const ::std::os::raw::c_char,
471 include_hidden: bool,
472 ) -> *mut retro_vfs_dir_handle,
473>;
474pub type retro_vfs_readdir_t =
475 ::std::option::Option<unsafe extern "C" fn(dirstream: *mut retro_vfs_dir_handle) -> bool>;
476pub type retro_vfs_dirent_get_name_t = ::std::option::Option<
477 unsafe extern "C" fn(dirstream: *mut retro_vfs_dir_handle) -> *const ::std::os::raw::c_char,
478>;
479pub type retro_vfs_dirent_is_dir_t =
480 ::std::option::Option<unsafe extern "C" fn(dirstream: *mut retro_vfs_dir_handle) -> bool>;
481pub type retro_vfs_closedir_t = ::std::option::Option<
482 unsafe extern "C" fn(dirstream: *mut retro_vfs_dir_handle) -> ::std::os::raw::c_int,
483>;
484#[repr(C)]
485#[derive(Debug, Copy, Clone)]
486pub struct retro_vfs_interface {
487 pub get_path: retro_vfs_get_path_t,
488 pub open: retro_vfs_open_t,
489 pub close: retro_vfs_close_t,
490 pub size: retro_vfs_size_t,
491 pub tell: retro_vfs_tell_t,
492 pub seek: retro_vfs_seek_t,
493 pub read: retro_vfs_read_t,
494 pub write: retro_vfs_write_t,
495 pub flush: retro_vfs_flush_t,
496 pub remove: retro_vfs_remove_t,
497 pub rename: retro_vfs_rename_t,
498 pub truncate: retro_vfs_truncate_t,
499 pub stat: retro_vfs_stat_t,
500 pub mkdir: retro_vfs_mkdir_t,
501 pub opendir: retro_vfs_opendir_t,
502 pub readdir: retro_vfs_readdir_t,
503 pub dirent_get_name: retro_vfs_dirent_get_name_t,
504 pub dirent_is_dir: retro_vfs_dirent_is_dir_t,
505 pub closedir: retro_vfs_closedir_t,
506}
507#[test]
508fn bindgen_test_layout_retro_vfs_interface() {
509 assert_eq!(
510 ::std::mem::size_of::<retro_vfs_interface>(),
511 152usize,
512 concat!("Size of: ", stringify!(retro_vfs_interface))
513 );
514 assert_eq!(
515 ::std::mem::align_of::<retro_vfs_interface>(),
516 8usize,
517 concat!("Alignment of ", stringify!(retro_vfs_interface))
518 );
519 assert_eq!(
520 unsafe { &(*(::std::ptr::null::<retro_vfs_interface>())).get_path as *const _ as usize },
521 0usize,
522 concat!(
523 "Offset of field: ",
524 stringify!(retro_vfs_interface),
525 "::",
526 stringify!(get_path)
527 )
528 );
529 assert_eq!(
530 unsafe { &(*(::std::ptr::null::<retro_vfs_interface>())).open as *const _ as usize },
531 8usize,
532 concat!(
533 "Offset of field: ",
534 stringify!(retro_vfs_interface),
535 "::",
536 stringify!(open)
537 )
538 );
539 assert_eq!(
540 unsafe { &(*(::std::ptr::null::<retro_vfs_interface>())).close as *const _ as usize },
541 16usize,
542 concat!(
543 "Offset of field: ",
544 stringify!(retro_vfs_interface),
545 "::",
546 stringify!(close)
547 )
548 );
549 assert_eq!(
550 unsafe { &(*(::std::ptr::null::<retro_vfs_interface>())).size as *const _ as usize },
551 24usize,
552 concat!(
553 "Offset of field: ",
554 stringify!(retro_vfs_interface),
555 "::",
556 stringify!(size)
557 )
558 );
559 assert_eq!(
560 unsafe { &(*(::std::ptr::null::<retro_vfs_interface>())).tell as *const _ as usize },
561 32usize,
562 concat!(
563 "Offset of field: ",
564 stringify!(retro_vfs_interface),
565 "::",
566 stringify!(tell)
567 )
568 );
569 assert_eq!(
570 unsafe { &(*(::std::ptr::null::<retro_vfs_interface>())).seek as *const _ as usize },
571 40usize,
572 concat!(
573 "Offset of field: ",
574 stringify!(retro_vfs_interface),
575 "::",
576 stringify!(seek)
577 )
578 );
579 assert_eq!(
580 unsafe { &(*(::std::ptr::null::<retro_vfs_interface>())).read as *const _ as usize },
581 48usize,
582 concat!(
583 "Offset of field: ",
584 stringify!(retro_vfs_interface),
585 "::",
586 stringify!(read)
587 )
588 );
589 assert_eq!(
590 unsafe { &(*(::std::ptr::null::<retro_vfs_interface>())).write as *const _ as usize },
591 56usize,
592 concat!(
593 "Offset of field: ",
594 stringify!(retro_vfs_interface),
595 "::",
596 stringify!(write)
597 )
598 );
599 assert_eq!(
600 unsafe { &(*(::std::ptr::null::<retro_vfs_interface>())).flush as *const _ as usize },
601 64usize,
602 concat!(
603 "Offset of field: ",
604 stringify!(retro_vfs_interface),
605 "::",
606 stringify!(flush)
607 )
608 );
609 assert_eq!(
610 unsafe { &(*(::std::ptr::null::<retro_vfs_interface>())).remove as *const _ as usize },
611 72usize,
612 concat!(
613 "Offset of field: ",
614 stringify!(retro_vfs_interface),
615 "::",
616 stringify!(remove)
617 )
618 );
619 assert_eq!(
620 unsafe { &(*(::std::ptr::null::<retro_vfs_interface>())).rename as *const _ as usize },
621 80usize,
622 concat!(
623 "Offset of field: ",
624 stringify!(retro_vfs_interface),
625 "::",
626 stringify!(rename)
627 )
628 );
629 assert_eq!(
630 unsafe { &(*(::std::ptr::null::<retro_vfs_interface>())).truncate as *const _ as usize },
631 88usize,
632 concat!(
633 "Offset of field: ",
634 stringify!(retro_vfs_interface),
635 "::",
636 stringify!(truncate)
637 )
638 );
639 assert_eq!(
640 unsafe { &(*(::std::ptr::null::<retro_vfs_interface>())).stat as *const _ as usize },
641 96usize,
642 concat!(
643 "Offset of field: ",
644 stringify!(retro_vfs_interface),
645 "::",
646 stringify!(stat)
647 )
648 );
649 assert_eq!(
650 unsafe { &(*(::std::ptr::null::<retro_vfs_interface>())).mkdir as *const _ as usize },
651 104usize,
652 concat!(
653 "Offset of field: ",
654 stringify!(retro_vfs_interface),
655 "::",
656 stringify!(mkdir)
657 )
658 );
659 assert_eq!(
660 unsafe { &(*(::std::ptr::null::<retro_vfs_interface>())).opendir as *const _ as usize },
661 112usize,
662 concat!(
663 "Offset of field: ",
664 stringify!(retro_vfs_interface),
665 "::",
666 stringify!(opendir)
667 )
668 );
669 assert_eq!(
670 unsafe { &(*(::std::ptr::null::<retro_vfs_interface>())).readdir as *const _ as usize },
671 120usize,
672 concat!(
673 "Offset of field: ",
674 stringify!(retro_vfs_interface),
675 "::",
676 stringify!(readdir)
677 )
678 );
679 assert_eq!(
680 unsafe {
681 &(*(::std::ptr::null::<retro_vfs_interface>())).dirent_get_name as *const _ as usize
682 },
683 128usize,
684 concat!(
685 "Offset of field: ",
686 stringify!(retro_vfs_interface),
687 "::",
688 stringify!(dirent_get_name)
689 )
690 );
691 assert_eq!(
692 unsafe {
693 &(*(::std::ptr::null::<retro_vfs_interface>())).dirent_is_dir as *const _ as usize
694 },
695 136usize,
696 concat!(
697 "Offset of field: ",
698 stringify!(retro_vfs_interface),
699 "::",
700 stringify!(dirent_is_dir)
701 )
702 );
703 assert_eq!(
704 unsafe { &(*(::std::ptr::null::<retro_vfs_interface>())).closedir as *const _ as usize },
705 144usize,
706 concat!(
707 "Offset of field: ",
708 stringify!(retro_vfs_interface),
709 "::",
710 stringify!(closedir)
711 )
712 );
713}
714#[repr(C)]
715#[derive(Debug, Copy, Clone)]
716pub struct retro_vfs_interface_info {
717 pub required_interface_version: u32,
718 pub iface: *mut retro_vfs_interface,
719}
720#[test]
721fn bindgen_test_layout_retro_vfs_interface_info() {
722 assert_eq!(
723 ::std::mem::size_of::<retro_vfs_interface_info>(),
724 16usize,
725 concat!("Size of: ", stringify!(retro_vfs_interface_info))
726 );
727 assert_eq!(
728 ::std::mem::align_of::<retro_vfs_interface_info>(),
729 8usize,
730 concat!("Alignment of ", stringify!(retro_vfs_interface_info))
731 );
732 assert_eq!(
733 unsafe {
734 &(*(::std::ptr::null::<retro_vfs_interface_info>())).required_interface_version
735 as *const _ as usize
736 },
737 0usize,
738 concat!(
739 "Offset of field: ",
740 stringify!(retro_vfs_interface_info),
741 "::",
742 stringify!(required_interface_version)
743 )
744 );
745 assert_eq!(
746 unsafe { &(*(::std::ptr::null::<retro_vfs_interface_info>())).iface as *const _ as usize },
747 8usize,
748 concat!(
749 "Offset of field: ",
750 stringify!(retro_vfs_interface_info),
751 "::",
752 stringify!(iface)
753 )
754 );
755}
756pub const retro_hw_render_interface_type_RETRO_HW_RENDER_INTERFACE_VULKAN:
757 retro_hw_render_interface_type = 0;
758pub const retro_hw_render_interface_type_RETRO_HW_RENDER_INTERFACE_D3D9:
759 retro_hw_render_interface_type = 1;
760pub const retro_hw_render_interface_type_RETRO_HW_RENDER_INTERFACE_D3D10:
761 retro_hw_render_interface_type = 2;
762pub const retro_hw_render_interface_type_RETRO_HW_RENDER_INTERFACE_D3D11:
763 retro_hw_render_interface_type = 3;
764pub const retro_hw_render_interface_type_RETRO_HW_RENDER_INTERFACE_D3D12:
765 retro_hw_render_interface_type = 4;
766pub const retro_hw_render_interface_type_RETRO_HW_RENDER_INTERFACE_GSKIT_PS2:
767 retro_hw_render_interface_type = 5;
768pub const retro_hw_render_interface_type_RETRO_HW_RENDER_INTERFACE_DUMMY:
769 retro_hw_render_interface_type = 2147483647;
770pub type retro_hw_render_interface_type = ::std::os::raw::c_uint;
771#[repr(C)]
772#[derive(Debug, Copy, Clone)]
773pub struct retro_hw_render_interface {
774 pub interface_type: retro_hw_render_interface_type,
775 pub interface_version: ::std::os::raw::c_uint,
776}
777#[test]
778fn bindgen_test_layout_retro_hw_render_interface() {
779 assert_eq!(
780 ::std::mem::size_of::<retro_hw_render_interface>(),
781 8usize,
782 concat!("Size of: ", stringify!(retro_hw_render_interface))
783 );
784 assert_eq!(
785 ::std::mem::align_of::<retro_hw_render_interface>(),
786 4usize,
787 concat!("Alignment of ", stringify!(retro_hw_render_interface))
788 );
789 assert_eq!(
790 unsafe {
791 &(*(::std::ptr::null::<retro_hw_render_interface>())).interface_type as *const _
792 as usize
793 },
794 0usize,
795 concat!(
796 "Offset of field: ",
797 stringify!(retro_hw_render_interface),
798 "::",
799 stringify!(interface_type)
800 )
801 );
802 assert_eq!(
803 unsafe {
804 &(*(::std::ptr::null::<retro_hw_render_interface>())).interface_version as *const _
805 as usize
806 },
807 4usize,
808 concat!(
809 "Offset of field: ",
810 stringify!(retro_hw_render_interface),
811 "::",
812 stringify!(interface_version)
813 )
814 );
815}
816pub type retro_set_led_state_t = ::std::option::Option<
817 unsafe extern "C" fn(led: ::std::os::raw::c_int, state: ::std::os::raw::c_int),
818>;
819#[repr(C)]
820#[derive(Debug, Copy, Clone)]
821pub struct retro_led_interface {
822 pub set_led_state: retro_set_led_state_t,
823}
824#[test]
825fn bindgen_test_layout_retro_led_interface() {
826 assert_eq!(
827 ::std::mem::size_of::<retro_led_interface>(),
828 8usize,
829 concat!("Size of: ", stringify!(retro_led_interface))
830 );
831 assert_eq!(
832 ::std::mem::align_of::<retro_led_interface>(),
833 8usize,
834 concat!("Alignment of ", stringify!(retro_led_interface))
835 );
836 assert_eq!(
837 unsafe {
838 &(*(::std::ptr::null::<retro_led_interface>())).set_led_state as *const _ as usize
839 },
840 0usize,
841 concat!(
842 "Offset of field: ",
843 stringify!(retro_led_interface),
844 "::",
845 stringify!(set_led_state)
846 )
847 );
848}
849pub type retro_midi_input_enabled_t = ::std::option::Option<unsafe extern "C" fn() -> bool>;
850pub type retro_midi_output_enabled_t = ::std::option::Option<unsafe extern "C" fn() -> bool>;
851pub type retro_midi_read_t = ::std::option::Option<unsafe extern "C" fn(byte: *mut u8) -> bool>;
852pub type retro_midi_write_t =
853 ::std::option::Option<unsafe extern "C" fn(byte: u8, delta_time: u32) -> bool>;
854pub type retro_midi_flush_t = ::std::option::Option<unsafe extern "C" fn() -> bool>;
855#[repr(C)]
856#[derive(Debug, Copy, Clone)]
857pub struct retro_midi_interface {
858 pub input_enabled: retro_midi_input_enabled_t,
859 pub output_enabled: retro_midi_output_enabled_t,
860 pub read: retro_midi_read_t,
861 pub write: retro_midi_write_t,
862 pub flush: retro_midi_flush_t,
863}
864#[test]
865fn bindgen_test_layout_retro_midi_interface() {
866 assert_eq!(
867 ::std::mem::size_of::<retro_midi_interface>(),
868 40usize,
869 concat!("Size of: ", stringify!(retro_midi_interface))
870 );
871 assert_eq!(
872 ::std::mem::align_of::<retro_midi_interface>(),
873 8usize,
874 concat!("Alignment of ", stringify!(retro_midi_interface))
875 );
876 assert_eq!(
877 unsafe {
878 &(*(::std::ptr::null::<retro_midi_interface>())).input_enabled as *const _ as usize
879 },
880 0usize,
881 concat!(
882 "Offset of field: ",
883 stringify!(retro_midi_interface),
884 "::",
885 stringify!(input_enabled)
886 )
887 );
888 assert_eq!(
889 unsafe {
890 &(*(::std::ptr::null::<retro_midi_interface>())).output_enabled as *const _ as usize
891 },
892 8usize,
893 concat!(
894 "Offset of field: ",
895 stringify!(retro_midi_interface),
896 "::",
897 stringify!(output_enabled)
898 )
899 );
900 assert_eq!(
901 unsafe { &(*(::std::ptr::null::<retro_midi_interface>())).read as *const _ as usize },
902 16usize,
903 concat!(
904 "Offset of field: ",
905 stringify!(retro_midi_interface),
906 "::",
907 stringify!(read)
908 )
909 );
910 assert_eq!(
911 unsafe { &(*(::std::ptr::null::<retro_midi_interface>())).write as *const _ as usize },
912 24usize,
913 concat!(
914 "Offset of field: ",
915 stringify!(retro_midi_interface),
916 "::",
917 stringify!(write)
918 )
919 );
920 assert_eq!(
921 unsafe { &(*(::std::ptr::null::<retro_midi_interface>())).flush as *const _ as usize },
922 32usize,
923 concat!(
924 "Offset of field: ",
925 stringify!(retro_midi_interface),
926 "::",
927 stringify!(flush)
928 )
929 );
930}
931pub const retro_hw_render_context_negotiation_interface_type_RETRO_HW_RENDER_CONTEXT_NEGOTIATION_INTERFACE_VULKAN : retro_hw_render_context_negotiation_interface_type = 0 ;
932pub const retro_hw_render_context_negotiation_interface_type_RETRO_HW_RENDER_CONTEXT_NEGOTIATION_INTERFACE_DUMMY : retro_hw_render_context_negotiation_interface_type = 2147483647 ;
933pub type retro_hw_render_context_negotiation_interface_type = ::std::os::raw::c_uint;
934#[repr(C)]
935#[derive(Debug, Copy, Clone)]
936pub struct retro_hw_render_context_negotiation_interface {
937 pub interface_type: retro_hw_render_context_negotiation_interface_type,
938 pub interface_version: ::std::os::raw::c_uint,
939}
940#[test]
941fn bindgen_test_layout_retro_hw_render_context_negotiation_interface() {
942 assert_eq!(
943 ::std::mem::size_of::<retro_hw_render_context_negotiation_interface>(),
944 8usize,
945 concat!(
946 "Size of: ",
947 stringify!(retro_hw_render_context_negotiation_interface)
948 )
949 );
950 assert_eq!(
951 ::std::mem::align_of::<retro_hw_render_context_negotiation_interface>(),
952 4usize,
953 concat!(
954 "Alignment of ",
955 stringify!(retro_hw_render_context_negotiation_interface)
956 )
957 );
958 assert_eq!(
959 unsafe {
960 &(*(::std::ptr::null::<retro_hw_render_context_negotiation_interface>())).interface_type
961 as *const _ as usize
962 },
963 0usize,
964 concat!(
965 "Offset of field: ",
966 stringify!(retro_hw_render_context_negotiation_interface),
967 "::",
968 stringify!(interface_type)
969 )
970 );
971 assert_eq!(
972 unsafe {
973 &(*(::std::ptr::null::<retro_hw_render_context_negotiation_interface>()))
974 .interface_version as *const _ as usize
975 },
976 4usize,
977 concat!(
978 "Offset of field: ",
979 stringify!(retro_hw_render_context_negotiation_interface),
980 "::",
981 stringify!(interface_version)
982 )
983 );
984}
985#[repr(C)]
986#[derive(Debug, Copy, Clone)]
987pub struct retro_memory_descriptor {
988 pub flags: u64,
989 pub ptr: *mut ::std::os::raw::c_void,
990 pub offset: size_t,
991 pub start: size_t,
992 pub select: size_t,
993 pub disconnect: size_t,
994 pub len: size_t,
995 pub addrspace: *const ::std::os::raw::c_char,
996}
997#[test]
998fn bindgen_test_layout_retro_memory_descriptor() {
999 assert_eq!(
1000 ::std::mem::size_of::<retro_memory_descriptor>(),
1001 64usize,
1002 concat!("Size of: ", stringify!(retro_memory_descriptor))
1003 );
1004 assert_eq!(
1005 ::std::mem::align_of::<retro_memory_descriptor>(),
1006 8usize,
1007 concat!("Alignment of ", stringify!(retro_memory_descriptor))
1008 );
1009 assert_eq!(
1010 unsafe { &(*(::std::ptr::null::<retro_memory_descriptor>())).flags as *const _ as usize },
1011 0usize,
1012 concat!(
1013 "Offset of field: ",
1014 stringify!(retro_memory_descriptor),
1015 "::",
1016 stringify!(flags)
1017 )
1018 );
1019 assert_eq!(
1020 unsafe { &(*(::std::ptr::null::<retro_memory_descriptor>())).ptr as *const _ as usize },
1021 8usize,
1022 concat!(
1023 "Offset of field: ",
1024 stringify!(retro_memory_descriptor),
1025 "::",
1026 stringify!(ptr)
1027 )
1028 );
1029 assert_eq!(
1030 unsafe { &(*(::std::ptr::null::<retro_memory_descriptor>())).offset as *const _ as usize },
1031 16usize,
1032 concat!(
1033 "Offset of field: ",
1034 stringify!(retro_memory_descriptor),
1035 "::",
1036 stringify!(offset)
1037 )
1038 );
1039 assert_eq!(
1040 unsafe { &(*(::std::ptr::null::<retro_memory_descriptor>())).start as *const _ as usize },
1041 24usize,
1042 concat!(
1043 "Offset of field: ",
1044 stringify!(retro_memory_descriptor),
1045 "::",
1046 stringify!(start)
1047 )
1048 );
1049 assert_eq!(
1050 unsafe { &(*(::std::ptr::null::<retro_memory_descriptor>())).select as *const _ as usize },
1051 32usize,
1052 concat!(
1053 "Offset of field: ",
1054 stringify!(retro_memory_descriptor),
1055 "::",
1056 stringify!(select)
1057 )
1058 );
1059 assert_eq!(
1060 unsafe {
1061 &(*(::std::ptr::null::<retro_memory_descriptor>())).disconnect as *const _ as usize
1062 },
1063 40usize,
1064 concat!(
1065 "Offset of field: ",
1066 stringify!(retro_memory_descriptor),
1067 "::",
1068 stringify!(disconnect)
1069 )
1070 );
1071 assert_eq!(
1072 unsafe { &(*(::std::ptr::null::<retro_memory_descriptor>())).len as *const _ as usize },
1073 48usize,
1074 concat!(
1075 "Offset of field: ",
1076 stringify!(retro_memory_descriptor),
1077 "::",
1078 stringify!(len)
1079 )
1080 );
1081 assert_eq!(
1082 unsafe {
1083 &(*(::std::ptr::null::<retro_memory_descriptor>())).addrspace as *const _ as usize
1084 },
1085 56usize,
1086 concat!(
1087 "Offset of field: ",
1088 stringify!(retro_memory_descriptor),
1089 "::",
1090 stringify!(addrspace)
1091 )
1092 );
1093}
1094#[repr(C)]
1095#[derive(Debug, Copy, Clone)]
1096pub struct retro_memory_map {
1097 pub descriptors: *const retro_memory_descriptor,
1098 pub num_descriptors: ::std::os::raw::c_uint,
1099}
1100#[test]
1101fn bindgen_test_layout_retro_memory_map() {
1102 assert_eq!(
1103 ::std::mem::size_of::<retro_memory_map>(),
1104 16usize,
1105 concat!("Size of: ", stringify!(retro_memory_map))
1106 );
1107 assert_eq!(
1108 ::std::mem::align_of::<retro_memory_map>(),
1109 8usize,
1110 concat!("Alignment of ", stringify!(retro_memory_map))
1111 );
1112 assert_eq!(
1113 unsafe { &(*(::std::ptr::null::<retro_memory_map>())).descriptors as *const _ as usize },
1114 0usize,
1115 concat!(
1116 "Offset of field: ",
1117 stringify!(retro_memory_map),
1118 "::",
1119 stringify!(descriptors)
1120 )
1121 );
1122 assert_eq!(
1123 unsafe {
1124 &(*(::std::ptr::null::<retro_memory_map>())).num_descriptors as *const _ as usize
1125 },
1126 8usize,
1127 concat!(
1128 "Offset of field: ",
1129 stringify!(retro_memory_map),
1130 "::",
1131 stringify!(num_descriptors)
1132 )
1133 );
1134}
1135#[repr(C)]
1136#[derive(Debug, Copy, Clone)]
1137pub struct retro_controller_description {
1138 pub desc: *const ::std::os::raw::c_char,
1139 pub id: ::std::os::raw::c_uint,
1140}
1141#[test]
1142fn bindgen_test_layout_retro_controller_description() {
1143 assert_eq!(
1144 ::std::mem::size_of::<retro_controller_description>(),
1145 16usize,
1146 concat!("Size of: ", stringify!(retro_controller_description))
1147 );
1148 assert_eq!(
1149 ::std::mem::align_of::<retro_controller_description>(),
1150 8usize,
1151 concat!("Alignment of ", stringify!(retro_controller_description))
1152 );
1153 assert_eq!(
1154 unsafe {
1155 &(*(::std::ptr::null::<retro_controller_description>())).desc as *const _ as usize
1156 },
1157 0usize,
1158 concat!(
1159 "Offset of field: ",
1160 stringify!(retro_controller_description),
1161 "::",
1162 stringify!(desc)
1163 )
1164 );
1165 assert_eq!(
1166 unsafe { &(*(::std::ptr::null::<retro_controller_description>())).id as *const _ as usize },
1167 8usize,
1168 concat!(
1169 "Offset of field: ",
1170 stringify!(retro_controller_description),
1171 "::",
1172 stringify!(id)
1173 )
1174 );
1175}
1176#[repr(C)]
1177#[derive(Debug, Copy, Clone)]
1178pub struct retro_controller_info {
1179 pub types: *const retro_controller_description,
1180 pub num_types: ::std::os::raw::c_uint,
1181}
1182#[test]
1183fn bindgen_test_layout_retro_controller_info() {
1184 assert_eq!(
1185 ::std::mem::size_of::<retro_controller_info>(),
1186 16usize,
1187 concat!("Size of: ", stringify!(retro_controller_info))
1188 );
1189 assert_eq!(
1190 ::std::mem::align_of::<retro_controller_info>(),
1191 8usize,
1192 concat!("Alignment of ", stringify!(retro_controller_info))
1193 );
1194 assert_eq!(
1195 unsafe { &(*(::std::ptr::null::<retro_controller_info>())).types as *const _ as usize },
1196 0usize,
1197 concat!(
1198 "Offset of field: ",
1199 stringify!(retro_controller_info),
1200 "::",
1201 stringify!(types)
1202 )
1203 );
1204 assert_eq!(
1205 unsafe { &(*(::std::ptr::null::<retro_controller_info>())).num_types as *const _ as usize },
1206 8usize,
1207 concat!(
1208 "Offset of field: ",
1209 stringify!(retro_controller_info),
1210 "::",
1211 stringify!(num_types)
1212 )
1213 );
1214}
1215#[repr(C)]
1216#[derive(Debug, Copy, Clone)]
1217pub struct retro_subsystem_memory_info {
1218 pub extension: *const ::std::os::raw::c_char,
1219 pub type_: ::std::os::raw::c_uint,
1220}
1221#[test]
1222fn bindgen_test_layout_retro_subsystem_memory_info() {
1223 assert_eq!(
1224 ::std::mem::size_of::<retro_subsystem_memory_info>(),
1225 16usize,
1226 concat!("Size of: ", stringify!(retro_subsystem_memory_info))
1227 );
1228 assert_eq!(
1229 ::std::mem::align_of::<retro_subsystem_memory_info>(),
1230 8usize,
1231 concat!("Alignment of ", stringify!(retro_subsystem_memory_info))
1232 );
1233 assert_eq!(
1234 unsafe {
1235 &(*(::std::ptr::null::<retro_subsystem_memory_info>())).extension as *const _ as usize
1236 },
1237 0usize,
1238 concat!(
1239 "Offset of field: ",
1240 stringify!(retro_subsystem_memory_info),
1241 "::",
1242 stringify!(extension)
1243 )
1244 );
1245 assert_eq!(
1246 unsafe {
1247 &(*(::std::ptr::null::<retro_subsystem_memory_info>())).type_ as *const _ as usize
1248 },
1249 8usize,
1250 concat!(
1251 "Offset of field: ",
1252 stringify!(retro_subsystem_memory_info),
1253 "::",
1254 stringify!(type_)
1255 )
1256 );
1257}
1258#[repr(C)]
1259#[derive(Debug, Copy, Clone)]
1260pub struct retro_subsystem_rom_info {
1261 pub desc: *const ::std::os::raw::c_char,
1262 pub valid_extensions: *const ::std::os::raw::c_char,
1263 pub need_fullpath: bool,
1264 pub block_extract: bool,
1265 pub required: bool,
1266 pub memory: *const retro_subsystem_memory_info,
1267 pub num_memory: ::std::os::raw::c_uint,
1268}
1269#[test]
1270fn bindgen_test_layout_retro_subsystem_rom_info() {
1271 assert_eq!(
1272 ::std::mem::size_of::<retro_subsystem_rom_info>(),
1273 40usize,
1274 concat!("Size of: ", stringify!(retro_subsystem_rom_info))
1275 );
1276 assert_eq!(
1277 ::std::mem::align_of::<retro_subsystem_rom_info>(),
1278 8usize,
1279 concat!("Alignment of ", stringify!(retro_subsystem_rom_info))
1280 );
1281 assert_eq!(
1282 unsafe { &(*(::std::ptr::null::<retro_subsystem_rom_info>())).desc as *const _ as usize },
1283 0usize,
1284 concat!(
1285 "Offset of field: ",
1286 stringify!(retro_subsystem_rom_info),
1287 "::",
1288 stringify!(desc)
1289 )
1290 );
1291 assert_eq!(
1292 unsafe {
1293 &(*(::std::ptr::null::<retro_subsystem_rom_info>())).valid_extensions as *const _
1294 as usize
1295 },
1296 8usize,
1297 concat!(
1298 "Offset of field: ",
1299 stringify!(retro_subsystem_rom_info),
1300 "::",
1301 stringify!(valid_extensions)
1302 )
1303 );
1304 assert_eq!(
1305 unsafe {
1306 &(*(::std::ptr::null::<retro_subsystem_rom_info>())).need_fullpath as *const _ as usize
1307 },
1308 16usize,
1309 concat!(
1310 "Offset of field: ",
1311 stringify!(retro_subsystem_rom_info),
1312 "::",
1313 stringify!(need_fullpath)
1314 )
1315 );
1316 assert_eq!(
1317 unsafe {
1318 &(*(::std::ptr::null::<retro_subsystem_rom_info>())).block_extract as *const _ as usize
1319 },
1320 17usize,
1321 concat!(
1322 "Offset of field: ",
1323 stringify!(retro_subsystem_rom_info),
1324 "::",
1325 stringify!(block_extract)
1326 )
1327 );
1328 assert_eq!(
1329 unsafe {
1330 &(*(::std::ptr::null::<retro_subsystem_rom_info>())).required as *const _ as usize
1331 },
1332 18usize,
1333 concat!(
1334 "Offset of field: ",
1335 stringify!(retro_subsystem_rom_info),
1336 "::",
1337 stringify!(required)
1338 )
1339 );
1340 assert_eq!(
1341 unsafe { &(*(::std::ptr::null::<retro_subsystem_rom_info>())).memory as *const _ as usize },
1342 24usize,
1343 concat!(
1344 "Offset of field: ",
1345 stringify!(retro_subsystem_rom_info),
1346 "::",
1347 stringify!(memory)
1348 )
1349 );
1350 assert_eq!(
1351 unsafe {
1352 &(*(::std::ptr::null::<retro_subsystem_rom_info>())).num_memory as *const _ as usize
1353 },
1354 32usize,
1355 concat!(
1356 "Offset of field: ",
1357 stringify!(retro_subsystem_rom_info),
1358 "::",
1359 stringify!(num_memory)
1360 )
1361 );
1362}
1363#[repr(C)]
1364#[derive(Debug, Copy, Clone)]
1365pub struct retro_subsystem_info {
1366 pub desc: *const ::std::os::raw::c_char,
1367 pub ident: *const ::std::os::raw::c_char,
1368 pub roms: *const retro_subsystem_rom_info,
1369 pub num_roms: ::std::os::raw::c_uint,
1370 pub id: ::std::os::raw::c_uint,
1371}
1372#[test]
1373fn bindgen_test_layout_retro_subsystem_info() {
1374 assert_eq!(
1375 ::std::mem::size_of::<retro_subsystem_info>(),
1376 32usize,
1377 concat!("Size of: ", stringify!(retro_subsystem_info))
1378 );
1379 assert_eq!(
1380 ::std::mem::align_of::<retro_subsystem_info>(),
1381 8usize,
1382 concat!("Alignment of ", stringify!(retro_subsystem_info))
1383 );
1384 assert_eq!(
1385 unsafe { &(*(::std::ptr::null::<retro_subsystem_info>())).desc as *const _ as usize },
1386 0usize,
1387 concat!(
1388 "Offset of field: ",
1389 stringify!(retro_subsystem_info),
1390 "::",
1391 stringify!(desc)
1392 )
1393 );
1394 assert_eq!(
1395 unsafe { &(*(::std::ptr::null::<retro_subsystem_info>())).ident as *const _ as usize },
1396 8usize,
1397 concat!(
1398 "Offset of field: ",
1399 stringify!(retro_subsystem_info),
1400 "::",
1401 stringify!(ident)
1402 )
1403 );
1404 assert_eq!(
1405 unsafe { &(*(::std::ptr::null::<retro_subsystem_info>())).roms as *const _ as usize },
1406 16usize,
1407 concat!(
1408 "Offset of field: ",
1409 stringify!(retro_subsystem_info),
1410 "::",
1411 stringify!(roms)
1412 )
1413 );
1414 assert_eq!(
1415 unsafe { &(*(::std::ptr::null::<retro_subsystem_info>())).num_roms as *const _ as usize },
1416 24usize,
1417 concat!(
1418 "Offset of field: ",
1419 stringify!(retro_subsystem_info),
1420 "::",
1421 stringify!(num_roms)
1422 )
1423 );
1424 assert_eq!(
1425 unsafe { &(*(::std::ptr::null::<retro_subsystem_info>())).id as *const _ as usize },
1426 28usize,
1427 concat!(
1428 "Offset of field: ",
1429 stringify!(retro_subsystem_info),
1430 "::",
1431 stringify!(id)
1432 )
1433 );
1434}
1435pub type retro_proc_address_t = ::std::option::Option<unsafe extern "C" fn()>;
1436pub type retro_get_proc_address_t = ::std::option::Option<
1437 unsafe extern "C" fn(sym: *const ::std::os::raw::c_char) -> retro_proc_address_t,
1438>;
1439#[repr(C)]
1440#[derive(Debug, Copy, Clone)]
1441pub struct retro_get_proc_address_interface {
1442 pub get_proc_address: retro_get_proc_address_t,
1443}
1444#[test]
1445fn bindgen_test_layout_retro_get_proc_address_interface() {
1446 assert_eq!(
1447 ::std::mem::size_of::<retro_get_proc_address_interface>(),
1448 8usize,
1449 concat!("Size of: ", stringify!(retro_get_proc_address_interface))
1450 );
1451 assert_eq!(
1452 ::std::mem::align_of::<retro_get_proc_address_interface>(),
1453 8usize,
1454 concat!(
1455 "Alignment of ",
1456 stringify!(retro_get_proc_address_interface)
1457 )
1458 );
1459 assert_eq!(
1460 unsafe {
1461 &(*(::std::ptr::null::<retro_get_proc_address_interface>())).get_proc_address
1462 as *const _ as usize
1463 },
1464 0usize,
1465 concat!(
1466 "Offset of field: ",
1467 stringify!(retro_get_proc_address_interface),
1468 "::",
1469 stringify!(get_proc_address)
1470 )
1471 );
1472}
1473pub const retro_log_level_RETRO_LOG_DEBUG: retro_log_level = 0;
1474pub const retro_log_level_RETRO_LOG_INFO: retro_log_level = 1;
1475pub const retro_log_level_RETRO_LOG_WARN: retro_log_level = 2;
1476pub const retro_log_level_RETRO_LOG_ERROR: retro_log_level = 3;
1477pub const retro_log_level_RETRO_LOG_DUMMY: retro_log_level = 2147483647;
1478pub type retro_log_level = ::std::os::raw::c_uint;
1479pub type retro_log_printf_t = ::std::option::Option<
1480 unsafe extern "C" fn(level: retro_log_level, fmt: *const ::std::os::raw::c_char, ...),
1481>;
1482#[repr(C)]
1483#[derive(Debug, Copy, Clone)]
1484pub struct retro_log_callback {
1485 pub log: retro_log_printf_t,
1486}
1487#[test]
1488fn bindgen_test_layout_retro_log_callback() {
1489 assert_eq!(
1490 ::std::mem::size_of::<retro_log_callback>(),
1491 8usize,
1492 concat!("Size of: ", stringify!(retro_log_callback))
1493 );
1494 assert_eq!(
1495 ::std::mem::align_of::<retro_log_callback>(),
1496 8usize,
1497 concat!("Alignment of ", stringify!(retro_log_callback))
1498 );
1499 assert_eq!(
1500 unsafe { &(*(::std::ptr::null::<retro_log_callback>())).log as *const _ as usize },
1501 0usize,
1502 concat!(
1503 "Offset of field: ",
1504 stringify!(retro_log_callback),
1505 "::",
1506 stringify!(log)
1507 )
1508 );
1509}
1510pub type retro_perf_tick_t = u64;
1511pub type retro_time_t = i64;
1512#[repr(C)]
1513#[derive(Debug, Copy, Clone)]
1514pub struct retro_perf_counter {
1515 pub ident: *const ::std::os::raw::c_char,
1516 pub start: retro_perf_tick_t,
1517 pub total: retro_perf_tick_t,
1518 pub call_cnt: retro_perf_tick_t,
1519 pub registered: bool,
1520}
1521#[test]
1522fn bindgen_test_layout_retro_perf_counter() {
1523 assert_eq!(
1524 ::std::mem::size_of::<retro_perf_counter>(),
1525 40usize,
1526 concat!("Size of: ", stringify!(retro_perf_counter))
1527 );
1528 assert_eq!(
1529 ::std::mem::align_of::<retro_perf_counter>(),
1530 8usize,
1531 concat!("Alignment of ", stringify!(retro_perf_counter))
1532 );
1533 assert_eq!(
1534 unsafe { &(*(::std::ptr::null::<retro_perf_counter>())).ident as *const _ as usize },
1535 0usize,
1536 concat!(
1537 "Offset of field: ",
1538 stringify!(retro_perf_counter),
1539 "::",
1540 stringify!(ident)
1541 )
1542 );
1543 assert_eq!(
1544 unsafe { &(*(::std::ptr::null::<retro_perf_counter>())).start as *const _ as usize },
1545 8usize,
1546 concat!(
1547 "Offset of field: ",
1548 stringify!(retro_perf_counter),
1549 "::",
1550 stringify!(start)
1551 )
1552 );
1553 assert_eq!(
1554 unsafe { &(*(::std::ptr::null::<retro_perf_counter>())).total as *const _ as usize },
1555 16usize,
1556 concat!(
1557 "Offset of field: ",
1558 stringify!(retro_perf_counter),
1559 "::",
1560 stringify!(total)
1561 )
1562 );
1563 assert_eq!(
1564 unsafe { &(*(::std::ptr::null::<retro_perf_counter>())).call_cnt as *const _ as usize },
1565 24usize,
1566 concat!(
1567 "Offset of field: ",
1568 stringify!(retro_perf_counter),
1569 "::",
1570 stringify!(call_cnt)
1571 )
1572 );
1573 assert_eq!(
1574 unsafe { &(*(::std::ptr::null::<retro_perf_counter>())).registered as *const _ as usize },
1575 32usize,
1576 concat!(
1577 "Offset of field: ",
1578 stringify!(retro_perf_counter),
1579 "::",
1580 stringify!(registered)
1581 )
1582 );
1583}
1584pub type retro_perf_get_time_usec_t = ::std::option::Option<unsafe extern "C" fn() -> retro_time_t>;
1585pub type retro_perf_get_counter_t =
1586 ::std::option::Option<unsafe extern "C" fn() -> retro_perf_tick_t>;
1587pub type retro_get_cpu_features_t = ::std::option::Option<unsafe extern "C" fn() -> u64>;
1588pub type retro_perf_log_t = ::std::option::Option<unsafe extern "C" fn()>;
1589pub type retro_perf_register_t =
1590 ::std::option::Option<unsafe extern "C" fn(counter: *mut retro_perf_counter)>;
1591pub type retro_perf_start_t =
1592 ::std::option::Option<unsafe extern "C" fn(counter: *mut retro_perf_counter)>;
1593pub type retro_perf_stop_t =
1594 ::std::option::Option<unsafe extern "C" fn(counter: *mut retro_perf_counter)>;
1595#[repr(C)]
1596#[derive(Debug, Copy, Clone)]
1597pub struct retro_perf_callback {
1598 pub get_time_usec: retro_perf_get_time_usec_t,
1599 pub get_cpu_features: retro_get_cpu_features_t,
1600 pub get_perf_counter: retro_perf_get_counter_t,
1601 pub perf_register: retro_perf_register_t,
1602 pub perf_start: retro_perf_start_t,
1603 pub perf_stop: retro_perf_stop_t,
1604 pub perf_log: retro_perf_log_t,
1605}
1606#[test]
1607fn bindgen_test_layout_retro_perf_callback() {
1608 assert_eq!(
1609 ::std::mem::size_of::<retro_perf_callback>(),
1610 56usize,
1611 concat!("Size of: ", stringify!(retro_perf_callback))
1612 );
1613 assert_eq!(
1614 ::std::mem::align_of::<retro_perf_callback>(),
1615 8usize,
1616 concat!("Alignment of ", stringify!(retro_perf_callback))
1617 );
1618 assert_eq!(
1619 unsafe {
1620 &(*(::std::ptr::null::<retro_perf_callback>())).get_time_usec as *const _ as usize
1621 },
1622 0usize,
1623 concat!(
1624 "Offset of field: ",
1625 stringify!(retro_perf_callback),
1626 "::",
1627 stringify!(get_time_usec)
1628 )
1629 );
1630 assert_eq!(
1631 unsafe {
1632 &(*(::std::ptr::null::<retro_perf_callback>())).get_cpu_features as *const _ as usize
1633 },
1634 8usize,
1635 concat!(
1636 "Offset of field: ",
1637 stringify!(retro_perf_callback),
1638 "::",
1639 stringify!(get_cpu_features)
1640 )
1641 );
1642 assert_eq!(
1643 unsafe {
1644 &(*(::std::ptr::null::<retro_perf_callback>())).get_perf_counter as *const _ as usize
1645 },
1646 16usize,
1647 concat!(
1648 "Offset of field: ",
1649 stringify!(retro_perf_callback),
1650 "::",
1651 stringify!(get_perf_counter)
1652 )
1653 );
1654 assert_eq!(
1655 unsafe {
1656 &(*(::std::ptr::null::<retro_perf_callback>())).perf_register as *const _ as usize
1657 },
1658 24usize,
1659 concat!(
1660 "Offset of field: ",
1661 stringify!(retro_perf_callback),
1662 "::",
1663 stringify!(perf_register)
1664 )
1665 );
1666 assert_eq!(
1667 unsafe { &(*(::std::ptr::null::<retro_perf_callback>())).perf_start as *const _ as usize },
1668 32usize,
1669 concat!(
1670 "Offset of field: ",
1671 stringify!(retro_perf_callback),
1672 "::",
1673 stringify!(perf_start)
1674 )
1675 );
1676 assert_eq!(
1677 unsafe { &(*(::std::ptr::null::<retro_perf_callback>())).perf_stop as *const _ as usize },
1678 40usize,
1679 concat!(
1680 "Offset of field: ",
1681 stringify!(retro_perf_callback),
1682 "::",
1683 stringify!(perf_stop)
1684 )
1685 );
1686 assert_eq!(
1687 unsafe { &(*(::std::ptr::null::<retro_perf_callback>())).perf_log as *const _ as usize },
1688 48usize,
1689 concat!(
1690 "Offset of field: ",
1691 stringify!(retro_perf_callback),
1692 "::",
1693 stringify!(perf_log)
1694 )
1695 );
1696}
1697pub const retro_sensor_action_RETRO_SENSOR_ACCELEROMETER_ENABLE: retro_sensor_action = 0;
1698pub const retro_sensor_action_RETRO_SENSOR_ACCELEROMETER_DISABLE: retro_sensor_action = 1;
1699pub const retro_sensor_action_RETRO_SENSOR_GYROSCOPE_ENABLE: retro_sensor_action = 2;
1700pub const retro_sensor_action_RETRO_SENSOR_GYROSCOPE_DISABLE: retro_sensor_action = 3;
1701pub const retro_sensor_action_RETRO_SENSOR_ILLUMINANCE_ENABLE: retro_sensor_action = 4;
1702pub const retro_sensor_action_RETRO_SENSOR_ILLUMINANCE_DISABLE: retro_sensor_action = 5;
1703pub const retro_sensor_action_RETRO_SENSOR_DUMMY: retro_sensor_action = 2147483647;
1704pub type retro_sensor_action = ::std::os::raw::c_uint;
1705pub type retro_set_sensor_state_t = ::std::option::Option<
1706 unsafe extern "C" fn(
1707 port: ::std::os::raw::c_uint,
1708 action: retro_sensor_action,
1709 rate: ::std::os::raw::c_uint,
1710 ) -> bool,
1711>;
1712pub type retro_sensor_get_input_t = ::std::option::Option<
1713 unsafe extern "C" fn(port: ::std::os::raw::c_uint, id: ::std::os::raw::c_uint) -> f32,
1714>;
1715#[repr(C)]
1716#[derive(Debug, Copy, Clone)]
1717pub struct retro_sensor_interface {
1718 pub set_sensor_state: retro_set_sensor_state_t,
1719 pub get_sensor_input: retro_sensor_get_input_t,
1720}
1721#[test]
1722fn bindgen_test_layout_retro_sensor_interface() {
1723 assert_eq!(
1724 ::std::mem::size_of::<retro_sensor_interface>(),
1725 16usize,
1726 concat!("Size of: ", stringify!(retro_sensor_interface))
1727 );
1728 assert_eq!(
1729 ::std::mem::align_of::<retro_sensor_interface>(),
1730 8usize,
1731 concat!("Alignment of ", stringify!(retro_sensor_interface))
1732 );
1733 assert_eq!(
1734 unsafe {
1735 &(*(::std::ptr::null::<retro_sensor_interface>())).set_sensor_state as *const _ as usize
1736 },
1737 0usize,
1738 concat!(
1739 "Offset of field: ",
1740 stringify!(retro_sensor_interface),
1741 "::",
1742 stringify!(set_sensor_state)
1743 )
1744 );
1745 assert_eq!(
1746 unsafe {
1747 &(*(::std::ptr::null::<retro_sensor_interface>())).get_sensor_input as *const _ as usize
1748 },
1749 8usize,
1750 concat!(
1751 "Offset of field: ",
1752 stringify!(retro_sensor_interface),
1753 "::",
1754 stringify!(get_sensor_input)
1755 )
1756 );
1757}
1758pub const retro_camera_buffer_RETRO_CAMERA_BUFFER_OPENGL_TEXTURE: retro_camera_buffer = 0;
1759pub const retro_camera_buffer_RETRO_CAMERA_BUFFER_RAW_FRAMEBUFFER: retro_camera_buffer = 1;
1760pub const retro_camera_buffer_RETRO_CAMERA_BUFFER_DUMMY: retro_camera_buffer = 2147483647;
1761pub type retro_camera_buffer = ::std::os::raw::c_uint;
1762pub type retro_camera_start_t = ::std::option::Option<unsafe extern "C" fn() -> bool>;
1763pub type retro_camera_stop_t = ::std::option::Option<unsafe extern "C" fn()>;
1764pub type retro_camera_lifetime_status_t = ::std::option::Option<unsafe extern "C" fn()>;
1765pub type retro_camera_frame_raw_framebuffer_t = ::std::option::Option<
1766 unsafe extern "C" fn(
1767 buffer: *const u32,
1768 width: ::std::os::raw::c_uint,
1769 height: ::std::os::raw::c_uint,
1770 pitch: size_t,
1771 ),
1772>;
1773pub type retro_camera_frame_opengl_texture_t = ::std::option::Option<
1774 unsafe extern "C" fn(
1775 texture_id: ::std::os::raw::c_uint,
1776 texture_target: ::std::os::raw::c_uint,
1777 affine: *const f32,
1778 ),
1779>;
1780#[repr(C)]
1781#[derive(Debug, Copy, Clone)]
1782pub struct retro_camera_callback {
1783 pub caps: u64,
1784 pub width: ::std::os::raw::c_uint,
1785 pub height: ::std::os::raw::c_uint,
1786 pub start: retro_camera_start_t,
1787 pub stop: retro_camera_stop_t,
1788 pub frame_raw_framebuffer: retro_camera_frame_raw_framebuffer_t,
1789 pub frame_opengl_texture: retro_camera_frame_opengl_texture_t,
1790 pub initialized: retro_camera_lifetime_status_t,
1791 pub deinitialized: retro_camera_lifetime_status_t,
1792}
1793#[test]
1794fn bindgen_test_layout_retro_camera_callback() {
1795 assert_eq!(
1796 ::std::mem::size_of::<retro_camera_callback>(),
1797 64usize,
1798 concat!("Size of: ", stringify!(retro_camera_callback))
1799 );
1800 assert_eq!(
1801 ::std::mem::align_of::<retro_camera_callback>(),
1802 8usize,
1803 concat!("Alignment of ", stringify!(retro_camera_callback))
1804 );
1805 assert_eq!(
1806 unsafe { &(*(::std::ptr::null::<retro_camera_callback>())).caps as *const _ as usize },
1807 0usize,
1808 concat!(
1809 "Offset of field: ",
1810 stringify!(retro_camera_callback),
1811 "::",
1812 stringify!(caps)
1813 )
1814 );
1815 assert_eq!(
1816 unsafe { &(*(::std::ptr::null::<retro_camera_callback>())).width as *const _ as usize },
1817 8usize,
1818 concat!(
1819 "Offset of field: ",
1820 stringify!(retro_camera_callback),
1821 "::",
1822 stringify!(width)
1823 )
1824 );
1825 assert_eq!(
1826 unsafe { &(*(::std::ptr::null::<retro_camera_callback>())).height as *const _ as usize },
1827 12usize,
1828 concat!(
1829 "Offset of field: ",
1830 stringify!(retro_camera_callback),
1831 "::",
1832 stringify!(height)
1833 )
1834 );
1835 assert_eq!(
1836 unsafe { &(*(::std::ptr::null::<retro_camera_callback>())).start as *const _ as usize },
1837 16usize,
1838 concat!(
1839 "Offset of field: ",
1840 stringify!(retro_camera_callback),
1841 "::",
1842 stringify!(start)
1843 )
1844 );
1845 assert_eq!(
1846 unsafe { &(*(::std::ptr::null::<retro_camera_callback>())).stop as *const _ as usize },
1847 24usize,
1848 concat!(
1849 "Offset of field: ",
1850 stringify!(retro_camera_callback),
1851 "::",
1852 stringify!(stop)
1853 )
1854 );
1855 assert_eq!(
1856 unsafe {
1857 &(*(::std::ptr::null::<retro_camera_callback>())).frame_raw_framebuffer as *const _
1858 as usize
1859 },
1860 32usize,
1861 concat!(
1862 "Offset of field: ",
1863 stringify!(retro_camera_callback),
1864 "::",
1865 stringify!(frame_raw_framebuffer)
1866 )
1867 );
1868 assert_eq!(
1869 unsafe {
1870 &(*(::std::ptr::null::<retro_camera_callback>())).frame_opengl_texture as *const _
1871 as usize
1872 },
1873 40usize,
1874 concat!(
1875 "Offset of field: ",
1876 stringify!(retro_camera_callback),
1877 "::",
1878 stringify!(frame_opengl_texture)
1879 )
1880 );
1881 assert_eq!(
1882 unsafe {
1883 &(*(::std::ptr::null::<retro_camera_callback>())).initialized as *const _ as usize
1884 },
1885 48usize,
1886 concat!(
1887 "Offset of field: ",
1888 stringify!(retro_camera_callback),
1889 "::",
1890 stringify!(initialized)
1891 )
1892 );
1893 assert_eq!(
1894 unsafe {
1895 &(*(::std::ptr::null::<retro_camera_callback>())).deinitialized as *const _ as usize
1896 },
1897 56usize,
1898 concat!(
1899 "Offset of field: ",
1900 stringify!(retro_camera_callback),
1901 "::",
1902 stringify!(deinitialized)
1903 )
1904 );
1905}
1906pub type retro_location_set_interval_t = ::std::option::Option<
1907 unsafe extern "C" fn(
1908 interval_ms: ::std::os::raw::c_uint,
1909 interval_distance: ::std::os::raw::c_uint,
1910 ),
1911>;
1912pub type retro_location_start_t = ::std::option::Option<unsafe extern "C" fn() -> bool>;
1913pub type retro_location_stop_t = ::std::option::Option<unsafe extern "C" fn()>;
1914pub type retro_location_get_position_t = ::std::option::Option<
1915 unsafe extern "C" fn(
1916 lat: *mut f64,
1917 lon: *mut f64,
1918 horiz_accuracy: *mut f64,
1919 vert_accuracy: *mut f64,
1920 ) -> bool,
1921>;
1922pub type retro_location_lifetime_status_t = ::std::option::Option<unsafe extern "C" fn()>;
1923#[repr(C)]
1924#[derive(Debug, Copy, Clone)]
1925pub struct retro_location_callback {
1926 pub start: retro_location_start_t,
1927 pub stop: retro_location_stop_t,
1928 pub get_position: retro_location_get_position_t,
1929 pub set_interval: retro_location_set_interval_t,
1930 pub initialized: retro_location_lifetime_status_t,
1931 pub deinitialized: retro_location_lifetime_status_t,
1932}
1933#[test]
1934fn bindgen_test_layout_retro_location_callback() {
1935 assert_eq!(
1936 ::std::mem::size_of::<retro_location_callback>(),
1937 48usize,
1938 concat!("Size of: ", stringify!(retro_location_callback))
1939 );
1940 assert_eq!(
1941 ::std::mem::align_of::<retro_location_callback>(),
1942 8usize,
1943 concat!("Alignment of ", stringify!(retro_location_callback))
1944 );
1945 assert_eq!(
1946 unsafe { &(*(::std::ptr::null::<retro_location_callback>())).start as *const _ as usize },
1947 0usize,
1948 concat!(
1949 "Offset of field: ",
1950 stringify!(retro_location_callback),
1951 "::",
1952 stringify!(start)
1953 )
1954 );
1955 assert_eq!(
1956 unsafe { &(*(::std::ptr::null::<retro_location_callback>())).stop as *const _ as usize },
1957 8usize,
1958 concat!(
1959 "Offset of field: ",
1960 stringify!(retro_location_callback),
1961 "::",
1962 stringify!(stop)
1963 )
1964 );
1965 assert_eq!(
1966 unsafe {
1967 &(*(::std::ptr::null::<retro_location_callback>())).get_position as *const _ as usize
1968 },
1969 16usize,
1970 concat!(
1971 "Offset of field: ",
1972 stringify!(retro_location_callback),
1973 "::",
1974 stringify!(get_position)
1975 )
1976 );
1977 assert_eq!(
1978 unsafe {
1979 &(*(::std::ptr::null::<retro_location_callback>())).set_interval as *const _ as usize
1980 },
1981 24usize,
1982 concat!(
1983 "Offset of field: ",
1984 stringify!(retro_location_callback),
1985 "::",
1986 stringify!(set_interval)
1987 )
1988 );
1989 assert_eq!(
1990 unsafe {
1991 &(*(::std::ptr::null::<retro_location_callback>())).initialized as *const _ as usize
1992 },
1993 32usize,
1994 concat!(
1995 "Offset of field: ",
1996 stringify!(retro_location_callback),
1997 "::",
1998 stringify!(initialized)
1999 )
2000 );
2001 assert_eq!(
2002 unsafe {
2003 &(*(::std::ptr::null::<retro_location_callback>())).deinitialized as *const _ as usize
2004 },
2005 40usize,
2006 concat!(
2007 "Offset of field: ",
2008 stringify!(retro_location_callback),
2009 "::",
2010 stringify!(deinitialized)
2011 )
2012 );
2013}
2014pub const retro_rumble_effect_RETRO_RUMBLE_STRONG: retro_rumble_effect = 0;
2015pub const retro_rumble_effect_RETRO_RUMBLE_WEAK: retro_rumble_effect = 1;
2016pub const retro_rumble_effect_RETRO_RUMBLE_DUMMY: retro_rumble_effect = 2147483647;
2017pub type retro_rumble_effect = ::std::os::raw::c_uint;
2018pub type retro_set_rumble_state_t = ::std::option::Option<
2019 unsafe extern "C" fn(
2020 port: ::std::os::raw::c_uint,
2021 effect: retro_rumble_effect,
2022 strength: u16,
2023 ) -> bool,
2024>;
2025#[repr(C)]
2026#[derive(Debug, Copy, Clone)]
2027pub struct retro_rumble_interface {
2028 pub set_rumble_state: retro_set_rumble_state_t,
2029}
2030#[test]
2031fn bindgen_test_layout_retro_rumble_interface() {
2032 assert_eq!(
2033 ::std::mem::size_of::<retro_rumble_interface>(),
2034 8usize,
2035 concat!("Size of: ", stringify!(retro_rumble_interface))
2036 );
2037 assert_eq!(
2038 ::std::mem::align_of::<retro_rumble_interface>(),
2039 8usize,
2040 concat!("Alignment of ", stringify!(retro_rumble_interface))
2041 );
2042 assert_eq!(
2043 unsafe {
2044 &(*(::std::ptr::null::<retro_rumble_interface>())).set_rumble_state as *const _ as usize
2045 },
2046 0usize,
2047 concat!(
2048 "Offset of field: ",
2049 stringify!(retro_rumble_interface),
2050 "::",
2051 stringify!(set_rumble_state)
2052 )
2053 );
2054}
2055pub type retro_audio_callback_t = ::std::option::Option<unsafe extern "C" fn()>;
2056pub type retro_audio_set_state_callback_t =
2057 ::std::option::Option<unsafe extern "C" fn(enabled: bool)>;
2058#[repr(C)]
2059#[derive(Debug, Copy, Clone)]
2060pub struct retro_audio_callback {
2061 pub callback: retro_audio_callback_t,
2062 pub set_state: retro_audio_set_state_callback_t,
2063}
2064#[test]
2065fn bindgen_test_layout_retro_audio_callback() {
2066 assert_eq!(
2067 ::std::mem::size_of::<retro_audio_callback>(),
2068 16usize,
2069 concat!("Size of: ", stringify!(retro_audio_callback))
2070 );
2071 assert_eq!(
2072 ::std::mem::align_of::<retro_audio_callback>(),
2073 8usize,
2074 concat!("Alignment of ", stringify!(retro_audio_callback))
2075 );
2076 assert_eq!(
2077 unsafe { &(*(::std::ptr::null::<retro_audio_callback>())).callback as *const _ as usize },
2078 0usize,
2079 concat!(
2080 "Offset of field: ",
2081 stringify!(retro_audio_callback),
2082 "::",
2083 stringify!(callback)
2084 )
2085 );
2086 assert_eq!(
2087 unsafe { &(*(::std::ptr::null::<retro_audio_callback>())).set_state as *const _ as usize },
2088 8usize,
2089 concat!(
2090 "Offset of field: ",
2091 stringify!(retro_audio_callback),
2092 "::",
2093 stringify!(set_state)
2094 )
2095 );
2096}
2097pub type retro_usec_t = i64;
2098pub type retro_frame_time_callback_t =
2099 ::std::option::Option<unsafe extern "C" fn(usec: retro_usec_t)>;
2100#[repr(C)]
2101#[derive(Debug, Copy, Clone)]
2102pub struct retro_frame_time_callback {
2103 pub callback: retro_frame_time_callback_t,
2104 pub reference: retro_usec_t,
2105}
2106#[test]
2107fn bindgen_test_layout_retro_frame_time_callback() {
2108 assert_eq!(
2109 ::std::mem::size_of::<retro_frame_time_callback>(),
2110 16usize,
2111 concat!("Size of: ", stringify!(retro_frame_time_callback))
2112 );
2113 assert_eq!(
2114 ::std::mem::align_of::<retro_frame_time_callback>(),
2115 8usize,
2116 concat!("Alignment of ", stringify!(retro_frame_time_callback))
2117 );
2118 assert_eq!(
2119 unsafe {
2120 &(*(::std::ptr::null::<retro_frame_time_callback>())).callback as *const _ as usize
2121 },
2122 0usize,
2123 concat!(
2124 "Offset of field: ",
2125 stringify!(retro_frame_time_callback),
2126 "::",
2127 stringify!(callback)
2128 )
2129 );
2130 assert_eq!(
2131 unsafe {
2132 &(*(::std::ptr::null::<retro_frame_time_callback>())).reference as *const _ as usize
2133 },
2134 8usize,
2135 concat!(
2136 "Offset of field: ",
2137 stringify!(retro_frame_time_callback),
2138 "::",
2139 stringify!(reference)
2140 )
2141 );
2142}
2143pub type retro_audio_buffer_status_callback_t = ::std::option::Option<
2144 unsafe extern "C" fn(active: bool, occupancy: ::std::os::raw::c_uint, underrun_likely: bool),
2145>;
2146#[repr(C)]
2147#[derive(Debug, Copy, Clone)]
2148pub struct retro_audio_buffer_status_callback {
2149 pub callback: retro_audio_buffer_status_callback_t,
2150}
2151#[test]
2152fn bindgen_test_layout_retro_audio_buffer_status_callback() {
2153 assert_eq!(
2154 ::std::mem::size_of::<retro_audio_buffer_status_callback>(),
2155 8usize,
2156 concat!("Size of: ", stringify!(retro_audio_buffer_status_callback))
2157 );
2158 assert_eq!(
2159 ::std::mem::align_of::<retro_audio_buffer_status_callback>(),
2160 8usize,
2161 concat!(
2162 "Alignment of ",
2163 stringify!(retro_audio_buffer_status_callback)
2164 )
2165 );
2166 assert_eq!(
2167 unsafe {
2168 &(*(::std::ptr::null::<retro_audio_buffer_status_callback>())).callback as *const _
2169 as usize
2170 },
2171 0usize,
2172 concat!(
2173 "Offset of field: ",
2174 stringify!(retro_audio_buffer_status_callback),
2175 "::",
2176 stringify!(callback)
2177 )
2178 );
2179}
2180pub type retro_hw_context_reset_t = ::std::option::Option<unsafe extern "C" fn()>;
2181pub type retro_hw_get_current_framebuffer_t =
2182 ::std::option::Option<unsafe extern "C" fn() -> usize>;
2183pub type retro_hw_get_proc_address_t = ::std::option::Option<
2184 unsafe extern "C" fn(sym: *const ::std::os::raw::c_char) -> retro_proc_address_t,
2185>;
2186pub const retro_hw_context_type_RETRO_HW_CONTEXT_NONE: retro_hw_context_type = 0;
2187pub const retro_hw_context_type_RETRO_HW_CONTEXT_OPENGL: retro_hw_context_type = 1;
2188pub const retro_hw_context_type_RETRO_HW_CONTEXT_OPENGLES2: retro_hw_context_type = 2;
2189pub const retro_hw_context_type_RETRO_HW_CONTEXT_OPENGL_CORE: retro_hw_context_type = 3;
2190pub const retro_hw_context_type_RETRO_HW_CONTEXT_OPENGLES3: retro_hw_context_type = 4;
2191pub const retro_hw_context_type_RETRO_HW_CONTEXT_OPENGLES_VERSION: retro_hw_context_type = 5;
2192pub const retro_hw_context_type_RETRO_HW_CONTEXT_VULKAN: retro_hw_context_type = 6;
2193pub const retro_hw_context_type_RETRO_HW_CONTEXT_DIRECT3D: retro_hw_context_type = 7;
2194pub const retro_hw_context_type_RETRO_HW_CONTEXT_DUMMY: retro_hw_context_type = 2147483647;
2195pub type retro_hw_context_type = ::std::os::raw::c_uint;
2196#[repr(C)]
2197#[derive(Debug, Copy, Clone)]
2198pub struct retro_hw_render_callback {
2199 pub context_type: retro_hw_context_type,
2200 pub context_reset: retro_hw_context_reset_t,
2201 pub get_current_framebuffer: retro_hw_get_current_framebuffer_t,
2202 pub get_proc_address: retro_hw_get_proc_address_t,
2203 pub depth: bool,
2204 pub stencil: bool,
2205 pub bottom_left_origin: bool,
2206 pub version_major: ::std::os::raw::c_uint,
2207 pub version_minor: ::std::os::raw::c_uint,
2208 pub cache_context: bool,
2209 pub context_destroy: retro_hw_context_reset_t,
2210 pub debug_context: bool,
2211}
2212#[test]
2213fn bindgen_test_layout_retro_hw_render_callback() {
2214 assert_eq!(
2215 ::std::mem::size_of::<retro_hw_render_callback>(),
2216 64usize,
2217 concat!("Size of: ", stringify!(retro_hw_render_callback))
2218 );
2219 assert_eq!(
2220 ::std::mem::align_of::<retro_hw_render_callback>(),
2221 8usize,
2222 concat!("Alignment of ", stringify!(retro_hw_render_callback))
2223 );
2224 assert_eq!(
2225 unsafe {
2226 &(*(::std::ptr::null::<retro_hw_render_callback>())).context_type as *const _ as usize
2227 },
2228 0usize,
2229 concat!(
2230 "Offset of field: ",
2231 stringify!(retro_hw_render_callback),
2232 "::",
2233 stringify!(context_type)
2234 )
2235 );
2236 assert_eq!(
2237 unsafe {
2238 &(*(::std::ptr::null::<retro_hw_render_callback>())).context_reset as *const _ as usize
2239 },
2240 8usize,
2241 concat!(
2242 "Offset of field: ",
2243 stringify!(retro_hw_render_callback),
2244 "::",
2245 stringify!(context_reset)
2246 )
2247 );
2248 assert_eq!(
2249 unsafe {
2250 &(*(::std::ptr::null::<retro_hw_render_callback>())).get_current_framebuffer as *const _
2251 as usize
2252 },
2253 16usize,
2254 concat!(
2255 "Offset of field: ",
2256 stringify!(retro_hw_render_callback),
2257 "::",
2258 stringify!(get_current_framebuffer)
2259 )
2260 );
2261 assert_eq!(
2262 unsafe {
2263 &(*(::std::ptr::null::<retro_hw_render_callback>())).get_proc_address as *const _
2264 as usize
2265 },
2266 24usize,
2267 concat!(
2268 "Offset of field: ",
2269 stringify!(retro_hw_render_callback),
2270 "::",
2271 stringify!(get_proc_address)
2272 )
2273 );
2274 assert_eq!(
2275 unsafe { &(*(::std::ptr::null::<retro_hw_render_callback>())).depth as *const _ as usize },
2276 32usize,
2277 concat!(
2278 "Offset of field: ",
2279 stringify!(retro_hw_render_callback),
2280 "::",
2281 stringify!(depth)
2282 )
2283 );
2284 assert_eq!(
2285 unsafe {
2286 &(*(::std::ptr::null::<retro_hw_render_callback>())).stencil as *const _ as usize
2287 },
2288 33usize,
2289 concat!(
2290 "Offset of field: ",
2291 stringify!(retro_hw_render_callback),
2292 "::",
2293 stringify!(stencil)
2294 )
2295 );
2296 assert_eq!(
2297 unsafe {
2298 &(*(::std::ptr::null::<retro_hw_render_callback>())).bottom_left_origin as *const _
2299 as usize
2300 },
2301 34usize,
2302 concat!(
2303 "Offset of field: ",
2304 stringify!(retro_hw_render_callback),
2305 "::",
2306 stringify!(bottom_left_origin)
2307 )
2308 );
2309 assert_eq!(
2310 unsafe {
2311 &(*(::std::ptr::null::<retro_hw_render_callback>())).version_major as *const _ as usize
2312 },
2313 36usize,
2314 concat!(
2315 "Offset of field: ",
2316 stringify!(retro_hw_render_callback),
2317 "::",
2318 stringify!(version_major)
2319 )
2320 );
2321 assert_eq!(
2322 unsafe {
2323 &(*(::std::ptr::null::<retro_hw_render_callback>())).version_minor as *const _ as usize
2324 },
2325 40usize,
2326 concat!(
2327 "Offset of field: ",
2328 stringify!(retro_hw_render_callback),
2329 "::",
2330 stringify!(version_minor)
2331 )
2332 );
2333 assert_eq!(
2334 unsafe {
2335 &(*(::std::ptr::null::<retro_hw_render_callback>())).cache_context as *const _ as usize
2336 },
2337 44usize,
2338 concat!(
2339 "Offset of field: ",
2340 stringify!(retro_hw_render_callback),
2341 "::",
2342 stringify!(cache_context)
2343 )
2344 );
2345 assert_eq!(
2346 unsafe {
2347 &(*(::std::ptr::null::<retro_hw_render_callback>())).context_destroy as *const _
2348 as usize
2349 },
2350 48usize,
2351 concat!(
2352 "Offset of field: ",
2353 stringify!(retro_hw_render_callback),
2354 "::",
2355 stringify!(context_destroy)
2356 )
2357 );
2358 assert_eq!(
2359 unsafe {
2360 &(*(::std::ptr::null::<retro_hw_render_callback>())).debug_context as *const _ as usize
2361 },
2362 56usize,
2363 concat!(
2364 "Offset of field: ",
2365 stringify!(retro_hw_render_callback),
2366 "::",
2367 stringify!(debug_context)
2368 )
2369 );
2370}
2371pub type retro_keyboard_event_t = ::std::option::Option<
2372 unsafe extern "C" fn(
2373 down: bool,
2374 keycode: ::std::os::raw::c_uint,
2375 character: u32,
2376 key_modifiers: u16,
2377 ),
2378>;
2379#[repr(C)]
2380#[derive(Debug, Copy, Clone)]
2381pub struct retro_keyboard_callback {
2382 pub callback: retro_keyboard_event_t,
2383}
2384#[test]
2385fn bindgen_test_layout_retro_keyboard_callback() {
2386 assert_eq!(
2387 ::std::mem::size_of::<retro_keyboard_callback>(),
2388 8usize,
2389 concat!("Size of: ", stringify!(retro_keyboard_callback))
2390 );
2391 assert_eq!(
2392 ::std::mem::align_of::<retro_keyboard_callback>(),
2393 8usize,
2394 concat!("Alignment of ", stringify!(retro_keyboard_callback))
2395 );
2396 assert_eq!(
2397 unsafe {
2398 &(*(::std::ptr::null::<retro_keyboard_callback>())).callback as *const _ as usize
2399 },
2400 0usize,
2401 concat!(
2402 "Offset of field: ",
2403 stringify!(retro_keyboard_callback),
2404 "::",
2405 stringify!(callback)
2406 )
2407 );
2408}
2409pub type retro_set_eject_state_t =
2410 ::std::option::Option<unsafe extern "C" fn(ejected: bool) -> bool>;
2411pub type retro_get_eject_state_t = ::std::option::Option<unsafe extern "C" fn() -> bool>;
2412pub type retro_get_image_index_t =
2413 ::std::option::Option<unsafe extern "C" fn() -> ::std::os::raw::c_uint>;
2414pub type retro_set_image_index_t =
2415 ::std::option::Option<unsafe extern "C" fn(index: ::std::os::raw::c_uint) -> bool>;
2416pub type retro_get_num_images_t =
2417 ::std::option::Option<unsafe extern "C" fn() -> ::std::os::raw::c_uint>;
2418pub type retro_replace_image_index_t = ::std::option::Option<
2419 unsafe extern "C" fn(index: ::std::os::raw::c_uint, info: *const retro_game_info) -> bool,
2420>;
2421pub type retro_add_image_index_t = ::std::option::Option<unsafe extern "C" fn() -> bool>;
2422pub type retro_set_initial_image_t = ::std::option::Option<
2423 unsafe extern "C" fn(
2424 index: ::std::os::raw::c_uint,
2425 path: *const ::std::os::raw::c_char,
2426 ) -> bool,
2427>;
2428pub type retro_get_image_path_t = ::std::option::Option<
2429 unsafe extern "C" fn(
2430 index: ::std::os::raw::c_uint,
2431 path: *mut ::std::os::raw::c_char,
2432 len: size_t,
2433 ) -> bool,
2434>;
2435pub type retro_get_image_label_t = ::std::option::Option<
2436 unsafe extern "C" fn(
2437 index: ::std::os::raw::c_uint,
2438 label: *mut ::std::os::raw::c_char,
2439 len: size_t,
2440 ) -> bool,
2441>;
2442#[repr(C)]
2443#[derive(Debug, Copy, Clone)]
2444pub struct retro_disk_control_callback {
2445 pub set_eject_state: retro_set_eject_state_t,
2446 pub get_eject_state: retro_get_eject_state_t,
2447 pub get_image_index: retro_get_image_index_t,
2448 pub set_image_index: retro_set_image_index_t,
2449 pub get_num_images: retro_get_num_images_t,
2450 pub replace_image_index: retro_replace_image_index_t,
2451 pub add_image_index: retro_add_image_index_t,
2452}
2453#[test]
2454fn bindgen_test_layout_retro_disk_control_callback() {
2455 assert_eq!(
2456 ::std::mem::size_of::<retro_disk_control_callback>(),
2457 56usize,
2458 concat!("Size of: ", stringify!(retro_disk_control_callback))
2459 );
2460 assert_eq!(
2461 ::std::mem::align_of::<retro_disk_control_callback>(),
2462 8usize,
2463 concat!("Alignment of ", stringify!(retro_disk_control_callback))
2464 );
2465 assert_eq!(
2466 unsafe {
2467 &(*(::std::ptr::null::<retro_disk_control_callback>())).set_eject_state as *const _
2468 as usize
2469 },
2470 0usize,
2471 concat!(
2472 "Offset of field: ",
2473 stringify!(retro_disk_control_callback),
2474 "::",
2475 stringify!(set_eject_state)
2476 )
2477 );
2478 assert_eq!(
2479 unsafe {
2480 &(*(::std::ptr::null::<retro_disk_control_callback>())).get_eject_state as *const _
2481 as usize
2482 },
2483 8usize,
2484 concat!(
2485 "Offset of field: ",
2486 stringify!(retro_disk_control_callback),
2487 "::",
2488 stringify!(get_eject_state)
2489 )
2490 );
2491 assert_eq!(
2492 unsafe {
2493 &(*(::std::ptr::null::<retro_disk_control_callback>())).get_image_index as *const _
2494 as usize
2495 },
2496 16usize,
2497 concat!(
2498 "Offset of field: ",
2499 stringify!(retro_disk_control_callback),
2500 "::",
2501 stringify!(get_image_index)
2502 )
2503 );
2504 assert_eq!(
2505 unsafe {
2506 &(*(::std::ptr::null::<retro_disk_control_callback>())).set_image_index as *const _
2507 as usize
2508 },
2509 24usize,
2510 concat!(
2511 "Offset of field: ",
2512 stringify!(retro_disk_control_callback),
2513 "::",
2514 stringify!(set_image_index)
2515 )
2516 );
2517 assert_eq!(
2518 unsafe {
2519 &(*(::std::ptr::null::<retro_disk_control_callback>())).get_num_images as *const _
2520 as usize
2521 },
2522 32usize,
2523 concat!(
2524 "Offset of field: ",
2525 stringify!(retro_disk_control_callback),
2526 "::",
2527 stringify!(get_num_images)
2528 )
2529 );
2530 assert_eq!(
2531 unsafe {
2532 &(*(::std::ptr::null::<retro_disk_control_callback>())).replace_image_index as *const _
2533 as usize
2534 },
2535 40usize,
2536 concat!(
2537 "Offset of field: ",
2538 stringify!(retro_disk_control_callback),
2539 "::",
2540 stringify!(replace_image_index)
2541 )
2542 );
2543 assert_eq!(
2544 unsafe {
2545 &(*(::std::ptr::null::<retro_disk_control_callback>())).add_image_index as *const _
2546 as usize
2547 },
2548 48usize,
2549 concat!(
2550 "Offset of field: ",
2551 stringify!(retro_disk_control_callback),
2552 "::",
2553 stringify!(add_image_index)
2554 )
2555 );
2556}
2557#[repr(C)]
2558#[derive(Debug, Copy, Clone)]
2559pub struct retro_disk_control_ext_callback {
2560 pub set_eject_state: retro_set_eject_state_t,
2561 pub get_eject_state: retro_get_eject_state_t,
2562 pub get_image_index: retro_get_image_index_t,
2563 pub set_image_index: retro_set_image_index_t,
2564 pub get_num_images: retro_get_num_images_t,
2565 pub replace_image_index: retro_replace_image_index_t,
2566 pub add_image_index: retro_add_image_index_t,
2567 pub set_initial_image: retro_set_initial_image_t,
2568 pub get_image_path: retro_get_image_path_t,
2569 pub get_image_label: retro_get_image_label_t,
2570}
2571#[test]
2572fn bindgen_test_layout_retro_disk_control_ext_callback() {
2573 assert_eq!(
2574 ::std::mem::size_of::<retro_disk_control_ext_callback>(),
2575 80usize,
2576 concat!("Size of: ", stringify!(retro_disk_control_ext_callback))
2577 );
2578 assert_eq!(
2579 ::std::mem::align_of::<retro_disk_control_ext_callback>(),
2580 8usize,
2581 concat!("Alignment of ", stringify!(retro_disk_control_ext_callback))
2582 );
2583 assert_eq!(
2584 unsafe {
2585 &(*(::std::ptr::null::<retro_disk_control_ext_callback>())).set_eject_state as *const _
2586 as usize
2587 },
2588 0usize,
2589 concat!(
2590 "Offset of field: ",
2591 stringify!(retro_disk_control_ext_callback),
2592 "::",
2593 stringify!(set_eject_state)
2594 )
2595 );
2596 assert_eq!(
2597 unsafe {
2598 &(*(::std::ptr::null::<retro_disk_control_ext_callback>())).get_eject_state as *const _
2599 as usize
2600 },
2601 8usize,
2602 concat!(
2603 "Offset of field: ",
2604 stringify!(retro_disk_control_ext_callback),
2605 "::",
2606 stringify!(get_eject_state)
2607 )
2608 );
2609 assert_eq!(
2610 unsafe {
2611 &(*(::std::ptr::null::<retro_disk_control_ext_callback>())).get_image_index as *const _
2612 as usize
2613 },
2614 16usize,
2615 concat!(
2616 "Offset of field: ",
2617 stringify!(retro_disk_control_ext_callback),
2618 "::",
2619 stringify!(get_image_index)
2620 )
2621 );
2622 assert_eq!(
2623 unsafe {
2624 &(*(::std::ptr::null::<retro_disk_control_ext_callback>())).set_image_index as *const _
2625 as usize
2626 },
2627 24usize,
2628 concat!(
2629 "Offset of field: ",
2630 stringify!(retro_disk_control_ext_callback),
2631 "::",
2632 stringify!(set_image_index)
2633 )
2634 );
2635 assert_eq!(
2636 unsafe {
2637 &(*(::std::ptr::null::<retro_disk_control_ext_callback>())).get_num_images as *const _
2638 as usize
2639 },
2640 32usize,
2641 concat!(
2642 "Offset of field: ",
2643 stringify!(retro_disk_control_ext_callback),
2644 "::",
2645 stringify!(get_num_images)
2646 )
2647 );
2648 assert_eq!(
2649 unsafe {
2650 &(*(::std::ptr::null::<retro_disk_control_ext_callback>())).replace_image_index
2651 as *const _ as usize
2652 },
2653 40usize,
2654 concat!(
2655 "Offset of field: ",
2656 stringify!(retro_disk_control_ext_callback),
2657 "::",
2658 stringify!(replace_image_index)
2659 )
2660 );
2661 assert_eq!(
2662 unsafe {
2663 &(*(::std::ptr::null::<retro_disk_control_ext_callback>())).add_image_index as *const _
2664 as usize
2665 },
2666 48usize,
2667 concat!(
2668 "Offset of field: ",
2669 stringify!(retro_disk_control_ext_callback),
2670 "::",
2671 stringify!(add_image_index)
2672 )
2673 );
2674 assert_eq!(
2675 unsafe {
2676 &(*(::std::ptr::null::<retro_disk_control_ext_callback>())).set_initial_image
2677 as *const _ as usize
2678 },
2679 56usize,
2680 concat!(
2681 "Offset of field: ",
2682 stringify!(retro_disk_control_ext_callback),
2683 "::",
2684 stringify!(set_initial_image)
2685 )
2686 );
2687 assert_eq!(
2688 unsafe {
2689 &(*(::std::ptr::null::<retro_disk_control_ext_callback>())).get_image_path as *const _
2690 as usize
2691 },
2692 64usize,
2693 concat!(
2694 "Offset of field: ",
2695 stringify!(retro_disk_control_ext_callback),
2696 "::",
2697 stringify!(get_image_path)
2698 )
2699 );
2700 assert_eq!(
2701 unsafe {
2702 &(*(::std::ptr::null::<retro_disk_control_ext_callback>())).get_image_label as *const _
2703 as usize
2704 },
2705 72usize,
2706 concat!(
2707 "Offset of field: ",
2708 stringify!(retro_disk_control_ext_callback),
2709 "::",
2710 stringify!(get_image_label)
2711 )
2712 );
2713}
2714pub const retro_pixel_format_RETRO_PIXEL_FORMAT_0RGB1555: retro_pixel_format = 0;
2715pub const retro_pixel_format_RETRO_PIXEL_FORMAT_XRGB8888: retro_pixel_format = 1;
2716pub const retro_pixel_format_RETRO_PIXEL_FORMAT_RGB565: retro_pixel_format = 2;
2717pub const retro_pixel_format_RETRO_PIXEL_FORMAT_UNKNOWN: retro_pixel_format = 2147483647;
2718pub type retro_pixel_format = ::std::os::raw::c_uint;
2719#[repr(C)]
2720#[derive(Debug, Copy, Clone)]
2721pub struct retro_message {
2722 pub msg: *const ::std::os::raw::c_char,
2723 pub frames: ::std::os::raw::c_uint,
2724}
2725#[test]
2726fn bindgen_test_layout_retro_message() {
2727 assert_eq!(
2728 ::std::mem::size_of::<retro_message>(),
2729 16usize,
2730 concat!("Size of: ", stringify!(retro_message))
2731 );
2732 assert_eq!(
2733 ::std::mem::align_of::<retro_message>(),
2734 8usize,
2735 concat!("Alignment of ", stringify!(retro_message))
2736 );
2737 assert_eq!(
2738 unsafe { &(*(::std::ptr::null::<retro_message>())).msg as *const _ as usize },
2739 0usize,
2740 concat!(
2741 "Offset of field: ",
2742 stringify!(retro_message),
2743 "::",
2744 stringify!(msg)
2745 )
2746 );
2747 assert_eq!(
2748 unsafe { &(*(::std::ptr::null::<retro_message>())).frames as *const _ as usize },
2749 8usize,
2750 concat!(
2751 "Offset of field: ",
2752 stringify!(retro_message),
2753 "::",
2754 stringify!(frames)
2755 )
2756 );
2757}
2758pub const retro_message_target_RETRO_MESSAGE_TARGET_ALL: retro_message_target = 0;
2759pub const retro_message_target_RETRO_MESSAGE_TARGET_OSD: retro_message_target = 1;
2760pub const retro_message_target_RETRO_MESSAGE_TARGET_LOG: retro_message_target = 2;
2761pub type retro_message_target = ::std::os::raw::c_uint;
2762pub const retro_message_type_RETRO_MESSAGE_TYPE_NOTIFICATION: retro_message_type = 0;
2763pub const retro_message_type_RETRO_MESSAGE_TYPE_NOTIFICATION_ALT: retro_message_type = 1;
2764pub const retro_message_type_RETRO_MESSAGE_TYPE_STATUS: retro_message_type = 2;
2765pub const retro_message_type_RETRO_MESSAGE_TYPE_PROGRESS: retro_message_type = 3;
2766pub type retro_message_type = ::std::os::raw::c_uint;
2767#[repr(C)]
2768#[derive(Debug, Copy, Clone)]
2769pub struct retro_message_ext {
2770 pub msg: *const ::std::os::raw::c_char,
2771 pub duration: ::std::os::raw::c_uint,
2772 pub priority: ::std::os::raw::c_uint,
2773 pub level: retro_log_level,
2774 pub target: retro_message_target,
2775 pub type_: retro_message_type,
2776 pub progress: i8,
2777}
2778#[test]
2779fn bindgen_test_layout_retro_message_ext() {
2780 assert_eq!(
2781 ::std::mem::size_of::<retro_message_ext>(),
2782 32usize,
2783 concat!("Size of: ", stringify!(retro_message_ext))
2784 );
2785 assert_eq!(
2786 ::std::mem::align_of::<retro_message_ext>(),
2787 8usize,
2788 concat!("Alignment of ", stringify!(retro_message_ext))
2789 );
2790 assert_eq!(
2791 unsafe { &(*(::std::ptr::null::<retro_message_ext>())).msg as *const _ as usize },
2792 0usize,
2793 concat!(
2794 "Offset of field: ",
2795 stringify!(retro_message_ext),
2796 "::",
2797 stringify!(msg)
2798 )
2799 );
2800 assert_eq!(
2801 unsafe { &(*(::std::ptr::null::<retro_message_ext>())).duration as *const _ as usize },
2802 8usize,
2803 concat!(
2804 "Offset of field: ",
2805 stringify!(retro_message_ext),
2806 "::",
2807 stringify!(duration)
2808 )
2809 );
2810 assert_eq!(
2811 unsafe { &(*(::std::ptr::null::<retro_message_ext>())).priority as *const _ as usize },
2812 12usize,
2813 concat!(
2814 "Offset of field: ",
2815 stringify!(retro_message_ext),
2816 "::",
2817 stringify!(priority)
2818 )
2819 );
2820 assert_eq!(
2821 unsafe { &(*(::std::ptr::null::<retro_message_ext>())).level as *const _ as usize },
2822 16usize,
2823 concat!(
2824 "Offset of field: ",
2825 stringify!(retro_message_ext),
2826 "::",
2827 stringify!(level)
2828 )
2829 );
2830 assert_eq!(
2831 unsafe { &(*(::std::ptr::null::<retro_message_ext>())).target as *const _ as usize },
2832 20usize,
2833 concat!(
2834 "Offset of field: ",
2835 stringify!(retro_message_ext),
2836 "::",
2837 stringify!(target)
2838 )
2839 );
2840 assert_eq!(
2841 unsafe { &(*(::std::ptr::null::<retro_message_ext>())).type_ as *const _ as usize },
2842 24usize,
2843 concat!(
2844 "Offset of field: ",
2845 stringify!(retro_message_ext),
2846 "::",
2847 stringify!(type_)
2848 )
2849 );
2850 assert_eq!(
2851 unsafe { &(*(::std::ptr::null::<retro_message_ext>())).progress as *const _ as usize },
2852 28usize,
2853 concat!(
2854 "Offset of field: ",
2855 stringify!(retro_message_ext),
2856 "::",
2857 stringify!(progress)
2858 )
2859 );
2860}
2861#[repr(C)]
2862#[derive(Debug, Copy, Clone)]
2863pub struct retro_input_descriptor {
2864 pub port: ::std::os::raw::c_uint,
2865 pub device: ::std::os::raw::c_uint,
2866 pub index: ::std::os::raw::c_uint,
2867 pub id: ::std::os::raw::c_uint,
2868 pub description: *const ::std::os::raw::c_char,
2869}
2870#[test]
2871fn bindgen_test_layout_retro_input_descriptor() {
2872 assert_eq!(
2873 ::std::mem::size_of::<retro_input_descriptor>(),
2874 24usize,
2875 concat!("Size of: ", stringify!(retro_input_descriptor))
2876 );
2877 assert_eq!(
2878 ::std::mem::align_of::<retro_input_descriptor>(),
2879 8usize,
2880 concat!("Alignment of ", stringify!(retro_input_descriptor))
2881 );
2882 assert_eq!(
2883 unsafe { &(*(::std::ptr::null::<retro_input_descriptor>())).port as *const _ as usize },
2884 0usize,
2885 concat!(
2886 "Offset of field: ",
2887 stringify!(retro_input_descriptor),
2888 "::",
2889 stringify!(port)
2890 )
2891 );
2892 assert_eq!(
2893 unsafe { &(*(::std::ptr::null::<retro_input_descriptor>())).device as *const _ as usize },
2894 4usize,
2895 concat!(
2896 "Offset of field: ",
2897 stringify!(retro_input_descriptor),
2898 "::",
2899 stringify!(device)
2900 )
2901 );
2902 assert_eq!(
2903 unsafe { &(*(::std::ptr::null::<retro_input_descriptor>())).index as *const _ as usize },
2904 8usize,
2905 concat!(
2906 "Offset of field: ",
2907 stringify!(retro_input_descriptor),
2908 "::",
2909 stringify!(index)
2910 )
2911 );
2912 assert_eq!(
2913 unsafe { &(*(::std::ptr::null::<retro_input_descriptor>())).id as *const _ as usize },
2914 12usize,
2915 concat!(
2916 "Offset of field: ",
2917 stringify!(retro_input_descriptor),
2918 "::",
2919 stringify!(id)
2920 )
2921 );
2922 assert_eq!(
2923 unsafe {
2924 &(*(::std::ptr::null::<retro_input_descriptor>())).description as *const _ as usize
2925 },
2926 16usize,
2927 concat!(
2928 "Offset of field: ",
2929 stringify!(retro_input_descriptor),
2930 "::",
2931 stringify!(description)
2932 )
2933 );
2934}
2935#[repr(C)]
2936#[derive(Debug, Copy, Clone)]
2937pub struct retro_system_info {
2938 pub library_name: *const ::std::os::raw::c_char,
2939 pub library_version: *const ::std::os::raw::c_char,
2940 pub valid_extensions: *const ::std::os::raw::c_char,
2941 pub need_fullpath: bool,
2942 pub block_extract: bool,
2943}
2944#[test]
2945fn bindgen_test_layout_retro_system_info() {
2946 assert_eq!(
2947 ::std::mem::size_of::<retro_system_info>(),
2948 32usize,
2949 concat!("Size of: ", stringify!(retro_system_info))
2950 );
2951 assert_eq!(
2952 ::std::mem::align_of::<retro_system_info>(),
2953 8usize,
2954 concat!("Alignment of ", stringify!(retro_system_info))
2955 );
2956 assert_eq!(
2957 unsafe { &(*(::std::ptr::null::<retro_system_info>())).library_name as *const _ as usize },
2958 0usize,
2959 concat!(
2960 "Offset of field: ",
2961 stringify!(retro_system_info),
2962 "::",
2963 stringify!(library_name)
2964 )
2965 );
2966 assert_eq!(
2967 unsafe {
2968 &(*(::std::ptr::null::<retro_system_info>())).library_version as *const _ as usize
2969 },
2970 8usize,
2971 concat!(
2972 "Offset of field: ",
2973 stringify!(retro_system_info),
2974 "::",
2975 stringify!(library_version)
2976 )
2977 );
2978 assert_eq!(
2979 unsafe {
2980 &(*(::std::ptr::null::<retro_system_info>())).valid_extensions as *const _ as usize
2981 },
2982 16usize,
2983 concat!(
2984 "Offset of field: ",
2985 stringify!(retro_system_info),
2986 "::",
2987 stringify!(valid_extensions)
2988 )
2989 );
2990 assert_eq!(
2991 unsafe { &(*(::std::ptr::null::<retro_system_info>())).need_fullpath as *const _ as usize },
2992 24usize,
2993 concat!(
2994 "Offset of field: ",
2995 stringify!(retro_system_info),
2996 "::",
2997 stringify!(need_fullpath)
2998 )
2999 );
3000 assert_eq!(
3001 unsafe { &(*(::std::ptr::null::<retro_system_info>())).block_extract as *const _ as usize },
3002 25usize,
3003 concat!(
3004 "Offset of field: ",
3005 stringify!(retro_system_info),
3006 "::",
3007 stringify!(block_extract)
3008 )
3009 );
3010}
3011#[repr(C)]
3012#[derive(Debug, Copy, Clone)]
3013pub struct retro_system_content_info_override {
3014 pub extensions: *const ::std::os::raw::c_char,
3015 pub need_fullpath: bool,
3016 pub persistent_data: bool,
3017}
3018#[test]
3019fn bindgen_test_layout_retro_system_content_info_override() {
3020 assert_eq!(
3021 ::std::mem::size_of::<retro_system_content_info_override>(),
3022 16usize,
3023 concat!("Size of: ", stringify!(retro_system_content_info_override))
3024 );
3025 assert_eq!(
3026 ::std::mem::align_of::<retro_system_content_info_override>(),
3027 8usize,
3028 concat!(
3029 "Alignment of ",
3030 stringify!(retro_system_content_info_override)
3031 )
3032 );
3033 assert_eq!(
3034 unsafe {
3035 &(*(::std::ptr::null::<retro_system_content_info_override>())).extensions as *const _
3036 as usize
3037 },
3038 0usize,
3039 concat!(
3040 "Offset of field: ",
3041 stringify!(retro_system_content_info_override),
3042 "::",
3043 stringify!(extensions)
3044 )
3045 );
3046 assert_eq!(
3047 unsafe {
3048 &(*(::std::ptr::null::<retro_system_content_info_override>())).need_fullpath as *const _
3049 as usize
3050 },
3051 8usize,
3052 concat!(
3053 "Offset of field: ",
3054 stringify!(retro_system_content_info_override),
3055 "::",
3056 stringify!(need_fullpath)
3057 )
3058 );
3059 assert_eq!(
3060 unsafe {
3061 &(*(::std::ptr::null::<retro_system_content_info_override>())).persistent_data
3062 as *const _ as usize
3063 },
3064 9usize,
3065 concat!(
3066 "Offset of field: ",
3067 stringify!(retro_system_content_info_override),
3068 "::",
3069 stringify!(persistent_data)
3070 )
3071 );
3072}
3073#[repr(C)]
3074#[derive(Debug, Copy, Clone)]
3075pub struct retro_game_info_ext {
3076 pub full_path: *const ::std::os::raw::c_char,
3077 pub archive_path: *const ::std::os::raw::c_char,
3078 pub archive_file: *const ::std::os::raw::c_char,
3079 pub dir: *const ::std::os::raw::c_char,
3080 pub name: *const ::std::os::raw::c_char,
3081 pub ext: *const ::std::os::raw::c_char,
3082 pub meta: *const ::std::os::raw::c_char,
3083 pub data: *const ::std::os::raw::c_void,
3084 pub size: size_t,
3085 pub file_in_archive: bool,
3086 pub persistent_data: bool,
3087}
3088#[test]
3089fn bindgen_test_layout_retro_game_info_ext() {
3090 assert_eq!(
3091 ::std::mem::size_of::<retro_game_info_ext>(),
3092 80usize,
3093 concat!("Size of: ", stringify!(retro_game_info_ext))
3094 );
3095 assert_eq!(
3096 ::std::mem::align_of::<retro_game_info_ext>(),
3097 8usize,
3098 concat!("Alignment of ", stringify!(retro_game_info_ext))
3099 );
3100 assert_eq!(
3101 unsafe { &(*(::std::ptr::null::<retro_game_info_ext>())).full_path as *const _ as usize },
3102 0usize,
3103 concat!(
3104 "Offset of field: ",
3105 stringify!(retro_game_info_ext),
3106 "::",
3107 stringify!(full_path)
3108 )
3109 );
3110 assert_eq!(
3111 unsafe {
3112 &(*(::std::ptr::null::<retro_game_info_ext>())).archive_path as *const _ as usize
3113 },
3114 8usize,
3115 concat!(
3116 "Offset of field: ",
3117 stringify!(retro_game_info_ext),
3118 "::",
3119 stringify!(archive_path)
3120 )
3121 );
3122 assert_eq!(
3123 unsafe {
3124 &(*(::std::ptr::null::<retro_game_info_ext>())).archive_file as *const _ as usize
3125 },
3126 16usize,
3127 concat!(
3128 "Offset of field: ",
3129 stringify!(retro_game_info_ext),
3130 "::",
3131 stringify!(archive_file)
3132 )
3133 );
3134 assert_eq!(
3135 unsafe { &(*(::std::ptr::null::<retro_game_info_ext>())).dir as *const _ as usize },
3136 24usize,
3137 concat!(
3138 "Offset of field: ",
3139 stringify!(retro_game_info_ext),
3140 "::",
3141 stringify!(dir)
3142 )
3143 );
3144 assert_eq!(
3145 unsafe { &(*(::std::ptr::null::<retro_game_info_ext>())).name as *const _ as usize },
3146 32usize,
3147 concat!(
3148 "Offset of field: ",
3149 stringify!(retro_game_info_ext),
3150 "::",
3151 stringify!(name)
3152 )
3153 );
3154 assert_eq!(
3155 unsafe { &(*(::std::ptr::null::<retro_game_info_ext>())).ext as *const _ as usize },
3156 40usize,
3157 concat!(
3158 "Offset of field: ",
3159 stringify!(retro_game_info_ext),
3160 "::",
3161 stringify!(ext)
3162 )
3163 );
3164 assert_eq!(
3165 unsafe { &(*(::std::ptr::null::<retro_game_info_ext>())).meta as *const _ as usize },
3166 48usize,
3167 concat!(
3168 "Offset of field: ",
3169 stringify!(retro_game_info_ext),
3170 "::",
3171 stringify!(meta)
3172 )
3173 );
3174 assert_eq!(
3175 unsafe { &(*(::std::ptr::null::<retro_game_info_ext>())).data as *const _ as usize },
3176 56usize,
3177 concat!(
3178 "Offset of field: ",
3179 stringify!(retro_game_info_ext),
3180 "::",
3181 stringify!(data)
3182 )
3183 );
3184 assert_eq!(
3185 unsafe { &(*(::std::ptr::null::<retro_game_info_ext>())).size as *const _ as usize },
3186 64usize,
3187 concat!(
3188 "Offset of field: ",
3189 stringify!(retro_game_info_ext),
3190 "::",
3191 stringify!(size)
3192 )
3193 );
3194 assert_eq!(
3195 unsafe {
3196 &(*(::std::ptr::null::<retro_game_info_ext>())).file_in_archive as *const _ as usize
3197 },
3198 72usize,
3199 concat!(
3200 "Offset of field: ",
3201 stringify!(retro_game_info_ext),
3202 "::",
3203 stringify!(file_in_archive)
3204 )
3205 );
3206 assert_eq!(
3207 unsafe {
3208 &(*(::std::ptr::null::<retro_game_info_ext>())).persistent_data as *const _ as usize
3209 },
3210 73usize,
3211 concat!(
3212 "Offset of field: ",
3213 stringify!(retro_game_info_ext),
3214 "::",
3215 stringify!(persistent_data)
3216 )
3217 );
3218}
3219#[repr(C)]
3220#[derive(Debug, Copy, Clone)]
3221pub struct retro_game_geometry {
3222 pub base_width: ::std::os::raw::c_uint,
3223 pub base_height: ::std::os::raw::c_uint,
3224 pub max_width: ::std::os::raw::c_uint,
3225 pub max_height: ::std::os::raw::c_uint,
3226 pub aspect_ratio: f32,
3227}
3228#[test]
3229fn bindgen_test_layout_retro_game_geometry() {
3230 assert_eq!(
3231 ::std::mem::size_of::<retro_game_geometry>(),
3232 20usize,
3233 concat!("Size of: ", stringify!(retro_game_geometry))
3234 );
3235 assert_eq!(
3236 ::std::mem::align_of::<retro_game_geometry>(),
3237 4usize,
3238 concat!("Alignment of ", stringify!(retro_game_geometry))
3239 );
3240 assert_eq!(
3241 unsafe { &(*(::std::ptr::null::<retro_game_geometry>())).base_width as *const _ as usize },
3242 0usize,
3243 concat!(
3244 "Offset of field: ",
3245 stringify!(retro_game_geometry),
3246 "::",
3247 stringify!(base_width)
3248 )
3249 );
3250 assert_eq!(
3251 unsafe { &(*(::std::ptr::null::<retro_game_geometry>())).base_height as *const _ as usize },
3252 4usize,
3253 concat!(
3254 "Offset of field: ",
3255 stringify!(retro_game_geometry),
3256 "::",
3257 stringify!(base_height)
3258 )
3259 );
3260 assert_eq!(
3261 unsafe { &(*(::std::ptr::null::<retro_game_geometry>())).max_width as *const _ as usize },
3262 8usize,
3263 concat!(
3264 "Offset of field: ",
3265 stringify!(retro_game_geometry),
3266 "::",
3267 stringify!(max_width)
3268 )
3269 );
3270 assert_eq!(
3271 unsafe { &(*(::std::ptr::null::<retro_game_geometry>())).max_height as *const _ as usize },
3272 12usize,
3273 concat!(
3274 "Offset of field: ",
3275 stringify!(retro_game_geometry),
3276 "::",
3277 stringify!(max_height)
3278 )
3279 );
3280 assert_eq!(
3281 unsafe {
3282 &(*(::std::ptr::null::<retro_game_geometry>())).aspect_ratio as *const _ as usize
3283 },
3284 16usize,
3285 concat!(
3286 "Offset of field: ",
3287 stringify!(retro_game_geometry),
3288 "::",
3289 stringify!(aspect_ratio)
3290 )
3291 );
3292}
3293#[repr(C)]
3294#[derive(Debug, Copy, Clone)]
3295pub struct retro_system_timing {
3296 pub fps: f64,
3297 pub sample_rate: f64,
3298}
3299#[test]
3300fn bindgen_test_layout_retro_system_timing() {
3301 assert_eq!(
3302 ::std::mem::size_of::<retro_system_timing>(),
3303 16usize,
3304 concat!("Size of: ", stringify!(retro_system_timing))
3305 );
3306 assert_eq!(
3307 ::std::mem::align_of::<retro_system_timing>(),
3308 8usize,
3309 concat!("Alignment of ", stringify!(retro_system_timing))
3310 );
3311 assert_eq!(
3312 unsafe { &(*(::std::ptr::null::<retro_system_timing>())).fps as *const _ as usize },
3313 0usize,
3314 concat!(
3315 "Offset of field: ",
3316 stringify!(retro_system_timing),
3317 "::",
3318 stringify!(fps)
3319 )
3320 );
3321 assert_eq!(
3322 unsafe { &(*(::std::ptr::null::<retro_system_timing>())).sample_rate as *const _ as usize },
3323 8usize,
3324 concat!(
3325 "Offset of field: ",
3326 stringify!(retro_system_timing),
3327 "::",
3328 stringify!(sample_rate)
3329 )
3330 );
3331}
3332#[repr(C)]
3333#[derive(Debug, Copy, Clone)]
3334pub struct retro_system_av_info {
3335 pub geometry: retro_game_geometry,
3336 pub timing: retro_system_timing,
3337}
3338#[test]
3339fn bindgen_test_layout_retro_system_av_info() {
3340 assert_eq!(
3341 ::std::mem::size_of::<retro_system_av_info>(),
3342 40usize,
3343 concat!("Size of: ", stringify!(retro_system_av_info))
3344 );
3345 assert_eq!(
3346 ::std::mem::align_of::<retro_system_av_info>(),
3347 8usize,
3348 concat!("Alignment of ", stringify!(retro_system_av_info))
3349 );
3350 assert_eq!(
3351 unsafe { &(*(::std::ptr::null::<retro_system_av_info>())).geometry as *const _ as usize },
3352 0usize,
3353 concat!(
3354 "Offset of field: ",
3355 stringify!(retro_system_av_info),
3356 "::",
3357 stringify!(geometry)
3358 )
3359 );
3360 assert_eq!(
3361 unsafe { &(*(::std::ptr::null::<retro_system_av_info>())).timing as *const _ as usize },
3362 24usize,
3363 concat!(
3364 "Offset of field: ",
3365 stringify!(retro_system_av_info),
3366 "::",
3367 stringify!(timing)
3368 )
3369 );
3370}
3371#[repr(C)]
3372#[derive(Debug, Copy, Clone)]
3373pub struct retro_variable {
3374 pub key: *const ::std::os::raw::c_char,
3375 pub value: *const ::std::os::raw::c_char,
3376}
3377#[test]
3378fn bindgen_test_layout_retro_variable() {
3379 assert_eq!(
3380 ::std::mem::size_of::<retro_variable>(),
3381 16usize,
3382 concat!("Size of: ", stringify!(retro_variable))
3383 );
3384 assert_eq!(
3385 ::std::mem::align_of::<retro_variable>(),
3386 8usize,
3387 concat!("Alignment of ", stringify!(retro_variable))
3388 );
3389 assert_eq!(
3390 unsafe { &(*(::std::ptr::null::<retro_variable>())).key as *const _ as usize },
3391 0usize,
3392 concat!(
3393 "Offset of field: ",
3394 stringify!(retro_variable),
3395 "::",
3396 stringify!(key)
3397 )
3398 );
3399 assert_eq!(
3400 unsafe { &(*(::std::ptr::null::<retro_variable>())).value as *const _ as usize },
3401 8usize,
3402 concat!(
3403 "Offset of field: ",
3404 stringify!(retro_variable),
3405 "::",
3406 stringify!(value)
3407 )
3408 );
3409}
3410#[repr(C)]
3411#[derive(Debug, Copy, Clone)]
3412pub struct retro_core_option_display {
3413 pub key: *const ::std::os::raw::c_char,
3414 pub visible: bool,
3415}
3416#[test]
3417fn bindgen_test_layout_retro_core_option_display() {
3418 assert_eq!(
3419 ::std::mem::size_of::<retro_core_option_display>(),
3420 16usize,
3421 concat!("Size of: ", stringify!(retro_core_option_display))
3422 );
3423 assert_eq!(
3424 ::std::mem::align_of::<retro_core_option_display>(),
3425 8usize,
3426 concat!("Alignment of ", stringify!(retro_core_option_display))
3427 );
3428 assert_eq!(
3429 unsafe { &(*(::std::ptr::null::<retro_core_option_display>())).key as *const _ as usize },
3430 0usize,
3431 concat!(
3432 "Offset of field: ",
3433 stringify!(retro_core_option_display),
3434 "::",
3435 stringify!(key)
3436 )
3437 );
3438 assert_eq!(
3439 unsafe {
3440 &(*(::std::ptr::null::<retro_core_option_display>())).visible as *const _ as usize
3441 },
3442 8usize,
3443 concat!(
3444 "Offset of field: ",
3445 stringify!(retro_core_option_display),
3446 "::",
3447 stringify!(visible)
3448 )
3449 );
3450}
3451#[repr(C)]
3452#[derive(Debug, Copy, Clone)]
3453pub struct retro_core_option_value {
3454 pub value: *const ::std::os::raw::c_char,
3455 pub label: *const ::std::os::raw::c_char,
3456}
3457#[test]
3458fn bindgen_test_layout_retro_core_option_value() {
3459 assert_eq!(
3460 ::std::mem::size_of::<retro_core_option_value>(),
3461 16usize,
3462 concat!("Size of: ", stringify!(retro_core_option_value))
3463 );
3464 assert_eq!(
3465 ::std::mem::align_of::<retro_core_option_value>(),
3466 8usize,
3467 concat!("Alignment of ", stringify!(retro_core_option_value))
3468 );
3469 assert_eq!(
3470 unsafe { &(*(::std::ptr::null::<retro_core_option_value>())).value as *const _ as usize },
3471 0usize,
3472 concat!(
3473 "Offset of field: ",
3474 stringify!(retro_core_option_value),
3475 "::",
3476 stringify!(value)
3477 )
3478 );
3479 assert_eq!(
3480 unsafe { &(*(::std::ptr::null::<retro_core_option_value>())).label as *const _ as usize },
3481 8usize,
3482 concat!(
3483 "Offset of field: ",
3484 stringify!(retro_core_option_value),
3485 "::",
3486 stringify!(label)
3487 )
3488 );
3489}
3490#[repr(C)]
3491#[derive(Debug, Copy, Clone)]
3492pub struct retro_core_option_definition {
3493 pub key: *const ::std::os::raw::c_char,
3494 pub desc: *const ::std::os::raw::c_char,
3495 pub info: *const ::std::os::raw::c_char,
3496 pub values: [retro_core_option_value; 128usize],
3497 pub default_value: *const ::std::os::raw::c_char,
3498}
3499#[test]
3500fn bindgen_test_layout_retro_core_option_definition() {
3501 assert_eq!(
3502 ::std::mem::size_of::<retro_core_option_definition>(),
3503 2080usize,
3504 concat!("Size of: ", stringify!(retro_core_option_definition))
3505 );
3506 assert_eq!(
3507 ::std::mem::align_of::<retro_core_option_definition>(),
3508 8usize,
3509 concat!("Alignment of ", stringify!(retro_core_option_definition))
3510 );
3511 assert_eq!(
3512 unsafe {
3513 &(*(::std::ptr::null::<retro_core_option_definition>())).key as *const _ as usize
3514 },
3515 0usize,
3516 concat!(
3517 "Offset of field: ",
3518 stringify!(retro_core_option_definition),
3519 "::",
3520 stringify!(key)
3521 )
3522 );
3523 assert_eq!(
3524 unsafe {
3525 &(*(::std::ptr::null::<retro_core_option_definition>())).desc as *const _ as usize
3526 },
3527 8usize,
3528 concat!(
3529 "Offset of field: ",
3530 stringify!(retro_core_option_definition),
3531 "::",
3532 stringify!(desc)
3533 )
3534 );
3535 assert_eq!(
3536 unsafe {
3537 &(*(::std::ptr::null::<retro_core_option_definition>())).info as *const _ as usize
3538 },
3539 16usize,
3540 concat!(
3541 "Offset of field: ",
3542 stringify!(retro_core_option_definition),
3543 "::",
3544 stringify!(info)
3545 )
3546 );
3547 assert_eq!(
3548 unsafe {
3549 &(*(::std::ptr::null::<retro_core_option_definition>())).values as *const _ as usize
3550 },
3551 24usize,
3552 concat!(
3553 "Offset of field: ",
3554 stringify!(retro_core_option_definition),
3555 "::",
3556 stringify!(values)
3557 )
3558 );
3559 assert_eq!(
3560 unsafe {
3561 &(*(::std::ptr::null::<retro_core_option_definition>())).default_value as *const _
3562 as usize
3563 },
3564 2072usize,
3565 concat!(
3566 "Offset of field: ",
3567 stringify!(retro_core_option_definition),
3568 "::",
3569 stringify!(default_value)
3570 )
3571 );
3572}
3573#[repr(C)]
3574#[derive(Debug, Copy, Clone)]
3575pub struct retro_core_options_intl {
3576 pub us: *mut retro_core_option_definition,
3577 pub local: *mut retro_core_option_definition,
3578}
3579#[test]
3580fn bindgen_test_layout_retro_core_options_intl() {
3581 assert_eq!(
3582 ::std::mem::size_of::<retro_core_options_intl>(),
3583 16usize,
3584 concat!("Size of: ", stringify!(retro_core_options_intl))
3585 );
3586 assert_eq!(
3587 ::std::mem::align_of::<retro_core_options_intl>(),
3588 8usize,
3589 concat!("Alignment of ", stringify!(retro_core_options_intl))
3590 );
3591 assert_eq!(
3592 unsafe { &(*(::std::ptr::null::<retro_core_options_intl>())).us as *const _ as usize },
3593 0usize,
3594 concat!(
3595 "Offset of field: ",
3596 stringify!(retro_core_options_intl),
3597 "::",
3598 stringify!(us)
3599 )
3600 );
3601 assert_eq!(
3602 unsafe { &(*(::std::ptr::null::<retro_core_options_intl>())).local as *const _ as usize },
3603 8usize,
3604 concat!(
3605 "Offset of field: ",
3606 stringify!(retro_core_options_intl),
3607 "::",
3608 stringify!(local)
3609 )
3610 );
3611}
3612#[repr(C)]
3613#[derive(Debug, Copy, Clone)]
3614pub struct retro_core_option_v2_category {
3615 pub key: *const ::std::os::raw::c_char,
3616 pub desc: *const ::std::os::raw::c_char,
3617 pub info: *const ::std::os::raw::c_char,
3618}
3619#[test]
3620fn bindgen_test_layout_retro_core_option_v2_category() {
3621 assert_eq!(
3622 ::std::mem::size_of::<retro_core_option_v2_category>(),
3623 24usize,
3624 concat!("Size of: ", stringify!(retro_core_option_v2_category))
3625 );
3626 assert_eq!(
3627 ::std::mem::align_of::<retro_core_option_v2_category>(),
3628 8usize,
3629 concat!("Alignment of ", stringify!(retro_core_option_v2_category))
3630 );
3631 assert_eq!(
3632 unsafe {
3633 &(*(::std::ptr::null::<retro_core_option_v2_category>())).key as *const _ as usize
3634 },
3635 0usize,
3636 concat!(
3637 "Offset of field: ",
3638 stringify!(retro_core_option_v2_category),
3639 "::",
3640 stringify!(key)
3641 )
3642 );
3643 assert_eq!(
3644 unsafe {
3645 &(*(::std::ptr::null::<retro_core_option_v2_category>())).desc as *const _ as usize
3646 },
3647 8usize,
3648 concat!(
3649 "Offset of field: ",
3650 stringify!(retro_core_option_v2_category),
3651 "::",
3652 stringify!(desc)
3653 )
3654 );
3655 assert_eq!(
3656 unsafe {
3657 &(*(::std::ptr::null::<retro_core_option_v2_category>())).info as *const _ as usize
3658 },
3659 16usize,
3660 concat!(
3661 "Offset of field: ",
3662 stringify!(retro_core_option_v2_category),
3663 "::",
3664 stringify!(info)
3665 )
3666 );
3667}
3668#[repr(C)]
3669#[derive(Debug, Copy, Clone)]
3670pub struct retro_core_option_v2_definition {
3671 pub key: *const ::std::os::raw::c_char,
3672 pub desc: *const ::std::os::raw::c_char,
3673 pub desc_categorized: *const ::std::os::raw::c_char,
3674 pub info: *const ::std::os::raw::c_char,
3675 pub info_categorized: *const ::std::os::raw::c_char,
3676 pub category_key: *const ::std::os::raw::c_char,
3677 pub values: [retro_core_option_value; 128usize],
3678 pub default_value: *const ::std::os::raw::c_char,
3679}
3680#[test]
3681fn bindgen_test_layout_retro_core_option_v2_definition() {
3682 assert_eq!(
3683 ::std::mem::size_of::<retro_core_option_v2_definition>(),
3684 2104usize,
3685 concat!("Size of: ", stringify!(retro_core_option_v2_definition))
3686 );
3687 assert_eq!(
3688 ::std::mem::align_of::<retro_core_option_v2_definition>(),
3689 8usize,
3690 concat!("Alignment of ", stringify!(retro_core_option_v2_definition))
3691 );
3692 assert_eq!(
3693 unsafe {
3694 &(*(::std::ptr::null::<retro_core_option_v2_definition>())).key as *const _ as usize
3695 },
3696 0usize,
3697 concat!(
3698 "Offset of field: ",
3699 stringify!(retro_core_option_v2_definition),
3700 "::",
3701 stringify!(key)
3702 )
3703 );
3704 assert_eq!(
3705 unsafe {
3706 &(*(::std::ptr::null::<retro_core_option_v2_definition>())).desc as *const _ as usize
3707 },
3708 8usize,
3709 concat!(
3710 "Offset of field: ",
3711 stringify!(retro_core_option_v2_definition),
3712 "::",
3713 stringify!(desc)
3714 )
3715 );
3716 assert_eq!(
3717 unsafe {
3718 &(*(::std::ptr::null::<retro_core_option_v2_definition>())).desc_categorized as *const _
3719 as usize
3720 },
3721 16usize,
3722 concat!(
3723 "Offset of field: ",
3724 stringify!(retro_core_option_v2_definition),
3725 "::",
3726 stringify!(desc_categorized)
3727 )
3728 );
3729 assert_eq!(
3730 unsafe {
3731 &(*(::std::ptr::null::<retro_core_option_v2_definition>())).info as *const _ as usize
3732 },
3733 24usize,
3734 concat!(
3735 "Offset of field: ",
3736 stringify!(retro_core_option_v2_definition),
3737 "::",
3738 stringify!(info)
3739 )
3740 );
3741 assert_eq!(
3742 unsafe {
3743 &(*(::std::ptr::null::<retro_core_option_v2_definition>())).info_categorized as *const _
3744 as usize
3745 },
3746 32usize,
3747 concat!(
3748 "Offset of field: ",
3749 stringify!(retro_core_option_v2_definition),
3750 "::",
3751 stringify!(info_categorized)
3752 )
3753 );
3754 assert_eq!(
3755 unsafe {
3756 &(*(::std::ptr::null::<retro_core_option_v2_definition>())).category_key as *const _
3757 as usize
3758 },
3759 40usize,
3760 concat!(
3761 "Offset of field: ",
3762 stringify!(retro_core_option_v2_definition),
3763 "::",
3764 stringify!(category_key)
3765 )
3766 );
3767 assert_eq!(
3768 unsafe {
3769 &(*(::std::ptr::null::<retro_core_option_v2_definition>())).values as *const _ as usize
3770 },
3771 48usize,
3772 concat!(
3773 "Offset of field: ",
3774 stringify!(retro_core_option_v2_definition),
3775 "::",
3776 stringify!(values)
3777 )
3778 );
3779 assert_eq!(
3780 unsafe {
3781 &(*(::std::ptr::null::<retro_core_option_v2_definition>())).default_value as *const _
3782 as usize
3783 },
3784 2096usize,
3785 concat!(
3786 "Offset of field: ",
3787 stringify!(retro_core_option_v2_definition),
3788 "::",
3789 stringify!(default_value)
3790 )
3791 );
3792}
3793#[repr(C)]
3794#[derive(Debug, Copy, Clone)]
3795pub struct retro_core_options_v2 {
3796 pub categories: *mut retro_core_option_v2_category,
3797 pub definitions: *mut retro_core_option_v2_definition,
3798}
3799#[test]
3800fn bindgen_test_layout_retro_core_options_v2() {
3801 assert_eq!(
3802 ::std::mem::size_of::<retro_core_options_v2>(),
3803 16usize,
3804 concat!("Size of: ", stringify!(retro_core_options_v2))
3805 );
3806 assert_eq!(
3807 ::std::mem::align_of::<retro_core_options_v2>(),
3808 8usize,
3809 concat!("Alignment of ", stringify!(retro_core_options_v2))
3810 );
3811 assert_eq!(
3812 unsafe {
3813 &(*(::std::ptr::null::<retro_core_options_v2>())).categories as *const _ as usize
3814 },
3815 0usize,
3816 concat!(
3817 "Offset of field: ",
3818 stringify!(retro_core_options_v2),
3819 "::",
3820 stringify!(categories)
3821 )
3822 );
3823 assert_eq!(
3824 unsafe {
3825 &(*(::std::ptr::null::<retro_core_options_v2>())).definitions as *const _ as usize
3826 },
3827 8usize,
3828 concat!(
3829 "Offset of field: ",
3830 stringify!(retro_core_options_v2),
3831 "::",
3832 stringify!(definitions)
3833 )
3834 );
3835}
3836#[repr(C)]
3837#[derive(Debug, Copy, Clone)]
3838pub struct retro_core_options_v2_intl {
3839 pub us: *mut retro_core_options_v2,
3840 pub local: *mut retro_core_options_v2,
3841}
3842#[test]
3843fn bindgen_test_layout_retro_core_options_v2_intl() {
3844 assert_eq!(
3845 ::std::mem::size_of::<retro_core_options_v2_intl>(),
3846 16usize,
3847 concat!("Size of: ", stringify!(retro_core_options_v2_intl))
3848 );
3849 assert_eq!(
3850 ::std::mem::align_of::<retro_core_options_v2_intl>(),
3851 8usize,
3852 concat!("Alignment of ", stringify!(retro_core_options_v2_intl))
3853 );
3854 assert_eq!(
3855 unsafe { &(*(::std::ptr::null::<retro_core_options_v2_intl>())).us as *const _ as usize },
3856 0usize,
3857 concat!(
3858 "Offset of field: ",
3859 stringify!(retro_core_options_v2_intl),
3860 "::",
3861 stringify!(us)
3862 )
3863 );
3864 assert_eq!(
3865 unsafe {
3866 &(*(::std::ptr::null::<retro_core_options_v2_intl>())).local as *const _ as usize
3867 },
3868 8usize,
3869 concat!(
3870 "Offset of field: ",
3871 stringify!(retro_core_options_v2_intl),
3872 "::",
3873 stringify!(local)
3874 )
3875 );
3876}
3877pub type retro_core_options_update_display_callback_t =
3878 ::std::option::Option<unsafe extern "C" fn() -> bool>;
3879#[repr(C)]
3880#[derive(Debug, Copy, Clone)]
3881pub struct retro_core_options_update_display_callback {
3882 pub callback: retro_core_options_update_display_callback_t,
3883}
3884#[test]
3885fn bindgen_test_layout_retro_core_options_update_display_callback() {
3886 assert_eq!(
3887 ::std::mem::size_of::<retro_core_options_update_display_callback>(),
3888 8usize,
3889 concat!(
3890 "Size of: ",
3891 stringify!(retro_core_options_update_display_callback)
3892 )
3893 );
3894 assert_eq!(
3895 ::std::mem::align_of::<retro_core_options_update_display_callback>(),
3896 8usize,
3897 concat!(
3898 "Alignment of ",
3899 stringify!(retro_core_options_update_display_callback)
3900 )
3901 );
3902 assert_eq!(
3903 unsafe {
3904 &(*(::std::ptr::null::<retro_core_options_update_display_callback>())).callback
3905 as *const _ as usize
3906 },
3907 0usize,
3908 concat!(
3909 "Offset of field: ",
3910 stringify!(retro_core_options_update_display_callback),
3911 "::",
3912 stringify!(callback)
3913 )
3914 );
3915}
3916#[repr(C)]
3917#[derive(Debug, Copy, Clone)]
3918pub struct retro_game_info {
3919 pub path: *const ::std::os::raw::c_char,
3920 pub data: *const ::std::os::raw::c_void,
3921 pub size: size_t,
3922 pub meta: *const ::std::os::raw::c_char,
3923}
3924#[test]
3925fn bindgen_test_layout_retro_game_info() {
3926 assert_eq!(
3927 ::std::mem::size_of::<retro_game_info>(),
3928 32usize,
3929 concat!("Size of: ", stringify!(retro_game_info))
3930 );
3931 assert_eq!(
3932 ::std::mem::align_of::<retro_game_info>(),
3933 8usize,
3934 concat!("Alignment of ", stringify!(retro_game_info))
3935 );
3936 assert_eq!(
3937 unsafe { &(*(::std::ptr::null::<retro_game_info>())).path as *const _ as usize },
3938 0usize,
3939 concat!(
3940 "Offset of field: ",
3941 stringify!(retro_game_info),
3942 "::",
3943 stringify!(path)
3944 )
3945 );
3946 assert_eq!(
3947 unsafe { &(*(::std::ptr::null::<retro_game_info>())).data as *const _ as usize },
3948 8usize,
3949 concat!(
3950 "Offset of field: ",
3951 stringify!(retro_game_info),
3952 "::",
3953 stringify!(data)
3954 )
3955 );
3956 assert_eq!(
3957 unsafe { &(*(::std::ptr::null::<retro_game_info>())).size as *const _ as usize },
3958 16usize,
3959 concat!(
3960 "Offset of field: ",
3961 stringify!(retro_game_info),
3962 "::",
3963 stringify!(size)
3964 )
3965 );
3966 assert_eq!(
3967 unsafe { &(*(::std::ptr::null::<retro_game_info>())).meta as *const _ as usize },
3968 24usize,
3969 concat!(
3970 "Offset of field: ",
3971 stringify!(retro_game_info),
3972 "::",
3973 stringify!(meta)
3974 )
3975 );
3976}
3977#[repr(C)]
3978#[derive(Debug, Copy, Clone)]
3979pub struct retro_framebuffer {
3980 pub data: *mut ::std::os::raw::c_void,
3981 pub width: ::std::os::raw::c_uint,
3982 pub height: ::std::os::raw::c_uint,
3983 pub pitch: size_t,
3984 pub format: retro_pixel_format,
3985 pub access_flags: ::std::os::raw::c_uint,
3986 pub memory_flags: ::std::os::raw::c_uint,
3987}
3988#[test]
3989fn bindgen_test_layout_retro_framebuffer() {
3990 assert_eq!(
3991 ::std::mem::size_of::<retro_framebuffer>(),
3992 40usize,
3993 concat!("Size of: ", stringify!(retro_framebuffer))
3994 );
3995 assert_eq!(
3996 ::std::mem::align_of::<retro_framebuffer>(),
3997 8usize,
3998 concat!("Alignment of ", stringify!(retro_framebuffer))
3999 );
4000 assert_eq!(
4001 unsafe { &(*(::std::ptr::null::<retro_framebuffer>())).data as *const _ as usize },
4002 0usize,
4003 concat!(
4004 "Offset of field: ",
4005 stringify!(retro_framebuffer),
4006 "::",
4007 stringify!(data)
4008 )
4009 );
4010 assert_eq!(
4011 unsafe { &(*(::std::ptr::null::<retro_framebuffer>())).width as *const _ as usize },
4012 8usize,
4013 concat!(
4014 "Offset of field: ",
4015 stringify!(retro_framebuffer),
4016 "::",
4017 stringify!(width)
4018 )
4019 );
4020 assert_eq!(
4021 unsafe { &(*(::std::ptr::null::<retro_framebuffer>())).height as *const _ as usize },
4022 12usize,
4023 concat!(
4024 "Offset of field: ",
4025 stringify!(retro_framebuffer),
4026 "::",
4027 stringify!(height)
4028 )
4029 );
4030 assert_eq!(
4031 unsafe { &(*(::std::ptr::null::<retro_framebuffer>())).pitch as *const _ as usize },
4032 16usize,
4033 concat!(
4034 "Offset of field: ",
4035 stringify!(retro_framebuffer),
4036 "::",
4037 stringify!(pitch)
4038 )
4039 );
4040 assert_eq!(
4041 unsafe { &(*(::std::ptr::null::<retro_framebuffer>())).format as *const _ as usize },
4042 24usize,
4043 concat!(
4044 "Offset of field: ",
4045 stringify!(retro_framebuffer),
4046 "::",
4047 stringify!(format)
4048 )
4049 );
4050 assert_eq!(
4051 unsafe { &(*(::std::ptr::null::<retro_framebuffer>())).access_flags as *const _ as usize },
4052 28usize,
4053 concat!(
4054 "Offset of field: ",
4055 stringify!(retro_framebuffer),
4056 "::",
4057 stringify!(access_flags)
4058 )
4059 );
4060 assert_eq!(
4061 unsafe { &(*(::std::ptr::null::<retro_framebuffer>())).memory_flags as *const _ as usize },
4062 32usize,
4063 concat!(
4064 "Offset of field: ",
4065 stringify!(retro_framebuffer),
4066 "::",
4067 stringify!(memory_flags)
4068 )
4069 );
4070}
4071#[repr(C)]
4072#[derive(Debug, Copy, Clone)]
4073pub struct retro_fastforwarding_override {
4074 pub ratio: f32,
4075 pub fastforward: bool,
4076 pub notification: bool,
4077 pub inhibit_toggle: bool,
4078}
4079#[test]
4080fn bindgen_test_layout_retro_fastforwarding_override() {
4081 assert_eq!(
4082 ::std::mem::size_of::<retro_fastforwarding_override>(),
4083 8usize,
4084 concat!("Size of: ", stringify!(retro_fastforwarding_override))
4085 );
4086 assert_eq!(
4087 ::std::mem::align_of::<retro_fastforwarding_override>(),
4088 4usize,
4089 concat!("Alignment of ", stringify!(retro_fastforwarding_override))
4090 );
4091 assert_eq!(
4092 unsafe {
4093 &(*(::std::ptr::null::<retro_fastforwarding_override>())).ratio as *const _ as usize
4094 },
4095 0usize,
4096 concat!(
4097 "Offset of field: ",
4098 stringify!(retro_fastforwarding_override),
4099 "::",
4100 stringify!(ratio)
4101 )
4102 );
4103 assert_eq!(
4104 unsafe {
4105 &(*(::std::ptr::null::<retro_fastforwarding_override>())).fastforward as *const _
4106 as usize
4107 },
4108 4usize,
4109 concat!(
4110 "Offset of field: ",
4111 stringify!(retro_fastforwarding_override),
4112 "::",
4113 stringify!(fastforward)
4114 )
4115 );
4116 assert_eq!(
4117 unsafe {
4118 &(*(::std::ptr::null::<retro_fastforwarding_override>())).notification as *const _
4119 as usize
4120 },
4121 5usize,
4122 concat!(
4123 "Offset of field: ",
4124 stringify!(retro_fastforwarding_override),
4125 "::",
4126 stringify!(notification)
4127 )
4128 );
4129 assert_eq!(
4130 unsafe {
4131 &(*(::std::ptr::null::<retro_fastforwarding_override>())).inhibit_toggle as *const _
4132 as usize
4133 },
4134 6usize,
4135 concat!(
4136 "Offset of field: ",
4137 stringify!(retro_fastforwarding_override),
4138 "::",
4139 stringify!(inhibit_toggle)
4140 )
4141 );
4142}
4143pub type retro_environment_t = ::std::option::Option<
4144 unsafe extern "C" fn(cmd: ::std::os::raw::c_uint, data: *mut ::std::os::raw::c_void) -> bool,
4145>;
4146pub type retro_video_refresh_t = ::std::option::Option<
4147 unsafe extern "C" fn(
4148 data: *const ::std::os::raw::c_void,
4149 width: ::std::os::raw::c_uint,
4150 height: ::std::os::raw::c_uint,
4151 pitch: size_t,
4152 ),
4153>;
4154pub type retro_audio_sample_t = ::std::option::Option<unsafe extern "C" fn(left: i16, right: i16)>;
4155pub type retro_audio_sample_batch_t =
4156 ::std::option::Option<unsafe extern "C" fn(data: *const i16, frames: size_t) -> size_t>;
4157pub type retro_input_poll_t = ::std::option::Option<unsafe extern "C" fn()>;
4158pub type retro_input_state_t = ::std::option::Option<
4159 unsafe extern "C" fn(
4160 port: ::std::os::raw::c_uint,
4161 device: ::std::os::raw::c_uint,
4162 index: ::std::os::raw::c_uint,
4163 id: ::std::os::raw::c_uint,
4164 ) -> i16,
4165>;
4166extern "C" {
4167 pub fn retro_set_environment(arg1: retro_environment_t);
4168}
4169extern "C" {
4170 pub fn retro_set_video_refresh(arg1: retro_video_refresh_t);
4171}
4172extern "C" {
4173 pub fn retro_set_audio_sample(arg1: retro_audio_sample_t);
4174}
4175extern "C" {
4176 pub fn retro_set_audio_sample_batch(arg1: retro_audio_sample_batch_t);
4177}
4178extern "C" {
4179 pub fn retro_set_input_poll(arg1: retro_input_poll_t);
4180}
4181extern "C" {
4182 pub fn retro_set_input_state(arg1: retro_input_state_t);
4183}
4184extern "C" {
4185 pub fn retro_init();
4186}
4187extern "C" {
4188 pub fn retro_deinit();
4189}
4190extern "C" {
4191 pub fn retro_api_version() -> ::std::os::raw::c_uint;
4192}
4193extern "C" {
4194 pub fn retro_get_system_info(info: *mut retro_system_info);
4195}
4196extern "C" {
4197 pub fn retro_get_system_av_info(info: *mut retro_system_av_info);
4198}
4199extern "C" {
4200 pub fn retro_set_controller_port_device(
4201 port: ::std::os::raw::c_uint,
4202 device: ::std::os::raw::c_uint,
4203 );
4204}
4205extern "C" {
4206 pub fn retro_reset();
4207}
4208extern "C" {
4209 pub fn retro_run();
4210}
4211extern "C" {
4212 pub fn retro_serialize_size() -> size_t;
4213}
4214extern "C" {
4215 pub fn retro_serialize(data: *mut ::std::os::raw::c_void, size: size_t) -> bool;
4216}
4217extern "C" {
4218 pub fn retro_unserialize(data: *const ::std::os::raw::c_void, size: size_t) -> bool;
4219}
4220extern "C" {
4221 pub fn retro_cheat_reset();
4222}
4223extern "C" {
4224 pub fn retro_cheat_set(
4225 index: ::std::os::raw::c_uint,
4226 enabled: bool,
4227 code: *const ::std::os::raw::c_char,
4228 );
4229}
4230extern "C" {
4231 pub fn retro_load_game(game: *const retro_game_info) -> bool;
4232}
4233extern "C" {
4234 pub fn retro_load_game_special(
4235 game_type: ::std::os::raw::c_uint,
4236 info: *const retro_game_info,
4237 num_info: size_t,
4238 ) -> bool;
4239}
4240extern "C" {
4241 pub fn retro_unload_game();
4242}
4243extern "C" {
4244 pub fn retro_get_region() -> ::std::os::raw::c_uint;
4245}
4246extern "C" {
4247 pub fn retro_get_memory_data(id: ::std::os::raw::c_uint) -> *mut ::std::os::raw::c_void;
4248}
4249extern "C" {
4250 pub fn retro_get_memory_size(id: ::std::os::raw::c_uint) -> size_t;
4251}