update to xcb-proto 1.5

This commit is contained in:
matthieu 2009-05-31 16:38:11 +00:00
parent c5ebc0cf8b
commit 76a9292cf0
17 changed files with 540 additions and 281 deletions

View File

@ -1,3 +1,14 @@
Release 1.5 (2009-05-09)
========================
* Add support for mod mask Any
* Add and use altenum (non-exhaustive enum)
* Tweak some XInput specs
* Fix milter spelling
* Correct the length calculation for the value field of GetPropertyReply
* xtest: rename window field to root
* randr: add version 1.3 requests
* shm: fix ShmCompletion event
Release 1.4 (2009-02-16)
========================
* Add explicit padding in various protocol description.

View File

@ -3,7 +3,7 @@
AC_PREREQ(2.57)
AC_INIT([XCB Proto],
1.4,
1.5,
[xcb@lists.freedesktop.org])
AC_CONFIG_SRCDIR([xcb-proto.pc.in])
AM_INIT_AUTOMAKE([foreign dist-bzip2])

View File

@ -178,6 +178,12 @@ separated by a single colon. For example, to refer to the PIXMAP type defined
in glx rather than the one defined in xproto, use type="glx:PIXMAP" rather
than type="PIXMAP".
Note: Most of the below may optionally contain an enum, altenum, or mask
attribute, which follows the above rules for "type". "enum" is an exhaustive
enum; the value is restricted to one of the constants named in the enum.
"altenum" may be one of the values contained in the enum, but it need not be.
"mask" refers to an enum to be used as a bitmask.
<pad bytes="integer" />
This element declares some padding in a data structure. The bytes

View File

@ -49,25 +49,25 @@ authorization from the authors.
<request name="RedirectWindow" opcode="1">
<field type="WINDOW" name="window" />
<field type="CARD8" name="update" />
<field type="CARD8" name="update" enum="Redirect" />
<pad bytes="3" />
</request>
<request name="RedirectSubwindows" opcode="2">
<field type="WINDOW" name="window" />
<field type="CARD8" name="update" />
<field type="CARD8" name="update" enum="Redirect" />
<pad bytes="3" />
</request>
<request name="UnredirectWindow" opcode="3">
<field type="WINDOW" name="window" />
<field type="CARD8" name="update" />
<field type="CARD8" name="update" enum="Redirect" />
<pad bytes="3" />
</request>
<request name="UnredirectSubwindows" opcode="4">
<field type="WINDOW" name="window" />
<field type="CARD8" name="update" />
<field type="CARD8" name="update" enum="Redirect" />
<pad bytes="3" />
</request>

View File

@ -57,7 +57,7 @@ authorization from the authors.
<request name="Create" opcode="1">
<field type="DAMAGE" name="damage" />
<field type="DRAWABLE" name="drawable" />
<field type="CARD8" name="level" /> <!-- ReportLevel -->
<field type="CARD8" name="level" enum="ReportLevel" />
<pad bytes="3" />
</request>
@ -67,8 +67,8 @@ authorization from the authors.
<request name="Subtract" opcode="3">
<field type="DAMAGE" name="damage" />
<field type="REGION" name="repair" />
<field type="REGION" name="parts" />
<field type="REGION" name="repair" altenum="Region" />
<field type="REGION" name="parts" altenum="Region" />
</request>
<request name="Add" opcode="4">
@ -77,7 +77,7 @@ authorization from the authors.
</request>
<event name="Notify" number="0">
<field type="CARD8" name="level" /> <!-- ReportLevel -->
<field type="CARD8" name="level" enum="ReportLevel" />
<field type="DRAWABLE" name="drawable" />
<field type="DAMAGE" name="damage" />
<field type="TIMESTAMP" name="timestamp" />

View File

@ -65,14 +65,21 @@ authorization from the authors.
<request name="Disable" opcode="5" />
<enum name="DPMSMode">
<item name="On" />
<item name="Standby" />
<item name="Suspend" />
<item name="Off" />
</enum>
<request name="ForceLevel" opcode="6">
<field type="CARD16" name="power_level" />
<field type="CARD16" name="power_level" enum="DPMSMode" />
</request>
<request name="Info" opcode="7">
<reply>
<pad bytes="1" />
<field type="CARD16" name="power_level" />
<field type="CARD16" name="power_level" enum="DPMSMode" />
<field type="BOOL" name="state" />
<pad bytes="21" />
</reply>

View File

