<?xml version="1.0" encoding="utf-8"?>
<xcb header="res" extension-xname="X-Resource" extension-name="Res" major-version="1" minor-version="2">
<import>xproto</import>
<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>
<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">
<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>
<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>
<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>