sync with OpenBSD -current

This commit is contained in:
purplerain 2024-07-12 14:44:09 +02:00
parent 2d1e52c274
commit b5b25afdb8
Signed by: purplerain
GPG key ID: F42C07F07E2E35B7
657 changed files with 21464 additions and 54675 deletions

View file

@ -1,14 +1,17 @@
#! /bin/sh
srcdir=`dirname $0`
srcdir=`dirname "$0"`
test -z "$srcdir" && srcdir=.
ORIGDIR=`pwd`
cd $srcdir
cd "$srcdir"
autoreconf -v --install || exit 1
cd $ORIGDIR || exit $?
cd "$ORIGDIR" || exit $?
git config --local --get format.subjectPrefix >/dev/null 2>&1 ||
git config --local format.subjectPrefix "PATCH xcbproto"
if test -z "$NOCONFIGURE"; then
$srcdir/configure "$@"
exec "$srcdir"/configure "$@"
fi

View file

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

View file

@ -33,6 +33,20 @@ authorization from the authors.
<reply>
<pad bytes="1" />
<field type="CARD32" name="maximum_request_length" />
<doc>
<field name="maximum_request_length">
The maximum length of requests supported by the server, in 4-byte units.
</field>
</doc>
</reply>
<doc>
<brief>Enable the BIG-REQUESTS extension</brief>
<description>
This enables the BIG-REQUESTS extension, which allows for requests larger than
262140 bytes in length. When enabled, if the 16-bit length field is zero, it
is immediately followed by a 32-bit length field specifying the length of the
request in 4-byte units.
</description>
</doc>
</request>
</xcb>

View file

@ -23,6 +23,48 @@ 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.
Copyright (c) 2006, Oracle and/or its affiliates.
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 (including the next
paragraph) 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 OR COPYRIGHT HOLDERS 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.
Copyright © 2003 Keith Packard
Permission to use, copy, modify, distribute, and sell this software and its
documentation for any purpose is hereby granted without fee, provided that
the above copyright notice appear in all copies and that both that
copyright notice and this permission notice appear in supporting
documentation, and that the name of Keith Packard not be used in
advertising or publicity pertaining to distribution of the software without
specific, written prior permission. Keith Packard makes no
representations about the suitability of this software for any purpose. It
is provided "as is" without express or implied warranty.
KEITH PACKARD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
EVENT SHALL KEITH PACKARD BE LIABLE FOR ANY SPECIAL, INDIRECT OR
CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
PERFORMANCE OF THIS SOFTWARE.
-->
<!-- This file describes version 0.3 of COMPOSITE. -->
<xcb header="composite" extension-xname="Composite" extension-name="Composite"
@ -44,31 +86,111 @@ authorization from the authors.
<field type="CARD32" name="major_version" />
<field type="CARD32" name="minor_version" />
<pad bytes="16" />
<doc>
<brief>The negotiated version of Composite</brief>
<description>
This indicates the version of Composite chosen by the server. It will always be
less than or equal to the version offered by the client.
</description>
<field name="major_version">The major version chosen by the server.</field>
<field name="minor_version">The minor version chosen by the server.</field>
</doc>
</reply>
<doc>
<brief>Negotiate the version of Composite</brief>
<description>
This negotiates the version of the Composite extension. It must be precede all
other requests using Composite. Failure to do so will cause a BadRequest error.
</description>
<field name="client_major_version">The major version supported by the client.</field>
<field name="client_minor_version">The minor version supported by the client.</field>
</doc>
</request>
<request name="RedirectWindow" opcode="1">
<field type="WINDOW" name="window" />
<field type="CARD8" name="update" enum="Redirect" />
<pad bytes="3" />
<doc>
<brief>Redirect the hierarchy starting at "window" to off-screen storage.</brief>
<description>
The hierarchy starting at 'window' is directed to off-screen
storage. When all clients enabling redirection terminate,
the redirection will automatically be disabled.
The root window may not be redirected. Doing so results in a Match
error.
</description>
<field name="window">The root of the hierarchy to redirect to off-screen storage.</field>
<field name="update">
Whether contents are automatically mirrored to the parent window. If one client
already specifies an update type of Manual, any attempt by another to specify a
mode of Manual so will result in an Access error.
</field>
</doc>
</request>
<request name="RedirectSubwindows" opcode="2">
<field type="WINDOW" name="window" />
<field type="CARD8" name="update" enum="Redirect" />
<pad bytes="3" />
<doc>
<brief>Redirect all current and future children of window</brief>
<description>
Hierarchies starting at all current and future children of window
will be redirected as in RedirectWindow. If update is Manual,
then painting of the window background during window manipulation
and ClearArea requests is inhibited.
</description>
<field name="window">The root of the hierarchy to redirect to off-screen storage.</field>
<field name="update">
Whether contents are automatically mirrored to the parent window. If one client
already specifies an update type of Manual, any attempt by another to specify a
mode of Manual so will result in an Access error.
</field>
</doc>
</request>
<request name="UnredirectWindow" opcode="3">
<field type="WINDOW" name="window" />
<field type="CARD8" name="update" enum="Redirect" />
<pad bytes="3" />
<doc>
<brief>Terminate redirection of the specified window.</brief>
<description>
Redirection of the specified window will be terminated. This cannot be
used if the window was redirected with RedirectSubwindows.
</description>
<field name="window">
The window to terminate redirection of. Must be redirected by the
current client, or a Value error results.
</field>
<field name="update">
The update type passed to RedirectWindows. If this does not match the
previously requested update type, a Value error results.
</field>
</doc>
</request>
<request name="UnredirectSubwindows" opcode="4">
<field type="WINDOW" name="window" />
<field type="CARD8" name="update" enum="Redirect" />
<pad bytes="3" />
<doc>
<brief>Terminate redirection of the specified windows children</brief>
<description>
Redirection of all children of window will be terminated.
</description>
<field name="window">
The window to terminate redirection of. Must have previously been
selected for sub-redirection by the current client, or a Value error
results.
</field>
<field name="update">
The update type passed to RedirectSubWindows. If this does not match
the previously requested update type, a Value error results.
</field>
</doc>
</request>
<request name="CreateRegionFromBorderClip" opcode="5">