@ -27,9 +27,10 @@ authorization from the authors.
-->
<xcb header="randr" extension-xname="RANDR" extension-name="RandR"
major-version="1" minor-version="2">
major-version="1" minor-version="3">
<import>xproto</import>
<import>render</import>
<!-- XIDs -->
<xidtype name="MODE" />
@ -80,6 +81,13 @@ authorization from the authors.
<!-- Skip obsolete opcode 1 so old clients fail immediately -->
<enum name="SetConfig">
<item name="Success"><value>0</value></item>
<item name="InvalidConfigTime"><value>1</value></item>
<item name="InvalidTime"><value>2</value></item>
<item name="Failed"><value>3</value></item>
</enum>
<!-- This is for the 1.1 version request. I don't believe we need to specify a 1.0 request
as few things used randr 1.0. The only difference is the removal of refresh and padding I think.
BEWARE: the docs lie!
@ -89,31 +97,32 @@ authorization from the authors.
<field type="TIMESTAMP" name="timestamp" />
<field type="TIMESTAMP" name="config_timestamp" />
<field type="CARD16" name="sizeID" />
<field type="CARD16" name="rotation" /> <!-- enum Rotation -->
<field type="CARD16" name="rotation" mask="Rotation" />
<field type="CARD16" name="rate" />
<pad bytes="2" />
<reply>
<field type="CARD8" name="status" /> <!-- enum SetConfig -->
<field type="CARD8" name="status" enum="SetConfig" />
<field type="TIMESTAMP" name="new_timestamp" />
<field type="TIMESTAMP" name="config_timestamp" />
<field type="WINDOW" name="root" />
<field type="CARD16" name="subpixel_order" /> <!-- enum SubPixel (from Render) -->
<field type="CARD16" name="subpixel_order" enum="SubPixel" />
<pad bytes="10" />
</reply>
</request>
<!-- opcode 3 is obsolete -->
<enum name="SetConfig">
<item name="Success"><value>0</value></item>
<item name="InvalidConfigTime"><value>1</value></item>
<item name="InvalidTime"><value>2</value></item>
<item name="Failed"><value>3</value></item>
<enum name="NotifyMask" >
<item name="ScreenChange"> <bit>0</bit></item>
<!-- new in 1.2 -->
<item name="CrtcChange"> <bit>1</bit></item>
<item name="OutputChange"> <bit>2</bit></item>
<item name="OutputProperty"><bit>3</bit></item>
</enum>
<request name="SelectInput" opcode="4">
<field type="WINDOW" name="window" />
<field type="CARD16" name="enable" /> <!-- enum SetConfig -->
<field type="CARD16" name="enable" mask="NotifyMask" />
<pad bytes="2" />
</request>
@ -123,13 +132,13 @@ authorization from the authors.
<request name="GetScreenInfo" opcode="5">
<field type="WINDOW" name="window" />
<reply>
<field type="CARD8" name="rotations" />
<field type="CARD8" name="rotations" mask="Rotation" />
<field type="WINDOW" name="root" />
<field type="TIMESTAMP" name="timestamp" />
<field type="TIMESTAMP" name="config_timestamp" />
<field type="CARD16" name="nSizes" />
<field type="CARD16" name="sizeID" />
<field type="CARD16" name="rotation" />
<field type="CARD16" name="rotation" mask="Rotation" />
<field type="CARD16" name="rate" />
<field type="CARD16" name="nInfo" />
<pad bytes="2" />
@ -198,7 +207,7 @@ authorization from the authors.
<field type="CARD16" name="vsync_end" />
<field type="CARD16" name="vtotal" />
<field type="CARD16" name="name_len" />
<field type="CARD32" name="mode_flags" /> <!-- enum ModeFlag -->
<field type="CARD32" name="mode_flags" mask="ModeFlag" />
<!-- the mode name itself -->
</struct>
@ -242,13 +251,13 @@ authorization from the authors.
<field type="OUTPUT" name="output" />
<field type="TIMESTAMP" name="config_timestamp" />
<reply>
<field type="CARD8" name="status" /> <!-- enum SetConfig -->
<field type="CARD8" name="status" enum="SetConfig" />
<field type="TIMESTAMP" name="timestamp" />
<field type="CRTC" name="crtc" />
<field type="CARD32" name="mm_width" /> <!-- millimeters -->
<field type="CARD32" name="mm_height" />
<field type="CARD8" name="connection" /> <!-- enum Connection -->
<field type="CARD8" name="subpixel_order" /> <!-- enum SubPixel (from Render) -->
<field type="CARD8" name="connection" enum="Connection" />
<field type="CARD8" name="subpixel_order" enum="SubPixel" />
<field type="CARD16" name="num_crtcs" />
<field type="CARD16" name="num_modes" />
<field type="CARD16" name="num_preferred" />
@ -310,7 +319,7 @@ authorization from the authors.
<field type="ATOM" name="property" />
<field type="ATOM" name="type" />
<field type="CARD8" name="format" />
<field type="CARD8" name="mode" />
<field type="CARD8" name="mode" enum="PropMode" />
<pad bytes="2" />
<field type="CARD32" name="num_units" />
<list type="void" name="data">
@ -333,7 +342,7 @@ authorization from the authors.
<request name="GetOutputProperty" opcode="15">
<field type="OUTPUT" name="output" />
<field type="ATOM" name="property" />
<field type="ATOM" name="type" />
<field type="ATOM" name="type" altenum="GetPropertyType" />
<field type="CARD32" name="long_offset" />
<field type="CARD32" name="long_length" />
<field type="BOOL" name="delete" />
@ -341,7 +350,7 @@ authorization from the authors.
<pad bytes="2" />
<reply>
<field type="CARD8" name="format" />
<field type="ATOM" name="type" />
<field type="ATOM" name="type" altenum="Atom" />
<field type="CARD32" name="bytes_after" />
<field type="CARD32" name="num_items" />
<pad bytes="12" />
@ -387,15 +396,15 @@ authorization from the authors.
<field type="CRTC" name="crtc" />
<field type="TIMESTAMP" name="config_timestamp" />
<reply>
<field type="CARD8" name="status" /> <!-- enum SetConfig -->
<field type="CARD8" name="status" enum="SetConfig" />
<field type="TIMESTAMP" name="timestamp" />
<field type="INT16" name="x" />
<field type="INT16" name="y" />
<field type="CARD16" name="width" />
<field type="CARD16" name="height" />
<field type="MODE" name="mode" />
<field type="CARD16" name="rotation" /> <!-- enum Rotation -->
<field type="CARD16" name="rotations" /> <!-- mask of enum Rotation -->
<field type="CARD16" name="rotation" mask="Rotation" />
<field type="CARD16" name="rotations" mask="Rotation" />
<field type="CARD16" name="num_outputs" />
<field type="CARD16" name="num_possible_outputs" />
<list type="OUTPUT" name="outputs">
@ -414,11 +423,11 @@ authorization from the authors.
<field type="INT16" name="x" />
<field type="INT16" name="y" />
<field type="MODE" name="mode" />
<field type="CARD16" name="rotation" /> <!-- enum Rotation -->
<field type="CARD16" name="rotation" mask="Rotation" />
<pad bytes="2" />
<list type="OUTPUT" name="outputs" />
<reply>
<field type="CARD8" name="status" /> <!-- enum SetConfig -->
<field type="CARD8" name="status" enum="SetConfig" />
<field type="TIMESTAMP" name="timestamp" />
<pad bytes="20" />
</reply>
@ -466,24 +475,140 @@ authorization from the authors.
</list>
</request>
<!-- new in 1.3 -->
<request name="GetScreenResourcesCurrent" opcode="25">
<field type="WINDOW" name="window" />
<reply>
<pad bytes="1" />
<field type="TIMESTAMP" name="timestamp" />
<field type="TIMESTAMP" name="config_timestamp" />
<field type="CARD16" name="num_crtcs" />
<field type="CARD16" name="num_outputs" />
<field type="CARD16" name="num_modes" />
<field type="CARD16" name="names_len" />
<pad bytes="8" />
<list type="CRTC" name="crtcs">
<fieldref>num_crtcs</fieldref>
</list>
<list type="OUTPUT" name="outputs">
<fieldref>num_outputs</fieldref>
</list>
<list type="ModeInfo" name="modes">
<fieldref>num_modes</fieldref>
</list>
<!-- FIXME: this is *not* null separated!
One must use ModeInfo.name_len from each previous
ModeInfo to infer the position of the name. -->
<list type="BYTE" name="names">
<fieldref>names_len</fieldref>
</list>
</reply>
</request>
<request name="SetCrtcTransform" opcode="26">
<field type="CRTC" name="crtc" />
<field type="TRANSFORM" name="transform" />
<field type="CARD16" name="filter_len" />
<pad bytes="2" />
<list type="char" name="filter_name">
<fieldref>filter_len</fieldref>
</list>
<list type="FIXED" name="filter_params" />
</request>
<request name="GetCrtcTransform" opcode="27">
<field type="CRTC" name="crtc" />
<reply>
<pad bytes="1" />
<field type="TRANSFORM" name="pending_transform" />
<field type="BOOL" name="has_transforms" />
<pad bytes="3" />
<field type="TRANSFORM" name="current_transform" />
<pad bytes="4" />
<field type="CARD16" name="pending_len" />
<field type="CARD16" name="pending_nparams" />
<field type="CARD16" name="current_len" />
<field type="CARD16" name="current_nparams" />
<list type="char" name="pending_filter_name" >
<fieldref>pending_len</fieldref>
</list>
<list type="FIXED" name="pending_params" >
<fieldref>pending_nparams</fieldref>
</list>
<list type="char" name="current_filter_name" >
<fieldref>current_len</fieldref>
</list>
<list type="FIXED" name="current_params" >
<fieldref>current_nparams</fieldref>
</list>
</reply>
</request>
<request name="GetPanning" opcode="28">
<field type="CRTC" name="crtc" />
<reply>
<field type="CARD8" name="status" enum="SetConfig" />
<field type="TIMESTAMP" name="timestamp" />
<field type="CARD16" name="left" />
<field type="CARD16" name="top" />
<field type="CARD16" name="width" />
<field type="CARD16" name="height" />
<field type="CARD16" name="track_left" />
<field type="CARD16" name="track_top" />
<field type="CARD16" name="track_width" />
<field type="CARD16" name="track_height" />
<field type="INT16" name="border_left" />
<field type="INT16" name="border_top" />
<field type="INT16" name="border_right" />
<field type="INT16" name="border_bottom" />
</reply>
</request>
<request name="SetPanning" opcode="29">
<field type="CRTC" name="crtc" />
<field type="TIMESTAMP" name="timestamp" />
<field type="CARD16" name="left" />
<field type="CARD16" name="top" />
<field type="CARD16" name="width" />
<field type="CARD16" name="height" />
<field type="CARD16" name="track_left" />
<field type="CARD16" name="track_top" />
<field type="CARD16" name="track_width" />
<field type="CARD16" name="track_height" />
<field type="INT16" name="border_left" />
<field type="INT16" name="border_top" />
<field type="INT16" name="border_right" />
<field type="INT16" name="border_bottom" />
<reply>
<field type="CARD8" name="status" enum="SetConfig" />
<field type="TIMESTAMP" name="timestamp" />
</reply>
</request>
<request name="SetOutputPrimary" opcode="30">
<field type="WINDOW" name="window" />
<field type="OUTPUT" name="output" />
</request>
<request name="GetOutputPrimary" opcode="31">
<field type="WINDOW" name="window" />
<reply>
<pad bytes="1" />
<field type="OUTPUT" name="output" />
</reply>
</request>
<!-- Events -->
<enum name="NotifyMask" >
<item name="ScreenChange"> <bit>0</bit></item>
<!-- new in 1.2 -->
<item name="CrtcChange"> <bit>1</bit></item>
<item name="OutputChange"> <bit>2</bit></item>
<item name="OutputProperty"><bit>3</bit></item>
</enum>
<event name="ScreenChangeNotify" number="0">
<field type="CARD8" name="rotation" />
<field type="CARD8" name="rotation" mask="Rotation" />
<field type="TIMESTAMP" name="timestamp" />
<field type="TIMESTAMP" name="config_timestamp" />
<field type="WINDOW" name="root" />
<field type="WINDOW" name="request_window" />
<field type="CARD16" name="sizeID" />
<field type="CARD16" name="subpixel_order" /> <!-- enum SubPixel (from Render) -->
<field type="CARD16" name="subpixel_order" enum="SubPixel" />
<field type="CARD16" name="width" />
<field type="CARD16" name="height" />
<field type="CARD16" name="mwidth" />
@ -504,7 +629,7 @@ authorization from the authors.
<field type="WINDOW" name="window" />
<field type="CRTC" name="crtc" />
<field type="MODE" name="mode" />
<field type="CARD16" name="rotation" /> <!-- enum Rotation -->
<field type="CARD16" name="rotation" mask="Rotation" />
<pad bytes="2" />
<field type="INT16" name="x" />
<field type="INT16" name="y" />
@ -519,9 +644,9 @@ authorization from the authors.
<field type="OUTPUT" name="output" />
<field type="CRTC" name="crtc" />
<field type="MODE" name="mode" />
<field type="CARD16" name="rotation" /> <!-- enum Rotation -->
<field type="CARD8" name="connection" /> <!-- enum Connection -->
<field type="CARD8" name="subpixel_order" /> <!-- enum SubPixel (from Render) -->
<field type="CARD16" name="rotation" mask="Rotation" />
<field type="CARD8" name="connection" enum="Connection" />
<field type="CARD8" name="subpixel_order" enum="SubPixel" />
</struct>
<struct name="OutputProperty">
@ -529,7 +654,7 @@ authorization from the authors.
<field type="OUTPUT" name="output" />
<field type="ATOM" name="atom" />
<field type="TIMESTAMP" name="timestamp" />
<field type="CARD8" name="status" /> <!-- core enum Property -->
<field type="CARD8" name="status" enum="Property" />
<pad bytes="11" />
</struct>
@ -540,7 +665,7 @@ authorization from the authors.
</union>
<event name="Notify" number="1">
<field type="CARD8" name="subCode" /> <!-- enum Notify -->
<field type="CARD8" name="subCode" enum="Notify" />
<field type="NotifyData" name="u" />
</event>
</xcb>

View File

@ -15,6 +15,10 @@ for licensing information.
<item name="Direct" />
</enum>
<enum name="Picture">
<item name="None" />
</enum>
<!-- Disjoint* and Conjoint* are new in version 0.2 -->
<enum name="PictOp">
<item name="Clear" />
@ -129,7 +133,7 @@ for licensing information.
<struct name="PICTFORMINFO">
<field type="PICTFORMAT" name="id" />
<field type="CARD8" name="type" />
<field type="CARD8" name="type" enum="PictType" />
<field type="CARD8" name="depth" />
<pad bytes="2" />
<field type="DIRECTFORMAT" name="direct" />
@ -233,7 +237,7 @@ for licensing information.
<list type="PICTSCREEN" name="screens">
<fieldref>num_screens</fieldref>
</list>
<list type="CARD32" name="subpixels">
<list type="CARD32" name="subpixels" enum="SubPixel" >
<fieldref>num_subpixel</fieldref>
</list>
</reply>
@ -282,10 +286,10 @@ for licensing information.
</request>
<request name="Composite" opcode="8">
<field type="CARD8" name="op" />
<field type="CARD8" name="op" enum="PictOp" />
<pad bytes="3" />
<field type="PICTURE" name="src" />
<field type="PICTURE" name="mask" />
<field type="PICTURE" name="mask" altenum="Picture" />
<field type="PICTURE" name="dst" />
<field type="INT16" name="src_x" />
<field type="INT16" name="src_y" />
@ -300,7 +304,7 @@ for licensing information.
<!-- opcode 9 reserved for Scale -->
<request name="Trapezoids" opcode="10">
<field type="CARD8" name="op" />
<field type="CARD8" name="op" enum="PictOp" />
<pad bytes="3" />
<field type="PICTURE" name="src" />
<field type="PICTURE" name="dst" />
@ -311,7 +315,7 @@ for licensing information.
</request>
<request name="Triangles" opcode="11">
<field type="CARD8" name="op" />
<field type="CARD8" name="op" enum="PictOp" />
<pad bytes="3" />
<field type="PICTURE" name="src" />
<field type="PICTURE" name="dst" />
@ -322,7 +326,7 @@ for licensing information.
</request>
<request name="TriStrip" opcode="12">
<field type="CARD8" name="op" />
<field type="CARD8" name="op" enum="PictOp" />
<pad bytes="3" />
<field type="PICTURE" name="src" />
<field type="PICTURE" name="dst" />
@ -333,7 +337,7 @@ for licensing information.
</request>
<request name="TriFan" opcode="13">
<field type="CARD8" name="op" />
<field type="CARD8" name="op" enum="PictOp" />
<pad bytes="3" />
<field type="PICTURE" name="src" />
<field type="PICTURE" name="dst" />
@ -383,7 +387,7 @@ for licensing information.
</request>
<request name="CompositeGlyphs8" opcode="23">
<field type="CARD8" name="op" />
<field type="CARD8" name="op" enum="PictOp" />
<pad bytes="3" />
<field type="PICTURE" name="src" />
<field type="PICTURE" name="dst" />
@ -395,7 +399,7 @@ for licensing information.
</request>
<request name="CompositeGlyphs16" opcode="24">
<field type="CARD8" name="op" />
<field type="CARD8" name="op" enum="PictOp" />
<pad bytes="3" />
<field type="PICTURE" name="src" />
<field type="PICTURE" name="dst" />
@ -407,7 +411,7 @@ for licensing information.
</request>
<request name="CompositeGlyphs32" opcode="25">
<field type="CARD8" name="op" />
<field type="CARD8" name="op" enum="PictOp" />
<pad bytes="3" />
<field type="PICTURE" name="src" />
<field type="PICTURE" name="dst" />
@ -421,7 +425,7 @@ for licensing information.
<!-- new in version 0.1 -->
<request name="FillRectangles" opcode="26">
<field type="CARD8" name="op" />
<field type="CARD8" name="op" enum="PictOp" />
<pad bytes="3" />
<field type="PICTURE" name="dst" />
<field type="COLOR" name="color" />

View File

@ -49,7 +49,7 @@ authorization from the authors.
</enum>
<event name="Notify" number="0">
<field type="KIND" name="shape_kind" />
<field type="KIND" name="shape_kind" enum="SK" />
<field type="WINDOW" name="affected_window" />
<field type="INT16" name="extents_x" />
<field type="INT16" name="extents_y" />
@ -69,9 +69,9 @@ authorization from the authors.
</request>
<request name="Rectangles" opcode="1">
<field type="OP" name="operation" />
<field type="KIND" name="destination_kind" />
<field type="BYTE" name="ordering" />
<field type="OP" name="operation" enum="SO" />
<field type="KIND" name="destination_kind" enum="SK" />
<field type="BYTE" name="ordering" enum="ClipOrdering" />
<pad bytes="1" />
<field type="WINDOW" name="destination_window" />
<field type="INT16" name="x_offset" />
@ -80,19 +80,19 @@ authorization from the authors.
</request>
<request name="Mask" opcode="2">
<field type="OP" name="operation" />
<field type="KIND" name="destination_kind" />
<field type="OP" name="operation" enum="SO" />
<field type="KIND" name="destination_kind" enum="SK" />
<pad bytes="2" />
<field type="WINDOW" name="destination_window" />
<field type="INT16" name="x_offset" />
<field type="INT16" name="y_offset" />
<field type="PIXMAP" name="source_bitmap" />
<field type="PIXMAP" name="source_bitmap" altenum="Pixmap" />
</request>
<request name="Combine" opcode="3">
<field type="OP" name="operation" />
<field type="KIND" name="destination_kind" />
<field type="KIND" name="source_kind" />
<field type="OP" name="operation" enum="SO" />
<field type="KIND" name="destination_kind" enum="SK" />
<field type="KIND" name="source_kind" enum="SK" />
<pad bytes="1" />
<field type="WINDOW" name="destination_window" />
<field type="INT16" name="x_offset" />
@ -101,7 +101,7 @@ authorization from the authors.
</request>
<request name="Offset" opcode="4">
<field type="KIND" name="destination_kind" />
<field type="KIND" name="destination_kind" enum="SK" />
<pad bytes="3" />
<field type="WINDOW" name="destination_window" />
<field type="INT16" name="x_offset" />
@ -141,10 +141,10 @@ authorization from the authors.
<request name="GetRectangles" opcode="8">
<field type="WINDOW" name="window" />
<field type="KIND" name="source_kind" />
<field type="KIND" name="source_kind" enum="SK" />
<pad bytes="3" />
<reply>
<field type="BYTE" name="ordering" />
<field type="BYTE" name="ordering" enum="ClipOrdering" />
<field type="CARD32" name="rectangles_len" />
<list type="RECTANGLE" name="rectangles">
<fieldref>rectangles_len</fieldref>

View File

@ -34,10 +34,10 @@ authorization from the authors.
<event name="Completion" number="0">
<pad bytes="1" />
<field type="DRAWABLE" name="drawable" />
<field type="SEG" name="shmseg" />
<field type="CARD16" name="minor_event" />
<field type="BYTE" name="major_event" />
<pad bytes="1" />
<field type="SEG" name="shmseg" />
<field type="CARD32" name="offset" />
</event>

View File

@ -55,9 +55,9 @@ for licensing information.
<struct name="TRIGGER">
<field type="COUNTER" name="counter" />
<field type="CARD32" name="wait_type" />
<field type="CARD32" name="wait_type" enum="VALUETYPE" />
<field type="INT64" name="wait_value" />
<field type="CARD32" name="test_type" />
<field type="CARD32" name="test_type" enum="TESTTYPE" />
</struct>
<struct name="WAITCONDITION">
@ -155,7 +155,7 @@ for licensing information.
<field type="TRIGGER" name="trigger" />
<field type="INT64" name="delta" />
<field type="BOOL" name="events" />
<field type="CARD8" name="state" />
<field type="CARD8" name="state" enum="ALARMSTATE" />
<pad bytes="2" />
</reply>
</request>
@ -190,5 +190,7 @@ for licensing information.
<field type="INT64" name="counter_value" />
<field type="INT64" name="alarm_value" />
<field type="TIMESTAMP" name="timestamp" />
<field type="CARD8" name="state" enum="ALARMSTATE" />
<pad bytes="3" />
</event>
</xcb>

View File

@ -51,6 +51,7 @@ authorization from the authors.
<xsd:attribute name="name" type="xsd:string" use="required" />
<xsd:attribute name="type" type="xsd:string" use="required" />
<xsd:attribute name="enum" type="xsd:string" use="optional" />
<xsd:attribute name="altenum" type="xsd:string" use="optional" />
<xsd:attribute name="mask" type="xsd:string" use="optional" />
</xsd:complexType>

View File

@ -59,9 +59,9 @@ authorization from the authors.
</enum>
<request name="ChangeSaveSet" opcode="1">
<field type="BYTE" name="mode" /> <!-- SaveSetMode -->
<field type="BYTE" name="target" /> <!-- SaveSetTarget -->
<field type="BYTE" name="map" /> <!-- SaveSetMapping -->
<field type="BYTE" name="mode" enum="SaveSetMode" />
<field type="BYTE" name="target" enum="SaveSetTarget" />
<field type="BYTE" name="map" enum="SaveSetMapping" />
<pad bytes="1" />
<field type="WINDOW" name="window" />
</request>
@ -79,7 +79,7 @@ authorization from the authors.
</enum>
<event name="SelectionNotify" number="0">
<field type="CARD8" name="subtype" /> <!-- SelectionEvent -->
<field type="CARD8" name="subtype" enum="SelectionEvent" />
<field type="WINDOW" name="window" />
<field type="WINDOW" name="owner" />
<field type="ATOM" name="selection" />
@ -91,7 +91,7 @@ authorization from the authors.
<request name="SelectSelectionInput" opcode="2">
<field type="WINDOW" name="window" />
<field type="ATOM" name="selection" />
<field type="CARD32" name="event_mask" /> <!-- SelectionEventMask -->
<field type="CARD32" name="event_mask" mask="SelectionEventMask" />
</request>
<enum name="CursorNotify">
@ -103,17 +103,17 @@ authorization from the authors.
</enum>
<event name="CursorNotify" number="1">
<field type="CARD8" name="subtype" /> <!-- CursorNotify -->
<field type="CARD8" name="subtype" enum="CursorNotify" />
<field type="WINDOW" name="window" />
<field type="CARD32" name="cursor_serial" />
<field type="TIMESTAMP" name="timestamp" />
<field type="ATOM" name="name" /> <!-- Added in version 2 -->
<field type="ATOM" name="name" altenum="Atom" /> <!-- Added in version 2 -->
<pad bytes="12" />
</event>
<request name="SelectCursorInput" opcode="3">
<field type="WINDOW" name="window" />
<field type="CARD32" name="event_mask" /> <!-- CursorNotifyMask -->
<field type="CARD32" name="event_mask" mask="CursorNotifyMask" />
</request>
<request name="GetCursorImage" opcode="4">
@ -142,6 +142,10 @@ authorization from the authors.
<error name="BadRegion" number="0" />
<enum name="Region">
<item name="None" />
</enum>
<request name="CreateRegion" opcode="5">
<field type="REGION" name="region" />
<list type="RECTANGLE" name="rectangles" />
@ -155,7 +159,7 @@ authorization from the authors.
<request name="CreateRegionFromWindow" opcode="7">
<field type="REGION" name="region" />
<field type="WINDOW" name="window" />
<field type="shape:KIND" name="kind" />
<field type="shape:KIND" name="kind" enum="SK" />
<pad bytes="3" />
</request>
@ -232,23 +236,23 @@ authorization from the authors.
<request name="SetGCClipRegion" opcode="20">
<field type="GCONTEXT" name="gc" />
<field type="REGION" name="region" />
<field type="REGION" name="region" altenum="Region" />
<field type="INT16" name="x_origin" />
<field type="INT16" name="y_origin" />
</request>
<request name="SetWindowShapeRegion" opcode="21">
<field type="WINDOW" name="dest" />
<field type="shape:KIND" name="dest_kind" />
<field type="shape:KIND" name="dest_kind" enum="SK" />
<pad bytes="3" />
<field type="INT16" name="x_offset" />
<field type="INT16" name="y_offset" />
<field type="REGION" name="region" />
<field type="REGION" name="region" altenum="Region" />
</request>
<request name="SetPictureClipRegion" opcode="22">
<field type="PICTURE" name="picture" />
<field type="REGION" name="region" />
<field type="REGION" name="region" altenum="Region" />
<field type="INT16" name="x_origin" />
<field type="INT16" name="y_origin" />
</request>
@ -264,7 +268,7 @@ authorization from the authors.
<field type="CURSOR" name="cursor" />
<reply>
<pad bytes="1" />
<field type="ATOM" name="atom" />
<field type="ATOM" name="atom" altenum="Atom" />
<field type="CARD16" name="nbytes" />
<pad bytes="18" />
<list type="char" name="name"><fieldref>nbytes</fieldref></list>
@ -281,7 +285,7 @@ authorization from the authors.
<field type="CARD16" name="xhot" />
<field type="CARD16" name="yhot" />
<field type="CARD32" name="cursor_serial" />
<field type="ATOM" name="cursor_atom" />
<field type="ATOM" name="cursor_atom" altenum="Atom" />
<field type="CARD16" name="nbytes" />
<pad bytes="2" />
<list type="char" name="name"><fieldref>nbytes</fieldref></list>

View File

