Home | Info | Community | Development | myReactOS | Contact Us
ReactOS Development > Doxygendriver.h
Go to the documentation of this file.
00001 /* 00002 * PROJECT: ReactOS Framebuffer Display Driver 00003 * LICENSE: Microsoft NT4 DDK Sample Code License 00004 * FILE: boot/drivers/video/displays/framebuf/driver.h 00005 * PURPOSE: Main Driver Header File 00006 * PROGRAMMERS: Copyright (c) 1992-1995 Microsoft Corporation 00007 * ReactOS Portable Systems Group 00008 */ 00009 00010 //#define DBG 1 00011 #include "stddef.h" 00012 #include <stdarg.h> 00013 #include <string.h> 00014 #include "windef.h" 00015 #include "wingdi.h" 00016 #include "winddi.h" 00017 #include "devioctl.h" 00018 #include "ntddvdeo.h" 00019 #include "debug.h" 00020 00021 typedef struct _PDEV 00022 { 00023 HANDLE hDriver; // Handle to \Device\Screen 00024 HDEV hdevEng; // Engine's handle to PDEV 00025 HSURF hsurfEng; // Engine's handle to surface 00026 HPALETTE hpalDefault; // Handle to the default palette for device. 00027 PBYTE pjScreen; // This is pointer to base screen address 00028 ULONG cxScreen; // Visible screen width 00029 ULONG cyScreen; // Visible screen height 00030 ULONG ulMode; // Mode the mini-port driver is in. 00031 LONG lDeltaScreen; // Distance from one scan to the next. 00032 ULONG cScreenSize; // size of video memory, including 00033 // offscreen memory. 00034 PVOID pOffscreenList; // linked list of DCI offscreen surfaces. 00035 FLONG flRed; // For bitfields device, Red Mask 00036 FLONG flGreen; // For bitfields device, Green Mask 00037 FLONG flBlue; // For bitfields device, Blue Mask 00038 ULONG cPaletteShift; // number of bits the 8-8-8 palette must 00039 // be shifted by to fit in the hardware 00040 // palette. 00041 ULONG ulBitCount; // # of bits per pel 8,16,24,32 are only supported. 00042 POINTL ptlHotSpot; // adjustment for pointer hot spot 00043 VIDEO_POINTER_CAPABILITIES PointerCapabilities; // HW pointer abilities 00044 PVIDEO_POINTER_ATTRIBUTES pPointerAttributes; // hardware pointer attributes 00045 DWORD cjPointerAttributes; // Size of buffer allocated 00046 BOOL fHwCursorActive; // Are we currently using the hw cursor 00047 PALETTEENTRY *pPal; // If this is pal managed, this is the pal 00048 BOOL bSupportDCI; // Does the miniport support DCI? 00049 // eVb: 3.1 [DDK Change] - Support new VGA Miniport behavior w.r.t updated framebuffer remapping 00050 LONG flHooks; 00051 // eVb: 3.1 [END] 00052 } PDEV, *PPDEV; 00053 00054 DWORD getAvailableModes(HANDLE, PVIDEO_MODE_INFORMATION *, DWORD *); 00055 BOOL bInitPDEV(PPDEV, PDEVMODEW, GDIINFO *, DEVINFO *); 00056 BOOL bInitSURF(PPDEV, BOOL); 00057 BOOL bInitPaletteInfo(PPDEV, DEVINFO *); 00058 BOOL bInitPointer(PPDEV, DEVINFO *); 00059 BOOL bInit256ColorPalette(PPDEV); 00060 VOID vDisablePalette(PPDEV); 00061 VOID vDisableSURF(PPDEV); 00062 00063 #define MAX_CLUT_SIZE (sizeof(VIDEO_CLUT) + (sizeof(ULONG) * 256)) 00064 00065 // 00066 // Determines the size of the DriverExtra information in the DEVMODE 00067 // structure passed to and from the display driver. 00068 // 00069 00070 #define DRIVER_EXTRA_SIZE 0 00071 00072 #define DLL_NAME L"framebuf" // Name of the DLL in UNICODE 00073 #define STANDARD_DEBUG_PREFIX "FRAMEBUF: " // All debug output is prefixed 00074 #define ALLOC_TAG 'bfDD' // Four byte tag (characters in 00075 // reverse order) used for memory 00076 // allocations Generated on Sun May 27 2012 04:38:08 for ReactOS by
1.7.6.1
|