View file

@ -51,7 +51,26 @@ authorization from the authors.
<field type="CARD32" name="major_version" />
<field type="CARD32" name="minor_version" />
<pad bytes="16" />
<doc>
<brief>The negotiated version of the DAMAGE extension</brief>
<description>
This indicates the version of the DAMAGE extension chosen by the server.
It will always be less than or equal to the version offered by the client.
</description>
<field name="major_version">The major version chosen by the server.</field>
<field name="minor_version">The minor version chosen by the server.</field>
</doc>
</reply>
<doc>
<brief>Negotiate the version of the DAMAGE extension</brief>
<description>
This negotiates the version of the DAMAGE extension. It must precede any other
request using the DAMAGE extension. Failure to do so will cause a BadRequest
error for those requests.
</description>
<field name="client_major_version">The major version supported by the client.</field>
<field name="client_minor_version">The minor version supported by the client.</field>
</doc>
</request>
<request name="Create" opcode="1">
@ -59,21 +78,84 @@ authorization from the authors.
<field type="DRAWABLE" name="drawable" />
<field type="CARD8" name="level" enum="ReportLevel" />
<pad bytes="3" />
<doc>
<brief>Creates a Damage object to monitor changes to a drawable.</brief>
<description><![CDATA[
This creates a Damage object to monitor changes to a drawable, and specifies
the level of detail to be reported for changes.
We call changes made to pixel contents of windows and pixmaps 'damage'
throughout this extension.
Damage accumulates as drawing occurs in the drawable. Each drawing operation
'damages' one or more rectangular areas within the drawable. The rectangles
are guaranteed to include the set of pixels modified by each operation, but
may include significantly more than just those pixels. The desire is for
the damage to strike a balance between the number of rectangles reported and
the extraneous area included. A reasonable goal is for each primitive
object drawn (line, string, rectangle) to be represented as a single
rectangle and for the damage area of the operation to be the union of these
rectangles.
The DAMAGE extension allows applications to either receive the raw
rectangles as a stream of events, or to have them partially processed within
the X server to reduce the amount of data transmitted as well as reduce the
processing latency once the repaint operation has started.
The Damage object holds any accumulated damage region and reflects the
relationship between the drawable selected for damage notification and the
drawable for which damage is tracked.
]]></description>
<field name="damage"><![CDATA[
The ID with which you will refer to the new Damage object, created by
`xcb_generate_id`.
]]></field>
<field name="drawable">The ID of the drawable to be monitored.</field>
<field name="level">The level of detail to be provided in Damage events.</field>
</doc>
</request>
<request name="Destroy" opcode="2">
<field type="DAMAGE" name="damage" />
<doc>
<brief>Destroys a previously created Damage object.</brief>
<description>
This destroys a Damage object and requests the X server stop reporting
the changes it was tracking.
</description>
<field name="damage"><![CDATA[
The ID you provided to `xcb_create_damage`.
]]></field>
</doc>
</request>
<request name="Subtract" opcode="3">
<field type="DAMAGE" name="damage" />
<field type="REGION" name="repair" altenum="Region" />
<field type="REGION" name="parts" altenum="Region" />
<doc>
<brief>Remove regions from a previously created Damage object.</brief>
<description>
This updates the regions of damage recorded in a a Damage object.
See https://www.x.org/releases/current/doc/damageproto/damageproto.txt
for details.
</description>
<field name="damage">The ID you provided to `xcb_create_damage`.</field>
</doc>
</request>
<request name="Add" opcode="4">
<field type="DRAWABLE" name="drawable" />
<field type="REGION" name="region" />
<doc>
<brief>Add a region to a previously created Damage object.</brief>
<description>
This updates the regions of damage recorded in a a Damage object.
See https://www.x.org/releases/current/doc/damageproto/damageproto.txt
for details.
</description>
<field name="damage">The ID you provided to `xcb_create_damage`.</field>
</doc>
</request>
<event name="Notify" number="0">
@ -83,5 +165,29 @@ authorization from the authors.
<field type="TIMESTAMP" name="timestamp" />
<field type="RECTANGLE" name="area" />
<field type="RECTANGLE" name="geometry" />
<doc>
<brief>the contents of the monitored drawable have changed</brief>
<field name="level"><![CDATA[
The level of the damage being reported.
If the 0x80 bit is set, indicates there are subsequent Damage events
being delivered immediately as part of a larger Damage region.
]]></field>
<field name="drawable"><![CDATA[
The drawable for which damage is being reported.
]]></field>
<field name="damage"><![CDATA[
The Damage object being used to track the damage.
]]></field>
<field name="timestamp"><![CDATA[
Time when the event was generated (in milliseconds).
]]></field>
<field name="area"><![CDATA[
Damaged area of the drawable.
]]></field>
<field name="geometry"><![CDATA[
Total area of the drawable.
]]></field>
<see type="request" name="Create" />
</doc>
</event>
</xcb>

