Home | History | Annotate | Download | only in extensions
      1 /* $XFree86: xc/include/extensions/xf86dgastr.h,v 3.14 2001/08/01 00:44:36 tsi Exp $ */
      2 /*
      3 
      4 Copyright (c) 1995  Jon Tombs
      5 Copyright (c) 1995  XFree86 Inc.
      6 
      7 */
      8 
      9 #ifndef _XF86DGASTR_H_
     10 #define _XF86DGASTR_H_
     11 
     12 #include "xf86dga1str.h"
     13 
     14 #define XF86DGANAME "XFree86-DGA"
     15 
     16 #define XDGA_MAJOR_VERSION	2	/* current version numbers */
     17 #define XDGA_MINOR_VERSION	0
     18 
     19 
     20 typedef struct _XDGAQueryVersion {
     21     CARD8	reqType;		/* always DGAReqCode */
     22     CARD8	dgaReqType;		/* always X_DGAQueryVersion */
     23     CARD16	length B16;
     24 } xXDGAQueryVersionReq;
     25 #define sz_xXDGAQueryVersionReq		4
     26 
     27 typedef struct {
     28     BYTE	type;			/* X_Reply */
     29     BOOL	pad1;
     30     CARD16	sequenceNumber B16;
     31     CARD32	length B32;
     32     CARD16	majorVersion B16;	/* major version of DGA protocol */
     33     CARD16	minorVersion B16;	/* minor version of DGA protocol */
     34     CARD32	pad2 B32;
     35     CARD32	pad3 B32;
     36     CARD32	pad4 B32;
     37     CARD32	pad5 B32;
     38     CARD32	pad6 B32;
     39 } xXDGAQueryVersionReply;
     40 #define sz_xXDGAQueryVersionReply	32
     41 
     42 typedef struct _XDGAQueryModes {
     43     CARD8	reqType;
     44     CARD8	dgaReqType;
     45     CARD16	length B16;
     46     CARD32	screen B32;
     47 } xXDGAQueryModesReq;
     48 #define sz_xXDGAQueryModesReq		8
     49 
     50 typedef struct {
     51     BYTE	type;			/* X_Reply */
     52     BOOL	pad1;
     53     CARD16	sequenceNumber B16;
     54     CARD32	length B32;
     55     CARD32	number B32;		/* number of modes available */
     56     CARD32	pad2 B32;
     57     CARD32	pad3 B32;
     58     CARD32	pad4 B32;
     59     CARD32	pad5 B32;
     60     CARD32	pad6 B32;
     61 } xXDGAQueryModesReply;
     62 #define sz_xXDGAQueryModesReply	32
     63 
     64 
     65 typedef struct _XDGASetMode {
     66     CARD8	reqType;
     67     CARD8	dgaReqType;
     68     CARD16	length B16;
     69     CARD32	screen B32;
     70     CARD32	mode B32;		/* mode number to init */
     71     CARD32	pid B32;		/* Pixmap descriptor */
     72 } xXDGASetModeReq;
     73 #define sz_xXDGASetModeReq		16
     74 
     75 typedef struct {
     76     BYTE	type;			/* X_Reply */
     77     BOOL	pad1;
     78     CARD16	sequenceNumber B16;
     79     CARD32	length B32;
     80     CARD32	offset B32;		/* offset into framebuffer map */
     81     CARD32	flags B32;
     82     CARD32	pad2 B32;
     83     CARD32	pad3 B32;
     84     CARD32	pad4 B32;
     85     CARD32	pad5 B32;
     86 } xXDGASetModeReply;
     87 #define sz_xXDGASetModeReply	32
     88 
     89 typedef struct {
     90    CARD8	byte_order;
     91    CARD8	depth;
     92    CARD16 	num B16;
     93    CARD16	bpp B16;
     94    CARD16	name_size B16;
     95    CARD32	vsync_num B32;
     96    CARD32	vsync_den B32;
     97    CARD32	flags B32;
     98    CARD16	image_width B16;
     99    CARD16	image_height B16;
    100    CARD16	pixmap_width B16;
    101    CARD16	pixmap_height B16;
    102    CARD32	bytes_per_scanline B32;
    103    CARD32	red_mask B32;
    104    CARD32	green_mask B32;
    105    CARD32	blue_mask B32;
    106    CARD16	visual_class B16;
    107    CARD16	pad1 B16;
    108    CARD16	viewport_width B16;
    109    CARD16	viewport_height B16;
    110    CARD16	viewport_xstep B16;
    111    CARD16	viewport_ystep B16;
    112    CARD16	viewport_xmax B16;
    113    CARD16	viewport_ymax B16;
    114    CARD32	viewport_flags B32;
    115    CARD32	reserved1 B32;
    116    CARD32	reserved2 B32;
    117 } xXDGAModeInfo;
    118 #define sz_xXDGAModeInfo 72
    119 
    120 typedef struct _XDGAOpenFramebuffer {
    121     CARD8	reqType;
    122     CARD8	dgaReqType;
    123     CARD16	length B16;
    124     CARD32	screen B32;
    125 } xXDGAOpenFramebufferReq;
    126 #define sz_xXDGAOpenFramebufferReq	8
    127 
    128 typedef struct {
    129     BYTE	type;			/* X_Reply */
    130     BOOL	pad1;
    131     CARD16	sequenceNumber B16;
    132     CARD32	length B32;		/* device name size if there is one */
    133     CARD32	mem1 B32;		/* physical memory */
    134     CARD32	mem2 B32;		/* spillover for _alpha_ */
    135     CARD32	size B32;		/* size of map in bytes */
    136     CARD32	offset B32;		/* optional offset into device */
    137     CARD32	extra B32;		/* extra info associated with the map */
    138     CARD32	pad2 B32;
    139 } xXDGAOpenFramebufferReply;
    140 #define sz_xXDGAOpenFramebufferReply	32
    141 
    142 
    143 typedef struct _XDGACloseFramebuffer {
    144     CARD8	reqType;
    145     CARD8	dgaReqType;
    146     CARD16	length B16;
    147     CARD32	screen B32;
    148 } xXDGACloseFramebufferReq;
    149 #define sz_xXDGACloseFramebufferReq	8
    150 
    151 
    152 typedef struct _XDGASetViewport {
    153     CARD8	reqType;
    154     CARD8	dgaReqType;
    155     CARD16	length B16;
    156     CARD32	screen B32;
    157     CARD16	x B16;
    158     CARD16	y B16;
    159     CARD32	flags B32;
    160 } xXDGASetViewportReq;
    161 #define sz_xXDGASetViewportReq	16
    162 
    163 
    164 typedef struct _XDGAInstallColormap {
    165     CARD8	reqType;
    166     CARD8	dgaReqType;
    167     CARD16	length B16;
    168     CARD32	screen B32;
    169     CARD32	cmap B32;
    170 } xXDGAInstallColormapReq;
    171 #define sz_xXDGAInstallColormapReq	12
    172 
    173 typedef struct _XDGASelectInput {
    174     CARD8	reqType;
    175     CARD8	dgaReqType;
    176     CARD16	length B16;
    177     CARD32	screen B32;
    178     CARD32	mask B32;
    179 } xXDGASelectInputReq;
    180 #define sz_xXDGASelectInputReq	12
    181 
    182 typedef struct _XDGAFillRectangle {
    183     CARD8	reqType;
    184     CARD8	dgaReqType;
    185     CARD16	length B16;
    186     CARD32	screen B32;
    187     CARD16	x B16;
    188     CARD16	y B16;
    189     CARD16	width B16;
    190     CARD16	height B16;
    191     CARD32	color B32;
    192 } xXDGAFillRectangleReq;
    193 #define sz_xXDGAFillRectangleReq	20
    194 
    195 
    196 typedef struct _XDGACopyArea {
    197     CARD8	reqType;
    198     CARD8	dgaReqType;
    199     CARD16	length B16;
    200     CARD32	screen B32;
    201     CARD16	srcx B16;
    202     CARD16	srcy B16;
    203     CARD16	width B16;
    204     CARD16	height B16;
    205     CARD16	dstx B16;
    206     CARD16	dsty B16;
    207 } xXDGACopyAreaReq;
    208 #define sz_xXDGACopyAreaReq	20
    209 
    210 typedef struct _XDGACopyTransparentArea {
    211     CARD8	reqType;
    212     CARD8	dgaReqType;
    213     CARD16	length B16;
    214     CARD32	screen B32;
    215     CARD16	srcx B16;
    216     CARD16	srcy B16;
    217     CARD16	width B16;
    218     CARD16	height B16;
    219     CARD16	dstx B16;
    220     CARD16	dsty B16;
    221     CARD32	key B32;
    222 } xXDGACopyTransparentAreaReq;
    223 #define sz_xXDGACopyTransparentAreaReq	24
    224 
    225 
    226 typedef struct _XDGAGetViewportStatus {
    227     CARD8	reqType;
    228     CARD8	dgaReqType;
    229     CARD16	length B16;
    230     CARD32	screen B32;
    231 } xXDGAGetViewportStatusReq;
    232 #define sz_xXDGAGetViewportStatusReq	8
    233 
    234 typedef struct {
    235     BYTE	type;
    236     BOOL	pad1;
    237     CARD16	sequenceNumber B16;
    238     CARD32	length B32;
    239     CARD32	status B32;
    240     CARD32	pad2 B32;
    241     CARD32	pad3 B32;
    242     CARD32	pad4 B32;
    243     CARD32	pad5 B32;
    244     CARD32	pad6 B32;
    245 } xXDGAGetViewportStatusReply;
    246 #define sz_xXDGAGetViewportStatusReply	32
    247 
    248 typedef struct _XDGASync {
    249     CARD8	reqType;
    250     CARD8	dgaReqType;
    251     CARD16	length B16;
    252     CARD32	screen B32;
    253 } xXDGASyncReq;
    254 #define sz_xXDGASyncReq	8
    255 
    256 typedef struct {
    257     BYTE	type;
    258     BOOL	pad1;
    259     CARD16	sequenceNumber B16;
    260     CARD32	length B32;
    261     CARD32	pad2 B32;
    262     CARD32	pad3 B32;
    263     CARD32	pad4 B32;
    264     CARD32	pad5 B32;
    265     CARD32	pad6 B32;
    266     CARD32	pad7 B32;
    267 } xXDGASyncReply;
    268 #define sz_xXDGASyncReply	32
    269 
    270 typedef struct _XDGASetClientVersion {
    271     CARD8	reqType;
    272     CARD8	dgaReqType;
    273     CARD16	length B16;
    274     CARD16	major B16;
    275     CARD16	minor B16;
    276 } xXDGASetClientVersionReq;
    277 #define sz_xXDGASetClientVersionReq	8
    278 
    279 
    280 typedef struct {
    281     CARD8	reqType;
    282     CARD8	dgaReqType;
    283     CARD16	length B16;
    284     CARD32	screen B32;
    285     CARD16	x B16;
    286     CARD16	y B16;
    287     CARD32	flags B32;
    288 } xXDGAChangePixmapModeReq;
    289 #define sz_xXDGAChangePixmapModeReq	16
    290 
    291 typedef struct {
    292     BYTE	type;
    293     BOOL	pad1;
    294     CARD16	sequenceNumber B16;
    295     CARD32	length B32;
    296     CARD16	x B16;
    297     CARD16	y B16;
    298     CARD32	pad3 B32;
    299     CARD32	pad4 B32;
    300     CARD32	pad5 B32;
    301     CARD32	pad6 B32;
    302     CARD32	pad7 B32;
    303 } xXDGAChangePixmapModeReply;
    304 #define sz_xXDGAChangePixmapModeReply	32
    305 
    306 typedef struct _XDGACreateColormap {
    307     CARD8	reqType;
    308     CARD8	dgaReqType;
    309     CARD16	length B16;
    310     CARD32	screen B32;
    311     CARD32	id B32;
    312     CARD32	mode B32;
    313     CARD8	alloc;
    314     CARD8	pad1;
    315     CARD16	pad2;
    316 } xXDGACreateColormapReq;
    317 #define sz_xXDGACreateColormapReq	20
    318 
    319 
    320 typedef struct {
    321   union {
    322     struct {
    323       BYTE type;
    324       BYTE detail;
    325       CARD16 sequenceNumber B16;
    326     } u;
    327     struct {
    328       CARD32 pad0 B32;
    329       CARD32 time B32;
    330       INT16 dx B16;
    331       INT16 dy B16;
    332       INT16 screen B16;
    333       CARD16 state B16;
    334       CARD32 pad1 B32;
    335       CARD32 pad2 B32;
    336       CARD32 pad3 B32;
    337       CARD32 pad4 B32;
    338     } event;
    339   } u;
    340 } dgaEvent;
    341 
    342 
    343 #endif /* _XF86DGASTR_H_ */
    344 
    345