Removed ddk/ddrawi.h because we have it twice, also removed some defines from ddrawint.h that are already in ddrawi.h
Modified: trunk/reactos/include/ddentry.h
Modified: trunk/reactos/include/ddk/d3dhal.h
Deleted: trunk/reactos/include/ddk/ddrawi.h
Modified: trunk/reactos/include/ddk/ddrawint.h

Modified: trunk/reactos/include/ddentry.h
--- trunk/reactos/include/ddentry.h	2005-06-22 19:33:26 UTC (rev 16223)
+++ trunk/reactos/include/ddentry.h	2005-06-22 19:51:01 UTC (rev 16224)
@@ -16,7 +16,7 @@
  *  along with this program; if not, write to the Free Software
  *  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  */
-#include <ddk/ddrawi.h>
+#include <ddrawi.h>
 #include <ddk/d3dhal.h>
 #include <ddk/winddi.h>
 BOOL STDCALL DdCreateDirectDrawObject( 

Modified: trunk/reactos/include/ddk/d3dhal.h
--- trunk/reactos/include/ddk/d3dhal.h	2005-06-22 19:33:26 UTC (rev 16223)
+++ trunk/reactos/include/ddk/d3dhal.h	2005-06-22 19:51:01 UTC (rev 16224)
@@ -26,7 +26,7 @@
 extern "C" {
 #endif
 
-#include <ddk/ddrawi.h>
+#include <ddrawi.h>
 #include <d3d.h>
 
 /*****************************************************************************

Deleted: trunk/reactos/include/ddk/ddrawi.h
--- trunk/reactos/include/ddk/ddrawi.h	2005-06-22 19:33:26 UTC (rev 16223)
+++ trunk/reactos/include/ddk/ddrawi.h	2005-06-22 19:51:01 UTC (rev 16224)
@@ -1,1332 +0,0 @@
-/*
- * DirectDraw driver interface
- * (DirectX 7 version)
- *
- * Copyright (C) 2001 Ove Kaaven
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
- */
-
-#ifndef __DDRAWI_INCLUDED__
-#define __DDRAWI_INCLUDED__
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include <ddraw.h>
-
-#ifndef __DDK_DDRAWINT_H
-typedef struct _DDVIDEOPORTCAPS *LPDDVIDEOPORTCAPS; /* should be in dvp.h */
-typedef struct _DDKERNELCAPS *LPDDKERNELCAPS; /* should be in ddkernel.h */
-typedef struct _VMEMHEAP *LPVMEMHEAP; /* should be in dmemmgr.h */
-#endif
-
-#define DDAPI WINAPI
-
-/* the DirectDraw versions */
-#define DD_VERSION		0x0200 /* compatibility version */
-#define DD_RUNTIME_VERSION	0x0700 /* actual version */
-
-/* the HAL version returned from QUERYESCSUPPORT - DCICOMMAND */
-#define DD_HAL_VERSION	0x0100
-
-/* more DCICOMMAND escapes */
-#define DDCREATEDRIVEROBJECT	10
-#define DDGET32BITDRIVERNAME	11
-#define DDNEWCALLBACKFNS	12
-#define DDVERSIONINFO		13
-
-#define MAX_DRIVER_NAME		CCHDEVICENAME
-
-/*****************************************************************************
- * Initialization stuff
- */
-typedef struct {
-    char szName[260];
-    char szEntryPoint[64];
-    DWORD dwContext;
-} DD32BITDRIVERDATA,*LPDD32BITDRIVERDATA;
-
-typedef struct {
-    DWORD dwHALVersion;
-    ULONG_PTR dwReserved1;
-    ULONG_PTR dwReserved2;
-} DDVERSIONDATA,*LPDDVERSIONDATA;
-
-typedef DWORD (PASCAL *LPDD32BITDRIVERINIT)(DWORD dwContext);
-
-#ifndef __DDK_DDRAWINT_H
-/* pointer to video memory */
-typedef ULONG_PTR FLATPTR;
-#endif
-
-/* predeclare some structures */
-typedef struct _DDHALINFO *LPDDHALINFO;
-typedef struct _DDRAWI_DIRECTDRAW_INT *LPDDRAWI_DIRECTDRAW_INT;
-typedef struct _DDRAWI_DIRECTDRAW_LCL *LPDDRAWI_DIRECTDRAW_LCL;
-typedef struct _DDRAWI_DIRECTDRAW_GBL *LPDDRAWI_DIRECTDRAW_GBL;
-typedef struct _DDRAWI_DDRAWSURFACE_INT *LPDDRAWI_DDRAWSURFACE_INT;
-typedef struct _DDRAWI_DDRAWSURFACE_LCL *LPDDRAWI_DDRAWSURFACE_LCL;
-typedef struct _DDRAWI_DDRAWSURFACE_GBL *LPDDRAWI_DDRAWSURFACE_GBL;
-typedef struct _DDRAWI_DDRAWSURFACE_MORE *LPDDRAWI_DDRAWSURFACE_MORE;
-typedef struct _DDRAWI_DDRAWSURFACE_GBL_MORE *LPDDRAWI_DDRAWSURFACE_GBL_MORE;
-typedef struct _DDRAWI_DDRAWPALETTE_INT *LPDDRAWI_DDRAWPALETTE_INT;
-typedef struct _DDRAWI_DDRAWPALETTE_LCL *LPDDRAWI_DDRAWPALETTE_LCL;
-typedef struct _DDRAWI_DDRAWPALETTE_GBL *LPDDRAWI_DDRAWPALETTE_GBL;
-typedef struct _DDRAWI_DDRAWCLIPPER_INT *LPDDRAWI_DDRAWCLIPPER_INT;
-typedef struct _DDRAWI_DDRAWCLIPPER_LCL *LPDDRAWI_DDRAWCLIPPER_LCL;
-typedef struct _DDRAWI_DDRAWCLIPPER_GBL *LPDDRAWI_DDRAWCLIPPER_GBL;
-typedef struct _DDRAWI_DDVIDEOPORT_INT *LPDDRAWI_DDVIDEOPORT_INT;
-typedef struct _DDRAWI_DDVIDEOPORT_LCL *LPDDRAWI_DDVIDEOPORT_LCL;
-typedef struct _DDRAWI_DDMOTIONCOMP_INT *LPDDRAWI_DDMOTIONCOMP_INT;
-typedef struct _DDRAWI_DDMOTIONCOMP_LCL *LPDDRAWI_DDMOTIONCOMP_LCL;
-
-/*****************************************************************************
- * driver->ddraw callbacks
- */
-typedef BOOL    (DDAPI *LPDDHAL_SETINFO)(LPDDHALINFO lpDDHalInfo, BOOL reset);
-typedef FLATPTR (DDAPI *LPDDHAL_VIDMEMALLOC)(LPDDRAWI_DIRECTDRAW_GBL lpDD, int heap, DWORD dwWidth, DWORD dwHeight);
-typedef void    (DDAPI *LPDDHAL_VIDMEMFREE)(LPDDRAWI_DIRECTDRAW_GBL lpDD, int heap, FLATPTR fpMem);
-
-typedef struct {
-    DWORD		dwSize;
-    LPDDHAL_SETINFO	lpSetInfo;
-    LPDDHAL_VIDMEMALLOC	lpVidMemAlloc;
-    LPDDHAL_VIDMEMFREE	lpVidMemFree;
-} DDHALDDRAWFNS,*LPDDHALDDRAWFNS;
-
-/*****************************************************************************
- * mode info structure
- */
-typedef struct _DDHALMODEINFO {
-    DWORD	dwWidth;
-    DWORD	dwHeight;
-    LONG	lPitch;
-    DWORD	dwBPP;
-    WORD	wFlags;
-    WORD	wRefreshRate;
-    DWORD	dwRBitMask;
-    DWORD	dwGBitMask;
-    DWORD	dwBBitMask;
-    DWORD	dwAlphaBitMask;
-} DDHALMODEINFO,*LPDDHALMODEINFO;
-
-#define DDMODEINFO_PALETTIZED	0x0001
-#define DDMODEINFO_MODEX	0x0002
-#define DDMODEINFO_UNSUPPORTED	0x0004
-#define DDMODEINFO_STANDARDVGA	0x0008
-#define DDMODEINFO_MAXREFRESH	0x0010
-#define DDMODEINFO_STEREO	0x0020
-
-/*****************************************************************************
- * video memory info structure
- */
-typedef struct _VIDMEM {
-    DWORD	dwFlags;
-    FLATPTR	fpStart;
-    union {
-	FLATPTR		fpEnd;
-	DWORD		dwWidth;
-    } DUMMYUNIONNAME1;
-    DDSCAPS	ddsCaps;
-    DDSCAPS	ddsCapsAlt;
-    union {
-	LPVMEMHEAP	lpHeap;
-	DWORD		dwHeight;
-    } DUMMYUNIONNAME2;
-} VIDMEM,*LPVIDMEM;
-
-#ifndef __DDK_DDRAWINT_H
-#define VIDMEM_ISLINEAR		0x00000001
-#define VIDMEM_ISRECTANGULAR	0x00000002
-#define VIDMEM_ISHEAP		0x00000004
-#define VIDMEM_ISNONLOCAL	0x00000008
-#define VIDMEM_ISWC		0x00000010
-#define VIDMEM_ISDISABLED	0x00000020
-#endif
-
-typedef struct _VIDMEMINFO {
-    FLATPTR		fpPrimary;
-    DWORD		dwFlags;
-    DWORD		dwDisplayWidth;
-    DWORD		dwDisplayHeight;
-    LONG		lDisplayPitch;
-    DDPIXELFORMAT	ddpfDisplay;
-    DWORD		dwOffscreenAlign;
-    DWORD		dwOverlayAlign;
-    DWORD		dwTextureAlign;
-    DWORD		dwZBufferAlign;
-    DWORD		dwAlphaAlign;
-    DWORD		dwNumHeaps;
-    LPVIDMEM		pvmList;
-} VIDMEMINFO,*LPVIDMEMINFO;
-
-typedef struct _HEAPALIAS {
-    FLATPTR	fpVidMem;
-    LPVOID	lpAlias;
-    DWORD	dwAliasSize;
-} HEAPALIAS,*LPHEAPALIAS;
-
-typedef struct _HEAPALIASINFO {
-    DWORD	dwRefCnt;
-    DWORD	dwFlags;
-    DWORD	dwNumHeaps;
-    LPHEAPALIAS	lpAliases;
-} HEAPALIASINFO,*LPHEAPALIASINFO;
-
-#define HEAPALIASINFO_MAPPEDREAL	0x00000001
-#define HEAPALIASINFO_MAPPEDDUMMY	0x00000002
-
-/*****************************************************************************
- * capabilities structures
- */
-typedef struct _DDCORECAPS {
-    DWORD	dwSize;
-    DWORD	dwCaps;
-    DWORD	dwCaps2;
-    DWORD	dwCKeyCaps;
-    DWORD	dwFXCaps;
-    DWORD	dwFXAlphaCaps;
-    DWORD	dwPalCaps;
-    DWORD	dwSVCaps;
-    DWORD	dwAlphaBltConstBitDepths;
-    DWORD	dwAlphaBltPixelBitDepths;
-    DWORD	dwAlphaBltSurfaceBitDepths;
-    DWORD	dwAlphaOverlayConstBitDepths;
-    DWORD	dwAlphaOverlayPixelBitDepths;
-    DWORD	dwAlphaOverlaySurfaceBitDepths;
-    DWORD	dwZBufferBitDepths;
-    DWORD	dwVidMemTotal;
-    DWORD	dwVidMemFree;
-    DWORD	dwMaxVisibleOverlays;
-    DWORD	dwCurrVisibleOverlays;
-    DWORD	dwNumFourCCCodes;
-    DWORD	dwAlignBoundarySrc;
-    DWORD	dwAlignSizeSrc;
-    DWORD	dwAlignBoundaryDest;
-    DWORD	dwAlignSizeDest;
-    DWORD	dwAlignStrideAlign;
-    DWORD	dwRops[DD_ROP_SPACE];
-    DDSCAPS	ddsCaps;
-    DWORD	dwMinOverlayStretch;
-    DWORD	dwMaxOverlayStretch;
-    DWORD	dwMinLiveVideoStretch;
-    DWORD	dwMaxLiveVideoStretch;
-    DWORD	dwMinHwCodecStretch;
-    DWORD	dwMaxHwCodecStretch;
-    DWORD	dwReserved1;
-    DWORD	dwReserved2;
-    DWORD	dwReserved3;
-    DWORD	dwSVBCaps;
-    DWORD	dwSVBCKeyCaps;
-    DWORD	dwSVBFXCaps;
-    DWORD	dwSVBRops[DD_ROP_SPACE];
-    DWORD	dwVSBCaps;
-    DWORD	dwVSBCKeyCaps;
-    DWORD	dwVSBFXCaps;
-    DWORD	dwVSBRops[DD_ROP_SPACE];
-    DWORD	dwSSBCaps;
-    DWORD	dwSSBCKeyCaps;
-    DWORD	dwSSBFXCaps;
-    DWORD	dwSSBRops[DD_ROP_SPACE];
-    DWORD	dwMaxVideoPorts;
-    DWORD	dwCurrVideoPorts;
-    DWORD	dwSVBCaps2;
-} DDCORECAPS,*LPDDCORECAPS;
-
-typedef struct _DDNONLOCALVIDMEMCAPS {
-    DWORD	dwSize;
-    DWORD	dwNLVBCaps;
-    DWORD	dwNLVBCaps2;
-    DWORD	dwNLVBCKeyCaps;
-    DWORD	dwNLVBFXCaps;
-    DWORD	dwNLVBRops[DD_ROP_SPACE];
-} DDNONLOCALVIDMEMCAPS,*LPDDNONLOCALVIDMEMCAPS;
-
-#define DDSCAPS_EXECUTEBUFFER	DDSCAPS_RESERVED2
-#define DDSCAPS2_VERTEXBUFFER	DDSCAPS2_RESERVED1
-#define DDSCAPS2_COMMANDBUFFER	DDSCAPS2_RESERVED2
-
-/*****************************************************************************
- * ddraw->driver callbacks
- */
-#define DDHAL_DRIVER_NOTHANDLED	0
-#define DDHAL_DRIVER_HANDLED	1
-#define DDHAL_DRIVER_NOCKEYHW	2
-
-typedef struct _DDHAL_DESTROYDRIVERDATA		*LPDDHAL_DESTROYDRIVERDATA;
-typedef struct _DDHAL_CREATESURFACEDATA		*LPDDHAL_CREATESURFACEDATA;
-typedef struct _DDHAL_DRVSETCOLORKEYDATA	*LPDDHAL_DRVSETCOLORKEYDATA;
-typedef struct _DDHAL_SETMODEDATA		*LPDDHAL_SETMODEDATA;
-typedef struct _DDHAL_WAITFORVERTICALBLANKDATA	*LPDDHAL_WAITFORVERTICALBLANKDATA;
-typedef struct _DDHAL_CANCREATESURFACEDATA	*LPDDHAL_CANCREATESURFACEDATA;
-typedef struct _DDHAL_CREATEPALETTEDATA		*LPDDHAL_CREATEPALETTEDATA;
-typedef struct _DDHAL_GETSCANLINEDATA		*LPDDHAL_GETSCANLINEDATA;
-typedef struct _DDHAL_SETEXCLUSIVEMODEDATA	*LPDDHAL_SETEXCLUSIVEMODEDATA;
-typedef struct _DDHAL_FLIPTOGDISURFACEDATA	*LPDDHAL_FLIPTOGDISURFACEDATA;
-
-typedef DWORD (PASCAL *LPDDHAL_DESTROYDRIVER)	    (LPDDHAL_DESTROYDRIVERDATA);
-typedef DWORD (PASCAL *LPDDHAL_CREATESURFACE)	    (LPDDHAL_CREATESURFACEDATA);
-typedef DWORD (PASCAL *LPDDHAL_SETCOLORKEY)	    (LPDDHAL_DRVSETCOLORKEYDATA);
-typedef DWORD (PASCAL *LPDDHAL_SETMODE)		    (LPDDHAL_SETMODEDATA);
-typedef DWORD (PASCAL *LPDDHAL_WAITFORVERTICALBLANK)(LPDDHAL_WAITFORVERTICALBLANKDATA);
-typedef DWORD (PASCAL *LPDDHAL_CANCREATESURFACE)    (LPDDHAL_CANCREATESURFACEDATA );
-typedef DWORD (PASCAL *LPDDHAL_CREATEPALETTE)	    (LPDDHAL_CREATEPALETTEDATA);
-typedef DWORD (PASCAL *LPDDHAL_GETSCANLINE)	    (LPDDHAL_GETSCANLINEDATA);
-typedef DWORD (PASCAL *LPDDHAL_SETEXCLUSIVEMODE)    (LPDDHAL_SETEXCLUSIVEMODEDATA);
-typedef DWORD (PASCAL *LPDDHAL_FLIPTOGDISURFACE)    (LPDDHAL_FLIPTOGDISURFACEDATA);
-
-typedef struct _DDHAL_DDCALLBACKS {
-    DWORD				dwSize;
-    DWORD				dwFlags;
-    LPDDHAL_DESTROYDRIVER		DestroyDriver;
-    LPDDHAL_CREATESURFACE		CreateSurface;
-    LPDDHAL_SETCOLORKEY			SetColorKey;
-    LPDDHAL_SETMODE			SetMode;
-    LPDDHAL_WAITFORVERTICALBLANK	WaitForVerticalBlank;
-    LPDDHAL_CANCREATESURFACE		CanCreateSurface;
-    LPDDHAL_CREATEPALETTE		CreatePalette;
-    LPDDHAL_GETSCANLINE			GetScanLine;
-    /* DirectX 2 */
-    LPDDHAL_SETEXCLUSIVEMODE		SetExclusiveMode;
-    LPDDHAL_FLIPTOGDISURFACE		FlipToGDISurface;
-} DDHAL_DDCALLBACKS,*LPDDHAL_DDCALLBACKS;
-
-typedef struct _DDHAL_DESTROYSURFACEDATA	*LPDDHAL_DESTROYSURFACEDATA;
-typedef struct _DDHAL_FLIPDATA			*LPDDHAL_FLIPDATA;
-typedef struct _DDHAL_SETCLIPLISTDATA		*LPDDHAL_SETCLIPLISTDATA;
-typedef struct _DDHAL_LOCKDATA			*LPDDHAL_LOCKDATA;
-typedef struct _DDHAL_UNLOCKDATA		*LPDDHAL_UNLOCKDATA;
-typedef struct _DDHAL_BLTDATA			*LPDDHAL_BLTDATA;
-typedef struct _DDHAL_SETCOLORKEYDATA		*LPDDHAL_SETCOLORKEYDATA;
-typedef struct _DDHAL_ADDATTACHEDSURFACEDATA	*LPDDHAL_ADDATTACHEDSURFACEDATA;
-typedef struct _DDHAL_GETBLTSTATUSDATA		*LPDDHAL_GETBLTSTATUSDATA;
-typedef struct _DDHAL_GETFLIPSTATUSDATA		*LPDDHAL_GETFLIPSTATUSDATA;
-typedef struct _DDHAL_UPDATEOVERLAYDATA		*LPDDHAL_UPDATEOVERLAYDATA;
-typedef struct _DDHAL_SETOVERLAYPOSITIONDATA	*LPDDHAL_SETOVERLAYPOSITIONDATA;
-typedef struct _DDHAL_SETPALETTEDATA		*LPDDHAL_SETPALETTEDATA;
-
-typedef DWORD (PASCAL *LPDDHALSURFCB_DESTROYSURFACE)	(LPDDHAL_DESTROYSURFACEDATA);
-typedef DWORD (PASCAL *LPDDHALSURFCB_FLIP)		(LPDDHAL_FLIPDATA);
-typedef DWORD (PASCAL *LPDDHALSURFCB_SETCLIPLIST)	(LPDDHAL_SETCLIPLISTDATA);
-typedef DWORD (PASCAL *LPDDHALSURFCB_LOCK)		(LPDDHAL_LOCKDATA);
-typedef DWORD (PASCAL *LPDDHALSURFCB_UNLOCK)		(LPDDHAL_UNLOCKDATA);
-typedef DWORD (PASCAL *LPDDHALSURFCB_BLT)		(LPDDHAL_BLTDATA);
-typedef DWORD (PASCAL *LPDDHALSURFCB_SETCOLORKEY)	(LPDDHAL_SETCOLORKEYDATA);
-typedef DWORD (PASCAL *LPDDHALSURFCB_ADDATTACHEDSURFACE)(LPDDHAL_ADDATTACHEDSURFACEDATA);
-typedef DWORD (PASCAL *LPDDHALSURFCB_GETBLTSTATUS)	(LPDDHAL_GETBLTSTATUSDATA);
-typedef DWORD (PASCAL *LPDDHALSURFCB_GETFLIPSTATUS)	(LPDDHAL_GETFLIPSTATUSDATA);
-typedef DWORD (PASCAL *LPDDHALSURFCB_UPDATEOVERLAY)	(LPDDHAL_UPDATEOVERLAYDATA);
-typedef DWORD (PASCAL *LPDDHALSURFCB_SETOVERLAYPOSITION)(LPDDHAL_SETOVERLAYPOSITIONDATA);
-typedef DWORD (PASCAL *LPDDHALSURFCB_SETPALETTE)	(LPDDHAL_SETPALETTEDATA);
-
-typedef struct _DDHAL_DDSURFACECALLBACKS {
-    DWORD				dwSize;
-    DWORD				dwFlags;
-    LPDDHALSURFCB_DESTROYSURFACE	DestroySurface;
-    LPDDHALSURFCB_FLIP			Flip;
-    LPDDHALSURFCB_SETCLIPLIST		SetClipList;
-    LPDDHALSURFCB_LOCK			Lock;
-    LPDDHALSURFCB_UNLOCK		Unlock;
-    LPDDHALSURFCB_BLT			Blt;
-    LPDDHALSURFCB_SETCOLORKEY		SetColorKey;
-    LPDDHALSURFCB_ADDATTACHEDSURFACE	AddAttachedSurface;
-    LPDDHALSURFCB_GETBLTSTATUS		GetBltStatus;
-    LPDDHALSURFCB_GETFLIPSTATUS		GetFlipStatus;
-    LPDDHALSURFCB_UPDATEOVERLAY		UpdateOverlay;
-    LPDDHALSURFCB_SETOVERLAYPOSITION	SetOverlayPosition;
-    LPVOID				reserved4;
-    LPDDHALSURFCB_SETPALETTE		SetPalette;
-} DDHAL_DDSURFACECALLBACKS,*LPDDHAL_DDSURFACECALLBACKS;
-
-typedef struct _DDHAL_DESTROYPALETTEDATA	*LPDDHAL_DESTROYPALETTEDATA;
-typedef struct _DDHAL_SETENTRIESDATA		*LPDDHAL_SETENTRIESDATA;
-
-typedef DWORD (PASCAL *LPDDHALPALCB_DESTROYPALETTE)(LPDDHAL_DESTROYPALETTEDATA);
-typedef DWORD (PASCAL *LPDDHALPALCB_SETENTRIES)    (LPDDHAL_SETENTRIESDATA);
-
-typedef struct _DDHAL_DDPALETTECALLBACKS {
-    DWORD				dwSize;
-    DWORD				dwFlags;
-    LPDDHALPALCB_DESTROYPALETTE		DestroyPalette;
-    LPDDHALPALCB_SETENTRIES		SetEntries;
-} DDHAL_DDPALETTECALLBACKS,*LPDDHAL_DDPALETTECALLBACKS;
-
-typedef DWORD (PASCAL *LPDDHALEXEBUFCB_CANCREATEEXEBUF)(LPDDHAL_CANCREATESURFACEDATA);
-typedef DWORD (PASCAL *LPDDHALEXEBUFCB_CREATEEXEBUF)   (LPDDHAL_CREATESURFACEDATA);
-typedef DWORD (PASCAL *LPDDHALEXEBUFCB_DESTROYEXEBUF)  (LPDDHAL_DESTROYSURFACEDATA);
-typedef DWORD (PASCAL *LPDDHALEXEBUFCB_LOCKEXEBUF)     (LPDDHAL_LOCKDATA);
-typedef DWORD (PASCAL *LPDDHALEXEBUFCB_UNLOCKEXEBUF)   (LPDDHAL_UNLOCKDATA);
-
-typedef struct _DDHAL_DDEXEBUFCALLBACKS {
-    DWORD				dwSize;
-    DWORD				dwFlags;
-    LPDDHALEXEBUFCB_CANCREATEEXEBUF	CanCreateExecuteBuffer;
-    LPDDHALEXEBUFCB_CREATEEXEBUF	CreateExecuteBuffer;
-    LPDDHALEXEBUFCB_DESTROYEXEBUF	DestroyExecuteBuffer;
-    LPDDHALEXEBUFCB_LOCKEXEBUF		LockExecuteBuffer;
-    LPDDHALEXEBUFCB_UNLOCKEXEBUF	UnlockExecuteBuffer;
-} DDHAL_DDEXEBUFCALLBACKS,*LPDDHAL_DDEXEBUFCALLBACKS;
-
-typedef struct _DDHAL_GETAVAILDRIVERMEMORYDATA	*LPDDHAL_GETAVAILDRIVERMEMORYDATA;
-typedef struct _DDHAL_UPDATENONLOCALHEAPDATA	*LPDDHAL_UPDATENONLOCALHEAPDATA;
-typedef struct _DDHAL_GETHEAPALIGNMENTDATA	*LPDDHAL_GETHEAPALIGNMENTDATA;
-
-typedef DWORD (PASCAL *LPDDHAL_GETAVAILDRIVERMEMORY)(LPDDHAL_GETAVAILDRIVERMEMORYDATA);
-typedef DWORD (PASCAL *LPDDHAL_UPDATENONLOCALHEAP)  (LPDDHAL_UPDATENONLOCALHEAPDATA);
-typedef DWORD (PASCAL *LPDDHAL_GETHEAPALIGNMENT)    (LPDDHAL_GETHEAPALIGNMENTDATA);
-
-typedef struct _DDHAL_DDMISCELLANEOUSCALLBACKS {
-    DWORD				dwSize;
-    DWORD				dwFlags;
-    LPDDHAL_GETAVAILDRIVERMEMORY	GetAvailDriverMemory;
-    LPDDHAL_UPDATENONLOCALHEAP		UpdateNonLocalHeap;
-    LPDDHAL_GETHEAPALIGNMENT		GetHeapAlignment;
-    LPDDHALSURFCB_GETBLTSTATUS		GetSysmemBltStatus;
-} DDHAL_DDMISCELLANEOUSCALLBACKS,*LPDDHAL_DDMISCELLANEOUSCALLBACKS;
-
-typedef struct _DDHAL_CREATESURFACEEXDATA	*LPDDHAL_CREATESURFACEEXDATA;
-typedef struct _DDHAL_GETDRIVERSTATEDATA	*LPDDHAL_GETDRIVERSTATEDATA;
-typedef struct _DDHAL_DESTROYDDLOCALDATA	*LPDDHAL_DESTROYDDLOCALDATA;
-
-typedef DWORD (PASCAL *LPDDHAL_CREATESURFACEEX)(LPDDHAL_CREATESURFACEEXDATA);
-typedef DWORD (PASCAL *LPDDHAL_GETDRIVERSTATE) (LPDDHAL_GETDRIVERSTATEDATA);
-typedef DWORD (PASCAL *LPDDHAL_DESTROYDDLOCAL) (LPDDHAL_DESTROYDDLOCALDATA);
-
-typedef struct _DDHAL_DDMISCELLANEOUS2CALLBACKS {
-    DWORD				dwSize;
-    DWORD				dwFlags;
-    LPVOID				Reserved;
-    LPDDHAL_CREATESURFACEEX		CreateSurfaceEx;
-    LPDDHAL_GETDRIVERSTATE		GetDriverState;
-    LPDDHAL_DESTROYDDLOCAL		DestroyDDLocal;
-} DDHAL_DDMISCELLANEOUS2CALLBACKS,*LPDDHAL_DDMISCELLANEOUS2CALLBACKS;
-
-typedef HRESULT (WINAPI *LPDDGAMMACALIBRATORPROC)(LPDDGAMMARAMP, LPBYTE);
-
-/*****************************************************************************
- * driver info structure
- *
- * The HAL is queried for additional callbacks via the GetDriverInfo callback.
- */
-typedef struct _DDHAL_GETDRIVERINFODATA *LPDDHAL_GETDRIVERINFODATA;
-typedef DWORD (PASCAL *LPDDHAL_GETDRIVERINFO)(LPDDHAL_GETDRIVERINFODATA);
-
-typedef struct _DDHALINFO {
-    DWORD			dwSize;
-    LPDDHAL_DDCALLBACKS		lpDDCallbacks;
-    LPDDHAL_DDSURFACECALLBACKS	lpDDSurfaceCallbacks;
-    LPDDHAL_DDPALETTECALLBACKS	lpDDPaletteCallbacks;
-    VIDMEMINFO			vmiData;
-    DDCORECAPS			ddCaps;
-    DWORD			dwMonitorFrequency;
-    LPDDHAL_GETDRIVERINFO	GetDriverInfo;
-    DWORD			dwModeIndex;
-    LPDWORD			lpdwFourCC;
-    DWORD			dwNumModes;
-    LPDDHALMODEINFO		lpModeInfo;
-    DWORD			dwFlags;
-    LPVOID			lpPDevice;
-    DWORD			hInstance;
-    /* DirectX 2 */
-    ULONG_PTR			lpD3DGlobalDriverData;
-    ULONG_PTR			lpD3DHALCallbacks;
-    LPDDHAL_DDEXEBUFCALLBACKS	lpDDExeBufCallbacks;
-} DDHALINFO;
-
-#define DDHALINFO_ISPRIMARYDISPLAY	0x00000001
-#define DDHALINFO_MODEXILLEGAL		0x00000002
-#define DDHALINFO_GETDRIVERINFOSET	0x00000004
-
-/* where the high-level ddraw implementation stores the callbacks */
-typedef struct _DDHAL_CALLBACKS {
-    DDHAL_DDCALLBACKS		cbDDCallbacks;
-    DDHAL_DDSURFACECALLBACKS	cbDDSurfaceCallbacks;
-    DDHAL_DDPALETTECALLBACKS	cbDDPaletteCallbacks;
-    DDHAL_DDCALLBACKS		HALDD;
-    DDHAL_DDSURFACECALLBACKS	HALDDSurface;
-    DDHAL_DDPALETTECALLBACKS	HALDDPalette;
-    DDHAL_DDCALLBACKS		HELDD;
-    DDHAL_DDSURFACECALLBACKS	HELDDSurface;
-    DDHAL_DDPALETTECALLBACKS	HELDDPalette;
-    DDHAL_DDEXEBUFCALLBACKS	cbDDExeBufCallbacks;
-    DDHAL_DDEXEBUFCALLBACKS	HALDDExeBuf;
-    DDHAL_DDEXEBUFCALLBACKS	HELDDExeBuf;
-    /* there's more... videoport, colorcontrol, misc, and motion compensation callbacks... */
-} DDHAL_CALLBACKS,*LPDDHAL_CALLBACKS;
-
-/*****************************************************************************
- * parameter structures
- */
-typedef struct _DDHAL_DESTROYDRIVERDATA {
-    LPDDRAWI_DIRECTDRAW_GBL	lpDD;
-    HRESULT			ddRVal;
-    LPDDHAL_DESTROYDRIVER	DestroyDriver;
-} DDHAL_DESTROYDRIVERDATA;
-
-typedef struct _DDHAL_SETMODEDATA {
-    LPDDRAWI_DIRECTDRAW_GBL	lpDD;
-    DWORD			dwModeIndex;
-    HRESULT			ddRVal;
-    LPDDHAL_SETMODE		SetMode;
-    BOOL			inexcl;
-    BOOL			useRefreshRate;
-} DDHAL_SETMODEDATA;
-
-typedef struct _DDHAL_CREATESURFACEDATA {
-    LPDDRAWI_DIRECTDRAW_GBL	lpDD;
-    LPDDSURFACEDESC		lpDDSurfaceDesc;
-    LPDDRAWI_DDRAWSURFACE_LCL *	lplpSList;
-    DWORD			dwSCnt;
-    HRESULT			ddRVal;
-    LPDDHAL_CREATESURFACE	CreateSurface;
-} DDHAL_CREATESURFACEDATA;
-
-typedef struct _DDHAL_CANCREATESURFACEDATA {
-    LPDDRAWI_DIRECTDRAW_GBL	lpDD;
-    LPDDSURFACEDESC		lpDDSurfaceDesc;
-    DWORD			bIsDifferentPixelFormat;
-    HRESULT			ddRVal;
-    LPDDHAL_CANCREATESURFACE	CanCreateSurface;
-} DDHAL_CANCREATESURFACEDATA;
-
-typedef struct _DDHAL_CREATEPALETTEDATA {
-    LPDDRAWI_DIRECTDRAW_GBL	lpDD;
-    LPDDRAWI_DDRAWPALETTE_GBL	lpDDPalette;
-    LPPALETTEENTRY		lpColorTable;
-    HRESULT			ddRVal;
-    LPDDHAL_CREATEPALETTE	CreatePalette;
-    BOOL			is_excl;
-} DDHAL_CREATEPALETTEDATA;
-
-typedef struct _DDHAL_SETEXCLUSIVEMODEDATA {
-    LPDDRAWI_DIRECTDRAW_GBL	lpDD;
-    DWORD			dwEnterExcl;
-    DWORD			dwReserved;
-    HRESULT			ddRVal;
-    LPDDHAL_SETEXCLUSIVEMODE	SetExclusiveMode;
-} DDHAL_SETEXCLUSIVEMODEDATA;
-
-/* surfaces */
-typedef struct _DDHAL_DESTROYSURFACEDATA {
-    LPDDRAWI_DIRECTDRAW_GBL	lpDD;
-    LPDDRAWI_DDRAWSURFACE_LCL	lpDDSurface;
-    HRESULT			ddRVal;
-    LPDDHALSURFCB_DESTROYSURFACE DestroySurface;
-} DDHAL_DESTROYSURFACEDATA;
-
-typedef struct _DDHAL_FLIPDATA {
-    LPDDRAWI_DIRECTDRAW_GBL	lpDD;
-    LPDDRAWI_DDRAWSURFACE_LCL	lpSurfCurr;
-    LPDDRAWI_DDRAWSURFACE_LCL	lpSurfTarg;
-    DWORD			dwFlags;
-    HRESULT			ddRVal;
-    LPDDHALSURFCB_FLIP		Flip;
-    LPDDRAWI_DDRAWSURFACE_LCL	lpSurfCurrLeft;
-    LPDDRAWI_DDRAWSURFACE_LCL	lpSurfTargLeft;
-} DDHAL_FLIPDATA;
-
-typedef struct _DDHAL_LOCKDATA {
-    LPDDRAWI_DIRECTDRAW_GBL	lpDD;
-    LPDDRAWI_DDRAWSURFACE_LCL	lpDDSurface;
-    DWORD			bHasRect;
-    RECTL			rArea;
-    LPVOID			lpSurfData;
-    HRESULT			ddRVal;
-    LPDDHALSURFCB_LOCK		Lock;
-    DWORD			dwFlags;
-} DDHAL_LOCKDATA;
-
-typedef struct _DDHAL_UNLOCKDATA {
-    LPDDRAWI_DIRECTDRAW_GBL	lpDD;
-    LPDDRAWI_DDRAWSURFACE_LCL	lpDDSurface;
-    HRESULT			ddRVal;
-    LPDDHALSURFCB_UNLOCK	Unlock;
-} DDHAL_UNLOCKDATA;
-
-typedef struct _DDHAL_BLTDATA {
-    LPDDRAWI_DIRECTDRAW_GBL	lpDD;
-    LPDDRAWI_DDRAWSURFACE_LCL	lpDDDestSurface;
-    RECTL			rDest;
-    LPDDRAWI_DDRAWSURFACE_LCL	lpDDSrcSurface;
-    RECTL			rSrc;
-    DWORD			dwFlags;
-    DWORD			dwROPFlags;
-    DDBLTFX			bltFX;
-    HRESULT			ddRVal;
-    LPDDHALSURFCB_BLT		Blt;
-    BOOL			IsClipped;
-    RECTL			rOrigDest;
-    RECTL			rOrigSrc;
-    DWORD			dwRectCnt;
-    LPRECT			prDestRects;
-} DDHAL_BLTDATA;
-
-typedef struct _DDHAL_SETPALETTEDATA {
-    LPDDRAWI_DIRECTDRAW_GBL	lpDD;
-    LPDDRAWI_DDRAWSURFACE_LCL	lpDDSurface;
-    LPDDRAWI_DDRAWPALETTE_GBL	lpDDPalette;
-    HRESULT			ddRVal;
-    LPDDHALSURFCB_SETPALETTE	SetPalette;
-    BOOL			Attach;
-} DDHAL_SETPALETTEDATA;
-
-/* palettes */
-typedef struct _DDHAL_DESTROYPALETTEDATA {
-    LPDDRAWI_DIRECTDRAW_GBL	lpDD;
-    LPDDRAWI_DDRAWPALETTE_GBL	lpDDPalette;
-    HRESULT			ddRVal;
-    LPDDHALPALCB_DESTROYPALETTE	DestroyPalette;
-} DDHAL_DESTROYPALETTEDATA;
-
-typedef struct _DDHAL_SETENTRIESDATA {
-    LPDDRAWI_DIRECTDRAW_GBL	lpDD;
-    LPDDRAWI_DDRAWPALETTE_GBL	lpDDPalette;
-    DWORD			dwBase;
-    DWORD			dwNumEntries;
-    LPPALETTEENTRY		lpEntries;
-    HRESULT			ddRVal;
-    LPDDHALPALCB_SETENTRIES	SetEntries;
-} DDHAL_SETENTRIESDATA;
-
-typedef struct _DDHAL_GETDRIVERINFODATA {
-    DWORD	dwSize;
-    DWORD	dwFlags;
-    GUID	guidInfo;
-    DWORD	dwExpectedSize;
-    LPVOID	lpvData;
-    DWORD	dwActualSize;
-    HRESULT	ddRVal;
-    ULONG_PTR	dwContext;
-} DDHAL_GETDRIVERINFODATA;
-
-/*****************************************************************************
- * high-level ddraw implementation structures
- */
-typedef struct _IUNKNOWN_LIST {
-    struct _IUNKNOWN_LIST *	lpLink;
-    LPGUID			lpGuid;
-    IUnknown *			lpIUnknown;
-} IUNKNOWN_LIST,*LPIUNKNOWN_LIST;
-
-typedef struct _PROCESS_LIST {
-    struct _PROCESS_LIST *	lpLink;
-    DWORD			dwProcessId;
-    DWORD			dwRefCnt;
-    DWORD			dwAlphaDepth;
-    DWORD			dwZDepth;
-} PROCESS_LIST,*LPPROCESS_LIST;
-
-typedef struct _ATTACHLIST {
-    DWORD			dwFlags;
-    struct _ATTACHLIST *	lpLink;
-    LPDDRAWI_DDRAWSURFACE_LCL	lpAttached;
-    LPDDRAWI_DDRAWSURFACE_INT	lpIAttached;
-} ATTACHLIST,*LPATTACHLIST;
-
-#define DDAL_IMPLICIT	0x00000001
-
-typedef struct _ACCESSRECTLIST {
-    struct _ACCESSRECTLIST *	lpLink;
-    RECT			rDest;
-    LPDDRAWI_DIRECTDRAW_LCL	lpOwner;
-    LPVOID			lpSurfaceData;
-    DWORD			dwFlags;
-    LPHEAPALIASINFO		lpHeapAliasInfo;
-} ACCESSRECTLIST,*LPACCESSRECTLIST;
-
-#define ACCESSRECT_VRAMSTYLE		0x00000001
-#define ACCESSRECT_NOTHOLDINGWIN16LOCK	0x00000002
-#define ACCESSRECT_BROKEN		0x00000004
-
-typedef struct _DBLNODE {
-    struct _DBLNODE *		next;
-    struct _DBLNODE *		prev;
-    LPDDRAWI_DDRAWSURFACE_LCL	object;
-    LPDDRAWI_DDRAWSURFACE_INT	object_int;
-} DBLNODE,*LPDBLNODE;
-
-typedef struct _DDRAWI_DIRECTDRAW_INT {
-    LPVOID			lpVtbl;
-    LPDDRAWI_DIRECTDRAW_LCL	lpLcl;
-    LPDDRAWI_DIRECTDRAW_INT	lpLink;
-    DWORD			dwIntRefCnt;
-} DDRAWI_DIRECTDRAW_INT;
-
-typedef struct _DDRAWI_DIRECTDRAW_LCL {
-    DWORD			lpDDMore;
-    LPDDRAWI_DIRECTDRAW_GBL	lpGbl;
-    DWORD			dwUnused0;
-    DWORD			dwLocalFlags;
-    DWORD			dwLocalRefCnt;
-    DWORD			dwProcessId;
-    IUnknown *			pUnkOuter;
-    DWORD			dwObsolete1;
-    ULONG_PTR			hWnd;
-    ULONG_PTR			hDC;
-    DWORD			dwErrorMode;
-    LPDDRAWI_DDRAWSURFACE_INT	lpPrimary;
-    LPDDRAWI_DDRAWSURFACE_INT	lpCB;
-    DWORD			dwPreferredMode;
-    /* DirectX 2 */
-    HINSTANCE			hD3DInstance;
-    IUnknown *			pD3DIUnknown;
-    LPDDHAL_CALLBACKS		lpDDCB;
-    ULONG_PTR			hDDVxd;
-    /* DirectX 5.0 */
-    DWORD			dwAppHackFlags;
-    /* DirectX 5.0A */
-    ULONG_PTR			hFocusWnd;
-    DWORD			dwHotTracking;
-    DWORD			dwIMEState;
-    /* DirectX 6.0 */
-    ULONG_PTR			hWndPopup;
-    ULONG_PTR			hDD;
-    ULONG_PTR			hGammaCalibrator;
-    LPDDGAMMACALIBRATORPROC	lpGammaCalibrator;
-} DDRAWI_DIRECTDRAW_LCL;
-
-#define DDRAWILCL_HASEXCLUSIVEMODE	0x00000001
-#define DDRAWILCL_ISFULLSCREEN		0x00000002
-#define DDRAWILCL_SETCOOPCALLED		0x00000004
-#define DDRAWILCL_ACTIVEYES		0x00000008
-#define DDRAWILCL_ACTIVENO		0x00000010
-#define DDRAWILCL_HOOKEDHWND		0x00000020
-#define DDRAWILCL_ALLOWMODEX		0x00000040
-#define DDRAWILCL_V1SCLBEHAVIOUR	0x00000080
-#define DDRAWILCL_MODEHASBEENCHANGED	0x00000100
-#define DDRAWILCL_CREATEDWINDOW		0x00000200
-#define DDRAWILCL_DIRTYDC		0x00000400
-#define DDRAWILCL_DISABLEINACTIVATE	0x00000800
-#define DDRAWILCL_CURSORCLIPPED		0x00001000
-#define DDRAWILCL_EXPLICITMONITOR	0x00002000
-#define DDRAWILCL_MULTITHREADED		0x00004000
-#define DDRAWILCL_FPUSETUP		0x00008000
-#define DDRAWILCL_POWEREDDOWN		0x00010000
-#define DDRAWILCL_DIRECTDRAW7		0x00020000
-#define DDRAWILCL_ATTEMPTEDD3DCONTEXT	0x00040000
-#define DDRAWILCL_FPUPRESERVE		0x00080000
-
-typedef struct _DDRAWI_DIRECTDRAW_GBL {
-    DWORD			dwRefCnt;
-    DWORD			dwFlags;
-    FLATPTR			fpPrimaryOrig;
-    DDCORECAPS			ddCaps;
-    DWORD			dwInternal1;
-    DWORD			dwUnused1[9];
-    LPDDHAL_CALLBACKS		lpDDCBtmp;
-    LPDDRAWI_DDRAWSURFACE_INT	dsList;
-    LPDDRAWI_DDRAWPALETTE_INT	palList;
-    LPDDRAWI_DDRAWCLIPPER_INT	clipperList;
-    LPDDRAWI_DIRECTDRAW_GBL	lp16DD;
-    DWORD			dwMaxOverlays;
-    DWORD			dwCurrOverlays;
-    DWORD			dwMonitorFrequency;
-    DDCORECAPS			ddHELCaps;
-    DWORD			dwUnused2[50];
-    DDCOLORKEY			ddckCKDestOverlay;
-    DDCOLORKEY			ddckCKSrcOverlay;
-    VIDMEMINFO			vmiData;
-    LPVOID			lpDriverHandle;
-    LPDDRAWI_DIRECTDRAW_LCL	lpExclusiveOwner;
-    DWORD			dwModeIndex;
-    DWORD			dwModeIndexOrig;
-    DWORD			dwNumFourCC;
-    LPDWORD			lpdwFourCC;
-    DWORD			dwNumModes;
-    LPDDHALMODEINFO		lpModeInfo;
-    PROCESS_LIST		plProcessList;
-    DWORD			dwSurfaceLockCount;
-    DWORD			dwAliasedLockCnt;
-    ULONG_PTR			dwReserved3;
-    ULONG_PTR			hDD;
-    char			cObsolete[12];
-    DWORD			dwReserved1;
-    DWORD			dwReserved2;
-    DBLNODE			dbnOverlayRoot;
-    volatile LPWORD		lpwPDeviceFlags;
-    DWORD			dwPDevice;
-    DWORD			dwWin16LockCnt;
-    DWORD			dwUnused3;
-    DWORD			hInstance;
-    DWORD			dwEvent16;
-    DWORD			dwSaveNumModes;
-    /* DirectX 2 */
-    ULONG_PTR			lpD3DGlobalDriverData;
-    ULONG_PTR			lpD3DHALCallbacks;
-    DDCORECAPS			ddBothCaps;
-    /* DirectX 5.0 */
-    LPDDVIDEOPORTCAPS		lpDDVideoPortCaps;
-    LPDDRAWI_DDVIDEOPORT_INT	dvpList;
-    ULONG_PTR			lpD3DHALCallbacks2;
-    RECT			rectDevice;
-    DWORD			cMonitors;
-    LPVOID			gpbmiSrc;
-    LPVOID			gpbmiDest;
-    LPHEAPALIASINFO		phaiHeapAliases;
-    ULONG_PTR			hKernelHandle;
-    ULONG_PTR			pfnNotifyProc;
-    LPDDKERNELCAPS		lpDDKernelCaps;
-    LPDDNONLOCALVIDMEMCAPS	lpddNLVCaps;
-    LPDDNONLOCALVIDMEMCAPS	lpddNLVHELCaps;
-    LPDDNONLOCALVIDMEMCAPS	lpddNLVBothCaps;
-    ULONG_PTR			lpD3DExtendedCaps;
-    /* DirectX 5.0A */
-    DWORD			dwDOSBoxEvent;
-    RECT			rectDesktop;
-    char			cDriverName[MAX_DRIVER_NAME];
-    /* DirectX 6.0 */
-    ULONG_PTR			lpD3DHALCallbacks3;
-    DWORD			dwNumZPixelFormats;
-    LPDDPIXELFORMAT		lpZPixelFormats;
-    LPDDRAWI_DDMOTIONCOMP_INT	mcList;
-    DWORD			hDDVxd;
-    DDSCAPSEX			ddsCapsMore;
-} DDRAWI_DIRECTDRAW_GBL;
-
-#define DDRAWI_VIRTUALDESKTOP	0x00000008
-#define DDRAWI_MODEX		0x00000010
-#define DDRAWI_DISPLAYDRV	0x00000020
-#define DDRAWI_FULLSCREEN	0x00000040
-#define DDRAWI_MODECHANGED	0x00000080
-#define DDRAWI_NOHARDWARE	0x00000100
-#define DDRAWI_PALETTEINIT	0x00000200
-#define DDRAWI_NOEMULATION	0x00000400
-/* more... */
-
-/* surfaces */
-typedef struct _DDRAWI_DDRAWSURFACE_INT {
-    LPVOID			lpVtbl;
-    LPDDRAWI_DDRAWSURFACE_LCL	lpLcl;
-    LPDDRAWI_DDRAWSURFACE_INT	lpLink;
-    DWORD			dwIntRefCnt;
-} DDRAWI_DDRAWSURFACE_INT;
-
-typedef struct _DDRAWI_DDRAWSURFACE_GBL {
-    DWORD			dwRefCnt;
-    DWORD			dwGlobalFlags;
-    union {
-	LPACCESSRECTLIST	lpRectList;
-	DWORD			dwBlockSizeY;
-    } DUMMYUNIONNAME1;
-    union {
-	LPVMEMHEAP		lpVidMemHeap;
-	DWORD			dwBlockSizeX;
-    } DUMMYUNIONNAME2;
-    union {
-	LPDDRAWI_DIRECTDRAW_GBL	lpDD;
-	LPVOID			lpDDHandle;
-    } DUMMYUNIONNAME3;
-    FLATPTR			fpVidMem;
-    union {
-	LONG			lPitch;
-	DWORD			dwLinearSize;
-    } DUMMYUNIONNAME4;
-    WORD			wHeight;
-    WORD			wWidth;
-    DWORD			dwUsageCount;
-    ULONG_PTR			dwReserved1; /* for display driver use */
-    /* optional (defaults to primary surface pixelformat) */
-    DDPIXELFORMAT		ddpfSurface;
-} DDRAWI_DDRAWSURFACE_GBL;
-
-#define DDRAWISURFGBL_MEMFREE			0x00000001
-#define DDRAWISURFGBL_SYSMEMREQUESTED		0x00000002
-#define DDRAWISURFGBL_ISGDISURFACE		0x00000004
-#define DDRAWISURFGBL_SOFTWAREAUTOFLIP		0x00000008
-#define DDRAWISURFGBL_LOCKNOTHOLDINGWIN16LOCK	0x00000010
-#define DDRAWISURFGBL_LOCKVRAMSTYLE		0x00000020
-#define DDRAWISURFGBL_LOCKBROKEN		0x00000040
-#define DDRAWISURFGBL_IMPLICITHANDLE		0x00000080
-#define DDRAWISURFGBL_ISCLIENTMEM		0x00000100
-#define DDRAWISURFGBL_HARDWAREOPSOURCE		0x00000200
-#define DDRAWISURFGBL_HARDWAREOPDEST		0x00000400
-#define DDRAWISURFGBL_HARDWAREOPSTARTED		0x00000600
-#define DDRAWISURFGBL_VPORTINTERLEAVED		0x00000800
-#define DDRAWISURFGBL_VPORTDATA			0x00001000
-#define DDRAWISURFGBL_LATEALLOCATELINEAR	0x00002000
-#define DDRAWISURFGBL_SYSMEMEXECUTEBUFFER	0x00004000
-#define DDRAWISURFGBL_FASTLOCKHELD		0x00008000
-#define DDRAWISURFGBL_READONLYLOCKHELD		0x00010000
-
-typedef struct _DDRAWI_DDRAWSURFACE_GBL_MORE {
-    DWORD			dwSize;
-    union {
-	DWORD			dwPhysicalPageTable;
-	FLATPTR			fpPhysicalVidMem;
-    } DUMMYUNIONNAME1;
-    LPDWORD			pPageTable;
-    DWORD			cPages;
-    ULONG_PTR			dwSavedDCContext;
-    FLATPTR			fpAliasedVidMem;
-    ULONG_PTR			dwDriverReserved;
-    ULONG_PTR			dwHELReserved;
-    DWORD			cPageUnlocks;
-    ULONG_PTR			hKernelSurface;
-    DWORD			dwKernelRefCnt;
-    LPDDCOLORCONTROL		lpColorInfo;
-    FLATPTR			fpNTAlias;
-    DWORD			dwContentsStamp;
-    LPVOID			lpvUnswappedDriverReserved;
-    LPVOID			lpDDRAWReserved2;
-    DWORD			dwDDRAWReserved1;
-    DWORD			dwDDRAWReserved2;
-    FLATPTR			fpAliasOfVidMem;
-} DDRAWI_DDRAWSURFACE_GBL_MORE;
-
-/* the MS version of this macro was somewhat obfuscated and unreadable
- * (possibly because of mediocre MS coders)... so I simplified it...
- * (and so I commit no copyright violations either, hah) */
-#define GET_LPDDRAWSURFACE_GBL_MORE(psurf_gbl) \
-    (*(((LPDDRAWI_DDRAWSURFACE_GBL_MORE *)(psurf_gbl)) - 1))
-
-typedef struct _DDRAWI_DDRAWSURFACE_MORE {
-    DWORD			dwSize;
-    IUNKNOWN_LIST *		lpIUnknowns;
-    LPDDRAWI_DIRECTDRAW_LCL	lpDD_lcl;
-    DWORD			dwPageLockCount;
-    DWORD			dwBytesAllocated;
-    LPDDRAWI_DIRECTDRAW_INT	lpDD_int;
-    DWORD			dwMipMapCount;
-    LPDDRAWI_DDRAWCLIPPER_INT	lpDDIClipper;
-    /* DirectX 5.0 */
-    LPHEAPALIASINFO		lpHeapAliasInfo;
-    DWORD			dwOverlayFlags;
-    VOID			*rgjunc;
-    LPDDRAWI_DDVIDEOPORT_LCL	lpVideoPort;
-    LPDDOVERLAYFX		lpddOverlayFX;
-    DDSCAPSEX			ddsCapsEx;
-    DWORD			dwTextureStage;
-    LPVOID			lpDDRAWReserved;
-    LPVOID			lpDDRAWReserved2;
-    LPVOID			lpDDrawReserved3;
-    DWORD			dwDDrawReserved4;
-    LPVOID			lpDDrawReserved5;
-    LPDWORD			lpGammaRamp;
-    LPDWORD			lpOriginalGammaRamp;
-    LPVOID			lpDDrawReserved6;
-    DWORD			dwSurfaceHandle;
-    DWORD			qwDDrawReserved8[2];
-    LPVOID			lpDDrawReserved9;
-    DWORD			cSurfaces;
-    LPDDSURFACEDESC2		pCreatedDDSurfaceDesc2;
-    LPDDRAWI_DDRAWSURFACE_LCL	*slist;
-    DWORD			dwFVF;
-    LPVOID			lpVB;
-} DDRAWI_DDRAWSURFACE_MORE;
-
-typedef struct _DDRAWI_DDRAWSURFACE_LCL {
-    LPDDRAWI_DDRAWSURFACE_MORE	lpSurfMore;
-    LPDDRAWI_DDRAWSURFACE_GBL	lpGbl;
-    ULONG_PTR			hDDSurface;
-    LPATTACHLIST		lpAttachList;
-    LPATTACHLIST		lpAttachListFrom;
-    DWORD			dwLocalRefCnt;
-    DWORD			dwProcessId;
-    DWORD			dwFlags;
-    DDSCAPS			ddsCaps;
-    LPDDRAWI_DDRAWPALETTE_INT	lpDDPalette;
-    LPDDRAWI_DDRAWCLIPPER_LCL	lpDDClipper;
-    DWORD			dwModeCreatedIn;
-    DWORD			dwBackBufferCount;
-    DDCOLORKEY			ddckCKDestBlt;
-    DDCOLORKEY			ddckCKSrcBlt;
-    ULONG_PTR			hDC;
-    ULONG_PTR			dwReserved1; /* for display driver use */
-    /* overlays only */
-    DDCOLORKEY			ddckCKSrcOverlay;
-    DDCOLORKEY			ddckCKDestOverlay;
-    LPDDRAWI_DDRAWSURFACE_INT	lpSurfaceOverlaying;
-    DBLNODE			dbnOverlayNode;
-    RECT			rcOverlaySrc;
-    RECT			rcOverlayDest;
-    DWORD			dwClrXparent;
-    DWORD			dwAlpha;
-    LONG			lOverlayX;
-    LONG			lOverlayY;
-} DDRAWI_DDRAWSURFACE_LCL;
-
-#define DDRAWISURF_ATTACHED		0x00000001
-#define DDRAWISURF_IMPLICITCREATE	0x00000002
-#define DDRAWISURF_ISFREE		0x00000004
-#define DDRAWISURF_ATTACHED_FROM	0x00000008
-#define DDRAWISURF_IMPLICITROOT		0x00000010
-#define DDRAWISURF_PARTOFPRIMARYCHAIN	0x00000020
-#define DDRAWISURF_DATAISALIASED	0x00000040
-#define DDRAWISURF_HASDC		0x00000080
[truncated at 1000 lines; 420 more skipped]