View file

@ -26,7 +26,8 @@ sale, use or other dealings in this Software without prior written
authorization from the authors.
-->
<xcb header="dpms" extension-xname="DPMS" extension-name="DPMS"
major-version="0" minor-version="0">
major-version="1" minor-version="2">
<import>xproto</import>
<request name="GetVersion" opcode="0">
<field type="CARD16" name="client_major_version" />
<field type="CARD16" name="client_minor_version" />
@ -84,4 +85,20 @@ authorization from the authors.
<pad bytes="21" />
</reply>
</request>
<enum name="EventMask" >
<item name="InfoNotify"> <bit>0</bit> </item>
</enum>
<request name="SelectInput" opcode="8">
<field type="CARD32" name="event_mask" mask="EventMask"/>
</request>
<event name="InfoNotify" number="0" xge="true">
<pad bytes="2" />
<field type="TIMESTAMP" name="timestamp"/>
<field type="CARD16" name="power_level" enum="DPMSMode" />
<field type="BOOL" name="state" />
<pad bytes="21"/>
</event>
</xcb>

View file

@ -23,10 +23,11 @@ OF THIS SOFTWARE.
-->
<xcb header="dri3" extension-xname="DRI3" extension-name="DRI3"
major-version="1" minor-version="3">
major-version="1" minor-version="4">
<import>xproto</import>
<!-- Types -->
<xidtype name="SYNCOBJ" />
<!-- Requests -->
<request name="QueryVersion" opcode="0">
@ -170,4 +171,15 @@ OF THIS SOFTWARE.
<field type="CARD32" name="drmMajor" />
<field type="CARD32" name="drmMinor" />
</request>
<!-- v1.4 -->
<request name="ImportSyncobj" opcode="10">
<field type="SYNCOBJ" name="syncobj" />
<field type="DRAWABLE" name="drawable" />
<fd name="syncobj_fd" />
</request>
<request name="FreeSyncobj" opcode="11">
<field type="SYNCOBJ" name="syncobj" />
</request>
</xcb>

