1.2. Data Definitions for libX11

This section defines global identifiers and their values that are associated with interfaces contained in libX11. These definitions are organized into groups that correspond to system headers. This convention is used as a convenience for the reader, and does not imply the existence of these headers, or their content.

These definitions are intended to supplement those provided in the referenced underlying specifications.

This specification uses ISO/IEC 9899 C Language as the reference programming language, and data definitions are specified in ISO C format. The C language is used here as a convenient notation. Using a C language description of these data objects does not preclude their use by other programming languages.

1.2.1. X11/X.h


typedef unsigned long int XID;
typedef unsigned long int Atom;
typedef unsigned long int VisualID;
typedef unsigned long int Time;
typedef XID Window;
typedef XID Font;
typedef XID Pixmap;
typedef unsigned char KeyCode;
typedef XID Drawable;
typedef XID Cursor;
typedef XID Colormap;
typedef XID GContext;
typedef XID KeySym;
#define AllTemporary	0L
#define AnyButton	0L
#define AnyKey	0L
#define AnyPropertyType	0L
#define CopyFromParent	0L
#define CurrentTime	0L
#define NoSymbol	0L
#define None	0L
#define PointerWindow	0L
#define InputFocus	1L
#define ParentRelative	1L
#define PointerRoot	1L

#define KeyPressMask	(1L<<0)
#define KeyReleaseMask	(1L<<1)
#define Button3MotionMask	(1L<<10)
#define Button4MotionMask	(1L<<11)
#define Button5MotionMask	(1L<<12)
#define ButtonMotionMask	(1L<<13)
#define KeymapStateMask	(1L<<14)
#define ExposureMask	(1L<<15)
#define VisibilityChangeMask	(1L<<16)
#define StructureNotifyMask	(1L<<17)
#define ResizeRedirectMask	(1L<<18)
#define SubstructureNotifyMask	(1L<<19)
#define ButtonPressMask	(1L<<2)
#define SubstructureRedirectMask	(1L<<20)
#define FocusChangeMask	(1L<<21)
#define PropertyChangeMask	(1L<<22)
#define ColormapChangeMask	(1L<<23)
#define ButtonReleaseMask	(1L<<3)
#define EnterWindowMask	(1L<<4)
#define LeaveWindowMask	(1L<<5)
#define PointerMotionMask	(1L<<6)
#define PointerMotionHintMask	(1L<<7)
#define Button1MotionMask	(1L<<8)
#define Button2MotionMask	(1L<<9)

#define NoEventMask	0L
#define FocusOut	10
#define KeymapNotify	11
#define Expose	12
#define GraphicsExpose	13
#define NoExpose	14
#define VisibilityNotify	15
#define CreateNotify	16
#define DestroyNotify	17
#define UnmapNotify	18
#define MapNotify	19
#define KeyPress	2
#define MapRequest	20
#define ReparentNotify	21
#define ConfigureNotify	22
#define ConfigureRequest	23
#define GravityNotify	24
#define ResizeRequest	25
#define CirculateNotify	26
#define CirculateRequest	27
#define PropertyNotify	28
#define SelectionClear	29
#define KeyRelease	3
#define SelectionRequest	30
#define SelectionNotify	31
#define ColormapNotify	32
#define ClientMessage	33
#define MappingNotify	34
#define LASTEvent	35
#define ButtonPress	4
#define ButtonRelease	5
#define MotionNotify	6
#define EnterNotify	7
#define LeaveNotify	8
#define FocusIn	9

#define ShiftMask	(1<<0)
#define LockMask	(1<<1)
#define ControlMask	(1<<2)
#define Mod1Mask	(1<<3)
#define Mod2Mask	(1<<4)
#define Mod3Mask	(1<<5)
#define Mod4Mask	(1<<6)
#define Mod5Mask	(1<<7)

#define ShiftMapIndex	0
#define LockMapIndex	1
#define ControlMapIndex	2
#define Mod1MapIndex	3
#define Mod2MapIndex	4
#define Mod3MapIndex	5
#define Mod4MapIndex	6
#define Mod5MapIndex	7

#define Button3Mask	(1<<10)
#define Button4Mask	(1<<11)
#define Button5Mask	(1<<12)
#define AnyModifier	(1<<15)
#define Button1Mask	(1<<8)
#define Button2Mask	(1<<9)

#define Button1	1
#define Button2	2
#define Button3	3
#define Button4	4
#define Button5	5

