aboutsummaryrefslogtreecommitdiff
path: root/nx-X11/include/Xproto.h
diff options
context:
space:
mode:
authorMike Gabriel <mike.gabriel@das-netzwerkteam.de>2016-10-12 08:32:04 +0200
committerMike Gabriel <mike.gabriel@das-netzwerkteam.de>2016-10-12 08:32:04 +0200
commit051d521f6e20761ba6831cecd91883da960fa931 (patch)
treeb28abba7818115d2fed80eb360a79a0f9183948e /nx-X11/include/Xproto.h
parent6dce607bad8711dd06a5a7b69ad1930386b4123b (diff)
parentb8de7bf654929c823080b211aeac56cd213f5a32 (diff)
downloadnx-libs-051d521f6e20761ba6831cecd91883da960fa931.tar.gz
nx-libs-051d521f6e20761ba6831cecd91883da960fa931.tar.bz2
nx-libs-051d521f6e20761ba6831cecd91883da960fa931.zip
Merge branch 'uli42-pr/upgrade_libX11' into 3.6.x
Attributes GH PR #214: https://github.com/ArcticaProject/nx-libs/pull/214 Fixes ArcticaProject/nx-libs#157.
Diffstat (limited to 'nx-X11/include/Xproto.h')
-rw-r--r--nx-X11/include/Xproto.h61
1 files changed, 51 insertions, 10 deletions
diff --git a/nx-X11/include/Xproto.h b/nx-X11/include/Xproto.h
index 0f7d1f557..8d05f49ab 100644
--- a/nx-X11/include/Xproto.h
+++ b/nx-X11/include/Xproto.h
@@ -1,7 +1,3 @@
-/*
- * $Xorg: Xproto.h,v 1.4 2001/02/09 02:03:23 xorgcvs Exp $
- */
-
/* Definitions for the X window system used by server and c bindings */
/*
@@ -263,10 +259,13 @@ restoring the definitions in X.h. */
typedef CARD16 KeyButMask;
/*****************
- connection setup structure. This is followed by
- numRoots xWindowRoot structs.
+ Connection setup structures. See Chapter 8: Connection Setup
+ of the X Window System Protocol specification for details.
*****************/
+/* Client initiates handshake with this data, followed by the strings
+ * for the auth protocol & data.
+ */
typedef struct {
CARD8 byteOrder;
BYTE pad;
@@ -276,6 +275,16 @@ typedef struct {
CARD16 pad2 B16;
} xConnClientPrefix;
+/* Server response to xConnClientPrefix.
+ *
+ * If success == Success, this is followed by xConnSetup and
+ * numRoots xWindowRoot structs.
+ *
+ * If success == Failure, this is followed by a reason string.
+ *
+ * The protocol also defines a case of success == Authenticate, but
+ * that doesn't seem to have ever been implemented by the X Consortium.
+ */
typedef struct {
CARD8 success;
BYTE lengthReason; /*num bytes in string following if failure */
@@ -1055,8 +1064,8 @@ typedef struct _xEvent {
BYTE bpad;
} createNotify;
/*
- * The event feilds in the structures for DestroyNotify, UnmapNotify,
- * MapNotify, ReparentNotify, ConfigureNotify, CirclulateNotify, GravityNotify,
+ * The event fields in the structures for DestroyNotify, UnmapNotify,
+ * MapNotify, ReparentNotify, ConfigureNotify, CirculateNotify, GravityNotify,
* must be at the same offset because server internal code is depending upon
* this to patch up the events before they are delivered.
* Also note that MapRequest, ConfigureRequest and CirculateRequest have
@@ -1118,7 +1127,7 @@ typedef struct _xEvent {
} resizeRequest;
struct {
/* The event field in the circulate record is really the parent when this
- is used as a CirculateRequest insteaad of a CircluateNotify */
+ is used as a CirculateRequest instead of a CirculateNotify */
CARD32 pad00 B32;
Window event B32, window B32, parent B32;
BYTE place; /* Top or Bottom */
@@ -1204,6 +1213,38 @@ typedef struct _xEvent {
} u;
} xEvent;
+/*********************************************************
+ *
+ * Generic event
+ *
+ * Those events are not part of the core protocol spec and can be used by
+ * various extensions.
+ * type is always GenericEvent
+ * extension is the minor opcode of the extension the event belongs to.
+ * evtype is the actual event type, unique __per extension__.
+ *
+ * GenericEvents can be longer than 32 bytes, with the length field
+ * specifying the number of 4 byte blocks after the first 32 bytes.
+ *
+ *
+ */
+typedef struct
+{
+ BYTE type;
+ CARD8 extension;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD16 evtype B16;
+ CARD16 pad2 B16;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ CARD32 pad6 B32;
+ CARD32 pad7 B32;
+} xGenericEvent;
+
+
+
/* KeymapNotify events are not included in the above union because they
are different from all other events: they do not have a "detail"
or "sequenceNumber", so there is room for a 248-bit key mask. */
@@ -1705,7 +1746,7 @@ typedef struct {
CARD32 planeMask B32;
} xGetImageReq;
-/* the folloiwng used by PolyText8 and PolyText16 */
+/* the following used by PolyText8 and PolyText16 */
typedef struct {
CARD8 reqType;