View file

@ -23,11 +23,12 @@ OF THIS SOFTWARE.
-->
<xcb header="present" extension-xname="Present" extension-name="Present"
major-version="1" minor-version="2">
major-version="1" minor-version="4">
<import>xproto</import>
<import>randr</import>
<import>xfixes</import>
<import>sync</import>
<import>dri3</import>
<!-- Types -->
@ -52,6 +53,7 @@ OF THIS SOFTWARE.
<item name="Copy"><bit>1</bit></item>
<item name="UST"><bit>2</bit></item>
<item name="Suboptimal"><bit>3</bit></item>
<item name="AsyncMayTear"><bit>4</bit></item>
</enum>
<enum name="Capability">
@ -59,6 +61,9 @@ OF THIS SOFTWARE.
<item name="Async"><bit>0</bit></item>
<item name="Fence"><bit>1</bit></item>
<item name="UST"><bit>2</bit></item>
<item name="AsyncMayTear"><bit>3</bit></item>
<!-- PresentCapabilitySyncobj is new in version 1.4 -->
<item name="Syncobj"><bit>4</bit></item>
</enum>
<enum name="CompleteKind">
@ -135,6 +140,29 @@ OF THIS SOFTWARE.
</reply>
</request>
<!-- PresentPixmapSynced is new in version 1.4 -->
<request name="PixmapSynced" opcode="5">
<required_start_align align="8" />
<field type="WINDOW" name="window" />
<field type="PIXMAP" name="pixmap" />
<field type="CARD32" name="serial" />
<field type="REGION" name="valid" />
<field type="REGION" name="update" />
<field type="INT16" name="x_off" />
<field type="INT16" name="y_off" />
<field type="CRTC" name="target_crtc" />
<field type="SYNCOBJ" name="acquire_syncobj" />
<field type="SYNCOBJ" name="release_syncobj" />
<field type="CARD64" name="acquire_point" />
<field type="CARD64" name="release_point" />
<field type="CARD32" name="options" />
<pad bytes="4"/>
<field type="CARD64" name="target_msc" />
<field type="CARD64" name="divisor" />
<field type="CARD64" name="remainder" />
<list type="Notify" name="notifies"/>
</request>
<!-- Events -->
<event name="Generic" number="0">

View file

@ -99,63 +99,63 @@ Draft Standard Version 1.1
<switch name="value_list">
<fieldref>value_mask</fieldref>
<bitcase>
<enumref ref="CW">BackPixmap</enumref>
<enumref ref="xproto:CW">BackPixmap</enumref>
<field type="PIXMAP" name="background_pixmap" altenum="BackPixmap"/>
</bitcase>
<bitcase>
<enumref ref="CW">BackPixel</enumref>
<enumref ref="xproto:CW">BackPixel</enumref>
<field type="CARD32" name="background_pixel" />
</bitcase>
<bitcase>
<enumref ref="CW">BorderPixmap</enumref>
<enumref ref="xproto:CW">BorderPixmap</enumref>
<field type="PIXMAP" name="border_pixmap" altenum="Pixmap"/>
</bitcase>
<bitcase>
<enumref ref="CW">BorderPixel</enumref>
<enumref ref="xproto:CW">BorderPixel</enumref>
<field type="CARD32" name="border_pixel" />
</bitcase>
<bitcase>
<enumref ref="CW">BitGravity</enumref>
<enumref ref="xproto:CW">BitGravity</enumref>
<field type="CARD32" name="bit_gravity" enum="Gravity"/>
</bitcase>
<bitcase>
<enumref ref="CW">WinGravity</enumref>
<enumref ref="xproto:CW">WinGravity</enumref>
<field type="CARD32" name="win_gravity" enum="Gravity"/>
</bitcase>
<bitcase>
<enumref ref="CW">BackingStore</enumref>
<enumref ref="xproto:CW">BackingStore</enumref>
<field type="CARD32" name="backing_store" enum="BackingStore"/>
</bitcase>
<bitcase>
<enumref ref="CW">BackingPlanes</enumref>
<enumref ref="xproto:CW">BackingPlanes</enumref>
<field type="CARD32" name="backing_planes" />
</bitcase>
<bitcase>
<enumref ref="CW">BackingPixel</enumref>
<enumref ref="xproto:CW">BackingPixel</enumref>
<field type="CARD32" name="backing_pixel" />
</bitcase>
<bitcase>
<enumref ref="CW">OverrideRedirect</enumref>
<enumref ref="xproto:CW">OverrideRedirect</enumref>
<field type="BOOL32" name="override_redirect" />
</bitcase>
<bitcase>
<enumref ref="CW">SaveUnder</enumref>
<enumref ref="xproto:CW">SaveUnder</enumref>
<field type="BOOL32" name="save_under" />
</bitcase>
<bitcase>
<enumref ref="CW">EventMask</enumref>
<enumref ref="xproto:CW">EventMask</enumref>
<field type="CARD32" name="event_mask" mask="EventMask"/>
</bitcase>
<bitcase>
<enumref ref="CW">DontPropagate</enumref>
<enumref ref="xproto:CW">DontPropagate</enumref>
<field type="CARD32" name="do_not_propogate_mask" mask="EventMask"/>
</bitcase>
<bitcase>
<enumref ref="CW">Colormap</enumref>
<enumref ref="xproto:CW">Colormap</enumref>
<field type="COLORMAP" name="colormap" altenum="Colormap"/>
</bitcase>
<bitcase>
<enumref ref="CW">Cursor</enumref>
<enumref ref="xproto:CW">Cursor</enumref>
<field type="CURSOR" name="cursor" altenum="Cursor"/>
</bitcase>
</switch>

