Alexandre Julliard | 767e6f6 | 1998-08-09 12:47:43 +0000 | [diff] [blame] | 1 | /* |
| 2 | * DOS EXE loader |
| 3 | * |
| 4 | * Copyright 1998 Ove Kåven |
| 5 | */ |
| 6 | |
Patrik Stridvall | 1e1cf48 | 1998-10-17 12:56:00 +0000 | [diff] [blame] | 7 | #ifndef __WINE_DOSEXE_H |
| 8 | #define __WINE_DOSEXE_H |
Alexandre Julliard | 767e6f6 | 1998-08-09 12:47:43 +0000 | [diff] [blame] | 9 | |
Marcus Meissner | 317af32 | 1999-02-17 13:51:06 +0000 | [diff] [blame] | 10 | #include <sys/types.h> /* pid_t */ |
Michael Veksler | 3fbb8dc | 1999-02-21 18:23:26 +0000 | [diff] [blame] | 11 | #include "winbase.h" /* for LPSTARTUPINFO32A */ |
Ove Kaaven | 5394258 | 1999-03-25 10:53:08 +0000 | [diff] [blame] | 12 | #include "winnt.h" /* for PCONTEXT */ |
Alexandre Julliard | 767e6f6 | 1998-08-09 12:47:43 +0000 | [diff] [blame] | 13 | |
Ove Kaaven | 5394258 | 1999-03-25 10:53:08 +0000 | [diff] [blame] | 14 | struct _DOSEVENT; |
| 15 | |
Alexandre Julliard | 767e6f6 | 1998-08-09 12:47:43 +0000 | [diff] [blame] | 16 | typedef struct _DOSTASK { |
Alexandre Julliard | 770eb51 | 2000-09-24 20:47:50 +0000 | [diff] [blame^] | 17 | WORD psp_seg; |
| 18 | WORD dpmi_flag; |
Alexandre Julliard | 767e6f6 | 1998-08-09 12:47:43 +0000 | [diff] [blame] | 19 | } DOSTASK, *LPDOSTASK; |
| 20 | |
Ove Kaaven | 5394258 | 1999-03-25 10:53:08 +0000 | [diff] [blame] | 21 | #define DOS_PRIORITY_REALTIME 0 /* IRQ0 */ |
| 22 | #define DOS_PRIORITY_KEYBOARD 1 /* IRQ1 */ |
| 23 | #define DOS_PRIORITY_VGA 2 /* IRQ9 */ |
| 24 | #define DOS_PRIORITY_MOUSE 5 /* IRQ12 */ |
| 25 | #define DOS_PRIORITY_SERIAL 10 /* IRQ4 */ |
| 26 | |
Ove Kaaven | 8ccb0a5 | 1998-12-07 16:18:17 +0000 | [diff] [blame] | 27 | #if defined(linux) && defined(__i386__) |
Alexandre Julliard | 85ed45e | 1998-08-22 19:03:56 +0000 | [diff] [blame] | 28 | #define MZ_SUPPORTED |
Ove Kaaven | 8ccb0a5 | 1998-12-07 16:18:17 +0000 | [diff] [blame] | 29 | #endif /* linux-i386 */ |
Alexandre Julliard | 85ed45e | 1998-08-22 19:03:56 +0000 | [diff] [blame] | 30 | |
Ove Kaaven | 7f740cb | 1998-11-01 12:41:19 +0000 | [diff] [blame] | 31 | #define V86_FLAG 0x00020000 |
| 32 | |
Ove Kaaven | 7248d47 | 2000-07-31 20:56:28 +0000 | [diff] [blame] | 33 | extern BOOL MZ_LoadImage( HMODULE module, HANDLE hFile, LPCSTR filename ); |
Ove Kaaven | e54d4d1 | 1999-05-22 10:40:15 +0000 | [diff] [blame] | 34 | extern LPDOSTASK MZ_Current( void ); |
Alexandre Julliard | 770eb51 | 2000-09-24 20:47:50 +0000 | [diff] [blame^] | 35 | extern LPDOSTASK MZ_AllocDPMITask( void ); |
Alexandre Julliard | 617955d | 1999-06-26 18:40:24 +0000 | [diff] [blame] | 36 | extern int DOSVM_Enter( CONTEXT86 *context ); |
Ove Kaaven | e54d4d1 | 1999-05-22 10:40:15 +0000 | [diff] [blame] | 37 | extern void DOSVM_Wait( int read_pipe, HANDLE hObject ); |
Alexandre Julliard | 770eb51 | 2000-09-24 20:47:50 +0000 | [diff] [blame^] | 38 | extern void DOSVM_QueueEvent( int irq, int priority, void (*relay)(CONTEXT86*,void*), void *data ); |
Ove Kaaven | 5394258 | 1999-03-25 10:53:08 +0000 | [diff] [blame] | 39 | extern void DOSVM_PIC_ioport_out( WORD port, BYTE val ); |
Alexandre Julliard | 638f169 | 1999-01-17 16:32:32 +0000 | [diff] [blame] | 40 | extern void DOSVM_SetTimer( unsigned ticks ); |
| 41 | extern unsigned DOSVM_GetTimer( void ); |
Patrik Stridvall | 1e1cf48 | 1998-10-17 12:56:00 +0000 | [diff] [blame] | 42 | |
| 43 | #endif /* __WINE_DOSEXE_H */ |