dos-like-sys 0.3.0

Low-level bindings to dos-like
Documentation
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
/* automatically generated by rust-bindgen 0.68.1 */

pub const MUSIC_CHANNELS: u32 = 16;
pub const SOUND_CHANNELS: u32 = 16;
pub const KEY_MODIFIER_RELEASED: u32 = 2147483648;
pub const videomode_t_videomode_40x25_8x8: videomode_t = 0;
pub const videomode_t_videomode_40x25_9x16: videomode_t = 1;
pub const videomode_t_videomode_80x25_8x8: videomode_t = 2;
pub const videomode_t_videomode_80x25_8x16: videomode_t = 3;
pub const videomode_t_videomode_80x25_9x16: videomode_t = 4;
pub const videomode_t_videomode_80x43_8x8: videomode_t = 5;
pub const videomode_t_videomode_80x50_8x8: videomode_t = 6;
pub const videomode_t_videomode_320x200: videomode_t = 7;
pub const videomode_t_videomode_320x240: videomode_t = 8;
pub const videomode_t_videomode_320x400: videomode_t = 9;
pub const videomode_t_videomode_640x200: videomode_t = 10;
pub const videomode_t_videomode_640x350: videomode_t = 11;
pub const videomode_t_videomode_640x400: videomode_t = 12;
pub const videomode_t_videomode_640x480: videomode_t = 13;
pub const videomode_t_force_size_videomode: videomode_t = 134217727;
pub type videomode_t = ::std::os::raw::c_uint;
extern "C" {
    pub fn setvideomode(mode: videomode_t);
}
extern "C" {
    pub fn setdoublebuffer(enabled: ::std::os::raw::c_int);
}
extern "C" {
    pub fn screenwidth() -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn screenheight() -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn screenbuffer() -> *mut ::std::os::raw::c_uchar;
}
extern "C" {
    pub fn swapbuffers() -> *mut ::std::os::raw::c_uchar;
}
extern "C" {
    pub fn waitvbl();
}
extern "C" {
    pub fn setpal(
        index: ::std::os::raw::c_int,
        r: ::std::os::raw::c_int,
        g: ::std::os::raw::c_int,
        b: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn getpal(
        index: ::std::os::raw::c_int,
        r: *mut ::std::os::raw::c_int,
        g: *mut ::std::os::raw::c_int,
        b: *mut ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn shuttingdown() -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn cputs(string: *const ::std::os::raw::c_char);
}
extern "C" {
    pub fn textcolor(color: ::std::os::raw::c_int);
}
extern "C" {
    pub fn textbackground(color: ::std::os::raw::c_int);
}
extern "C" {
    pub fn gotoxy(x: ::std::os::raw::c_int, y: ::std::os::raw::c_int);
}
extern "C" {
    pub fn wherex() -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn wherey() -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn clrscr();
}
extern "C" {
    pub fn curson();
}
extern "C" {
    pub fn cursoff();
}
extern "C" {
    pub fn loadgif(
        filename: *const ::std::os::raw::c_char,
        width: *mut ::std::os::raw::c_int,
        height: *mut ::std::os::raw::c_int,
        palcount: *mut ::std::os::raw::c_int,
        palette: *mut ::std::os::raw::c_uchar,
    ) -> *mut ::std::os::raw::c_uchar;
}
extern "C" {
    pub fn blit(
        x: ::std::os::raw::c_int,
        y: ::std::os::raw::c_int,
        source: *mut ::std::os::raw::c_uchar,
        width: ::std::os::raw::c_int,
        height: ::std::os::raw::c_int,
        srcx: ::std::os::raw::c_int,
        srcy: ::std::os::raw::c_int,
        srcw: ::std::os::raw::c_int,
        srch: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn maskblit(
        x: ::std::os::raw::c_int,
        y: ::std::os::raw::c_int,
        source: *mut ::std::os::raw::c_uchar,
        width: ::std::os::raw::c_int,
        height: ::std::os::raw::c_int,
        srcx: ::std::os::raw::c_int,
        srcy: ::std::os::raw::c_int,
        srcw: ::std::os::raw::c_int,
        srch: ::std::os::raw::c_int,
        colorkey: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn clearscreen();
}
extern "C" {
    pub fn getpixel(x: ::std::os::raw::c_int, y: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn hline(
        x: ::std::os::raw::c_int,
        y: ::std::os::raw::c_int,
        len: ::std::os::raw::c_int,
        color: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn putpixel(
        x: ::std::os::raw::c_int,
        y: ::std::os::raw::c_int,
        color: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn setdrawtarget(
        pixels: *mut ::std::os::raw::c_uchar,
        width: ::std::os::raw::c_int,
        height: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn resetdrawtarget();
}
extern "C" {
    pub fn setcolor(color: ::std::os::raw::c_int);
}
extern "C" {
    pub fn getcolor() -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn line(
        x1: ::std::os::raw::c_int,
        y1: ::std::os::raw::c_int,
        x2: ::std::os::raw::c_int,
        y2: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn rectangle(
        x: ::std::os::raw::c_int,
        y: ::std::os::raw::c_int,
        w: ::std::os::raw::c_int,
        h: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn bar(
        x: ::std::os::raw::c_int,
        y: ::std::os::raw::c_int,
        w: ::std::os::raw::c_int,
        h: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn circle(x: ::std::os::raw::c_int, y: ::std::os::raw::c_int, r: ::std::os::raw::c_int);
}
extern "C" {
    pub fn fillcircle(x: ::std::os::raw::c_int, y: ::std::os::raw::c_int, r: ::std::os::raw::c_int);
}
extern "C" {
    pub fn ellipse(
        x: ::std::os::raw::c_int,
        y: ::std::os::raw::c_int,
        rx: ::std::os::raw::c_int,
        ry: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn fillellipse(
        x: ::std::os::raw::c_int,
        y: ::std::os::raw::c_int,
        rx: ::std::os::raw::c_int,
        ry: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn drawpoly(points_xy: *mut ::std::os::raw::c_int, count: ::std::os::raw::c_int);
}
extern "C" {
    pub fn fillpoly(points_xy: *mut ::std::os::raw::c_int, count: ::std::os::raw::c_int);
}
extern "C" {
    pub fn floodfill(x: ::std::os::raw::c_int, y: ::std::os::raw::c_int);
}
extern "C" {
    pub fn boundaryfill(
        x: ::std::os::raw::c_int,
        y: ::std::os::raw::c_int,
        boundary: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn outtextxy(
        x: ::std::os::raw::c_int,
        y: ::std::os::raw::c_int,
        text: *const ::std::os::raw::c_char,
    );
}
extern "C" {
    pub fn wraptextxy(
        x: ::std::os::raw::c_int,
        y: ::std::os::raw::c_int,
        text: *const ::std::os::raw::c_char,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn centertextxy(
        x: ::std::os::raw::c_int,
        y: ::std::os::raw::c_int,
        text: *const ::std::os::raw::c_char,
        width: ::std::os::raw::c_int,
    );
}
pub const DEFAULT_FONT_8X8: _bindgen_ty_1 = 1;
pub const DEFAULT_FONT_8X16: _bindgen_ty_1 = 2;
pub const DEFAULT_FONT_9X16: _bindgen_ty_1 = 3;
pub type _bindgen_ty_1 = ::std::os::raw::c_uint;
extern "C" {
    pub fn settextstyle(
        font: ::std::os::raw::c_int,
        bold: ::std::os::raw::c_int,
        italic: ::std::os::raw::c_int,
        underline: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn installuserfont(filename: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
}
pub const DEFAULT_SOUNDBANK_AWE32: _bindgen_ty_2 = 1;
pub const DEFAULT_SOUNDBANK_SB16: _bindgen_ty_2 = 2;
pub type _bindgen_ty_2 = ::std::os::raw::c_uint;
extern "C" {
    pub fn setsoundbank(soundbank: ::std::os::raw::c_int);
}
extern "C" {
    pub fn installusersoundbank(filename: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn noteon(
        channel: ::std::os::raw::c_int,
        note: ::std::os::raw::c_int,
        velocity: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn noteoff(channel: ::std::os::raw::c_int, note: ::std::os::raw::c_int);
}
extern "C" {
    pub fn allnotesoff(channel: ::std::os::raw::c_int);
}
extern "C" {
    pub fn setinstrument(channel: ::std::os::raw::c_int, instrument: ::std::os::raw::c_int);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct music_t {
    _unused: [u8; 0],
}
extern "C" {
    pub fn loadmid(filename: *const ::std::os::raw::c_char) -> *mut music_t;
}
extern "C" {
    pub fn loadmus(filename: *const ::std::os::raw::c_char) -> *mut music_t;
}
extern "C" {
    pub fn loadmod(filename: *const ::std::os::raw::c_char) -> *mut music_t;
}
extern "C" {
    pub fn loadopb(filename: *const ::std::os::raw::c_char) -> *mut music_t;
}
extern "C" {
    pub fn createmus(
        data: *mut ::std::os::raw::c_void,
        size: ::std::os::raw::c_int,
    ) -> *mut music_t;
}
extern "C" {
    pub fn playmusic(
        music: *mut music_t,
        loop_: ::std::os::raw::c_int,
        volume: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn stopmusic();
}
extern "C" {
    pub fn musicplaying() -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn musicvolume(volume: ::std::os::raw::c_int);
}
pub const soundmode_t_soundmode_8bit_mono_5000: soundmode_t = 0;
pub const soundmode_t_soundmode_8bit_mono_8000: soundmode_t = 1;
pub const soundmode_t_soundmode_8bit_mono_11025: soundmode_t = 2;
pub const soundmode_t_soundmode_8bit_mono_16000: soundmode_t = 3;
pub const soundmode_t_soundmode_8bit_mono_22050: soundmode_t = 4;
pub const soundmode_t_soundmode_8bit_mono_32000: soundmode_t = 5;
pub const soundmode_t_soundmode_8bit_mono_44100: soundmode_t = 6;
pub const soundmode_t_soundmode_16bit_mono_5000: soundmode_t = 7;
pub const soundmode_t_soundmode_16bit_mono_8000: soundmode_t = 8;
pub const soundmode_t_soundmode_16bit_mono_11025: soundmode_t = 9;
pub const soundmode_t_soundmode_16bit_mono_16000: soundmode_t = 10;
pub const soundmode_t_soundmode_16bit_mono_22050: soundmode_t = 11;
pub const soundmode_t_soundmode_16bit_mono_32000: soundmode_t = 12;
pub const soundmode_t_soundmode_16bit_mono_44100: soundmode_t = 13;
pub const soundmode_t_soundmode_8bit_stereo_5000: soundmode_t = 14;
pub const soundmode_t_soundmode_8bit_stereo_8000: soundmode_t = 15;
pub const soundmode_t_soundmode_8bit_stereo_11025: soundmode_t = 16;
pub const soundmode_t_soundmode_8bit_stereo_16000: soundmode_t = 17;
pub const soundmode_t_soundmode_8bit_stereo_22050: soundmode_t = 18;
pub const soundmode_t_soundmode_8bit_stereo_32000: soundmode_t = 19;
pub const soundmode_t_soundmode_8bit_stereo_44100: soundmode_t = 20;
pub const soundmode_t_soundmode_16bit_stereo_5000: soundmode_t = 21;
pub const soundmode_t_soundmode_16bit_stereo_8000: soundmode_t = 22;
pub const soundmode_t_soundmode_16bit_stereo_11025: soundmode_t = 23;
pub const soundmode_t_soundmode_16bit_stereo_16000: soundmode_t = 24;
pub const soundmode_t_soundmode_16bit_stereo_22050: soundmode_t = 25;
pub const soundmode_t_soundmode_16bit_stereo_32000: soundmode_t = 26;
pub const soundmode_t_soundmode_16bit_stereo_44100: soundmode_t = 27;
pub type soundmode_t = ::std::os::raw::c_uint;
extern "C" {
    pub fn setsoundmode(mode: soundmode_t);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct sound_t {
    _unused: [u8; 0],
}
extern "C" {
    pub fn loadwav(filename: *const ::std::os::raw::c_char) -> *mut sound_t;
}
extern "C" {
    pub fn createsound(
        channels: ::std::os::raw::c_int,
        samplerate: ::std::os::raw::c_int,
        framecount: ::std::os::raw::c_int,
        samples: *mut ::std::os::raw::c_short,
    ) -> *mut sound_t;
}
extern "C" {
    pub fn playsound(
        channel: ::std::os::raw::c_int,
        sound: *mut sound_t,
        loop_: ::std::os::raw::c_int,
        volume: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn stopsound(channel: ::std::os::raw::c_int);
}
extern "C" {
    pub fn soundplaying(channel: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn soundvolume(
        channel: ::std::os::raw::c_int,
        left: ::std::os::raw::c_int,
        right: ::std::os::raw::c_int,
    );
}
pub const keycode_t_KEY_INVALID: keycode_t = 0;
pub const keycode_t_KEY_LBUTTON: keycode_t = 1;
pub const keycode_t_KEY_RBUTTON: keycode_t = 2;
pub const keycode_t_KEY_CANCEL: keycode_t = 3;
pub const keycode_t_KEY_MBUTTON: keycode_t = 4;
pub const keycode_t_KEY_XBUTTON1: keycode_t = 5;
pub const keycode_t_KEY_XBUTTON2: keycode_t = 6;
pub const keycode_t_KEY_BACK: keycode_t = 7;
pub const keycode_t_KEY_TAB: keycode_t = 8;
pub const keycode_t_KEY_CLEAR: keycode_t = 9;
pub const keycode_t_KEY_RETURN: keycode_t = 10;
pub const keycode_t_KEY_SHIFT: keycode_t = 11;
pub const keycode_t_KEY_CONTROL: keycode_t = 12;
pub const keycode_t_KEY_MENU: keycode_t = 13;
pub const keycode_t_KEY_PAUSE: keycode_t = 14;
pub const keycode_t_KEY_CAPITAL: keycode_t = 15;
pub const keycode_t_KEY_KANA: keycode_t = 16;
pub const keycode_t_KEY_HANGUL: keycode_t = 16;
pub const keycode_t_KEY_JUNJA: keycode_t = 17;
pub const keycode_t_KEY_FINAL: keycode_t = 18;
pub const keycode_t_KEY_HANJA: keycode_t = 19;
pub const keycode_t_KEY_KANJI: keycode_t = 19;
pub const keycode_t_KEY_ESCAPE: keycode_t = 20;
pub const keycode_t_KEY_CONVERT: keycode_t = 21;
pub const keycode_t_KEY_NONCONVERT: keycode_t = 22;
pub const keycode_t_KEY_ACCEPT: keycode_t = 23;
pub const keycode_t_KEY_MODECHANGE: keycode_t = 24;
pub const keycode_t_KEY_SPACE: keycode_t = 25;
pub const keycode_t_KEY_PRIOR: keycode_t = 26;
pub const keycode_t_KEY_NEXT: keycode_t = 27;
pub const keycode_t_KEY_END: keycode_t = 28;
pub const keycode_t_KEY_HOME: keycode_t = 29;
pub const keycode_t_KEY_LEFT: keycode_t = 30;
pub const keycode_t_KEY_UP: keycode_t = 31;
pub const keycode_t_KEY_RIGHT: keycode_t = 32;
pub const keycode_t_KEY_DOWN: keycode_t = 33;
pub const keycode_t_KEY_SELECT: keycode_t = 34;
pub const keycode_t_KEY_PRINT: keycode_t = 35;
pub const keycode_t_KEY_EXEC: keycode_t = 36;
pub const keycode_t_KEY_SNAPSHOT: keycode_t = 37;
pub const keycode_t_KEY_INSERT: keycode_t = 38;
pub const keycode_t_KEY_DELETE: keycode_t = 39;
pub const keycode_t_KEY_HELP: keycode_t = 40;
pub const keycode_t_KEY_0: keycode_t = 41;
pub const keycode_t_KEY_1: keycode_t = 42;
pub const keycode_t_KEY_2: keycode_t = 43;
pub const keycode_t_KEY_3: keycode_t = 44;
pub const keycode_t_KEY_4: keycode_t = 45;
pub const keycode_t_KEY_5: keycode_t = 46;
pub const keycode_t_KEY_6: keycode_t = 47;
pub const keycode_t_KEY_7: keycode_t = 48;
pub const keycode_t_KEY_8: keycode_t = 49;
pub const keycode_t_KEY_9: keycode_t = 50;
pub const keycode_t_KEY_A: keycode_t = 51;
pub const keycode_t_KEY_B: keycode_t = 52;
pub const keycode_t_KEY_C: keycode_t = 53;
pub const keycode_t_KEY_D: keycode_t = 54;
pub const keycode_t_KEY_E: keycode_t = 55;
pub const keycode_t_KEY_F: keycode_t = 56;
pub const keycode_t_KEY_G: keycode_t = 57;
pub const keycode_t_KEY_H: keycode_t = 58;
pub const keycode_t_KEY_I: keycode_t = 59;
pub const keycode_t_KEY_J: keycode_t = 60;
pub const keycode_t_KEY_K: keycode_t = 61;
pub const keycode_t_KEY_L: keycode_t = 62;
pub const keycode_t_KEY_M: keycode_t = 63;
pub const keycode_t_KEY_N: keycode_t = 64;
pub const keycode_t_KEY_O: keycode_t = 65;
pub const keycode_t_KEY_P: keycode_t = 66;
pub const keycode_t_KEY_Q: keycode_t = 67;
pub const keycode_t_KEY_R: keycode_t = 68;
pub const keycode_t_KEY_S: keycode_t = 69;
pub const keycode_t_KEY_T: keycode_t = 70;
pub const keycode_t_KEY_U: keycode_t = 71;
pub const keycode_t_KEY_V: keycode_t = 72;
pub const keycode_t_KEY_W: keycode_t = 73;
pub const keycode_t_KEY_X: keycode_t = 74;
pub const keycode_t_KEY_Y: keycode_t = 75;
pub const keycode_t_KEY_Z: keycode_t = 76;
pub const keycode_t_KEY_LWIN: keycode_t = 77;
pub const keycode_t_KEY_RWIN: keycode_t = 78;
pub const keycode_t_KEY_APPS: keycode_t = 79;
pub const keycode_t_KEY_SLEEP: keycode_t = 80;
pub const keycode_t_KEY_NUMPAD0: keycode_t = 81;
pub const keycode_t_KEY_NUMPAD1: keycode_t = 82;
pub const keycode_t_KEY_NUMPAD2: keycode_t = 83;
pub const keycode_t_KEY_NUMPAD3: keycode_t = 84;
pub const keycode_t_KEY_NUMPAD4: keycode_t = 85;
pub const keycode_t_KEY_NUMPAD5: keycode_t = 86;
pub const keycode_t_KEY_NUMPAD6: keycode_t = 87;
pub const keycode_t_KEY_NUMPAD7: keycode_t = 88;
pub const keycode_t_KEY_NUMPAD8: keycode_t = 89;
pub const keycode_t_KEY_NUMPAD9: keycode_t = 90;
pub const keycode_t_KEY_MULTIPLY: keycode_t = 91;
pub const keycode_t_KEY_ADD: keycode_t = 92;
pub const keycode_t_KEY_SEPARATOR: keycode_t = 93;
pub const keycode_t_KEY_SUBTRACT: keycode_t = 94;
pub const keycode_t_KEY_DECIMAL: keycode_t = 95;
pub const keycode_t_KEY_DIVIDE: keycode_t = 96;
pub const keycode_t_KEY_F1: keycode_t = 97;
pub const keycode_t_KEY_F2: keycode_t = 98;
pub const keycode_t_KEY_F3: keycode_t = 99;
pub const keycode_t_KEY_F4: keycode_t = 100;
pub const keycode_t_KEY_F5: keycode_t = 101;
pub const keycode_t_KEY_F6: keycode_t = 102;
pub const keycode_t_KEY_F7: keycode_t = 103;
pub const keycode_t_KEY_F8: keycode_t = 104;
pub const keycode_t_KEY_F9: keycode_t = 105;
pub const keycode_t_KEY_F10: keycode_t = 106;
pub const keycode_t_KEY_F11: keycode_t = 107;
pub const keycode_t_KEY_F12: keycode_t = 108;
pub const keycode_t_KEY_F13: keycode_t = 109;
pub const keycode_t_KEY_F14: keycode_t = 110;
pub const keycode_t_KEY_F15: keycode_t = 111;
pub const keycode_t_KEY_F16: keycode_t = 112;
pub const keycode_t_KEY_F17: keycode_t = 113;
pub const keycode_t_KEY_F18: keycode_t = 114;
pub const keycode_t_KEY_F19: keycode_t = 115;
pub const keycode_t_KEY_F20: keycode_t = 116;
pub const keycode_t_KEY_F21: keycode_t = 117;
pub const keycode_t_KEY_F22: keycode_t = 118;
pub const keycode_t_KEY_F23: keycode_t = 119;
pub const keycode_t_KEY_F24: keycode_t = 120;
pub const keycode_t_KEY_NUMLOCK: keycode_t = 121;
pub const keycode_t_KEY_SCROLL: keycode_t = 122;
pub const keycode_t_KEY_LSHIFT: keycode_t = 123;
pub const keycode_t_KEY_RSHIFT: keycode_t = 124;
pub const keycode_t_KEY_LCONTROL: keycode_t = 125;
pub const keycode_t_KEY_RCONTROL: keycode_t = 126;
pub const keycode_t_KEY_LMENU: keycode_t = 127;
pub const keycode_t_KEY_RMENU: keycode_t = 128;
pub const keycode_t_KEY_BROWSER_BACK: keycode_t = 129;
pub const keycode_t_KEY_BROWSER_FORWARD: keycode_t = 130;
pub const keycode_t_KEY_BROWSER_REFRESH: keycode_t = 131;
pub const keycode_t_KEY_BROWSER_STOP: keycode_t = 132;
pub const keycode_t_KEY_BROWSER_SEARCH: keycode_t = 133;
pub const keycode_t_KEY_BROWSER_FAVORITES: keycode_t = 134;
pub const keycode_t_KEY_BROWSER_HOME: keycode_t = 135;
pub const keycode_t_KEY_VOLUME_MUTE: keycode_t = 136;
pub const keycode_t_KEY_VOLUME_DOWN: keycode_t = 137;
pub const keycode_t_KEY_VOLUME_UP: keycode_t = 138;
pub const keycode_t_KEY_MEDIA_NEXT_TRACK: keycode_t = 139;
pub const keycode_t_KEY_MEDIA_PREV_TRACK: keycode_t = 140;
pub const keycode_t_KEY_MEDIA_STOP: keycode_t = 141;
pub const keycode_t_KEY_MEDIA_PLAY_PAUSE: keycode_t = 142;
pub const keycode_t_KEY_LAUNCH_MAIL: keycode_t = 143;
pub const keycode_t_KEY_LAUNCH_MEDIA_SELECT: keycode_t = 144;
pub const keycode_t_KEY_LAUNCH_APP1: keycode_t = 145;
pub const keycode_t_KEY_LAUNCH_APP2: keycode_t = 146;
pub const keycode_t_KEY_OEM_1: keycode_t = 147;
pub const keycode_t_KEY_OEM_PLUS: keycode_t = 148;
pub const keycode_t_KEY_OEM_COMMA: keycode_t = 149;
pub const keycode_t_KEY_OEM_MINUS: keycode_t = 150;
pub const keycode_t_KEY_OEM_PERIOD: keycode_t = 151;
pub const keycode_t_KEY_OEM_2: keycode_t = 152;
pub const keycode_t_KEY_OEM_3: keycode_t = 153;
pub const keycode_t_KEY_OEM_4: keycode_t = 154;
pub const keycode_t_KEY_OEM_5: keycode_t = 155;
pub const keycode_t_KEY_OEM_6: keycode_t = 156;
pub const keycode_t_KEY_OEM_7: keycode_t = 157;
pub const keycode_t_KEY_OEM_8: keycode_t = 158;
pub const keycode_t_KEY_OEM_102: keycode_t = 159;
pub const keycode_t_KEY_PROCESSKEY: keycode_t = 160;
pub const keycode_t_KEY_ATTN: keycode_t = 161;
pub const keycode_t_KEY_CRSEL: keycode_t = 162;
pub const keycode_t_KEY_EXSEL: keycode_t = 163;
pub const keycode_t_KEY_EREOF: keycode_t = 164;
pub const keycode_t_KEY_PLAY: keycode_t = 165;
pub const keycode_t_KEY_ZOOM: keycode_t = 166;
pub const keycode_t_KEY_NONAME: keycode_t = 167;
pub const keycode_t_KEY_PA1: keycode_t = 168;
pub const keycode_t_KEY_OEM_CLEAR: keycode_t = 169;
pub const keycode_t_KEYCOUNT: keycode_t = 170;
pub const keycode_t_KEYPADDING: keycode_t = 4294967295;
pub type keycode_t = ::std::os::raw::c_uint;
extern "C" {
    pub fn keystate(key: keycode_t) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn readkeys() -> *mut keycode_t;
}
extern "C" {
    pub fn readchars() -> *const ::std::os::raw::c_char;
}
extern "C" {
    pub fn mousex() -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn mousey() -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn mouserelx() -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn mouserely() -> ::std::os::raw::c_int;
}