@ -57,18 +57,26 @@ authorization from the authors.
<pad bytes="1" />
<field type="CARD16" name="server_major" />
<field type="CARD16" name="server_minor" />
<field type="CARD8" name="present" />
<field type="BOOL" name="present" />
<pad bytes="19" />
</reply>
</request>
<!-- ListInputDevices -->
<enum name="DeviceUse">
<item name="IsXPointer"><value>0</value></item>
<item name="IsXKeyboard"><value>1</value></item>
<item name="IsXExtensionDevice"><value>2</value></item>
<item name="IsXExtensionKeyboard"><value>3</value></item>
<item name="IsXExtensionPointer"><value>4</value></item>
</enum>
<struct name="DeviceInfo">
<field type="ATOM" name="device_type" />
<field type="CARD8" name="device_id" />
<field type="CARD8" name="num_class_info" />
<field type="CARD8" name="device_use" />
<field type="CARD8" name="device_use" enum="DeviceUse" />
<pad bytes="1" />
</struct>
@ -85,21 +93,23 @@ authorization from the authors.
</reply>
</request>
<enum name="DeviceUse">
<item name="IsXPointer"><value>0</value></item>
<item name="IsXKeyboard"><value>1</value></item>
<item name="IsXExtensionDevice"><value>2</value></item>
<item name="IsXExtensionKeyboard"><value>3</value></item>
<item name="IsXExtensionPointer"><value>4</value></item>
<enum name="InputClass">
<item name="Key"><value>0</value></item>
<item name="Button"><value>1</value></item>
<item name="Valuator"><value>2</value></item>
<item name="Feedback"><value>3</value></item>
<item name="Proximity"><value>4</value></item>
<item name="Focus"><value>5</value></item>
<item name="Other"><value>6</value></item>
</enum>
<struct name="InputInfo">
<field type="CARD8" name="class_id" />
<field type="CARD8" name="class_id" enum="InputClass" />
<field type="CARD8" name="len" />
</struct>
<struct name="KeyInfo">
<field type="CARD8" name="class_id" />
<field type="CARD8" name="class_id" enum="InputClass" />
<field type="CARD8" name="len" />
<field type="KeyCode" name="min_keycode" />
<field type="KeyCode" name="max_keycode" />
@ -108,22 +118,22 @@ authorization from the authors.
</struct>
<struct name="ButtonInfo">
<field type="CARD8" name="class_id" />
<field type="CARD8" name="class_id" enum="InputClass" />
<field type="CARD8" name="len" />
<field type="CARD16" name="num_buttons" />
</struct>
<struct name="AxisInfo">
<field type="CARD32" name="resolution" />
<field type="CARD32" name="minimum" />
<field type="CARD32" name="maximum" />
<field type="INT32" name="minimum" />
<field type="INT32" name="maximum" />
</struct>
<struct name="ValuatorInfo">
<field type="CARD8" name="class_id" />
<field type="CARD8" name="class_id" enum="InputClass" />
<field type="CARD8" name="len" />
<field type="CARD8" name="axes_len" />
<field type="CARD8" name="mode" />
<field type="CARD8" name="mode" enum="ValuatorMode" />
<field type="CARD32" name="motion_size" />
<list type="AxisInfo" name="axes">
<fieldref>axes_len</fieldref>
@ -133,7 +143,7 @@ authorization from the authors.
<!-- OpenDevice -->
<struct name="InputClassInfo">
<field type="CARD8" name="class_id" />
<field type="CARD8" name="class_id" enum="InputClass" />
<field type="CARD8" name="event_type_base" />
</struct>
@ -150,16 +160,6 @@ authorization from the authors.
</reply>
</request>
<enum name="InputClass">
<item name="Key"><value>0</value></item>
<item name="Button"><value>1</value></item>
<item name="Valuator"><value>2</value></item>
<item name="Feedback"><value>3</value></item>
<item name="Proximity"><value>4</value></item>
<item name="Focus"><value>5</value></item>
<item name="Other"><value>6</value></item>
</enum>
<!-- CloseDevice -->
<request name="CloseDevice" opcode="4">
@ -171,11 +171,11 @@ authorization from the authors.
<request name="SetDeviceMode" opcode="5">
<field type="CARD8" name="device_id" />
<field type="CARD8" name="mode" />
<field type="CARD8" name="mode" enum="ValuatorMode" />
<pad bytes="2" />
<reply>
<pad bytes="1" />
<field type="CARD8" name="status" />
<field type="CARD8" name="status" altenum="GrabStatus" />
<pad bytes="23" />
</reply>
</request>
@ -214,7 +214,7 @@ authorization from the authors.
<request name="ChangeDeviceDontPropagateList" opcode="8">
<field type="WINDOW" name="window" />
<field type="CARD16" name="num_classes" />
<field type="CARD8" name="mode" />
<field type="CARD8" name="mode" enum="PropagateMode" />
<pad bytes="1" />
<list type="EventClass" name="classes">
<fieldref>num_classes</fieldref>
@ -239,13 +239,13 @@ authorization from the authors.
<request name="GetDeviceMotionEvents" opcode="10">
<field type="TIMESTAMP" name="start" />
<field type="TIMESTAMP" name="stop" />
<field type="TIMESTAMP" name="stop" altenum="Time" />
<field type="CARD8" name="device_id" />
<reply>
<pad bytes="1" />
<field type="CARD32" name="num_coords" />
<field type="CARD8" name="num_axes" />
<field type="CARD8" name="device_mode" />
<field type="CARD8" name="device_mode" enum="ValuatorMode" />
<pad bytes="18" />
<!-- Uninterpreted: list of DeviceTimeCoord structures -->
</reply>
@ -262,7 +262,7 @@ authorization from the authors.
<pad bytes="3" />
<reply>
<pad bytes="1" />
<field type="CARD8" name="status" />
<field type="CARD8" name="status" altenum="GrabStatus" />
<pad bytes="23" />
</reply>
</request>
@ -276,7 +276,7 @@ authorization from the authors.
<pad bytes="1" />
<reply>
<pad bytes="1" />
<field type="CARD8" name="status" />
<field type="CARD8" name="status" altenum="GrabStatus" />
<pad bytes="23" />
</reply>
</request>
@ -285,10 +285,10 @@ authorization from the authors.
<request name="GrabDevice" opcode="13">
<field type="WINDOW" name="grab_window" />
<field type="TIMESTAMP" name="time" />
<field type="TIMESTAMP" name="time" altenum="Time" />
<field type="CARD16" name="num_classes" />
<field type="CARD8" name="this_device_mode" />
<field type="CARD8" name="other_device_mode" />
<field type="CARD8" name="this_device_mode" enum="GrabMode" />
<field type="CARD8" name="other_device_mode" enum="GrabMode" />
<field type="BOOL" name="owner_events" />
<field type="CARD8" name="device_id" />
<pad bytes="2" />
@ -297,7 +297,7 @@ authorization from the authors.
</list>
<reply>
<pad bytes="1" />
<field type="CARD8" name="status" />
<field type="CARD8" name="status" enum="GrabStatus" />
<pad bytes="23" />
</reply>
</request>
@ -305,7 +305,7 @@ authorization from the authors.
<!-- UngrabDevice -->
<request name="UngrabDevice" opcode="14">
<field type="TIMESTAMP" name="time" />
<field type="TIMESTAMP" name="time" altenum="Time" />
<field type="CARD8" name="device_id" />
</request>
@ -314,12 +314,12 @@ authorization from the authors.
<request name="GrabDeviceKey" opcode="15">
<field type="WINDOW" name="grab_window" />
<field type="CARD16" name="num_classes" />
<field type="CARD16" name="modifiers" />
<field type="CARD16" name="modifiers" mask="ModMask" />
<field type="CARD8" name="modifier_device" />
<field type="CARD8" name="grabbed_device" />
<field type="CARD8" name="key" />
<field type="CARD8" name="this_device_mode" />
<field type="CARD8" name="other_device_mode" />
<field type="CARD8" name="key" altenum="Grab" />
<field type="CARD8" name="this_device_mode" enum="GrabMode" />
<field type="CARD8" name="other_device_mode" enum="GrabMode" />
<field type="BOOL" name="owner_events" />
<pad bytes="2" />
<list type="EventClass" name="classes">
@ -331,9 +331,9 @@ authorization from the authors.
<request name="UngrabDeviceKey" opcode="16">
<field type="WINDOW" name="grabWindow" />
<field type="CARD16" name="modifiers" />
<field type="CARD16" name="modifiers" mask="ModMask" />
<field type="CARD8" name="modifier_device" />
<field type="CARD8" name="key" />
<field type="CARD8" name="key" altenum="Grab" />
<field type="CARD8" name="grabbed_device" />
</request>
@ -344,10 +344,10 @@ authorization from the authors.
<field type="CARD8" name="grabbed_device" />
<field type="CARD8" name="modifier_device" />
<field type="CARD16" name="num_classes" />
<field type="CARD16" name="modifiers" />
<field type="CARD8" name="this_device_mode" />
<field type="CARD8" name="other_device_mode" />
<field type="CARD8" name="button" />
<field type="CARD16" name="modifiers" mask="ModMask" />
<field type="CARD8" name="this_device_mode" enum="GrabMode" />
<field type="CARD8" name="other_device_mode" enum="GrabMode" />
<field type="CARD8" name="button" altenum="Grab" />
<field type="CARD8" name="owner_events" />
<pad bytes="2" />
<list type="EventClass" name="classes">
@ -359,18 +359,27 @@ authorization from the authors.
<request name="UngrabDeviceButton" opcode="18">
<field type="WINDOW" name="grab_window" />
<field type="CARD16" name="modifiers" />
<field type="CARD16" name="modifiers" mask="ModMask" />
<field type="CARD8" name="modifier_device" />
<field type="CARD8" name="button" />
<field type="CARD8" name="button" altenum="Grab" />
<field type="CARD8" name="grabbed_device" />
</request>
<!-- AllowDeviceEvents -->
<enum name="DeviceInputMode">
<item name="AsyncThisDevice" />
<item name="SyncThisDevice" />
<item name="ReplayThisDevice" />
<item name="AsyncOtherDevices" />
<item name="AsyncAll" />
<item name="SyncAll" />
</enum>
<request name="AllowDeviceEvents" opcode="19">
<field type="TIMESTAMP" name="time" />
<field type="CARD8" name="mode" />
<field type="CARD8" name="device_id" />
<field type="TIMESTAMP" name="time" altenum="Time" />
<field type="CARD8" name="mode" enum="DeviceInputMode" />
<field type="CARD8" name="device_id" />
</request>
<!-- GetDeviceFocus -->
@ -380,9 +389,9 @@ authorization from the authors.
<pad bytes="3" />
<reply>
<pad bytes="1" />
<field type="WINDOW" name="focus" />
<field type="WINDOW" name="focus" altenum="InputFocus" />
<field type="TIMESTAMP" name="time" />
<field type="CARD8" name="revert_to" />
<field type="CARD8" name="revert_to" enum="InputFocus" />
<pad bytes="15" />
</reply>
</request>
@ -390,9 +399,9 @@ authorization from the authors.
<!-- SetDeviceFocus -->
<request name="SetDeviceFocus" opcode="21">
<field type="WINDOW" name="focus" />
<field type="TIMESTAMP" name="time" />
<field type="CARD8" name="revert_to" />
<field type="WINDOW" name="focus" altenum="InputFocus" />
<field type="TIMESTAMP" name="time" altenum="Time" />
<field type="CARD8" name="revert_to" enum="InputFocus" />
<field type="CARD8" name="device_id" />
</request>
@ -409,14 +418,23 @@ authorization from the authors.
</reply>
</request>
<enum name="FeedbackClass">
<item name="Keyboard" />
<item name="Pointer" />
<item name="String" />
<item name="Integer" />
<item name="Led" />
<item name="Bell" />
</enum>
<struct name="FeedbackState">
<field type="CARD8" name="class_id" />
<field type="CARD8" name="class_id" enum="FeedbackClass" />
<field type="CARD8" name="id" />
<field type="CARD16" name="len" />
</struct>
<struct name="KbdFeedbackState">
<field type="CARD8" name="class_id" />
<field type="CARD8" name="class_id" enum="FeedbackClass" />
<field type="CARD8" name="id" />
<field type="CARD16" name="len" />
<field type="CARD16" name="pitch" />
@ -431,7 +449,7 @@ authorization from the authors.
</struct>
<struct name="PtrFeedbackState">
<field type="CARD8" name="class_id" />
<field type="CARD8" name="class_id" enum="FeedbackClass" />
<field type="CARD8" name="id" />
<field type="CARD16" name="len" />
<pad bytes="2" />
@ -441,7 +459,7 @@ authorization from the authors.
</struct>
<struct name="IntegerFeedbackState">
<field type="CARD8" name="class_id" />
<field type="CARD8" name="class_id" enum="FeedbackClass" />
<field type="CARD8" name="id" />
<field type="CARD16" name="len" />
<field type="CARD32" name="resolution" />
@ -450,7 +468,7 @@ authorization from the authors.
</struct>
<struct name="StringFeedbackState">
<field type="CARD8" name="class_id" />
<field type="CARD8" name="class_id" enum="FeedbackClass" />
<field type="CARD8" name="id" />
<field type="CARD16" name="len" />
<field type="CARD16" name="max_symbols" />
@ -461,7 +479,7 @@ authorization from the authors.
</struct>
<struct name="BellFeedbackState">
<field type="CARD8" name="class_id" />
<field type="CARD8" name="class_id" enum="FeedbackClass" />
<field type="CARD8" name="id" />
<field type="CARD16" name="len" />
<field type="CARD8" name="percent" />
@ -471,7 +489,7 @@ authorization from the authors.
</struct>
<struct name="LedFeedbackState">
<field type="CARD8" name="class_id" />
<field type="CARD8" name="class_id" enum="FeedbackClass" />
<field type="CARD8" name="id" />
<field type="CARD16" name="len" />
<field type="CARD32" name="led_mask" />
@ -490,13 +508,13 @@ authorization from the authors.
-->
<struct name="FeedbackCtl">
<field type="CARD8" name="class_id" />
<field type="CARD8" name="class_id" enum="FeedbackClass" />
<field type="CARD8" name="id" />
<field type="CARD16" name="len" />
</struct>
<struct name="KbdFeedbackCtl">
<field type="CARD8" name="class_id" />
<field type="CARD8" name="class_id" enum="FeedbackClass" />
<field type="CARD8" name="id" />
<field type="CARD16" name="len" />
<field type="KeyCode" name="key" />
@ -510,7 +528,7 @@ authorization from the authors.
</struct>
<struct name="PtrFeedbackCtl">
<field type="CARD8" name="class_id" />
<field type="CARD8" name="class_id" enum="FeedbackClass" />
<field type="CARD8" name="id" />
<field type="CARD16" name="len" />
<pad bytes="2" />
@ -520,14 +538,14 @@ authorization from the authors.
</struct>
<struct name="IntegerFeedbackCtl">
<field type="CARD8" name="class_id" />
<field type="CARD8" name="class_id" enum="FeedbackClass" />
<field type="CARD8" name="id" />
<field type="CARD16" name="len" />
<field type="INT32" name="int_to_display" />
</struct>
<struct name="StringFeedbackCtl">
<field type="CARD8" name="class_id" />
<field type="CARD8" name="class_id" enum="FeedbackClass" />
<field type="CARD8" name="id" />
<field type="CARD16" name="len" />
<pad bytes="2" />
@ -538,7 +556,7 @@ authorization from the authors.
</struct>
<struct name="BellFeedbackCtl">
<field type="CARD8" name="class_id" />
<field type="CARD8" name="class_id" enum="FeedbackClass" />
<field type="CARD8" name="id" />
<field type="CARD16" name="len" />
<field type="INT8" name="percent" />
@ -548,7 +566,7 @@ authorization from the authors.
</struct>
<struct name="LedFeedbackCtl">
<field type="CARD8" name="class_id" />
<field type="CARD8" name="class_id" enum="FeedbackClass" />
<field type="CARD8" name="id" />
<field type="CARD16" name="len" />
<field type="CARD32" name="led_mask" />
@ -618,7 +636,7 @@ authorization from the authors.
</list>
<reply>
<pad bytes="1" />
<field type="CARD8" name="status" />
<field type="CARD8" name="status" enum="MappingStatus" />
<pad bytes="23" />
</reply>
</request>
@ -649,7 +667,7 @@ authorization from the authors.
</list>
<reply>
<pad bytes="1" />
<field type="CARD8" name="status" />
<field type="CARD8" name="status" enum="MappingStatus" />
<pad bytes="23" />
</reply>
</request>
@ -668,13 +686,13 @@ authorization from the authors.
</request>
<struct name="InputState">
<field type="CARD8" name="class_id" />
<field type="CARD8" name="class_id" enum="InputClass" />
<field type="CARD8" name="len" />
<field type="CARD8" name="num_items" />
</struct>
<struct name="KeyState">
<field type="CARD8" name="class_id" />
<field type="CARD8" name="class_id" enum="InputClass" />
<field type="CARD8" name="len" />
<field type="CARD8" name="num_keys" />
<pad bytes="1" />
@ -684,7 +702,7 @@ authorization from the authors.
</struct>
<struct name="ButtonState">
<field type="CARD8" name="class_id" />
<field type="CARD8" name="class_id" enum="InputClass" />
<field type="CARD8" name="len" />
<field type="CARD8" name="num_buttons" />
<pad bytes="1" />
@ -694,7 +712,7 @@ authorization from the authors.
</struct>
<struct name="ValuatorState">
<field type="CARD8" name="class_id" />
<field type="CARD8" name="class_id" enum="InputClass" />
<field type="CARD8" name="len" />
<field type="CARD8" name="num_valuators" />
<field type="CARD8" name="mode" />
@ -744,7 +762,7 @@ authorization from the authors.
</list>
<reply>
<pad bytes="1" />
<field type="CARD8" name="status" />
<field type="CARD8" name="status" enum="GrabStatus" />
<pad bytes="23" />
</reply>
</request>
@ -757,7 +775,7 @@ authorization from the authors.
<pad bytes="1" />
<reply>
<pad bytes="1" />
<field type="CARD8" name="status" />
<field type="CARD8" name="status" altenum="GrabStatus" />
<pad bytes="23" />
<!-- Uninterpreted: list of DeviceState structures -->
</reply>
@ -831,7 +849,7 @@ authorization from the authors.
Uninterpreted: list of DeviceCtl structures
<reply>
<pad byte="1" />
<field type="CARD8" name="status" />
<field type="CARD8" name="status" altenum="GrabStatus" />
<pad bytes="23" />
</reply>
</request>
@ -906,7 +924,7 @@ authorization from the authors.
<field type="TIMESTAMP" name="time" />
<field type="WINDOW" name="root" />
<field type="WINDOW" name="event" />
<field type="WINDOW" name="child" />
<field type="WINDOW" name="child" altenum="Window" />
<field type="INT16" name="root_x" />
<field type="INT16" name="root_y" />
<field type="INT16" name="event_x" />
@ -924,15 +942,15 @@ authorization from the authors.
<eventcopy name="ProximityOut" number="9" ref="DeviceKeyPress" />
<event name="FocusIn" number="6">
<field type="BYTE" name="detail" />
<field type="BYTE" name="detail" enum="NotifyDetail" />
<field type="TIMESTAMP" name="time" />
<field type="WINDOW" name="window" />
<field type="BYTE" name="mode" />
<field type="BYTE" name="mode" enum="NotifyMode" />
<field type="CARD8" name="device_id" />
<pad bytes="18" />
</event>
<eventcopy name="FocusOut" number="7" ref="DeviceKeyPress" />
<eventcopy name="FocusOut" number="7" ref="FocusIn" />
<event name="DeviceStateNotify" number="10">
<field type="BYTE" name="device_id" />
@ -991,4 +1009,12 @@ authorization from the authors.
<field type="CARD16" name="control" />
<pad bytes="20" />
</event>
<!-- ERRORS -->
<error name="Device" number="0" />
<error name="Event" number="1" />
<error name="Mode" number="2" />
<error name="DeviceBusy" number="3" />
<error name="Class" number="4" />
</xcb>

