VirtualBox

source: vbox/trunk/src/VBox/Additions/x11/x11include/xorg-server-1.0.1/vdif.h

Last change on this file was 51223, checked in by vboxsync, 11 years ago

Additions/x11/x11include: added header files for X.Org Server 1.0 and 1.1.

  • Property svn:eol-style set to native
File size: 6.5 KB
Line 
1/* $XFree86: xc/programs/Xserver/hw/xfree86/ddc/vdif.h,v 1.4tsi Exp $ */
2
3#ifndef _VDIF_H
4#define _VDIF_H
5
6#define VDIF_MONITOR_MONOCHROME 0
7#define VDIF_MONITOR_COLOR 1
8#define VDIF_VIDEO_TTL 0
9#define VDIF_VIDEO_ANALOG 1
10#define VDIF_VIDEO_ECL 2
11#define VDIF_VIDEO_DECL 3
12#define VDIF_VIDEO_OTHER 4
13#define VDIF_SYNC_SEPARATE 0
14#define VDIF_SYNC_C 1
15#define VDIF_SYNC_CP 2
16#define VDIF_SYNC_G 3
17#define VDIF_SYNC_GP 4
18#define VDIF_SYNC_OTHER 5
19#define VDIF_SCAN_NONINTERLACED 0
20#define VDIF_SCAN_INTERLACED 1
21#define VDIF_SCAN_OTHER 2
22#define VDIF_POLARITY_NEGATIVE 0
23#define VDIF_POLARITY_POSITIVE 1
24
25#include <X11/Xmd.h>
26
27#undef CARD32
28#define CARD32 unsigned int /* ... on all supported platforms */
29
30typedef struct _VDIF { /* Monitor Description: */
31 CARD8 VDIFId[4]; /* alway "VDIF" */
32 CARD32 FileLength; /* lenght of the whole file */
33 CARD32 Checksum; /* sum of all bytes in the file after*/
34 /* this field */
35 CARD16 VDIFVersion; /* structure version number */
36 CARD16 VDIFRevision; /* structure revision number */
37 CARD16 Date[3]; /* file date Year/Month/Day */
38 CARD16 DateManufactured[3]; /* date Year/Month/Day */
39 CARD32 FileRevision; /* file revision string */
40 CARD32 Manufacturer; /* ASCII ID of the manufacturer */
41 CARD32 ModelNumber; /* ASCII ID of the model */
42 CARD32 MinVDIFIndex; /* ASCII ID of Minimum VDIF index */
43 CARD32 Version; /* ASCII ID of the model version */
44 CARD32 SerialNumber; /* ASCII ID of the serial number */
45 CARD8 MonitorType; /* Monochrome or Color */
46 CARD8 CRTSize; /* inches */
47 CARD8 BorderRed; /* percent */
48 CARD8 BorderGreen; /* percent */
49 CARD8 BorderBlue; /* percent */
50 CARD8 Reserved1; /* padding */
51 CARD16 Reserved2; /* padding */
52 CARD32 RedPhosphorDecay; /* microseconds */
53 CARD32 GreenPhosphorDecay; /* microseconds */
54 CARD32 BluePhosphorDecay; /* microseconds */
55 CARD16 WhitePoint_x; /* WhitePoint in CIExyY (scale 1000) */
56 CARD16 WhitePoint_y;
57 CARD16 WhitePoint_Y;
58 CARD16 RedChromaticity_x; /* Red chromaticity in x,y */
59 CARD16 RedChromaticity_y;
60 CARD16 GreenChromaticity_x; /* Green chromaticity in x,y */
61 CARD16 GreenChromaticity_y;
62 CARD16 BlueChromaticity_x; /* Blue chromaticity in x,y */
63 CARD16 BlueChromaticity_y;
64 CARD16 RedGamma; /* Gamme curve exponent (scale 1000) */
65 CARD16 GreenGamma;
66 CARD16 BlueGamma;
67 CARD32 NumberOperationalLimits;
68 CARD32 OffsetOperationalLimits;
69 CARD32 NumberOptions; /* optinal sections (gamma table) */
70 CARD32 OffsetOptions;
71 CARD32 OffsetStringTable;
72} xf86VdifRec, *xf86VdifPtr;
73
74typedef enum { /* Tags for section identification */
75 VDIF_OPERATIONAL_LIMITS_TAG = 1,
76 VDIF_PREADJUSTED_TIMING_TAG,
77 VDIF_GAMMA_TABLE_TAG
78} VDIFScnTag;
79
80typedef struct _VDIFScnHdr { /* Generic Section Header: */
81 CARD32 ScnLength; /* lenght of section */
82 CARD32 ScnTag; /* tag for section identification */
83} VDIFScnHdrRec, *VDIFScnHdrPtr;
84
85typedef struct _VDIFLimits { /* Operational Limits: */
86 VDIFScnHdrRec Header; /* common section info */
87 CARD16 MaxHorPixel; /* pixels */
88 CARD16 MaxVerPixel; /* lines */
89 CARD16 MaxHorActiveLength; /* millimeters */
90 CARD16 MaxVerActiveHeight; /* millimeters */
91 CARD8 VideoType; /* TTL / Analog / ECL / DECL */
92 CARD8 SyncType; /* TTL / Analog / ECL / DECL */
93 CARD8 SyncConfiguration; /* separate / composite / other */
94 CARD8 Reserved1; /* padding */
95 CARD16 Reserved2; /* padding */
96 CARD16 TerminationResistance; /* */
97 CARD16 WhiteLevel; /* millivolts */
98 CARD16 BlackLevel; /* millivolts */
99 CARD16 BlankLevel; /* millivolts */
100 CARD16 SyncLevel; /* millivolts */
101 CARD32 MaxPixelClock; /* kiloHertz */
102 CARD32 MinHorFrequency; /* Hertz */
103 CARD32 MaxHorFrequency; /* Hertz */
104 CARD32 MinVerFrequency; /* milliHertz */
105 CARD32 MaxVerFrequency; /* milliHertz */
106 CARD16 MinHorRetrace; /* nanoseconds */
107 CARD16 MinVerRetrace; /* microseconds */
108 CARD32 NumberPreadjustedTimings;
109 CARD32 OffsetNextLimits;
110} xf86VdifLimitsRec, *xf86VdifLimitsPtr;
111
112typedef struct _VDIFTiming { /* Preadjusted Timing: */
113 VDIFScnHdrRec Header; /* common section info */
114 CARD32 PreadjustedTimingName; /* SVGA/SVPMI mode number */
115 CARD16 HorPixel; /* pixels */
116 CARD16 VerPixel; /* lines */
117 CARD16 HorAddrLength; /* millimeters */
118 CARD16 VerAddrHeight; /* millimeters */
119 CARD8 PixelWidthRatio; /* gives H:V */
120 CARD8 PixelHeightRatio;
121 CARD8 Reserved1; /* padding */
122 CARD8 ScanType; /* noninterlaced / interlaced / other*/
123 CARD8 HorSyncPolarity; /* negative / positive */
124 CARD8 VerSyncPolarity; /* negative / positive */
125 CARD16 CharacterWidth; /* pixels */
126 CARD32 PixelClock; /* kiloHertz */
127 CARD32 HorFrequency; /* Hertz */
128 CARD32 VerFrequency; /* milliHertz */
129 CARD32 HorTotalTime; /* nanoseconds */
130 CARD32 VerTotalTime; /* microseconds */
131 CARD16 HorAddrTime; /* nanoseconds */
132 CARD16 HorBlankStart; /* nanoseconds */
133 CARD16 HorBlankTime; /* nanoseconds */
134 CARD16 HorSyncStart; /* nanoseconds */
135 CARD16 HorSyncTime; /* nanoseconds */
136 CARD16 VerAddrTime; /* microseconds */
137 CARD16 VerBlankStart; /* microseconds */
138 CARD16 VerBlankTime; /* microseconds */
139 CARD16 VerSyncStart; /* microseconds */
140 CARD16 VerSyncTime; /* microseconds */
141} xf86VdifTimingRec, *xf86VdifTimingPtr;
142
143typedef struct _VDIFGamma { /* Gamma Table: */
144 VDIFScnHdrRec Header; /* common section info */
145 CARD16 GammaTableEntries; /* count of grays or RGB 3-tuples */
146 CARD16 Unused1;
147} xf86VdifGammaRec, *xf86VdifGammaPtr;
148
149/* access macros */
150#define VDIF_OPERATIONAL_LIMITS(vdif) \
151((xf86VdifLimitsPtr)((char*)(vdif) + (vdif)->OffsetOperationalLimits))
152#define VDIF_NEXT_OPERATIONAL_LIMITS(limits) limits = \
153 ((xf86VdifLimitsPtr)((char*)(limits) + (limits)->OffsetNextLimits))
154#define VDIF_PREADJUSTED_TIMING(limits) \
155((xf86VdifTimingPtr)((char*)(limits) + (limits)->Header.ScnLength))
156#define VDIF_NEXT_PREADJUSTED_TIMING(timing) timing = \
157 ((xf86VdifTimingPtr)((char*)(timing) + (timing)->Header.ScnLength))
158#define VDIF_OPTIONS(vdif) \
159 ((VDIFScnHdrPtr)((char*)(vdif) + (vdif)->OffsetOptions))
160#define VDIF_NEXT_OPTIONS(options) options = \
161 ((xf86VdifGammaPtr)((char*)(options) + (options)->Header.ScnLength))
162#define VDIF_STRING(vdif, string) \
163 ((char*)((char*)vdif + vdif->OffsetStringTable + (string)))
164
165typedef struct _vdif {
166 xf86VdifPtr vdif;
167 xf86VdifLimitsPtr *limits;
168 xf86VdifTimingPtr *timings;
169 xf86VdifGammaPtr *gamma;
170 char * strings;
171} xf86vdif, *xf86vdifPtr;
172
173#undef CARD32
174
175#endif
Note: See TracBrowser for help on using the repository browser.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette