Release 990226.
[wine/gsoc-2012-control.git] / include / dosexe.h
blob2898aac1d6242c350d65b623bb0c630972bd6e95
1 /*
2 * DOS EXE loader
4 * Copyright 1998 Ove Kåven
5 */
7 #ifndef __WINE_DOSEXE_H
8 #define __WINE_DOSEXE_H
10 #include <sys/types.h> /* pid_t */
11 #include "winbase.h" /* for LPSTARTUPINFO32A */
12 #include "sig_context.h"
14 typedef struct _DOSTASK {
15 LPVOID img;
16 unsigned img_ofs;
17 WORD psp_seg,load_seg;
18 WORD init_cs,init_ip,init_ss,init_sp;
19 WORD xms_seg;
20 WORD dpmi_seg,dpmi_sel,dpmi_flag;
21 WORD system_timer;
22 HMODULE16 hModule;
23 char mm_name[128];
24 int mm_fd;
25 int read_pipe,write_pipe;
26 pid_t task;
27 } DOSTASK, *LPDOSTASK;
29 #if defined(linux) && defined(__i386__)
31 #define MZ_SUPPORTED
33 struct _NE_MODULE;
35 extern int MZ_InitTask( LPDOSTASK lpDosTask );
36 extern int MZ_InitMemory( LPDOSTASK lpDosTask, struct _NE_MODULE *pModule );
37 extern void MZ_KillModule( LPDOSTASK lpDosTask );
38 extern LPDOSTASK MZ_AllocDPMITask( HMODULE16 hModule );
40 #endif /* linux-i386 */
42 #define V86_FLAG 0x00020000
44 extern void MZ_Tick( WORD handle );
46 extern HINSTANCE16 MZ_CreateProcess( LPCSTR name, LPCSTR cmdline, LPCSTR env, BOOL inherit,
47 LPSTARTUPINFOA startup, LPPROCESS_INFORMATION info );
48 extern int DOSVM_Enter( PCONTEXT context );
49 extern void DOSVM_SetTimer( unsigned ticks );
50 extern unsigned DOSVM_GetTimer( void );
52 #endif /* __WINE_DOSEXE_H */