/*12Copyright 1985, 1986, 1987, 1991, 1998 The Open Group34Permission to use, copy, modify, distribute, and sell this software and its5documentation for any purpose is hereby granted without fee, provided that6the above copyright notice appear in all copies and that both that7copyright notice and this permission notice appear in supporting8documentation.910The above copyright notice and this permission notice shall be included in11all copies or substantial portions of the Software.1213THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR14IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,15FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE16OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN17AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN18CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.1920Except as contained in this notice, the name of The Open Group shall not be21used in advertising or otherwise to promote the sale, use or other dealings22in this Software without prior written authorization from The Open Group.2324*/252627/*28* Xlib.h - Header definition and support file for the C subroutine29* interface library (Xlib) to the X Window System Protocol (V11).30* Structures and symbols starting with "_" are private to the library.31*/32#ifndef _XLIB_H_33#define _XLIB_H_3435#define XlibSpecificationRelease 63637#include <sys/types.h>3839#if defined(__SCO__) || defined(__UNIXWARE__)40#include <stdint.h>41#endif4243#include <X11/X.h>4445/* applications should not depend on these two headers being included! */46#include <X11/Xfuncproto.h>47#include <X11/Xosdefs.h>4849#ifndef X_WCHAR50#include <stddef.h>51#else52#ifdef __UNIXOS2__53#include <stdlib.h>54#else55/* replace this with #include or typedef appropriate for your system */56typedef unsigned long wchar_t;57#endif58#endif5960#if defined(ISC) && defined(USE_XMBTOWC)61#define wctomb(a,b) _Xwctomb(a,b)62#define mblen(a,b) _Xmblen(a,b)63#ifndef USE_XWCHAR_STRING64#define mbtowc(a,b,c) _Xmbtowc(a,b,c)65#endif66#endif6768extern int69_Xmblen(70#ifdef ISC71char const *str,72size_t len73#else74char *str,75int len76#endif77);7879/* API mentioning "UTF8" or "utf8" is an XFree86 extension, introduced in80November 2000. Its presence is indicated through the following macro. */81#define X_HAVE_UTF8_STRING 18283typedef char *XPointer;8485#define Bool int86#define Status int87#define True 188#define False 08990#define QueuedAlready 091#define QueuedAfterReading 192#define QueuedAfterFlush 29394#define ConnectionNumber(dpy) (((_XPrivDisplay)dpy)->fd)95#define RootWindow(dpy, scr) (ScreenOfDisplay(dpy,scr)->root)96#define DefaultScreen(dpy) (((_XPrivDisplay)dpy)->default_screen)97#define DefaultRootWindow(dpy) (ScreenOfDisplay(dpy,DefaultScreen(dpy))->root)98#define DefaultVisual(dpy, scr) (ScreenOfDisplay(dpy,scr)->root_visual)99#define DefaultGC(dpy, scr) (ScreenOfDisplay(dpy,scr)->default_gc)100#define BlackPixel(dpy, scr) (ScreenOfDisplay(dpy,scr)->black_pixel)101#define WhitePixel(dpy, scr) (ScreenOfDisplay(dpy,scr)->white_pixel)102#define AllPlanes ((unsigned long)~0L)103#define QLength(dpy) (((_XPrivDisplay)dpy)->qlen)104#define DisplayWidth(dpy, scr) (ScreenOfDisplay(dpy,scr)->width)105#define DisplayHeight(dpy, scr) (ScreenOfDisplay(dpy,scr)->height)106#define DisplayWidthMM(dpy, scr)(ScreenOfDisplay(dpy,scr)->mwidth)107#define DisplayHeightMM(dpy, scr)(ScreenOfDisplay(dpy,scr)->mheight)108#define DisplayPlanes(dpy, scr) (ScreenOfDisplay(dpy,scr)->root_depth)109#define DisplayCells(dpy, scr) (DefaultVisual(dpy,scr)->map_entries)110#define ScreenCount(dpy) (((_XPrivDisplay)dpy)->nscreens)111#define ServerVendor(dpy) (((_XPrivDisplay)dpy)->vendor)112#define ProtocolVersion(dpy) (((_XPrivDisplay)dpy)->proto_major_version)113#define ProtocolRevision(dpy) (((_XPrivDisplay)dpy)->proto_minor_version)114#define VendorRelease(dpy) (((_XPrivDisplay)dpy)->release)115#define DisplayString(dpy) (((_XPrivDisplay)dpy)->display_name)116#define DefaultDepth(dpy, scr) (ScreenOfDisplay(dpy,scr)->root_depth)117#define DefaultColormap(dpy, scr)(ScreenOfDisplay(dpy,scr)->cmap)118#define BitmapUnit(dpy) (((_XPrivDisplay)dpy)->bitmap_unit)119#define BitmapBitOrder(dpy) (((_XPrivDisplay)dpy)->bitmap_bit_order)120#define BitmapPad(dpy) (((_XPrivDisplay)dpy)->bitmap_pad)121#define ImageByteOrder(dpy) (((_XPrivDisplay)dpy)->byte_order)122#ifdef CRAY /* unable to get WORD64 without pulling in other symbols */123#define NextRequest(dpy) XNextRequest(dpy)124#else125#define NextRequest(dpy) (((_XPrivDisplay)dpy)->request + 1)126#endif127#define LastKnownRequestProcessed(dpy) (((_XPrivDisplay)dpy)->last_request_read)128129/* macros for screen oriented applications (toolkit) */130#define ScreenOfDisplay(dpy, scr)(&((_XPrivDisplay)dpy)->screens[scr])131#define DefaultScreenOfDisplay(dpy) ScreenOfDisplay(dpy,DefaultScreen(dpy))132#define DisplayOfScreen(s) ((s)->display)133#define RootWindowOfScreen(s) ((s)->root)134#define BlackPixelOfScreen(s) ((s)->black_pixel)135#define WhitePixelOfScreen(s) ((s)->white_pixel)136#define DefaultColormapOfScreen(s)((s)->cmap)137#define DefaultDepthOfScreen(s) ((s)->root_depth)138#define DefaultGCOfScreen(s) ((s)->default_gc)139#define DefaultVisualOfScreen(s)((s)->root_visual)140#define WidthOfScreen(s) ((s)->width)141#define HeightOfScreen(s) ((s)->height)142#define WidthMMOfScreen(s) ((s)->mwidth)143#define HeightMMOfScreen(s) ((s)->mheight)144#define PlanesOfScreen(s) ((s)->root_depth)145#define CellsOfScreen(s) (DefaultVisualOfScreen((s))->map_entries)146#define MinCmapsOfScreen(s) ((s)->min_maps)147#define MaxCmapsOfScreen(s) ((s)->max_maps)148#define DoesSaveUnders(s) ((s)->save_unders)149#define DoesBackingStore(s) ((s)->backing_store)150#define EventMaskOfScreen(s) ((s)->root_input_mask)151152/*153* Extensions need a way to hang private data on some structures.154*/155typedef struct _XExtData {156int number; /* number returned by XRegisterExtension */157struct _XExtData *next; /* next item on list of data for structure */158int (*free_private)( /* called to free private storage */159struct _XExtData *extension160);161XPointer private_data; /* data private to this extension. */162} XExtData;163164/*165* This file contains structures used by the extension mechanism.166*/167typedef struct { /* public to extension, cannot be changed */168int extension; /* extension number */169int major_opcode; /* major op-code assigned by server */170int first_event; /* first event number for the extension */171int first_error; /* first error number for the extension */172} XExtCodes;173174/*175* Data structure for retrieving info about pixmap formats.176*/177178typedef struct {179int depth;180int bits_per_pixel;181int scanline_pad;182} XPixmapFormatValues;183184185/*186* Data structure for setting graphics context.187*/188typedef struct {189int function; /* logical operation */190unsigned long plane_mask;/* plane mask */191unsigned long foreground;/* foreground pixel */192unsigned long background;/* background pixel */193int line_width; /* line width */194int line_style; /* LineSolid, LineOnOffDash, LineDoubleDash */195int cap_style; /* CapNotLast, CapButt,196CapRound, CapProjecting */197int join_style; /* JoinMiter, JoinRound, JoinBevel */198int fill_style; /* FillSolid, FillTiled,199FillStippled, FillOpaeueStippled */200int fill_rule; /* EvenOddRule, WindingRule */201int arc_mode; /* ArcChord, ArcPieSlice */202Pixmap tile; /* tile pixmap for tiling operations */203Pixmap stipple; /* stipple 1 plane pixmap for stipping */204int ts_x_origin; /* offset for tile or stipple operations */205int ts_y_origin;206Font font; /* default text font for text operations */207int subwindow_mode; /* ClipByChildren, IncludeInferiors */208Bool graphics_exposures;/* boolean, should exposures be generated */209int clip_x_origin; /* origin for clipping */210int clip_y_origin;211Pixmap clip_mask; /* bitmap clipping; other calls for rects */212int dash_offset; /* patterned/dashed line information */213char dashes;214} XGCValues;215216/*217* Graphics context. The contents of this structure are implementation218* dependent. A GC should be treated as opaque by application code.219*/220221typedef struct _XGC222#ifdef XLIB_ILLEGAL_ACCESS223{224XExtData *ext_data; /* hook for extension to hang data */225GContext gid; /* protocol ID for graphics context */226/* there is more to this structure, but it is private to Xlib */227}228#endif229*GC;230231/*232* Visual structure; contains information about colormapping possible.233*/234typedef struct {235XExtData *ext_data; /* hook for extension to hang data */236VisualID visualid; /* visual id of this visual */237#if defined(__cplusplus) || defined(c_plusplus)238int c_class; /* C++ class of screen (monochrome, etc.) */239#else240int class; /* class of screen (monochrome, etc.) */241#endif242unsigned long red_mask, green_mask, blue_mask; /* mask values */243int bits_per_rgb; /* log base 2 of distinct color values */244int map_entries; /* color map entries */245} Visual;246247/*248* Depth structure; contains information for each possible depth.249*/250typedef struct {251int depth; /* this depth (Z) of the depth */252int nvisuals; /* number of Visual types at this depth */253Visual *visuals; /* list of visuals possible at this depth */254} Depth;255256/*257* Information about the screen. The contents of this structure are258* implementation dependent. A Screen should be treated as opaque259* by application code.260*/261262struct _XDisplay; /* Forward declare before use for C++ */263264typedef struct {265XExtData *ext_data; /* hook for extension to hang data */266struct _XDisplay *display;/* back pointer to display structure */267Window root; /* Root window id. */268int width, height; /* width and height of screen */269int mwidth, mheight; /* width and height of in millimeters */270int ndepths; /* number of depths possible */271Depth *depths; /* list of allowable depths on the screen */272int root_depth; /* bits per pixel */273Visual *root_visual; /* root visual */274GC default_gc; /* GC for the root root visual */275Colormap cmap; /* default color map */276unsigned long white_pixel;277unsigned long black_pixel; /* White and Black pixel values */278int max_maps, min_maps; /* max and min color maps */279int backing_store; /* Never, WhenMapped, Always */280Bool save_unders;281long root_input_mask; /* initial root input mask */282} Screen;283284/*285* Format structure; describes ZFormat data the screen will understand.286*/287typedef struct {288XExtData *ext_data; /* hook for extension to hang data */289int depth; /* depth of this image format */290int bits_per_pixel; /* bits/pixel at this depth */291int scanline_pad; /* scanline must padded to this multiple */292} ScreenFormat;293294/*295* Data structure for setting window attributes.296*/297typedef struct {298Pixmap background_pixmap; /* background or None or ParentRelative */299unsigned long background_pixel; /* background pixel */300Pixmap border_pixmap; /* border of the window */301unsigned long border_pixel; /* border pixel value */302int bit_gravity; /* one of bit gravity values */303int win_gravity; /* one of the window gravity values */304int backing_store; /* NotUseful, WhenMapped, Always */305unsigned long backing_planes;/* planes to be preseved if possible */306unsigned long backing_pixel;/* value to use in restoring planes */307Bool save_under; /* should bits under be saved? (popups) */308long event_mask; /* set of events that should be saved */309long do_not_propagate_mask; /* set of events that should not propagate */310Bool override_redirect; /* boolean value for override-redirect */311Colormap colormap; /* color map to be associated with window */312Cursor cursor; /* cursor to be displayed (or None) */313} XSetWindowAttributes;314315typedef struct {316int x, y; /* location of window */317int width, height; /* width and height of window */318int border_width; /* border width of window */319int depth; /* depth of window */320Visual *visual; /* the associated visual structure */321Window root; /* root of screen containing window */322#if defined(__cplusplus) || defined(c_plusplus)323int c_class; /* C++ InputOutput, InputOnly*/324#else325int class; /* InputOutput, InputOnly*/326#endif327int bit_gravity; /* one of bit gravity values */328int win_gravity; /* one of the window gravity values */329int backing_store; /* NotUseful, WhenMapped, Always */330unsigned long backing_planes;/* planes to be preserved if possible */331unsigned long backing_pixel;/* value to be used when restoring planes */332Bool save_under; /* boolean, should bits under be saved? */333Colormap colormap; /* color map to be associated with window */334Bool map_installed; /* boolean, is color map currently installed*/335int map_state; /* IsUnmapped, IsUnviewable, IsViewable */336long all_event_masks; /* set of events all people have interest in*/337long your_event_mask; /* my event mask */338long do_not_propagate_mask; /* set of events that should not propagate */339Bool override_redirect; /* boolean value for override-redirect */340Screen *screen; /* back pointer to correct screen */341} XWindowAttributes;342343/*344* Data structure for host setting; getting routines.345*346*/347348typedef struct {349int family; /* for example FamilyInternet */350int length; /* length of address, in bytes */351char *address; /* pointer to where to find the bytes */352} XHostAddress;353354/*355* Data structure for ServerFamilyInterpreted addresses in host routines356*/357typedef struct {358int typelength; /* length of type string, in bytes */359int valuelength; /* length of value string, in bytes */360char *type; /* pointer to where to find the type string */361char *value; /* pointer to where to find the address */362} XServerInterpretedAddress;363364/*365* Data structure for "image" data, used by image manipulation routines.366*/367typedef struct _XImage {368int width, height; /* size of image */369int xoffset; /* number of pixels offset in X direction */370int format; /* XYBitmap, XYPixmap, ZPixmap */371char *data; /* pointer to image data */372int byte_order; /* data byte order, LSBFirst, MSBFirst */373int bitmap_unit; /* quant. of scanline 8, 16, 32 */374int bitmap_bit_order; /* LSBFirst, MSBFirst */375int bitmap_pad; /* 8, 16, 32 either XY or ZPixmap */376int depth; /* depth of image */377int bytes_per_line; /* accelarator to next line */378int bits_per_pixel; /* bits per pixel (ZPixmap) */379unsigned long red_mask; /* bits in z arrangment */380unsigned long green_mask;381unsigned long blue_mask;382XPointer obdata; /* hook for the object routines to hang on */383struct funcs { /* image manipulation routines */384struct _XImage *(*create_image)(385struct _XDisplay* /* display */,386Visual* /* visual */,387unsigned int /* depth */,388int /* format */,389int /* offset */,390char* /* data */,391unsigned int /* width */,392unsigned int /* height */,393int /* bitmap_pad */,394int /* bytes_per_line */);395int (*destroy_image) (struct _XImage *);396unsigned long (*get_pixel) (struct _XImage *, int, int);397int (*put_pixel) (struct _XImage *, int, int, unsigned long);398struct _XImage *(*sub_image)(struct _XImage *, int, int, unsigned int, unsigned int);399int (*add_pixel) (struct _XImage *, long);400} f;401} XImage;402403/*404* Data structure for XReconfigureWindow405*/406typedef struct {407int x, y;408int width, height;409int border_width;410Window sibling;411int stack_mode;412} XWindowChanges;413414/*415* Data structure used by color operations416*/417typedef struct {418unsigned long pixel;419unsigned short red, green, blue;420char flags; /* do_red, do_green, do_blue */421char pad;422} XColor;423424/*425* Data structures for graphics operations. On most machines, these are426* congruent with the wire protocol structures, so reformatting the data427* can be avoided on these architectures.428*/429typedef struct {430short x1, y1, x2, y2;431} XSegment;432433typedef struct {434short x, y;435} XPoint;436437typedef struct {438short x, y;439unsigned short width, height;440} XRectangle;441442typedef struct {443short x, y;444unsigned short width, height;445short angle1, angle2;446} XArc;447448449/* Data structure for XChangeKeyboardControl */450451typedef struct {452int key_click_percent;453int bell_percent;454int bell_pitch;455int bell_duration;456int led;457int led_mode;458int key;459int auto_repeat_mode; /* On, Off, Default */460} XKeyboardControl;461462/* Data structure for XGetKeyboardControl */463464typedef struct {465int key_click_percent;466int bell_percent;467unsigned int bell_pitch, bell_duration;468unsigned long led_mask;469int global_auto_repeat;470char auto_repeats[32];471} XKeyboardState;472473/* Data structure for XGetMotionEvents. */474475typedef struct {476Time time;477short x, y;478} XTimeCoord;479480/* Data structure for X{Set,Get}ModifierMapping */481482typedef struct {483int max_keypermod; /* The server's max # of keys per modifier */484KeyCode *modifiermap; /* An 8 by max_keypermod array of modifiers */485} XModifierKeymap;486487488/*489* Display datatype maintaining display specific data.490* The contents of this structure are implementation dependent.491* A Display should be treated as opaque by application code.492*/493#ifndef XLIB_ILLEGAL_ACCESS494typedef struct _XDisplay Display;495#endif496497struct _XPrivate; /* Forward declare before use for C++ */498struct _XrmHashBucketRec;499500typedef struct501#ifdef XLIB_ILLEGAL_ACCESS502_XDisplay503#endif504{505XExtData *ext_data; /* hook for extension to hang data */506struct _XPrivate *private1;507int fd; /* Network socket. */508int private2;509int proto_major_version;/* major version of server's X protocol */510int proto_minor_version;/* minor version of servers X protocol */511char *vendor; /* vendor of the server hardware */512XID private3;513XID private4;514XID private5;515int private6;516XID (*resource_alloc)( /* allocator function */517struct _XDisplay*518);519int byte_order; /* screen byte order, LSBFirst, MSBFirst */520int bitmap_unit; /* padding and data requirements */521int bitmap_pad; /* padding requirements on bitmaps */522int bitmap_bit_order; /* LeastSignificant or MostSignificant */523int nformats; /* number of pixmap formats in list */524ScreenFormat *pixmap_format; /* pixmap format list */525int private8;526int release; /* release of the server */527struct _XPrivate *private9, *private10;528int qlen; /* Length of input event queue */529unsigned long last_request_read; /* seq number of last event read */530unsigned long request; /* sequence number of last request. */531XPointer private11;532XPointer private12;533XPointer private13;534XPointer private14;535unsigned max_request_size; /* maximum number 32 bit words in request*/536struct _XrmHashBucketRec *db;537int (*private15)(538struct _XDisplay*539);540char *display_name; /* "host:display" string used on this connect*/541int default_screen; /* default screen for operations */542int nscreens; /* number of screens on this server*/543Screen *screens; /* pointer to list of screens */544unsigned long motion_buffer; /* size of motion buffer */545unsigned long private16;546int min_keycode; /* minimum defined keycode */547int max_keycode; /* maximum defined keycode */548XPointer private17;549XPointer private18;550int private19;551char *xdefaults; /* contents of defaults from server */552/* there is more to this structure, but it is private to Xlib */553}554#ifdef XLIB_ILLEGAL_ACCESS555Display,556#endif557*_XPrivDisplay;558559#undef _XEVENT_560#ifndef _XEVENT_561/*562* Definitions of specific events.563*/564typedef struct {565int type; /* of event */566unsigned long serial; /* # of last request processed by server */567Bool send_event; /* true if this came from a SendEvent request */568Display *display; /* Display the event was read from */569Window window; /* "event" window it is reported relative to */570Window root; /* root window that the event occurred on */571Window subwindow; /* child window */572Time time; /* milliseconds */573int x, y; /* pointer x, y coordinates in event window */574int x_root, y_root; /* coordinates relative to root */575unsigned int state; /* key or button mask */576unsigned int keycode; /* detail */577Bool same_screen; /* same screen flag */578} XKeyEvent;579typedef XKeyEvent XKeyPressedEvent;580typedef XKeyEvent XKeyReleasedEvent;581582typedef struct {583int type; /* of event */584unsigned long serial; /* # of last request processed by server */585Bool send_event; /* true if this came from a SendEvent request */586Display *display; /* Display the event was read from */587Window window; /* "event" window it is reported relative to */588Window root; /* root window that the event occurred on */589Window subwindow; /* child window */590Time time; /* milliseconds */591int x, y; /* pointer x, y coordinates in event window */592int x_root, y_root; /* coordinates relative to root */593unsigned int state; /* key or button mask */594unsigned int button; /* detail */595Bool same_screen; /* same screen flag */596} XButtonEvent;597typedef XButtonEvent XButtonPressedEvent;598typedef XButtonEvent XButtonReleasedEvent;599600typedef struct {601int type; /* of event */602unsigned long serial; /* # of last request processed by server */603Bool send_event; /* true if this came from a SendEvent request */604Display *display; /* Display the event was read from */605Window window; /* "event" window reported relative to */606Window root; /* root window that the event occurred on */607Window subwindow; /* child window */608Time time; /* milliseconds */609int x, y; /* pointer x, y coordinates in event window */610int x_root, y_root; /* coordinates relative to root */611unsigned int state; /* key or button mask */612char is_hint; /* detail */613Bool same_screen; /* same screen flag */614} XMotionEvent;615typedef XMotionEvent XPointerMovedEvent;616617typedef struct {618int type; /* of event */619unsigned long serial; /* # of last request processed by server */620Bool send_event; /* true if this came from a SendEvent request */621Display *display; /* Display the event was read from */622Window window; /* "event" window reported relative to */623Window root; /* root window that the event occurred on */624Window subwindow; /* child window */625Time time; /* milliseconds */626int x, y; /* pointer x, y coordinates in event window */627int x_root, y_root; /* coordinates relative to root */628int mode; /* NotifyNormal, NotifyGrab, NotifyUngrab */629int detail;630/*631* NotifyAncestor, NotifyVirtual, NotifyInferior,632* NotifyNonlinear,NotifyNonlinearVirtual633*/634Bool same_screen; /* same screen flag */635Bool focus; /* boolean focus */636unsigned int state; /* key or button mask */637} XCrossingEvent;638typedef XCrossingEvent XEnterWindowEvent;639typedef XCrossingEvent XLeaveWindowEvent;640641typedef struct {642int type; /* FocusIn or FocusOut */643unsigned long serial; /* # of last request processed by server */644Bool send_event; /* true if this came from a SendEvent request */645Display *display; /* Display the event was read from */646Window window; /* window of event */647int mode; /* NotifyNormal, NotifyWhileGrabbed,648NotifyGrab, NotifyUngrab */649int detail;650/*651* NotifyAncestor, NotifyVirtual, NotifyInferior,652* NotifyNonlinear,NotifyNonlinearVirtual, NotifyPointer,653* NotifyPointerRoot, NotifyDetailNone654*/655} XFocusChangeEvent;656typedef XFocusChangeEvent XFocusInEvent;657typedef XFocusChangeEvent XFocusOutEvent;658659/* generated on EnterWindow and FocusIn when KeyMapState selected */660typedef struct {661int type;662unsigned long serial; /* # of last request processed by server */663Bool send_event; /* true if this came from a SendEvent request */664Display *display; /* Display the event was read from */665Window window;666char key_vector[32];667} XKeymapEvent;668669typedef struct {670int type;671unsigned long serial; /* # of last request processed by server */672Bool send_event; /* true if this came from a SendEvent request */673Display *display; /* Display the event was read from */674Window window;675int x, y;676int width, height;677int count; /* if non-zero, at least this many more */678} XExposeEvent;679680typedef struct {681int type;682unsigned long serial; /* # of last request processed by server */683Bool send_event; /* true if this came from a SendEvent request */684Display *display; /* Display the event was read from */685Drawable drawable;686int x, y;687int width, height;688int count; /* if non-zero, at least this many more */689int major_code; /* core is CopyArea or CopyPlane */690int minor_code; /* not defined in the core */691} XGraphicsExposeEvent;692693typedef struct {694int type;695unsigned long serial; /* # of last request processed by server */696Bool send_event; /* true if this came from a SendEvent request */697Display *display; /* Display the event was read from */698Drawable drawable;699int major_code; /* core is CopyArea or CopyPlane */700int minor_code; /* not defined in the core */701} XNoExposeEvent;702703typedef struct {704int type;705unsigned long serial; /* # of last request processed by server */706Bool send_event; /* true if this came from a SendEvent request */707Display *display; /* Display the event was read from */708Window window;709int state; /* Visibility state */710} XVisibilityEvent;711712typedef struct {713int type;714unsigned long serial; /* # of last request processed by server */715Bool send_event; /* true if this came from a SendEvent request */716Display *display; /* Display the event was read from */717Window parent; /* parent of the window */718Window window; /* window id of window created */719int x, y; /* window location */720int width, height; /* size of window */721int border_width; /* border width */722Bool override_redirect; /* creation should be overridden */723} XCreateWindowEvent;724725typedef struct {726int type;727unsigned long serial; /* # of last request processed by server */728Bool send_event; /* true if this came from a SendEvent request */729Display *display; /* Display the event was read from */730Window event;731Window window;732} XDestroyWindowEvent;733734typedef struct {735int type;736unsigned long serial; /* # of last request processed by server */737Bool send_event; /* true if this came from a SendEvent request */738Display *display; /* Display the event was read from */739Window event;740Window window;741Bool from_configure;742} XUnmapEvent;743744typedef struct {745int type;746unsigned long serial; /* # of last request processed by server */747Bool send_event; /* true if this came from a SendEvent request */748Display *display; /* Display the event was read from */749Window event;750Window window;751Bool override_redirect; /* boolean, is override set... */752} XMapEvent;753754typedef struct {755int type;756unsigned long serial; /* # of last request processed by server */757Bool send_event; /* true if this came from a SendEvent request */758Display *display; /* Display the event was read from */759Window parent;760Window window;761} XMapRequestEvent;762763typedef struct {764int type;765unsigned long serial; /* # of last request processed by server */766Bool send_event; /* true if this came from a SendEvent request */767Display *display; /* Display the event was read from */768Window event;769Window window;770Window parent;771int x, y;772Bool override_redirect;773} XReparentEvent;774775typedef struct {776int type;777unsigned long serial; /* # of last request processed by server */778Bool send_event; /* true if this came from a SendEvent request */779Display *display; /* Display the event was read from */780Window event;781Window window;782int x, y;783int width, height;784int border_width;785Window above;786Bool override_redirect;787} XConfigureEvent;788789typedef struct {790int type;791unsigned long serial; /* # of last request processed by server */792Bool send_event; /* true if this came from a SendEvent request */793Display *display; /* Display the event was read from */794Window event;795Window window;796int x, y;797} XGravityEvent;798799typedef struct {800int type;801unsigned long serial; /* # of last request processed by server */802Bool send_event; /* true if this came from a SendEvent request */803Display *display; /* Display the event was read from */804Window window;805int width, height;806} XResizeRequestEvent;807808typedef struct {809int type;810unsigned long serial; /* # of last request processed by server */811Bool send_event; /* true if this came from a SendEvent request */812Display *display; /* Display the event was read from */813Window parent;814Window window;815int x, y;816int width, height;817int border_width;818Window above;819int detail; /* Above, Below, TopIf, BottomIf, Opposite */820unsigned long value_mask;821} XConfigureRequestEvent;822823typedef struct {824int type;825unsigned long serial; /* # of last request processed by server */826Bool send_event; /* true if this came from a SendEvent request */827Display *display; /* Display the event was read from */828Window event;829Window window;830int place; /* PlaceOnTop, PlaceOnBottom */831} XCirculateEvent;832833typedef struct {834int type;835unsigned long serial; /* # of last request processed by server */836Bool send_event; /* true if this came from a SendEvent request */837Display *display; /* Display the event was read from */838Window parent;839Window window;840int place; /* PlaceOnTop, PlaceOnBottom */841} XCirculateRequestEvent;842843typedef struct {844int type;845unsigned long serial; /* # of last request processed by server */846Bool send_event; /* true if this came from a SendEvent request */847Display *display; /* Display the event was read from */848Window window;849Atom atom;850Time time;851int state; /* NewValue, Deleted */852} XPropertyEvent;853854typedef struct {855int type;856unsigned long serial; /* # of last request processed by server */857Bool send_event; /* true if this came from a SendEvent request */858Display *display; /* Display the event was read from */859Window window;860Atom selection;861Time time;862} XSelectionClearEvent;863864typedef struct {865int type;866unsigned long serial; /* # of last request processed by server */867Bool send_event; /* true if this came from a SendEvent request */868Display *display; /* Display the event was read from */869Window owner;870Window requestor;871Atom selection;872Atom target;873Atom property;874Time time;875} XSelectionRequestEvent;876877typedef struct {878int type;879unsigned long serial; /* # of last request processed by server */880Bool send_event; /* true if this came from a SendEvent request */881Display *display; /* Display the event was read from */882Window requestor;883Atom selection;884Atom target;885Atom property; /* ATOM or None */886Time time;887} XSelectionEvent;888889typedef struct {890int type;891unsigned long serial; /* # of last request processed by server */892Bool send_event; /* true if this came from a SendEvent request */893Display *display; /* Display the event was read from */894Window window;895Colormap colormap; /* COLORMAP or None */896#if defined(__cplusplus) || defined(c_plusplus)897Bool c_new; /* C++ */898#else899Bool new;900#endif901int state; /* ColormapInstalled, ColormapUninstalled */902} XColormapEvent;903904typedef struct {905int type;906unsigned long serial; /* # of last request processed by server */907Bool send_event; /* true if this came from a SendEvent request */908Display *display; /* Display the event was read from */909Window window;910Atom message_type;911int format;912union {913char b[20];914short s[10];915long l[5];916} data;917} XClientMessageEvent;918919typedef struct {920int type;921unsigned long serial; /* # of last request processed by server */922Bool send_event; /* true if this came from a SendEvent request */923Display *display; /* Display the event was read from */924Window window; /* unused */925int request; /* one of MappingModifier, MappingKeyboard,926MappingPointer */927int first_keycode; /* first keycode */928int count; /* defines range of change w. first_keycode*/929} XMappingEvent;930931typedef struct {932int type;933Display *display; /* Display the event was read from */934XID resourceid; /* resource id */935unsigned long serial; /* serial number of failed request */936unsigned char error_code; /* error code of failed request */937unsigned char request_code; /* Major op-code of failed request */938unsigned char minor_code; /* Minor op-code of failed request */939} XErrorEvent;940941typedef struct {942int type;943unsigned long serial; /* # of last request processed by server */944Bool send_event; /* true if this came from a SendEvent request */945Display *display;/* Display the event was read from */946Window window; /* window on which event was requested in event mask */947} XAnyEvent;948949950/***************************************************************951*952* GenericEvent. This event is the standard event for all newer extensions.953*/954955typedef struct956{957int type; /* of event. Always GenericEvent */958unsigned long serial; /* # of last request processed */959Bool send_event; /* true if from SendEvent request */960Display *display; /* Display the event was read from */961int extension; /* major opcode of extension that caused the event */962int evtype; /* actual event type. */963} XGenericEvent;964965typedef struct {966int type; /* of event. Always GenericEvent */967unsigned long serial; /* # of last request processed */968Bool send_event; /* true if from SendEvent request */969Display *display; /* Display the event was read from */970int extension; /* major opcode of extension that caused the event */971int evtype; /* actual event type. */972unsigned int cookie;973void *data;974} XGenericEventCookie;975976/*977* this union is defined so Xlib can always use the same sized978* event structure internally, to avoid memory fragmentation.979*/980typedef union _XEvent {981int type; /* must not be changed; first element */982XAnyEvent xany;983XKeyEvent xkey;984XButtonEvent xbutton;985XMotionEvent xmotion;986XCrossingEvent xcrossing;987XFocusChangeEvent xfocus;988XExposeEvent xexpose;989XGraphicsExposeEvent xgraphicsexpose;990XNoExposeEvent xnoexpose;991XVisibilityEvent xvisibility;992XCreateWindowEvent xcreatewindow;993XDestroyWindowEvent xdestroywindow;994XUnmapEvent xunmap;995XMapEvent xmap;996XMapRequestEvent xmaprequest;997XReparentEvent xreparent;998XConfigureEvent xconfigure;999XGravityEvent xgravity;1000XResizeRequestEvent xresizerequest;1001XConfigureRequestEvent xconfigurerequest;1002XCirculateEvent xcirculate;1003XCirculateRequestEvent xcirculaterequest;1004XPropertyEvent xproperty;1005XSelectionClearEvent xselectionclear;1006XSelectionRequestEvent xselectionrequest;1007XSelectionEvent xselection;1008XColormapEvent xcolormap;1009XClientMessageEvent xclient;1010XMappingEvent xmapping;1011XErrorEvent xerror;1012XKeymapEvent xkeymap;1013XGenericEvent xgeneric;1014XGenericEventCookie xcookie;1015long pad[24];1016} XEvent;1017#endif10181019#define XAllocID(dpy) ((*((_XPrivDisplay)dpy)->resource_alloc)((dpy)))10201021/*1022* per character font metric information.1023*/1024typedef struct {1025short lbearing; /* origin to left edge of raster */1026short rbearing; /* origin to right edge of raster */1027short width; /* advance to next char's origin */1028short ascent; /* baseline to top edge of raster */1029short descent; /* baseline to bottom edge of raster */1030unsigned short attributes; /* per char flags (not predefined) */1031} XCharStruct;10321033/*1034* To allow arbitrary information with fonts, there are additional properties1035* returned.1036*/1037typedef struct {1038Atom name;1039unsigned long card32;1040} XFontProp;10411042typedef struct {1043XExtData *ext_data; /* hook for extension to hang data */1044Font fid; /* Font id for this font */1045unsigned direction; /* hint about direction the font is painted */1046unsigned min_char_or_byte2;/* first character */1047unsigned max_char_or_byte2;/* last character */1048unsigned min_byte1; /* first row that exists */1049unsigned max_byte1; /* last row that exists */1050Bool all_chars_exist;/* flag if all characters have non-zero size*/1051unsigned default_char; /* char to print for undefined character */1052int n_properties; /* how many properties there are */1053XFontProp *properties; /* pointer to array of additional properties*/1054XCharStruct min_bounds; /* minimum bounds over all existing char*/1055XCharStruct max_bounds; /* maximum bounds over all existing char*/1056XCharStruct *per_char; /* first_char to last_char information */1057int ascent; /* log. extent above baseline for spacing */1058int descent; /* log. descent below baseline for spacing */1059} XFontStruct;10601061/*1062* PolyText routines take these as arguments.1063*/1064typedef struct {1065char *chars; /* pointer to string */1066int nchars; /* number of characters */1067int delta; /* delta between strings */1068Font font; /* font to print it in, None don't change */1069} XTextItem;10701071typedef struct { /* normal 16 bit characters are two bytes */1072unsigned char byte1;1073unsigned char byte2;1074} XChar2b;10751076typedef struct {1077XChar2b *chars; /* two byte characters */1078int nchars; /* number of characters */1079int delta; /* delta between strings */1080Font font; /* font to print it in, None don't change */1081} XTextItem16;108210831084typedef union { Display *display;1085GC gc;1086Visual *visual;1087Screen *screen;1088ScreenFormat *pixmap_format;1089XFontStruct *font; } XEDataObject;10901091typedef struct {1092XRectangle max_ink_extent;1093XRectangle max_logical_extent;1094} XFontSetExtents;10951096/* unused:1097typedef void (*XOMProc)();1098*/10991100typedef struct _XOM *XOM;1101typedef struct _XOC *XOC, *XFontSet;11021103typedef struct {1104char *chars;1105int nchars;1106int delta;1107XFontSet font_set;1108} XmbTextItem;11091110typedef struct {1111wchar_t *chars;1112int nchars;1113int delta;1114XFontSet font_set;1115} XwcTextItem;11161117#define XNRequiredCharSet "requiredCharSet"1118#define XNQueryOrientation "queryOrientation"1119#define XNBaseFontName "baseFontName"1120#define XNOMAutomatic "omAutomatic"1121#define XNMissingCharSet "missingCharSet"1122#define XNDefaultString "defaultString"1123#define XNOrientation "orientation"1124#define XNDirectionalDependentDrawing "directionalDependentDrawing"1125#define XNContextualDrawing "contextualDrawing"1126#define XNFontInfo "fontInfo"11271128typedef struct {1129int charset_count;1130char **charset_list;1131} XOMCharSetList;11321133typedef enum {1134XOMOrientation_LTR_TTB,1135XOMOrientation_RTL_TTB,1136XOMOrientation_TTB_LTR,1137XOMOrientation_TTB_RTL,1138XOMOrientation_Context1139} XOrientation;11401141typedef struct {1142int num_orientation;1143XOrientation *orientation; /* Input Text description */1144} XOMOrientation;11451146typedef struct {1147int num_font;1148XFontStruct **font_struct_list;1149char **font_name_list;1150} XOMFontInfo;11511152typedef struct _XIM *XIM;1153typedef struct _XIC *XIC;11541155typedef void (*XIMProc)(1156XIM,1157XPointer,1158XPointer1159);11601161typedef Bool (*XICProc)(1162XIC,1163XPointer,1164XPointer1165);11661167typedef void (*XIDProc)(1168Display*,1169XPointer,1170XPointer1171);11721173typedef unsigned long XIMStyle;11741175typedef struct {1176unsigned short count_styles;1177XIMStyle *supported_styles;1178} XIMStyles;11791180#define XIMPreeditArea 0x0001L1181#define XIMPreeditCallbacks 0x0002L1182#define XIMPreeditPosition 0x0004L1183#define XIMPreeditNothing 0x0008L1184#define XIMPreeditNone 0x0010L1185#define XIMStatusArea 0x0100L1186#define XIMStatusCallbacks 0x0200L1187#define XIMStatusNothing 0x0400L1188#define XIMStatusNone 0x0800L11891190#define XNVaNestedList "XNVaNestedList"1191#define XNQueryInputStyle "queryInputStyle"1192#define XNClientWindow "clientWindow"1193#define XNInputStyle "inputStyle"1194#define XNFocusWindow "focusWindow"1195#define XNResourceName "resourceName"1196#define XNResourceClass "resourceClass"1197#define XNGeometryCallback "geometryCallback"1198#define XNDestroyCallback "destroyCallback"1199#define XNFilterEvents "filterEvents"1200#define XNPreeditStartCallback "preeditStartCallback"1201#define XNPreeditDoneCallback "preeditDoneCallback"1202#define XNPreeditDrawCallback "preeditDrawCallback"1203#define XNPreeditCaretCallback "preeditCaretCallback"1204#define XNPreeditStateNotifyCallback "preeditStateNotifyCallback"1205#define XNPreeditAttributes "preeditAttributes"1206#define XNStatusStartCallback "statusStartCallback"1207#define XNStatusDoneCallback "statusDoneCallback"1208#define XNStatusDrawCallback "statusDrawCallback"1209#define XNStatusAttributes "statusAttributes"1210#define XNArea "area"1211#define XNAreaNeeded "areaNeeded"1212#define XNSpotLocation "spotLocation"1213#define XNColormap "colorMap"1214#define XNStdColormap "stdColorMap"1215#define XNForeground "foreground"1216#define XNBackground "background"1217#define XNBackgroundPixmap "backgroundPixmap"1218#define XNFontSet "fontSet"1219#define XNLineSpace "lineSpace"1220#define XNCursor "cursor"12211222#define XNQueryIMValuesList "queryIMValuesList"1223#define XNQueryICValuesList "queryICValuesList"1224#define XNVisiblePosition "visiblePosition"1225#define XNR6PreeditCallback "r6PreeditCallback"1226#define XNStringConversionCallback "stringConversionCallback"1227#define XNStringConversion "stringConversion"1228#define XNResetState "resetState"1229#define XNHotKey "hotKey"1230#define XNHotKeyState "hotKeyState"1231#define XNPreeditState "preeditState"1232#define XNSeparatorofNestedList "separatorofNestedList"12331234#define XBufferOverflow -11235#define XLookupNone 11236#define XLookupChars 21237#define XLookupKeySym 31238#define XLookupBoth 412391240typedef void *XVaNestedList;12411242typedef struct {1243XPointer client_data;1244XIMProc callback;1245} XIMCallback;12461247typedef struct {1248XPointer client_data;1249XICProc callback;1250} XICCallback;12511252typedef unsigned long XIMFeedback;12531254#define XIMReverse 1L1255#define XIMUnderline (1L<<1)1256#define XIMHighlight (1L<<2)1257#define XIMPrimary (1L<<5)1258#define XIMSecondary (1L<<6)1259#define XIMTertiary (1L<<7)1260#define XIMVisibleToForward (1L<<8)1261#define XIMVisibleToBackword (1L<<9)1262#define XIMVisibleToCenter (1L<<10)12631264typedef struct _XIMText {1265unsigned short length;1266XIMFeedback *feedback;1267Bool encoding_is_wchar;1268union {1269char *multi_byte;1270wchar_t *wide_char;1271} string;1272} XIMText;12731274typedef unsigned long XIMPreeditState;12751276#define XIMPreeditUnKnown 0L1277#define XIMPreeditEnable 1L1278#define XIMPreeditDisable (1L<<1)12791280typedef struct _XIMPreeditStateNotifyCallbackStruct {1281XIMPreeditState state;1282} XIMPreeditStateNotifyCallbackStruct;12831284typedef unsigned long XIMResetState;12851286#define XIMInitialState 1L1287#define XIMPreserveState (1L<<1)12881289typedef unsigned long XIMStringConversionFeedback;12901291#define XIMStringConversionLeftEdge (0x00000001)1292#define XIMStringConversionRightEdge (0x00000002)1293#define XIMStringConversionTopEdge (0x00000004)1294#define XIMStringConversionBottomEdge (0x00000008)1295#define XIMStringConversionConcealed (0x00000010)1296#define XIMStringConversionWrapped (0x00000020)12971298typedef struct _XIMStringConversionText {1299unsigned short length;1300XIMStringConversionFeedback *feedback;1301Bool encoding_is_wchar;1302union {1303char *mbs;1304wchar_t *wcs;1305} string;1306} XIMStringConversionText;13071308typedef unsigned short XIMStringConversionPosition;13091310typedef unsigned short XIMStringConversionType;13111312#define XIMStringConversionBuffer (0x0001)1313#define XIMStringConversionLine (0x0002)1314#define XIMStringConversionWord (0x0003)1315#define XIMStringConversionChar (0x0004)13161317typedef unsigned short XIMStringConversionOperation;13181319#define XIMStringConversionSubstitution (0x0001)1320#define XIMStringConversionRetrieval (0x0002)13211322typedef enum {1323XIMForwardChar, XIMBackwardChar,1324XIMForwardWord, XIMBackwardWord,1325XIMCaretUp, XIMCaretDown,1326XIMNextLine, XIMPreviousLine,1327XIMLineStart, XIMLineEnd,1328XIMAbsolutePosition,1329XIMDontChange1330} XIMCaretDirection;13311332typedef struct _XIMStringConversionCallbackStruct {1333XIMStringConversionPosition position;1334XIMCaretDirection direction;1335XIMStringConversionOperation operation;1336unsigned short factor;1337XIMStringConversionText *text;1338} XIMStringConversionCallbackStruct;13391340typedef struct _XIMPreeditDrawCallbackStruct {1341int caret; /* Cursor offset within pre-edit string */1342int chg_first; /* Starting change position */1343int chg_length; /* Length of the change in character count */1344XIMText *text;1345} XIMPreeditDrawCallbackStruct;13461347typedef enum {1348XIMIsInvisible, /* Disable caret feedback */1349XIMIsPrimary, /* UI defined caret feedback */1350XIMIsSecondary /* UI defined caret feedback */1351} XIMCaretStyle;13521353typedef struct _XIMPreeditCaretCallbackStruct {1354int position; /* Caret offset within pre-edit string */1355XIMCaretDirection direction; /* Caret moves direction */1356XIMCaretStyle style; /* Feedback of the caret */1357} XIMPreeditCaretCallbackStruct;13581359typedef enum {1360XIMTextType,1361XIMBitmapType1362} XIMStatusDataType;13631364typedef struct _XIMStatusDrawCallbackStruct {1365XIMStatusDataType type;1366union {1367XIMText *text;1368Pixmap bitmap;1369} data;1370} XIMStatusDrawCallbackStruct;13711372typedef struct _XIMHotKeyTrigger {1373KeySym keysym;1374int modifier;1375int modifier_mask;1376} XIMHotKeyTrigger;13771378typedef struct _XIMHotKeyTriggers {1379int num_hot_key;1380XIMHotKeyTrigger *key;1381} XIMHotKeyTriggers;13821383typedef unsigned long XIMHotKeyState;13841385#define XIMHotKeyStateON (0x0001L)1386#define XIMHotKeyStateOFF (0x0002L)13871388typedef struct {1389unsigned short count_values;1390char **supported_values;1391} XIMValuesList;13921393_XFUNCPROTOBEGIN13941395#if defined(WIN32) && !defined(_XLIBINT_)1396#define _Xdebug (*_Xdebug_p)1397#endif13981399extern int _Xdebug;14001401extern XFontStruct *XLoadQueryFont(1402Display* /* display */,1403_Xconst char* /* name */1404);14051406extern XFontStruct *XQueryFont(1407Display* /* display */,1408XID /* font_ID */1409);141014111412extern XTimeCoord *XGetMotionEvents(1413Display* /* display */,1414Window /* w */,1415Time /* start */,1416Time /* stop */,1417int* /* nevents_return */1418);14191420extern XModifierKeymap *XDeleteModifiermapEntry(1421XModifierKeymap* /* modmap */,1422#if NeedWidePrototypes1423unsigned int /* keycode_entry */,1424#else1425KeyCode /* keycode_entry */,1426#endif1427int /* modifier */1428);14291430extern XModifierKeymap *XGetModifierMapping(1431Display* /* display */1432);14331434extern XModifierKeymap *XInsertModifiermapEntry(1435XModifierKeymap* /* modmap */,1436#if NeedWidePrototypes1437unsigned int /* keycode_entry */,1438#else1439KeyCode /* keycode_entry */,1440#endif1441int /* modifier */1442);14431444extern XModifierKeymap *XNewModifiermap(1445int /* max_keys_per_mod */1446);14471448extern XImage *XCreateImage(1449Display* /* display */,1450Visual* /* visual */,1451unsigned int /* depth */,1452int /* format */,1453int /* offset */,1454char* /* data */,1455unsigned int /* width */,1456unsigned int /* height */,1457int /* bitmap_pad */,1458int /* bytes_per_line */1459);1460extern Status XInitImage(1461XImage* /* image */1462);1463extern XImage *XGetImage(1464Display* /* display */,1465Drawable /* d */,1466int /* x */,1467int /* y */,1468unsigned int /* width */,1469unsigned int /* height */,1470unsigned long /* plane_mask */,1471int /* format */1472);1473extern XImage *XGetSubImage(1474Display* /* display */,1475Drawable /* d */,1476int /* x */,1477int /* y */,1478unsigned int /* width */,1479unsigned int /* height */,1480unsigned long /* plane_mask */,1481int /* format */,1482XImage* /* dest_image */,1483int /* dest_x */,1484int /* dest_y */1485);14861487/*1488* X function declarations.1489*/1490extern Display *XOpenDisplay(1491_Xconst char* /* display_name */1492);14931494extern void XrmInitialize(1495void1496);14971498extern char *XFetchBytes(1499Display* /* display */,1500int* /* nbytes_return */1501);1502extern char *XFetchBuffer(1503Display* /* display */,1504int* /* nbytes_return */,1505int /* buffer */1506);1507extern char *XGetAtomName(1508Display* /* display */,1509Atom /* atom */1510);1511extern Status XGetAtomNames(1512Display* /* dpy */,1513Atom* /* atoms */,1514int /* count */,1515char** /* names_return */1516);1517extern char *XGetDefault(1518Display* /* display */,1519_Xconst char* /* program */,1520_Xconst char* /* option */1521);1522extern char *XDisplayName(1523_Xconst char* /* string */1524);1525extern char *XKeysymToString(1526KeySym /* keysym */1527);15281529extern int (*XSynchronize(1530Display* /* display */,1531Bool /* onoff */1532))(1533Display* /* display */1534);1535extern int (*XSetAfterFunction(1536Display* /* display */,1537int (*) (1538Display* /* display */1539) /* procedure */1540))(1541Display* /* display */1542);1543extern Atom XInternAtom(1544Display* /* display */,1545_Xconst char* /* atom_name */,1546Bool /* only_if_exists */1547);1548extern Status XInternAtoms(1549Display* /* dpy */,1550char** /* names */,1551int /* count */,1552Bool /* onlyIfExists */,1553Atom* /* atoms_return */1554);1555extern Colormap XCopyColormapAndFree(1556Display* /* display */,1557Colormap /* colormap */1558);1559extern Colormap XCreateColormap(1560Display* /* display */,1561Window /* w */,1562Visual* /* visual */,1563int /* alloc */1564);1565extern Cursor XCreatePixmapCursor(1566Display* /* display */,1567Pixmap /* source */,1568Pixmap /* mask */,1569XColor* /* foreground_color */,1570XColor* /* background_color */,1571unsigned int /* x */,1572unsigned int /* y */1573);1574extern Cursor XCreateGlyphCursor(1575Display* /* display */,1576Font /* source_font */,1577Font /* mask_font */,1578unsigned int /* source_char */,1579unsigned int /* mask_char */,1580XColor _Xconst * /* foreground_color */,1581XColor _Xconst * /* background_color */1582);1583extern Cursor XCreateFontCursor(1584Display* /* display */,1585unsigned int /* shape */1586);1587extern Font XLoadFont(1588Display* /* display */,1589_Xconst char* /* name */1590);1591extern GC XCreateGC(1592Display* /* display */,1593Drawable /* d */,1594unsigned long /* valuemask */,1595XGCValues* /* values */1596);1597extern GContext XGContextFromGC(1598GC /* gc */1599);1600extern void XFlushGC(1601Display* /* display */,1602GC /* gc */1603);1604extern Pixmap XCreatePixmap(1605Display* /* display */,1606Drawable /* d */,1607unsigned int /* width */,1608unsigned int /* height */,1609unsigned int /* depth */1610);1611extern Pixmap XCreateBitmapFromData(1612Display* /* display */,1613Drawable /* d */,1614_Xconst char* /* data */,1615unsigned int /* width */,1616unsigned int /* height */1617);1618extern Pixmap XCreatePixmapFromBitmapData(1619Display* /* display */,1620Drawable /* d */,1621char* /* data */,1622unsigned int /* width */,1623unsigned int /* height */,1624unsigned long /* fg */,1625unsigned long /* bg */,1626unsigned int /* depth */1627);1628extern Window XCreateSimpleWindow(1629Display* /* display */,1630Window /* parent */,1631int /* x */,1632int /* y */,1633unsigned int /* width */,1634unsigned int /* height */,1635unsigned int /* border_width */,1636unsigned long /* border */,1637unsigned long /* background */1638);1639extern Window XGetSelectionOwner(1640Display* /* display */,1641Atom /* selection */1642);1643extern Window XCreateWindow(1644Display* /* display */,1645Window /* parent */,1646int /* x */,1647int /* y */,1648unsigned int /* width */,1649unsigned int /* height */,1650unsigned int /* border_width */,1651int /* depth */,1652unsigned int /* class */,1653Visual* /* visual */,1654unsigned long /* valuemask */,1655XSetWindowAttributes* /* attributes */1656);1657extern Colormap *XListInstalledColormaps(1658Display* /* display */,1659Window /* w */,1660int* /* num_return */1661);1662extern char **XListFonts(1663Display* /* display */,1664_Xconst char* /* pattern */,1665int /* maxnames */,1666int* /* actual_count_return */1667);1668extern char **XListFontsWithInfo(1669Display* /* display */,1670_Xconst char* /* pattern */,1671int /* maxnames */,1672int* /* count_return */,1673XFontStruct** /* info_return */1674);1675extern char **XGetFontPath(1676Display* /* display */,1677int* /* npaths_return */1678);1679extern char **XListExtensions(1680Display* /* display */,1681int* /* nextensions_return */1682);1683extern Atom *XListProperties(1684Display* /* display */,1685Window /* w */,1686int* /* num_prop_return */1687);1688extern XHostAddress *XListHosts(1689Display* /* display */,1690int* /* nhosts_return */,1691Bool* /* state_return */1692);1693extern KeySym XKeycodeToKeysym(1694Display* /* display */,1695#if NeedWidePrototypes1696unsigned int /* keycode */,1697#else1698KeyCode /* keycode */,1699#endif1700int /* index */1701);1702extern KeySym XLookupKeysym(1703XKeyEvent* /* key_event */,1704int /* index */1705);1706extern KeySym *XGetKeyboardMapping(1707Display* /* display */,1708#if NeedWidePrototypes1709unsigned int /* first_keycode */,1710#else1711KeyCode /* first_keycode */,1712#endif1713int /* keycode_count */,1714int* /* keysyms_per_keycode_return */1715);1716extern KeySym XStringToKeysym(1717_Xconst char* /* string */1718);1719extern long XMaxRequestSize(1720Display* /* display */1721);1722extern long XExtendedMaxRequestSize(1723Display* /* display */1724);1725extern char *XResourceManagerString(1726Display* /* display */1727);1728extern char *XScreenResourceString(1729Screen* /* screen */1730);1731extern unsigned long XDisplayMotionBufferSize(1732Display* /* display */1733);1734extern VisualID XVisualIDFromVisual(1735Visual* /* visual */1736);17371738/* multithread routines */17391740extern Status XInitThreads(1741void1742);17431744extern void XLockDisplay(1745Display* /* display */1746);17471748extern void XUnlockDisplay(1749Display* /* display */1750);17511752/* routines for dealing with extensions */17531754extern XExtCodes *XInitExtension(1755Display* /* display */,1756_Xconst char* /* name */1757);17581759extern XExtCodes *XAddExtension(1760Display* /* display */1761);1762extern XExtData *XFindOnExtensionList(1763XExtData** /* structure */,1764int /* number */1765);1766extern XExtData **XEHeadOfExtensionList(1767XEDataObject /* object */1768);17691770/* these are routines for which there are also macros */1771extern Window XRootWindow(1772Display* /* display */,1773int /* screen_number */1774);1775extern Window XDefaultRootWindow(1776Display* /* display */1777);1778extern Window XRootWindowOfScreen(1779Screen* /* screen */1780);1781extern Visual *XDefaultVisual(1782Display* /* display */,1783int /* screen_number */1784);1785extern Visual *XDefaultVisualOfScreen(1786Screen* /* screen */1787);1788extern GC XDefaultGC(1789Display* /* display */,1790int /* screen_number */1791);1792extern GC XDefaultGCOfScreen(1793Screen* /* screen */1794);1795extern unsigned long XBlackPixel(1796Display* /* display */,1797int /* screen_number */1798);1799extern unsigned long XWhitePixel(1800Display* /* display */,1801int /* screen_number */1802);1803extern unsigned long XAllPlanes(1804void1805);1806extern unsigned long XBlackPixelOfScreen(1807Screen* /* screen */1808);1809extern unsigned long XWhitePixelOfScreen(1810Screen* /* screen */1811);1812extern unsigned long XNextRequest(1813Display* /* display */1814);1815extern unsigned long XLastKnownRequestProcessed(1816Display* /* display */1817);1818extern char *XServerVendor(1819Display* /* display */1820);1821extern char *XDisplayString(1822Display* /* display */1823);1824extern Colormap XDefaultColormap(1825Display* /* display */,1826int /* screen_number */1827);1828extern Colormap XDefaultColormapOfScreen(1829Screen* /* screen */1830);1831extern Display *XDisplayOfScreen(1832Screen* /* screen */1833);1834extern Screen *XScreenOfDisplay(1835Display* /* display */,1836int /* screen_number */1837);1838extern Screen *XDefaultScreenOfDisplay(1839Display* /* display */1840);1841extern long XEventMaskOfScreen(1842Screen* /* screen */1843);18441845extern int XScreenNumberOfScreen(1846Screen* /* screen */1847);18481849typedef int (*XErrorHandler) ( /* WARNING, this type not in Xlib spec */1850Display* /* display */,1851XErrorEvent* /* error_event */1852);18531854extern XErrorHandler XSetErrorHandler (1855XErrorHandler /* handler */1856);185718581859typedef int (*XIOErrorHandler) ( /* WARNING, this type not in Xlib spec */1860Display* /* display */1861);18621863extern XIOErrorHandler XSetIOErrorHandler (1864XIOErrorHandler /* handler */1865);186618671868extern XPixmapFormatValues *XListPixmapFormats(1869Display* /* display */,1870int* /* count_return */1871);1872extern int *XListDepths(1873Display* /* display */,1874int /* screen_number */,1875int* /* count_return */1876);18771878/* ICCCM routines for things that don't require special include files; */1879/* other declarations are given in Xutil.h */1880extern Status XReconfigureWMWindow(1881Display* /* display */,1882Window /* w */,1883int /* screen_number */,1884unsigned int /* mask */,1885XWindowChanges* /* changes */1886);18871888extern Status XGetWMProtocols(1889Display* /* display */,1890Window /* w */,1891Atom** /* protocols_return */,1892int* /* count_return */1893);1894extern Status XSetWMProtocols(1895Display* /* display */,1896Window /* w */,1897Atom* /* protocols */,1898int /* count */1899);1900extern Status XIconifyWindow(1901Display* /* display */,1902Window /* w */,1903int /* screen_number */1904);1905extern Status XWithdrawWindow(1906Display* /* display */,1907Window /* w */,1908int /* screen_number */1909);1910extern Status XGetCommand(1911Display* /* display */,1912Window /* w */,1913char*** /* argv_return */,1914int* /* argc_return */1915);1916extern Status XGetWMColormapWindows(1917Display* /* display */,1918Window /* w */,1919Window** /* windows_return */,1920int* /* count_return */1921);1922extern Status XSetWMColormapWindows(1923Display* /* display */,1924Window /* w */,1925Window* /* colormap_windows */,1926int /* count */1927);1928extern void XFreeStringList(1929char** /* list */1930);1931extern int XSetTransientForHint(1932Display* /* display */,1933Window /* w */,1934Window /* prop_window */1935);19361937/* The following are given in alphabetical order */19381939extern int XActivateScreenSaver(1940Display* /* display */1941);19421943extern int XAddHost(1944Display* /* display */,1945XHostAddress* /* host */1946);19471948extern int XAddHosts(1949Display* /* display */,1950XHostAddress* /* hosts */,1951int /* num_hosts */1952);19531954extern int XAddToExtensionList(1955struct _XExtData** /* structure */,1956XExtData* /* ext_data */1957);19581959extern int XAddToSaveSet(1960Display* /* display */,1961Window /* w */1962);19631964extern Status XAllocColor(1965Display* /* display */,1966Colormap /* colormap */,1967XColor* /* screen_in_out */1968);19691970extern Status XAllocColorCells(1971Display* /* display */,1972Colormap /* colormap */,1973Bool /* contig */,1974unsigned long* /* plane_masks_return */,1975unsigned int /* nplanes */,1976unsigned long* /* pixels_return */,1977unsigned int /* npixels */1978);19791980extern Status XAllocColorPlanes(1981Display* /* display */,1982Colormap /* colormap */,1983Bool /* contig */,1984unsigned long* /* pixels_return */,1985int /* ncolors */,1986int /* nreds */,1987int /* ngreens */,1988int /* nblues */,1989unsigned long* /* rmask_return */,1990unsigned long* /* gmask_return */,1991unsigned long* /* bmask_return */1992);19931994extern Status XAllocNamedColor(1995Display* /* display */,1996Colormap /* colormap */,1997_Xconst char* /* color_name */,1998XColor* /* screen_def_return */,1999XColor* /* exact_def_return */2000);20012002extern int XAllowEvents(2003Display* /* display */,2004int /* event_mode */,2005Time /* time */2006);20072008extern int XAutoRepeatOff(2009Display* /* display */2010);20112012extern int XAutoRepeatOn(2013Display* /* display */2014);20152016extern int XBell(2017Display* /* display */,2018int /* percent */2019);20202021extern int XBitmapBitOrder(2022Display* /* display */2023);20242025extern int XBitmapPad(2026Display* /* display */2027);20282029extern int XBitmapUnit(2030Display* /* display */2031);20322033extern int XCellsOfScreen(2034Screen* /* screen */2035);20362037extern int XChangeActivePointerGrab(2038Display* /* display */,2039unsigned int /* event_mask */,2040Cursor /* cursor */,2041Time /* time */2042);20432044extern int XChangeGC(2045Display* /* display */,2046GC /* gc */,2047unsigned long /* valuemask */,2048XGCValues* /* values */2049);20502051extern int XChangeKeyboardControl(2052Display* /* display */,2053unsigned long /* value_mask */,2054XKeyboardControl* /* values */2055);20562057extern int XChangeKeyboardMapping(2058Display* /* display */,2059int /* first_keycode */,2060int /* keysyms_per_keycode */,2061KeySym* /* keysyms */,2062int /* num_codes */2063);20642065extern int XChangePointerControl(2066Display* /* display */,2067Bool /* do_accel */,2068Bool /* do_threshold */,2069int /* accel_numerator */,2070int /* accel_denominator */,2071int /* threshold */2072);20732074extern int XChangeProperty(2075Display* /* display */,2076Window /* w */,2077Atom /* property */,2078Atom /* type */,2079int /* format */,2080int /* mode */,2081_Xconst unsigned char* /* data */,2082int /* nelements */2083);20842085extern int XChangeSaveSet(2086Display* /* display */,2087Window /* w */,2088int /* change_mode */2089);20902091extern int XChangeWindowAttributes(2092Display* /* display */,2093Window /* w */,2094unsigned long /* valuemask */,2095XSetWindowAttributes* /* attributes */2096);20972098extern Bool XCheckIfEvent(2099Display* /* display */,2100XEvent* /* event_return */,2101Bool (*) (2102Display* /* display */,2103XEvent* /* event */,2104XPointer /* arg */2105) /* predicate */,2106XPointer /* arg */2107);21082109extern Bool XCheckMaskEvent(2110Display* /* display */,2111long /* event_mask */,2112XEvent* /* event_return */2113);21142115extern Bool XCheckTypedEvent(2116Display* /* display */,2117int /* event_type */,2118XEvent* /* event_return */2119);21202121extern Bool XCheckTypedWindowEvent(2122Display* /* display */,2123Window /* w */,2124int /* event_type */,2125XEvent* /* event_return */2126);21272128extern Bool XCheckWindowEvent(2129Display* /* display */,2130Window /* w */,2131long /* event_mask */,2132XEvent* /* event_return */2133);21342135extern int XCirculateSubwindows(2136Display* /* display */,2137Window /* w */,2138int /* direction */2139);21402141extern int XCirculateSubwindowsDown(2142Display* /* display */,2143Window /* w */2144);21452146extern int XCirculateSubwindowsUp(2147Display* /* display */,2148Window /* w */2149);21502151extern int XClearArea(2152Display* /* display */,2153Window /* w */,2154int /* x */,2155int /* y */,2156unsigned int /* width */,2157unsigned int /* height */,2158Bool /* exposures */2159);21602161extern int XClearWindow(2162Display* /* display */,2163Window /* w */2164);21652166extern int XCloseDisplay(2167Display* /* display */2168);21692170extern int XConfigureWindow(2171Display* /* display */,2172Window /* w */,2173unsigned int /* value_mask */,2174XWindowChanges* /* values */2175);21762177extern int XConnectionNumber(2178Display* /* display */2179);21802181extern int XConvertSelection(2182Display* /* display */,2183Atom /* selection */,2184Atom /* target */,2185Atom /* property */,2186Window /* requestor */,2187Time /* time */2188);21892190extern int XCopyArea(2191Display* /* display */,2192Drawable /* src */,2193Drawable /* dest */,2194GC /* gc */,2195int /* src_x */,2196int /* src_y */,2197unsigned int /* width */,2198unsigned int /* height */,2199int /* dest_x */,2200int /* dest_y */2201);22022203extern int XCopyGC(2204Display* /* display */,2205GC /* src */,2206unsigned long /* valuemask */,2207GC /* dest */2208);22092210extern int XCopyPlane(2211Display* /* display */,2212Drawable /* src */,2213Drawable /* dest */,2214GC /* gc */,2215int /* src_x */,2216int /* src_y */,2217unsigned int /* width */,2218unsigned int /* height */,2219int /* dest_x */,2220int /* dest_y */,2221unsigned long /* plane */2222);22232224extern int XDefaultDepth(2225Display* /* display */,2226int /* screen_number */2227);22282229extern int XDefaultDepthOfScreen(2230Screen* /* screen */2231);22322233extern int XDefaultScreen(2234Display* /* display */2235);22362237extern int XDefineCursor(2238Display* /* display */,2239Window /* w */,2240Cursor /* cursor */2241);22422243extern int XDeleteProperty(2244Display* /* display */,2245Window /* w */,2246Atom /* property */2247);22482249extern int XDestroyWindow(2250Display* /* display */,2251Window /* w */2252);22532254extern int XDestroySubwindows(2255Display* /* display */,2256Window /* w */2257);22582259extern int XDoesBackingStore(2260Screen* /* screen */2261);22622263extern Bool XDoesSaveUnders(2264Screen* /* screen */2265);22662267extern int XDisableAccessControl(2268Display* /* display */2269);227022712272extern int XDisplayCells(2273Display* /* display */,2274int /* screen_number */2275);22762277extern int XDisplayHeight(2278Display* /* display */,2279int /* screen_number */2280);22812282extern int XDisplayHeightMM(2283Display* /* display */,2284int /* screen_number */2285);22862287extern int XDisplayKeycodes(2288Display* /* display */,2289int* /* min_keycodes_return */,2290int* /* max_keycodes_return */2291);22922293extern int XDisplayPlanes(2294Display* /* display */,2295int /* screen_number */2296);22972298extern int XDisplayWidth(2299Display* /* display */,2300int /* screen_number */2301);23022303extern int XDisplayWidthMM(2304Display* /* display */,2305int /* screen_number */2306);23072308extern int XDrawArc(2309Display* /* display */,2310Drawable /* d */,2311GC /* gc */,2312int /* x */,2313int /* y */,2314unsigned int /* width */,2315unsigned int /* height */,2316int /* angle1 */,2317int /* angle2 */2318);23192320extern int XDrawArcs(2321Display* /* display */,2322Drawable /* d */,2323GC /* gc */,2324XArc* /* arcs */,2325int /* narcs */2326);23272328extern int XDrawImageString(2329Display* /* display */,2330Drawable /* d */,2331GC /* gc */,2332int /* x */,2333int /* y */,2334_Xconst char* /* string */,2335int /* length */2336);23372338extern int XDrawImageString16(2339Display* /* display */,2340Drawable /* d */,2341GC /* gc */,2342int /* x */,2343int /* y */,2344_Xconst XChar2b* /* string */,2345int /* length */2346);23472348extern int XDrawLine(2349Display* /* display */,2350Drawable /* d */,2351GC /* gc */,2352int /* x1 */,2353int /* y1 */,2354int /* x2 */,2355int /* y2 */2356);23572358extern int XDrawLines(2359Display* /* display */,2360Drawable /* d */,2361GC /* gc */,2362XPoint* /* points */,2363int /* npoints */,2364int /* mode */2365);23662367extern int XDrawPoint(2368Display* /* display */,2369Drawable /* d */,2370GC /* gc */,2371int /* x */,2372int /* y */2373);23742375extern int XDrawPoints(2376Display* /* display */,2377Drawable /* d */,2378GC /* gc */,2379XPoint* /* points */,2380int /* npoints */,2381int /* mode */2382);23832384extern int XDrawRectangle(2385Display* /* display */,2386Drawable /* d */,2387GC /* gc */,2388int /* x */,2389int /* y */,2390unsigned int /* width */,2391unsigned int /* height */2392);23932394extern int XDrawRectangles(2395Display* /* display */,2396Drawable /* d */,2397GC /* gc */,2398XRectangle* /* rectangles */,2399int /* nrectangles */2400);24012402extern int XDrawSegments(2403Display* /* display */,2404Drawable /* d */,2405GC /* gc */,2406XSegment* /* segments */,2407int /* nsegments */2408);24092410extern int XDrawString(2411Display* /* display */,2412Drawable /* d */,2413GC /* gc */,2414int /* x */,2415int /* y */,2416_Xconst char* /* string */,2417int /* length */2418);24192420extern int XDrawString16(2421Display* /* display */,2422Drawable /* d */,2423GC /* gc */,2424int /* x */,2425int /* y */,2426_Xconst XChar2b* /* string */,2427int /* length */2428);24292430extern int XDrawText(2431Display* /* display */,2432Drawable /* d */,2433GC /* gc */,2434int /* x */,2435int /* y */,2436XTextItem* /* items */,2437int /* nitems */2438);24392440extern int XDrawText16(2441Display* /* display */,2442Drawable /* d */,2443GC /* gc */,2444int /* x */,2445int /* y */,2446XTextItem16* /* items */,2447int /* nitems */2448);24492450extern int XEnableAccessControl(2451Display* /* display */2452);24532454extern int XEventsQueued(2455Display* /* display */,2456int /* mode */2457);24582459extern Status XFetchName(2460Display* /* display */,2461Window /* w */,2462char** /* window_name_return */2463);24642465extern int XFillArc(2466Display* /* display */,2467Drawable /* d */,2468GC /* gc */,2469int /* x */,2470int /* y */,2471unsigned int /* width */,2472unsigned int /* height */,2473int /* angle1 */,2474int /* angle2 */2475);24762477extern int XFillArcs(2478Display* /* display */,2479Drawable /* d */,2480GC /* gc */,2481XArc* /* arcs */,2482int /* narcs */2483);24842485extern int XFillPolygon(2486Display* /* display */,2487Drawable /* d */,2488GC /* gc */,2489XPoint* /* points */,2490int /* npoints */,2491int /* shape */,2492int /* mode */2493);24942495extern int XFillRectangle(2496Display* /* display */,2497Drawable /* d */,2498GC /* gc */,2499int /* x */,2500int /* y */,2501unsigned int /* width */,2502unsigned int /* height */2503);25042505extern int XFillRectangles(2506Display* /* display */,2507Drawable /* d */,2508GC /* gc */,2509XRectangle* /* rectangles */,2510int /* nrectangles */2511);25122513extern int XFlush(2514Display* /* display */2515);25162517extern int XForceScreenSaver(2518Display* /* display */,2519int /* mode */2520);25212522extern int XFree(2523void* /* data */2524);25252526extern int XFreeColormap(2527Display* /* display */,2528Colormap /* colormap */2529);25302531extern int XFreeColors(2532Display* /* display */,2533Colormap /* colormap */,2534unsigned long* /* pixels */,2535int /* npixels */,2536unsigned long /* planes */2537);25382539extern int XFreeCursor(2540Display* /* display */,2541Cursor /* cursor */2542);25432544extern int XFreeExtensionList(2545char** /* list */2546);25472548extern int XFreeFont(2549Display* /* display */,2550XFontStruct* /* font_struct */2551);25522553extern int XFreeFontInfo(2554char** /* names */,2555XFontStruct* /* free_info */,2556int /* actual_count */2557);25582559extern int XFreeFontNames(2560char** /* list */2561);25622563extern int XFreeFontPath(2564char** /* list */2565);25662567extern int XFreeGC(2568Display* /* display */,2569GC /* gc */2570);25712572extern int XFreeModifiermap(2573XModifierKeymap* /* modmap */2574);25752576extern int XFreePixmap(2577Display* /* display */,2578Pixmap /* pixmap */2579);25802581extern int XGeometry(2582Display* /* display */,2583int /* screen */,2584_Xconst char* /* position */,2585_Xconst char* /* default_position */,2586unsigned int /* bwidth */,2587unsigned int /* fwidth */,2588unsigned int /* fheight */,2589int /* xadder */,2590int /* yadder */,2591int* /* x_return */,2592int* /* y_return */,2593int* /* width_return */,2594int* /* height_return */2595);25962597extern int XGetErrorDatabaseText(2598Display* /* display */,2599_Xconst char* /* name */,2600_Xconst char* /* message */,2601_Xconst char* /* default_string */,2602char* /* buffer_return */,2603int /* length */2604);26052606extern int XGetErrorText(2607Display* /* display */,2608int /* code */,2609char* /* buffer_return */,2610int /* length */2611);26122613extern Bool XGetFontProperty(2614XFontStruct* /* font_struct */,2615Atom /* atom */,2616unsigned long* /* value_return */2617);26182619extern Status XGetGCValues(2620Display* /* display */,2621GC /* gc */,2622unsigned long /* valuemask */,2623XGCValues* /* values_return */2624);26252626extern Status XGetGeometry(2627Display* /* display */,2628Drawable /* d */,2629Window* /* root_return */,2630int* /* x_return */,2631int* /* y_return */,2632unsigned int* /* width_return */,2633unsigned int* /* height_return */,2634unsigned int* /* border_width_return */,2635unsigned int* /* depth_return */2636);26372638extern Status XGetIconName(2639Display* /* display */,2640Window /* w */,2641char** /* icon_name_return */2642);26432644extern int XGetInputFocus(2645Display* /* display */,2646Window* /* focus_return */,2647int* /* revert_to_return */2648);26492650extern int XGetKeyboardControl(2651Display* /* display */,2652XKeyboardState* /* values_return */2653);26542655extern int XGetPointerControl(2656Display* /* display */,2657int* /* accel_numerator_return */,2658int* /* accel_denominator_return */,2659int* /* threshold_return */2660);26612662extern int XGetPointerMapping(2663Display* /* display */,2664unsigned char* /* map_return */,2665int /* nmap */2666);26672668extern int XGetScreenSaver(2669Display* /* display */,2670int* /* timeout_return */,2671int* /* interval_return */,2672int* /* prefer_blanking_return */,2673int* /* allow_exposures_return */2674);26752676extern Status XGetTransientForHint(2677Display* /* display */,2678Window /* w */,2679Window* /* prop_window_return */2680);26812682extern int XGetWindowProperty(2683Display* /* display */,2684Window /* w */,2685Atom /* property */,2686long /* long_offset */,2687long /* long_length */,2688Bool /* delete */,2689Atom /* req_type */,2690Atom* /* actual_type_return */,2691int* /* actual_format_return */,2692unsigned long* /* nitems_return */,2693unsigned long* /* bytes_after_return */,2694unsigned char** /* prop_return */2695);26962697extern Status XGetWindowAttributes(2698Display* /* display */,2699Window /* w */,2700XWindowAttributes* /* window_attributes_return */2701);27022703extern int XGrabButton(2704Display* /* display */,2705unsigned int /* button */,2706unsigned int /* modifiers */,2707Window /* grab_window */,2708Bool /* owner_events */,2709unsigned int /* event_mask */,2710int /* pointer_mode */,2711int /* keyboard_mode */,2712Window /* confine_to */,2713Cursor /* cursor */2714);27152716extern int XGrabKey(2717Display* /* display */,2718int /* keycode */,2719unsigned int /* modifiers */,2720Window /* grab_window */,2721Bool /* owner_events */,2722int /* pointer_mode */,2723int /* keyboard_mode */2724);27252726extern int XGrabKeyboard(2727Display* /* display */,2728Window /* grab_window */,2729Bool /* owner_events */,2730int /* pointer_mode */,2731int /* keyboard_mode */,2732Time /* time */2733);27342735extern int XGrabPointer(2736Display* /* display */,2737Window /* grab_window */,2738Bool /* owner_events */,2739unsigned int /* event_mask */,2740int /* pointer_mode */,2741int /* keyboard_mode */,2742Window /* confine_to */,2743Cursor /* cursor */,2744Time /* time */2745);27462747extern int XGrabServer(2748Display* /* display */2749);27502751extern int XHeightMMOfScreen(2752Screen* /* screen */2753);27542755extern int XHeightOfScreen(2756Screen* /* screen */2757);27582759extern int XIfEvent(2760Display* /* display */,2761XEvent* /* event_return */,2762Bool (*) (2763Display* /* display */,2764XEvent* /* event */,2765XPointer /* arg */2766) /* predicate */,2767XPointer /* arg */2768);27692770extern int XImageByteOrder(2771Display* /* display */2772);27732774extern int XInstallColormap(2775Display* /* display */,2776Colormap /* colormap */2777);27782779extern KeyCode XKeysymToKeycode(2780Display* /* display */,2781KeySym /* keysym */2782);27832784extern int XKillClient(2785Display* /* display */,2786XID /* resource */2787);27882789extern Status XLookupColor(2790Display* /* display */,2791Colormap /* colormap */,2792_Xconst char* /* color_name */,2793XColor* /* exact_def_return */,2794XColor* /* screen_def_return */2795);27962797extern int XLowerWindow(2798Display* /* display */,2799Window /* w */2800);28012802extern int XMapRaised(2803Display* /* display */,2804Window /* w */2805);28062807extern int XMapSubwindows(2808Display* /* display */,2809Window /* w */2810);28112812extern int XMapWindow(2813Display* /* display */,2814Window /* w */2815);28162817extern int XMaskEvent(2818Display* /* display */,2819long /* event_mask */,2820XEvent* /* event_return */2821);28222823extern int XMaxCmapsOfScreen(2824Screen* /* screen */2825);28262827extern int XMinCmapsOfScreen(2828Screen* /* screen */2829);28302831extern int XMoveResizeWindow(2832Display* /* display */,2833Window /* w */,2834int /* x */,2835int /* y */,2836unsigned int /* width */,2837unsigned int /* height */2838);28392840extern int XMoveWindow(2841Display* /* display */,2842Window /* w */,2843int /* x */,2844int /* y */2845);28462847extern int XNextEvent(2848Display* /* display */,2849XEvent* /* event_return */2850);28512852extern int XNoOp(2853Display* /* display */2854);28552856extern Status XParseColor(2857Display* /* display */,2858Colormap /* colormap */,2859_Xconst char* /* spec */,2860XColor* /* exact_def_return */2861);28622863extern int XParseGeometry(2864_Xconst char* /* parsestring */,2865int* /* x_return */,2866int* /* y_return */,2867unsigned int* /* width_return */,2868unsigned int* /* height_return */2869);28702871extern int XPeekEvent(2872Display* /* display */,2873XEvent* /* event_return */2874);28752876extern int XPeekIfEvent(2877Display* /* display */,2878XEvent* /* event_return */,2879Bool (*) (2880Display* /* display */,2881XEvent* /* event */,2882XPointer /* arg */2883) /* predicate */,2884XPointer /* arg */2885);28862887extern int XPending(2888Display* /* display */2889);28902891extern int XPlanesOfScreen(2892Screen* /* screen */2893);28942895extern int XProtocolRevision(2896Display* /* display */2897);28982899extern int XProtocolVersion(2900Display* /* display */2901);290229032904extern int XPutBackEvent(2905Display* /* display */,2906XEvent* /* event */2907);29082909extern int XPutImage(2910Display* /* display */,2911Drawable /* d */,2912GC /* gc */,2913XImage* /* image */,2914int /* src_x */,2915int /* src_y */,2916int /* dest_x */,2917int /* dest_y */,2918unsigned int /* width */,2919unsigned int /* height */2920);29212922extern int XQLength(2923Display* /* display */2924);29252926extern Status XQueryBestCursor(2927Display* /* display */,2928Drawable /* d */,2929unsigned int /* width */,2930unsigned int /* height */,2931unsigned int* /* width_return */,2932unsigned int* /* height_return */2933);29342935extern Status XQueryBestSize(2936Display* /* display */,2937int /* class */,2938Drawable /* which_screen */,2939unsigned int /* width */,2940unsigned int /* height */,2941unsigned int* /* width_return */,2942unsigned int* /* height_return */2943);29442945extern Status XQueryBestStipple(2946Display* /* display */,2947Drawable /* which_screen */,2948unsigned int /* width */,2949unsigned int /* height */,2950unsigned int* /* width_return */,2951unsigned int* /* height_return */2952);29532954extern Status XQueryBestTile(2955Display* /* display */,2956Drawable /* which_screen */,2957unsigned int /* width */,2958unsigned int /* height */,2959unsigned int* /* width_return */,2960unsigned int* /* height_return */2961);29622963extern int XQueryColor(2964Display* /* display */,2965Colormap /* colormap */,2966XColor* /* def_in_out */2967);29682969extern int XQueryColors(2970Display* /* display */,2971Colormap /* colormap */,2972XColor* /* defs_in_out */,2973int /* ncolors */2974);29752976extern Bool XQueryExtension(2977Display* /* display */,2978_Xconst char* /* name */,2979int* /* major_opcode_return */,2980int* /* first_event_return */,2981int* /* first_error_return */2982);29832984extern int XQueryKeymap(2985Display* /* display */,2986char [32] /* keys_return */2987);29882989extern Bool XQueryPointer(2990Display* /* display */,2991Window /* w */,2992Window* /* root_return */,2993Window* /* child_return */,2994int* /* root_x_return */,2995int* /* root_y_return */,2996int* /* win_x_return */,2997int* /* win_y_return */,2998unsigned int* /* mask_return */2999);30003001extern int XQueryTextExtents(3002Display* /* display */,3003XID /* font_ID */,3004_Xconst char* /* string */,3005int /* nchars */,3006int* /* direction_return */,3007int* /* font_ascent_return */,3008int* /* font_descent_return */,3009XCharStruct* /* overall_return */3010);30113012extern int XQueryTextExtents16(3013Display* /* display */,3014XID /* font_ID */,3015_Xconst XChar2b* /* string */,3016int /* nchars */,3017int* /* direction_return */,3018int* /* font_ascent_return */,3019int* /* font_descent_return */,3020XCharStruct* /* overall_return */3021);30223023extern Status XQueryTree(3024Display* /* display */,3025Window /* w */,3026Window* /* root_return */,3027Window* /* parent_return */,3028Window** /* children_return */,3029unsigned int* /* nchildren_return */3030);30313032extern int XRaiseWindow(3033Display* /* display */,3034Window /* w */3035);30363037extern int XReadBitmapFile(3038Display* /* display */,3039Drawable /* d */,3040_Xconst char* /* filename */,3041unsigned int* /* width_return */,3042unsigned int* /* height_return */,3043Pixmap* /* bitmap_return */,3044int* /* x_hot_return */,3045int* /* y_hot_return */3046);30473048extern int XReadBitmapFileData(3049_Xconst char* /* filename */,3050unsigned int* /* width_return */,3051unsigned int* /* height_return */,3052unsigned char** /* data_return */,3053int* /* x_hot_return */,3054int* /* y_hot_return */3055);30563057extern int XRebindKeysym(3058Display* /* display */,3059KeySym /* keysym */,3060KeySym* /* list */,3061int /* mod_count */,3062_Xconst unsigned char* /* string */,3063int /* bytes_string */3064);30653066extern int XRecolorCursor(3067Display* /* display */,3068Cursor /* cursor */,3069XColor* /* foreground_color */,3070XColor* /* background_color */3071);30723073extern int XRefreshKeyboardMapping(3074XMappingEvent* /* event_map */3075);30763077extern int XRemoveFromSaveSet(3078Display* /* display */,3079Window /* w */3080);30813082extern int XRemoveHost(3083Display* /* display */,3084XHostAddress* /* host */3085);30863087extern int XRemoveHosts(3088Display* /* display */,3089XHostAddress* /* hosts */,3090int /* num_hosts */3091);30923093extern int XReparentWindow(3094Display* /* display */,3095Window /* w */,3096Window /* parent */,3097int /* x */,3098int /* y */3099);31003101extern int XResetScreenSaver(3102Display* /* display */3103);31043105extern int XResizeWindow(3106Display* /* display */,3107Window /* w */,3108unsigned int /* width */,3109unsigned int /* height */3110);31113112extern int XRestackWindows(3113Display* /* display */,3114Window* /* windows */,3115int /* nwindows */3116);31173118extern int XRotateBuffers(3119Display* /* display */,3120int /* rotate */3121);31223123extern int XRotateWindowProperties(3124Display* /* display */,3125Window /* w */,3126Atom* /* properties */,3127int /* num_prop */,3128int /* npositions */3129);31303131extern int XScreenCount(3132Display* /* display */3133);31343135extern int XSelectInput(3136Display* /* display */,3137Window /* w */,3138long /* event_mask */3139);31403141extern Status XSendEvent(3142Display* /* display */,3143Window /* w */,3144Bool /* propagate */,3145long /* event_mask */,3146XEvent* /* event_send */3147);31483149extern int XSetAccessControl(3150Display* /* display */,3151int /* mode */3152);31533154extern int XSetArcMode(3155Display* /* display */,3156GC /* gc */,3157int /* arc_mode */3158);31593160extern int XSetBackground(3161Display* /* display */,3162GC /* gc */,3163unsigned long /* background */3164);31653166extern int XSetClipMask(3167Display* /* display */,3168GC /* gc */,3169Pixmap /* pixmap */3170);31713172extern int XSetClipOrigin(3173Display* /* display */,3174GC /* gc */,3175int /* clip_x_origin */,3176int /* clip_y_origin */3177);31783179extern int XSetClipRectangles(3180Display* /* display */,3181GC /* gc */,3182int /* clip_x_origin */,3183int /* clip_y_origin */,3184XRectangle* /* rectangles */,3185int /* n */,3186int /* ordering */3187);31883189extern int XSetCloseDownMode(3190Display* /* display */,3191int /* close_mode */3192);31933194extern int XSetCommand(3195Display* /* display */,3196Window /* w */,3197char** /* argv */,3198int /* argc */3199);32003201extern int XSetDashes(3202Display* /* display */,3203GC /* gc */,3204int /* dash_offset */,3205_Xconst char* /* dash_list */,3206int /* n */3207);32083209extern int XSetFillRule(3210Display* /* display */,3211GC /* gc */,3212int /* fill_rule */3213);32143215extern int XSetFillStyle(3216Display* /* display */,3217GC /* gc */,3218int /* fill_style */3219);32203221extern int XSetFont(3222Display* /* display */,3223GC /* gc */,3224Font /* font */3225);32263227extern int XSetFontPath(3228Display* /* display */,3229char** /* directories */,3230int /* ndirs */3231);32323233extern int XSetForeground(3234Display* /* display */,3235GC /* gc */,3236unsigned long /* foreground */3237);32383239extern int XSetFunction(3240Display* /* display */,3241GC /* gc */,3242int /* function */3243);32443245extern int XSetGraphicsExposures(3246Display* /* display */,3247GC /* gc */,3248Bool /* graphics_exposures */3249);32503251extern int XSetIconName(3252Display* /* display */,3253Window /* w */,3254_Xconst char* /* icon_name */3255);32563257extern int XSetInputFocus(3258Display* /* display */,3259Window /* focus */,3260int /* revert_to */,3261Time /* time */3262);32633264extern int XSetLineAttributes(3265Display* /* display */,3266GC /* gc */,3267unsigned int /* line_width */,3268int /* line_style */,3269int /* cap_style */,3270int /* join_style */3271);32723273extern int XSetModifierMapping(3274Display* /* display */,3275XModifierKeymap* /* modmap */3276);32773278extern int XSetPlaneMask(3279Display* /* display */,3280GC /* gc */,3281unsigned long /* plane_mask */3282);32833284extern int XSetPointerMapping(3285Display* /* display */,3286_Xconst unsigned char* /* map */,3287int /* nmap */3288);32893290extern int XSetScreenSaver(3291Display* /* display */,3292int /* timeout */,3293int /* interval */,3294int /* prefer_blanking */,3295int /* allow_exposures */3296);32973298extern int XSetSelectionOwner(3299Display* /* display */,3300Atom /* selection */,3301Window /* owner */,3302Time /* time */3303);33043305extern int XSetState(3306Display* /* display */,3307GC /* gc */,3308unsigned long /* foreground */,3309unsigned long /* background */,3310int /* function */,3311unsigned long /* plane_mask */3312);33133314extern int XSetStipple(3315Display* /* display */,3316GC /* gc */,3317Pixmap /* stipple */3318);33193320extern int XSetSubwindowMode(3321Display* /* display */,3322GC /* gc */,3323int /* subwindow_mode */3324);33253326extern int XSetTSOrigin(3327Display* /* display */,3328GC /* gc */,3329int /* ts_x_origin */,3330int /* ts_y_origin */3331);33323333extern int XSetTile(3334Display* /* display */,3335GC /* gc */,3336Pixmap /* tile */3337);33383339extern int XSetWindowBackground(3340Display* /* display */,3341Window /* w */,3342unsigned long /* background_pixel */3343);33443345extern int XSetWindowBackgroundPixmap(3346Display* /* display */,3347Window /* w */,3348Pixmap /* background_pixmap */3349);33503351extern int XSetWindowBorder(3352Display* /* display */,3353Window /* w */,3354unsigned long /* border_pixel */3355);33563357extern int XSetWindowBorderPixmap(3358Display* /* display */,3359Window /* w */,3360Pixmap /* border_pixmap */3361);33623363extern int XSetWindowBorderWidth(3364Display* /* display */,3365Window /* w */,3366unsigned int /* width */3367);33683369extern int XSetWindowColormap(3370Display* /* display */,3371Window /* w */,3372Colormap /* colormap */3373);33743375extern int XStoreBuffer(3376Display* /* display */,3377_Xconst char* /* bytes */,3378int /* nbytes */,3379int /* buffer */3380);33813382extern int XStoreBytes(3383Display* /* display */,3384_Xconst char* /* bytes */,3385int /* nbytes */3386);33873388extern int XStoreColor(3389Display* /* display */,3390Colormap /* colormap */,3391XColor* /* color */3392);33933394extern int XStoreColors(3395Display* /* display */,3396Colormap /* colormap */,3397XColor* /* color */,3398int /* ncolors */3399);34003401extern int XStoreName(3402Display* /* display */,3403Window /* w */,3404_Xconst char* /* window_name */3405);34063407extern int XStoreNamedColor(3408Display* /* display */,3409Colormap /* colormap */,3410_Xconst char* /* color */,3411unsigned long /* pixel */,3412int /* flags */3413);34143415extern int XSync(3416Display* /* display */,3417Bool /* discard */3418);34193420extern int XTextExtents(3421XFontStruct* /* font_struct */,3422_Xconst char* /* string */,3423int /* nchars */,3424int* /* direction_return */,3425int* /* font_ascent_return */,3426int* /* font_descent_return */,3427XCharStruct* /* overall_return */3428);34293430extern int XTextExtents16(3431XFontStruct* /* font_struct */,3432_Xconst XChar2b* /* string */,3433int /* nchars */,3434int* /* direction_return */,3435int* /* font_ascent_return */,3436int* /* font_descent_return */,3437XCharStruct* /* overall_return */3438);34393440extern int XTextWidth(3441XFontStruct* /* font_struct */,3442_Xconst char* /* string */,3443int /* count */3444);34453446extern int XTextWidth16(3447XFontStruct* /* font_struct */,3448_Xconst XChar2b* /* string */,3449int /* count */3450);34513452extern Bool XTranslateCoordinates(3453Display* /* display */,3454Window /* src_w */,3455Window /* dest_w */,3456int /* src_x */,3457int /* src_y */,3458int* /* dest_x_return */,3459int* /* dest_y_return */,3460Window* /* child_return */3461);34623463extern int XUndefineCursor(3464Display* /* display */,3465Window /* w */3466);34673468extern int XUngrabButton(3469Display* /* display */,3470unsigned int /* button */,3471unsigned int /* modifiers */,3472Window /* grab_window */3473);34743475extern int XUngrabKey(3476Display* /* display */,3477int /* keycode */,3478unsigned int /* modifiers */,3479Window /* grab_window */3480);34813482extern int XUngrabKeyboard(3483Display* /* display */,3484Time /* time */3485);34863487extern int XUngrabPointer(3488Display* /* display */,3489Time /* time */3490);34913492extern int XUngrabServer(3493Display* /* display */3494);34953496extern int XUninstallColormap(3497Display* /* display */,3498Colormap /* colormap */3499);35003501extern int XUnloadFont(3502Display* /* display */,3503Font /* font */3504);35053506extern int XUnmapSubwindows(3507Display* /* display */,3508Window /* w */3509);35103511extern int XUnmapWindow(3512Display* /* display */,3513Window /* w */3514);35153516extern int XVendorRelease(3517Display* /* display */3518);35193520extern int XWarpPointer(3521Display* /* display */,3522Window /* src_w */,3523Window /* dest_w */,3524int /* src_x */,3525int /* src_y */,3526unsigned int /* src_width */,3527unsigned int /* src_height */,3528int /* dest_x */,3529int /* dest_y */3530);35313532extern int XWidthMMOfScreen(3533Screen* /* screen */3534);35353536extern int XWidthOfScreen(3537Screen* /* screen */3538);35393540extern int XWindowEvent(3541Display* /* display */,3542Window /* w */,3543long /* event_mask */,3544XEvent* /* event_return */3545);35463547extern int XWriteBitmapFile(3548Display* /* display */,3549_Xconst char* /* filename */,3550Pixmap /* bitmap */,3551unsigned int /* width */,3552unsigned int /* height */,3553int /* x_hot */,3554int /* y_hot */3555);35563557extern Bool XSupportsLocale (void);35583559extern char *XSetLocaleModifiers(3560const char* /* modifier_list */3561);35623563extern XOM XOpenOM(3564Display* /* display */,3565struct _XrmHashBucketRec* /* rdb */,3566_Xconst char* /* res_name */,3567_Xconst char* /* res_class */3568);35693570extern Status XCloseOM(3571XOM /* om */3572);35733574extern char *XSetOMValues(3575XOM /* om */,3576...3577) _X_SENTINEL(0);35783579extern char *XGetOMValues(3580XOM /* om */,3581...3582) _X_SENTINEL(0);35833584extern Display *XDisplayOfOM(3585XOM /* om */3586);35873588extern char *XLocaleOfOM(3589XOM /* om */3590);35913592extern XOC XCreateOC(3593XOM /* om */,3594...3595) _X_SENTINEL(0);35963597extern void XDestroyOC(3598XOC /* oc */3599);36003601extern XOM XOMOfOC(3602XOC /* oc */3603);36043605extern char *XSetOCValues(3606XOC /* oc */,3607...3608) _X_SENTINEL(0);36093610extern char *XGetOCValues(3611XOC /* oc */,3612...3613) _X_SENTINEL(0);36143615extern XFontSet XCreateFontSet(3616Display* /* display */,3617_Xconst char* /* base_font_name_list */,3618char*** /* missing_charset_list */,3619int* /* missing_charset_count */,3620char** /* def_string */3621);36223623extern void XFreeFontSet(3624Display* /* display */,3625XFontSet /* font_set */3626);36273628extern int XFontsOfFontSet(3629XFontSet /* font_set */,3630XFontStruct*** /* font_struct_list */,3631char*** /* font_name_list */3632);36333634extern char *XBaseFontNameListOfFontSet(3635XFontSet /* font_set */3636);36373638extern char *XLocaleOfFontSet(3639XFontSet /* font_set */3640);36413642extern Bool XContextDependentDrawing(3643XFontSet /* font_set */3644);36453646extern Bool XDirectionalDependentDrawing(3647XFontSet /* font_set */3648);36493650extern Bool XContextualDrawing(3651XFontSet /* font_set */3652);36533654extern XFontSetExtents *XExtentsOfFontSet(3655XFontSet /* font_set */3656);36573658extern int XmbTextEscapement(3659XFontSet /* font_set */,3660_Xconst char* /* text */,3661int /* bytes_text */3662);36633664extern int XwcTextEscapement(3665XFontSet /* font_set */,3666_Xconst wchar_t* /* text */,3667int /* num_wchars */3668);36693670extern int Xutf8TextEscapement(3671XFontSet /* font_set */,3672_Xconst char* /* text */,3673int /* bytes_text */3674);36753676extern int XmbTextExtents(3677XFontSet /* font_set */,3678_Xconst char* /* text */,3679int /* bytes_text */,3680XRectangle* /* overall_ink_return */,3681XRectangle* /* overall_logical_return */3682);36833684extern int XwcTextExtents(3685XFontSet /* font_set */,3686_Xconst wchar_t* /* text */,3687int /* num_wchars */,3688XRectangle* /* overall_ink_return */,3689XRectangle* /* overall_logical_return */3690);36913692extern int Xutf8TextExtents(3693XFontSet /* font_set */,3694_Xconst char* /* text */,3695int /* bytes_text */,3696XRectangle* /* overall_ink_return */,3697XRectangle* /* overall_logical_return */3698);36993700extern Status XmbTextPerCharExtents(3701XFontSet /* font_set */,3702_Xconst char* /* text */,3703int /* bytes_text */,3704XRectangle* /* ink_extents_buffer */,3705XRectangle* /* logical_extents_buffer */,3706int /* buffer_size */,3707int* /* num_chars */,3708XRectangle* /* overall_ink_return */,3709XRectangle* /* overall_logical_return */3710);37113712extern Status XwcTextPerCharExtents(3713XFontSet /* font_set */,3714_Xconst wchar_t* /* text */,3715int /* num_wchars */,3716XRectangle* /* ink_extents_buffer */,3717XRectangle* /* logical_extents_buffer */,3718int /* buffer_size */,3719int* /* num_chars */,3720XRectangle* /* overall_ink_return */,3721XRectangle* /* overall_logical_return */3722);37233724extern Status Xutf8TextPerCharExtents(3725XFontSet /* font_set */,3726_Xconst char* /* text */,3727int /* bytes_text */,3728XRectangle* /* ink_extents_buffer */,3729XRectangle* /* logical_extents_buffer */,3730int /* buffer_size */,3731int* /* num_chars */,3732XRectangle* /* overall_ink_return */,3733XRectangle* /* overall_logical_return */3734);37353736extern void XmbDrawText(3737Display* /* display */,3738Drawable /* d */,3739GC /* gc */,3740int /* x */,3741int /* y */,3742XmbTextItem* /* text_items */,3743int /* nitems */3744);37453746extern void XwcDrawText(3747Display* /* display */,3748Drawable /* d */,3749GC /* gc */,3750int /* x */,3751int /* y */,3752XwcTextItem* /* text_items */,3753int /* nitems */3754);37553756extern void Xutf8DrawText(3757Display* /* display */,3758Drawable /* d */,3759GC /* gc */,3760int /* x */,3761int /* y */,3762XmbTextItem* /* text_items */,3763int /* nitems */3764);37653766extern void XmbDrawString(3767Display* /* display */,3768Drawable /* d */,3769XFontSet /* font_set */,3770GC /* gc */,3771int /* x */,3772int /* y */,3773_Xconst char* /* text */,3774int /* bytes_text */3775);37763777extern void XwcDrawString(3778Display* /* display */,3779Drawable /* d */,3780XFontSet /* font_set */,3781GC /* gc */,3782int /* x */,3783int /* y */,3784_Xconst wchar_t* /* text */,3785int /* num_wchars */3786);37873788extern void Xutf8DrawString(3789Display* /* display */,3790Drawable /* d */,3791XFontSet /* font_set */,3792GC /* gc */,3793int /* x */,3794int /* y */,3795_Xconst char* /* text */,3796int /* bytes_text */3797);37983799extern void XmbDrawImageString(3800Display* /* display */,3801Drawable /* d */,3802XFontSet /* font_set */,3803GC /* gc */,3804int /* x */,3805int /* y */,3806_Xconst char* /* text */,3807int /* bytes_text */3808);38093810extern void XwcDrawImageString(3811Display* /* display */,3812Drawable /* d */,3813XFontSet /* font_set */,3814GC /* gc */,3815int /* x */,3816int /* y */,3817_Xconst wchar_t* /* text */,3818int /* num_wchars */3819);38203821extern void Xutf8DrawImageString(3822Display* /* display */,3823Drawable /* d */,3824XFontSet /* font_set */,3825GC /* gc */,3826int /* x */,3827int /* y */,3828_Xconst char* /* text */,3829int /* bytes_text */3830);38313832extern XIM XOpenIM(3833Display* /* dpy */,3834struct _XrmHashBucketRec* /* rdb */,3835char* /* res_name */,3836char* /* res_class */3837);38383839extern Status XCloseIM(3840XIM /* im */3841);38423843extern char *XGetIMValues(3844XIM /* im */, ...3845) _X_SENTINEL(0);38463847extern char *XSetIMValues(3848XIM /* im */, ...3849) _X_SENTINEL(0);38503851extern Display *XDisplayOfIM(3852XIM /* im */3853);38543855extern char *XLocaleOfIM(3856XIM /* im*/3857);38583859extern XIC XCreateIC(3860XIM /* im */, ...3861) _X_SENTINEL(0);38623863extern void XDestroyIC(3864XIC /* ic */3865);38663867extern void XSetICFocus(3868XIC /* ic */3869);38703871extern void XUnsetICFocus(3872XIC /* ic */3873);38743875extern wchar_t *XwcResetIC(3876XIC /* ic */3877);38783879extern char *XmbResetIC(3880XIC /* ic */3881);38823883extern char *Xutf8ResetIC(3884XIC /* ic */3885);38863887extern char *XSetICValues(3888XIC /* ic */, ...3889) _X_SENTINEL(0);38903891extern char *XGetICValues(3892XIC /* ic */, ...3893) _X_SENTINEL(0);38943895extern XIM XIMOfIC(3896XIC /* ic */3897);38983899extern Bool XFilterEvent(3900XEvent* /* event */,3901Window /* window */3902);39033904extern int XmbLookupString(3905XIC /* ic */,3906XKeyPressedEvent* /* event */,3907char* /* buffer_return */,3908int /* bytes_buffer */,3909KeySym* /* keysym_return */,3910Status* /* status_return */3911);39123913extern int XwcLookupString(3914XIC /* ic */,3915XKeyPressedEvent* /* event */,3916wchar_t* /* buffer_return */,3917int /* wchars_buffer */,3918KeySym* /* keysym_return */,3919Status* /* status_return */3920);39213922extern int Xutf8LookupString(3923XIC /* ic */,3924XKeyPressedEvent* /* event */,3925char* /* buffer_return */,3926int /* bytes_buffer */,3927KeySym* /* keysym_return */,3928Status* /* status_return */3929);39303931extern XVaNestedList XVaCreateNestedList(3932int /*unused*/, ...3933) _X_SENTINEL(0);39343935/* internal connections for IMs */39363937extern Bool XRegisterIMInstantiateCallback(3938Display* /* dpy */,3939struct _XrmHashBucketRec* /* rdb */,3940char* /* res_name */,3941char* /* res_class */,3942XIDProc /* callback */,3943XPointer /* client_data */3944);39453946extern Bool XUnregisterIMInstantiateCallback(3947Display* /* dpy */,3948struct _XrmHashBucketRec* /* rdb */,3949char* /* res_name */,3950char* /* res_class */,3951XIDProc /* callback */,3952XPointer /* client_data */3953);39543955typedef void (*XConnectionWatchProc)(3956Display* /* dpy */,3957XPointer /* client_data */,3958int /* fd */,3959Bool /* opening */, /* open or close flag */3960XPointer* /* watch_data */ /* open sets, close uses */3961);396239633964extern Status XInternalConnectionNumbers(3965Display* /* dpy */,3966int** /* fd_return */,3967int* /* count_return */3968);39693970extern void XProcessInternalConnection(3971Display* /* dpy */,3972int /* fd */3973);39743975extern Status XAddConnectionWatch(3976Display* /* dpy */,3977XConnectionWatchProc /* callback */,3978XPointer /* client_data */3979);39803981extern void XRemoveConnectionWatch(3982Display* /* dpy */,3983XConnectionWatchProc /* callback */,3984XPointer /* client_data */3985);39863987extern void XSetAuthorization(3988char * /* name */,3989int /* namelen */,3990char * /* data */,3991int /* datalen */3992);39933994extern int _Xmbtowc(3995wchar_t * /* wstr */,3996#ifdef ISC3997char const * /* str */,3998size_t /* len */3999#else4000char * /* str */,4001int /* len */4002#endif4003);40044005extern int _Xwctomb(4006char * /* str */,4007wchar_t /* wc */4008);40094010extern Bool XGetEventData(4011Display* /* dpy */,4012XGenericEventCookie* /* cookie*/4013);40144015extern void XFreeEventData(4016Display* /* dpy */,4017XGenericEventCookie* /* cookie*/4018);40194020_XFUNCPROTOEND40214022#endif /* _XLIB_H_ */402340244025