dos patch

Ove Kaaven ovek at arcticnet.no
Mon Nov 5 21:20:59 CST 2001


Seems my last patches were accepted, so here's another DOS patch...

Log:
Added RunInThread callout to winedos.

Index: dlls/winedos/module.c
===================================================================
RCS file: /home/wine/wine/dlls/winedos/module.c,v
retrieving revision 1.7
diff -u -r1.7 module.c
--- dlls/winedos/module.c	2001/07/02 19:59:44	1.7
+++ dlls/winedos/module.c	2001/11/06 01:44:42
@@ -421,6 +421,11 @@
   return lpDosTask;
 }
 
+void WINAPI MZ_RunInThread( PAPCFUNC proc, ULONG_PTR arg )
+{
+  proc(arg);
+}
+
 static void MZ_InitTimer( int ver )
 {
  if (ver<1) {
Index: dlls/winedos/winedos.spec
===================================================================
RCS file: /home/wine/wine/dlls/winedos/winedos.spec,v
retrieving revision 1.3
diff -u -r1.3 winedos.spec
--- dlls/winedos/winedos.spec	2001/01/15 20:23:06	1.3
+++ dlls/winedos/winedos.spec	2001/11/06 01:25:48
@@ -12,6 +12,7 @@
 @ stdcall LoadDosExe(str long) MZ_LoadImage
 @ stdcall Exec(ptr str long ptr) MZ_Exec
 @ stdcall Exit(ptr long long) MZ_Exit
+@ stdcall RunInThread(ptr long) MZ_RunInThread
 
 @ stdcall Enter(ptr) DOSVM_Enter
 @ stdcall Wait(long long) DOSVM_Wait
Index: include/callback.h
===================================================================
RCS file: /home/wine/wine/include/callback.h,v
retrieving revision 1.42
diff -u -r1.42 callback.h
--- include/callback.h	2001/07/26 20:12:55	1.42
+++ include/callback.h	2001/11/06 01:25:49
@@ -37,11 +37,13 @@
     BOOL WINAPI             (*Exec)( CONTEXT86 *context, LPCSTR filename, BYTE func, LPVOID paramblk );
     void WINAPI             (*Exit)( CONTEXT86 *context, BOOL cs_psp, WORD retval );
     int WINAPI              (*Enter)( CONTEXT86 *context );
+    void WINAPI             (*RunInThread)( PAPCFUNC proc, ULONG_PTR arg );
     void WINAPI             (*Wait)( int read_pipe, HANDLE hObject );
     void WINAPI             (*QueueEvent)( int irq, int priority, void (*relay)(CONTEXT86*,void*), void *data );
     void WINAPI             (*OutPIC)( WORD port, BYTE val );
     void WINAPI             (*SetTimer)( unsigned ticks );
     unsigned WINAPI         (*GetTimer)( void );
+    BYTE WINAPI             (*KbdReadScan)( BYTE *ascii );
 } DOSVM_TABLE;
 
 extern DOSVM_TABLE Dosvm;
Index: include/dosexe.h
===================================================================
RCS file: /home/wine/wine/include/dosexe.h,v
retrieving revision 1.34
diff -u -r1.34 dosexe.h
--- include/dosexe.h	2001/01/25 22:23:09	1.34
+++ include/dosexe.h	2001/11/06 01:25:49
@@ -37,8 +37,10 @@
 extern void WINAPI MZ_Exit( CONTEXT86 *context, BOOL cs_psp, WORD retval );
 extern LPDOSTASK WINAPI MZ_Current( void );
 extern LPDOSTASK WINAPI MZ_AllocDPMITask( void );
+extern void WINAPI MZ_RunInThread( PAPCFUNC proc, ULONG_PTR arg );
 extern INT WINAPI DOSVM_Enter( CONTEXT86 *context );
 extern void WINAPI DOSVM_Wait( INT read_pipe, HANDLE hObject );
+extern DWORD WINAPI DOSVM_Loop( LPVOID lpExtra );
 extern void WINAPI DOSVM_QueueEvent( INT irq, INT priority, DOSRELAY relay, LPVOID data );
 extern void WINAPI DOSVM_PIC_ioport_out( WORD port, BYTE val );
 extern void WINAPI DOSVM_SetTimer( UINT ticks );
Index: msdos/dpmi.c
===================================================================
RCS file: /home/wine/wine/msdos/dpmi.c,v
retrieving revision 1.56
diff -u -r1.56 dpmi.c
--- msdos/dpmi.c	2001/10/14 16:25:48	1.56
+++ msdos/dpmi.c	2001/11/06 01:25:51
@@ -79,17 +79,19 @@
         ERR("could not load winedos.dll, DOS subsystem unavailable\n");
         return FALSE;
     }
-    Dosvm.Current    = (void *)GetProcAddress(DosModule, "GetCurrent");
-    Dosvm.LoadDPMI   = (void *)GetProcAddress(DosModule, "LoadDPMI");
-    Dosvm.LoadDosExe = (void *)GetProcAddress(DosModule, "LoadDosExe");
-    Dosvm.Exec       = (void *)GetProcAddress(DosModule, "Exec");
-    Dosvm.Exit       = (void *)GetProcAddress(DosModule, "Exit");
-    Dosvm.Enter      = (void *)GetProcAddress(DosModule, "Enter");
-    Dosvm.Wait       = (void *)GetProcAddress(DosModule, "Wait");
-    Dosvm.QueueEvent = (void *)GetProcAddress(DosModule, "QueueEvent");
-    Dosvm.OutPIC     = (void *)GetProcAddress(DosModule, "OutPIC");
-    Dosvm.SetTimer   = (void *)GetProcAddress(DosModule, "SetTimer");
-    Dosvm.GetTimer   = (void *)GetProcAddress(DosModule, "GetTimer");
+    Dosvm.Current     = (void *)GetProcAddress(DosModule, "GetCurrent");
+    Dosvm.LoadDPMI    = (void *)GetProcAddress(DosModule, "LoadDPMI");
+    Dosvm.LoadDosExe  = (void *)GetProcAddress(DosModule, "LoadDosExe");
+    Dosvm.Exec        = (void *)GetProcAddress(DosModule, "Exec");
+    Dosvm.Exit        = (void *)GetProcAddress(DosModule, "Exit");
+    Dosvm.Enter       = (void *)GetProcAddress(DosModule, "Enter");
+    Dosvm.RunInThread = (void *)GetProcAddress(DosModule, "RunInThread");
+    Dosvm.Wait        = (void *)GetProcAddress(DosModule, "Wait");
+    Dosvm.QueueEvent  = (void *)GetProcAddress(DosModule, "QueueEvent");
+    Dosvm.OutPIC      = (void *)GetProcAddress(DosModule, "OutPIC");
+    Dosvm.SetTimer    = (void *)GetProcAddress(DosModule, "SetTimer");
+    Dosvm.GetTimer    = (void *)GetProcAddress(DosModule, "GetTimer");
+    Dosvm.KbdReadScan = (void *)GetProcAddress(DosModule, "KbdReadScan");
     return TRUE;
 }
 





More information about the wine-patches mailing list