View File

@ -127,6 +127,41 @@ authorization from the authors.
</list>
</struct>
<enum name="EventMask">
<item name="NoEvent"> <value>0</value></item>
<item name="KeyPress"> <bit>0</bit></item>
<item name="KeyRelease"> <bit>1</bit></item>
<item name="ButtonPress"> <bit>2</bit></item>
<item name="ButtonRelease"> <bit>3</bit></item>
<item name="EnterWindow"> <bit>4</bit></item>
<item name="LeaveWindow"> <bit>5</bit></item>
<item name="PointerMotion"> <bit>6</bit></item>
<item name="PointerMotionHint"> <bit>7</bit></item>
<item name="Button1Motion"> <bit>8</bit></item>
<item name="Button2Motion"> <bit>9</bit></item>
<item name="Button3Motion"> <bit>10</bit></item>
<item name="Button4Motion"> <bit>11</bit></item>
<item name="Button5Motion"> <bit>12</bit></item>
<item name="ButtonMotion"> <bit>13</bit></item>
<item name="KeymapState"> <bit>14</bit></item>
<item name="Exposure"> <bit>15</bit></item>
<item name="VisibilityChange"> <bit>16</bit></item>
<item name="StructureNotify"> <bit>17</bit></item>
<item name="ResizeRedirect"> <bit>18</bit></item>
<item name="SubstructureNotify"> <bit>19</bit></item>
<item name="SubstructureRedirect"><bit>20</bit></item>
<item name="FocusChange"> <bit>21</bit></item>
<item name="PropertyChange"> <bit>22</bit></item>
<item name="ColorMapChange"> <bit>23</bit></item>
<item name="OwnerGrabButton"> <bit>24</bit></item>
</enum>
<enum name="BackingStore">
<item name="NotUseful"> <value>0</value></item>
<item name="WhenMapped"><value>1</value></item>
<item name="Always"> <value>2</value></item>
</enum>
<struct name="SCREEN">
<field type="WINDOW" name="root" />
<field type="COLORMAP" name="default_colormap" />
@ -236,6 +271,27 @@ authorization from the authors.
<item name="3"> <bit>5</bit></item>
<item name="4"> <bit>6</bit></item>
<item name="5"> <bit>7</bit></item>
<item name="Any"> <bit>15</bit></item>
</enum>
<enum name="KeyButMask">
<item name="Shift"> <bit>0</bit></item>
<item name="Lock"> <bit>1</bit></item>
<item name="Control"><bit>2</bit></item>
<item name="Mod1"> <bit>3</bit></item>
<item name="Mod2"> <bit>4</bit></item>
<item name="Mod3"> <bit>5</bit></item>
<item name="Mod4"> <bit>6</bit></item>
<item name="Mod5"> <bit>7</bit></item>
<item name="Button1"><bit>8</bit></item>
<item name="Button2"><bit>9</bit></item>
<item name="Button3"><bit>10</bit></item>
<item name="Button4"><bit>11</bit></item>
<item name="Button5"><bit>12</bit></item>
</enum>
<enum name="Window">
<item name="None"> <value>0</value></item>
</enum>
<event name="KeyPress" number="2">
@ -243,12 +299,12 @@ authorization from the authors.
<field type="TIMESTAMP" name="time" />
<field type="WINDOW" name="root" />
<field type="WINDOW" name="event" />
<field type="WINDOW" name="child" />
<field type="WINDOW" name="child" altenum="Window" />
<field type="INT16" name="root_x" />
<field type="INT16" name="root_y" />
<field type="INT16" name="event_x" />
<field type="INT16" name="event_y" />
<field type="CARD16" name="state" />
<field type="CARD16" name="state" mask="KeyButMask" />
<field type="BOOL" name="same_screen" />
<pad bytes="1" />
</event>
@ -269,12 +325,12 @@ authorization from the authors.
<field type="TIMESTAMP" name="time" />
<field type="WINDOW" name="root" />
<field type="WINDOW" name="event" />
<field type="WINDOW" name="child" />
<field type="WINDOW" name="child" altenum="Window" />
<field type="INT16" name="root_x" />
<field type="INT16" name="root_y" />
<field type="INT16" name="event_x" />
<field type="INT16" name="event_y" />
<field type="CARD16" name="state" />
<field type="CARD16" name="state" mask="KeyButMask" />
<field type="BOOL" name="same_screen" />
<pad bytes="1" />
</event>
@ -292,12 +348,12 @@ authorization from the authors.
<field type="TIMESTAMP" name="time" />
<field type="WINDOW" name="root" />
<field type="WINDOW" name="event" />
<field type="WINDOW" name="child" />
<field type="WINDOW" name="child" altenum="Window" />
<field type="INT16" name="root_x" />
<field type="INT16" name="root_y" />
<field type="INT16" name="event_x" />
<field type="INT16" name="event_y" />
<field type="CARD16" name="state" />
<field type="CARD16" name="state" mask="KeyButMask" />
<field type="BOOL" name="same_screen" />
<pad bytes="1" />
</event>
@ -325,12 +381,12 @@ authorization from the authors.
<field type="TIMESTAMP" name="time" />
<field type="WINDOW" name="root" />
<field type="WINDOW" name="event" />
<field type="WINDOW" name="child" />
<field type="WINDOW" name="child" altenum="Window" />
<field type="INT16" name="root_x" />
<field type="INT16" name="root_y" />
<field type="INT16" name="event_x" />
<field type="INT16" name="event_y" />
<field type="CARD16" name="state" />
<field type="CARD16" name="state" mask="KeyButMask" />
<field type="BYTE" name="mode" enum="NotifyMode" />
<field type="BYTE" name="same_screen_focus" />
</event>
@ -451,7 +507,7 @@ authorization from the authors.
<pad bytes="1" />
<field type="WINDOW" name="event" />
<field type="WINDOW" name="window" />
<field type="WINDOW" name="above_sibling" />
<field type="WINDOW" name="above_sibling" altenum="Window" />
<field type="INT16" name="x" />
<field type="INT16" name="y" />
<field type="CARD16" name="width" />
@ -465,7 +521,7 @@ authorization from the authors.
<field type="BYTE" name="stack_mode" enum="StackMode" />
<field type="WINDOW" name="parent" />
<field type="WINDOW" name="window" />
<field type="WINDOW" name="sibling" />
<field type="WINDOW" name="sibling" altenum="Window" />
<field type="INT16" name="x" />
<field type="INT16" name="y" />
<field type="CARD16" name="width" />
@ -526,23 +582,31 @@ authorization from the authors.
<field type="ATOM" name="selection" />
</event>
<enum name="Time">
<item name="CurrentTime"> <value>0</value> </item>
</enum>
<enum name="Atom">
<item name="None"> <value>0</value></item>
</enum>
<event name="SelectionRequest" number="30">
<pad bytes="1" />
<field type="TIMESTAMP" name="time" />
<field type="TIMESTAMP" name="time" altenum="Time" />
<field type="WINDOW" name="owner" />
<field type="WINDOW" name="requestor" />
<field type="ATOM" name="selection" />
<field type="ATOM" name="target" />
<field type="ATOM" name="property" />
<field type="ATOM" name="property" altenum="Atom" />
</event>
<event name="SelectionNotify" number="31">
<pad bytes="1" />
<field type="TIMESTAMP" name="time" />
<field type="TIMESTAMP" name="time" altenum="Time" />
<field type="WINDOW" name="requestor" />
<field type="ATOM" name="selection" />
<field type="ATOM" name="target" />
<field type="ATOM" name="property" />
<field type="ATOM" name="property" altenum="Atom" />
</event>
<enum name="ColormapState">
@ -550,10 +614,14 @@ authorization from the authors.
<item name="Installed"> <value>1</value></item>
</enum>
<enum name="Colormap">
<item name="None"> <value>0</value></item>
</enum>
<event name="ColormapNotify" number="32">
<pad bytes="1" />
<field type="WINDOW" name="window" />
<field type="COLORMAP" name="colormap" />
<field type="COLORMAP" name="colormap" altenum="Colormap" />
<field type="BOOL" name="new" />
<field type="BYTE" name="state" enum="ColormapState" />
<pad bytes="2" />
@ -676,42 +744,6 @@ authorization from the authors.
<item name="Static"> <value>10</value></item>
</enum>
<!-- Also used in XCBSCREEN field backing_stores -->
<enum name="BackingStore">
<item name="NotUseful"> <value>0</value></item>
<item name="WhenMapped"><value>1</value></item>
<item name="Always"> <value>2</value></item>
</enum>
<enum name="EventMask">
<item name="NoEvent"> <value>0</value></item>
<item name="KeyPress"> <bit>0</bit></item>
<item name="KeyRelease"> <bit>1</bit></item>
<item name="ButtonPress"> <bit>2</bit></item>
<item name="ButtonRelease"> <bit>3</bit></item>
<item name="EnterWindow"> <bit>4</bit></item>
<item name="LeaveWindow"> <bit>5</bit></item>
<item name="PointerMotion"> <bit>6</bit></item>
<item name="PointerMotionHint"> <bit>7</bit></item>
<item name="Button1Motion"> <bit>8</bit></item>
<item name="Button2Motion"> <bit>9</bit></item>
<item name="Button3Motion"> <bit>10</bit></item>
<item name="Button4Motion"> <bit>11</bit></item>
<item name="Button5Motion"> <bit>12</bit></item>
<item name="ButtonMotion"> <bit>13</bit></item>
<item name="KeymapState"> <bit>14</bit></item>
<item name="Exposure"> <bit>15</bit></item>
<item name="VisibilityChange"> <bit>16</bit></item>
<item name="StructureNotify"> <bit>17</bit></item>
<item name="ResizeRedirect"> <bit>18</bit></item>
<item name="SubstructureNotify"> <bit>19</bit></item>
<item name="SubstructureRedirect"><bit>20</bit></item>
<item name="FocusChange"> <bit>21</bit></item>
<item name="PropertyChange"> <bit>22</bit></item>
<item name="ColorMapChange"> <bit>23</bit></item>
<item name="OwnerGrabButton"> <bit>24</bit></item>
</enum>
<request name="CreateWindow" opcode="1">
<field type="CARD8" name="depth" />
<field type="WINDOW" name="wid" />
@ -757,7 +789,7 @@ authorization from the authors.
<field type="BOOL" name="map_is_installed" />
<field type="CARD8" name="map_state" enum="MapState" />
<field type="BOOL" name="override_redirect" />
<field type="COLORMAP" name="colormap" />
<field type="COLORMAP" name="colormap" altenum="Colormap" />
<field type="CARD32" name="all_event_masks" mask="EventMask" />
<field type="CARD32" name="your_event_mask" mask="EventMask" />
<field type="CARD16" name="do_not_propagate_mask" mask="EventMask" />
@ -871,7 +903,7 @@ authorization from the authors.
<reply>
<pad bytes="1" />
<field type="WINDOW" name="root" />
<field type="WINDOW" name="parent" />
<field type="WINDOW" name="parent" altenum="Window" />
<field type="CARD16" name="children_len" />
<pad bytes="14" />
<list type="WINDOW" name="children">
@ -889,7 +921,7 @@ authorization from the authors.
</list>
<reply>
<pad bytes="1" />
<field type="ATOM" name="atom" />
<field type="ATOM" name="atom" altenum="Atom" />
</reply>
</request>
@ -945,7 +977,7 @@ authorization from the authors.
<field type="BOOL" name="delete" />
<field type="WINDOW" name="window" />
<field type="ATOM" name="property" />
<field type="ATOM" name="type" enum="GetPropertyType" />
<field type="ATOM" name="type" altenum="GetPropertyType" />
<field type="CARD32" name="long_offset" />
<field type="CARD32" name="long_length" />
<reply>
@ -955,7 +987,13 @@ authorization from the authors.
<field type="CARD32" name="value_len" />
<pad bytes="12" />
<list type="void" name="value">
<fieldref>value_len</fieldref>
<op op="*">
<fieldref>value_len</fieldref>
<op op="/">
<fieldref>format</fieldref>
<value>8</value>
</op>
</op>
</list>
</reply>
</request>
@ -975,9 +1013,9 @@ authorization from the authors.
<request name="SetSelectionOwner" opcode="22">
<pad bytes="1" />
<field type="WINDOW" name="owner" />
<field type="WINDOW" name="owner" altenum="Window" />
<field type="ATOM" name="selection" />
<field type="TIMESTAMP" name="time" />
<field type="TIMESTAMP" name="time" altenum="Time" />
</request>
<request name="GetSelectionOwner" opcode="23">
@ -985,7 +1023,7 @@ authorization from the authors.
<field type="ATOM" name="selection" />
<reply>
<pad bytes="1" />
<field type="WINDOW" name="owner" />
<field type="WINDOW" name="owner" altenum="Window" />
</reply>
</request>
@ -994,8 +1032,8 @@ authorization from the authors.
<field type="WINDOW" name="requestor" />
<field type="ATOM" name="selection" />
<field type="ATOM" name="target" />
<field type="ATOM" name="property" />
<field type="TIMESTAMP" name="time" />
<field type="ATOM" name="property" altenum="Atom" />
<field type="TIMESTAMP" name="time" altenum="Time" />
</request>
<enum name="SendEventDest">
@ -1005,7 +1043,7 @@ authorization from the authors.
<request name="SendEvent" opcode="25">
<field type="BOOL" name="propagate" />
<field type="WINDOW" name="destination" />
<field type="WINDOW" name="destination" altenum="SendEventDest" />
<field type="CARD32" name="event_mask" mask="EventMask" />
<list type="char" name="event"><value>32</value></list>
</request>
@ -1023,15 +1061,19 @@ authorization from the authors.
<item name="Frozen"> <value>4</value></item>
</enum>
<enum name="Cursor">
<item name="None"> <value>0</value></item>
</enum>
<request name="GrabPointer" opcode="26">
<field type="BOOL" name="owner_events" />
<field type="WINDOW" name="grab_window" />
<field type="CARD16" name="event_mask" mask="EventMask" />
<field type="BYTE" name="pointer_mode" enum="GrabMode" />
<field type="BYTE" name="keyboard_mode" enum="GrabMode" />
<field type="WINDOW" name="confine_to" />
<field type="CURSOR" name="cursor" />
<field type="TIMESTAMP" name="time" />
<field type="WINDOW" name="confine_to" altenum="Window" />
<field type="CURSOR" name="cursor" altenum="Cursor" />
<field type="TIMESTAMP" name="time" altenum="Time" />
<reply>
<field type="BYTE" name="status" enum="GrabStatus" />
</reply>
@ -1039,7 +1081,7 @@ authorization from the authors.
<request name="UngrabPointer" opcode="27">
<pad bytes="1" />
<field type="TIMESTAMP" name="time" />
<field type="TIMESTAMP" name="time" altenum="Time" />
</request>
<enum name="ButtonIndex">
@ -1057,8 +1099,8 @@ authorization from the authors.
<field type="CARD16" name="event_mask" mask="EventMask" />
<field type="CARD8" name="pointer_mode" enum="GrabMode" />
<field type="CARD8" name="keyboard_mode" enum="GrabMode" />
<field type="WINDOW" name="confine_to" />
<field type="CURSOR" name="cursor" />
<field type="WINDOW" name="confine_to" altenum="Window" />
<field type="CURSOR" name="cursor" altenum="Cursor" />
<field type="CARD8" name="button" enum="ButtonIndex" />
<pad bytes="1" />
<field type="CARD16" name="modifiers" mask="ModMask" />
@ -1073,8 +1115,8 @@ authorization from the authors.
<request name="ChangeActivePointerGrab" opcode="30">
<pad bytes="1" />
<field type="CURSOR" name="cursor" />
<field type="TIMESTAMP" name="time" />
<field type="CURSOR" name="cursor" altenum="Cursor" />
<field type="TIMESTAMP" name="time" altenum="Time" />
<field type="CARD16" name="event_mask" mask="EventMask" />
<pad bytes="2" />
</request>
@ -1082,7 +1124,7 @@ authorization from the authors.
<request name="GrabKeyboard" opcode="31">
<field type="BOOL" name="owner_events" />
<field type="WINDOW" name="grab_window" />
<field type="TIMESTAMP" name="time" />
<field type="TIMESTAMP" name="time" altenum="Time" />
<field type="BYTE" name="pointer_mode" enum="GrabMode" />
<field type="BYTE" name="keyboard_mode" enum="GrabMode" />
<pad bytes="2" />
@ -1093,7 +1135,7 @@ authorization from the authors.
<request name="UngrabKeyboard" opcode="32">
<pad bytes="1" />
<field type="TIMESTAMP" name="time" />
<field type="TIMESTAMP" name="time" altenum="Time" />
</request>
<!-- Use KEYCODE any = { XCBGrabAny }; to grab any key -->
@ -1105,14 +1147,14 @@ authorization from the authors.
<field type="BOOL" name="owner_events" />
<field type="WINDOW" name="grab_window" />
<field type="CARD16" name="modifiers" mask="ModMask" />
<field type="KEYCODE" name="key" />
<field type="KEYCODE" name="key" altenum="Grab" />
<field type="CARD8" name="pointer_mode" enum="GrabMode" />
<field type="CARD8" name="keyboard_mode" enum="GrabMode" />
<pad bytes="3" />
</request>
<request name="UngrabKey" opcode="34">
<field type="KEYCODE" name="key" />
<field type="KEYCODE" name="key" altenum="Grab" />
<field type="WINDOW" name="grab_window" />
<field type="CARD16" name="modifiers" mask="ModMask" />
<pad bytes="2" />
@ -1131,7 +1173,7 @@ authorization from the authors.
<request name="AllowEvents" opcode="35">
<field type="CARD8" name="mode" enum="Allow" />
<field type="TIMESTAMP" name="time" />
<field type="TIMESTAMP" name="time" altenum="Time" />
</request>
<request name="GrabServer" opcode="36" />
@ -1144,12 +1186,12 @@ authorization from the authors.
<reply>
<field type="BOOL" name="same_screen" />
<field type="WINDOW" name="root" />
<field type="WINDOW" name="child" />
<field type="WINDOW" name="child" altenum="Window" />
<field type="INT16" name="root_x" />
<field type="INT16" name="root_y" />
<field type="INT16" name="win_x" />
<field type="INT16" name="win_y" />
<field type="CARD16" name="mask" />
<field type="CARD16" name="mask" mask="KeyButMask" />
<pad bytes="2" />
</reply>
</request>
@ -1163,8 +1205,8 @@ authorization from the authors.
<request name="GetMotionEvents" opcode="39">
<pad bytes="1" />
<field type="WINDOW" name="window" />
<field type="TIMESTAMP" name="start" />
<field type="TIMESTAMP" name="stop" />
<field type="TIMESTAMP" name="start" altenum="Time" />
<field type="TIMESTAMP" name="stop" altenum="Time" />
<reply>
<pad bytes="1" />
<field type="CARD32" name="events_len" />
@ -1183,7 +1225,7 @@ authorization from the authors.
<field type="INT16" name="src_y" />
<reply>
<field type="BOOL" name="same_screen" />
<field type="WINDOW" name="child" />
<field type="WINDOW" name="child" altenum="Window" />
<field type="CARD16" name="dst_x" />
<field type="CARD16" name="dst_y" />
</reply>
@ -1191,8 +1233,8 @@ authorization from the authors.
<request name="WarpPointer" opcode="41">
<pad bytes="1" />
<field type="WINDOW" name="src_window" />
<field type="WINDOW" name="dst_window" />
<field type="WINDOW" name="src_window" altenum="Window" />
<field type="WINDOW" name="dst_window" altenum="Window" />
<field type="INT16" name="src_x" />
<field type="INT16" name="src_y" />
<field type="CARD16" name="src_width" />
@ -1206,18 +1248,19 @@ authorization from the authors.
<item name="None"> <value>0</value></item>
<item name="PointerRoot"><value>1</value></item>
<item name="Parent"> <value>2</value></item> <!-- revert_to only -->
<item name="FollowKeyboard"><value>3</value></item> <!-- xinput extension only -->
</enum>
<request name="SetInputFocus" opcode="42">
<field type="CARD8" name="revert_to" enum="InputFocus" />
<field type="WINDOW" name="focus" />
<field type="TIMESTAMP" name="time" />
<field type="WINDOW" name="focus" altenum="InputFocus" />
<field type="TIMESTAMP" name="time" altenum="Time" />
</request>
<request name="GetInputFocus" opcode="43">
<reply>
<field type="CARD8" name="revert_to" enum="InputFocus" />
<field type="WINDOW" name="focus" />
<field type="WINDOW" name="focus" altenum="InputFocus" />
</reply>
</request>
@ -1456,7 +1499,7 @@ authorization from the authors.
</enum>
<enum name="JoinStyle">
<item name="Mitre"> <value>0</value></item>
<item name="Miter"> <value>0</value></item>
<item name="Round"> <value>1</value></item>
<item name="Bevel"> <value>2</value></item>
</enum>
@ -1940,11 +1983,15 @@ authorization from the authors.
</reply>
</request>
<enum name="Pixmap">
<item name="None"> <value>0</value></item>
</enum>
<request name="CreateCursor" opcode="93">
<pad bytes="1" />
<field type="CURSOR" name="cid" />
<field type="PIXMAP" name="source" />
<field type="PIXMAP" name="mask" />
<field type="PIXMAP" name="mask" altenum="Pixmap" />
<field type="CARD16" name="fore_red" />
<field type="CARD16" name="fore_green" />
<field type="CARD16" name="fore_blue" />
@ -1955,11 +2002,15 @@ authorization from the authors.
<field type="CARD16" name="y" />
</request>
<enum name="Font">
<item name="None"> <value>0</value></item>
</enum>
<request name="CreateGlyphCursor" opcode="94">
<pad bytes="1" />
<field type="CURSOR" name="cid" />
<field type="FONT" name="source_font" />
<field type="FONT" name="mask_font" />
<field type="FONT" name="mask_font" altenum="Font" />
<field type="CARD16" name="source_char" />
<field type="CARD16" name="mask_char" />
<field type="CARD16" name="fore_red" />
@ -2223,7 +2274,7 @@ authorization from the authors.
<request name="KillClient" opcode="113">
<pad bytes="1" />
<field type="CARD32" name="resource" enum="Kill" />
<field type="CARD32" name="resource" altenum="Kill" />
</request>
<request name="RotateProperties" opcode="114">

