Fixing directx headers from wine, by adding alot of missing struct and some struct...
authorMagnus Olsen <magnus@greatlord.com>
Sat, 15 Oct 2005 00:09:45 +0000 (00:09 +0000)
committerMagnus Olsen <magnus@greatlord.com>
Sat, 15 Oct 2005 00:09:45 +0000 (00:09 +0000)
svn path=/trunk/; revision=18464

reactos/w32api/include/ddk/ddrawi.h
reactos/w32api/include/ddk/ddrawint.h
reactos/w32api/include/ddk/dmemmgr.h [new file with mode: 0644]
reactos/w32api/include/ddk/dvp.h

index 64a7123..6facd8a 100644 (file)
@@ -28,10 +28,10 @@ extern "C" {
 
 #include <ddraw.h>
 #include <dvp.h>
+#include "dmemmgr.h"
 
 #ifndef __DDK_DDRAWINT_H
 typedef struct _DDKERNELCAPS *LPDDKERNELCAPS; /* should be in ddkernel.h */
-typedef struct _VMEMHEAP *LPVMEMHEAP; /* should be in dmemmgr.h */
 #endif
 
 #define DDAPI WINAPI
@@ -72,10 +72,7 @@ typedef struct {
 
 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;
@@ -154,7 +151,7 @@ typedef struct _VIDMEM {
        LPVMEMHEAP      lpHeap;
        DWORD           dwHeight;
     }; 
-} VIDMEM,*LPVIDMEM;
+} VIDMEM;
 
 
 
@@ -493,6 +490,32 @@ typedef struct _DDHAL_DDVIDEOPORTCALLBACKS
 } DDHAL_DDVIDEOPORTCALLBACKS;
 
 
+typedef struct _DDHAL_COLORCONTROLDATA *LPDDHAL_COLORCONTROLDATA;
+
+typedef DWORD (PASCAL *LPDDHALCOLORCB_COLORCONTROL)(LPDDHAL_COLORCONTROLDATA);
+
+
+typedef struct _DDHAL_DDCOLORCONTROLCALLBACKS
+{
+    DWORD                               dwSize;
+    DWORD                               dwFlags;
+    LPDDHALCOLORCB_COLORCONTROL         ColorControl;
+} DDHAL_DDCOLORCONTROLCALLBACKS;
+
+typedef struct _DDHAL_SYNCSURFACEDATA   *LPDDHAL_SYNCSURFACEDATA;
+typedef struct _DDHAL_SYNCVIDEOPORTDATA *LPDDHAL_SYNCVIDEOPORTDATA;
+
+typedef DWORD (PASCAL *LPDDHALKERNELCB_SYNCSURFACE)(LPDDHAL_SYNCSURFACEDATA);
+typedef DWORD (PASCAL *LPDDHALKERNELCB_SYNCVIDEOPORT)(LPDDHAL_SYNCVIDEOPORTDATA);
+
+typedef struct _DDHAL_DDKERNELCALLBACKS
+{
+    DWORD                          dwSize;
+    DWORD                          dwFlags;
+    LPDDHALKERNELCB_SYNCSURFACE    SyncSurfaceData;
+    LPDDHALKERNELCB_SYNCVIDEOPORT  SyncVideoPortData;
+} DDHAL_DDKERNELCALLBACKS, *LPDDHAL_DDKERNELCALLBACKS;
+
 
 
 
