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.
 
 
 
 
 
 

45 lines
1.7 KiB

/******************************Module*Header**********************************\
*
* *******************
* * GDI SAMPLE CODE *
* *******************
*
* Module Name: glntctxt.h
*
* Content: Defines for context switching code.
*
* Copyright (c) 1994-1999 3Dlabs Inc. Ltd. All rights reserved.
* Copyright (c) 1995-2003 Microsoft Corporation. All rights reserved.
\*****************************************************************************/
// each time round allocate this many entries
#define CTXT_CHUNK 8
// each context consists of a set of tags and the corresponding data. so after
// ntags we have 2*ntags*sizeof(DWORD) bytes of memory.
typedef struct _glint_ctxt_data {
DWORD tag;
DWORD data;
} CtxtData;
typedef struct _glint_ctxt {
LONG ntags;
PVOID priv; // opaque handle passed by caller
DWORD DoubleWrite; // Racer double write control
DWORD DMAControl; // AGP or PCI on P2 and Gamma
ULONG endIndex; // endIndex for the interrupt driven DMA Q
ULONG inFifoDisc; // disconnect
ULONG VideoControl; // Video Control
ContextType type; // To support reduced size context switching
ContextFixedFunc dumpFunc; // Function for dumping a fixed context
CtxtData pData[1];
// more follows in memory
} GlintCtxtRec;
typedef struct _glint_ctxt_table {
LONG size; // in bytes of the table
LONG nEntries;
GlintCtxtRec* pEntry[CTXT_CHUNK];
// more to be allocated in memory if needed
} GlintCtxtTable;