small device.c patch

Andreas Mohr andi at rhlx01.fht-esslingen.de
Sat May 25 08:59:51 CDT 2002


Hi all,

- add some undocumented ioctl mappings
- correct OpenVxDHandle prototype, document it, have a try at returning a
  Ring 3 handle and make FIXME more verbose

-- 
Andreas Mohr                        Stauferstr. 6, D-71272 Renningen, Germany
-------------- next part --------------
Determining best CVS host...
Using CVSROOT :pserver:cvs at rhlx01.fht-esslingen.de:/home/wine
Index: win32/device.c
===================================================================
RCS file: /home/wine/wine/win32/device.c,v
retrieving revision 1.62
diff -u -r1.62 device.c
--- win32/device.c	23 May 2002 19:35:18 -0000	1.62
+++ win32/device.c	25 May 2002 13:57:58 -0000
@@ -1407,8 +1407,10 @@
     }
 
     case VWIN32_DIOC_DOS_IOCTL:
+    case 0x10: /* Int 0x21 call, call it VWIN_DIOC_INT21 ? */
     case VWIN32_DIOC_DOS_INT25:
     case VWIN32_DIOC_DOS_INT26:
+    case 0x29: /* Int 0x31 call, call it VWIN_DIOC_INT31 ? */
     case VWIN32_DIOC_DOS_DRIVEINFO:
     {
         CONTEXT86 cxt;
@@ -1430,8 +1432,13 @@
         switch (dwIoControlCode)
         {
         case VWIN32_DIOC_DOS_IOCTL: DOS3Call( &cxt ); break; /* Call int 21h */
+        case VWIN32_DIOC_DOS_INT13: INT_Int13Handler( &cxt ); break;
+        case 0x10: /* Int 0x21 call, call it VWIN_DIOC_INT21 ? */
+				    DOS3Call( &cxt ); break;
         case VWIN32_DIOC_DOS_INT25: INT_Int25Handler( &cxt ); break;
         case VWIN32_DIOC_DOS_INT26: INT_Int26Handler( &cxt ); break;
+        case 0x29: /* Int 0x31 call, call it VWIN_DIOC_INT31 ? */
+				    INT_Int31Handler( &cxt ); break;
         case VWIN32_DIOC_DOS_DRIVEINFO:	DOS3Call( &cxt ); break; /* Call int 21h 730x */
         }
 
@@ -1527,11 +1534,16 @@
 
 /***********************************************************************
  *		OpenVxDHandle (KERNEL32.@)
+ *
+ *	This function is supposed to return the corresponding Ring 0
+ *	("kernel") handle for a Ring 3 handle in Win9x.
+ *	Evidently, Wine will have problems with this. But we try anyway,
+ *	maybe it helps...
  */
-DWORD	WINAPI	OpenVxDHandle(DWORD pmt)
+HANDLE	WINAPI	OpenVxDHandle(HANDLE hHandleRing3)
 {
-	FIXME( "(0x%08lx) stub!\n", pmt);
-	return 0;
+	FIXME( "(0x%08lx), stub! (returning Ring 3 handle instead of Ring 0)\n", hHandleRing3);
+	return hHandleRing3;
 }
 
 static BOOL DeviceIo_HASP(DWORD dwIoControlCode, LPVOID lpvInBuffer, DWORD cbInBuffer,


More information about the wine-patches mailing list