View file

@ -39,6 +39,29 @@ authorization from the authors.
<pad bytes="1" />
<field type="SEG" name="shmseg" />
<field type="CARD32" name="offset" />
<doc>
<brief>Report that an XCB_SHM_PUT_IMAGE request has completed</brief>
<description><![CDATA[
This is generated by the X server to report that an XCB_SHM_PUT_IMAGE request
has been successfully processed.
]]></description>
<field name="drawable"><![CDATA[
The drawable used in the XCB_SHM_PUT_IMAGE request.
]]></field>
<field name="minor_event"><![CDATA[
The minor opcode used in the request. Always XCB_SHM_PUT_IMAGE.
]]></field>
<field name="major_event"><![CDATA[
The major opcode used in the request. Always the opcode of the MIT-SHM
extension.
]]></field>
<field name="shmseg"><![CDATA[
The shared memory segment used in the request.
]]></field>
<field name="offset"><![CDATA[
The offset in the shared memory segment used in the request.
]]></field>
</doc>
</event>
<errorcopy name="BadSeg" number="0" ref="Value" />
@ -52,7 +75,39 @@ authorization from the authors.
<field type="CARD16" name="gid" />
<field type="CARD8" name="pixmap_format" />
<pad bytes="15" />
<doc>
<brief>The version of the MIT-SHM extension supported by the server</brief>
<description><![CDATA[
This contains the version of the MIT-SHM extension supported by the server, as
well as the servers UID and GID. Clients MUST obtain the version supproted by
the server before making other requests from this extension. To prevent local
privilege escalation and local information leak security vulnerabilities,
clients MUST ensure that System V shared memory objects they use with this
extension can only be accessed by the client and the X server. If this is not
possible, the requests in this extension that use System V shared memory MUST
NOT be used. The file descriptor-passing versions provide an alternative.
]]></description>
<field name="shared_pixmaps"><![CDATA[
True if the server supports shared pixmaps, otherwise false.
]]></field>
<field name="major_version"><![CDATA[
The major version of the extension supported.
]]></field>
<field name="minor_version"><![CDATA[
The minor version of the extension supported.
]]></field>
<field name="uid">The UID of the server.</field>
<field name="gid">The GID of the server.</field>
</doc>
</reply>
<doc>
<brief>Query the version of the MIT-SHM extension.</brief>
<description><![CDATA[
This is used to determine the version of the MIT-SHM extension supported by the
X server. Clients MUST NOT make other requests in this extension until a reply
to this requests indicates the X server supports them.
]]></description>
</doc>
</request>
<request name="Attach" opcode="1">
@ -60,10 +115,36 @@ authorization from the authors.
<field type="CARD32" name="shmid" />
<field type="BOOL" name="read_only" />
<pad bytes="3" />
<doc>
<brief>Attach a System V shared memory segment.</brief>
<description><![CDATA[
Attach a System V shared memory segment to the server. This will fail unless
the server has permission to map the segment. The client may destroy the segment
as soon as it receives a XCB_SHM_COMPLETION event with the shmseg value in this
request and with the appropriate serial number.
]]></description>
<field name="shmseg"><![CDATA[
A shared memory segment ID created with xcb_generate_id().
]]></field>
<field name="shmid"><![CDATA[
The System V shared memory segment the server should map.
]]></field>
<field name="read_only"><![CDATA[
True if the segment shall be mapped read only by the X11 server, otherwise false.
]]></field>
</doc>
</request>
<request name="Detach" opcode="2">
<field type="SEG" name="shmseg" />
<doc>
<brief>Destroys the specified shared memory segment.</brief>
<description><![CDATA[
Destroys the specified shared memory segment. This will never fail unless the
segment number is incorrect.
]]></description>
<field name="shmseg">The segment to be destroyed.</field>
</doc>
</request>
<request name="PutImage" opcode="3">
@ -83,6 +164,49 @@ authorization from the authors.
<pad bytes="1" />
<field type="SEG" name="shmseg" />
<field type="CARD32" name="offset" />
<doc>
<brief>Copy data from the shared memory to the specified drawable.</brief>
<description><![CDATA[
Copy data from the shared memory to the specified drawable. The amount of bytes
written to the destination image is always equal to the number of bytes read
from the shared memory segment.
]]></description>
<field name="drawable">The drawable to draw to.</field>
<field name="gc">The graphics context to use.</field>
<field name="total_width">The total width of the source image.</field>
<field name="total_height">The total height of the source image.</field>
<field name="src_x">The source X coordinate of the sub-image to copy.</field>
<field name="src_y">The source Y coordinate of the sub-image to copy.</field>
<field name="src_width"><![CDATA[
The width, in source image coordinates, of the data to copy from the source.
The X server will use this to determine the amount of data to copy. The amount
of the destination image that is overwritten is determined automatically.
]]></field>
<field name="src_height"><![CDATA[
The height, in source image coordinates, of the data to copy from the source.
The X server will use this to determine the amount of data to copy. The amount
of the destination image that is overwritten is determined automatically.
]]></field>
<field name="dst_x"><![CDATA[
The X coordinate on the destination drawable to copy to.
]]></field>
<field name="dst_y"><![CDATA[
The Y coordinate on the destination drawable to copy to.
]]></field>
<field name="depth">The depth to use.</field>
<field name="format"><![CDATA[
The format of the image being drawn. If it is XYBitmap, depth must be 1, or a
"BadMatch" error results. The foreground pixel in the GC determines the source
for the one bits in the image, and the background pixel determines the source
for the zero bits. For XYPixmap and ZPixmap, the depth must match the depth of
the drawable, or a "BadMatch" error results.
]]></field>
<field name="send_event"><![CDATA[
True if the server should send an XCB_SHM_COMPLETION event when the blit
completes.
]]></field>
<field name="offset">The offset that the source image starts at.</field>
</doc>
</request>
<request name="GetImage" opcode="4">
@ -100,7 +224,33 @@ authorization from the authors.
<field type="CARD8" name="depth" />
<field type="VISUALID" name="visual" />
<field type="CARD32" name="size" />
<doc>
<brief>Indicates the result of the copy.</brief>
<description><![CDATA[
The result of the copy.
]]></description>
<field name="depth">The depth of the source drawable.</field>
<field name="visual">The visual ID of the source drawable.</field>
<field name="size">The number of bytes copied.</field>
</doc>
</reply>
<doc>
<brief>Copies data from the specified drawable to the shared memory segment.</brief>
<description><![CDATA[
Copy data from the specified drawable to the shared memory segment. The amount
of bytes written to the destination image is always equal to the number of bytes
read from the shared memory segment.
]]></description>
<field name="drawable">The drawable to copy the image out of.</field>
<field name="x">The X coordinate in the drawable to begin copying at.</field>
<field name="y">The Y coordinate in the drawable to begin copying at.</field>
<field name="width">The width of the image to copy.</field>
<field name="height">The height of the image to copy.</field>
<field name="plane_mask">A mask that determines which planes are used.</field>
<field name="format">The format to use for the copy (???).</field>
<field name="shmseg">The destination shared memory segment.</field>
<field name="offset">The offset in the shared memory segment to copy data to.</field>
</doc>
</request>
<request name="CreatePixmap" opcode="5">
@ -112,6 +262,31 @@ authorization from the authors.
<pad bytes="3" />
<field type="SEG" name="shmseg" />
<field type="CARD32" name="offset" />
<doc>
<brief>Create a pixmap backed by shared memory.</brief>
<description>
Create a pixmap backed by shared memory. Writes to the shared memory will be
reflected in the contents of the pixmap, and writes to the pixmap will be
reflected in the contents of the shared memory.
</description>
<field name="pid">A pixmap ID created with xcb_generate_id().</field>
<field name="drawable">The drawable to create the pixmap in.</field>
<field name="width"><![CDATA[
The width of the pixmap to create. Must be nonzero, or a Value error results.
]]></field>
<field name="height"><![CDATA[
The height of the pixmap to create. Must be nonzero, or a Value error results.
]]></field>
<field name="depth"><![CDATA[
The depth of the pixmap to create. Must be nonzero, or a Value error results.
]]></field>
<field name="shmseg"><![CDATA[
The shared memory segment to use to create the pixmap.
]]></field>
<field name="offset"><![CDATA[
The offset in the segment to create the pixmap at.
]]></field>
</doc>
</request>
<request name="AttachFd" opcode="6">
@ -119,6 +294,21 @@ authorization from the authors.
<fd name="shm_fd" />
<field type="BOOL" name="read_only" />
<pad bytes="3" />
<doc>
<brief>Create a shared memory segment</brief>
<description><![CDATA[
Create a shared memory segment. The file descriptor will be mapped at offset
zero, and the size will be obtained using fstat(). A zero size will result in a
Value error.
]]></description>
<field name="shmseg"><![CDATA[
A shared memory segment ID created with xcb_generate_id().
]]></field>
<field name="shm_fd">The file descriptor the server should mmap().</field>
<field name="read_only"><![CDATA[
True if the segment shall be mapped read only by the X11 server, otherwise false.
]]></field>
</doc>
</request>
<request name="CreateSegment" opcode="7">
@ -130,6 +320,30 @@ authorization from the authors.
<field type="CARD8" name="nfd" />
<fd name="shm_fd" />
<pad bytes="24" />
<doc>
<brief>The returned file descriptor.</brief>
<description><![CDATA[
The file descriptor returned by the server. The client may call mmap() on it to
map the memory allocated by the server.
]]></description>
<field name="nfd"><![CDATA[
The number of file descriptors sent by the server. Will always be 1.
]]></field>
</doc>
</reply>
<doc>
<brief>Asks the server to allocate a shared memory segment.</brief>
<description><![CDATA[
Asks the server to allocate a shared memory segment. The servers reply will
include a file descriptor for the client to pass to mmap().
]]></description>
<field name="shmseg"><![CDATA[
A shared memory segment ID created with xcb_generate_id().
]]></field>
<field name="size">The size of the segment to create.</field>
<field name="read_only"><![CDATA[
True if the server should map the segment read-only; otherwise false.
]]></field>
</doc>
</request>
</xcb>

