165 lines
5.8 KiB
XML
165 lines
5.8 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<!--
|
|
Copyright (C) 2006 Jeremy Kolb
|
|
All Rights Reserved.
|
|
|
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
of this software and associated documentation files (the "Software"), to deal
|
|
in the Software without restriction, including without limitation the rights
|
|
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
copies of the Software, and to permit persons to whom the Software is
|
|
furnished to do so, subject to the following conditions:
|
|
|
|
The above copyright notice and this permission notice shall be included in all
|
|
copies or substantial portions of the Software.
|
|
|
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
|
|
ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
|
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
|
|
Except as contained in this notice, the names of the authors or their
|
|
institutions shall not be used in advertising or otherwise to promote the
|
|
sale, use or other dealings in this Software without prior written
|
|
authorization from the authors.
|
|
-->
|
|
<xcb header="res" extension-xname="X-Resource" extension-name="Res"
|
|
major-version="1" minor-version="2">
|
|
<import>xproto</import>
|
|
|
|
<!-- v1.0 -->
|
|
<struct name="Client">
|
|
<field type="CARD32" name="resource_base" />
|
|
<field type="CARD32" name="resource_mask" />
|
|
</struct>
|
|
|
|
<struct name="Type">
|
|
<field type="ATOM" name="resource_type" />
|
|
<field type="CARD32" name="count" />
|
|
</struct>
|
|
|
|
<!-- v1.2 -->
|
|
<enum name="ClientIdMask">
|
|
<item name="ClientXID"> <bit>0</bit> </item>
|
|
<item name="LocalClientPID"> <bit>1</bit> </item>
|
|
</enum>
|
|
|
|
<struct name="ClientIdSpec">
|
|
<field type="CARD32" name="client" />
|
|
<field type="CARD32" name="mask" mask="ClientIdMask" />
|
|
</struct>
|
|
|
|
<struct name="ClientIdValue">
|
|
<field type="ClientIdSpec" name="spec" />
|
|
<field type="CARD32" name="length" />
|
|
<list type="CARD32" name="value">
|
|
<!-- The specification says that the length is in units of CARD32,
|
|
but the specification also says that the length is 4 when a
|
|
single LocalClientPid is present (ie. the length is in bytes).
|
|
The current server implementation sets the length to 4 when a
|
|
single CARD32 is present on the wire (length is in bytes). -->
|
|
<op op="/">
|
|
<fieldref>length</fieldref>
|
|
<value>4</value>
|
|
</op>
|
|
</list>
|
|
</struct>
|
|
|
|
<struct name="ResourceIdSpec">
|
|
<field type="CARD32" name="resource" />
|
|
<field type="CARD32" name="type" />
|
|
</struct>
|
|
|
|
<struct name="ResourceSizeSpec">
|
|
<field type="ResourceIdSpec" name="spec" />
|
|
<field type="CARD32" name="bytes" />
|
|
<field type="CARD32" name="ref_count" />
|
|
<field type="CARD32" name="use_count" />
|
|
</struct>
|
|
|
|
<struct name="ResourceSizeValue">
|
|
<field type="ResourceSizeSpec" name="size" />
|
|
<field type="CARD32" name="num_cross_references" />
|
|
<list type="ResourceSizeSpec" name="cross_references">
|
|
<fieldref>num_cross_references</fieldref>
|
|
</list>
|
|
</struct>
|
|
|
|
<!-- v1.0 -->
|
|
<request name="QueryVersion" opcode="0">
|
|
<field type="CARD8" name="client_major" />
|
|
<field type="CARD8" name="client_minor" />
|
|
<reply>
|
|
<pad bytes="1" />
|
|
<field type="CARD16" name="server_major" />
|
|
<field type="CARD16" name="server_minor" />
|
|
</reply>
|
|
</request>
|
|
|
|
<request name="QueryClients" opcode="1">
|
|
<reply>
|
|
<pad bytes="1" />
|
|
<field type="CARD32" name="num_clients" />
|
|
<pad bytes="20" />
|
|
<list type="Client" name="clients">
|
|
<fieldref>num_clients</fieldref>
|
|
</list>
|
|
</reply>
|
|
</request>
|
|
|
|
<request name="QueryClientResources" opcode="2">
|
|
<field type="CARD32" name="xid" />
|
|
<reply>
|
|
<pad bytes="1" />
|
|
<field type="CARD32" name="num_types" />
|
|
<pad bytes="20" />
|
|
<list type="Type" name="types">
|
|
<fieldref>num_types</fieldref>
|
|
</list>
|
|
</reply>
|
|
</request>
|
|
|
|
<request name="QueryClientPixmapBytes" opcode="3">
|
|
<field type="CARD32" name="xid" />
|
|
<reply>
|
|
<pad bytes="1" />
|
|
<field type="CARD32" name="bytes" />
|
|
<field type="CARD32" name="bytes_overflow" />
|
|
</reply>
|
|
</request>
|
|
|
|
<!-- v1.2 -->
|
|
<request name="QueryClientIds" opcode="4">
|
|
<field type="CARD32" name="num_specs" />
|
|
<list type="ClientIdSpec" name="specs">
|
|
<fieldref>num_specs</fieldref>
|
|
</list>
|
|
<reply>
|
|
<pad bytes="1" />
|
|
<field type="CARD32" name="num_ids" />
|
|
<pad bytes="20" />
|
|
<list type="ClientIdValue" name="ids">
|
|
<fieldref>num_ids</fieldref>
|
|
</list>
|
|
</reply>
|
|
</request>
|
|
|
|
<request name="QueryResourceBytes" opcode="5">
|
|
<field type="CARD32" name="client" />
|
|
<field type="CARD32" name="num_specs" />
|
|
<list type="ResourceIdSpec" name="specs">
|
|
<fieldref>num_specs</fieldref>
|
|
</list>
|
|
<reply>
|
|
<pad bytes="1" />
|
|
<field type="CARD32" name="num_sizes" />
|
|
<pad bytes="20" />
|
|
<list type="ResourceSizeValue" name="sizes">
|
|
<fieldref>num_sizes</fieldref>
|
|
</list>
|
|
</reply>
|
|
</request>
|
|
</xcb>
|