1
   2
   3
   4
   5
   6
   7
   8
   9
  10
  11
  12
  13
  14
  15
  16
  17
  18
  19
  20
  21
  22
  23
  24
  25
  26
  27
  28
  29
  30
  31
  32
  33
  34
  35
  36
  37
  38
  39
  40
  41
  42
  43
  44
  45
  46
  47
  48
  49
  50
  51
  52
  53
  54
  55
  56
  57
  58
  59
  60
  61
  62
  63
  64
  65
  66
  67
  68
  69
  70
  71
  72
  73
  74
  75
  76
  77
  78
  79
  80
  81
  82
  83
  84
  85
  86
  87
  88
  89
  90
  91
  92
  93
  94
  95
  96
  97
  98
  99
 100
 101
 102
 103
 104
 105
 106
 107
 108
 109
 110
 111
 112
 113
 114
 115
 116
 117
 118
 119
 120
 121
 122
 123
 124
 125
 126
 127
 128
 129
 130
 131
 132
 133
 134
 135
 136
 137
 138
 139
 140
 141
 142
 143
 144
 145
 146
 147
 148
 149
 150
 151
 152
 153
 154
 155
 156
 157
 158
 159
 160
 161
 162
 163
 164
 165
 166
 167
 168
 169
 170
 171
 172
 173
 174
 175
 176
 177
 178
 179
 180
 181
 182
 183
 184
 185
 186
 187
 188
 189
 190
 191
 192
 193
 194
 195
 196
 197
 198
 199
 200
 201
 202
 203
 204
 205
 206
 207
 208
 209
 210
 211
 212
 213
 214
 215
 216
 217
 218
 219
 220
 221
 222
 223
 224
 225
 226
 227
 228
 229
 230
 231
 232
 233
 234
 235
 236
 237
 238
 239
 240
 241
 242
 243
 244
 245
 246
 247
 248
 249
 250
 251
 252
 253
 254
 255
 256
 257
 258
 259
 260
 261
 262
 263
 264
 265
 266
 267
 268
 269
 270
 271
 272
 273
 274
 275
 276
 277
 278
 279
 280
 281
 282
 283
 284
 285
 286
 287
 288
 289
 290
 291
 292
 293
 294
 295
 296
 297
 298
 299
 300
 301
 302
 303
 304
 305
 306
 307
 308
 309
 310
 311
 312
 313
 314
 315
 316
 317
 318
 319
 320
 321
 322
 323
 324
 325
 326
 327
 328
 329
 330
 331
 332
 333
 334
 335
 336
 337
 338
 339
 340
 341
 342
 343
 344
 345
 346
 347
 348
 349
 350
 351
 352
 353
 354
 355
 356
 357
 358
 359
 360
 361
 362
 363
 364
 365
 366
 367
 368
 369
 370
 371
 372
 373
 374
 375
 376
 377
 378
 379
 380
 381
 382
 383
 384
 385
 386
 387
 388
 389
 390
 391
 392
 393
 394
 395
 396
 397
 398
 399
 400
 401
 402
 403
 404
 405
 406
 407
 408
 409
 410
 411
 412
 413
 414
 415
 416
 417
 418
 419
 420
 421
 422
 423
 424
 425
 426
 427
 428
 429
 430
 431
 432
 433
 434
 435
 436
 437
 438
 439
 440
 441
 442
 443
 444
 445
 446
 447
 448
 449
 450
 451
 452
 453
 454
 455
 456
 457
 458
 459
 460
 461
 462
 463
 464
 465
 466
 467
 468
 469
 470
 471
 472
 473
 474
 475
 476
 477
 478
 479
 480
 481
 482
 483
 484
 485
 486
 487
 488
 489
 490
 491
 492
 493
 494
 495
 496
 497
 498
 499
 500
 501
 502
 503
 504
 505
 506
 507
 508
 509
 510
 511
 512
 513
 514
 515
 516
 517
 518
 519
 520
 521
 522
 523
 524
 525
 526
 527
 528
 529
 530
 531
 532
 533
 534
 535
 536
 537
 538
 539
 540
 541
 542
 543
 544
 545
 546
 547
 548
 549
 550
 551
 552
 553
 554
 555
 556
 557
 558
 559
 560
 561
 562
 563
 564
 565
 566
 567
 568
 569
 570
 571
 572
 573
 574
 575
 576
 577
 578
 579
 580
 581
 582
 583
 584
 585
 586
 587
 588
 589
 590
 591
 592
 593
 594
 595
 596
 597
 598
 599
 600
 601
 602
 603
 604
 605
 606
 607
 608
 609
 610
 611
 612
 613
 614
 615
 616
 617
 618
 619
 620
 621
 622
 623
 624
 625
 626
 627
 628
 629
 630
 631
 632
 633
 634
 635
 636
 637
 638
 639
 640
 641
 642
 643
 644
 645
 646
 647
 648
 649
 650
 651
 652
 653
 654
 655
 656
 657
 658
 659
 660
 661
 662
 663
 664
 665
 666
 667
 668
 669
 670
 671
 672
 673
 674
 675
 676
 677
 678
 679
 680
 681
 682
 683
 684
 685
 686
 687
 688
 689
 690
 691
 692
 693
 694
 695
 696
 697
 698
 699
 700
 701
 702
 703
 704
 705
 706
 707
 708
 709
 710
 711
 712
 713
 714
 715
 716
 717
 718
 719
 720
 721
 722
 723
 724
 725
 726
 727
 728
 729
 730
 731
 732
 733
 734
 735
 736
 737
 738
 739
 740
 741
 742
 743
 744
 745
 746
 747
 748
 749
 750
 751
 752
 753
 754
 755
 756
 757
 758
 759
 760
 761
 762
 763
 764
 765
 766
 767
 768
 769
 770
 771
 772
 773
 774
 775
 776
 777
 778
 779
 780
 781
 782
 783
 784
 785
 786
 787
 788
 789
 790
 791
 792
 793
 794
 795
 796
 797
 798
 799
 800
 801
 802
 803
 804
 805
 806
 807
 808
 809
 810
 811
 812
 813
 814
 815
 816
 817
 818
 819
 820
 821
 822
 823
 824
 825
 826
 827
 828
 829
 830
 831
 832
 833
 834
 835
 836
 837
 838
 839
 840
 841
 842
 843
 844
 845
 846
 847
 848
 849
 850
 851
 852
 853
 854
 855
 856
 857
 858
 859
 860
 861
 862
 863
 864
 865
 866
 867
 868
 869
 870
 871
 872
 873
 874
 875
 876
 877
 878
 879
 880
 881
 882
 883
 884
 885
 886
 887
 888
 889
 890
 891
 892
 893
 894
 895
 896
 897
 898
 899
 900
 901
 902
 903
 904
 905
 906
 907
 908
 909
 910
 911
 912
 913
 914
 915
 916
 917
 918
 919
 920
 921
 922
 923
 924
 925
 926
 927
 928
 929
 930
 931
 932
 933
 934
 935
 936
 937
 938
 939
 940
 941
 942
 943
 944
 945
 946
 947
 948
 949
 950
 951
 952
 953
 954
 955
 956
 957
 958
 959
 960
 961
 962
 963
 964
 965
 966
 967
 968
 969
 970
 971
 972
 973
 974
 975
 976
 977
 978
 979
 980
 981
 982
 983
 984
 985
 986
 987
 988
 989
 990
 991
 992
 993
 994
 995
 996
 997
 998
 999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
1693
1694
1695
1696
1697
1698
1699
1700
1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
1744
1745
1746
1747
1748
1749
1750
1751
1752
1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
1774
1775
1776
1777
1778
1779
1780
1781
1782
1783
1784
1785
1786
1787
1788
1789
1790
1791
1792
1793
1794
1795
1796
1797
1798
1799
1800
1801
1802
1803
1804
1805
1806
1807
1808
1809
1810
1811
1812
1813
1814
1815
1816
1817
1818
1819
1820
1821
1822
1823
1824
1825
1826
1827
1828
1829
1830
1831
1832
1833
1834
1835
1836
1837
1838
1839
1840
1841
1842
1843
1844
1845
1846
1847
1848
1849
1850
1851
1852
1853
1854
1855
1856
1857
1858
1859
1860
1861
1862
1863
1864
1865
1866
1867
1868
1869
1870
1871
1872
1873
1874
1875
1876
1877
1878
1879
1880
1881
1882
1883
1884
1885
1886
1887
1888
1889
1890
1891
1892
1893
1894
1895
1896
1897
#![allow(non_camel_case_types, non_snake_case, non_upper_case_globals,
         missing_copy_implementations)]
// This is not added by rust-bindgen even though it's used heavily in the
// generated code:
extern crate libc;


/* automatically generated by rust-bindgen */

