nappgui_sys/
nappgui.rs

1/* automatically generated by rust-bindgen 0.71.1 */
2
3pub const _VCRT_COMPILER_PREPROCESSOR: u32 = 1;
4pub const _SAL_VERSION: u32 = 20;
5pub const __SAL_H_VERSION: u32 = 180000000;
6pub const _USE_DECLSPECS_FOR_SAL: u32 = 0;
7pub const _USE_ATTRIBUTES_FOR_SAL: u32 = 0;
8pub const _CRT_PACKING: u32 = 8;
9pub const _HAS_EXCEPTIONS: u32 = 1;
10pub const _STL_LANG: u32 = 0;
11pub const _HAS_CXX17: u32 = 0;
12pub const _HAS_CXX20: u32 = 0;
13pub const _HAS_CXX23: u32 = 0;
14pub const _HAS_CXX26: u32 = 0;
15pub const _HAS_NODISCARD: u32 = 0;
16pub const WCHAR_MIN: u32 = 0;
17pub const WCHAR_MAX: u32 = 65535;
18pub const WINT_MIN: u32 = 0;
19pub const WINT_MAX: u32 = 65535;
20pub const _ARM_WINAPI_PARTITION_DESKTOP_SDK_AVAILABLE: u32 = 1;
21pub const _CRT_BUILD_DESKTOP_APP: u32 = 1;
22pub const _ARGMAX: u32 = 100;
23pub const _CRT_INT_MAX: u32 = 2147483647;
24pub const _CRT_FUNCTIONS_REQUIRED: u32 = 1;
25pub const _CRT_HAS_CXX17: u32 = 0;
26pub const _CRT_HAS_C11: u32 = 1;
27pub const _CRT_INTERNAL_NONSTDC_NAMES: u32 = 1;
28pub const __STDC_SECURE_LIB__: u32 = 200411;
29pub const __GOT_SECURE_LIB__: u32 = 200411;
30pub const __STDC_WANT_SECURE_LIB__: u32 = 1;
31pub const _SECURECRT_FILL_BUFFER_PATTERN: u32 = 254;
32pub const _CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES: u32 = 0;
33pub const _CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES_COUNT: u32 = 0;
34pub const _CRT_SECURE_CPP_OVERLOAD_SECURE_NAMES: u32 = 1;
35pub const _CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES_MEMORY: u32 = 0;
36pub const _CRT_SECURE_CPP_OVERLOAD_SECURE_NAMES_MEMORY: u32 = 0;
37pub const REAL32_MAX: f64 = 100000000000000000000.0;
38pub const REAL64_MAX: f64 = 100000000000000000000000000000000000000.0;
39pub const REAL32_MIN: f64 = 0.00000000000000000001;
40pub const REAL64_MIN: f64 = 0.00000000000000000000000000000000000001;
41pub const PRIu64: &[u8; 4] = b"llu\0";
42pub const PRId64: &[u8; 4] = b"lld\0";
43pub const DIR_SEPARATOR: u8 = 92u8;
44pub const kKEY_MAX: u32 = 112;
45pub const HEAPARR: &[u8; 6] = b"::arr\0";
46pub const ARRST: &[u8; 8] = b"ArrSt::\0";
47pub const ARRPT: &[u8; 8] = b"ArrPt::\0";
48pub const SETST: &[u8; 8] = b"SetSt::\0";
49pub const SETPT: &[u8; 8] = b"SetPt::\0";
50pub const GUI_CONTEXT_NUM_COMPONENTS: u32 = 17;
51pub const kTEXTFILTER_SIZE: u32 = 4096;
52pub type va_list = *mut ::libc::c_char;
53pub type __vcrt_bool = bool;
54pub type wchar_t = ::libc::c_ushort;
55unsafe extern "C" {
56    pub static mut __security_cookie: usize;
57}
58pub type int_least8_t = ::libc::c_schar;
59pub type int_least16_t = ::libc::c_short;
60pub type int_least32_t = ::libc::c_int;
61pub type int_least64_t = ::libc::c_longlong;
62pub type uint_least8_t = ::libc::c_uchar;
63pub type uint_least16_t = ::libc::c_ushort;
64pub type uint_least32_t = ::libc::c_uint;
65pub type uint_least64_t = ::libc::c_ulonglong;
66pub type int_fast8_t = ::libc::c_schar;
67pub type int_fast16_t = ::libc::c_int;
68pub type int_fast32_t = ::libc::c_int;
69pub type int_fast64_t = ::libc::c_longlong;
70pub type uint_fast8_t = ::libc::c_uchar;
71pub type uint_fast16_t = ::libc::c_uint;
72pub type uint_fast32_t = ::libc::c_uint;
73pub type uint_fast64_t = ::libc::c_ulonglong;
74pub type intmax_t = ::libc::c_longlong;
75pub type uintmax_t = ::libc::c_ulonglong;
76pub type __crt_bool = bool;
77pub type errno_t = ::libc::c_int;
78pub type wint_t = ::libc::c_ushort;
79pub type wctype_t = ::libc::c_ushort;
80pub type __time32_t = ::libc::c_long;
81pub type __time64_t = ::libc::c_longlong;
82#[repr(C)]
83#[derive(Debug, Copy, Clone)]
84pub struct __crt_locale_data_public {
85    pub _locale_pctype: *const ::libc::c_ushort,
86    pub _locale_mb_cur_max: ::libc::c_int,
87    pub _locale_lc_codepage: ::libc::c_uint,
88}
89#[repr(C)]
90#[derive(Debug, Copy, Clone)]
91pub struct __crt_locale_pointers {
92    pub locinfo: *mut __crt_locale_data,
93    pub mbcinfo: *mut __crt_multibyte_data,
94}
95pub type _locale_t = *mut __crt_locale_pointers;
96#[repr(C)]
97#[derive(Debug, Copy, Clone)]
98pub struct _Mbstatet {
99    pub _Wchar: ::libc::c_ulong,
100    pub _Byte: ::libc::c_ushort,
101    pub _State: ::libc::c_ushort,
102}
103pub type mbstate_t = _Mbstatet;
104pub type time_t = __time64_t;
105pub type rsize_t = usize;
106pub type char_t = ::libc::c_char;
107pub type byte_t = ::libc::c_uchar;
108pub type bool_t = ::libc::c_char;
109pub type real32_t = f32;
110pub type real64_t = f64;
111pub const _enum_t_ekENUM_GENERIC_VALUE: _enum_t = 0;
112pub type _enum_t = ::libc::c_int;
113pub use self::_enum_t as enum_t;
114pub const _unicode_t_ekUTF8: _unicode_t = 0;
115pub const _unicode_t_ekUTF16: _unicode_t = 1;
116pub const _unicode_t_ekUTF32: _unicode_t = 2;
117pub type _unicode_t = ::libc::c_int;
118pub use self::_unicode_t as unicode_t;
119#[repr(C)]
120#[derive(Debug, Copy, Clone)]
121pub struct _renv_t {
122    _unused: [u8; 0],
123}
124pub type REnv = _renv_t;
125pub type FPtr_destroy =
126    ::core::option::Option<unsafe extern "C" fn(item: *mut *mut ::libc::c_void)>;
127pub type FPtr_copy = ::core::option::Option<
128    unsafe extern "C" fn(item: *const ::libc::c_void) -> *mut ::libc::c_void,
129>;
130pub type FPtr_scopy = ::core::option::Option<
131    unsafe extern "C" fn(dest: *mut ::libc::c_void, src: *const ::libc::c_void),
132>;
133pub type FPtr_compare = ::core::option::Option<
134    unsafe extern "C" fn(
135        item1: *const ::libc::c_void,
136        item2: *const ::libc::c_void,
137    ) -> ::libc::c_int,
138>;
139pub type FPtr_compare_ex = ::core::option::Option<
140    unsafe extern "C" fn(
141        item1: *const ::libc::c_void,
142        item2: *const ::libc::c_void,
143        data: *const ::libc::c_void,
144    ) -> ::libc::c_int,
145>;
146pub type FPtr_assert = ::core::option::Option<
147    unsafe extern "C" fn(
148        item: *mut ::libc::c_void,
149        group: u32,
150        caption: *const char_t,
151        detail: *const char_t,
152        file: *const char_t,
153        line: u32,
154    ),
155>;
156pub const _platform_t_ekWINDOWS: _platform_t = 1;
157pub const _platform_t_ekMACOS: _platform_t = 2;
158pub const _platform_t_ekLINUX: _platform_t = 3;
159pub const _platform_t_ekIOS: _platform_t = 4;
160pub type _platform_t = ::libc::c_int;
161pub use self::_platform_t as platform_t;
162pub const _device_t_ekDESKTOP: _device_t = 1;
163pub const _device_t_ekPHONE: _device_t = 2;
164pub const _device_t_ekTABLET: _device_t = 3;
165pub type _device_t = ::libc::c_int;
166pub use self::_device_t as device_t;
167pub const _win_t_ekWIN_9x: _win_t = 1;
168pub const _win_t_ekWIN_NT4: _win_t = 2;
169pub const _win_t_ekWIN_2K: _win_t = 3;
170pub const _win_t_ekWIN_XP: _win_t = 4;
171pub const _win_t_ekWIN_XP1: _win_t = 5;
172pub const _win_t_ekWIN_XP2: _win_t = 6;
173pub const _win_t_ekWIN_XP3: _win_t = 7;
174pub const _win_t_ekWIN_VI: _win_t = 8;
175pub const _win_t_ekWIN_VI1: _win_t = 9;
176pub const _win_t_ekWIN_VI2: _win_t = 10;
177pub const _win_t_ekWIN_7: _win_t = 11;
178pub const _win_t_ekWIN_71: _win_t = 12;
179pub const _win_t_ekWIN_8: _win_t = 13;
180pub const _win_t_ekWIN_81: _win_t = 14;
181pub const _win_t_ekWIN_10: _win_t = 15;
182pub const _win_t_ekWIN_NO: _win_t = 16;
183pub type _win_t = ::libc::c_int;
184pub use self::_win_t as win_t;
185pub const _endian_t_ekLITEND: _endian_t = 1;
186pub const _endian_t_ekBIGEND: _endian_t = 2;
187pub type _endian_t = ::libc::c_int;
188pub use self::_endian_t as endian_t;
189pub const _week_day_t_ekSUNDAY: _week_day_t = 0;
190pub const _week_day_t_ekMONDAY: _week_day_t = 1;
191pub const _week_day_t_ekTUESDAY: _week_day_t = 2;
192pub const _week_day_t_ekWEDNESDAY: _week_day_t = 3;
193pub const _week_day_t_ekTHURSDAY: _week_day_t = 4;
194pub const _week_day_t_ekFRIDAY: _week_day_t = 5;
195pub const _week_day_t_ekSATURDAY: _week_day_t = 6;
196pub type _week_day_t = ::libc::c_int;
197pub use self::_week_day_t as week_day_t;
198pub const _month_t_ekJANUARY: _month_t = 1;
199pub const _month_t_ekFEBRUARY: _month_t = 2;
200pub const _month_t_ekMARCH: _month_t = 3;
201pub const _month_t_ekAPRIL: _month_t = 4;
202pub const _month_t_ekMAY: _month_t = 5;
203pub const _month_t_ekJUNE: _month_t = 6;
204pub const _month_t_ekJULY: _month_t = 7;
205pub const _month_t_ekAUGUST: _month_t = 8;
206pub const _month_t_ekSEPTEMBER: _month_t = 9;
207pub const _month_t_ekOCTOBER: _month_t = 10;
208pub const _month_t_ekNOVEMBER: _month_t = 11;
209pub const _month_t_ekDECEMBER: _month_t = 12;
210pub type _month_t = ::libc::c_int;
211pub use self::_month_t as month_t;
212pub const _file_type_t_ekARCHIVE: _file_type_t = 1;
213pub const _file_type_t_ekDIRECTORY: _file_type_t = 2;
214pub const _file_type_t_ekOTHERFILE: _file_type_t = 3;
215pub type _file_type_t = ::libc::c_int;
216pub use self::_file_type_t as file_type_t;
217pub const _file_mode_t_ekREAD: _file_mode_t = 1;
218pub const _file_mode_t_ekWRITE: _file_mode_t = 2;
219pub const _file_mode_t_ekAPPEND: _file_mode_t = 3;
220pub type _file_mode_t = ::libc::c_int;
221pub use self::_file_mode_t as file_mode_t;
222pub const _file_seek_t_ekSEEKSET: _file_seek_t = 1;
223pub const _file_seek_t_ekSEEKCUR: _file_seek_t = 2;
224pub const _file_seek_t_ekSEEKEND: _file_seek_t = 3;
225pub type _file_seek_t = ::libc::c_int;
226pub use self::_file_seek_t as file_seek_t;
227pub const _ferror_t_ekFEXISTS: _ferror_t = 1;
228pub const _ferror_t_ekFNOPATH: _ferror_t = 2;
229pub const _ferror_t_ekFNOFILE: _ferror_t = 3;
230pub const _ferror_t_ekFBIGNAME: _ferror_t = 4;
231pub const _ferror_t_ekFNOFILES: _ferror_t = 5;
232pub const _ferror_t_ekFNOEMPTY: _ferror_t = 6;
233pub const _ferror_t_ekFNOACCESS: _ferror_t = 7;
234pub const _ferror_t_ekFLOCK: _ferror_t = 8;
235pub const _ferror_t_ekFBIG: _ferror_t = 9;
236pub const _ferror_t_ekFSEEKNEG: _ferror_t = 10;
237pub const _ferror_t_ekFUNDEF: _ferror_t = 11;
238pub const _ferror_t_ekFOK: _ferror_t = 12;
239pub type _ferror_t = ::libc::c_int;
240pub use self::_ferror_t as ferror_t;
241pub const _perror_t_ekPPIPE: _perror_t = 1;
242pub const _perror_t_ekPEXEC: _perror_t = 2;
243pub const _perror_t_ekPOK: _perror_t = 3;
244pub type _perror_t = ::libc::c_int;
245pub use self::_perror_t as perror_t;
246pub const _serror_t_ekSNONET: _serror_t = 1;
247pub const _serror_t_ekSNOHOST: _serror_t = 2;
248pub const _serror_t_ekSTIMEOUT: _serror_t = 3;
249pub const _serror_t_ekSSTREAM: _serror_t = 4;
250pub const _serror_t_ekSUNDEF: _serror_t = 5;
251pub const _serror_t_ekSOK: _serror_t = 6;
252pub type _serror_t = ::libc::c_int;
253pub use self::_serror_t as serror_t;
254pub type Date = _date_t;
255#[repr(C)]
256#[derive(Debug, Copy, Clone)]
257pub struct _dir_t {
258    _unused: [u8; 0],
259}
260pub type Dir = _dir_t;
261#[repr(C)]
262#[derive(Debug, Copy, Clone)]
263pub struct _file_t {
264    _unused: [u8; 0],
265}
266pub type File = _file_t;
267#[repr(C)]
268#[derive(Debug, Copy, Clone)]
269pub struct _mutex_t {
270    _unused: [u8; 0],
271}
272pub type Mutex = _mutex_t;
273#[repr(C)]
274#[derive(Debug, Copy, Clone)]
275pub struct _process_t {
276    _unused: [u8; 0],
277}
278pub type Proc = _process_t;
279#[repr(C)]
280#[derive(Debug, Copy, Clone)]
281pub struct _dlib_t {
282    _unused: [u8; 0],
283}
284pub type DLib = _dlib_t;
285#[repr(C)]
286#[derive(Debug, Copy, Clone)]
287pub struct _thread_t {
288    _unused: [u8; 0],
289}
290pub type Thread = _thread_t;
291#[repr(C)]
292#[derive(Debug, Copy, Clone)]
293pub struct _socket_t {
294    _unused: [u8; 0],
295}
296pub type Socket = _socket_t;
297pub type FPtr_thread_main =
298    ::core::option::Option<unsafe extern "C" fn(data: *mut ::libc::c_void) -> u32>;
299pub type FPtr_libproc = ::core::option::Option<unsafe extern "C" fn()>;
300#[repr(C)]
301#[derive(Debug, Copy, Clone)]
302pub struct _date_t {
303    pub year: i16,
304    pub month: u8,
305    pub wday: u8,
306    pub mday: u8,
307    pub hour: u8,
308    pub minute: u8,
309    pub second: u8,
310}
311pub const _core_event_t_ekEASSERT: _core_event_t = 256;
312pub const _core_event_t_ekEFILE: _core_event_t = 257;
313pub const _core_event_t_ekEENTRY: _core_event_t = 258;
314pub const _core_event_t_ekEEXIT: _core_event_t = 259;
315pub type _core_event_t = ::libc::c_int;
316pub use self::_core_event_t as core_event_t;
317pub const _sstate_t_ekSTOK: _sstate_t = 0;
318pub const _sstate_t_ekSTEND: _sstate_t = 1;
319pub const _sstate_t_ekSTCORRUPT: _sstate_t = 2;
320pub const _sstate_t_ekSTBROKEN: _sstate_t = 3;
321pub type _sstate_t = ::libc::c_int;
322pub use self::_sstate_t as sstate_t;
323pub const _key_t_ekKEY_UNDEF: _key_t = 0;
324pub const _key_t_ekKEY_A: _key_t = 1;
325pub const _key_t_ekKEY_S: _key_t = 2;
326pub const _key_t_ekKEY_D: _key_t = 3;
327pub const _key_t_ekKEY_F: _key_t = 4;
328pub const _key_t_ekKEY_H: _key_t = 5;
329pub const _key_t_ekKEY_G: _key_t = 6;
330pub const _key_t_ekKEY_Z: _key_t = 7;
331pub const _key_t_ekKEY_X: _key_t = 8;
332pub const _key_t_ekKEY_C: _key_t = 9;
333pub const _key_t_ekKEY_V: _key_t = 10;
334pub const _key_t_ekKEY_BSLASH: _key_t = 11;
335pub const _key_t_ekKEY_B: _key_t = 12;
336pub const _key_t_ekKEY_Q: _key_t = 13;
337pub const _key_t_ekKEY_W: _key_t = 14;
338pub const _key_t_ekKEY_E: _key_t = 15;
339pub const _key_t_ekKEY_R: _key_t = 16;
340pub const _key_t_ekKEY_Y: _key_t = 17;
341pub const _key_t_ekKEY_T: _key_t = 18;
342pub const _key_t_ekKEY_1: _key_t = 19;
343pub const _key_t_ekKEY_2: _key_t = 20;
344pub const _key_t_ekKEY_3: _key_t = 21;
345pub const _key_t_ekKEY_4: _key_t = 22;
346pub const _key_t_ekKEY_6: _key_t = 23;
347pub const _key_t_ekKEY_5: _key_t = 24;
348pub const _key_t_ekKEY_9: _key_t = 25;
349pub const _key_t_ekKEY_7: _key_t = 26;
350pub const _key_t_ekKEY_8: _key_t = 27;
351pub const _key_t_ekKEY_0: _key_t = 28;
352pub const _key_t_ekKEY_RCURLY: _key_t = 29;
353pub const _key_t_ekKEY_O: _key_t = 30;
354pub const _key_t_ekKEY_U: _key_t = 31;
355pub const _key_t_ekKEY_LCURLY: _key_t = 32;
356pub const _key_t_ekKEY_I: _key_t = 33;
357pub const _key_t_ekKEY_P: _key_t = 34;
358pub const _key_t_ekKEY_RETURN: _key_t = 35;
359pub const _key_t_ekKEY_L: _key_t = 36;
360pub const _key_t_ekKEY_J: _key_t = 37;
361pub const _key_t_ekKEY_SEMICOLON: _key_t = 38;
362pub const _key_t_ekKEY_K: _key_t = 39;
363pub const _key_t_ekKEY_QUEST: _key_t = 40;
364pub const _key_t_ekKEY_COMMA: _key_t = 41;
365pub const _key_t_ekKEY_MINUS: _key_t = 42;
366pub const _key_t_ekKEY_N: _key_t = 43;
367pub const _key_t_ekKEY_M: _key_t = 44;
368pub const _key_t_ekKEY_PERIOD: _key_t = 45;
369pub const _key_t_ekKEY_TAB: _key_t = 46;
370pub const _key_t_ekKEY_SPACE: _key_t = 47;
371pub const _key_t_ekKEY_GTLT: _key_t = 48;
372pub const _key_t_ekKEY_BACK: _key_t = 49;
373pub const _key_t_ekKEY_ESCAPE: _key_t = 50;
374pub const _key_t_ekKEY_F17: _key_t = 51;
375pub const _key_t_ekKEY_NUMDECIMAL: _key_t = 52;
376pub const _key_t_ekKEY_NUMMULT: _key_t = 53;
377pub const _key_t_ekKEY_NUMADD: _key_t = 54;
378pub const _key_t_ekKEY_NUMLOCK: _key_t = 55;
379pub const _key_t_ekKEY_NUMDIV: _key_t = 56;
380pub const _key_t_ekKEY_NUMRET: _key_t = 57;
381pub const _key_t_ekKEY_NUMMINUS: _key_t = 58;
382pub const _key_t_ekKEY_F18: _key_t = 59;
383pub const _key_t_ekKEY_F19: _key_t = 60;
384pub const _key_t_ekKEY_NUMEQUAL: _key_t = 61;
385pub const _key_t_ekKEY_NUM0: _key_t = 62;
386pub const _key_t_ekKEY_NUM1: _key_t = 63;
387pub const _key_t_ekKEY_NUM2: _key_t = 64;
388pub const _key_t_ekKEY_NUM3: _key_t = 65;
389pub const _key_t_ekKEY_NUM4: _key_t = 66;
390pub const _key_t_ekKEY_NUM5: _key_t = 67;
391pub const _key_t_ekKEY_NUM6: _key_t = 68;
392pub const _key_t_ekKEY_NUM7: _key_t = 69;
393pub const _key_t_ekKEY_NUM8: _key_t = 70;
394pub const _key_t_ekKEY_NUM9: _key_t = 71;
395pub const _key_t_ekKEY_F5: _key_t = 72;
396pub const _key_t_ekKEY_F6: _key_t = 73;
397pub const _key_t_ekKEY_F7: _key_t = 74;
398pub const _key_t_ekKEY_F3: _key_t = 75;
399pub const _key_t_ekKEY_F8: _key_t = 76;
400pub const _key_t_ekKEY_F9: _key_t = 77;
401pub const _key_t_ekKEY_F11: _key_t = 78;
402pub const _key_t_ekKEY_F13: _key_t = 79;
403pub const _key_t_ekKEY_F16: _key_t = 80;
404pub const _key_t_ekKEY_F14: _key_t = 81;
405pub const _key_t_ekKEY_F10: _key_t = 82;
406pub const _key_t_ekKEY_F12: _key_t = 83;
407pub const _key_t_ekKEY_F15: _key_t = 84;
408pub const _key_t_ekKEY_PAGEUP: _key_t = 85;
409pub const _key_t_ekKEY_HOME: _key_t = 86;
410pub const _key_t_ekKEY_SUPR: _key_t = 87;
411pub const _key_t_ekKEY_F4: _key_t = 88;
412pub const _key_t_ekKEY_PAGEDOWN: _key_t = 89;
413pub const _key_t_ekKEY_F2: _key_t = 90;
414pub const _key_t_ekKEY_END: _key_t = 91;
415pub const _key_t_ekKEY_F1: _key_t = 92;
416pub const _key_t_ekKEY_LEFT: _key_t = 93;
417pub const _key_t_ekKEY_RIGHT: _key_t = 94;
418pub const _key_t_ekKEY_DOWN: _key_t = 95;
419pub const _key_t_ekKEY_UP: _key_t = 96;
420pub const _key_t_ekKEY_LSHIFT: _key_t = 97;
421pub const _key_t_ekKEY_RSHIFT: _key_t = 98;
422pub const _key_t_ekKEY_LCTRL: _key_t = 99;
423pub const _key_t_ekKEY_RCTRL: _key_t = 100;
424pub const _key_t_ekKEY_LALT: _key_t = 101;
425pub const _key_t_ekKEY_RALT: _key_t = 102;
426pub const _key_t_ekKEY_INSERT: _key_t = 103;
427pub const _key_t_ekKEY_EXCLAM: _key_t = 104;
428pub const _key_t_ekKEY_MENU: _key_t = 105;
429pub const _key_t_ekKEY_LWIN: _key_t = 106;
430pub const _key_t_ekKEY_RWIN: _key_t = 107;
431pub const _key_t_ekKEY_CAPS: _key_t = 108;
432pub const _key_t_ekKEY_TILDE: _key_t = 109;
433pub const _key_t_ekKEY_GRAVE: _key_t = 110;
434pub const _key_t_ekKEY_PLUS: _key_t = 111;
435pub type _key_t = ::libc::c_int;
436pub use self::_key_t as vkey_t;
437pub const _mkey_t_ekMKEY_NONE: _mkey_t = 0;
438pub const _mkey_t_ekMKEY_SHIFT: _mkey_t = 1;
439pub const _mkey_t_ekMKEY_CONTROL: _mkey_t = 2;
440pub const _mkey_t_ekMKEY_ALT: _mkey_t = 4;
441pub const _mkey_t_ekMKEY_COMMAND: _mkey_t = 8;
442pub type _mkey_t = ::libc::c_int;
443pub use self::_mkey_t as mkey_t;
444pub const _token_t_ekTSLCOM: _token_t = 1;
445pub const _token_t_ekTMLCOM: _token_t = 2;
446pub const _token_t_ekTSPACE: _token_t = 3;
447pub const _token_t_ekTEOL: _token_t = 4;
448pub const _token_t_ekTLESS: _token_t = 5;
449pub const _token_t_ekTGREAT: _token_t = 6;
450pub const _token_t_ekTCOMMA: _token_t = 7;
451pub const _token_t_ekTPERIOD: _token_t = 8;
452pub const _token_t_ekTSCOLON: _token_t = 9;
453pub const _token_t_ekTCOLON: _token_t = 10;
454pub const _token_t_ekTOPENPAR: _token_t = 11;
455pub const _token_t_ekTCLOSPAR: _token_t = 12;
456pub const _token_t_ekTOPENBRAC: _token_t = 13;
457pub const _token_t_ekTCLOSBRAC: _token_t = 14;
458pub const _token_t_ekTOPENCURL: _token_t = 15;
459pub const _token_t_ekTCLOSCURL: _token_t = 16;
460pub const _token_t_ekTPLUS: _token_t = 17;
461pub const _token_t_ekTMINUS: _token_t = 18;
462pub const _token_t_ekTASTERK: _token_t = 19;
463pub const _token_t_ekTEQUALS: _token_t = 20;
464pub const _token_t_ekTDOLLAR: _token_t = 21;
465pub const _token_t_ekTPERCENT: _token_t = 22;
466pub const _token_t_ekTPOUND: _token_t = 23;
467pub const _token_t_ekTAMPER: _token_t = 24;
468pub const _token_t_ekTAPOST: _token_t = 25;
469pub const _token_t_ekTQUOTE: _token_t = 26;
470pub const _token_t_ekTCIRCUM: _token_t = 27;
471pub const _token_t_ekTTILDE: _token_t = 28;
472pub const _token_t_ekTEXCLA: _token_t = 29;
473pub const _token_t_ekTQUEST: _token_t = 30;
474pub const _token_t_ekTVLINE: _token_t = 31;
475pub const _token_t_ekTSLASH: _token_t = 32;
476pub const _token_t_ekTBSLASH: _token_t = 33;
477pub const _token_t_ekTAT: _token_t = 34;
478pub const _token_t_ekTINTEGER: _token_t = 35;
479pub const _token_t_ekTOCTAL: _token_t = 36;
480pub const _token_t_ekTHEX: _token_t = 37;
481pub const _token_t_ekTREAL: _token_t = 38;
482pub const _token_t_ekTSTRING: _token_t = 39;
483pub const _token_t_ekTIDENT: _token_t = 40;
484pub const _token_t_ekTUNDEF: _token_t = 41;
485pub const _token_t_ekTCORRUP: _token_t = 42;
486pub const _token_t_ekTEOF: _token_t = 43;
487pub const _token_t_ekTRESERVED: _token_t = 44;
488pub type _token_t = ::libc::c_int;
489pub use self::_token_t as ltoken_t;
490pub const _dbindst_t_ekDBIND_OK: _dbindst_t = 0;
491pub const _dbindst_t_ekDBIND_MEMBER_EXISTS: _dbindst_t = 1;
492pub const _dbindst_t_ekDBIND_TYPE_EXISTS: _dbindst_t = 2;
493pub const _dbindst_t_ekDBIND_TYPE_UNKNOWN: _dbindst_t = 3;
494pub const _dbindst_t_ekDBIND_TYPE_USED: _dbindst_t = 4;
495pub const _dbindst_t_ekDBIND_ALIAS_SIZE: _dbindst_t = 5;
496pub type _dbindst_t = ::libc::c_int;
497pub use self::_dbindst_t as dbindst_t;
498pub type Buffer = _buffer_t;
499pub type String = _string_t;
500#[repr(C)]
501#[derive(Debug, Copy, Clone)]
502pub struct _stream_t {
503    _unused: [u8; 0],
504}
505pub type Stream = _stream_t;
506#[repr(C)]
507#[derive(Debug, Copy, Clone)]
508pub struct _array_t {
509    _unused: [u8; 0],
510}
511pub type Array = _array_t;
512#[repr(C)]
513#[derive(Debug, Copy, Clone)]
514pub struct _rbtree_t {
515    _unused: [u8; 0],
516}
517pub type RBTree = _rbtree_t;
518#[repr(C)]
519#[derive(Debug, Copy, Clone)]
520pub struct _regex {
521    _unused: [u8; 0],
522}
523pub type RegEx = _regex;
524#[repr(C)]
525#[derive(Debug, Copy, Clone)]
526pub struct _event_t {
527    _unused: [u8; 0],
528}
529pub type Event = _event_t;
530#[repr(C)]
531#[derive(Debug, Copy, Clone)]
532pub struct _keybuf_t {
533    _unused: [u8; 0],
534}
535pub type KeyBuf = _keybuf_t;
536#[repr(C)]
537#[derive(Debug, Copy, Clone)]
538pub struct _listener_t {
539    _unused: [u8; 0],
540}
541pub type Listener = _listener_t;
542pub type DirEntry = _direntry_t;
543pub type EvFileDir = _evfiledir_t;
544#[repr(C)]
545#[derive(Debug, Copy, Clone)]
546pub struct _respack {
547    _unused: [u8; 0],
548}
549pub type ResPack = _respack;
550pub type ResId = *const char_t;
551#[repr(C)]
552#[derive(Debug, Copy, Clone)]
553pub struct _clock_t {
554    _unused: [u8; 0],
555}
556pub type Clock = _clock_t;
557pub type Object = _object_t;
558pub type FPtr_remove = ::core::option::Option<unsafe extern "C" fn(obj: *mut ::libc::c_void)>;
559pub type FPtr_event_handler =
560    ::core::option::Option<unsafe extern "C" fn(obj: *mut ::libc::c_void, event: *mut Event)>;
561pub type FPtr_read =
562    ::core::option::Option<unsafe extern "C" fn(stream: *mut Stream) -> *mut ::libc::c_void>;
563pub type FPtr_read_init =
564    ::core::option::Option<unsafe extern "C" fn(stream: *mut Stream, obj: *mut ::libc::c_void)>;
565pub type FPtr_write =
566    ::core::option::Option<unsafe extern "C" fn(stream: *mut Stream, obj: *const ::libc::c_void)>;
567#[repr(C)]
568#[derive(Debug, Copy, Clone)]
569pub struct _buffer_t {
570    pub size: u32,
571    pub data: [::libc::c_char; 512usize],
572}
573#[repr(C)]
574#[derive(Debug, Copy, Clone)]
575pub struct _object_t {
576    pub count: u32,
577}
578#[repr(C)]
579#[derive(Debug, Copy, Clone)]
580pub struct _string_t {
581    pub size: u32,
582    pub data: [::libc::c_char; 512usize],
583}
584#[repr(C)]
585#[derive(Debug, Copy, Clone)]
586pub struct _direntry_t {
587    pub name: *mut String,
588    pub type_: file_type_t,
589    pub size: u64,
590    pub date: Date,
591}
592#[repr(C)]
593#[derive(Debug, Copy, Clone)]
594pub struct _evfiledir_t {
595    pub filename: *const char_t,
596    pub pathname: *const char_t,
597    pub depth: u32,
598}
599unsafe extern "C" {
600    pub fn array_create(esize: u16, type_: *const char_t) -> *mut Array;
601}
602unsafe extern "C" {
603    pub fn array_copy(
604        array: *const Array,
605        func_copy: FPtr_scopy,
606        type_: *const char_t,
607    ) -> *mut Array;
608}
609unsafe extern "C" {
610    pub fn array_copy_ptr(
611        array: *const Array,
612        func_copy: FPtr_copy,
613        type_: *const char_t,
614    ) -> *mut Array;
615}
616unsafe extern "C" {
617    pub fn array_read(
618        stream: *mut Stream,
619        esize: u16,
620        func_read_init: FPtr_read_init,
621        type_: *const char_t,
622    ) -> *mut Array;
623}
624unsafe extern "C" {
625    pub fn array_read_ptr(
626        stream: *mut Stream,
627        func_read: FPtr_read,
628        type_: *const char_t,
629    ) -> *mut Array;
630}
631unsafe extern "C" {
632    pub fn array_destroy(array: *mut *mut Array, func_remove: FPtr_remove, type_: *const char_t);
633}
634unsafe extern "C" {
635    pub fn array_destopt(array: *mut *mut Array, func_remove: FPtr_remove, type_: *const char_t);
636}
637unsafe extern "C" {
638    pub fn array_destroy_ptr(
639        array: *mut *mut Array,
640        func_destroy: FPtr_destroy,
641        type_: *const char_t,
642    );
643}
644unsafe extern "C" {
645    pub fn array_destopt_ptr(
646        array: *mut *mut Array,
647        func_destroy: FPtr_destroy,
648        type_: *const char_t,
649    );
650}
651unsafe extern "C" {
652    pub fn array_clear(array: *mut Array, func_remove: FPtr_remove);
653}
654unsafe extern "C" {
655    pub fn array_clear_ptr(array: *mut Array, func_destroy: FPtr_destroy);
656}
657unsafe extern "C" {
658    pub fn array_write(stream: *mut Stream, array: *const Array, func_write: FPtr_write);
659}
660unsafe extern "C" {
661    pub fn array_write_ptr(stream: *mut Stream, array: *const Array, func_write: FPtr_write);
662}
663unsafe extern "C" {
664    pub fn array_size(array: *const Array) -> u32;
665}
666unsafe extern "C" {
667    pub fn array_esize(array: *const Array) -> u32;
668}
669unsafe extern "C" {
670    pub fn array_get(array: *const Array, pos: u32) -> *mut byte_t;
671}
672unsafe extern "C" {
673    pub fn array_get_last(array: *const Array) -> *mut byte_t;
674}
675unsafe extern "C" {
676    pub fn array_all(array: *const Array) -> *mut byte_t;
677}
678unsafe extern "C" {
679    pub fn array_insert(array: *mut Array, pos: u32, n: u32) -> *mut byte_t;
680}
681unsafe extern "C" {
682    pub fn array_insert0(array: *mut Array, pos: u32, n: u32) -> *mut byte_t;
683}
684unsafe extern "C" {
685    pub fn array_join(dest: *mut Array, src: *const Array, func_copy: FPtr_scopy);
686}
687unsafe extern "C" {
688    pub fn array_join_ptr(dest: *mut Array, src: *const Array, func_copy: FPtr_copy);
689}
690unsafe extern "C" {
691    pub fn array_delete(array: *mut Array, pos: u32, n: u32, func_remove: FPtr_remove);
692}
693unsafe extern "C" {
694    pub fn array_delete_ptr(array: *mut Array, pos: u32, n: u32, func_destroy: FPtr_destroy);
695}
696unsafe extern "C" {
697    pub fn array_pop(array: *mut Array, func_remove: FPtr_remove);
698}
699unsafe extern "C" {
700    pub fn array_pop_ptr(array: *mut Array, func_destroy: FPtr_destroy);
701}
702unsafe extern "C" {
703    pub fn array_sort(array: *mut Array, func_compare: FPtr_compare);
704}
705unsafe extern "C" {
706    pub fn array_sort_ex(
707        array: *mut Array,
708        func_compare: FPtr_compare_ex,
709        data: *mut ::libc::c_void,
710    );
711}
712unsafe extern "C" {
713    pub fn array_sort_ptr(array: *mut Array, func_compare: FPtr_compare);
714}
715unsafe extern "C" {
716    pub fn array_sort_ptr_ex(
717        array: *mut Array,
718        func_compare: FPtr_compare_ex,
719        data: *mut ::libc::c_void,
720    );
721}
722unsafe extern "C" {
723    pub fn array_find_ptr(array: *const Array, elem: *const ::libc::c_void) -> u32;
724}
725unsafe extern "C" {
726    pub fn array_search(
727        array: *const Array,
728        func_compare: FPtr_compare,
729        key: *const ::libc::c_void,
730        pos: *mut u32,
731    ) -> *mut byte_t;
732}
733unsafe extern "C" {
734    pub fn array_search_ptr(
735        array: *const Array,
736        func_compare: FPtr_compare,
737        key: *const ::libc::c_void,
738        pos: *mut u32,
739    ) -> *mut byte_t;
740}
741unsafe extern "C" {
742    pub fn array_bsearch(
743        array: *const Array,
744        func_compare: FPtr_compare,
745        key: *const ::libc::c_void,
746        pos: *mut u32,
747    ) -> *mut byte_t;
748}
749unsafe extern "C" {
750    pub fn array_bsearch_ptr(
751        array: *const Array,
752        func_compare: FPtr_compare,
753        key: *const ::libc::c_void,
754        pos: *mut u32,
755    ) -> *mut byte_t;
756}
757unsafe extern "C" {
758    pub fn rbtree_create(
759        func_compare: FPtr_compare,
760        esize: u16,
761        ksize: u16,
762        type_: *const char_t,
763        ktype: *const char_t,
764    ) -> *mut RBTree;
765}
766unsafe extern "C" {
767    pub fn rbtree_destroy(
768        tree: *mut *mut RBTree,
769        func_remove: FPtr_remove,
770        func_destroy_key: FPtr_destroy,
771        type_: *const char_t,
772    );
773}
774unsafe extern "C" {
775    pub fn rbtree_destroy_ptr(
776        tree: *mut *mut RBTree,
777        func_destroy: FPtr_destroy,
778        func_destroy_key: FPtr_destroy,
779        type_: *const char_t,
780    );
781}
782unsafe extern "C" {
783    pub fn rbtree_size(tree: *const RBTree) -> u32;
784}
785unsafe extern "C" {
786    pub fn rbtree_get(
787        tree: *const RBTree,
788        key: *const ::libc::c_void,
789        isptr: bool_t,
790        ktype: *const char_t,
791    ) -> *mut byte_t;
792}
793unsafe extern "C" {
794    pub fn rbtree_insert(
795        tree: *mut RBTree,
796        key: *const ::libc::c_void,
797        func_key_copy: FPtr_copy,
798        ktype: *const char_t,
799    ) -> *mut byte_t;
800}
801unsafe extern "C" {
802    pub fn rbtree_insert_ptr(
803        tree: *mut RBTree,
804        key: *const ::libc::c_void,
805        ptr: *mut ::libc::c_void,
806        ktype: *const char_t,
807    ) -> bool_t;
808}
809unsafe extern "C" {
810    pub fn rbtree_delete(
811        tree: *mut RBTree,
812        key: *const ::libc::c_void,
813        func_remove: FPtr_remove,
814        func_destroy_key: FPtr_destroy,
815        ktype: *const char_t,
816    ) -> bool_t;
817}
818unsafe extern "C" {
819    pub fn rbtree_delete_ptr(
820        tree: *mut RBTree,
821        key: *const ::libc::c_void,
822        func_destroy: FPtr_destroy,
823        func_destroy_key: FPtr_destroy,
824        ktype: *const char_t,
825    ) -> bool_t;
826}
827unsafe extern "C" {
828    pub fn rbtree_first(tree: *mut RBTree) -> *mut byte_t;
829}
830unsafe extern "C" {
831    pub fn rbtree_last(tree: *mut RBTree) -> *mut byte_t;
832}
833unsafe extern "C" {
834    pub fn rbtree_next(tree: *mut RBTree) -> *mut byte_t;
835}
836unsafe extern "C" {
837    pub fn rbtree_prev(tree: *mut RBTree) -> *mut byte_t;
838}
839unsafe extern "C" {
840    pub fn rbtree_first_ptr(tree: *mut RBTree) -> *mut byte_t;
841}
842unsafe extern "C" {
843    pub fn rbtree_last_ptr(tree: *mut RBTree) -> *mut byte_t;
844}
845unsafe extern "C" {
846    pub fn rbtree_next_ptr(tree: *mut RBTree) -> *mut byte_t;
847}
848unsafe extern "C" {
849    pub fn rbtree_prev_ptr(tree: *mut RBTree) -> *mut byte_t;
850}
851unsafe extern "C" {
852    pub fn rbtree_get_key(tree: *const RBTree) -> *const char_t;
853}
854unsafe extern "C" {
855    pub fn rbtree_check(tree: *const RBTree) -> bool_t;
856}
857#[repr(C)]
858#[derive(Debug, Copy, Clone)]
859pub struct bool_tData {
860    pub elem: [bool_t; 1024usize],
861}
862#[repr(C)]
863#[derive(Debug, Copy, Clone)]
864pub struct ArrStbool_t {
865    pub reserved: u32,
866    pub size: u32,
867    pub elem_sizeof: u16,
868    pub content: *mut bool_tData,
869}
870#[repr(C)]
871#[derive(Debug, Copy, Clone)]
872pub struct NodeStbool_t {
873    pub rb: u32,
874    pub left: *mut NodeStbool_t,
875    pub right: *mut NodeStbool_t,
876    pub data: bool_t,
877}
878#[repr(C)]
879#[derive(Debug, Copy, Clone)]
880pub struct SetStbool_t {
881    pub elems: u32,
882    pub esize: u16,
883    pub ksize: u16,
884    pub root: *mut NodeStbool_t,
885    pub func_compare: FPtr_compare,
886}
887#[repr(C)]
888#[derive(Debug, Copy, Clone)]
889pub struct _arrstendbool_t_t {
890    _unused: [u8; 0],
891}
892pub type arrstendbool_t = _arrstendbool_t_t;
893#[repr(C)]
894#[derive(Debug, Copy, Clone)]
895pub struct _setstendbool_t_t {
896    _unused: [u8; 0],
897}
898pub type setstendbool_t = _setstendbool_t_t;
899#[repr(C)]
900#[derive(Debug, Copy, Clone)]
901pub struct int8_tData {
902    pub elem: [i8; 1024usize],
903}
904#[repr(C)]
905#[derive(Debug, Copy, Clone)]
906pub struct ArrStint8_t {
907    pub reserved: u32,
908    pub size: u32,
909    pub elem_sizeof: u16,
910    pub content: *mut int8_tData,
911}
912#[repr(C)]
913#[derive(Debug, Copy, Clone)]
914pub struct NodeStint8_t {
915    pub rb: u32,
916    pub left: *mut NodeStint8_t,
917    pub right: *mut NodeStint8_t,
918    pub data: i8,
919}
920#[repr(C)]
921#[derive(Debug, Copy, Clone)]
922pub struct SetStint8_t {
923    pub elems: u32,
924    pub esize: u16,
925    pub ksize: u16,
926    pub root: *mut NodeStint8_t,
927    pub func_compare: FPtr_compare,
928}
929#[repr(C)]
930#[derive(Debug, Copy, Clone)]
931pub struct _arrstendint8_t_t {
932    _unused: [u8; 0],
933}
934pub type arrstendint8_t = _arrstendint8_t_t;
935#[repr(C)]
936#[derive(Debug, Copy, Clone)]
937pub struct _setstendint8_t_t {
938    _unused: [u8; 0],
939}
940pub type setstendint8_t = _setstendint8_t_t;
941#[repr(C)]
942#[derive(Debug, Copy, Clone)]
943pub struct int16_tData {
944    pub elem: [i16; 1024usize],
945}
946#[repr(C)]
947#[derive(Debug, Copy, Clone)]
948pub struct ArrStint16_t {
949    pub reserved: u32,
950    pub size: u32,
951    pub elem_sizeof: u16,
952    pub content: *mut int16_tData,
953}
954#[repr(C)]
955#[derive(Debug, Copy, Clone)]
956pub struct NodeStint16_t {
957    pub rb: u32,
958    pub left: *mut NodeStint16_t,
959    pub right: *mut NodeStint16_t,
960    pub data: i16,
961}
962#[repr(C)]
963#[derive(Debug, Copy, Clone)]
964pub struct SetStint16_t {
965    pub elems: u32,
966    pub esize: u16,
967    pub ksize: u16,
968    pub root: *mut NodeStint16_t,
969    pub func_compare: FPtr_compare,
970}
971#[repr(C)]
972#[derive(Debug, Copy, Clone)]
973pub struct _arrstendint16_t_t {
974    _unused: [u8; 0],
975}
976pub type arrstendint16_t = _arrstendint16_t_t;
977#[repr(C)]
978#[derive(Debug, Copy, Clone)]
979pub struct _setstendint16_t_t {
980    _unused: [u8; 0],
981}
982pub type setstendint16_t = _setstendint16_t_t;
983#[repr(C)]
984#[derive(Debug, Copy, Clone)]
985pub struct int32_tData {
986    pub elem: [i32; 1024usize],
987}
988#[repr(C)]
989#[derive(Debug, Copy, Clone)]
990pub struct ArrStint32_t {
991    pub reserved: u32,
992    pub size: u32,
993    pub elem_sizeof: u16,
994    pub content: *mut int32_tData,
995}
996#[repr(C)]
997#[derive(Debug, Copy, Clone)]
998pub struct NodeStint32_t {
999    pub rb: u32,
1000    pub left: *mut NodeStint32_t,
1001    pub right: *mut NodeStint32_t,
1002    pub data: i32,
1003}
1004#[repr(C)]
1005#[derive(Debug, Copy, Clone)]
1006pub struct SetStint32_t {
1007    pub elems: u32,
1008    pub esize: u16,
1009    pub ksize: u16,
1010    pub root: *mut NodeStint32_t,
1011    pub func_compare: FPtr_compare,
1012}
1013#[repr(C)]
1014#[derive(Debug, Copy, Clone)]
1015pub struct _arrstendint32_t_t {
1016    _unused: [u8; 0],
1017}
1018pub type arrstendint32_t = _arrstendint32_t_t;
1019#[repr(C)]
1020#[derive(Debug, Copy, Clone)]
1021pub struct _setstendint32_t_t {
1022    _unused: [u8; 0],
1023}
1024pub type setstendint32_t = _setstendint32_t_t;
1025#[repr(C)]
1026#[derive(Debug, Copy, Clone)]
1027pub struct int64_tData {
1028    pub elem: [i64; 1024usize],
1029}
1030#[repr(C)]
1031#[derive(Debug, Copy, Clone)]
1032pub struct ArrStint64_t {
1033    pub reserved: u32,
1034    pub size: u32,
1035    pub elem_sizeof: u16,
1036    pub content: *mut int64_tData,
1037}
1038#[repr(C)]
1039#[derive(Debug, Copy, Clone)]
1040pub struct NodeStint64_t {
1041    pub rb: u32,
1042    pub left: *mut NodeStint64_t,
1043    pub right: *mut NodeStint64_t,
1044    pub data: i64,
1045}
1046#[repr(C)]
1047#[derive(Debug, Copy, Clone)]
1048pub struct SetStint64_t {
1049    pub elems: u32,
1050    pub esize: u16,
1051    pub ksize: u16,
1052    pub root: *mut NodeStint64_t,
1053    pub func_compare: FPtr_compare,
1054}
1055#[repr(C)]
1056#[derive(Debug, Copy, Clone)]
1057pub struct _arrstendint64_t_t {
1058    _unused: [u8; 0],
1059}
1060pub type arrstendint64_t = _arrstendint64_t_t;
1061#[repr(C)]
1062#[derive(Debug, Copy, Clone)]
1063pub struct _setstendint64_t_t {
1064    _unused: [u8; 0],
1065}
1066pub type setstendint64_t = _setstendint64_t_t;
1067#[repr(C)]
1068#[derive(Debug, Copy, Clone)]
1069pub struct uint8_tData {
1070    pub elem: [u8; 1024usize],
1071}
1072#[repr(C)]
1073#[derive(Debug, Copy, Clone)]
1074pub struct ArrStuint8_t {
1075    pub reserved: u32,
1076    pub size: u32,
1077    pub elem_sizeof: u16,
1078    pub content: *mut uint8_tData,
1079}
1080#[repr(C)]
1081#[derive(Debug, Copy, Clone)]
1082pub struct NodeStuint8_t {
1083    pub rb: u32,
1084    pub left: *mut NodeStuint8_t,
1085    pub right: *mut NodeStuint8_t,
1086    pub data: u8,
1087}
1088#[repr(C)]
1089#[derive(Debug, Copy, Clone)]
1090pub struct SetStuint8_t {
1091    pub elems: u32,
1092    pub esize: u16,
1093    pub ksize: u16,
1094    pub root: *mut NodeStuint8_t,
1095    pub func_compare: FPtr_compare,
1096}
1097#[repr(C)]
1098#[derive(Debug, Copy, Clone)]
1099pub struct _arrstenduint8_t_t {
1100    _unused: [u8; 0],
1101}
1102pub type arrstenduint8_t = _arrstenduint8_t_t;
1103#[repr(C)]
1104#[derive(Debug, Copy, Clone)]
1105pub struct _setstenduint8_t_t {
1106    _unused: [u8; 0],
1107}
1108pub type setstenduint8_t = _setstenduint8_t_t;
1109#[repr(C)]
1110#[derive(Debug, Copy, Clone)]
1111pub struct uint16_tData {
1112    pub elem: [u16; 1024usize],
1113}
1114#[repr(C)]
1115#[derive(Debug, Copy, Clone)]
1116pub struct ArrStuint16_t {
1117    pub reserved: u32,
1118    pub size: u32,
1119    pub elem_sizeof: u16,
1120    pub content: *mut uint16_tData,
1121}
1122#[repr(C)]
1123#[derive(Debug, Copy, Clone)]
1124pub struct NodeStuint16_t {
1125    pub rb: u32,
1126    pub left: *mut NodeStuint16_t,
1127    pub right: *mut NodeStuint16_t,
1128    pub data: u16,
1129}
1130#[repr(C)]
1131#[derive(Debug, Copy, Clone)]
1132pub struct SetStuint16_t {
1133    pub elems: u32,
1134    pub esize: u16,
1135    pub ksize: u16,
1136    pub root: *mut NodeStuint16_t,
1137    pub func_compare: FPtr_compare,
1138}
1139#[repr(C)]
1140#[derive(Debug, Copy, Clone)]
1141pub struct _arrstenduint16_t_t {
1142    _unused: [u8; 0],
1143}
1144pub type arrstenduint16_t = _arrstenduint16_t_t;
1145#[repr(C)]
1146#[derive(Debug, Copy, Clone)]
1147pub struct _setstenduint16_t_t {
1148    _unused: [u8; 0],
1149}
1150pub type setstenduint16_t = _setstenduint16_t_t;
1151#[repr(C)]
1152#[derive(Debug, Copy, Clone)]
1153pub struct uint32_tData {
1154    pub elem: [u32; 1024usize],
1155}
1156#[repr(C)]
1157#[derive(Debug, Copy, Clone)]
1158pub struct ArrStuint32_t {
1159    pub reserved: u32,
1160    pub size: u32,
1161    pub elem_sizeof: u16,
1162    pub content: *mut uint32_tData,
1163}
1164#[repr(C)]
1165#[derive(Debug, Copy, Clone)]
1166pub struct NodeStuint32_t {
1167    pub rb: u32,
1168    pub left: *mut NodeStuint32_t,
1169    pub right: *mut NodeStuint32_t,
1170    pub data: u32,
1171}
1172#[repr(C)]
1173#[derive(Debug, Copy, Clone)]
1174pub struct SetStuint32_t {
1175    pub elems: u32,
1176    pub esize: u16,
1177    pub ksize: u16,
1178    pub root: *mut NodeStuint32_t,
1179    pub func_compare: FPtr_compare,
1180}
1181#[repr(C)]
1182#[derive(Debug, Copy, Clone)]
1183pub struct _arrstenduint32_t_t {
1184    _unused: [u8; 0],
1185}
1186pub type arrstenduint32_t = _arrstenduint32_t_t;
1187#[repr(C)]
1188#[derive(Debug, Copy, Clone)]
1189pub struct _setstenduint32_t_t {
1190    _unused: [u8; 0],
1191}
1192pub type setstenduint32_t = _setstenduint32_t_t;
1193#[repr(C)]
1194#[derive(Debug, Copy, Clone)]
1195pub struct uint64_tData {
1196    pub elem: [u64; 1024usize],
1197}
1198#[repr(C)]
1199#[derive(Debug, Copy, Clone)]
1200pub struct ArrStuint64_t {
1201    pub reserved: u32,
1202    pub size: u32,
1203    pub elem_sizeof: u16,
1204    pub content: *mut uint64_tData,
1205}
1206#[repr(C)]
1207#[derive(Debug, Copy, Clone)]
1208pub struct NodeStuint64_t {
1209    pub rb: u32,
1210    pub left: *mut NodeStuint64_t,
1211    pub right: *mut NodeStuint64_t,
1212    pub data: u64,
1213}
1214#[repr(C)]
1215#[derive(Debug, Copy, Clone)]
1216pub struct SetStuint64_t {
1217    pub elems: u32,
1218    pub esize: u16,
1219    pub ksize: u16,
1220    pub root: *mut NodeStuint64_t,
1221    pub func_compare: FPtr_compare,
1222}
1223#[repr(C)]
1224#[derive(Debug, Copy, Clone)]
1225pub struct _arrstenduint64_t_t {
1226    _unused: [u8; 0],
1227}
1228pub type arrstenduint64_t = _arrstenduint64_t_t;
1229#[repr(C)]
1230#[derive(Debug, Copy, Clone)]
1231pub struct _setstenduint64_t_t {
1232    _unused: [u8; 0],
1233}
1234pub type setstenduint64_t = _setstenduint64_t_t;
1235#[repr(C)]
1236#[derive(Debug, Copy, Clone)]
1237pub struct real32_tData {
1238    pub elem: [real32_t; 1024usize],
1239}
1240#[repr(C)]
1241#[derive(Debug, Copy, Clone)]
1242pub struct ArrStreal32_t {
1243    pub reserved: u32,
1244    pub size: u32,
1245    pub elem_sizeof: u16,
1246    pub content: *mut real32_tData,
1247}
1248#[repr(C)]
1249#[derive(Debug, Copy, Clone)]
1250pub struct NodeStreal32_t {
1251    pub rb: u32,
1252    pub left: *mut NodeStreal32_t,
1253    pub right: *mut NodeStreal32_t,
1254    pub data: real32_t,
1255}
1256#[repr(C)]
1257#[derive(Debug, Copy, Clone)]
1258pub struct SetStreal32_t {
1259    pub elems: u32,
1260    pub esize: u16,
1261    pub ksize: u16,
1262    pub root: *mut NodeStreal32_t,
1263    pub func_compare: FPtr_compare,
1264}
1265#[repr(C)]
1266#[derive(Debug, Copy, Clone)]
1267pub struct _arrstendreal32_t_t {
1268    _unused: [u8; 0],
1269}
1270pub type arrstendreal32_t = _arrstendreal32_t_t;
1271#[repr(C)]
1272#[derive(Debug, Copy, Clone)]
1273pub struct _setstendreal32_t_t {
1274    _unused: [u8; 0],
1275}
1276pub type setstendreal32_t = _setstendreal32_t_t;
1277#[repr(C)]
1278#[derive(Debug, Copy, Clone)]
1279pub struct real64_tData {
1280    pub elem: [real64_t; 1024usize],
1281}
1282#[repr(C)]
1283#[derive(Debug, Copy, Clone)]
1284pub struct ArrStreal64_t {
1285    pub reserved: u32,
1286    pub size: u32,
1287    pub elem_sizeof: u16,
1288    pub content: *mut real64_tData,
1289}
1290#[repr(C)]
1291#[derive(Debug, Copy, Clone)]
1292pub struct NodeStreal64_t {
1293    pub rb: u32,
1294    pub left: *mut NodeStreal64_t,
1295    pub right: *mut NodeStreal64_t,
1296    pub data: real64_t,
1297}
1298#[repr(C)]
1299#[derive(Debug, Copy, Clone)]
1300pub struct SetStreal64_t {
1301    pub elems: u32,
1302    pub esize: u16,
1303    pub ksize: u16,
1304    pub root: *mut NodeStreal64_t,
1305    pub func_compare: FPtr_compare,
1306}
1307#[repr(C)]
1308#[derive(Debug, Copy, Clone)]
1309pub struct _arrstendreal64_t_t {
1310    _unused: [u8; 0],
1311}
1312pub type arrstendreal64_t = _arrstendreal64_t_t;
1313#[repr(C)]
1314#[derive(Debug, Copy, Clone)]
1315pub struct _setstendreal64_t_t {
1316    _unused: [u8; 0],
1317}
1318pub type setstendreal64_t = _setstendreal64_t_t;
1319#[repr(C)]
1320#[derive(Debug, Copy, Clone)]
1321pub struct StringPtData {
1322    pub elem: [*mut String; 1024usize],
1323}
1324#[repr(C)]
1325#[derive(Debug, Copy, Clone)]
1326pub struct ArrPtString {
1327    pub reserved: u32,
1328    pub size: u32,
1329    pub elem_sizeof: u16,
1330    pub content: *mut StringPtData,
1331}
1332#[repr(C)]
1333#[derive(Debug, Copy, Clone)]
1334pub struct NodePtString {
1335    pub rb: u32,
1336    pub left: *mut NodePtString,
1337    pub right: *mut NodePtString,
1338    pub data: *mut String,
1339}
1340#[repr(C)]
1341#[derive(Debug, Copy, Clone)]
1342pub struct SetPtString {
1343    pub elems: u32,
1344    pub esize: u16,
1345    pub ksize: u16,
1346    pub root: *mut NodePtString,
1347    pub func_compare: FPtr_compare,
1348}
1349#[repr(C)]
1350#[derive(Debug, Copy, Clone)]
1351pub struct _arrptendString_t {
1352    _unused: [u8; 0],
1353}
1354pub type arrptendString = _arrptendString_t;
1355#[repr(C)]
1356#[derive(Debug, Copy, Clone)]
1357pub struct _setptendString_t {
1358    _unused: [u8; 0],
1359}
1360pub type setptendString = _setptendString_t;
1361#[repr(C)]
1362#[derive(Debug, Copy, Clone)]
1363pub struct DirEntryData {
1364    pub elem: [DirEntry; 1024usize],
1365}
1366#[repr(C)]
1367#[derive(Debug, Copy, Clone)]
1368pub struct ArrStDirEntry {
1369    pub reserved: u32,
1370    pub size: u32,
1371    pub elem_sizeof: u16,
1372    pub content: *mut DirEntryData,
1373}
1374#[repr(C)]
1375#[derive(Debug, Copy, Clone)]
1376pub struct NodeStDirEntry {
1377    pub rb: u32,
1378    pub left: *mut NodeStDirEntry,
1379    pub right: *mut NodeStDirEntry,
1380    pub data: DirEntry,
1381}
1382#[repr(C)]
1383#[derive(Debug, Copy, Clone)]
1384pub struct SetStDirEntry {
1385    pub elems: u32,
1386    pub esize: u16,
1387    pub ksize: u16,
1388    pub root: *mut NodeStDirEntry,
1389    pub func_compare: FPtr_compare,
1390}
1391#[repr(C)]
1392#[derive(Debug, Copy, Clone)]
1393pub struct _arrstendDirEntry_t {
1394    _unused: [u8; 0],
1395}
1396pub type arrstendDirEntry = _arrstendDirEntry_t;
1397#[repr(C)]
1398#[derive(Debug, Copy, Clone)]
1399pub struct _setstendDirEntry_t {
1400    _unused: [u8; 0],
1401}
1402pub type setstendDirEntry = _setstendDirEntry_t;
1403#[repr(C)]
1404#[derive(Debug, Copy, Clone)]
1405pub struct ResPackPtData {
1406    pub elem: [*mut ResPack; 1024usize],
1407}
1408#[repr(C)]
1409#[derive(Debug, Copy, Clone)]
1410pub struct ArrPtResPack {
1411    pub reserved: u32,
1412    pub size: u32,
1413    pub elem_sizeof: u16,
1414    pub content: *mut ResPackPtData,
1415}
1416#[repr(C)]
1417#[derive(Debug, Copy, Clone)]
1418pub struct NodePtResPack {
1419    pub rb: u32,
1420    pub left: *mut NodePtResPack,
1421    pub right: *mut NodePtResPack,
1422    pub data: *mut ResPack,
1423}
1424#[repr(C)]
1425#[derive(Debug, Copy, Clone)]
1426pub struct SetPtResPack {
1427    pub elems: u32,
1428    pub esize: u16,
1429    pub ksize: u16,
1430    pub root: *mut NodePtResPack,
1431    pub func_compare: FPtr_compare,
1432}
1433#[repr(C)]
1434#[derive(Debug, Copy, Clone)]
1435pub struct _arrptendResPack_t {
1436    _unused: [u8; 0],
1437}
1438pub type arrptendResPack = _arrptendResPack_t;
1439#[repr(C)]
1440#[derive(Debug, Copy, Clone)]
1441pub struct _setptendResPack_t {
1442    _unused: [u8; 0],
1443}
1444pub type setptendResPack = _setptendResPack_t;
1445#[repr(C)]
1446#[derive(Debug, Copy, Clone)]
1447pub struct RegExPtData {
1448    pub elem: [*mut RegEx; 1024usize],
1449}
1450#[repr(C)]
1451#[derive(Debug, Copy, Clone)]
1452pub struct ArrPtRegEx {
1453    pub reserved: u32,
1454    pub size: u32,
1455    pub elem_sizeof: u16,
1456    pub content: *mut RegExPtData,
1457}
1458#[repr(C)]
1459#[derive(Debug, Copy, Clone)]
1460pub struct NodePtRegEx {
1461    pub rb: u32,
1462    pub left: *mut NodePtRegEx,
1463    pub right: *mut NodePtRegEx,
1464    pub data: *mut RegEx,
1465}
1466#[repr(C)]
1467#[derive(Debug, Copy, Clone)]
1468pub struct SetPtRegEx {
1469    pub elems: u32,
1470    pub esize: u16,
1471    pub ksize: u16,
1472    pub root: *mut NodePtRegEx,
1473    pub func_compare: FPtr_compare,
1474}
1475#[repr(C)]
1476#[derive(Debug, Copy, Clone)]
1477pub struct _arrptendRegEx_t {
1478    _unused: [u8; 0],
1479}
1480pub type arrptendRegEx = _arrptendRegEx_t;
1481#[repr(C)]
1482#[derive(Debug, Copy, Clone)]
1483pub struct _setptendRegEx_t {
1484    _unused: [u8; 0],
1485}
1486pub type setptendRegEx = _setptendRegEx_t;
1487pub type V2Df = _v2df_t;
1488pub type V2Dd = _v2dd_t;
1489pub type S2Df = _s2df_t;
1490pub type S2Dd = _s2dd_t;
1491pub type R2Df = _r2df_t;
1492pub type R2Dd = _r2dd_t;
1493pub type T2Df = _t2df_t;
1494pub type T2Dd = _t2dd_t;
1495pub type Seg2Df = _seg2df_t;
1496pub type Seg2Dd = _seg2dd_t;
1497pub type Cir2Df = _cir2df_t;
1498pub type Cir2Dd = _cir2dd_t;
1499pub type Box2Df = _box2df_t;
1500pub type Box2Dd = _box2dd_t;
1501#[repr(C)]
1502#[derive(Debug, Copy, Clone)]
1503pub struct _obb2df_t {
1504    _unused: [u8; 0],
1505}
1506pub type OBB2Df = _obb2df_t;
1507#[repr(C)]
1508#[derive(Debug, Copy, Clone)]
1509pub struct _obb2dd_t {
1510    _unused: [u8; 0],
1511}
1512pub type OBB2Dd = _obb2dd_t;
1513pub type Tri2Df = _tri2df_t;
1514pub type Tri2Dd = _tri2dd_t;
1515#[repr(C)]
1516#[derive(Debug, Copy, Clone)]
1517pub struct _pol2df_t {
1518    _unused: [u8; 0],
1519}
1520pub type Pol2Df = _pol2df_t;
1521#[repr(C)]
1522#[derive(Debug, Copy, Clone)]
1523pub struct _pol2dd_t {
1524    _unused: [u8; 0],
1525}
1526pub type Pol2Dd = _pol2dd_t;
1527pub type Col2Df = _col2df_t;
1528pub type Col2Dd = _col2dd_t;
1529#[repr(C)]
1530#[derive(Debug, Copy, Clone)]
1531pub struct _v2df_t {
1532    pub x: real32_t,
1533    pub y: real32_t,
1534}
1535#[repr(C)]
1536#[derive(Debug, Copy, Clone)]
1537pub struct _v2dd_t {
1538    pub x: real64_t,
1539    pub y: real64_t,
1540}
1541#[repr(C)]
1542#[derive(Debug, Copy, Clone)]
1543pub struct _s2df_t {
1544    pub width: real32_t,
1545    pub height: real32_t,
1546}
1547#[repr(C)]
1548#[derive(Debug, Copy, Clone)]
1549pub struct _s2dd_t {
1550    pub width: real64_t,
1551    pub height: real64_t,
1552}
1553#[repr(C)]
1554#[derive(Debug, Copy, Clone)]
1555pub struct _r2df_t {
1556    pub pos: V2Df,
1557    pub size: S2Df,
1558}
1559#[repr(C)]
1560#[derive(Debug, Copy, Clone)]
1561pub struct _r2dd_t {
1562    pub pos: V2Dd,
1563    pub size: S2Dd,
1564}
1565#[repr(C)]
1566#[derive(Debug, Copy, Clone)]
1567pub struct _t2df_t {
1568    pub i: V2Df,
1569    pub j: V2Df,
1570    pub p: V2Df,
1571}
1572#[repr(C)]
1573#[derive(Debug, Copy, Clone)]
1574pub struct _t2dd_t {
1575    pub i: V2Dd,
1576    pub j: V2Dd,
1577    pub p: V2Dd,
1578}
1579#[repr(C)]
1580#[derive(Debug, Copy, Clone)]
1581pub struct _seg2df_t {
1582    pub p0: V2Df,
1583    pub p1: V2Df,
1584}
1585#[repr(C)]
1586#[derive(Debug, Copy, Clone)]
1587pub struct _seg2dd_t {
1588    pub p0: V2Dd,
1589    pub p1: V2Dd,
1590}
1591#[repr(C)]
1592#[derive(Debug, Copy, Clone)]
1593pub struct _cir2df_t {
1594    pub c: V2Df,
1595    pub r: real32_t,
1596}
1597#[repr(C)]
1598#[derive(Debug, Copy, Clone)]
1599pub struct _cir2dd_t {
1600    pub c: V2Dd,
1601    pub r: real64_t,
1602}
1603#[repr(C)]
1604#[derive(Debug, Copy, Clone)]
1605pub struct _box2df_t {
1606    pub min: V2Df,
1607    pub max: V2Df,
1608}
1609#[repr(C)]
1610#[derive(Debug, Copy, Clone)]
1611pub struct _box2dd_t {
1612    pub min: V2Dd,
1613    pub max: V2Dd,
1614}
1615#[repr(C)]
1616#[derive(Debug, Copy, Clone)]
1617pub struct _tri2df_t {
1618    pub p0: V2Df,
1619    pub p1: V2Df,
1620    pub p2: V2Df,
1621}
1622#[repr(C)]
1623#[derive(Debug, Copy, Clone)]
1624pub struct _tri2dd_t {
1625    pub p0: V2Dd,
1626    pub p1: V2Dd,
1627    pub p2: V2Dd,
1628}
1629#[repr(C)]
1630#[derive(Debug, Copy, Clone)]
1631pub struct _col2df_t {
1632    pub p: V2Df,
1633    pub n: V2Df,
1634    pub d: real32_t,
1635}
1636#[repr(C)]
1637#[derive(Debug, Copy, Clone)]
1638pub struct _col2dd_t {
1639    pub p: V2Dd,
1640    pub n: V2Dd,
1641    pub d: real64_t,
1642}
1643#[repr(C)]
1644#[derive(Debug, Copy, Clone)]
1645pub struct V2DfData {
1646    pub elem: [V2Df; 1024usize],
1647}
1648#[repr(C)]
1649#[derive(Debug, Copy, Clone)]
1650pub struct ArrStV2Df {
1651    pub reserved: u32,
1652    pub size: u32,
1653    pub elem_sizeof: u16,
1654    pub content: *mut V2DfData,
1655}
1656#[repr(C)]
1657#[derive(Debug, Copy, Clone)]
1658pub struct NodeStV2Df {
1659    pub rb: u32,
1660    pub left: *mut NodeStV2Df,
1661    pub right: *mut NodeStV2Df,
1662    pub data: V2Df,
1663}
1664#[repr(C)]
1665#[derive(Debug, Copy, Clone)]
1666pub struct SetStV2Df {
1667    pub elems: u32,
1668    pub esize: u16,
1669    pub ksize: u16,
1670    pub root: *mut NodeStV2Df,
1671    pub func_compare: FPtr_compare,
1672}
1673#[repr(C)]
1674#[derive(Debug, Copy, Clone)]
1675pub struct _arrstendV2Df_t {
1676    _unused: [u8; 0],
1677}
1678pub type arrstendV2Df = _arrstendV2Df_t;
1679#[repr(C)]
1680#[derive(Debug, Copy, Clone)]
1681pub struct _setstendV2Df_t {
1682    _unused: [u8; 0],
1683}
1684pub type setstendV2Df = _setstendV2Df_t;
1685#[repr(C)]
1686#[derive(Debug, Copy, Clone)]
1687pub struct V2DdData {
1688    pub elem: [V2Dd; 1024usize],
1689}
1690#[repr(C)]
1691#[derive(Debug, Copy, Clone)]
1692pub struct ArrStV2Dd {
1693    pub reserved: u32,
1694    pub size: u32,
1695    pub elem_sizeof: u16,
1696    pub content: *mut V2DdData,
1697}
1698#[repr(C)]
1699#[derive(Debug, Copy, Clone)]
1700pub struct NodeStV2Dd {
1701    pub rb: u32,
1702    pub left: *mut NodeStV2Dd,
1703    pub right: *mut NodeStV2Dd,
1704    pub data: V2Dd,
1705}
1706#[repr(C)]
1707#[derive(Debug, Copy, Clone)]
1708pub struct SetStV2Dd {
1709    pub elems: u32,
1710    pub esize: u16,
1711    pub ksize: u16,
1712    pub root: *mut NodeStV2Dd,
1713    pub func_compare: FPtr_compare,
1714}
1715#[repr(C)]
1716#[derive(Debug, Copy, Clone)]
1717pub struct _arrstendV2Dd_t {
1718    _unused: [u8; 0],
1719}
1720pub type arrstendV2Dd = _arrstendV2Dd_t;
1721#[repr(C)]
1722#[derive(Debug, Copy, Clone)]
1723pub struct _setstendV2Dd_t {
1724    _unused: [u8; 0],
1725}
1726pub type setstendV2Dd = _setstendV2Dd_t;
1727#[repr(C)]
1728#[derive(Debug, Copy, Clone)]
1729pub struct S2DfData {
1730    pub elem: [S2Df; 1024usize],
1731}
1732#[repr(C)]
1733#[derive(Debug, Copy, Clone)]
1734pub struct ArrStS2Df {
1735    pub reserved: u32,
1736    pub size: u32,
1737    pub elem_sizeof: u16,
1738    pub content: *mut S2DfData,
1739}
1740#[repr(C)]
1741#[derive(Debug, Copy, Clone)]
1742pub struct NodeStS2Df {
1743    pub rb: u32,
1744    pub left: *mut NodeStS2Df,
1745    pub right: *mut NodeStS2Df,
1746    pub data: S2Df,
1747}
1748#[repr(C)]
1749#[derive(Debug, Copy, Clone)]
1750pub struct SetStS2Df {
1751    pub elems: u32,
1752    pub esize: u16,
1753    pub ksize: u16,
1754    pub root: *mut NodeStS2Df,
1755    pub func_compare: FPtr_compare,
1756}
1757#[repr(C)]
1758#[derive(Debug, Copy, Clone)]
1759pub struct _arrstendS2Df_t {
1760    _unused: [u8; 0],
1761}
1762pub type arrstendS2Df = _arrstendS2Df_t;
1763#[repr(C)]
1764#[derive(Debug, Copy, Clone)]
1765pub struct _setstendS2Df_t {
1766    _unused: [u8; 0],
1767}
1768pub type setstendS2Df = _setstendS2Df_t;
1769#[repr(C)]
1770#[derive(Debug, Copy, Clone)]
1771pub struct S2DdData {
1772    pub elem: [S2Dd; 1024usize],
1773}
1774#[repr(C)]
1775#[derive(Debug, Copy, Clone)]
1776pub struct ArrStS2Dd {
1777    pub reserved: u32,
1778    pub size: u32,
1779    pub elem_sizeof: u16,
1780    pub content: *mut S2DdData,
1781}
1782#[repr(C)]
1783#[derive(Debug, Copy, Clone)]
1784pub struct NodeStS2Dd {
1785    pub rb: u32,
1786    pub left: *mut NodeStS2Dd,
1787    pub right: *mut NodeStS2Dd,
1788    pub data: S2Dd,
1789}
1790#[repr(C)]
1791#[derive(Debug, Copy, Clone)]
1792pub struct SetStS2Dd {
1793    pub elems: u32,
1794    pub esize: u16,
1795    pub ksize: u16,
1796    pub root: *mut NodeStS2Dd,
1797    pub func_compare: FPtr_compare,
1798}
1799#[repr(C)]
1800#[derive(Debug, Copy, Clone)]
1801pub struct _arrstendS2Dd_t {
1802    _unused: [u8; 0],
1803}
1804pub type arrstendS2Dd = _arrstendS2Dd_t;
1805#[repr(C)]
1806#[derive(Debug, Copy, Clone)]
1807pub struct _setstendS2Dd_t {
1808    _unused: [u8; 0],
1809}
1810pub type setstendS2Dd = _setstendS2Dd_t;
1811#[repr(C)]
1812#[derive(Debug, Copy, Clone)]
1813pub struct R2DfData {
1814    pub elem: [R2Df; 1024usize],
1815}
1816#[repr(C)]
1817#[derive(Debug, Copy, Clone)]
1818pub struct ArrStR2Df {
1819    pub reserved: u32,
1820    pub size: u32,
1821    pub elem_sizeof: u16,
1822    pub content: *mut R2DfData,
1823}
1824#[repr(C)]
1825#[derive(Debug, Copy, Clone)]
1826pub struct NodeStR2Df {
1827    pub rb: u32,
1828    pub left: *mut NodeStR2Df,
1829    pub right: *mut NodeStR2Df,
1830    pub data: R2Df,
1831}
1832#[repr(C)]
1833#[derive(Debug, Copy, Clone)]
1834pub struct SetStR2Df {
1835    pub elems: u32,
1836    pub esize: u16,
1837    pub ksize: u16,
1838    pub root: *mut NodeStR2Df,
1839    pub func_compare: FPtr_compare,
1840}
1841#[repr(C)]
1842#[derive(Debug, Copy, Clone)]
1843pub struct _arrstendR2Df_t {
1844    _unused: [u8; 0],
1845}
1846pub type arrstendR2Df = _arrstendR2Df_t;
1847#[repr(C)]
1848#[derive(Debug, Copy, Clone)]
1849pub struct _setstendR2Df_t {
1850    _unused: [u8; 0],
1851}
1852pub type setstendR2Df = _setstendR2Df_t;
1853#[repr(C)]
1854#[derive(Debug, Copy, Clone)]
1855pub struct R2DdData {
1856    pub elem: [R2Dd; 1024usize],
1857}
1858#[repr(C)]
1859#[derive(Debug, Copy, Clone)]
1860pub struct ArrStR2Dd {
1861    pub reserved: u32,
1862    pub size: u32,
1863    pub elem_sizeof: u16,
1864    pub content: *mut R2DdData,
1865}
1866#[repr(C)]
1867#[derive(Debug, Copy, Clone)]
1868pub struct NodeStR2Dd {
1869    pub rb: u32,
1870    pub left: *mut NodeStR2Dd,
1871    pub right: *mut NodeStR2Dd,
1872    pub data: R2Dd,
1873}
1874#[repr(C)]
1875#[derive(Debug, Copy, Clone)]
1876pub struct SetStR2Dd {
1877    pub elems: u32,
1878    pub esize: u16,
1879    pub ksize: u16,
1880    pub root: *mut NodeStR2Dd,
1881    pub func_compare: FPtr_compare,
1882}
1883#[repr(C)]
1884#[derive(Debug, Copy, Clone)]
1885pub struct _arrstendR2Dd_t {
1886    _unused: [u8; 0],
1887}
1888pub type arrstendR2Dd = _arrstendR2Dd_t;
1889#[repr(C)]
1890#[derive(Debug, Copy, Clone)]
1891pub struct _setstendR2Dd_t {
1892    _unused: [u8; 0],
1893}
1894pub type setstendR2Dd = _setstendR2Dd_t;
1895#[repr(C)]
1896#[derive(Debug, Copy, Clone)]
1897pub struct T2DfData {
1898    pub elem: [T2Df; 1024usize],
1899}
1900#[repr(C)]
1901#[derive(Debug, Copy, Clone)]
1902pub struct ArrStT2Df {
1903    pub reserved: u32,
1904    pub size: u32,
1905    pub elem_sizeof: u16,
1906    pub content: *mut T2DfData,
1907}
1908#[repr(C)]
1909#[derive(Debug, Copy, Clone)]
1910pub struct NodeStT2Df {
1911    pub rb: u32,
1912    pub left: *mut NodeStT2Df,
1913    pub right: *mut NodeStT2Df,
1914    pub data: T2Df,
1915}
1916#[repr(C)]
1917#[derive(Debug, Copy, Clone)]
1918pub struct SetStT2Df {
1919    pub elems: u32,
1920    pub esize: u16,
1921    pub ksize: u16,
1922    pub root: *mut NodeStT2Df,
1923    pub func_compare: FPtr_compare,
1924}
1925#[repr(C)]
1926#[derive(Debug, Copy, Clone)]
1927pub struct _arrstendT2Df_t {
1928    _unused: [u8; 0],
1929}
1930pub type arrstendT2Df = _arrstendT2Df_t;
1931#[repr(C)]
1932#[derive(Debug, Copy, Clone)]
1933pub struct _setstendT2Df_t {
1934    _unused: [u8; 0],
1935}
1936pub type setstendT2Df = _setstendT2Df_t;
1937#[repr(C)]
1938#[derive(Debug, Copy, Clone)]
1939pub struct T2DdData {
1940    pub elem: [T2Dd; 1024usize],
1941}
1942#[repr(C)]
1943#[derive(Debug, Copy, Clone)]
1944pub struct ArrStT2Dd {
1945    pub reserved: u32,
1946    pub size: u32,
1947    pub elem_sizeof: u16,
1948    pub content: *mut T2DdData,
1949}
1950#[repr(C)]
1951#[derive(Debug, Copy, Clone)]
1952pub struct NodeStT2Dd {
1953    pub rb: u32,
1954    pub left: *mut NodeStT2Dd,
1955    pub right: *mut NodeStT2Dd,
1956    pub data: T2Dd,
1957}
1958#[repr(C)]
1959#[derive(Debug, Copy, Clone)]
1960pub struct SetStT2Dd {
1961    pub elems: u32,
1962    pub esize: u16,
1963    pub ksize: u16,
1964    pub root: *mut NodeStT2Dd,
1965    pub func_compare: FPtr_compare,
1966}
1967#[repr(C)]
1968#[derive(Debug, Copy, Clone)]
1969pub struct _arrstendT2Dd_t {
1970    _unused: [u8; 0],
1971}
1972pub type arrstendT2Dd = _arrstendT2Dd_t;
1973#[repr(C)]
1974#[derive(Debug, Copy, Clone)]
1975pub struct _setstendT2Dd_t {
1976    _unused: [u8; 0],
1977}
1978pub type setstendT2Dd = _setstendT2Dd_t;
1979#[repr(C)]
1980#[derive(Debug, Copy, Clone)]
1981pub struct Seg2DfData {
1982    pub elem: [Seg2Df; 1024usize],
1983}
1984#[repr(C)]
1985#[derive(Debug, Copy, Clone)]
1986pub struct ArrStSeg2Df {
1987    pub reserved: u32,
1988    pub size: u32,
1989    pub elem_sizeof: u16,
1990    pub content: *mut Seg2DfData,
1991}
1992#[repr(C)]
1993#[derive(Debug, Copy, Clone)]
1994pub struct NodeStSeg2Df {
1995    pub rb: u32,
1996    pub left: *mut NodeStSeg2Df,
1997    pub right: *mut NodeStSeg2Df,
1998    pub data: Seg2Df,
1999}
2000#[repr(C)]
2001#[derive(Debug, Copy, Clone)]
2002pub struct SetStSeg2Df {
2003    pub elems: u32,
2004    pub esize: u16,
2005    pub ksize: u16,
2006    pub root: *mut NodeStSeg2Df,
2007    pub func_compare: FPtr_compare,
2008}
2009#[repr(C)]
2010#[derive(Debug, Copy, Clone)]
2011pub struct _arrstendSeg2Df_t {
2012    _unused: [u8; 0],
2013}
2014pub type arrstendSeg2Df = _arrstendSeg2Df_t;
2015#[repr(C)]
2016#[derive(Debug, Copy, Clone)]
2017pub struct _setstendSeg2Df_t {
2018    _unused: [u8; 0],
2019}
2020pub type setstendSeg2Df = _setstendSeg2Df_t;
2021#[repr(C)]
2022#[derive(Debug, Copy, Clone)]
2023pub struct Seg2DdData {
2024    pub elem: [Seg2Dd; 1024usize],
2025}
2026#[repr(C)]
2027#[derive(Debug, Copy, Clone)]
2028pub struct ArrStSeg2Dd {
2029    pub reserved: u32,
2030    pub size: u32,
2031    pub elem_sizeof: u16,
2032    pub content: *mut Seg2DdData,
2033}
2034#[repr(C)]
2035#[derive(Debug, Copy, Clone)]
2036pub struct NodeStSeg2Dd {
2037    pub rb: u32,
2038    pub left: *mut NodeStSeg2Dd,
2039    pub right: *mut NodeStSeg2Dd,
2040    pub data: Seg2Dd,
2041}
2042#[repr(C)]
2043#[derive(Debug, Copy, Clone)]
2044pub struct SetStSeg2Dd {
2045    pub elems: u32,
2046    pub esize: u16,
2047    pub ksize: u16,
2048    pub root: *mut NodeStSeg2Dd,
2049    pub func_compare: FPtr_compare,
2050}
2051#[repr(C)]
2052#[derive(Debug, Copy, Clone)]
2053pub struct _arrstendSeg2Dd_t {
2054    _unused: [u8; 0],
2055}
2056pub type arrstendSeg2Dd = _arrstendSeg2Dd_t;
2057#[repr(C)]
2058#[derive(Debug, Copy, Clone)]
2059pub struct _setstendSeg2Dd_t {
2060    _unused: [u8; 0],
2061}
2062pub type setstendSeg2Dd = _setstendSeg2Dd_t;
2063#[repr(C)]
2064#[derive(Debug, Copy, Clone)]
2065pub struct Cir2DfData {
2066    pub elem: [Cir2Df; 1024usize],
2067}
2068#[repr(C)]
2069#[derive(Debug, Copy, Clone)]
2070pub struct ArrStCir2Df {
2071    pub reserved: u32,
2072    pub size: u32,
2073    pub elem_sizeof: u16,
2074    pub content: *mut Cir2DfData,
2075}
2076#[repr(C)]
2077#[derive(Debug, Copy, Clone)]
2078pub struct NodeStCir2Df {
2079    pub rb: u32,
2080    pub left: *mut NodeStCir2Df,
2081    pub right: *mut NodeStCir2Df,
2082    pub data: Cir2Df,
2083}
2084#[repr(C)]
2085#[derive(Debug, Copy, Clone)]
2086pub struct SetStCir2Df {
2087    pub elems: u32,
2088    pub esize: u16,
2089    pub ksize: u16,
2090    pub root: *mut NodeStCir2Df,
2091    pub func_compare: FPtr_compare,
2092}
2093#[repr(C)]
2094#[derive(Debug, Copy, Clone)]
2095pub struct _arrstendCir2Df_t {
2096    _unused: [u8; 0],
2097}
2098pub type arrstendCir2Df = _arrstendCir2Df_t;
2099#[repr(C)]
2100#[derive(Debug, Copy, Clone)]
2101pub struct _setstendCir2Df_t {
2102    _unused: [u8; 0],
2103}
2104pub type setstendCir2Df = _setstendCir2Df_t;
2105#[repr(C)]
2106#[derive(Debug, Copy, Clone)]
2107pub struct Cir2DdData {
2108    pub elem: [Cir2Dd; 1024usize],
2109}
2110#[repr(C)]
2111#[derive(Debug, Copy, Clone)]
2112pub struct ArrStCir2Dd {
2113    pub reserved: u32,
2114    pub size: u32,
2115    pub elem_sizeof: u16,
2116    pub content: *mut Cir2DdData,
2117}
2118#[repr(C)]
2119#[derive(Debug, Copy, Clone)]
2120pub struct NodeStCir2Dd {
2121    pub rb: u32,
2122    pub left: *mut NodeStCir2Dd,
2123    pub right: *mut NodeStCir2Dd,
2124    pub data: Cir2Dd,
2125}
2126#[repr(C)]
2127#[derive(Debug, Copy, Clone)]
2128pub struct SetStCir2Dd {
2129    pub elems: u32,
2130    pub esize: u16,
2131    pub ksize: u16,
2132    pub root: *mut NodeStCir2Dd,
2133    pub func_compare: FPtr_compare,
2134}
2135#[repr(C)]
2136#[derive(Debug, Copy, Clone)]
2137pub struct _arrstendCir2Dd_t {
2138    _unused: [u8; 0],
2139}
2140pub type arrstendCir2Dd = _arrstendCir2Dd_t;
2141#[repr(C)]
2142#[derive(Debug, Copy, Clone)]
2143pub struct _setstendCir2Dd_t {
2144    _unused: [u8; 0],
2145}
2146pub type setstendCir2Dd = _setstendCir2Dd_t;
2147#[repr(C)]
2148#[derive(Debug, Copy, Clone)]
2149pub struct Box2DfData {
2150    pub elem: [Box2Df; 1024usize],
2151}
2152#[repr(C)]
2153#[derive(Debug, Copy, Clone)]
2154pub struct ArrStBox2Df {
2155    pub reserved: u32,
2156    pub size: u32,
2157    pub elem_sizeof: u16,
2158    pub content: *mut Box2DfData,
2159}
2160#[repr(C)]
2161#[derive(Debug, Copy, Clone)]
2162pub struct NodeStBox2Df {
2163    pub rb: u32,
2164    pub left: *mut NodeStBox2Df,
2165    pub right: *mut NodeStBox2Df,
2166    pub data: Box2Df,
2167}
2168#[repr(C)]
2169#[derive(Debug, Copy, Clone)]
2170pub struct SetStBox2Df {
2171    pub elems: u32,
2172    pub esize: u16,
2173    pub ksize: u16,
2174    pub root: *mut NodeStBox2Df,
2175    pub func_compare: FPtr_compare,
2176}
2177#[repr(C)]
2178#[derive(Debug, Copy, Clone)]
2179pub struct _arrstendBox2Df_t {
2180    _unused: [u8; 0],
2181}
2182pub type arrstendBox2Df = _arrstendBox2Df_t;
2183#[repr(C)]
2184#[derive(Debug, Copy, Clone)]
2185pub struct _setstendBox2Df_t {
2186    _unused: [u8; 0],
2187}
2188pub type setstendBox2Df = _setstendBox2Df_t;
2189#[repr(C)]
2190#[derive(Debug, Copy, Clone)]
2191pub struct Box2DdData {
2192    pub elem: [Box2Dd; 1024usize],
2193}
2194#[repr(C)]
2195#[derive(Debug, Copy, Clone)]
2196pub struct ArrStBox2Dd {
2197    pub reserved: u32,
2198    pub size: u32,
2199    pub elem_sizeof: u16,
2200    pub content: *mut Box2DdData,
2201}
2202#[repr(C)]
2203#[derive(Debug, Copy, Clone)]
2204pub struct NodeStBox2Dd {
2205    pub rb: u32,
2206    pub left: *mut NodeStBox2Dd,
2207    pub right: *mut NodeStBox2Dd,
2208    pub data: Box2Dd,
2209}
2210#[repr(C)]
2211#[derive(Debug, Copy, Clone)]
2212pub struct SetStBox2Dd {
2213    pub elems: u32,
2214    pub esize: u16,
2215    pub ksize: u16,
2216    pub root: *mut NodeStBox2Dd,
2217    pub func_compare: FPtr_compare,
2218}
2219#[repr(C)]
2220#[derive(Debug, Copy, Clone)]
2221pub struct _arrstendBox2Dd_t {
2222    _unused: [u8; 0],
2223}
2224pub type arrstendBox2Dd = _arrstendBox2Dd_t;
2225#[repr(C)]
2226#[derive(Debug, Copy, Clone)]
2227pub struct _setstendBox2Dd_t {
2228    _unused: [u8; 0],
2229}
2230pub type setstendBox2Dd = _setstendBox2Dd_t;
2231#[repr(C)]
2232#[derive(Debug, Copy, Clone)]
2233pub struct Tri2DfData {
2234    pub elem: [Tri2Df; 1024usize],
2235}
2236#[repr(C)]
2237#[derive(Debug, Copy, Clone)]
2238pub struct ArrStTri2Df {
2239    pub reserved: u32,
2240    pub size: u32,
2241    pub elem_sizeof: u16,
2242    pub content: *mut Tri2DfData,
2243}
2244#[repr(C)]
2245#[derive(Debug, Copy, Clone)]
2246pub struct NodeStTri2Df {
2247    pub rb: u32,
2248    pub left: *mut NodeStTri2Df,
2249    pub right: *mut NodeStTri2Df,
2250    pub data: Tri2Df,
2251}
2252#[repr(C)]
2253#[derive(Debug, Copy, Clone)]
2254pub struct SetStTri2Df {
2255    pub elems: u32,
2256    pub esize: u16,
2257    pub ksize: u16,
2258    pub root: *mut NodeStTri2Df,
2259    pub func_compare: FPtr_compare,
2260}
2261#[repr(C)]
2262#[derive(Debug, Copy, Clone)]
2263pub struct _arrstendTri2Df_t {
2264    _unused: [u8; 0],
2265}
2266pub type arrstendTri2Df = _arrstendTri2Df_t;
2267#[repr(C)]
2268#[derive(Debug, Copy, Clone)]
2269pub struct _setstendTri2Df_t {
2270    _unused: [u8; 0],
2271}
2272pub type setstendTri2Df = _setstendTri2Df_t;
2273#[repr(C)]
2274#[derive(Debug, Copy, Clone)]
2275pub struct Tri2DdData {
2276    pub elem: [Tri2Dd; 1024usize],
2277}
2278#[repr(C)]
2279#[derive(Debug, Copy, Clone)]
2280pub struct ArrStTri2Dd {
2281    pub reserved: u32,
2282    pub size: u32,
2283    pub elem_sizeof: u16,
2284    pub content: *mut Tri2DdData,
2285}
2286#[repr(C)]
2287#[derive(Debug, Copy, Clone)]
2288pub struct NodeStTri2Dd {
2289    pub rb: u32,
2290    pub left: *mut NodeStTri2Dd,
2291    pub right: *mut NodeStTri2Dd,
2292    pub data: Tri2Dd,
2293}
2294#[repr(C)]
2295#[derive(Debug, Copy, Clone)]
2296pub struct SetStTri2Dd {
2297    pub elems: u32,
2298    pub esize: u16,
2299    pub ksize: u16,
2300    pub root: *mut NodeStTri2Dd,
2301    pub func_compare: FPtr_compare,
2302}
2303#[repr(C)]
2304#[derive(Debug, Copy, Clone)]
2305pub struct _arrstendTri2Dd_t {
2306    _unused: [u8; 0],
2307}
2308pub type arrstendTri2Dd = _arrstendTri2Dd_t;
2309#[repr(C)]
2310#[derive(Debug, Copy, Clone)]
2311pub struct _setstendTri2Dd_t {
2312    _unused: [u8; 0],
2313}
2314pub type setstendTri2Dd = _setstendTri2Dd_t;
2315#[repr(C)]
2316#[derive(Debug, Copy, Clone)]
2317pub struct Pol2DfPtData {
2318    pub elem: [*mut Pol2Df; 1024usize],
2319}
2320#[repr(C)]
2321#[derive(Debug, Copy, Clone)]
2322pub struct ArrPtPol2Df {
2323    pub reserved: u32,
2324    pub size: u32,
2325    pub elem_sizeof: u16,
2326    pub content: *mut Pol2DfPtData,
2327}
2328#[repr(C)]
2329#[derive(Debug, Copy, Clone)]
2330pub struct NodePtPol2Df {
2331    pub rb: u32,
2332    pub left: *mut NodePtPol2Df,
2333    pub right: *mut NodePtPol2Df,
2334    pub data: *mut Pol2Df,
2335}
2336#[repr(C)]
2337#[derive(Debug, Copy, Clone)]
2338pub struct SetPtPol2Df {
2339    pub elems: u32,
2340    pub esize: u16,
2341    pub ksize: u16,
2342    pub root: *mut NodePtPol2Df,
2343    pub func_compare: FPtr_compare,
2344}
2345#[repr(C)]
2346#[derive(Debug, Copy, Clone)]
2347pub struct _arrptendPol2Df_t {
2348    _unused: [u8; 0],
2349}
2350pub type arrptendPol2Df = _arrptendPol2Df_t;
2351#[repr(C)]
2352#[derive(Debug, Copy, Clone)]
2353pub struct _setptendPol2Df_t {
2354    _unused: [u8; 0],
2355}
2356pub type setptendPol2Df = _setptendPol2Df_t;
2357#[repr(C)]
2358#[derive(Debug, Copy, Clone)]
2359pub struct Pol2DdPtData {
2360    pub elem: [*mut Pol2Dd; 1024usize],
2361}
2362#[repr(C)]
2363#[derive(Debug, Copy, Clone)]
2364pub struct ArrPtPol2Dd {
2365    pub reserved: u32,
2366    pub size: u32,
2367    pub elem_sizeof: u16,
2368    pub content: *mut Pol2DdPtData,
2369}
2370#[repr(C)]
2371#[derive(Debug, Copy, Clone)]
2372pub struct NodePtPol2Dd {
2373    pub rb: u32,
2374    pub left: *mut NodePtPol2Dd,
2375    pub right: *mut NodePtPol2Dd,
2376    pub data: *mut Pol2Dd,
2377}
2378#[repr(C)]
2379#[derive(Debug, Copy, Clone)]
2380pub struct SetPtPol2Dd {
2381    pub elems: u32,
2382    pub esize: u16,
2383    pub ksize: u16,
2384    pub root: *mut NodePtPol2Dd,
2385    pub func_compare: FPtr_compare,
2386}
2387#[repr(C)]
2388#[derive(Debug, Copy, Clone)]
2389pub struct _arrptendPol2Dd_t {
2390    _unused: [u8; 0],
2391}
2392pub type arrptendPol2Dd = _arrptendPol2Dd_t;
2393#[repr(C)]
2394#[derive(Debug, Copy, Clone)]
2395pub struct _setptendPol2Dd_t {
2396    _unused: [u8; 0],
2397}
2398pub type setptendPol2Dd = _setptendPol2Dd_t;
2399#[repr(C)]
2400#[derive(Debug, Copy, Clone)]
2401pub struct Col2DfData {
2402    pub elem: [Col2Df; 1024usize],
2403}
2404#[repr(C)]
2405#[derive(Debug, Copy, Clone)]
2406pub struct ArrStCol2Df {
2407    pub reserved: u32,
2408    pub size: u32,
2409    pub elem_sizeof: u16,
2410    pub content: *mut Col2DfData,
2411}
2412#[repr(C)]
2413#[derive(Debug, Copy, Clone)]
2414pub struct NodeStCol2Df {
2415    pub rb: u32,
2416    pub left: *mut NodeStCol2Df,
2417    pub right: *mut NodeStCol2Df,
2418    pub data: Col2Df,
2419}
2420#[repr(C)]
2421#[derive(Debug, Copy, Clone)]
2422pub struct SetStCol2Df {
2423    pub elems: u32,
2424    pub esize: u16,
2425    pub ksize: u16,
2426    pub root: *mut NodeStCol2Df,
2427    pub func_compare: FPtr_compare,
2428}
2429#[repr(C)]
2430#[derive(Debug, Copy, Clone)]
2431pub struct _arrstendCol2Df_t {
2432    _unused: [u8; 0],
2433}
2434pub type arrstendCol2Df = _arrstendCol2Df_t;
2435#[repr(C)]
2436#[derive(Debug, Copy, Clone)]
2437pub struct _setstendCol2Df_t {
2438    _unused: [u8; 0],
2439}
2440pub type setstendCol2Df = _setstendCol2Df_t;
2441#[repr(C)]
2442#[derive(Debug, Copy, Clone)]
2443pub struct Col2DdData {
2444    pub elem: [Col2Dd; 1024usize],
2445}
2446#[repr(C)]
2447#[derive(Debug, Copy, Clone)]
2448pub struct ArrStCol2Dd {
2449    pub reserved: u32,
2450    pub size: u32,
2451    pub elem_sizeof: u16,
2452    pub content: *mut Col2DdData,
2453}
2454#[repr(C)]
2455#[derive(Debug, Copy, Clone)]
2456pub struct NodeStCol2Dd {
2457    pub rb: u32,
2458    pub left: *mut NodeStCol2Dd,
2459    pub right: *mut NodeStCol2Dd,
2460    pub data: Col2Dd,
2461}
2462#[repr(C)]
2463#[derive(Debug, Copy, Clone)]
2464pub struct SetStCol2Dd {
2465    pub elems: u32,
2466    pub esize: u16,
2467    pub ksize: u16,
2468    pub root: *mut NodeStCol2Dd,
2469    pub func_compare: FPtr_compare,
2470}
2471#[repr(C)]
2472#[derive(Debug, Copy, Clone)]
2473pub struct _arrstendCol2Dd_t {
2474    _unused: [u8; 0],
2475}
2476pub type arrstendCol2Dd = _arrstendCol2Dd_t;
2477#[repr(C)]
2478#[derive(Debug, Copy, Clone)]
2479pub struct _setstendCol2Dd_t {
2480    _unused: [u8; 0],
2481}
2482pub type setstendCol2Dd = _setstendCol2Dd_t;
2483pub const _pixformat_t_ekINDEX1: _pixformat_t = 0;
2484pub const _pixformat_t_ekINDEX2: _pixformat_t = 1;
2485pub const _pixformat_t_ekINDEX4: _pixformat_t = 2;
2486pub const _pixformat_t_ekINDEX8: _pixformat_t = 3;
2487pub const _pixformat_t_ekGRAY8: _pixformat_t = 4;
2488pub const _pixformat_t_ekRGB24: _pixformat_t = 5;
2489pub const _pixformat_t_ekRGBA32: _pixformat_t = 6;
2490pub const _pixformat_t_ekFIMAGE: _pixformat_t = 7;
2491pub type _pixformat_t = ::libc::c_int;
2492pub use self::_pixformat_t as pixformat_t;
2493pub const _codec_t_ekJPG: _codec_t = 1;
2494pub const _codec_t_ekPNG: _codec_t = 2;
2495pub const _codec_t_ekBMP: _codec_t = 3;
2496pub const _codec_t_ekGIF: _codec_t = 4;
2497pub type _codec_t = ::libc::c_int;
2498pub use self::_codec_t as codec_t;
2499pub const _fstyle_t_ekFNORMAL: _fstyle_t = 0;
2500pub const _fstyle_t_ekFBOLD: _fstyle_t = 1;
2501pub const _fstyle_t_ekFITALIC: _fstyle_t = 2;
2502pub const _fstyle_t_ekFSTRIKEOUT: _fstyle_t = 4;
2503pub const _fstyle_t_ekFUNDERLINE: _fstyle_t = 8;
2504pub const _fstyle_t_ekFSUBSCRIPT: _fstyle_t = 16;
2505pub const _fstyle_t_ekFSUPSCRIPT: _fstyle_t = 32;
2506pub const _fstyle_t_ekFPIXELS: _fstyle_t = 0;
2507pub const _fstyle_t_ekFPOINTS: _fstyle_t = 64;
2508pub const _fstyle_t_ekFCELL: _fstyle_t = 128;
2509pub type _fstyle_t = ::libc::c_int;
2510pub use self::_fstyle_t as fstyle_t;
2511pub const _linecap_t_ekLCFLAT: _linecap_t = 0;
2512pub const _linecap_t_ekLCSQUARE: _linecap_t = 1;
2513pub const _linecap_t_ekLCROUND: _linecap_t = 2;
2514pub type _linecap_t = ::libc::c_int;
2515pub use self::_linecap_t as linecap_t;
2516pub const _linejoin_t_ekLJMITER: _linejoin_t = 0;
2517pub const _linejoin_t_ekLJROUND: _linejoin_t = 1;
2518pub const _linejoin_t_ekLJBEVEL: _linejoin_t = 2;
2519pub type _linejoin_t = ::libc::c_int;
2520pub use self::_linejoin_t as linejoin_t;
2521pub const _fillwrap_t_ekFCLAMP: _fillwrap_t = 0;
2522pub const _fillwrap_t_ekFTILE: _fillwrap_t = 1;
2523pub const _fillwrap_t_ekFFLIP: _fillwrap_t = 2;
2524pub type _fillwrap_t = ::libc::c_int;
2525pub use self::_fillwrap_t as fillwrap_t;
2526pub const _drawop_t_ekSTROKE: _drawop_t = 1;
2527pub const _drawop_t_ekFILL: _drawop_t = 2;
2528pub const _drawop_t_ekSKFILL: _drawop_t = 3;
2529pub const _drawop_t_ekFILLSK: _drawop_t = 4;
2530pub type _drawop_t = ::libc::c_int;
2531pub use self::_drawop_t as drawop_t;
2532pub const _align_t_ekLEFT: _align_t = 1;
2533pub const _align_t_ekTOP: _align_t = 1;
2534pub const _align_t_ekCENTER: _align_t = 2;
2535pub const _align_t_ekRIGHT: _align_t = 3;
2536pub const _align_t_ekBOTTOM: _align_t = 3;
2537pub const _align_t_ekJUSTIFY: _align_t = 4;
2538pub type _align_t = ::libc::c_int;
2539pub use self::_align_t as align_t;
2540pub const _ellipsis_t_ekELLIPNONE: _ellipsis_t = 1;
2541pub const _ellipsis_t_ekELLIPBEGIN: _ellipsis_t = 2;
2542pub const _ellipsis_t_ekELLIPMIDDLE: _ellipsis_t = 3;
2543pub const _ellipsis_t_ekELLIPEND: _ellipsis_t = 4;
2544pub const _ellipsis_t_ekELLIPMLINE: _ellipsis_t = 5;
2545pub type _ellipsis_t = ::libc::c_int;
2546pub use self::_ellipsis_t as ellipsis_t;
2547pub const _indicator_t_ekINDNONE: _indicator_t = 0;
2548pub const _indicator_t_ekINDUP_ARROW: _indicator_t = 1;
2549pub const _indicator_t_ekINDDOWN_ARROW: _indicator_t = 2;
2550pub type _indicator_t = ::libc::c_int;
2551pub use self::_indicator_t as indicator_t;
2552pub type color_t = u32;
2553#[repr(C)]
2554#[derive(Debug, Copy, Clone)]
2555pub struct _dctx_t {
2556    _unused: [u8; 0],
2557}
2558pub type DCtx = _dctx_t;
2559#[repr(C)]
2560#[derive(Debug, Copy, Clone)]
2561pub struct _palette_t {
2562    _unused: [u8; 0],
2563}
2564pub type Palette = _palette_t;
2565#[repr(C)]
2566#[derive(Debug, Copy, Clone)]
2567pub struct _pixbuf_t {
2568    _unused: [u8; 0],
2569}
2570pub type Pixbuf = _pixbuf_t;
2571#[repr(C)]
2572#[derive(Debug, Copy, Clone)]
2573pub struct _image_t {
2574    _unused: [u8; 0],
2575}
2576pub type Image = _image_t;
2577#[repr(C)]
2578#[derive(Debug, Copy, Clone)]
2579pub struct _font_t {
2580    _unused: [u8; 0],
2581}
2582pub type Font = _font_t;
2583#[repr(C)]
2584#[derive(Debug, Copy, Clone)]
2585pub struct color_tData {
2586    pub elem: [color_t; 1024usize],
2587}
2588#[repr(C)]
2589#[derive(Debug, Copy, Clone)]
2590pub struct ArrStcolor_t {
2591    pub reserved: u32,
2592    pub size: u32,
2593    pub elem_sizeof: u16,
2594    pub content: *mut color_tData,
2595}
2596#[repr(C)]
2597#[derive(Debug, Copy, Clone)]
2598pub struct NodeStcolor_t {
2599    pub rb: u32,
2600    pub left: *mut NodeStcolor_t,
2601    pub right: *mut NodeStcolor_t,
2602    pub data: color_t,
2603}
2604#[repr(C)]
2605#[derive(Debug, Copy, Clone)]
2606pub struct SetStcolor_t {
2607    pub elems: u32,
2608    pub esize: u16,
2609    pub ksize: u16,
2610    pub root: *mut NodeStcolor_t,
2611    pub func_compare: FPtr_compare,
2612}
2613#[repr(C)]
2614#[derive(Debug, Copy, Clone)]
2615pub struct _arrstendcolor_t_t {
2616    _unused: [u8; 0],
2617}
2618pub type arrstendcolor_t = _arrstendcolor_t_t;
2619#[repr(C)]
2620#[derive(Debug, Copy, Clone)]
2621pub struct _setstendcolor_t_t {
2622    _unused: [u8; 0],
2623}
2624pub type setstendcolor_t = _setstendcolor_t_t;
2625#[repr(C)]
2626#[derive(Debug, Copy, Clone)]
2627pub struct ImagePtData {
2628    pub elem: [*mut Image; 1024usize],
2629}
2630#[repr(C)]
2631#[derive(Debug, Copy, Clone)]
2632pub struct ArrPtImage {
2633    pub reserved: u32,
2634    pub size: u32,
2635    pub elem_sizeof: u16,
2636    pub content: *mut ImagePtData,
2637}
2638#[repr(C)]
2639#[derive(Debug, Copy, Clone)]
2640pub struct NodePtImage {
2641    pub rb: u32,
2642    pub left: *mut NodePtImage,
2643    pub right: *mut NodePtImage,
2644    pub data: *mut Image,
2645}
2646#[repr(C)]
2647#[derive(Debug, Copy, Clone)]
2648pub struct SetPtImage {
2649    pub elems: u32,
2650    pub esize: u16,
2651    pub ksize: u16,
2652    pub root: *mut NodePtImage,
2653    pub func_compare: FPtr_compare,
2654}
2655#[repr(C)]
2656#[derive(Debug, Copy, Clone)]
2657pub struct _arrptendImage_t {
2658    _unused: [u8; 0],
2659}
2660pub type arrptendImage = _arrptendImage_t;
2661#[repr(C)]
2662#[derive(Debug, Copy, Clone)]
2663pub struct _setptendImage_t {
2664    _unused: [u8; 0],
2665}
2666pub type setptendImage = _setptendImage_t;
2667pub const _gui_orient_t_ekGUI_HORIZONTAL: _gui_orient_t = 1;
2668pub const _gui_orient_t_ekGUI_VERTICAL: _gui_orient_t = 2;
2669pub type _gui_orient_t = ::libc::c_int;
2670pub use self::_gui_orient_t as gui_orient_t;
2671pub const _gui_state_t_ekGUI_OFF: _gui_state_t = 0;
2672pub const _gui_state_t_ekGUI_ON: _gui_state_t = 1;
2673pub const _gui_state_t_ekGUI_MIXED: _gui_state_t = 2;
2674pub type _gui_state_t = ::libc::c_int;
2675pub use self::_gui_state_t as gui_state_t;
2676pub const _gui_mouse_t_ekGUI_MOUSE_LEFT: _gui_mouse_t = 1;
2677pub const _gui_mouse_t_ekGUI_MOUSE_RIGHT: _gui_mouse_t = 2;
2678pub const _gui_mouse_t_ekGUI_MOUSE_MIDDLE: _gui_mouse_t = 3;
2679pub type _gui_mouse_t = ::libc::c_int;
2680pub use self::_gui_mouse_t as gui_mouse_t;
2681pub const _gui_cursor_t_ekGUI_CURSOR_ARROW: _gui_cursor_t = 1;
2682pub const _gui_cursor_t_ekGUI_CURSOR_HAND: _gui_cursor_t = 2;
2683pub const _gui_cursor_t_ekGUI_CURSOR_IBEAM: _gui_cursor_t = 3;
2684pub const _gui_cursor_t_ekGUI_CURSOR_CROSS: _gui_cursor_t = 4;
2685pub const _gui_cursor_t_ekGUI_CURSOR_SIZEWE: _gui_cursor_t = 5;
2686pub const _gui_cursor_t_ekGUI_CURSOR_SIZENS: _gui_cursor_t = 6;
2687pub const _gui_cursor_t_ekGUI_CURSOR_USER: _gui_cursor_t = 7;
2688pub type _gui_cursor_t = ::libc::c_int;
2689pub use self::_gui_cursor_t as gui_cursor_t;
2690pub const _gui_close_t_ekGUI_CLOSE_ESC: _gui_close_t = 1;
2691pub const _gui_close_t_ekGUI_CLOSE_INTRO: _gui_close_t = 2;
2692pub const _gui_close_t_ekGUI_CLOSE_BUTTON: _gui_close_t = 3;
2693pub const _gui_close_t_ekGUI_CLOSE_DEACT: _gui_close_t = 4;
2694pub type _gui_close_t = ::libc::c_int;
2695pub use self::_gui_close_t as gui_close_t;
2696pub const _gui_scale_t_ekGUI_SCALE_NONE: _gui_scale_t = 1;
2697pub const _gui_scale_t_ekGUI_SCALE_AUTO: _gui_scale_t = 2;
2698pub const _gui_scale_t_ekGUI_SCALE_ASPECT: _gui_scale_t = 3;
2699pub const _gui_scale_t_ekGUI_SCALE_ASPECTDW: _gui_scale_t = 4;
2700pub const _gui_scale_t_ekGUI_SCALE_ADJUST: _gui_scale_t = 5;
2701pub type _gui_scale_t = ::libc::c_int;
2702pub use self::_gui_scale_t as gui_scale_t;
2703pub const _gui_scroll_t_ekGUI_SCROLL_BEGIN: _gui_scroll_t = 1;
2704pub const _gui_scroll_t_ekGUI_SCROLL_END: _gui_scroll_t = 2;
2705pub const _gui_scroll_t_ekGUI_SCROLL_STEP_LEFT: _gui_scroll_t = 3;
2706pub const _gui_scroll_t_ekGUI_SCROLL_STEP_RIGHT: _gui_scroll_t = 4;
2707pub const _gui_scroll_t_ekGUI_SCROLL_PAGE_LEFT: _gui_scroll_t = 5;
2708pub const _gui_scroll_t_ekGUI_SCROLL_PAGE_RIGHT: _gui_scroll_t = 6;
2709pub const _gui_scroll_t_ekGUI_SCROLL_THUMB: _gui_scroll_t = 7;
2710pub type _gui_scroll_t = ::libc::c_int;
2711pub use self::_gui_scroll_t as gui_scroll_t;
2712pub const _gui_focus_t_ekGUI_FOCUS_CHANGED: _gui_focus_t = 1;
2713pub const _gui_focus_t_ekGUI_FOCUS_KEEP: _gui_focus_t = 2;
2714pub const _gui_focus_t_ekGUI_FOCUS_NO_NEXT: _gui_focus_t = 3;
2715pub const _gui_focus_t_ekGUI_FOCUS_NO_RESIGN: _gui_focus_t = 4;
2716pub const _gui_focus_t_ekGUI_FOCUS_NO_ACCEPT: _gui_focus_t = 5;
2717pub type _gui_focus_t = ::libc::c_int;
2718pub use self::_gui_focus_t as gui_focus_t;
2719pub const _gui_tab_t_ekGUI_TAB_KEY: _gui_tab_t = 1;
2720pub const _gui_tab_t_ekGUI_TAB_BACKKEY: _gui_tab_t = 2;
2721pub const _gui_tab_t_ekGUI_TAB_NEXT: _gui_tab_t = 3;
2722pub const _gui_tab_t_ekGUI_TAB_PREV: _gui_tab_t = 4;
2723pub const _gui_tab_t_ekGUI_TAB_MOVE: _gui_tab_t = 5;
2724pub const _gui_tab_t_ekGUI_TAB_CLICK: _gui_tab_t = 6;
2725pub type _gui_tab_t = ::libc::c_int;
2726pub use self::_gui_tab_t as gui_tab_t;
2727pub const _gui_event_t_ekGUI_EVENT_LABEL: _gui_event_t = 1024;
2728pub const _gui_event_t_ekGUI_EVENT_BUTTON: _gui_event_t = 1025;
2729pub const _gui_event_t_ekGUI_EVENT_POPUP: _gui_event_t = 1026;
2730pub const _gui_event_t_ekGUI_EVENT_LISTBOX: _gui_event_t = 1027;
2731pub const _gui_event_t_ekGUI_EVENT_SLIDER: _gui_event_t = 1028;
2732pub const _gui_event_t_ekGUI_EVENT_UPDOWN: _gui_event_t = 1029;
2733pub const _gui_event_t_ekGUI_EVENT_TXTFILTER: _gui_event_t = 1030;
2734pub const _gui_event_t_ekGUI_EVENT_TXTCHANGE: _gui_event_t = 1031;
2735pub const _gui_event_t_ekGUI_EVENT_FOCUS_RESIGN: _gui_event_t = 1032;
2736pub const _gui_event_t_ekGUI_EVENT_FOCUS_ACCEPT: _gui_event_t = 1033;
2737pub const _gui_event_t_ekGUI_EVENT_FOCUS: _gui_event_t = 1034;
2738pub const _gui_event_t_ekGUI_EVENT_MENU: _gui_event_t = 1035;
2739pub const _gui_event_t_ekGUI_EVENT_DRAW: _gui_event_t = 1036;
2740pub const _gui_event_t_ekGUI_EVENT_OVERLAY: _gui_event_t = 1037;
2741pub const _gui_event_t_ekGUI_EVENT_RESIZE: _gui_event_t = 1038;
2742pub const _gui_event_t_ekGUI_EVENT_ENTER: _gui_event_t = 1039;
2743pub const _gui_event_t_ekGUI_EVENT_EXIT: _gui_event_t = 1040;
2744pub const _gui_event_t_ekGUI_EVENT_MOVED: _gui_event_t = 1041;
2745pub const _gui_event_t_ekGUI_EVENT_DOWN: _gui_event_t = 1042;
2746pub const _gui_event_t_ekGUI_EVENT_UP: _gui_event_t = 1043;
2747pub const _gui_event_t_ekGUI_EVENT_CLICK: _gui_event_t = 1044;
2748pub const _gui_event_t_ekGUI_EVENT_DRAG: _gui_event_t = 1045;
2749pub const _gui_event_t_ekGUI_EVENT_WHEEL: _gui_event_t = 1046;
2750pub const _gui_event_t_ekGUI_EVENT_KEYDOWN: _gui_event_t = 1047;
2751pub const _gui_event_t_ekGUI_EVENT_KEYUP: _gui_event_t = 1048;
2752pub const _gui_event_t_ekGUI_EVENT_SCROLL: _gui_event_t = 1049;
2753pub const _gui_event_t_ekGUI_EVENT_WND_MOVED: _gui_event_t = 1050;
2754pub const _gui_event_t_ekGUI_EVENT_WND_SIZING: _gui_event_t = 1051;
2755pub const _gui_event_t_ekGUI_EVENT_WND_SIZE: _gui_event_t = 1052;
2756pub const _gui_event_t_ekGUI_EVENT_WND_CLOSE: _gui_event_t = 1053;
2757pub const _gui_event_t_ekGUI_EVENT_COLOR: _gui_event_t = 1054;
2758pub const _gui_event_t_ekGUI_EVENT_THEME: _gui_event_t = 1055;
2759pub const _gui_event_t_ekGUI_EVENT_OBJCHANGE: _gui_event_t = 1056;
2760pub const _gui_event_t_ekGUI_EVENT_TBL_NROWS: _gui_event_t = 1057;
2761pub const _gui_event_t_ekGUI_EVENT_TBL_BEGIN: _gui_event_t = 1058;
2762pub const _gui_event_t_ekGUI_EVENT_TBL_END: _gui_event_t = 1059;
2763pub const _gui_event_t_ekGUI_EVENT_TBL_CELL: _gui_event_t = 1060;
2764pub const _gui_event_t_ekGUI_EVENT_TBL_SEL: _gui_event_t = 1061;
2765pub const _gui_event_t_ekGUI_EVENT_TBL_HEADCLICK: _gui_event_t = 1062;
2766pub const _gui_event_t_ekGUI_EVENT_TBL_ROWCLICK: _gui_event_t = 1063;
2767pub const _gui_event_t_ekGUI_EVENT_IDLE: _gui_event_t = 1064;
2768pub type _gui_event_t = ::libc::c_int;
2769pub use self::_gui_event_t as gui_event_t;
2770pub const _gui_type_t_ekGUI_TYPE_LABEL: _gui_type_t = 0;
2771pub const _gui_type_t_ekGUI_TYPE_BUTTON: _gui_type_t = 1;
2772pub const _gui_type_t_ekGUI_TYPE_POPUP: _gui_type_t = 2;
2773pub const _gui_type_t_ekGUI_TYPE_EDITBOX: _gui_type_t = 3;
2774pub const _gui_type_t_ekGUI_TYPE_COMBOBOX: _gui_type_t = 4;
2775pub const _gui_type_t_ekGUI_TYPE_SLIDER: _gui_type_t = 5;
2776pub const _gui_type_t_ekGUI_TYPE_UPDOWN: _gui_type_t = 6;
2777pub const _gui_type_t_ekGUI_TYPE_PROGRESS: _gui_type_t = 7;
2778pub const _gui_type_t_ekGUI_TYPE_TEXTVIEW: _gui_type_t = 8;
2779pub const _gui_type_t_ekGUI_TYPE_WEBVIEW: _gui_type_t = 9;
2780pub const _gui_type_t_ekGUI_TYPE_TREEVIEW: _gui_type_t = 10;
2781pub const _gui_type_t_ekGUI_TYPE_BOXVIEW: _gui_type_t = 11;
2782pub const _gui_type_t_ekGUI_TYPE_SPLITVIEW: _gui_type_t = 12;
2783pub const _gui_type_t_ekGUI_TYPE_CUSTOMVIEW: _gui_type_t = 13;
2784pub const _gui_type_t_ekGUI_TYPE_PANEL: _gui_type_t = 14;
2785pub const _gui_type_t_ekGUI_TYPE_LINE: _gui_type_t = 15;
2786pub const _gui_type_t_ekGUI_TYPE_HEADER: _gui_type_t = 16;
2787pub const _gui_type_t_ekGUI_TYPE_WINDOW: _gui_type_t = 17;
2788pub const _gui_type_t_ekGUI_TYPE_TOOLBAR: _gui_type_t = 18;
2789pub type _gui_type_t = ::libc::c_int;
2790pub use self::_gui_type_t as gui_type_t;
2791pub const _gui_size_t_ekGUI_SIZE_MINI: _gui_size_t = 1;
2792pub const _gui_size_t_ekGUI_SIZE_SMALL: _gui_size_t = 2;
2793pub const _gui_size_t_ekGUI_SIZE_REGULAR: _gui_size_t = 3;
2794pub type _gui_size_t = ::libc::c_int;
2795pub use self::_gui_size_t as gui_size_t;
2796pub const _gui_role_t_ekGUI_ROLE_MAIN: _gui_role_t = 0;
2797pub const _gui_role_t_ekGUI_ROLE_OVERLAY: _gui_role_t = 1;
2798pub const _gui_role_t_ekGUI_ROLE_MODAL: _gui_role_t = 2;
2799pub const _gui_role_t_ekGUI_ROLE_MANAGED: _gui_role_t = 3;
2800pub type _gui_role_t = ::libc::c_int;
2801pub use self::_gui_role_t as gui_role_t;
2802pub const _gui_prop_t_ekGUI_PROP_CHILDREN: _gui_prop_t = 0;
2803pub type _gui_prop_t = ::libc::c_int;
2804pub use self::_gui_prop_t as gui_prop_t;
2805pub const _gui_text_t_ekGUI_TEXT_FAMILY: _gui_text_t = 0;
2806pub const _gui_text_t_ekGUI_TEXT_UNITS: _gui_text_t = 1;
2807pub const _gui_text_t_ekGUI_TEXT_SIZE: _gui_text_t = 2;
2808pub const _gui_text_t_ekGUI_TEXT_STYLE: _gui_text_t = 3;
2809pub const _gui_text_t_ekGUI_TEXT_COLOR: _gui_text_t = 4;
2810pub const _gui_text_t_ekGUI_TEXT_BGCOLOR: _gui_text_t = 5;
2811pub const _gui_text_t_ekGUI_TEXT_PGCOLOR: _gui_text_t = 6;
2812pub const _gui_text_t_ekGUI_TEXT_PARALIGN: _gui_text_t = 7;
2813pub const _gui_text_t_ekGUI_TEXT_LSPACING: _gui_text_t = 8;
2814pub const _gui_text_t_ekGUI_TEXT_BFPARSPACE: _gui_text_t = 9;
2815pub const _gui_text_t_ekGUI_TEXT_AFPARSPACE: _gui_text_t = 10;
2816pub const _gui_text_t_ekGUI_TEXT_APPLY_ALL: _gui_text_t = 11;
2817pub const _gui_text_t_ekGUI_TEXT_APPLY_SEL: _gui_text_t = 12;
2818pub const _gui_text_t_ekGUI_TEXT_SELECT: _gui_text_t = 13;
2819pub const _gui_text_t_ekGUI_TEXT_SHOW_SELECT: _gui_text_t = 14;
2820pub const _gui_text_t_ekGUI_TEXT_SCROLL: _gui_text_t = 15;
2821pub const _gui_text_t_ekGUI_TEXT_WRAP_MODE: _gui_text_t = 16;
2822pub type _gui_text_t = ::libc::c_int;
2823pub use self::_gui_text_t as gui_text_t;
2824pub const _gui_web_t_ekGUI_WEB_NAVIGATE: _gui_web_t = 1;
2825pub const _gui_web_t_ekGUI_WEB_BACK: _gui_web_t = 2;
2826pub const _gui_web_t_ekGUI_WEB_FORWARD: _gui_web_t = 3;
2827pub type _gui_web_t = ::libc::c_int;
2828pub use self::_gui_web_t as gui_web_t;
2829pub const _clipboard_t_ekCLIPBOARD_COPY: _clipboard_t = 0;
2830pub const _clipboard_t_ekCLIPBOARD_CUT: _clipboard_t = 1;
2831pub const _clipboard_t_ekCLIPBOARD_PASTE: _clipboard_t = 2;
2832pub type _clipboard_t = ::libc::c_int;
2833pub use self::_clipboard_t as clipboard_t;
2834pub const _label_flag_t_ekLABEL_FLAG: _label_flag_t = 0;
2835pub const _label_flag_t_ekLABEL_SINGLE: _label_flag_t = 0;
2836pub const _label_flag_t_ekLABEL_MULTI: _label_flag_t = 1;
2837pub const _label_flag_t_ekLABEL_TYPE: _label_flag_t = 1;
2838pub type _label_flag_t = ::libc::c_int;
2839pub use self::_label_flag_t as label_flag_t;
2840pub const _button_flag_t_ekBUTTON_FLAG: _button_flag_t = 0;
2841pub const _button_flag_t_ekBUTTON_PUSH: _button_flag_t = 0;
2842pub const _button_flag_t_ekBUTTON_CHECK2: _button_flag_t = 1;
2843pub const _button_flag_t_ekBUTTON_CHECK3: _button_flag_t = 2;
2844pub const _button_flag_t_ekBUTTON_RADIO: _button_flag_t = 3;
2845pub const _button_flag_t_ekBUTTON_FLAT: _button_flag_t = 4;
2846pub const _button_flag_t_ekBUTTON_FLATGLE: _button_flag_t = 5;
2847pub const _button_flag_t_ekBUTTON_TYPE: _button_flag_t = 7;
2848pub type _button_flag_t = ::libc::c_int;
2849pub use self::_button_flag_t as button_flag_t;
2850pub const _popup_flag_t_ekPOPUP_FLAG: _popup_flag_t = 0;
2851pub type _popup_flag_t = ::libc::c_int;
2852pub use self::_popup_flag_t as popup_flag_t;
2853pub const _edit_flag_t_ekEDIT_FLAG: _edit_flag_t = 0;
2854pub const _edit_flag_t_ekEDIT_SINGLE: _edit_flag_t = 0;
2855pub const _edit_flag_t_ekEDIT_MULTI: _edit_flag_t = 1;
2856pub const _edit_flag_t_ekEDIT_TYPE: _edit_flag_t = 1;
2857pub const _edit_flag_t_ekEDIT_AUTOSEL: _edit_flag_t = 4;
2858pub type _edit_flag_t = ::libc::c_int;
2859pub use self::_edit_flag_t as edit_flag_t;
2860pub const _combo_flag_t_ekCOMBO_FLAG: _combo_flag_t = 0;
2861pub type _combo_flag_t = ::libc::c_int;
2862pub use self::_combo_flag_t as combo_flag_t;
2863pub const _slider_flag_t_ekSLIDER_FLAG: _slider_flag_t = 0;
2864pub const _slider_flag_t_ekSLIDER_HORZ: _slider_flag_t = 0;
2865pub const _slider_flag_t_ekSLIDER_VERT: _slider_flag_t = 1;
2866pub const _slider_flag_t_ekSLIDER_TYPE: _slider_flag_t = 1;
2867pub type _slider_flag_t = ::libc::c_int;
2868pub use self::_slider_flag_t as slider_flag_t;
2869pub const _updown_flag_t_ekUPDOWN_FLAG: _updown_flag_t = 0;
2870pub type _updown_flag_t = ::libc::c_int;
2871pub use self::_updown_flag_t as updown_flag_t;
2872pub const _progress_flag_t_ekPROGRESS_FLAG: _progress_flag_t = 0;
2873pub const _progress_flag_t_ekPROGRESS_HORZ: _progress_flag_t = 0;
2874pub const _progress_flag_t_ekPROGRESS_VERT: _progress_flag_t = 1;
2875pub const _progress_flag_t_ekPROGRESS_TYPE: _progress_flag_t = 1;
2876pub type _progress_flag_t = ::libc::c_int;
2877pub use self::_progress_flag_t as progress_flag_t;
2878pub const _view_flag_t_ekVIEW_OPENGL: _view_flag_t = 1;
2879pub const _view_flag_t_ekVIEW_HSCROLL: _view_flag_t = 2;
2880pub const _view_flag_t_ekVIEW_VSCROLL: _view_flag_t = 4;
2881pub const _view_flag_t_ekVIEW_BORDER: _view_flag_t = 8;
2882pub const _view_flag_t_ekVIEW_NOERASE: _view_flag_t = 32;
2883pub const _view_flag_t_ekVIEW_CONTROL: _view_flag_t = 64;
2884pub type _view_flag_t = ::libc::c_int;
2885pub use self::_view_flag_t as view_flag_t;
2886pub const _text_flag_t_ekTEXT_FLAG: _text_flag_t = 0;
2887pub type _text_flag_t = ::libc::c_int;
2888pub use self::_text_flag_t as text_flag_t;
2889pub const _table_flag_t_ekTABLE_FLAG: _table_flag_t = 0;
2890pub const _table_flag_t_ekTABLE_TEXT: _table_flag_t = 1;
2891pub const _table_flag_t_ekTABLE_ICON16: _table_flag_t = 2;
2892pub const _table_flag_t_ekTABLE_EDIT: _table_flag_t = 4;
2893pub const _table_flag_t_ekTABLE_COMBO: _table_flag_t = 8;
2894pub const _table_flag_t_ekTABLE_POPUP: _table_flag_t = 16;
2895pub const _table_flag_t_ekTABLE_RADIO: _table_flag_t = 32;
2896pub const _table_flag_t_ekTABLE_CHECK: _table_flag_t = 64;
2897pub const _table_flag_t_ekTABLE_TOOLTIP: _table_flag_t = 128;
2898pub const _table_flag_t_ekTABLE_BGCOLOR: _table_flag_t = 256;
2899pub const _table_flag_t_ekTABLE_ROWALT: _table_flag_t = 512;
2900pub const _table_flag_t_ekTABLE_ROWPRESEL: _table_flag_t = 1024;
2901pub type _table_flag_t = ::libc::c_int;
2902pub use self::_table_flag_t as table_flag_t;
2903pub const _split_flag_t_ekSPLIT_FLAG: _split_flag_t = 0;
2904pub const _split_flag_t_ekSPLIT_VERT: _split_flag_t = 0;
2905pub const _split_flag_t_ekSPLIT_HORZ: _split_flag_t = 1;
2906pub const _split_flag_t_ekSPLIT_TYPE: _split_flag_t = 1;
2907pub type _split_flag_t = ::libc::c_int;
2908pub use self::_split_flag_t as split_flag_t;
2909pub const _split_mode_t_ekSPLIT_NORMAL: _split_mode_t = 1;
2910pub const _split_mode_t_ekSPLIT_FIXED0: _split_mode_t = 2;
2911pub const _split_mode_t_ekSPLIT_FIXED1: _split_mode_t = 3;
2912pub type _split_mode_t = ::libc::c_int;
2913pub use self::_split_mode_t as split_mode_t;
2914pub const _window_flag_t_ekWINDOW_FLAG: _window_flag_t = 0;
2915pub const _window_flag_t_ekWINDOW_EDGE: _window_flag_t = 1;
2916pub const _window_flag_t_ekWINDOW_TITLE: _window_flag_t = 2;
2917pub const _window_flag_t_ekWINDOW_MAX: _window_flag_t = 4;
2918pub const _window_flag_t_ekWINDOW_MIN: _window_flag_t = 8;
2919pub const _window_flag_t_ekWINDOW_CLOSE: _window_flag_t = 16;
2920pub const _window_flag_t_ekWINDOW_RESIZE: _window_flag_t = 32;
2921pub const _window_flag_t_ekWINDOW_RETURN: _window_flag_t = 64;
2922pub const _window_flag_t_ekWINDOW_ESC: _window_flag_t = 128;
2923pub const _window_flag_t_ekWINDOW_OFFSCREEN: _window_flag_t = 256;
2924pub const _window_flag_t_ekWINDOW_MODAL_NOHIDE: _window_flag_t = 512;
2925pub const _window_flag_t_ekWINDOW_STD: _window_flag_t = 26;
2926pub const _window_flag_t_ekWINDOW_STDRES: _window_flag_t = 62;
2927pub type _window_flag_t = ::libc::c_int;
2928pub use self::_window_flag_t as window_flag_t;
2929pub const _menu_flag_t_ekMENU_FLAG: _menu_flag_t = 0;
2930pub const _menu_flag_t_ekMENU_ITEM: _menu_flag_t = 1;
2931pub const _menu_flag_t_ekMENU_SEPARATOR: _menu_flag_t = 2;
2932pub type _menu_flag_t = ::libc::c_int;
2933pub use self::_menu_flag_t as menu_flag_t;
2934pub const _ctrl_state_t_ekCTRL_STATE_NORMAL: _ctrl_state_t = 0;
2935pub const _ctrl_state_t_ekCTRL_STATE_HOT: _ctrl_state_t = 1;
2936pub const _ctrl_state_t_ekCTRL_STATE_PRESSED: _ctrl_state_t = 2;
2937pub const _ctrl_state_t_ekCTRL_STATE_BKNORMAL: _ctrl_state_t = 3;
2938pub const _ctrl_state_t_ekCTRL_STATE_BKHOT: _ctrl_state_t = 4;
2939pub const _ctrl_state_t_ekCTRL_STATE_BKPRESSED: _ctrl_state_t = 5;
2940pub const _ctrl_state_t_ekCTRL_STATE_DISABLED: _ctrl_state_t = 6;
2941pub type _ctrl_state_t = ::libc::c_int;
2942pub use self::_ctrl_state_t as ctrl_state_t;
2943pub const _ctrl_msel_t_ekCTRL_MSEL_NO: _ctrl_msel_t = 0;
2944pub const _ctrl_msel_t_ekCTRL_MSEL_SINGLE: _ctrl_msel_t = 1;
2945pub const _ctrl_msel_t_ekCTRL_MSEL_BURST: _ctrl_msel_t = 2;
2946pub type _ctrl_msel_t = ::libc::c_int;
2947pub use self::_ctrl_msel_t as ctrl_msel_t;
2948pub const _ctrl_op_t_ekCTRL_OP_ADD: _ctrl_op_t = 1;
2949pub const _ctrl_op_t_ekCTRL_OP_DEL: _ctrl_op_t = 2;
2950pub const _ctrl_op_t_ekCTRL_OP_INS: _ctrl_op_t = 3;
2951pub const _ctrl_op_t_ekCTRL_OP_SET: _ctrl_op_t = 4;
2952pub type _ctrl_op_t = ::libc::c_int;
2953pub use self::_ctrl_op_t as ctrl_op_t;
2954pub const _syscolor_t_ekSYSCOLOR_DARKMODE: _syscolor_t = 0;
2955pub const _syscolor_t_ekSYSCOLOR_LABEL: _syscolor_t = 1;
2956pub const _syscolor_t_ekSYSCOLOR_VIEW: _syscolor_t = 2;
2957pub const _syscolor_t_ekSYSCOLOR_LINE: _syscolor_t = 3;
2958pub const _syscolor_t_ekSYSCOLOR_LINK: _syscolor_t = 4;
2959pub const _syscolor_t_ekSYSCOLOR_BORDER: _syscolor_t = 5;
2960pub type _syscolor_t = ::libc::c_int;
2961pub use self::_syscolor_t as syscolor_t;
2962#[repr(C)]
2963#[derive(Debug, Copy, Clone)]
2964pub struct _ccursor_t {
2965    _unused: [u8; 0],
2966}
2967pub type Cursor = _ccursor_t;
2968pub type GuiCtx = _guictx_t;
2969pub type EvButton = _evbutton_t;
2970pub type EvSlider = _evslider_t;
2971pub type EvText = _evtext_t;
2972pub type EvTextFilter = _evtextfilter_t;
2973pub type EvDraw = _evdraw_t;
2974pub type EvMouse = _evmouse_t;
2975pub type EvWheel = _evwheel_t;
2976pub type EvKey = _evkey_t;
2977pub type EvPos = _evpos_t;
2978pub type EvSize = _evsize_t;
2979pub type EvWinClose = _evwinclose_t;
2980pub type EvMenu = _evmenu_t;
2981pub type EvScroll = _evscroll_t;
2982pub type EvTbPos = _evtbpos_t;
2983pub type EvTbRow = _evtbrow_t;
2984pub type EvTbRect = _evtbrect_t;
2985pub type EvTbSel = _evtbsel_t;
2986pub type EvTbCell = _evtbcell_t;
2987pub type FPtr_gctx_create =
2988    ::core::option::Option<unsafe extern "C" fn(flags: u32) -> *mut ::libc::c_void>;
2989pub type FPtr_gctx_create2 =
2990    ::core::option::Option<unsafe extern "C" fn(arg1: *mut ::libc::c_void) -> *mut ::libc::c_void>;
2991pub type FPtr_gctx_destroy =
2992    ::core::option::Option<unsafe extern "C" fn(item: *mut *mut ::libc::c_void)>;
2993pub type FPtr_gctx_set_text =
2994    ::core::option::Option<unsafe extern "C" fn(item: *mut ::libc::c_void, text: *const char_t)>;
2995pub type FPtr_gctx_set_ptr = ::core::option::Option<
2996    unsafe extern "C" fn(item: *mut ::libc::c_void, ptr: *mut ::libc::c_void),
2997>;
2998pub type FPtr_gctx_set_ptr2 = ::core::option::Option<
2999    unsafe extern "C" fn(item: *mut ::libc::c_void, ptr: *mut ::libc::c_void) -> u32,
3000>;
3001pub type FPtr_gctx_set_ptr3 = ::core::option::Option<
3002    unsafe extern "C" fn(item: *mut ::libc::c_void, ptr: *mut ::libc::c_void) -> enum_t,
3003>;
3004pub type FPtr_gctx_set_cptr = ::core::option::Option<
3005    unsafe extern "C" fn(item: *mut ::libc::c_void, ptr: *const ::libc::c_void),
3006>;
3007pub type FPtr_gctx_set_listener = ::core::option::Option<
3008    unsafe extern "C" fn(item: *mut ::libc::c_void, listener: *mut Listener),
3009>;
3010pub type FPtr_gctx_set_bool =
3011    ::core::option::Option<unsafe extern "C" fn(item: *mut ::libc::c_void, value: bool_t)>;
3012pub type FPtr_gctx_set_uint32 =
3013    ::core::option::Option<unsafe extern "C" fn(item: *mut ::libc::c_void, value: u32)>;
3014pub type FPtr_gctx_set_real32 =
3015    ::core::option::Option<unsafe extern "C" fn(item: *mut ::libc::c_void, value: real32_t)>;
3016pub type FPtr_gctx_set_enum =
3017    ::core::option::Option<unsafe extern "C" fn(item: *mut ::libc::c_void, value: enum_t)>;
3018pub type FPtr_gctx_set_enum2 =
3019    ::core::option::Option<unsafe extern "C" fn(item: *mut ::libc::c_void, arg1: bool_t) -> enum_t>;
3020pub type FPtr_gctx_set_elem = ::core::option::Option<
3021    unsafe extern "C" fn(
3022        item: *mut ::libc::c_void,
3023        op: ctrl_op_t,
3024        index: u32,
3025        text: *const char_t,
3026        data: *const Image,
3027    ),
3028>;
3029pub type FPtr_gctx_set_property = ::core::option::Option<
3030    unsafe extern "C" fn(item: *mut ::libc::c_void, prop: enum_t, value: *const ::libc::c_void),
3031>;
3032pub type FPtr_gctx_set_key = ::core::option::Option<
3033    unsafe extern "C" fn(item: *mut ::libc::c_void, key: vkey_t, modifiers: u32),
3034>;
3035pub type FPtr_gctx_set_hotkey = ::core::option::Option<
3036    unsafe extern "C" fn(item: *mut ::libc::c_void, arg1: vkey_t, arg2: u32, arg3: *mut Listener),
3037>;
3038pub type FPtr_gctx_set_area = ::core::option::Option<
3039    unsafe extern "C" fn(
3040        item: *mut ::libc::c_void,
3041        obj: *mut ::libc::c_void,
3042        bgcolor: color_t,
3043        skcolor: color_t,
3044        x: real32_t,
3045        y: real32_t,
3046        width: real32_t,
3047        height: real32_t,
3048    ),
3049>;
3050pub type FPtr_gctx_set2_bool = ::core::option::Option<
3051    unsafe extern "C" fn(item: *mut ::libc::c_void, value1: bool_t, value2: bool_t),
3052>;
3053pub type FPtr_gctx_set2_int32 = ::core::option::Option<
3054    unsafe extern "C" fn(item: *mut ::libc::c_void, value1: i32, value2: i32),
3055>;
3056pub type FPtr_gctx_set2_real32 = ::core::option::Option<
3057    unsafe extern "C" fn(item: *mut ::libc::c_void, value1: real32_t, value2: real32_t),
3058>;
3059pub type FPtr_gctx_set2_real64 = ::core::option::Option<
3060    unsafe extern "C" fn(item: *mut ::libc::c_void, value1: real64_t, value2: real64_t),
3061>;
3062pub type FPtr_gctx_set4_real32 = ::core::option::Option<
3063    unsafe extern "C" fn(
3064        item: *mut ::libc::c_void,
3065        value1: real32_t,
3066        value2: real32_t,
3067        value3: real32_t,
3068        value4: real32_t,
3069    ),
3070>;
3071pub type FPtr_gctx_get_text =
3072    ::core::option::Option<unsafe extern "C" fn(item: *const ::libc::c_void) -> *const char_t>;
3073pub type FPtr_gctx_get_ptr = ::core::option::Option<
3074    unsafe extern "C" fn(item: *const ::libc::c_void) -> *mut ::libc::c_void,
3075>;
3076pub type FPtr_gctx_get_bool =
3077    ::core::option::Option<unsafe extern "C" fn(item: *const ::libc::c_void) -> bool_t>;
3078pub type FPtr_gctx_get_uint32 =
3079    ::core::option::Option<unsafe extern "C" fn(item: *const ::libc::c_void) -> u32>;
3080pub type FPtr_gctx_get_real32 =
3081    ::core::option::Option<unsafe extern "C" fn(item: *const ::libc::c_void) -> real32_t>;
3082pub type FPtr_gctx_get_enum =
3083    ::core::option::Option<unsafe extern "C" fn(item: *const ::libc::c_void) -> enum_t>;
3084pub type FPtr_gctx_get_enum2 = ::core::option::Option<
3085    unsafe extern "C" fn(item: *const ::libc::c_void, arg1: enum_t) -> enum_t,
3086>;
3087pub type FPtr_gctx_get_enum3 = ::core::option::Option<
3088    unsafe extern "C" fn(item: *const ::libc::c_void, ptr: *mut *mut ::libc::c_void) -> enum_t,
3089>;
3090pub type FPtr_gctx_get_real32e = ::core::option::Option<
3091    unsafe extern "C" fn(item: *const ::libc::c_void, value: enum_t) -> real32_t,
3092>;
3093pub type FPtr_gctx_get2_real32 = ::core::option::Option<
3094    unsafe extern "C" fn(item: *const ::libc::c_void, value1: *mut real32_t, value2: *mut real32_t),
3095>;
3096pub type FPtr_gctx_get_indexed =
3097    ::core::option::Option<unsafe extern "C" fn(arg1: u32, arg2: *mut ::libc::c_void)>;
3098pub type FPtr_gctx_call = ::core::option::Option<unsafe extern "C" fn(item: *mut ::libc::c_void)>;
3099pub type FPtr_gctx_bounds1 = ::core::option::Option<
3100    unsafe extern "C" fn(
3101        item: *const ::libc::c_void,
3102        text: *const char_t,
3103        refwidth: real32_t,
3104        width: *mut real32_t,
3105        height: *mut real32_t,
3106    ),
3107>;
3108pub type FPtr_gctx_bounds2 = ::core::option::Option<
3109    unsafe extern "C" fn(
3110        item: *const ::libc::c_void,
3111        text: *const char_t,
3112        refwidth: real32_t,
3113        refheight: real32_t,
3114        width: *mut real32_t,
3115        height: *mut real32_t,
3116    ),
3117>;
3118pub type FPtr_gctx_bounds3 = ::core::option::Option<
3119    unsafe extern "C" fn(
3120        item: *const ::libc::c_void,
3121        text: *const char_t,
3122        width: *mut real32_t,
3123        height: *mut real32_t,
3124    ),
3125>;
3126pub type FPtr_gctx_bounds4 = ::core::option::Option<
3127    unsafe extern "C" fn(
3128        item: *const ::libc::c_void,
3129        refwidth: real32_t,
3130        lines: u32,
3131        width: *mut real32_t,
3132        height: *mut real32_t,
3133    ),
3134>;
3135pub type FPtr_gctx_bounds5 = ::core::option::Option<
3136    unsafe extern "C" fn(
3137        item: *const ::libc::c_void,
3138        refwidth: real32_t,
3139        width: *mut real32_t,
3140        height: *mut real32_t,
3141    ),
3142>;
3143pub type FPtr_gctx_bounds6 = ::core::option::Option<
3144    unsafe extern "C" fn(
3145        item: *const ::libc::c_void,
3146        length: real32_t,
3147        size: gui_size_t,
3148        width: *mut real32_t,
3149        height: *mut real32_t,
3150    ),
3151>;
3152pub type FPtr_gctx_tickmarks = ::core::option::Option<
3153    unsafe extern "C" fn(
3154        item: *mut ::libc::c_void,
3155        num_tickmarks: u32,
3156        tickmarks_at_left_top: bool_t,
3157    ),
3158>;
3159pub type FPtr_gctx_insert = ::core::option::Option<
3160    unsafe extern "C" fn(item: *mut ::libc::c_void, pos: u32, child: *mut ::libc::c_void),
3161>;
3162pub type FPtr_gctx_menu = ::core::option::Option<
3163    unsafe extern "C" fn(
3164        item: *mut ::libc::c_void,
3165        window: *mut ::libc::c_void,
3166        x: real32_t,
3167        y: real32_t,
3168    ),
3169>;
3170pub type FPtr_gctx_win_file = ::core::option::Option<
3171    unsafe extern "C" fn(
3172        parent: *mut ::libc::c_void,
3173        ftypes: *mut *const char_t,
3174        size: u32,
3175        start_dir: *const char_t,
3176        open: bool_t,
3177    ) -> *const char_t,
3178>;
3179pub type FPtr_gctx_win_color = ::core::option::Option<
3180    unsafe extern "C" fn(
3181        parent: *mut ::libc::c_void,
3182        title: *const char_t,
3183        x: real32_t,
3184        y: real32_t,
3185        halign: align_t,
3186        valign: align_t,
3187        current: color_t,
3188        colors: *mut color_t,
3189        n: u32,
3190        OnChange: *mut Listener,
3191    ),
3192>;
3193pub type FPtr_gctx_cursor = ::core::option::Option<
3194    unsafe extern "C" fn(
3195        arg1: enum_t,
3196        arg2: *const Image,
3197        arg3: real32_t,
3198        arg4: real32_t,
3199    ) -> *mut Cursor,
3200>;
3201pub type FPtr_gctx_draw_rect = ::core::option::Option<
3202    unsafe extern "C" fn(
3203        arg1: *mut ::libc::c_void,
3204        arg2: i32,
3205        arg3: i32,
3206        arg4: u32,
3207        arg5: u32,
3208        arg6: enum_t,
3209    ),
3210>;
3211pub type FPtr_gctx_draw_line = ::core::option::Option<
3212    unsafe extern "C" fn(arg1: *mut ::libc::c_void, arg2: i32, arg3: i32, arg4: i32, arg5: i32),
3213>;
3214pub type FPtr_gctx_draw_text = ::core::option::Option<
3215    unsafe extern "C" fn(
3216        arg1: *mut ::libc::c_void,
3217        arg2: *const char_t,
3218        arg3: i32,
3219        arg4: i32,
3220        arg5: enum_t,
3221    ),
3222>;
3223pub type FPtr_gctx_draw_image = ::core::option::Option<
3224    unsafe extern "C" fn(
3225        arg1: *mut ::libc::c_void,
3226        arg2: *const Image,
3227        arg3: i32,
3228        arg4: i32,
3229        arg5: enum_t,
3230    ),
3231>;
3232pub type FPtr_gctx_clipboard =
3233    ::core::option::Option<unsafe extern "C" fn(arg1: *mut ::libc::c_void, arg2: clipboard_t)>;
3234pub type FPtr_gctx_command = ::core::option::Option<
3235    unsafe extern "C" fn(
3236        arg1: *mut ::libc::c_void,
3237        arg2: enum_t,
3238        arg3: *const ::libc::c_void,
3239        arg4: *mut ::libc::c_void,
3240    ),
3241>;
3242#[repr(C)]
3243#[derive(Debug, Copy, Clone)]
3244pub struct _guictx_t {
3245    pub retain_count: u32,
3246    pub func_create: [FPtr_gctx_create; 17usize],
3247    pub func_destroy: [FPtr_gctx_destroy; 17usize],
3248    pub func_set_tooltip: [FPtr_gctx_set_text; 17usize],
3249    pub func_attach_to_panel: [FPtr_gctx_set_ptr; 17usize],
3250    pub func_detach_from_panel: [FPtr_gctx_set_ptr; 17usize],
3251    pub func_set_visible: [FPtr_gctx_set_bool; 17usize],
3252    pub func_set_enabled: [FPtr_gctx_set_bool; 17usize],
3253    pub func_get_size: [FPtr_gctx_get2_real32; 17usize],
3254    pub func_get_origin: [FPtr_gctx_get2_real32; 17usize],
3255    pub func_set_frame: [FPtr_gctx_set4_real32; 17usize],
3256    pub func_label_OnClick: FPtr_gctx_set_listener,
3257    pub func_label_OnMouseEnter: FPtr_gctx_set_listener,
3258    pub func_label_OnMouseExit: FPtr_gctx_set_listener,
3259    pub func_label_set_text: FPtr_gctx_set_text,
3260    pub func_label_set_font: FPtr_gctx_set_cptr,
3261    pub func_label_set_flags: FPtr_gctx_set_uint32,
3262    pub func_label_set_align: FPtr_gctx_set_enum,
3263    pub func_label_set_ellipsis: FPtr_gctx_set_enum,
3264    pub func_label_set_text_color: FPtr_gctx_set_uint32,
3265    pub func_label_set_bg_color: FPtr_gctx_set_uint32,
3266    pub func_label_bounds: FPtr_gctx_bounds1,
3267    pub func_button_OnClick: FPtr_gctx_set_listener,
3268    pub func_button_set_text: FPtr_gctx_set_text,
3269    pub func_button_set_font: FPtr_gctx_set_cptr,
3270    pub func_button_set_align: FPtr_gctx_set_enum,
3271    pub func_button_set_image: FPtr_gctx_set_cptr,
3272    pub func_button_set_state: FPtr_gctx_set_enum,
3273    pub func_button_get_state: FPtr_gctx_get_enum,
3274    pub func_button_set_vpadding: FPtr_gctx_set_real32,
3275    pub func_button_bounds: FPtr_gctx_bounds2,
3276    pub func_popup_OnSelect: FPtr_gctx_set_listener,
3277    pub func_popup_set_elem: FPtr_gctx_set_elem,
3278    pub func_popup_set_font: FPtr_gctx_set_cptr,
3279    pub func_popup_list_height: FPtr_gctx_set_uint32,
3280    pub func_popup_set_selected: FPtr_gctx_set_uint32,
3281    pub func_popup_get_selected: FPtr_gctx_get_uint32,
3282    pub func_popup_bounds: FPtr_gctx_bounds3,
3283    pub func_edit_OnFilter: FPtr_gctx_set_listener,
3284    pub func_edit_OnChange: FPtr_gctx_set_listener,
3285    pub func_edit_OnFocus: FPtr_gctx_set_listener,
3286    pub func_edit_set_text: FPtr_gctx_set_text,
3287    pub func_edit_set_font: FPtr_gctx_set_cptr,
3288    pub func_edit_set_align: FPtr_gctx_set_enum,
3289    pub func_edit_set_passmode: FPtr_gctx_set_bool,
3290    pub func_edit_set_editable: FPtr_gctx_set_bool,
3291    pub func_edit_set_autoselect: FPtr_gctx_set_bool,
3292    pub func_edit_set_select: FPtr_gctx_set2_int32,
3293    pub func_edit_set_text_color: FPtr_gctx_set_uint32,
3294    pub func_edit_set_bg_color: FPtr_gctx_set_uint32,
3295    pub func_edit_set_vpadding: FPtr_gctx_set_real32,
3296    pub func_edit_bounds: FPtr_gctx_bounds4,
3297    pub func_edit_clipboard: FPtr_gctx_clipboard,
3298    pub func_combo_OnFilter: FPtr_gctx_set_listener,
3299    pub func_combo_OnChange: FPtr_gctx_set_listener,
3300    pub func_combo_OnFocus: FPtr_gctx_set_listener,
3301    pub func_combo_OnSelect: FPtr_gctx_set_listener,
3302    pub func_combo_set_text: FPtr_gctx_set_text,
3303    pub func_combo_set_font: FPtr_gctx_set_cptr,
3304    pub func_combo_set_align: FPtr_gctx_set_enum,
3305    pub func_combo_set_passmode: FPtr_gctx_set_bool,
3306    pub func_combo_set_text_color: FPtr_gctx_set_uint32,
3307    pub func_combo_set_bg_color: FPtr_gctx_set_uint32,
3308    pub func_combo_set_elem: FPtr_gctx_set_elem,
3309    pub func_combo_set_selected: FPtr_gctx_set_uint32,
3310    pub func_combo_get_selected: FPtr_gctx_get_uint32,
3311    pub func_combo_bounds: FPtr_gctx_bounds5,
3312    pub func_slider_OnMoved: FPtr_gctx_set_listener,
3313    pub func_slider_set_tickmarks: FPtr_gctx_tickmarks,
3314    pub func_slider_get_position: FPtr_gctx_get_real32,
3315    pub func_slider_set_position: FPtr_gctx_set_real32,
3316    pub func_slider_bounds: FPtr_gctx_bounds6,
3317    pub func_updown_OnClick: FPtr_gctx_set_listener,
3318    pub func_progress_set_position: FPtr_gctx_set_real32,
3319    pub func_progress_get_thickness: FPtr_gctx_get_real32e,
3320    pub func_text_OnFilter: FPtr_gctx_set_listener,
3321    pub func_text_OnFocus: FPtr_gctx_set_listener,
3322    pub func_text_set_text: FPtr_gctx_set_text,
3323    pub func_text_add_text: FPtr_gctx_set_text,
3324    pub func_text_ins_text: FPtr_gctx_set_text,
3325    pub func_text_set_rtf: FPtr_gctx_set_ptr,
3326    pub func_text_set_prop: FPtr_gctx_set_property,
3327    pub func_text_set_editable: FPtr_gctx_set_bool,
3328    pub func_text_get_text: FPtr_gctx_get_text,
3329    pub func_text_scroller_visible: FPtr_gctx_set2_bool,
3330    pub func_text_set_need_display: FPtr_gctx_call,
3331    pub func_text_clipboard: FPtr_gctx_clipboard,
3332    pub func_web_OnFocus: FPtr_gctx_set_listener,
3333    pub func_web_command: FPtr_gctx_command,
3334    pub func_web_scroller_visible: FPtr_gctx_set2_bool,
3335    pub func_web_set_need_display: FPtr_gctx_call,
3336    pub func_web_clipboard: FPtr_gctx_clipboard,
3337    pub func_split_attach_control: FPtr_gctx_set_ptr,
3338    pub func_split_detach_control: FPtr_gctx_set_ptr,
3339    pub func_split_OnDrag: FPtr_gctx_set_listener,
3340    pub func_split_track_area: FPtr_gctx_set4_real32,
3341    pub func_view_OnDraw: FPtr_gctx_set_listener,
3342    pub func_view_OnOverlay: FPtr_gctx_set_listener,
3343    pub func_view_OnEnter: FPtr_gctx_set_listener,
3344    pub func_view_OnExit: FPtr_gctx_set_listener,
3345    pub func_view_OnMoved: FPtr_gctx_set_listener,
3346    pub func_view_OnDown: FPtr_gctx_set_listener,
3347    pub func_view_OnUp: FPtr_gctx_set_listener,
3348    pub func_view_OnClick: FPtr_gctx_set_listener,
3349    pub func_view_OnDrag: FPtr_gctx_set_listener,
3350    pub func_view_OnWheel: FPtr_gctx_set_listener,
3351    pub func_view_OnKeyDown: FPtr_gctx_set_listener,
3352    pub func_view_OnKeyUp: FPtr_gctx_set_listener,
3353    pub func_view_OnFocus: FPtr_gctx_set_listener,
3354    pub func_view_OnResignFocus: FPtr_gctx_set_listener,
3355    pub func_view_OnAcceptFocus: FPtr_gctx_set_listener,
3356    pub func_view_OnScroll: FPtr_gctx_set_listener,
3357    pub func_view_OnTouchTap: FPtr_gctx_set_listener,
3358    pub func_view_OnTouchStartDrag: FPtr_gctx_set_listener,
3359    pub func_view_OnTouchDragging: FPtr_gctx_set_listener,
3360    pub func_view_OnTouchEndDrag: FPtr_gctx_set_listener,
3361    pub func_view_OnTouchStartPinch: FPtr_gctx_set_listener,
3362    pub func_view_OnTouchPinching: FPtr_gctx_set_listener,
3363    pub func_view_OnTouchEndPinch: FPtr_gctx_set_listener,
3364    pub func_view_allow_key: FPtr_gctx_set_key,
3365    pub func_view_scroll: FPtr_gctx_set2_real32,
3366    pub func_view_scroll_get: FPtr_gctx_get2_real32,
3367    pub func_view_scroller_size: FPtr_gctx_get2_real32,
3368    pub func_view_scroller_visible: FPtr_gctx_set2_bool,
3369    pub func_view_content_size: FPtr_gctx_set4_real32,
3370    pub func_view_scale_factor: FPtr_gctx_get_real32,
3371    pub func_view_set_need_display: FPtr_gctx_call,
3372    pub func_view_set_drawable: FPtr_gctx_set_bool,
3373    pub func_view_get_native_view: FPtr_gctx_get_ptr,
3374    pub func_panel_area: FPtr_gctx_set_area,
3375    pub func_panel_scroller_size: FPtr_gctx_get2_real32,
3376    pub func_panel_content_size: FPtr_gctx_set4_real32,
3377    pub func_panel_set_need_display: FPtr_gctx_call,
3378    pub func_menu_create: FPtr_gctx_create,
3379    pub func_menu_destroy: FPtr_gctx_destroy,
3380    pub func_menu_insert_item: FPtr_gctx_insert,
3381    pub func_menu_delete_item: FPtr_gctx_set_ptr,
3382    pub func_menu_launch_popup: FPtr_gctx_menu,
3383    pub func_menu_hide_popup: FPtr_gctx_call,
3384    pub func_menu_is_menubar: FPtr_gctx_get_bool,
3385    pub func_menuitem_create: FPtr_gctx_create,
3386    pub func_menuitem_destroy: FPtr_gctx_destroy,
3387    pub func_menuitem_OnClick: FPtr_gctx_set_listener,
3388    pub func_menuitem_set_enabled: FPtr_gctx_set_bool,
3389    pub func_menuitem_set_visible: FPtr_gctx_set_bool,
3390    pub func_menuitem_set_text: FPtr_gctx_set_text,
3391    pub func_menuitem_set_image: FPtr_gctx_set_cptr,
3392    pub func_menuitem_set_key_equivalent: FPtr_gctx_set_key,
3393    pub func_menuitem_set_state: FPtr_gctx_set_enum,
3394    pub func_attach_menu_to_menu_item: FPtr_gctx_set_ptr,
3395    pub func_detach_menu_from_menu_item: FPtr_gctx_set_ptr,
3396    pub func_window_create: FPtr_gctx_create,
3397    pub func_window_managed: FPtr_gctx_create2,
3398    pub func_window_destroy: FPtr_gctx_destroy,
3399    pub func_window_OnMoved: FPtr_gctx_set_listener,
3400    pub func_window_OnResize: FPtr_gctx_set_listener,
3401    pub func_window_OnClose: FPtr_gctx_set_listener,
3402    pub func_window_set_title: FPtr_gctx_set_text,
3403    pub func_window_set_edited: FPtr_gctx_set_bool,
3404    pub func_window_set_movable: FPtr_gctx_set_bool,
3405    pub func_window_set_z_order: FPtr_gctx_set_ptr,
3406    pub func_window_set_alpha: FPtr_gctx_set_real32,
3407    pub func_window_enable_mouse_events: FPtr_gctx_set_bool,
3408    pub func_window_hotkey: FPtr_gctx_set_hotkey,
3409    pub func_window_set_taborder: FPtr_gctx_set_ptr,
3410    pub func_window_tabcycle: FPtr_gctx_set_bool,
3411    pub func_window_tabstop: FPtr_gctx_set_enum2,
3412    pub func_window_set_focus: FPtr_gctx_set_ptr3,
3413    pub func_window_get_focus: FPtr_gctx_get_ptr,
3414    pub func_window_info_focus: FPtr_gctx_get_enum3,
3415    pub func_attach_main_panel_to_window: FPtr_gctx_set_ptr,
3416    pub func_detach_main_panel_from_window: FPtr_gctx_set_ptr,
3417    pub func_attach_window_to_window: FPtr_gctx_set_ptr,
3418    pub func_detach_window_from_window: FPtr_gctx_set_ptr,
3419    pub func_window_launch: FPtr_gctx_set_ptr,
3420    pub func_window_hide: FPtr_gctx_set_ptr,
3421    pub func_window_launch_modal: FPtr_gctx_set_ptr2,
3422    pub func_window_stop_modal: FPtr_gctx_set_uint32,
3423    pub func_window_get_origin_in_screen_coordinates: FPtr_gctx_get2_real32,
3424    pub func_window_set_origin_in_screen_coordinates: FPtr_gctx_set2_real32,
3425    pub func_window_get_size: FPtr_gctx_get2_real32,
3426    pub func_window_set_size: FPtr_gctx_set2_real32,
3427    pub func_window_set_default_pushbutton: FPtr_gctx_set_ptr,
3428    pub func_window_set_cursor: FPtr_gctx_set_ptr,
3429    pub func_window_set_property: FPtr_gctx_set_property,
3430    pub func_comwin_file: FPtr_gctx_win_file,
3431    pub func_comwin_color: FPtr_gctx_win_color,
3432    pub func_globals_device: FPtr_gctx_get_enum,
3433    pub func_globals_color: FPtr_gctx_get_enum,
3434    pub func_globals_resolution: FPtr_gctx_get2_real32,
3435    pub func_globals_mouse_position: FPtr_gctx_get2_real32,
3436    pub func_globals_cursor: FPtr_gctx_cursor,
3437    pub func_globals_cursor_destroy: FPtr_gctx_destroy,
3438    pub func_globals_value: FPtr_gctx_get_indexed,
3439    pub func_globals_transitions: FPtr_gctx_set2_real64,
3440    pub func_globals_OnIdle: FPtr_gctx_set_listener,
3441    pub func_drawctrl_font: FPtr_gctx_get_ptr,
3442    pub func_drawctrl_row_padding: FPtr_gctx_get_uint32,
3443    pub func_drawctrl_check_width: FPtr_gctx_get_uint32,
3444    pub func_drawctrl_check_height: FPtr_gctx_get_uint32,
3445    pub func_drawctrl_multisel: FPtr_gctx_get_enum2,
3446    pub func_drawctrl_clear: FPtr_gctx_draw_rect,
3447    pub func_drawctrl_header: FPtr_gctx_draw_rect,
3448    pub func_drawctrl_indicator: FPtr_gctx_draw_rect,
3449    pub func_drawctrl_fill: FPtr_gctx_draw_rect,
3450    pub func_drawctrl_focus: FPtr_gctx_draw_rect,
3451    pub func_drawctrl_line: FPtr_gctx_draw_line,
3452    pub func_drawctrl_text: FPtr_gctx_draw_text,
3453    pub func_drawctrl_image: FPtr_gctx_draw_image,
3454    pub func_drawctrl_checkbox: FPtr_gctx_draw_rect,
3455    pub func_drawctrl_uncheckbox: FPtr_gctx_draw_rect,
3456}
3457#[repr(C)]
3458#[derive(Debug, Copy, Clone)]
3459pub struct _evbutton_t {
3460    pub index: u32,
3461    pub state: gui_state_t,
3462    pub text: *const char_t,
3463}
3464#[repr(C)]
3465#[derive(Debug, Copy, Clone)]
3466pub struct _evslider_t {
3467    pub pos: real32_t,
3468    pub incr: real32_t,
3469    pub step: u32,
3470}
3471#[repr(C)]
3472#[derive(Debug, Copy, Clone)]
3473pub struct _evtext_t {
3474    pub text: *const char_t,
3475    pub cpos: u32,
3476    pub len: i32,
3477}
3478#[repr(C)]
3479#[derive(Debug, Copy, Clone)]
3480pub struct _evtextfilter_t {
3481    pub apply: bool_t,
3482    pub text: [char_t; 4096usize],
3483    pub cpos: u32,
3484}
3485#[repr(C)]
3486#[derive(Debug, Copy, Clone)]
3487pub struct _evdraw_t {
3488    pub ctx: *mut DCtx,
3489    pub x: real32_t,
3490    pub y: real32_t,
3491    pub width: real32_t,
3492    pub height: real32_t,
3493}
3494#[repr(C)]
3495#[derive(Debug, Copy, Clone)]
3496pub struct _evmouse_t {
3497    pub x: real32_t,
3498    pub y: real32_t,
3499    pub lx: real32_t,
3500    pub ly: real32_t,
3501    pub button: gui_mouse_t,
3502    pub count: u32,
3503    pub modifiers: u32,
3504    pub tag: u32,
3505}
3506#[repr(C)]
3507#[derive(Debug, Copy, Clone)]
3508pub struct _evwheel_t {
3509    pub x: real32_t,
3510    pub y: real32_t,
3511    pub dx: real32_t,
3512    pub dy: real32_t,
3513    pub dz: real32_t,
3514}
3515#[repr(C)]
3516#[derive(Debug, Copy, Clone)]
3517pub struct _evkey_t {
3518    pub key: vkey_t,
3519    pub modifiers: u32,
3520}
3521#[repr(C)]
3522#[derive(Debug, Copy, Clone)]
3523pub struct _evpos_t {
3524    pub x: real32_t,
3525    pub y: real32_t,
3526}
3527#[repr(C)]
3528#[derive(Debug, Copy, Clone)]
3529pub struct _evsize_t {
3530    pub width: real32_t,
3531    pub height: real32_t,
3532}
3533#[repr(C)]
3534#[derive(Debug, Copy, Clone)]
3535pub struct _evwinclose_t {
3536    pub origin: gui_close_t,
3537}
3538#[repr(C)]
3539#[derive(Debug, Copy, Clone)]
3540pub struct _evmenu_t {
3541    pub index: u32,
3542    pub state: gui_state_t,
3543    pub text: *const char_t,
3544}
3545#[repr(C)]
3546#[derive(Debug, Copy, Clone)]
3547pub struct _evscroll_t {
3548    pub orient: gui_orient_t,
3549    pub scroll: gui_scroll_t,
3550    pub cpos: real32_t,
3551}
3552#[repr(C)]
3553#[derive(Debug, Copy, Clone)]
3554pub struct _evtbpos_t {
3555    pub col: u32,
3556    pub row: u32,
3557}
3558#[repr(C)]
3559#[derive(Debug, Copy, Clone)]
3560pub struct _evtbrow_t {
3561    pub sel: bool_t,
3562    pub row: u32,
3563}
3564#[repr(C)]
3565#[derive(Debug, Copy, Clone)]
3566pub struct _evtbrect_t {
3567    pub stcol: u32,
3568    pub edcol: u32,
3569    pub strow: u32,
3570    pub edrow: u32,
3571}
3572#[repr(C)]
3573#[derive(Debug, Copy, Clone)]
3574pub struct _evtbsel_t {
3575    pub sel: *mut ArrStuint32_t,
3576}
3577#[repr(C)]
3578#[derive(Debug, Copy, Clone)]
3579pub struct _evtbcell_t {
3580    pub text: *const char_t,
3581    pub align: align_t,
3582}
3583pub const _gui_notif_t_ekGUI_NOTIF_LANGUAGE: _gui_notif_t = 1;
3584pub const _gui_notif_t_ekGUI_NOTIF_WIN_DESTROY: _gui_notif_t = 2;
3585pub const _gui_notif_t_ekGUI_NOTIF_MENU_DESTROY: _gui_notif_t = 3;
3586pub type _gui_notif_t = ::libc::c_int;
3587pub use self::_gui_notif_t as gui_notif_t;
3588#[repr(C)]
3589#[derive(Debug, Copy, Clone)]
3590pub struct _guicontrol_t {
3591    _unused: [u8; 0],
3592}
3593pub type GuiControl = _guicontrol_t;
3594#[repr(C)]
3595#[derive(Debug, Copy, Clone)]
3596pub struct _label_t {
3597    _unused: [u8; 0],
3598}
3599pub type Label = _label_t;
3600#[repr(C)]
3601#[derive(Debug, Copy, Clone)]
3602pub struct _button_t {
3603    _unused: [u8; 0],
3604}
3605pub type Button = _button_t;
3606#[repr(C)]
3607#[derive(Debug, Copy, Clone)]
3608pub struct _popup_t {
3609    _unused: [u8; 0],
3610}
3611pub type PopUp = _popup_t;
3612#[repr(C)]
3613#[derive(Debug, Copy, Clone)]
3614pub struct _edit_t {
3615    _unused: [u8; 0],
3616}
3617pub type Edit = _edit_t;
3618#[repr(C)]
3619#[derive(Debug, Copy, Clone)]
3620pub struct _combo_t {
3621    _unused: [u8; 0],
3622}
3623pub type Combo = _combo_t;
3624#[repr(C)]
3625#[derive(Debug, Copy, Clone)]
3626pub struct _listbox_t {
3627    _unused: [u8; 0],
3628}
3629pub type ListBox = _listbox_t;
3630#[repr(C)]
3631#[derive(Debug, Copy, Clone)]
3632pub struct _updown_t {
3633    _unused: [u8; 0],
3634}
3635pub type UpDown = _updown_t;
3636#[repr(C)]
3637#[derive(Debug, Copy, Clone)]
3638pub struct _slider_t {
3639    _unused: [u8; 0],
3640}
3641pub type Slider = _slider_t;
3642#[repr(C)]
3643#[derive(Debug, Copy, Clone)]
3644pub struct _progress_t {
3645    _unused: [u8; 0],
3646}
3647pub type Progress = _progress_t;
3648#[repr(C)]
3649#[derive(Debug, Copy, Clone)]
3650pub struct _view_t {
3651    _unused: [u8; 0],
3652}
3653pub type View = _view_t;
3654#[repr(C)]
3655#[derive(Debug, Copy, Clone)]
3656pub struct _textview_t {
3657    _unused: [u8; 0],
3658}
3659pub type TextView = _textview_t;
3660#[repr(C)]
3661#[derive(Debug, Copy, Clone)]
3662pub struct _webview_t {
3663    _unused: [u8; 0],
3664}
3665pub type WebView = _webview_t;
3666#[repr(C)]
3667#[derive(Debug, Copy, Clone)]
3668pub struct _imageview_t {
3669    _unused: [u8; 0],
3670}
3671pub type ImageView = _imageview_t;
3672#[repr(C)]
3673#[derive(Debug, Copy, Clone)]
3674pub struct _tableview_t {
3675    _unused: [u8; 0],
3676}
3677pub type TableView = _tableview_t;
3678#[repr(C)]
3679#[derive(Debug, Copy, Clone)]
3680pub struct _splitview_t {
3681    _unused: [u8; 0],
3682}
3683pub type SplitView = _splitview_t;
3684#[repr(C)]
3685#[derive(Debug, Copy, Clone)]
3686pub struct _layout_t {
3687    _unused: [u8; 0],
3688}
3689pub type Layout = _layout_t;
3690#[repr(C)]
3691#[derive(Debug, Copy, Clone)]
3692pub struct _cell_t {
3693    _unused: [u8; 0],
3694}
3695pub type Cell = _cell_t;
3696#[repr(C)]
3697#[derive(Debug, Copy, Clone)]
3698pub struct _panel_t {
3699    _unused: [u8; 0],
3700}
3701pub type Panel = _panel_t;
3702#[repr(C)]
3703#[derive(Debug, Copy, Clone)]
3704pub struct _window_t {
3705    _unused: [u8; 0],
3706}
3707pub type Window = _window_t;
3708#[repr(C)]
3709#[derive(Debug, Copy, Clone)]
3710pub struct _menu_t {
3711    _unused: [u8; 0],
3712}
3713pub type Menu = _menu_t;
3714#[repr(C)]
3715#[derive(Debug, Copy, Clone)]
3716pub struct _menu_item_t {
3717    _unused: [u8; 0],
3718}
3719pub type MenuItem = _menu_item_t;
3720pub type FocusInfo = _focus_info_t;
3721pub type FPtr_respack =
3722    ::core::option::Option<unsafe extern "C" fn(locale: *const char_t) -> *mut ResPack>;
3723#[repr(C)]
3724#[derive(Debug, Copy, Clone)]
3725pub struct _focus_info_t {
3726    pub action: gui_tab_t,
3727    pub next: *mut GuiControl,
3728}
3729#[repr(C)]
3730#[derive(Debug, Copy, Clone)]
3731pub struct FPtr_respackData {
3732    pub elem: [FPtr_respack; 1024usize],
3733}
3734#[repr(C)]
3735#[derive(Debug, Copy, Clone)]
3736pub struct ArrStFPtr_respack {
3737    pub reserved: u32,
3738    pub size: u32,
3739    pub elem_sizeof: u16,
3740    pub content: *mut FPtr_respackData,
3741}
3742#[repr(C)]
3743#[derive(Debug, Copy, Clone)]
3744pub struct NodeStFPtr_respack {
3745    pub rb: u32,
3746    pub left: *mut NodeStFPtr_respack,
3747    pub right: *mut NodeStFPtr_respack,
3748    pub data: FPtr_respack,
3749}
3750#[repr(C)]
3751#[derive(Debug, Copy, Clone)]
3752pub struct SetStFPtr_respack {
3753    pub elems: u32,
3754    pub esize: u16,
3755    pub ksize: u16,
3756    pub root: *mut NodeStFPtr_respack,
3757    pub func_compare: FPtr_compare,
3758}
3759#[repr(C)]
3760#[derive(Debug, Copy, Clone)]
3761pub struct _arrstendFPtr_respack_t {
3762    _unused: [u8; 0],
3763}
3764pub type arrstendFPtr_respack = _arrstendFPtr_respack_t;
3765#[repr(C)]
3766#[derive(Debug, Copy, Clone)]
3767pub struct _setstendFPtr_respack_t {
3768    _unused: [u8; 0],
3769}
3770pub type setstendFPtr_respack = _setstendFPtr_respack_t;
3771pub type FPtr_task_main =
3772    ::core::option::Option<unsafe extern "C" fn(data: *mut ::libc::c_void) -> u32>;
3773pub type FPtr_task_update = ::core::option::Option<unsafe extern "C" fn(data: *mut ::libc::c_void)>;
3774pub type FPtr_task_end =
3775    ::core::option::Option<unsafe extern "C" fn(data: *mut ::libc::c_void, rvalue: u32)>;
3776unsafe extern "C" {
3777    pub fn osapp_finish();
3778}
3779unsafe extern "C" {
3780    pub fn osapp_argc() -> u32;
3781}
3782unsafe extern "C" {
3783    pub fn osapp_argv(index: u32, argv: *mut char_t, size: u32) -> u32;
3784}
3785unsafe extern "C" {
3786    pub fn osapp_task_imp(
3787        data: *mut ::libc::c_void,
3788        updtime: real32_t,
3789        func_task_main: FPtr_task_main,
3790        func_task_update: FPtr_task_update,
3791        func_task_end: FPtr_task_end,
3792    );
3793}
3794unsafe extern "C" {
3795    pub fn osapp_menubar(menu: *mut Menu, window: *mut Window);
3796}
3797unsafe extern "C" {
3798    pub fn osapp_open_url(url: *const char_t);
3799}
3800unsafe extern "C" {
3801    pub fn button_push() -> *mut Button;
3802}
3803unsafe extern "C" {
3804    pub fn button_check() -> *mut Button;
3805}
3806unsafe extern "C" {
3807    pub fn button_check3() -> *mut Button;
3808}
3809unsafe extern "C" {
3810    pub fn button_radio() -> *mut Button;
3811}
3812unsafe extern "C" {
3813    pub fn button_flat() -> *mut Button;
3814}
3815unsafe extern "C" {
3816    pub fn button_flatgle() -> *mut Button;
3817}
3818unsafe extern "C" {
3819    pub fn button_OnClick(button: *mut Button, listener: *mut Listener);
3820}
3821unsafe extern "C" {
3822    pub fn button_min_width(button: *mut Button, width: real32_t);
3823}
3824unsafe extern "C" {
3825    pub fn button_text(button: *mut Button, text: *const char_t);
3826}
3827unsafe extern "C" {
3828    pub fn button_text_alt(button: *mut Button, text: *const char_t);
3829}
3830unsafe extern "C" {
3831    pub fn button_tooltip(button: *mut Button, text: *const char_t);
3832}
3833unsafe extern "C" {
3834    pub fn button_font(button: *mut Button, font: *const Font);
3835}
3836unsafe extern "C" {
3837    pub fn button_get_font(button: *const Button) -> *const Font;
3838}
3839unsafe extern "C" {
3840    pub fn button_image(button: *mut Button, image: *const Image);
3841}
3842unsafe extern "C" {
3843    pub fn button_image_alt(button: *mut Button, image: *const Image);
3844}
3845unsafe extern "C" {
3846    pub fn button_state(button: *mut Button, state: gui_state_t);
3847}
3848unsafe extern "C" {
3849    pub fn button_tag(button: *mut Button, tag: u32);
3850}
3851unsafe extern "C" {
3852    pub fn button_vpadding(button: *mut Button, padding: real32_t);
3853}
3854unsafe extern "C" {
3855    pub fn button_get_state(button: *const Button) -> gui_state_t;
3856}
3857unsafe extern "C" {
3858    pub fn button_get_tag(button: *const Button) -> u32;
3859}
3860unsafe extern "C" {
3861    pub fn button_get_height(button: *const Button) -> real32_t;
3862}
3863unsafe extern "C" {
3864    pub fn cell_empty(cell: *mut Cell) -> bool_t;
3865}
3866unsafe extern "C" {
3867    pub fn cell_control(cell: *mut Cell) -> *mut GuiControl;
3868}
3869unsafe extern "C" {
3870    pub fn cell_label(cell: *mut Cell) -> *mut Label;
3871}
3872unsafe extern "C" {
3873    pub fn cell_button(cell: *mut Cell) -> *mut Button;
3874}
3875unsafe extern "C" {
3876    pub fn cell_popup(cell: *mut Cell) -> *mut PopUp;
3877}
3878unsafe extern "C" {
3879    pub fn cell_edit(cell: *mut Cell) -> *mut Edit;
3880}
3881unsafe extern "C" {
3882    pub fn cell_combo(cell: *mut Cell) -> *mut Combo;
3883}
3884unsafe extern "C" {
3885    pub fn cell_listbox(cell: *mut Cell) -> *mut ListBox;
3886}
3887unsafe extern "C" {
3888    pub fn cell_updown(cell: *mut Cell) -> *mut UpDown;
3889}
3890unsafe extern "C" {
3891    pub fn cell_slider(cell: *mut Cell) -> *mut Slider;
3892}
3893unsafe extern "C" {
3894    pub fn cell_progress(cell: *mut Cell) -> *mut Progress;
3895}
3896unsafe extern "C" {
3897    pub fn cell_view(cell: *mut Cell) -> *mut View;
3898}
3899unsafe extern "C" {
3900    pub fn cell_textview(cell: *mut Cell) -> *mut TextView;
3901}
3902unsafe extern "C" {
3903    pub fn cell_webview(cell: *mut Cell) -> *mut WebView;
3904}
3905unsafe extern "C" {
3906    pub fn cell_imageview(cell: *mut Cell) -> *mut ImageView;
3907}
3908unsafe extern "C" {
3909    pub fn cell_tableview(cell: *mut Cell) -> *mut TableView;
3910}
3911unsafe extern "C" {
3912    pub fn cell_splitview(cell: *mut Cell) -> *mut SplitView;
3913}
3914unsafe extern "C" {
3915    pub fn cell_panel(cell: *mut Cell) -> *mut Panel;
3916}
3917unsafe extern "C" {
3918    pub fn cell_layout(cell: *mut Cell) -> *mut Layout;
3919}
3920unsafe extern "C" {
3921    pub fn cell_enabled(cell: *mut Cell, enabled: bool_t);
3922}
3923unsafe extern "C" {
3924    pub fn cell_visible(cell: *mut Cell, visible: bool_t);
3925}
3926unsafe extern "C" {
3927    pub fn cell_padding(cell: *mut Cell, pall: real32_t);
3928}
3929unsafe extern "C" {
3930    pub fn cell_padding2(cell: *mut Cell, ptb: real32_t, plr: real32_t);
3931}
3932unsafe extern "C" {
3933    pub fn cell_padding4(cell: *mut Cell, pt: real32_t, pr: real32_t, pb: real32_t, pl: real32_t);
3934}
3935unsafe extern "C" {
3936    pub fn cell_dbind_imp(
3937        cell: *mut Cell,
3938        type_: *const char_t,
3939        size: u16,
3940        mname: *const char_t,
3941        mtype: *const char_t,
3942        moffset: u16,
3943        msize: u16,
3944    );
3945}
3946unsafe extern "C" {
3947    pub fn combo_create() -> *mut Combo;
3948}
3949unsafe extern "C" {
3950    pub fn combo_OnFilter(combo: *mut Combo, listener: *mut Listener);
3951}
3952unsafe extern "C" {
3953    pub fn combo_OnChange(combo: *mut Combo, listener: *mut Listener);
3954}
3955unsafe extern "C" {
3956    pub fn combo_text(combo: *mut Combo, text: *const char_t);
3957}
3958unsafe extern "C" {
3959    pub fn combo_align(combo: *mut Combo, align: align_t);
3960}
3961unsafe extern "C" {
3962    pub fn combo_tooltip(combo: *mut Combo, text: *const char_t);
3963}
3964unsafe extern "C" {
3965    pub fn combo_color(combo: *mut Combo, color: color_t);
3966}
3967unsafe extern "C" {
3968    pub fn combo_color_focus(combo: *mut Combo, color: color_t);
3969}
3970unsafe extern "C" {
3971    pub fn combo_bgcolor(combo: *mut Combo, color: color_t);
3972}
3973unsafe extern "C" {
3974    pub fn combo_bgcolor_focus(combo: *mut Combo, color: color_t);
3975}
3976unsafe extern "C" {
3977    pub fn combo_phtext(combo: *mut Combo, text: *const char_t);
3978}
3979unsafe extern "C" {
3980    pub fn combo_phcolor(combo: *mut Combo, color: color_t);
3981}
3982unsafe extern "C" {
3983    pub fn combo_phstyle(combo: *mut Combo, fstyle: u32);
3984}
3985unsafe extern "C" {
3986    pub fn combo_get_text(combo: *const Combo, index: u32) -> *const char_t;
3987}
3988unsafe extern "C" {
3989    pub fn combo_count(combo: *const Combo) -> u32;
3990}
3991unsafe extern "C" {
3992    pub fn combo_add_elem(combo: *mut Combo, text: *const char_t, image: *const Image);
3993}
3994unsafe extern "C" {
3995    pub fn combo_set_elem(combo: *mut Combo, index: u32, text: *const char_t, image: *const Image);
3996}
3997unsafe extern "C" {
3998    pub fn combo_ins_elem(combo: *mut Combo, index: u32, text: *const char_t, image: *const Image);
3999}
4000unsafe extern "C" {
4001    pub fn combo_del_elem(combo: *mut Combo, index: u32);
4002}
4003unsafe extern "C" {
4004    pub fn combo_duplicates(combo: *mut Combo, duplicates: bool_t);
4005}
4006unsafe extern "C" {
4007    pub fn comwin_open_file(
4008        parent: *mut Window,
4009        ftypes: *mut *const char_t,
4010        size: u32,
4011        start_dir: *const char_t,
4012    ) -> *const char_t;
4013}
4014unsafe extern "C" {
4015    pub fn comwin_save_file(
4016        parent: *mut Window,
4017        ftypes: *mut *const char_t,
4018        size: u32,
4019        start_dir: *const char_t,
4020    ) -> *const char_t;
4021}
4022unsafe extern "C" {
4023    pub fn comwin_color(
4024        parent: *mut Window,
4025        title: *const char_t,
4026        x: real32_t,
4027        y: real32_t,
4028        halign: align_t,
4029        valign: align_t,
4030        current: color_t,
4031        colors: *mut color_t,
4032        n: u32,
4033        OnChange: *mut Listener,
4034    );
4035}
4036unsafe extern "C" {
4037    pub fn edit_create() -> *mut Edit;
4038}
4039unsafe extern "C" {
4040    pub fn edit_multiline() -> *mut Edit;
4041}
4042unsafe extern "C" {
4043    pub fn edit_OnFilter(edit: *mut Edit, listener: *mut Listener);
4044}
4045unsafe extern "C" {
4046    pub fn edit_OnChange(edit: *mut Edit, listener: *mut Listener);
4047}
4048unsafe extern "C" {
4049    pub fn edit_OnFocus(edit: *mut Edit, listener: *mut Listener);
4050}
4051unsafe extern "C" {
4052    pub fn edit_min_width(edit: *mut Edit, width: real32_t);
4053}
4054unsafe extern "C" {
4055    pub fn edit_min_height(edit: *mut Edit, height: real32_t);
4056}
4057unsafe extern "C" {
4058    pub fn edit_text(edit: *mut Edit, text: *const char_t);
4059}
4060unsafe extern "C" {
4061    pub fn edit_font(edit: *mut Edit, font: *const Font);
4062}
4063unsafe extern "C" {
4064    pub fn edit_align(edit: *mut Edit, align: align_t);
4065}
4066unsafe extern "C" {
4067    pub fn edit_passmode(edit: *mut Edit, passmode: bool_t);
4068}
4069unsafe extern "C" {
4070    pub fn edit_editable(edit: *mut Edit, is_editable: bool_t);
4071}
4072unsafe extern "C" {
4073    pub fn edit_autoselect(edit: *mut Edit, autoselect: bool_t);
4074}
4075unsafe extern "C" {
4076    pub fn edit_select(edit: *mut Edit, start: i32, end: i32);
4077}
4078unsafe extern "C" {
4079    pub fn edit_tooltip(edit: *mut Edit, text: *const char_t);
4080}
4081unsafe extern "C" {
4082    pub fn edit_color(edit: *mut Edit, color: color_t);
4083}
4084unsafe extern "C" {
4085    pub fn edit_color_focus(edit: *mut Edit, color: color_t);
4086}
4087unsafe extern "C" {
4088    pub fn edit_bgcolor(edit: *mut Edit, color: color_t);
4089}
4090unsafe extern "C" {
4091    pub fn edit_bgcolor_focus(edit: *mut Edit, color: color_t);
4092}
4093unsafe extern "C" {
4094    pub fn edit_phtext(edit: *mut Edit, text: *const char_t);
4095}
4096unsafe extern "C" {
4097    pub fn edit_phcolor(edit: *mut Edit, color: color_t);
4098}
4099unsafe extern "C" {
4100    pub fn edit_phstyle(edit: *mut Edit, fstyle: u32);
4101}
4102unsafe extern "C" {
4103    pub fn edit_vpadding(edit: *mut Edit, padding: real32_t);
4104}
4105unsafe extern "C" {
4106    pub fn edit_get_text(edit: *const Edit) -> *const char_t;
4107}
4108unsafe extern "C" {
4109    pub fn edit_get_height(edit: *const Edit) -> real32_t;
4110}
4111unsafe extern "C" {
4112    pub fn edit_copy(edit: *const Edit);
4113}
4114unsafe extern "C" {
4115    pub fn edit_cut(edit: *mut Edit);
4116}
4117unsafe extern "C" {
4118    pub fn edit_paste(edit: *mut Edit);
4119}
4120unsafe extern "C" {
4121    pub fn globals_device() -> device_t;
4122}
4123unsafe extern "C" {
4124    pub fn globals_resolution(resolution: *mut S2Df);
4125}
4126unsafe extern "C" {
4127    pub fn globals_mouse_position() -> V2Df;
4128}
4129unsafe extern "C" {
4130    pub fn gui_start();
4131}
4132unsafe extern "C" {
4133    pub fn gui_finish();
4134}
4135unsafe extern "C" {
4136    pub fn gui_respack(func_respack: FPtr_respack);
4137}
4138unsafe extern "C" {
4139    pub fn gui_language(lang: *const char_t);
4140}
4141unsafe extern "C" {
4142    pub fn gui_text(id: ResId) -> *const char_t;
4143}
4144unsafe extern "C" {
4145    pub fn gui_image(id: ResId) -> *const Image;
4146}
4147unsafe extern "C" {
4148    pub fn gui_file(id: ResId, size: *mut u32) -> *const byte_t;
4149}
4150unsafe extern "C" {
4151    pub fn gui_dark_mode() -> bool_t;
4152}
4153unsafe extern "C" {
4154    pub fn gui_alt_color(light_color: color_t, dark_color: color_t) -> color_t;
4155}
4156unsafe extern "C" {
4157    pub fn gui_label_color() -> color_t;
4158}
4159unsafe extern "C" {
4160    pub fn gui_view_color() -> color_t;
4161}
4162unsafe extern "C" {
4163    pub fn gui_line_color() -> color_t;
4164}
4165unsafe extern "C" {
4166    pub fn gui_link_color() -> color_t;
4167}
4168unsafe extern "C" {
4169    pub fn gui_border_color() -> color_t;
4170}
4171unsafe extern "C" {
4172    pub fn gui_resolution() -> S2Df;
4173}
4174unsafe extern "C" {
4175    pub fn gui_mouse_pos() -> V2Df;
4176}
4177unsafe extern "C" {
4178    pub fn gui_update();
4179}
4180unsafe extern "C" {
4181    pub fn gui_OnThemeChanged(listener: *mut Listener);
4182}
4183unsafe extern "C" {
4184    pub fn gui_update_transitions(prtime: real64_t, crtime: real64_t);
4185}
4186unsafe extern "C" {
4187    pub fn gui_OnNotification(listener: *mut Listener);
4188}
4189unsafe extern "C" {
4190    pub fn gui_OnIdle(listener: *mut Listener);
4191}
4192unsafe extern "C" {
4193    pub fn gui_info_window(
4194        fatal: bool_t,
4195        msg: *const char_t,
4196        caption: *const char_t,
4197        detail: *const char_t,
4198        file: *const char_t,
4199        line: u32,
4200        buttons: *const ArrPtString,
4201        defindex: u32,
4202    ) -> u32;
4203}
4204unsafe extern "C" {
4205    pub fn evbind_object_imp(e: *mut Event, type_: *const char_t) -> *mut ::libc::c_void;
4206}
4207unsafe extern "C" {
4208    pub fn evbind_modify_imp(
4209        e: *mut Event,
4210        type_: *const char_t,
4211        size: u16,
4212        mname: *const char_t,
4213        mtype: *const char_t,
4214        moffset: u16,
4215        msize: u16,
4216    ) -> bool_t;
4217}
4218unsafe extern "C" {
4219    pub fn guicontrol_label(control: *mut GuiControl) -> *mut Label;
4220}
4221unsafe extern "C" {
4222    pub fn guicontrol_button(control: *mut GuiControl) -> *mut Button;
4223}
4224unsafe extern "C" {
4225    pub fn guicontrol_popup(control: *mut GuiControl) -> *mut PopUp;
4226}
4227unsafe extern "C" {
4228    pub fn guicontrol_edit(control: *mut GuiControl) -> *mut Edit;
4229}
4230unsafe extern "C" {
4231    pub fn guicontrol_combo(control: *mut GuiControl) -> *mut Combo;
4232}
4233unsafe extern "C" {
4234    pub fn guicontrol_listbox(control: *mut GuiControl) -> *mut ListBox;
4235}
4236unsafe extern "C" {
4237    pub fn guicontrol_updown(control: *mut GuiControl) -> *mut UpDown;
4238}
4239unsafe extern "C" {
4240    pub fn guicontrol_slider(control: *mut GuiControl) -> *mut Slider;
4241}
4242unsafe extern "C" {
4243    pub fn guicontrol_progress(control: *mut GuiControl) -> *mut Progress;
4244}
4245unsafe extern "C" {
4246    pub fn guicontrol_view(control: *mut GuiControl) -> *mut View;
4247}
4248unsafe extern "C" {
4249    pub fn guicontrol_textview(control: *mut GuiControl) -> *mut TextView;
4250}
4251unsafe extern "C" {
4252    pub fn guicontrol_webview(control: *mut GuiControl) -> *mut WebView;
4253}
4254unsafe extern "C" {
4255    pub fn guicontrol_imageview(control: *mut GuiControl) -> *mut ImageView;
4256}
4257unsafe extern "C" {
4258    pub fn guicontrol_tableview(control: *mut GuiControl) -> *mut TableView;
4259}
4260unsafe extern "C" {
4261    pub fn guicontrol_splitview(control: *mut GuiControl) -> *mut SplitView;
4262}
4263unsafe extern "C" {
4264    pub fn guicontrol_panel(control: *mut GuiControl) -> *mut Panel;
4265}
4266unsafe extern "C" {
4267    pub fn guicontrol_tag(control: *mut GuiControl, tag: u32);
4268}
4269unsafe extern "C" {
4270    pub fn guicontrol_get_tag(control: *const GuiControl) -> u32;
4271}
4272unsafe extern "C" {
4273    pub fn imageview_create() -> *mut ImageView;
4274}
4275unsafe extern "C" {
4276    pub fn imageview_size(view: *mut ImageView, size: S2Df);
4277}
4278unsafe extern "C" {
4279    pub fn imageview_scale(view: *mut ImageView, scale: gui_scale_t);
4280}
4281unsafe extern "C" {
4282    pub fn imageview_image(view: *mut ImageView, image: *const Image);
4283}
4284unsafe extern "C" {
4285    pub fn imageview_OnClick(view: *mut ImageView, listener: *mut Listener);
4286}
4287unsafe extern "C" {
4288    pub fn imageview_OnOverDraw(view: *mut ImageView, listener: *mut Listener);
4289}
4290unsafe extern "C" {
4291    pub fn label_create() -> *mut Label;
4292}
4293unsafe extern "C" {
4294    pub fn label_OnClick(label: *mut Label, listener: *mut Listener);
4295}
4296unsafe extern "C" {
4297    pub fn label_min_width(label: *mut Label, width: real32_t);
4298}
4299unsafe extern "C" {
4300    pub fn label_text(label: *mut Label, text: *const char_t);
4301}
4302unsafe extern "C" {
4303    pub fn label_size_text(label: *mut Label, text: *const char_t);
4304}
4305unsafe extern "C" {
4306    pub fn label_font(label: *mut Label, font: *const Font);
4307}
4308unsafe extern "C" {
4309    pub fn label_get_font(label: *const Label) -> *const Font;
4310}
4311unsafe extern "C" {
4312    pub fn label_style_over(label: *mut Label, fstyle: u32);
4313}
4314unsafe extern "C" {
4315    pub fn label_multiline(label: *mut Label, multiline: bool_t);
4316}
4317unsafe extern "C" {
4318    pub fn label_align(label: *mut Label, align: align_t);
4319}
4320unsafe extern "C" {
4321    pub fn label_color(label: *mut Label, color: color_t);
4322}
4323unsafe extern "C" {
4324    pub fn label_color_over(label: *mut Label, color: color_t);
4325}
4326unsafe extern "C" {
4327    pub fn label_bgcolor(label: *mut Label, color: color_t);
4328}
4329unsafe extern "C" {
4330    pub fn label_bgcolor_over(label: *mut Label, color: color_t);
4331}
4332unsafe extern "C" {
4333    pub fn layout_create(ncols: u32, nrows: u32) -> *mut Layout;
4334}
4335unsafe extern "C" {
4336    pub fn layout_cell(layout: *mut Layout, col: u32, row: u32) -> *mut Cell;
4337}
4338unsafe extern "C" {
4339    pub fn layout_control(layout: *mut Layout, col: u32, row: u32) -> *mut GuiControl;
4340}
4341unsafe extern "C" {
4342    pub fn layout_label(layout: *mut Layout, label: *mut Label, col: u32, row: u32);
4343}
4344unsafe extern "C" {
4345    pub fn layout_button(layout: *mut Layout, button: *mut Button, col: u32, row: u32);
4346}
4347unsafe extern "C" {
4348    pub fn layout_popup(layout: *mut Layout, popup: *mut PopUp, col: u32, row: u32);
4349}
4350unsafe extern "C" {
4351    pub fn layout_edit(layout: *mut Layout, edit: *mut Edit, col: u32, row: u32);
4352}
4353unsafe extern "C" {
4354    pub fn layout_combo(layout: *mut Layout, combo: *mut Combo, col: u32, row: u32);
4355}
4356unsafe extern "C" {
4357    pub fn layout_listbox(layout: *mut Layout, list: *mut ListBox, col: u32, row: u32);
4358}
4359unsafe extern "C" {
4360    pub fn layout_updown(layout: *mut Layout, updown: *mut UpDown, col: u32, row: u32);
4361}
4362unsafe extern "C" {
4363    pub fn layout_slider(layout: *mut Layout, slider: *mut Slider, col: u32, row: u32);
4364}
4365unsafe extern "C" {
4366    pub fn layout_progress(layout: *mut Layout, progress: *mut Progress, col: u32, row: u32);
4367}
4368unsafe extern "C" {
4369    pub fn layout_view(layout: *mut Layout, view: *mut View, col: u32, row: u32);
4370}
4371unsafe extern "C" {
4372    pub fn layout_textview(layout: *mut Layout, view: *mut TextView, col: u32, row: u32);
4373}
4374unsafe extern "C" {
4375    pub fn layout_webview(layout: *mut Layout, view: *mut WebView, col: u32, row: u32);
4376}
4377unsafe extern "C" {
4378    pub fn layout_imageview(layout: *mut Layout, view: *mut ImageView, col: u32, row: u32);
4379}
4380unsafe extern "C" {
4381    pub fn layout_tableview(layout: *mut Layout, view: *mut TableView, col: u32, row: u32);
4382}
4383unsafe extern "C" {
4384    pub fn layout_splitview(layout: *mut Layout, view: *mut SplitView, col: u32, row: u32);
4385}
4386unsafe extern "C" {
4387    pub fn layout_panel(layout: *mut Layout, panel: *mut Panel, col: u32, row: u32);
4388}
4389unsafe extern "C" {
4390    pub fn layout_panel_replace(layout: *mut Layout, panel: *mut Panel, col: u32, row: u32);
4391}
4392unsafe extern "C" {
4393    pub fn layout_layout(layout: *mut Layout, sublayout: *mut Layout, col: u32, row: u32);
4394}
4395unsafe extern "C" {
4396    pub fn layout_get_label(layout: *mut Layout, col: u32, row: u32) -> *mut Label;
4397}
4398unsafe extern "C" {
4399    pub fn layout_get_button(layout: *mut Layout, col: u32, row: u32) -> *mut Button;
4400}
4401unsafe extern "C" {
4402    pub fn layout_get_popup(layout: *mut Layout, col: u32, row: u32) -> *mut PopUp;
4403}
4404unsafe extern "C" {
4405    pub fn layout_get_edit(layout: *mut Layout, col: u32, row: u32) -> *mut Edit;
4406}
4407unsafe extern "C" {
4408    pub fn layout_get_combo(layout: *mut Layout, col: u32, row: u32) -> *mut Combo;
4409}
4410unsafe extern "C" {
4411    pub fn layout_get_listbox(layout: *mut Layout, col: u32, row: u32) -> *mut ListBox;
4412}
4413unsafe extern "C" {
4414    pub fn layout_get_updown(layout: *mut Layout, col: u32, row: u32) -> *mut UpDown;
4415}
4416unsafe extern "C" {
4417    pub fn layout_get_slider(layout: *mut Layout, col: u32, row: u32) -> *mut Slider;
4418}
4419unsafe extern "C" {
4420    pub fn layout_get_progress(layout: *mut Layout, col: u32, row: u32) -> *mut Progress;
4421}
4422unsafe extern "C" {
4423    pub fn layout_get_view(layout: *mut Layout, col: u32, row: u32) -> *mut View;
4424}
4425unsafe extern "C" {
4426    pub fn layout_get_textview(layout: *mut Layout, col: u32, row: u32) -> *mut TextView;
4427}
4428unsafe extern "C" {
4429    pub fn layout_get_webview(layout: *mut Layout, col: u32, row: u32) -> *mut WebView;
4430}
4431unsafe extern "C" {
4432    pub fn layout_get_imageview(layout: *mut Layout, col: u32, row: u32) -> *mut ImageView;
4433}
4434unsafe extern "C" {
4435    pub fn layout_get_tableview(layout: *mut Layout, col: u32, row: u32) -> *mut TableView;
4436}
4437unsafe extern "C" {
4438    pub fn layout_get_splitview(layout: *mut Layout, col: u32, row: u32) -> *mut SplitView;
4439}
4440unsafe extern "C" {
4441    pub fn layout_get_panel(layout: *mut Layout, col: u32, row: u32) -> *mut Panel;
4442}
4443unsafe extern "C" {
4444    pub fn layout_get_layout(layout: *mut Layout, col: u32, row: u32) -> *mut Layout;
4445}
4446unsafe extern "C" {
4447    pub fn layout_ncols(layout: *const Layout) -> u32;
4448}
4449unsafe extern "C" {
4450    pub fn layout_nrows(layout: *const Layout) -> u32;
4451}
4452unsafe extern "C" {
4453    pub fn layout_insert_col(layout: *mut Layout, col: u32);
4454}
4455unsafe extern "C" {
4456    pub fn layout_insert_row(layout: *mut Layout, row: u32);
4457}
4458unsafe extern "C" {
4459    pub fn layout_remove_col(layout: *mut Layout, col: u32);
4460}
4461unsafe extern "C" {
4462    pub fn layout_remove_row(layout: *mut Layout, row: u32);
4463}
4464unsafe extern "C" {
4465    pub fn layout_taborder(layout: *mut Layout, order: gui_orient_t);
4466}
4467unsafe extern "C" {
4468    pub fn layout_tabstop(layout: *mut Layout, col: u32, row: u32, tabstop: bool_t);
4469}
4470unsafe extern "C" {
4471    pub fn layout_hsize(layout: *mut Layout, col: u32, width: real32_t);
4472}
4473unsafe extern "C" {
4474    pub fn layout_vsize(layout: *mut Layout, row: u32, height: real32_t);
4475}
4476unsafe extern "C" {
4477    pub fn layout_hmargin(layout: *mut Layout, col: u32, margin: real32_t);
4478}
4479unsafe extern "C" {
4480    pub fn layout_vmargin(layout: *mut Layout, row: u32, margin: real32_t);
4481}
4482unsafe extern "C" {
4483    pub fn layout_hexpand(layout: *mut Layout, col: u32);
4484}
4485unsafe extern "C" {
4486    pub fn layout_hexpand2(layout: *mut Layout, col1: u32, col2: u32, exp: real32_t);
4487}
4488unsafe extern "C" {
4489    pub fn layout_hexpand3(
4490        layout: *mut Layout,
4491        col1: u32,
4492        col2: u32,
4493        col3: u32,
4494        exp1: real32_t,
4495        exp2: real32_t,
4496    );
4497}
4498unsafe extern "C" {
4499    pub fn layout_vexpand(layout: *mut Layout, row: u32);
4500}
4501unsafe extern "C" {
4502    pub fn layout_vexpand2(layout: *mut Layout, row1: u32, row2: u32, exp: real32_t);
4503}
4504unsafe extern "C" {
4505    pub fn layout_vexpand3(
4506        layout: *mut Layout,
4507        row1: u32,
4508        row2: u32,
4509        row3: u32,
4510        exp1: real32_t,
4511        exp2: real32_t,
4512    );
4513}
4514unsafe extern "C" {
4515    pub fn layout_halign(layout: *mut Layout, col: u32, row: u32, align: align_t);
4516}
4517unsafe extern "C" {
4518    pub fn layout_valign(layout: *mut Layout, col: u32, row: u32, align: align_t);
4519}
4520unsafe extern "C" {
4521    pub fn layout_show_col(layout: *mut Layout, col: u32, visible: bool_t);
4522}
4523unsafe extern "C" {
4524    pub fn layout_show_row(layout: *mut Layout, row: u32, visible: bool_t);
4525}
4526unsafe extern "C" {
4527    pub fn layout_margin(layout: *mut Layout, mall: real32_t);
4528}
4529unsafe extern "C" {
4530    pub fn layout_margin2(layout: *mut Layout, mtb: real32_t, mlr: real32_t);
4531}
4532unsafe extern "C" {
4533    pub fn layout_margin4(
4534        layout: *mut Layout,
4535        mt: real32_t,
4536        mr: real32_t,
4537        mb: real32_t,
4538        ml: real32_t,
4539    );
4540}
4541unsafe extern "C" {
4542    pub fn layout_bgcolor(layout: *mut Layout, color: color_t);
4543}
4544unsafe extern "C" {
4545    pub fn layout_skcolor(layout: *mut Layout, color: color_t);
4546}
4547unsafe extern "C" {
4548    pub fn layout_update(layout: *const Layout);
4549}
4550unsafe extern "C" {
4551    pub fn layout_dbind_imp(
4552        layout: *mut Layout,
4553        listener: *mut Listener,
4554        type_: *const char_t,
4555        size: u16,
4556    );
4557}
4558unsafe extern "C" {
4559    pub fn layout_dbind_obj_imp(
4560        layout: *mut Layout,
4561        obj: *mut ::libc::c_void,
4562        type_: *const char_t,
4563    );
4564}
4565unsafe extern "C" {
4566    pub fn layout_dbind_get_obj_imp(
4567        layout: *mut Layout,
4568        type_: *const char_t,
4569    ) -> *mut ::libc::c_void;
4570}
4571unsafe extern "C" {
4572    pub fn layout_dbind_update_imp(
4573        layout: *mut Layout,
4574        type_: *const char_t,
4575        size: u16,
4576        mname: *const char_t,
4577        mtype: *const char_t,
4578        moffset: u16,
4579        msize: u16,
4580    );
4581}
4582unsafe extern "C" {
4583    pub fn listbox_create() -> *mut ListBox;
4584}
4585unsafe extern "C" {
4586    pub fn listbox_OnDown(listbox: *mut ListBox, listener: *mut Listener);
4587}
4588unsafe extern "C" {
4589    pub fn listbox_OnSelect(listbox: *mut ListBox, listener: *mut Listener);
4590}
4591unsafe extern "C" {
4592    pub fn listbox_size(listbox: *mut ListBox, size: S2Df);
4593}
4594unsafe extern "C" {
4595    pub fn listbox_checkbox(listbox: *mut ListBox, show: bool_t);
4596}
4597unsafe extern "C" {
4598    pub fn listbox_multisel(listbox: *mut ListBox, multisel: bool_t);
4599}
4600unsafe extern "C" {
4601    pub fn listbox_add_elem(listbox: *mut ListBox, text: *const char_t, image: *const Image);
4602}
4603unsafe extern "C" {
4604    pub fn listbox_set_elem(
4605        listbox: *mut ListBox,
4606        index: u32,
4607        text: *const char_t,
4608        image: *const Image,
4609    );
4610}
4611unsafe extern "C" {
4612    pub fn listbox_del_elem(listbox: *mut ListBox, index: u32);
4613}
4614unsafe extern "C" {
4615    pub fn listbox_font(listbox: *mut ListBox, font: *const Font);
4616}
4617unsafe extern "C" {
4618    pub fn listbox_clear(listbox: *mut ListBox);
4619}
4620unsafe extern "C" {
4621    pub fn listbox_color(listbox: *mut ListBox, index: u32, color: color_t);
4622}
4623unsafe extern "C" {
4624    pub fn listbox_select(listbox: *mut ListBox, index: u32, select: bool_t);
4625}
4626unsafe extern "C" {
4627    pub fn listbox_check(listbox: *mut ListBox, index: u32, check: bool_t);
4628}
4629unsafe extern "C" {
4630    pub fn listbox_count(listbox: *const ListBox) -> u32;
4631}
4632unsafe extern "C" {
4633    pub fn listbox_text(listbox: *const ListBox, index: u32) -> *const char_t;
4634}
4635unsafe extern "C" {
4636    pub fn listbox_selected(listbox: *const ListBox, index: u32) -> bool_t;
4637}
4638unsafe extern "C" {
4639    pub fn listbox_checked(listbox: *const ListBox, index: u32) -> bool_t;
4640}
4641unsafe extern "C" {
4642    pub fn listbox_get_selected(listbox: *const ListBox) -> u32;
4643}
4644unsafe extern "C" {
4645    pub fn listbox_get_row_height(listbox: *const ListBox) -> real32_t;
4646}
4647unsafe extern "C" {
4648    pub fn menu_create() -> *mut Menu;
4649}
4650unsafe extern "C" {
4651    pub fn menu_destroy(menu: *mut *mut Menu);
4652}
4653unsafe extern "C" {
4654    pub fn menu_add_item(menu: *mut Menu, item: *mut MenuItem);
4655}
4656unsafe extern "C" {
4657    pub fn menu_ins_item(menu: *mut Menu, pos: u32, item: *mut MenuItem);
4658}
4659unsafe extern "C" {
4660    pub fn menu_del_item(menu: *mut Menu, pos: u32);
4661}
4662unsafe extern "C" {
4663    pub fn menu_launch(menu: *mut Menu, window: *mut Window, position: V2Df);
4664}
4665unsafe extern "C" {
4666    pub fn menu_off_items(menu: *mut Menu);
4667}
4668unsafe extern "C" {
4669    pub fn menu_count(menu: *const Menu) -> u32;
4670}
4671unsafe extern "C" {
4672    pub fn menu_get_item(menu: *mut Menu, index: u32) -> *mut MenuItem;
4673}
4674unsafe extern "C" {
4675    pub fn menu_get_citem(menu: *const Menu, index: u32) -> *const MenuItem;
4676}
4677unsafe extern "C" {
4678    pub fn menu_is_menubar(menu: *const Menu) -> bool_t;
4679}
4680unsafe extern "C" {
4681    pub fn menu_imp(menu: *const Menu) -> *mut ::libc::c_void;
4682}
4683unsafe extern "C" {
4684    pub fn menuitem_create() -> *mut MenuItem;
4685}
4686unsafe extern "C" {
4687    pub fn menuitem_separator() -> *mut MenuItem;
4688}
4689unsafe extern "C" {
4690    pub fn menuitem_OnClick(item: *mut MenuItem, listener: *mut Listener);
4691}
4692unsafe extern "C" {
4693    pub fn menuitem_enabled(item: *mut MenuItem, enabled: bool_t);
4694}
4695unsafe extern "C" {
4696    pub fn menuitem_visible(item: *mut MenuItem, visible: bool_t);
4697}
4698unsafe extern "C" {
4699    pub fn menuitem_state(item: *mut MenuItem, state: gui_state_t);
4700}
4701unsafe extern "C" {
4702    pub fn menuitem_text(item: *mut MenuItem, text: *const char_t);
4703}
4704unsafe extern "C" {
4705    pub fn menuitem_image(item: *mut MenuItem, image: *const Image);
4706}
4707unsafe extern "C" {
4708    pub fn menuitem_key(item: *mut MenuItem, key: vkey_t, modifiers: u32);
4709}
4710unsafe extern "C" {
4711    pub fn menuitem_submenu(item: *mut MenuItem, submenu: *mut *mut Menu);
4712}
4713unsafe extern "C" {
4714    pub fn menuitem_get_text(item: *const MenuItem) -> *const char_t;
4715}
4716unsafe extern "C" {
4717    pub fn menuitem_get_image(item: *const MenuItem) -> *const Image;
4718}
4719unsafe extern "C" {
4720    pub fn menuitem_get_separator(item: *const MenuItem) -> bool_t;
4721}
4722unsafe extern "C" {
4723    pub fn menuitem_get_enabled(item: *const MenuItem) -> bool_t;
4724}
4725unsafe extern "C" {
4726    pub fn menuitem_get_visible(item: *const MenuItem) -> bool_t;
4727}
4728unsafe extern "C" {
4729    pub fn menuitem_get_state(item: *const MenuItem) -> gui_state_t;
4730}
4731unsafe extern "C" {
4732    pub fn menuitem_get_submenu(item: *const MenuItem) -> *mut Menu;
4733}
4734unsafe extern "C" {
4735    pub fn panel_create() -> *mut Panel;
4736}
4737unsafe extern "C" {
4738    pub fn panel_scroll(hscroll: bool_t, vscroll: bool_t) -> *mut Panel;
4739}
4740unsafe extern "C" {
4741    pub fn panel_custom(hscroll: bool_t, vscroll: bool_t, border: bool_t) -> *mut Panel;
4742}
4743unsafe extern "C" {
4744    pub fn panel_data_imp(
4745        panel: *mut Panel,
4746        data: *mut *mut ::libc::c_void,
4747        func_destroy_data: FPtr_destroy,
4748    );
4749}
4750unsafe extern "C" {
4751    pub fn panel_get_data_imp(panel: *const Panel) -> *mut ::libc::c_void;
4752}
4753unsafe extern "C" {
4754    pub fn panel_size(panel: *mut Panel, size: S2Df);
4755}
4756unsafe extern "C" {
4757    pub fn panel_layout(panel: *mut Panel, layout: *mut Layout) -> u32;
4758}
4759unsafe extern "C" {
4760    pub fn panel_get_layout(panel: *mut Panel, index: u32) -> *mut Layout;
4761}
4762unsafe extern "C" {
4763    pub fn panel_visible_layout(panel: *mut Panel, index: u32);
4764}
4765unsafe extern "C" {
4766    pub fn panel_update(panel: *mut Panel);
4767}
4768unsafe extern "C" {
4769    pub fn panel_scroll_width(panel: *const Panel) -> real32_t;
4770}
4771unsafe extern "C" {
4772    pub fn panel_scroll_height(panel: *const Panel) -> real32_t;
4773}
4774unsafe extern "C" {
4775    pub fn popup_create() -> *mut PopUp;
4776}
4777unsafe extern "C" {
4778    pub fn popup_OnSelect(popup: *mut PopUp, listener: *mut Listener);
4779}
4780unsafe extern "C" {
4781    pub fn popup_tooltip(popup: *mut PopUp, text: *const char_t);
4782}
4783unsafe extern "C" {
4784    pub fn popup_add_elem(popup: *mut PopUp, text: *const char_t, image: *const Image);
4785}
4786unsafe extern "C" {
4787    pub fn popup_set_elem(popup: *mut PopUp, index: u32, text: *const char_t, image: *const Image);
4788}
4789unsafe extern "C" {
4790    pub fn popup_clear(popup: *mut PopUp);
4791}
4792unsafe extern "C" {
4793    pub fn popup_count(popup: *const PopUp) -> u32;
4794}
4795unsafe extern "C" {
4796    pub fn popup_list_height(popup: *mut PopUp, elems: u32);
4797}
4798unsafe extern "C" {
4799    pub fn popup_selected(popup: *mut PopUp, index: u32);
4800}
4801unsafe extern "C" {
4802    pub fn popup_get_selected(popup: *const PopUp) -> u32;
4803}
4804unsafe extern "C" {
4805    pub fn popup_get_text(popup: *const PopUp, index: u32) -> *const char_t;
4806}
4807unsafe extern "C" {
4808    pub fn progress_create() -> *mut Progress;
4809}
4810unsafe extern "C" {
4811    pub fn progress_min_width(progress: *mut Progress, width: real32_t);
4812}
4813unsafe extern "C" {
4814    pub fn progress_undefined(progress: *mut Progress, running: bool_t);
4815}
4816unsafe extern "C" {
4817    pub fn progress_value(progress: *mut Progress, value: real32_t);
4818}
4819unsafe extern "C" {
4820    pub fn slider_create() -> *mut Slider;
4821}
4822unsafe extern "C" {
4823    pub fn slider_vertical() -> *mut Slider;
4824}
4825unsafe extern "C" {
4826    pub fn slider_OnMoved(slider: *mut Slider, listener: *mut Listener);
4827}
4828unsafe extern "C" {
4829    pub fn slider_min_width(slider: *mut Slider, width: real32_t);
4830}
4831unsafe extern "C" {
4832    pub fn slider_tooltip(slider: *mut Slider, text: *const char_t);
4833}
4834unsafe extern "C" {
4835    pub fn slider_steps(slider: *mut Slider, steps: u32);
4836}
4837unsafe extern "C" {
4838    pub fn slider_value(slider: *mut Slider, value: real32_t);
4839}
4840unsafe extern "C" {
4841    pub fn slider_get_value(slider: *const Slider) -> real32_t;
4842}
4843unsafe extern "C" {
4844    pub fn splitview_horizontal() -> *mut SplitView;
4845}
4846unsafe extern "C" {
4847    pub fn splitview_vertical() -> *mut SplitView;
4848}
4849unsafe extern "C" {
4850    pub fn splitview_view(split: *mut SplitView, view: *mut View, tabstop: bool_t);
4851}
4852unsafe extern "C" {
4853    pub fn splitview_textview(split: *mut SplitView, view: *mut TextView, tabstop: bool_t);
4854}
4855unsafe extern "C" {
4856    pub fn splitview_webview(split: *mut SplitView, view: *mut WebView, tabstop: bool_t);
4857}
4858unsafe extern "C" {
4859    pub fn splitview_tableview(split: *mut SplitView, view: *mut TableView, tabstop: bool_t);
4860}
4861unsafe extern "C" {
4862    pub fn splitview_splitview(split: *mut SplitView, view: *mut SplitView);
4863}
4864unsafe extern "C" {
4865    pub fn splitview_panel(split: *mut SplitView, panel: *mut Panel);
4866}
4867unsafe extern "C" {
4868    pub fn splitview_pos(split: *mut SplitView, mode: split_mode_t, pos: real32_t);
4869}
4870unsafe extern "C" {
4871    pub fn splitview_get_pos(split: *const SplitView, mode: split_mode_t) -> real32_t;
4872}
4873unsafe extern "C" {
4874    pub fn splitview_visible0(split: *mut SplitView, visible: bool_t);
4875}
4876unsafe extern "C" {
4877    pub fn splitview_visible1(split: *mut SplitView, visible: bool_t);
4878}
4879unsafe extern "C" {
4880    pub fn splitview_minsize0(split: *mut SplitView, size: real32_t);
4881}
4882unsafe extern "C" {
4883    pub fn splitview_minsize1(split: *mut SplitView, size: real32_t);
4884}
4885unsafe extern "C" {
4886    pub fn tableview_create() -> *mut TableView;
4887}
4888unsafe extern "C" {
4889    pub fn tableview_OnData(view: *mut TableView, listener: *mut Listener);
4890}
4891unsafe extern "C" {
4892    pub fn tableview_OnSelect(view: *mut TableView, listener: *mut Listener);
4893}
4894unsafe extern "C" {
4895    pub fn tableview_OnRowClick(view: *mut TableView, listener: *mut Listener);
4896}
4897unsafe extern "C" {
4898    pub fn tableview_OnHeaderClick(view: *mut TableView, listener: *mut Listener);
4899}
4900unsafe extern "C" {
4901    pub fn tableview_font(view: *mut TableView, font: *const Font);
4902}
4903unsafe extern "C" {
4904    pub fn tableview_size(view: *mut TableView, size: S2Df);
4905}
4906unsafe extern "C" {
4907    pub fn tableview_new_column_text(view: *mut TableView) -> u32;
4908}
4909unsafe extern "C" {
4910    pub fn tableview_column_width(view: *mut TableView, column_id: u32, width: real32_t);
4911}
4912unsafe extern "C" {
4913    pub fn tableview_column_limits(
4914        view: *mut TableView,
4915        column_id: u32,
4916        min: real32_t,
4917        max: real32_t,
4918    );
4919}
4920unsafe extern "C" {
4921    pub fn tableview_column_align(view: *mut TableView, column_id: u32, align: align_t);
4922}
4923unsafe extern "C" {
4924    pub fn tableview_column_resizable(view: *mut TableView, column_id: u32, resizable: bool_t);
4925}
4926unsafe extern "C" {
4927    pub fn tableview_column_freeze(view: *mut TableView, last_column_id: u32);
4928}
4929unsafe extern "C" {
4930    pub fn tableview_header_title(view: *mut TableView, column_id: u32, text: *const char_t);
4931}
4932unsafe extern "C" {
4933    pub fn tableview_header_align(view: *mut TableView, column_id: u32, align: align_t);
4934}
4935unsafe extern "C" {
4936    pub fn tableview_header_indicator(view: *mut TableView, column_id: u32, indicator: u32);
4937}
4938unsafe extern "C" {
4939    pub fn tableview_header_visible(view: *mut TableView, visible: bool_t);
4940}
4941unsafe extern "C" {
4942    pub fn tableview_header_clickable(view: *mut TableView, clickable: bool_t);
4943}
4944unsafe extern "C" {
4945    pub fn tableview_header_resizable(view: *mut TableView, resizable: bool_t);
4946}
4947unsafe extern "C" {
4948    pub fn tableview_header_height(view: *mut TableView, height: real32_t);
4949}
4950unsafe extern "C" {
4951    pub fn tableview_row_height(view: *mut TableView, height: real32_t);
4952}
4953unsafe extern "C" {
4954    pub fn tableview_hkey_scroll(view: *mut TableView, force_column: bool_t, scroll: real32_t);
4955}
4956unsafe extern "C" {
4957    pub fn tableview_multisel(view: *mut TableView, multisel: bool_t, preserve: bool_t);
4958}
4959unsafe extern "C" {
4960    pub fn tableview_grid(view: *mut TableView, hlines: bool_t, vlines: bool_t);
4961}
4962unsafe extern "C" {
4963    pub fn tableview_update(view: *mut TableView);
4964}
4965unsafe extern "C" {
4966    pub fn tableview_select(view: *mut TableView, rows: *const u32, n: u32);
4967}
4968unsafe extern "C" {
4969    pub fn tableview_deselect(view: *mut TableView, rows: *const u32, n: u32);
4970}
4971unsafe extern "C" {
4972    pub fn tableview_deselect_all(view: *mut TableView);
4973}
4974unsafe extern "C" {
4975    pub fn tableview_selected(view: *const TableView) -> *const ArrStuint32_t;
4976}
4977unsafe extern "C" {
4978    pub fn tableview_focus_row(view: *mut TableView, row: u32, align: align_t);
4979}
4980unsafe extern "C" {
4981    pub fn tableview_get_focus_row(view: *const TableView) -> u32;
4982}
4983unsafe extern "C" {
4984    pub fn tableview_scroll_visible(view: *mut TableView, horizontal: bool_t, vertical: bool_t);
4985}
4986unsafe extern "C" {
4987    pub fn textview_create() -> *mut TextView;
4988}
4989unsafe extern "C" {
4990    pub fn textview_OnFilter(view: *mut TextView, listener: *mut Listener);
4991}
4992unsafe extern "C" {
4993    pub fn textview_OnFocus(view: *mut TextView, listener: *mut Listener);
4994}
4995unsafe extern "C" {
4996    pub fn textview_size(view: *mut TextView, size: S2Df);
4997}
4998unsafe extern "C" {
4999    pub fn textview_clear(view: *mut TextView);
5000}
5001unsafe extern "C" {
5002    pub fn textview_printf(view: *mut TextView, format: *const char_t, ...) -> u32;
5003}
5004unsafe extern "C" {
5005    pub fn textview_writef(view: *mut TextView, text: *const char_t);
5006}
5007unsafe extern "C" {
5008    pub fn textview_cpos_printf(view: *mut TextView, format: *const char_t, ...) -> u32;
5009}
5010unsafe extern "C" {
5011    pub fn textview_cpos_writef(view: *mut TextView, text: *const char_t);
5012}
5013unsafe extern "C" {
5014    pub fn textview_rtf(view: *mut TextView, rtf_in: *mut Stream);
5015}
5016unsafe extern "C" {
5017    pub fn textview_units(view: *mut TextView, units: u32);
5018}
5019unsafe extern "C" {
5020    pub fn textview_family(view: *mut TextView, family: *const char_t);
5021}
5022unsafe extern "C" {
5023    pub fn textview_fsize(view: *mut TextView, size: real32_t);
5024}
5025unsafe extern "C" {
5026    pub fn textview_fstyle(view: *mut TextView, fstyle: u32);
5027}
5028unsafe extern "C" {
5029    pub fn textview_color(view: *mut TextView, color: color_t);
5030}
5031unsafe extern "C" {
5032    pub fn textview_bgcolor(view: *mut TextView, color: color_t);
5033}
5034unsafe extern "C" {
5035    pub fn textview_pgcolor(view: *mut TextView, color: color_t);
5036}
5037unsafe extern "C" {
5038    pub fn textview_halign(view: *mut TextView, align: align_t);
5039}
5040unsafe extern "C" {
5041    pub fn textview_lspacing(view: *mut TextView, scale: real32_t);
5042}
5043unsafe extern "C" {
5044    pub fn textview_bfspace(view: *mut TextView, space: real32_t);
5045}
5046unsafe extern "C" {
5047    pub fn textview_afspace(view: *mut TextView, space: real32_t);
5048}
5049unsafe extern "C" {
5050    pub fn textview_apply_all(view: *mut TextView);
5051}
5052unsafe extern "C" {
5053    pub fn textview_apply_select(view: *mut TextView);
5054}
5055unsafe extern "C" {
5056    pub fn textview_scroll_visible(view: *mut TextView, horizontal: bool_t, vertical: bool_t);
5057}
5058unsafe extern "C" {
5059    pub fn textview_editable(view: *mut TextView, is_editable: bool_t);
5060}
5061unsafe extern "C" {
5062    pub fn textview_select(view: *mut TextView, start: i32, end: i32);
5063}
5064unsafe extern "C" {
5065    pub fn textview_show_select(view: *mut TextView, show: bool_t);
5066}
5067unsafe extern "C" {
5068    pub fn textview_del_select(view: *mut TextView);
5069}
5070unsafe extern "C" {
5071    pub fn textview_scroll_caret(view: *mut TextView);
5072}
5073unsafe extern "C" {
5074    pub fn textview_get_text(view: *const TextView) -> *const char_t;
5075}
5076unsafe extern "C" {
5077    pub fn textview_copy(view: *const TextView);
5078}
5079unsafe extern "C" {
5080    pub fn textview_cut(view: *mut TextView);
5081}
5082unsafe extern "C" {
5083    pub fn textview_paste(view: *mut TextView);
5084}
5085unsafe extern "C" {
5086    pub fn textview_wrap(view: *mut TextView, wrap: bool_t);
5087}
5088unsafe extern "C" {
5089    pub fn webview_create() -> *mut WebView;
5090}
5091unsafe extern "C" {
5092    pub fn webview_OnFocus(view: *mut WebView, listener: *mut Listener);
5093}
5094unsafe extern "C" {
5095    pub fn webview_size(view: *mut WebView, size: S2Df);
5096}
5097unsafe extern "C" {
5098    pub fn webview_navigate(view: *mut WebView, url: *const char_t);
5099}
5100unsafe extern "C" {
5101    pub fn webview_back(view: *mut WebView);
5102}
5103unsafe extern "C" {
5104    pub fn webview_forward(view: *mut WebView);
5105}
5106unsafe extern "C" {
5107    pub fn updown_create() -> *mut UpDown;
5108}
5109unsafe extern "C" {
5110    pub fn updown_OnClick(updown: *mut UpDown, listener: *mut Listener);
5111}
5112unsafe extern "C" {
5113    pub fn updown_tooltip(updown: *mut UpDown, text: *const char_t);
5114}
5115unsafe extern "C" {
5116    pub fn view_create() -> *mut View;
5117}
5118unsafe extern "C" {
5119    pub fn view_scroll() -> *mut View;
5120}
5121unsafe extern "C" {
5122    pub fn view_custom(scroll: bool_t, border: bool_t) -> *mut View;
5123}
5124unsafe extern "C" {
5125    pub fn view_data_imp(
5126        view: *mut View,
5127        data: *mut *mut ::libc::c_void,
5128        func_destroy_data: FPtr_destroy,
5129    );
5130}
5131unsafe extern "C" {
5132    pub fn view_get_data_imp(view: *const View) -> *mut ::libc::c_void;
5133}
5134unsafe extern "C" {
5135    pub fn view_size(view: *mut View, size: S2Df);
5136}
5137unsafe extern "C" {
5138    pub fn view_OnDraw(view: *mut View, listener: *mut Listener);
5139}
5140unsafe extern "C" {
5141    pub fn view_OnOverlay(view: *mut View, listener: *mut Listener);
5142}
5143unsafe extern "C" {
5144    pub fn view_OnSize(view: *mut View, listener: *mut Listener);
5145}
5146unsafe extern "C" {
5147    pub fn view_OnEnter(view: *mut View, listener: *mut Listener);
5148}
5149unsafe extern "C" {
5150    pub fn view_OnExit(view: *mut View, listener: *mut Listener);
5151}
5152unsafe extern "C" {
5153    pub fn view_OnMove(view: *mut View, listener: *mut Listener);
5154}
5155unsafe extern "C" {
5156    pub fn view_OnDown(view: *mut View, listener: *mut Listener);
5157}
5158unsafe extern "C" {
5159    pub fn view_OnUp(view: *mut View, listener: *mut Listener);
5160}
5161unsafe extern "C" {
5162    pub fn view_OnClick(view: *mut View, listener: *mut Listener);
5163}
5164unsafe extern "C" {
5165    pub fn view_OnDrag(view: *mut View, listener: *mut Listener);
5166}
5167unsafe extern "C" {
5168    pub fn view_OnWheel(view: *mut View, listener: *mut Listener);
5169}
5170unsafe extern "C" {
5171    pub fn view_OnKeyDown(view: *mut View, listener: *mut Listener);
5172}
5173unsafe extern "C" {
5174    pub fn view_OnKeyUp(view: *mut View, listener: *mut Listener);
5175}
5176unsafe extern "C" {
5177    pub fn view_OnFocus(view: *mut View, listener: *mut Listener);
5178}
5179unsafe extern "C" {
5180    pub fn view_OnResignFocus(view: *mut View, listener: *mut Listener);
5181}
5182unsafe extern "C" {
5183    pub fn view_OnAcceptFocus(view: *mut View, listener: *mut Listener);
5184}
5185unsafe extern "C" {
5186    pub fn view_OnScroll(view: *mut View, listener: *mut Listener);
5187}
5188unsafe extern "C" {
5189    pub fn view_allow_tab(view: *mut View, allow: bool_t);
5190}
5191unsafe extern "C" {
5192    pub fn view_keybuf(view: *mut View, buffer: *mut KeyBuf);
5193}
5194unsafe extern "C" {
5195    pub fn view_get_size(view: *const View, size: *mut S2Df);
5196}
5197unsafe extern "C" {
5198    pub fn view_content_size(view: *mut View, size: S2Df, line: S2Df);
5199}
5200unsafe extern "C" {
5201    pub fn view_scroll_x(view: *mut View, pos: real32_t);
5202}
5203unsafe extern "C" {
5204    pub fn view_scroll_y(view: *mut View, pos: real32_t);
5205}
5206unsafe extern "C" {
5207    pub fn view_scroll_size(view: *const View, width: *mut real32_t, height: *mut real32_t);
5208}
5209unsafe extern "C" {
5210    pub fn view_scroll_visible(view: *mut View, horizontal: bool_t, vertical: bool_t);
5211}
5212unsafe extern "C" {
5213    pub fn view_viewport(view: *const View, pos: *mut V2Df, size: *mut S2Df);
5214}
5215unsafe extern "C" {
5216    pub fn view_point_scale(view: *const View, scale: *mut real32_t);
5217}
5218unsafe extern "C" {
5219    pub fn view_update(view: *mut View);
5220}
5221unsafe extern "C" {
5222    pub fn view_native(view: *mut View) -> *mut ::libc::c_void;
5223}
5224unsafe extern "C" {
5225    pub fn window_create(flags: u32) -> *mut Window;
5226}
5227unsafe extern "C" {
5228    pub fn window_destroy(window: *mut *mut Window);
5229}
5230unsafe extern "C" {
5231    pub fn window_panel(window: *mut Window, panel: *mut Panel);
5232}
5233unsafe extern "C" {
5234    pub fn window_OnClose(window: *mut Window, listener: *mut Listener);
5235}
5236unsafe extern "C" {
5237    pub fn window_OnMoved(window: *mut Window, listener: *mut Listener);
5238}
5239unsafe extern "C" {
5240    pub fn window_OnResize(window: *mut Window, listener: *mut Listener);
5241}
5242unsafe extern "C" {
5243    pub fn window_title(window: *mut Window, text: *const char_t);
5244}
5245unsafe extern "C" {
5246    pub fn window_show(window: *mut Window);
5247}
5248unsafe extern "C" {
5249    pub fn window_hide(window: *mut Window);
5250}
5251unsafe extern "C" {
5252    pub fn window_overlay(window: *mut Window, parent: *mut Window);
5253}
5254unsafe extern "C" {
5255    pub fn window_modal(window: *mut Window, parent: *mut Window) -> u32;
5256}
5257unsafe extern "C" {
5258    pub fn window_stop_modal(window: *mut Window, return_value: u32);
5259}
5260unsafe extern "C" {
5261    pub fn window_is_visible(window: *const Window) -> bool_t;
5262}
5263unsafe extern "C" {
5264    pub fn window_hotkey(window: *mut Window, key: vkey_t, modifiers: u32, listener: *mut Listener);
5265}
5266unsafe extern "C" {
5267    pub fn window_clear_hotkeys(window: *mut Window);
5268}
5269unsafe extern "C" {
5270    pub fn window_cycle_tabstop(window: *mut Window, cycle: bool_t);
5271}
5272unsafe extern "C" {
5273    pub fn window_next_tabstop(window: *mut Window) -> gui_focus_t;
5274}
5275unsafe extern "C" {
5276    pub fn window_previous_tabstop(window: *mut Window) -> gui_focus_t;
5277}
5278unsafe extern "C" {
5279    pub fn window_focus(window: *mut Window, control: *mut GuiControl) -> gui_focus_t;
5280}
5281unsafe extern "C" {
5282    pub fn window_get_focus(window: *mut Window) -> *mut GuiControl;
5283}
5284unsafe extern "C" {
5285    pub fn window_focus_info(window: *const Window, info: *mut FocusInfo);
5286}
5287unsafe extern "C" {
5288    pub fn window_update(window: *mut Window);
5289}
5290unsafe extern "C" {
5291    pub fn window_origin(window: *mut Window, origin: V2Df);
5292}
5293unsafe extern "C" {
5294    pub fn window_size(window: *mut Window, size: S2Df);
5295}
5296unsafe extern "C" {
5297    pub fn window_get_origin(window: *const Window) -> V2Df;
5298}
5299unsafe extern "C" {
5300    pub fn window_get_size(window: *const Window) -> S2Df;
5301}
5302unsafe extern "C" {
5303    pub fn window_get_client_size(window: *const Window) -> S2Df;
5304}
5305unsafe extern "C" {
5306    pub fn window_control_frame(window: *const Window, control: *const GuiControl) -> R2Df;
5307}
5308unsafe extern "C" {
5309    pub fn window_client_to_screen(window: *const Window, point: V2Df) -> V2Df;
5310}
5311unsafe extern "C" {
5312    pub fn window_defbutton(window: *mut Window, button: *mut Button);
5313}
5314unsafe extern "C" {
5315    pub fn window_cursor(
5316        window: *mut Window,
5317        cursor: gui_cursor_t,
5318        image: *const Image,
5319        hot_x: real32_t,
5320        hot_y: real32_t,
5321    );
5322}
5323unsafe extern "C" {
5324    pub fn window_imp(window: *const Window) -> *mut ::libc::c_void;
5325}
5326unsafe extern "C" {
5327    pub fn color_rgb(r: u8, g: u8, b: u8) -> color_t;
5328}
5329unsafe extern "C" {
5330    pub fn color_rgba(r: u8, g: u8, b: u8, a: u8) -> color_t;
5331}
5332unsafe extern "C" {
5333    pub fn color_rgbaf(r: real32_t, g: real32_t, b: real32_t, a: real32_t) -> color_t;
5334}
5335unsafe extern "C" {
5336    pub fn color_hsbf(hue: real32_t, sat: real32_t, bright: real32_t) -> color_t;
5337}
5338unsafe extern "C" {
5339    pub fn color_red(r: u8) -> color_t;
5340}
5341unsafe extern "C" {
5342    pub fn color_green(g: u8) -> color_t;
5343}
5344unsafe extern "C" {
5345    pub fn color_blue(b: u8) -> color_t;
5346}
5347unsafe extern "C" {
5348    pub fn color_gray(l: u8) -> color_t;
5349}
5350unsafe extern "C" {
5351    pub fn color_bgr(bgr: u32) -> color_t;
5352}
5353unsafe extern "C" {
5354    pub fn color_html(html: *const char_t) -> color_t;
5355}
5356unsafe extern "C" {
5357    pub fn color_indexed(index: u16, color: color_t) -> color_t;
5358}
5359unsafe extern "C" {
5360    pub fn color_to_hsbf(
5361        color: color_t,
5362        hue: *mut real32_t,
5363        sat: *mut real32_t,
5364        bright: *mut real32_t,
5365    );
5366}
5367unsafe extern "C" {
5368    pub fn color_to_html(color: color_t, html: *mut char_t, size: u32);
5369}
5370unsafe extern "C" {
5371    pub fn color_get_rgb(color: color_t, r: *mut u8, g: *mut u8, b: *mut u8);
5372}
5373unsafe extern "C" {
5374    pub fn color_get_rgbf(color: color_t, r: *mut real32_t, g: *mut real32_t, b: *mut real32_t);
5375}
5376unsafe extern "C" {
5377    pub fn color_get_rgba(color: color_t, r: *mut u8, g: *mut u8, b: *mut u8, a: *mut u8);
5378}
5379unsafe extern "C" {
5380    pub fn color_get_rgbaf(
5381        color: color_t,
5382        r: *mut real32_t,
5383        g: *mut real32_t,
5384        b: *mut real32_t,
5385        a: *mut real32_t,
5386    );
5387}
5388unsafe extern "C" {
5389    pub fn color_get_alpha(color: color_t) -> u8;
5390}
5391unsafe extern "C" {
5392    pub fn color_set_alpha(color: color_t, alpha: u8) -> color_t;
5393}
5394unsafe extern "C" {
5395    pub static kCOLOR_TRANSPARENT: color_t;
5396}
5397unsafe extern "C" {
5398    pub static kCOLOR_DEFAULT: color_t;
5399}
5400unsafe extern "C" {
5401    pub static kCOLOR_BLACK: color_t;
5402}
5403unsafe extern "C" {
5404    pub static kCOLOR_WHITE: color_t;
5405}
5406unsafe extern "C" {
5407    pub static kCOLOR_RED: color_t;
5408}
5409unsafe extern "C" {
5410    pub static kCOLOR_GREEN: color_t;
5411}
5412unsafe extern "C" {
5413    pub static kCOLOR_BLUE: color_t;
5414}
5415unsafe extern "C" {
5416    pub static kCOLOR_YELLOW: color_t;
5417}
5418unsafe extern "C" {
5419    pub static kCOLOR_CYAN: color_t;
5420}
5421unsafe extern "C" {
5422    pub static kCOLOR_MAGENTA: color_t;
5423}
5424unsafe extern "C" {
5425    pub fn dctx_bitmap(width: u32, height: u32, format: pixformat_t) -> *mut DCtx;
5426}
5427unsafe extern "C" {
5428    pub fn dctx_image(ctx: *mut *mut DCtx) -> *mut Image;
5429}
5430unsafe extern "C" {
5431    pub fn draw_clear(ctx: *mut DCtx, color: color_t);
5432}
5433unsafe extern "C" {
5434    pub fn draw_matrixf(ctx: *mut DCtx, t2d: *const T2Df);
5435}
5436unsafe extern "C" {
5437    pub fn draw_matrixd(ctx: *mut DCtx, t2d: *const T2Dd);
5438}
5439unsafe extern "C" {
5440    pub fn draw_matrix_cartesianf(ctx: *mut DCtx, t2d: *const T2Df);
5441}
5442unsafe extern "C" {
5443    pub fn draw_matrix_cartesiand(ctx: *mut DCtx, t2d: *const T2Dd);
5444}
5445unsafe extern "C" {
5446    pub fn draw_antialias(ctx: *mut DCtx, on: bool_t);
5447}
5448unsafe extern "C" {
5449    pub fn draw_line(ctx: *mut DCtx, x0: real32_t, y0: real32_t, x1: real32_t, y1: real32_t);
5450}
5451unsafe extern "C" {
5452    pub fn draw_polyline(ctx: *mut DCtx, closed: bool_t, points: *const V2Df, n: u32);
5453}
5454unsafe extern "C" {
5455    pub fn draw_arc(
5456        ctx: *mut DCtx,
5457        x: real32_t,
5458        y: real32_t,
5459        radius: real32_t,
5460        start: real32_t,
5461        sweep: real32_t,
5462    );
5463}
5464unsafe extern "C" {
5465    pub fn draw_bezier(
5466        ctx: *mut DCtx,
5467        x0: real32_t,
5468        y0: real32_t,
5469        x1: real32_t,
5470        y1: real32_t,
5471        x2: real32_t,
5472        y2: real32_t,
5473        x3: real32_t,
5474        y3: real32_t,
5475    );
5476}
5477unsafe extern "C" {
5478    pub fn draw_line_color(ctx: *mut DCtx, color: color_t);
5479}
5480unsafe extern "C" {
5481    pub fn draw_line_fill(ctx: *mut DCtx);
5482}
5483unsafe extern "C" {
5484    pub fn draw_line_width(ctx: *mut DCtx, width: real32_t);
5485}
5486unsafe extern "C" {
5487    pub fn draw_line_cap(ctx: *mut DCtx, cap: linecap_t);
5488}
5489unsafe extern "C" {
5490    pub fn draw_line_join(ctx: *mut DCtx, join: linejoin_t);
5491}
5492unsafe extern "C" {
5493    pub fn draw_line_dash(ctx: *mut DCtx, pattern: *const real32_t, n: u32);
5494}
5495unsafe extern "C" {
5496    pub fn draw_rect(
5497        ctx: *mut DCtx,
5498        op: drawop_t,
5499        x: real32_t,
5500        y: real32_t,
5501        width: real32_t,
5502        height: real32_t,
5503    );
5504}
5505unsafe extern "C" {
5506    pub fn draw_rndrect(
5507        ctx: *mut DCtx,
5508        op: drawop_t,
5509        x: real32_t,
5510        y: real32_t,
5511        width: real32_t,
5512        height: real32_t,
5513        radius: real32_t,
5514    );
5515}
5516unsafe extern "C" {
5517    pub fn draw_circle(ctx: *mut DCtx, op: drawop_t, x: real32_t, y: real32_t, radius: real32_t);
5518}
5519unsafe extern "C" {
5520    pub fn draw_ellipse(
5521        ctx: *mut DCtx,
5522        op: drawop_t,
5523        x: real32_t,
5524        y: real32_t,
5525        radx: real32_t,
5526        rady: real32_t,
5527    );
5528}
5529unsafe extern "C" {
5530    pub fn draw_polygon(ctx: *mut DCtx, op: drawop_t, points: *const V2Df, n: u32);
5531}
5532unsafe extern "C" {
5533    pub fn draw_fill_color(ctx: *mut DCtx, color: color_t);
5534}
5535unsafe extern "C" {
5536    pub fn draw_fill_linear(
5537        ctx: *mut DCtx,
5538        color: *const color_t,
5539        stop: *const real32_t,
5540        n: u32,
5541        x0: real32_t,
5542        y0: real32_t,
5543        x1: real32_t,
5544        y1: real32_t,
5545    );
5546}
5547unsafe extern "C" {
5548    pub fn draw_fill_matrix(ctx: *mut DCtx, t2d: *const T2Df);
5549}
5550unsafe extern "C" {
5551    pub fn draw_fill_wrap(ctx: *mut DCtx, wrap: fillwrap_t);
5552}
5553unsafe extern "C" {
5554    pub fn draw_font(ctx: *mut DCtx, font: *const Font);
5555}
5556unsafe extern "C" {
5557    pub fn draw_text_color(ctx: *mut DCtx, color: color_t);
5558}
5559unsafe extern "C" {
5560    pub fn draw_text(ctx: *mut DCtx, text: *const char_t, x: real32_t, y: real32_t);
5561}
5562unsafe extern "C" {
5563    pub fn draw_text_single_line(ctx: *mut DCtx, text: *const char_t, x: real32_t, y: real32_t);
5564}
5565unsafe extern "C" {
5566    pub fn draw_text_path(
5567        ctx: *mut DCtx,
5568        op: drawop_t,
5569        text: *const char_t,
5570        x: real32_t,
5571        y: real32_t,
5572    );
5573}
5574unsafe extern "C" {
5575    pub fn draw_text_width(ctx: *mut DCtx, width: real32_t);
5576}
5577unsafe extern "C" {
5578    pub fn draw_text_trim(ctx: *mut DCtx, ellipsis: ellipsis_t);
5579}
5580unsafe extern "C" {
5581    pub fn draw_text_align(ctx: *mut DCtx, halign: align_t, valign: align_t);
5582}
5583unsafe extern "C" {
5584    pub fn draw_text_halign(ctx: *mut DCtx, halign: align_t);
5585}
5586unsafe extern "C" {
5587    pub fn draw_text_extents(
5588        ctx: *mut DCtx,
5589        text: *const char_t,
5590        refwidth: real32_t,
5591        width: *mut real32_t,
5592        height: *mut real32_t,
5593    );
5594}
5595unsafe extern "C" {
5596    pub fn draw_image(ctx: *mut DCtx, image: *const Image, x: real32_t, y: real32_t);
5597}
5598unsafe extern "C" {
5599    pub fn draw_image_frame(
5600        ctx: *mut DCtx,
5601        image: *const Image,
5602        frame: u32,
5603        x: real32_t,
5604        y: real32_t,
5605    );
5606}
5607unsafe extern "C" {
5608    pub fn draw_image_align(ctx: *mut DCtx, halign: align_t, valign: align_t);
5609}
5610unsafe extern "C" {
5611    pub fn draw2d_start();
5612}
5613unsafe extern "C" {
5614    pub fn draw2d_finish();
5615}
5616unsafe extern "C" {
5617    pub fn draw2d_preferred_monospace(family: *const char_t);
5618}
5619unsafe extern "C" {
5620    pub fn draw_v2df(ctx: *mut DCtx, op: drawop_t, v2d: *const V2Df, radius: real32_t);
5621}
5622unsafe extern "C" {
5623    pub fn draw_v2dd(ctx: *mut DCtx, op: drawop_t, v2d: *const V2Dd, radius: real64_t);
5624}
5625unsafe extern "C" {
5626    pub fn draw_seg2df(ctx: *mut DCtx, seg: *const Seg2Df);
5627}
5628unsafe extern "C" {
5629    pub fn draw_seg2dd(ctx: *mut DCtx, seg: *const Seg2Dd);
5630}
5631unsafe extern "C" {
5632    pub fn draw_r2df(ctx: *mut DCtx, op: drawop_t, rect: *const R2Df);
5633}
5634unsafe extern "C" {
5635    pub fn draw_r2dd(ctx: *mut DCtx, op: drawop_t, rect: *const R2Dd);
5636}
5637unsafe extern "C" {
5638    pub fn draw_cir2df(ctx: *mut DCtx, op: drawop_t, cir: *const Cir2Df);
5639}
5640unsafe extern "C" {
5641    pub fn draw_cir2dd(ctx: *mut DCtx, op: drawop_t, cir: *const Cir2Dd);
5642}
5643unsafe extern "C" {
5644    pub fn draw_box2df(ctx: *mut DCtx, op: drawop_t, box_: *const Box2Df);
5645}
5646unsafe extern "C" {
5647    pub fn draw_box2dd(ctx: *mut DCtx, op: drawop_t, box_: *const Box2Dd);
5648}
5649unsafe extern "C" {
5650    pub fn draw_obb2df(ctx: *mut DCtx, op: drawop_t, obb: *const OBB2Df);
5651}
5652unsafe extern "C" {
5653    pub fn draw_obb2dd(ctx: *mut DCtx, op: drawop_t, obb: *const OBB2Dd);
5654}
5655unsafe extern "C" {
5656    pub fn draw_tri2df(ctx: *mut DCtx, op: drawop_t, tri: *const Tri2Df);
5657}
5658unsafe extern "C" {
5659    pub fn draw_tri2dd(ctx: *mut DCtx, op: drawop_t, tri: *const Tri2Dd);
5660}
5661unsafe extern "C" {
5662    pub fn draw_pol2df(ctx: *mut DCtx, op: drawop_t, pol: *const Pol2Df);
5663}
5664unsafe extern "C" {
5665    pub fn draw_pol2dd(ctx: *mut DCtx, op: drawop_t, pol: *const Pol2Dd);
5666}
5667unsafe extern "C" {
5668    pub fn font_create(family: *const char_t, size: real32_t, style: u32) -> *mut Font;
5669}
5670unsafe extern "C" {
5671    pub fn font_system(size: real32_t, style: u32) -> *mut Font;
5672}
5673unsafe extern "C" {
5674    pub fn font_monospace(size: real32_t, style: u32) -> *mut Font;
5675}
5676unsafe extern "C" {
5677    pub fn font_with_style(font: *const Font, style: u32) -> *mut Font;
5678}
5679unsafe extern "C" {
5680    pub fn font_with_width(font: *const Font, width: real32_t) -> *mut Font;
5681}
5682unsafe extern "C" {
5683    pub fn font_with_xscale(font: *const Font, scale: real32_t) -> *mut Font;
5684}
5685unsafe extern "C" {
5686    pub fn font_copy(font: *const Font) -> *mut Font;
5687}
5688unsafe extern "C" {
5689    pub fn font_destroy(font: *mut *mut Font);
5690}
5691unsafe extern "C" {
5692    pub fn font_equals(font1: *const Font, font2: *const Font) -> bool_t;
5693}
5694unsafe extern "C" {
5695    pub fn font_regular_size() -> real32_t;
5696}
5697unsafe extern "C" {
5698    pub fn font_small_size() -> real32_t;
5699}
5700unsafe extern "C" {
5701    pub fn font_mini_size() -> real32_t;
5702}
5703unsafe extern "C" {
5704    pub fn font_family(font: *const Font) -> *const char_t;
5705}
5706unsafe extern "C" {
5707    pub fn font_size(font: *const Font) -> real32_t;
5708}
5709unsafe extern "C" {
5710    pub fn font_height(font: *const Font) -> real32_t;
5711}
5712unsafe extern "C" {
5713    pub fn font_width(font: *const Font) -> real32_t;
5714}
5715unsafe extern "C" {
5716    pub fn font_xscale(font: *const Font) -> real32_t;
5717}
5718unsafe extern "C" {
5719    pub fn font_ascent(font: *const Font) -> real32_t;
5720}
5721unsafe extern "C" {
5722    pub fn font_descent(font: *const Font) -> real32_t;
5723}
5724unsafe extern "C" {
5725    pub fn font_leading(font: *const Font) -> real32_t;
5726}
5727unsafe extern "C" {
5728    pub fn font_is_monospace(font: *const Font) -> bool_t;
5729}
5730unsafe extern "C" {
5731    pub fn font_style(font: *const Font) -> u32;
5732}
5733unsafe extern "C" {
5734    pub fn font_extents(
5735        font: *const Font,
5736        text: *const char_t,
5737        refwidth: real32_t,
5738        width: *mut real32_t,
5739        height: *mut real32_t,
5740    );
5741}
5742unsafe extern "C" {
5743    pub fn font_exists_family(family: *const char_t) -> bool_t;
5744}
5745unsafe extern "C" {
5746    pub fn font_installed_families() -> *mut ArrPtString;
5747}
5748unsafe extern "C" {
5749    pub fn font_installed_monospace() -> *mut ArrPtString;
5750}
5751unsafe extern "C" {
5752    pub fn font_native(font: *const Font) -> *const ::libc::c_void;
5753}
5754unsafe extern "C" {
5755    pub fn image_from_pixels(
5756        width: u32,
5757        height: u32,
5758        format: pixformat_t,
5759        data: *const byte_t,
5760        palette: *const color_t,
5761        palsize: u32,
5762    ) -> *mut Image;
5763}
5764unsafe extern "C" {
5765    pub fn image_from_pixbuf(pixbuf: *const Pixbuf, palette: *const Palette) -> *mut Image;
5766}
5767unsafe extern "C" {
5768    pub fn image_from_file(pathname: *const char_t, error: *mut ferror_t) -> *mut Image;
5769}
5770unsafe extern "C" {
5771    pub fn image_from_data(data: *const byte_t, size: u32) -> *mut Image;
5772}
5773unsafe extern "C" {
5774    pub fn image_from_resource(pack: *const ResPack, id: ResId) -> *const Image;
5775}
5776unsafe extern "C" {
5777    pub fn image_copy(image: *const Image) -> *mut Image;
5778}
5779unsafe extern "C" {
5780    pub fn image_trim(image: *const Image, x: u32, y: u32, width: u32, height: u32) -> *mut Image;
5781}
5782unsafe extern "C" {
5783    pub fn image_rotate(
5784        image: *const Image,
5785        angle: real32_t,
5786        nsize: bool_t,
5787        background: color_t,
5788        t2d: *mut T2Df,
5789    ) -> *mut Image;
5790}
5791unsafe extern "C" {
5792    pub fn image_scale(image: *const Image, nwidth: u32, nheight: u32) -> *mut Image;
5793}
5794unsafe extern "C" {
5795    pub fn image_read(stm: *mut Stream) -> *mut Image;
5796}
5797unsafe extern "C" {
5798    pub fn image_to_file(
5799        image: *const Image,
5800        pathname: *const char_t,
5801        error: *mut ferror_t,
5802    ) -> bool_t;
5803}
5804unsafe extern "C" {
5805    pub fn image_write(stream: *mut Stream, image: *const Image);
5806}
5807unsafe extern "C" {
5808    pub fn image_destroy(image: *mut *mut Image);
5809}
5810unsafe extern "C" {
5811    pub fn image_format(image: *const Image) -> pixformat_t;
5812}
5813unsafe extern "C" {
5814    pub fn image_width(image: *const Image) -> u32;
5815}
5816unsafe extern "C" {
5817    pub fn image_height(image: *const Image) -> u32;
5818}
5819unsafe extern "C" {
5820    pub fn image_pixels(image: *const Image, format: pixformat_t) -> *mut Pixbuf;
5821}
5822unsafe extern "C" {
5823    pub fn image_codec(image: *const Image, codec: codec_t) -> bool_t;
5824}
5825unsafe extern "C" {
5826    pub fn image_get_codec(image: *const Image) -> codec_t;
5827}
5828unsafe extern "C" {
5829    pub fn image_num_frames(image: *const Image) -> u32;
5830}
5831unsafe extern "C" {
5832    pub fn image_frame_length(image: *const Image, findex: u32) -> real32_t;
5833}
5834unsafe extern "C" {
5835    pub fn image_data_imp(
5836        image: *mut Image,
5837        data: *mut *mut ::libc::c_void,
5838        func_destroy_data: FPtr_destroy,
5839    );
5840}
5841unsafe extern "C" {
5842    pub fn image_get_data_imp(image: *const Image) -> *mut ::libc::c_void;
5843}
5844unsafe extern "C" {
5845    pub fn image_native(image: *const Image) -> *const ::libc::c_void;
5846}
5847unsafe extern "C" {
5848    pub fn palette_create(size: u32) -> *mut Palette;
5849}
5850unsafe extern "C" {
5851    pub fn palette_cga2(mode: bool_t, intense: bool_t) -> *mut Palette;
5852}
5853unsafe extern "C" {
5854    pub fn palette_ega4() -> *mut Palette;
5855}
5856unsafe extern "C" {
5857    pub fn palette_rgb8() -> *mut Palette;
5858}
5859unsafe extern "C" {
5860    pub fn palette_gray1() -> *mut Palette;
5861}
5862unsafe extern "C" {
5863    pub fn palette_gray2() -> *mut Palette;
5864}
5865unsafe extern "C" {
5866    pub fn palette_gray4() -> *mut Palette;
5867}
5868unsafe extern "C" {
5869    pub fn palette_gray8() -> *mut Palette;
5870}
5871unsafe extern "C" {
5872    pub fn palette_binary(zero: color_t, one: color_t) -> *mut Palette;
5873}
5874unsafe extern "C" {
5875    pub fn palette_destroy(palette: *mut *mut Palette);
5876}
5877unsafe extern "C" {
5878    pub fn palette_size(palette: *const Palette) -> u32;
5879}
5880unsafe extern "C" {
5881    pub fn palette_colors(palette: *mut Palette) -> *mut color_t;
5882}
5883unsafe extern "C" {
5884    pub fn palette_ccolors(palette: *const Palette) -> *const color_t;
5885}
5886unsafe extern "C" {
5887    pub fn pixbuf_create(width: u32, height: u32, format: pixformat_t) -> *mut Pixbuf;
5888}
5889unsafe extern "C" {
5890    pub fn pixbuf_copy(pixbuf: *const Pixbuf) -> *mut Pixbuf;
5891}
5892unsafe extern "C" {
5893    pub fn pixbuf_trim(
5894        pixbuf: *const Pixbuf,
5895        x: u32,
5896        y: u32,
5897        width: u32,
5898        height: u32,
5899    ) -> *mut Pixbuf;
5900}
5901unsafe extern "C" {
5902    pub fn pixbuf_convert(
5903        pixbuf: *const Pixbuf,
5904        palette: *const Palette,
5905        oformat: pixformat_t,
5906    ) -> *mut Pixbuf;
5907}
5908unsafe extern "C" {
5909    pub fn pixbuf_destroy(pixbuf: *mut *mut Pixbuf);
5910}
5911unsafe extern "C" {
5912    pub fn pixbuf_format(pixbuf: *const Pixbuf) -> pixformat_t;
5913}
5914unsafe extern "C" {
5915    pub fn pixbuf_width(pixbuf: *const Pixbuf) -> u32;
5916}
5917unsafe extern "C" {
5918    pub fn pixbuf_height(pixbuf: *const Pixbuf) -> u32;
5919}
5920unsafe extern "C" {
5921    pub fn pixbuf_size(pixbuf: *const Pixbuf) -> u32;
5922}
5923unsafe extern "C" {
5924    pub fn pixbuf_dsize(pixbuf: *const Pixbuf) -> u32;
5925}
5926unsafe extern "C" {
5927    pub fn pixbuf_cdata(pixbuf: *const Pixbuf) -> *const byte_t;
5928}
5929unsafe extern "C" {
5930    pub fn pixbuf_data(pixbuf: *mut Pixbuf) -> *mut byte_t;
5931}
5932unsafe extern "C" {
5933    pub fn pixbuf_format_bpp(format: pixformat_t) -> u32;
5934}
5935unsafe extern "C" {
5936    pub fn pixbuf_get(pixbuf: *const Pixbuf, x: u32, y: u32) -> u32;
5937}
5938unsafe extern "C" {
5939    pub fn pixbuf_set(pixbuf: *mut Pixbuf, x: u32, y: u32, value: u32);
5940}
5941unsafe extern "C" {
5942    pub fn box2df(minX: real32_t, minY: real32_t, maxX: real32_t, maxY: real32_t) -> Box2Df;
5943}
5944unsafe extern "C" {
5945    pub fn box2dd(minX: real64_t, minY: real64_t, maxX: real64_t, maxY: real64_t) -> Box2Dd;
5946}
5947unsafe extern "C" {
5948    pub fn box2d_from_pointsf(p: *const V2Df, n: u32) -> Box2Df;
5949}
5950unsafe extern "C" {
5951    pub fn box2d_from_pointsd(p: *const V2Dd, n: u32) -> Box2Dd;
5952}
5953unsafe extern "C" {
5954    pub fn box2d_centerf(box_: *const Box2Df) -> V2Df;
5955}
5956unsafe extern "C" {
5957    pub fn box2d_centerd(box_: *const Box2Dd) -> V2Dd;
5958}
5959unsafe extern "C" {
5960    pub fn box2d_addf(box_: *mut Box2Df, p: *const V2Df);
5961}
5962unsafe extern "C" {
5963    pub fn box2d_addd(box_: *mut Box2Dd, p: *const V2Dd);
5964}
5965unsafe extern "C" {
5966    pub fn box2d_addnf(box_: *mut Box2Df, p: *const V2Df, n: u32);
5967}
5968unsafe extern "C" {
5969    pub fn box2d_addnd(box_: *mut Box2Dd, p: *const V2Dd, n: u32);
5970}
5971unsafe extern "C" {
5972    pub fn box2d_add_circlef(box_: *mut Box2Df, cir: *const Cir2Df);
5973}
5974unsafe extern "C" {
5975    pub fn box2d_add_circled(box_: *mut Box2Dd, cir: *const Cir2Dd);
5976}
5977unsafe extern "C" {
5978    pub fn box2d_mergef(dest: *mut Box2Df, src: *const Box2Df);
5979}
5980unsafe extern "C" {
5981    pub fn box2d_merged(dest: *mut Box2Dd, src: *const Box2Dd);
5982}
5983unsafe extern "C" {
5984    pub fn box2d_segmentsf(box_: *const Box2Df, segs: *mut Seg2Df);
5985}
5986unsafe extern "C" {
5987    pub fn box2d_segmentsd(box_: *const Box2Dd, segs: *mut Seg2Dd);
5988}
5989unsafe extern "C" {
5990    pub fn box2d_areaf(box_: *const Box2Df) -> real32_t;
5991}
5992unsafe extern "C" {
5993    pub fn box2d_aread(box_: *const Box2Dd) -> real64_t;
5994}
5995unsafe extern "C" {
5996    pub fn box2d_is_nullf(box_: *const Box2Df) -> bool_t;
5997}
5998unsafe extern "C" {
5999    pub fn box2d_is_nulld(box_: *const Box2Dd) -> bool_t;
6000}
6001unsafe extern "C" {
6002    pub static kBOX2D_NULLf: Box2Df;
6003}
6004unsafe extern "C" {
6005    pub static kBOX2D_NULLd: Box2Dd;
6006}
6007unsafe extern "C" {
6008    pub fn cir2df(x: real32_t, y: real32_t, r: real32_t) -> Cir2Df;
6009}
6010unsafe extern "C" {
6011    pub fn cir2dd(x: real64_t, y: real64_t, r: real64_t) -> Cir2Dd;
6012}
6013unsafe extern "C" {
6014    pub fn cir2d_from_boxf(box_: *const Box2Df) -> Cir2Df;
6015}
6016unsafe extern "C" {
6017    pub fn cir2d_from_boxd(box_: *const Box2Dd) -> Cir2Dd;
6018}
6019unsafe extern "C" {
6020    pub fn cir2d_from_pointsf(p: *const V2Df, n: u32) -> Cir2Df;
6021}
6022unsafe extern "C" {
6023    pub fn cir2d_from_pointsd(p: *const V2Dd, n: u32) -> Cir2Dd;
6024}
6025unsafe extern "C" {
6026    pub fn cir2d_minimumf(p: *const V2Df, n: u32) -> Cir2Df;
6027}
6028unsafe extern "C" {
6029    pub fn cir2d_minimumd(p: *const V2Dd, n: u32) -> Cir2Dd;
6030}
6031unsafe extern "C" {
6032    pub fn cir2d_areaf(cir: *const Cir2Df) -> real32_t;
6033}
6034unsafe extern "C" {
6035    pub fn cir2d_aread(cir: *const Cir2Dd) -> real64_t;
6036}
6037unsafe extern "C" {
6038    pub fn cir2d_is_nullf(cir: *const Cir2Df) -> bool_t;
6039}
6040unsafe extern "C" {
6041    pub fn cir2d_is_nulld(cir: *const Cir2Dd) -> bool_t;
6042}
6043unsafe extern "C" {
6044    pub static kCIR2D_NULLf: Cir2Df;
6045}
6046unsafe extern "C" {
6047    pub static kCIR2D_NULLd: Cir2Dd;
6048}
6049unsafe extern "C" {
6050    pub fn col2d_point_pointf(
6051        pnt1: *const V2Df,
6052        pnt2: *const V2Df,
6053        tol: real32_t,
6054        col: *mut Col2Df,
6055    ) -> bool_t;
6056}
6057unsafe extern "C" {
6058    pub fn col2d_point_pointd(
6059        pnt1: *const V2Dd,
6060        pnt2: *const V2Dd,
6061        tol: real64_t,
6062        col: *mut Col2Dd,
6063    ) -> bool_t;
6064}
6065unsafe extern "C" {
6066    pub fn col2d_segment_pointf(
6067        seg: *const Seg2Df,
6068        pnt: *const V2Df,
6069        tol: real32_t,
6070        col: *mut Col2Df,
6071    ) -> bool_t;
6072}
6073unsafe extern "C" {
6074    pub fn col2d_segment_pointd(
6075        seg: *const Seg2Dd,
6076        pnt: *const V2Dd,
6077        tol: real64_t,
6078        col: *mut Col2Dd,
6079    ) -> bool_t;
6080}
6081unsafe extern "C" {
6082    pub fn col2d_segment_segmentf(
6083        seg1: *const Seg2Df,
6084        seg2: *const Seg2Df,
6085        col: *mut Col2Df,
6086    ) -> bool_t;
6087}
6088unsafe extern "C" {
6089    pub fn col2d_segment_segmentd(
6090        seg1: *const Seg2Dd,
6091        seg2: *const Seg2Dd,
6092        col: *mut Col2Dd,
6093    ) -> bool_t;
6094}
6095unsafe extern "C" {
6096    pub fn col2d_circle_pointf(cir: *const Cir2Df, pnt: *const V2Df, col: *mut Col2Df) -> bool_t;
6097}
6098unsafe extern "C" {
6099    pub fn col2d_circle_pointd(cir: *const Cir2Dd, pnt: *const V2Dd, col: *mut Col2Dd) -> bool_t;
6100}
6101unsafe extern "C" {
6102    pub fn col2d_circle_segmentf(
6103        cir: *const Cir2Df,
6104        seg: *const Seg2Df,
6105        col: *mut Col2Df,
6106    ) -> bool_t;
6107}
6108unsafe extern "C" {
6109    pub fn col2d_circle_segmentd(
6110        cir: *const Cir2Dd,
6111        seg: *const Seg2Dd,
6112        col: *mut Col2Dd,
6113    ) -> bool_t;
6114}
6115unsafe extern "C" {
6116    pub fn col2d_circle_circlef(
6117        cir1: *const Cir2Df,
6118        cir2: *const Cir2Df,
6119        col: *mut Col2Df,
6120    ) -> bool_t;
6121}
6122unsafe extern "C" {
6123    pub fn col2d_circle_circled(
6124        cir1: *const Cir2Dd,
6125        cir2: *const Cir2Dd,
6126        col: *mut Col2Dd,
6127    ) -> bool_t;
6128}
6129unsafe extern "C" {
6130    pub fn col2d_box_pointf(box_: *const Box2Df, pnt: *const V2Df, col: *mut Col2Df) -> bool_t;
6131}
6132unsafe extern "C" {
6133    pub fn col2d_box_pointd(box_: *const Box2Dd, pnt: *const V2Dd, col: *mut Col2Dd) -> bool_t;
6134}
6135unsafe extern "C" {
6136    pub fn col2d_box_segmentf(box_: *const Box2Df, seg: *const Seg2Df, col: *mut Col2Df) -> bool_t;
6137}
6138unsafe extern "C" {
6139    pub fn col2d_box_segmentd(box_: *const Box2Dd, seg: *const Seg2Dd, col: *mut Col2Df) -> bool_t;
6140}
6141unsafe extern "C" {
6142    pub fn col2d_box_circlef(box_: *const Box2Df, cir: *const Cir2Df, col: *mut Col2Df) -> bool_t;
6143}
6144unsafe extern "C" {
6145    pub fn col2d_box_circled(box_: *const Box2Dd, cir: *const Cir2Dd, col: *mut Col2Dd) -> bool_t;
6146}
6147unsafe extern "C" {
6148    pub fn col2d_box_boxf(box1: *const Box2Df, box2: *const Box2Df, col: *mut Col2Df) -> bool_t;
6149}
6150unsafe extern "C" {
6151    pub fn col2d_box_boxd(box1: *const Box2Dd, box2: *const Box2Dd, col: *mut Col2Dd) -> bool_t;
6152}
6153unsafe extern "C" {
6154    pub fn col2d_obb_pointf(obb: *const OBB2Df, pnt: *const V2Df, col: *mut Col2Df) -> bool_t;
6155}
6156unsafe extern "C" {
6157    pub fn col2d_obb_pointd(obb: *const OBB2Dd, pnt: *const V2Dd, col: *mut Col2Dd) -> bool_t;
6158}
6159unsafe extern "C" {
6160    pub fn col2d_obb_segmentf(obb: *const OBB2Df, seg: *const Seg2Df, col: *mut Col2Df) -> bool_t;
6161}
6162unsafe extern "C" {
6163    pub fn col2d_obb_segmentd(obb: *const OBB2Dd, seg: *const Seg2Dd, col: *mut Col2Dd) -> bool_t;
6164}
6165unsafe extern "C" {
6166    pub fn col2d_obb_circlef(obb: *const OBB2Df, cir: *const Cir2Df, col: *mut Col2Df) -> bool_t;
6167}
6168unsafe extern "C" {
6169    pub fn col2d_obb_circled(obb: *const OBB2Dd, cir: *const Cir2Dd, col: *mut Col2Dd) -> bool_t;
6170}
6171unsafe extern "C" {
6172    pub fn col2d_obb_boxf(obb: *const OBB2Df, box_: *const Box2Df, col: *mut Col2Df) -> bool_t;
6173}
6174unsafe extern "C" {
6175    pub fn col2d_obb_boxd(obb: *const OBB2Dd, box_: *const Box2Dd, col: *mut Col2Dd) -> bool_t;
6176}
6177unsafe extern "C" {
6178    pub fn col2d_obb_obbf(obb1: *const OBB2Df, obb2: *const OBB2Df, col: *mut Col2Df) -> bool_t;
6179}
6180unsafe extern "C" {
6181    pub fn col2d_obb_obbd(obb1: *const OBB2Dd, obb2: *const OBB2Dd, col: *mut Col2Dd) -> bool_t;
6182}
6183unsafe extern "C" {
6184    pub fn col2d_tri_pointf(tri: *const Tri2Df, pnt: *const V2Df, col: *mut Col2Df) -> bool_t;
6185}
6186unsafe extern "C" {
6187    pub fn col2d_tri_pointd(tri: *const Tri2Dd, pnt: *const V2Dd, col: *mut Col2Dd) -> bool_t;
6188}
6189unsafe extern "C" {
6190    pub fn col2d_tri_segmentf(tri: *const Tri2Df, seg: *const Seg2Df, col: *mut Col2Df) -> bool_t;
6191}
6192unsafe extern "C" {
6193    pub fn col2d_tri_segmentd(tri: *const Tri2Dd, seg: *const Seg2Dd, col: *mut Col2Dd) -> bool_t;
6194}
6195unsafe extern "C" {
6196    pub fn col2d_tri_circlef(tri: *const Tri2Df, cir: *const Cir2Df, col: *mut Col2Df) -> bool_t;
6197}
6198unsafe extern "C" {
6199    pub fn col2d_tri_circled(tri: *const Tri2Dd, cir: *const Cir2Df, col: *mut Col2Df) -> bool_t;
6200}
6201unsafe extern "C" {
6202    pub fn col2d_tri_boxf(tri: *const Tri2Df, box_: *const Box2Df, col: *mut Col2Df) -> bool_t;
6203}
6204unsafe extern "C" {
6205    pub fn col2d_tri_boxd(tri: *const Tri2Dd, box_: *const Box2Df, col: *mut Col2Df) -> bool_t;
6206}
6207unsafe extern "C" {
6208    pub fn col2d_tri_obbf(tri: *const Tri2Df, obb: *const OBB2Df, col: *mut Col2Df) -> bool_t;
6209}
6210unsafe extern "C" {
6211    pub fn col2d_tri_obbd(tri: *const Tri2Dd, obb: *const OBB2Dd, col: *mut Col2Dd) -> bool_t;
6212}
6213unsafe extern "C" {
6214    pub fn col2d_tri_trif(tri1: *const Tri2Df, tri2: *const Tri2Df, col: *mut Col2Df) -> bool_t;
6215}
6216unsafe extern "C" {
6217    pub fn col2d_tri_trid(tri1: *const Tri2Dd, tri2: *const Tri2Dd, col: *mut Col2Dd) -> bool_t;
6218}
6219unsafe extern "C" {
6220    pub fn col2d_poly_pointf(poly: *const Pol2Df, pnt: *const V2Df, col: *mut Col2Df) -> bool_t;
6221}
6222unsafe extern "C" {
6223    pub fn col2d_poly_pointd(poly: *const Pol2Dd, pnt: *const V2Dd, col: *mut Col2Dd) -> bool_t;
6224}
6225unsafe extern "C" {
6226    pub fn col2d_poly_segmentf(poly: *const Pol2Df, seg: *const Seg2Df, col: *mut Col2Df)
6227        -> bool_t;
6228}
6229unsafe extern "C" {
6230    pub fn col2d_poly_segmentd(poly: *const Pol2Dd, seg: *const Seg2Dd, col: *mut Col2Dd)
6231        -> bool_t;
6232}
6233unsafe extern "C" {
6234    pub fn col2d_poly_circlef(poly: *const Pol2Df, cir: *const Cir2Df, col: *mut Col2Df) -> bool_t;
6235}
6236unsafe extern "C" {
6237    pub fn col2d_poly_circled(poly: *const Pol2Dd, cir: *const Cir2Dd, col: *mut Col2Dd) -> bool_t;
6238}
6239unsafe extern "C" {
6240    pub fn col2d_poly_boxf(poly: *const Pol2Df, box_: *const Box2Df, col: *mut Col2Df) -> bool_t;
6241}
6242unsafe extern "C" {
6243    pub fn col2d_poly_boxd(poly: *const Pol2Dd, box_: *const Box2Dd, col: *mut Col2Dd) -> bool_t;
6244}
6245unsafe extern "C" {
6246    pub fn col2d_poly_obbf(poly: *const Pol2Df, obb: *const OBB2Df, col: *mut Col2Df) -> bool_t;
6247}
6248unsafe extern "C" {
6249    pub fn col2d_poly_obbd(poly: *const Pol2Dd, obb: *const OBB2Dd, col: *mut Col2Dd) -> bool_t;
6250}
6251unsafe extern "C" {
6252    pub fn col2d_poly_trif(poly: *const Pol2Df, tri: *const Tri2Df, col: *mut Col2Df) -> bool_t;
6253}
6254unsafe extern "C" {
6255    pub fn col2d_poly_trid(poly: *const Pol2Dd, tri: *const Tri2Dd, col: *mut Col2Dd) -> bool_t;
6256}
6257unsafe extern "C" {
6258    pub fn col2d_poly_polyf(poly1: *const Pol2Df, poly2: *const Pol2Df, col: *mut Col2Df)
6259        -> bool_t;
6260}
6261unsafe extern "C" {
6262    pub fn col2d_poly_polyd(poly1: *const Pol2Dd, poly2: *const Pol2Dd, col: *mut Col2Dd)
6263        -> bool_t;
6264}
6265unsafe extern "C" {
6266    pub fn obb2d_createf(
6267        center: *const V2Df,
6268        width: real32_t,
6269        height: real32_t,
6270        angle: real32_t,
6271    ) -> *mut OBB2Df;
6272}
6273unsafe extern "C" {
6274    pub fn obb2d_created(
6275        center: *const V2Dd,
6276        width: real64_t,
6277        height: real64_t,
6278        angle: real64_t,
6279    ) -> *mut OBB2Dd;
6280}
6281unsafe extern "C" {
6282    pub fn obb2d_from_linef(p0: *const V2Df, p1: *const V2Df, thickness: real32_t) -> *mut OBB2Df;
6283}
6284unsafe extern "C" {
6285    pub fn obb2d_from_lined(p0: *const V2Dd, p1: *const V2Dd, thickness: real64_t) -> *mut OBB2Dd;
6286}
6287unsafe extern "C" {
6288    pub fn obb2d_from_pointsf(p: *const V2Df, n: u32) -> *mut OBB2Df;
6289}
6290unsafe extern "C" {
6291    pub fn obb2d_from_pointsd(p: *const V2Dd, n: u32) -> *mut OBB2Dd;
6292}
6293unsafe extern "C" {
6294    pub fn obb2d_copyf(obb: *const OBB2Df) -> *mut OBB2Df;
6295}
6296unsafe extern "C" {
6297    pub fn obb2d_copyd(obb: *const OBB2Dd) -> *mut OBB2Dd;
6298}
6299unsafe extern "C" {
6300    pub fn obb2d_destroyf(obb: *mut *mut OBB2Df);
6301}
6302unsafe extern "C" {
6303    pub fn obb2d_destroyd(obb: *mut *mut OBB2Dd);
6304}
6305unsafe extern "C" {
6306    pub fn obb2d_updatef(
6307        obb: *mut OBB2Df,
6308        center: *const V2Df,
6309        width: real32_t,
6310        height: real32_t,
6311        angle: real32_t,
6312    );
6313}
6314unsafe extern "C" {
6315    pub fn obb2d_updated(
6316        obb: *mut OBB2Dd,
6317        center: *const V2Dd,
6318        width: real64_t,
6319        height: real64_t,
6320        angle: real64_t,
6321    );
6322}
6323unsafe extern "C" {
6324    pub fn obb2d_movef(obb: *mut OBB2Df, offset_x: real32_t, offset_y: real32_t);
6325}
6326unsafe extern "C" {
6327    pub fn obb2d_moved(obb: *mut OBB2Dd, offset_x: real64_t, offset_y: real64_t);
6328}
6329unsafe extern "C" {
6330    pub fn obb2d_transformf(obb: *mut OBB2Df, t2d: *const T2Df);
6331}
6332unsafe extern "C" {
6333    pub fn obb2d_transformd(obb: *mut OBB2Dd, t2d: *const T2Dd);
6334}
6335unsafe extern "C" {
6336    pub fn obb2d_cornersf(obb: *const OBB2Df) -> *const V2Df;
6337}
6338unsafe extern "C" {
6339    pub fn obb2d_cornersd(obb: *const OBB2Dd) -> *const V2Dd;
6340}
6341unsafe extern "C" {
6342    pub fn obb2d_centerf(obb: *const OBB2Df) -> V2Df;
6343}
6344unsafe extern "C" {
6345    pub fn obb2d_centerd(obb: *const OBB2Dd) -> V2Dd;
6346}
6347unsafe extern "C" {
6348    pub fn obb2d_widthf(obb: *const OBB2Df) -> real32_t;
6349}
6350unsafe extern "C" {
6351    pub fn obb2d_widthd(obb: *const OBB2Dd) -> real64_t;
6352}
6353unsafe extern "C" {
6354    pub fn obb2d_heightf(obb: *const OBB2Df) -> real32_t;
6355}
6356unsafe extern "C" {
6357    pub fn obb2d_heightd(obb: *const OBB2Dd) -> real64_t;
6358}
6359unsafe extern "C" {
6360    pub fn obb2d_anglef(obb: *const OBB2Df) -> real32_t;
6361}
6362unsafe extern "C" {
6363    pub fn obb2d_angled(obb: *const OBB2Dd) -> real64_t;
6364}
6365unsafe extern "C" {
6366    pub fn obb2d_areaf(obb: *const OBB2Df) -> real32_t;
6367}
6368unsafe extern "C" {
6369    pub fn obb2d_aread(obb: *const OBB2Dd) -> real64_t;
6370}
6371unsafe extern "C" {
6372    pub fn obb2d_boxf(obb: *const OBB2Df) -> Box2Df;
6373}
6374unsafe extern "C" {
6375    pub fn obb2d_boxd(obb: *const OBB2Dd) -> Box2Dd;
6376}
6377unsafe extern "C" {
6378    pub fn pol2d_createf(points: *const V2Df, n: u32) -> *mut Pol2Df;
6379}
6380unsafe extern "C" {
6381    pub fn pol2d_created(points: *const V2Dd, n: u32) -> *mut Pol2Dd;
6382}
6383unsafe extern "C" {
6384    pub fn pol2d_convex_hullf(points: *const V2Df, n: u32) -> *mut Pol2Df;
6385}
6386unsafe extern "C" {
6387    pub fn pol2d_convex_hulld(points: *const V2Dd, n: u32) -> *mut Pol2Dd;
6388}
6389unsafe extern "C" {
6390    pub fn pol2d_copyf(pol: *const Pol2Df) -> *mut Pol2Df;
6391}
6392unsafe extern "C" {
6393    pub fn pol2d_copyd(pol: *const Pol2Dd) -> *mut Pol2Dd;
6394}
6395unsafe extern "C" {
6396    pub fn pol2d_destroyf(pol: *mut *mut Pol2Df);
6397}
6398unsafe extern "C" {
6399    pub fn pol2d_destroyd(pol: *mut *mut Pol2Dd);
6400}
6401unsafe extern "C" {
6402    pub fn pol2d_transformf(pol: *mut Pol2Df, t2d: *const T2Df);
6403}
6404unsafe extern "C" {
6405    pub fn pol2d_transformd(pol: *mut Pol2Dd, t2d: *const T2Dd);
6406}
6407unsafe extern "C" {
6408    pub fn pol2d_pointsf(pol: *const Pol2Df) -> *const V2Df;
6409}
6410unsafe extern "C" {
6411    pub fn pol2d_pointsd(pol: *const Pol2Dd) -> *const V2Dd;
6412}
6413unsafe extern "C" {
6414    pub fn pol2d_nf(pol: *const Pol2Df) -> u32;
6415}
6416unsafe extern "C" {
6417    pub fn pol2d_nd(pol: *const Pol2Dd) -> u32;
6418}
6419unsafe extern "C" {
6420    pub fn pol2d_areaf(pol: *const Pol2Df) -> real32_t;
6421}
6422unsafe extern "C" {
6423    pub fn pol2d_aread(pol: *const Pol2Dd) -> real64_t;
6424}
6425unsafe extern "C" {
6426    pub fn pol2d_boxf(pol: *const Pol2Df) -> Box2Df;
6427}
6428unsafe extern "C" {
6429    pub fn pol2d_boxd(pol: *const Pol2Dd) -> Box2Dd;
6430}
6431unsafe extern "C" {
6432    pub fn pol2d_ccwf(pol: *const Pol2Df) -> bool_t;
6433}
6434unsafe extern "C" {
6435    pub fn pol2d_ccwd(pol: *const Pol2Dd) -> bool_t;
6436}
6437unsafe extern "C" {
6438    pub fn pol2d_convexf(pol: *const Pol2Df) -> bool_t;
6439}
6440unsafe extern "C" {
6441    pub fn pol2d_convexd(pol: *const Pol2Dd) -> bool_t;
6442}
6443unsafe extern "C" {
6444    pub fn pol2d_centroidf(pol: *const Pol2Df) -> V2Df;
6445}
6446unsafe extern "C" {
6447    pub fn pol2d_centroidd(pol: *const Pol2Dd) -> V2Dd;
6448}
6449unsafe extern "C" {
6450    pub fn pol2d_visual_centerf(pol: *const Pol2Df, norm_tol: real32_t) -> V2Df;
6451}
6452unsafe extern "C" {
6453    pub fn pol2d_visual_centerd(pol: *const Pol2Dd, norm_tol: real64_t) -> V2Dd;
6454}
6455unsafe extern "C" {
6456    pub fn pol2d_trianglesf(pol: *const Pol2Df) -> *mut ArrStTri2Df;
6457}
6458unsafe extern "C" {
6459    pub fn pol2d_trianglesd(pol: *const Pol2Dd) -> *mut ArrStTri2Dd;
6460}
6461unsafe extern "C" {
6462    pub fn pol2d_convex_partitionf(pol: *const Pol2Df) -> *mut ArrPtPol2Df;
6463}
6464unsafe extern "C" {
6465    pub fn pol2d_convex_partitiond(pol: *const Pol2Dd) -> *mut ArrPtPol2Dd;
6466}
6467unsafe extern "C" {
6468    pub fn r2df(x: real32_t, y: real32_t, width: real32_t, height: real32_t) -> R2Df;
6469}
6470unsafe extern "C" {
6471    pub fn r2dd(x: real64_t, y: real64_t, width: real64_t, height: real64_t) -> R2Dd;
6472}
6473unsafe extern "C" {
6474    pub fn r2d_centerf(r2d: *const R2Df) -> V2Df;
6475}
6476unsafe extern "C" {
6477    pub fn r2d_centerd(r2d: *const R2Dd) -> V2Dd;
6478}
6479unsafe extern "C" {
6480    pub fn r2d_collidef(r2d1: *const R2Df, r2d2: *const R2Df) -> bool_t;
6481}
6482unsafe extern "C" {
6483    pub fn r2d_collided(r2d1: *const R2Dd, r2d2: *const R2Dd) -> bool_t;
6484}
6485unsafe extern "C" {
6486    pub fn r2d_containsf(r2d: *const R2Df, x: real32_t, y: real32_t) -> bool_t;
6487}
6488unsafe extern "C" {
6489    pub fn r2d_containsd(r2d: *const R2Dd, x: real64_t, y: real64_t) -> bool_t;
6490}
6491unsafe extern "C" {
6492    pub fn r2d_clipf(viewport: *const R2Df, r2d: *const R2Df) -> bool_t;
6493}
6494unsafe extern "C" {
6495    pub fn r2d_clipd(viewport: *const R2Dd, r2d: *const R2Dd) -> bool_t;
6496}
6497unsafe extern "C" {
6498    pub fn r2d_joinf(r2d: *mut R2Df, src: *const R2Df);
6499}
6500unsafe extern "C" {
6501    pub fn r2d_joind(r2d: *mut R2Dd, src: *const R2Dd);
6502}
6503unsafe extern "C" {
6504    pub static kR2D_ZEROf: R2Df;
6505}
6506unsafe extern "C" {
6507    pub static kR2D_ZEROd: R2Dd;
6508}
6509unsafe extern "C" {
6510    pub fn s2df(width: real32_t, height: real32_t) -> S2Df;
6511}
6512unsafe extern "C" {
6513    pub fn s2di(width: u32, height: u32) -> S2Df;
6514}
6515unsafe extern "C" {
6516    pub fn s2dd(width: real64_t, height: real64_t) -> S2Dd;
6517}
6518unsafe extern "C" {
6519    pub static kS2D_ZEROf: S2Df;
6520}
6521unsafe extern "C" {
6522    pub static kS2D_ZEROd: S2Dd;
6523}
6524unsafe extern "C" {
6525    pub fn seg2df(x0: real32_t, y0: real32_t, x1: real32_t, y1: real32_t) -> Seg2Df;
6526}
6527unsafe extern "C" {
6528    pub fn seg2dd(x0: real64_t, y0: real64_t, x1: real64_t, y1: real64_t) -> Seg2Dd;
6529}
6530unsafe extern "C" {
6531    pub fn seg2d_vf(p0: *const V2Df, p1: *const V2Df) -> Seg2Df;
6532}
6533unsafe extern "C" {
6534    pub fn seg2d_vd(p0: *const V2Dd, p1: *const V2Dd) -> Seg2Dd;
6535}
6536unsafe extern "C" {
6537    pub fn seg2d_lengthf(seg: *const Seg2Df) -> real32_t;
6538}
6539unsafe extern "C" {
6540    pub fn seg2d_lengthd(seg: *const Seg2Dd) -> real64_t;
6541}
6542unsafe extern "C" {
6543    pub fn seg2d_sqlengthf(seg: *const Seg2Df) -> real32_t;
6544}
6545unsafe extern "C" {
6546    pub fn seg2d_sqlengthd(seg: *const Seg2Dd) -> real64_t;
6547}
6548unsafe extern "C" {
6549    pub fn seg2d_evalf(seg: *const Seg2Df, t: real32_t) -> V2Df;
6550}
6551unsafe extern "C" {
6552    pub fn seg2d_evald(seg: *const Seg2Dd, t: real64_t) -> V2Dd;
6553}
6554unsafe extern "C" {
6555    pub fn seg2d_close_paramf(seg: *const Seg2Df, pnt: *const V2Df) -> real32_t;
6556}
6557unsafe extern "C" {
6558    pub fn seg2d_close_paramd(seg: *const Seg2Dd, pnt: *const V2Dd) -> real64_t;
6559}
6560unsafe extern "C" {
6561    pub fn seg2d_point_sqdistf(seg: *const Seg2Df, pnt: *const V2Df, t: *mut real32_t) -> real32_t;
6562}
6563unsafe extern "C" {
6564    pub fn seg2d_point_sqdistd(seg: *const Seg2Dd, pnt: *const V2Dd, t: *mut real64_t) -> real64_t;
6565}
6566unsafe extern "C" {
6567    pub fn seg2d_sqdistf(
6568        seg1: *const Seg2Df,
6569        seg2: *const Seg2Df,
6570        t1: *mut real32_t,
6571        t2: *mut real32_t,
6572    ) -> real32_t;
6573}
6574unsafe extern "C" {
6575    pub fn seg2d_sqdistd(
6576        seg1: *const Seg2Dd,
6577        seg2: *const Seg2Dd,
6578        t1: *mut real64_t,
6579        t2: *mut real64_t,
6580    ) -> real64_t;
6581}
6582unsafe extern "C" {
6583    pub fn t2d_tof(dest: *mut T2Df, src: *const T2Dd);
6584}
6585unsafe extern "C" {
6586    pub fn t2d_tod(dest: *mut T2Dd, src: *const T2Df);
6587}
6588unsafe extern "C" {
6589    pub fn t2d_movef(dest: *mut T2Df, src: *const T2Df, x: real32_t, y: real32_t);
6590}
6591unsafe extern "C" {
6592    pub fn t2d_moved(dest: *mut T2Dd, src: *const T2Dd, x: real64_t, y: real64_t);
6593}
6594unsafe extern "C" {
6595    pub fn t2d_rotatef(dest: *mut T2Df, src: *const T2Df, angle: real32_t);
6596}
6597unsafe extern "C" {
6598    pub fn t2d_rotated(dest: *mut T2Dd, src: *const T2Dd, angle: real64_t);
6599}
6600unsafe extern "C" {
6601    pub fn t2d_scalef(dest: *mut T2Df, src: *const T2Df, sx: real32_t, sy: real32_t);
6602}
6603unsafe extern "C" {
6604    pub fn t2d_scaled(dest: *mut T2Dd, src: *const T2Dd, sx: real64_t, sy: real64_t);
6605}
6606unsafe extern "C" {
6607    pub fn t2d_invfastf(dest: *mut T2Df, src: *const T2Df);
6608}
6609unsafe extern "C" {
6610    pub fn t2d_invfastd(dest: *mut T2Dd, src: *const T2Dd);
6611}
6612unsafe extern "C" {
6613    pub fn t2d_inversef(dest: *mut T2Df, src: *const T2Df);
6614}
6615unsafe extern "C" {
6616    pub fn t2d_inversed(dest: *mut T2Dd, src: *const T2Dd);
6617}
6618unsafe extern "C" {
6619    pub fn t2d_multf(dest: *mut T2Df, src1: *const T2Df, src2: *const T2Df);
6620}
6621unsafe extern "C" {
6622    pub fn t2d_multd(dest: *mut T2Dd, src1: *const T2Dd, src2: *const T2Dd);
6623}
6624unsafe extern "C" {
6625    pub fn t2d_vmultf(dest: *mut V2Df, t2d: *const T2Df, src: *const V2Df);
6626}
6627unsafe extern "C" {
6628    pub fn t2d_vmultd(dest: *mut V2Dd, t2d: *const T2Dd, src: *const V2Dd);
6629}
6630unsafe extern "C" {
6631    pub fn t2d_vmultnf(dest: *mut V2Df, t2d: *const T2Df, src: *const V2Df, n: u32);
6632}
6633unsafe extern "C" {
6634    pub fn t2d_vmultnd(dest: *mut V2Dd, t2d: *const T2Dd, src: *const V2Dd, n: u32);
6635}
6636unsafe extern "C" {
6637    pub fn t2d_decomposef(t2d: *const T2Df, pos: *mut V2Df, angle: *mut real32_t, sc: *mut V2Df);
6638}
6639unsafe extern "C" {
6640    pub fn t2d_decomposed(t2d: *const T2Dd, pos: *mut V2Dd, angle: *mut real64_t, sc: *mut V2Dd);
6641}
6642unsafe extern "C" {
6643    pub static mut kT2D_IDENTf: *const T2Df;
6644}
6645unsafe extern "C" {
6646    pub static mut kT2D_IDENTd: *const T2Dd;
6647}
6648unsafe extern "C" {
6649    pub fn tri2df(
6650        x0: real32_t,
6651        y0: real32_t,
6652        x1: real32_t,
6653        y1: real32_t,
6654        x2: real32_t,
6655        y2: real32_t,
6656    ) -> Tri2Df;
6657}
6658unsafe extern "C" {
6659    pub fn tri2dd(
6660        x0: real64_t,
6661        y0: real64_t,
6662        x1: real64_t,
6663        y1: real64_t,
6664        x2: real64_t,
6665        y2: real64_t,
6666    ) -> Tri2Dd;
6667}
6668unsafe extern "C" {
6669    pub fn tri2d_vf(p0: *const V2Df, p1: *const V2Df, p2: *const V2Df) -> Tri2Df;
6670}
6671unsafe extern "C" {
6672    pub fn tri2d_vd(p0: *const V2Dd, p1: *const V2Dd, p2: *const V2Dd) -> Tri2Dd;
6673}
6674unsafe extern "C" {
6675    pub fn tri2d_transformf(tri: *mut Tri2Df, t2d: *const T2Df);
6676}
6677unsafe extern "C" {
6678    pub fn tri2d_transformd(tri: *mut Tri2Dd, t2d: *const T2Dd);
6679}
6680unsafe extern "C" {
6681    pub fn tri2d_areaf(tri: *const Tri2Df) -> real32_t;
6682}
6683unsafe extern "C" {
6684    pub fn tri2d_aread(tri: *const Tri2Dd) -> real64_t;
6685}
6686unsafe extern "C" {
6687    pub fn tri2d_ccwf(tri: *const Tri2Df) -> bool_t;
6688}
6689unsafe extern "C" {
6690    pub fn tri2d_ccwd(tri: *const Tri2Dd) -> bool_t;
6691}
6692unsafe extern "C" {
6693    pub fn tri2d_centroidf(tri: *const Tri2Df) -> V2Df;
6694}
6695unsafe extern "C" {
6696    pub fn tri2d_centroidd(tri: *const Tri2Dd) -> V2Dd;
6697}
6698unsafe extern "C" {
6699    pub fn v2df(x: real32_t, y: real32_t) -> V2Df;
6700}
6701unsafe extern "C" {
6702    pub fn v2dd(x: real64_t, y: real64_t) -> V2Dd;
6703}
6704unsafe extern "C" {
6705    pub fn v2d_tof(v: *const V2Dd) -> V2Df;
6706}
6707unsafe extern "C" {
6708    pub fn v2d_tod(v: *const V2Df) -> V2Dd;
6709}
6710unsafe extern "C" {
6711    pub fn v2d_tofn(vf: *mut V2Df, vd: *const V2Dd, n: u32);
6712}
6713unsafe extern "C" {
6714    pub fn v2d_todn(vd: *mut V2Dd, vf: *const V2Df, n: u32);
6715}
6716unsafe extern "C" {
6717    pub fn v2d_addf(v1: *const V2Df, v2: *const V2Df) -> V2Df;
6718}
6719unsafe extern "C" {
6720    pub fn v2d_addd(v1: *const V2Dd, v2: *const V2Dd) -> V2Dd;
6721}
6722unsafe extern "C" {
6723    pub fn v2d_subf(v1: *const V2Df, v2: *const V2Df) -> V2Df;
6724}
6725unsafe extern "C" {
6726    pub fn v2d_subd(v1: *const V2Dd, v2: *const V2Dd) -> V2Dd;
6727}
6728unsafe extern "C" {
6729    pub fn v2d_mulf(v: *const V2Df, s: real32_t) -> V2Df;
6730}
6731unsafe extern "C" {
6732    pub fn v2d_muld(v: *const V2Dd, s: real64_t) -> V2Dd;
6733}
6734unsafe extern "C" {
6735    pub fn v2d_fromf(v: *const V2Df, dir: *const V2Df, length: real32_t) -> V2Df;
6736}
6737unsafe extern "C" {
6738    pub fn v2d_fromd(v: *const V2Dd, dir: *const V2Dd, length: real64_t) -> V2Dd;
6739}
6740unsafe extern "C" {
6741    pub fn v2d_midf(v1: *const V2Df, v2: *const V2Df) -> V2Df;
6742}
6743unsafe extern "C" {
6744    pub fn v2d_midd(v1: *const V2Dd, v2: *const V2Dd) -> V2Dd;
6745}
6746unsafe extern "C" {
6747    pub fn v2d_unitf(v1: *const V2Df, v2: *const V2Df, dist: *mut real32_t) -> V2Df;
6748}
6749unsafe extern "C" {
6750    pub fn v2d_unitd(v1: *const V2Dd, v2: *const V2Dd, dist: *mut real64_t) -> V2Dd;
6751}
6752unsafe extern "C" {
6753    pub fn v2d_unit_xyf(
6754        x1: real32_t,
6755        y1: real32_t,
6756        x2: real32_t,
6757        y2: real32_t,
6758        dist: *mut real32_t,
6759    ) -> V2Df;
6760}
6761unsafe extern "C" {
6762    pub fn v2d_unit_xyd(
6763        x1: real64_t,
6764        y1: real64_t,
6765        x2: real64_t,
6766        y2: real64_t,
6767        dist: *mut real64_t,
6768    ) -> V2Dd;
6769}
6770unsafe extern "C" {
6771    pub fn v2d_perp_posf(v: *const V2Df) -> V2Df;
6772}
6773unsafe extern "C" {
6774    pub fn v2d_perp_posd(v: *const V2Dd) -> V2Dd;
6775}
6776unsafe extern "C" {
6777    pub fn v2d_perp_negf(v: *const V2Df) -> V2Df;
6778}
6779unsafe extern "C" {
6780    pub fn v2d_perp_negd(v: *const V2Dd) -> V2Dd;
6781}
6782unsafe extern "C" {
6783    pub fn v2d_from_anglef(a: real32_t) -> V2Df;
6784}
6785unsafe extern "C" {
6786    pub fn v2d_from_angled(a: real64_t) -> V2Dd;
6787}
6788unsafe extern "C" {
6789    pub fn v2d_normf(v: *mut V2Df) -> bool_t;
6790}
6791unsafe extern "C" {
6792    pub fn v2d_normd(v: *mut V2Dd) -> bool_t;
6793}
6794unsafe extern "C" {
6795    pub fn v2d_lengthf(v: *const V2Df) -> real32_t;
6796}
6797unsafe extern "C" {
6798    pub fn v2d_lengthd(v: *const V2Dd) -> real64_t;
6799}
6800unsafe extern "C" {
6801    pub fn v2d_sqlengthf(v: *const V2Df) -> real32_t;
6802}
6803unsafe extern "C" {
6804    pub fn v2d_sqlengthd(v: *const V2Dd) -> real64_t;
6805}
6806unsafe extern "C" {
6807    pub fn v2d_dotf(v1: *const V2Df, v2: *const V2Df) -> real32_t;
6808}
6809unsafe extern "C" {
6810    pub fn v2d_dotd(v1: *const V2Dd, v2: *const V2Dd) -> real64_t;
6811}
6812unsafe extern "C" {
6813    pub fn v2d_distf(v1: *const V2Df, v2: *const V2Df) -> real32_t;
6814}
6815unsafe extern "C" {
6816    pub fn v2d_distd(v1: *const V2Dd, v2: *const V2Dd) -> real64_t;
6817}
6818unsafe extern "C" {
6819    pub fn v2d_sqdistf(v1: *const V2Df, v2: *const V2Df) -> real32_t;
6820}
6821unsafe extern "C" {
6822    pub fn v2d_sqdistd(v1: *const V2Dd, v2: *const V2Dd) -> real64_t;
6823}
6824unsafe extern "C" {
6825    pub fn v2d_anglef(v1: *const V2Df, v2: *const V2Df) -> real32_t;
6826}
6827unsafe extern "C" {
6828    pub fn v2d_angled(v1: *const V2Dd, v2: *const V2Dd) -> real64_t;
6829}
6830unsafe extern "C" {
6831    pub fn v2d_rotatef(v: *mut V2Df, a: real32_t);
6832}
6833unsafe extern "C" {
6834    pub fn v2d_rotated(v: *mut V2Dd, a: real64_t);
6835}
6836unsafe extern "C" {
6837    pub static kV2D_ZEROf: V2Df;
6838}
6839unsafe extern "C" {
6840    pub static kV2D_ZEROd: V2Dd;
6841}
6842unsafe extern "C" {
6843    pub static kV2D_Xf: V2Df;
6844}
6845unsafe extern "C" {
6846    pub static kV2D_Xd: V2Dd;
6847}
6848unsafe extern "C" {
6849    pub static kV2D_Yf: V2Df;
6850}
6851unsafe extern "C" {
6852    pub static kV2D_Yd: V2Dd;
6853}
6854unsafe extern "C" {
6855    pub fn core_start();
6856}
6857unsafe extern "C" {
6858    pub fn core_finish();
6859}
6860unsafe extern "C" {
6861    pub fn bhash_from_block(data: *const byte_t, size: u32) -> u32;
6862}
6863unsafe extern "C" {
6864    pub fn bhash_append_uint32(hash: u32, value: u32) -> u32;
6865}
6866unsafe extern "C" {
6867    pub fn bhash_append_real32(hash: u32, value: real32_t) -> u32;
6868}
6869unsafe extern "C" {
6870    pub fn buffer_create(size: u32) -> *mut Buffer;
6871}
6872unsafe extern "C" {
6873    pub fn buffer_with_data(data: *const byte_t, size: u32) -> *mut Buffer;
6874}
6875unsafe extern "C" {
6876    pub fn buffer_read(stream: *mut Stream) -> *mut Buffer;
6877}
6878unsafe extern "C" {
6879    pub fn buffer_destroy(buffer: *mut *mut Buffer);
6880}
6881unsafe extern "C" {
6882    pub fn buffer_size(buffer: *const Buffer) -> u32;
6883}
6884unsafe extern "C" {
6885    pub fn buffer_data(buffer: *mut Buffer) -> *mut byte_t;
6886}
6887unsafe extern "C" {
6888    pub fn buffer_const(buffer: *const Buffer) -> *const byte_t;
6889}
6890unsafe extern "C" {
6891    pub fn buffer_write(stream: *mut Stream, buffer: *const Buffer);
6892}
6893unsafe extern "C" {
6894    pub fn clock_create(interval: real64_t) -> *mut Clock;
6895}
6896unsafe extern "C" {
6897    pub fn clock_destroy(clk: *mut *mut Clock);
6898}
6899unsafe extern "C" {
6900    pub fn clock_frame(
6901        clk: *mut Clock,
6902        prev_frame: *mut real64_t,
6903        curr_frame: *mut real64_t,
6904    ) -> bool_t;
6905}
6906unsafe extern "C" {
6907    pub fn clock_reset(clk: *mut Clock);
6908}
6909unsafe extern "C" {
6910    pub fn clock_elapsed(clk: *const Clock) -> real64_t;
6911}
6912unsafe extern "C" {
6913    pub fn date_system() -> Date;
6914}
6915unsafe extern "C" {
6916    pub fn date_pack(year: i16, month: u8, mday: u8, hour: u8, minute: u8, second: u8) -> Date;
6917}
6918unsafe extern "C" {
6919    pub fn date_add_seconds(date: *const Date, seconds: i32) -> Date;
6920}
6921unsafe extern "C" {
6922    pub fn date_add_minutes(date: *const Date, minutes: i32) -> Date;
6923}
6924unsafe extern "C" {
6925    pub fn date_add_hours(date: *const Date, hours: i32) -> Date;
6926}
6927unsafe extern "C" {
6928    pub fn date_add_days(date: *const Date, days: i32) -> Date;
6929}
6930unsafe extern "C" {
6931    pub fn date_year() -> i16;
6932}
6933unsafe extern "C" {
6934    pub fn date_cmp(date1: *const Date, date2: *const Date) -> ::libc::c_int;
6935}
6936unsafe extern "C" {
6937    pub fn date_ellapsed_seconds(from: *const Date, to: *const Date) -> i64;
6938}
6939unsafe extern "C" {
6940    pub fn date_between(date: *const Date, from: *const Date, to: *const Date) -> bool_t;
6941}
6942unsafe extern "C" {
6943    pub fn date_is_null(date: *const Date) -> bool_t;
6944}
6945unsafe extern "C" {
6946    pub fn date_is_valid(date: *const Date) -> bool_t;
6947}
6948unsafe extern "C" {
6949    pub fn date_weekday(date: *const Date) -> week_day_t;
6950}
6951unsafe extern "C" {
6952    pub fn date_format(date: *const Date, format: *const char_t) -> *mut String;
6953}
6954unsafe extern "C" {
6955    pub static mut kDATE_NULL: Date;
6956}
6957unsafe extern "C" {
6958    pub fn dbind_imp(
6959        type_: *const char_t,
6960        size: u16,
6961        mname: *const char_t,
6962        mtype: *const char_t,
6963        moffset: u16,
6964        msize: u16,
6965    ) -> dbindst_t;
6966}
6967unsafe extern "C" {
6968    pub fn dbind_enum_imp(
6969        type_: *const char_t,
6970        name: *const char_t,
6971        value: enum_t,
6972        alias: *const char_t,
6973    ) -> dbindst_t;
6974}
6975unsafe extern "C" {
6976    pub fn dbind_binary_imp(
6977        type_: *const char_t,
6978        func_copy: FPtr_copy,
6979        func_read: FPtr_read,
6980        func_write: FPtr_write,
6981        func_destroy: FPtr_destroy,
6982    ) -> dbindst_t;
6983}
6984unsafe extern "C" {
6985    pub fn dbind_alias_imp(
6986        type_: *const char_t,
6987        alias: *const char_t,
6988        type_size: u16,
6989        alias_size: u16,
6990    ) -> dbindst_t;
6991}
6992unsafe extern "C" {
6993    pub fn dbind_unreg_imp(type_: *const char_t) -> dbindst_t;
6994}
6995unsafe extern "C" {
6996    pub fn dbind_create_imp(type_: *const char_t) -> *mut byte_t;
6997}
6998unsafe extern "C" {
6999    pub fn dbind_copy_imp(obj: *const byte_t, type_: *const char_t) -> *mut byte_t;
7000}
7001unsafe extern "C" {
7002    pub fn dbind_init_imp(obj: *mut byte_t, type_: *const char_t);
7003}
7004unsafe extern "C" {
7005    pub fn dbind_remove_imp(obj: *mut byte_t, type_: *const char_t);
7006}
7007unsafe extern "C" {
7008    pub fn dbind_destroy_imp(obj: *mut *mut byte_t, type_: *const char_t);
7009}
7010unsafe extern "C" {
7011    pub fn dbind_destopt_imp(obj: *mut *mut byte_t, type_: *const char_t);
7012}
7013unsafe extern "C" {
7014    pub fn dbind_cmp_imp(
7015        obj1: *const byte_t,
7016        obj2: *const byte_t,
7017        type_: *const char_t,
7018    ) -> ::libc::c_int;
7019}
7020unsafe extern "C" {
7021    pub fn dbind_equ_imp(obj1: *const byte_t, obj2: *const byte_t, type_: *const char_t) -> bool_t;
7022}
7023unsafe extern "C" {
7024    pub fn dbind_read_imp(stm: *mut Stream, type_: *const char_t) -> *mut byte_t;
7025}
7026unsafe extern "C" {
7027    pub fn dbind_write_imp(stm: *mut Stream, obj: *const ::libc::c_void, type_: *const char_t);
7028}
7029unsafe extern "C" {
7030    pub fn dbind_default_imp(type_: *const char_t, mname: *const char_t, value: *const byte_t);
7031}
7032unsafe extern "C" {
7033    pub fn dbind_range_imp(
7034        type_: *const char_t,
7035        mname: *const char_t,
7036        min: *const byte_t,
7037        max: *const byte_t,
7038    );
7039}
7040unsafe extern "C" {
7041    pub fn dbind_precision_imp(type_: *const char_t, mname: *const char_t, prec: *const byte_t);
7042}
7043unsafe extern "C" {
7044    pub fn dbind_increment_imp(type_: *const char_t, mname: *const char_t, incr: *const byte_t);
7045}
7046unsafe extern "C" {
7047    pub fn dbind_suffix_imp(type_: *const char_t, mname: *const char_t, suffix: *const char_t);
7048}
7049unsafe extern "C" {
7050    pub fn listener_imp(
7051        object: *mut ::libc::c_void,
7052        func_event_handler: FPtr_event_handler,
7053    ) -> *mut Listener;
7054}
7055unsafe extern "C" {
7056    pub fn listener_destroy(listener: *mut *mut Listener);
7057}
7058unsafe extern "C" {
7059    pub fn listener_update(listener: *mut *mut Listener, new_listener: *mut Listener);
7060}
7061unsafe extern "C" {
7062    pub fn listener_event_imp(
7063        listener: *mut Listener,
7064        type_: u32,
7065        sender: *mut ::libc::c_void,
7066        params: *mut ::libc::c_void,
7067        result: *mut ::libc::c_void,
7068        sender_type: *const char_t,
7069        params_type: *const char_t,
7070        result_type: *const char_t,
7071    );
7072}
7073unsafe extern "C" {
7074    pub fn listener_pass_event_imp(
7075        listener: *mut Listener,
7076        event: *mut Event,
7077        sender: *mut ::libc::c_void,
7078        sender_type: *const char_t,
7079    );
7080}
7081unsafe extern "C" {
7082    pub fn event_type(event: *const Event) -> u32;
7083}
7084unsafe extern "C" {
7085    pub fn event_sender_imp(event: *mut Event, type_: *const char_t) -> *mut ::libc::c_void;
7086}
7087unsafe extern "C" {
7088    pub fn event_params_imp(event: *mut Event, type_: *const char_t) -> *mut ::libc::c_void;
7089}
7090unsafe extern "C" {
7091    pub fn event_result_imp(event: *mut Event, type_: *const char_t) -> *mut ::libc::c_void;
7092}
7093unsafe extern "C" {
7094    pub fn heap_start_mt();
7095}
7096unsafe extern "C" {
7097    pub fn heap_end_mt();
7098}
7099unsafe extern "C" {
7100    pub fn heap_verbose(verbose: bool_t);
7101}
7102unsafe extern "C" {
7103    pub fn heap_stats(stats: bool_t);
7104}
7105unsafe extern "C" {
7106    pub fn heap_leaks() -> bool_t;
7107}
7108unsafe extern "C" {
7109    pub fn heap_malloc_imp(size: u32, name: *const char_t, equal_sized: bool_t) -> *mut byte_t;
7110}
7111unsafe extern "C" {
7112    pub fn heap_calloc_imp(size: u32, name: *const char_t, equal_sized: bool_t) -> *mut byte_t;
7113}
7114unsafe extern "C" {
7115    pub fn heap_realloc(
7116        mem: *mut byte_t,
7117        size: u32,
7118        new_size: u32,
7119        name: *const char_t,
7120    ) -> *mut byte_t;
7121}
7122unsafe extern "C" {
7123    pub fn heap_aligned_malloc_imp(
7124        size: u32,
7125        align: u32,
7126        name: *const char_t,
7127        equal_sized: bool_t,
7128    ) -> *mut byte_t;
7129}
7130unsafe extern "C" {
7131    pub fn heap_aligned_calloc_imp(
7132        size: u32,
7133        align: u32,
7134        name: *const char_t,
7135        equal_sized: bool_t,
7136    ) -> *mut byte_t;
7137}
7138unsafe extern "C" {
7139    pub fn heap_aligned_realloc(
7140        mem: *mut byte_t,
7141        size: u32,
7142        new_size: u32,
7143        align: u32,
7144        name: *const char_t,
7145    ) -> *mut byte_t;
7146}
7147unsafe extern "C" {
7148    pub fn heap_free(mem: *mut *mut byte_t, size: u32, name: *const char_t);
7149}
7150unsafe extern "C" {
7151    pub fn heap_auditor_add(name: *const char_t);
7152}
7153unsafe extern "C" {
7154    pub fn heap_auditor_delete(name: *const char_t);
7155}
7156unsafe extern "C" {
7157    pub fn hfile_dir(pathname: *const char_t) -> bool_t;
7158}
7159unsafe extern "C" {
7160    pub fn hfile_dir_create(pathname: *const char_t, error: *mut ferror_t) -> bool_t;
7161}
7162unsafe extern "C" {
7163    pub fn hfile_dir_destroy(pathname: *const char_t, error: *mut ferror_t) -> bool_t;
7164}
7165unsafe extern "C" {
7166    pub fn hfile_dir_list(
7167        pathname: *const char_t,
7168        subdirs: bool_t,
7169        error: *mut ferror_t,
7170    ) -> *mut ArrStDirEntry;
7171}
7172unsafe extern "C" {
7173    pub fn hfile_dir_entry_remove(entry: *mut DirEntry);
7174}
7175unsafe extern "C" {
7176    pub fn hfile_date(pathname: *const char_t, recursive: bool_t) -> Date;
7177}
7178unsafe extern "C" {
7179    pub fn hfile_dir_sync(
7180        src: *const char_t,
7181        dest: *const char_t,
7182        recursive: bool_t,
7183        remove_in_dest: bool_t,
7184        except: *mut *const char_t,
7185        except_size: u32,
7186        error: *mut ferror_t,
7187    ) -> bool_t;
7188}
7189unsafe extern "C" {
7190    pub fn hfile_exists(pathname: *const char_t, file_type: *mut file_type_t) -> bool_t;
7191}
7192unsafe extern "C" {
7193    pub fn hfile_is_uptodate(src: *const char_t, dest: *const char_t) -> bool_t;
7194}
7195unsafe extern "C" {
7196    pub fn hfile_copy(from: *const char_t, to: *const char_t, error: *mut ferror_t) -> bool_t;
7197}
7198unsafe extern "C" {
7199    pub fn hfile_buffer(pathname: *const char_t, error: *mut ferror_t) -> *mut Buffer;
7200}
7201unsafe extern "C" {
7202    pub fn hfile_string(pathname: *const char_t, error: *mut ferror_t) -> *mut String;
7203}
7204unsafe extern "C" {
7205    pub fn hfile_stream(pathname: *const char_t, error: *mut ferror_t) -> *mut Stream;
7206}
7207unsafe extern "C" {
7208    pub fn hfile_from_string(
7209        pathname: *const char_t,
7210        str_: *const String,
7211        error: *mut ferror_t,
7212    ) -> bool_t;
7213}
7214unsafe extern "C" {
7215    pub fn hfile_from_data(
7216        pathname: *const char_t,
7217        data: *const byte_t,
7218        size: u32,
7219        error: *mut ferror_t,
7220    ) -> bool_t;
7221}
7222unsafe extern "C" {
7223    pub fn hfile_dir_loop(
7224        pathname: *const char_t,
7225        listener: *mut Listener,
7226        subdirs: bool_t,
7227        hiddens: bool_t,
7228        error: *mut ferror_t,
7229    ) -> bool_t;
7230}
7231unsafe extern "C" {
7232    pub fn hfile_appdata(filename: *const char_t) -> *mut String;
7233}
7234unsafe extern "C" {
7235    pub fn hfile_home_dir(path: *const char_t) -> *mut String;
7236}
7237unsafe extern "C" {
7238    pub fn hfile_tmp_path(path: *const char_t) -> *mut String;
7239}
7240unsafe extern "C" {
7241    pub fn keybuf_create() -> *mut KeyBuf;
7242}
7243unsafe extern "C" {
7244    pub fn keybuf_destroy(buffer: *mut *mut KeyBuf);
7245}
7246unsafe extern "C" {
7247    pub fn keybuf_OnUp(buffer: *mut KeyBuf, key: vkey_t);
7248}
7249unsafe extern "C" {
7250    pub fn keybuf_OnDown(buffer: *mut KeyBuf, key: vkey_t);
7251}
7252unsafe extern "C" {
7253    pub fn keybuf_clear(buffer: *mut KeyBuf);
7254}
7255unsafe extern "C" {
7256    pub fn keybuf_pressed(buffer: *const KeyBuf, key: vkey_t) -> bool_t;
7257}
7258unsafe extern "C" {
7259    pub fn keybuf_str(key: vkey_t) -> *const char_t;
7260}
7261unsafe extern "C" {
7262    pub fn keybuf_dump(buffer: *const KeyBuf);
7263}
7264unsafe extern "C" {
7265    pub fn respack_destroy(pack: *mut *mut ResPack);
7266}
7267unsafe extern "C" {
7268    pub fn respack_text(pack: *const ResPack, id: ResId) -> *const char_t;
7269}
7270unsafe extern "C" {
7271    pub fn respack_file(pack: *const ResPack, id: ResId, size: *mut u32) -> *const byte_t;
7272}
7273unsafe extern "C" {
7274    pub fn regex_create(pattern: *const char_t) -> *mut RegEx;
7275}
7276unsafe extern "C" {
7277    pub fn regex_destroy(regex: *mut *mut RegEx);
7278}
7279unsafe extern "C" {
7280    pub fn regex_match(regex: *const RegEx, str_: *const char_t) -> bool_t;
7281}
7282unsafe extern "C" {
7283    pub fn stm_from_block(data: *const byte_t, size: u32) -> *mut Stream;
7284}
7285unsafe extern "C" {
7286    pub fn stm_memory(size: u32) -> *mut Stream;
7287}
7288unsafe extern "C" {
7289    pub fn stm_from_file(pathname: *const char_t, error: *mut ferror_t) -> *mut Stream;
7290}
7291unsafe extern "C" {
7292    pub fn stm_to_file(pathname: *const char_t, error: *mut ferror_t) -> *mut Stream;
7293}
7294unsafe extern "C" {
7295    pub fn stm_append_file(pathname: *const char_t, error: *mut ferror_t) -> *mut Stream;
7296}
7297unsafe extern "C" {
7298    pub fn stm_socket(socket: *mut Socket) -> *mut Stream;
7299}
7300unsafe extern "C" {
7301    pub fn stm_close(stm: *mut *mut Stream);
7302}
7303unsafe extern "C" {
7304    pub fn stm_get_write_endian(stm: *const Stream) -> endian_t;
7305}
7306unsafe extern "C" {
7307    pub fn stm_get_read_endian(stm: *const Stream) -> endian_t;
7308}
7309unsafe extern "C" {
7310    pub fn stm_set_write_endian(stm: *mut Stream, endian: endian_t);
7311}
7312unsafe extern "C" {
7313    pub fn stm_set_read_endian(stm: *mut Stream, endian: endian_t);
7314}
7315unsafe extern "C" {
7316    pub fn stm_get_write_utf(stm: *const Stream) -> unicode_t;
7317}
7318unsafe extern "C" {
7319    pub fn stm_get_read_utf(stm: *const Stream) -> unicode_t;
7320}
7321unsafe extern "C" {
7322    pub fn stm_set_write_utf(stm: *mut Stream, format: unicode_t);
7323}
7324unsafe extern "C" {
7325    pub fn stm_set_read_utf(stm: *mut Stream, format: unicode_t);
7326}
7327unsafe extern "C" {
7328    pub fn stm_is_memory(stm: *const Stream) -> bool_t;
7329}
7330unsafe extern "C" {
7331    pub fn stm_bytes_written(stm: *const Stream) -> u64;
7332}
7333unsafe extern "C" {
7334    pub fn stm_bytes_readed(stm: *const Stream) -> u64;
7335}
7336unsafe extern "C" {
7337    pub fn stm_col(stm: *const Stream) -> u32;
7338}
7339unsafe extern "C" {
7340    pub fn stm_row(stm: *const Stream) -> u32;
7341}
7342unsafe extern "C" {
7343    pub fn stm_token_col(stm: *const Stream) -> u32;
7344}
7345unsafe extern "C" {
7346    pub fn stm_token_row(stm: *const Stream) -> u32;
7347}
7348unsafe extern "C" {
7349    pub fn stm_token_lexeme(stm: *const Stream, size: *mut u32) -> *const char_t;
7350}
7351unsafe extern "C" {
7352    pub fn stm_token_escapes(stm: *mut Stream, active_escapes: bool_t);
7353}
7354unsafe extern "C" {
7355    pub fn stm_token_spaces(stm: *mut Stream, active_spaces: bool_t);
7356}
7357unsafe extern "C" {
7358    pub fn stm_token_comments(stm: *mut Stream, active_comments: bool_t);
7359}
7360unsafe extern "C" {
7361    pub fn stm_state(stm: *const Stream) -> sstate_t;
7362}
7363unsafe extern "C" {
7364    pub fn stm_file_err(stm: *const Stream) -> ferror_t;
7365}
7366unsafe extern "C" {
7367    pub fn stm_sock_err(stm: *const Stream) -> serror_t;
7368}
7369unsafe extern "C" {
7370    pub fn stm_corrupt(stm: *mut Stream);
7371}
7372unsafe extern "C" {
7373    pub fn stm_str(stm: *const Stream) -> *mut String;
7374}
7375unsafe extern "C" {
7376    pub fn stm_buffer(stm: *const Stream) -> *const byte_t;
7377}
7378unsafe extern "C" {
7379    pub fn stm_buffer_size(stm: *const Stream) -> u32;
7380}
7381unsafe extern "C" {
7382    pub fn stm_write(stm: *mut Stream, data: *const byte_t, size: u32);
7383}
7384unsafe extern "C" {
7385    pub fn stm_write_char(stm: *mut Stream, codepoint: u32);
7386}
7387unsafe extern "C" {
7388    pub fn stm_printf(stm: *mut Stream, format: *const char_t, ...) -> u32;
7389}
7390unsafe extern "C" {
7391    pub fn stm_writef(stm: *mut Stream, str_: *const char_t) -> u32;
7392}
7393unsafe extern "C" {
7394    pub fn stm_write_bool(stm: *mut Stream, value: bool_t);
7395}
7396unsafe extern "C" {
7397    pub fn stm_write_i8(stm: *mut Stream, value: i8);
7398}
7399unsafe extern "C" {
7400    pub fn stm_write_i16(stm: *mut Stream, value: i16);
7401}
7402unsafe extern "C" {
7403    pub fn stm_write_i32(stm: *mut Stream, value: i32);
7404}
7405unsafe extern "C" {
7406    pub fn stm_write_i64(stm: *mut Stream, value: i64);
7407}
7408unsafe extern "C" {
7409    pub fn stm_write_u8(stm: *mut Stream, value: u8);
7410}
7411unsafe extern "C" {
7412    pub fn stm_write_u16(stm: *mut Stream, value: u16);
7413}
7414unsafe extern "C" {
7415    pub fn stm_write_u32(stm: *mut Stream, value: u32);
7416}
7417unsafe extern "C" {
7418    pub fn stm_write_u64(stm: *mut Stream, value: u64);
7419}
7420unsafe extern "C" {
7421    pub fn stm_write_r32(stm: *mut Stream, value: real32_t);
7422}
7423unsafe extern "C" {
7424    pub fn stm_write_r64(stm: *mut Stream, value: real64_t);
7425}
7426unsafe extern "C" {
7427    pub fn stm_read(stm: *mut Stream, data: *mut byte_t, size: u32) -> u32;
7428}
7429unsafe extern "C" {
7430    pub fn stm_read_char(stm: *mut Stream) -> u32;
7431}
7432unsafe extern "C" {
7433    pub fn stm_read_chars(stm: *mut Stream, n: u32) -> *const char_t;
7434}
7435unsafe extern "C" {
7436    pub fn stm_read_line(stm: *mut Stream) -> *const char_t;
7437}
7438unsafe extern "C" {
7439    pub fn stm_read_trim(stm: *mut Stream) -> *const char_t;
7440}
7441unsafe extern "C" {
7442    pub fn stm_read_token(stm: *mut Stream) -> ltoken_t;
7443}
7444unsafe extern "C" {
7445    pub fn stm_read_i8_tok(stm: *mut Stream) -> i8;
7446}
7447unsafe extern "C" {
7448    pub fn stm_read_i16_tok(stm: *mut Stream) -> i16;
7449}
7450unsafe extern "C" {
7451    pub fn stm_read_i32_tok(stm: *mut Stream) -> i32;
7452}
7453unsafe extern "C" {
7454    pub fn stm_read_i64_tok(stm: *mut Stream) -> i64;
7455}
7456unsafe extern "C" {
7457    pub fn stm_read_u8_tok(stm: *mut Stream) -> u8;
7458}
7459unsafe extern "C" {
7460    pub fn stm_read_u16_tok(stm: *mut Stream) -> u16;
7461}
7462unsafe extern "C" {
7463    pub fn stm_read_u32_tok(stm: *mut Stream) -> u32;
7464}
7465unsafe extern "C" {
7466    pub fn stm_read_u64_tok(stm: *mut Stream) -> u64;
7467}
7468unsafe extern "C" {
7469    pub fn stm_read_r32_tok(stm: *mut Stream) -> real32_t;
7470}
7471unsafe extern "C" {
7472    pub fn stm_read_r64_tok(stm: *mut Stream) -> real64_t;
7473}
7474unsafe extern "C" {
7475    pub fn stm_read_bool(stm: *mut Stream) -> bool_t;
7476}
7477unsafe extern "C" {
7478    pub fn stm_read_i8(stm: *mut Stream) -> i8;
7479}
7480unsafe extern "C" {
7481    pub fn stm_read_i16(stm: *mut Stream) -> i16;
7482}
7483unsafe extern "C" {
7484    pub fn stm_read_i32(stm: *mut Stream) -> i32;
7485}
7486unsafe extern "C" {
7487    pub fn stm_read_i64(stm: *mut Stream) -> i64;
7488}
7489unsafe extern "C" {
7490    pub fn stm_read_u8(stm: *mut Stream) -> u8;
7491}
7492unsafe extern "C" {
7493    pub fn stm_read_u16(stm: *mut Stream) -> u16;
7494}
7495unsafe extern "C" {
7496    pub fn stm_read_u32(stm: *mut Stream) -> u32;
7497}
7498unsafe extern "C" {
7499    pub fn stm_read_u64(stm: *mut Stream) -> u64;
7500}
7501unsafe extern "C" {
7502    pub fn stm_read_r32(stm: *mut Stream) -> real32_t;
7503}
7504unsafe extern "C" {
7505    pub fn stm_read_r64(stm: *mut Stream) -> real64_t;
7506}
7507unsafe extern "C" {
7508    pub fn stm_skip(stm: *mut Stream, size: u32);
7509}
7510unsafe extern "C" {
7511    pub fn stm_skip_bom(stm: *mut Stream);
7512}
7513unsafe extern "C" {
7514    pub fn stm_skip_token(stm: *mut Stream, token: ltoken_t);
7515}
7516unsafe extern "C" {
7517    pub fn stm_flush(stm: *mut Stream);
7518}
7519unsafe extern "C" {
7520    pub fn stm_pipe(from: *mut Stream, to: *mut Stream, n: u32);
7521}
7522unsafe extern "C" {
7523    pub static mut kSTDIN: *mut Stream;
7524}
7525unsafe extern "C" {
7526    pub static mut kSTDOUT: *mut Stream;
7527}
7528unsafe extern "C" {
7529    pub static mut kSTDERR: *mut Stream;
7530}
7531unsafe extern "C" {
7532    pub static mut kDEVNULL: *mut Stream;
7533}
7534unsafe extern "C" {
7535    pub fn tc(str_: *const String) -> *const char_t;
7536}
7537unsafe extern "C" {
7538    pub fn tcc(str_: *mut String) -> *mut char_t;
7539}
7540unsafe extern "C" {
7541    pub fn str_c(str_: *const char_t) -> *mut String;
7542}
7543unsafe extern "C" {
7544    pub fn str_cn(str_: *const char_t, n: u32) -> *mut String;
7545}
7546unsafe extern "C" {
7547    pub fn str_trim(str_: *const char_t) -> *mut String;
7548}
7549unsafe extern "C" {
7550    pub fn str_trim_n(str_: *const char_t, n: u32) -> *mut String;
7551}
7552unsafe extern "C" {
7553    pub fn str_copy(str_: *const String) -> *mut String;
7554}
7555unsafe extern "C" {
7556    pub fn str_printf(format: *const char_t, ...) -> *mut String;
7557}
7558unsafe extern "C" {
7559    pub fn str_path(platform: platform_t, format: *const char_t, ...) -> *mut String;
7560}
7561unsafe extern "C" {
7562    pub fn str_cpath(format: *const char_t, ...) -> *mut String;
7563}
7564unsafe extern "C" {
7565    pub fn str_relpath(
7566        platform: platform_t,
7567        path1: *const char_t,
7568        path2: *const char_t,
7569    ) -> *mut String;
7570}
7571unsafe extern "C" {
7572    pub fn str_crelpath(path1: *const char_t, path2: *const char_t) -> *mut String;
7573}
7574unsafe extern "C" {
7575    pub fn str_repl(str_: *const char_t, ...) -> *mut String;
7576}
7577unsafe extern "C" {
7578    pub fn str_reserve(n: u32) -> *mut String;
7579}
7580unsafe extern "C" {
7581    pub fn str_fill(n: u32, c: char_t) -> *mut String;
7582}
7583unsafe extern "C" {
7584    pub fn str_read(stream: *mut Stream) -> *mut String;
7585}
7586unsafe extern "C" {
7587    pub fn str_write(stream: *mut Stream, str_: *const String);
7588}
7589unsafe extern "C" {
7590    pub fn str_writef(stream: *mut Stream, str_: *const String);
7591}
7592unsafe extern "C" {
7593    pub fn str_copy_c(dest: *mut char_t, size: u32, src: *const char_t);
7594}
7595unsafe extern "C" {
7596    pub fn str_copy_cn(dest: *mut char_t, size: u32, src: *const char_t, n: u32);
7597}
7598unsafe extern "C" {
7599    pub fn str_cat(dest: *mut *mut String, src: *const char_t);
7600}
7601unsafe extern "C" {
7602    pub fn str_cat_c(dest: *mut char_t, size: u32, src: *const char_t);
7603}
7604unsafe extern "C" {
7605    pub fn str_upd(str_: *mut *mut String, new_str: *const char_t);
7606}
7607unsafe extern "C" {
7608    pub fn str_destroy(str_: *mut *mut String);
7609}
7610unsafe extern "C" {
7611    pub fn str_destopt(str_: *mut *mut String);
7612}
7613unsafe extern "C" {
7614    pub fn str_len(str_: *const String) -> u32;
7615}
7616unsafe extern "C" {
7617    pub fn str_len_c(str_: *const char_t) -> u32;
7618}
7619unsafe extern "C" {
7620    pub fn str_nchars(str_: *const String) -> u32;
7621}
7622unsafe extern "C" {
7623    pub fn str_prefix(str1: *const char_t, str2: *const char_t) -> u32;
7624}
7625unsafe extern "C" {
7626    pub fn str_is_prefix(str_: *const char_t, prefix: *const char_t) -> bool_t;
7627}
7628unsafe extern "C" {
7629    pub fn str_is_sufix(str_: *const char_t, sufix: *const char_t) -> bool_t;
7630}
7631unsafe extern "C" {
7632    pub fn str_scmp(str1: *const String, str2: *const String) -> ::libc::c_int;
7633}
7634unsafe extern "C" {
7635    pub fn str_cmp(str1: *const String, str2: *const char_t) -> ::libc::c_int;
7636}
7637unsafe extern "C" {
7638    pub fn str_cmp_c(str1: *const char_t, str2: *const char_t) -> ::libc::c_int;
7639}
7640unsafe extern "C" {
7641    pub fn str_cmp_cn(str1: *const char_t, str2: *const char_t, n: u32) -> ::libc::c_int;
7642}
7643unsafe extern "C" {
7644    pub fn str_empty(str_: *const String) -> bool_t;
7645}
7646unsafe extern "C" {
7647    pub fn str_empty_c(str_: *const char_t) -> bool_t;
7648}
7649unsafe extern "C" {
7650    pub fn str_equ(str1: *const String, str2: *const char_t) -> bool_t;
7651}
7652unsafe extern "C" {
7653    pub fn str_equ_c(str1: *const char_t, str2: *const char_t) -> bool_t;
7654}
7655unsafe extern "C" {
7656    pub fn str_equ_cn(str1: *const char_t, str2: *const char_t, n: u32) -> bool_t;
7657}
7658unsafe extern "C" {
7659    pub fn str_equ_nocase(str1: *const char_t, str2: *const char_t) -> bool_t;
7660}
7661unsafe extern "C" {
7662    pub fn str_equ_end(str_: *const char_t, end: *const char_t) -> bool_t;
7663}
7664unsafe extern "C" {
7665    pub fn str_upper(str_: *mut String);
7666}
7667unsafe extern "C" {
7668    pub fn str_lower(str_: *mut String);
7669}
7670unsafe extern "C" {
7671    pub fn str_upper_c(dest: *mut char_t, size: u32, str_: *const char_t);
7672}
7673unsafe extern "C" {
7674    pub fn str_lower_c(dest: *mut char_t, size: u32, str_: *const char_t);
7675}
7676unsafe extern "C" {
7677    pub fn str_subs(str_: *mut String, replace: char_t, with: char_t);
7678}
7679unsafe extern "C" {
7680    pub fn str_repl_c(str_: *mut char_t, replace: *const char_t, with: *const char_t);
7681}
7682unsafe extern "C" {
7683    pub fn str_str(str_: *const char_t, substr: *const char_t) -> *const char_t;
7684}
7685unsafe extern "C" {
7686    pub fn str_split(
7687        str_: *const char_t,
7688        substr: *const char_t,
7689        left: *mut *mut String,
7690        right: *mut *mut String,
7691    ) -> bool_t;
7692}
7693unsafe extern "C" {
7694    pub fn str_split_trim(
7695        str_: *const char_t,
7696        substr: *const char_t,
7697        left: *mut *mut String,
7698        right: *mut *mut String,
7699    ) -> bool_t;
7700}
7701unsafe extern "C" {
7702    pub fn str_splits(
7703        str_: *const char_t,
7704        substr: *const char_t,
7705        trim: bool_t,
7706        add_empty: bool_t,
7707    ) -> *mut ArrPtString;
7708}
7709unsafe extern "C" {
7710    pub fn str_split_pathname(
7711        pathname: *const char_t,
7712        path: *mut *mut String,
7713        file: *mut *mut String,
7714    );
7715}
7716unsafe extern "C" {
7717    pub fn str_split_pathext(
7718        pathname: *const char_t,
7719        path: *mut *mut String,
7720        file: *mut *mut String,
7721        ext: *mut *mut String,
7722    );
7723}
7724unsafe extern "C" {
7725    pub fn str_filename(pathname: *const char_t) -> *const char_t;
7726}
7727unsafe extern "C" {
7728    pub fn str_filext(pathname: *const char_t) -> *const char_t;
7729}
7730unsafe extern "C" {
7731    pub fn str_find(array: *const ArrPtString, str_: *const char_t) -> u32;
7732}
7733unsafe extern "C" {
7734    pub fn str_to_i8(str_: *const char_t, base: u32, error: *mut bool_t) -> i8;
7735}
7736unsafe extern "C" {
7737    pub fn str_to_i16(str_: *const char_t, base: u32, error: *mut bool_t) -> i16;
7738}
7739unsafe extern "C" {
7740    pub fn str_to_i32(str_: *const char_t, base: u32, error: *mut bool_t) -> i32;
7741}
7742unsafe extern "C" {
7743    pub fn str_to_i64(str_: *const char_t, base: u32, error: *mut bool_t) -> i64;
7744}
7745unsafe extern "C" {
7746    pub fn str_to_u8(str_: *const char_t, base: u32, error: *mut bool_t) -> u8;
7747}
7748unsafe extern "C" {
7749    pub fn str_to_u16(str_: *const char_t, base: u32, error: *mut bool_t) -> u16;
7750}
7751unsafe extern "C" {
7752    pub fn str_to_u32(str_: *const char_t, base: u32, error: *mut bool_t) -> u32;
7753}
7754unsafe extern "C" {
7755    pub fn str_to_u64(str_: *const char_t, base: u32, error: *mut bool_t) -> u64;
7756}
7757unsafe extern "C" {
7758    pub fn str_to_r32(str_: *const char_t, error: *mut bool_t) -> real32_t;
7759}
7760unsafe extern "C" {
7761    pub fn str_to_r64(str_: *const char_t, error: *mut bool_t) -> real64_t;
7762}
7763unsafe extern "C" {
7764    pub fn tfilter_date(
7765        src: *const char_t,
7766        dest: *mut char_t,
7767        size: u32,
7768        pattern: *const char_t,
7769        cpos: u32,
7770        deleted: bool_t,
7771        ncpos: *mut u32,
7772    );
7773}
7774unsafe extern "C" {
7775    pub fn tfilter_to_date(text: *const char_t, pattern: *const char_t) -> Date;
7776}
7777unsafe extern "C" {
7778    pub fn osbs_start();
7779}
7780unsafe extern "C" {
7781    pub fn osbs_finish();
7782}
7783unsafe extern "C" {
7784    pub fn osbs_platform() -> platform_t;
7785}
7786unsafe extern "C" {
7787    pub fn osbs_windows() -> win_t;
7788}
7789unsafe extern "C" {
7790    pub fn osbs_endian() -> endian_t;
7791}
7792unsafe extern "C" {
7793    pub fn osbs_memory_mt(mutex: *mut Mutex);
7794}
7795unsafe extern "C" {
7796    pub fn bfile_dir_work(pathname: *mut char_t, size: u32) -> u32;
7797}
7798unsafe extern "C" {
7799    pub fn bfile_dir_set_work(pathname: *const char_t, error: *mut ferror_t) -> bool_t;
7800}
7801unsafe extern "C" {
7802    pub fn bfile_dir_home(pathname: *mut char_t, size: u32) -> u32;
7803}
7804unsafe extern "C" {
7805    pub fn bfile_dir_data(pathname: *mut char_t, size: u32) -> u32;
7806}
7807unsafe extern "C" {
7808    pub fn bfile_dir_exec(pathname: *mut char_t, size: u32) -> u32;
7809}
7810unsafe extern "C" {
7811    pub fn bfile_dir_tmp(pathname: *mut char_t, size: u32) -> u32;
7812}
7813unsafe extern "C" {
7814    pub fn bfile_dir_create(pathname: *const char_t, error: *mut ferror_t) -> bool_t;
7815}
7816unsafe extern "C" {
7817    pub fn bfile_dir_open(pathname: *const char_t, error: *mut ferror_t) -> *mut Dir;
7818}
7819unsafe extern "C" {
7820    pub fn bfile_dir_close(dir: *mut *mut Dir);
7821}
7822unsafe extern "C" {
7823    pub fn bfile_dir_get(
7824        dir: *mut Dir,
7825        name: *mut char_t,
7826        size: u32,
7827        type_: *mut file_type_t,
7828        fsize: *mut u64,
7829        updated: *mut Date,
7830        error: *mut ferror_t,
7831    ) -> bool_t;
7832}
7833unsafe extern "C" {
7834    pub fn bfile_dir_delete(pathname: *const char_t, error: *mut ferror_t) -> bool_t;
7835}
7836unsafe extern "C" {
7837    pub fn bfile_create(pathname: *const char_t, error: *mut ferror_t) -> *mut File;
7838}
7839unsafe extern "C" {
7840    pub fn bfile_open(
7841        pathname: *const char_t,
7842        mode: file_mode_t,
7843        error: *mut ferror_t,
7844    ) -> *mut File;
7845}
7846unsafe extern "C" {
7847    pub fn bfile_close(file: *mut *mut File);
7848}
7849unsafe extern "C" {
7850    pub fn bfile_lstat(
7851        pathname: *const char_t,
7852        type_: *mut file_type_t,
7853        size: *mut u64,
7854        updated: *mut Date,
7855        error: *mut ferror_t,
7856    ) -> bool_t;
7857}
7858unsafe extern "C" {
7859    pub fn bfile_fstat(
7860        file: *const File,
7861        type_: *mut file_type_t,
7862        size: *mut u64,
7863        updated: *mut Date,
7864        error: *mut ferror_t,
7865    ) -> bool_t;
7866}
7867unsafe extern "C" {
7868    pub fn bfile_read(
7869        file: *mut File,
7870        data: *mut byte_t,
7871        size: u32,
7872        rsize: *mut u32,
7873        error: *mut ferror_t,
7874    ) -> bool_t;
7875}
7876unsafe extern "C" {
7877    pub fn bfile_write(
7878        file: *mut File,
7879        data: *const byte_t,
7880        size: u32,
7881        wsize: *mut u32,
7882        error: *mut ferror_t,
7883    ) -> bool_t;
7884}
7885unsafe extern "C" {
7886    pub fn bfile_seek(
7887        file: *mut File,
7888        offset: i64,
7889        whence: file_seek_t,
7890        error: *mut ferror_t,
7891    ) -> bool_t;
7892}
7893unsafe extern "C" {
7894    pub fn bfile_pos(file: *const File) -> u64;
7895}
7896unsafe extern "C" {
7897    pub fn bfile_delete(pathname: *const char_t, error: *mut ferror_t) -> bool_t;
7898}
7899unsafe extern "C" {
7900    pub fn bfile_rename(
7901        current_pathname: *const char_t,
7902        new_pathname: *const char_t,
7903        error: *mut ferror_t,
7904    ) -> bool_t;
7905}
7906unsafe extern "C" {
7907    pub fn bmutex_create() -> *mut Mutex;
7908}
7909unsafe extern "C" {
7910    pub fn bmutex_close(mutex: *mut *mut Mutex);
7911}
7912unsafe extern "C" {
7913    pub fn bmutex_lock(mutex: *mut Mutex);
7914}
7915unsafe extern "C" {
7916    pub fn bmutex_unlock(mutex: *mut Mutex);
7917}
7918unsafe extern "C" {
7919    pub fn bproc_exec(command: *const char_t, error: *mut perror_t) -> *mut Proc;
7920}
7921unsafe extern "C" {
7922    pub fn bproc_close(proc_: *mut *mut Proc);
7923}
7924unsafe extern "C" {
7925    pub fn bproc_cancel(proc_: *mut Proc) -> bool_t;
7926}
7927unsafe extern "C" {
7928    pub fn bproc_wait(proc_: *mut Proc) -> u32;
7929}
7930unsafe extern "C" {
7931    pub fn bproc_finish(proc_: *mut Proc, code: *mut u32) -> bool_t;
7932}
7933unsafe extern "C" {
7934    pub fn bproc_read(
7935        proc_: *mut Proc,
7936        data: *mut byte_t,
7937        size: u32,
7938        rsize: *mut u32,
7939        error: *mut perror_t,
7940    ) -> bool_t;
7941}
7942unsafe extern "C" {
7943    pub fn bproc_eread(
7944        proc_: *mut Proc,
7945        data: *mut byte_t,
7946        size: u32,
7947        rsize: *mut u32,
7948        error: *mut perror_t,
7949    ) -> bool_t;
7950}
7951unsafe extern "C" {
7952    pub fn bproc_write(
7953        proc_: *mut Proc,
7954        data: *const byte_t,
7955        size: u32,
7956        wsize: *mut u32,
7957        error: *mut perror_t,
7958    ) -> bool_t;
7959}
7960unsafe extern "C" {
7961    pub fn bproc_read_close(proc_: *mut Proc) -> bool_t;
7962}
7963unsafe extern "C" {
7964    pub fn bproc_eread_close(proc_: *mut Proc) -> bool_t;
7965}
7966unsafe extern "C" {
7967    pub fn bproc_write_close(proc_: *mut Proc) -> bool_t;
7968}
7969unsafe extern "C" {
7970    pub fn bproc_exit(code: u32);
7971}
7972unsafe extern "C" {
7973    pub fn bsocket_connect(
7974        ip: u32,
7975        port: u16,
7976        timeout_ms: u32,
7977        error: *mut serror_t,
7978    ) -> *mut Socket;
7979}
7980unsafe extern "C" {
7981    pub fn bsocket_server(port: u16, max_connect: u32, error: *mut serror_t) -> *mut Socket;
7982}
7983unsafe extern "C" {
7984    pub fn bsocket_accept(
7985        socket: *mut Socket,
7986        timeout_ms: u32,
7987        error: *mut serror_t,
7988    ) -> *mut Socket;
7989}
7990unsafe extern "C" {
7991    pub fn bsocket_close(socket: *mut *mut Socket);
7992}
7993unsafe extern "C" {
7994    pub fn bsocket_local_ip(socket: *mut Socket, ip: *mut u32, port: *mut u16);
7995}
7996unsafe extern "C" {
7997    pub fn bsocket_remote_ip(socket: *mut Socket, ip: *mut u32, port: *mut u16);
7998}
7999unsafe extern "C" {
8000    pub fn bsocket_read_timeout(socket: *mut Socket, timeout_ms: u32);
8001}
8002unsafe extern "C" {
8003    pub fn bsocket_write_timeout(socket: *mut Socket, timeout_ms: u32);
8004}
8005unsafe extern "C" {
8006    pub fn bsocket_read(
8007        socket: *mut Socket,
8008        data: *mut byte_t,
8009        size: u32,
8010        rsize: *mut u32,
8011        error: *mut serror_t,
8012    ) -> bool_t;
8013}
8014unsafe extern "C" {
8015    pub fn bsocket_write(
8016        socket: *mut Socket,
8017        data: *const byte_t,
8018        size: u32,
8019        wsize: *mut u32,
8020        error: *mut serror_t,
8021    ) -> bool_t;
8022}
8023unsafe extern "C" {
8024    pub fn bsocket_url_ip(url: *const char_t, error: *mut serror_t) -> u32;
8025}
8026unsafe extern "C" {
8027    pub fn bsocket_str_ip(ip: *const char_t) -> u32;
8028}
8029unsafe extern "C" {
8030    pub fn bsocket_host_name(buffer: *mut char_t, size: u32) -> *const char_t;
8031}
8032unsafe extern "C" {
8033    pub fn bsocket_host_name_ip(ip: u32, buffer: *mut char_t, size: u32) -> *const char_t;
8034}
8035unsafe extern "C" {
8036    pub fn bsocket_ip_str(ip: u32) -> *const char_t;
8037}
8038unsafe extern "C" {
8039    pub fn bsocket_hton2(dest: *mut byte_t, src: *const byte_t);
8040}
8041unsafe extern "C" {
8042    pub fn bsocket_hton4(dest: *mut byte_t, src: *const byte_t);
8043}
8044unsafe extern "C" {
8045    pub fn bsocket_hton8(dest: *mut byte_t, src: *const byte_t);
8046}
8047unsafe extern "C" {
8048    pub fn bsocket_ntoh2(dest: *mut byte_t, src: *const byte_t);
8049}
8050unsafe extern "C" {
8051    pub fn bsocket_ntoh4(dest: *mut byte_t, src: *const byte_t);
8052}
8053unsafe extern "C" {
8054    pub fn bsocket_ntoh8(dest: *mut byte_t, src: *const byte_t);
8055}
8056unsafe extern "C" {
8057    pub fn bthread_create_imp(thmain: FPtr_thread_main, data: *mut ::libc::c_void) -> *mut Thread;
8058}
8059unsafe extern "C" {
8060    pub fn bthread_current_id() -> ::libc::c_int;
8061}
8062unsafe extern "C" {
8063    pub fn bthread_close(thread: *mut *mut Thread);
8064}
8065unsafe extern "C" {
8066    pub fn bthread_cancel(thread: *mut Thread) -> bool_t;
8067}
8068unsafe extern "C" {
8069    pub fn bthread_wait(thread: *mut Thread) -> u32;
8070}
8071unsafe extern "C" {
8072    pub fn bthread_finish(thread: *mut Thread, code: *mut u32) -> bool_t;
8073}
8074unsafe extern "C" {
8075    pub fn bthread_sleep(milliseconds: u32);
8076}
8077unsafe extern "C" {
8078    pub fn btime_now() -> u64;
8079}
8080unsafe extern "C" {
8081    pub fn btime_date(date: *mut Date);
8082}
8083unsafe extern "C" {
8084    pub fn btime_to_micro(date: *const Date) -> u64;
8085}
8086unsafe extern "C" {
8087    pub fn btime_to_date(micro: u64, date: *mut Date);
8088}
8089unsafe extern "C" {
8090    pub fn dlib_open(path: *const char_t, libname: *const char_t) -> *mut DLib;
8091}
8092unsafe extern "C" {
8093    pub fn dlib_close(dlib: *mut *mut DLib);
8094}
8095unsafe extern "C" {
8096    pub fn dlib_proc_imp(dlib: *mut DLib, procname: *const char_t) -> FPtr_libproc;
8097}
8098unsafe extern "C" {
8099    pub fn dlib_var_imp(dlib: *mut DLib, varname: *const char_t) -> *mut ::libc::c_void;
8100}
8101unsafe extern "C" {
8102    pub fn log_printf(format: *const char_t, ...) -> u32;
8103}
8104unsafe extern "C" {
8105    pub fn log_output(std: bool_t, err: bool_t);
8106}
8107unsafe extern "C" {
8108    pub fn log_file(pathname: *const char_t);
8109}
8110unsafe extern "C" {
8111    pub fn log_get_file() -> *const char_t;
8112}
8113unsafe extern "C" {
8114    pub fn sewer_start();
8115}
8116unsafe extern "C" {
8117    pub fn sewer_finish();
8118}
8119unsafe extern "C" {
8120    pub fn sewer_nappgui_major() -> u32;
8121}
8122unsafe extern "C" {
8123    pub fn sewer_nappgui_minor() -> u32;
8124}
8125unsafe extern "C" {
8126    pub fn sewer_nappgui_patch() -> u32;
8127}
8128unsafe extern "C" {
8129    pub fn sewer_nappgui_build() -> u32;
8130}
8131unsafe extern "C" {
8132    pub fn sewer_nappgui_version(full: bool_t) -> *const char_t;
8133}
8134unsafe extern "C" {
8135    pub fn blib_strlen(str_: *const char_t) -> u32;
8136}
8137unsafe extern "C" {
8138    pub fn blib_strstr(str_: *const char_t, substr: *const char_t) -> *mut char_t;
8139}
8140unsafe extern "C" {
8141    pub fn blib_strcpy(dest: *mut char_t, size: u32, src: *const char_t);
8142}
8143unsafe extern "C" {
8144    pub fn blib_strncpy(dest: *mut char_t, size: u32, src: *const char_t, n: u32);
8145}
8146unsafe extern "C" {
8147    pub fn blib_strcat(dest: *mut char_t, size: u32, src: *const char_t);
8148}
8149unsafe extern "C" {
8150    pub fn blib_strcmp(str1: *const char_t, str2: *const char_t) -> ::libc::c_int;
8151}
8152unsafe extern "C" {
8153    pub fn blib_strncmp(str1: *const char_t, str2: *const char_t, n: u32) -> ::libc::c_int;
8154}
8155unsafe extern "C" {
8156    pub fn blib_strftime(
8157        dest: *mut char_t,
8158        size: u32,
8159        format: *const char_t,
8160        year: i16,
8161        month: u8,
8162        mday: u8,
8163        wday: u8,
8164        hour: u8,
8165        minute: u8,
8166        second: u8,
8167    ) -> u32;
8168}
8169unsafe extern "C" {
8170    pub fn blib_strtol(
8171        str_: *const char_t,
8172        endptr: *mut *mut char_t,
8173        base: u32,
8174        err: *mut bool_t,
8175    ) -> i64;
8176}
8177unsafe extern "C" {
8178    pub fn blib_strtoul(
8179        str_: *const char_t,
8180        endptr: *mut *mut char_t,
8181        base: u32,
8182        err: *mut bool_t,
8183    ) -> u64;
8184}
8185unsafe extern "C" {
8186    pub fn blib_strtof(str_: *const char_t, endptr: *mut *mut char_t, err: *mut bool_t)
8187        -> real32_t;
8188}
8189unsafe extern "C" {
8190    pub fn blib_strtod(str_: *const char_t, endptr: *mut *mut char_t, err: *mut bool_t)
8191        -> real64_t;
8192}
8193unsafe extern "C" {
8194    pub fn blib_qsort(array: *mut byte_t, nelems: u32, size: u32, func_compare: FPtr_compare);
8195}
8196unsafe extern "C" {
8197    pub fn blib_qsort_ex(
8198        array: *const byte_t,
8199        nelems: u32,
8200        size: u32,
8201        func_compare: FPtr_compare_ex,
8202        data: *const byte_t,
8203    );
8204}
8205unsafe extern "C" {
8206    pub fn blib_bsearch(
8207        array: *const byte_t,
8208        key: *const byte_t,
8209        nelems: u32,
8210        size: u32,
8211        func_compare: FPtr_compare,
8212        pos: *mut u32,
8213    ) -> bool_t;
8214}
8215unsafe extern "C" {
8216    pub fn blib_bsearch_ex(
8217        array: *const byte_t,
8218        key: *const byte_t,
8219        nelems: u32,
8220        size: u32,
8221        func_compare: FPtr_compare_ex,
8222        data: *const byte_t,
8223        pos: *mut u32,
8224    ) -> bool_t;
8225}
8226unsafe extern "C" {
8227    pub fn blib_getenv(name: *const char_t) -> *const char_t;
8228}
8229unsafe extern "C" {
8230    pub fn blib_setenv(name: *const char_t, value: *const char_t) -> i32;
8231}
8232unsafe extern "C" {
8233    pub fn blib_atexit(func: ::core::option::Option<unsafe extern "C" fn()>);
8234}
8235unsafe extern "C" {
8236    pub fn blib_abort();
8237}
8238unsafe extern "C" {
8239    pub fn blib_exit(code: ::libc::c_int);
8240}
8241unsafe extern "C" {
8242    pub fn blib_debug_break();
8243}
8244unsafe extern "C" {
8245    pub fn bmath_cosf(angle: real32_t) -> real32_t;
8246}
8247unsafe extern "C" {
8248    pub fn bmath_cosd(angle: real64_t) -> real64_t;
8249}
8250unsafe extern "C" {
8251    pub fn bmath_sinf(angle: real32_t) -> real32_t;
8252}
8253unsafe extern "C" {
8254    pub fn bmath_sind(angle: real64_t) -> real64_t;
8255}
8256unsafe extern "C" {
8257    pub fn bmath_tanf(angle: real32_t) -> real32_t;
8258}
8259unsafe extern "C" {
8260    pub fn bmath_tand(angle: real64_t) -> real64_t;
8261}
8262unsafe extern "C" {
8263    pub fn bmath_acosf(cos: real32_t) -> real32_t;
8264}
8265unsafe extern "C" {
8266    pub fn bmath_acosd(cos: real64_t) -> real64_t;
8267}
8268unsafe extern "C" {
8269    pub fn bmath_asinf(sin: real32_t) -> real32_t;
8270}
8271unsafe extern "C" {
8272    pub fn bmath_asind(sin: real64_t) -> real64_t;
8273}
8274unsafe extern "C" {
8275    pub fn bmath_atan2f(y: real32_t, x: real32_t) -> real32_t;
8276}
8277unsafe extern "C" {
8278    pub fn bmath_atan2d(y: real64_t, x: real64_t) -> real64_t;
8279}
8280unsafe extern "C" {
8281    pub fn bmath_norm_anglef(a: real32_t) -> real32_t;
8282}
8283unsafe extern "C" {
8284    pub fn bmath_norm_angled(a: real64_t) -> real64_t;
8285}
8286unsafe extern "C" {
8287    pub fn bmath_sqrtf(value: real32_t) -> real32_t;
8288}
8289unsafe extern "C" {
8290    pub fn bmath_sqrtd(value: real64_t) -> real64_t;
8291}
8292unsafe extern "C" {
8293    pub fn bmath_isqrtf(value: real32_t) -> real32_t;
8294}
8295unsafe extern "C" {
8296    pub fn bmath_isqrtd(value: real64_t) -> real64_t;
8297}
8298unsafe extern "C" {
8299    pub fn bmath_logf(value: real32_t) -> real32_t;
8300}
8301unsafe extern "C" {
8302    pub fn bmath_logd(value: real64_t) -> real64_t;
8303}
8304unsafe extern "C" {
8305    pub fn bmath_log10f(value: real32_t) -> real32_t;
8306}
8307unsafe extern "C" {
8308    pub fn bmath_log10d(value: real64_t) -> real64_t;
8309}
8310unsafe extern "C" {
8311    pub fn bmath_expf(value: real32_t) -> real32_t;
8312}
8313unsafe extern "C" {
8314    pub fn bmath_expd(value: real64_t) -> real64_t;
8315}
8316unsafe extern "C" {
8317    pub fn bmath_powf(base: real32_t, exponent: real32_t) -> real32_t;
8318}
8319unsafe extern "C" {
8320    pub fn bmath_powd(base: real64_t, exponent: real64_t) -> real64_t;
8321}
8322unsafe extern "C" {
8323    pub fn bmath_absf(value: real32_t) -> real32_t;
8324}
8325unsafe extern "C" {
8326    pub fn bmath_absd(value: real64_t) -> real64_t;
8327}
8328unsafe extern "C" {
8329    pub fn bmath_maxf(value1: real32_t, value2: real32_t) -> real32_t;
8330}
8331unsafe extern "C" {
8332    pub fn bmath_maxd(value1: real64_t, value2: real64_t) -> real64_t;
8333}
8334unsafe extern "C" {
8335    pub fn bmath_minf(value1: real32_t, value2: real32_t) -> real32_t;
8336}
8337unsafe extern "C" {
8338    pub fn bmath_mind(value1: real64_t, value2: real64_t) -> real64_t;
8339}
8340unsafe extern "C" {
8341    pub fn bmath_clampf(value: real32_t, min: real32_t, max: real32_t) -> real32_t;
8342}
8343unsafe extern "C" {
8344    pub fn bmath_clampd(value: real64_t, min: real64_t, max: real64_t) -> real64_t;
8345}
8346unsafe extern "C" {
8347    pub fn bmath_modf(num: real32_t, den: real32_t) -> real32_t;
8348}
8349unsafe extern "C" {
8350    pub fn bmath_modd(num: real64_t, den: real64_t) -> real64_t;
8351}
8352unsafe extern "C" {
8353    pub fn bmath_modff(value: real32_t, intpart: *mut real32_t) -> real32_t;
8354}
8355unsafe extern "C" {
8356    pub fn bmath_modfd(value: real64_t, intpart: *mut real64_t) -> real64_t;
8357}
8358unsafe extern "C" {
8359    pub fn bmath_precf(value: real32_t) -> u32;
8360}
8361unsafe extern "C" {
8362    pub fn bmath_precd(value: real64_t) -> u32;
8363}
8364unsafe extern "C" {
8365    pub fn bmath_roundf(value: real32_t) -> real32_t;
8366}
8367unsafe extern "C" {
8368    pub fn bmath_roundd(value: real64_t) -> real64_t;
8369}
8370unsafe extern "C" {
8371    pub fn bmath_round_stepf(value: real32_t, step: real32_t) -> real32_t;
8372}
8373unsafe extern "C" {
8374    pub fn bmath_round_stepd(value: real64_t, step: real64_t) -> real64_t;
8375}
8376unsafe extern "C" {
8377    pub fn bmath_floorf(value: real32_t) -> real32_t;
8378}
8379unsafe extern "C" {
8380    pub fn bmath_floord(value: real64_t) -> real64_t;
8381}
8382unsafe extern "C" {
8383    pub fn bmath_ceilf(value: real32_t) -> real32_t;
8384}
8385unsafe extern "C" {
8386    pub fn bmath_ceild(value: real64_t) -> real64_t;
8387}
8388unsafe extern "C" {
8389    pub fn bmath_rand_seed(seed: u32);
8390}
8391unsafe extern "C" {
8392    pub fn bmath_randf(from: real32_t, to: real32_t) -> real32_t;
8393}
8394unsafe extern "C" {
8395    pub fn bmath_randd(from: real64_t, to: real64_t) -> real64_t;
8396}
8397unsafe extern "C" {
8398    pub fn bmath_randi(from: u32, to: u32) -> u32;
8399}
8400unsafe extern "C" {
8401    pub fn bmath_rand_env(seed: u32) -> *mut REnv;
8402}
8403unsafe extern "C" {
8404    pub fn bmath_rand_destroy(env: *mut *mut REnv);
8405}
8406unsafe extern "C" {
8407    pub fn bmath_rand_mtf(env: *mut REnv, from: real32_t, to: real32_t) -> real32_t;
8408}
8409unsafe extern "C" {
8410    pub fn bmath_rand_mtd(env: *mut REnv, from: real64_t, to: real64_t) -> real64_t;
8411}
8412unsafe extern "C" {
8413    pub fn bmath_rand_mti(env: *mut REnv, from: u32, to: u32) -> u32;
8414}
8415unsafe extern "C" {
8416    pub static kBMATH_Ef: real32_t;
8417}
8418unsafe extern "C" {
8419    pub static kBMATH_Ed: real64_t;
8420}
8421unsafe extern "C" {
8422    pub static kBMATH_LN2f: real32_t;
8423}
8424unsafe extern "C" {
8425    pub static kBMATH_LN2d: real64_t;
8426}
8427unsafe extern "C" {
8428    pub static kBMATH_LN10f: real32_t;
8429}
8430unsafe extern "C" {
8431    pub static kBMATH_LN10d: real64_t;
8432}
8433unsafe extern "C" {
8434    pub static kBMATH_PIf: real32_t;
8435}
8436unsafe extern "C" {
8437    pub static kBMATH_PId: real64_t;
8438}
8439unsafe extern "C" {
8440    pub static kBMATH_SQRT2f: real32_t;
8441}
8442unsafe extern "C" {
8443    pub static kBMATH_SQRT2d: real64_t;
8444}
8445unsafe extern "C" {
8446    pub static kBMATH_SQRT3f: real32_t;
8447}
8448unsafe extern "C" {
8449    pub static kBMATH_SQRT3d: real64_t;
8450}
8451unsafe extern "C" {
8452    pub static kBMATH_DEG2RADf: real32_t;
8453}
8454unsafe extern "C" {
8455    pub static kBMATH_DEG2RADd: real64_t;
8456}
8457unsafe extern "C" {
8458    pub static kBMATH_RAD2DEGf: real32_t;
8459}
8460unsafe extern "C" {
8461    pub static kBMATH_RAD2DEGd: real64_t;
8462}
8463unsafe extern "C" {
8464    pub static kBMATH_INFINITYf: real32_t;
8465}
8466unsafe extern "C" {
8467    pub static kBMATH_INFINITYd: real64_t;
8468}
8469unsafe extern "C" {
8470    pub fn bmem_aligned_malloc(size: u32, align: u32) -> *mut byte_t;
8471}
8472unsafe extern "C" {
8473    pub fn bmem_aligned_realloc(
8474        mem: *mut byte_t,
8475        size: u32,
8476        new_size: u32,
8477        align: u32,
8478    ) -> *mut byte_t;
8479}
8480unsafe extern "C" {
8481    pub fn bmem_free(mem: *mut byte_t);
8482}
8483unsafe extern "C" {
8484    pub fn bmem_set1(dest: *mut byte_t, size: u32, mask: byte_t);
8485}
8486unsafe extern "C" {
8487    pub fn bmem_set4(dest: *mut byte_t, size: u32, mask: *const byte_t);
8488}
8489unsafe extern "C" {
8490    pub fn bmem_set8(dest: *mut byte_t, size: u32, mask: *const byte_t);
8491}
8492unsafe extern "C" {
8493    pub fn bmem_set16(dest: *mut byte_t, size: u32, mask: *const byte_t);
8494}
8495unsafe extern "C" {
8496    pub fn bmem_cmp(mem1: *const byte_t, mem2: *const byte_t, size: u32) -> ::libc::c_int;
8497}
8498unsafe extern "C" {
8499    pub fn bmem_is_zero(mem: *const byte_t, size: u32) -> bool_t;
8500}
8501unsafe extern "C" {
8502    pub fn bmem_set_zero(dest: *mut byte_t, size: u32);
8503}
8504unsafe extern "C" {
8505    pub fn bmem_copy(dest: *mut byte_t, src: *const byte_t, size: u32);
8506}
8507unsafe extern "C" {
8508    pub fn bmem_move(dest: *mut byte_t, src: *const byte_t, size: u32);
8509}
8510unsafe extern "C" {
8511    pub fn bmem_overlaps(
8512        mem1: *const byte_t,
8513        mem2: *const byte_t,
8514        size1: u32,
8515        size2: u32,
8516    ) -> bool_t;
8517}
8518unsafe extern "C" {
8519    pub fn bmem_rev(mem: *mut byte_t, size: u32);
8520}
8521unsafe extern "C" {
8522    pub fn bmem_rev2(mem: *mut byte_t);
8523}
8524unsafe extern "C" {
8525    pub fn bmem_rev4(mem: *mut byte_t);
8526}
8527unsafe extern "C" {
8528    pub fn bmem_rev8(mem: *mut byte_t);
8529}
8530unsafe extern "C" {
8531    pub fn bmem_revcopy(dest: *mut byte_t, src: *const byte_t, size: u32);
8532}
8533unsafe extern "C" {
8534    pub fn bmem_rev_elems_imp(data: *mut byte_t, num_elems: u32, elem_size: u32);
8535}
8536unsafe extern "C" {
8537    pub fn bmem_swap(mem1: *mut byte_t, mem2: *mut byte_t, size: u32);
8538}
8539unsafe extern "C" {
8540    pub fn bmem_shuffle(mem: *mut byte_t, size: u32, esize: u32);
8541}
8542unsafe extern "C" {
8543    pub fn bstd_sprintf(str_: *mut char_t, size: u32, format: *const char_t, ...) -> u32;
8544}
8545unsafe extern "C" {
8546    pub fn bstd_vsprintf(str_: *mut char_t, size: u32, format: *const char_t, args: va_list)
8547        -> u32;
8548}
8549unsafe extern "C" {
8550    pub fn bstd_printf(format: *const char_t, ...) -> u32;
8551}
8552unsafe extern "C" {
8553    pub fn bstd_eprintf(format: *const char_t, ...) -> u32;
8554}
8555unsafe extern "C" {
8556    pub fn bstd_writef(str_: *const char_t) -> u32;
8557}
8558unsafe extern "C" {
8559    pub fn bstd_ewritef(str_: *const char_t) -> u32;
8560}
8561unsafe extern "C" {
8562    pub fn bstd_read(data: *mut byte_t, size: u32, rsize: *mut u32) -> bool_t;
8563}
8564unsafe extern "C" {
8565    pub fn bstd_write(data: *const byte_t, size: u32, wsize: *mut u32) -> bool_t;
8566}
8567unsafe extern "C" {
8568    pub fn bstd_ewrite(data: *const byte_t, size: u32, wsize: *mut u32) -> bool_t;
8569}
8570unsafe extern "C" {
8571    pub fn cassert_set_func(data: *mut ::libc::c_void, func_assert: FPtr_assert);
8572}
8573unsafe extern "C" {
8574    pub fn cassert_imp(cond: bool_t, detail: *const char_t, file: *const char_t, line: u32);
8575}
8576unsafe extern "C" {
8577    pub fn cassert_fatal_imp(cond: bool_t, detail: *const char_t, file: *const char_t, line: u32);
8578}
8579unsafe extern "C" {
8580    pub fn cassert_no_null_imp(
8581        ptr: *mut ::libc::c_void,
8582        detail: *const char_t,
8583        file: *const char_t,
8584        line: u32,
8585    );
8586}
8587unsafe extern "C" {
8588    pub fn cassert_no_nullf_imp(
8589        ptr: ::core::option::Option<unsafe extern "C" fn()>,
8590        detail: *const char_t,
8591        file: *const char_t,
8592        line: u32,
8593    );
8594}
8595unsafe extern "C" {
8596    pub fn cassert_default_imp(file: *const char_t, line: u32);
8597}
8598unsafe extern "C" {
8599    pub fn ptr_dget_imp(dptr: *mut *mut ::libc::c_void) -> *mut ::libc::c_void;
8600}
8601unsafe extern "C" {
8602    pub fn ptr_dget_no_null_imp(dptr: *mut *mut ::libc::c_void) -> *mut ::libc::c_void;
8603}
8604unsafe extern "C" {
8605    pub fn ptr_destopt_imp(dptr: *mut *mut ::libc::c_void, func_destroy: FPtr_destroy);
8606}
8607unsafe extern "C" {
8608    pub fn ptr_copyopt_imp(ptr: *mut ::libc::c_void, func_copy: FPtr_copy) -> *mut ::libc::c_void;
8609}
8610unsafe extern "C" {
8611    pub fn min_u32(v1: u32, v2: u32) -> u32;
8612}
8613unsafe extern "C" {
8614    pub fn min_r32(v1: real32_t, v2: real32_t) -> real32_t;
8615}
8616unsafe extern "C" {
8617    pub fn min_r64(v1: real64_t, v2: real64_t) -> real64_t;
8618}
8619unsafe extern "C" {
8620    pub fn max_u32(v1: u32, v2: u32) -> u32;
8621}
8622unsafe extern "C" {
8623    pub fn max_r32(v1: real32_t, v2: real32_t) -> real32_t;
8624}
8625unsafe extern "C" {
8626    pub fn max_r64(v1: real64_t, v2: real64_t) -> real64_t;
8627}
8628unsafe extern "C" {
8629    pub fn abs_r32(v: real32_t) -> real32_t;
8630}
8631unsafe extern "C" {
8632    pub fn to_u8(v: u32) -> u8;
8633}
8634unsafe extern "C" {
8635    pub fn unicode_convers(
8636        from_str: *const char_t,
8637        to_str: *mut char_t,
8638        from: unicode_t,
8639        to: unicode_t,
8640        osize: u32,
8641    ) -> u32;
8642}
8643unsafe extern "C" {
8644    pub fn unicode_convers_n(
8645        from_str: *const char_t,
8646        to_str: *mut char_t,
8647        from: unicode_t,
8648        to: unicode_t,
8649        isize_: u32,
8650        osize: u32,
8651    ) -> u32;
8652}
8653unsafe extern "C" {
8654    pub fn unicode_convers_nbytes(str_: *const char_t, from: unicode_t, to: unicode_t) -> u32;
8655}
8656unsafe extern "C" {
8657    pub fn unicode_convers_nbytes_n(
8658        str_: *const char_t,
8659        isize_: u32,
8660        from: unicode_t,
8661        to: unicode_t,
8662    ) -> u32;
8663}
8664unsafe extern "C" {
8665    pub fn unicode_nbytes(str_: *const char_t, format: unicode_t) -> u32;
8666}
8667unsafe extern "C" {
8668    pub fn unicode_nchars(str_: *const char_t, format: unicode_t) -> u32;
8669}
8670unsafe extern "C" {
8671    pub fn unicode_to_u32(str_: *const char_t, format: unicode_t) -> u32;
8672}
8673unsafe extern "C" {
8674    pub fn unicode_to_u32b(str_: *const char_t, format: unicode_t, bytes: *mut u32) -> u32;
8675}
8676unsafe extern "C" {
8677    pub fn unicode_to_char(codepoint: u32, str_: *mut char_t, format: unicode_t) -> u32;
8678}
8679unsafe extern "C" {
8680    pub fn unicode_valid_str(str_: *const char_t, format: unicode_t) -> bool_t;
8681}
8682unsafe extern "C" {
8683    pub fn unicode_valid_str_n(str_: *const char_t, size: u32, format: unicode_t) -> bool_t;
8684}
8685unsafe extern "C" {
8686    pub fn unicode_valid(codepoint: u32) -> bool_t;
8687}
8688unsafe extern "C" {
8689    pub fn unicode_next(str_: *const char_t, format: unicode_t) -> *const char_t;
8690}
8691unsafe extern "C" {
8692    pub fn unicode_back(str_: *const char_t, format: unicode_t) -> *const char_t;
8693}
8694unsafe extern "C" {
8695    pub fn unicode_move(str_: *const char_t, nchars: u32, format: unicode_t) -> *const char_t;
8696}
8697unsafe extern "C" {
8698    pub fn unicode_isascii(codepoint: u32) -> bool_t;
8699}
8700unsafe extern "C" {
8701    pub fn unicode_isalnum(codepoint: u32) -> bool_t;
8702}
8703unsafe extern "C" {
8704    pub fn unicode_isalpha(codepoint: u32) -> bool_t;
8705}
8706unsafe extern "C" {
8707    pub fn unicode_iscntrl(codepoint: u32) -> bool_t;
8708}
8709unsafe extern "C" {
8710    pub fn unicode_isdigit(codepoint: u32) -> bool_t;
8711}
8712unsafe extern "C" {
8713    pub fn unicode_isgraph(codepoint: u32) -> bool_t;
8714}
8715unsafe extern "C" {
8716    pub fn unicode_isprint(codepoint: u32) -> bool_t;
8717}
8718unsafe extern "C" {
8719    pub fn unicode_ispunct(codepoint: u32) -> bool_t;
8720}
8721unsafe extern "C" {
8722    pub fn unicode_isspace(codepoint: u32) -> bool_t;
8723}
8724unsafe extern "C" {
8725    pub fn unicode_isxdigit(codepoint: u32) -> bool_t;
8726}
8727unsafe extern "C" {
8728    pub fn unicode_islower(codepoint: u32) -> bool_t;
8729}
8730unsafe extern "C" {
8731    pub fn unicode_isupper(codepoint: u32) -> bool_t;
8732}
8733unsafe extern "C" {
8734    pub fn unicode_tolower(codepoint: u32) -> u32;
8735}
8736unsafe extern "C" {
8737    pub fn unicode_toupper(codepoint: u32) -> u32;
8738}
8739#[repr(C)]
8740#[derive(Debug, Copy, Clone)]
8741pub struct __crt_locale_data {
8742    pub _address: u8,
8743}
8744#[repr(C)]
8745#[derive(Debug, Copy, Clone)]
8746pub struct __crt_multibyte_data {
8747    pub _address: u8,
8748}