@@ -537,6 +560,13 @@ typedef struct _DDHALINFO {
 #define DDHALINFO_GETDRIVERINFOSET     0x00000004
 #define DDHALINFO_GETDRIVERINFO2    0x00000008
 
+#define DDRAWI_VPORTSTART           0x0001
+#define DDRAWI_VPORTSTOP            0x0002
+#define DDRAWI_VPORTUPDATE          0x0003
+
+#define DDRAWI_VPORTGETCOLOR        0x0001
+#define DDRAWI_VPORTSETCOLOR        0x0002
+
 /* where the high-level ddraw implementation stores the callbacks */
 typedef struct _DDHAL_CALLBACKS {
     DDHAL_DDCALLBACKS                cbDDCallbacks;
@@ -553,8 +583,8 @@ typedef struct _DDHAL_CALLBACKS {
     DDHAL_DDEXEBUFCALLBACKS          HELDDExeBuf;
        DDHAL_DDVIDEOPORTCALLBACKS    cbDDVideoPortCallbacks;
     DDHAL_DDVIDEOPORTCALLBACKS    HALDDVideoPort;
-//    DDHAL_DDCOLORCONTROLCALLBACKS cbDDColorControlCallbacks; 
-//    DDHAL_DDCOLORCONTROLCALLBACKS HALDDColorControl;
+    DDHAL_DDCOLORCONTROLCALLBACKS cbDDColorControlCallbacks; 
+    DDHAL_DDCOLORCONTROLCALLBACKS HALDDColorControl;
     DDHAL_DDMISCELLANEOUSCALLBACKS cbDDMiscellaneousCallbacks;
     DDHAL_DDMISCELLANEOUSCALLBACKS HALDDMiscellaneous;
 //    DDHAL_DDKERNELCALLBACKS        cbDDKernelCallbacks;
@@ -697,6 +727,7 @@ typedef struct _DDHAL_SETENTRIESDATA {
     LPDDHALPALCB_SETENTRIES    SetEntries;
 } DDHAL_SETENTRIESDATA;
 
+
 typedef struct _DDHAL_CANCREATEVPORTDATA
 {
     LPDDRAWI_DIRECTDRAW_LCL            lpDD;
@@ -828,6 +859,82 @@ typedef struct _DDHAL_VPORTCOLORDATA
     LPDDHALVPORTCB_COLORCONTROL ColorControl;
 } DDHAL_VPORTCOLORDATA;
 
+typedef struct _DDHAL_FLIPVPORTDATA
+{
+    LPDDRAWI_DIRECTDRAW_LCL   lpDD;   
+    LPDDRAWI_DDVIDEOPORT_LCL  lpVideoPort;
+    LPDDRAWI_DDRAWSURFACE_LCL lpSurfCurr; 
+    LPDDRAWI_DDRAWSURFACE_LCL lpSurfTarg; 
+    HRESULT                   ddRVal;     
+    LPDDHALVPORTCB_FLIP       FlipVideoPort; 
+} DDHAL_FLIPVPORTDATA;
+
+typedef struct _DDHAL_GETVPORTCONNECTDATA
+{
+    LPDDRAWI_DIRECTDRAW_LCL          lpDD; 
+    DWORD                            dwPortId;
+    LPDDVIDEOPORTCONNECT             lpConnect;
+    DWORD                            dwNumEntries;
+    HRESULT                          ddRVal; 
+    LPDDHALVPORTCB_GETVPORTCONNECT   GetVideoPortConnectInfo;
+} DDHAL_GETVPORTCONNECTDATA;
+
+typedef struct _DDHAL_SYNCSURFACEDATA
+{
+    DWORD                     dwSize;
+    LPDDRAWI_DIRECTDRAW_LCL   lpDD;
+    LPDDRAWI_DDRAWSURFACE_LCL lpDDSurface;
+    DWORD                     dwSurfaceOffset;
+    ULONG_PTR                 fpLockPtr;
+    LONG                      lPitch;
+    DWORD                     dwOverlayOffset;
+    DWORD                     dwOverlaySrcWidth;
+    DWORD                     dwOverlaySrcHeight;
+    DWORD                     dwOverlayDestWidth;
+    DWORD                     dwOverlayDestHeight;
+    ULONG_PTR                 dwDriverReserved1;
+    ULONG_PTR                 dwDriverReserved2;
+    ULONG_PTR                 dwDriverReserved3;
+    HRESULT                   ddRVal;
+} DDHAL_SYNCSURFACEDATA;
+
+typedef struct _DDHAL_SYNCVIDEOPORTDATA
+{
+    DWORD                    dwSize;
+    LPDDRAWI_DIRECTDRAW_LCL  lpDD;
+    LPDDRAWI_DDVIDEOPORT_LCL lpVideoPort;
+    DWORD                    dwOriginOffset;
+    DWORD                    dwHeight;
+    DWORD                    dwVBIHeight;
+    ULONG_PTR                dwDriverReserved1;
+    ULONG_PTR                dwDriverReserved2;
+    ULONG_PTR                dwDriverReserved3;
+    HRESULT                  ddRVal;
+} DDHAL_SYNCVIDEOPORTDATA;
+
+typedef struct _DDHAL_DESTROYDDLOCALDATA
+{
+    DWORD                    dwFlags;
+    LPDDRAWI_DIRECTDRAW_LCL  pDDLcl;
+    HRESULT                  ddRVal;
+} DDHAL_DESTROYDDLOCALDATA;
+
+typedef struct _DDHAL_CREATESURFACEEXDATA {
+    DWORD                      dwFlags;  
+    LPDDRAWI_DIRECTDRAW_LCL    lpDDLcl;  
+    LPDDRAWI_DDRAWSURFACE_LCL  lpDDSLcl; 
+    HRESULT                    ddRVal;   
+} DDHAL_CREATESURFACEEXDATA;
+
+typedef struct _DDHAL_GETHEAPALIGNMENTDATA
+{
+    ULONG_PTR                dwInstance;
+    DWORD                    dwHeap;
+    HRESULT                  ddRVal;
+    LPDDHAL_GETHEAPALIGNMENT GetHeapAlignment;
+    HEAPALIGNMENT            Alignment;
+} DDHAL_GETHEAPALIGNMENTDATA;
+
 
 /*****************************************************************************
  * high-level ddraw implementation structures
@@ -934,11 +1041,14 @@ typedef struct _DDRAWI_DIRECTDRAW_LCL {
 #define DDRAWILCL_CURSORCLIPPED                0x00001000
 #define DDRAWILCL_EXPLICITMONITOR      0x00002000
 #define DDRAWILCL_MULTITHREADED                0x00004000
-#define DDRAWILCL_FPUSETUP             0x00008000
+#define DDRAWILCL_FPUSETUP                 0x00008000
 #define DDRAWILCL_POWEREDDOWN          0x00010000
 #define DDRAWILCL_DIRECTDRAW7          0x00020000
 #define DDRAWILCL_ATTEMPTEDD3DCONTEXT  0x00040000
 #define DDRAWILCL_FPUPRESERVE          0x00080000
+#define DDRAWILCL_DX8DRIVER         0x00100000
+#define DDRAWILCL_DIRECTDRAW8       0x00200000 
+
 
 typedef struct _DDRAWI_DIRECTDRAW_GBL {
     DWORD                      dwRefCnt;
@@ -1017,15 +1127,37 @@ typedef struct _DDRAWI_DIRECTDRAW_GBL {
     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... */
+#define DDRAWI_xxxxxxxxx1              0x00000001
+#define DDRAWI_xxxxxxxxx2              0x00000002
+#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
+#define DDRAWI_HASCKEYDESTOVERLAY      0x00000800
+#define DDRAWI_HASCKEYSRCOVERLAY       0x00001000
+#define DDRAWI_HASGDIPALETTE           0x00002000
+#define DDRAWI_EMULATIONINITIALIZED    0x00004000
+#define DDRAWI_HASGDIPALETTE_EXCLUSIVE 0x00008000
+#define DDRAWI_MODEXILLEGAL            0x00010000
+#define DDRAWI_FLIPPEDTOGDI            0x00020000
+#define DDRAWI_NEEDSWIN16FORVRAMLOCK   0x00040000
+#define DDRAWI_PDEVICEVRAMBITCLEARED   0x00080000
+#define DDRAWI_STANDARDVGA             0x00100000
+#define DDRAWI_EXTENDEDALIGNMENT       0x00200000
+#define DDRAWI_CHANGINGMODE            0x00400000
+#define DDRAWI_GDIDRV                  0x00800000
+#define DDRAWI_ATTACHEDTODESKTOP       0x01000000
+#define DDRAWI_UMODELOADED             0x02000000
+#define DDRAWI_DDRAWDATANOTFETCHED     0x04000000
+#define DDRAWI_SECONDARYDRIVERLOADED   0x08000000
+#define DDRAWI_TESTINGMODES            0x10000000
+#define DDRAWI_DRIVERINFO2             0x20000000
+#define DDRAWI_BADPDEV                 0x40000000
+
 
 /* surfaces */
 typedef struct _DDRAWI_DDRAWSURFACE_INT {
@@ -1040,55 +1172,58 @@ typedef struct _DDRAWI_DDRAWSURFACE_GBL {
     DWORD                      dwGlobalFlags;
     union {
        LPACCESSRECTLIST        lpRectList;
-       DWORD                   dwBlockSizeY;
-    } DUMMYUNIONNAME1;
+       DWORD                       dwBlockSizeY;
+       LONG                lSlicePitch;
+    }; 
     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) */
+    ULONG_PTR                  dwReserved1; 
     DDPIXELFORMAT              ddpfSurface;
 } DDRAWI_DDRAWSURFACE_GBL;
 
-#define DDRAWISURFGBL_MEMFREE                  0x00000001L
-#define DDRAWISURFGBL_SYSMEMREQUESTED          0x00000002L
-#define DDRAWISURFGBL_ISGDISURFACE             0x00000004L
-#define DDRAWISURFGBL_SOFTWAREAUTOFLIP         0x00000008L
-#define DDRAWISURFGBL_LOCKNOTHOLDINGWIN16LOCK  0x00000010L
-#define DDRAWISURFGBL_LOCKVRAMSTYLE            0x00000020L
-#define DDRAWISURFGBL_LOCKBROKEN               0x00000040L
-#define DDRAWISURFGBL_IMPLICITHANDLE           0x00000080L
-#define DDRAWISURFGBL_ISCLIENTMEM              0x00000100L
-#define DDRAWISURFGBL_HARDWAREOPSOURCE         0x00000200L
-#define DDRAWISURFGBL_HARDWAREOPDEST           0x00000400L
-#define DDRAWISURFGBL_HARDWAREOPSTARTED                0x00000600L
-#define DDRAWISURFGBL_VPORTINTERLEAVED         0x00000800L
-#define DDRAWISURFGBL_VPORTDATA                        0x00001000L
-#define DDRAWISURFGBL_LATEALLOCATELINEAR       0x00002000L
-#define DDRAWISURFGBL_SYSMEMEXECUTEBUFFER      0x00004000L
-#define DDRAWISURFGBL_FASTLOCKHELD             0x00008000L
-#define DDRAWISURFGBL_READONLYLOCKHELD         0x00010000L
-#define DDRAWISURFGBL_NOTIFYWHENUNLOCKED        0x00200000L
+#define DDRAWISURFGBL_MEMFREE                    0x00000001L
+#define DDRAWISURFGBL_SYSMEMREQUESTED            0x00000002L
+#define DDRAWISURFGBL_ISGDISURFACE               0x00000004L
+#define DDRAWISURFGBL_SOFTWAREAUTOFLIP           0x00000008L
+#define DDRAWISURFGBL_LOCKNOTHOLDINGWIN16LOCK    0x00000010L
+#define DDRAWISURFGBL_LOCKVRAMSTYLE              0x00000020L
+#define DDRAWISURFGBL_LOCKBROKEN                 0x00000040L
+#define DDRAWISURFGBL_IMPLICITHANDLE             0x00000080L
+#define DDRAWISURFGBL_ISCLIENTMEM                0x00000100L
+#define DDRAWISURFGBL_HARDWAREOPSOURCE           0x00000200L
+#define DDRAWISURFGBL_HARDWAREOPDEST             0x00000400L
+#define DDRAWISURFGBL_HARDWAREOPSTARTED (DDRAWISURFGBL_HARDWAREOPSOURCE|DDRAWISURFGBL_HARDWAREOPDEST)
+#define DDRAWISURFGBL_VPORTINTERLEAVED           0x00000800L
+#define DDRAWISURFGBL_VPORTDATA                  0x00001000L
+#define DDRAWISURFGBL_LATEALLOCATELINEAR         0x00002000L
+#define DDRAWISURFGBL_SYSMEMEXECUTEBUFFER        0x00004000L
+#define DDRAWISURFGBL_FASTLOCKHELD               0x00008000L
+#define DDRAWISURFGBL_READONLYLOCKHELD           0x00010000L
+#define DDRAWISURFGBL_DX8SURFACE                 0x00080000L
+#define DDRAWISURFGBL_DDHELDONTFREE              0x00100000L
+#define DDRAWISURFGBL_NOTIFYWHENUNLOCKED         0x00200000L
+#define DDRAWISURFGBL_RESERVED0                  0x80000000L // Reserved flag
 
 typedef struct _DDRAWI_DDRAWSURFACE_GBL_MORE {
     DWORD                      dwSize;
     union {
        DWORD                   dwPhysicalPageTable;
        FLATPTR                 fpPhysicalVidMem;
-    } DUMMYUNIONNAME1;
+    };
     LPDWORD                    pPageTable;
     DWORD                      cPages;
     ULONG_PTR                  dwSavedDCContext;
@@ -1114,6 +1249,9 @@ typedef struct _DDRAWI_DDRAWSURFACE_GBL_MORE {
 #define GET_LPDDRAWSURFACE_GBL_MORE(psurf_gbl) \
     (*(((LPDDRAWI_DDRAWSURFACE_GBL_MORE *)(psurf_gbl)) - 1))
 
+
+
+
 #ifndef _NO_COM
 typedef struct _DDRAWI_DDRAWSURFACE_MORE {
     DWORD                      dwSize;
@@ -1241,7 +1379,7 @@ typedef struct _DDRAWI_DDRAWSURFACE_LCL {
 #define DDRAWISURF_HW_CKEYDESTBLT      0x00200000L
 #define DDRAWISURF_HW_CKEYSRCOVERLAY   0x00400000L 
 #define DDRAWISURF_HW_CKEYSRCBLT       0x00800000L
-#define DDRAWISURF_INMASTERSPRITELIST  0x01000000l
+#define DDRAWISURF_INMASTERSPRITELIST  0x01000000L
 #define DDRAWISURF_HELCB       0x02000000L 
 #define DDRAWISURF_FRONTBUFFER 0x04000000L 
 #define DDRAWISURF_BACKBUFFER  0x08000000L 
@@ -1320,7 +1458,7 @@ typedef struct _DDHAL_ENDMOCOMPFRAMEDATA FAR *LPDDHAL_ENDMOCOMPFRAMEDATA;
 typedef struct _DDHAL_RENDERMOCOMPDATA FAR *LPDDHAL_RENDERMOCOMPDATA;
 typedef struct _DDHAL_QUERYMOCOMPSTATUSDATA FAR *LPDDHAL_QUERYMOCOMPSTATUSDATA;
 typedef struct _DDHAL_DESTROYMOCOMPDATA FAR *LPDDHAL_DESTROYMOCOMPDATA;
-typedef struct _DDHAL_COLORCONTROLDATA FAR *LPDDHAL_COLORCONTROLDATA;
+
 
 typedef DWORD (FAR PASCAL *LPDDHALMOCOMPCB_GETGUIDS)( LPDDHAL_GETMOCOMPGUIDSDATA);
 typedef DWORD (FAR PASCAL *LPDDHALMOCOMPCB_GETFORMATS)( LPDDHAL_GETMOCOMPFORMATSDATA);
@@ -1332,7 +1470,7 @@ typedef DWORD (FAR PASCAL *LPDDHALMOCOMPCB_ENDFRAME)( LPDDHAL_ENDMOCOMPFRAMEDATA
 typedef DWORD (FAR PASCAL *LPDDHALMOCOMPCB_RENDER)( LPDDHAL_RENDERMOCOMPDATA);
 typedef DWORD (FAR PASCAL *LPDDHALMOCOMPCB_QUERYSTATUS)( LPDDHAL_QUERYMOCOMPSTATUSDATA);
 typedef DWORD (FAR PASCAL *LPDDHALMOCOMPCB_DESTROY)( LPDDHAL_DESTROYMOCOMPDATA);
-typedef DWORD (FAR PASCAL *LPDDHALCOLORCB_COLORCONTROL)(LPDDHAL_COLORCONTROLDATA);
+
 
 typedef struct _DDMCCOMPBUFFERINFO
 {
index 99756e9..00c494a 100644 (file)
@@ -795,9 +795,7 @@ typedef struct
 } DD_GETVPORTFLIPSTATUSDATA, *PDD_GETVPORTFLIPSTATUSDATA;
 typedef DWORD (STDCALL *PDD_VPORTCB_GETFLIPSTATUS)(PDD_GETVPORTFLIPSTATUSDATA);
 
-#define DDRAWI_VPORTSTART          1
-#define DDRAWI_VPORTSTOP           2
-#define DDRAWI_VPORTUPDATE         3
+
 
 typedef struct
 {
@@ -836,8 +834,7 @@ typedef struct
 } DD_GETVPORTSIGNALDATA, *PDD_GETVPORTSIGNALDATA;
 typedef DWORD (STDCALL *PDD_VPORTCB_GETSIGNALSTATUS)(PDD_GETVPORTSIGNALDATA);
 
-#define DDRAWI_VPORTGETCOLOR       1
-#define DDRAWI_VPORTSETCOLOR       2
+
 
 typedef struct
 {
diff --git a/reactos/w32api/include/ddk/dmemmgr.h b/reactos/w32api/include/ddk/dmemmgr.h
new file mode 100644 (file)
index 0000000..b24380d
--- /dev/null
@@ -0,0 +1,150 @@
+\r
+/* $Id: $\r
+ *\r
+ * COPYRIGHT:            See COPYING in the top level directory\r
+ * PROJECT:              ReactOS kernel\r
+ * FILE:                 \r
+ * PURPOSE:              Directx headers\r
+ * PROGRAMMER:           Magnus Olsen (greatlrd)\r
+ *\r
+ */\r
+\r
+#ifndef __DMEMMGR_INCLUDED__\r
+#define __DMEMMGR_INCLUDED__\r
+\r
+#ifdef __cplusplus\r
+extern "C" {\r
+#endif\r
+\r
+#ifndef __NTDDKCOMP__\r
+typedef ULONG_PTR FLATPTR;\r
+typedef struct _VIDMEM *LPVIDMEM;\r
+#else\r
+typedef ULONG_PTR FLATPTR;\r
+typedef struct _VIDEOMEMORY *LPVIDMEM;\r
+#endif\r
+\r
+#define SURFACEALIGN_DISCARDABLE 0x00000001\r
+#define VMEMHEAP_LINEAR                         0x00000001 \r
+#define VMEMHEAP_RECTANGULAR    0x00000002\r
+#define VMEMHEAP_ALIGNMENT      0x00000004\r
+\r
+typedef struct _VMEML\r
+{\r
+  struct _VMEML *next;\r
+  FLATPTR ptr;\r
+  DWORD size;\r
+  BOOL  bDiscardable;\r
+} VMEML, *LPVMEML, *LPLPVMEML;\r
+\r
+typedef struct _VMEMR\r
+{\r
+  struct _VMEMR *next;\r
+  struct _VMEMR *prev;\r
+  \r
+  struct _VMEMR *pUp;\r
+  struct _VMEMR *pDown;\r
+  struct _VMEMR *pLeft;\r
+  struct _VMEMR *pRight;\r
+  FLATPTR  ptr;\r
+  DWORD                size;\r
+  DWORD     x;\r
+  DWORD     y;\r
+  DWORD     cx;\r
+  DWORD     cy;\r
+  DWORD                flags;\r
+  FLATPTR    pBits;\r
+  BOOL  bDiscardable;\r
+} VMEMR,  *LPVMEMR,  *LPLPVMEMR;\r
+\r
+\r
+typedef struct _SURFACEALIGNMENT\r
+{\r
+  union\r
+  {\r
+    struct\r
+    {\r
+      DWORD       dwStartAlignment;\r
+      DWORD       dwPitchAlignment;\r
+      DWORD       dwFlags;\r
+      DWORD       dwReserved2;\r
+    } Linear;\r
+    struct\r
+    {\r
+      DWORD dwXAlignment;\r
+      DWORD dwYAlignment;\r
+      DWORD dwFlags;\r
+      DWORD dwReserved2;\r
+    } Rectangular;\r
+  };\r
+} SURFACEALIGNMENT, *LPSURFACEALIGNMENT;\r
+\r
+typedef struct _HEAPALIGNMENT\r
+{\r
+    DWORD            dwSize;\r
+    DDSCAPS          ddsCaps;\r
+    DWORD            dwReserved;\r
+    SURFACEALIGNMENT ExecuteBuffer;\r
+    SURFACEALIGNMENT Overlay;\r
+    SURFACEALIGNMENT Texture;\r
+    SURFACEALIGNMENT ZBuffer;\r
+    SURFACEALIGNMENT AlphaBuffer;\r
+    SURFACEALIGNMENT Offscreen;\r
+    SURFACEALIGNMENT FlipTarget;\r
+} HEAPALIGNMENT, *LPHEAPALIGNMENT;\r
+\r
+\r
+typedef struct _VMEMHEAP\r
+{\r
+    DWORD   dwFlags;\r
+    DWORD   stride;\r
+    LPVOID  freeList;\r
+    LPVOID  allocList;\r
+    DWORD   dwTotalSize;\r
+    FLATPTR fpGARTLin;\r
+    FLATPTR fpGARTDev;\r
+    DWORD   dwCommitedSize;     \r
+    DWORD   dwCoalesceCount;\r
+    HEAPALIGNMENT Alignment;\r
+    DDSCAPSEX   ddsCapsEx;\r
+    DDSCAPSEX   ddsCapsExAlt;\r
+#ifndef IS_16\r
+    LARGE_INTEGER liPhysAGPBase;\r
+#endif\r
+    HANDLE        hdevAGP;\r
+    LPVOID        pvPhysRsrv;\r
+    BYTE*         pAgpCommitMask;\r
+    DWORD         dwAgpCommitMaskSize;\r
+} VMEMHEAP;\r
+\r
+typedef VMEMHEAP FAR *LPVMEMHEAP;\r
+\r
+typedef struct _DD_GETHEAPALIGNMENTDATA\r
+{\r
+    ULONG_PTR     dwInstance; \r
+    DWORD         dwHeap;\r
+    HRESULT       ddRVal;\r
+    VOID*         GetHeapAlignment;\r
+    HEAPALIGNMENT Alignment;\r
+} DD_GETHEAPALIGNMENTDATA, *PDD_GETHEAPALIGNMENTDATA;\r
+\r
+extern void WINAPI VidMemFree( LPVMEMHEAP pvmh, FLATPTR ptr);\r
+\r
+extern FLATPTR WINAPI \r
+       HeapVidMemAllocAligned(\r
+                               LPVIDMEM lpVidMem,\r
+                               DWORD dwWidth,\r
+                               DWORD dwHeight,\r
+                               LPSURFACEALIGNMENT lpAlignment ,\r
+                               LPLONG lpNewPitch );\r
+\r
+\r
+#ifndef __NTDDKCOMP__\r
+extern FLATPTR WINAPI VidMemAlloc( LPVMEMHEAP pvmh, DWORD width, DWORD height);\r
+#endif\r
+\r
+#ifdef __cplusplus\r
+};\r
+#endif\r
+\r
+#endif\r
index 7840a80..e159f3c 100644 (file)
@@ -119,6 +119,85 @@ typedef struct _DDVIDEOPORTNOTIFY
 } DDVIDEOPORTNOTIFY;\r
 \r
 \r
+#define DDVPCONNECT_DOUBLECLOCK                         0x00000001\r
+#define DDVPCONNECT_VACT                            0x00000002\r
+#define DDVPCONNECT_INVERTPOLARITY              0x00000004\r
+#define DDVPCONNECT_DISCARDSVREFDATA    0x00000008\r
+#define DDVPCONNECT_HALFLINE                    0x00000010\r
+#define DDVPCONNECT_INTERLACED                  0x00000020\r
+#define DDVPCONNECT_SHAREEVEN                   0x00000040\r
+#define DDVPCONNECT_SHAREODD                    0x00000080\r
+#define DDVPCAPS_AUTOFLIP                           0x00000001\r
+#define DDVPCAPS_INTERLACED                         0x00000002\r
+#define DDVPCAPS_NONINTERLACED                  0x00000004\r
+#define DDVPCAPS_READBACKFIELD                  0x00000008\r
+#define DDVPCAPS_READBACKLINE                   0x00000010\r
+#define DDVPCAPS_SHAREABLE                          0x00000020\r
+#define DDVPCAPS_SKIPEVENFIELDS                         0x00000040\r
+#define DDVPCAPS_SKIPODDFIELDS                  0x00000080\r
+#define DDVPCAPS_SYNCMASTER                         0x00000100\r
+#define DDVPCAPS_VBISURFACE                     0x00000200\r
+#define DDVPCAPS_COLORCONTROL                   0x00000400\r
+#define DDVPCAPS_OVERSAMPLEDVBI                         0x00000800\r
+#define DDVPCAPS_SYSTEMMEMORY                   0x00001000\r
+#define DDVPCAPS_VBIANDVIDEOINDEPENDENT  0x00002000\r
+#define DDVPCAPS_HARDWAREDEINTERLACE     0x00004000\r
+#define DDVPFX_CROPTOPDATA                      0x00000001\r
+#define DDVPFX_CROPX                            0x00000002\r
+#define DDVPFX_CROPY                            0x00000004\r
+#define DDVPFX_INTERLEAVE                       0x00000008\r
+#define DDVPFX_MIRRORLEFTRIGHT          0x00000010\r
+#define DDVPFX_MIRRORUPDOWN                     0x00000020\r
+#define DDVPFX_PRESHRINKX                       0x00000040\r
+#define DDVPFX_PRESHRINKY                       0x00000080\r
+#define DDVPFX_PRESHRINKXB                      0x00000100\r
+#define DDVPFX_PRESHRINKYB                      0x00000200\r
+#define DDVPFX_PRESHRINKXS                      0x00000400\r
+#define DDVPFX_PRESHRINKYS                      0x00000800\r
+#define DDVPFX_PRESTRETCHX                      0x00001000\r
+#define DDVPFX_PRESTRETCHY                      0x00002000\r
+#define DDVPFX_PRESTRETCHXN                     0x00004000\r
+#define DDVPFX_PRESTRETCHYN                     0x00008000\r
+#define DDVPFX_VBICONVERT                       0x00010000\r
+#define DDVPFX_VBINOSCALE                       0x00020000\r
+#define DDVPFX_IGNOREVBIXCROP           0x00040000\r
+#define DDVPFX_VBINOINTERLEAVE          0x00080000\r
+#define DDVP_AUTOFLIP                           0x00000001\r
+#define DDVP_CONVERT                            0x00000002\r
+#define DDVP_CROP                                       0x00000004\r
+#define DDVP_INTERLEAVE                                 0x00000008\r
+#define DDVP_MIRRORLEFTRIGHT            0x00000010\r
+#define DDVP_MIRRORUPDOWN                       0x00000020\r
+#define DDVP_PRESCALE                           0x00000040\r
+#define DDVP_SKIPEVENFIELDS                     0x00000080\r
+#define DDVP_SKIPODDFIELDS                      0x00000100\r
+#define DDVP_SYNCMASTER                                 0x00000200\r
+#define DDVP_VBICONVERT                                 0x00000400\r
+#define DDVP_VBINOSCALE                                 0x00000800\r
+#define DDVP_OVERRIDEBOBWEAVE           0x00001000\r
+#define DDVP_IGNOREVBIXCROP                     0x00002000\r
+#define DDVP_VBINOINTERLEAVE            0x00004000\r
+#define DDVP_HARDWAREDEINTERLACE         0x00008000\r
+#define DDVPFORMAT_VIDEO                            0x00000001\r
+#define DDVPFORMAT_VBI                          0x00000002\r
+#define DDVPTARGET_VIDEO                                0x00000001\r
+#define DDVPTARGET_VBI                                  0x00000002\r
+#define DDVPWAIT_BEGIN                                  0x00000001\r
+#define DDVPWAIT_END                                    0x00000002\r
+#define DDVPWAIT_LINE                                   0x00000003\r
+#define DDVPFLIP_VIDEO                                  0x00000001\r
+#define DDVPFLIP_VBI                                    0x00000002\r
+#define DDVPSQ_NOSIGNAL                                         0x00000001\r
+#define DDVPSQ_SIGNALOK                                         0x00000002\r
+#define DDVPB_VIDEOPORT                                         0x00000001\r
+#define DDVPB_OVERLAY                                   0x00000002\r
+#define DDVPB_TYPE                                              0x00000004\r
+#define DDVPBCAPS_SOURCE                                0x00000001\r
+#define DDVPBCAPS_DESTINATION                   0x00000002\r
+#define DDVPCREATE_VBIONLY                              0x00000001\r
+#define DDVPCREATE_VIDEOONLY                    0x00000002\r
+#define DDVPSTATUS_VBIONLY                              0x00000001\r
+#define DDVPSTATUS_VIDEOONLY                    0x00000002\r
 \r
 typedef struct _DDVIDEOPORTCONNECT   *LPDDVIDEOPORTCONNECT;\r
 typedef struct _DDVIDEOPORTCAPS      *LPDDVIDEOPORTCAPS;\r