Home | History | Annotate | Download | only in extensions
      1 /* $XFree86: xc/include/extensions/xf86vmstr.h,v 3.27 2001/08/01 00:44:36 tsi Exp $ */
      2 /*
      3 
      4 Copyright 1995  Kaleb S. KEITHLEY
      5 
      6 Permission is hereby granted, free of charge, to any person obtaining
      7 a copy of this software and associated documentation files (the
      8 "Software"), to deal in the Software without restriction, including
      9 without limitation the rights to use, copy, modify, merge, publish,
     10 distribute, sublicense, and/or sell copies of the Software, and to
     11 permit persons to whom the Software is furnished to do so, subject to
     12 the following conditions:
     13 
     14 The above copyright notice and this permission notice shall be
     15 included in all copies or substantial portions of the Software.
     16 
     17 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
     18 EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
     19 MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
     20 IN NO EVENT SHALL Kaleb S. KEITHLEY BE LIABLE FOR ANY CLAIM, DAMAGES
     21 OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
     22 ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
     23 OTHER DEALINGS IN THE SOFTWARE.
     24 
     25 Except as contained in this notice, the name of Kaleb S. KEITHLEY
     26 shall not be used in advertising or otherwise to promote the sale, use
     27 or other dealings in this Software without prior written authorization
     28 from Kaleb S. KEITHLEY
     29 
     30 */
     31 /* $Xorg: xf86vmstr.h,v 1.3 2000/08/18 04:05:46 coskrey Exp $ */
     32 
     33 /* THIS IS NOT AN X CONSORTIUM STANDARD OR AN X PROJECT TEAM SPECIFICATION */
     34 
     35 #ifndef _XF86VIDMODESTR_H_
     36 #define _XF86VIDMODESTR_H_
     37 
     38 #include "xf86vmode.h"
     39 
     40 #define XF86VIDMODENAME "XFree86-VidModeExtension"
     41 
     42 #define XF86VIDMODE_MAJOR_VERSION	2	/* current version numbers */
     43 #define XF86VIDMODE_MINOR_VERSION	1
     44 /*
     45  * major version 0 == uses parameter-to-wire functions in XFree86 libXxf86vm.
     46  * major version 1 == uses parameter-to-wire functions hard-coded in xvidtune
     47  *                    client.
     48  * major version 2 == uses new protocol version in XFree86 4.0.
     49  */
     50 
     51 typedef struct _XF86VidModeQueryVersion {
     52     CARD8	reqType;		/* always XF86VidModeReqCode */
     53     CARD8	xf86vidmodeReqType;	/* always X_XF86VidModeQueryVersion */
     54     CARD16	length B16;
     55 } xXF86VidModeQueryVersionReq;
     56 #define sz_xXF86VidModeQueryVersionReq	4
     57 
     58 typedef struct {
     59     BYTE	type;			/* X_Reply */
     60     BOOL	pad1;
     61     CARD16	sequenceNumber B16;
     62     CARD32	length B32;
     63     CARD16	majorVersion B16;	/* major version of XF86VidMode */
     64     CARD16	minorVersion B16;	/* minor version of XF86VidMode */
     65     CARD32	pad2 B32;
     66     CARD32	pad3 B32;
     67     CARD32	pad4 B32;
     68     CARD32	pad5 B32;
     69     CARD32	pad6 B32;
     70 } xXF86VidModeQueryVersionReply;
     71 #define sz_xXF86VidModeQueryVersionReply	32
     72 
     73 typedef struct _XF86VidModeGetModeLine {
     74     CARD8	reqType;		/* always XF86VidModeReqCode */
     75     CARD8	xf86vidmodeReqType;
     76     CARD16	length B16;
     77     CARD16	screen B16;
     78     CARD16	pad B16;
     79 } xXF86VidModeGetModeLineReq,
     80   xXF86VidModeGetAllModeLinesReq,
     81   xXF86VidModeGetMonitorReq,
     82   xXF86VidModeGetViewPortReq,
     83   xXF86VidModeGetDotClocksReq;
     84 #define sz_xXF86VidModeGetModeLineReq		8
     85 #define sz_xXF86VidModeGetAllModeLinesReq	8
     86 #define sz_xXF86VidModeGetMonitorReq		8
     87 #define sz_xXF86VidModeGetViewPortReq		8
     88 #define sz_xXF86VidModeGetDotClocksReq		8
     89 
     90 typedef struct {
     91     BYTE	type;			/* X_Reply */
     92     BOOL	pad1;
     93     CARD16	sequenceNumber B16;
     94     CARD32	length B32;
     95     CARD32	dotclock B32;
     96     CARD16	hdisplay B16;
     97     CARD16	hsyncstart B16;
     98     CARD16	hsyncend B16;
     99     CARD16	htotal B16;
    100     CARD16	hskew B16;
    101     CARD16	vdisplay B16;
    102     CARD16	vsyncstart B16;
    103     CARD16	vsyncend B16;
    104     CARD16	vtotal B16;
    105     CARD16	pad2 B16;
    106     CARD32	flags B32;
    107     CARD32	reserved1 B32;
    108     CARD32	reserved2 B32;
    109     CARD32	reserved3 B32;
    110     CARD32	privsize B32;
    111 } xXF86VidModeGetModeLineReply;
    112 #define sz_xXF86VidModeGetModeLineReply	52
    113 
    114 /* 0.x version */
    115 typedef struct {
    116     BYTE	type;			/* X_Reply */
    117     BOOL	pad1;
    118     CARD16	sequenceNumber B16;
    119     CARD32	length B32;
    120     CARD32	dotclock B32;
    121     CARD16	hdisplay B16;
    122     CARD16	hsyncstart B16;
    123     CARD16	hsyncend B16;
    124     CARD16	htotal B16;
    125     CARD16	vdisplay B16;
    126     CARD16	vsyncstart B16;
    127     CARD16	vsyncend B16;
    128     CARD16	vtotal B16;
    129     CARD32	flags B32;
    130     CARD32	privsize B32;
    131 } xXF86OldVidModeGetModeLineReply;
    132 #define sz_xXF86OldVidModeGetModeLineReply	36
    133 
    134 typedef struct {
    135     CARD32	dotclock B32;
    136     CARD16	hdisplay B16;
    137     CARD16	hsyncstart B16;
    138     CARD16	hsyncend B16;
    139     CARD16	htotal B16;
    140     CARD32	hskew B16;
    141     CARD16	vdisplay B16;
    142     CARD16	vsyncstart B16;
    143     CARD16	vsyncend B16;
    144     CARD16	vtotal B16;
    145     CARD16	pad1 B16;
    146     CARD32	flags B32;
    147     CARD32	reserved1 B32;
    148     CARD32	reserved2 B32;
    149     CARD32	reserved3 B32;
    150     CARD32	privsize B32;
    151 } xXF86VidModeModeInfo;
    152 
    153 /* 0.x version */
    154 typedef struct {
    155     CARD32	dotclock B32;
    156     CARD16	hdisplay B16;
    157     CARD16	hsyncstart B16;
    158     CARD16	hsyncend B16;
    159     CARD16	htotal B16;
    160     CARD16	vdisplay B16;
    161     CARD16	vsyncstart B16;
    162     CARD16	vsyncend B16;
    163     CARD16	vtotal B16;
    164     CARD32	flags B32;
    165     CARD32	privsize B32;
    166 } xXF86OldVidModeModeInfo;
    167 
    168 typedef struct {
    169     BYTE	type;			/* X_Reply */
    170     BOOL	pad1;
    171     CARD16	sequenceNumber B16;
    172     CARD32	length B32;
    173     CARD32	modecount B32;
    174     CARD32	pad2 B32;
    175     CARD32	pad3 B32;
    176     CARD32	pad4 B32;
    177     CARD32	pad5 B32;
    178     CARD32	pad6 B32;
    179 } xXF86VidModeGetAllModeLinesReply;
    180 #define sz_xXF86VidModeGetAllModeLinesReply	32
    181 
    182 typedef struct _XF86VidModeAddModeLine {
    183     CARD8	reqType;		/* always XF86VidModeReqCode */
    184     CARD8	xf86vidmodeReqType;	/* always X_XF86VidModeAddMode */
    185     CARD16	length B16;
    186     CARD32	screen B32;		/* could be CARD16 but need the pad */
    187     CARD32	dotclock B32;
    188     CARD16	hdisplay B16;
    189     CARD16	hsyncstart B16;
    190     CARD16	hsyncend B16;
    191     CARD16	htotal B16;
    192     CARD16	hskew B16;
    193     CARD16	vdisplay B16;
    194     CARD16	vsyncstart B16;
    195     CARD16	vsyncend B16;
    196     CARD16	vtotal B16;
    197     CARD16	pad1 B16;
    198     CARD32	flags B32;
    199     CARD32	reserved1 B32;
    200     CARD32	reserved2 B32;
    201     CARD32	reserved3 B32;
    202     CARD32	privsize B32;
    203     CARD32	after_dotclock B32;
    204     CARD16	after_hdisplay B16;
    205     CARD16	after_hsyncstart B16;
    206     CARD16	after_hsyncend B16;
    207     CARD16	after_htotal B16;
    208     CARD16	after_hskew B16;
    209     CARD16	after_vdisplay B16;
    210     CARD16	after_vsyncstart B16;
    211     CARD16	after_vsyncend B16;
    212     CARD16	after_vtotal B16;
    213     CARD16	pad2 B16;
    214     CARD32	after_flags B32;
    215     CARD32	reserved4 B32;
    216     CARD32	reserved5 B32;
    217     CARD32	reserved6 B32;
    218 } xXF86VidModeAddModeLineReq;
    219 #define sz_xXF86VidModeAddModeLineReq	92
    220 
    221 /* 0.x version */
    222 typedef struct _XF86OldVidModeAddModeLine {
    223     CARD8	reqType;		/* always XF86VidModeReqCode */
    224     CARD8	xf86vidmodeReqType;	/* always X_XF86VidModeAddMode */
    225     CARD16	length B16;
    226     CARD32	screen B32;		/* could be CARD16 but need the pad */
    227     CARD32	dotclock B32;
    228     CARD16	hdisplay B16;
    229     CARD16	hsyncstart B16;
    230     CARD16	hsyncend B16;
    231     CARD16	htotal B16;
    232     CARD16	vdisplay B16;
    233     CARD16	vsyncstart B16;
    234     CARD16	vsyncend B16;
    235     CARD16	vtotal B16;
    236     CARD32	flags B32;
    237     CARD32	privsize B32;
    238     CARD32	after_dotclock B32;
    239     CARD16	after_hdisplay B16;
    240     CARD16	after_hsyncstart B16;
    241     CARD16	after_hsyncend B16;
    242     CARD16	after_htotal B16;
    243     CARD16	after_vdisplay B16;
    244     CARD16	after_vsyncstart B16;
    245     CARD16	after_vsyncend B16;
    246     CARD16	after_vtotal B16;
    247     CARD32	after_flags B32;
    248 } xXF86OldVidModeAddModeLineReq;
    249 #define sz_xXF86OldVidModeAddModeLineReq	60
    250 
    251 typedef struct _XF86VidModeModModeLine {
    252     CARD8	reqType;		/* always XF86VidModeReqCode */
    253     CARD8	xf86vidmodeReqType;	/* always X_XF86VidModeModModeLine */
    254     CARD16	length B16;
    255     CARD32	screen B32;		/* could be CARD16 but need the pad */
    256     CARD16	hdisplay B16;
    257     CARD16	hsyncstart B16;
    258     CARD16	hsyncend B16;
    259     CARD16	htotal B16;
    260     CARD16	hskew B16;
    261     CARD16	vdisplay B16;
    262     CARD16	vsyncstart B16;
    263     CARD16	vsyncend B16;
    264     CARD16	vtotal B16;
    265     CARD16	pad1 B16;
    266     CARD32	flags B32;
    267     CARD32	reserved1 B32;
    268     CARD32	reserved2 B32;
    269     CARD32	reserved3 B32;
    270     CARD32	privsize B32;
    271 } xXF86VidModeModModeLineReq;
    272 #define sz_xXF86VidModeModModeLineReq	48
    273 
    274 /* 0.x version */
    275 typedef struct _XF86OldVidModeModModeLine {
    276     CARD8	reqType;		/* always XF86OldVidModeReqCode */
    277     CARD8	xf86vidmodeReqType;	/* always X_XF86OldVidModeModModeLine */
    278     CARD16	length B16;
    279     CARD32	screen B32;		/* could be CARD16 but need the pad */
    280     CARD16	hdisplay B16;
    281     CARD16	hsyncstart B16;
    282     CARD16	hsyncend B16;
    283     CARD16	htotal B16;
    284     CARD16	vdisplay B16;
    285     CARD16	vsyncstart B16;
    286     CARD16	vsyncend B16;
    287     CARD16	vtotal B16;
    288     CARD32	flags B32;
    289     CARD32	privsize B32;
    290 } xXF86OldVidModeModModeLineReq;
    291 #define sz_xXF86OldVidModeModModeLineReq	32
    292 
    293 typedef struct _XF86VidModeValidateModeLine {
    294     CARD8	reqType;		/* always XF86VidModeReqCode */
    295     CARD8	xf86vidmodeReqType;
    296     CARD16	length B16;
    297     CARD32	screen B32;		/* could be CARD16 but need the pad */
    298     CARD32	dotclock B32;
    299     CARD16	hdisplay B16;
    300     CARD16	hsyncstart B16;
    301     CARD16	hsyncend B16;
    302     CARD16	htotal B16;
    303     CARD16	hskew B16;
    304     CARD16	vdisplay B16;
    305     CARD16	vsyncstart B16;
    306     CARD16	vsyncend B16;
    307     CARD16	vtotal B16;
    308     CARD16	pad1 B16;
    309     CARD32	flags B32;
    310     CARD32	reserved1 B32;
    311     CARD32	reserved2 B32;
    312     CARD32	reserved3 B32;
    313     CARD32	privsize B32;
    314 } xXF86VidModeDeleteModeLineReq,
    315   xXF86VidModeValidateModeLineReq,
    316   xXF86VidModeSwitchToModeReq;
    317 #define sz_xXF86VidModeDeleteModeLineReq	52
    318 #define sz_xXF86VidModeValidateModeLineReq	52
    319 #define sz_xXF86VidModeSwitchToModeReq		52
    320 
    321 /* 0.x version */
    322 typedef struct _XF86OldVidModeValidateModeLine {
    323     CARD8	reqType;		/* always XF86OldVidModeReqCode */
    324     CARD8	xf86vidmodeReqType;
    325     CARD16	length B16;
    326     CARD32	screen B32;		/* could be CARD16 but need the pad */
    327     CARD32	dotclock B32;
    328     CARD16	hdisplay B16;
    329     CARD16	hsyncstart B16;
    330     CARD16	hsyncend B16;
    331     CARD16	htotal B16;
    332     CARD16	vdisplay B16;
    333     CARD16	vsyncstart B16;
    334     CARD16	vsyncend B16;
    335     CARD16	vtotal B16;
    336     CARD32	flags B32;
    337     CARD32	privsize B32;
    338 } xXF86OldVidModeDeleteModeLineReq,
    339   xXF86OldVidModeValidateModeLineReq,
    340   xXF86OldVidModeSwitchToModeReq;
    341 #define sz_xXF86OldVidModeDeleteModeLineReq	36
    342 #define sz_xXF86OldVidModeValidateModeLineReq	36
    343 #define sz_xXF86OldVidModeSwitchToModeReq	36
    344 
    345 typedef struct _XF86VidModeSwitchMode {
    346     CARD8	reqType;		/* always XF86VidModeReqCode */
    347     CARD8	xf86vidmodeReqType;	/* always X_XF86VidModeSwitchMode */
    348     CARD16	length B16;
    349     CARD16	screen B16;
    350     CARD16	zoom B16;
    351 } xXF86VidModeSwitchModeReq;
    352 #define sz_xXF86VidModeSwitchModeReq	8
    353 
    354 typedef struct _XF86VidModeLockModeSwitch {
    355     CARD8	reqType;		/* always XF86VidModeReqCode */
    356     CARD8	xf86vidmodeReqType;	/* always X_XF86VidModeLockModeSwitch */
    357     CARD16	length B16;
    358     CARD16	screen B16;
    359     CARD16	lock B16;
    360 } xXF86VidModeLockModeSwitchReq;
    361 #define sz_xXF86VidModeLockModeSwitchReq	8
    362 
    363 typedef struct {
    364     BYTE	type;			/* X_Reply */
    365     BOOL	pad1;
    366     CARD16	sequenceNumber B16;
    367     CARD32	length B32;
    368     CARD32	status B32;
    369     CARD32	pad2 B32;
    370     CARD32	pad3 B32;
    371     CARD32	pad4 B32;
    372     CARD32	pad5 B32;
    373     CARD32	pad6 B32;
    374 } xXF86VidModeValidateModeLineReply;
    375 #define sz_xXF86VidModeValidateModeLineReply	32
    376 
    377 typedef struct {
    378     BYTE	type;			/* X_Reply */
    379     BOOL	pad1;
    380     CARD16	sequenceNumber B16;
    381     CARD32	length B32;
    382     CARD8	vendorLength;
    383     CARD8	modelLength;
    384     CARD8	nhsync;
    385     CARD8	nvsync;
    386     CARD32	pad2 B32;
    387     CARD32	pad3 B32;
    388     CARD32	pad4 B32;
    389     CARD32	pad5 B32;
    390     CARD32	pad6 B32;
    391 } xXF86VidModeGetMonitorReply;
    392 #define sz_xXF86VidModeGetMonitorReply	32
    393 
    394 typedef struct {
    395     BYTE	type;
    396     BOOL	pad1;
    397     CARD16	sequenceNumber B16;
    398     CARD32	length B32;
    399     CARD32	x B32;
    400     CARD32	y B32;
    401     CARD32	pad2 B32;
    402     CARD32	pad3 B32;
    403     CARD32	pad4 B32;
    404     CARD32	pad5 B32;
    405 } xXF86VidModeGetViewPortReply;
    406 #define sz_xXF86VidModeGetViewPortReply	32
    407 
    408 typedef struct _XF86VidModeSetViewPort {
    409     CARD8	reqType;		/* always VidModeReqCode */
    410     CARD8	xf86vidmodeReqType;	/* always X_XF86VidModeSetViewPort */
    411     CARD16	length B16;
    412     CARD16	screen B16;
    413     CARD16	pad B16;
    414     CARD32      x B32;
    415     CARD32	y B32;
    416 } xXF86VidModeSetViewPortReq;
    417 #define sz_xXF86VidModeSetViewPortReq	16
    418 
    419 typedef struct {
    420     BYTE	type;
    421     BOOL	pad1;
    422     CARD16	sequenceNumber B16;
    423     CARD32	length B32;
    424     CARD32	flags B32;
    425     CARD32	clocks B32;
    426     CARD32	maxclocks B32;
    427     CARD32	pad2 B32;
    428     CARD32	pad3 B32;
    429     CARD32	pad4 B32;
    430 } xXF86VidModeGetDotClocksReply;
    431 #define sz_xXF86VidModeGetDotClocksReply	32
    432 
    433 typedef struct _XF86VidModeSetClientVersion {
    434     CARD8	reqType;		/* always XF86VidModeReqCode */
    435     CARD8	xf86vidmodeReqType;
    436     CARD16	length B16;
    437     CARD16	major B16;
    438     CARD16	minor B16;
    439 } xXF86VidModeSetClientVersionReq;
    440 #define sz_xXF86VidModeSetClientVersionReq	8
    441 
    442 typedef struct _XF86VidModeGetGamma {
    443     CARD8	reqType;		/* always XF86VidModeReqCode */
    444     CARD8	xf86vidmodeReqType;
    445     CARD16	length B16;
    446     CARD16	screen B16;
    447     CARD16	pad B16;
    448     CARD32	pad1 B32;
    449     CARD32	pad2 B32;
    450     CARD32	pad3 B32;
    451     CARD32	pad4 B32;
    452     CARD32	pad5 B32;
    453     CARD32	pad6 B32;
    454 } xXF86VidModeGetGammaReq;
    455 #define sz_xXF86VidModeGetGammaReq		32
    456 
    457 typedef struct {
    458     BYTE	type;
    459     BOOL	pad;
    460     CARD16	sequenceNumber B16;
    461     CARD32	length B32;
    462     CARD32	red B32;
    463     CARD32	green B32;
    464     CARD32	blue B32;
    465     CARD32	pad1 B32;
    466     CARD32	pad2 B32;
    467     CARD32	pad3 B32;
    468 } xXF86VidModeGetGammaReply;
    469 #define sz_xXF86VidModeGetGammaReply		32
    470 
    471 typedef struct _XF86VidModeSetGamma {
    472     CARD8	reqType;		/* always XF86VidModeReqCode */
    473     CARD8	xf86vidmodeReqType;
    474     CARD16	length B16;
    475     CARD16	screen B16;
    476     CARD16	pad B16;
    477     CARD32	red B32;
    478     CARD32	green B32;
    479     CARD32	blue B32;
    480     CARD32	pad1 B32;
    481     CARD32	pad2 B32;
    482     CARD32	pad3 B32;
    483 } xXF86VidModeSetGammaReq;
    484 #define sz_xXF86VidModeSetGammaReq		32
    485 
    486 
    487 typedef struct _XF86VidModeSetGammaRamp {
    488     CARD8       reqType;                /* always XF86VidModeReqCode */
    489     CARD8       xf86vidmodeReqType;
    490     CARD16      length B16;
    491     CARD16      screen B16;
    492     CARD16      size B16;
    493 } xXF86VidModeSetGammaRampReq;
    494 #define sz_xXF86VidModeSetGammaRampReq             8
    495 
    496 typedef struct _XF86VidModeGetGammaRamp {
    497     CARD8       reqType;                /* always XF86VidModeReqCode */
    498     CARD8       xf86vidmodeReqType;
    499     CARD16      length B16;
    500     CARD16      screen B16;
    501     CARD16      size B16;
    502 } xXF86VidModeGetGammaRampReq;
    503 #define sz_xXF86VidModeGetGammaRampReq             8
    504 
    505 typedef struct {
    506     BYTE        type;
    507     BOOL        pad;
    508     CARD16      sequenceNumber B16;
    509     CARD32      length B32;
    510     CARD16      size B16;
    511     CARD16      pad0 B16;
    512     CARD32      pad1 B32;
    513     CARD32      pad2 B32;
    514     CARD32      pad3 B32;
    515     CARD32      pad4 B32;
    516     CARD32      pad5 B32;
    517 } xXF86VidModeGetGammaRampReply;
    518 #define sz_xXF86VidModeGetGammaRampReply            32
    519 
    520 typedef struct _XF86VidModeGetGammaRampSize {
    521     CARD8       reqType;                /* always XF86VidModeReqCode */
    522     CARD8       xf86vidmodeReqType;
    523     CARD16      length B16;
    524     CARD16      screen B16;
    525     CARD16      pad B16;
    526 } xXF86VidModeGetGammaRampSizeReq;
    527 #define sz_xXF86VidModeGetGammaRampSizeReq             8
    528 
    529 typedef struct {
    530     BYTE        type;
    531     BOOL        pad;
    532     CARD16      sequenceNumber B16;
    533     CARD32      length B32;
    534     CARD16      size B16;
    535     CARD16      pad0 B16;
    536     CARD32      pad1 B32;
    537     CARD32      pad2 B32;
    538     CARD32      pad3 B32;
    539     CARD32      pad4 B32;
    540     CARD32      pad5 B32;
    541 } xXF86VidModeGetGammaRampSizeReply;
    542 #define sz_xXF86VidModeGetGammaRampSizeReply            32
    543 
    544 
    545 #endif /* _XF86VIDMODESTR_H_ */
    546 
    547