pub type __int128_t = ::libc::c_void;
pub type __uint128_t = ::libc::c_void;
pub type __builtin_va_list = [__va_list_tag; 1usize];
pub enum Struct__IO_FILE { }
pub type FILE = Struct__IO_FILE;
pub type __FILE = Struct__IO_FILE;
pub type __gnuc_va_list = __builtin_va_list;
pub type size_t = ::libc::c_ulong;
pub type wchar_t = ::libc::c_int;
pub type wint_t = ::libc::c_uint;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct Struct_Unnamed1 {
    pub __count: ::libc::c_int,
    pub __value: Union_Unnamed2,
}
impl ::std::default::Default for Struct_Unnamed1 {
    fn default() -> Struct_Unnamed1 { unsafe { ::std::mem::zeroed() } }
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct Union_Unnamed2 {
    pub _bindgen_data_: [u32; 1usize],
}
impl Union_Unnamed2 {
    pub unsafe fn __wch(&mut self) -> *mut ::libc::c_uint {
        ::std::mem::transmute(&self._bindgen_data_)
    }
    pub unsafe fn __wchb(&mut self) -> *mut [::libc::c_char; 4usize] {
        ::std::mem::transmute(&self._bindgen_data_)
    }
}
impl ::std::default::Default for Union_Unnamed2 {
    fn default() -> Union_Unnamed2 { unsafe { ::std::mem::zeroed() } }
}
pub type __mbstate_t = Struct_Unnamed1;
pub type mbstate_t = __mbstate_t;
pub enum Struct_tm { }
pub enum Struct___locale_data { }
#[repr(C)]
#[derive(Copy, Clone)]
pub struct Struct___locale_struct {
    pub __locales: [*mut Struct___locale_data; 13usize],
    pub __ctype_b: *const ::libc::c_ushort,
    pub __ctype_tolower: *const ::libc::c_int,
    pub __ctype_toupper: *const ::libc::c_int,
    pub __names: [*const ::libc::c_char; 13usize],
}
impl ::std::default::Default for Struct___locale_struct {
    fn default() -> Struct___locale_struct { unsafe { ::std::mem::zeroed() } }
}
pub type __locale_t = *mut Struct___locale_struct;
pub type locale_t = __locale_t;
pub type uint8 = ::libc::c_uchar;
pub type int8 = ::libc::c_char;
pub type uint16 = ::libc::c_ushort;
pub type int16 = ::libc::c_short;
pub type uint32 = ::libc::c_uint;
pub type int32 = ::libc::c_int;
pub type intptr = ::libc::c_long;
pub type uintptr = ::libc::c_ulong;
pub type _bool = uint8;
pub type TCOD_list_t = *mut ::libc::c_void;
#[repr(C)]
#[derive(Copy, Clone, Debug)]
pub struct Struct_Unnamed3 {
    pub r: uint8,
    pub g: uint8,
    pub b: uint8,
}
impl ::std::default::Default for Struct_Unnamed3 {
    fn default() -> Struct_Unnamed3 { unsafe { ::std::mem::zeroed() } }
}
pub type TCOD_color_t = Struct_Unnamed3;
pub type Enum_Unnamed4 = ::libc::c_uint;
pub const TCOD_COLOR_RED: ::libc::c_uint = 0;
pub const TCOD_COLOR_FLAME: ::libc::c_uint = 1;
pub const TCOD_COLOR_ORANGE: ::libc::c_uint = 2;
pub const TCOD_COLOR_AMBER: ::libc::c_uint = 3;
pub const TCOD_COLOR_YELLOW: ::libc::c_uint = 4;
pub const TCOD_COLOR_LIME: ::libc::c_uint = 5;
pub const TCOD_COLOR_CHARTREUSE: ::libc::c_uint = 6;
pub const TCOD_COLOR_GREEN: ::libc::c_uint = 7;
pub const TCOD_COLOR_SEA: ::libc::c_uint = 8;
pub const TCOD_COLOR_TURQUOISE: ::libc::c_uint = 9;
pub const TCOD_COLOR_CYAN: ::libc::c_uint = 10;
pub const TCOD_COLOR_SKY: ::libc::c_uint = 11;
pub const TCOD_COLOR_AZURE: ::libc::c_uint = 12;
pub const TCOD_COLOR_BLUE: ::libc::c_uint = 13;
pub const TCOD_COLOR_HAN: ::libc::c_uint = 14;
pub const TCOD_COLOR_VIOLET: ::libc::c_uint = 15;
pub const TCOD_COLOR_PURPLE: ::libc::c_uint = 16;
pub const TCOD_COLOR_FUCHSIA: ::libc::c_uint = 17;
pub const TCOD_COLOR_MAGENTA: ::libc::c_uint = 18;
pub const TCOD_COLOR_PINK: ::libc::c_uint = 19;
pub const TCOD_COLOR_CRIMSON: ::libc::c_uint = 20;
pub const TCOD_COLOR_NB: ::libc::c_uint = 21;
pub type Enum_Unnamed5 = ::libc::c_uint;
pub const TCOD_COLOR_DESATURATED: ::libc::c_uint = 0;
pub const TCOD_COLOR_LIGHTEST: ::libc::c_uint = 1;
pub const TCOD_COLOR_LIGHTER: ::libc::c_uint = 2;
pub const TCOD_COLOR_LIGHT: ::libc::c_uint = 3;
pub const TCOD_COLOR_NORMAL: ::libc::c_uint = 4;
pub const TCOD_COLOR_DARK: ::libc::c_uint = 5;
pub const TCOD_COLOR_DARKER: ::libc::c_uint = 6;
pub const TCOD_COLOR_DARKEST: ::libc::c_uint = 7;
pub const TCOD_COLOR_LEVELS: ::libc::c_uint = 8;
pub type Enum_Unnamed6 = ::libc::c_uint;
pub const TCODK_NONE: ::libc::c_uint = 0;
pub const TCODK_ESCAPE: ::libc::c_uint = 1;
pub const TCODK_BACKSPACE: ::libc::c_uint = 2;
pub const TCODK_TAB: ::libc::c_uint = 3;
pub const TCODK_ENTER: ::libc::c_uint = 4;
pub const TCODK_SHIFT: ::libc::c_uint = 5;
pub const TCODK_CONTROL: ::libc::c_uint = 6;
pub const TCODK_ALT: ::libc::c_uint = 7;
pub const TCODK_PAUSE: ::libc::c_uint = 8;
pub const TCODK_CAPSLOCK: ::libc::c_uint = 9;
pub const TCODK_PAGEUP: ::libc::c_uint = 10;
pub const TCODK_PAGEDOWN: ::libc::c_uint = 11;
pub const TCODK_END: ::libc::c_uint = 12;
pub const TCODK_HOME: ::libc::c_uint = 13;
pub const TCODK_UP: ::libc::c_uint = 14;
pub const TCODK_LEFT: ::libc::c_uint = 15;
pub const TCODK_RIGHT: ::libc::c_uint = 16;
pub const TCODK_DOWN: ::libc::c_uint = 17;
pub const TCODK_PRINTSCREEN: ::libc::c_uint = 18;
pub const TCODK_INSERT: ::libc::c_uint = 19;
pub const TCODK_DELETE: ::libc::c_uint = 20;
pub const TCODK_LWIN: ::libc::c_uint = 21;
pub const TCODK_RWIN: ::libc::c_uint = 22;
pub const TCODK_APPS: ::libc::c_uint = 23;
pub const TCODK_0: ::libc::c_uint = 24;
pub const TCODK_1: ::libc::c_uint = 25;
pub const TCODK_2: ::libc::c_uint = 26;
pub const TCODK_3: ::libc::c_uint = 27;
pub const TCODK_4: ::libc::c_uint = 28;
pub const TCODK_5: ::libc::c_uint = 29;
pub const TCODK_6: ::libc::c_uint = 30;
pub const TCODK_7: ::libc::c_uint = 31;
pub const TCODK_8: ::libc::c_uint = 32;
pub const TCODK_9: ::libc::c_uint = 33;
pub const TCODK_KP0: ::libc::c_uint = 34;
pub const TCODK_KP1: ::libc::c_uint = 35;
pub const TCODK_KP2: ::libc::c_uint = 36;
pub const TCODK_KP3: ::libc::c_uint = 37;
pub const TCODK_KP4: ::libc::c_uint = 38;
pub const TCODK_KP5: ::libc::c_uint = 39;
pub const TCODK_KP6: ::libc::c_uint = 40;
pub const TCODK_KP7: ::libc::c_uint = 41;
pub const TCODK_KP8: ::libc::c_uint = 42;
pub const TCODK_KP9: ::libc::c_uint = 43;
pub const TCODK_KPADD: ::libc::c_uint = 44;
pub const TCODK_KPSUB: ::libc::c_uint = 45;
pub const TCODK_KPDIV: ::libc::c_uint = 46;
pub const TCODK_KPMUL: ::libc::c_uint = 47;
pub const TCODK_KPDEC: ::libc::c_uint = 48;
pub const TCODK_KPENTER: ::libc::c_uint = 49;
pub const TCODK_F1: ::libc::c_uint = 50;
pub const TCODK_F2: ::libc::c_uint = 51;
pub const TCODK_F3: ::libc::c_uint = 52;
pub const TCODK_F4: ::libc::c_uint = 53;
pub const TCODK_F5: ::libc::c_uint = 54;
pub const TCODK_F6: ::libc::c_uint = 55;
pub const TCODK_F7: ::libc::c_uint = 56;
pub const TCODK_F8: ::libc::c_uint = 57;
pub const TCODK_F9: ::libc::c_uint = 58;
pub const TCODK_F10: ::libc::c_uint = 59;
pub const TCODK_F11: ::libc::c_uint = 60;
pub const TCODK_F12: ::libc::c_uint = 61;
pub const TCODK_NUMLOCK: ::libc::c_uint = 62;
pub const TCODK_SCROLLLOCK: ::libc::c_uint = 63;
pub const TCODK_SPACE: ::libc::c_uint = 64;
pub const TCODK_CHAR: ::libc::c_uint = 65;
pub type TCOD_keycode_t = Enum_Unnamed6;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct Struct_Unnamed7 {
    pub vk: TCOD_keycode_t,
    pub c: ::libc::c_char,
    pub pressed: _bool,
    pub lalt: _bool,
    pub lctrl: _bool,
    pub ralt: _bool,
    pub rctrl: _bool,
    pub shift: _bool,
}
impl ::std::default::Default for Struct_Unnamed7 {
    fn default() -> Struct_Unnamed7 { unsafe { ::std::mem::zeroed() } }
}
pub type TCOD_key_t = Struct_Unnamed7;
pub type Enum_Unnamed8 = ::libc::c_uint;
pub const TCOD_CHAR_HLINE: ::libc::c_uint = 196;
pub const TCOD_CHAR_VLINE: ::libc::c_uint = 179;
pub const TCOD_CHAR_NE: ::libc::c_uint = 191;
pub const TCOD_CHAR_NW: ::libc::c_uint = 218;
pub const TCOD_CHAR_SE: ::libc::c_uint = 217;
pub const TCOD_CHAR_SW: ::libc::c_uint = 192;
pub const TCOD_CHAR_TEEW: ::libc::c_uint = 180;
pub const TCOD_CHAR_TEEE: ::libc::c_uint = 195;
pub const TCOD_CHAR_TEEN: ::libc::c_uint = 193;
pub const TCOD_CHAR_TEES: ::libc::c_uint = 194;
pub const TCOD_CHAR_CROSS: ::libc::c_uint = 197;
pub const TCOD_CHAR_DHLINE: ::libc::c_uint = 205;
pub const TCOD_CHAR_DVLINE: ::libc::c_uint = 186;
pub const TCOD_CHAR_DNE: ::libc::c_uint = 187;
pub const TCOD_CHAR_DNW: ::libc::c_uint = 201;
pub const TCOD_CHAR_DSE: ::libc::c_uint = 188;
pub const TCOD_CHAR_DSW: ::libc::c_uint = 200;
pub const TCOD_CHAR_DTEEW: ::libc::c_uint = 185;
pub const TCOD_CHAR_DTEEE: ::libc::c_uint = 204;
pub const TCOD_CHAR_DTEEN: ::libc::c_uint = 202;
pub const TCOD_CHAR_DTEES: ::libc::c_uint = 203;
pub const TCOD_CHAR_DCROSS: ::libc::c_uint = 206;
pub const TCOD_CHAR_BLOCK1: ::libc::c_uint = 176;
pub const TCOD_CHAR_BLOCK2: ::libc::c_uint = 177;
pub const TCOD_CHAR_BLOCK3: ::libc::c_uint = 178;
pub const TCOD_CHAR_ARROW_N: ::libc::c_uint = 24;
pub const TCOD_CHAR_ARROW_S: ::libc::c_uint = 25;
pub const TCOD_CHAR_ARROW_E: ::libc::c_uint = 26;
pub const TCOD_CHAR_ARROW_W: ::libc::c_uint = 27;
pub const TCOD_CHAR_ARROW2_N: ::libc::c_uint = 30;
pub const TCOD_CHAR_ARROW2_S: ::libc::c_uint = 31;
pub const TCOD_CHAR_ARROW2_E: ::libc::c_uint = 16;
pub const TCOD_CHAR_ARROW2_W: ::libc::c_uint = 17;
pub const TCOD_CHAR_DARROW_H: ::libc::c_uint = 29;
pub const TCOD_CHAR_DARROW_V: ::libc::c_uint = 18;
pub const TCOD_CHAR_CHECKBOX_UNSET: ::libc::c_uint = 224;
pub const TCOD_CHAR_CHECKBOX_SET: ::libc::c_uint = 225;
pub const TCOD_CHAR_RADIO_UNSET: ::libc::c_uint = 9;
pub const TCOD_CHAR_RADIO_SET: ::libc::c_uint = 10;
pub const TCOD_CHAR_SUBP_NW: ::libc::c_uint = 226;
pub const TCOD_CHAR_SUBP_NE: ::libc::c_uint = 227;
pub const TCOD_CHAR_SUBP_N: ::libc::c_uint = 228;
pub const TCOD_CHAR_SUBP_SE: ::libc::c_uint = 229;
pub const TCOD_CHAR_SUBP_DIAG: ::libc::c_uint = 230;
pub const TCOD_CHAR_SUBP_E: ::libc::c_uint = 231;
pub const TCOD_CHAR_SUBP_SW: ::libc::c_uint = 232;
pub const TCOD_CHAR_SMILIE: ::libc::c_uint = 1;
pub const TCOD_CHAR_SMILIE_INV: ::libc::c_uint = 2;
pub const TCOD_CHAR_HEART: ::libc::c_uint = 3;
pub const TCOD_CHAR_DIAMOND: ::libc::c_uint = 4;
pub const TCOD_CHAR_CLUB: ::libc::c_uint = 5;
pub const TCOD_CHAR_SPADE: ::libc::c_uint = 6;
pub const TCOD_CHAR_BULLET: ::libc::c_uint = 7;
pub const TCOD_CHAR_BULLET_INV: ::libc::c_uint = 8;
pub const TCOD_CHAR_MALE: ::libc::c_uint = 11;
pub const TCOD_CHAR_FEMALE: ::libc::c_uint = 12;
pub const TCOD_CHAR_NOTE: ::libc::c_uint = 13;
pub const TCOD_CHAR_NOTE_DOUBLE: ::libc::c_uint = 14;
pub const TCOD_CHAR_LIGHT: ::libc::c_uint = 15;
pub const TCOD_CHAR_EXCLAM_DOUBLE: ::libc::c_uint = 19;
pub const TCOD_CHAR_PILCROW: ::libc::c_uint = 20;
pub const TCOD_CHAR_SECTION: ::libc::c_uint = 21;
pub const TCOD_CHAR_POUND: ::libc::c_uint = 156;
pub const TCOD_CHAR_MULTIPLICATION: ::libc::c_uint = 158;
pub const TCOD_CHAR_FUNCTION: ::libc::c_uint = 159;
pub const TCOD_CHAR_RESERVED: ::libc::c_uint = 169;
pub const TCOD_CHAR_HALF: ::libc::c_uint = 171;
pub const TCOD_CHAR_ONE_QUARTER: ::libc::c_uint = 172;
pub const TCOD_CHAR_COPYRIGHT: ::libc::c_uint = 184;
pub const TCOD_CHAR_CENT: ::libc::c_uint = 189;
pub const TCOD_CHAR_YEN: ::libc::c_uint = 190;
pub const TCOD_CHAR_CURRENCY: ::libc::c_uint = 207;
pub const TCOD_CHAR_THREE_QUARTERS: ::libc::c_uint = 243;
pub const TCOD_CHAR_DIVISION: ::libc::c_uint = 246;
pub const TCOD_CHAR_GRADE: ::libc::c_uint = 248;
pub const TCOD_CHAR_UMLAUT: ::libc::c_uint = 249;
pub const TCOD_CHAR_POW1: ::libc::c_uint = 251;
pub const TCOD_CHAR_POW3: ::libc::c_uint = 252;
pub const TCOD_CHAR_POW2: ::libc::c_uint = 253;
pub const TCOD_CHAR_BULLET_SQUARE: ::libc::c_uint = 254;
pub type TCOD_chars_t = Enum_Unnamed8;
pub type Enum_Unnamed9 = ::libc::c_uint;
pub const TCOD_COLCTRL_1: ::libc::c_uint = 1;
pub const TCOD_COLCTRL_2: ::libc::c_uint = 2;
pub const TCOD_COLCTRL_3: ::libc::c_uint = 3;
pub const TCOD_COLCTRL_4: ::libc::c_uint = 4;
pub const TCOD_COLCTRL_5: ::libc::c_uint = 5;
pub const TCOD_COLCTRL_NUMBER: ::libc::c_uint = 5;
pub const TCOD_COLCTRL_FORE_RGB: ::libc::c_uint = 6;
pub const TCOD_COLCTRL_BACK_RGB: ::libc::c_uint = 7;
pub const TCOD_COLCTRL_STOP: ::libc::c_uint = 8;
pub type TCOD_colctrl_t = Enum_Unnamed9;
pub type Enum_Unnamed10 = ::libc::c_uint;
pub const TCOD_BKGND_NONE: ::libc::c_uint = 0;
pub const TCOD_BKGND_SET: ::libc::c_uint = 1;
pub const TCOD_BKGND_MULTIPLY: ::libc::c_uint = 2;
pub const TCOD_BKGND_LIGHTEN: ::libc::c_uint = 3;
pub const TCOD_BKGND_DARKEN: ::libc::c_uint = 4;
pub const TCOD_BKGND_SCREEN: ::libc::c_uint = 5;
pub const TCOD_BKGND_COLOR_DODGE: ::libc::c_uint = 6;
pub const TCOD_BKGND_COLOR_BURN: ::libc::c_uint = 7;
pub const TCOD_BKGND_ADD: ::libc::c_uint = 8;
pub const TCOD_BKGND_ADDA: ::libc::c_uint = 9;
pub const TCOD_BKGND_BURN: ::libc::c_uint = 10;
pub const TCOD_BKGND_OVERLAY: ::libc::c_uint = 11;
pub const TCOD_BKGND_ALPH: ::libc::c_uint = 12;
pub const TCOD_BKGND_DEFAULT: ::libc::c_uint = 13;
pub type TCOD_bkgnd_flag_t = Enum_Unnamed10;
pub type Enum_Unnamed11 = ::libc::c_uint;
pub const TCOD_KEY_PRESSED: ::libc::c_uint = 1;
pub const TCOD_KEY_RELEASED: ::libc::c_uint = 2;
pub type TCOD_key_status_t = Enum_Unnamed11;
pub type Enum_Unnamed12 = ::libc::c_uint;
pub const TCOD_FONT_LAYOUT_ASCII_INCOL: ::libc::c_uint = 1;
pub const TCOD_FONT_LAYOUT_ASCII_INROW: ::libc::c_uint = 2;
pub const TCOD_FONT_TYPE_GREYSCALE: ::libc::c_uint = 4;
pub const TCOD_FONT_TYPE_GRAYSCALE: ::libc::c_uint = 4;
pub const TCOD_FONT_LAYOUT_TCOD: ::libc::c_uint = 8;
pub type TCOD_font_flags_t = Enum_Unnamed12;
pub type Enum_Unnamed13 = ::libc::c_uint;
pub const TCOD_RENDERER_GLSL: ::libc::c_uint = 0;
pub const TCOD_RENDERER_OPENGL: ::libc::c_uint = 1;
pub const TCOD_RENDERER_SDL: ::libc::c_uint = 2;
pub const TCOD_NB_RENDERERS: ::libc::c_uint = 3;
pub type TCOD_renderer_t = Enum_Unnamed13;
pub type Enum_Unnamed14 = ::libc::c_uint;
pub const TCOD_LEFT: ::libc::c_uint = 0;
pub const TCOD_RIGHT: ::libc::c_uint = 1;
pub const TCOD_CENTER: ::libc::c_uint = 2;
pub type TCOD_alignment_t = Enum_Unnamed14;
pub type TCOD_console_t = *mut ::libc::c_void;
pub type TCOD_image_t = *mut ::libc::c_void;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct Struct_Unnamed15 {
    pub x: ::libc::c_int,
    pub y: ::libc::c_int,
    pub dx: ::libc::c_int,
    pub dy: ::libc::c_int,
    pub cx: ::libc::c_int,
    pub cy: ::libc::c_int,
    pub dcx: ::libc::c_int,
    pub dcy: ::libc::c_int,
    pub lbutton: _bool,
    pub rbutton: _bool,
    pub mbutton: _bool,
    pub lbutton_pressed: _bool,
    pub rbutton_pressed: _bool,
    pub mbutton_pressed: _bool,
    pub wheel_up: _bool,
    pub wheel_down: _bool,
}
impl ::std::default::Default for Struct_Unnamed15 {
    fn default() -> Struct_Unnamed15 { unsafe { ::std::mem::zeroed() } }
}
pub type TCOD_mouse_t = Struct_Unnamed15;
pub type Enum_Unnamed16 = ::libc::c_uint;
pub const TCOD_EVENT_NONE: ::libc::c_uint = 0;
pub const TCOD_EVENT_KEY_PRESS: ::libc::c_uint = 1;
pub const TCOD_EVENT_KEY_RELEASE: ::libc::c_uint = 2;
pub const TCOD_EVENT_KEY: ::libc::c_uint = 3;
pub const TCOD_EVENT_MOUSE_MOVE: ::libc::c_uint = 4;
pub const TCOD_EVENT_MOUSE_PRESS: ::libc::c_uint = 8;
pub const TCOD_EVENT_MOUSE_RELEASE: ::libc::c_uint = 16;
pub const TCOD_EVENT_MOUSE: ::libc::c_uint = 28;
pub const TCOD_EVENT_FINGER_MOVE: ::libc::c_uint = 32;
pub const TCOD_EVENT_FINGER_PRESS: ::libc::c_uint = 64;
pub const TCOD_EVENT_FINGER_RELEASE: ::libc::c_uint = 128;
pub const TCOD_EVENT_FINGER: ::libc::c_uint = 224;
pub const TCOD_EVENT_ANY: ::libc::c_uint = 255;
pub type TCOD_event_t = Enum_Unnamed16;
pub type TCOD_thread_t = *mut ::libc::c_void;
pub type TCOD_semaphore_t = *mut ::libc::c_void;
pub type TCOD_mutex_t = *mut ::libc::c_void;
pub type TCOD_cond_t = *mut ::libc::c_void;
pub type TCOD_library_t = *mut ::libc::c_void;
pub type SDL_renderer_t =
    ::std::option::Option<extern "C" fn(sdl_surface: *mut ::libc::c_void)>;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct Struct_Unnamed17 {
    pub nb_rolls: ::libc::c_int,
    pub nb_faces: ::libc::c_int,
    pub multiplier: ::libc::c_float,
    pub addsub: ::libc::c_float,
}
impl ::std::default::Default for Struct_Unnamed17 {
    fn default() -> Struct_Unnamed17 { unsafe { ::std::mem::zeroed() } }
}
pub type TCOD_dice_t = Struct_Unnamed17;
pub type Enum_Unnamed18 = ::libc::c_uint;
pub const TCOD_RNG_MT: ::libc::c_uint = 0;
pub const TCOD_RNG_CMWC: ::libc::c_uint = 1;
pub type TCOD_random_algo_t = Enum_Unnamed18;
pub type Enum_Unnamed19 = ::libc::c_uint;
pub const TCOD_DISTRIBUTION_LINEAR: ::libc::c_uint = 0;
pub const TCOD_DISTRIBUTION_GAUSSIAN: ::libc::c_uint = 1;
pub const TCOD_DISTRIBUTION_GAUSSIAN_RANGE: ::libc::c_uint = 2;
pub const TCOD_DISTRIBUTION_GAUSSIAN_INVERSE: ::libc::c_uint = 3;
pub const TCOD_DISTRIBUTION_GAUSSIAN_RANGE_INVERSE: ::libc::c_uint = 4;
pub type TCOD_distribution_t = Enum_Unnamed19;
pub type TCOD_random_t = *mut ::libc::c_void;
pub type TCOD_line_listener_t =
    ::std::option::Option<extern "C" fn(x: ::libc::c_int, y: ::libc::c_int)
                              -> _bool>;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct Struct_Unnamed20 {
    pub stepx: ::libc::c_int,
    pub stepy: ::libc::c_int,
    pub e: ::libc::c_int,
    pub deltax: ::libc::c_int,
    pub deltay: ::libc::c_int,
    pub origx: ::libc::c_int,
    pub origy: ::libc::c_int,
    pub destx: ::libc::c_int,
    pub desty: ::libc::c_int,
}
impl ::std::default::Default for Struct_Unnamed20 {
    fn default() -> Struct_Unnamed20 { unsafe { ::std::mem::zeroed() } }
}
pub type TCOD_bresenham_data_t = Struct_Unnamed20;
pub type TCOD_noise_t = *mut ::libc::c_void;
pub type Enum_Unnamed21 = ::libc::c_uint;
pub const TCOD_NOISE_PERLIN: ::libc::c_uint = 1;
pub const TCOD_NOISE_SIMPLEX: ::libc::c_uint = 2;
pub const TCOD_NOISE_WAVELET: ::libc::c_uint = 4;
pub const TCOD_NOISE_DEFAULT: ::libc::c_uint = 0;
pub type TCOD_noise_type_t = Enum_Unnamed21;
pub type TCOD_map_t = *mut ::libc::c_void;
pub type Enum_Unnamed22 = ::libc::c_uint;
pub const FOV_BASIC: ::libc::c_uint = 0;
pub const FOV_DIAMOND: ::libc::c_uint = 1;
pub const FOV_SHADOW: ::libc::c_uint = 2;
pub const FOV_PERMISSIVE_0: ::libc::c_uint = 3;
pub const FOV_PERMISSIVE_1: ::libc::c_uint = 4;
pub const FOV_PERMISSIVE_2: ::libc::c_uint = 5;
pub const FOV_PERMISSIVE_3: ::libc::c_uint = 6;
pub const FOV_PERMISSIVE_4: ::libc::c_uint = 7;
pub const FOV_PERMISSIVE_5: ::libc::c_uint = 8;
pub const FOV_PERMISSIVE_6: ::libc::c_uint = 9;
pub const FOV_PERMISSIVE_7: ::libc::c_uint = 10;
pub const FOV_PERMISSIVE_8: ::libc::c_uint = 11;
pub const FOV_RESTRICTIVE: ::libc::c_uint = 12;
pub const NB_FOV_ALGORITHMS: ::libc::c_uint = 13;
pub type TCOD_fov_algorithm_t = Enum_Unnamed22;
pub type TCOD_path_func_t =
    ::std::option::Option<extern "C" fn
                              (xFrom: ::libc::c_int, yFrom: ::libc::c_int,
                               xTo: ::libc::c_int, yTo: ::libc::c_int,
                               user_data: *mut ::libc::c_void)
                              -> ::libc::c_float>;
pub type TCOD_path_t = *mut ::libc::c_void;
pub type TCOD_dijkstra_t = *mut ::libc::c_void;
#[repr(C)]
#[derive(Copy)]
pub struct Struct_Unnamed23 {
    pub file_line: ::libc::c_int,
    pub token_type: ::libc::c_int,
    pub token_int_val: ::libc::c_int,
    pub token_idx: ::libc::c_int,
    pub token_float_val: ::libc::c_float,
    pub tok: *mut ::libc::c_char,
    pub toklen: ::libc::c_int,
    pub lastStringDelim: ::libc::c_char,
    pub pos: *mut ::libc::c_char,
    pub buf: *mut ::libc::c_char,
    pub filename: *mut ::libc::c_char,
    pub last_javadoc_comment: *mut ::libc::c_char,
    pub nb_symbols: ::libc::c_int,
    pub nb_keywords: ::libc::c_int,
    pub flags: ::libc::c_int,
    pub symbols: [[::libc::c_char; 5usize]; 100usize],
    pub keywords: [[::libc::c_char; 20usize]; 100usize],
    pub simpleCmt: *const ::libc::c_char,
    pub cmtStart: *const ::libc::c_char,
    pub cmtStop: *const ::libc::c_char,
    pub javadocCmtStart: *const ::libc::c_char,
    pub stringDelim: *const ::libc::c_char,
    pub javadoc_read: _bool,
    pub allocBuf: _bool,
    pub savept: _bool,
}
impl ::std::clone::Clone for Struct_Unnamed23 {
    fn clone(&self) -> Struct_Unnamed23 {
        *self
    }
}
impl ::std::default::Default for Struct_Unnamed23 {
    fn default() -> Struct_Unnamed23 { unsafe { ::std::mem::zeroed() } }
}
pub type TCOD_lex_t = Struct_Unnamed23;
pub type Enum_Unnamed24 = ::libc::c_uint;
pub const TCOD_TYPE_NONE: ::libc::c_uint = 0;
pub const TCOD_TYPE_BOOL: ::libc::c_uint = 1;
pub const TCOD_TYPE_CHAR: ::libc::c_uint = 2;
pub const TCOD_TYPE_INT: ::libc::c_uint = 3;
pub const TCOD_TYPE_FLOAT: ::libc::c_uint = 4;
pub const TCOD_TYPE_STRING: ::libc::c_uint = 5;
pub const TCOD_TYPE_COLOR: ::libc::c_uint = 6;
pub const TCOD_TYPE_DICE: ::libc::c_uint = 7;
pub const TCOD_TYPE_VALUELIST00: ::libc::c_uint = 8;
pub const TCOD_TYPE_VALUELIST01: ::libc::c_uint = 9;
pub const TCOD_TYPE_VALUELIST02: ::libc::c_uint = 10;
pub const TCOD_TYPE_VALUELIST03: ::libc::c_uint = 11;
pub const TCOD_TYPE_VALUELIST04: ::libc::c_uint = 12;
pub const TCOD_TYPE_VALUELIST05: ::libc::c_uint = 13;
pub const TCOD_TYPE_VALUELIST06: ::libc::c_uint = 14;
pub const TCOD_TYPE_VALUELIST07: ::libc::c_uint = 15;
pub const TCOD_TYPE_VALUELIST08: ::libc::c_uint = 16;
pub const TCOD_TYPE_VALUELIST09: ::libc::c_uint = 17;
pub const TCOD_TYPE_VALUELIST10: ::libc::c_uint = 18;
pub const TCOD_TYPE_VALUELIST11: ::libc::c_uint = 19;
pub const TCOD_TYPE_VALUELIST12: ::libc::c_uint = 20;
pub const TCOD_TYPE_VALUELIST13: ::libc::c_uint = 21;
pub const TCOD_TYPE_VALUELIST14: ::libc::c_uint = 22;
pub const TCOD_TYPE_VALUELIST15: ::libc::c_uint = 23;
pub const TCOD_TYPE_CUSTOM00: ::libc::c_uint = 24;
pub const TCOD_TYPE_CUSTOM01: ::libc::c_uint = 25;
pub const TCOD_TYPE_CUSTOM02: ::libc::c_uint = 26;
pub const TCOD_TYPE_CUSTOM03: ::libc::c_uint = 27;
pub const TCOD_TYPE_CUSTOM04: ::libc::c_uint = 28;
pub const TCOD_TYPE_CUSTOM05: ::libc::c_uint = 29;
pub const TCOD_TYPE_CUSTOM06: ::libc::c_uint = 30;
pub const TCOD_TYPE_CUSTOM07: ::libc::c_uint = 31;
pub const TCOD_TYPE_CUSTOM08: ::libc::c_uint = 32;
pub const TCOD_TYPE_CUSTOM09: ::libc::c_uint = 33;
pub const TCOD_TYPE_CUSTOM10: ::libc::c_uint = 34;
pub const TCOD_TYPE_CUSTOM11: ::libc::c_uint = 35;
pub const TCOD_TYPE_CUSTOM12: ::libc::c_uint = 36;
pub const TCOD_TYPE_CUSTOM13: ::libc::c_uint = 37;
pub const TCOD_TYPE_CUSTOM14: ::libc::c_uint = 38;
pub const TCOD_TYPE_CUSTOM15: ::libc::c_uint = 39;
pub const TCOD_TYPE_LIST: ::libc::c_uint = 1024;
pub type TCOD_value_type_t = Enum_Unnamed24;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct Union_Unnamed25 {
    pub _bindgen_data_: [u64; 2usize],
}
impl Union_Unnamed25 {
    pub unsafe fn b(&mut self) -> *mut _bool {
        ::std::mem::transmute(&self._bindgen_data_)
    }
    pub unsafe fn c(&mut self) -> *mut ::libc::c_char {
        ::std::mem::transmute(&self._bindgen_data_)
    }
    pub unsafe fn i(&mut self) -> *mut int32 {
        ::std::mem::transmute(&self._bindgen_data_)
    }
    pub unsafe fn f(&mut self) -> *mut ::libc::c_float {
        ::std::mem::transmute(&self._bindgen_data_)
    }
    pub unsafe fn s(&mut self) -> *mut *mut ::libc::c_char {
        ::std::mem::transmute(&self._bindgen_data_)
    }
    pub unsafe fn col(&mut self) -> *mut TCOD_color_t {
        ::std::mem::transmute(&self._bindgen_data_)
    }
    pub unsafe fn dice(&mut self) -> *mut TCOD_dice_t {
        ::std::mem::transmute(&self._bindgen_data_)
    }
    pub unsafe fn list(&mut self) -> *mut TCOD_list_t {
        ::std::mem::transmute(&self._bindgen_data_)
    }
    pub unsafe fn custom(&mut self) -> *mut *mut ::libc::c_void {
        ::std::mem::transmute(&self._bindgen_data_)
    }
}
impl ::std::default::Default for Union_Unnamed25 {
    fn default() -> Union_Unnamed25 { unsafe { ::std::mem::zeroed() } }
}
pub type TCOD_value_t = Union_Unnamed25;
pub type TCOD_parser_struct_t = *mut ::libc::c_void;
#[repr(C)]
#[derive(Copy)]
pub struct Struct_Unnamed26 {
    pub new_struct: ::std::option::Option<extern "C" fn
                                              (str: TCOD_parser_struct_t,
                                               name: *const ::libc::c_char)
                                              -> _bool>,
    pub new_flag: ::std::option::Option<extern "C" fn
                                            (name: *const ::libc::c_char)
                                            -> _bool>,
    pub new_property: ::std::option::Option<extern "C" fn
                                                (propname:
                                                     *const ::libc::c_char,
                                                 _type: TCOD_value_type_t,
                                                 value: TCOD_value_t)
                                                -> _bool>,
    pub end_struct: ::std::option::Option<extern "C" fn
                                              (str: TCOD_parser_struct_t,
                                               name: *const ::libc::c_char)
                                              -> _bool>,
    pub error: ::std::option::Option<extern "C" fn
                                         (msg: *const ::libc::c_char)>,
}
impl Clone for Struct_Unnamed26 {
    fn clone(&self) -> Struct_Unnamed26 {
        *self
    }
}
impl ::std::default::Default for Struct_Unnamed26 {
    fn default() -> Struct_Unnamed26 { unsafe { ::std::mem::zeroed() } }
}
pub type TCOD_parser_listener_t = Struct_Unnamed26;
pub type TCOD_parser_custom_t =
    ::std::option::Option<extern "C" fn
                              (lex: *mut TCOD_lex_t,
                               listener: *mut TCOD_parser_listener_t,
                               str: TCOD_parser_struct_t,
                               propname: *mut ::libc::c_char)
                              -> TCOD_value_t>;
pub type TCOD_parser_t = *mut ::libc::c_void;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct Struct_Unnamed27 {
    pub name: *mut ::libc::c_char,
    pub flags: TCOD_list_t,
    pub props: TCOD_list_t,
    pub lists: TCOD_list_t,
    pub structs: TCOD_list_t,
}
impl ::std::default::Default for Struct_Unnamed27 {
    fn default() -> Struct_Unnamed27 { unsafe { ::std::mem::zeroed() } }
}
pub type TCOD_struct_int_t = Struct_Unnamed27;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct Struct_Unnamed28 {
    pub structs: TCOD_list_t,
    pub customs: [TCOD_parser_custom_t; 16usize],
    pub fatal: _bool,
    pub props: TCOD_list_t,
}
impl ::std::default::Default for Struct_Unnamed28 {
    fn default() -> Struct_Unnamed28 { unsafe { ::std::mem::zeroed() } }
}
pub type TCOD_parser_int_t = Struct_Unnamed28;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct Struct__TCOD_tree_t {
    pub next: *mut Struct__TCOD_tree_t,
    pub father: *mut Struct__TCOD_tree_t,
    pub sons: *mut Struct__TCOD_tree_t,
}
impl ::std::default::Default for Struct__TCOD_tree_t {
    fn default() -> Struct__TCOD_tree_t { unsafe { ::std::mem::zeroed() } }
}
pub type TCOD_tree_t = Struct__TCOD_tree_t;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct Struct_Unnamed29 {
    tree: TCOD_tree_t,
    pub x: ::libc::c_int,
    pub y: ::libc::c_int,
    pub w: ::libc::c_int,
    pub h: ::libc::c_int,
    pub position: ::libc::c_int,
    pub level: uint8,
    pub horizontal: _bool,
}
impl ::std::default::Default for Struct_Unnamed29 {
    fn default() -> Struct_Unnamed29 { unsafe { ::std::mem::zeroed() } }
}
impl Struct_Unnamed29 {
    pub unsafe fn tree(&mut self) -> &mut TCOD_tree_t {
        &mut self.tree
    }
}
pub type TCOD_bsp_t = Struct_Unnamed29;
pub type TCOD_bsp_callback_t =
    ::std::option::Option<extern "C" fn
                              (node: *mut TCOD_bsp_t,
                               userData: *mut ::libc::c_void) -> _bool>;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct Struct_Unnamed30 {
    pub w: ::libc::c_int,
    pub h: ::libc::c_int,
    pub values: *mut ::libc::c_float,
}
impl ::std::default::Default for Struct_Unnamed30 {
    fn default() -> Struct_Unnamed30 { unsafe { ::std::mem::zeroed() } }
}
pub type TCOD_heightmap_t = Struct_Unnamed30;
pub type TCOD_zip_t = *mut ::libc::c_void;
pub type TCOD_namegen_t = *mut ::libc::c_void;
pub type TCOD_text_t = *mut ::libc::c_void;
pub type __va_list_tag = Struct___va_list_tag;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct Struct___va_list_tag {
    pub gp_offset: ::libc::c_uint,
    pub fp_offset: ::libc::c_uint,
    pub overflow_arg_area: *mut ::libc::c_void,
    pub reg_save_area: *mut ::libc::c_void,
}
impl ::std::default::Default for Struct___va_list_tag {
    fn default() -> Struct___va_list_tag { unsafe { ::std::mem::zeroed() } }
}
#[link(name = "tcod")]
extern "C" {
    pub static mut TCOD_colors: [[TCOD_color_t; 8usize]; 21usize];
    pub static TCOD_black: TCOD_color_t;
    pub static TCOD_darkest_grey: TCOD_color_t;
    pub static TCOD_darker_grey: TCOD_color_t;
    pub static TCOD_dark_grey: TCOD_color_t;
    pub static TCOD_grey: TCOD_color_t;
    pub static TCOD_light_grey: TCOD_color_t;
    pub static TCOD_lighter_grey: TCOD_color_t;
    pub static TCOD_lightest_grey: TCOD_color_t;
    pub static TCOD_darkest_gray: TCOD_color_t;
    pub static TCOD_darker_gray: TCOD_color_t;
    pub static TCOD_dark_gray: TCOD_color_t;
    pub static TCOD_gray: TCOD_color_t;
    pub static TCOD_light_gray: TCOD_color_t;
    pub static TCOD_lighter_gray: TCOD_color_t;
    pub static TCOD_lightest_gray: TCOD_color_t;
    pub static TCOD_white: TCOD_color_t;
    pub static TCOD_darkest_sepia: TCOD_color_t;
    pub static TCOD_darker_sepia: TCOD_color_t;
    pub static TCOD_dark_sepia: TCOD_color_t;
    pub static TCOD_sepia: TCOD_color_t;
    pub static TCOD_light_sepia: TCOD_color_t;
    pub static TCOD_lighter_sepia: TCOD_color_t;
    pub static TCOD_lightest_sepia: TCOD_color_t;
    pub static TCOD_red: TCOD_color_t;
    pub static TCOD_flame: TCOD_color_t;
    pub static TCOD_orange: TCOD_color_t;
    pub static TCOD_amber: TCOD_color_t;
    pub static TCOD_yellow: TCOD_color_t;
    pub static TCOD_lime: TCOD_color_t;
    pub static TCOD_chartreuse: TCOD_color_t;
    pub static TCOD_green: TCOD_color_t;
    pub static TCOD_sea: TCOD_color_t;
    pub static TCOD_turquoise: TCOD_color_t;
    pub static TCOD_cyan: TCOD_color_t;
    pub static TCOD_sky: TCOD_color_t;
    pub static TCOD_azure: TCOD_color_t;
    pub static TCOD_blue: TCOD_color_t;
    pub static TCOD_han: TCOD_color_t;
    pub static TCOD_violet: TCOD_color_t;
    pub static TCOD_purple: TCOD_color_t;
    pub static TCOD_fuchsia: TCOD_color_t;
    pub static TCOD_magenta: TCOD_color_t;
    pub static TCOD_pink: TCOD_color_t;
    pub static TCOD_crimson: TCOD_color_t;
    pub static TCOD_dark_red: TCOD_color_t;
    pub static TCOD_dark_flame: TCOD_color_t;
    pub static TCOD_dark_orange: TCOD_color_t;
    pub static TCOD_dark_amber: TCOD_color_t;
    pub static TCOD_dark_yellow: TCOD_color_t;
    pub static TCOD_dark_lime: TCOD_color_t;
    pub static TCOD_dark_chartreuse: TCOD_color_t;
    pub static TCOD_dark_green: TCOD_color_t;
    pub static TCOD_dark_sea: TCOD_color_t;
    pub static TCOD_dark_turquoise: TCOD_color_t;
    pub static TCOD_dark_cyan: TCOD_color_t;
    pub static TCOD_dark_sky: TCOD_color_t;
    pub static TCOD_dark_azure: TCOD_color_t;
    pub static TCOD_dark_blue: TCOD_color_t;
    pub static TCOD_dark_han: TCOD_color_t;
    pub static TCOD_dark_violet: TCOD_color_t;
    pub static TCOD_dark_purple: TCOD_color_t;
    pub static TCOD_dark_fuchsia: TCOD_color_t;
    pub static TCOD_dark_magenta: TCOD_color_t;
    pub static TCOD_dark_pink: TCOD_color_t;
    pub static TCOD_dark_crimson: TCOD_color_t;
    pub static TCOD_darker_red: TCOD_color_t;
    pub static TCOD_darker_flame: TCOD_color_t;
    pub static TCOD_darker_orange: TCOD_color_t;
    pub static TCOD_darker_amber: TCOD_color_t;
    pub static TCOD_darker_yellow: TCOD_color_t;
    pub static TCOD_darker_lime: TCOD_color_t;
    pub static TCOD_darker_chartreuse: TCOD_color_t;
    pub static TCOD_darker_green: TCOD_color_t;
    pub static TCOD_darker_sea: TCOD_color_t;
    pub static TCOD_darker_turquoise: TCOD_color_t;
    pub static TCOD_darker_cyan: TCOD_color_t;
    pub static TCOD_darker_sky: TCOD_color_t;
    pub static TCOD_darker_azure: TCOD_color_t;
    pub static TCOD_darker_blue: TCOD_color_t;
    pub static TCOD_darker_han: TCOD_color_t;
    pub static TCOD_darker_violet: TCOD_color_t;
    pub static TCOD_darker_purple: TCOD_color_t;
    pub static TCOD_darker_fuchsia: TCOD_color_t;
    pub static TCOD_darker_magenta: TCOD_color_t;
    pub static TCOD_darker_pink: TCOD_color_t;
    pub static TCOD_darker_crimson: TCOD_color_t;
    pub static TCOD_darkest_red: TCOD_color_t;
    pub static TCOD_darkest_flame: TCOD_color_t;
    pub static TCOD_darkest_orange: TCOD_color_t;
    pub static TCOD_darkest_amber: TCOD_color_t;
    pub static TCOD_darkest_yellow: TCOD_color_t;
    pub static TCOD_darkest_lime: TCOD_color_t;
    pub static TCOD_darkest_chartreuse: TCOD_color_t;
    pub static TCOD_darkest_green: TCOD_color_t;
    pub static TCOD_darkest_sea: TCOD_color_t;
    pub static TCOD_darkest_turquoise: TCOD_color_t;
    pub static TCOD_darkest_cyan: TCOD_color_t;
    pub static TCOD_darkest_sky: TCOD_color_t;
    pub static TCOD_darkest_azure: TCOD_color_t;
    pub static TCOD_darkest_blue: TCOD_color_t;
    pub static TCOD_darkest_han: TCOD_color_t;
    pub static TCOD_darkest_violet: TCOD_color_t;
    pub static TCOD_darkest_purple: TCOD_color_t;
    pub static TCOD_darkest_fuchsia: TCOD_color_t;
    pub static TCOD_darkest_magenta: TCOD_color_t;
    pub static TCOD_darkest_pink: TCOD_color_t;
    pub static TCOD_darkest_crimson: TCOD_color_t;
    pub static TCOD_light_red: TCOD_color_t;
    pub static TCOD_light_flame: TCOD_color_t;
    pub static TCOD_light_orange: TCOD_color_t;
    pub static TCOD_light_amber: TCOD_color_t;
    pub static TCOD_light_yellow: TCOD_color_t;
    pub static TCOD_light_lime: TCOD_color_t;
    pub static TCOD_light_chartreuse: TCOD_color_t;
    pub static TCOD_light_green: TCOD_color_t;
    pub static TCOD_light_sea: TCOD_color_t;
    pub static TCOD_light_turquoise: TCOD_color_t;
    pub static TCOD_light_cyan: TCOD_color_t;
    pub static TCOD_light_sky: TCOD_color_t;
    pub static TCOD_light_azure: TCOD_color_t;
    pub static TCOD_light_blue: TCOD_color_t;
    pub static TCOD_light_han: TCOD_color_t;
    pub static TCOD_light_violet: TCOD_color_t;
    pub static TCOD_light_purple: TCOD_color_t;
    pub static TCOD_light_fuchsia: TCOD_color_t;
    pub static TCOD_light_magenta: TCOD_color_t;
    pub static TCOD_light_pink: TCOD_color_t;
    pub static TCOD_light_crimson: TCOD_color_t;
    pub static TCOD_lighter_red: TCOD_color_t;
    pub static TCOD_lighter_flame: TCOD_color_t;
    pub static TCOD_lighter_orange: TCOD_color_t;
    pub static TCOD_lighter_amber: TCOD_color_t;
    pub static TCOD_lighter_yellow: TCOD_color_t;
    pub static TCOD_lighter_lime: TCOD_color_t;
    pub static TCOD_lighter_chartreuse: TCOD_color_t;
    pub static TCOD_lighter_green: TCOD_color_t;
    pub static TCOD_lighter_sea: TCOD_color_t;
    pub static TCOD_lighter_turquoise: TCOD_color_t;
    pub static TCOD_lighter_cyan: TCOD_color_t;
    pub static TCOD_lighter_sky: TCOD_color_t;
    pub static TCOD_lighter_azure: TCOD_color_t;
    pub static TCOD_lighter_blue: TCOD_color_t;
    pub static TCOD_lighter_han: TCOD_color_t;
    pub static TCOD_lighter_violet: TCOD_color_t;
    pub static TCOD_lighter_purple: TCOD_color_t;
    pub static TCOD_lighter_fuchsia: TCOD_color_t;
    pub static TCOD_lighter_magenta: TCOD_color_t;
    pub static TCOD_lighter_pink: TCOD_color_t;
    pub static TCOD_lighter_crimson: TCOD_color_t;
    pub static TCOD_lightest_red: TCOD_color_t;
    pub static TCOD_lightest_flame: TCOD_color_t;
    pub static TCOD_lightest_orange: TCOD_color_t;
    pub static TCOD_lightest_amber: TCOD_color_t;
    pub static TCOD_lightest_yellow: TCOD_color_t;
    pub static TCOD_lightest_lime: TCOD_color_t;
    pub static TCOD_lightest_chartreuse: TCOD_color_t;
    pub static TCOD_lightest_green: TCOD_color_t;
    pub static TCOD_lightest_sea: TCOD_color_t;
    pub static TCOD_lightest_turquoise: TCOD_color_t;
    pub static TCOD_lightest_cyan: TCOD_color_t;
    pub static TCOD_lightest_sky: TCOD_color_t;
    pub static TCOD_lightest_azure: TCOD_color_t;
    pub static TCOD_lightest_blue: TCOD_color_t;
    pub static TCOD_lightest_han: TCOD_color_t;
    pub static TCOD_lightest_violet: TCOD_color_t;
    pub static TCOD_lightest_purple: TCOD_color_t;
    pub static TCOD_lightest_fuchsia: TCOD_color_t;
    pub static TCOD_lightest_magenta: TCOD_color_t;
    pub static TCOD_lightest_pink: TCOD_color_t;
    pub static TCOD_lightest_crimson: TCOD_color_t;
    pub static TCOD_desaturated_red: TCOD_color_t;
    pub static TCOD_desaturated_flame: TCOD_color_t;
    pub static TCOD_desaturated_orange: TCOD_color_t;
    pub static TCOD_desaturated_amber: TCOD_color_t;
    pub static TCOD_desaturated_yellow: TCOD_color_t;
    pub static TCOD_desaturated_lime: TCOD_color_t;
    pub static TCOD_desaturated_chartreuse: TCOD_color_t;
    pub static TCOD_desaturated_green: TCOD_color_t;
    pub static TCOD_desaturated_sea: TCOD_color_t;
    pub static TCOD_desaturated_turquoise: TCOD_color_t;
    pub static TCOD_desaturated_cyan: TCOD_color_t;
    pub static TCOD_desaturated_sky: TCOD_color_t;
    pub static TCOD_desaturated_azure: TCOD_color_t;
    pub static TCOD_desaturated_blue: TCOD_color_t;
    pub static TCOD_desaturated_han: TCOD_color_t;
    pub static TCOD_desaturated_violet: TCOD_color_t;
    pub static TCOD_desaturated_purple: TCOD_color_t;
    pub static TCOD_desaturated_fuchsia: TCOD_color_t;
    pub static TCOD_desaturated_magenta: TCOD_color_t;
    pub static TCOD_desaturated_pink: TCOD_color_t;
    pub static TCOD_desaturated_crimson: TCOD_color_t;
    pub static TCOD_brass: TCOD_color_t;
    pub static TCOD_copper: TCOD_color_t;
    pub static TCOD_gold: TCOD_color_t;
    pub static TCOD_silver: TCOD_color_t;
    pub static TCOD_celadon: TCOD_color_t;
    pub static TCOD_peach: TCOD_color_t;
}
#[link(name = "tcod")]
extern "C" {
    pub fn wcscpy(__dest: *mut wchar_t, __src: *const wchar_t)
     -> *mut wchar_t;
    pub fn wcsncpy(__dest: *mut wchar_t, __src: *const wchar_t, __n: size_t)
     -> *mut wchar_t;
    pub fn wcscat(__dest: *mut wchar_t, __src: *const wchar_t)
     -> *mut wchar_t;
    pub fn wcsncat(__dest: *mut wchar_t, __src: *const wchar_t, __n: size_t)
     -> *mut wchar_t;
    pub fn wcscmp(__s1: *const wchar_t, __s2: *const wchar_t)
     -> ::libc::c_int;
    pub fn wcsncmp(__s1: *const wchar_t, __s2: *const wchar_t, __n: size_t)
     -> ::libc::c_int;
    pub fn wcscasecmp(__s1: *const wchar_t, __s2: *const wchar_t)
     -> ::libc::c_int;
    pub fn wcsncasecmp(__s1: *const wchar_t, __s2: *const wchar_t,
                       __n: size_t) -> ::libc::c_int;
    pub fn wcscasecmp_l(__s1: *const wchar_t, __s2: *const wchar_t,
                        __loc: __locale_t) -> ::libc::c_int;
    pub fn wcsncasecmp_l(__s1: *const wchar_t, __s2: *const wchar_t,
                         __n: size_t, __loc: __locale_t) -> ::libc::c_int;
    pub fn wcscoll(__s1: *const wchar_t, __s2: *const wchar_t)
     -> ::libc::c_int;
    pub fn wcsxfrm(__s1: *mut wchar_t, __s2: *const wchar_t, __n: size_t)
     -> size_t;
    pub fn wcscoll_l(__s1: *const wchar_t, __s2: *const wchar_t,
                     __loc: __locale_t) -> ::libc::c_int;
    pub fn wcsxfrm_l(__s1: *mut wchar_t, __s2: *const wchar_t, __n: size_t,
                     __loc: __locale_t) -> size_t;
    pub fn wcsdup(__s: *const wchar_t) -> *mut wchar_t;
    pub fn wcschr(__wcs: *const wchar_t, __wc: wchar_t) -> *mut wchar_t;
    pub fn wcsrchr(__wcs: *const wchar_t, __wc: wchar_t) -> *mut wchar_t;
    pub fn wcscspn(__wcs: *const wchar_t, __reject: *const wchar_t) -> size_t;
    pub fn wcsspn(__wcs: *const wchar_t, __accept: *const wchar_t) -> size_t;
    pub fn wcspbrk(__wcs: *const wchar_t, __accept: *const wchar_t)
     -> *mut wchar_t;
    pub fn wcsstr(__haystack: *const wchar_t, __needle: *const wchar_t)
     -> *mut wchar_t;
    pub fn wcstok(__s: *mut wchar_t, __delim: *const wchar_t,
                  __ptr: *mut *mut wchar_t) -> *mut wchar_t;
    pub fn wcslen(__s: *const wchar_t) -> size_t;
    pub fn wcsnlen(__s: *const wchar_t, __maxlen: size_t) -> size_t;
    pub fn wmemchr(__s: *const wchar_t, __c: wchar_t, __n: size_t)
     -> *mut wchar_t;
    pub fn wmemcmp(__s1: *const wchar_t, __s2: *const wchar_t, __n: size_t)
     -> ::libc::c_int;
    pub fn wmemcpy(__s1: *mut wchar_t, __s2: *const wchar_t, __n: size_t)
     -> *mut wchar_t;
    pub fn wmemmove(__s1: *mut wchar_t, __s2: *const wchar_t, __n: size_t)
     -> *mut wchar_t;
    pub fn wmemset(__s: *mut wchar_t, __c: wchar_t, __n: size_t)
     -> *mut wchar_t;
    pub fn btowc(__c: ::libc::c_int) -> wint_t;
    pub fn wctob(__c: wint_t) -> ::libc::c_int;
    pub fn mbsinit(__ps: *const mbstate_t) -> ::libc::c_int;
    pub fn mbrtowc(__pwc: *mut wchar_t, __s: *const ::libc::c_char,
                   __n: size_t, __p: *mut mbstate_t) -> size_t;
    pub fn wcrtomb(__s: *mut ::libc::c_char, __wc: wchar_t,
                   __ps: *mut mbstate_t) -> size_t;
    pub fn __mbrlen(__s: *const ::libc::c_char, __n: size_t,
                    __ps: *mut mbstate_t) -> size_t;
    pub fn mbrlen(__s: *const ::libc::c_char, __n: size_t,
                  __ps: *mut mbstate_t) -> size_t;
    pub fn mbsrtowcs(__dst: *mut wchar_t, __src: *mut *const ::libc::c_char,
                     __len: size_t, __ps: *mut mbstate_t) -> size_t;
    pub fn wcsrtombs(__dst: *mut ::libc::c_char, __src: *mut *const wchar_t,
                     __len: size_t, __ps: *mut mbstate_t) -> size_t;
    pub fn mbsnrtowcs(__dst: *mut wchar_t, __src: *mut *const ::libc::c_char,
                      __nmc: size_t, __len: size_t, __ps: *mut mbstate_t)
     -> size_t;
    pub fn wcsnrtombs(__dst: *mut ::libc::c_char, __src: *mut *const wchar_t,
                      __nwc: size_t, __len: size_t, __ps: *mut mbstate_t)
     -> size_t;
    pub fn wcstod(__nptr: *const wchar_t, __endptr: *mut *mut wchar_t)
     -> ::libc::c_double;
    pub fn wcstof(__nptr: *const wchar_t, __endptr: *mut *mut wchar_t)
     -> ::libc::c_float;
    pub fn wcstold(__nptr: *const wchar_t, __endptr: *mut *mut wchar_t)
     -> ::libc::c_double;
    pub fn wcstol(__nptr: *const wchar_t, __endptr: *mut *mut wchar_t,
                  __base: ::libc::c_int) -> ::libc::c_long;
    pub fn wcstoul(__nptr: *const wchar_t, __endptr: *mut *mut wchar_t,
                   __base: ::libc::c_int) -> ::libc::c_ulong;
    pub fn wcstoll(__nptr: *const wchar_t, __endptr: *mut *mut wchar_t,
                   __base: ::libc::c_int) -> ::libc::c_longlong;
    pub fn wcstoull(__nptr: *const wchar_t, __endptr: *mut *mut wchar_t,
                    __base: ::libc::c_int) -> ::libc::c_ulonglong;
    pub fn wcpcpy(__dest: *mut wchar_t, __src: *const wchar_t)
     -> *mut wchar_t;
    pub fn wcpncpy(__dest: *mut wchar_t, __src: *const wchar_t, __n: size_t)
     -> *mut wchar_t;
    pub fn open_wmemstream(__bufloc: *mut *mut wchar_t,
                           __sizeloc: *mut size_t) -> *mut __FILE;
    pub fn fwide(__fp: *mut __FILE, __mode: ::libc::c_int) -> ::libc::c_int;
    pub fn fwprintf(__stream: *mut __FILE, __format: *const wchar_t, ...)
     -> ::libc::c_int;
    pub fn wprintf(__format: *const wchar_t, ...) -> ::libc::c_int;
    pub fn swprintf(__s: *mut wchar_t, __n: size_t,
                    __format: *const wchar_t, ...) -> ::libc::c_int;
    pub fn vfwprintf(__s: *mut __FILE, __format: *const wchar_t,
                     __arg: __gnuc_va_list) -> ::libc::c_int;
    pub fn vwprintf(__format: *const wchar_t, __arg: __gnuc_va_list)
     -> ::libc::c_int;
    pub fn vswprintf(__s: *mut wchar_t, __n: size_t, __format: *const wchar_t,
                     __arg: __gnuc_va_list) -> ::libc::c_int;
    pub fn fwscanf(__stream: *mut __FILE, __format: *const wchar_t, ...)
     -> ::libc::c_int;
    pub fn wscanf(__format: *const wchar_t, ...) -> ::libc::c_int;
    pub fn swscanf(__s: *const wchar_t, __format: *const wchar_t, ...)
     -> ::libc::c_int;
    pub fn vfwscanf(__s: *mut __FILE, __format: *const wchar_t,
                    __arg: __gnuc_va_list) -> ::libc::c_int;
    pub fn vwscanf(__format: *const wchar_t, __arg: __gnuc_va_list)
     -> ::libc::c_int;
    pub fn vswscanf(__s: *const wchar_t, __format: *const wchar_t,
                    __arg: __gnuc_va_list) -> ::libc::c_int;
    pub fn fgetwc(__stream: *mut __FILE) -> wint_t;
    pub fn getwc(__stream: *mut __FILE) -> wint_t;
    pub fn getwchar() -> wint_t;
    pub fn fputwc(__wc: wchar_t, __stream: *mut __FILE) -> wint_t;
    pub fn putwc(__wc: wchar_t, __stream: *mut __FILE) -> wint_t;
    pub fn putwchar(__wc: wchar_t) -> wint_t;
    pub fn fgetws(__ws: *mut wchar_t, __n: ::libc::c_int,
                  __stream: *mut __FILE) -> *mut wchar_t;
    pub fn fputws(__ws: *const wchar_t, __stream: *mut __FILE)
     -> ::libc::c_int;
    pub fn ungetwc(__wc: wint_t, __stream: *mut __FILE) -> wint_t;
    pub fn wcsftime(__s: *mut wchar_t, __maxsize: size_t,
                    __format: *const wchar_t, __tp: *const Struct_tm)
     -> size_t;
    pub fn TCOD_strdup(s: *const ::libc::c_char) -> *mut ::libc::c_char;
    pub fn TCOD_strcasecmp(s1: *const ::libc::c_char,
                           s2: *const ::libc::c_char) -> ::libc::c_int;
    pub fn TCOD_strncasecmp(s1: *const ::libc::c_char,
                            s2: *const ::libc::c_char, n: size_t)
     -> ::libc::c_int;
    pub fn TCOD_list_new() -> TCOD_list_t;
    pub fn TCOD_list_allocate(nb_elements: ::libc::c_int) -> TCOD_list_t;
    pub fn TCOD_list_duplicate(l: TCOD_list_t) -> TCOD_list_t;
    pub fn TCOD_list_delete(l: TCOD_list_t);
    pub fn TCOD_list_push(l: TCOD_list_t, elt: *const ::libc::c_void);
    pub fn TCOD_list_pop(l: TCOD_list_t) -> *mut ::libc::c_void;
    pub fn TCOD_list_peek(l: TCOD_list_t) -> *mut ::libc::c_void;
    pub fn TCOD_list_add_all(l: TCOD_list_t, l2: TCOD_list_t);
    pub fn TCOD_list_get(l: TCOD_list_t, idx: ::libc::c_int)
     -> *mut ::libc::c_void;
    pub fn TCOD_list_set(l: TCOD_list_t, elt: *const ::libc::c_void,
                         idx: ::libc::c_int);
    pub fn TCOD_list_begin(l: TCOD_list_t) -> *mut *mut ::libc::c_void;
    pub fn TCOD_list_end(l: TCOD_list_t) -> *mut *mut ::libc::c_void;
    pub fn TCOD_list_reverse(l: TCOD_list_t);
    pub fn TCOD_list_remove_iterator(l: TCOD_list_t,
                                     elt: *mut *mut ::libc::c_void)
     -> *mut *mut ::libc::c_void;
    pub fn TCOD_list_remove(l: TCOD_list_t, elt: *const ::libc::c_void);
    pub fn TCOD_list_remove_iterator_fast(l: TCOD_list_t,
                                          elt: *mut *mut ::libc::c_void)
     -> *mut *mut ::libc::c_void;
    pub fn TCOD_list_remove_fast(l: TCOD_list_t, elt: *const ::libc::c_void);
    pub fn TCOD_list_contains(l: TCOD_list_t, elt: *const ::libc::c_void)
     -> _bool;
    pub fn TCOD_list_clear(l: TCOD_list_t);
    pub fn TCOD_list_clear_and_delete(l: TCOD_list_t);
    pub fn TCOD_list_size(l: TCOD_list_t) -> ::libc::c_int;
    pub fn TCOD_list_insert_before(l: TCOD_list_t, elt: *const ::libc::c_void,
                                   before: ::libc::c_int)
     -> *mut *mut ::libc::c_void;
    pub fn TCOD_list_is_empty(l: TCOD_list_t) -> _bool;
    pub fn TCOD_color_RGB(r: uint8, g: uint8, b: uint8) -> TCOD_color_t;
    pub fn TCOD_color_HSV(h: ::libc::c_float, s: ::libc::c_float,
                          v: ::libc::c_float) -> TCOD_color_t;
    pub fn TCOD_color_equals(c1: TCOD_color_t, c2: TCOD_color_t) -> _bool;
    pub fn TCOD_color_add(c1: TCOD_color_t, c2: TCOD_color_t) -> TCOD_color_t;
    pub fn TCOD_color_subtract(c1: TCOD_color_t, c2: TCOD_color_t)
     -> TCOD_color_t;
    pub fn TCOD_color_multiply(c1: TCOD_color_t, c2: TCOD_color_t)
     -> TCOD_color_t;
    pub fn TCOD_color_multiply_scalar(c1: TCOD_color_t,
                                      value: ::libc::c_float) -> TCOD_color_t;
    pub fn TCOD_color_lerp(c1: TCOD_color_t, c2: TCOD_color_t,
                           coef: ::libc::c_float) -> TCOD_color_t;
    pub fn TCOD_color_set_HSV(c: *mut TCOD_color_t, h: ::libc::c_float,
                              s: ::libc::c_float, v: ::libc::c_float);
    pub fn TCOD_color_get_HSV(c: TCOD_color_t, h: *mut ::libc::c_float,
                              s: *mut ::libc::c_float,
                              v: *mut ::libc::c_float);
    pub fn TCOD_color_get_hue(c: TCOD_color_t) -> ::libc::c_float;
    pub fn TCOD_color_set_hue(c: *mut TCOD_color_t, h: ::libc::c_float);
    pub fn TCOD_color_get_saturation(c: TCOD_color_t) -> ::libc::c_float;
    pub fn TCOD_color_set_saturation(c: *mut TCOD_color_t,
                                     s: ::libc::c_float);
    pub fn TCOD_color_get_value(c: TCOD_color_t) -> ::libc::c_float;
    pub fn TCOD_color_set_value(c: *mut TCOD_color_t, v: ::libc::c_float);
    pub fn TCOD_color_shift_hue(c: *mut TCOD_color_t,
                                hshift: ::libc::c_float);
    pub fn TCOD_color_scale_HSV(c: *mut TCOD_color_t, scoef: ::libc::c_float,
                                vcoef: ::libc::c_float);
    pub fn TCOD_color_gen_map(map: *mut TCOD_color_t, nb_key: ::libc::c_int,
                              key_color: *const TCOD_color_t,
                              key_index: *const ::libc::c_int);
    pub fn TCOD_console_init_root(w: ::libc::c_int, h: ::libc::c_int,
                                  title: *const ::libc::c_char,
                                  fullscreen: _bool,
                                  renderer: TCOD_renderer_t);
    pub fn TCOD_console_set_window_title(title: *const ::libc::c_char);
    pub fn TCOD_console_set_fullscreen(fullscreen: _bool);
    pub fn TCOD_console_is_fullscreen() -> _bool;
    pub fn TCOD_console_is_window_closed() -> _bool;
    pub fn TCOD_console_has_mouse_focus() -> _bool;
    pub fn TCOD_console_is_active() -> _bool;
    pub fn TCOD_console_set_custom_font(fontFile: *const ::libc::c_char,
                                        flags: ::libc::c_int,
                                        nb_char_horiz: ::libc::c_int,
                                        nb_char_vertic: ::libc::c_int);
    pub fn TCOD_console_map_ascii_code_to_font(asciiCode: ::libc::c_int,
                                               fontCharX: ::libc::c_int,
                                               fontCharY: ::libc::c_int);
    pub fn TCOD_console_map_ascii_codes_to_font(asciiCode: ::libc::c_int,
                                                nbCodes: ::libc::c_int,
                                                fontCharX: ::libc::c_int,
                                                fontCharY: ::libc::c_int);
    pub fn TCOD_console_map_string_to_font(s: *const ::libc::c_char,
                                           fontCharX: ::libc::c_int,
                                           fontCharY: ::libc::c_int);
    pub fn TCOD_console_set_dirty(x: ::libc::c_int, y: ::libc::c_int,
                                  w: ::libc::c_int, h: ::libc::c_int);
    pub fn TCOD_console_set_default_background(con: TCOD_console_t,
                                               col: TCOD_color_t);
    pub fn TCOD_console_set_default_foreground(con: TCOD_console_t,
                                               col: TCOD_color_t);
    pub fn TCOD_console_clear(con: TCOD_console_t);
    pub fn TCOD_console_set_char_background(con: TCOD_console_t,
                                            x: ::libc::c_int,
                                            y: ::libc::c_int,
                                            col: TCOD_color_t,
                                            flag: TCOD_bkgnd_flag_t);
    pub fn TCOD_console_set_char_foreground(con: TCOD_console_t,
                                            x: ::libc::c_int,
                                            y: ::libc::c_int,
                                            col: TCOD_color_t);
    pub fn TCOD_console_set_char(con: TCOD_console_t, x: ::libc::c_int,
                                 y: ::libc::c_int, c: ::libc::c_int);
    pub fn TCOD_console_put_char(con: TCOD_console_t, x: ::libc::c_int,
                                 y: ::libc::c_int, c: ::libc::c_int,
                                 flag: TCOD_bkgnd_flag_t);
    pub fn TCOD_console_put_char_ex(con: TCOD_console_t, x: ::libc::c_int,
                                    y: ::libc::c_int, c: ::libc::c_int,
                                    fore: TCOD_color_t, back: TCOD_color_t);
    pub fn TCOD_console_set_background_flag(con: TCOD_console_t,
                                            flag: TCOD_bkgnd_flag_t);
    pub fn TCOD_console_get_background_flag(con: TCOD_console_t)
     -> TCOD_bkgnd_flag_t;
    pub fn TCOD_console_set_alignment(con: TCOD_console_t,
                                      alignment: TCOD_alignment_t);
    pub fn TCOD_console_get_alignment(con: TCOD_console_t)
     -> TCOD_alignment_t;
    pub fn TCOD_console_print(con: TCOD_console_t, x: ::libc::c_int,
                              y: ::libc::c_int,
                              fmt: *const ::libc::c_char, ...);
    pub fn TCOD_console_print_ex(con: TCOD_console_t, x: ::libc::c_int,
                                 y: ::libc::c_int, flag: TCOD_bkgnd_flag_t,
                                 alignment: TCOD_alignment_t,
                                 fmt: *const ::libc::c_char, ...);
    pub fn TCOD_console_print_rect(con: TCOD_console_t, x: ::libc::c_int,
                                   y: ::libc::c_int, w: ::libc::c_int,
                                   h: ::libc::c_int,
                                   fmt: *const ::libc::c_char, ...)
     -> ::libc::c_int;
    pub fn TCOD_console_print_rect_ex(con: TCOD_console_t, x: ::libc::c_int,
                                      y: ::libc::c_int, w: ::libc::c_int,
                                      h: ::libc::c_int,
                                      flag: TCOD_bkgnd_flag_t,
                                      alignment: TCOD_alignment_t,
                                      fmt: *const ::libc::c_char, ...)
     -> ::libc::c_int;
    pub fn TCOD_console_get_height_rect(con: TCOD_console_t, x: ::libc::c_int,
                                        y: ::libc::c_int, w: ::libc::c_int,
                                        h: ::libc::c_int,
                                        fmt: *const ::libc::c_char, ...)
     -> ::libc::c_int;
    pub fn TCOD_console_rect(con: TCOD_console_t, x: ::libc::c_int,
                             y: ::libc::c_int, w: ::libc::c_int,
                             h: ::libc::c_int, clear: _bool,
                             flag: TCOD_bkgnd_flag_t);
    pub fn TCOD_console_hline(con: TCOD_console_t, x: ::libc::c_int,
                              y: ::libc::c_int, l: ::libc::c_int,
                              flag: TCOD_bkgnd_flag_t);
    pub fn TCOD_console_vline(con: TCOD_console_t, x: ::libc::c_int,
                              y: ::libc::c_int, l: ::libc::c_int,
                              flag: TCOD_bkgnd_flag_t);
    pub fn TCOD_console_print_frame(con: TCOD_console_t, x: ::libc::c_int,
                                    y: ::libc::c_int, w: ::libc::c_int,
                                    h: ::libc::c_int, empty: _bool,
                                    flag: TCOD_bkgnd_flag_t,
                                    fmt: *const ::libc::c_char, ...);
    pub fn TCOD_console_map_string_to_font_utf(s: *const wchar_t,
                                               fontCharX: ::libc::c_int,
                                               fontCharY: ::libc::c_int);
    pub fn TCOD_console_print_utf(con: TCOD_console_t, x: ::libc::c_int,
                                  y: ::libc::c_int, fmt: *const wchar_t, ...);
    pub fn TCOD_console_print_ex_utf(con: TCOD_console_t, x: ::libc::c_int,
                                     y: ::libc::c_int,
                                     flag: TCOD_bkgnd_flag_t,
                                     alignment: TCOD_alignment_t,
                                     fmt: *const wchar_t, ...);
    pub fn TCOD_console_print_rect_utf(con: TCOD_console_t, x: ::libc::c_int,
                                       y: ::libc::c_int, w: ::libc::c_int,
                                       h: ::libc::c_int,
                                       fmt: *const wchar_t, ...)
     -> ::libc::c_int;
    pub fn TCOD_console_print_rect_ex_utf(con: TCOD_console_t,
                                          x: ::libc::c_int, y: ::libc::c_int,
                                          w: ::libc::c_int, h: ::libc::c_int,
                                          flag: TCOD_bkgnd_flag_t,
                                          alignment: TCOD_alignment_t,
                                          fmt: *const wchar_t, ...)
     -> ::libc::c_int;
    pub fn TCOD_console_get_height_rect_utf(con: TCOD_console_t,
                                            x: ::libc::c_int,
                                            y: ::libc::c_int,
                                            w: ::libc::c_int,
                                            h: ::libc::c_int,
                                            fmt: *const wchar_t, ...)
     -> ::libc::c_int;
    pub fn TCOD_console_get_default_background(con: TCOD_console_t)
     -> TCOD_color_t;
    pub fn TCOD_console_get_default_foreground(con: TCOD_console_t)
     -> TCOD_color_t;
    pub fn TCOD_console_get_char_background(con: TCOD_console_t,
                                            x: ::libc::c_int,
                                            y: ::libc::c_int) -> TCOD_color_t;
    pub fn TCOD_console_get_char_foreground(con: TCOD_console_t,
                                            x: ::libc::c_int,
                                            y: ::libc::c_int) -> TCOD_color_t;
    pub fn TCOD_console_get_char(con: TCOD_console_t, x: ::libc::c_int,
                                 y: ::libc::c_int) -> ::libc::c_int;
    pub fn TCOD_console_set_fade(val: uint8, fade: TCOD_color_t);
    pub fn TCOD_console_get_fade() -> uint8;
    pub fn TCOD_console_get_fading_color() -> TCOD_color_t;
    pub fn TCOD_console_flush();
    pub fn TCOD_console_set_color_control(con: TCOD_colctrl_t,
                                          fore: TCOD_color_t,
                                          back: TCOD_color_t);
    pub fn TCOD_console_check_for_keypress(flags: ::libc::c_int)
     -> TCOD_key_t;
    pub fn TCOD_console_wait_for_keypress(flush: _bool) -> TCOD_key_t;
    pub fn TCOD_console_set_keyboard_repeat(initial_delay: ::libc::c_int,
                                            interval: ::libc::c_int);
    pub fn TCOD_console_disable_keyboard_repeat();
    pub fn TCOD_console_is_key_pressed(key: TCOD_keycode_t) -> _bool;
    pub fn TCOD_console_from_file(filename: *const ::libc::c_char)
     -> TCOD_console_t;
    pub fn TCOD_console_load_asc(con: TCOD_console_t,
                                 filename: *const ::libc::c_char) -> _bool;
    pub fn TCOD_console_load_apf(con: TCOD_console_t,
                                 filename: *const ::libc::c_char) -> _bool;
    pub fn TCOD_console_save_asc(con: TCOD_console_t,
                                 filename: *const ::libc::c_char) -> _bool;
    pub fn TCOD_console_save_apf(con: TCOD_console_t,
                                 filename: *const ::libc::c_char) -> _bool;
    pub fn TCOD_console_new(w: ::libc::c_int, h: ::libc::c_int)
     -> TCOD_console_t;
    pub fn TCOD_console_get_width(con: TCOD_console_t) -> ::libc::c_int;
    pub fn TCOD_console_get_height(con: TCOD_console_t) -> ::libc::c_int;
    pub fn TCOD_console_set_key_color(con: TCOD_console_t, col: TCOD_color_t);
    pub fn TCOD_console_blit(src: TCOD_console_t, xSrc: ::libc::c_int,
                             ySrc: ::libc::c_int, wSrc: ::libc::c_int,
                             hSrc: ::libc::c_int, dst: TCOD_console_t,
                             xDst: ::libc::c_int, yDst: ::libc::c_int,
                             foreground_alpha: ::libc::c_float,
                             background_alpha: ::libc::c_float);
    pub fn TCOD_console_delete(console: TCOD_console_t);
    pub fn TCOD_console_credits();
    pub fn TCOD_console_credits_reset();
    pub fn TCOD_console_credits_render(x: ::libc::c_int, y: ::libc::c_int,
                                       alpha: _bool) -> _bool;
    pub fn TCOD_image_new(width: ::libc::c_int, height: ::libc::c_int)
     -> TCOD_image_t;
    pub fn TCOD_image_from_console(console: TCOD_console_t) -> TCOD_image_t;
    pub fn TCOD_image_refresh_console(image: TCOD_image_t,
                                      console: TCOD_console_t);
    pub fn TCOD_image_load(filename: *const ::libc::c_char) -> TCOD_image_t;
    pub fn TCOD_image_clear(image: TCOD_image_t, color: TCOD_color_t);
    pub fn TCOD_image_invert(image: TCOD_image_t);
    pub fn TCOD_image_hflip(image: TCOD_image_t);
    pub fn TCOD_image_rotate90(image: TCOD_image_t,
                               numRotations: ::libc::c_int);
    pub fn TCOD_image_vflip(image: TCOD_image_t);
    pub fn TCOD_image_scale(image: TCOD_image_t, neww: ::libc::c_int,
                            newh: ::libc::c_int);
    pub fn TCOD_image_save(image: TCOD_image_t,
                           filename: *const ::libc::c_char);
    pub fn TCOD_image_get_size(image: TCOD_image_t, w: *mut ::libc::c_int,
                               h: *mut ::libc::c_int);
    pub fn TCOD_image_get_pixel(image: TCOD_image_t, x: ::libc::c_int,
                                y: ::libc::c_int) -> TCOD_color_t;
    pub fn TCOD_image_get_alpha(image: TCOD_image_t, x: ::libc::c_int,
                                y: ::libc::c_int) -> ::libc::c_int;
    pub fn TCOD_image_get_mipmap_pixel(image: TCOD_image_t,
                                       x0: ::libc::c_float,
                                       y0: ::libc::c_float,
                                       x1: ::libc::c_float,
                                       y1: ::libc::c_float) -> TCOD_color_t;
    pub fn TCOD_image_put_pixel(image: TCOD_image_t, x: ::libc::c_int,
                                y: ::libc::c_int, col: TCOD_color_t);
    pub fn TCOD_image_blit(image: TCOD_image_t, console: TCOD_console_t,
                           x: ::libc::c_float, y: ::libc::c_float,
                           bkgnd_flag: TCOD_bkgnd_flag_t,
                           scalex: ::libc::c_float, scaley: ::libc::c_float,
                           angle: ::libc::c_float);
    pub fn TCOD_image_blit_rect(image: TCOD_image_t, console: TCOD_console_t,
                                x: ::libc::c_int, y: ::libc::c_int,
                                w: ::libc::c_int, h: ::libc::c_int,
                                bkgnd_flag: TCOD_bkgnd_flag_t);
    pub fn TCOD_image_blit_2x(image: TCOD_image_t, dest: TCOD_console_t,
                              dx: ::libc::c_int, dy: ::libc::c_int,
                              sx: ::libc::c_int, sy: ::libc::c_int,
                              w: ::libc::c_int, h: ::libc::c_int);
    pub fn TCOD_image_delete(image: TCOD_image_t);
    pub fn TCOD_image_set_key_color(image: TCOD_image_t,
                                    key_color: TCOD_color_t);
    pub fn TCOD_image_is_pixel_transparent(image: TCOD_image_t,
                                           x: ::libc::c_int, y: ::libc::c_int)
     -> _bool;
    pub fn TCOD_mouse_show_cursor(visible: _bool);
    pub fn TCOD_mouse_get_status() -> TCOD_mouse_t;
    pub fn TCOD_mouse_is_cursor_visible() -> _bool;
    pub fn TCOD_mouse_move(x: ::libc::c_int, y: ::libc::c_int);
    pub fn TCOD_mouse_includes_touch(enable: _bool);
    pub fn TCOD_sys_elapsed_milli() -> uint32;
    pub fn TCOD_sys_elapsed_seconds() -> ::libc::c_float;
    pub fn TCOD_sys_sleep_milli(val: uint32);
    pub fn TCOD_sys_save_screenshot(filename: *const ::libc::c_char);
    pub fn TCOD_sys_force_fullscreen_resolution(width: ::libc::c_int,
                                                height: ::libc::c_int);
    pub fn TCOD_sys_set_renderer(renderer: TCOD_renderer_t);
    pub fn TCOD_sys_get_renderer() -> TCOD_renderer_t;
    pub fn TCOD_sys_set_fps(val: ::libc::c_int);
    pub fn TCOD_sys_get_fps() -> ::libc::c_int;
    pub fn TCOD_sys_get_last_frame_length() -> ::libc::c_float;
    pub fn TCOD_sys_get_current_resolution(w: *mut ::libc::c_int,
                                           h: *mut ::libc::c_int);
    pub fn TCOD_sys_get_fullscreen_offsets(offx: *mut ::libc::c_int,
                                           offy: *mut ::libc::c_int);
    pub fn TCOD_sys_update_char(asciiCode: ::libc::c_int,
                                fontx: ::libc::c_int, fonty: ::libc::c_int,
                                img: TCOD_image_t, x: ::libc::c_int,
                                y: ::libc::c_int);
    pub fn TCOD_sys_get_char_size(w: *mut ::libc::c_int,
                                  h: *mut ::libc::c_int);
    pub fn TCOD_sys_get_SDL_window() -> *mut ::libc::c_void;
    pub fn TCOD_sys_wait_for_event(eventMask: ::libc::c_int,
                                   key: *mut TCOD_key_t,
                                   mouse: *mut TCOD_mouse_t, flush: _bool)
     -> TCOD_event_t;
    pub fn TCOD_sys_check_for_event(eventMask: ::libc::c_int,
                                    key: *mut TCOD_key_t,
                                    mouse: *mut TCOD_mouse_t) -> TCOD_event_t;
    pub fn TCOD_sys_create_directory(path: *const ::libc::c_char) -> _bool;
    pub fn TCOD_sys_delete_file(path: *const ::libc::c_char) -> _bool;
    pub fn TCOD_sys_delete_directory(path: *const ::libc::c_char) -> _bool;
    pub fn TCOD_sys_is_directory(path: *const ::libc::c_char) -> _bool;
    pub fn TCOD_sys_get_directory_content(path: *const ::libc::c_char,
                                          pattern: *const ::libc::c_char)
     -> TCOD_list_t;
    pub fn TCOD_sys_file_exists(filename: *const ::libc::c_char, ...)
     -> _bool;
    pub fn TCOD_sys_read_file(filename: *const ::libc::c_char,
                              buf: *mut *mut ::libc::c_uchar,
                              size: *mut size_t) -> _bool;
    pub fn TCOD_sys_write_file(filename: *const ::libc::c_char,
                               buf: *mut ::libc::c_uchar, size: uint32)
     -> _bool;
    pub fn TCOD_sys_clipboard_set(value: *const ::libc::c_char);
    pub fn TCOD_sys_clipboard_get() -> *const ::libc::c_char;
    pub fn TCOD_thread_new(func:
                               ::std::option::Option<extern "C" fn
                                                         (arg1:
                                                              *mut ::libc::c_void)
                                                         -> ::libc::c_int>,
                           data: *mut ::libc::c_void) -> TCOD_thread_t;
    pub fn TCOD_thread_delete(th: TCOD_thread_t);
    pub fn TCOD_sys_get_num_cores() -> ::libc::c_int;
    pub fn TCOD_thread_wait(th: TCOD_thread_t);
    pub fn TCOD_mutex_new() -> TCOD_mutex_t;
    pub fn TCOD_mutex_in(_mut: TCOD_mutex_t);
    pub fn TCOD_mutex_out(_mut: TCOD_mutex_t);
    pub fn TCOD_mutex_delete(_mut: TCOD_mutex_t);
    pub fn TCOD_semaphore_new(initVal: ::libc::c_int) -> TCOD_semaphore_t;
    pub fn TCOD_semaphore_lock(sem: TCOD_semaphore_t);
    pub fn TCOD_semaphore_unlock(sem: TCOD_semaphore_t);
    pub fn TCOD_semaphore_delete(sem: TCOD_semaphore_t);
    pub fn TCOD_condition_new() -> TCOD_cond_t;
    pub fn TCOD_condition_signal(sem: TCOD_cond_t);
    pub fn TCOD_condition_broadcast(sem: TCOD_cond_t);
    pub fn TCOD_condition_wait(sem: TCOD_cond_t, _mut: TCOD_mutex_t);
    pub fn TCOD_condition_delete(sem: TCOD_cond_t);
    pub fn TCOD_load_library(path: *const ::libc::c_char) -> TCOD_library_t;
    pub fn TCOD_get_function_address(library: TCOD_library_t,
                                     function_name: *const ::libc::c_char)
     -> *mut ::libc::c_void;
    pub fn TCOD_close_library(arg1: TCOD_library_t);
    pub fn TCOD_sys_register_SDL_renderer(renderer: SDL_renderer_t);
    pub fn TCOD_random_get_instance() -> TCOD_random_t;
    pub fn TCOD_random_new(algo: TCOD_random_algo_t) -> TCOD_random_t;
    pub fn TCOD_random_save(mersenne: TCOD_random_t) -> TCOD_random_t;
    pub fn TCOD_random_restore(mersenne: TCOD_random_t,
                               backup: TCOD_random_t);
    pub fn TCOD_random_new_from_seed(algo: TCOD_random_algo_t, seed: uint32)
     -> TCOD_random_t;
    pub fn TCOD_random_delete(mersenne: TCOD_random_t);
    pub fn TCOD_random_set_distribution(mersenne: TCOD_random_t,
                                        distribution: TCOD_distribution_t);
    pub fn TCOD_random_get_int(mersenne: TCOD_random_t, min: ::libc::c_int,
                               max: ::libc::c_int) -> ::libc::c_int;
    pub fn TCOD_random_get_float(mersenne: TCOD_random_t,
                                 min: ::libc::c_float, max: ::libc::c_float)
     -> ::libc::c_float;
    pub fn TCOD_random_get_double(mersenne: TCOD_random_t,
                                  min: ::libc::c_double,
                                  max: ::libc::c_double) -> ::libc::c_double;
    pub fn TCOD_random_get_int_mean(mersenne: TCOD_random_t,
                                    min: ::libc::c_int, max: ::libc::c_int,
                                    mean: ::libc::c_int) -> ::libc::c_int;
    pub fn TCOD_random_get_float_mean(mersenne: TCOD_random_t,
                                      min: ::libc::c_float,
                                      max: ::libc::c_float,
                                      mean: ::libc::c_float)
     -> ::libc::c_float;
    pub fn TCOD_random_get_double_mean(mersenne: TCOD_random_t,
                                       min: ::libc::c_double,
                                       max: ::libc::c_double,
                                       mean: ::libc::c_double)
     -> ::libc::c_double;
    pub fn TCOD_random_dice_new(s: *const ::libc::c_char) -> TCOD_dice_t;
    pub fn TCOD_random_dice_roll(mersenne: TCOD_random_t, dice: TCOD_dice_t)
     -> ::libc::c_int;
    pub fn TCOD_random_dice_roll_s(mersenne: TCOD_random_t,
                                   s: *const ::libc::c_char) -> ::libc::c_int;
    pub fn TCOD_line_init(xFrom: ::libc::c_int, yFrom: ::libc::c_int,
                          xTo: ::libc::c_int, yTo: ::libc::c_int);
    pub fn TCOD_line_step(xCur: *mut ::libc::c_int, yCur: *mut ::libc::c_int)
     -> _bool;
    pub fn TCOD_line(xFrom: ::libc::c_int, yFrom: ::libc::c_int,
                     xTo: ::libc::c_int, yTo: ::libc::c_int,
                     listener: TCOD_line_listener_t) -> _bool;
    pub fn TCOD_line_init_mt(xFrom: ::libc::c_int, yFrom: ::libc::c_int,
                             xTo: ::libc::c_int, yTo: ::libc::c_int,
                             data: *mut TCOD_bresenham_data_t);
    pub fn TCOD_line_step_mt(xCur: *mut ::libc::c_int,
                             yCur: *mut ::libc::c_int,
                             data: *mut TCOD_bresenham_data_t) -> _bool;
    pub fn TCOD_line_mt(xFrom: ::libc::c_int, yFrom: ::libc::c_int,
                        xTo: ::libc::c_int, yTo: ::libc::c_int,
                        listener: TCOD_line_listener_t,
                        data: *mut TCOD_bresenham_data_t) -> _bool;
    pub fn TCOD_noise_new(dimensions: ::libc::c_int, hurst: ::libc::c_float,
                          lacunarity: ::libc::c_float, random: TCOD_random_t)
     -> TCOD_noise_t;
    pub fn TCOD_noise_set_type(noise: TCOD_noise_t, _type: TCOD_noise_type_t);
    pub fn TCOD_noise_get_ex(noise: TCOD_noise_t, f: *mut ::libc::c_float,
                             _type: TCOD_noise_type_t) -> ::libc::c_float;
    pub fn TCOD_noise_get_fbm_ex(noise: TCOD_noise_t, f: *mut ::libc::c_float,
                                 octaves: ::libc::c_float,
                                 _type: TCOD_noise_type_t) -> ::libc::c_float;
    pub fn TCOD_noise_get_turbulence_ex(noise: TCOD_noise_t,
                                        f: *mut ::libc::c_float,
                                        octaves: ::libc::c_float,
                                        _type: TCOD_noise_type_t)
     -> ::libc::c_float;
    pub fn TCOD_noise_get(noise: TCOD_noise_t, f: *mut ::libc::c_float)
     -> ::libc::c_float;
    pub fn TCOD_noise_get_fbm(noise: TCOD_noise_t, f: *mut ::libc::c_float,
                              octaves: ::libc::c_float) -> ::libc::c_float;
    pub fn TCOD_noise_get_turbulence(noise: TCOD_noise_t,
                                     f: *mut ::libc::c_float,
                                     octaves: ::libc::c_float)
     -> ::libc::c_float;
    pub fn TCOD_noise_delete(noise: TCOD_noise_t);
    pub fn TCOD_map_new(width: ::libc::c_int, height: ::libc::c_int)
     -> TCOD_map_t;
    pub fn TCOD_map_clear(map: TCOD_map_t, transparent: _bool,
                          walkable: _bool);
    pub fn TCOD_map_copy(source: TCOD_map_t, dest: TCOD_map_t);
    pub fn TCOD_map_set_properties(map: TCOD_map_t, x: ::libc::c_int,
                                   y: ::libc::c_int, is_transparent: _bool,
                                   is_walkable: _bool);
    pub fn TCOD_map_delete(map: TCOD_map_t);
    pub fn TCOD_map_compute_fov(map: TCOD_map_t, player_x: ::libc::c_int,
                                player_y: ::libc::c_int,
                                max_radius: ::libc::c_int, light_walls: _bool,
                                algo: TCOD_fov_algorithm_t);
    pub fn TCOD_map_is_in_fov(map: TCOD_map_t, x: ::libc::c_int,
                              y: ::libc::c_int) -> _bool;
    pub fn TCOD_map_set_in_fov(map: TCOD_map_t, x: ::libc::c_int,
                               y: ::libc::c_int, fov: _bool);
    pub fn TCOD_map_is_transparent(map: TCOD_map_t, x: ::libc::c_int,
                                   y: ::libc::c_int) -> _bool;
    pub fn TCOD_map_is_walkable(map: TCOD_map_t, x: ::libc::c_int,
                                y: ::libc::c_int) -> _bool;
    pub fn TCOD_map_get_width(map: TCOD_map_t) -> ::libc::c_int;
    pub fn TCOD_map_get_height(map: TCOD_map_t) -> ::libc::c_int;
    pub fn TCOD_map_get_nb_cells(map: TCOD_map_t) -> ::libc::c_int;
    pub fn TCOD_path_new_using_map(map: TCOD_map_t,
                                   diagonalCost: ::libc::c_float)
     -> TCOD_path_t;
    pub fn TCOD_path_new_using_function(map_width: ::libc::c_int,
                                        map_height: ::libc::c_int,
                                        func: TCOD_path_func_t,
                                        user_data: *mut ::libc::c_void,
                                        diagonalCost: ::libc::c_float)
     -> TCOD_path_t;
    pub fn TCOD_path_compute(path: TCOD_path_t, ox: ::libc::c_int,
                             oy: ::libc::c_int, dx: ::libc::c_int,
                             dy: ::libc::c_int) -> _bool;
    pub fn TCOD_path_walk(path: TCOD_path_t, x: *mut ::libc::c_int,
                          y: *mut ::libc::c_int,
                          recalculate_when_needed: _bool) -> _bool;
    pub fn TCOD_path_is_empty(path: TCOD_path_t) -> _bool;
    pub fn TCOD_path_size(path: TCOD_path_t) -> ::libc::c_int;
    pub fn TCOD_path_reverse(path: TCOD_path_t);
    pub fn TCOD_path_get(path: TCOD_path_t, index: ::libc::c_int,
                         x: *mut ::libc::c_int, y: *mut ::libc::c_int);
    pub fn TCOD_path_get_origin(path: TCOD_path_t, x: *mut ::libc::c_int,
                                y: *mut ::libc::c_int);
    pub fn TCOD_path_get_destination(path: TCOD_path_t, x: *mut ::libc::c_int,
                                     y: *mut ::libc::c_int);
    pub fn TCOD_path_delete(path: TCOD_path_t);
    pub fn TCOD_dijkstra_new(map: TCOD_map_t, diagonalCost: ::libc::c_float)
     -> TCOD_dijkstra_t;
    pub fn TCOD_dijkstra_new_using_function(map_width: ::libc::c_int,
                                            map_height: ::libc::c_int,
                                            func: TCOD_path_func_t,
                                            user_data: *mut ::libc::c_void,
                                            diagonalCost: ::libc::c_float)
     -> TCOD_dijkstra_t;
    pub fn TCOD_dijkstra_compute(dijkstra: TCOD_dijkstra_t,
                                 root_x: ::libc::c_int,
                                 root_y: ::libc::c_int);
    pub fn TCOD_dijkstra_get_distance(dijkstra: TCOD_dijkstra_t,
                                      x: ::libc::c_int, y: ::libc::c_int)
     -> ::libc::c_float;
    pub fn TCOD_dijkstra_path_set(dijkstra: TCOD_dijkstra_t, x: ::libc::c_int,
                                  y: ::libc::c_int) -> _bool;
    pub fn TCOD_dijkstra_is_empty(path: TCOD_dijkstra_t) -> _bool;
    pub fn TCOD_dijkstra_size(path: TCOD_dijkstra_t) -> ::libc::c_int;
    pub fn TCOD_dijkstra_reverse(path: TCOD_dijkstra_t);
    pub fn TCOD_dijkstra_get(path: TCOD_dijkstra_t, index: ::libc::c_int,
                             x: *mut ::libc::c_int, y: *mut ::libc::c_int);
    pub fn TCOD_dijkstra_path_walk(dijkstra: TCOD_dijkstra_t,
                                   x: *mut ::libc::c_int,
                                   y: *mut ::libc::c_int) -> _bool;
    pub fn TCOD_dijkstra_delete(dijkstra: TCOD_dijkstra_t);
    pub fn TCOD_lex_new_intern() -> *mut TCOD_lex_t;
    pub fn TCOD_lex_new(symbols: *mut *const ::libc::c_char,
                        keywords: *mut *const ::libc::c_char,
                        simpleComment: *const ::libc::c_char,
                        commentStart: *const ::libc::c_char,
                        commentStop: *const ::libc::c_char,
                        javadocCommentStart: *const ::libc::c_char,
                        stringDelim: *const ::libc::c_char,
                        flags: ::libc::c_int) -> *mut TCOD_lex_t;
    pub fn TCOD_lex_delete(lex: *mut TCOD_lex_t);
    pub fn TCOD_lex_set_data_buffer(lex: *mut TCOD_lex_t,
                                    dat: *mut ::libc::c_char);
    pub fn TCOD_lex_set_data_file(lex: *mut TCOD_lex_t,
                                  filename: *const ::libc::c_char) -> _bool;
    pub fn TCOD_lex_parse(lex: *mut TCOD_lex_t) -> ::libc::c_int;
    pub fn TCOD_lex_parse_until_token_type(lex: *mut TCOD_lex_t,
                                           token_type: ::libc::c_int)
     -> ::libc::c_int;
    pub fn TCOD_lex_parse_until_token_value(lex: *mut TCOD_lex_t,
                                            token_value:
                                                *const ::libc::c_char)
     -> ::libc::c_int;
    pub fn TCOD_lex_expect_token_type(lex: *mut TCOD_lex_t,
                                      token_type: ::libc::c_int) -> _bool;
    pub fn TCOD_lex_expect_token_value(lex: *mut TCOD_lex_t,
                                       token_type: ::libc::c_int,
                                       token_value: *const ::libc::c_char)
     -> _bool;
    pub fn TCOD_lex_savepoint(lex: *mut TCOD_lex_t, savept: *mut TCOD_lex_t);
    pub fn TCOD_lex_restore(lex: *mut TCOD_lex_t, savept: *mut TCOD_lex_t);
    pub fn TCOD_lex_get_last_javadoc(lex: *mut TCOD_lex_t)
     -> *mut ::libc::c_char;
    pub fn TCOD_lex_get_token_name(token_type: ::libc::c_int)
     -> *const ::libc::c_char;
    pub fn TCOD_lex_get_last_error() -> *mut ::libc::c_char;
    pub fn TCOD_lex_hextoint(c: ::libc::c_char) -> ::libc::c_int;
    pub fn TCOD_struct_get_name(def: TCOD_parser_struct_t)
     -> *const ::libc::c_char;
    pub fn TCOD_struct_add_property(def: TCOD_parser_struct_t,
                                    name: *const ::libc::c_char,
                                    _type: TCOD_value_type_t,
                                    mandatory: _bool);
    pub fn TCOD_struct_add_list_property(def: TCOD_parser_struct_t,
                                         name: *const ::libc::c_char,
                                         _type: TCOD_value_type_t,
                                         mandatory: _bool);
    pub fn TCOD_struct_add_value_list(def: TCOD_parser_struct_t,
                                      name: *const ::libc::c_char,
                                      value_list: *mut *const ::libc::c_char,
                                      mandatory: _bool);
    pub fn TCOD_struct_add_value_list_sized(def: TCOD_parser_struct_t,
                                            name: *const ::libc::c_char,
                                            value_list:
                                                *mut *const ::libc::c_char,
                                            size: ::libc::c_int,
                                            mandatory: _bool);
    pub fn TCOD_struct_add_flag(def: TCOD_parser_struct_t,
                                propname: *const ::libc::c_char);
    pub fn TCOD_struct_add_structure(def: TCOD_parser_struct_t,
                                     sub_structure: TCOD_parser_struct_t);
    pub fn TCOD_struct_is_mandatory(def: TCOD_parser_struct_t,
                                    propname: *const ::libc::c_char) -> _bool;
    pub fn TCOD_struct_get_type(def: TCOD_parser_struct_t,
                                propname: *const ::libc::c_char)
     -> TCOD_value_type_t;
    pub fn TCOD_parser_new() -> TCOD_parser_t;
    pub fn TCOD_parser_new_struct(parser: TCOD_parser_t,
                                  name: *mut ::libc::c_char)
     -> TCOD_parser_struct_t;
    pub fn TCOD_parser_new_custom_type(parser: TCOD_parser_t,
                                       custom_type_parser:
                                           TCOD_parser_custom_t)
     -> TCOD_value_type_t;
    pub fn TCOD_parser_run(parser: TCOD_parser_t,
                           filename: *const ::libc::c_char,
                           listener: *mut TCOD_parser_listener_t);
    pub fn TCOD_parser_delete(parser: TCOD_parser_t);
    pub fn TCOD_parser_error(msg: *const ::libc::c_char, ...);
    pub fn TCOD_parser_has_property(parser: TCOD_parser_t,
                                    name: *const ::libc::c_char) -> _bool;
    pub fn TCOD_parser_get_bool_property(parser: TCOD_parser_t,
                                         name: *const ::libc::c_char)
     -> _bool;
    pub fn TCOD_parser_get_char_property(parser: TCOD_parser_t,
                                         name: *const ::libc::c_char)
     -> ::libc::c_int;
    pub fn TCOD_parser_get_int_property(parser: TCOD_parser_t,
                                        name: *const ::libc::c_char)
     -> ::libc::c_int;
    pub fn TCOD_parser_get_float_property(parser: TCOD_parser_t,
                                          name: *const ::libc::c_char)
     -> ::libc::c_float;
    pub fn TCOD_parser_get_string_property(parser: TCOD_parser_t,
                                           name: *const ::libc::c_char)
     -> *const ::libc::c_char;
    pub fn TCOD_parser_get_color_property(parser: TCOD_parser_t,
                                          name: *const ::libc::c_char)
     -> TCOD_color_t;
    pub fn TCOD_parser_get_dice_property(parser: TCOD_parser_t,
                                         name: *const ::libc::c_char)
     -> TCOD_dice_t;
    pub fn TCOD_parser_get_dice_property_py(parser: TCOD_parser_t,
                                            name: *const ::libc::c_char,
                                            dice: *mut TCOD_dice_t);
    pub fn TCOD_parser_get_custom_property(parser: TCOD_parser_t,
                                           name: *const ::libc::c_char)
     -> *mut ::libc::c_void;
    pub fn TCOD_parser_get_list_property(parser: TCOD_parser_t,
                                         name: *const ::libc::c_char,
                                         _type: TCOD_value_type_t)
     -> TCOD_list_t;
    pub fn TCOD_parse_bool_value() -> TCOD_value_t;
    pub fn TCOD_parse_char_value() -> TCOD_value_t;
    pub fn TCOD_parse_integer_value() -> TCOD_value_t;
    pub fn TCOD_parse_float_value() -> TCOD_value_t;
    pub fn TCOD_parse_string_value() -> TCOD_value_t;
    pub fn TCOD_parse_color_value() -> TCOD_value_t;
    pub fn TCOD_parse_dice_value() -> TCOD_value_t;
    pub fn TCOD_parse_value_list_value(def: *mut TCOD_struct_int_t,
                                       listnum: ::libc::c_int)
     -> TCOD_value_t;
    pub fn TCOD_parse_property_value(parser: *mut TCOD_parser_int_t,
                                     def: TCOD_parser_struct_t,
                                     propname: *mut ::libc::c_char,
                                     list: _bool) -> TCOD_value_t;
    pub fn TCOD_tree_new() -> *mut TCOD_tree_t;
    pub fn TCOD_tree_add_son(node: *mut TCOD_tree_t, son: *mut TCOD_tree_t);
    pub fn TCOD_bsp_new() -> *mut TCOD_bsp_t;
    pub fn TCOD_bsp_new_with_size(x: ::libc::c_int, y: ::libc::c_int,
                                  w: ::libc::c_int, h: ::libc::c_int)
     -> *mut TCOD_bsp_t;
    pub fn TCOD_bsp_delete(node: *mut TCOD_bsp_t);
    pub fn TCOD_bsp_left(node: *const TCOD_bsp_t) -> *mut TCOD_bsp_t;
    pub fn TCOD_bsp_right(node: *const TCOD_bsp_t) -> *mut TCOD_bsp_t;
    pub fn TCOD_bsp_father(node: *const TCOD_bsp_t) -> *mut TCOD_bsp_t;
    pub fn TCOD_bsp_is_leaf(node: *const TCOD_bsp_t) -> _bool;
    pub fn TCOD_bsp_traverse_pre_order(node: *mut TCOD_bsp_t,
                                       listener: TCOD_bsp_callback_t,
                                       userData: *mut ::libc::c_void)
     -> _bool;
    pub fn TCOD_bsp_traverse_in_order(node: *mut TCOD_bsp_t,
                                      listener: TCOD_bsp_callback_t,
                                      userData: *mut ::libc::c_void) -> _bool;
    pub fn TCOD_bsp_traverse_post_order(node: *mut TCOD_bsp_t,
                                        listener: TCOD_bsp_callback_t,
                                        userData: *mut ::libc::c_void)
     -> _bool;
    pub fn TCOD_bsp_traverse_level_order(node: *mut TCOD_bsp_t,
                                         listener: TCOD_bsp_callback_t,
                                         userData: *mut ::libc::c_void)
     -> _bool;
    pub fn TCOD_bsp_traverse_inverted_level_order(node: *mut TCOD_bsp_t,
                                                  listener:
                                                      TCOD_bsp_callback_t,
                                                  userData:
                                                      *mut ::libc::c_void)
     -> _bool;
    pub fn TCOD_bsp_contains(node: *const TCOD_bsp_t, x: ::libc::c_int,
                             y: ::libc::c_int) -> _bool;
    pub fn TCOD_bsp_find_node(node: *const TCOD_bsp_t, x: ::libc::c_int,
                              y: ::libc::c_int) -> *mut TCOD_bsp_t;
    pub fn TCOD_bsp_resize(node: *mut TCOD_bsp_t, x: ::libc::c_int,
                           y: ::libc::c_int, w: ::libc::c_int,
                           h: ::libc::c_int);
    pub fn TCOD_bsp_split_once(node: *mut TCOD_bsp_t, horizontal: _bool,
                               position: ::libc::c_int);
    pub fn TCOD_bsp_split_recursive(node: *mut TCOD_bsp_t,
                                    randomizer: TCOD_random_t,
                                    nb: ::libc::c_int,
                                    minHSize: ::libc::c_int,
                                    minVSize: ::libc::c_int,
                                    maxHRatio: ::libc::c_float,
                                    maxVRatio: ::libc::c_float);
    pub fn TCOD_bsp_remove_sons(node: *mut TCOD_bsp_t);
    pub fn TCOD_heightmap_new(w: ::libc::c_int, h: ::libc::c_int)
     -> *mut TCOD_heightmap_t;
    pub fn TCOD_heightmap_delete(hm: *mut TCOD_heightmap_t);
    pub fn TCOD_heightmap_get_value(hm: *const TCOD_heightmap_t,
                                    x: ::libc::c_int, y: ::libc::c_int)
     -> ::libc::c_float;
    pub fn TCOD_heightmap_get_interpolated_value(hm: *const TCOD_heightmap_t,
                                                 x: ::libc::c_float,
                                                 y: ::libc::c_float)
     -> ::libc::c_float;
    pub fn TCOD_heightmap_set_value(hm: *mut TCOD_heightmap_t,
                                    x: ::libc::c_int, y: ::libc::c_int,
                                    value: ::libc::c_float);
    pub fn TCOD_heightmap_get_slope(hm: *const TCOD_heightmap_t,
                                    x: ::libc::c_int, y: ::libc::c_int)
     -> ::libc::c_float;
    pub fn TCOD_heightmap_get_normal(hm: *const TCOD_heightmap_t,
                                     x: ::libc::c_float, y: ::libc::c_float,
                                     n: *mut ::libc::c_float,
                                     waterLevel: ::libc::c_float);
    pub fn TCOD_heightmap_count_cells(hm: *const TCOD_heightmap_t,
                                      min: ::libc::c_float,
                                      max: ::libc::c_float) -> ::libc::c_int;
    pub fn TCOD_heightmap_has_land_on_border(hm: *const TCOD_heightmap_t,
                                             waterLevel: ::libc::c_float)
     -> _bool;
    pub fn TCOD_heightmap_get_minmax(hm: *const TCOD_heightmap_t,
                                     min: *mut ::libc::c_float,
                                     max: *mut ::libc::c_float);
    pub fn TCOD_heightmap_copy(hm_source: *const TCOD_heightmap_t,
                               hm_dest: *mut TCOD_heightmap_t);
    pub fn TCOD_heightmap_add(hm: *mut TCOD_heightmap_t,
                              value: ::libc::c_float);
    pub fn TCOD_heightmap_scale(hm: *mut TCOD_heightmap_t,
                                value: ::libc::c_float);
    pub fn TCOD_heightmap_clamp(hm: *mut TCOD_heightmap_t,
                                min: ::libc::c_float, max: ::libc::c_float);
    pub fn TCOD_heightmap_normalize(hm: *mut TCOD_heightmap_t,
                                    min: ::libc::c_float,
                                    max: ::libc::c_float);
    pub fn TCOD_heightmap_clear(hm: *mut TCOD_heightmap_t);
    pub fn TCOD_heightmap_lerp_hm(hm1: *const TCOD_heightmap_t,
                                  hm2: *const TCOD_heightmap_t,
                                  hmres: *mut TCOD_heightmap_t,
                                  coef: ::libc::c_float);
    pub fn TCOD_heightmap_add_hm(hm1: *const TCOD_heightmap_t,
                                 hm2: *const TCOD_heightmap_t,
                                 hmres: *mut TCOD_heightmap_t);
    pub fn TCOD_heightmap_multiply_hm(hm1: *const TCOD_heightmap_t,
                                      hm2: *const TCOD_heightmap_t,
                                      hmres: *mut TCOD_heightmap_t);
    pub fn TCOD_heightmap_add_hill(hm: *mut TCOD_heightmap_t,
                                   hx: ::libc::c_float, hy: ::libc::c_float,
                                   hradius: ::libc::c_float,
                                   hheight: ::libc::c_float);
    pub fn TCOD_heightmap_dig_hill(hm: *mut TCOD_heightmap_t,
                                   hx: ::libc::c_float, hy: ::libc::c_float,
                                   hradius: ::libc::c_float,
                                   hheight: ::libc::c_float);
    pub fn TCOD_heightmap_dig_bezier(hm: *mut TCOD_heightmap_t,
                                     px: *mut ::libc::c_int,
                                     py: *mut ::libc::c_int,
                                     startRadius: ::libc::c_float,
                                     startDepth: ::libc::c_float,
                                     endRadius: ::libc::c_float,
                                     endDepth: ::libc::c_float);
    pub fn TCOD_heightmap_rain_erosion(hm: *mut TCOD_heightmap_t,
                                       nbDrops: ::libc::c_int,
                                       erosionCoef: ::libc::c_float,
                                       sedimentationCoef: ::libc::c_float,
                                       rnd: TCOD_random_t);
    pub fn TCOD_heightmap_kernel_transform(hm: *mut TCOD_heightmap_t,
                                           kernelsize: ::libc::c_int,
                                           dx: *const ::libc::c_int,
                                           dy: *const ::libc::c_int,
                                           weight: *const ::libc::c_float,
                                           minLevel: ::libc::c_float,
                                           maxLevel: ::libc::c_float);
    pub fn TCOD_heightmap_add_voronoi(hm: *mut TCOD_heightmap_t,
                                      nbPoints: ::libc::c_int,
                                      nbCoef: ::libc::c_int,
                                      coef: *const ::libc::c_float,
                                      rnd: TCOD_random_t);
    pub fn TCOD_heightmap_mid_point_displacement(hm: *mut TCOD_heightmap_t,
                                                 rnd: TCOD_random_t,
                                                 roughness: ::libc::c_float);
    pub fn TCOD_heightmap_add_fbm(hm: *mut TCOD_heightmap_t,
                                  noise: TCOD_noise_t, mulx: ::libc::c_float,
                                  muly: ::libc::c_float,
                                  addx: ::libc::c_float,
                                  addy: ::libc::c_float,
                                  octaves: ::libc::c_float,
                                  delta: ::libc::c_float,
                                  scale: ::libc::c_float);
    pub fn TCOD_heightmap_scale_fbm(hm: *mut TCOD_heightmap_t,
                                    noise: TCOD_noise_t,
                                    mulx: ::libc::c_float,
                                    muly: ::libc::c_float,
                                    addx: ::libc::c_float,
                                    addy: ::libc::c_float,
                                    octaves: ::libc::c_float,
                                    delta: ::libc::c_float,
                                    scale: ::libc::c_float);
    pub fn TCOD_heightmap_islandify(hm: *mut TCOD_heightmap_t,
                                    seaLevel: ::libc::c_float,
                                    rnd: TCOD_random_t);
    pub fn TCOD_zip_new() -> TCOD_zip_t;
    pub fn TCOD_zip_delete(zip: TCOD_zip_t);
    pub fn TCOD_zip_put_char(zip: TCOD_zip_t, val: ::libc::c_char);
    pub fn TCOD_zip_put_int(zip: TCOD_zip_t, val: ::libc::c_int);
    pub fn TCOD_zip_put_float(zip: TCOD_zip_t, val: ::libc::c_float);
    pub fn TCOD_zip_put_string(zip: TCOD_zip_t, val: *const ::libc::c_char);
    pub fn TCOD_zip_put_color(zip: TCOD_zip_t, val: TCOD_color_t);
    pub fn TCOD_zip_put_image(zip: TCOD_zip_t, val: TCOD_image_t);
    pub fn TCOD_zip_put_console(zip: TCOD_zip_t, val: TCOD_console_t);
    pub fn TCOD_zip_put_data(zip: TCOD_zip_t, nbBytes: ::libc::c_int,
                             data: *const ::libc::c_void);
    pub fn TCOD_zip_get_current_bytes(zip: TCOD_zip_t) -> uint32;
    pub fn TCOD_zip_save_to_file(zip: TCOD_zip_t,
                                 filename: *const ::libc::c_char)
     -> ::libc::c_int;
    pub fn TCOD_zip_load_from_file(zip: TCOD_zip_t,
                                   filename: *const ::libc::c_char)
     -> ::libc::c_int;
    pub fn TCOD_zip_get_char(zip: TCOD_zip_t) -> ::libc::c_char;
    pub fn TCOD_zip_get_int(zip: TCOD_zip_t) -> ::libc::c_int;
    pub fn TCOD_zip_get_float(zip: TCOD_zip_t) -> ::libc::c_float;
    pub fn TCOD_zip_get_string(zip: TCOD_zip_t) -> *const ::libc::c_char;
    pub fn TCOD_zip_get_color(zip: TCOD_zip_t) -> TCOD_color_t;
    pub fn TCOD_zip_get_image(zip: TCOD_zip_t) -> TCOD_image_t;
    pub fn TCOD_zip_get_console(zip: TCOD_zip_t) -> TCOD_console_t;
    pub fn TCOD_zip_get_data(zip: TCOD_zip_t, nbBytes: ::libc::c_int,
                             data: *mut ::libc::c_void) -> ::libc::c_int;
    pub fn TCOD_zip_get_remaining_bytes(zip: TCOD_zip_t) -> uint32;
    pub fn TCOD_zip_skip_bytes(zip: TCOD_zip_t, nbBytes: uint32);
    pub fn TCOD_namegen_parse(filename: *const ::libc::c_char,
                              random: TCOD_random_t);
    pub fn TCOD_namegen_generate(name: *mut ::libc::c_char, allocate: _bool)
     -> *mut ::libc::c_char;
    pub fn TCOD_namegen_generate_custom(name: *mut ::libc::c_char,
                                        rule: *mut ::libc::c_char,
                                        allocate: _bool)
     -> *mut ::libc::c_char;
    pub fn TCOD_namegen_get_sets() -> TCOD_list_t;
    pub fn TCOD_namegen_destroy();
    pub fn TCOD_text_init(x: ::libc::c_int, y: ::libc::c_int,
                          w: ::libc::c_int, h: ::libc::c_int,
                          max_chars: ::libc::c_int) -> TCOD_text_t;
    pub fn TCOD_text_init2(w: ::libc::c_int, h: ::libc::c_int,
                           max_chars: ::libc::c_int) -> TCOD_text_t;
    pub fn TCOD_text_set_pos(txt: TCOD_text_t, x: ::libc::c_int,
                             y: ::libc::c_int);
    pub fn TCOD_text_set_properties(txt: TCOD_text_t,
                                    cursor_char: ::libc::c_int,
                                    blink_interval: ::libc::c_int,
                                    prompt: *const ::libc::c_char,
                                    tab_size: ::libc::c_int);
    pub fn TCOD_text_set_colors(txt: TCOD_text_t, fore: TCOD_color_t,
                                back: TCOD_color_t,
                                back_transparency: ::libc::c_float);
    pub fn TCOD_text_update(txt: TCOD_text_t, key: TCOD_key_t) -> _bool;
    pub fn TCOD_text_render(txt: TCOD_text_t, con: TCOD_console_t);
    pub fn TCOD_text_get(txt: TCOD_text_t) -> *const ::libc::c_char;
    pub fn TCOD_text_reset(txt: TCOD_text_t);
    pub fn TCOD_text_delete(txt: TCOD_text_t);
}