source: branches/gcc-kmk/src/ddraw/svgadefs.h@ 21836

Last change on this file since 21836 was 21692, checked in by dmik, 14 years ago

Normalize file case.

Change all uppercase filenames and extensions to lowercase (except well known cases like LICENSE.TXT and so on).

File size: 43.3 KB
Line 
1/*****************************************************************************
2 *
3 * SOURCE FILE NAME = SVGADEFS.H
4 *
5 * DESCRIPTIVE NAME =
6 *
7 * Copyright : COPYRIGHT IBM CORPORATION, 1991, 1992
8 * Copyright Microsoft Corporation, 1990
9 * LICENSED MATERIAL - PROGRAM PROPERTY OF IBM
10 * REFER TO COPYRIGHT INSTRUCTION FORM#G120-2083
11 * RESTRICTED MATERIALS OF IBM
12 * IBM CONFIDENTIAL
13 *
14 * VERSION = V2.0
15 *
16 * DATE
17 *
18 * DESCRIPTION Contains SVGA definitions.
19 *
20 * FUNCTIONS
21 *
22 * NOTES When included into VVID sources, #ifdef SVGA
23 * must be used before #include!
24 *
25 * STRUCTURES
26 *
27 * EXTERNAL REFERENCES
28 *
29 * EXTERNAL FUNCTIONS
30 *
31 * CHANGE ACTIVITY =
32 * DATE FLAG APAR CHANGE DESCRIPTION
33 * -------- ---------- ----- --------------------------------------
34 * mm/dd/yy @Vr.mpppxx xxxxx xxxxxxx
35 * 12/29/92 @V2.0SEN00 Created.
36 * 03/12/93 @V2.0SEN01 OEMINFO structure changed.
37 * 08/31/93 @V2.1YEE02 Recognize Cirrus Logic GD5428 chip
38 * 10/28/93 @V2.1MNH00 Recognize Additional Adapters
39 * 12/06/93 @V2.1YEE05 D 76476 Add ID for Chips & Technologies
40 * 12/15/93 @V2.1YEE06 D 76685 Add Artist Graphics manufacturer
41 * 02/21/94 @V2.1MNH01 D 79562 Recognize Additional Adapters/Chips
42 * 04/14/94 @V2.1MNH05 D 81883 WD90C24 allow more unlocks
43 * 04/26/94 @V2.1MNH08 D 82003 WD90C24 preserve locks for BIOS setmodes
44 * 05/12/94 @V2.1YEE08 Add more Cirrus chipsets
45 * 05/13/94 @V2.1MNH13 F 74819 ATI Mach8/32 check in files
46 * 05/18/94 @V2.1MNH14 WD90C33 Parse new style PMI
47 * 06/22/94 @V2.1JWK02 D 87347 Define Tseng Chip Names for consistant use
48 * 07/25/94 @V2.1JWK03 D 89911 Define Tseng W32xD Revisions
49 * 07/28/94 @V2.1YEE09 D 88172 Define a Chips and Technologies chiptype
50 * 08/02/94 @V2.1MNH25 D 91551 Fix various DAC programming problems
51 * 08/19/94 @V2.1MNH37 D 94209 Add more DAC detection
52 * 09/01/94 @V2.1YEE10 D 89853 Add support for S3864 with ICD2061 clock chip
53 * 09/10/94 @V2.2TSU00 D 86373 Weitek: PCI screen01 incorrect
54 * 09/15/94 @V2.1YEE11 Identify DAC as RGB (blue first) or BGR (red first)
55 * 09/17/94 @V2.2DAI01 D 92593 Adding monitor configuration enhancements.
56 * 09/26/94 @V2.2SEN05 D 97637 Changing Music DAC 4910 from BGR to RGB.
57 * 10/05/94 @V2.1MNH51 D101610 Increase size of CLEANDATA for MACH32
58 * 10/25/94 @V2.2JWK23 D103192 TSENG Rev D wont install
59 * 11/30/94 @V3.0YEE01 D105950 Support S3 964
60 * 01/20/95 @V3.0YEE02 D 99391 Support TBird-Enhanced (800x600 flat panel)
61 * 01/16/95 @V3.0YEE03 D114992 Add new chip manufacturers
62 * 01/24/95 @V3.0ITO01 ThinkPad 230 Support (IBM-J local)
63 * 04/19/95 @V3.0DAI01 D119247 Add DevEscape functions and structures for extra capability support
64 * 04/28/95 @V3.0YEE04 D120303 Treat ICS5342 unique from ICS5341
65 * 05/17/95 @V3.0JWK04 D113889 Add Toshiba manufacturer and models
66 * 05/30/95 @V3.0JWK11 D123835 allow displayless machines to init. Requires
67 * /nodisplay on device driver statement in config.sys
68 * 07/25/95 @IBMJ-S3GEN D386 More S3 chips support
69 * 07/27/95 @V3.0JWK18 D131213 fix AT&T 408/409/499 DAC programming
70 * 08/02/95 @V3.0JWK21 D131829 Identify and Support ATI MACH64 version 'CT'
71 * 09/11/95 @V3.2SEN01 D133791 Adding real mode software interrupt support to
72 * VIDEOPMI.
73 * 09/14/95 @V3.0JWK25 D126118 NEC C24 prevent 800x600x64k. Add NEC Manufacturer and model
74 * 11/10/95 @V3.2JWK09 D143505 provide compatability with new VIDEO_ADAPTER structures
75 * 12/15/95 @V3.0TSU00 Make videopmi backward compatible
76 * 02/12/96 @V3.1MNH01 D148203 Merge DBCS-J source w/SBCS source
77 * 02/14/96 @V3.2TSU00 D148283 Merlin PBE, support linear aperture
78 * 02/16/96 @V3.0YEE06 D148329 APM support
79 * 05/14/96 @V3.1MNH10 D151513 S3 Trio Chips Identification
80 *****************************************************************************/
81
82/* NOINC */
83
84#include <svgapmi.h>
85
86/* INC */
87
88#define INCL_DOSERRORS
89#define MAX_LOCKUNLOCKCMD 40 /*@V2.1MNH08*/
90#define MAX_CLEANDATA 200 /* Includes DACs */ /*@V3.0YEE01*/
91#define MAX_SETBANK_CMD 25 /*@V2.1MNH14*/
92#define MAX_GETBANK_CMD 20 /*@V2.1MNH14*/
93#define MAX_MODESET_CMD 84 /*@V2.1MNH14*/
94
95
96#define DEFAULT_ADAPTER (-1)
97#define UNKNOWN_ADAPTER 0
98#define VIDEO7_ADAPTER 1 /* bugbug line up with cleanups! */
99#define TRIDENT_ADAPTER 2
100#define TSENG_ADAPTER 3
101#define WESTERNDIG_ADAPTER 4
102#define ATI_ADAPTER 5
103#define IBM_ADAPTER 6
104#define CIRRUS_ADAPTER 7
105#define S3_ADAPTER 8
106#define CHIPS_ADAPTER 9 /* @V2.1YEE05 */
107#define WEITEK_ADAPTER 10 /* @V2.1MNH00 */
108#define NUMBER9_ADAPTER 11 /* @V2.1YEE10 */
109#define GENERIC_PCISVGA_ADAPTER 12 //@senja
110#define OAK_ADAPTER 13 /* @V3.0YEE03 */
111#define MATROX_ADAPTER 14 /* @V3.0YEE03 */
112#define BROOKTREE_ADAPTER 15 /* @V3.0YEE03 */
113#define NVIDIA_ADAPTER 16 /* @V3.0YEE03 */
114#define ALLIANCE_ADAPTER 17 /* @V3.0YEE03 */
115#define AVANCE_ADAPTER 18 /* @V3.0YEE03 */
116#define MEDIAVISION_ADAPTER 19 /* @V3.0YEE03 */
117#define ARKLOGIC_ADAPTER 20 /* @V3.0YEE03 */
118#define RADIUS_ADAPTER 21 /* @V3.0YEE03 */
119#define THREE_D_LABS_ADAPTER 22 /* @V3.0YEE03 */
120#define NCR_ADAPTER 23 /* @V3.0YEE03 */
121#define IIT_ADAPTER 24 /* @V3.0YEE03 */
122#define APPIAN_ADAPTER 25 /* @V3.0YEE03 */
123#define SIERRA_ADAPTER 26 /* @V3.0YEE03 */
124#define CORNERSTONE_ADAPTER 27 /* @V3.0YEE03 */
125#define DIGITAL_ADAPTER 28 /* @V3.0YEE03 */
126#define COMPAQ_ADAPTER 29 /* @V3.0YEE03 */
127#define INFOTRONIC_ADAPTER 30 /* @V3.0YEE03 */
128#define OPTI_ADAPTER 31 /* @V3.0YEE03 */
129#define NULL_ADAPTER 32 /* @V3.0JWK11 */
130 /* remember to update SVGA_LASTADAPTER when adding new adapter support */
131
132#define SVGA_FIRSTADAPTER VIDEO7_ADAPTER /* @V2.1YEE03 */
133#define SVGA_LASTADAPTER NULL_ADAPTER /* @V3.0JWK11 */
134
135/* @V2.1MNH13 start */
136#ifdef FAMILY2
137 #define ORCHID_MC_ADAPTER 2 /* @V2.0SEN06 */
138 #define ORCHID_MC_ID 0x86 /* @V2.0SEN06 */
139#endif
140
141/*
142** DAC types
143*/
144
145#define VGA_DAC 0 /*@V2.1MNH23*/
146#define DEFAULT_DAC VGA_DAC /*@V2.1MNH23*/
147#define HICOLOR_DAC 1 /* Unidentified */ /*@V2.1MNH17*/
148#define WINBOND_DAC HICOLOR_DAC /*@V2.1MNH23*/
149#define BT485_DAC 2 /* Brooktree 485 */ /*@V2.1MNH20*/
150#define Weitek_BT485DAC 3 /* BT485 used by Weitek */
151#define SC15025_DAC 4 /* SC15025 */
152#define SierraDAC SC15025_DAC /* Use more specific name! */
153#define ATT490_DAC 5
154#define ATTDAC ATT490_DAC /* Use more specific name! */
155#define MU9C1880_DAC 6 /* MU9C4870, MU9C1880, SS2410*/
156#define MU9C4870_DAC MU9C1880_DAC /*@V2.1MNH23*/
157
158#define TRUECOLOR_DAC 7 /*@V2.1MNH17*/
159#define IMSG173_DAC 8 /*These DACS identified, but not programmed*/
160#define InmosDAC IMSG173_DAC /* Use more specific name! */
161#define CH8398_DAC 9
162#define ChrontelDAC CH8398_DAC /* Use more specific name! */
163#define CIRRUS_DAC 10
164#define ICS5341_DAC 11
165#define SGS1702_DAC 12
166#define SGSThomsonDAC16 SGS1702_DAC /* Use more specific name! */
167#define SGS1703_DAC 13 /*@V2.1MNH23*/
168#define MU9C4910_DAC 14 /* MU9C4910 (blue byte first) */
169 /* note that the MU9C1880 is also true color, but */
170 /* it does not need to be identified because */
171 /* behaves like the others in its group */
172#define MusicDAC16RGB MU9C4910_DAC /* Use more specific name! */
173#define ATI68830_DAC 15 /* ATI 68830 & compatible @V2.1MNH29 */
174#define S3SDAC_DAC 16 /* S3 SDAC @V2.1MNH29 */
175#define ATT498_DAC 17 /* AT&T 498 CLOCKDAC ID=$98 no programmable clocks @V2.1MNH29 */
176#define SGS1700_DAC 18 /* SGS 1700 DAC @V2.1MNH29 */
177#define TLC34075_DAC 19 /* Texas Instruments TLC34075*/
178#define ATI68875_DAC TLC34075_DAC
179#define BT476_DAC 20 /* Brooktree 476/478 @V2.1MNH29 */
180#define BT478_DAC BT476_DAC
181#define BT481_DAC 21 /* Brooktree 481/482 @V2.1MNH29 */
182#define BT482_DAC BT481_DAC
183#define ATI68860_DAC 22 /* ATI 68860/68880 @V2.1MNH29 */
184#define MU9CBUG_DAC 23
185#define CH8391_DAC 24
186#define W82C490_DAC 25
187#define ATT491_DAC 26
188#define ATT492_DAC 27
189#define ATT493_DAC 28
190#define ATT497_DAC 29
191#define WD90C24_DAC 30
192#define MU9C9910_DAC 31 /* (blue byte first) */
193#define ATT409_DAC 32 //ID=$09 16 bit pixel I/O
194#define ATT499_DAC 33 //ID=$99 24 bit Pixel I/0 /*@V3.0YEE03*/
195#define TI3025_DAC 34 /* TI Viewpoint 3025 CLOCKDAC*//*@V3.0YEE01*/
196#define TI3020_DAC 35 /* TI Viewpoint 3020 CLOCKDAC*//*@V3.0YEE03*/
197#define ICS5342_DAC 36 /*@V3.0YEE04*/
198#define ATT408_DAC ATT409_DAC //ID=$09 HW pinouts diff /*@V3.0JWK18*/
199#define NULL_DAC 37 /*@V3.0JWK11*/
200#define IMBEDDED_DAC 38 //ATI MACH64 'CT' /*@V3.0JWK21*/
201#define S3TRIO_DAC 39 /* S3 TRIO DAC *//*@V3.0YEE05*/
202#define MAX_DAC 40 /*@V3.0JWK21*/
203
204#define VGADAC_NAME "VGA_RGB" /*@V2.1MNH23*/
205#define HICOLOR_NAME "HICOLOR_RGB" /*@V2.1MNH17*/
206#define BT485_NAME "BT485_RGB" /*@V2.1MNH20*/
207#define VIPER_NAME "BT485_RGB"
208#define SC15025_NAME "SC15025_RGB"
209#define ATT490_NAME "ATT20C490_RGB" /*@V2.1MNH29*/
210#define MU9C1880_NAME "MU9C1880_BGR"
211#define TRUECOLOR_NAME "TRUECOLOR_RGB" /*@V2.1MNH17*/
212#define IMSG173_NAME "IMSG173_RGB"
213#define CH8398_NAME "CH8398_RGB"
214#define CIRRUS_NAME "CIRRUS_RGB"
215#define ICS5341_NAME "ICS5341_RGB"
216#define SGS1702_NAME "SGS1702_RGB"
217#define SGS1703_NAME "SGS1703_RGB" /*@V2.1MNH23*/
218#define MU9C4910_NAME "MU9C4910_RGB" /* was BGR */ /*@V2.2SEN05*/
219#define ATI68830_NAME "ATI68830_RGB" /*@V2.1MNH20*/
220#define S3SDAC_NAME "S3SDAC_RGB" /*@V2.1YEE02*/
221#define ATT498_NAME "ATT20C498_RGB" /*@V2.1MNH29*/
222#define SGS1700_NAME "SGS1700_RGB" /*@V2.1YEE02*/
223#define TLC34075_NAME "TLC34075_RGB" /*@V2.1MNH20*/
224#define ATI68875_NAME "ATI68875_RGB" /*@V2.1MNH20*/
225#define BT476_NAME "BT476_RGB" /*@V2.1MNH20*/
226#define BT481_NAME "BT481_RGB" /*@V2.1MNH20*/
227#define ATI68860_NAME "ATI68860_RGB" /*@V2.1MNH20*/
228#define MU9CBUG_NAME "MU9C1880BUG_BGR" /*@V2.1MNH29*/
229#define CH8391_NAME "CH8391_RGB" /*@V2.1MNH29*/
230#define W82C490_NAME "W82C490_RGB" /*@V2.1MNH29*/
231#define ATT491_NAME "ATT20C491_RGB" /*@V2.1MNH29*/
232#define ATT492_NAME "ATT20C492_RGB" /*@V2.1MNH29*/
233#define ATT493_NAME "ATT20C493_RGB" /*@V2.1MNH29*/
234#define ATT497_NAME "ATT20C497_RGB" /*@V2.1MNH29*/
235#define WD90C24_NAME "WD90C24_RGB" /*@V2.1MNH35*/
236#define MU9C9910_NAME "MU9C9910_RGB" /*@V2.1MNH37*/
237#define ATT499_NAME "ATT20C499_RGB" /*@V3.0JWK18*/
238#define ATT498_NAME "ATT20C498_RGB" /*@V3.0JWK18*/
239#define ATT409_NAME "ATT20C409_RGB" /*@V2.1YEE10*/
240#define TI3025_NAME "TVP3025_RGB" /* TI Viewpoint 3025 DAC*//*@V3.0YEE01*/
241#define TI3020_NAME "TVP3020_RGB" /* TI Viewpoint 3020 DAC*//*@V3.0YEE03*/
242#define ICS5342_NAME "ICS5342_RGB" /*@V3.0YEE04*/
243#define NULL_DAC_NAME "NULLDAC_RGB" /*@V3.0JWK11*/
244#define IMBEDDED_NAME "IMBEDDED_RGB"/*ATI MACH64CT internal *//*@V3.0JWK21*/
245#define S3TRIODAC_NAME "S3_RGB" /* S3 TRIO DAC *//*@V3.0YEE05*/
246
247/* NOINC */
248typedef struct _DACINFO { /* dac */
249 USHORT DACFamily;
250 USHORT DACType;
251} DACINFO;
252
253/* INC */
254
255#define WEITEK_P9000_INCREMENT 0x0040 //Spacing between potential bases.
256#define WEITEK_P9000_REGISTERS 0x0010 //Base address offset for registers.
257#define WEITEK_P9000_VRAM 0x0020 //Base address offset for VRAM.
258#define WEITEK_P9000_SYSCONFIG 0x0004 //Offset for config reg
259#define WEITEK_P9000_INTERRUPT 0x0008 //Offset for interrupt reg
260#define WEITEK_P9000_ENABLE 0x000c //Offset for interrupt enable reg
261#define WEITEK_P9000_MEMCONFIG 0x0184 //Offset for memory config reg
262#define WEITEK_P9000_REGLENGTH 0x2000 //Length for register addressability
263/* @V2.1MNH13 end */
264
265#define UNKNOWN_CHIP 0
266
267#define VIDEO7_HT205_CHIP 1
268#define VIDEO7_HT208_CHIP 2
269#define VIDEO7_HT209_CHIP 3
270#define MAX_VIDEO7_CHIP VIDEO7_HT209_CHIP /*@V2.1MNH01*/
271
272#define VIDEO7_HT205_NAME "HT205" /*@V2.1MNH20*/
273#define VIDEO7_HT208_NAME "HT208" /*@V2.1MNH20*/
274#define VIDEO7_HT209_NAME "HT209" /*@V2.1MNH20*/
275
276#define TRIDENT_8800_CHIP 1
277#define TRIDENT_8900_CHIP 2
278#define MAX_TRIDENT_CHIP TRIDENT_8900_CHIP /*@V2.1MNH01*/
279
280#define TRIDENT_8800_NAME "TR8800" /*@V2.1MNH20*/
281#define TRIDENT_8900_NAME "TR8900" /*@V2.1MNH20*/
282
283
284#define TSENG_ET3000_CHIP 1
285#define TSENG_ET4000_CHIP 2
286#define TSENG_ET4000W32_CHIP 3 /* w32 @V2.1MNH01*/
287#define TSENG_ET4000W32I_CHIP 4 /* w32i (level a) @V2.1JWK01*/
288#define TSENG_ET4000W32IB_CHIP 5 /* w32i level b @V2.1JWK01*/
289#define TSENG_ET4000W32IC_CHIP 6 /* w32i level c @V2.1JWK01*/
290#define TSENG_ET4000W32PA_CHIP 7 /* w32p level a @V2.1JWK01*/
291#define TSENG_ET4000W32PB_CHIP 8 /* w32p level b @V2.1JWK01*/
292#define TSENG_ET4000W32PC_CHIP 9 /* w32p level c @V2.1JWK01*/
293#define TSENG_ET4000W32ID_CHIP 10 /* w32i level d @V2.1JWK03*/
294#define TSENG_ET4000W32PD_CHIP 11 /* w32p level d @V2.1JWK03*/
295#define TSENG_ET4000W32PX_CHIP 12 /* all others @V2.1JWK23*/
296#define MAX_TSENG_CHIP 12
297
298#define TSENG_ET3000_NAME "ET3000" /*@V2.1JWK02*/
299#define TSENG_ET4000_NAME "ET4000" /*@V2.1JWK02*/
300#define TSENG_ET4000W32_NAME "ET4000W32" /*@V2.1JWK02*/
301#define TSENG_ET4000W32I_NAME "ET4000W32IREVA" /*@V2.1JWK02*/
302#define TSENG_ET4000W32IB_NAME "ET4000W32IREVB" /*@V2.1JWK02*/
303#define TSENG_ET4000W32IC_NAME "ET4000W32IREVC" /*@V2.1JWK02*/
304#define TSENG_ET4000W32PA_NAME "ET4000W32PREVA" /*@V2.1JWK02*/
305#define TSENG_ET4000W32PB_NAME "ET4000W32PREVB" /*@V2.1JWK02*/
306#define TSENG_ET4000W32PC_NAME "ET4000W32PREVC" /*@V2.1JWK02*/
307#define TSENG_ET4000W32ID_NAME "ET4000W32IREVD" /*@V2.1JWK03*/
308#define TSENG_ET4000W32PD_NAME "ET4000W32PREVD" /*@V2.1JWK03*/
309#define TSENG_ET4000W32PX_NAME "ET4000W32PREVC_COMPATABLE" /*@V2.1JWK23*/
310
311#define WESTERNDIG_PVGA1A_CHIP 1
312#define WESTERNDIG_WD9000_CHIP 2 /* PVGA1B */
313#define WESTERNDIG_WD9011_CHIP 3 /* PVGA1C */
314#define WESTERNDIG_WD9030_CHIP 4 /* PVGA1D */
315#define WESTERNDIG_WD9026_CHIP 5 /* PVGA1F */ /*@V2.1MNH01*/
316#define WESTERNDIG_WD9027_CHIP 6 /*@V2.1MNH01*/
317#define WESTERNDIG_WD9031_CHIP 7 /* PVGA1DW */ /*@V2.1MNH01*/
318#define WESTERNDIG_WD9024_CHIP 8 /*@V2.1MNH01*/
319#define WESTERNDIG_WD9033_CHIP 9 /* PVGA2DW */ /*@V2.1MNH01*/
320#define MAX_WESTERNDIG_CHIP WESTERNDIG_WD9033_CHIP /*@V2.1MNH01*/
321
322#define WESTERNDIG_PVGA1A_NAME "PVGA1A" /*@V2.1MNH20*/
323#define WESTERNDIG_WD9000_NAME "PVGA1B" /*@V2.1MNH20*/
324#define WESTERNDIG_WD9011_NAME "PVGA1C" /*@V2.1MNH20*/
325#define WESTERNDIG_WD9030_NAME "PVGA1D" /*@V2.1MNH20*/
326#define WESTERNDIG_WD9026_NAME "WD90C26" /*@V2.1MNH20*/
327#define WESTERNDIG_WD9027_NAME "WD90C27" /*@V2.1MNH20*/
328#define WESTERNDIG_WD9031_NAME "WD90C31" /*@V2.1MNH20*/
329#define WESTERNDIG_WD9024_NAME "WD90C24" /*@V2.1MNH20*/
330#define WESTERNDIG_WD9033_NAME "WD90C33" /*@V2.1MNH20*/
331
332#define ATI_18800_CHIP 1 /*VGAWONDER*/
333#define ATI_28800_CHIP 2 /*VGAWONDER+/XL*/
334#define ATI_38800_CHIP 3 /*MACH8/GraphicsUltra*/ /*@V2.1MNH01*/
335#define ATI_68800_CHIP 4 /*MACH32/GraphicsUltraPro*/ /*@V2.1MNH01*/
336#define ATI_88800_CHIP 5 /*MACH64*/ /*@V2.1MNH01*/
337#define ATI_88800CT_CHIP 6 /*MACH64CT*/ /*@V3.0JWK21*/
338#define MAX_ATI_CHIP ATI_88800CT_CHIP /*@V3.0JWK21*/
339
340#define ATI_18800_NAME "ATI18800" /*@V2.1MNH20*/
341#define ATI_28800_NAME "ATI28800" /*@V2.1MNH20*/
342#define ATI_38800_NAME "ATI38800MACH8" /*@V2.1MNH21*/
343#define ATI_68800_NAME "ATI68800MACH32" /*@V2.1MNH21*/
344#define ATI_88800_NAME "ATI88800MACH64" /*@V2.1MNH21*/
345#define ATI_88800CT_NAME "ATI88800MACH64CT" /*@V3.0JWK21*/
346
347#define IBM_SVGA_CHIP 1
348#define MAX_IBM_CHIP IBM_SVGA_CHIP /*@V2.1MNH01*/
349
350#define IBM_SVGA_NAME "IBMSVGA" /*@V2.1MNH20*/
351
352#define CIRRUS_5420_CHIP 1 /*@V2.1YEE08*/
353#define CIRRUS_5422_CHIP 2
354#define CIRRUS_5424_CHIP 3
355#define CIRRUS_5426_CHIP 4
356#define CIRRUS_5428_CHIP 5 /*@V2.1YEE02*/
357#define CIRRUS_5429_CHIP 6 /*@V2.1YEE08*/
358#define CIRRUS_543X_CHIP 7 /*@V2.1YEE08*/
359#define CIRRUS_5434_CHIP 8 /*@V2.1YEE08*/
360#define CIRRUS_6235_CHIP 9 /*@V3.0ITO01*/
361#define MAX_CIRRUS_CHIP CIRRUS_6235_CHIP /*@V3.0ITO01*/
362
363#define CIRRUS_5420_NAME "GD5420" /*@V2.1MNH20*/
364#define CIRRUS_5422_NAME "GD5422" /*@V2.1MNH20*/
365#define CIRRUS_5424_NAME "GD5424" /*@V2.1MNH20*/
366#define CIRRUS_5426_NAME "GD5426" /*@V2.1MNH20*/
367#define CIRRUS_5428_NAME "GD5428" /*@V2.1MNH20*/
368#define CIRRUS_5429_NAME "GD5429" /*@V2.1MNH20*/
369#define CIRRUS_543X_NAME "GD543X" /*@V2.1MNH20*/
370#define CIRRUS_5434_NAME "GD5434" /*@V2.1MNH20*/
371#define CIRRUS_6235_NAME "GD6235" /*@V3.0ITO01*/
372
373#define S3_86C805_CHIP 1 /* 801 or 805 */
374#define S3_86C928_CHIP 2
375#define S3_86C911_CHIP 3 /* @V2.1YEE04 */
376#define S3_86C864_CHIP 4 /*@V2.1MNH01*/
377//#define S3_DXP_CHIP S3_86C864_CHIP /*@IBMJ-S3GEN*/
378#define S3_86C964_CHIP 5 /*@V2.1MNH01*/
379//#define S3_VXP_CHIP S3_86C964_CHIP /*@IBMJ-S3GEN*/
380
381/* These chip IDs added by S3 */ /*@V3.1MNH10*/
382#define S3_86C868_CHIP 6 /*@V3.1MNH10*/
383//#define S3_V868_CHIP S3_86C868_CHIP /*@V3.1MNH10*/
384#define S3_86C968_CHIP 7 /*@V3.1MNH10*/
385//#define S3_V968_CHIP S3_86C968_CHIP /*@V3.1MNH10*/
386#define S3_86C732_CHIP 8 /*@V3.1MNH10*/
387//#define S3_Trio32_CHIP S3_86C732_CHIP /*@V3.1MNH10*/
388#define S3_86C764_CHIP 9 /*@V3.1MNH10*/
389//#define S3_Trio64_CHIP S3_86C764_CHIP /*@V3.1MNH10*/
390#define S3_86C765_CHIP 10 /*@V3.1MNH10*/
391//#define S3_V765_CHIP S3_86C765_CHIP /*@V3.1MNH10*/
392#define S3_86CM65_CHIP 11 /* Aurora64V */ /*@V3.1MNH10*/
393#define S3_86C325_CHIP 12 /* ViRGE */ /*@V3.1MNH10*/
394#define S3_86C988_CHIP 13 /* ViRGE/vX chip */ /*@V3.1MNH10*/
395#define S3_86C767_CHIP 14 /* Trio64UV+ */ /*@V3.1MNH10*/
396#define S3_86C765_FAMILY 15 /* Trio65V+ family compat */ /*@V3.1MNH10*/
397
398#define S3_86C924_CHIP 16 /*@V3.1MNH10*/
399#define S3_86C866_CHIP 17 /*@V3.1MNH10*/
400//#define S3_V866_CHIP S3_86C866_CHIP /*@V3.1MNH10*/
401#define S3_86C928PCI_CHIP 18 /*@V3.1MNH10*/
402#define MAX_S3_CHIP S3_86C928PCI_CHIP /*@V3.1MNH10*/
403
404#define S3_86C805_NAME "S386C80X" /*@V2.1MNH20*/
405#define S3_86C928_NAME "S386C928" /*@V2.1MNH20*/
406#define S3_86C911_NAME "S386C911" /*@V2.1MNH20*/
407#define S3_86C864_NAME "VISION864" /* S386C864 *//*@V3.1MNH10*/
408#define S3_86C964_NAME "VISION964" /* S386C964 *//*@V3.1MNH10*/
409
410#define S3_86C868_NAME "VISION868" /*@V3.1MNH10*/
411//#define S3_V868_NAME S3_86C868_NAME /*@V3.1MNH10*/
412#define S3_86C968_NAME "VISION968" /*@V3.1MNH10*/
413//#define S3_V968_NAME S3_86C968_NAME /*@V3.1MNH10*/
414#define S3_86C732_NAME "S3TRIO32" /*@V3.1MNH10*/
415//#define S3_Trio32_NAME S3_86C764_NAME /*@V3.1MNH10*/
416#define S3_86C764_NAME "S3TRIO64" /*@V3.1MNH10*/
417//#define S3_Trio64_NAME S3_86C732_NAME /*@V3.1MNH10*/
418#define S3_86C765_NAME "S3TRIO64V+" /*@V3.1MNH10*/
419//#define S3_V765_NAME S3_86C765_NAME /*@V3.1MNH10*/
420#define S3_86CM65_NAME "S3AURORA64V+" /*@V3.1MNH10*/
421#define S3_86C325_NAME "S3VIRGE" /*@V3.1MNH10*/
422#define S3_86C988_NAME "S3VIRGE/VX" /*@V3.1MNH10*/
423#define S3_86C767_NAME "S3TRIO64UV+" /*@V3.1MNH10*/
424#define S3_86C765_FAMILY_NAME "S3TRIO64V+COMPATIBLE" /*@V3.1MNH10*/
425
426#define S3_86C924_NAME "S386C924" /*@IBMJ-S3GEN*/
427#define S3_86C866_NAME "S386C866" /*@V3.1MNH10*/
428//#define S3_V866_NAME S3_86C866_NAME /*@V3.1MNH10*/
429
430#define S3_86C928PCI_NAME "S386C928PCI" /*@IBMJ-S3GEN*/
431
432#define CHIPS_FIRST_CHIP 1 /* bogus chip @V2.1YEE09*/
433#define MAX_CHIPS_CHIP 1 /*@V2.1YEE09*/
434
435#define WEITEK_P9000_CHIP 1 /*@V2.1MNH01*/
436#define WEITEK_W5186_CHIP 2 /*@V2.1MNH01*/
437#define WEITEK_W5286_CHIP 3 /*@V2.1MNH01*/
438#define WEITEK_P9100_CHIP 4 /*@V2.2TSU00*/
439#define MAX_WEITEK_CHIP WEITEK_P9100_CHIP /*@V2.2TSU00*/
440
441#define WEITEK_P9000_NAME "P9000" /*@V2.1MNH20*/
442#define WEITEK_W5186_NAME "W5186" /*@V2.1MNH20*/
443#define WEITEK_W5286_NAME "W5286" /*@V2.1MNH20*/
444
445#define NULL_CHIP 1 /*@V3.0JWK11*/
446#define MAX_NULL_CHIP NULL_CHIP /*@V3.0JWK11*/
447 /*@V3.0JWK11*/
448#define NULL_NAME "NULL" /*@V3.0JWK11*/
449
450/*
451** OEM manufacturer defines.
452*/
453
454#define UNKNOWN_MANUFACTURER 0 /*@V2.1MNH13*/
455#define DIAMOND_MANUFACTURER 1 /*@V2.1YEE01*/
456#define ORCHID_MANUFACTURER 2 /*@V2.1MNH01*/
457#define NUMBER9_MANUFACTURER 3 /*@V2.1YEE04*/
458#define ARTIST_MANUFACTURER 4 /*@V2.1YEE07*/
459#define LACUNA_MANUFACTURER 5 /*@V2.1YEE07*/
460#define STB_MANUFACTURER 6 /*@V2.2SEN02*/
461#define S3_MANUFACTURER 7 /*@V2.1YEE10*/
462#define CIRRUS_MANUFACTURER 8
463#define MIROCRYSTAL_MANUFACTURER 9 /*@V2.1YEE11*/
464#define VIDEOLOGIC_MANUFACTURER 10 /*@V2.1YEE11*/
465#define THINKPAD_MANUFACTURER 11 /*@V3.0YEE02*/
466#define TOSHIBA_MANUFACTURER 12 /*@V3.0JWK04*/
467#define NEC_MANUFACTURER 13 /*@V3.0JWK25*/
468#define IBM_VISION_MANUFACTURER 14 /*@V3.1MNH01*/
469#define MANUFACTURER_MAX IBM_VISION_MANUFACTURER /*@V3.0MUT02*/
470#define DEFAULT_MANUFACTURER UNKNOWN_MANUFACTURER /*@V2.2SEN02*/
471
472/*
473** OEM manufacturer MODEL defines.
474*/
475
476#define UNKNOWN_MODEL 0 /*@V3.0JWK04*/
477#define TOSHIBA_6600_MODEL 1 /*@V3.0JWK04*/
478#define TOSHIBA_2100_MODEL 2 /*@V3.0JWK04*/
479#define TOSHIBA_2100CS_MODEL 3 /*@V3.0JWK04*/
480#define TOSHIBA_2100CT_MODEL 4 /*@V3.0JWK04*/
481#define TOSHIBA_4700CS_MODEL 5 /*@V3.0JWK04*/
482#define TOSHIBA_4700CT_MODEL 6 /*@V3.0JWK04*/
483#define TOSHIBA_4800CT_MODEL 7 /*@V3.0JWK04*/
484#define TOSHIBA_4850CT_MODEL 8 /*@V3.0JWK04*/
485
486#define NEC_VERSA_MODEL 1 /*@V3.0JWK25*/
487
488
489/* NOINC */
490typedef struct _ADAPTERS { /* adp */
491 CHAR *Name;
492 CHAR *Manufacturer;
493 INT ID;
494}ADAPTERS;
495
496typedef CHAR *CHIPNAMES;
497typedef CHIPNAMES *PCHIPNAMES;
498
499/*
500 * define CHIPS_INCL to include the following definitions.
501 */
502#ifdef CHIPS_INCL
503/*
504** This table contains adapter ID's as not to depend on the changes to
505** the ID's and their order. The ChipsetName table should be kept in sync
506** with the Adapters table.
507*/
508ADAPTERS Adapters [SVGA_LASTADAPTER + 0x01] = /* @V2.2SENJA */
509{
510 {"UNKNOWN","Unknown", UNKNOWN_ADAPTER},
511 {"VIDEO7","Headland Technology, Inc.", VIDEO7_ADAPTER},
512 {"TRIDENT","Trident Microsystems, Inc.", TRIDENT_ADAPTER},
513 {"TSENG","Tseng Labs, Inc.", TSENG_ADAPTER},
514 {"WESTERNDIGITAL","Western Digital Corporation",WESTERNDIG_ADAPTER},
515 {"ATI","ATI Technologies Inc.", ATI_ADAPTER},
516 {"IBM","IBM Corporation", IBM_ADAPTER},
517 {"CIRRUS","Cirrus Logic, Inc.", CIRRUS_ADAPTER},
518 {"S3","S3 Incorporated", S3_ADAPTER},
519 {"CHIPS","Chips and Techologies", CHIPS_ADAPTER},
520 {"WEITEK","WEITEK Corporation", WEITEK_ADAPTER},
521 {"NUMBER9","Number Nine Corporation", NUMBER9_ADAPTER},
522 {"GENERICPCI","Unknown", GENERIC_PCISVGA_ADAPTER},
523 {"OAK","Oak Technology, Inc", OAK_ADAPTER}, /* @V3.0YEE03 */
524 {"MATROX","Matrox", MATROX_ADAPTER}, /* @V3.0YEE03 */
525 {"BROOKTREE","Brooktree Corporation", BROOKTREE_ADAPTER}, /* @V3.0YEE03 */
526 {"NVIDIA","nVIDIA", NVIDIA_ADAPTER}, /* @V3.0YEE03 */
527 {"ALLIANCE","Alliance Semiconductor Corporation", ALLIANCE_ADAPTER},/* @V3.0YEE03 */
528 {"AVANCE","Avance Logic", AVANCE_ADAPTER}, /* @V3.0YEE03 */
529 {"MEDIAVISION","Media Vision", MEDIAVISION_ADAPTER}, /* @V3.0YEE03 */
530 {"ARKLOGIC","Ark Logic, Inc.", ARKLOGIC_ADAPTER}, /* @V3.0YEE03 */
531 {"RADIUS","Radius", RADIUS_ADAPTER}, /* @V3.0YEE03 */
532 {"3DLABS","3D Labs Inc.", THREE_D_LABS_ADAPTER},/* @V3.0YEE03 */
533 {"NCR","NCR Corporation", NCR_ADAPTER}, /* @V3.0YEE03 */
534 {"IIT","IIT", IIT_ADAPTER}, /* @V3.0YEE03 */
535 {"APPIAN","Appian Technology", APPIAN_ADAPTER}, /* @V3.0YEE03 */
536 {"SIERRA","Sierra Semiconductor Inc.", SIERRA_ADAPTER}, /* @V3.0YEE03 */
537 {"CORNERSTONE","Cornerstone Technology", CORNERSTONE_ADAPTER}, /* @V3.0YEE03 */
538 {"DIGITAL","Digital Equipment Corporation", DIGITAL_ADAPTER}, /* @V3.0YEE03 */
539 {"COMPAQ","Compaq Computer Corporation", COMPAQ_ADAPTER}, /* @V3.0YEE03 */
540 {"INFOTRONIC","INFOTRONIC", INFOTRONIC_ADAPTER}, /* @V3.0YEE03 */
541 {"OPTI","OPTi, Inc.", OPTI_ADAPTER}, /* @V3.0YEE03 */
542 {"NULL","null", NULL_ADAPTER}, /* @V3.0JWK11 */
543};
544CHIPNAMES ppszUnknownChipNames [1] =
545 {
546 "UNKNOWN",
547 };
548CHIPNAMES ppszVideo7ChipNames [MAX_VIDEO7_CHIP] = /*@V2.1MNH20*/
549 { /* Video 7==Headland Technology */ /*@V2.1MNH01*/
550 VIDEO7_HT205_NAME, /*@V2.1MNH20*/
551 VIDEO7_HT208_NAME, /*@V2.1MNH20*/
552 VIDEO7_HT209_NAME, /*@V2.1MNH20*/
553 };
554CHIPNAMES ppszTridentChipNames [MAX_TRIDENT_CHIP] = /*@V2.1MNH20*/
555 { /* Trident */ /*@V2.1MNH01*/
556 TRIDENT_8800_NAME, /*@V2.1MNH20*/
557 TRIDENT_8900_NAME, /*@V2.1MNH20*/
558 };
559CHIPNAMES ppszTsengChipNames [MAX_TSENG_CHIP] = /*@V2.1MNH20*/
560 { /* Tseng */
561 TSENG_ET3000_NAME, /*@V2.1MNH01*/
562 TSENG_ET4000_NAME,
563 TSENG_ET4000W32_NAME,
564 TSENG_ET4000W32I_NAME,
565 TSENG_ET4000W32IB_NAME,
566 TSENG_ET4000W32IC_NAME, /*@V2.1JWK01*/
567 TSENG_ET4000W32PA_NAME, /*@V2.1JWK01*/
568 TSENG_ET4000W32PB_NAME, /*@V2.1JWK01*/
569 TSENG_ET4000W32PC_NAME, /*@V2.2JWK03*/
570 TSENG_ET4000W32ID_NAME, /*@V2.2JWK03*/
571 TSENG_ET4000W32PD_NAME, /*@V2.2JWK03*/
572 TSENG_ET4000W32PX_NAME, /*@V3.0JWK23*/
573 };
574CHIPNAMES ppszWDChipNames [MAX_WESTERNDIG_CHIP] = /*@V2.1MNH20*/
575 { /* Western Digital */ /*@V2.1MNH01*/
576 WESTERNDIG_PVGA1A_NAME, /*@V2.1MNH20*/
577 WESTERNDIG_WD9000_NAME, /*@V2.1MNH20*/
578 WESTERNDIG_WD9011_NAME, /*@V2.1MNH20*/
579 WESTERNDIG_WD9030_NAME, /*@V2.1MNH20*/
580 WESTERNDIG_WD9026_NAME, /*@V2.1MNH20*/
581 WESTERNDIG_WD9027_NAME, /*@V2.1MNH20*/
582 WESTERNDIG_WD9031_NAME, /*@V2.1MNH20*/
583 WESTERNDIG_WD9024_NAME, /*@V2.1MNH20*/
584 WESTERNDIG_WD9033_NAME, /*@V2.1MNH20*/
585 };
586CHIPNAMES ppszATIChipNames [MAX_ATI_CHIP] = /*@V2.1MNH20*/
587 { /* ATI */ /*@V2.1MNH01*/
588 ATI_18800_NAME, /*@V2.1MNH20*/
589 ATI_28800_NAME, /*@V2.1MNH20*/
590 ATI_38800_NAME, /*@V2.1MNH20*/
591 ATI_68800_NAME, /*@V2.1MNH20*/
592 ATI_88800_NAME, /*@V2.1MNH20*/
593 ATI_88800CT_NAME, /*@V3.0JWK21*/
594 };
595CHIPNAMES ppszIBMChipNames [MAX_IBM_CHIP] = /*@V2.1MNH20*/
596 { /* IBM */ /*@V2.1MNH01*/
597 IBM_SVGA_NAME, /*@V2.1MNH20*/
598 };
599CHIPNAMES ppszCirrusChipNames [MAX_CIRRUS_CHIP] = /*@V2.1MNH20*/
600 { /* Cirrus Logic */ /*@V2.1MNH01*/
601 CIRRUS_5420_NAME, /*@V2.1YEE31*/
602 CIRRUS_5422_NAME,
603 CIRRUS_5424_NAME,
604 CIRRUS_5426_NAME,
605 CIRRUS_5428_NAME, /*@V2.1MNH01*/
606 CIRRUS_5429_NAME, /*@V2.1YEE31*/
607 CIRRUS_543X_NAME, /*@V2.1YEE31*/
608 CIRRUS_5434_NAME,
609 CIRRUS_6235_NAME, /*@V3.0ITO01*/
610 };
611CHIPNAMES ppszS3ChipNames [MAX_S3_CHIP] = /*@V2.1MNH20*/
612 { /* S3 */ /*@V2.1MNH01*/
613 S3_86C805_NAME, /*@V2.1MNH20*/
614 S3_86C928_NAME, /*@V2.1MNH20*/
615 S3_86C911_NAME, /*@V2.1MNH20*/
616 S3_86C864_NAME, /*@V2.1MNH20*/
617 S3_86C964_NAME, /*@V2.1MNH20*/
618
619 S3_86C868_NAME, /*@V3.1MNH10*/
620 S3_86C968_NAME, /*@V3.1MNH10*/
621 S3_86C732_NAME, /*@V3.1MNH10*/
622 S3_86C764_NAME, /*@V3.1MNH10*/
623 S3_86C765_NAME, /*@V3.1MNH10*/
624 S3_86CM65_NAME, /*@V3.1MNH10*/
625 S3_86C325_NAME, /*@V3.1MNH10*/
626 S3_86C988_NAME, /*@V3.1MNH10*/
627 S3_86C767_NAME, /*@V3.1MNH10*/
628 S3_86C765_FAMILY_NAME, /*@V3.1MNH10*/
629
630 S3_86C924_NAME, /*@IBMJ-S3GEN*/
631 S3_86C928PCI_NAME, /*@IBMJ-S3GEN*/
632 };
633CHIPNAMES ppszWeitekChipNames [MAX_WEITEK_CHIP] = /*@V2.1MNH20*/
634 { /* Weitek */ /*@V2.1MNH01*/
635 WEITEK_P9000_NAME, /*@V2.1MNH20*/
636 WEITEK_W5186_NAME, /*@V2.1MNH20*/
637 WEITEK_W5286_NAME, /*@V2.1MNH20*/
638 };
639PCHIPNAMES ChipsetName [SVGA_LASTADAPTER + 0x01] = /*@V2.1MNH20*/
640{
641 ppszUnknownChipNames, /*@V2.1MNH20*/
642 ppszVideo7ChipNames, /*@V2.1MNH20*/
643 ppszTridentChipNames, /*@V2.1MNH20*/
644 ppszTsengChipNames, /*@V2.1MNH20*/
645 ppszWDChipNames, /*@V2.1MNH20*/
646 ppszATIChipNames, /*@V2.1MNH20*/
647 ppszIBMChipNames, /*@V2.1MNH20*/
648 ppszCirrusChipNames, /*@V2.1MNH20*/
649 ppszS3ChipNames, /*@V2.1MNH20*/
650 ppszUnknownChipNames, /*@V2.1MNH20*/
651 ppszWeitekChipNames, /*@V2.1MNH20*/
652};
653#endif
654/*
655** DIF subsystem defines
656*/
657typedef struct _MONMODEINFO { /* mmi */
658 USHORT usXResolution;
659 USHORT usYResolution;
660 BYTE bVertRefresh;
661 BYTE bHorizRefresh;
662 BYTE bVPolarityPos;
663 BYTE bHPolarityPos;
664} MONMODEINFO;
665#define MAX_PATH_NAME 256
666#define MAX_MONITOR_LEN 128 /* length of name string */
667#define MAX_MONITOR_MODES 10 /* up to 10 modes per monitor */
668typedef struct _MonInfo { /* mi */
669 CHAR szMonitor[MAX_MONITOR_LEN];
670 MONMODEINFO ModeInfo[MAX_MONITOR_MODES];
671} MONITORINFO, FAR *PMONITORINFO;
672
673#define DIF_SERVICE_DLL_NAME "VIDEOCFG"
674#define VCFG_RESOURCE_DLL_NAME "VCFGMRI"
675
676#define SVGA_DATAFNAME "svgadata.pmi"
677#define VIDEO_CFGFNAME "video.cfg"
678#define MONITOR_FNAME "monitor.dif"
679#define PRIVATE_MONITOR_FNAME "private.dif" /*@V3.0DAI01*/
680
681/*
682** DevEscape functions and structure for driver extra capabilities that need
683** to be configured by VIDEOCFG.DLL
684*/
685
686#define DEVESC_QUERYDRIVERCAPS 40010L /*@V3.0DAI01*/
687#define DEVESC_QUERYDRIVERCAPSLIST 40011L /*@V3.0DAI01*/
688#define DEVESC_SETDRIVERCAPSVALUE 40012L /*@V3.0DAI01*/
689 /*@V3.0DAI01*/
690#define CAPSTYPE_BOOLEAN 1L /*@V3.0DAI01*/
691#define CAPSTYPE_AGGREGATE_INT 2L /*@V3.0DAI01*/
692#define CAPSTYPE_AGGREGATE_STRING 3L /*@V3.0DAI01*/
693 /*@V3.0DAI01*/
694typedef struct _DRIVERCAPS /*@V3.0DAI01*/
695{ /*@V3.0DAI01*/
696 ULONG ulCb; /*@V3.0DAI01*/
697 CHAR szCapsDesc[256]; /*@V3.0DAI01*/
698 CHAR szHelpFileName[256]; /*@V3.0DAI01*/
699 ULONG ulHelpId; /*@V3.0DAI01*/
700 ULONG ulCapsType; /*@V3.0DAI01*/
701 ULONG ulValueMemberSize; /*@V3.0DAI01*/
702 ULONG ulNumValueMember; /*@V3.0DAI01*/
703 PVOID pValueList; /*@V3.0DAI01*/
704 PVOID pCurrentValue; /*@V3.0DAI01*/
705 PVOID pDefaultValue; /*@V3.0DAI01*/
706 BOOL bDefaultValueSupported; /*@V3.0DAI01*/
707 BOOL bStaticCaps; /*@V3.0DAI01*/
708} DRIVERCAPS, *PDRIVERCAPS; /*@V3.0DAI01*/
709
710/*
711** Functions exported by VIDEOCFG.DLL.
712*/
713
714/* Begin @V2.2DAI01 */
715/* These functions are exported only to PM aware apps. Include PMWIN.H */
716#ifdef MRESULT
717BOOL EXPENTRY QueryScreenPageData(PHMODULE phmodResourceMRI,
718 PUSHORT pusDlgId,
719 PSZ pszName,
720 PUSHORT pusHelpId,
721 PSZ pszDlgProcName,
722 BOOL bPaletteManagedDisplay);
723BOOL EXPENTRY QueryDisplayTypePageData(PHMODULE phmodResourceMRI,
724 PUSHORT pusDlgId,
725 PSZ pszName,
726 PUSHORT pusHelpId,
727 PSZ pszDlgProcName);
728MRESULT EXPENTRY ScreenDlgProc(HWND hwndDlg, USHORT msg, MPARAM mp1, MPARAM mp2);
729MRESULT EXPENTRY DIF_DisplayTypeDlgProc(HWND hwndDlg, USHORT msg, MPARAM mp1, MPARAM mp2);
730MRESULT EXPENTRY DMQS_DisplayTypeDlgProc(HWND hwndDlg, USHORT msg, MPARAM mp1, MPARAM mp2);
731#endif
732/* End @V2.2DAI01 */
733
734APIRET EXPENTRY QueryNumMonitors(ULONG *pulNumMonitors);
735APIRET EXPENTRY GetAllMonitors(MONITORINFO *pMonitors);
736APIRET EXPENTRY AddMonitorData(PSZ pszMonitorFileName, MONITORINFO *pNewMonitor); /* @V3.0DAI01 */
737APIRET EXPENTRY GetCurrentCfg(ADAPTERINFO *pAdapter,MONITORINFO *pMonitor);
738APIRET EXPENTRY SetCurrentCfg(ADAPTERINFO *pAdapter,MONITORINFO *pMonitor);
739BOOL EXPENTRY GetCurrentDesktopMode(PVIDEO_ADAPTER pVideoAdapter); /* @V3.0DAI01 */
740/*
741** 16 entry point into the VIDEOCFG.DLL
742*/
743APIRET VIDEOAPI VCFG16Request(PVOID pIn,ULONG function,PVOID pOut1,PVOID pOut2);
744typedef APIRET (VIDEOAPI FNCFG16REQUEST)(PVOID, ULONG, PVOID, PVOID);
745typedef FNCFG16REQUEST *PFNCFG16REQUEST;
746/*
747** functions exported to 16 bit
748*/
749#define VCFG_GET_CURRENT_CONFIG 0 //pIn = NULL, pOut1 = pAdapter, pOut2 = pMonitor
750
751/* INC */
752
753
754/*
755** APM constants @V3.0YEE06
756*/
757#define APM_RESUME 1
758#define APM_SUSPEND 2
759#define APM_DISABLED 4
760
761 /* this IOCTL is used internally between videopmi and screendd @V3.0YEE06 */
762#define SCREENDD_SVGA_APM 0x10 /* Wait for APM @V3.0YEE06 */
763
764#ifndef INCL_DOSDEVIOCTL //@senja: bsedev.h can't be used by vvid
765#ifndef BSEDEV_INCLUDED //don't define if bsedev already included
766#define SCREENDD_SVGA_ID 0x08 /* Get SVGA info IOCTL */
767#define SCREENDD_SVGA_OEM 0x09 /* Get OEM info IOCTL */
768/* #define SCREENDD_SVGA_APM 0x10 Wait for APM @V3.0YEE06 */
769#define SCREENDD_CATEGORY 0x80
770#define SCREENDD_NAME "SCREEN$"
771 /* SCREENDD_SVGA_ID */
772typedef struct _OEMSVGAINFO { /* */
773 USHORT AdapterType;
774 USHORT ChipType;
775 ULONG Memory;
776} OEMSVGAINFO;
777 /* SCREENDD_SVGA_OEM */
778typedef struct _OEMINFO { /* */
779 ULONG OEMLength;
780 USHORT Manufacturer;
781 ULONG ManufacturerData;
782 USHORT ManufacturerModel; /*@V3.0JWK04*/
783} OEMINFO;
784#endif
785#endif
Note: See TracBrowser for help on using the repository browser.