Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

61 lines
2.7 KiB

  1. /******************************Module*Header*******************************\
  2. * Module Name: driver.h
  3. *
  4. * Contains prototypes for the display driver.
  5. *
  6. * Copyright (c) 1992-1995 Microsoft Corporation
  7. \**************************************************************************/
  8. typedef struct _PDEV PDEV; // Handy forward declaration
  9. //////////////////////////////////////////////////////////////////////
  10. // Miscellaneous shared stuff
  11. #define DLL_NAME L"vga" // Name of the DLL in UNICODE
  12. #define STANDARD_DEBUG_PREFIX "Vga risc: " // All debug output is prefixed
  13. // by this string
  14. #define ALLOC_TAG 'rgvD' // Dvgr
  15. // Four byte tag (characters in
  16. // reverse order) used for
  17. // memory allocations
  18. #define DRIVER_EXTRA_SIZE 0 // Size of the DriverExtra information in the
  19. // DEVMODE structure
  20. // Describes a single color tetrahedron vertex for dithering
  21. typedef struct _VERTEX_DATA {
  22. ULONG ulCount; // # of pixels in this vertex
  23. ULONG ulVertex; // vertex #
  24. } VERTEX_DATA;
  25. ////////////////////////////////////////////////////////////////////////
  26. // The Physical Device data structure
  27. typedef struct _PDEV
  28. {
  29. ULONG iBitmapFormat; // BMF_4BPP (our current colour depth)
  30. BYTE* pjScreen; // Points to base screen address
  31. LONG lDelta; // Screen stride
  32. HANDLE hDriver; // Handle to \Device\Screen
  33. HDEV hdevEng; // Engine's handle to PDEV
  34. HSURF hsurfScreen; // Engine's handle to screen surface
  35. FLONG flHooks; // What we're hooking from GDI
  36. UCHAR* pjBase; // Mapped IO port base for this PDEV
  37. LONG cxScreen; // Visible screen width
  38. LONG cyScreen; // Visible screen height
  39. ULONG ulMode; // Mode the mini-port driver is in.
  40. HPALETTE hpalDefault; // GDI handle to the default palette.
  41. SURFOBJ* pso; // DIB copy of our surface to which we
  42. // have GDI draw everything
  43. } PDEV, *PPDEV;
  44. /////////////////////////////////////////////////////////////////////////
  45. // Miscellaneous prototypes:
  46. VOID vUpdate(PDEV*, RECTL*, CLIPOBJ*);
  47. BOOL bAssertModeHardware(PDEV*, BOOL);
  48. BOOL bEnableHardware(PDEV*);
  49. VOID vDisableHardware(PDEV*);