#define NotifyNormal	0
#define NotifyGrab	1
#define NotifyHint	1
#define NotifyUngrab	2
#define NotifyWhileGrabbed	3

#define NotifyAncestor	0
#define NotifyVirtual	1
#define NotifyInferior	2
#define NotifyNonlinear	3
#define NotifyNonlinearVirtual	4
#define NotifyPointer	5
#define NotifyPointerRoot	6
#define NotifyDetailNone	7

#define VisibilityUnobscured	0
#define VisibilityPartiallyObscured	1
#define VisibilityFullyObscured	2

#define PlaceOnTop	0
#define PlaceOnBottom	1

#define FamilyInternet	0
#define FamilyDECnet	1
#define FamilyChaos	2

#define PropModeReplace	0
#define PropertyNewValue	0
#define PropertyDelete	1

#define ColormapUninstalled	0
#define ColormapInstalled	1

#define GrabModeSync	0
#define GrabModeAsync	1

#define GrabSuccess	0
#define AlreadyGrabbed	1
#define GrabInvalidTime	2
#define GrabNotViewable	3
#define GrabFrozen	4

#define AsyncPointer	0
#define SyncPointer	1
#define ReplayPointer	2
#define AsyncKeyboard	3
#define SyncKeyboard	4
#define ReplayKeyboard	5
#define AsyncBoth	6
#define SyncBoth	7

#define RevertToNone	(int)None
#define RevertToPointerRoot	(int)PointerRoot
#define RevertToParent	2

#define Success	0
#define BadRequest	1
#define BadAccess	10
#define BadAlloc	11
#define BadColor	12
#define FirstExtensionError	128
#define BadGC	13
#define BadIDChoice	14
#define BadName	15
#define BadLength	16
#define BadImplementation	17
#define BadValue	2
#define LastExtensionError	255
#define BadWindow	3
#define BadPixmap	4
#define BadAtom	5
#define BadCursor	6
#define BadFont	7
#define BadMatch	8
#define BadDrawable	9

#define CWX	(1<<0)
#define InputOutput	1
#define InputOnly	2

#define CWBackPixmap	(1L<<0)
#define CWBackPixel	(1L<<1)
#define CWSaveUnder	(1L<<10)
#define CWEventMask	(1L<<11)
#define CWDontPropagate	(1L<<12)
#define CWColormap	(1L<<13)
#define CWCursor	(1L<<14)
#define CWBorderPixmap	(1L<<2)
#define CWBorderPixel	(1L<<3)
#define CWBitGravity	(1L<<4)
#define CWWinGravity	(1L<<5)
#define CWBackingStore	(1L<<6)
#define CWBackingPlanes	(1L<<7)
#define CWBackingPixel	(1L<<8)
#define CWOverrideRedirect	(1L<<9)

#define CWY	(1<<1)
#define CWWidth	(1<<2)
#define CWHeight	(1<<3)
#define CWBorderWidth	(1<<4)
#define CWSibling	(1<<5)
#define CWStackMode	(1<<6)

#define ForgetGravity	0
#define UnmapGravity	0
#define NorthWestGravity	1
#define StaticGravity	10
#define NorthGravity	2
#define NorthEastGravity	3
#define WestGravity	4
#define CenterGravity	5
#define EastGravity	6
#define SouthWestGravity	7
#define SouthGravity	8
#define SouthEastGravity	9

#define NotUseful	0
#define WhenMapped	1
#define Always	2

#define IsUnmapped	0
#define IsUnviewable	1
#define IsViewable	2

#define SetModeInsert	0
#define SetModeDelete	1

#define DestroyAll	0
#define RetainPermanent	1
#define RetainTemporary	2

#define Above	0
#define Below	1
#define TopIf	2
#define BottomIf	3

#define RaiseLowest	0
#define LowerHighest	1

#define PropModePrepend	1
#define PropModeAppend	2

#define GXclear	0x0
#define GXand	0x1
#define GXandReverse	0x2
#define GXcopy	0x3
#define GXandInverted	0x4
#define GXnoop	0x5
#define GXxor	0x6
#define GXor	0x7
#define GXnor	0x8
#define GXequiv	0x9
#define GXinvert	0xa
#define GXorReverse	0xb
#define GXcopyInverted	0xc
#define GXorInverted	0xd
#define GXnand	0xe
#define GXset	0xf

