ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

driver.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 doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.