cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync/* Definitions for the X window system used by server and c bindings */
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync * This packet-construction scheme makes the following assumptions:
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync * 1. The compiler is able
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync * to generate code which addresses one- and two-byte quantities.
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync * In the worst case, this would be done with bit-fields. If bit-fields
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync * are used it may be necessary to reorder the request fields in this file,
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync * depending on the order in which the machine assigns bit fields to
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync * machine words. There may also be a problem with sign extension,
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync * as K+R specify that bitfields are always unsigned.
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync * 2. 2- and 4-byte fields in packet structures must be ordered by hand
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync * such that they are naturally-aligned, so that no compiler will ever
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync * insert padding bytes.
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync * 3. All packets are hand-padded to a multiple of 4 bytes, for
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync * the same reason.
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync/***********************************************************
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsyncCopyright 1987, 1998 The Open Group
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsyncPermission to use, copy, modify, distribute, and sell this software and its
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsyncdocumentation for any purpose is hereby granted without fee, provided that
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsyncthe above copyright notice appear in all copies and that both that
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsynccopyright notice and this permission notice appear in supporting
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsyncdocumentation.
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsyncThe above copyright notice and this permission notice shall be included in
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsyncall copies or substantial portions of the Software.
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsyncTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsyncIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsyncFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsyncOPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsyncAN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsyncCONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsyncExcept as contained in this notice, the name of The Open Group shall not be
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsyncused in advertising or otherwise to promote the sale, use or other dealings
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsyncin this Software without prior written authorization from The Open Group.
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsyncCopyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts.
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync All Rights Reserved
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsyncPermission to use, copy, modify, and distribute this software and its
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsyncdocumentation for any purpose and without fee is hereby granted,
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsyncprovided that the above copyright notice appear in all copies and that
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsyncboth that copyright notice and this permission notice appear in
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsyncsupporting documentation, and that the name of Digital not be
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsyncused in advertising or publicity pertaining to distribution of the
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsyncsoftware without specific, written prior permission.
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsyncDIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsyncALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsyncDIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsyncANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsyncWHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsyncARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync******************************************************************/
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync * Define constants for the sizes of the network packets. The sz_ prefix is
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync * used instead of something more descriptive so that the symbols are no more
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync * than 32 characters in length (which causes problems for some compilers).
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync/* For the purpose of the structure definitions in this file,
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsyncwe must redefine the following types in terms of Xmd.h's types, which may
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsyncinclude bit fields. All of these are #undef'd at the end of this file,
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsyncrestoring the definitions in X.h. */
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync/*****************
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync connection setup structure. This is followed by
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync numRoots xWindowRoot structs.
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync*****************/
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsynctypedef struct {
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync CARD16 nbytesAuthProto B16; /* Authorization protocol */
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync CARD16 nbytesAuthString B16; /* Authorization string */
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsynctypedef struct {
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync BYTE lengthReason; /*num bytes in string following if failure */
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync CARD16 length B16; /* 1/4 additional bytes in setup info */
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsynctypedef struct {
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync CARD16 nbytesVendor B16; /* number of bytes in vendor string */
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync CARD8 numRoots; /* number of roots structs to follow */
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync CARD8 bitmapBitOrder; /* LeastSignificant, MostSign...*/
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsynctypedef struct {
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync/* window root */
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsynctypedef struct {
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync CARD16 nVisuals B16; /* number of xVisualType structures following */
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsynctypedef struct {
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsynctypedef struct {
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync CARD8 nDepths; /* number of xDepth structures following */
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync/*****************************************************************
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync * Structure Defns
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync * Structures needed for replies
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync *****************************************************************/
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync/* Used in GetMotionEvents */
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsynctypedef struct {
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsynctypedef struct {
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsynctypedef struct {
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsynctypedef struct {
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync * non-aligned big-endian font ID follows this struct
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsynctypedef struct { /* followed by string */
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync CARD8 len; /* number of *characters* in string, or FontChange (255)
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync for font change, or 0 if just delta given */
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsynctypedef struct {
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsynctypedef struct {
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync/*****************
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync * meant to be 32 byte quantity
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync *****************/
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync/* GenericReply is the common format of all replies. The "data" items
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync are specific to each individual reply type. */
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsynctypedef struct {
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync CARD16 sequenceNumber B16; /* of last request received by server */
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync CARD32 length B32; /* 4 byte quantities beyond size of GenericReply */
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync/* Individual reply formats. */
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsynctypedef struct {
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync CARD32 length B32; /* NOT 0; this is an extra-large reply */
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsynctypedef struct {
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsynctypedef struct {
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsynctypedef struct {
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsynctypedef struct {
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync CARD16 nameLength B16; /* # of characters in name */
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsynctypedef struct {
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync CARD32 nItems B32; /* # of 8, 16, or 32-bit entities in reply */
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsynctypedef struct {
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsynctypedef struct {
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsynctypedef struct {
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsynctypedef struct {
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsynctypedef struct {
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsynctypedef struct {
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsynctypedef struct {
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsynctypedef struct {
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync CARD32 length B32; /* 2, NOT 0; this is an extra-large reply */
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync/* Warning: this MUST match (up to component renaming) xListFontsWithInfoReply */
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync CARD32 length B32; /* definitely > 0, even if "nCharInfos" is 0 */
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync CARD16 nFontProps B16; /* followed by this many xFontProp structures */
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync CARD32 nCharInfos B32; /* followed by this many xCharInfo structures */
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsynctypedef struct {
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync INT32 overallWidth B32, overallLeft B32, overallRight B32;
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsynctypedef struct {
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync/* Warning: this MUST match (up to component renaming) xQueryFontReply */
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsynctypedef struct {
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync CARD8 nameLength; /* 0 indicates end-of-reply-sequence */
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync CARD32 length B32; /* definitely > 0, even if "nameLength" is 0 */
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync CARD16 nFontProps B16; /* followed by this many xFontProp structures */
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync CARD32 nReplies B32; /* hint as to how many more replies might be coming */
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsynctypedef struct {
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsynctypedef struct {
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsynctypedef struct {
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsynctypedef struct {
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsynctypedef struct {
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync CARD16 exactRed B16, exactGreen B16, exactBlue B16;
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync CARD16 screenRed B16, screenGreen B16, screenBlue B16;
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsynctypedef struct {
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsynctypedef struct {
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsynctypedef struct {
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsynctypedef struct {
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync CARD16 exactRed B16, exactGreen B16, exactBlue B16;
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync CARD16 screenRed B16, screenGreen B16, screenBlue B16;
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsynctypedef struct {
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsynctypedef struct {
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsynctypedef struct {
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsynctypedef struct {
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsynctypedef struct {
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync CARD8 nElts; /* how many elements does the map have */
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsynctypedef struct {
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsynctypedef struct {
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsynctypedef struct {
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsynctypedef struct {
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsynctypedef struct {
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsynctypedef struct {
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync/*****************************************************************
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync * All errors are 32 bytes
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync *****************************************************************/
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsynctypedef struct {
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync CARD16 sequenceNumber B16; /* the nth request from this client */
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync/*****************************************************************
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync * All events are 32 bytes
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync *****************************************************************/
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync INT16 rootX B16, rootY B16, eventX B16, eventY B16;
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync INT16 rootX B16, rootY B16, eventX B16, eventY B16;
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync BYTE flags; /* sameScreen and focus booleans, packed together */
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync * The event fields in the structures for DestroyNotify, UnmapNotify,
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync * MapNotify, ReparentNotify, ConfigureNotify, CirculateNotify, GravityNotify,
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync * must be at the same offset because server internal code is depending upon
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync * this to patch up the events before they are delivered.
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync * Also note that MapRequest, ConfigureRequest and CirculateRequest have
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync * the same offset for the event window.
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync/* The event field in the circulate record is really the parent when this
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync is used as a CirculateRequest instead of a CirculateNotify */
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync/*********************************************************
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync * Generic event
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync * Those events are not part of the core protocol spec and can be used by
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync * various extensions.
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync * type is always GenericEvent
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync * extension is the minor opcode of the extension the event belongs to.
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync * evtype is the actual event type, unique __per extension__.
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync * GenericEvents can be longer than 32 bytes, with the length field
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync * specifying the number of 4 byte blocks after the first 32 bytes.
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsynctypedef struct
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync/* KeymapNotify events are not included in the above union because they
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync are different from all other events: they do not have a "detail"
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync or "sequenceNumber", so there is room for a 248-bit key mask. */
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsynctypedef struct {
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync/* XReply is the union of all the replies above whose "fixed part"
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsyncfits in 32 bytes. It does NOT include GetWindowAttributesReply,
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsyncQueryFontReply, QueryKeymapReply, or GetKeyboardControlReply
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsyncListFontsWithInfoReply */
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsynctypedef union {
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync/*****************************************************************
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync *****************************************************************/
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync/* Request structure */
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync of whole request, including this header */
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync/*****************************************************************
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync * structures that follow request.
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync *****************************************************************/
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync/* ResourceReq is used for any request which has a resource ID
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync (or Atom or Time) as its one and only argument. */
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsynctypedef struct {
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync CARD32 id B32; /* a Window, Drawable, Font, GContext, Pixmap, etc. */
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsynctypedef struct {
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsynctypedef struct {
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsynctypedef struct {
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsynctypedef struct {
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsynctypedef struct {
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsynctypedef struct {
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsynctypedef struct { /* followed by padded string */
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsynctypedef struct {
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync CARD32 nUnits B32; /* length of stuff following, depends on format */
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsynctypedef struct {
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsynctypedef struct {
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsynctypedef struct {
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsynctypedef struct {
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsynctypedef struct {
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync /* the structure should have been quad-aligned */
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync#endif /* WORD64 */
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsynctypedef struct {
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsynctypedef struct {
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsynctypedef struct {
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsynctypedef struct {
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsynctypedef struct {
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsynctypedef struct {
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsynctypedef struct {
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsynctypedef struct {
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsynctypedef struct {
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsynctypedef struct {
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsynctypedef struct {
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsynctypedef struct {
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsynctypedef struct {
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync BYTE pad1, pad2; /* string follows on word boundary */
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsynctypedef struct {
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsynctypedef struct {
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync CARD16 nbytes B16; /* followed immediately by string bytes */
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsynctypedef struct {
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync BYTE pad1, pad2; /* LISTofSTRING8 follows on word boundary */
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsynctypedef struct {
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsynctypedef struct {
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsynctypedef struct {
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsynctypedef struct {
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsynctypedef struct {
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync CARD16 nDashes B16; /* length LISTofCARD8 of values following */
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsynctypedef struct {
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsynctypedef struct {
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsynctypedef struct {
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsynctypedef struct {
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsynctypedef struct {
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsynctypedef xPolyPointReq xPolyLineReq; /* same request structure */
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync/* The following used for PolySegment, PolyRectangle, PolyArc, PolyFillRectangle, PolyFillArc */
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsynctypedef struct {
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsynctypedef struct {
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync/* the following used by PolyText8 and PolyText16 */
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsynctypedef struct {
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync INT16 x B16, y B16; /* items (xTextElt) start after struct */
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsynctypedef struct {
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsynctypedef struct {
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsynctypedef struct {
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsynctypedef struct {
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsynctypedef struct {
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsynctypedef struct {
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsynctypedef struct {
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsynctypedef struct {
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsynctypedef struct {
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsynctypedef struct {
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync CARD8 flags; /* DoRed, DoGreen, DoBlue, as in xColorItem */
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync CARD16 nbytes B16; /* number of name string bytes following structure */
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsynctypedef struct {
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsynctypedef struct { /* followed by string of length len */
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync CARD16 nbytes B16; /* number of string bytes following structure*/
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsynctypedef struct {
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsynctypedef struct {
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsynctypedef struct {
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsynctypedef struct {
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsynctypedef struct {
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync CARD16 nbytes B16; /* number of string bytes following structure */
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsynctypedef struct {
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsynctypedef struct {
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsynctypedef struct {
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsynctypedef struct {
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsynctypedef struct {
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsynctypedef struct {
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsynctypedef struct {
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsynctypedef struct {
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsynctypedef struct {
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsynctypedef struct {
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsynctypedef struct {
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsynctypedef struct { /* followed by LIST of ATOM */
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync/* Reply codes */
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync/* Request codes */
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync/* restore these definitions back to the typedefs in X.h */
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync#endif /* XPROTO_H */