#define LineSolid	0
#define LineOnOffDash	1
#define LineDoubleDash	2

#define CapNotLast	0
#define CapButt	1
#define CapRound	2
#define CapProjecting	3

#define JoinMiter	0
#define JoinRound	1
#define JoinBevel	2

#define FillSolid	0
#define FillTiled	1
#define FillStippled	2
#define FillOpaqueStippled	3

#define EvenOddRule	0
#define WindingRule	1

#define ClipByChildren	0
#define IncludeInferiors	1

#define Unsorted	0
#define XYBitmap	0
#define YSorted	1
#define YXSorted	2
#define YXBanded	3

#define CoordModeOrigin	0
#define CoordModePrevious	1

#define Complex	0
#define Nonconvex	1
#define Convex	2

#define ArcChord	0
#define ArcPieSlice	1

#define GCFunction	(1L<<0)
#define GCPlaneMask	(1L<<1)
#define GCTile	(1L<<10)
#define GCStipple	(1L<<11)
#define GCTileStipXOrigin	(1L<<12)
#define GCTileStipYOrigin	(1L<<13)
#define GCFont	(1L<<14)
#define GCSubwindowMode	(1L<<15)
#define GCGraphicsExposures	(1L<<16)
#define GCClipXOrigin	(1L<<17)
#define GCClipYOrigin	(1L<<18)
#define GCClipMask	(1L<<19)
#define GCForeground	(1L<<2)
#define GCDashOffset	(1L<<20)
#define GCDashList	(1L<<21)
#define GCArcMode	(1L<<22)
#define GCBackground	(1L<<3)
#define GCLineWidth	(1L<<4)
#define GCLineStyle	(1L<<5)
#define GCCapStyle	(1L<<6)
#define GCJoinStyle	(1L<<7)
#define GCFillStyle	(1L<<8)
#define GCFillRule	(1L<<9)
#define GCLastBit	22
#define FontChange	255

#define FontLeftToRight	0
#define FontRightToLeft	1

#define XYPixmap	1
#define ZPixmap	2

#define AllocNone	0
#define AllocAll	1

#define DoRed	(1<<0)
#define DoGreen	(1<<1)
#define DoBlue	(1<<2)

#define CursorShape	0
#define TileShape	1
#define StippleShape	2

#define AutoRepeatModeOff	0
#define LedModeOff	0
#define AutoRepeatModeOn	1
#define LedModeOn	1
#define AutoRepeatModeDefault	2

#define KBKeyClickPercent	(1L<<0)
#define KBBellPercent	(1L<<1)
#define KBBellPitch	(1L<<2)
#define KBBellDuration	(1L<<3)
#define KBLed	(1L<<4)
#define KBLedMode	(1L<<5)
#define KBKey	(1L<<6)
#define KBAutoRepeatMode	(1L<<7)
#define MappingModifier	0
#define MappingSuccess	0
#define MappingBusy	1
#define MappingKeyboard	1
#define MappingFailed	2
#define MappingPointer	2

#define DisableScreenInterval	0
#define DisableScreenSaver	0
#define DontAllowExposures	0
#define DontPreferBlanking	0
#define AllowExposures	1
#define PreferBlanking	1
#define DefaultBlanking	2
#define DefaultExposures	2

#define ScreenSaverReset	0
#define ScreenSaverActive	1

#define HostInsert	0
#define HostDelete	1

#define DisableAccess	0
#define EnableAccess	1

#define StaticGray	0
#define GrayScale	1
#define StaticColor	2
#define PseudoColor	3
#define TrueColor	4
#define DirectColor	5

#define LSBFirst	0
#define MSBFirst	1

1.2.2. X11/Xauth.h


typedef struct xauth
{
  unsigned short family;
  unsigned short address_length;
  char *address;
  unsigned short number_length;
  char *number;
  unsigned short name_length;
  char *name;
  unsigned short data_length;
  char *data;
}
Xauth;

1.2.3. X11/Xcms.h


typedef struct _XcmsFunctionSet
{
  XcmsColorSpace **DDColorSpaces;
  XcmsScreenInitProc screenInitProc;
  XcmsScreenFreeProc screenFreeProc;
}
XcmsFunctionSet;

