tcod_sys/
lib.rs

1#![allow(non_camel_case_types, non_snake_case, non_upper_case_globals)]
2/* automatically generated by rust-bindgen */
3
4#[repr(C)]
5pub struct __BindgenUnionField<T>(::std::marker::PhantomData<T>);
6impl <T> __BindgenUnionField<T> {
7    #[inline]
8    pub fn new() -> Self { __BindgenUnionField(::std::marker::PhantomData) }
9    #[inline]
10    pub unsafe fn as_ref(&self) -> &T { ::std::mem::transmute(self) }
11    #[inline]
12    pub unsafe fn as_mut(&mut self) -> &mut T { ::std::mem::transmute(self) }
13}
14impl <T> ::std::default::Default for __BindgenUnionField<T> {
15    #[inline]
16    fn default() -> Self { Self::new() }
17}
18impl <T> ::std::clone::Clone for __BindgenUnionField<T> {
19    #[inline]
20    fn clone(&self) -> Self { Self::new() }
21}
22impl <T> ::std::marker::Copy for __BindgenUnionField<T> { }
23impl <T> ::std::fmt::Debug for __BindgenUnionField<T> {
24    fn fmt(&self, fmt: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
25        fmt.write_str("__BindgenUnionField")
26    }
27}
28pub const _WCHAR_H: ::std::os::raw::c_uint = 1;
29pub const _FEATURES_H: ::std::os::raw::c_uint = 1;
30pub const _DEFAULT_SOURCE: ::std::os::raw::c_uint = 1;
31pub const __USE_ISOC11: ::std::os::raw::c_uint = 1;
32pub const __USE_ISOC99: ::std::os::raw::c_uint = 1;
33pub const __USE_ISOC95: ::std::os::raw::c_uint = 1;
34pub const __USE_POSIX_IMPLICITLY: ::std::os::raw::c_uint = 1;
35pub const _POSIX_SOURCE: ::std::os::raw::c_uint = 1;
36pub const _POSIX_C_SOURCE: ::std::os::raw::c_uint = 200809;
37pub const __USE_POSIX: ::std::os::raw::c_uint = 1;
38pub const __USE_POSIX2: ::std::os::raw::c_uint = 1;
39pub const __USE_POSIX199309: ::std::os::raw::c_uint = 1;
40pub const __USE_POSIX199506: ::std::os::raw::c_uint = 1;
41pub const __USE_XOPEN2K: ::std::os::raw::c_uint = 1;
42pub const __USE_XOPEN2K8: ::std::os::raw::c_uint = 1;
43pub const _ATFILE_SOURCE: ::std::os::raw::c_uint = 1;
44pub const __USE_MISC: ::std::os::raw::c_uint = 1;
45pub const __USE_ATFILE: ::std::os::raw::c_uint = 1;
46pub const __USE_FORTIFY_LEVEL: ::std::os::raw::c_uint = 0;
47pub const _STDC_PREDEF_H: ::std::os::raw::c_uint = 1;
48pub const __STDC_IEC_559__: ::std::os::raw::c_uint = 1;
49pub const __STDC_IEC_559_COMPLEX__: ::std::os::raw::c_uint = 1;
50pub const __STDC_ISO_10646__: ::std::os::raw::c_uint = 201505;
51pub const __STDC_NO_THREADS__: ::std::os::raw::c_uint = 1;
52pub const __GNU_LIBRARY__: ::std::os::raw::c_uint = 6;
53pub const __GLIBC__: ::std::os::raw::c_uint = 2;
54pub const __GLIBC_MINOR__: ::std::os::raw::c_uint = 25;
55pub const _SYS_CDEFS_H: ::std::os::raw::c_uint = 1;
56pub const __glibc_c99_flexarr_available: ::std::os::raw::c_uint = 1;
57pub const __WORDSIZE: ::std::os::raw::c_uint = 64;
58pub const __WORDSIZE_TIME64_COMPAT32: ::std::os::raw::c_uint = 1;
59pub const __SYSCALL_WORDSIZE: ::std::os::raw::c_uint = 64;
60pub const __GLIBC_USE_LIB_EXT2: ::std::os::raw::c_uint = 0;
61pub const __GLIBC_USE_IEC_60559_BFP_EXT: ::std::os::raw::c_uint = 0;
62pub const __GLIBC_USE_IEC_60559_FUNCS_EXT: ::std::os::raw::c_uint = 0;
63pub const __FILE_defined: ::std::os::raw::c_uint = 1;
64pub const ____FILE_defined: ::std::os::raw::c_uint = 1;
65pub const __GNUC_VA_LIST: ::std::os::raw::c_uint = 1;
66pub const _BITS_WCHAR_H: ::std::os::raw::c_uint = 1;
67pub const ____mbstate_t_defined: ::std::os::raw::c_uint = 1;
68pub const __mbstate_t_defined: ::std::os::raw::c_uint = 1;
69pub const WEOF: ::std::os::raw::c_uint = 4294967295;
70pub const _XLOCALE_H: ::std::os::raw::c_uint = 1;
71pub const TCOD_HEXVERSION: ::std::os::raw::c_uint = 67075;
72pub const TCOD_STRVERSION: &'static [u8; 6usize] = b"1.6.3\x00";
73pub const TCOD_TECHVERSION: ::std::os::raw::c_uint = 17171200;
74pub const TCOD_KEY_TEXT_SIZE: ::std::os::raw::c_uint = 32;
75pub const TCOD_NOISE_MAX_OCTAVES: ::std::os::raw::c_uint = 128;
76pub const TCOD_NOISE_MAX_DIMENSIONS: ::std::os::raw::c_uint = 4;
77pub const TCOD_NOISE_DEFAULT_HURST: f64 = 0.5;
78pub const TCOD_NOISE_DEFAULT_LACUNARITY: f64 = 2.;
79pub const TCOD_LEX_FLAG_NOCASE: ::std::os::raw::c_uint = 1;
80pub const TCOD_LEX_FLAG_NESTING_COMMENT: ::std::os::raw::c_uint = 2;
81pub const TCOD_LEX_FLAG_TOKENIZE_COMMENTS: ::std::os::raw::c_uint = 4;
82pub const TCOD_LEX_ERROR: ::std::os::raw::c_int = -1;
83pub const TCOD_LEX_UNKNOWN: ::std::os::raw::c_uint = 0;
84pub const TCOD_LEX_SYMBOL: ::std::os::raw::c_uint = 1;
85pub const TCOD_LEX_KEYWORD: ::std::os::raw::c_uint = 2;
86pub const TCOD_LEX_IDEN: ::std::os::raw::c_uint = 3;
87pub const TCOD_LEX_STRING: ::std::os::raw::c_uint = 4;
88pub const TCOD_LEX_INTEGER: ::std::os::raw::c_uint = 5;
89pub const TCOD_LEX_FLOAT: ::std::os::raw::c_uint = 6;
90pub const TCOD_LEX_CHAR: ::std::os::raw::c_uint = 7;
91pub const TCOD_LEX_EOF: ::std::os::raw::c_uint = 8;
92pub const TCOD_LEX_COMMENT: ::std::os::raw::c_uint = 9;
93pub const TCOD_LEX_MAX_SYMBOLS: ::std::os::raw::c_uint = 100;
94pub const TCOD_LEX_SYMBOL_SIZE: ::std::os::raw::c_uint = 5;
95pub const TCOD_LEX_MAX_KEYWORDS: ::std::os::raw::c_uint = 100;
96pub const TCOD_LEX_KEYWORD_SIZE: ::std::os::raw::c_uint = 20;
97#[repr(C)]
98#[derive(Debug, Copy, Clone)]
99pub struct _IO_FILE {
100    _unused: [u8; 0],
101}
102pub type FILE = _IO_FILE;
103pub type __FILE = _IO_FILE;
104pub type va_list = __builtin_va_list;
105pub type __gnuc_va_list = __builtin_va_list;
106pub type wchar_t = ::std::os::raw::c_int;
107pub type wint_t = ::std::os::raw::c_uint;
108#[repr(C)]
109#[derive(Debug, Copy)]
110pub struct __mbstate_t {
111    pub __count: ::std::os::raw::c_int,
112    pub __value: __mbstate_t__bindgen_ty_1,
113}
114#[repr(C)]
115#[derive(Debug, Copy)]
116pub struct __mbstate_t__bindgen_ty_1 {
117    pub __wch: __BindgenUnionField<::std::os::raw::c_uint>,
118    pub __wchb: __BindgenUnionField<[::std::os::raw::c_char; 4usize]>,
119    pub bindgen_union_field: u32,
120}
121impl Clone for __mbstate_t__bindgen_ty_1 {
122    fn clone(&self) -> Self { *self }
123}
124impl Clone for __mbstate_t {
125    fn clone(&self) -> Self { *self }
126}
127pub type mbstate_t = __mbstate_t;
128#[repr(C)]
129#[derive(Debug, Copy, Clone)]
130pub struct tm {
131    _unused: [u8; 0],
132}
133extern "C" {
134    pub fn wcscpy(__dest: *mut wchar_t, __src: *const wchar_t)
135     -> *mut wchar_t;
136}
137extern "C" {
138    pub fn wcsncpy(__dest: *mut wchar_t, __src: *const wchar_t, __n: usize)
139     -> *mut wchar_t;
140}
141extern "C" {
142    pub fn wcscat(__dest: *mut wchar_t, __src: *const wchar_t)
143     -> *mut wchar_t;
144}
145extern "C" {
146    pub fn wcsncat(__dest: *mut wchar_t, __src: *const wchar_t, __n: usize)
147     -> *mut wchar_t;
148}
149extern "C" {
150    pub fn wcscmp(__s1: *const wchar_t, __s2: *const wchar_t)
151     -> ::std::os::raw::c_int;
152}
153extern "C" {
154    pub fn wcsncmp(__s1: *const wchar_t, __s2: *const wchar_t, __n: usize)
155     -> ::std::os::raw::c_int;
156}
157extern "C" {
158    pub fn wcscasecmp(__s1: *const wchar_t, __s2: *const wchar_t)
159     -> ::std::os::raw::c_int;
160}
161extern "C" {
162    pub fn wcsncasecmp(__s1: *const wchar_t, __s2: *const wchar_t, __n: usize)
163     -> ::std::os::raw::c_int;
164}
165#[repr(C)]
166#[derive(Debug, Copy)]
167pub struct __locale_struct {
168    pub __locales: [*mut __locale_data; 13usize],
169    pub __ctype_b: *const ::std::os::raw::c_ushort,
170    pub __ctype_tolower: *const ::std::os::raw::c_int,
171    pub __ctype_toupper: *const ::std::os::raw::c_int,
172    pub __names: [*const ::std::os::raw::c_char; 13usize],
173}
174impl Clone for __locale_struct {
175    fn clone(&self) -> Self { *self }
176}
177pub type __locale_t = *mut __locale_struct;
178pub type locale_t = __locale_t;
179extern "C" {
180    pub fn wcscasecmp_l(__s1: *const wchar_t, __s2: *const wchar_t,
181                        __loc: __locale_t) -> ::std::os::raw::c_int;
182}
183extern "C" {
184    pub fn wcsncasecmp_l(__s1: *const wchar_t, __s2: *const wchar_t,
185                         __n: usize, __loc: __locale_t)
186     -> ::std::os::raw::c_int;
187}
188extern "C" {
189    pub fn wcscoll(__s1: *const wchar_t, __s2: *const wchar_t)
190     -> ::std::os::raw::c_int;
191}
192extern "C" {
193    pub fn wcsxfrm(__s1: *mut wchar_t, __s2: *const wchar_t, __n: usize)
194     -> usize;
195}
196extern "C" {
197    pub fn wcscoll_l(__s1: *const wchar_t, __s2: *const wchar_t,
198                     __loc: __locale_t) -> ::std::os::raw::c_int;
199}
200extern "C" {
201    pub fn wcsxfrm_l(__s1: *mut wchar_t, __s2: *const wchar_t, __n: usize,
202                     __loc: __locale_t) -> usize;
203}
204extern "C" {
205    pub fn wcsdup(__s: *const wchar_t) -> *mut wchar_t;
206}
207extern "C" {
208    pub fn wcschr(__wcs: *const wchar_t, __wc: wchar_t)
209     -> *mut ::std::os::raw::c_int;
210}
211extern "C" {
212    pub fn wcsrchr(__wcs: *const wchar_t, __wc: wchar_t) -> *mut wchar_t;
213}
214extern "C" {
215    pub fn wcscspn(__wcs: *const wchar_t, __reject: *const wchar_t) -> usize;
216}
217extern "C" {
218    pub fn wcsspn(__wcs: *const wchar_t, __accept: *const wchar_t) -> usize;
219}
220extern "C" {
221    pub fn wcspbrk(__wcs: *const wchar_t, __accept: *const wchar_t)
222     -> *mut wchar_t;
223}
224extern "C" {
225    pub fn wcsstr(__haystack: *const wchar_t, __needle: *const wchar_t)
226     -> *mut wchar_t;
227}
228extern "C" {
229    pub fn wcstok(__s: *mut wchar_t, __delim: *const wchar_t,
230                  __ptr: *mut *mut wchar_t) -> *mut wchar_t;
231}
232extern "C" {
233    pub fn wcslen(__s: *const wchar_t) -> ::std::os::raw::c_ulong;
234}
235extern "C" {
236    pub fn wcsnlen(__s: *const wchar_t, __maxlen: usize) -> usize;
237}
238extern "C" {
239    pub fn wmemchr(__s: *const wchar_t, __c: wchar_t, __n: usize)
240     -> *mut ::std::os::raw::c_int;
241}
242extern "C" {
243    pub fn wmemcmp(__s1: *const wchar_t, __s2: *const wchar_t, __n: usize)
244     -> ::std::os::raw::c_int;
245}
246extern "C" {
247    pub fn wmemcpy(__s1: *mut wchar_t, __s2: *const wchar_t, __n: usize)
248     -> *mut wchar_t;
249}
250extern "C" {
251    pub fn wmemmove(__s1: *mut wchar_t, __s2: *const wchar_t, __n: usize)
252     -> *mut wchar_t;
253}
254extern "C" {
255    pub fn wmemset(__s: *mut wchar_t, __c: wchar_t, __n: usize)
256     -> *mut wchar_t;
257}
258extern "C" {
259    pub fn btowc(__c: ::std::os::raw::c_int) -> wint_t;
260}
261extern "C" {
262    pub fn wctob(__c: wint_t) -> ::std::os::raw::c_int;
263}
264extern "C" {
265    pub fn mbsinit(__ps: *const mbstate_t) -> ::std::os::raw::c_int;
266}
267extern "C" {
268    pub fn mbrtowc(__pwc: *mut wchar_t, __s: *const ::std::os::raw::c_char,
269                   __n: usize, __p: *mut mbstate_t) -> usize;
270}
271extern "C" {
272    pub fn wcrtomb(__s: *mut ::std::os::raw::c_char, __wc: wchar_t,
273                   __ps: *mut mbstate_t) -> usize;
274}
275extern "C" {
276    pub fn __mbrlen(__s: *const ::std::os::raw::c_char, __n: usize,
277                    __ps: *mut mbstate_t) -> usize;
278}
279extern "C" {
280    pub fn mbrlen(__s: *const ::std::os::raw::c_char, __n: usize,
281                  __ps: *mut mbstate_t) -> usize;
282}
283extern "C" {
284    pub fn mbsrtowcs(__dst: *mut wchar_t,
285                     __src: *mut *const ::std::os::raw::c_char, __len: usize,
286                     __ps: *mut mbstate_t) -> usize;
287}
288extern "C" {
289    pub fn wcsrtombs(__dst: *mut ::std::os::raw::c_char,
290                     __src: *mut *const wchar_t, __len: usize,
291                     __ps: *mut mbstate_t) -> usize;
292}
293extern "C" {
294    pub fn mbsnrtowcs(__dst: *mut wchar_t,
295                      __src: *mut *const ::std::os::raw::c_char, __nmc: usize,
296                      __len: usize, __ps: *mut mbstate_t) -> usize;
297}
298extern "C" {
299    pub fn wcsnrtombs(__dst: *mut ::std::os::raw::c_char,
300                      __src: *mut *const wchar_t, __nwc: usize, __len: usize,
301                      __ps: *mut mbstate_t) -> usize;
302}
303extern "C" {
304    pub fn wcstod(__nptr: *const wchar_t, __endptr: *mut *mut wchar_t) -> f64;
305}
306extern "C" {
307    pub fn wcstof(__nptr: *const wchar_t, __endptr: *mut *mut wchar_t) -> f32;
308}
309extern "C" {
310    pub fn wcstold(__nptr: *const wchar_t, __endptr: *mut *mut wchar_t)
311     -> f64;
312}
313extern "C" {
314    pub fn wcstol(__nptr: *const wchar_t, __endptr: *mut *mut wchar_t,
315                  __base: ::std::os::raw::c_int) -> ::std::os::raw::c_long;
316}
317extern "C" {
318    pub fn wcstoul(__nptr: *const wchar_t, __endptr: *mut *mut wchar_t,
319                   __base: ::std::os::raw::c_int) -> ::std::os::raw::c_ulong;
320}
321extern "C" {
322    pub fn wcstoll(__nptr: *const wchar_t, __endptr: *mut *mut wchar_t,
323                   __base: ::std::os::raw::c_int)
324     -> ::std::os::raw::c_longlong;
325}
326extern "C" {
327    pub fn wcstoull(__nptr: *const wchar_t, __endptr: *mut *mut wchar_t,
328                    __base: ::std::os::raw::c_int)
329     -> ::std::os::raw::c_ulonglong;
330}
331extern "C" {
332    pub fn wcpcpy(__dest: *mut wchar_t, __src: *const wchar_t)
333     -> *mut wchar_t;
334}
335extern "C" {
336    pub fn wcpncpy(__dest: *mut wchar_t, __src: *const wchar_t, __n: usize)
337     -> *mut wchar_t;
338}
339extern "C" {
340    pub fn open_wmemstream(__bufloc: *mut *mut wchar_t, __sizeloc: *mut usize)
341     -> *mut __FILE;
342}
343extern "C" {
344    pub fn fwide(__fp: *mut __FILE, __mode: ::std::os::raw::c_int)
345     -> ::std::os::raw::c_int;
346}
347extern "C" {
348    pub fn fwprintf(__stream: *mut __FILE, __format: *const wchar_t, ...)
349     -> ::std::os::raw::c_int;
350}
351extern "C" {
352    pub fn wprintf(__format: *const wchar_t, ...) -> ::std::os::raw::c_int;
353}
354extern "C" {
355    pub fn swprintf(__s: *mut wchar_t, __n: usize,
356                    __format: *const wchar_t, ...) -> ::std::os::raw::c_int;
357}
358extern "C" {
359    pub fn vfwprintf(__s: *mut __FILE, __format: *const wchar_t,
360                     __arg: *mut __va_list_tag) -> ::std::os::raw::c_int;
361}
362extern "C" {
363    pub fn vwprintf(__format: *const wchar_t, __arg: *mut __va_list_tag)
364     -> ::std::os::raw::c_int;
365}
366extern "C" {
367    pub fn vswprintf(__s: *mut wchar_t, __n: usize, __format: *const wchar_t,
368                     __arg: *mut __va_list_tag) -> ::std::os::raw::c_int;
369}
370extern "C" {
371    pub fn fwscanf(__stream: *mut __FILE, __format: *const wchar_t, ...)
372     -> ::std::os::raw::c_int;
373}
374extern "C" {
375    pub fn wscanf(__format: *const wchar_t, ...) -> ::std::os::raw::c_int;
376}
377extern "C" {
378    pub fn swscanf(__s: *const wchar_t, __format: *const wchar_t, ...)
379     -> ::std::os::raw::c_int;
380}
381extern "C" {
382    #[link_name = "__isoc99_fwscanf"]
383    pub fn fwscanf1(__stream: *mut __FILE, __format: *const wchar_t, ...)
384     -> ::std::os::raw::c_int;
385}
386extern "C" {
387    #[link_name = "__isoc99_wscanf"]
388    pub fn wscanf1(__format: *const wchar_t, ...) -> ::std::os::raw::c_int;
389}
390extern "C" {
391    #[link_name = "__isoc99_swscanf"]
392    pub fn swscanf1(__s: *const wchar_t, __format: *const wchar_t, ...)
393     -> ::std::os::raw::c_int;
394}
395extern "C" {
396    pub fn vfwscanf(__s: *mut __FILE, __format: *const wchar_t,
397                    __arg: *mut __va_list_tag) -> ::std::os::raw::c_int;
398}
399extern "C" {
400    pub fn vwscanf(__format: *const wchar_t, __arg: *mut __va_list_tag)
401     -> ::std::os::raw::c_int;
402}
403extern "C" {
404    pub fn vswscanf(__s: *const wchar_t, __format: *const wchar_t,
405                    __arg: *mut __va_list_tag) -> ::std::os::raw::c_int;
406}
407extern "C" {
408    #[link_name = "__isoc99_vfwscanf"]
409    pub fn vfwscanf1(__s: *mut __FILE, __format: *const wchar_t,
410                     __arg: *mut __va_list_tag) -> ::std::os::raw::c_int;
411}
412extern "C" {
413    #[link_name = "__isoc99_vwscanf"]
414    pub fn vwscanf1(__format: *const wchar_t, __arg: *mut __va_list_tag)
415     -> ::std::os::raw::c_int;
416}
417extern "C" {
418    #[link_name = "__isoc99_vswscanf"]
419    pub fn vswscanf1(__s: *const wchar_t, __format: *const wchar_t,
420                     __arg: *mut __va_list_tag) -> ::std::os::raw::c_int;
421}
422extern "C" {
423    pub fn fgetwc(__stream: *mut __FILE) -> wint_t;
424}
425extern "C" {
426    pub fn getwc(__stream: *mut __FILE) -> wint_t;
427}
428extern "C" {
429    pub fn getwchar() -> wint_t;
430}
431extern "C" {
432    pub fn fputwc(__wc: wchar_t, __stream: *mut __FILE) -> wint_t;
433}
434extern "C" {
435    pub fn putwc(__wc: wchar_t, __stream: *mut __FILE) -> wint_t;
436}
437extern "C" {
438    pub fn putwchar(__wc: wchar_t) -> wint_t;
439}
440extern "C" {
441    pub fn fgetws(__ws: *mut wchar_t, __n: ::std::os::raw::c_int,
442                  __stream: *mut __FILE) -> *mut wchar_t;
443}
444extern "C" {
445    pub fn fputws(__ws: *const wchar_t, __stream: *mut __FILE)
446     -> ::std::os::raw::c_int;
447}
448extern "C" {
449    pub fn ungetwc(__wc: wint_t, __stream: *mut __FILE) -> wint_t;
450}
451extern "C" {
452    pub fn wcsftime(__s: *mut wchar_t, __maxsize: usize,
453                    __format: *const wchar_t, __tp: *const tm) -> usize;
454}
455pub type uint8 = ::std::os::raw::c_uchar;
456pub type int8 = ::std::os::raw::c_char;
457pub type uint16 = ::std::os::raw::c_ushort;
458pub type int16 = ::std::os::raw::c_short;
459pub type uint32 = ::std::os::raw::c_uint;
460pub type int32 = ::std::os::raw::c_int;
461pub type intptr = ::std::os::raw::c_long;
462pub type uintptr = ::std::os::raw::c_ulong;
463pub type bool_ = uint8;
464extern "C" {
465    pub fn TCOD_strdup(s: *const ::std::os::raw::c_char)
466     -> *mut ::std::os::raw::c_char;
467}
468extern "C" {
469    pub fn TCOD_strcasecmp(s1: *const ::std::os::raw::c_char,
470                           s2: *const ::std::os::raw::c_char)
471     -> ::std::os::raw::c_int;
472}
473extern "C" {
474    pub fn TCOD_strncasecmp(s1: *const ::std::os::raw::c_char,
475                            s2: *const ::std::os::raw::c_char, n: usize)
476     -> ::std::os::raw::c_int;
477}
478pub type TCOD_list_t = *mut ::std::os::raw::c_void;
479extern "C" {
480    pub fn TCOD_list_new() -> TCOD_list_t;
481}
482extern "C" {
483    pub fn TCOD_list_allocate(nb_elements: ::std::os::raw::c_int)
484     -> TCOD_list_t;
485}
486extern "C" {
487    pub fn TCOD_list_duplicate(l: TCOD_list_t) -> TCOD_list_t;
488}
489extern "C" {
490    pub fn TCOD_list_delete(l: TCOD_list_t);
491}
492extern "C" {
493    pub fn TCOD_list_push(l: TCOD_list_t, elt: *const ::std::os::raw::c_void);
494}
495extern "C" {
496    pub fn TCOD_list_pop(l: TCOD_list_t) -> *mut ::std::os::raw::c_void;
497}
498extern "C" {
499    pub fn TCOD_list_peek(l: TCOD_list_t) -> *mut ::std::os::raw::c_void;
500}
501extern "C" {
502    pub fn TCOD_list_add_all(l: TCOD_list_t, l2: TCOD_list_t);
503}
504extern "C" {
505    pub fn TCOD_list_get(l: TCOD_list_t, idx: ::std::os::raw::c_int)
506     -> *mut ::std::os::raw::c_void;
507}
508extern "C" {
509    pub fn TCOD_list_set(l: TCOD_list_t, elt: *const ::std::os::raw::c_void,
510                         idx: ::std::os::raw::c_int);
511}
512extern "C" {
513    pub fn TCOD_list_begin(l: TCOD_list_t)
514     -> *mut *mut ::std::os::raw::c_void;
515}
516extern "C" {
517    pub fn TCOD_list_end(l: TCOD_list_t) -> *mut *mut ::std::os::raw::c_void;
518}
519extern "C" {
520    pub fn TCOD_list_reverse(l: TCOD_list_t);
521}
522extern "C" {
523    pub fn TCOD_list_remove_iterator(l: TCOD_list_t,
524                                     elt: *mut *mut ::std::os::raw::c_void)
525     -> *mut *mut ::std::os::raw::c_void;
526}
527extern "C" {
528    pub fn TCOD_list_remove(l: TCOD_list_t,
529                            elt: *const ::std::os::raw::c_void);
530}
531extern "C" {
532    pub fn TCOD_list_remove_iterator_fast(l: TCOD_list_t,
533                                          elt:
534                                              *mut *mut ::std::os::raw::c_void)
535     -> *mut *mut ::std::os::raw::c_void;
536}
537extern "C" {
538    pub fn TCOD_list_remove_fast(l: TCOD_list_t,
539                                 elt: *const ::std::os::raw::c_void);
540}
541extern "C" {
542    pub fn TCOD_list_contains(l: TCOD_list_t,
543                              elt: *const ::std::os::raw::c_void) -> bool_;
544}
545extern "C" {
546    pub fn TCOD_list_clear(l: TCOD_list_t);
547}
548extern "C" {
549    pub fn TCOD_list_clear_and_delete(l: TCOD_list_t);
550}
551extern "C" {
552    pub fn TCOD_list_size(l: TCOD_list_t) -> ::std::os::raw::c_int;
553}
554extern "C" {
555    pub fn TCOD_list_insert_before(l: TCOD_list_t,
556                                   elt: *const ::std::os::raw::c_void,
557                                   before: ::std::os::raw::c_int)
558     -> *mut *mut ::std::os::raw::c_void;
559}
560extern "C" {
561    pub fn TCOD_list_is_empty(l: TCOD_list_t) -> bool_;
562}
563#[repr(C)]
564#[derive(Debug, Copy)]
565pub struct TCOD_color_t {
566    pub r: uint8,
567    pub g: uint8,
568    pub b: uint8,
569}
570impl Clone for TCOD_color_t {
571    fn clone(&self) -> Self { *self }
572}
573extern "C" {
574    pub fn TCOD_color_RGB(r: uint8, g: uint8, b: uint8) -> TCOD_color_t;
575}
576extern "C" {
577    pub fn TCOD_color_HSV(h: f32, s: f32, v: f32) -> TCOD_color_t;
578}
579extern "C" {
580    pub fn TCOD_color_equals(c1: TCOD_color_t, c2: TCOD_color_t) -> bool_;
581}
582extern "C" {
583    pub fn TCOD_color_add(c1: TCOD_color_t, c2: TCOD_color_t) -> TCOD_color_t;
584}
585extern "C" {
586    pub fn TCOD_color_subtract(c1: TCOD_color_t, c2: TCOD_color_t)
587     -> TCOD_color_t;
588}
589extern "C" {
590    pub fn TCOD_color_multiply(c1: TCOD_color_t, c2: TCOD_color_t)
591     -> TCOD_color_t;
592}
593extern "C" {
594    pub fn TCOD_color_multiply_scalar(c1: TCOD_color_t, value: f32)
595     -> TCOD_color_t;
596}
597extern "C" {
598    pub fn TCOD_color_lerp(c1: TCOD_color_t, c2: TCOD_color_t, coef: f32)
599     -> TCOD_color_t;
600}
601extern "C" {
602    pub fn TCOD_color_set_HSV(c: *mut TCOD_color_t, h: f32, s: f32, v: f32);
603}
604extern "C" {
605    pub fn TCOD_color_get_HSV(c: TCOD_color_t, h: *mut f32, s: *mut f32,
606                              v: *mut f32);
607}
608extern "C" {
609    pub fn TCOD_color_get_hue(c: TCOD_color_t) -> f32;
610}
611extern "C" {
612    pub fn TCOD_color_set_hue(c: *mut TCOD_color_t, h: f32);
613}
614extern "C" {
615    pub fn TCOD_color_get_saturation(c: TCOD_color_t) -> f32;
616}
617extern "C" {
618    pub fn TCOD_color_set_saturation(c: *mut TCOD_color_t, s: f32);
619}
620extern "C" {
621    pub fn TCOD_color_get_value(c: TCOD_color_t) -> f32;
622}
623extern "C" {
624    pub fn TCOD_color_set_value(c: *mut TCOD_color_t, v: f32);
625}
626extern "C" {
627    pub fn TCOD_color_shift_hue(c: *mut TCOD_color_t, hshift: f32);
628}
629extern "C" {
630    pub fn TCOD_color_scale_HSV(c: *mut TCOD_color_t, scoef: f32, vcoef: f32);
631}
632extern "C" {
633    pub fn TCOD_color_gen_map(map: *mut TCOD_color_t,
634                              nb_key: ::std::os::raw::c_int,
635                              key_color: *const TCOD_color_t,
636                              key_index: *const ::std::os::raw::c_int);
637}
638pub const TCOD_COLOR_RED: _bindgen_ty_1 = _bindgen_ty_1::TCOD_COLOR_RED;
639pub const TCOD_COLOR_FLAME: _bindgen_ty_1 = _bindgen_ty_1::TCOD_COLOR_FLAME;
640pub const TCOD_COLOR_ORANGE: _bindgen_ty_1 = _bindgen_ty_1::TCOD_COLOR_ORANGE;
641pub const TCOD_COLOR_AMBER: _bindgen_ty_1 = _bindgen_ty_1::TCOD_COLOR_AMBER;
642pub const TCOD_COLOR_YELLOW: _bindgen_ty_1 = _bindgen_ty_1::TCOD_COLOR_YELLOW;
643pub const TCOD_COLOR_LIME: _bindgen_ty_1 = _bindgen_ty_1::TCOD_COLOR_LIME;
644pub const TCOD_COLOR_CHARTREUSE: _bindgen_ty_1 =
645    _bindgen_ty_1::TCOD_COLOR_CHARTREUSE;
646pub const TCOD_COLOR_GREEN: _bindgen_ty_1 = _bindgen_ty_1::TCOD_COLOR_GREEN;
647pub const TCOD_COLOR_SEA: _bindgen_ty_1 = _bindgen_ty_1::TCOD_COLOR_SEA;
648pub const TCOD_COLOR_TURQUOISE: _bindgen_ty_1 =
649    _bindgen_ty_1::TCOD_COLOR_TURQUOISE;
650pub const TCOD_COLOR_CYAN: _bindgen_ty_1 = _bindgen_ty_1::TCOD_COLOR_CYAN;
651pub const TCOD_COLOR_SKY: _bindgen_ty_1 = _bindgen_ty_1::TCOD_COLOR_SKY;
652pub const TCOD_COLOR_AZURE: _bindgen_ty_1 = _bindgen_ty_1::TCOD_COLOR_AZURE;
653pub const TCOD_COLOR_BLUE: _bindgen_ty_1 = _bindgen_ty_1::TCOD_COLOR_BLUE;
654pub const TCOD_COLOR_HAN: _bindgen_ty_1 = _bindgen_ty_1::TCOD_COLOR_HAN;
655pub const TCOD_COLOR_VIOLET: _bindgen_ty_1 = _bindgen_ty_1::TCOD_COLOR_VIOLET;
656pub const TCOD_COLOR_PURPLE: _bindgen_ty_1 = _bindgen_ty_1::TCOD_COLOR_PURPLE;
657pub const TCOD_COLOR_FUCHSIA: _bindgen_ty_1 =
658    _bindgen_ty_1::TCOD_COLOR_FUCHSIA;
659pub const TCOD_COLOR_MAGENTA: _bindgen_ty_1 =
660    _bindgen_ty_1::TCOD_COLOR_MAGENTA;
661pub const TCOD_COLOR_PINK: _bindgen_ty_1 = _bindgen_ty_1::TCOD_COLOR_PINK;
662pub const TCOD_COLOR_CRIMSON: _bindgen_ty_1 =
663    _bindgen_ty_1::TCOD_COLOR_CRIMSON;
664pub const TCOD_COLOR_NB: _bindgen_ty_1 = _bindgen_ty_1::TCOD_COLOR_NB;
665#[repr(u32)]
666#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
667pub enum _bindgen_ty_1 {
668    TCOD_COLOR_RED = 0,
669    TCOD_COLOR_FLAME = 1,
670    TCOD_COLOR_ORANGE = 2,
671    TCOD_COLOR_AMBER = 3,
672    TCOD_COLOR_YELLOW = 4,
673    TCOD_COLOR_LIME = 5,
674    TCOD_COLOR_CHARTREUSE = 6,
675    TCOD_COLOR_GREEN = 7,
676    TCOD_COLOR_SEA = 8,
677    TCOD_COLOR_TURQUOISE = 9,
678    TCOD_COLOR_CYAN = 10,
679    TCOD_COLOR_SKY = 11,
680    TCOD_COLOR_AZURE = 12,
681    TCOD_COLOR_BLUE = 13,
682    TCOD_COLOR_HAN = 14,
683    TCOD_COLOR_VIOLET = 15,
684    TCOD_COLOR_PURPLE = 16,
685    TCOD_COLOR_FUCHSIA = 17,
686    TCOD_COLOR_MAGENTA = 18,
687    TCOD_COLOR_PINK = 19,
688    TCOD_COLOR_CRIMSON = 20,
689    TCOD_COLOR_NB = 21,
690}
691pub const TCOD_COLOR_DESATURATED: _bindgen_ty_2 =
692    _bindgen_ty_2::TCOD_COLOR_DESATURATED;
693pub const TCOD_COLOR_LIGHTEST: _bindgen_ty_2 =
694    _bindgen_ty_2::TCOD_COLOR_LIGHTEST;
695pub const TCOD_COLOR_LIGHTER: _bindgen_ty_2 =
696    _bindgen_ty_2::TCOD_COLOR_LIGHTER;
697pub const TCOD_COLOR_LIGHT: _bindgen_ty_2 = _bindgen_ty_2::TCOD_COLOR_LIGHT;
698pub const TCOD_COLOR_NORMAL: _bindgen_ty_2 = _bindgen_ty_2::TCOD_COLOR_NORMAL;
699pub const TCOD_COLOR_DARK: _bindgen_ty_2 = _bindgen_ty_2::TCOD_COLOR_DARK;
700pub const TCOD_COLOR_DARKER: _bindgen_ty_2 = _bindgen_ty_2::TCOD_COLOR_DARKER;
701pub const TCOD_COLOR_DARKEST: _bindgen_ty_2 =
702    _bindgen_ty_2::TCOD_COLOR_DARKEST;
703pub const TCOD_COLOR_LEVELS: _bindgen_ty_2 = _bindgen_ty_2::TCOD_COLOR_LEVELS;
704#[repr(u32)]
705#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
706pub enum _bindgen_ty_2 {
707    TCOD_COLOR_DESATURATED = 0,
708    TCOD_COLOR_LIGHTEST = 1,
709    TCOD_COLOR_LIGHTER = 2,
710    TCOD_COLOR_LIGHT = 3,
711    TCOD_COLOR_NORMAL = 4,
712    TCOD_COLOR_DARK = 5,
713    TCOD_COLOR_DARKER = 6,
714    TCOD_COLOR_DARKEST = 7,
715    TCOD_COLOR_LEVELS = 8,
716}
717extern "C" {
718    #[link_name = "TCOD_colors"]
719    pub static mut TCOD_colors: [[TCOD_color_t; 8usize]; 21usize];
720}
721extern "C" {
722    #[link_name = "TCOD_black"]
723    pub static TCOD_black: TCOD_color_t;
724}
725extern "C" {
726    #[link_name = "TCOD_darkest_grey"]
727    pub static TCOD_darkest_grey: TCOD_color_t;
728}
729extern "C" {
730    #[link_name = "TCOD_darker_grey"]
731    pub static TCOD_darker_grey: TCOD_color_t;
732}
733extern "C" {
734    #[link_name = "TCOD_dark_grey"]
735    pub static TCOD_dark_grey: TCOD_color_t;
736}
737extern "C" {
738    #[link_name = "TCOD_grey"]
739    pub static TCOD_grey: TCOD_color_t;
740}
741extern "C" {
742    #[link_name = "TCOD_light_grey"]
743    pub static TCOD_light_grey: TCOD_color_t;
744}
745extern "C" {
746    #[link_name = "TCOD_lighter_grey"]
747    pub static TCOD_lighter_grey: TCOD_color_t;
748}
749extern "C" {
750    #[link_name = "TCOD_lightest_grey"]
751    pub static TCOD_lightest_grey: TCOD_color_t;
752}
753extern "C" {
754    #[link_name = "TCOD_darkest_gray"]
755    pub static TCOD_darkest_gray: TCOD_color_t;
756}
757extern "C" {
758    #[link_name = "TCOD_darker_gray"]
759    pub static TCOD_darker_gray: TCOD_color_t;
760}
761extern "C" {
762    #[link_name = "TCOD_dark_gray"]
763    pub static TCOD_dark_gray: TCOD_color_t;
764}
765extern "C" {
766    #[link_name = "TCOD_gray"]
767    pub static TCOD_gray: TCOD_color_t;
768}
769extern "C" {
770    #[link_name = "TCOD_light_gray"]
771    pub static TCOD_light_gray: TCOD_color_t;
772}
773extern "C" {
774    #[link_name = "TCOD_lighter_gray"]
775    pub static TCOD_lighter_gray: TCOD_color_t;
776}
777extern "C" {
778    #[link_name = "TCOD_lightest_gray"]
779    pub static TCOD_lightest_gray: TCOD_color_t;
780}
781extern "C" {
782    #[link_name = "TCOD_white"]
783    pub static TCOD_white: TCOD_color_t;
784}
785extern "C" {
786    #[link_name = "TCOD_darkest_sepia"]
787    pub static TCOD_darkest_sepia: TCOD_color_t;
788}
789extern "C" {
790    #[link_name = "TCOD_darker_sepia"]
791    pub static TCOD_darker_sepia: TCOD_color_t;
792}
793extern "C" {
794    #[link_name = "TCOD_dark_sepia"]
795    pub static TCOD_dark_sepia: TCOD_color_t;
796}
797extern "C" {
798    #[link_name = "TCOD_sepia"]
799    pub static TCOD_sepia: TCOD_color_t;
800}
801extern "C" {
802    #[link_name = "TCOD_light_sepia"]
803    pub static TCOD_light_sepia: TCOD_color_t;
804}
805extern "C" {
806    #[link_name = "TCOD_lighter_sepia"]
807    pub static TCOD_lighter_sepia: TCOD_color_t;
808}
809extern "C" {
810    #[link_name = "TCOD_lightest_sepia"]
811    pub static TCOD_lightest_sepia: TCOD_color_t;
812}
813extern "C" {
814    #[link_name = "TCOD_red"]
815    pub static TCOD_red: TCOD_color_t;
816}
817extern "C" {
818    #[link_name = "TCOD_flame"]
819    pub static TCOD_flame: TCOD_color_t;
820}
821extern "C" {
822    #[link_name = "TCOD_orange"]
823    pub static TCOD_orange: TCOD_color_t;
824}
825extern "C" {
826    #[link_name = "TCOD_amber"]
827    pub static TCOD_amber: TCOD_color_t;
828}
829extern "C" {
830    #[link_name = "TCOD_yellow"]
831    pub static TCOD_yellow: TCOD_color_t;
832}
833extern "C" {
834    #[link_name = "TCOD_lime"]
835    pub static TCOD_lime: TCOD_color_t;
836}
837extern "C" {
838    #[link_name = "TCOD_chartreuse"]
839    pub static TCOD_chartreuse: TCOD_color_t;
840}
841extern "C" {
842    #[link_name = "TCOD_green"]
843    pub static TCOD_green: TCOD_color_t;
844}
845extern "C" {
846    #[link_name = "TCOD_sea"]
847    pub static TCOD_sea: TCOD_color_t;
848}
849extern "C" {
850    #[link_name = "TCOD_turquoise"]
851    pub static TCOD_turquoise: TCOD_color_t;
852}
853extern "C" {
854    #[link_name = "TCOD_cyan"]
855    pub static TCOD_cyan: TCOD_color_t;
856}
857extern "C" {
858    #[link_name = "TCOD_sky"]
859    pub static TCOD_sky: TCOD_color_t;
860}
861extern "C" {
862    #[link_name = "TCOD_azure"]
863    pub static TCOD_azure: TCOD_color_t;
864}
865extern "C" {
866    #[link_name = "TCOD_blue"]
867    pub static TCOD_blue: TCOD_color_t;
868}
869extern "C" {
870    #[link_name = "TCOD_han"]
871    pub static TCOD_han: TCOD_color_t;
872}
873extern "C" {
874    #[link_name = "TCOD_violet"]
875    pub static TCOD_violet: TCOD_color_t;
876}
877extern "C" {
878    #[link_name = "TCOD_purple"]
879    pub static TCOD_purple: TCOD_color_t;
880}
881extern "C" {
882    #[link_name = "TCOD_fuchsia"]
883    pub static TCOD_fuchsia: TCOD_color_t;
884}
885extern "C" {
886    #[link_name = "TCOD_magenta"]
887    pub static TCOD_magenta: TCOD_color_t;
888}
889extern "C" {
890    #[link_name = "TCOD_pink"]
891    pub static TCOD_pink: TCOD_color_t;
892}
893extern "C" {
894    #[link_name = "TCOD_crimson"]
895    pub static TCOD_crimson: TCOD_color_t;
896}
897extern "C" {
898    #[link_name = "TCOD_dark_red"]
899    pub static TCOD_dark_red: TCOD_color_t;
900}
901extern "C" {
902    #[link_name = "TCOD_dark_flame"]
903    pub static TCOD_dark_flame: TCOD_color_t;
904}
905extern "C" {
906    #[link_name = "TCOD_dark_orange"]
907    pub static TCOD_dark_orange: TCOD_color_t;
908}
909extern "C" {
910    #[link_name = "TCOD_dark_amber"]
911    pub static TCOD_dark_amber: TCOD_color_t;
912}
913extern "C" {
914    #[link_name = "TCOD_dark_yellow"]
915    pub static TCOD_dark_yellow: TCOD_color_t;
916}
917extern "C" {
918    #[link_name = "TCOD_dark_lime"]
919    pub static TCOD_dark_lime: TCOD_color_t;
920}
921extern "C" {
922    #[link_name = "TCOD_dark_chartreuse"]
923    pub static TCOD_dark_chartreuse: TCOD_color_t;
924}
925extern "C" {
926    #[link_name = "TCOD_dark_green"]
927    pub static TCOD_dark_green: TCOD_color_t;
928}
929extern "C" {
930    #[link_name = "TCOD_dark_sea"]
931    pub static TCOD_dark_sea: TCOD_color_t;
932}
933extern "C" {
934    #[link_name = "TCOD_dark_turquoise"]
935    pub static TCOD_dark_turquoise: TCOD_color_t;
936}
937extern "C" {
938    #[link_name = "TCOD_dark_cyan"]
939    pub static TCOD_dark_cyan: TCOD_color_t;
940}
941extern "C" {
942    #[link_name = "TCOD_dark_sky"]
943    pub static TCOD_dark_sky: TCOD_color_t;
944}
945extern "C" {
946    #[link_name = "TCOD_dark_azure"]
947    pub static TCOD_dark_azure: TCOD_color_t;
948}
949extern "C" {
950    #[link_name = "TCOD_dark_blue"]
951    pub static TCOD_dark_blue: TCOD_color_t;
952}
953extern "C" {
954    #[link_name = "TCOD_dark_han"]
955    pub static TCOD_dark_han: TCOD_color_t;
956}
957extern "C" {
958    #[link_name = "TCOD_dark_violet"]
959    pub static TCOD_dark_violet: TCOD_color_t;
960}
961extern "C" {
962    #[link_name = "TCOD_dark_purple"]
963    pub static TCOD_dark_purple: TCOD_color_t;
964}
965extern "C" {
966    #[link_name = "TCOD_dark_fuchsia"]
967    pub static TCOD_dark_fuchsia: TCOD_color_t;
968}
969extern "C" {
970    #[link_name = "TCOD_dark_magenta"]
971    pub static TCOD_dark_magenta: TCOD_color_t;
972}
973extern "C" {
974    #[link_name = "TCOD_dark_pink"]
975    pub static TCOD_dark_pink: TCOD_color_t;
976}
977extern "C" {
978    #[link_name = "TCOD_dark_crimson"]
979    pub static TCOD_dark_crimson: TCOD_color_t;
980}
981extern "C" {
982    #[link_name = "TCOD_darker_red"]
983    pub static TCOD_darker_red: TCOD_color_t;
984}
985extern "C" {
986    #[link_name = "TCOD_darker_flame"]
987    pub static TCOD_darker_flame: TCOD_color_t;
988}
989extern "C" {
990    #[link_name = "TCOD_darker_orange"]
991    pub static TCOD_darker_orange: TCOD_color_t;
992}
993extern "C" {
994    #[link_name = "TCOD_darker_amber"]
995    pub static TCOD_darker_amber: TCOD_color_t;
996}
997extern "C" {
998    #[link_name = "TCOD_darker_yellow"]
999    pub static TCOD_darker_yellow: TCOD_color_t;
1000}
1001extern "C" {
1002    #[link_name = "TCOD_darker_lime"]
1003    pub static TCOD_darker_lime: TCOD_color_t;
1004}
1005extern "C" {
1006    #[link_name = "TCOD_darker_chartreuse"]
1007    pub static TCOD_darker_chartreuse: TCOD_color_t;
1008}
1009extern "C" {
1010    #[link_name = "TCOD_darker_green"]
1011    pub static TCOD_darker_green: TCOD_color_t;
1012}
1013extern "C" {
1014    #[link_name = "TCOD_darker_sea"]
1015    pub static TCOD_darker_sea: TCOD_color_t;
1016}
1017extern "C" {
1018    #[link_name = "TCOD_darker_turquoise"]
1019    pub static TCOD_darker_turquoise: TCOD_color_t;
1020}
1021extern "C" {
1022    #[link_name = "TCOD_darker_cyan"]
1023    pub static TCOD_darker_cyan: TCOD_color_t;
1024}
1025extern "C" {
1026    #[link_name = "TCOD_darker_sky"]
1027    pub static TCOD_darker_sky: TCOD_color_t;
1028}
1029extern "C" {
1030    #[link_name = "TCOD_darker_azure"]
1031    pub static TCOD_darker_azure: TCOD_color_t;
1032}
1033extern "C" {
1034    #[link_name = "TCOD_darker_blue"]
1035    pub static TCOD_darker_blue: TCOD_color_t;
1036}
1037extern "C" {
1038    #[link_name = "TCOD_darker_han"]
1039    pub static TCOD_darker_han: TCOD_color_t;
1040}
1041extern "C" {
1042    #[link_name = "TCOD_darker_violet"]
1043    pub static TCOD_darker_violet: TCOD_color_t;
1044}
1045extern "C" {
1046    #[link_name = "TCOD_darker_purple"]
1047    pub static TCOD_darker_purple: TCOD_color_t;
1048}
1049extern "C" {
1050    #[link_name = "TCOD_darker_fuchsia"]
1051    pub static TCOD_darker_fuchsia: TCOD_color_t;
1052}
1053extern "C" {
1054    #[link_name = "TCOD_darker_magenta"]
1055    pub static TCOD_darker_magenta: TCOD_color_t;
1056}
1057extern "C" {
1058    #[link_name = "TCOD_darker_pink"]
1059    pub static TCOD_darker_pink: TCOD_color_t;
1060}
1061extern "C" {
1062    #[link_name = "TCOD_darker_crimson"]
1063    pub static TCOD_darker_crimson: TCOD_color_t;
1064}
1065extern "C" {
1066    #[link_name = "TCOD_darkest_red"]
1067    pub static TCOD_darkest_red: TCOD_color_t;
1068}
1069extern "C" {
1070    #[link_name = "TCOD_darkest_flame"]
1071    pub static TCOD_darkest_flame: TCOD_color_t;
1072}
1073extern "C" {
1074    #[link_name = "TCOD_darkest_orange"]
1075    pub static TCOD_darkest_orange: TCOD_color_t;
1076}
1077extern "C" {
1078    #[link_name = "TCOD_darkest_amber"]
1079    pub static TCOD_darkest_amber: TCOD_color_t;
1080}
1081extern "C" {
1082    #[link_name = "TCOD_darkest_yellow"]
1083    pub static TCOD_darkest_yellow: TCOD_color_t;
1084}
1085extern "C" {
1086    #[link_name = "TCOD_darkest_lime"]
1087    pub static TCOD_darkest_lime: TCOD_color_t;
1088}
1089extern "C" {
1090    #[link_name = "TCOD_darkest_chartreuse"]
1091    pub static TCOD_darkest_chartreuse: TCOD_color_t;
1092}
1093extern "C" {
1094    #[link_name = "TCOD_darkest_green"]
1095    pub static TCOD_darkest_green: TCOD_color_t;
1096}
1097extern "C" {
1098    #[link_name = "TCOD_darkest_sea"]
1099    pub static TCOD_darkest_sea: TCOD_color_t;
1100}
1101extern "C" {
1102    #[link_name = "TCOD_darkest_turquoise"]
1103    pub static TCOD_darkest_turquoise: TCOD_color_t;
1104}
1105extern "C" {
1106    #[link_name = "TCOD_darkest_cyan"]
1107    pub static TCOD_darkest_cyan: TCOD_color_t;
1108}
1109extern "C" {
1110    #[link_name = "TCOD_darkest_sky"]
1111    pub static TCOD_darkest_sky: TCOD_color_t;
1112}
1113extern "C" {
1114    #[link_name = "TCOD_darkest_azure"]
1115    pub static TCOD_darkest_azure: TCOD_color_t;
1116}
1117extern "C" {
1118    #[link_name = "TCOD_darkest_blue"]
1119    pub static TCOD_darkest_blue: TCOD_color_t;
1120}
1121extern "C" {
1122    #[link_name = "TCOD_darkest_han"]
1123    pub static TCOD_darkest_han: TCOD_color_t;
1124}
1125extern "C" {
1126    #[link_name = "TCOD_darkest_violet"]
1127    pub static TCOD_darkest_violet: TCOD_color_t;
1128}
1129extern "C" {
1130    #[link_name = "TCOD_darkest_purple"]
1131    pub static TCOD_darkest_purple: TCOD_color_t;
1132}
1133extern "C" {
1134    #[link_name = "TCOD_darkest_fuchsia"]
1135    pub static TCOD_darkest_fuchsia: TCOD_color_t;
1136}
1137extern "C" {
1138    #[link_name = "TCOD_darkest_magenta"]
1139    pub static TCOD_darkest_magenta: TCOD_color_t;
1140}
1141extern "C" {
1142    #[link_name = "TCOD_darkest_pink"]
1143    pub static TCOD_darkest_pink: TCOD_color_t;
1144}
1145extern "C" {
1146    #[link_name = "TCOD_darkest_crimson"]
1147    pub static TCOD_darkest_crimson: TCOD_color_t;
1148}
1149extern "C" {
1150    #[link_name = "TCOD_light_red"]
1151    pub static TCOD_light_red: TCOD_color_t;
1152}
1153extern "C" {
1154    #[link_name = "TCOD_light_flame"]
1155    pub static TCOD_light_flame: TCOD_color_t;
1156}
1157extern "C" {
1158    #[link_name = "TCOD_light_orange"]
1159    pub static TCOD_light_orange: TCOD_color_t;
1160}
1161extern "C" {
1162    #[link_name = "TCOD_light_amber"]
1163    pub static TCOD_light_amber: TCOD_color_t;
1164}
1165extern "C" {
1166    #[link_name = "TCOD_light_yellow"]
1167    pub static TCOD_light_yellow: TCOD_color_t;
1168}
1169extern "C" {
1170    #[link_name = "TCOD_light_lime"]
1171    pub static TCOD_light_lime: TCOD_color_t;
1172}
1173extern "C" {
1174    #[link_name = "TCOD_light_chartreuse"]
1175    pub static TCOD_light_chartreuse: TCOD_color_t;
1176}
1177extern "C" {
1178    #[link_name = "TCOD_light_green"]
1179    pub static TCOD_light_green: TCOD_color_t;
1180}
1181extern "C" {
1182    #[link_name = "TCOD_light_sea"]
1183    pub static TCOD_light_sea: TCOD_color_t;
1184}
1185extern "C" {
1186    #[link_name = "TCOD_light_turquoise"]
1187    pub static TCOD_light_turquoise: TCOD_color_t;
1188}
1189extern "C" {
1190    #[link_name = "TCOD_light_cyan"]
1191    pub static TCOD_light_cyan: TCOD_color_t;
1192}
1193extern "C" {
1194    #[link_name = "TCOD_light_sky"]
1195    pub static TCOD_light_sky: TCOD_color_t;
1196}
1197extern "C" {
1198    #[link_name = "TCOD_light_azure"]
1199    pub static TCOD_light_azure: TCOD_color_t;
1200}
1201extern "C" {
1202    #[link_name = "TCOD_light_blue"]
1203    pub static TCOD_light_blue: TCOD_color_t;
1204}
1205extern "C" {
1206    #[link_name = "TCOD_light_han"]
1207    pub static TCOD_light_han: TCOD_color_t;
1208}
1209extern "C" {
1210    #[link_name = "TCOD_light_violet"]
1211    pub static TCOD_light_violet: TCOD_color_t;
1212}
1213extern "C" {
1214    #[link_name = "TCOD_light_purple"]
1215    pub static TCOD_light_purple: TCOD_color_t;
1216}
1217extern "C" {
1218    #[link_name = "TCOD_light_fuchsia"]
1219    pub static TCOD_light_fuchsia: TCOD_color_t;
1220}
1221extern "C" {
1222    #[link_name = "TCOD_light_magenta"]
1223    pub static TCOD_light_magenta: TCOD_color_t;
1224}
1225extern "C" {
1226    #[link_name = "TCOD_light_pink"]
1227    pub static TCOD_light_pink: TCOD_color_t;
1228}
1229extern "C" {
1230    #[link_name = "TCOD_light_crimson"]
1231    pub static TCOD_light_crimson: TCOD_color_t;
1232}
1233extern "C" {
1234    #[link_name = "TCOD_lighter_red"]
1235    pub static TCOD_lighter_red: TCOD_color_t;
1236}
1237extern "C" {
1238    #[link_name = "TCOD_lighter_flame"]
1239    pub static TCOD_lighter_flame: TCOD_color_t;
1240}
1241extern "C" {
1242    #[link_name = "TCOD_lighter_orange"]
1243    pub static TCOD_lighter_orange: TCOD_color_t;
1244}
1245extern "C" {
1246    #[link_name = "TCOD_lighter_amber"]
1247    pub static TCOD_lighter_amber: TCOD_color_t;
1248}
1249extern "C" {
1250    #[link_name = "TCOD_lighter_yellow"]
1251    pub static TCOD_lighter_yellow: TCOD_color_t;
1252}
1253extern "C" {
1254    #[link_name = "TCOD_lighter_lime"]
1255    pub static TCOD_lighter_lime: TCOD_color_t;
1256}
1257extern "C" {
1258    #[link_name = "TCOD_lighter_chartreuse"]
1259    pub static TCOD_lighter_chartreuse: TCOD_color_t;
1260}
1261extern "C" {
1262    #[link_name = "TCOD_lighter_green"]
1263    pub static TCOD_lighter_green: TCOD_color_t;
1264}
1265extern "C" {
1266    #[link_name = "TCOD_lighter_sea"]
1267    pub static TCOD_lighter_sea: TCOD_color_t;
1268}
1269extern "C" {
1270    #[link_name = "TCOD_lighter_turquoise"]
1271    pub static TCOD_lighter_turquoise: TCOD_color_t;
1272}
1273extern "C" {
1274    #[link_name = "TCOD_lighter_cyan"]
1275    pub static TCOD_lighter_cyan: TCOD_color_t;
1276}
1277extern "C" {
1278    #[link_name = "TCOD_lighter_sky"]
1279    pub static TCOD_lighter_sky: TCOD_color_t;
1280}
1281extern "C" {
1282    #[link_name = "TCOD_lighter_azure"]
1283    pub static TCOD_lighter_azure: TCOD_color_t;
1284}
1285extern "C" {
1286    #[link_name = "TCOD_lighter_blue"]
1287    pub static TCOD_lighter_blue: TCOD_color_t;
1288}
1289extern "C" {
1290    #[link_name = "TCOD_lighter_han"]
1291    pub static TCOD_lighter_han: TCOD_color_t;
1292}
1293extern "C" {
1294    #[link_name = "TCOD_lighter_violet"]
1295    pub static TCOD_lighter_violet: TCOD_color_t;
1296}
1297extern "C" {
1298    #[link_name = "TCOD_lighter_purple"]
1299    pub static TCOD_lighter_purple: TCOD_color_t;
1300}
1301extern "C" {
1302    #[link_name = "TCOD_lighter_fuchsia"]
1303    pub static TCOD_lighter_fuchsia: TCOD_color_t;
1304}
1305extern "C" {
1306    #[link_name = "TCOD_lighter_magenta"]
1307    pub static TCOD_lighter_magenta: TCOD_color_t;
1308}
1309extern "C" {
1310    #[link_name = "TCOD_lighter_pink"]
1311    pub static TCOD_lighter_pink: TCOD_color_t;
1312}
1313extern "C" {
1314    #[link_name = "TCOD_lighter_crimson"]
1315    pub static TCOD_lighter_crimson: TCOD_color_t;
1316}
1317extern "C" {
1318    #[link_name = "TCOD_lightest_red"]
1319    pub static TCOD_lightest_red: TCOD_color_t;
1320}
1321extern "C" {
1322    #[link_name = "TCOD_lightest_flame"]
1323    pub static TCOD_lightest_flame: TCOD_color_t;
1324}
1325extern "C" {
1326    #[link_name = "TCOD_lightest_orange"]
1327    pub static TCOD_lightest_orange: TCOD_color_t;
1328}
1329extern "C" {
1330    #[link_name = "TCOD_lightest_amber"]
1331    pub static TCOD_lightest_amber: TCOD_color_t;
1332}
1333extern "C" {
1334    #[link_name = "TCOD_lightest_yellow"]
1335    pub static TCOD_lightest_yellow: TCOD_color_t;
1336}
1337extern "C" {
1338    #[link_name = "TCOD_lightest_lime"]
1339    pub static TCOD_lightest_lime: TCOD_color_t;
1340}
1341extern "C" {
1342    #[link_name = "TCOD_lightest_chartreuse"]
1343    pub static TCOD_lightest_chartreuse: TCOD_color_t;
1344}
1345extern "C" {
1346    #[link_name = "TCOD_lightest_green"]
1347    pub static TCOD_lightest_green: TCOD_color_t;
1348}
1349extern "C" {
1350    #[link_name = "TCOD_lightest_sea"]
1351    pub static TCOD_lightest_sea: TCOD_color_t;
1352}
1353extern "C" {
1354    #[link_name = "TCOD_lightest_turquoise"]
1355    pub static TCOD_lightest_turquoise: TCOD_color_t;
1356}
1357extern "C" {
1358    #[link_name = "TCOD_lightest_cyan"]
1359    pub static TCOD_lightest_cyan: TCOD_color_t;
1360}
1361extern "C" {
1362    #[link_name = "TCOD_lightest_sky"]
1363    pub static TCOD_lightest_sky: TCOD_color_t;
1364}
1365extern "C" {
1366    #[link_name = "TCOD_lightest_azure"]
1367    pub static TCOD_lightest_azure: TCOD_color_t;
1368}
1369extern "C" {
1370    #[link_name = "TCOD_lightest_blue"]
1371    pub static TCOD_lightest_blue: TCOD_color_t;
1372}
1373extern "C" {
1374    #[link_name = "TCOD_lightest_han"]
1375    pub static TCOD_lightest_han: TCOD_color_t;
1376}
1377extern "C" {
1378    #[link_name = "TCOD_lightest_violet"]
1379    pub static TCOD_lightest_violet: TCOD_color_t;
1380}
1381extern "C" {
1382    #[link_name = "TCOD_lightest_purple"]
1383    pub static TCOD_lightest_purple: TCOD_color_t;
1384}
1385extern "C" {
1386    #[link_name = "TCOD_lightest_fuchsia"]
1387    pub static TCOD_lightest_fuchsia: TCOD_color_t;
1388}
1389extern "C" {
1390    #[link_name = "TCOD_lightest_magenta"]
1391    pub static TCOD_lightest_magenta: TCOD_color_t;
1392}
1393extern "C" {
1394    #[link_name = "TCOD_lightest_pink"]
1395    pub static TCOD_lightest_pink: TCOD_color_t;
1396}
1397extern "C" {
1398    #[link_name = "TCOD_lightest_crimson"]
1399    pub static TCOD_lightest_crimson: TCOD_color_t;
1400}
1401extern "C" {
1402    #[link_name = "TCOD_desaturated_red"]
1403    pub static TCOD_desaturated_red: TCOD_color_t;
1404}
1405extern "C" {
1406    #[link_name = "TCOD_desaturated_flame"]
1407    pub static TCOD_desaturated_flame: TCOD_color_t;
1408}
1409extern "C" {
1410    #[link_name = "TCOD_desaturated_orange"]
1411    pub static TCOD_desaturated_orange: TCOD_color_t;
1412}
1413extern "C" {
1414    #[link_name = "TCOD_desaturated_amber"]
1415    pub static TCOD_desaturated_amber: TCOD_color_t;
1416}
1417extern "C" {
1418    #[link_name = "TCOD_desaturated_yellow"]
1419    pub static TCOD_desaturated_yellow: TCOD_color_t;
1420}
1421extern "C" {
1422    #[link_name = "TCOD_desaturated_lime"]
1423    pub static TCOD_desaturated_lime: TCOD_color_t;
1424}
1425extern "C" {
1426    #[link_name = "TCOD_desaturated_chartreuse"]
1427    pub static TCOD_desaturated_chartreuse: TCOD_color_t;
1428}
1429extern "C" {
1430    #[link_name = "TCOD_desaturated_green"]
1431    pub static TCOD_desaturated_green: TCOD_color_t;
1432}
1433extern "C" {
1434    #[link_name = "TCOD_desaturated_sea"]
1435    pub static TCOD_desaturated_sea: TCOD_color_t;
1436}
1437extern "C" {
1438    #[link_name = "TCOD_desaturated_turquoise"]
1439    pub static TCOD_desaturated_turquoise: TCOD_color_t;
1440}
1441extern "C" {
1442    #[link_name = "TCOD_desaturated_cyan"]
1443    pub static TCOD_desaturated_cyan: TCOD_color_t;
1444}
1445extern "C" {
1446    #[link_name = "TCOD_desaturated_sky"]
1447    pub static TCOD_desaturated_sky: TCOD_color_t;
1448}
1449extern "C" {
1450    #[link_name = "TCOD_desaturated_azure"]
1451    pub static TCOD_desaturated_azure: TCOD_color_t;
1452}
1453extern "C" {
1454    #[link_name = "TCOD_desaturated_blue"]
1455    pub static TCOD_desaturated_blue: TCOD_color_t;
1456}
1457extern "C" {
1458    #[link_name = "TCOD_desaturated_han"]
1459    pub static TCOD_desaturated_han: TCOD_color_t;
1460}
1461extern "C" {
1462    #[link_name = "TCOD_desaturated_violet"]
1463    pub static TCOD_desaturated_violet: TCOD_color_t;
1464}
1465extern "C" {
1466    #[link_name = "TCOD_desaturated_purple"]
1467    pub static TCOD_desaturated_purple: TCOD_color_t;
1468}
1469extern "C" {
1470    #[link_name = "TCOD_desaturated_fuchsia"]
1471    pub static TCOD_desaturated_fuchsia: TCOD_color_t;
1472}
1473extern "C" {
1474    #[link_name = "TCOD_desaturated_magenta"]
1475    pub static TCOD_desaturated_magenta: TCOD_color_t;
1476}
1477extern "C" {
1478    #[link_name = "TCOD_desaturated_pink"]
1479    pub static TCOD_desaturated_pink: TCOD_color_t;
1480}
1481extern "C" {
1482    #[link_name = "TCOD_desaturated_crimson"]
1483    pub static TCOD_desaturated_crimson: TCOD_color_t;
1484}
1485extern "C" {
1486    #[link_name = "TCOD_brass"]
1487    pub static TCOD_brass: TCOD_color_t;
1488}
1489extern "C" {
1490    #[link_name = "TCOD_copper"]
1491    pub static TCOD_copper: TCOD_color_t;
1492}
1493extern "C" {
1494    #[link_name = "TCOD_gold"]
1495    pub static TCOD_gold: TCOD_color_t;
1496}
1497extern "C" {
1498    #[link_name = "TCOD_silver"]
1499    pub static TCOD_silver: TCOD_color_t;
1500}
1501extern "C" {
1502    #[link_name = "TCOD_celadon"]
1503    pub static TCOD_celadon: TCOD_color_t;
1504}
1505extern "C" {
1506    #[link_name = "TCOD_peach"]
1507    pub static TCOD_peach: TCOD_color_t;
1508}
1509#[repr(u32)]
1510#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
1511pub enum TCOD_keycode_t {
1512    TCODK_NONE = 0,
1513    TCODK_ESCAPE = 1,
1514    TCODK_BACKSPACE = 2,
1515    TCODK_TAB = 3,
1516    TCODK_ENTER = 4,
1517    TCODK_SHIFT = 5,
1518    TCODK_CONTROL = 6,
1519    TCODK_ALT = 7,
1520    TCODK_PAUSE = 8,
1521    TCODK_CAPSLOCK = 9,
1522    TCODK_PAGEUP = 10,
1523    TCODK_PAGEDOWN = 11,
1524    TCODK_END = 12,
1525    TCODK_HOME = 13,
1526    TCODK_UP = 14,
1527    TCODK_LEFT = 15,
1528    TCODK_RIGHT = 16,
1529    TCODK_DOWN = 17,
1530    TCODK_PRINTSCREEN = 18,
1531    TCODK_INSERT = 19,
1532    TCODK_DELETE = 20,
1533    TCODK_LWIN = 21,
1534    TCODK_RWIN = 22,
1535    TCODK_APPS = 23,
1536    TCODK_0 = 24,
1537    TCODK_1 = 25,
1538    TCODK_2 = 26,
1539    TCODK_3 = 27,
1540    TCODK_4 = 28,
1541    TCODK_5 = 29,
1542    TCODK_6 = 30,
1543    TCODK_7 = 31,
1544    TCODK_8 = 32,
1545    TCODK_9 = 33,
1546    TCODK_KP0 = 34,
1547    TCODK_KP1 = 35,
1548    TCODK_KP2 = 36,
1549    TCODK_KP3 = 37,
1550    TCODK_KP4 = 38,
1551    TCODK_KP5 = 39,
1552    TCODK_KP6 = 40,
1553    TCODK_KP7 = 41,
1554    TCODK_KP8 = 42,
1555    TCODK_KP9 = 43,
1556    TCODK_KPADD = 44,
1557    TCODK_KPSUB = 45,
1558    TCODK_KPDIV = 46,
1559    TCODK_KPMUL = 47,
1560    TCODK_KPDEC = 48,
1561    TCODK_KPENTER = 49,
1562    TCODK_F1 = 50,
1563    TCODK_F2 = 51,
1564    TCODK_F3 = 52,
1565    TCODK_F4 = 53,
1566    TCODK_F5 = 54,
1567    TCODK_F6 = 55,
1568    TCODK_F7 = 56,
1569    TCODK_F8 = 57,
1570    TCODK_F9 = 58,
1571    TCODK_F10 = 59,
1572    TCODK_F11 = 60,
1573    TCODK_F12 = 61,
1574    TCODK_NUMLOCK = 62,
1575    TCODK_SCROLLLOCK = 63,
1576    TCODK_SPACE = 64,
1577    TCODK_CHAR = 65,
1578    TCODK_TEXT = 66,
1579}
1580#[repr(C)]
1581#[derive(Debug, Copy)]
1582pub struct TCOD_key_t {
1583    pub vk: TCOD_keycode_t,
1584    pub c: ::std::os::raw::c_char,
1585    pub text: [::std::os::raw::c_char; 32usize],
1586    pub pressed: bool_,
1587    pub lalt: bool_,
1588    pub lctrl: bool_,
1589    pub lmeta: bool_,
1590    pub ralt: bool_,
1591    pub rctrl: bool_,
1592    pub rmeta: bool_,
1593    pub shift: bool_,
1594}
1595impl Clone for TCOD_key_t {
1596    fn clone(&self) -> Self { *self }
1597}
1598#[repr(u32)]
1599#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
1600pub enum TCOD_chars_t {
1601    TCOD_CHAR_HLINE = 196,
1602    TCOD_CHAR_VLINE = 179,
1603    TCOD_CHAR_NE = 191,
1604    TCOD_CHAR_NW = 218,
1605    TCOD_CHAR_SE = 217,
1606    TCOD_CHAR_SW = 192,
1607    TCOD_CHAR_TEEW = 180,
1608    TCOD_CHAR_TEEE = 195,
1609    TCOD_CHAR_TEEN = 193,
1610    TCOD_CHAR_TEES = 194,
1611    TCOD_CHAR_CROSS = 197,
1612    TCOD_CHAR_DHLINE = 205,
1613    TCOD_CHAR_DVLINE = 186,
1614    TCOD_CHAR_DNE = 187,
1615    TCOD_CHAR_DNW = 201,
1616    TCOD_CHAR_DSE = 188,
1617    TCOD_CHAR_DSW = 200,
1618    TCOD_CHAR_DTEEW = 185,
1619    TCOD_CHAR_DTEEE = 204,
1620    TCOD_CHAR_DTEEN = 202,
1621    TCOD_CHAR_DTEES = 203,
1622    TCOD_CHAR_DCROSS = 206,
1623    TCOD_CHAR_BLOCK1 = 176,
1624    TCOD_CHAR_BLOCK2 = 177,
1625    TCOD_CHAR_BLOCK3 = 178,
1626    TCOD_CHAR_ARROW_N = 24,
1627    TCOD_CHAR_ARROW_S = 25,
1628    TCOD_CHAR_ARROW_E = 26,
1629    TCOD_CHAR_ARROW_W = 27,
1630    TCOD_CHAR_ARROW2_N = 30,
1631    TCOD_CHAR_ARROW2_S = 31,
1632    TCOD_CHAR_ARROW2_E = 16,
1633    TCOD_CHAR_ARROW2_W = 17,
1634    TCOD_CHAR_DARROW_H = 29,
1635    TCOD_CHAR_DARROW_V = 18,
1636    TCOD_CHAR_CHECKBOX_UNSET = 224,
1637    TCOD_CHAR_CHECKBOX_SET = 225,
1638    TCOD_CHAR_RADIO_UNSET = 9,
1639    TCOD_CHAR_RADIO_SET = 10,
1640    TCOD_CHAR_SUBP_NW = 226,
1641    TCOD_CHAR_SUBP_NE = 227,
1642    TCOD_CHAR_SUBP_N = 228,
1643    TCOD_CHAR_SUBP_SE = 229,
1644    TCOD_CHAR_SUBP_DIAG = 230,
1645    TCOD_CHAR_SUBP_E = 231,
1646    TCOD_CHAR_SUBP_SW = 232,
1647    TCOD_CHAR_SMILIE = 1,
1648    TCOD_CHAR_SMILIE_INV = 2,
1649    TCOD_CHAR_HEART = 3,
1650    TCOD_CHAR_DIAMOND = 4,
1651    TCOD_CHAR_CLUB = 5,
1652    TCOD_CHAR_SPADE = 6,
1653    TCOD_CHAR_BULLET = 7,
1654    TCOD_CHAR_BULLET_INV = 8,
1655    TCOD_CHAR_MALE = 11,
1656    TCOD_CHAR_FEMALE = 12,
1657    TCOD_CHAR_NOTE = 13,
1658    TCOD_CHAR_NOTE_DOUBLE = 14,
1659    TCOD_CHAR_LIGHT = 15,
1660    TCOD_CHAR_EXCLAM_DOUBLE = 19,
1661    TCOD_CHAR_PILCROW = 20,
1662    TCOD_CHAR_SECTION = 21,
1663    TCOD_CHAR_POUND = 156,
1664    TCOD_CHAR_MULTIPLICATION = 158,
1665    TCOD_CHAR_FUNCTION = 159,
1666    TCOD_CHAR_RESERVED = 169,
1667    TCOD_CHAR_HALF = 171,
1668    TCOD_CHAR_ONE_QUARTER = 172,
1669    TCOD_CHAR_COPYRIGHT = 184,
1670    TCOD_CHAR_CENT = 189,
1671    TCOD_CHAR_YEN = 190,
1672    TCOD_CHAR_CURRENCY = 207,
1673    TCOD_CHAR_THREE_QUARTERS = 243,
1674    TCOD_CHAR_DIVISION = 246,
1675    TCOD_CHAR_GRADE = 248,
1676    TCOD_CHAR_UMLAUT = 249,
1677    TCOD_CHAR_POW1 = 251,
1678    TCOD_CHAR_POW3 = 252,
1679    TCOD_CHAR_POW2 = 253,
1680    TCOD_CHAR_BULLET_SQUARE = 254,
1681}
1682pub const TCOD_COLCTRL_NUMBER: TCOD_colctrl_t =
1683    TCOD_colctrl_t::TCOD_COLCTRL_5;
1684#[repr(u32)]
1685#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
1686pub enum TCOD_colctrl_t {
1687    TCOD_COLCTRL_1 = 1,
1688    TCOD_COLCTRL_2 = 2,
1689    TCOD_COLCTRL_3 = 3,
1690    TCOD_COLCTRL_4 = 4,
1691    TCOD_COLCTRL_5 = 5,
1692    TCOD_COLCTRL_FORE_RGB = 6,
1693    TCOD_COLCTRL_BACK_RGB = 7,
1694    TCOD_COLCTRL_STOP = 8,
1695}
1696#[repr(u32)]
1697#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
1698pub enum TCOD_bkgnd_flag_t {
1699    TCOD_BKGND_NONE = 0,
1700    TCOD_BKGND_SET = 1,
1701    TCOD_BKGND_MULTIPLY = 2,
1702    TCOD_BKGND_LIGHTEN = 3,
1703    TCOD_BKGND_DARKEN = 4,
1704    TCOD_BKGND_SCREEN = 5,
1705    TCOD_BKGND_COLOR_DODGE = 6,
1706    TCOD_BKGND_COLOR_BURN = 7,
1707    TCOD_BKGND_ADD = 8,
1708    TCOD_BKGND_ADDA = 9,
1709    TCOD_BKGND_BURN = 10,
1710    TCOD_BKGND_OVERLAY = 11,
1711    TCOD_BKGND_ALPH = 12,
1712    TCOD_BKGND_DEFAULT = 13,
1713}
1714#[repr(u32)]
1715#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
1716pub enum TCOD_key_status_t { TCOD_KEY_PRESSED = 1, TCOD_KEY_RELEASED = 2, }
1717pub const TCOD_FONT_TYPE_GRAYSCALE: TCOD_font_flags_t =
1718    TCOD_font_flags_t::TCOD_FONT_TYPE_GREYSCALE;
1719#[repr(u32)]
1720#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
1721pub enum TCOD_font_flags_t {
1722    TCOD_FONT_LAYOUT_ASCII_INCOL = 1,
1723    TCOD_FONT_LAYOUT_ASCII_INROW = 2,
1724    TCOD_FONT_TYPE_GREYSCALE = 4,
1725    TCOD_FONT_LAYOUT_TCOD = 8,
1726}
1727#[repr(u32)]
1728#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
1729pub enum TCOD_renderer_t {
1730    TCOD_RENDERER_GLSL = 0,
1731    TCOD_RENDERER_OPENGL = 1,
1732    TCOD_RENDERER_SDL = 2,
1733    TCOD_NB_RENDERERS = 3,
1734}
1735#[repr(u32)]
1736#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
1737pub enum TCOD_alignment_t { TCOD_LEFT = 0, TCOD_RIGHT = 1, TCOD_CENTER = 2, }
1738pub type TCOD_console_t = *mut ::std::os::raw::c_void;
1739pub type TCOD_image_t = *mut ::std::os::raw::c_void;
1740extern "C" {
1741    pub fn TCOD_image_new(width: ::std::os::raw::c_int,
1742                          height: ::std::os::raw::c_int) -> TCOD_image_t;
1743}
1744extern "C" {
1745    pub fn TCOD_image_from_console(console: TCOD_console_t) -> TCOD_image_t;
1746}
1747extern "C" {
1748    pub fn TCOD_image_refresh_console(image: TCOD_image_t,
1749                                      console: TCOD_console_t);
1750}
1751extern "C" {
1752    pub fn TCOD_image_load(filename: *const ::std::os::raw::c_char)
1753     -> TCOD_image_t;
1754}
1755extern "C" {
1756    pub fn TCOD_image_clear(image: TCOD_image_t, color: TCOD_color_t);
1757}
1758extern "C" {
1759    pub fn TCOD_image_invert(image: TCOD_image_t);
1760}
1761extern "C" {
1762    pub fn TCOD_image_hflip(image: TCOD_image_t);
1763}
1764extern "C" {
1765    pub fn TCOD_image_rotate90(image: TCOD_image_t,
1766                               numRotations: ::std::os::raw::c_int);
1767}
1768extern "C" {
1769    pub fn TCOD_image_vflip(image: TCOD_image_t);
1770}
1771extern "C" {
1772    pub fn TCOD_image_scale(image: TCOD_image_t, neww: ::std::os::raw::c_int,
1773                            newh: ::std::os::raw::c_int);
1774}
1775extern "C" {
1776    pub fn TCOD_image_save(image: TCOD_image_t,
1777                           filename: *const ::std::os::raw::c_char);
1778}
1779extern "C" {
1780    pub fn TCOD_image_get_size(image: TCOD_image_t,
1781                               w: *mut ::std::os::raw::c_int,
1782                               h: *mut ::std::os::raw::c_int);
1783}
1784extern "C" {
1785    pub fn TCOD_image_get_pixel(image: TCOD_image_t, x: ::std::os::raw::c_int,
1786                                y: ::std::os::raw::c_int) -> TCOD_color_t;
1787}
1788extern "C" {
1789    pub fn TCOD_image_get_alpha(image: TCOD_image_t, x: ::std::os::raw::c_int,
1790                                y: ::std::os::raw::c_int)
1791     -> ::std::os::raw::c_int;
1792}
1793extern "C" {
1794    pub fn TCOD_image_get_mipmap_pixel(image: TCOD_image_t, x0: f32, y0: f32,
1795                                       x1: f32, y1: f32) -> TCOD_color_t;
1796}
1797extern "C" {
1798    pub fn TCOD_image_put_pixel(image: TCOD_image_t, x: ::std::os::raw::c_int,
1799                                y: ::std::os::raw::c_int, col: TCOD_color_t);
1800}
1801extern "C" {
1802    pub fn TCOD_image_blit(image: TCOD_image_t, console: TCOD_console_t,
1803                           x: f32, y: f32, bkgnd_flag: TCOD_bkgnd_flag_t,
1804                           scalex: f32, scaley: f32, angle: f32);
1805}
1806extern "C" {
1807    pub fn TCOD_image_blit_rect(image: TCOD_image_t, console: TCOD_console_t,
1808                                x: ::std::os::raw::c_int,
1809                                y: ::std::os::raw::c_int,
1810                                w: ::std::os::raw::c_int,
1811                                h: ::std::os::raw::c_int,
1812                                bkgnd_flag: TCOD_bkgnd_flag_t);
1813}
1814extern "C" {
1815    pub fn TCOD_image_blit_2x(image: TCOD_image_t, dest: TCOD_console_t,
1816                              dx: ::std::os::raw::c_int,
1817                              dy: ::std::os::raw::c_int,
1818                              sx: ::std::os::raw::c_int,
1819                              sy: ::std::os::raw::c_int,
1820                              w: ::std::os::raw::c_int,
1821                              h: ::std::os::raw::c_int);
1822}
1823extern "C" {
1824    pub fn TCOD_image_delete(image: TCOD_image_t);
1825}
1826extern "C" {
1827    pub fn TCOD_image_set_key_color(image: TCOD_image_t,
1828                                    key_color: TCOD_color_t);
1829}
1830extern "C" {
1831    pub fn TCOD_image_is_pixel_transparent(image: TCOD_image_t,
1832                                           x: ::std::os::raw::c_int,
1833                                           y: ::std::os::raw::c_int) -> bool_;
1834}
1835extern "C" {
1836    pub fn TCOD_console_init_root(w: ::std::os::raw::c_int,
1837                                  h: ::std::os::raw::c_int,
1838                                  title: *const ::std::os::raw::c_char,
1839                                  fullscreen: bool_,
1840                                  renderer: TCOD_renderer_t);
1841}
1842extern "C" {
1843    pub fn TCOD_console_set_window_title(title:
1844                                             *const ::std::os::raw::c_char);
1845}
1846extern "C" {
1847    pub fn TCOD_console_set_fullscreen(fullscreen: bool_);
1848}
1849extern "C" {
1850    pub fn TCOD_console_is_fullscreen() -> bool_;
1851}
1852extern "C" {
1853    pub fn TCOD_console_is_window_closed() -> bool_;
1854}
1855extern "C" {
1856    pub fn TCOD_console_has_mouse_focus() -> bool_;
1857}
1858extern "C" {
1859    pub fn TCOD_console_is_active() -> bool_;
1860}
1861extern "C" {
1862    pub fn TCOD_console_set_custom_font(fontFile:
1863                                            *const ::std::os::raw::c_char,
1864                                        flags: ::std::os::raw::c_int,
1865                                        nb_char_horiz: ::std::os::raw::c_int,
1866                                        nb_char_vertic:
1867                                            ::std::os::raw::c_int);
1868}
1869extern "C" {
1870    pub fn TCOD_console_map_ascii_code_to_font(asciiCode:
1871                                                   ::std::os::raw::c_int,
1872                                               fontCharX:
1873                                                   ::std::os::raw::c_int,
1874                                               fontCharY:
1875                                                   ::std::os::raw::c_int);
1876}
1877extern "C" {
1878    pub fn TCOD_console_map_ascii_codes_to_font(asciiCode:
1879                                                    ::std::os::raw::c_int,
1880                                                nbCodes:
1881                                                    ::std::os::raw::c_int,
1882                                                fontCharX:
1883                                                    ::std::os::raw::c_int,
1884                                                fontCharY:
1885                                                    ::std::os::raw::c_int);
1886}
1887extern "C" {
1888    pub fn TCOD_console_map_string_to_font(s: *const ::std::os::raw::c_char,
1889                                           fontCharX: ::std::os::raw::c_int,
1890                                           fontCharY: ::std::os::raw::c_int);
1891}
1892extern "C" {
1893    pub fn TCOD_console_set_dirty(x: ::std::os::raw::c_int,
1894                                  y: ::std::os::raw::c_int,
1895                                  w: ::std::os::raw::c_int,
1896                                  h: ::std::os::raw::c_int);
1897}
1898extern "C" {
1899    pub fn TCOD_console_set_default_background(con: TCOD_console_t,
1900                                               col: TCOD_color_t);
1901}
1902extern "C" {
1903    pub fn TCOD_console_set_default_foreground(con: TCOD_console_t,
1904                                               col: TCOD_color_t);
1905}
1906extern "C" {
1907    pub fn TCOD_console_clear(con: TCOD_console_t);
1908}
1909extern "C" {
1910    pub fn TCOD_console_set_char_background(con: TCOD_console_t,
1911                                            x: ::std::os::raw::c_int,
1912                                            y: ::std::os::raw::c_int,
1913                                            col: TCOD_color_t,
1914                                            flag: TCOD_bkgnd_flag_t);
1915}
1916extern "C" {
1917    pub fn TCOD_console_set_char_foreground(con: TCOD_console_t,
1918                                            x: ::std::os::raw::c_int,
1919                                            y: ::std::os::raw::c_int,
1920                                            col: TCOD_color_t);
1921}
1922extern "C" {
1923    pub fn TCOD_console_set_char(con: TCOD_console_t,
1924                                 x: ::std::os::raw::c_int,
1925                                 y: ::std::os::raw::c_int,
1926                                 c: ::std::os::raw::c_int);
1927}
1928extern "C" {
1929    pub fn TCOD_console_put_char(con: TCOD_console_t,
1930                                 x: ::std::os::raw::c_int,
1931                                 y: ::std::os::raw::c_int,
1932                                 c: ::std::os::raw::c_int,
1933                                 flag: TCOD_bkgnd_flag_t);
1934}
1935extern "C" {
1936    pub fn TCOD_console_put_char_ex(con: TCOD_console_t,
1937                                    x: ::std::os::raw::c_int,
1938                                    y: ::std::os::raw::c_int,
1939                                    c: ::std::os::raw::c_int,
1940                                    fore: TCOD_color_t, back: TCOD_color_t);
1941}
1942extern "C" {
1943    pub fn TCOD_console_set_background_flag(con: TCOD_console_t,
1944                                            flag: TCOD_bkgnd_flag_t);
1945}
1946extern "C" {
1947    pub fn TCOD_console_get_background_flag(con: TCOD_console_t)
1948     -> TCOD_bkgnd_flag_t;
1949}
1950extern "C" {
1951    pub fn TCOD_console_set_alignment(con: TCOD_console_t,
1952                                      alignment: TCOD_alignment_t);
1953}
1954extern "C" {
1955    pub fn TCOD_console_get_alignment(con: TCOD_console_t)
1956     -> TCOD_alignment_t;
1957}
1958extern "C" {
1959    pub fn TCOD_console_print(con: TCOD_console_t, x: ::std::os::raw::c_int,
1960                              y: ::std::os::raw::c_int,
1961                              fmt: *const ::std::os::raw::c_char, ...);
1962}
1963extern "C" {
1964    pub fn TCOD_console_print_ex(con: TCOD_console_t,
1965                                 x: ::std::os::raw::c_int,
1966                                 y: ::std::os::raw::c_int,
1967                                 flag: TCOD_bkgnd_flag_t,
1968                                 alignment: TCOD_alignment_t,
1969                                 fmt: *const ::std::os::raw::c_char, ...);
1970}
1971extern "C" {
1972    pub fn TCOD_console_print_rect(con: TCOD_console_t,
1973                                   x: ::std::os::raw::c_int,
1974                                   y: ::std::os::raw::c_int,
1975                                   w: ::std::os::raw::c_int,
1976                                   h: ::std::os::raw::c_int,
1977                                   fmt: *const ::std::os::raw::c_char, ...)
1978     -> ::std::os::raw::c_int;
1979}
1980extern "C" {
1981    pub fn TCOD_console_print_rect_ex(con: TCOD_console_t,
1982                                      x: ::std::os::raw::c_int,
1983                                      y: ::std::os::raw::c_int,
1984                                      w: ::std::os::raw::c_int,
1985                                      h: ::std::os::raw::c_int,
1986                                      flag: TCOD_bkgnd_flag_t,
1987                                      alignment: TCOD_alignment_t,
1988                                      fmt: *const ::std::os::raw::c_char, ...)
1989     -> ::std::os::raw::c_int;
1990}
1991extern "C" {
1992    pub fn TCOD_console_get_height_rect(con: TCOD_console_t,
1993                                        x: ::std::os::raw::c_int,
1994                                        y: ::std::os::raw::c_int,
1995                                        w: ::std::os::raw::c_int,
1996                                        h: ::std::os::raw::c_int,
1997                                        fmt:
1998                                            *const ::std::os::raw::c_char, ...)
1999     -> ::std::os::raw::c_int;
2000}
2001extern "C" {
2002    pub fn TCOD_console_rect(con: TCOD_console_t, x: ::std::os::raw::c_int,
2003                             y: ::std::os::raw::c_int,
2004                             w: ::std::os::raw::c_int,
2005                             h: ::std::os::raw::c_int, clear: bool_,
2006                             flag: TCOD_bkgnd_flag_t);
2007}
2008extern "C" {
2009    pub fn TCOD_console_hline(con: TCOD_console_t, x: ::std::os::raw::c_int,
2010                              y: ::std::os::raw::c_int,
2011                              l: ::std::os::raw::c_int,
2012                              flag: TCOD_bkgnd_flag_t);
2013}
2014extern "C" {
2015    pub fn TCOD_console_vline(con: TCOD_console_t, x: ::std::os::raw::c_int,
2016                              y: ::std::os::raw::c_int,
2017                              l: ::std::os::raw::c_int,
2018                              flag: TCOD_bkgnd_flag_t);
2019}
2020extern "C" {
2021    pub fn TCOD_console_print_frame(con: TCOD_console_t,
2022                                    x: ::std::os::raw::c_int,
2023                                    y: ::std::os::raw::c_int,
2024                                    w: ::std::os::raw::c_int,
2025                                    h: ::std::os::raw::c_int, empty: bool_,
2026                                    flag: TCOD_bkgnd_flag_t,
2027                                    fmt: *const ::std::os::raw::c_char, ...);
2028}
2029extern "C" {
2030    pub fn TCOD_console_map_string_to_font_utf(s: *const wchar_t,
2031                                               fontCharX:
2032                                                   ::std::os::raw::c_int,
2033                                               fontCharY:
2034                                                   ::std::os::raw::c_int);
2035}
2036extern "C" {
2037    pub fn TCOD_console_print_utf(con: TCOD_console_t,
2038                                  x: ::std::os::raw::c_int,
2039                                  y: ::std::os::raw::c_int,
2040                                  fmt: *const wchar_t, ...);
2041}
2042extern "C" {
2043    pub fn TCOD_console_print_ex_utf(con: TCOD_console_t,
2044                                     x: ::std::os::raw::c_int,
2045                                     y: ::std::os::raw::c_int,
2046                                     flag: TCOD_bkgnd_flag_t,
2047                                     alignment: TCOD_alignment_t,
2048                                     fmt: *const wchar_t, ...);
2049}
2050extern "C" {
2051    pub fn TCOD_console_print_rect_utf(con: TCOD_console_t,
2052                                       x: ::std::os::raw::c_int,
2053                                       y: ::std::os::raw::c_int,
2054                                       w: ::std::os::raw::c_int,
2055                                       h: ::std::os::raw::c_int,
2056                                       fmt: *const wchar_t, ...)
2057     -> ::std::os::raw::c_int;
2058}
2059extern "C" {
2060    pub fn TCOD_console_print_rect_ex_utf(con: TCOD_console_t,
2061                                          x: ::std::os::raw::c_int,
2062                                          y: ::std::os::raw::c_int,
2063                                          w: ::std::os::raw::c_int,
2064                                          h: ::std::os::raw::c_int,
2065                                          flag: TCOD_bkgnd_flag_t,
2066                                          alignment: TCOD_alignment_t,
2067                                          fmt: *const wchar_t, ...)
2068     -> ::std::os::raw::c_int;
2069}
2070extern "C" {
2071    pub fn TCOD_console_get_height_rect_utf(con: TCOD_console_t,
2072                                            x: ::std::os::raw::c_int,
2073                                            y: ::std::os::raw::c_int,
2074                                            w: ::std::os::raw::c_int,
2075                                            h: ::std::os::raw::c_int,
2076                                            fmt: *const wchar_t, ...)
2077     -> ::std::os::raw::c_int;
2078}
2079extern "C" {
2080    pub fn TCOD_console_get_default_background(con: TCOD_console_t)
2081     -> TCOD_color_t;
2082}
2083extern "C" {
2084    pub fn TCOD_console_get_default_foreground(con: TCOD_console_t)
2085     -> TCOD_color_t;
2086}
2087extern "C" {
2088    pub fn TCOD_console_get_char_background(con: TCOD_console_t,
2089                                            x: ::std::os::raw::c_int,
2090                                            y: ::std::os::raw::c_int)
2091     -> TCOD_color_t;
2092}
2093extern "C" {
2094    pub fn TCOD_console_get_char_foreground(con: TCOD_console_t,
2095                                            x: ::std::os::raw::c_int,
2096                                            y: ::std::os::raw::c_int)
2097     -> TCOD_color_t;
2098}
2099extern "C" {
2100    pub fn TCOD_console_get_char(con: TCOD_console_t,
2101                                 x: ::std::os::raw::c_int,
2102                                 y: ::std::os::raw::c_int)
2103     -> ::std::os::raw::c_int;
2104}
2105extern "C" {
2106    pub fn TCOD_console_get_background_color_image(con: TCOD_console_t)
2107     -> TCOD_image_t;
2108}
2109extern "C" {
2110    pub fn TCOD_console_get_foreground_color_image(con: TCOD_console_t)
2111     -> TCOD_image_t;
2112}
2113extern "C" {
2114    pub fn TCOD_console_set_fade(val: uint8, fade: TCOD_color_t);
2115}
2116extern "C" {
2117    pub fn TCOD_console_get_fade() -> uint8;
2118}
2119extern "C" {
2120    pub fn TCOD_console_get_fading_color() -> TCOD_color_t;
2121}
2122extern "C" {
2123    pub fn TCOD_console_flush();
2124}
2125extern "C" {
2126    pub fn TCOD_console_set_color_control(con: TCOD_colctrl_t,
2127                                          fore: TCOD_color_t,
2128                                          back: TCOD_color_t);
2129}
2130extern "C" {
2131    pub fn TCOD_console_check_for_keypress(flags: ::std::os::raw::c_int)
2132     -> TCOD_key_t;
2133}
2134extern "C" {
2135    pub fn TCOD_console_wait_for_keypress(flush: bool_) -> TCOD_key_t;
2136}
2137extern "C" {
2138    pub fn TCOD_console_is_key_pressed(key: TCOD_keycode_t) -> bool_;
2139}
2140extern "C" {
2141    pub fn TCOD_console_from_file(filename: *const ::std::os::raw::c_char)
2142     -> TCOD_console_t;
2143}
2144extern "C" {
2145    pub fn TCOD_console_load_asc(con: TCOD_console_t,
2146                                 filename: *const ::std::os::raw::c_char)
2147     -> bool_;
2148}
2149extern "C" {
2150    pub fn TCOD_console_load_apf(con: TCOD_console_t,
2151                                 filename: *const ::std::os::raw::c_char)
2152     -> bool_;
2153}
2154extern "C" {
2155    pub fn TCOD_console_save_asc(con: TCOD_console_t,
2156                                 filename: *const ::std::os::raw::c_char)
2157     -> bool_;
2158}
2159extern "C" {
2160    pub fn TCOD_console_save_apf(con: TCOD_console_t,
2161                                 filename: *const ::std::os::raw::c_char)
2162     -> bool_;
2163}
2164extern "C" {
2165    pub fn TCOD_console_new(w: ::std::os::raw::c_int,
2166                            h: ::std::os::raw::c_int) -> TCOD_console_t;
2167}
2168extern "C" {
2169    pub fn TCOD_console_get_width(con: TCOD_console_t)
2170     -> ::std::os::raw::c_int;
2171}
2172extern "C" {
2173    pub fn TCOD_console_get_height(con: TCOD_console_t)
2174     -> ::std::os::raw::c_int;
2175}
2176extern "C" {
2177    pub fn TCOD_console_set_key_color(con: TCOD_console_t, col: TCOD_color_t);
2178}
2179extern "C" {
2180    pub fn TCOD_console_blit(src: TCOD_console_t, xSrc: ::std::os::raw::c_int,
2181                             ySrc: ::std::os::raw::c_int,
2182                             wSrc: ::std::os::raw::c_int,
2183                             hSrc: ::std::os::raw::c_int, dst: TCOD_console_t,
2184                             xDst: ::std::os::raw::c_int,
2185                             yDst: ::std::os::raw::c_int,
2186                             foreground_alpha: f32, background_alpha: f32);
2187}
2188extern "C" {
2189    pub fn TCOD_console_delete(console: TCOD_console_t);
2190}
2191extern "C" {
2192    pub fn TCOD_console_credits();
2193}
2194extern "C" {
2195    pub fn TCOD_console_credits_reset();
2196}
2197extern "C" {
2198    pub fn TCOD_console_credits_render(x: ::std::os::raw::c_int,
2199                                       y: ::std::os::raw::c_int, alpha: bool_)
2200     -> bool_;
2201}
2202#[repr(C)]
2203#[derive(Debug, Copy)]
2204pub struct TCOD_mouse_t {
2205    pub x: ::std::os::raw::c_int,
2206    pub y: ::std::os::raw::c_int,
2207    pub dx: ::std::os::raw::c_int,
2208    pub dy: ::std::os::raw::c_int,
2209    pub cx: ::std::os::raw::c_int,
2210    pub cy: ::std::os::raw::c_int,
2211    pub dcx: ::std::os::raw::c_int,
2212    pub dcy: ::std::os::raw::c_int,
2213    pub lbutton: bool_,
2214    pub rbutton: bool_,
2215    pub mbutton: bool_,
2216    pub lbutton_pressed: bool_,
2217    pub rbutton_pressed: bool_,
2218    pub mbutton_pressed: bool_,
2219    pub wheel_up: bool_,
2220    pub wheel_down: bool_,
2221}
2222impl Clone for TCOD_mouse_t {
2223    fn clone(&self) -> Self { *self }
2224}
2225extern "C" {
2226    pub fn TCOD_mouse_show_cursor(visible: bool_);
2227}
2228extern "C" {
2229    pub fn TCOD_mouse_get_status() -> TCOD_mouse_t;
2230}
2231extern "C" {
2232    pub fn TCOD_mouse_is_cursor_visible() -> bool_;
2233}
2234extern "C" {
2235    pub fn TCOD_mouse_move(x: ::std::os::raw::c_int,
2236                           y: ::std::os::raw::c_int);
2237}
2238extern "C" {
2239    pub fn TCOD_mouse_includes_touch(enable: bool_);
2240}
2241extern "C" {
2242    pub fn TCOD_sys_startup();
2243}
2244extern "C" {
2245    pub fn TCOD_sys_shutdown();
2246}
2247extern "C" {
2248    pub fn TCOD_sys_elapsed_milli() -> uint32;
2249}
2250extern "C" {
2251    pub fn TCOD_sys_elapsed_seconds() -> f32;
2252}
2253extern "C" {
2254    pub fn TCOD_sys_sleep_milli(val: uint32);
2255}
2256extern "C" {
2257    pub fn TCOD_sys_save_screenshot(filename: *const ::std::os::raw::c_char);
2258}
2259extern "C" {
2260    pub fn TCOD_sys_force_fullscreen_resolution(width: ::std::os::raw::c_int,
2261                                                height:
2262                                                    ::std::os::raw::c_int);
2263}
2264extern "C" {
2265    pub fn TCOD_sys_set_renderer(renderer: TCOD_renderer_t);
2266}
2267extern "C" {
2268    pub fn TCOD_sys_get_renderer() -> TCOD_renderer_t;
2269}
2270extern "C" {
2271    pub fn TCOD_sys_set_fps(val: ::std::os::raw::c_int);
2272}
2273extern "C" {
2274    pub fn TCOD_sys_get_fps() -> ::std::os::raw::c_int;
2275}
2276extern "C" {
2277    pub fn TCOD_sys_get_last_frame_length() -> f32;
2278}
2279extern "C" {
2280    pub fn TCOD_sys_get_current_resolution(w: *mut ::std::os::raw::c_int,
2281                                           h: *mut ::std::os::raw::c_int);
2282}
2283extern "C" {
2284    pub fn TCOD_sys_get_fullscreen_offsets(offx: *mut ::std::os::raw::c_int,
2285                                           offy: *mut ::std::os::raw::c_int);
2286}
2287extern "C" {
2288    pub fn TCOD_sys_update_char(asciiCode: ::std::os::raw::c_int,
2289                                fontx: ::std::os::raw::c_int,
2290                                fonty: ::std::os::raw::c_int,
2291                                img: TCOD_image_t, x: ::std::os::raw::c_int,
2292                                y: ::std::os::raw::c_int);
2293}
2294extern "C" {
2295    pub fn TCOD_sys_get_char_size(w: *mut ::std::os::raw::c_int,
2296                                  h: *mut ::std::os::raw::c_int);
2297}
2298#[repr(u32)]
2299#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
2300pub enum TCOD_event_t {
2301    TCOD_EVENT_NONE = 0,
2302    TCOD_EVENT_KEY_PRESS = 1,
2303    TCOD_EVENT_KEY_RELEASE = 2,
2304    TCOD_EVENT_KEY = 3,
2305    TCOD_EVENT_MOUSE_MOVE = 4,
2306    TCOD_EVENT_MOUSE_PRESS = 8,
2307    TCOD_EVENT_MOUSE_RELEASE = 16,
2308    TCOD_EVENT_MOUSE = 28,
2309    TCOD_EVENT_FINGER_MOVE = 32,
2310    TCOD_EVENT_FINGER_PRESS = 64,
2311    TCOD_EVENT_FINGER_RELEASE = 128,
2312    TCOD_EVENT_FINGER = 224,
2313    TCOD_EVENT_ANY = 255,
2314}
2315extern "C" {
2316    pub fn TCOD_sys_wait_for_event(eventMask: ::std::os::raw::c_int,
2317                                   key: *mut TCOD_key_t,
2318                                   mouse: *mut TCOD_mouse_t, flush: bool_)
2319     -> TCOD_event_t;
2320}
2321extern "C" {
2322    pub fn TCOD_sys_check_for_event(eventMask: ::std::os::raw::c_int,
2323                                    key: *mut TCOD_key_t,
2324                                    mouse: *mut TCOD_mouse_t) -> TCOD_event_t;
2325}
2326extern "C" {
2327    pub fn TCOD_sys_create_directory(path: *const ::std::os::raw::c_char)
2328     -> bool_;
2329}
2330extern "C" {
2331    pub fn TCOD_sys_delete_file(path: *const ::std::os::raw::c_char) -> bool_;
2332}
2333extern "C" {
2334    pub fn TCOD_sys_delete_directory(path: *const ::std::os::raw::c_char)
2335     -> bool_;
2336}
2337extern "C" {
2338    pub fn TCOD_sys_is_directory(path: *const ::std::os::raw::c_char)
2339     -> bool_;
2340}
2341extern "C" {
2342    pub fn TCOD_sys_get_directory_content(path: *const ::std::os::raw::c_char,
2343                                          pattern:
2344                                              *const ::std::os::raw::c_char)
2345     -> TCOD_list_t;
2346}
2347extern "C" {
2348    pub fn TCOD_sys_file_exists(filename: *const ::std::os::raw::c_char, ...)
2349     -> bool_;
2350}
2351extern "C" {
2352    pub fn TCOD_sys_read_file(filename: *const ::std::os::raw::c_char,
2353                              buf: *mut *mut ::std::os::raw::c_uchar,
2354                              size: *mut usize) -> bool_;
2355}
2356extern "C" {
2357    pub fn TCOD_sys_write_file(filename: *const ::std::os::raw::c_char,
2358                               buf: *mut ::std::os::raw::c_uchar,
2359                               size: uint32) -> bool_;
2360}
2361extern "C" {
2362    pub fn TCOD_sys_clipboard_set(value: *const ::std::os::raw::c_char)
2363     -> bool_;
2364}
2365extern "C" {
2366    pub fn TCOD_sys_clipboard_get() -> *mut ::std::os::raw::c_char;
2367}
2368pub type TCOD_thread_t = *mut ::std::os::raw::c_void;
2369pub type TCOD_semaphore_t = *mut ::std::os::raw::c_void;
2370pub type TCOD_mutex_t = *mut ::std::os::raw::c_void;
2371pub type TCOD_cond_t = *mut ::std::os::raw::c_void;
2372extern "C" {
2373    pub fn TCOD_thread_new(func:
2374                               ::std::option::Option<unsafe extern "C" fn(arg1:
2375                                                                              *mut ::std::os::raw::c_void)
2376                                                         ->
2377                                                             ::std::os::raw::c_int>,
2378                           data: *mut ::std::os::raw::c_void)
2379     -> TCOD_thread_t;
2380}
2381extern "C" {
2382    pub fn TCOD_thread_delete(th: TCOD_thread_t);
2383}
2384extern "C" {
2385    pub fn TCOD_sys_get_num_cores() -> ::std::os::raw::c_int;
2386}
2387extern "C" {
2388    pub fn TCOD_thread_wait(th: TCOD_thread_t);
2389}
2390extern "C" {
2391    pub fn TCOD_mutex_new() -> TCOD_mutex_t;
2392}
2393extern "C" {
2394    pub fn TCOD_mutex_in(mut_: TCOD_mutex_t);
2395}
2396extern "C" {
2397    pub fn TCOD_mutex_out(mut_: TCOD_mutex_t);
2398}
2399extern "C" {
2400    pub fn TCOD_mutex_delete(mut_: TCOD_mutex_t);
2401}
2402extern "C" {
2403    pub fn TCOD_semaphore_new(initVal: ::std::os::raw::c_int)
2404     -> TCOD_semaphore_t;
2405}
2406extern "C" {
2407    pub fn TCOD_semaphore_lock(sem: TCOD_semaphore_t);
2408}
2409extern "C" {
2410    pub fn TCOD_semaphore_unlock(sem: TCOD_semaphore_t);
2411}
2412extern "C" {
2413    pub fn TCOD_semaphore_delete(sem: TCOD_semaphore_t);
2414}
2415extern "C" {
2416    pub fn TCOD_condition_new() -> TCOD_cond_t;
2417}
2418extern "C" {
2419    pub fn TCOD_condition_signal(sem: TCOD_cond_t);
2420}
2421extern "C" {
2422    pub fn TCOD_condition_broadcast(sem: TCOD_cond_t);
2423}
2424extern "C" {
2425    pub fn TCOD_condition_wait(sem: TCOD_cond_t, mut_: TCOD_mutex_t);
2426}
2427extern "C" {
2428    pub fn TCOD_condition_delete(sem: TCOD_cond_t);
2429}
2430pub type TCOD_library_t = *mut ::std::os::raw::c_void;
2431extern "C" {
2432    pub fn TCOD_load_library(path: *const ::std::os::raw::c_char)
2433     -> TCOD_library_t;
2434}
2435extern "C" {
2436    pub fn TCOD_get_function_address(library: TCOD_library_t,
2437                                     function_name:
2438                                         *const ::std::os::raw::c_char)
2439     -> *mut ::std::os::raw::c_void;
2440}
2441extern "C" {
2442    pub fn TCOD_close_library(arg1: TCOD_library_t);
2443}
2444#[repr(C)]
2445#[derive(Debug, Copy)]
2446pub struct TCOD_dice_t {
2447    pub nb_rolls: ::std::os::raw::c_int,
2448    pub nb_faces: ::std::os::raw::c_int,
2449    pub multiplier: f32,
2450    pub addsub: f32,
2451}
2452impl Clone for TCOD_dice_t {
2453    fn clone(&self) -> Self { *self }
2454}
2455#[repr(u32)]
2456#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
2457pub enum TCOD_random_algo_t { TCOD_RNG_MT = 0, TCOD_RNG_CMWC = 1, }
2458#[repr(u32)]
2459#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
2460pub enum TCOD_distribution_t {
2461    TCOD_DISTRIBUTION_LINEAR = 0,
2462    TCOD_DISTRIBUTION_GAUSSIAN = 1,
2463    TCOD_DISTRIBUTION_GAUSSIAN_RANGE = 2,
2464    TCOD_DISTRIBUTION_GAUSSIAN_INVERSE = 3,
2465    TCOD_DISTRIBUTION_GAUSSIAN_RANGE_INVERSE = 4,
2466}
2467pub type TCOD_random_t = *mut ::std::os::raw::c_void;
2468extern "C" {
2469    pub fn TCOD_random_get_instance() -> TCOD_random_t;
2470}
2471extern "C" {
2472    pub fn TCOD_random_new(algo: TCOD_random_algo_t) -> TCOD_random_t;
2473}
2474extern "C" {
2475    pub fn TCOD_random_save(mersenne: TCOD_random_t) -> TCOD_random_t;
2476}
2477extern "C" {
2478    pub fn TCOD_random_restore(mersenne: TCOD_random_t,
2479                               backup: TCOD_random_t);
2480}
2481extern "C" {
2482    pub fn TCOD_random_new_from_seed(algo: TCOD_random_algo_t, seed: uint32)
2483     -> TCOD_random_t;
2484}
2485extern "C" {
2486    pub fn TCOD_random_delete(mersenne: TCOD_random_t);
2487}
2488extern "C" {
2489    pub fn TCOD_random_set_distribution(mersenne: TCOD_random_t,
2490                                        distribution: TCOD_distribution_t);
2491}
2492extern "C" {
2493    pub fn TCOD_random_get_int(mersenne: TCOD_random_t,
2494                               min: ::std::os::raw::c_int,
2495                               max: ::std::os::raw::c_int)
2496     -> ::std::os::raw::c_int;
2497}
2498extern "C" {
2499    pub fn TCOD_random_get_float(mersenne: TCOD_random_t, min: f32, max: f32)
2500     -> f32;
2501}
2502extern "C" {
2503    pub fn TCOD_random_get_double(mersenne: TCOD_random_t, min: f64, max: f64)
2504     -> f64;
2505}
2506extern "C" {
2507    pub fn TCOD_random_get_int_mean(mersenne: TCOD_random_t,
2508                                    min: ::std::os::raw::c_int,
2509                                    max: ::std::os::raw::c_int,
2510                                    mean: ::std::os::raw::c_int)
2511     -> ::std::os::raw::c_int;
2512}
2513extern "C" {
2514    pub fn TCOD_random_get_float_mean(mersenne: TCOD_random_t, min: f32,
2515                                      max: f32, mean: f32) -> f32;
2516}
2517extern "C" {
2518    pub fn TCOD_random_get_double_mean(mersenne: TCOD_random_t, min: f64,
2519                                       max: f64, mean: f64) -> f64;
2520}
2521extern "C" {
2522    pub fn TCOD_random_dice_new(s: *const ::std::os::raw::c_char)
2523     -> TCOD_dice_t;
2524}
2525extern "C" {
2526    pub fn TCOD_random_dice_roll(mersenne: TCOD_random_t, dice: TCOD_dice_t)
2527     -> ::std::os::raw::c_int;
2528}
2529extern "C" {
2530    pub fn TCOD_random_dice_roll_s(mersenne: TCOD_random_t,
2531                                   s: *const ::std::os::raw::c_char)
2532     -> ::std::os::raw::c_int;
2533}
2534pub type TCOD_line_listener_t =
2535    ::std::option::Option<unsafe extern "C" fn(x: ::std::os::raw::c_int,
2536                                               y: ::std::os::raw::c_int)
2537                              -> bool_>;
2538extern "C" {
2539    pub fn TCOD_line_init(xFrom: ::std::os::raw::c_int,
2540                          yFrom: ::std::os::raw::c_int,
2541                          xTo: ::std::os::raw::c_int,
2542                          yTo: ::std::os::raw::c_int);
2543}
2544extern "C" {
2545    pub fn TCOD_line_step(xCur: *mut ::std::os::raw::c_int,
2546                          yCur: *mut ::std::os::raw::c_int) -> bool_;
2547}
2548extern "C" {
2549    pub fn TCOD_line(xFrom: ::std::os::raw::c_int,
2550                     yFrom: ::std::os::raw::c_int, xTo: ::std::os::raw::c_int,
2551                     yTo: ::std::os::raw::c_int,
2552                     listener: TCOD_line_listener_t) -> bool_;
2553}
2554#[repr(C)]
2555#[derive(Debug, Default, Copy)]
2556pub struct TCOD_bresenham_data_t {
2557    pub stepx: ::std::os::raw::c_int,
2558    pub stepy: ::std::os::raw::c_int,
2559    pub e: ::std::os::raw::c_int,
2560    pub deltax: ::std::os::raw::c_int,
2561    pub deltay: ::std::os::raw::c_int,
2562    pub origx: ::std::os::raw::c_int,
2563    pub origy: ::std::os::raw::c_int,
2564    pub destx: ::std::os::raw::c_int,
2565    pub desty: ::std::os::raw::c_int,
2566}
2567impl Clone for TCOD_bresenham_data_t {
2568    fn clone(&self) -> Self { *self }
2569}
2570extern "C" {
2571    pub fn TCOD_line_init_mt(xFrom: ::std::os::raw::c_int,
2572                             yFrom: ::std::os::raw::c_int,
2573                             xTo: ::std::os::raw::c_int,
2574                             yTo: ::std::os::raw::c_int,
2575                             data: *mut TCOD_bresenham_data_t);
2576}
2577extern "C" {
2578    pub fn TCOD_line_step_mt(xCur: *mut ::std::os::raw::c_int,
2579                             yCur: *mut ::std::os::raw::c_int,
2580                             data: *mut TCOD_bresenham_data_t) -> bool_;
2581}
2582extern "C" {
2583    pub fn TCOD_line_mt(xFrom: ::std::os::raw::c_int,
2584                        yFrom: ::std::os::raw::c_int,
2585                        xTo: ::std::os::raw::c_int,
2586                        yTo: ::std::os::raw::c_int,
2587                        listener: TCOD_line_listener_t,
2588                        data: *mut TCOD_bresenham_data_t) -> bool_;
2589}
2590pub type TCOD_noise_t = *mut ::std::os::raw::c_void;
2591#[repr(u32)]
2592#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
2593pub enum TCOD_noise_type_t {
2594    TCOD_NOISE_PERLIN = 1,
2595    TCOD_NOISE_SIMPLEX = 2,
2596    TCOD_NOISE_WAVELET = 4,
2597    TCOD_NOISE_DEFAULT = 0,
2598}
2599extern "C" {
2600    pub fn TCOD_noise_new(dimensions: ::std::os::raw::c_int, hurst: f32,
2601                          lacunarity: f32, random: TCOD_random_t)
2602     -> TCOD_noise_t;
2603}
2604extern "C" {
2605    pub fn TCOD_noise_set_type(noise: TCOD_noise_t, type_: TCOD_noise_type_t);
2606}
2607extern "C" {
2608    pub fn TCOD_noise_get_ex(noise: TCOD_noise_t, f: *mut f32,
2609                             type_: TCOD_noise_type_t) -> f32;
2610}
2611extern "C" {
2612    pub fn TCOD_noise_get_fbm_ex(noise: TCOD_noise_t, f: *mut f32,
2613                                 octaves: f32, type_: TCOD_noise_type_t)
2614     -> f32;
2615}
2616extern "C" {
2617    pub fn TCOD_noise_get_turbulence_ex(noise: TCOD_noise_t, f: *mut f32,
2618                                        octaves: f32,
2619                                        type_: TCOD_noise_type_t) -> f32;
2620}
2621extern "C" {
2622    pub fn TCOD_noise_get(noise: TCOD_noise_t, f: *mut f32) -> f32;
2623}
2624extern "C" {
2625    pub fn TCOD_noise_get_fbm(noise: TCOD_noise_t, f: *mut f32, octaves: f32)
2626     -> f32;
2627}
2628extern "C" {
2629    pub fn TCOD_noise_get_turbulence(noise: TCOD_noise_t, f: *mut f32,
2630                                     octaves: f32) -> f32;
2631}
2632extern "C" {
2633    pub fn TCOD_noise_delete(noise: TCOD_noise_t);
2634}
2635pub type TCOD_map_t = *mut ::std::os::raw::c_void;
2636#[repr(u32)]
2637#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
2638pub enum TCOD_fov_algorithm_t {
2639    FOV_BASIC = 0,
2640    FOV_DIAMOND = 1,
2641    FOV_SHADOW = 2,
2642    FOV_PERMISSIVE_0 = 3,
2643    FOV_PERMISSIVE_1 = 4,
2644    FOV_PERMISSIVE_2 = 5,
2645    FOV_PERMISSIVE_3 = 6,
2646    FOV_PERMISSIVE_4 = 7,
2647    FOV_PERMISSIVE_5 = 8,
2648    FOV_PERMISSIVE_6 = 9,
2649    FOV_PERMISSIVE_7 = 10,
2650    FOV_PERMISSIVE_8 = 11,
2651    FOV_RESTRICTIVE = 12,
2652    NB_FOV_ALGORITHMS = 13,
2653}
2654extern "C" {
2655    pub fn TCOD_map_new(width: ::std::os::raw::c_int,
2656                        height: ::std::os::raw::c_int) -> TCOD_map_t;
2657}
2658extern "C" {
2659    pub fn TCOD_map_clear(map: TCOD_map_t, transparent: bool_,
2660                          walkable: bool_);
2661}
2662extern "C" {
2663    pub fn TCOD_map_copy(source: TCOD_map_t, dest: TCOD_map_t);
2664}
2665extern "C" {
2666    pub fn TCOD_map_set_properties(map: TCOD_map_t, x: ::std::os::raw::c_int,
2667                                   y: ::std::os::raw::c_int,
2668                                   is_transparent: bool_, is_walkable: bool_);
2669}
2670extern "C" {
2671    pub fn TCOD_map_delete(map: TCOD_map_t);
2672}
2673extern "C" {
2674    pub fn TCOD_map_compute_fov(map: TCOD_map_t,
2675                                player_x: ::std::os::raw::c_int,
2676                                player_y: ::std::os::raw::c_int,
2677                                max_radius: ::std::os::raw::c_int,
2678                                light_walls: bool_,
2679                                algo: TCOD_fov_algorithm_t);
2680}
2681extern "C" {
2682    pub fn TCOD_map_is_in_fov(map: TCOD_map_t, x: ::std::os::raw::c_int,
2683                              y: ::std::os::raw::c_int) -> bool_;
2684}
2685extern "C" {
2686    pub fn TCOD_map_set_in_fov(map: TCOD_map_t, x: ::std::os::raw::c_int,
2687                               y: ::std::os::raw::c_int, fov: bool_);
2688}
2689extern "C" {
2690    pub fn TCOD_map_is_transparent(map: TCOD_map_t, x: ::std::os::raw::c_int,
2691                                   y: ::std::os::raw::c_int) -> bool_;
2692}
2693extern "C" {
2694    pub fn TCOD_map_is_walkable(map: TCOD_map_t, x: ::std::os::raw::c_int,
2695                                y: ::std::os::raw::c_int) -> bool_;
2696}
2697extern "C" {
2698    pub fn TCOD_map_get_width(map: TCOD_map_t) -> ::std::os::raw::c_int;
2699}
2700extern "C" {
2701    pub fn TCOD_map_get_height(map: TCOD_map_t) -> ::std::os::raw::c_int;
2702}
2703extern "C" {
2704    pub fn TCOD_map_get_nb_cells(map: TCOD_map_t) -> ::std::os::raw::c_int;
2705}
2706pub type TCOD_path_func_t =
2707    ::std::option::Option<unsafe extern "C" fn(xFrom: ::std::os::raw::c_int,
2708                                               yFrom: ::std::os::raw::c_int,
2709                                               xTo: ::std::os::raw::c_int,
2710                                               yTo: ::std::os::raw::c_int,
2711                                               user_data:
2712                                                   *mut ::std::os::raw::c_void)
2713                              -> f32>;
2714pub type TCOD_path_t = *mut ::std::os::raw::c_void;
2715extern "C" {
2716    pub fn TCOD_path_new_using_map(map: TCOD_map_t, diagonalCost: f32)
2717     -> TCOD_path_t;
2718}
2719extern "C" {
2720    pub fn TCOD_path_new_using_function(map_width: ::std::os::raw::c_int,
2721                                        map_height: ::std::os::raw::c_int,
2722                                        func: TCOD_path_func_t,
2723                                        user_data:
2724                                            *mut ::std::os::raw::c_void,
2725                                        diagonalCost: f32) -> TCOD_path_t;
2726}
2727extern "C" {
2728    pub fn TCOD_path_compute(path: TCOD_path_t, ox: ::std::os::raw::c_int,
2729                             oy: ::std::os::raw::c_int,
2730                             dx: ::std::os::raw::c_int,
2731                             dy: ::std::os::raw::c_int) -> bool_;
2732}
2733extern "C" {
2734    pub fn TCOD_path_walk(path: TCOD_path_t, x: *mut ::std::os::raw::c_int,
2735                          y: *mut ::std::os::raw::c_int,
2736                          recalculate_when_needed: bool_) -> bool_;
2737}
2738extern "C" {
2739    pub fn TCOD_path_is_empty(path: TCOD_path_t) -> bool_;
2740}
2741extern "C" {
2742    pub fn TCOD_path_size(path: TCOD_path_t) -> ::std::os::raw::c_int;
2743}
2744extern "C" {
2745    pub fn TCOD_path_reverse(path: TCOD_path_t);
2746}
2747extern "C" {
2748    pub fn TCOD_path_get(path: TCOD_path_t, index: ::std::os::raw::c_int,
2749                         x: *mut ::std::os::raw::c_int,
2750                         y: *mut ::std::os::raw::c_int);
2751}
2752extern "C" {
2753    pub fn TCOD_path_get_origin(path: TCOD_path_t,
2754                                x: *mut ::std::os::raw::c_int,
2755                                y: *mut ::std::os::raw::c_int);
2756}
2757extern "C" {
2758    pub fn TCOD_path_get_destination(path: TCOD_path_t,
2759                                     x: *mut ::std::os::raw::c_int,
2760                                     y: *mut ::std::os::raw::c_int);
2761}
2762extern "C" {
2763    pub fn TCOD_path_delete(path: TCOD_path_t);
2764}
2765pub type TCOD_dijkstra_t = *mut ::std::os::raw::c_void;
2766extern "C" {
2767    pub fn TCOD_dijkstra_new(map: TCOD_map_t, diagonalCost: f32)
2768     -> TCOD_dijkstra_t;
2769}
2770extern "C" {
2771    pub fn TCOD_dijkstra_new_using_function(map_width: ::std::os::raw::c_int,
2772                                            map_height: ::std::os::raw::c_int,
2773                                            func: TCOD_path_func_t,
2774                                            user_data:
2775                                                *mut ::std::os::raw::c_void,
2776                                            diagonalCost: f32)
2777     -> TCOD_dijkstra_t;
2778}
2779extern "C" {
2780    pub fn TCOD_dijkstra_compute(dijkstra: TCOD_dijkstra_t,
2781                                 root_x: ::std::os::raw::c_int,
2782                                 root_y: ::std::os::raw::c_int);
2783}
2784extern "C" {
2785    pub fn TCOD_dijkstra_get_distance(dijkstra: TCOD_dijkstra_t,
2786                                      x: ::std::os::raw::c_int,
2787                                      y: ::std::os::raw::c_int) -> f32;
2788}
2789extern "C" {
2790    pub fn TCOD_dijkstra_path_set(dijkstra: TCOD_dijkstra_t,
2791                                  x: ::std::os::raw::c_int,
2792                                  y: ::std::os::raw::c_int) -> bool_;
2793}
2794extern "C" {
2795    pub fn TCOD_dijkstra_is_empty(path: TCOD_dijkstra_t) -> bool_;
2796}
2797extern "C" {
2798    pub fn TCOD_dijkstra_size(path: TCOD_dijkstra_t) -> ::std::os::raw::c_int;
2799}
2800extern "C" {
2801    pub fn TCOD_dijkstra_reverse(path: TCOD_dijkstra_t);
2802}
2803extern "C" {
2804    pub fn TCOD_dijkstra_get(path: TCOD_dijkstra_t,
2805                             index: ::std::os::raw::c_int,
2806                             x: *mut ::std::os::raw::c_int,
2807                             y: *mut ::std::os::raw::c_int);
2808}
2809extern "C" {
2810    pub fn TCOD_dijkstra_path_walk(dijkstra: TCOD_dijkstra_t,
2811                                   x: *mut ::std::os::raw::c_int,
2812                                   y: *mut ::std::os::raw::c_int) -> bool_;
2813}
2814extern "C" {
2815    pub fn TCOD_dijkstra_delete(dijkstra: TCOD_dijkstra_t);
2816}
2817#[repr(C)]
2818pub struct TCOD_lex_t {
2819    pub file_line: ::std::os::raw::c_int,
2820    pub token_type: ::std::os::raw::c_int,
2821    pub token_int_val: ::std::os::raw::c_int,
2822    pub token_idx: ::std::os::raw::c_int,
2823    pub token_float_val: f32,
2824    pub tok: *mut ::std::os::raw::c_char,
2825    pub toklen: ::std::os::raw::c_int,
2826    pub lastStringDelim: ::std::os::raw::c_char,
2827    pub pos: *mut ::std::os::raw::c_char,
2828    pub buf: *mut ::std::os::raw::c_char,
2829    pub filename: *mut ::std::os::raw::c_char,
2830    pub last_javadoc_comment: *mut ::std::os::raw::c_char,
2831    pub nb_symbols: ::std::os::raw::c_int,
2832    pub nb_keywords: ::std::os::raw::c_int,
2833    pub flags: ::std::os::raw::c_int,
2834    pub symbols: [[::std::os::raw::c_char; 5usize]; 100usize],
2835    pub keywords: [[::std::os::raw::c_char; 20usize]; 100usize],
2836    pub simpleCmt: *const ::std::os::raw::c_char,
2837    pub cmtStart: *const ::std::os::raw::c_char,
2838    pub cmtStop: *const ::std::os::raw::c_char,
2839    pub javadocCmtStart: *const ::std::os::raw::c_char,
2840    pub stringDelim: *const ::std::os::raw::c_char,
2841    pub javadoc_read: bool_,
2842    pub allocBuf: bool_,
2843    pub savept: bool_,
2844}
2845extern "C" {
2846    pub fn TCOD_lex_new_intern() -> *mut TCOD_lex_t;
2847}
2848extern "C" {
2849    pub fn TCOD_lex_new(symbols: *mut *const ::std::os::raw::c_char,
2850                        keywords: *mut *const ::std::os::raw::c_char,
2851                        simpleComment: *const ::std::os::raw::c_char,
2852                        commentStart: *const ::std::os::raw::c_char,
2853                        commentStop: *const ::std::os::raw::c_char,
2854                        javadocCommentStart: *const ::std::os::raw::c_char,
2855                        stringDelim: *const ::std::os::raw::c_char,
2856                        flags: ::std::os::raw::c_int) -> *mut TCOD_lex_t;
2857}
2858extern "C" {
2859    pub fn TCOD_lex_delete(lex: *mut TCOD_lex_t);
2860}
2861extern "C" {
2862    pub fn TCOD_lex_set_data_buffer(lex: *mut TCOD_lex_t,
2863                                    dat: *mut ::std::os::raw::c_char);
2864}
2865extern "C" {
2866    pub fn TCOD_lex_set_data_file(lex: *mut TCOD_lex_t,
2867                                  filename: *const ::std::os::raw::c_char)
2868     -> bool_;
2869}
2870extern "C" {
2871    pub fn TCOD_lex_parse(lex: *mut TCOD_lex_t) -> ::std::os::raw::c_int;
2872}
2873extern "C" {
2874    pub fn TCOD_lex_parse_until_token_type(lex: *mut TCOD_lex_t,
2875                                           token_type: ::std::os::raw::c_int)
2876     -> ::std::os::raw::c_int;
2877}
2878extern "C" {
2879    pub fn TCOD_lex_parse_until_token_value(lex: *mut TCOD_lex_t,
2880                                            token_value:
2881                                                *const ::std::os::raw::c_char)
2882     -> ::std::os::raw::c_int;
2883}
2884extern "C" {
2885    pub fn TCOD_lex_expect_token_type(lex: *mut TCOD_lex_t,
2886                                      token_type: ::std::os::raw::c_int)
2887     -> bool_;
2888}
2889extern "C" {
2890    pub fn TCOD_lex_expect_token_value(lex: *mut TCOD_lex_t,
2891                                       token_type: ::std::os::raw::c_int,
2892                                       token_value:
2893                                           *const ::std::os::raw::c_char)
2894     -> bool_;
2895}
2896extern "C" {
2897    pub fn TCOD_lex_savepoint(lex: *mut TCOD_lex_t, savept: *mut TCOD_lex_t);
2898}
2899extern "C" {
2900    pub fn TCOD_lex_restore(lex: *mut TCOD_lex_t, savept: *mut TCOD_lex_t);
2901}
2902extern "C" {
2903    pub fn TCOD_lex_get_last_javadoc(lex: *mut TCOD_lex_t)
2904     -> *mut ::std::os::raw::c_char;
2905}
2906extern "C" {
2907    pub fn TCOD_lex_get_token_name(token_type: ::std::os::raw::c_int)
2908     -> *const ::std::os::raw::c_char;
2909}
2910extern "C" {
2911    pub fn TCOD_lex_get_last_error() -> *mut ::std::os::raw::c_char;
2912}
2913extern "C" {
2914    pub fn TCOD_lex_hextoint(c: ::std::os::raw::c_char)
2915     -> ::std::os::raw::c_int;
2916}
2917#[repr(u32)]
2918#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
2919pub enum TCOD_value_type_t {
2920    TCOD_TYPE_NONE = 0,
2921    TCOD_TYPE_BOOL = 1,
2922    TCOD_TYPE_CHAR = 2,
2923    TCOD_TYPE_INT = 3,
2924    TCOD_TYPE_FLOAT = 4,
2925    TCOD_TYPE_STRING = 5,
2926    TCOD_TYPE_COLOR = 6,
2927    TCOD_TYPE_DICE = 7,
2928    TCOD_TYPE_VALUELIST00 = 8,
2929    TCOD_TYPE_VALUELIST01 = 9,
2930    TCOD_TYPE_VALUELIST02 = 10,
2931    TCOD_TYPE_VALUELIST03 = 11,
2932    TCOD_TYPE_VALUELIST04 = 12,
2933    TCOD_TYPE_VALUELIST05 = 13,
2934    TCOD_TYPE_VALUELIST06 = 14,
2935    TCOD_TYPE_VALUELIST07 = 15,
2936    TCOD_TYPE_VALUELIST08 = 16,
2937    TCOD_TYPE_VALUELIST09 = 17,
2938    TCOD_TYPE_VALUELIST10 = 18,
2939    TCOD_TYPE_VALUELIST11 = 19,
2940    TCOD_TYPE_VALUELIST12 = 20,
2941    TCOD_TYPE_VALUELIST13 = 21,
2942    TCOD_TYPE_VALUELIST14 = 22,
2943    TCOD_TYPE_VALUELIST15 = 23,
2944    TCOD_TYPE_CUSTOM00 = 24,
2945    TCOD_TYPE_CUSTOM01 = 25,
2946    TCOD_TYPE_CUSTOM02 = 26,
2947    TCOD_TYPE_CUSTOM03 = 27,
2948    TCOD_TYPE_CUSTOM04 = 28,
2949    TCOD_TYPE_CUSTOM05 = 29,
2950    TCOD_TYPE_CUSTOM06 = 30,
2951    TCOD_TYPE_CUSTOM07 = 31,
2952    TCOD_TYPE_CUSTOM08 = 32,
2953    TCOD_TYPE_CUSTOM09 = 33,
2954    TCOD_TYPE_CUSTOM10 = 34,
2955    TCOD_TYPE_CUSTOM11 = 35,
2956    TCOD_TYPE_CUSTOM12 = 36,
2957    TCOD_TYPE_CUSTOM13 = 37,
2958    TCOD_TYPE_CUSTOM14 = 38,
2959    TCOD_TYPE_CUSTOM15 = 39,
2960    TCOD_TYPE_LIST = 1024,
2961}
2962#[repr(C)]
2963#[derive(Debug, Copy)]
2964pub struct TCOD_value_t {
2965    pub b: __BindgenUnionField<bool_>,
2966    pub c: __BindgenUnionField<::std::os::raw::c_char>,
2967    pub i: __BindgenUnionField<int32>,
2968    pub f: __BindgenUnionField<f32>,
2969    pub s: __BindgenUnionField<*mut ::std::os::raw::c_char>,
2970    pub col: __BindgenUnionField<TCOD_color_t>,
2971    pub dice: __BindgenUnionField<TCOD_dice_t>,
2972    pub list: __BindgenUnionField<TCOD_list_t>,
2973    pub custom: __BindgenUnionField<*mut ::std::os::raw::c_void>,
2974    pub bindgen_union_field: [u64; 2usize],
2975}
2976impl Clone for TCOD_value_t {
2977    fn clone(&self) -> Self { *self }
2978}
2979pub type TCOD_parser_struct_t = *mut ::std::os::raw::c_void;
2980extern "C" {
2981    pub fn TCOD_struct_get_name(def: TCOD_parser_struct_t)
2982     -> *const ::std::os::raw::c_char;
2983}
2984extern "C" {
2985    pub fn TCOD_struct_add_property(def: TCOD_parser_struct_t,
2986                                    name: *const ::std::os::raw::c_char,
2987                                    type_: TCOD_value_type_t,
2988                                    mandatory: bool_);
2989}
2990extern "C" {
2991    pub fn TCOD_struct_add_list_property(def: TCOD_parser_struct_t,
2992                                         name: *const ::std::os::raw::c_char,
2993                                         type_: TCOD_value_type_t,
2994                                         mandatory: bool_);
2995}
2996extern "C" {
2997    pub fn TCOD_struct_add_value_list(def: TCOD_parser_struct_t,
2998                                      name: *const ::std::os::raw::c_char,
2999                                      value_list:
3000                                          *mut *const ::std::os::raw::c_char,
3001                                      mandatory: bool_);
3002}
3003extern "C" {
3004    pub fn TCOD_struct_add_value_list_sized(def: TCOD_parser_struct_t,
3005                                            name:
3006                                                *const ::std::os::raw::c_char,
3007                                            value_list:
3008                                                *mut *const ::std::os::raw::c_char,
3009                                            size: ::std::os::raw::c_int,
3010                                            mandatory: bool_);
3011}
3012extern "C" {
3013    pub fn TCOD_struct_add_flag(def: TCOD_parser_struct_t,
3014                                propname: *const ::std::os::raw::c_char);
3015}
3016extern "C" {
3017    pub fn TCOD_struct_add_structure(def: TCOD_parser_struct_t,
3018                                     sub_structure: TCOD_parser_struct_t);
3019}
3020extern "C" {
3021    pub fn TCOD_struct_is_mandatory(def: TCOD_parser_struct_t,
3022                                    propname: *const ::std::os::raw::c_char)
3023     -> bool_;
3024}
3025extern "C" {
3026    pub fn TCOD_struct_get_type(def: TCOD_parser_struct_t,
3027                                propname: *const ::std::os::raw::c_char)
3028     -> TCOD_value_type_t;
3029}
3030#[repr(C)]
3031#[derive(Debug, Copy)]
3032pub struct TCOD_parser_listener_t {
3033    pub new_struct: ::std::option::Option<unsafe extern "C" fn(str:
3034                                                                   TCOD_parser_struct_t,
3035                                                               name:
3036                                                                   *const ::std::os::raw::c_char)
3037                                              -> bool_>,
3038    pub new_flag: ::std::option::Option<unsafe extern "C" fn(name:
3039                                                                 *const ::std::os::raw::c_char)
3040                                            -> bool_>,
3041    pub new_property: ::std::option::Option<unsafe extern "C" fn(propname:
3042                                                                     *const ::std::os::raw::c_char,
3043                                                                 type_:
3044                                                                     TCOD_value_type_t,
3045                                                                 value:
3046                                                                     TCOD_value_t)
3047                                                -> bool_>,
3048    pub end_struct: ::std::option::Option<unsafe extern "C" fn(str:
3049                                                                   TCOD_parser_struct_t,
3050                                                               name:
3051                                                                   *const ::std::os::raw::c_char)
3052                                              -> bool_>,
3053    pub error: ::std::option::Option<unsafe extern "C" fn(msg:
3054                                                              *const ::std::os::raw::c_char)>,
3055}
3056impl Clone for TCOD_parser_listener_t {
3057    fn clone(&self) -> Self { *self }
3058}
3059pub type TCOD_parser_custom_t =
3060    ::std::option::Option<unsafe extern "C" fn(lex: *mut TCOD_lex_t,
3061                                               listener:
3062                                                   *mut TCOD_parser_listener_t,
3063                                               str: TCOD_parser_struct_t,
3064                                               propname:
3065                                                   *mut ::std::os::raw::c_char)
3066                              -> TCOD_value_t>;
3067pub type TCOD_parser_t = *mut ::std::os::raw::c_void;
3068extern "C" {
3069    pub fn TCOD_parser_new() -> TCOD_parser_t;
3070}
3071extern "C" {
3072    pub fn TCOD_parser_new_struct(parser: TCOD_parser_t,
3073                                  name: *mut ::std::os::raw::c_char)
3074     -> TCOD_parser_struct_t;
3075}
3076extern "C" {
3077    pub fn TCOD_parser_new_custom_type(parser: TCOD_parser_t,
3078                                       custom_type_parser:
3079                                           TCOD_parser_custom_t)
3080     -> TCOD_value_type_t;
3081}
3082extern "C" {
3083    pub fn TCOD_parser_run(parser: TCOD_parser_t,
3084                           filename: *const ::std::os::raw::c_char,
3085                           listener: *mut TCOD_parser_listener_t);
3086}
3087extern "C" {
3088    pub fn TCOD_parser_delete(parser: TCOD_parser_t);
3089}
3090extern "C" {
3091    pub fn TCOD_parser_error(msg: *const ::std::os::raw::c_char, ...);
3092}
3093extern "C" {
3094    pub fn TCOD_parser_has_property(parser: TCOD_parser_t,
3095                                    name: *const ::std::os::raw::c_char)
3096     -> bool_;
3097}
3098extern "C" {
3099    pub fn TCOD_parser_get_bool_property(parser: TCOD_parser_t,
3100                                         name: *const ::std::os::raw::c_char)
3101     -> bool_;
3102}
3103extern "C" {
3104    pub fn TCOD_parser_get_char_property(parser: TCOD_parser_t,
3105                                         name: *const ::std::os::raw::c_char)
3106     -> ::std::os::raw::c_int;
3107}
3108extern "C" {
3109    pub fn TCOD_parser_get_int_property(parser: TCOD_parser_t,
3110                                        name: *const ::std::os::raw::c_char)
3111     -> ::std::os::raw::c_int;
3112}
3113extern "C" {
3114    pub fn TCOD_parser_get_float_property(parser: TCOD_parser_t,
3115                                          name: *const ::std::os::raw::c_char)
3116     -> f32;
3117}
3118extern "C" {
3119    pub fn TCOD_parser_get_string_property(parser: TCOD_parser_t,
3120                                           name:
3121                                               *const ::std::os::raw::c_char)
3122     -> *const ::std::os::raw::c_char;
3123}
3124extern "C" {
3125    pub fn TCOD_parser_get_color_property(parser: TCOD_parser_t,
3126                                          name: *const ::std::os::raw::c_char)
3127     -> TCOD_color_t;
3128}
3129extern "C" {
3130    pub fn TCOD_parser_get_dice_property(parser: TCOD_parser_t,
3131                                         name: *const ::std::os::raw::c_char)
3132     -> TCOD_dice_t;
3133}
3134extern "C" {
3135    pub fn TCOD_parser_get_dice_property_py(parser: TCOD_parser_t,
3136                                            name:
3137                                                *const ::std::os::raw::c_char,
3138                                            dice: *mut TCOD_dice_t);
3139}
3140extern "C" {
3141    pub fn TCOD_parser_get_custom_property(parser: TCOD_parser_t,
3142                                           name:
3143                                               *const ::std::os::raw::c_char)
3144     -> *mut ::std::os::raw::c_void;
3145}
3146extern "C" {
3147    pub fn TCOD_parser_get_list_property(parser: TCOD_parser_t,
3148                                         name: *const ::std::os::raw::c_char,
3149                                         type_: TCOD_value_type_t)
3150     -> TCOD_list_t;
3151}
3152#[repr(C)]
3153#[derive(Debug, Copy)]
3154pub struct TCOD_struct_int_t {
3155    pub name: *mut ::std::os::raw::c_char,
3156    pub flags: TCOD_list_t,
3157    pub props: TCOD_list_t,
3158    pub lists: TCOD_list_t,
3159    pub structs: TCOD_list_t,
3160}
3161impl Clone for TCOD_struct_int_t {
3162    fn clone(&self) -> Self { *self }
3163}
3164#[repr(C)]
3165#[derive(Debug, Copy)]
3166pub struct TCOD_parser_int_t {
3167    pub structs: TCOD_list_t,
3168    pub customs: [TCOD_parser_custom_t; 16usize],
3169    pub fatal: bool_,
3170    pub props: TCOD_list_t,
3171}
3172impl Clone for TCOD_parser_int_t {
3173    fn clone(&self) -> Self { *self }
3174}
3175extern "C" {
3176    pub fn TCOD_parse_bool_value() -> TCOD_value_t;
3177}
3178extern "C" {
3179    pub fn TCOD_parse_char_value() -> TCOD_value_t;
3180}
3181extern "C" {
3182    pub fn TCOD_parse_integer_value() -> TCOD_value_t;
3183}
3184extern "C" {
3185    pub fn TCOD_parse_float_value() -> TCOD_value_t;
3186}
3187extern "C" {
3188    pub fn TCOD_parse_string_value() -> TCOD_value_t;
3189}
3190extern "C" {
3191    pub fn TCOD_parse_color_value() -> TCOD_value_t;
3192}
3193extern "C" {
3194    pub fn TCOD_parse_dice_value() -> TCOD_value_t;
3195}
3196extern "C" {
3197    pub fn TCOD_parse_value_list_value(def: *mut TCOD_struct_int_t,
3198                                       listnum: ::std::os::raw::c_int)
3199     -> TCOD_value_t;
3200}
3201extern "C" {
3202    pub fn TCOD_parse_property_value(parser: *mut TCOD_parser_int_t,
3203                                     def: TCOD_parser_struct_t,
3204                                     propname: *mut ::std::os::raw::c_char,
3205                                     list: bool_) -> TCOD_value_t;
3206}
3207#[repr(C)]
3208#[derive(Debug, Copy)]
3209pub struct _TCOD_tree_t {
3210    pub next: *mut _TCOD_tree_t,
3211    pub father: *mut _TCOD_tree_t,
3212    pub sons: *mut _TCOD_tree_t,
3213}
3214impl Clone for _TCOD_tree_t {
3215    fn clone(&self) -> Self { *self }
3216}
3217pub type TCOD_tree_t = _TCOD_tree_t;
3218extern "C" {
3219    pub fn TCOD_tree_new() -> *mut TCOD_tree_t;
3220}
3221extern "C" {
3222    pub fn TCOD_tree_add_son(node: *mut TCOD_tree_t, son: *mut TCOD_tree_t);
3223}
3224#[repr(C)]
3225#[derive(Debug, Copy)]
3226pub struct TCOD_bsp_t {
3227    pub tree: TCOD_tree_t,
3228    pub x: ::std::os::raw::c_int,
3229    pub y: ::std::os::raw::c_int,
3230    pub w: ::std::os::raw::c_int,
3231    pub h: ::std::os::raw::c_int,
3232    pub position: ::std::os::raw::c_int,
3233    pub level: uint8,
3234    pub horizontal: bool_,
3235}
3236impl Clone for TCOD_bsp_t {
3237    fn clone(&self) -> Self { *self }
3238}
3239pub type TCOD_bsp_callback_t =
3240    ::std::option::Option<unsafe extern "C" fn(node: *mut TCOD_bsp_t,
3241                                               userData:
3242                                                   *mut ::std::os::raw::c_void)
3243                              -> bool_>;
3244extern "C" {
3245    pub fn TCOD_bsp_new() -> *mut TCOD_bsp_t;
3246}
3247extern "C" {
3248    pub fn TCOD_bsp_new_with_size(x: ::std::os::raw::c_int,
3249                                  y: ::std::os::raw::c_int,
3250                                  w: ::std::os::raw::c_int,
3251                                  h: ::std::os::raw::c_int)
3252     -> *mut TCOD_bsp_t;
3253}
3254extern "C" {
3255    pub fn TCOD_bsp_delete(node: *mut TCOD_bsp_t);
3256}
3257extern "C" {
3258    pub fn TCOD_bsp_left(node: *const TCOD_bsp_t) -> *mut TCOD_bsp_t;
3259}
3260extern "C" {
3261    pub fn TCOD_bsp_right(node: *const TCOD_bsp_t) -> *mut TCOD_bsp_t;
3262}
3263extern "C" {
3264    pub fn TCOD_bsp_father(node: *const TCOD_bsp_t) -> *mut TCOD_bsp_t;
3265}
3266extern "C" {
3267    pub fn TCOD_bsp_is_leaf(node: *const TCOD_bsp_t) -> bool_;
3268}
3269extern "C" {
3270    pub fn TCOD_bsp_traverse_pre_order(node: *mut TCOD_bsp_t,
3271                                       listener: TCOD_bsp_callback_t,
3272                                       userData: *mut ::std::os::raw::c_void)
3273     -> bool_;
3274}
3275extern "C" {
3276    pub fn TCOD_bsp_traverse_in_order(node: *mut TCOD_bsp_t,
3277                                      listener: TCOD_bsp_callback_t,
3278                                      userData: *mut ::std::os::raw::c_void)
3279     -> bool_;
3280}
3281extern "C" {
3282    pub fn TCOD_bsp_traverse_post_order(node: *mut TCOD_bsp_t,
3283                                        listener: TCOD_bsp_callback_t,
3284                                        userData: *mut ::std::os::raw::c_void)
3285     -> bool_;
3286}
3287extern "C" {
3288    pub fn TCOD_bsp_traverse_level_order(node: *mut TCOD_bsp_t,
3289                                         listener: TCOD_bsp_callback_t,
3290                                         userData:
3291                                             *mut ::std::os::raw::c_void)
3292     -> bool_;
3293}
3294extern "C" {
3295    pub fn TCOD_bsp_traverse_inverted_level_order(node: *mut TCOD_bsp_t,
3296                                                  listener:
3297                                                      TCOD_bsp_callback_t,
3298                                                  userData:
3299                                                      *mut ::std::os::raw::c_void)
3300     -> bool_;
3301}
3302extern "C" {
3303    pub fn TCOD_bsp_contains(node: *const TCOD_bsp_t, x: ::std::os::raw::c_int,
3304                             y: ::std::os::raw::c_int) -> bool_;
3305}
3306extern "C" {
3307    pub fn TCOD_bsp_find_node(node: *const TCOD_bsp_t, x: ::std::os::raw::c_int,
3308                              y: ::std::os::raw::c_int) -> *mut TCOD_bsp_t;
3309}
3310extern "C" {
3311    pub fn TCOD_bsp_resize(node: *mut TCOD_bsp_t, x: ::std::os::raw::c_int,
3312                           y: ::std::os::raw::c_int, w: ::std::os::raw::c_int,
3313                           h: ::std::os::raw::c_int);
3314}
3315extern "C" {
3316    pub fn TCOD_bsp_split_once(node: *mut TCOD_bsp_t, horizontal: bool_,
3317                               position: ::std::os::raw::c_int);
3318}
3319extern "C" {
3320    pub fn TCOD_bsp_split_recursive(node: *mut TCOD_bsp_t,
3321                                    randomizer: TCOD_random_t,
3322                                    nb: ::std::os::raw::c_int,
3323                                    minHSize: ::std::os::raw::c_int,
3324                                    minVSize: ::std::os::raw::c_int,
3325                                    maxHRatio: f32, maxVRatio: f32);
3326}
3327extern "C" {
3328    pub fn TCOD_bsp_remove_sons(node: *mut TCOD_bsp_t);
3329}
3330#[repr(C)]
3331#[derive(Debug, Copy)]
3332pub struct TCOD_heightmap_t {
3333    pub w: ::std::os::raw::c_int,
3334    pub h: ::std::os::raw::c_int,
3335    pub values: *mut f32,
3336}
3337impl Clone for TCOD_heightmap_t {
3338    fn clone(&self) -> Self { *self }
3339}
3340extern "C" {
3341    pub fn TCOD_heightmap_new(w: ::std::os::raw::c_int,
3342                              h: ::std::os::raw::c_int)
3343     -> *mut TCOD_heightmap_t;
3344}
3345extern "C" {
3346    pub fn TCOD_heightmap_delete(hm: *mut TCOD_heightmap_t);
3347}
3348extern "C" {
3349    pub fn TCOD_heightmap_get_value(hm: *const TCOD_heightmap_t,
3350                                    x: ::std::os::raw::c_int,
3351                                    y: ::std::os::raw::c_int) -> f32;
3352}
3353extern "C" {
3354    pub fn TCOD_heightmap_get_interpolated_value(hm: *const TCOD_heightmap_t,
3355                                                 x: f32, y: f32) -> f32;
3356}
3357extern "C" {
3358    pub fn TCOD_heightmap_set_value(hm: *mut TCOD_heightmap_t,
3359                                    x: ::std::os::raw::c_int,
3360                                    y: ::std::os::raw::c_int, value: f32);
3361}
3362extern "C" {
3363    pub fn TCOD_heightmap_get_slope(hm: *const TCOD_heightmap_t,
3364                                    x: ::std::os::raw::c_int,
3365                                    y: ::std::os::raw::c_int) -> f32;
3366}
3367extern "C" {
3368    pub fn TCOD_heightmap_get_normal(hm: *const TCOD_heightmap_t, x: f32,
3369                                     y: f32, n: *mut f32, waterLevel: f32);
3370}
3371extern "C" {
3372    pub fn TCOD_heightmap_count_cells(hm: *const TCOD_heightmap_t, min: f32,
3373                                      max: f32) -> ::std::os::raw::c_int;
3374}
3375extern "C" {
3376    pub fn TCOD_heightmap_has_land_on_border(hm: *const TCOD_heightmap_t,
3377                                             waterLevel: f32) -> bool_;
3378}
3379extern "C" {
3380    pub fn TCOD_heightmap_get_minmax(hm: *const TCOD_heightmap_t,
3381                                     min: *mut f32, max: *mut f32);
3382}
3383extern "C" {
3384    pub fn TCOD_heightmap_copy(hm_source: *const TCOD_heightmap_t,
3385                               hm_dest: *mut TCOD_heightmap_t);
3386}
3387extern "C" {
3388    pub fn TCOD_heightmap_add(hm: *mut TCOD_heightmap_t, value: f32);
3389}
3390extern "C" {
3391    pub fn TCOD_heightmap_scale(hm: *mut TCOD_heightmap_t, value: f32);
3392}
3393extern "C" {
3394    pub fn TCOD_heightmap_clamp(hm: *mut TCOD_heightmap_t, min: f32,
3395                                max: f32);
3396}
3397extern "C" {
3398    pub fn TCOD_heightmap_normalize(hm: *mut TCOD_heightmap_t, min: f32,
3399                                    max: f32);
3400}
3401extern "C" {
3402    pub fn TCOD_heightmap_clear(hm: *mut TCOD_heightmap_t);
3403}
3404extern "C" {
3405    pub fn TCOD_heightmap_lerp_hm(hm1: *const TCOD_heightmap_t,
3406                                  hm2: *const TCOD_heightmap_t,
3407                                  hmres: *mut TCOD_heightmap_t, coef: f32);
3408}
3409extern "C" {
3410    pub fn TCOD_heightmap_add_hm(hm1: *const TCOD_heightmap_t,
3411                                 hm2: *const TCOD_heightmap_t,
3412                                 hmres: *mut TCOD_heightmap_t);
3413}
3414extern "C" {
3415    pub fn TCOD_heightmap_multiply_hm(hm1: *const TCOD_heightmap_t,
3416                                      hm2: *const TCOD_heightmap_t,
3417                                      hmres: *mut TCOD_heightmap_t);
3418}
3419extern "C" {
3420    pub fn TCOD_heightmap_add_hill(hm: *mut TCOD_heightmap_t, hx: f32,
3421                                   hy: f32, hradius: f32, hheight: f32);
3422}
3423extern "C" {
3424    pub fn TCOD_heightmap_dig_hill(hm: *mut TCOD_heightmap_t, hx: f32,
3425                                   hy: f32, hradius: f32, hheight: f32);
3426}
3427extern "C" {
3428    pub fn TCOD_heightmap_dig_bezier(hm: *mut TCOD_heightmap_t,
3429                                     px: *mut ::std::os::raw::c_int,
3430                                     py: *mut ::std::os::raw::c_int,
3431                                     startRadius: f32, startDepth: f32,
3432                                     endRadius: f32, endDepth: f32);
3433}
3434extern "C" {
3435    pub fn TCOD_heightmap_rain_erosion(hm: *mut TCOD_heightmap_t,
3436                                       nbDrops: ::std::os::raw::c_int,
3437                                       erosionCoef: f32,
3438                                       sedimentationCoef: f32,
3439                                       rnd: TCOD_random_t);
3440}
3441extern "C" {
3442    pub fn TCOD_heightmap_kernel_transform(hm: *mut TCOD_heightmap_t,
3443                                           kernelsize: ::std::os::raw::c_int,
3444                                           dx: *const ::std::os::raw::c_int,
3445                                           dy: *const ::std::os::raw::c_int,
3446                                           weight: *const f32, minLevel: f32,
3447                                           maxLevel: f32);
3448}
3449extern "C" {
3450    pub fn TCOD_heightmap_add_voronoi(hm: *mut TCOD_heightmap_t,
3451                                      nbPoints: ::std::os::raw::c_int,
3452                                      nbCoef: ::std::os::raw::c_int,
3453                                      coef: *const f32, rnd: TCOD_random_t);
3454}
3455extern "C" {
3456    pub fn TCOD_heightmap_mid_point_displacement(hm: *mut TCOD_heightmap_t,
3457                                                 rnd: TCOD_random_t,
3458                                                 roughness: f32);
3459}
3460extern "C" {
3461    pub fn TCOD_heightmap_add_fbm(hm: *mut TCOD_heightmap_t,
3462                                  noise: TCOD_noise_t, mulx: f32, muly: f32,
3463                                  addx: f32, addy: f32, octaves: f32,
3464                                  delta: f32, scale: f32);
3465}
3466extern "C" {
3467    pub fn TCOD_heightmap_scale_fbm(hm: *mut TCOD_heightmap_t,
3468                                    noise: TCOD_noise_t, mulx: f32, muly: f32,
3469                                    addx: f32, addy: f32, octaves: f32,
3470                                    delta: f32, scale: f32);
3471}
3472extern "C" {
3473    pub fn TCOD_heightmap_islandify(hm: *mut TCOD_heightmap_t, seaLevel: f32,
3474                                    rnd: TCOD_random_t);
3475}
3476pub type TCOD_zip_t = *mut ::std::os::raw::c_void;
3477extern "C" {
3478    pub fn TCOD_zip_new() -> TCOD_zip_t;
3479}
3480extern "C" {
3481    pub fn TCOD_zip_delete(zip: TCOD_zip_t);
3482}
3483extern "C" {
3484    pub fn TCOD_zip_put_char(zip: TCOD_zip_t, val: ::std::os::raw::c_char);
3485}
3486extern "C" {
3487    pub fn TCOD_zip_put_int(zip: TCOD_zip_t, val: ::std::os::raw::c_int);
3488}
3489extern "C" {
3490    pub fn TCOD_zip_put_float(zip: TCOD_zip_t, val: f32);
3491}
3492extern "C" {
3493    pub fn TCOD_zip_put_string(zip: TCOD_zip_t,
3494                               val: *const ::std::os::raw::c_char);
3495}
3496extern "C" {
3497    pub fn TCOD_zip_put_color(zip: TCOD_zip_t, val: TCOD_color_t);
3498}
3499extern "C" {
3500    pub fn TCOD_zip_put_image(zip: TCOD_zip_t, val: TCOD_image_t);
3501}
3502extern "C" {
3503    pub fn TCOD_zip_put_console(zip: TCOD_zip_t, val: TCOD_console_t);
3504}
3505extern "C" {
3506    pub fn TCOD_zip_put_data(zip: TCOD_zip_t, nbBytes: ::std::os::raw::c_int,
3507                             data: *const ::std::os::raw::c_void);
3508}
3509extern "C" {
3510    pub fn TCOD_zip_get_current_bytes(zip: TCOD_zip_t) -> uint32;
3511}
3512extern "C" {
3513    pub fn TCOD_zip_save_to_file(zip: TCOD_zip_t,
3514                                 filename: *const ::std::os::raw::c_char)
3515     -> ::std::os::raw::c_int;
3516}
3517extern "C" {
3518    pub fn TCOD_zip_load_from_file(zip: TCOD_zip_t,
3519                                   filename: *const ::std::os::raw::c_char)
3520     -> ::std::os::raw::c_int;
3521}
3522extern "C" {
3523    pub fn TCOD_zip_get_char(zip: TCOD_zip_t) -> ::std::os::raw::c_char;
3524}
3525extern "C" {
3526    pub fn TCOD_zip_get_int(zip: TCOD_zip_t) -> ::std::os::raw::c_int;
3527}
3528extern "C" {
3529    pub fn TCOD_zip_get_float(zip: TCOD_zip_t) -> f32;
3530}
3531extern "C" {
3532    pub fn TCOD_zip_get_string(zip: TCOD_zip_t)
3533     -> *const ::std::os::raw::c_char;
3534}
3535extern "C" {
3536    pub fn TCOD_zip_get_color(zip: TCOD_zip_t) -> TCOD_color_t;
3537}
3538extern "C" {
3539    pub fn TCOD_zip_get_image(zip: TCOD_zip_t) -> TCOD_image_t;
3540}
3541extern "C" {
3542    pub fn TCOD_zip_get_console(zip: TCOD_zip_t) -> TCOD_console_t;
3543}
3544extern "C" {
3545    pub fn TCOD_zip_get_data(zip: TCOD_zip_t, nbBytes: ::std::os::raw::c_int,
3546                             data: *mut ::std::os::raw::c_void)
3547     -> ::std::os::raw::c_int;
3548}
3549extern "C" {
3550    pub fn TCOD_zip_get_remaining_bytes(zip: TCOD_zip_t) -> uint32;
3551}
3552extern "C" {
3553    pub fn TCOD_zip_skip_bytes(zip: TCOD_zip_t, nbBytes: uint32);
3554}
3555pub type TCOD_namegen_t = *mut ::std::os::raw::c_void;
3556extern "C" {
3557    pub fn TCOD_namegen_parse(filename: *const ::std::os::raw::c_char,
3558                              random: TCOD_random_t);
3559}
3560extern "C" {
3561    pub fn TCOD_namegen_generate(name: *mut ::std::os::raw::c_char,
3562                                 allocate: bool_)
3563     -> *mut ::std::os::raw::c_char;
3564}
3565extern "C" {
3566    pub fn TCOD_namegen_generate_custom(name: *mut ::std::os::raw::c_char,
3567                                        rule: *mut ::std::os::raw::c_char,
3568                                        allocate: bool_)
3569     -> *mut ::std::os::raw::c_char;
3570}
3571extern "C" {
3572    pub fn TCOD_namegen_get_sets() -> TCOD_list_t;
3573}
3574extern "C" {
3575    pub fn TCOD_namegen_destroy();
3576}
3577pub type TCOD_text_t = *mut ::std::os::raw::c_void;
3578extern "C" {
3579    pub fn TCOD_text_init(x: ::std::os::raw::c_int, y: ::std::os::raw::c_int,
3580                          w: ::std::os::raw::c_int, h: ::std::os::raw::c_int,
3581                          max_chars: ::std::os::raw::c_int) -> TCOD_text_t;
3582}
3583extern "C" {
3584    pub fn TCOD_text_init2(w: ::std::os::raw::c_int, h: ::std::os::raw::c_int,
3585                           max_chars: ::std::os::raw::c_int) -> TCOD_text_t;
3586}
3587extern "C" {
3588    pub fn TCOD_text_set_pos(txt: TCOD_text_t, x: ::std::os::raw::c_int,
3589                             y: ::std::os::raw::c_int);
3590}
3591extern "C" {
3592    pub fn TCOD_text_set_properties(txt: TCOD_text_t,
3593                                    cursor_char: ::std::os::raw::c_int,
3594                                    blink_interval: ::std::os::raw::c_int,
3595                                    prompt: *const ::std::os::raw::c_char,
3596                                    tab_size: ::std::os::raw::c_int);
3597}
3598extern "C" {
3599    pub fn TCOD_text_set_colors(txt: TCOD_text_t, fore: TCOD_color_t,
3600                                back: TCOD_color_t, back_transparency: f32);
3601}
3602extern "C" {
3603    pub fn TCOD_text_update(txt: TCOD_text_t, key: TCOD_key_t) -> bool_;
3604}
3605extern "C" {
3606    pub fn TCOD_text_render(txt: TCOD_text_t, con: TCOD_console_t);
3607}
3608extern "C" {
3609    pub fn TCOD_text_get(txt: TCOD_text_t) -> *const ::std::os::raw::c_char;
3610}
3611extern "C" {
3612    pub fn TCOD_text_reset(txt: TCOD_text_t);
3613}
3614extern "C" {
3615    pub fn TCOD_text_delete(txt: TCOD_text_t);
3616}
3617pub type __builtin_va_list = [__va_list_tag; 1usize];
3618#[repr(C)]
3619#[derive(Debug, Copy)]
3620pub struct __va_list_tag {
3621    pub gp_offset: ::std::os::raw::c_uint,
3622    pub fp_offset: ::std::os::raw::c_uint,
3623    pub overflow_arg_area: *mut ::std::os::raw::c_void,
3624    pub reg_save_area: *mut ::std::os::raw::c_void,
3625}
3626impl Clone for __va_list_tag {
3627    fn clone(&self) -> Self { *self }
3628}
3629#[repr(C)]
3630#[derive(Debug, Copy)]
3631pub struct __locale_data {
3632    pub _address: u8,
3633}
3634impl Clone for __locale_data {
3635    fn clone(&self) -> Self { *self }
3636}