39 lines
765 B
C
39 lines
765 B
C
![]() |
/*
|
|||
|
* DOS EXE loader
|
|||
|
*
|
|||
|
* Copyright 1998 Ove K<EFBFBD>ven
|
|||
|
*/
|
|||
|
|
|||
|
#ifdef linux
|
|||
|
|
|||
|
#include <unistd.h>
|
|||
|
#include <sys/ipc.h>
|
|||
|
#include <sys/shm.h>
|
|||
|
#include <sys/vm86.h>
|
|||
|
#include "wintypes.h"
|
|||
|
|
|||
|
typedef struct _DOSTASK {
|
|||
|
LPVOID img;
|
|||
|
unsigned img_ofs;
|
|||
|
HMODULE16 hModule;
|
|||
|
struct vm86plus_struct VM86;
|
|||
|
int fn, state;
|
|||
|
#ifdef MZ_USESYSV
|
|||
|
/* SYSV IPC is not quite supported yet... */
|
|||
|
key_t shm_key;
|
|||
|
int shm_id;
|
|||
|
#else
|
|||
|
char mm_name[128];
|
|||
|
int mm_fd;
|
|||
|
#endif
|
|||
|
int read_pipe,write_pipe;
|
|||
|
pid_t task;
|
|||
|
} DOSTASK, *LPDOSTASK;
|
|||
|
|
|||
|
extern HINSTANCE16 MZ_LoadModule( LPCSTR name, LPCSTR cmdline, LPCSTR env, UINT16 show_cmd );
|
|||
|
extern int MZ_RunModule( LPDOSTASK lpDosTask );
|
|||
|
extern void MZ_KillModule( LPDOSTASK lpDosTask );
|
|||
|
extern int DOSVM_Process( LPDOSTASK lpDosTask );
|
|||
|
|
|||
|
#endif /* linux */
|