View file

@ -365,10 +365,28 @@ authorization from the authors.
<enum name="ClientDisconnectFlags">
<item name="Default"><value>0</value></item>
<item name="Terminate"><bit>0</bit></item>
<doc>
<field name="Default"><![CDATA[
The default behavior for regular clients: the X11 server won't terminate as long
as such clients are still connected, and should this client disconnect, the
server will continue running so long as other clients (that have not set
XFixesClientDisconnectFlagTerminate) are connected.
]]></field>
<field name="Terminate"><![CDATA[
Indicates to the X11 server that it can ignore the client and terminate itself
even though the client is still connected to the X11 server.
]]></field>
</doc>
</enum>
<request name="SetClientDisconnectMode" opcode="33">
<field type="CARD32" name="disconnect_mode" mask="ClientDisconnectFlags" />
<doc>
<brief>Sets the disconnect mode for the client.</brief>
<field name="disconnect_mode"><![CDATA[
The new disconnect mode.
]]></field>
</doc>
</request>
<request name="GetClientDisconnectMode" opcode="34">
@ -376,7 +394,12 @@ authorization from the authors.
<pad bytes="1" />
<field type="CARD32" name="disconnect_mode" mask="ClientDisconnectFlags" />
<pad bytes="20" />
<doc>
<brief>Gets the disconnect mode for the client.</brief>
<field name="disconnect_mode"><![CDATA[
The current disconnect mode.
]]></field>
</doc>
</reply>
</request>
</xcb>