Only append .dll if no extension yet.
[wine] / include / dosexe.h
1 /*
2  * DOS EXE loader
3  *
4  * Copyright 1998 Ove Kåven
5  */
6
7 #ifndef __WINE_DOSEXE_H
8 #define __WINE_DOSEXE_H
9
10 #include <sys/types.h> /* pid_t */
11 #include "winbase.h"
12 #include "sig_context.h"
13
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;
28
29 #if defined(linux) && defined(__i386__)
30
31 #define MZ_SUPPORTED
32
33 struct _NE_MODULE;
34
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 );
39
40 #endif /* linux-i386 */
41
42 #define V86_FLAG 0x00020000
43
44 extern void MZ_Tick( WORD handle );
45
46 extern HINSTANCE16 MZ_CreateProcess( LPCSTR name, LPCSTR cmdline, LPCSTR env, BOOL32 inherit,
47                                      LPSTARTUPINFO32A startup, LPPROCESS_INFORMATION info );
48 extern int DOSVM_Enter( PCONTEXT context );
49 extern void DOSVM_SetTimer( unsigned ticks );
50 extern unsigned DOSVM_GetTimer( void );
51
52 #endif /* __WINE_DOSEXE_H */