Annotation of ntddk/src/video/displays/xga/driver.h, revision 1.1

1.1     ! root        1: /******************************Module*Header*******************************\
        !             2: * Module Name: driver.h
        !             3: *
        !             4: * contains prototypes for the xga display driver.
        !             5: *
        !             6: * Copyright (c) 1992 Microsoft Corporation
        !             7: \**************************************************************************/
        !             8: 
        !             9: #ifndef DRIVER_H
        !            10: #define DRIVER_H 1
        !            11: 
        !            12: #include "stddef.h"
        !            13: #include "windows.h"
        !            14: #include "winddi.h"
        !            15: #include "devioctl.h"
        !            16: #include "ntddvdeo.h"
        !            17: #include "debug.h"
        !            18: 
        !            19: #include "xgaregs.h"
        !            20: 
        !            21: //
        !            22: // XGA Memory management stuff.
        !            23: //
        !            24: 
        !            25: typedef struct cp_alloc_node {
        !            26:     struct cp_alloc_node *pcpanNext;
        !            27:     ULONG   ulFlags;
        !            28:     HANDLE  hCpAllocNode;
        !            29:     ULONG   ulLength;
        !            30:     PVOID   pCpLinearMemory;
        !            31:     ULONG   ulCpPhysicalMemory;
        !            32: } CPALLOCNODE, *PCPALLOCNODE;
        !            33: 
        !            34: //
        !            35: // Font Stuff
        !            36: //
        !            37: 
        !            38: typedef struct _cachedGlyph {
        !            39:     HGLYPH          hg;
        !            40:     struct          _cachedGlyph  *pcgCollisionLink;
        !            41:     ULONG           fl;
        !            42:     POINTL          ptlOrigin;
        !            43:     SIZEL           sizlBitmap;
        !            44:     ULONG           BmPitchInPels;
        !            45:     ULONG           BmPitchInBytes;
        !            46:     PCPALLOCNODE    pcpan;
        !            47:     PVOID           pCpLinearMemory;
        !            48:     ULONG           ulCpPhysicalMemory;
        !            49: } CACHEDGLYPH, *PCACHEDGLYPH;
        !            50: 
        !            51: #define VALID_GLYPH     0x01
        !            52: 
        !            53: #define END_COLLISIONS  0
        !            54: 
        !            55: 
        !            56: typedef struct _cachedFont {
        !            57:     struct _cachedFont *pcfNext;
        !            58:     ULONG           iUniq;
        !            59:     ULONG           cGlyphs;
        !            60:     ULONG           cjMaxGlyph1;
        !            61:     PCACHEDGLYPH    pCachedGlyphs;
        !            62: } CACHEDFONT, *PCACHEDFONT;
        !            63: 
        !            64: 
        !            65: typedef struct  _PDEV
        !            66: {
        !            67:     HANDLE  hDriver;                    // Handle to \Device\Screen
        !            68:     HDEV    hdevEng;                    // Engine's handle to PDEV
        !            69:     HSURF   hSurfEng;                   // Engine's handle to surface
        !            70:     HSURF   hSurfBm;                    // Handle to the engine bitmap
        !            71:     SURFOBJ *pSurfObj;                 // Pointer to the locked surface object.
        !            72:     HPALETTE hpalDefault;               // Handle to the default palette for device.
        !            73:     PBYTE   pjScreen;                   // This is pointer to base screen address
        !            74:     ULONG   cxScreen;                   // Visible screen width
        !            75:     ULONG   cyScreen;                   // Visible screen height
        !            76:     ULONG   ulMode;                     // Mode the mini-port driver is in.
        !            77:     LONG    lDeltaScreen;               // Distance from one scan to the next.
        !            78:     FLONG   flRed;                      // For bitfields device, Red Mask
        !            79:     FLONG   flGreen;                    // For bitfields device, Green Mask
        !            80:     FLONG   flBlue;                     // For bitfields device, Blue Mask
        !            81:     ULONG   ulBitCount;                 // # of bits per pel 8,16,32 are only supported.
        !            82:     ULONG   cPatterns;                  // Count of bitmap patterns created
        !            83:     HBITMAP ahbmPat[HS_DDI_MAX];       // Engine handles to standard patterns
        !            84:     PALETTEENTRY *pPal;                 // If this is pal managed, this is the pal
        !            85: 
        !            86:     PXGACPREGS pXgaCpRegs;
        !            87:     ULONG   ulPhysFrameBuffer;          // 32 bit physical address of the frame buffer.
        !            88:     ULONG   ulXgaIoRegsBase;            // IO address of XGA registers.
        !            89:     ULONG   ulScreenSize;               // Size of the framebuffer.
        !            90:     ULONG   ulVideoMemorySize;          // Size of the video memory.
        !            91: 
        !            92:     ULONG   ulfAccelerations_debug;     // debugging flag
        !            93:     ULONG   ulfBlitAccelerations_debug; // debugging flag
        !            94: 
        !            95:     PCPALLOCNODE pAllocatedListRoot;
        !            96:     PCPALLOCNODE pFreeListRoot;
        !            97: 
        !            98:     PCACHEDFONT pCachedFontsRoot;
        !            99: 
        !           100: } PDEV, *PPDEV;
        !           101: 
        !           102: BOOL bInitPDEV(PPDEV,PDEVMODEW, GDIINFO *, DEVINFO *);
        !           103: BOOL bInitSURF(PPDEV,BOOL);
        !           104: BOOL bInitPaletteInfo(PPDEV, DEVINFO *);
        !           105: BOOL bInit256ColorPalette(PPDEV);
        !           106: BOOL bInitPatterns(PPDEV, ULONG);
        !           107: VOID vDisablePalette(PPDEV);
        !           108: VOID vDisablePatterns(PPDEV);
        !           109: VOID vDisableSURF(PPDEV);
        !           110: DWORD getAvailableModes(HANDLE, PVIDEO_MODE_INFORMATION *, DWORD *);
        !           111: 
        !           112: //
        !           113: // Pointer function prototypes
        !           114: //
        !           115: 
        !           116: VOID vMoveHardwarePointer(SURFOBJ *,LONG,LONG);
        !           117: BOOL bSetHardwarePointerShape(SURFOBJ  *,SURFOBJ *,SURFOBJ  *, XLATEOBJ *,
        !           118:                               LONG, LONG, LONG, LONG, FLONG);
        !           119: #define MAX_CLUT_SIZE (sizeof(VIDEO_CLUT) + (sizeof(ULONG) * 256))
        !           120: 
        !           121: //
        !           122: // Determines the size of the DriverExtra information in the DEVMODE
        !           123: // structure passed to and from the display driver.
        !           124: //
        !           125: 
        !           126: #define DRIVER_EXTRA_SIZE 0
        !           127: 
        !           128: 
        !           129: #include "xgaioctl.h"
        !           130: 
        !           131: #include "xga.h"
        !           132: 
        !           133: 
        !           134: #endif // DRIVER_H

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.