117ca54c3Smrg/*********************************************************** 217ca54c3SmrgCopyright 1991 by Digital Equipment Corporation, Maynard, Massachusetts, 317ca54c3Smrgand the Massachusetts Institute of Technology, Cambridge, Massachusetts. 417ca54c3Smrg 517ca54c3Smrg All Rights Reserved 617ca54c3Smrg 717ca54c3SmrgPermission to use, copy, modify, and distribute this software and its 817ca54c3Smrgdocumentation for any purpose and without fee is hereby granted, 917ca54c3Smrgprovided that the above copyright notice appear in all copies and that 1017ca54c3Smrgboth that copyright notice and this permission notice appear in 1117ca54c3Smrgsupporting documentation, and that the names of Digital or MIT not be 1217ca54c3Smrgused in advertising or publicity pertaining to distribution of the 1317ca54c3Smrgsoftware without specific, written prior permission. 1417ca54c3Smrg 1517ca54c3SmrgDIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING 1617ca54c3SmrgALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL 1717ca54c3SmrgDIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR 1817ca54c3SmrgANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, 1917ca54c3SmrgWHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, 2017ca54c3SmrgARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS 2117ca54c3SmrgSOFTWARE. 2217ca54c3Smrg 2317ca54c3Smrg******************************************************************/ 2417ca54c3Smrg 2517ca54c3Smrg#ifndef XVPROTO_H 2617ca54c3Smrg#define XVPROTO_H 2717ca54c3Smrg/* 2817ca54c3Smrg** File: 2917ca54c3Smrg** 3017ca54c3Smrg** Xvproto.h --- Xv protocol header file 3117ca54c3Smrg** 3217ca54c3Smrg** Author: 3317ca54c3Smrg** 3417ca54c3Smrg** David Carver (Digital Workstation Engineering/Project Athena) 3517ca54c3Smrg** 3617ca54c3Smrg** Revisions: 3717ca54c3Smrg** 3817ca54c3Smrg** 11.06.91 Carver 3917ca54c3Smrg** - changed SetPortControl to SetPortAttribute 4017ca54c3Smrg** - changed GetPortControl to GetPortAttribute 4117ca54c3Smrg** - changed QueryBestSize 4217ca54c3Smrg** 4317ca54c3Smrg** 15.05.91 Carver 4417ca54c3Smrg** - version 2.0 upgrade 4517ca54c3Smrg** 4617ca54c3Smrg** 24.01.91 Carver 4717ca54c3Smrg** - version 1.4 upgrade 4817ca54c3Smrg** 4917ca54c3Smrg*/ 5017ca54c3Smrg 5117ca54c3Smrg#include <X11/Xmd.h> 5217ca54c3Smrg 5317ca54c3Smrg/* Symbols: These are undefined at the end of this file to restore the 5417ca54c3Smrg values they have in Xv.h */ 5517ca54c3Smrg 5617ca54c3Smrg#define XvPortID CARD32 5717ca54c3Smrg#define XvEncodingID CARD32 5817ca54c3Smrg#define ShmSeg CARD32 5917ca54c3Smrg#define VisualID CARD32 6017ca54c3Smrg#define Drawable CARD32 6117ca54c3Smrg#define GContext CARD32 6217ca54c3Smrg#define Time CARD32 6317ca54c3Smrg#define Atom CARD32 6417ca54c3Smrg 6517ca54c3Smrg/* Structures */ 6617ca54c3Smrg 6717ca54c3Smrgtypedef struct { 68ea1d6981Smrg INT32 numerator; 69ea1d6981Smrg INT32 denominator; 7017ca54c3Smrg} xvRational; 7117ca54c3Smrg#define sz_xvRational 8 7217ca54c3Smrg 7317ca54c3Smrgtypedef struct { 74ea1d6981Smrg XvPortID base_id; 75ea1d6981Smrg CARD16 name_size; 76ea1d6981Smrg CARD16 num_ports; 77ea1d6981Smrg CARD16 num_formats; 7817ca54c3Smrg CARD8 type; 7917ca54c3Smrg CARD8 pad; 8017ca54c3Smrg} xvAdaptorInfo; 8117ca54c3Smrg#define sz_xvAdaptorInfo 12 8217ca54c3Smrg 8317ca54c3Smrgtypedef struct { 84ea1d6981Smrg XvEncodingID encoding; 85ea1d6981Smrg CARD16 name_size; 86ea1d6981Smrg CARD16 width, height; 87ea1d6981Smrg CARD16 pad; 8817ca54c3Smrg xvRational rate; 8917ca54c3Smrg} xvEncodingInfo; 9017ca54c3Smrg#define sz_xvEncodingInfo (12 + sz_xvRational) 9117ca54c3Smrg 9217ca54c3Smrgtypedef struct { 93ea1d6981Smrg VisualID visual; 9417ca54c3Smrg CARD8 depth; 9517ca54c3Smrg CARD8 pad1; 96ea1d6981Smrg CARD16 pad2; 9717ca54c3Smrg} xvFormat; 9817ca54c3Smrg#define sz_xvFormat 8 9917ca54c3Smrg 10017ca54c3Smrgtypedef struct { 101ea1d6981Smrg CARD32 flags; 102ea1d6981Smrg INT32 min; 103ea1d6981Smrg INT32 max; 104ea1d6981Smrg CARD32 size; 10517ca54c3Smrg} xvAttributeInfo; 10617ca54c3Smrg#define sz_xvAttributeInfo 16 10717ca54c3Smrg 10817ca54c3Smrgtypedef struct { 109ea1d6981Smrg CARD32 id; 11017ca54c3Smrg CARD8 type; 11117ca54c3Smrg CARD8 byte_order; 112ea1d6981Smrg CARD16 pad1; 11317ca54c3Smrg CARD8 guid[16]; 11417ca54c3Smrg CARD8 bpp; 11517ca54c3Smrg CARD8 num_planes; 116ea1d6981Smrg CARD16 pad2; 11717ca54c3Smrg CARD8 depth; 11817ca54c3Smrg CARD8 pad3; 119ea1d6981Smrg CARD16 pad4; 120ea1d6981Smrg CARD32 red_mask; 121ea1d6981Smrg CARD32 green_mask; 122ea1d6981Smrg CARD32 blue_mask; 12317ca54c3Smrg CARD8 format; 12417ca54c3Smrg CARD8 pad5; 125ea1d6981Smrg CARD16 pad6; 126ea1d6981Smrg CARD32 y_sample_bits; 127ea1d6981Smrg CARD32 u_sample_bits; 128ea1d6981Smrg CARD32 v_sample_bits; 129ea1d6981Smrg CARD32 horz_y_period; 130ea1d6981Smrg CARD32 horz_u_period; 131ea1d6981Smrg CARD32 horz_v_period; 132ea1d6981Smrg CARD32 vert_y_period; 133ea1d6981Smrg CARD32 vert_u_period; 134ea1d6981Smrg CARD32 vert_v_period; 13517ca54c3Smrg CARD8 comp_order[32]; 13617ca54c3Smrg CARD8 scanline_order; 13717ca54c3Smrg CARD8 pad7; 138ea1d6981Smrg CARD16 pad8; 139ea1d6981Smrg CARD32 pad9; 140ea1d6981Smrg CARD32 pad10; 14117ca54c3Smrg} xvImageFormatInfo; 14217ca54c3Smrg#define sz_xvImageFormatInfo 128 14317ca54c3Smrg 14417ca54c3Smrg 14517ca54c3Smrg/* Requests */ 14617ca54c3Smrg 14717ca54c3Smrg#define xv_QueryExtension 0 14817ca54c3Smrg#define xv_QueryAdaptors 1 14917ca54c3Smrg#define xv_QueryEncodings 2 15017ca54c3Smrg#define xv_GrabPort 3 15117ca54c3Smrg#define xv_UngrabPort 4 15217ca54c3Smrg#define xv_PutVideo 5 15317ca54c3Smrg#define xv_PutStill 6 15417ca54c3Smrg#define xv_GetVideo 7 15517ca54c3Smrg#define xv_GetStill 8 15617ca54c3Smrg#define xv_StopVideo 9 15717ca54c3Smrg#define xv_SelectVideoNotify 10 15817ca54c3Smrg#define xv_SelectPortNotify 11 15917ca54c3Smrg#define xv_QueryBestSize 12 16017ca54c3Smrg#define xv_SetPortAttribute 13 16117ca54c3Smrg#define xv_GetPortAttribute 14 16217ca54c3Smrg#define xv_QueryPortAttributes 15 16317ca54c3Smrg#define xv_ListImageFormats 16 16417ca54c3Smrg#define xv_QueryImageAttributes 17 16517ca54c3Smrg#define xv_PutImage 18 16617ca54c3Smrg#define xv_ShmPutImage 19 16717ca54c3Smrg#define xv_LastRequest xv_ShmPutImage 16817ca54c3Smrg 16917ca54c3Smrg#define xvNumRequests (xv_LastRequest + 1) 17017ca54c3Smrg 17117ca54c3Smrgtypedef struct { 17217ca54c3Smrg CARD8 reqType; 17317ca54c3Smrg CARD8 xvReqType; 174ea1d6981Smrg CARD16 length; 17517ca54c3Smrg} xvQueryExtensionReq; 17617ca54c3Smrg#define sz_xvQueryExtensionReq 4 17717ca54c3Smrg 17817ca54c3Smrgtypedef struct { 17917ca54c3Smrg CARD8 reqType; 18017ca54c3Smrg CARD8 xvReqType; 181ea1d6981Smrg CARD16 length; 182ea1d6981Smrg CARD32 window; 18317ca54c3Smrg} xvQueryAdaptorsReq; 18417ca54c3Smrg#define sz_xvQueryAdaptorsReq 8 18517ca54c3Smrg 18617ca54c3Smrgtypedef struct { 18717ca54c3Smrg CARD8 reqType; 18817ca54c3Smrg CARD8 xvReqType; 189ea1d6981Smrg CARD16 length; 190ea1d6981Smrg CARD32 port; 19117ca54c3Smrg} xvQueryEncodingsReq; 19217ca54c3Smrg#define sz_xvQueryEncodingsReq 8 19317ca54c3Smrg 19417ca54c3Smrgtypedef struct { 19517ca54c3Smrg CARD8 reqType; 19617ca54c3Smrg CARD8 xvReqType; 197ea1d6981Smrg CARD16 length; 198ea1d6981Smrg XvPortID port; 199ea1d6981Smrg Drawable drawable; 200ea1d6981Smrg GContext gc; 201ea1d6981Smrg INT16 vid_x; 202ea1d6981Smrg INT16 vid_y; 203ea1d6981Smrg CARD16 vid_w; 204ea1d6981Smrg CARD16 vid_h; 205ea1d6981Smrg INT16 drw_x; 206ea1d6981Smrg INT16 drw_y; 207ea1d6981Smrg CARD16 drw_w; 208ea1d6981Smrg CARD16 drw_h; 20917ca54c3Smrg} xvPutVideoReq; 21017ca54c3Smrg#define sz_xvPutVideoReq 32 21117ca54c3Smrg 21217ca54c3Smrgtypedef struct { 21317ca54c3Smrg CARD8 reqType; 21417ca54c3Smrg CARD8 xvReqType; 215ea1d6981Smrg CARD16 length; 216ea1d6981Smrg XvPortID port; 217ea1d6981Smrg Drawable drawable; 218ea1d6981Smrg GContext gc; 219ea1d6981Smrg INT16 vid_x; 220ea1d6981Smrg INT16 vid_y; 221ea1d6981Smrg CARD16 vid_w; 222ea1d6981Smrg CARD16 vid_h; 223ea1d6981Smrg INT16 drw_x; 224ea1d6981Smrg INT16 drw_y; 225ea1d6981Smrg CARD16 drw_w; 226ea1d6981Smrg CARD16 drw_h; 22717ca54c3Smrg} xvPutStillReq; 22817ca54c3Smrg#define sz_xvPutStillReq 32 22917ca54c3Smrg 23017ca54c3Smrgtypedef struct { 23117ca54c3Smrg CARD8 reqType; 23217ca54c3Smrg CARD8 xvReqType; 233ea1d6981Smrg CARD16 length; 234ea1d6981Smrg XvPortID port; 235ea1d6981Smrg Drawable drawable; 236ea1d6981Smrg GContext gc; 237ea1d6981Smrg INT16 vid_x; 238ea1d6981Smrg INT16 vid_y; 239ea1d6981Smrg CARD16 vid_w; 240ea1d6981Smrg CARD16 vid_h; 241ea1d6981Smrg INT16 drw_x; 242ea1d6981Smrg INT16 drw_y; 243ea1d6981Smrg CARD16 drw_w; 244ea1d6981Smrg CARD16 drw_h; 24517ca54c3Smrg} xvGetVideoReq; 24617ca54c3Smrg#define sz_xvGetVideoReq 32 24717ca54c3Smrg 24817ca54c3Smrgtypedef struct { 24917ca54c3Smrg CARD8 reqType; 25017ca54c3Smrg CARD8 xvReqType; 251ea1d6981Smrg CARD16 length; 252ea1d6981Smrg XvPortID port; 253ea1d6981Smrg Drawable drawable; 254ea1d6981Smrg GContext gc; 255ea1d6981Smrg INT16 vid_x; 256ea1d6981Smrg INT16 vid_y; 257ea1d6981Smrg CARD16 vid_w; 258ea1d6981Smrg CARD16 vid_h; 259ea1d6981Smrg INT16 drw_x; 260ea1d6981Smrg INT16 drw_y; 261ea1d6981Smrg CARD16 drw_w; 262ea1d6981Smrg CARD16 drw_h; 26317ca54c3Smrg} xvGetStillReq; 26417ca54c3Smrg#define sz_xvGetStillReq 32 26517ca54c3Smrg 26617ca54c3Smrgtypedef struct { 26717ca54c3Smrg CARD8 reqType; 26817ca54c3Smrg CARD8 xvReqType; 269ea1d6981Smrg CARD16 length; 270ea1d6981Smrg XvPortID port; 271ea1d6981Smrg Time time; 27217ca54c3Smrg} xvGrabPortReq; 27317ca54c3Smrg#define sz_xvGrabPortReq 12 27417ca54c3Smrg 27517ca54c3Smrgtypedef struct { 27617ca54c3Smrg CARD8 reqType; 27717ca54c3Smrg CARD8 xvReqType; 278ea1d6981Smrg CARD16 length; 279ea1d6981Smrg XvPortID port; 280ea1d6981Smrg Time time; 28117ca54c3Smrg} xvUngrabPortReq; 28217ca54c3Smrg#define sz_xvUngrabPortReq 12 28317ca54c3Smrg 28417ca54c3Smrgtypedef struct { 28517ca54c3Smrg CARD8 reqType; 28617ca54c3Smrg CARD8 xvReqType; 287ea1d6981Smrg CARD16 length; 288ea1d6981Smrg Drawable drawable; 28917ca54c3Smrg BOOL onoff; 29017ca54c3Smrg CARD8 pad1; 29117ca54c3Smrg CARD16 pad2; 29217ca54c3Smrg} xvSelectVideoNotifyReq; 29317ca54c3Smrg#define sz_xvSelectVideoNotifyReq 12 29417ca54c3Smrg 29517ca54c3Smrgtypedef struct { 29617ca54c3Smrg CARD8 reqType; 29717ca54c3Smrg CARD8 xvReqType; 298ea1d6981Smrg CARD16 length; 299ea1d6981Smrg XvPortID port; 30017ca54c3Smrg BOOL onoff; 30117ca54c3Smrg CARD8 pad1; 30217ca54c3Smrg CARD16 pad2; 30317ca54c3Smrg} xvSelectPortNotifyReq; 30417ca54c3Smrg#define sz_xvSelectPortNotifyReq 12 30517ca54c3Smrg 30617ca54c3Smrgtypedef struct { 30717ca54c3Smrg CARD8 reqType; 30817ca54c3Smrg CARD8 xvReqType; 309ea1d6981Smrg CARD16 length; 310ea1d6981Smrg XvPortID port; 311ea1d6981Smrg Drawable drawable; 31217ca54c3Smrg} xvStopVideoReq; 31317ca54c3Smrg#define sz_xvStopVideoReq 12 31417ca54c3Smrg 31517ca54c3Smrgtypedef struct { 31617ca54c3Smrg CARD8 reqType; 31717ca54c3Smrg CARD8 xvReqType; 318ea1d6981Smrg CARD16 length; 319ea1d6981Smrg XvPortID port; 320ea1d6981Smrg Atom attribute; 321ea1d6981Smrg INT32 value; 32217ca54c3Smrg} xvSetPortAttributeReq; 32317ca54c3Smrg#define sz_xvSetPortAttributeReq 16 32417ca54c3Smrg 32517ca54c3Smrgtypedef struct { 32617ca54c3Smrg CARD8 reqType; 32717ca54c3Smrg CARD8 xvReqType; 328ea1d6981Smrg CARD16 length; 329ea1d6981Smrg XvPortID port; 330ea1d6981Smrg Atom attribute; 33117ca54c3Smrg} xvGetPortAttributeReq; 33217ca54c3Smrg#define sz_xvGetPortAttributeReq 12 33317ca54c3Smrg 33417ca54c3Smrgtypedef struct { 33517ca54c3Smrg CARD8 reqType; 33617ca54c3Smrg CARD8 xvReqType; 337ea1d6981Smrg CARD16 length; 338ea1d6981Smrg XvPortID port; 339ea1d6981Smrg CARD16 vid_w; 340ea1d6981Smrg CARD16 vid_h; 341ea1d6981Smrg CARD16 drw_w; 342ea1d6981Smrg CARD16 drw_h; 34317ca54c3Smrg CARD8 motion; 34417ca54c3Smrg CARD8 pad1; 345ea1d6981Smrg CARD16 pad2; 34617ca54c3Smrg} xvQueryBestSizeReq; 34717ca54c3Smrg#define sz_xvQueryBestSizeReq 20 34817ca54c3Smrg 34917ca54c3Smrgtypedef struct { 35017ca54c3Smrg CARD8 reqType; 35117ca54c3Smrg CARD8 xvReqType; 352ea1d6981Smrg CARD16 length; 353ea1d6981Smrg XvPortID port; 35417ca54c3Smrg} xvQueryPortAttributesReq; 35517ca54c3Smrg#define sz_xvQueryPortAttributesReq 8 35617ca54c3Smrg 35717ca54c3Smrgtypedef struct { 35817ca54c3Smrg CARD8 reqType; 35917ca54c3Smrg CARD8 xvReqType; 360ea1d6981Smrg CARD16 length; 361ea1d6981Smrg XvPortID port; 362ea1d6981Smrg Drawable drawable; 363ea1d6981Smrg GContext gc; 364ea1d6981Smrg CARD32 id; 365ea1d6981Smrg INT16 src_x; 366ea1d6981Smrg INT16 src_y; 367ea1d6981Smrg CARD16 src_w; 368ea1d6981Smrg CARD16 src_h; 369ea1d6981Smrg INT16 drw_x; 370ea1d6981Smrg INT16 drw_y; 371ea1d6981Smrg CARD16 drw_w; 372ea1d6981Smrg CARD16 drw_h; 373ea1d6981Smrg CARD16 width; 374ea1d6981Smrg CARD16 height; 37517ca54c3Smrg} xvPutImageReq; 37617ca54c3Smrg#define sz_xvPutImageReq 40 37717ca54c3Smrg 37817ca54c3Smrgtypedef struct { 37917ca54c3Smrg CARD8 reqType; 38017ca54c3Smrg CARD8 xvReqType; 381ea1d6981Smrg CARD16 length; 382ea1d6981Smrg XvPortID port; 383ea1d6981Smrg Drawable drawable; 384ea1d6981Smrg GContext gc; 385ea1d6981Smrg ShmSeg shmseg; 386ea1d6981Smrg CARD32 id; 387ea1d6981Smrg CARD32 offset; 388ea1d6981Smrg INT16 src_x; 389ea1d6981Smrg INT16 src_y; 390ea1d6981Smrg CARD16 src_w; 391ea1d6981Smrg CARD16 src_h; 392ea1d6981Smrg INT16 drw_x; 393ea1d6981Smrg INT16 drw_y; 394ea1d6981Smrg CARD16 drw_w; 395ea1d6981Smrg CARD16 drw_h; 396ea1d6981Smrg CARD16 width; 397ea1d6981Smrg CARD16 height; 39817ca54c3Smrg CARD8 send_event; 39917ca54c3Smrg CARD8 pad1; 400ea1d6981Smrg CARD16 pad2; 40117ca54c3Smrg} xvShmPutImageReq; 40217ca54c3Smrg#define sz_xvShmPutImageReq 52 40317ca54c3Smrg 40417ca54c3Smrgtypedef struct { 40517ca54c3Smrg CARD8 reqType; 40617ca54c3Smrg CARD8 xvReqType; 407ea1d6981Smrg CARD16 length; 408ea1d6981Smrg XvPortID port; 40917ca54c3Smrg} xvListImageFormatsReq; 41017ca54c3Smrg#define sz_xvListImageFormatsReq 8 41117ca54c3Smrg 41217ca54c3Smrgtypedef struct { 41317ca54c3Smrg CARD8 reqType; 41417ca54c3Smrg CARD8 xvReqType; 415ea1d6981Smrg CARD16 length; 416ea1d6981Smrg CARD32 port; 417ea1d6981Smrg CARD32 id; 418ea1d6981Smrg CARD16 width; 419ea1d6981Smrg CARD16 height; 42017ca54c3Smrg} xvQueryImageAttributesReq; 42117ca54c3Smrg#define sz_xvQueryImageAttributesReq 16 42217ca54c3Smrg 42317ca54c3Smrg 42417ca54c3Smrg/* Replies */ 42517ca54c3Smrg 42617ca54c3Smrgtypedef struct _QueryExtensionReply { 42717ca54c3Smrg BYTE type; /* X_Reply */ 42817ca54c3Smrg CARD8 padb1; 429ea1d6981Smrg CARD16 sequenceNumber; 430ea1d6981Smrg CARD32 length; 431ea1d6981Smrg CARD16 version; 432ea1d6981Smrg CARD16 revision; 433ea1d6981Smrg CARD32 padl4; 434ea1d6981Smrg CARD32 padl5; 435ea1d6981Smrg CARD32 padl6; 436ea1d6981Smrg CARD32 padl7; 437ea1d6981Smrg CARD32 padl8; 43817ca54c3Smrg} xvQueryExtensionReply; 43917ca54c3Smrg#define sz_xvQueryExtensionReply 32 44017ca54c3Smrg 44117ca54c3Smrgtypedef struct _QueryAdaptorsReply { 44217ca54c3Smrg BYTE type; /* X_Reply */ 44317ca54c3Smrg CARD8 padb1; 444ea1d6981Smrg CARD16 sequenceNumber; 445ea1d6981Smrg CARD32 length; 446ea1d6981Smrg CARD16 num_adaptors; 447ea1d6981Smrg CARD16 pads3; 448ea1d6981Smrg CARD32 padl4; 449ea1d6981Smrg CARD32 padl5; 450ea1d6981Smrg CARD32 padl6; 451ea1d6981Smrg CARD32 padl7; 452ea1d6981Smrg CARD32 padl8; 45317ca54c3Smrg} xvQueryAdaptorsReply; 45417ca54c3Smrg#define sz_xvQueryAdaptorsReply 32 45517ca54c3Smrg 45617ca54c3Smrgtypedef struct _QueryEncodingsReply { 45717ca54c3Smrg BYTE type; /* X_Reply */ 45817ca54c3Smrg CARD8 padb1; 459ea1d6981Smrg CARD16 sequenceNumber; 460ea1d6981Smrg CARD32 length; 461ea1d6981Smrg CARD16 num_encodings; 462ea1d6981Smrg CARD16 padl3; 463ea1d6981Smrg CARD32 padl4; 464ea1d6981Smrg CARD32 padl5; 465ea1d6981Smrg CARD32 padl6; 466ea1d6981Smrg CARD32 padl7; 467ea1d6981Smrg CARD32 padl8; 46817ca54c3Smrg} xvQueryEncodingsReply; 46917ca54c3Smrg#define sz_xvQueryEncodingsReply 32 47017ca54c3Smrg 47117ca54c3Smrgtypedef struct { 47217ca54c3Smrg BYTE type; /* X_Reply */ 47317ca54c3Smrg BYTE result; 474ea1d6981Smrg CARD16 sequenceNumber; 475ea1d6981Smrg CARD32 length; /* 0 */ 476ea1d6981Smrg CARD32 padl3; 477ea1d6981Smrg CARD32 padl4; 478ea1d6981Smrg CARD32 padl5; 479ea1d6981Smrg CARD32 padl6; 480ea1d6981Smrg CARD32 padl7; 481ea1d6981Smrg CARD32 padl8; 48217ca54c3Smrg} xvGrabPortReply; 48317ca54c3Smrg#define sz_xvGrabPortReply 32 48417ca54c3Smrg 48517ca54c3Smrgtypedef struct { 48617ca54c3Smrg BYTE type; /* X_Reply */ 48717ca54c3Smrg BYTE padb1; 488ea1d6981Smrg CARD16 sequenceNumber; 489ea1d6981Smrg CARD32 length; /* 0 */ 490ea1d6981Smrg INT32 value; 491ea1d6981Smrg CARD32 padl4; 492ea1d6981Smrg CARD32 padl5; 493ea1d6981Smrg CARD32 padl6; 494ea1d6981Smrg CARD32 padl7; 495ea1d6981Smrg CARD32 padl8; 49617ca54c3Smrg} xvGetPortAttributeReply; 49717ca54c3Smrg#define sz_xvGetPortAttributeReply 32 49817ca54c3Smrg 49917ca54c3Smrgtypedef struct { 50017ca54c3Smrg BYTE type; /* X_Reply */ 50117ca54c3Smrg BYTE padb1; 502ea1d6981Smrg CARD16 sequenceNumber; 503ea1d6981Smrg CARD32 length; /* 0 */ 504ea1d6981Smrg CARD16 actual_width; 505ea1d6981Smrg CARD16 actual_height; 506ea1d6981Smrg CARD32 padl4; 507ea1d6981Smrg CARD32 padl5; 508ea1d6981Smrg CARD32 padl6; 509ea1d6981Smrg CARD32 padl7; 510ea1d6981Smrg CARD32 padl8; 51117ca54c3Smrg} xvQueryBestSizeReply; 51217ca54c3Smrg#define sz_xvQueryBestSizeReply 32 51317ca54c3Smrg 51417ca54c3Smrgtypedef struct { 51517ca54c3Smrg BYTE type; /* X_Reply */ 51617ca54c3Smrg BYTE padb1; 517ea1d6981Smrg CARD16 sequenceNumber; 518ea1d6981Smrg CARD32 length; /* 0 */ 519ea1d6981Smrg CARD32 num_attributes; 520ea1d6981Smrg CARD32 text_size; 521ea1d6981Smrg CARD32 padl5; 522ea1d6981Smrg CARD32 padl6; 523ea1d6981Smrg CARD32 padl7; 524ea1d6981Smrg CARD32 padl8; 52517ca54c3Smrg} xvQueryPortAttributesReply; 52617ca54c3Smrg#define sz_xvQueryPortAttributesReply 32 52717ca54c3Smrg 52817ca54c3Smrgtypedef struct { 52917ca54c3Smrg BYTE type; /* X_Reply */ 53017ca54c3Smrg BYTE padb1; 531ea1d6981Smrg CARD16 sequenceNumber; 532ea1d6981Smrg CARD32 length; 533ea1d6981Smrg CARD32 num_formats; 534ea1d6981Smrg CARD32 padl4; 535ea1d6981Smrg CARD32 padl5; 536ea1d6981Smrg CARD32 padl6; 537ea1d6981Smrg CARD32 padl7; 538ea1d6981Smrg CARD32 padl8; 53917ca54c3Smrg} xvListImageFormatsReply; 54017ca54c3Smrg#define sz_xvListImageFormatsReply 32 54117ca54c3Smrg 54217ca54c3Smrgtypedef struct { 54317ca54c3Smrg BYTE type; /* X_Reply */ 54417ca54c3Smrg BYTE padb1; 545ea1d6981Smrg CARD16 sequenceNumber; 546ea1d6981Smrg CARD32 length; 547ea1d6981Smrg CARD32 num_planes; 548ea1d6981Smrg CARD32 data_size; 549ea1d6981Smrg CARD16 width; 550ea1d6981Smrg CARD16 height; 551ea1d6981Smrg CARD32 padl6; 552ea1d6981Smrg CARD32 padl7; 553ea1d6981Smrg CARD32 padl8; 55417ca54c3Smrg} xvQueryImageAttributesReply; 55517ca54c3Smrg#define sz_xvQueryImageAttributesReply 32 55617ca54c3Smrg 55717ca54c3Smrg/* DEFINE EVENT STRUCTURE */ 55817ca54c3Smrg 55917ca54c3Smrgtypedef struct { 56017ca54c3Smrg union { 56117ca54c3Smrg struct { 56217ca54c3Smrg BYTE type; 56317ca54c3Smrg BYTE detail; 564ea1d6981Smrg CARD16 sequenceNumber; 56517ca54c3Smrg } u; 56617ca54c3Smrg struct { 56717ca54c3Smrg BYTE type; 56817ca54c3Smrg BYTE reason; 569ea1d6981Smrg CARD16 sequenceNumber; 570ea1d6981Smrg Time time; 571ea1d6981Smrg Drawable drawable; 572ea1d6981Smrg XvPortID port; 573ea1d6981Smrg CARD32 padl5; 574ea1d6981Smrg CARD32 padl6; 575ea1d6981Smrg CARD32 padl7; 576ea1d6981Smrg CARD32 padl8; 57717ca54c3Smrg } videoNotify; 57817ca54c3Smrg struct { 57917ca54c3Smrg BYTE type; 58017ca54c3Smrg BYTE padb1; 581ea1d6981Smrg CARD16 sequenceNumber; 582ea1d6981Smrg Time time; 583ea1d6981Smrg XvPortID port; 584ea1d6981Smrg Atom attribute; 585ea1d6981Smrg INT32 value; 586ea1d6981Smrg CARD32 padl6; 587ea1d6981Smrg CARD32 padl7; 588ea1d6981Smrg CARD32 padl8; 58917ca54c3Smrg } portNotify; 59017ca54c3Smrg } u; 59117ca54c3Smrg} xvEvent; 59217ca54c3Smrg 59317ca54c3Smrg#undef XvPortID 59417ca54c3Smrg#undef XvEncodingID 59517ca54c3Smrg#undef ShmSeg 59617ca54c3Smrg#undef VisualID 59717ca54c3Smrg#undef Drawable 59817ca54c3Smrg#undef GContext 59917ca54c3Smrg#undef Time 60017ca54c3Smrg#undef Atom 60117ca54c3Smrg 60217ca54c3Smrg#endif /* XVPROTO_H */ 60317ca54c3Smrg 604