typedef unsigned long int XcmsColorFormat;
typedef double XcmsFloat;
typedef struct
{
  unsigned short red;
  unsigned short green;
  unsigned short blue;
}
XcmsRGB;
typedef struct
{
  XcmsFloat red;
  XcmsFloat green;
  XcmsFloat blue;
}
XcmsRGBi;
typedef struct
{
  XcmsFloat X;
  XcmsFloat Y;
  XcmsFloat Z;
}
XcmsCIEXYZ;
typedef struct
{
  XcmsFloat u_prime;
  XcmsFloat v_prime;
  XcmsFloat Y;
}
XcmsCIEuvY;
typedef struct
{
  XcmsFloat x;
  XcmsFloat y;
  XcmsFloat Y;
}
XcmsCIExyY;
typedef struct
{
  XcmsFloat L_star;
  XcmsFloat a_star;
  XcmsFloat b_star;
}
XcmsCIELab;
typedef struct
{
  XcmsFloat L_star;
  XcmsFloat u_star;
  XcmsFloat v_star;
}
XcmsCIELuv;
typedef struct
{
  XcmsFloat H;
  XcmsFloat V;
  XcmsFloat C;
}
XcmsTekHVC;
typedef struct
{
  XcmsFloat pad0;
  XcmsFloat pad1;
  XcmsFloat pad2;
  XcmsFloat pad3;
}
XcmsPad;

typedef union
{
  XcmsRGB RGB;
  XcmsRGBi RGBi;
  XcmsCIEXYZ CIEXYZ;
  XcmsCIEuvY CIEuvY;
  XcmsCIExyY CIExyY;
  XcmsCIELab CIELab;
  XcmsCIELuv CIELuv;
  XcmsTekHVC TekHVC;
  XcmsPad Pad;
}
XcmsColor;

typedef struct _XcmsPerScrnInfo
{
  XcmsColor screenWhitePt;
  XPointer functionSet;
  XPointer screenData;
  unsigned char state;
  char pad[1];
}
XcmsPerScrnInfo;

typedef int (*XcmsCompressionProc) (void);
typedef int (*XcmsWhiteAdjustProc) (void);
typedef int (*XcmsScreenInitProc) (void);
typedef void (*XcmsScreenFreeProc) (void);
typedef int (*XcmsConversionProc) (void);
typedef int (*XcmsParseStringProc) (void);

typedef struct _XcmsCCC
{
  Display *dpy;
  int screenNumber;
  Visual *visual;
  XcmsColor clientWhitePt;
  XcmsCompressionProc gamutCompProc;
  XPointer gamutCompClientData;
  XcmsWhiteAdjustProc whitePtAdjProc;
  XPointer whitePtAdjClientData;
  XcmsPerScrnInfo *pPerScrnInfo;
}
 *XcmsCCC;

typedef XcmsConversionProc *XcmsFuncListPtr;

typedef struct _XcmsColorSpace
{
  char *prefix;
  XcmsColorFormat id;
  XcmsParseStringProc parseString;
  XcmsFuncListPtr to_CIEXYZ;
  XcmsFuncListPtr from_CIEXYZ;
  int inverse_flag;
}
XcmsColorSpace;

1.2.4. X11/Xlib.h


struct _XDisplay;
typedef struct XColor;
typedef void *XVaNestedList;
typedef int (*XErrorHandler) (void);
typedef int (*XIOErrorHandler) (void);
typedef void (*XConnectionWatchProc) (void);

typedef char *XPointer;

typedef struct _XExtData
{
  int number;
  struct _XExtData *next;
  int (*free_private) (struct _XExtData * extension);
  XPointer private_data;
}
XExtData;
typedef struct XExtCodes;

typedef struct XPixmapFormatValues;

typedef struct XGCValues;

typedef struct _XGC *GC;

typedef struct Visual;

typedef struct Depth;

typedef struct Screen;

typedef struct ScreenFormat;

typedef struct XSetWindowAttributes;
typedef struct XWindowAttributes;

typedef struct XHostAddress;

typedef struct _XImage
{
  int width;
  int height;
  int xoffset;
  int format;
  char *data;
  int byte_order;
  int bitmap_unit;
  int bitmap_bit_order;
  int bitmap_pad;
  int depth;
  int bytes_per_line;
  int bits_per_pixel;
  unsigned long int red_mask;
  unsigned long int green_mask;
  unsigned long int blue_mask;
  XPointer obdata;
  struct funcs f;
}
XImage;

typedef struct XWindowChanges;

typedef struct XSegment;
typedef struct XPoint;
typedef struct XRectangle;
typedef struct XArc;

