diff options
Diffstat (limited to 'apps/plugins/sdl/progs/quake/dosisms.h')
-rw-r--r-- | apps/plugins/sdl/progs/quake/dosisms.h | 100 |
1 files changed, 100 insertions, 0 deletions
diff --git a/apps/plugins/sdl/progs/quake/dosisms.h b/apps/plugins/sdl/progs/quake/dosisms.h new file mode 100644 index 0000000000..7f12268a2c --- /dev/null +++ b/apps/plugins/sdl/progs/quake/dosisms.h | |||
@@ -0,0 +1,100 @@ | |||
1 | /* | ||
2 | Copyright (C) 1996-1997 Id Software, Inc. | ||
3 | |||
4 | This program is free software; you can redistribute it and/or | ||
5 | modify it under the terms of the GNU General Public License | ||
6 | as published by the Free Software Foundation; either version 2 | ||
7 | of the License, or (at your option) any later version. | ||
8 | |||
9 | This program is distributed in the hope that it will be useful, | ||
10 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. | ||
12 | |||
13 | See the GNU General Public License for more details. | ||
14 | |||
15 | You should have received a copy of the GNU General Public License | ||
16 | along with this program; if not, write to the Free Software | ||
17 | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. | ||
18 | |||
19 | */ | ||
20 | |||
21 | // | ||
22 | // dosisms.h: I'd call it dos.h, but the name's taken | ||
23 | // | ||
24 | |||
25 | #ifndef _DOSISMS_H_ | ||
26 | #define _DOSISMS_H_ | ||
27 | |||
28 | int dos_lockmem(void *addr, int size); | ||
29 | int dos_unlockmem(void *addr, int size); | ||
30 | |||
31 | typedef union { | ||
32 | struct { | ||
33 | unsigned long edi; | ||
34 | unsigned long esi; | ||
35 | unsigned long ebp; | ||
36 | unsigned long res; | ||
37 | unsigned long ebx; | ||
38 | unsigned long edx; | ||
39 | unsigned long ecx; | ||
40 | unsigned long eax; | ||
41 | } d; | ||
42 | struct { | ||
43 | unsigned short di, di_hi; | ||
44 | unsigned short si, si_hi; | ||
45 | unsigned short bp, bp_hi; | ||
46 | unsigned short res, res_hi; | ||
47 | unsigned short bx, bx_hi; | ||
48 | unsigned short dx, dx_hi; | ||
49 | unsigned short cx, cx_hi; | ||
50 | unsigned short ax, ax_hi; | ||
51 | unsigned short flags; | ||
52 | unsigned short es; | ||
53 | unsigned short ds; | ||
54 | unsigned short fs; | ||
55 | unsigned short gs; | ||
56 | unsigned short ip; | ||
57 | unsigned short cs; | ||
58 | unsigned short sp; | ||
59 | unsigned short ss; | ||
60 | } x; | ||
61 | struct { | ||
62 | unsigned char edi[4]; | ||
63 | unsigned char esi[4]; | ||
64 | unsigned char ebp[4]; | ||
65 | unsigned char res[4]; | ||
66 | unsigned char bl, bh, ebx_b2, ebx_b3; | ||
67 | unsigned char dl, dh, edx_b2, edx_b3; | ||
68 | unsigned char cl, ch, ecx_b2, ecx_b3; | ||
69 | unsigned char al, ah, eax_b2, eax_b3; | ||
70 | } h; | ||
71 | } regs_t; | ||
72 | |||
73 | unsigned int ptr2real(void *ptr); | ||
74 | void *real2ptr(unsigned int real); | ||
75 | void *far2ptr(unsigned int farptr); | ||
76 | unsigned int ptr2far(void *ptr); | ||
77 | |||
78 | int dos_inportb(int port); | ||
79 | int dos_inportw(int port); | ||
80 | void dos_outportb(int port, int val); | ||
81 | void dos_outportw(int port, int val); | ||
82 | |||
83 | void dos_irqenable(void); | ||
84 | void dos_irqdisable(void); | ||
85 | void dos_registerintr(int intr, void (*handler)(void)); | ||
86 | void dos_restoreintr(int intr); | ||
87 | |||
88 | int dos_int86(int vec); | ||
89 | |||
90 | void *dos_getmemory(int size); | ||
91 | void dos_freememory(void *ptr); | ||
92 | |||
93 | void dos_usleep(int usecs); | ||
94 | |||
95 | int dos_getheapsize(void); | ||
96 | |||
97 | extern regs_t regs; | ||
98 | |||
99 | #endif // _DOSISMS_H_ | ||
100 | |||