View File

@ -66,7 +66,7 @@ authorization from the authors.
3. Simulate mouse motion:
type = XCBMotionNotify
detail = 0 or 1
window = XCBNone or a root window id
root = XCBNone or a root window id
rootX,
rootY = position (relative if detail==1)
@ -86,7 +86,7 @@ authorization from the authors.
<field type="BYTE" name="detail" />
<pad bytes="2" />
<field type="CARD32" name="time" />
<field type="WINDOW" name="window" />
<field type="WINDOW" name="root" />
<pad bytes="8" />
<field type="CARD16" name="rootX" />
<field type="CARD16" name="rootY" />

View File

@ -58,6 +58,28 @@ authorization from the authors.
<item name="Settable"><bit>1</bit></item>
</enum>
<enum name="VideoNotifyReason">
<item name="Started" />
<item name="Stopped" />
<item name="Busy" />
<item name="Preempted" />
<item name="HardError" />
</enum>
<enum name="ScanlineOrder">
<item name="TopToBottom" />
<item name="BottomToTop" />
</enum>
<enum name="GrabPortStatus">
<item name="Success" />
<item name="BadExtension" />
<item name="AlreadyGrabbed" />
<item name="InvalidTime" />
<item name="BadReply" />
<item name="BadAlloc" />
</enum>
<struct name="Rational">
<field type="INT32" name="numerator" />
<field type="INT32" name="denominator" />
@ -74,7 +96,7 @@ authorization from the authors.
<field type="CARD16" name="name_size" />
<field type="CARD16" name="num_ports" />
<field type="CARD16" name="num_formats" />
<field type="CARD8" name="type" />
<field type="CARD8" name="type" mask="Type" />
<pad bytes="1" />
<list type="char" name="name">
<fieldref>name_size</fieldref>
@ -120,7 +142,7 @@ authorization from the authors.
</struct>
<struct name="AttributeInfo">
<field type="CARD32" name="flags" />
<field type="CARD32" name="flags" mask="AttributeFlag" />
<field type="INT32" name="min" />
<field type="INT32" name="max" />
<field type="CARD32" name="size" />
@ -131,8 +153,8 @@ authorization from the authors.
<struct name="ImageFormatInfo">
<field type="CARD32" name="id" />
<field type="CARD8" name="type" />
<field type="CARD8" name="byte_order" />
<field type="CARD8" name="type" enum="ImageFormatInfoType" />
<field type="CARD8" name="byte_order" enum="ImageOrder" />
<pad bytes="2" />
<list type="CARD8" name="guid">
<value>16</value>
@ -145,7 +167,7 @@ authorization from the authors.
<field type="CARD32" name="red_mask" />
<field type="CARD32" name="green_mask" />
<field type="CARD32" name="blue_mask" />
<field type="CARD8" name="format" />
<field type="CARD8" name="format" enum="ImageFormatInfoFormat" />
<pad bytes="3" />
<field type="CARD32" name="y_sample_bits" />
<field type="CARD32" name="u_sample_bits" />
@ -159,7 +181,7 @@ authorization from the authors.
<list type="CARD8" name="vcomp_order">
<value>32</value>
</list>
<field type="CARD8" name="vscanline_order" />
<field type="CARD8" name="vscanline_order" enum="ScanlineOrder" />
<pad bytes="11" />
</struct>
@ -171,7 +193,7 @@ authorization from the authors.
<!-- Events -->
<event name="VideoNotify" number="0">
<field type="BYTE" name="reason" />
<field type="BYTE" name="reason" enum="VideoNotifyReason" />
<field type="TIMESTAMP" name="time" />
<field type="DRAWABLE" name="drawable" />
<field type="PORT" name="port" />
@ -225,15 +247,15 @@ authorization from the authors.
<request name="GrabPort" opcode="3">
<field type="PORT" name="port" />
<field type="TIMESTAMP" name="time" />
<field type="TIMESTAMP" name="time" altenum="Time" />
<reply>
<field type="BYTE" name="result" />
<field type="BYTE" name="result" enum="GrabPortStatus" />
</reply>
</request>
<request name="UngrabPort" opcode="4">
<field type="PORT" name="port" />
<field type="TIMESTAMP" name="time" />
<field type="TIMESTAMP" name="time" altenum="Time" />
</request>
<request name="PutVideo" opcode="5">