typedef struct XKeyboardControl;

typedef struct XKeyboardState;

typedef struct XTimeCoord;

typedef struct XModifierKeymap;

typedef struct _XDisplay Display;

typedef struct XKeyEvent;
typedef XKeyEvent XKeyPressedEvent;
typedef XKeyEvent XKeyReleasedEvent;
typedef struct XButtonEvent;
typedef XButtonEvent XButtonPressedEvent;
typedef XButtonEvent XButtonReleasedEvent;
typedef struct XMotionEvent;
typedef XMotionEvent XPointerMovedEvent;
typedef struct XCrossingEvent;
typedef XCrossingEvent XEnterWindowEvent;
typedef XCrossingEvent XLeaveWindowEvent;
typedef struct XFocusChangeEvent;
typedef XFocusChangeEvent XFocusInEvent;
typedef XFocusChangeEvent XFocusOutEvent;
typedef struct XKeymapEvent;
typedef struct XExposeEvent;
typedef struct XGraphicsExposeEvent;
typedef struct XNoExposeEvent;
typedef struct XVisibilityEvent;
typedef struct XCreateWindowEvent;
typedef struct XDestroyWindowEvent;
typedef struct XUnmapEvent;
typedef struct XMapEvent;
typedef struct XMapRequestEvent;
typedef struct XReparentEvent;
typedef struct XConfigureEvent;
typedef struct XGravityEvent;
typedef struct XResizeRequestEvent;
typedef struct XConfigureRequestEvent;
typedef struct XCirculateEvent;
typedef struct XCirculateRequestEvent;
typedef struct XPropertyEvent;
typedef struct XSelectionClearEvent;
typedef struct XSelectionRequestEvent;
typedef struct XSelectionEvent;
typedef struct XColormapEvent;
typedef union XClientMessageEvent;
typedef struct XMappingEvent;
typedef struct XErrorEvent;
typedef struct XAnyEvent;

typedef union _XEvent
{
  int type;
  XAnyEvent xany;
  XKeyEvent xkey;
  XButtonEvent xbutton;
  XMotionEvent xmotion;
  XCrossingEvent xcrossing;
  XFocusChangeEvent xfocus;
  XExposeEvent xexpose;
  XGraphicsExposeEvent xgraphicsexpose;
  XNoExposeEvent xnoexpose;
  XVisibilityEvent xvisibility;
  XCreateWindowEvent xcreatewindow;
  XDestroyWindowEvent xdestroywindow;
  XUnmapEvent xunmap;
  XMapEvent xmap;
  XMapRequestEvent xmaprequest;
  XReparentEvent xreparent;
  XConfigureEvent xconfigure;
  XGravityEvent xgravity;
  XResizeRequestEvent xresizerequest;
  XConfigureRequestEvent xconfigurerequest;
  XCirculateEvent xcirculate;
  XCirculateRequestEvent xcirculaterequest;
  XPropertyEvent xproperty;
  XSelectionClearEvent xselectionclear;
  XSelectionRequestEvent xselectionrequest;
  XSelectionEvent xselection;
  XColormapEvent xcolormap;
  XClientMessageEvent xclient;
  XMappingEvent xmapping;
  XErrorEvent xerror;
  XKeymapEvent xkeymap;
  long int pad[1];
}
XEvent;

typedef struct XCharStruct;

typedef struct XFontProp;
typedef struct XFontStruct;
typedef struct XFontSetExtents;

typedef struct XTextItem;
typedef struct XChar2b;
typedef struct XTextItem16;

typedef union XEDataObject;

typedef struct _XOM *XOM;
typedef struct _XOC *XOC;
typedef struct _XOC *XFontSet;

typedef struct XmbTextItem;
typedef struct XwcTextItem;

typedef struct _XIM *XIM;
typedef struct _XIC *XIC;
typedef void (*XIDProc) (void);

1.2.5. X11/Xutil.h


typedef struct XSizeHints;
typedef struct XWMHints;
typedef struct XTextProperty;
typedef struct XIconSize;
typedef struct XClassHint;
typedef struct _XComposeStatus
{
  XPointer compose_ptr;
  int chars_matched;
}
XComposeStatus;
typedef struct _XRegion *Region;
typedef struct XVisualInfo;
typedef struct XStandardColormap;
typedef int XContext;
typedef enum XICCEncodingStyle;