ReactOS  0.4.14-dev-998-g623dd26
driver.h
Go to the documentation of this file.
1 /*
2  * PROJECT: ReactOS Framebuffer Display Driver
3  * LICENSE: Microsoft NT4 DDK Sample Code License
4  * FILE: win32ss/drivers/displays/framebuf_new/driver.h
5  * PURPOSE: Main Driver Header File
6  * PROGRAMMERS: Copyright (c) 1992-1995 Microsoft Corporation
7  * ReactOS Portable Systems Group
8  */
9 
10 #ifndef _FRAMEBUF_NEW_PCH_
11 #define _FRAMEBUF_NEW_PCH_
12 
13 //#define DBG 1
14 #include <stdarg.h>
15 #include <windef.h>
16 #include <wingdi.h>
17 #include <winddi.h>
18 #include <devioctl.h>
19 #include <ntddvdeo.h>
20 #include "debug.h"
21 
22 typedef struct _PDEV
23 {
24  HANDLE hDriver; // Handle to \Device\Screen
25  HDEV hdevEng; // Engine's handle to PDEV
26  HSURF hsurfEng; // Engine's handle to surface
27  HPALETTE hpalDefault; // Handle to the default palette for device.
28  PBYTE pjScreen; // This is pointer to base screen address
29  ULONG cxScreen; // Visible screen width
30  ULONG cyScreen; // Visible screen height
31  ULONG ulMode; // Mode the mini-port driver is in.
32  LONG lDeltaScreen; // Distance from one scan to the next.
33  ULONG cScreenSize; // size of video memory, including
34  // offscreen memory.
35  PVOID pOffscreenList; // linked list of DCI offscreen surfaces.
36  FLONG flRed; // For bitfields device, Red Mask
37  FLONG flGreen; // For bitfields device, Green Mask
38  FLONG flBlue; // For bitfields device, Blue Mask
39  ULONG cPaletteShift; // number of bits the 8-8-8 palette must
40  // be shifted by to fit in the hardware
41  // palette.
42  ULONG ulBitCount; // # of bits per pel 8,16,24,32 are only supported.
43  POINTL ptlHotSpot; // adjustment for pointer hot spot
45  PVIDEO_POINTER_ATTRIBUTES pPointerAttributes; // hardware pointer attributes
46  DWORD cjPointerAttributes; // Size of buffer allocated
47  BOOL fHwCursorActive; // Are we currently using the hw cursor
48  PALETTEENTRY *pPal; // If this is pal managed, this is the pal
49  BOOL bSupportDCI; // Does the miniport support DCI?
50 // eVb: 3.1 [DDK Change] - Support new VGA Miniport behavior w.r.t updated framebuffer remapping
52 // eVb: 3.1 [END]
53 } PDEV, *PPDEV;
54 
63 
64 #define MAX_CLUT_SIZE (sizeof(VIDEO_CLUT) + (sizeof(ULONG) * 256))
65 
66 //
67 // Determines the size of the DriverExtra information in the DEVMODE
68 // structure passed to and from the display driver.
69 //
70 
71 #define DRIVER_EXTRA_SIZE 0
72 
73 #define DLL_NAME L"framebuf" // Name of the DLL in UNICODE
74 #define STANDARD_DEBUG_PREFIX "FRAMEBUF: " // All debug output is prefixed
75 #define ALLOC_TAG 'bfDD' // Four byte tag (characters in
76  // reverse order) used for memory
77  // allocations
78 
79 #endif /* _FRAMEBUF_NEW_PCH_ */
VIDEO_POINTER_CAPABILITIES PointerCapabilities
Definition: driver.h:44
HSURF hsurfEng
Definition: driver.h:26
ULONG ulMode
Definition: driver.h:31
VOID NTAPI vDisablePalette(PPDEV)
Definition: palette.c:65
HPALETTE hpalDefault
Definition: driver.h:27
struct _PDEV * PPDEV
PALETTEENTRY * pPal
Definition: driver.h:48
FLONG flGreen
Definition: driver.h:37
ULONG cyScreen
Definition: driver.h:30
POINTL ptlHotSpot
Definition: driver.h:43
NTSTATUS(* NTAPI)(IN PFILE_FULL_EA_INFORMATION EaBuffer, IN ULONG EaLength, OUT PULONG ErrorOffset)
Definition: IoEaTest.cpp:117
struct _PDEV PDEV
unsigned int BOOL
Definition: ntddk_ex.h:94
long LONG
Definition: pedump.c:60
HANDLE hDriver
Definition: framebuf.h:35
DWORD cjPointerAttributes
Definition: driver.h:46
BOOL NTAPI bInitPaletteInfo(PPDEV, DEVINFO *)
Definition: palette.c:50
unsigned long FLONG
Definition: ntbasedef.h:373
ULONG cScreenSize
Definition: driver.h:33
typedef HSURF(APIENTRY FN_DrvEnableSurface)(_In_ DHPDEV dhpdev)
FLONG flRed
Definition: driver.h:36
HDEV hdevEng
Definition: driver.h:25
ULONG ulBitCount
Definition: driver.h:42
unsigned long DWORD
Definition: ntddk_ex.h:95
LONG flHooks
Definition: driver.h:51
VOID NTAPI vDisableSURF(PPDEV)
Definition: screen.c:172
Definition: framebuf.h:33
DWORD NTAPI getAvailableModes(HANDLE, PVIDEO_MODE_INFORMATION *, DWORD *)
Definition: screen.c:507
ULONG cPaletteShift
Definition: driver.h:39
PVIDEO_POINTER_ATTRIBUTES pPointerAttributes
Definition: driver.h:45
PBYTE pjScreen
Definition: driver.h:28
BOOL NTAPI bInit256ColorPalette(PPDEV)
Definition: palette.c:193
unsigned int ULONG
Definition: retypes.h:1
BOOL NTAPI bInitPointer(PPDEV, DEVINFO *)
Definition: pointer.c:400
BOOL NTAPI bInitSURF(PPDEV, BOOL)
Definition: screen.c:43
BOOL NTAPI bInitPDEV(PPDEV, PDEVMODEW, GDIINFO *, DEVINFO *)
BOOL bSupportDCI
Definition: driver.h:49
BOOL fHwCursorActive
Definition: driver.h:47
LONG lDeltaScreen
Definition: driver.h:32
FLONG flBlue
Definition: driver.h:38
BYTE * PBYTE
Definition: pedump.c:66
ULONG cxScreen
Definition: driver.h:29
PVOID pOffscreenList
Definition: driver.h:35