Xlib.h revision 61b2299d
11ab64890Smrg/* $XdotOrg: lib/X11/include/X11/Xlib.h,v 1.6 2005-11-08 06:33:25 jkj Exp $ */
21ab64890Smrg/* $Xorg: Xlib.h,v 1.6 2001/02/09 02:03:38 xorgcvs Exp $ */
361b2299dSmrg/*
41ab64890Smrg
51ab64890SmrgCopyright 1985, 1986, 1987, 1991, 1998  The Open Group
61ab64890Smrg
71ab64890SmrgPermission to use, copy, modify, distribute, and sell this software and its
81ab64890Smrgdocumentation for any purpose is hereby granted without fee, provided that
91ab64890Smrgthe above copyright notice appear in all copies and that both that
101ab64890Smrgcopyright notice and this permission notice appear in supporting
111ab64890Smrgdocumentation.
121ab64890Smrg
131ab64890SmrgThe above copyright notice and this permission notice shall be included in
141ab64890Smrgall copies or substantial portions of the Software.
151ab64890Smrg
161ab64890SmrgTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
171ab64890SmrgIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
181ab64890SmrgFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
191ab64890SmrgOPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
201ab64890SmrgAN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
211ab64890SmrgCONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
221ab64890Smrg
231ab64890SmrgExcept as contained in this notice, the name of The Open Group shall not be
241ab64890Smrgused in advertising or otherwise to promote the sale, use or other dealings
251ab64890Smrgin this Software without prior written authorization from The Open Group.
261ab64890Smrg
271ab64890Smrg*/
281ab64890Smrg/* $XFree86: xc/lib/X11/Xlib.h,v 3.25 2003/11/17 22:20:10 dawes Exp $ */
291ab64890Smrg
301ab64890Smrg
311ab64890Smrg/*
321ab64890Smrg *	Xlib.h - Header definition and support file for the C subroutine
331ab64890Smrg *	interface library (Xlib) to the X Window System Protocol (V11).
341ab64890Smrg *	Structures and symbols starting with "_" are private to the library.
351ab64890Smrg */
361ab64890Smrg#ifndef _XLIB_H_
371ab64890Smrg#define _XLIB_H_
381ab64890Smrg
391ab64890Smrg#define XlibSpecificationRelease 6
401ab64890Smrg
411ab64890Smrg#ifdef USG
421ab64890Smrg#ifndef __TYPES__
431ab64890Smrg#include <sys/types.h>			/* forgot to protect it... */
441ab64890Smrg#define __TYPES__
451ab64890Smrg#endif /* __TYPES__ */
461ab64890Smrg#else
471ab64890Smrg#if defined(_POSIX_SOURCE) && defined(MOTOROLA)
481ab64890Smrg#undef _POSIX_SOURCE
491ab64890Smrg#include <sys/types.h>
501ab64890Smrg#define _POSIX_SOURCE
511ab64890Smrg#else
521ab64890Smrg#include <sys/types.h>
531ab64890Smrg#endif
541ab64890Smrg#endif /* USG */
551ab64890Smrg
561ab64890Smrg#if defined(__SCO__) || defined(__UNIXWARE__)
571ab64890Smrg#include <stdint.h>
581ab64890Smrg#endif
591ab64890Smrg
601ab64890Smrg#include <X11/X.h>
611ab64890Smrg
621ab64890Smrg/* applications should not depend on these two headers being included! */
631ab64890Smrg#include <X11/Xfuncproto.h>
641ab64890Smrg#include <X11/Xosdefs.h>
651ab64890Smrg
661ab64890Smrg#ifndef X_WCHAR
671ab64890Smrg#ifdef X_NOT_STDC_ENV
681ab64890Smrg#ifndef ISC
691ab64890Smrg#define X_WCHAR
701ab64890Smrg#endif
711ab64890Smrg#endif
721ab64890Smrg#endif
731ab64890Smrg
741ab64890Smrg#ifndef X_WCHAR
751ab64890Smrg#include <stddef.h>
761ab64890Smrg#else
771ab64890Smrg#ifdef __UNIXOS2__
781ab64890Smrg#include <stdlib.h>
791ab64890Smrg#else
801ab64890Smrg/* replace this with #include or typedef appropriate for your system */
811ab64890Smrgtypedef unsigned long wchar_t;
821ab64890Smrg#endif
831ab64890Smrg#endif
841ab64890Smrg
851ab64890Smrg#if defined(ISC) && defined(USE_XMBTOWC)
861ab64890Smrg#define wctomb(a,b)	_Xwctomb(a,b)
8761b2299dSmrg#define mblen(a,b)	_Xmblen(a,b)
881ab64890Smrg#ifndef USE_XWCHAR_STRING
891ab64890Smrg#define mbtowc(a,b,c)	_Xmbtowc(a,b,c)
901ab64890Smrg#endif
911ab64890Smrg#endif
921ab64890Smrg
931ab64890Smrgextern int
941ab64890Smrg_Xmblen(
951ab64890Smrg#ifdef ISC
961ab64890Smrg    char const *str,
971ab64890Smrg    size_t len
981ab64890Smrg#else
991ab64890Smrg    char *str,
1001ab64890Smrg    int len
1011ab64890Smrg#endif
1021ab64890Smrg    );
1031ab64890Smrg
1041ab64890Smrg/* API mentioning "UTF8" or "utf8" is an XFree86 extension, introduced in
1051ab64890Smrg   November 2000. Its presence is indicated through the following macro. */
1061ab64890Smrg#define X_HAVE_UTF8_STRING 1
1071ab64890Smrg
1081ab64890Smrgtypedef char *XPointer;
1091ab64890Smrg
1101ab64890Smrg#define Bool int
1111ab64890Smrg#define Status int
1121ab64890Smrg#define True 1
1131ab64890Smrg#define False 0
1141ab64890Smrg
1151ab64890Smrg#define QueuedAlready 0
1161ab64890Smrg#define QueuedAfterReading 1
1171ab64890Smrg#define QueuedAfterFlush 2
1181ab64890Smrg
1191ab64890Smrg#define ConnectionNumber(dpy) 	(((_XPrivDisplay)dpy)->fd)
1201ab64890Smrg#define RootWindow(dpy, scr) 	(ScreenOfDisplay(dpy,scr)->root)
1211ab64890Smrg#define DefaultScreen(dpy) 	(((_XPrivDisplay)dpy)->default_screen)
1221ab64890Smrg#define DefaultRootWindow(dpy) 	(ScreenOfDisplay(dpy,DefaultScreen(dpy))->root)
1231ab64890Smrg#define DefaultVisual(dpy, scr) (ScreenOfDisplay(dpy,scr)->root_visual)
1241ab64890Smrg#define DefaultGC(dpy, scr) 	(ScreenOfDisplay(dpy,scr)->default_gc)
1251ab64890Smrg#define BlackPixel(dpy, scr) 	(ScreenOfDisplay(dpy,scr)->black_pixel)
1261ab64890Smrg#define WhitePixel(dpy, scr) 	(ScreenOfDisplay(dpy,scr)->white_pixel)
1271ab64890Smrg#define AllPlanes 		((unsigned long)~0L)
1281ab64890Smrg#define QLength(dpy) 		(((_XPrivDisplay)dpy)->qlen)
1291ab64890Smrg#define DisplayWidth(dpy, scr) 	(ScreenOfDisplay(dpy,scr)->width)
1301ab64890Smrg#define DisplayHeight(dpy, scr) (ScreenOfDisplay(dpy,scr)->height)
1311ab64890Smrg#define DisplayWidthMM(dpy, scr)(ScreenOfDisplay(dpy,scr)->mwidth)
1321ab64890Smrg#define DisplayHeightMM(dpy, scr)(ScreenOfDisplay(dpy,scr)->mheight)
1331ab64890Smrg#define DisplayPlanes(dpy, scr) (ScreenOfDisplay(dpy,scr)->root_depth)
1341ab64890Smrg#define DisplayCells(dpy, scr) 	(DefaultVisual(dpy,scr)->map_entries)
1351ab64890Smrg#define ScreenCount(dpy) 	(((_XPrivDisplay)dpy)->nscreens)
1361ab64890Smrg#define ServerVendor(dpy) 	(((_XPrivDisplay)dpy)->vendor)
1371ab64890Smrg#define ProtocolVersion(dpy) 	(((_XPrivDisplay)dpy)->proto_major_version)
1381ab64890Smrg#define ProtocolRevision(dpy) 	(((_XPrivDisplay)dpy)->proto_minor_version)
1391ab64890Smrg#define VendorRelease(dpy) 	(((_XPrivDisplay)dpy)->release)
1401ab64890Smrg#define DisplayString(dpy) 	(((_XPrivDisplay)dpy)->display_name)
1411ab64890Smrg#define DefaultDepth(dpy, scr) 	(ScreenOfDisplay(dpy,scr)->root_depth)
1421ab64890Smrg#define DefaultColormap(dpy, scr)(ScreenOfDisplay(dpy,scr)->cmap)
1431ab64890Smrg#define BitmapUnit(dpy) 	(((_XPrivDisplay)dpy)->bitmap_unit)
1441ab64890Smrg#define BitmapBitOrder(dpy) 	(((_XPrivDisplay)dpy)->bitmap_bit_order)
1451ab64890Smrg#define BitmapPad(dpy) 		(((_XPrivDisplay)dpy)->bitmap_pad)
1461ab64890Smrg#define ImageByteOrder(dpy) 	(((_XPrivDisplay)dpy)->byte_order)
1471ab64890Smrg#ifdef CRAY /* unable to get WORD64 without pulling in other symbols */
1481ab64890Smrg#define NextRequest(dpy)	XNextRequest(dpy)
1491ab64890Smrg#else
1501ab64890Smrg#define NextRequest(dpy)	(((_XPrivDisplay)dpy)->request + 1)
1511ab64890Smrg#endif
1521ab64890Smrg#define LastKnownRequestProcessed(dpy)	(((_XPrivDisplay)dpy)->last_request_read)
1531ab64890Smrg
1541ab64890Smrg/* macros for screen oriented applications (toolkit) */
1551ab64890Smrg#define ScreenOfDisplay(dpy, scr)(&((_XPrivDisplay)dpy)->screens[scr])
1561ab64890Smrg#define DefaultScreenOfDisplay(dpy) ScreenOfDisplay(dpy,DefaultScreen(dpy))
1571ab64890Smrg#define DisplayOfScreen(s)	((s)->display)
1581ab64890Smrg#define RootWindowOfScreen(s)	((s)->root)
1591ab64890Smrg#define BlackPixelOfScreen(s)	((s)->black_pixel)
1601ab64890Smrg#define WhitePixelOfScreen(s)	((s)->white_pixel)
1611ab64890Smrg#define DefaultColormapOfScreen(s)((s)->cmap)
1621ab64890Smrg#define DefaultDepthOfScreen(s)	((s)->root_depth)
1631ab64890Smrg#define DefaultGCOfScreen(s)	((s)->default_gc)
1641ab64890Smrg#define DefaultVisualOfScreen(s)((s)->root_visual)
1651ab64890Smrg#define WidthOfScreen(s)	((s)->width)
1661ab64890Smrg#define HeightOfScreen(s)	((s)->height)
1671ab64890Smrg#define WidthMMOfScreen(s)	((s)->mwidth)
1681ab64890Smrg#define HeightMMOfScreen(s)	((s)->mheight)
1691ab64890Smrg#define PlanesOfScreen(s)	((s)->root_depth)
1701ab64890Smrg#define CellsOfScreen(s)	(DefaultVisualOfScreen((s))->map_entries)
1711ab64890Smrg#define MinCmapsOfScreen(s)	((s)->min_maps)
1721ab64890Smrg#define MaxCmapsOfScreen(s)	((s)->max_maps)
1731ab64890Smrg#define DoesSaveUnders(s)	((s)->save_unders)
1741ab64890Smrg#define DoesBackingStore(s)	((s)->backing_store)
1751ab64890Smrg#define EventMaskOfScreen(s)	((s)->root_input_mask)
1761ab64890Smrg
1771ab64890Smrg/*
1781ab64890Smrg * Extensions need a way to hang private data on some structures.
1791ab64890Smrg */
1801ab64890Smrgtypedef struct _XExtData {
1811ab64890Smrg	int number;		/* number returned by XRegisterExtension */
1821ab64890Smrg	struct _XExtData *next;	/* next item on list of data for structure */
1831ab64890Smrg	int (*free_private)(	/* called to free private storage */
1841ab64890Smrg	struct _XExtData *extension
1851ab64890Smrg	);
1861ab64890Smrg	XPointer private_data;	/* data private to this extension. */
1871ab64890Smrg} XExtData;
1881ab64890Smrg
1891ab64890Smrg/*
1901ab64890Smrg * This file contains structures used by the extension mechanism.
1911ab64890Smrg */
1921ab64890Smrgtypedef struct {		/* public to extension, cannot be changed */
1931ab64890Smrg	int extension;		/* extension number */
1941ab64890Smrg	int major_opcode;	/* major op-code assigned by server */
1951ab64890Smrg	int first_event;	/* first event number for the extension */
1961ab64890Smrg	int first_error;	/* first error number for the extension */
1971ab64890Smrg} XExtCodes;
1981ab64890Smrg
1991ab64890Smrg/*
2001ab64890Smrg * Data structure for retrieving info about pixmap formats.
2011ab64890Smrg */
2021ab64890Smrg
2031ab64890Smrgtypedef struct {
2041ab64890Smrg    int depth;
2051ab64890Smrg    int bits_per_pixel;
2061ab64890Smrg    int scanline_pad;
2071ab64890Smrg} XPixmapFormatValues;
2081ab64890Smrg
2091ab64890Smrg
2101ab64890Smrg/*
2111ab64890Smrg * Data structure for setting graphics context.
2121ab64890Smrg */
2131ab64890Smrgtypedef struct {
2141ab64890Smrg	int function;		/* logical operation */
2151ab64890Smrg	unsigned long plane_mask;/* plane mask */
2161ab64890Smrg	unsigned long foreground;/* foreground pixel */
2171ab64890Smrg	unsigned long background;/* background pixel */
2181ab64890Smrg	int line_width;		/* line width */
2191ab64890Smrg	int line_style;	 	/* LineSolid, LineOnOffDash, LineDoubleDash */
22061b2299dSmrg	int cap_style;	  	/* CapNotLast, CapButt,
2211ab64890Smrg				   CapRound, CapProjecting */
2221ab64890Smrg	int join_style;	 	/* JoinMiter, JoinRound, JoinBevel */
22361b2299dSmrg	int fill_style;	 	/* FillSolid, FillTiled,
2241ab64890Smrg				   FillStippled, FillOpaeueStippled */
2251ab64890Smrg	int fill_rule;	  	/* EvenOddRule, WindingRule */
2261ab64890Smrg	int arc_mode;		/* ArcChord, ArcPieSlice */
2271ab64890Smrg	Pixmap tile;		/* tile pixmap for tiling operations */
2281ab64890Smrg	Pixmap stipple;		/* stipple 1 plane pixmap for stipping */
2291ab64890Smrg	int ts_x_origin;	/* offset for tile or stipple operations */
2301ab64890Smrg	int ts_y_origin;
2311ab64890Smrg        Font font;	        /* default text font for text operations */
2321ab64890Smrg	int subwindow_mode;     /* ClipByChildren, IncludeInferiors */
2331ab64890Smrg	Bool graphics_exposures;/* boolean, should exposures be generated */
2341ab64890Smrg	int clip_x_origin;	/* origin for clipping */
2351ab64890Smrg	int clip_y_origin;
2361ab64890Smrg	Pixmap clip_mask;	/* bitmap clipping; other calls for rects */
2371ab64890Smrg	int dash_offset;	/* patterned/dashed line information */
2381ab64890Smrg	char dashes;
2391ab64890Smrg} XGCValues;
2401ab64890Smrg
2411ab64890Smrg/*
2421ab64890Smrg * Graphics context.  The contents of this structure are implementation
2431ab64890Smrg * dependent.  A GC should be treated as opaque by application code.
2441ab64890Smrg */
2451ab64890Smrg
2461ab64890Smrgtypedef struct _XGC
2471ab64890Smrg#ifdef XLIB_ILLEGAL_ACCESS
2481ab64890Smrg{
2491ab64890Smrg    XExtData *ext_data;	/* hook for extension to hang data */
2501ab64890Smrg    GContext gid;	/* protocol ID for graphics context */
2511ab64890Smrg    /* there is more to this structure, but it is private to Xlib */
2521ab64890Smrg}
2531ab64890Smrg#endif
2541ab64890Smrg*GC;
2551ab64890Smrg
2561ab64890Smrg/*
2571ab64890Smrg * Visual structure; contains information about colormapping possible.
2581ab64890Smrg */
2591ab64890Smrgtypedef struct {
2601ab64890Smrg	XExtData *ext_data;	/* hook for extension to hang data */
2611ab64890Smrg	VisualID visualid;	/* visual id of this visual */
2621ab64890Smrg#if defined(__cplusplus) || defined(c_plusplus)
2631ab64890Smrg	int c_class;		/* C++ class of screen (monochrome, etc.) */
2641ab64890Smrg#else
2651ab64890Smrg	int class;		/* class of screen (monochrome, etc.) */
2661ab64890Smrg#endif
2671ab64890Smrg	unsigned long red_mask, green_mask, blue_mask;	/* mask values */
2681ab64890Smrg	int bits_per_rgb;	/* log base 2 of distinct color values */
2691ab64890Smrg	int map_entries;	/* color map entries */
2701ab64890Smrg} Visual;
2711ab64890Smrg
2721ab64890Smrg/*
2731ab64890Smrg * Depth structure; contains information for each possible depth.
27461b2299dSmrg */
2751ab64890Smrgtypedef struct {
2761ab64890Smrg	int depth;		/* this depth (Z) of the depth */
2771ab64890Smrg	int nvisuals;		/* number of Visual types at this depth */
2781ab64890Smrg	Visual *visuals;	/* list of visuals possible at this depth */
2791ab64890Smrg} Depth;
2801ab64890Smrg
2811ab64890Smrg/*
2821ab64890Smrg * Information about the screen.  The contents of this structure are
2831ab64890Smrg * implementation dependent.  A Screen should be treated as opaque
2841ab64890Smrg * by application code.
2851ab64890Smrg */
2861ab64890Smrg
2871ab64890Smrgstruct _XDisplay;		/* Forward declare before use for C++ */
2881ab64890Smrg
2891ab64890Smrgtypedef struct {
2901ab64890Smrg	XExtData *ext_data;	/* hook for extension to hang data */
2911ab64890Smrg	struct _XDisplay *display;/* back pointer to display structure */
2921ab64890Smrg	Window root;		/* Root window id. */
2931ab64890Smrg	int width, height;	/* width and height of screen */
2941ab64890Smrg	int mwidth, mheight;	/* width and height of  in millimeters */
2951ab64890Smrg	int ndepths;		/* number of depths possible */
2961ab64890Smrg	Depth *depths;		/* list of allowable depths on the screen */
2971ab64890Smrg	int root_depth;		/* bits per pixel */
2981ab64890Smrg	Visual *root_visual;	/* root visual */
2991ab64890Smrg	GC default_gc;		/* GC for the root root visual */
3001ab64890Smrg	Colormap cmap;		/* default color map */
3011ab64890Smrg	unsigned long white_pixel;
3021ab64890Smrg	unsigned long black_pixel;	/* White and Black pixel values */
3031ab64890Smrg	int max_maps, min_maps;	/* max and min color maps */
3041ab64890Smrg	int backing_store;	/* Never, WhenMapped, Always */
30561b2299dSmrg	Bool save_unders;
3061ab64890Smrg	long root_input_mask;	/* initial root input mask */
3071ab64890Smrg} Screen;
3081ab64890Smrg
3091ab64890Smrg/*
3101ab64890Smrg * Format structure; describes ZFormat data the screen will understand.
3111ab64890Smrg */
3121ab64890Smrgtypedef struct {
3131ab64890Smrg	XExtData *ext_data;	/* hook for extension to hang data */
3141ab64890Smrg	int depth;		/* depth of this image format */
3151ab64890Smrg	int bits_per_pixel;	/* bits/pixel at this depth */
3161ab64890Smrg	int scanline_pad;	/* scanline must padded to this multiple */
3171ab64890Smrg} ScreenFormat;
3181ab64890Smrg
3191ab64890Smrg/*
3201ab64890Smrg * Data structure for setting window attributes.
3211ab64890Smrg */
3221ab64890Smrgtypedef struct {
3231ab64890Smrg    Pixmap background_pixmap;	/* background or None or ParentRelative */
3241ab64890Smrg    unsigned long background_pixel;	/* background pixel */
3251ab64890Smrg    Pixmap border_pixmap;	/* border of the window */
3261ab64890Smrg    unsigned long border_pixel;	/* border pixel value */
3271ab64890Smrg    int bit_gravity;		/* one of bit gravity values */
3281ab64890Smrg    int win_gravity;		/* one of the window gravity values */
3291ab64890Smrg    int backing_store;		/* NotUseful, WhenMapped, Always */
3301ab64890Smrg    unsigned long backing_planes;/* planes to be preseved if possible */
3311ab64890Smrg    unsigned long backing_pixel;/* value to use in restoring planes */
3321ab64890Smrg    Bool save_under;		/* should bits under be saved? (popups) */
3331ab64890Smrg    long event_mask;		/* set of events that should be saved */
3341ab64890Smrg    long do_not_propagate_mask;	/* set of events that should not propagate */
3351ab64890Smrg    Bool override_redirect;	/* boolean value for override-redirect */
3361ab64890Smrg    Colormap colormap;		/* color map to be associated with window */
3371ab64890Smrg    Cursor cursor;		/* cursor to be displayed (or None) */
3381ab64890Smrg} XSetWindowAttributes;
3391ab64890Smrg
3401ab64890Smrgtypedef struct {
3411ab64890Smrg    int x, y;			/* location of window */
3421ab64890Smrg    int width, height;		/* width and height of window */
3431ab64890Smrg    int border_width;		/* border width of window */
3441ab64890Smrg    int depth;          	/* depth of window */
3451ab64890Smrg    Visual *visual;		/* the associated visual structure */
3461ab64890Smrg    Window root;        	/* root of screen containing window */
3471ab64890Smrg#if defined(__cplusplus) || defined(c_plusplus)
3481ab64890Smrg    int c_class;		/* C++ InputOutput, InputOnly*/
3491ab64890Smrg#else
3501ab64890Smrg    int class;			/* InputOutput, InputOnly*/
3511ab64890Smrg#endif
3521ab64890Smrg    int bit_gravity;		/* one of bit gravity values */
3531ab64890Smrg    int win_gravity;		/* one of the window gravity values */
3541ab64890Smrg    int backing_store;		/* NotUseful, WhenMapped, Always */
3551ab64890Smrg    unsigned long backing_planes;/* planes to be preserved if possible */
3561ab64890Smrg    unsigned long backing_pixel;/* value to be used when restoring planes */
3571ab64890Smrg    Bool save_under;		/* boolean, should bits under be saved? */
3581ab64890Smrg    Colormap colormap;		/* color map to be associated with window */
3591ab64890Smrg    Bool map_installed;		/* boolean, is color map currently installed*/
3601ab64890Smrg    int map_state;		/* IsUnmapped, IsUnviewable, IsViewable */
3611ab64890Smrg    long all_event_masks;	/* set of events all people have interest in*/
3621ab64890Smrg    long your_event_mask;	/* my event mask */
3631ab64890Smrg    long do_not_propagate_mask; /* set of events that should not propagate */
3641ab64890Smrg    Bool override_redirect;	/* boolean value for override-redirect */
3651ab64890Smrg    Screen *screen;		/* back pointer to correct screen */
3661ab64890Smrg} XWindowAttributes;
3671ab64890Smrg
3681ab64890Smrg/*
3691ab64890Smrg * Data structure for host setting; getting routines.
3701ab64890Smrg *
3711ab64890Smrg */
3721ab64890Smrg
3731ab64890Smrgtypedef struct {
3741ab64890Smrg	int family;		/* for example FamilyInternet */
3751ab64890Smrg	int length;		/* length of address, in bytes */
3761ab64890Smrg	char *address;		/* pointer to where to find the bytes */
3771ab64890Smrg} XHostAddress;
3781ab64890Smrg
3791ab64890Smrg/*
3801ab64890Smrg * Data structure for ServerFamilyInterpreted addresses in host routines
3811ab64890Smrg */
3821ab64890Smrgtypedef struct {
3831ab64890Smrg	int typelength;		/* length of type string, in bytes */
3841ab64890Smrg	int valuelength;	/* length of value string, in bytes */
3851ab64890Smrg	char *type;		/* pointer to where to find the type string */
3861ab64890Smrg	char *value;		/* pointer to where to find the address */
3871ab64890Smrg} XServerInterpretedAddress;
3881ab64890Smrg
3891ab64890Smrg/*
3901ab64890Smrg * Data structure for "image" data, used by image manipulation routines.
3911ab64890Smrg */
3921ab64890Smrgtypedef struct _XImage {
3931ab64890Smrg    int width, height;		/* size of image */
3941ab64890Smrg    int xoffset;		/* number of pixels offset in X direction */
3951ab64890Smrg    int format;			/* XYBitmap, XYPixmap, ZPixmap */
3961ab64890Smrg    char *data;			/* pointer to image data */
3971ab64890Smrg    int byte_order;		/* data byte order, LSBFirst, MSBFirst */
3981ab64890Smrg    int bitmap_unit;		/* quant. of scanline 8, 16, 32 */
3991ab64890Smrg    int bitmap_bit_order;	/* LSBFirst, MSBFirst */
4001ab64890Smrg    int bitmap_pad;		/* 8, 16, 32 either XY or ZPixmap */
4011ab64890Smrg    int depth;			/* depth of image */
4021ab64890Smrg    int bytes_per_line;		/* accelarator to next line */
4031ab64890Smrg    int bits_per_pixel;		/* bits per pixel (ZPixmap) */
4041ab64890Smrg    unsigned long red_mask;	/* bits in z arrangment */
4051ab64890Smrg    unsigned long green_mask;
4061ab64890Smrg    unsigned long blue_mask;
4071ab64890Smrg    XPointer obdata;		/* hook for the object routines to hang on */
4081ab64890Smrg    struct funcs {		/* image manipulation routines */
4091ab64890Smrg	struct _XImage *(*create_image)(
4101ab64890Smrg		struct _XDisplay* /* display */,
4111ab64890Smrg		Visual*		/* visual */,
4121ab64890Smrg		unsigned int	/* depth */,
4131ab64890Smrg		int		/* format */,
4141ab64890Smrg		int		/* offset */,
4151ab64890Smrg		char*		/* data */,
4161ab64890Smrg		unsigned int	/* width */,
4171ab64890Smrg		unsigned int	/* height */,
4181ab64890Smrg		int		/* bitmap_pad */,
4191ab64890Smrg		int		/* bytes_per_line */);
4201ab64890Smrg	int (*destroy_image)        (struct _XImage *);
4211ab64890Smrg	unsigned long (*get_pixel)  (struct _XImage *, int, int);
4221ab64890Smrg	int (*put_pixel)            (struct _XImage *, int, int, unsigned long);
4231ab64890Smrg	struct _XImage *(*sub_image)(struct _XImage *, int, int, unsigned int, unsigned int);
4241ab64890Smrg	int (*add_pixel)            (struct _XImage *, long);
4251ab64890Smrg	} f;
4261ab64890Smrg} XImage;
4271ab64890Smrg
42861b2299dSmrg/*
4291ab64890Smrg * Data structure for XReconfigureWindow
4301ab64890Smrg */
4311ab64890Smrgtypedef struct {
4321ab64890Smrg    int x, y;
4331ab64890Smrg    int width, height;
4341ab64890Smrg    int border_width;
4351ab64890Smrg    Window sibling;
4361ab64890Smrg    int stack_mode;
4371ab64890Smrg} XWindowChanges;
4381ab64890Smrg
4391ab64890Smrg/*
4401ab64890Smrg * Data structure used by color operations
4411ab64890Smrg */
4421ab64890Smrgtypedef struct {
4431ab64890Smrg	unsigned long pixel;
4441ab64890Smrg	unsigned short red, green, blue;
4451ab64890Smrg	char flags;  /* do_red, do_green, do_blue */
4461ab64890Smrg	char pad;
4471ab64890Smrg} XColor;
4481ab64890Smrg
44961b2299dSmrg/*
4501ab64890Smrg * Data structures for graphics operations.  On most machines, these are
4511ab64890Smrg * congruent with the wire protocol structures, so reformatting the data
4521ab64890Smrg * can be avoided on these architectures.
4531ab64890Smrg */
4541ab64890Smrgtypedef struct {
4551ab64890Smrg    short x1, y1, x2, y2;
4561ab64890Smrg} XSegment;
4571ab64890Smrg
4581ab64890Smrgtypedef struct {
4591ab64890Smrg    short x, y;
4601ab64890Smrg} XPoint;
46161b2299dSmrg
4621ab64890Smrgtypedef struct {
4631ab64890Smrg    short x, y;
4641ab64890Smrg    unsigned short width, height;
4651ab64890Smrg} XRectangle;
46661b2299dSmrg
4671ab64890Smrgtypedef struct {
4681ab64890Smrg    short x, y;
4691ab64890Smrg    unsigned short width, height;
4701ab64890Smrg    short angle1, angle2;
4711ab64890Smrg} XArc;
4721ab64890Smrg
4731ab64890Smrg
4741ab64890Smrg/* Data structure for XChangeKeyboardControl */
4751ab64890Smrg
4761ab64890Smrgtypedef struct {
4771ab64890Smrg        int key_click_percent;
4781ab64890Smrg        int bell_percent;
4791ab64890Smrg        int bell_pitch;
4801ab64890Smrg        int bell_duration;
4811ab64890Smrg        int led;
4821ab64890Smrg        int led_mode;
4831ab64890Smrg        int key;
4841ab64890Smrg        int auto_repeat_mode;   /* On, Off, Default */
4851ab64890Smrg} XKeyboardControl;
4861ab64890Smrg
4871ab64890Smrg/* Data structure for XGetKeyboardControl */
4881ab64890Smrg
4891ab64890Smrgtypedef struct {
4901ab64890Smrg        int key_click_percent;
4911ab64890Smrg	int bell_percent;
4921ab64890Smrg	unsigned int bell_pitch, bell_duration;
4931ab64890Smrg	unsigned long led_mask;
4941ab64890Smrg	int global_auto_repeat;
4951ab64890Smrg	char auto_repeats[32];
4961ab64890Smrg} XKeyboardState;
4971ab64890Smrg
4981ab64890Smrg/* Data structure for XGetMotionEvents.  */
4991ab64890Smrg
5001ab64890Smrgtypedef struct {
5011ab64890Smrg        Time time;
5021ab64890Smrg	short x, y;
5031ab64890Smrg} XTimeCoord;
5041ab64890Smrg
5051ab64890Smrg/* Data structure for X{Set,Get}ModifierMapping */
5061ab64890Smrg
5071ab64890Smrgtypedef struct {
5081ab64890Smrg 	int max_keypermod;	/* The server's max # of keys per modifier */
5091ab64890Smrg 	KeyCode *modifiermap;	/* An 8 by max_keypermod array of modifiers */
5101ab64890Smrg} XModifierKeymap;
5111ab64890Smrg
5121ab64890Smrg
5131ab64890Smrg/*
5141ab64890Smrg * Display datatype maintaining display specific data.
5151ab64890Smrg * The contents of this structure are implementation dependent.
5161ab64890Smrg * A Display should be treated as opaque by application code.
5171ab64890Smrg */
5181ab64890Smrg#ifndef XLIB_ILLEGAL_ACCESS
5191ab64890Smrgtypedef struct _XDisplay Display;
5201ab64890Smrg#endif
5211ab64890Smrg
5221ab64890Smrgstruct _XPrivate;		/* Forward declare before use for C++ */
5231ab64890Smrgstruct _XrmHashBucketRec;
5241ab64890Smrg
52561b2299dSmrgtypedef struct
5261ab64890Smrg#ifdef XLIB_ILLEGAL_ACCESS
5271ab64890Smrg_XDisplay
5281ab64890Smrg#endif
5291ab64890Smrg{
5301ab64890Smrg	XExtData *ext_data;	/* hook for extension to hang data */
5311ab64890Smrg	struct _XPrivate *private1;
5321ab64890Smrg	int fd;			/* Network socket. */
5331ab64890Smrg	int private2;
5341ab64890Smrg	int proto_major_version;/* major version of server's X protocol */
5351ab64890Smrg	int proto_minor_version;/* minor version of servers X protocol */
5361ab64890Smrg	char *vendor;		/* vendor of the server hardware */
5371ab64890Smrg        XID private3;
5381ab64890Smrg	XID private4;
5391ab64890Smrg	XID private5;
5401ab64890Smrg	int private6;
5411ab64890Smrg	XID (*resource_alloc)(	/* allocator function */
5421ab64890Smrg		struct _XDisplay*
5431ab64890Smrg	);
5441ab64890Smrg	int byte_order;		/* screen byte order, LSBFirst, MSBFirst */
5451ab64890Smrg	int bitmap_unit;	/* padding and data requirements */
5461ab64890Smrg	int bitmap_pad;		/* padding requirements on bitmaps */
5471ab64890Smrg	int bitmap_bit_order;	/* LeastSignificant or MostSignificant */
5481ab64890Smrg	int nformats;		/* number of pixmap formats in list */
5491ab64890Smrg	ScreenFormat *pixmap_format;	/* pixmap format list */
5501ab64890Smrg	int private8;
5511ab64890Smrg	int release;		/* release of the server */
5521ab64890Smrg	struct _XPrivate *private9, *private10;
5531ab64890Smrg	int qlen;		/* Length of input event queue */
5541ab64890Smrg	unsigned long last_request_read; /* seq number of last event read */
5551ab64890Smrg	unsigned long request;	/* sequence number of last request. */
5561ab64890Smrg	XPointer private11;
5571ab64890Smrg	XPointer private12;
5581ab64890Smrg	XPointer private13;
5591ab64890Smrg	XPointer private14;
5601ab64890Smrg	unsigned max_request_size; /* maximum number 32 bit words in request*/
5611ab64890Smrg	struct _XrmHashBucketRec *db;
5621ab64890Smrg	int (*private15)(
5631ab64890Smrg		struct _XDisplay*
5641ab64890Smrg		);
5651ab64890Smrg	char *display_name;	/* "host:display" string used on this connect*/
5661ab64890Smrg	int default_screen;	/* default screen for operations */
5671ab64890Smrg	int nscreens;		/* number of screens on this server*/
5681ab64890Smrg	Screen *screens;	/* pointer to list of screens */
5691ab64890Smrg	unsigned long motion_buffer;	/* size of motion buffer */
5701ab64890Smrg	unsigned long private16;
5711ab64890Smrg	int min_keycode;	/* minimum defined keycode */
5721ab64890Smrg	int max_keycode;	/* maximum defined keycode */
5731ab64890Smrg	XPointer private17;
5741ab64890Smrg	XPointer private18;
5751ab64890Smrg	int private19;
5761ab64890Smrg	char *xdefaults;	/* contents of defaults from server */
5771ab64890Smrg	/* there is more to this structure, but it is private to Xlib */
5781ab64890Smrg}
5791ab64890Smrg#ifdef XLIB_ILLEGAL_ACCESS
58061b2299dSmrgDisplay,
5811ab64890Smrg#endif
5821ab64890Smrg*_XPrivDisplay;
5831ab64890Smrg
5841ab64890Smrg#undef _XEVENT_
5851ab64890Smrg#ifndef _XEVENT_
5861ab64890Smrg/*
5871ab64890Smrg * Definitions of specific events.
5881ab64890Smrg */
5891ab64890Smrgtypedef struct {
5901ab64890Smrg	int type;		/* of event */
5911ab64890Smrg	unsigned long serial;	/* # of last request processed by server */
5921ab64890Smrg	Bool send_event;	/* true if this came from a SendEvent request */
5931ab64890Smrg	Display *display;	/* Display the event was read from */
5941ab64890Smrg	Window window;	        /* "event" window it is reported relative to */
5951ab64890Smrg	Window root;	        /* root window that the event occurred on */
5961ab64890Smrg	Window subwindow;	/* child window */
5971ab64890Smrg	Time time;		/* milliseconds */
5981ab64890Smrg	int x, y;		/* pointer x, y coordinates in event window */
5991ab64890Smrg	int x_root, y_root;	/* coordinates relative to root */
6001ab64890Smrg	unsigned int state;	/* key or button mask */
6011ab64890Smrg	unsigned int keycode;	/* detail */
6021ab64890Smrg	Bool same_screen;	/* same screen flag */
6031ab64890Smrg} XKeyEvent;
6041ab64890Smrgtypedef XKeyEvent XKeyPressedEvent;
6051ab64890Smrgtypedef XKeyEvent XKeyReleasedEvent;
6061ab64890Smrg
6071ab64890Smrgtypedef struct {
6081ab64890Smrg	int type;		/* of event */
6091ab64890Smrg	unsigned long serial;	/* # of last request processed by server */
6101ab64890Smrg	Bool send_event;	/* true if this came from a SendEvent request */
6111ab64890Smrg	Display *display;	/* Display the event was read from */
6121ab64890Smrg	Window window;	        /* "event" window it is reported relative to */
6131ab64890Smrg	Window root;	        /* root window that the event occurred on */
6141ab64890Smrg	Window subwindow;	/* child window */
6151ab64890Smrg	Time time;		/* milliseconds */
6161ab64890Smrg	int x, y;		/* pointer x, y coordinates in event window */
6171ab64890Smrg	int x_root, y_root;	/* coordinates relative to root */
6181ab64890Smrg	unsigned int state;	/* key or button mask */
6191ab64890Smrg	unsigned int button;	/* detail */
6201ab64890Smrg	Bool same_screen;	/* same screen flag */
6211ab64890Smrg} XButtonEvent;
6221ab64890Smrgtypedef XButtonEvent XButtonPressedEvent;
6231ab64890Smrgtypedef XButtonEvent XButtonReleasedEvent;
6241ab64890Smrg
6251ab64890Smrgtypedef struct {
6261ab64890Smrg	int type;		/* of event */
6271ab64890Smrg	unsigned long serial;	/* # of last request processed by server */
6281ab64890Smrg	Bool send_event;	/* true if this came from a SendEvent request */
6291ab64890Smrg	Display *display;	/* Display the event was read from */
6301ab64890Smrg	Window window;	        /* "event" window reported relative to */
6311ab64890Smrg	Window root;	        /* root window that the event occurred on */
6321ab64890Smrg	Window subwindow;	/* child window */
6331ab64890Smrg	Time time;		/* milliseconds */
6341ab64890Smrg	int x, y;		/* pointer x, y coordinates in event window */
6351ab64890Smrg	int x_root, y_root;	/* coordinates relative to root */
6361ab64890Smrg	unsigned int state;	/* key or button mask */
6371ab64890Smrg	char is_hint;		/* detail */
6381ab64890Smrg	Bool same_screen;	/* same screen flag */
6391ab64890Smrg} XMotionEvent;
6401ab64890Smrgtypedef XMotionEvent XPointerMovedEvent;
6411ab64890Smrg
6421ab64890Smrgtypedef struct {
6431ab64890Smrg	int type;		/* of event */
6441ab64890Smrg	unsigned long serial;	/* # of last request processed by server */
6451ab64890Smrg	Bool send_event;	/* true if this came from a SendEvent request */
6461ab64890Smrg	Display *display;	/* Display the event was read from */
6471ab64890Smrg	Window window;	        /* "event" window reported relative to */
6481ab64890Smrg	Window root;	        /* root window that the event occurred on */
6491ab64890Smrg	Window subwindow;	/* child window */
6501ab64890Smrg	Time time;		/* milliseconds */
6511ab64890Smrg	int x, y;		/* pointer x, y coordinates in event window */
6521ab64890Smrg	int x_root, y_root;	/* coordinates relative to root */
6531ab64890Smrg	int mode;		/* NotifyNormal, NotifyGrab, NotifyUngrab */
6541ab64890Smrg	int detail;
6551ab64890Smrg	/*
65661b2299dSmrg	 * NotifyAncestor, NotifyVirtual, NotifyInferior,
6571ab64890Smrg	 * NotifyNonlinear,NotifyNonlinearVirtual
6581ab64890Smrg	 */
6591ab64890Smrg	Bool same_screen;	/* same screen flag */
6601ab64890Smrg	Bool focus;		/* boolean focus */
6611ab64890Smrg	unsigned int state;	/* key or button mask */
6621ab64890Smrg} XCrossingEvent;
6631ab64890Smrgtypedef XCrossingEvent XEnterWindowEvent;
6641ab64890Smrgtypedef XCrossingEvent XLeaveWindowEvent;
6651ab64890Smrg
6661ab64890Smrgtypedef struct {
6671ab64890Smrg	int type;		/* FocusIn or FocusOut */
6681ab64890Smrg	unsigned long serial;	/* # of last request processed by server */
6691ab64890Smrg	Bool send_event;	/* true if this came from a SendEvent request */
6701ab64890Smrg	Display *display;	/* Display the event was read from */
6711ab64890Smrg	Window window;		/* window of event */
6721ab64890Smrg	int mode;		/* NotifyNormal, NotifyWhileGrabbed,
6731ab64890Smrg				   NotifyGrab, NotifyUngrab */
6741ab64890Smrg	int detail;
6751ab64890Smrg	/*
67661b2299dSmrg	 * NotifyAncestor, NotifyVirtual, NotifyInferior,
6771ab64890Smrg	 * NotifyNonlinear,NotifyNonlinearVirtual, NotifyPointer,
67861b2299dSmrg	 * NotifyPointerRoot, NotifyDetailNone
6791ab64890Smrg	 */
6801ab64890Smrg} XFocusChangeEvent;
6811ab64890Smrgtypedef XFocusChangeEvent XFocusInEvent;
6821ab64890Smrgtypedef XFocusChangeEvent XFocusOutEvent;
6831ab64890Smrg
6841ab64890Smrg/* generated on EnterWindow and FocusIn  when KeyMapState selected */
6851ab64890Smrgtypedef struct {
6861ab64890Smrg	int type;
6871ab64890Smrg	unsigned long serial;	/* # of last request processed by server */
6881ab64890Smrg	Bool send_event;	/* true if this came from a SendEvent request */
6891ab64890Smrg	Display *display;	/* Display the event was read from */
6901ab64890Smrg	Window window;
6911ab64890Smrg	char key_vector[32];
69261b2299dSmrg} XKeymapEvent;
6931ab64890Smrg
6941ab64890Smrgtypedef struct {
6951ab64890Smrg	int type;
6961ab64890Smrg	unsigned long serial;	/* # of last request processed by server */
6971ab64890Smrg	Bool send_event;	/* true if this came from a SendEvent request */
6981ab64890Smrg	Display *display;	/* Display the event was read from */
6991ab64890Smrg	Window window;
7001ab64890Smrg	int x, y;
7011ab64890Smrg	int width, height;
7021ab64890Smrg	int count;		/* if non-zero, at least this many more */
7031ab64890Smrg} XExposeEvent;
7041ab64890Smrg
7051ab64890Smrgtypedef struct {
7061ab64890Smrg	int type;
7071ab64890Smrg	unsigned long serial;	/* # of last request processed by server */
7081ab64890Smrg	Bool send_event;	/* true if this came from a SendEvent request */
7091ab64890Smrg	Display *display;	/* Display the event was read from */
7101ab64890Smrg	Drawable drawable;
7111ab64890Smrg	int x, y;
7121ab64890Smrg	int width, height;
7131ab64890Smrg	int count;		/* if non-zero, at least this many more */
7141ab64890Smrg	int major_code;		/* core is CopyArea or CopyPlane */
7151ab64890Smrg	int minor_code;		/* not defined in the core */
7161ab64890Smrg} XGraphicsExposeEvent;
7171ab64890Smrg
7181ab64890Smrgtypedef struct {
7191ab64890Smrg	int type;
7201ab64890Smrg	unsigned long serial;	/* # of last request processed by server */
7211ab64890Smrg	Bool send_event;	/* true if this came from a SendEvent request */
7221ab64890Smrg	Display *display;	/* Display the event was read from */
7231ab64890Smrg	Drawable drawable;
7241ab64890Smrg	int major_code;		/* core is CopyArea or CopyPlane */
7251ab64890Smrg	int minor_code;		/* not defined in the core */
7261ab64890Smrg} XNoExposeEvent;
7271ab64890Smrg
7281ab64890Smrgtypedef struct {
7291ab64890Smrg	int type;
7301ab64890Smrg	unsigned long serial;	/* # of last request processed by server */
7311ab64890Smrg	Bool send_event;	/* true if this came from a SendEvent request */
7321ab64890Smrg	Display *display;	/* Display the event was read from */
7331ab64890Smrg	Window window;
7341ab64890Smrg	int state;		/* Visibility state */
7351ab64890Smrg} XVisibilityEvent;
7361ab64890Smrg
7371ab64890Smrgtypedef struct {
7381ab64890Smrg	int type;
7391ab64890Smrg	unsigned long serial;	/* # of last request processed by server */
7401ab64890Smrg	Bool send_event;	/* true if this came from a SendEvent request */
7411ab64890Smrg	Display *display;	/* Display the event was read from */
7421ab64890Smrg	Window parent;		/* parent of the window */
7431ab64890Smrg	Window window;		/* window id of window created */
7441ab64890Smrg	int x, y;		/* window location */
7451ab64890Smrg	int width, height;	/* size of window */
7461ab64890Smrg	int border_width;	/* border width */
7471ab64890Smrg	Bool override_redirect;	/* creation should be overridden */
7481ab64890Smrg} XCreateWindowEvent;
7491ab64890Smrg
7501ab64890Smrgtypedef struct {
7511ab64890Smrg	int type;
7521ab64890Smrg	unsigned long serial;	/* # of last request processed by server */
7531ab64890Smrg	Bool send_event;	/* true if this came from a SendEvent request */
7541ab64890Smrg	Display *display;	/* Display the event was read from */
7551ab64890Smrg	Window event;
7561ab64890Smrg	Window window;
7571ab64890Smrg} XDestroyWindowEvent;
7581ab64890Smrg
7591ab64890Smrgtypedef struct {
7601ab64890Smrg	int type;
7611ab64890Smrg	unsigned long serial;	/* # of last request processed by server */
7621ab64890Smrg	Bool send_event;	/* true if this came from a SendEvent request */
7631ab64890Smrg	Display *display;	/* Display the event was read from */
7641ab64890Smrg	Window event;
7651ab64890Smrg	Window window;
7661ab64890Smrg	Bool from_configure;
7671ab64890Smrg} XUnmapEvent;
7681ab64890Smrg
7691ab64890Smrgtypedef struct {
7701ab64890Smrg	int type;
7711ab64890Smrg	unsigned long serial;	/* # of last request processed by server */
7721ab64890Smrg	Bool send_event;	/* true if this came from a SendEvent request */
7731ab64890Smrg	Display *display;	/* Display the event was read from */
7741ab64890Smrg	Window event;
7751ab64890Smrg	Window window;
7761ab64890Smrg	Bool override_redirect;	/* boolean, is override set... */
7771ab64890Smrg} XMapEvent;
7781ab64890Smrg
7791ab64890Smrgtypedef struct {
7801ab64890Smrg	int type;
7811ab64890Smrg	unsigned long serial;	/* # of last request processed by server */
7821ab64890Smrg	Bool send_event;	/* true if this came from a SendEvent request */
7831ab64890Smrg	Display *display;	/* Display the event was read from */
7841ab64890Smrg	Window parent;
7851ab64890Smrg	Window window;
7861ab64890Smrg} XMapRequestEvent;
7871ab64890Smrg
7881ab64890Smrgtypedef struct {
7891ab64890Smrg	int type;
7901ab64890Smrg	unsigned long serial;	/* # of last request processed by server */
7911ab64890Smrg	Bool send_event;	/* true if this came from a SendEvent request */
7921ab64890Smrg	Display *display;	/* Display the event was read from */
7931ab64890Smrg	Window event;
7941ab64890Smrg	Window window;
7951ab64890Smrg	Window parent;
7961ab64890Smrg	int x, y;
7971ab64890Smrg	Bool override_redirect;
7981ab64890Smrg} XReparentEvent;
7991ab64890Smrg
8001ab64890Smrgtypedef struct {
8011ab64890Smrg	int type;
8021ab64890Smrg	unsigned long serial;	/* # of last request processed by server */
8031ab64890Smrg	Bool send_event;	/* true if this came from a SendEvent request */
8041ab64890Smrg	Display *display;	/* Display the event was read from */
8051ab64890Smrg	Window event;
8061ab64890Smrg	Window window;
8071ab64890Smrg	int x, y;
8081ab64890Smrg	int width, height;
8091ab64890Smrg	int border_width;
8101ab64890Smrg	Window above;
8111ab64890Smrg	Bool override_redirect;
8121ab64890Smrg} XConfigureEvent;
8131ab64890Smrg
8141ab64890Smrgtypedef struct {
8151ab64890Smrg	int type;
8161ab64890Smrg	unsigned long serial;	/* # of last request processed by server */
8171ab64890Smrg	Bool send_event;	/* true if this came from a SendEvent request */
8181ab64890Smrg	Display *display;	/* Display the event was read from */
8191ab64890Smrg	Window event;
8201ab64890Smrg	Window window;
8211ab64890Smrg	int x, y;
8221ab64890Smrg} XGravityEvent;
8231ab64890Smrg
8241ab64890Smrgtypedef struct {
8251ab64890Smrg	int type;
8261ab64890Smrg	unsigned long serial;	/* # of last request processed by server */
8271ab64890Smrg	Bool send_event;	/* true if this came from a SendEvent request */
8281ab64890Smrg	Display *display;	/* Display the event was read from */
8291ab64890Smrg	Window window;
8301ab64890Smrg	int width, height;
8311ab64890Smrg} XResizeRequestEvent;
8321ab64890Smrg
8331ab64890Smrgtypedef struct {
8341ab64890Smrg	int type;
8351ab64890Smrg	unsigned long serial;	/* # of last request processed by server */
8361ab64890Smrg	Bool send_event;	/* true if this came from a SendEvent request */
8371ab64890Smrg	Display *display;	/* Display the event was read from */
8381ab64890Smrg	Window parent;
8391ab64890Smrg	Window window;
8401ab64890Smrg	int x, y;
8411ab64890Smrg	int width, height;
8421ab64890Smrg	int border_width;
8431ab64890Smrg	Window above;
8441ab64890Smrg	int detail;		/* Above, Below, TopIf, BottomIf, Opposite */
8451ab64890Smrg	unsigned long value_mask;
8461ab64890Smrg} XConfigureRequestEvent;
8471ab64890Smrg
8481ab64890Smrgtypedef struct {
8491ab64890Smrg	int type;
8501ab64890Smrg	unsigned long serial;	/* # of last request processed by server */
8511ab64890Smrg	Bool send_event;	/* true if this came from a SendEvent request */
8521ab64890Smrg	Display *display;	/* Display the event was read from */
8531ab64890Smrg	Window event;
8541ab64890Smrg	Window window;
8551ab64890Smrg	int place;		/* PlaceOnTop, PlaceOnBottom */
8561ab64890Smrg} XCirculateEvent;
8571ab64890Smrg
8581ab64890Smrgtypedef struct {
8591ab64890Smrg	int type;
8601ab64890Smrg	unsigned long serial;	/* # of last request processed by server */
8611ab64890Smrg	Bool send_event;	/* true if this came from a SendEvent request */
8621ab64890Smrg	Display *display;	/* Display the event was read from */
8631ab64890Smrg	Window parent;
8641ab64890Smrg	Window window;
8651ab64890Smrg	int place;		/* PlaceOnTop, PlaceOnBottom */
8661ab64890Smrg} XCirculateRequestEvent;
8671ab64890Smrg
8681ab64890Smrgtypedef struct {
8691ab64890Smrg	int type;
8701ab64890Smrg	unsigned long serial;	/* # of last request processed by server */
8711ab64890Smrg	Bool send_event;	/* true if this came from a SendEvent request */
8721ab64890Smrg	Display *display;	/* Display the event was read from */
8731ab64890Smrg	Window window;
8741ab64890Smrg	Atom atom;
8751ab64890Smrg	Time time;
8761ab64890Smrg	int state;		/* NewValue, Deleted */
8771ab64890Smrg} XPropertyEvent;
8781ab64890Smrg
8791ab64890Smrgtypedef struct {
8801ab64890Smrg	int type;
8811ab64890Smrg	unsigned long serial;	/* # of last request processed by server */
8821ab64890Smrg	Bool send_event;	/* true if this came from a SendEvent request */
8831ab64890Smrg	Display *display;	/* Display the event was read from */
8841ab64890Smrg	Window window;
8851ab64890Smrg	Atom selection;
8861ab64890Smrg	Time time;
8871ab64890Smrg} XSelectionClearEvent;
8881ab64890Smrg
8891ab64890Smrgtypedef struct {
8901ab64890Smrg	int type;
8911ab64890Smrg	unsigned long serial;	/* # of last request processed by server */
8921ab64890Smrg	Bool send_event;	/* true if this came from a SendEvent request */
8931ab64890Smrg	Display *display;	/* Display the event was read from */
8941ab64890Smrg	Window owner;
8951ab64890Smrg	Window requestor;
8961ab64890Smrg	Atom selection;
8971ab64890Smrg	Atom target;
8981ab64890Smrg	Atom property;
8991ab64890Smrg	Time time;
9001ab64890Smrg} XSelectionRequestEvent;
9011ab64890Smrg
9021ab64890Smrgtypedef struct {
9031ab64890Smrg	int type;
9041ab64890Smrg	unsigned long serial;	/* # of last request processed by server */
9051ab64890Smrg	Bool send_event;	/* true if this came from a SendEvent request */
9061ab64890Smrg	Display *display;	/* Display the event was read from */
9071ab64890Smrg	Window requestor;
9081ab64890Smrg	Atom selection;
9091ab64890Smrg	Atom target;
9101ab64890Smrg	Atom property;		/* ATOM or None */
9111ab64890Smrg	Time time;
9121ab64890Smrg} XSelectionEvent;
9131ab64890Smrg
9141ab64890Smrgtypedef struct {
9151ab64890Smrg	int type;
9161ab64890Smrg	unsigned long serial;	/* # of last request processed by server */
9171ab64890Smrg	Bool send_event;	/* true if this came from a SendEvent request */
9181ab64890Smrg	Display *display;	/* Display the event was read from */
9191ab64890Smrg	Window window;
9201ab64890Smrg	Colormap colormap;	/* COLORMAP or None */
9211ab64890Smrg#if defined(__cplusplus) || defined(c_plusplus)
9221ab64890Smrg	Bool c_new;		/* C++ */
9231ab64890Smrg#else
9241ab64890Smrg	Bool new;
9251ab64890Smrg#endif
9261ab64890Smrg	int state;		/* ColormapInstalled, ColormapUninstalled */
9271ab64890Smrg} XColormapEvent;
9281ab64890Smrg
9291ab64890Smrgtypedef struct {
9301ab64890Smrg	int type;
9311ab64890Smrg	unsigned long serial;	/* # of last request processed by server */
9321ab64890Smrg	Bool send_event;	/* true if this came from a SendEvent request */
9331ab64890Smrg	Display *display;	/* Display the event was read from */
9341ab64890Smrg	Window window;
9351ab64890Smrg	Atom message_type;
9361ab64890Smrg	int format;
9371ab64890Smrg	union {
9381ab64890Smrg		char b[20];
9391ab64890Smrg		short s[10];
9401ab64890Smrg		long l[5];
9411ab64890Smrg		} data;
9421ab64890Smrg} XClientMessageEvent;
9431ab64890Smrg
9441ab64890Smrgtypedef struct {
9451ab64890Smrg	int type;
9461ab64890Smrg	unsigned long serial;	/* # of last request processed by server */
9471ab64890Smrg	Bool send_event;	/* true if this came from a SendEvent request */
9481ab64890Smrg	Display *display;	/* Display the event was read from */
9491ab64890Smrg	Window window;		/* unused */
9501ab64890Smrg	int request;		/* one of MappingModifier, MappingKeyboard,
9511ab64890Smrg				   MappingPointer */
9521ab64890Smrg	int first_keycode;	/* first keycode */
9531ab64890Smrg	int count;		/* defines range of change w. first_keycode*/
9541ab64890Smrg} XMappingEvent;
9551ab64890Smrg
9561ab64890Smrgtypedef struct {
9571ab64890Smrg	int type;
9581ab64890Smrg	Display *display;	/* Display the event was read from */
9591ab64890Smrg	XID resourceid;		/* resource id */
9601ab64890Smrg	unsigned long serial;	/* serial number of failed request */
9611ab64890Smrg	unsigned char error_code;	/* error code of failed request */
9621ab64890Smrg	unsigned char request_code;	/* Major op-code of failed request */
9631ab64890Smrg	unsigned char minor_code;	/* Minor op-code of failed request */
9641ab64890Smrg} XErrorEvent;
9651ab64890Smrg
9661ab64890Smrgtypedef struct {
9671ab64890Smrg	int type;
9681ab64890Smrg	unsigned long serial;	/* # of last request processed by server */
9691ab64890Smrg	Bool send_event;	/* true if this came from a SendEvent request */
9701ab64890Smrg	Display *display;/* Display the event was read from */
9711ab64890Smrg	Window window;	/* window on which event was requested in event mask */
9721ab64890Smrg} XAnyEvent;
9731ab64890Smrg
97461b2299dSmrg
97561b2299dSmrg/***************************************************************
97661b2299dSmrg *
97761b2299dSmrg * GenericEvent.  This event is the standard event for all newer extensions.
97861b2299dSmrg */
97961b2299dSmrg
98061b2299dSmrgtypedef struct
98161b2299dSmrg    {
98261b2299dSmrg    int            type;         /* of event. Always GenericEvent */
98361b2299dSmrg    unsigned long  serial;       /* # of last request processed */
98461b2299dSmrg    Bool           send_event;   /* true if from SendEvent request */
98561b2299dSmrg    Display        *display;     /* Display the event was read from */
98661b2299dSmrg    int            extension;    /* major opcode of extension that caused the event */
98761b2299dSmrg    int            evtype;       /* actual event type. */
98861b2299dSmrg    } XGenericEvent;
98961b2299dSmrg
9901ab64890Smrg/*
9911ab64890Smrg * this union is defined so Xlib can always use the same sized
9921ab64890Smrg * event structure internally, to avoid memory fragmentation.
9931ab64890Smrg */
9941ab64890Smrgtypedef union _XEvent {
9951ab64890Smrg        int type;		/* must not be changed; first element */
9961ab64890Smrg	XAnyEvent xany;
9971ab64890Smrg	XKeyEvent xkey;
9981ab64890Smrg	XButtonEvent xbutton;
9991ab64890Smrg	XMotionEvent xmotion;
10001ab64890Smrg	XCrossingEvent xcrossing;
10011ab64890Smrg	XFocusChangeEvent xfocus;
10021ab64890Smrg	XExposeEvent xexpose;
10031ab64890Smrg	XGraphicsExposeEvent xgraphicsexpose;
10041ab64890Smrg	XNoExposeEvent xnoexpose;
10051ab64890Smrg	XVisibilityEvent xvisibility;
10061ab64890Smrg	XCreateWindowEvent xcreatewindow;
10071ab64890Smrg	XDestroyWindowEvent xdestroywindow;
10081ab64890Smrg	XUnmapEvent xunmap;
10091ab64890Smrg	XMapEvent xmap;
10101ab64890Smrg	XMapRequestEvent xmaprequest;
10111ab64890Smrg	XReparentEvent xreparent;
10121ab64890Smrg	XConfigureEvent xconfigure;
10131ab64890Smrg	XGravityEvent xgravity;
10141ab64890Smrg	XResizeRequestEvent xresizerequest;
10151ab64890Smrg	XConfigureRequestEvent xconfigurerequest;
10161ab64890Smrg	XCirculateEvent xcirculate;
10171ab64890Smrg	XCirculateRequestEvent xcirculaterequest;
10181ab64890Smrg	XPropertyEvent xproperty;
10191ab64890Smrg	XSelectionClearEvent xselectionclear;
10201ab64890Smrg	XSelectionRequestEvent xselectionrequest;
10211ab64890Smrg	XSelectionEvent xselection;
10221ab64890Smrg	XColormapEvent xcolormap;
10231ab64890Smrg	XClientMessageEvent xclient;
10241ab64890Smrg	XMappingEvent xmapping;
10251ab64890Smrg	XErrorEvent xerror;
10261ab64890Smrg	XKeymapEvent xkeymap;
10271ab64890Smrg	long pad[24];
10281ab64890Smrg} XEvent;
10291ab64890Smrg#endif
10301ab64890Smrg
10311ab64890Smrg#define XAllocID(dpy) ((*((_XPrivDisplay)dpy)->resource_alloc)((dpy)))
10321ab64890Smrg
10331ab64890Smrg/*
10341ab64890Smrg * per character font metric information.
10351ab64890Smrg */
10361ab64890Smrgtypedef struct {
10371ab64890Smrg    short	lbearing;	/* origin to left edge of raster */
10381ab64890Smrg    short	rbearing;	/* origin to right edge of raster */
10391ab64890Smrg    short	width;		/* advance to next char's origin */
10401ab64890Smrg    short	ascent;		/* baseline to top edge of raster */
10411ab64890Smrg    short	descent;	/* baseline to bottom edge of raster */
10421ab64890Smrg    unsigned short attributes;	/* per char flags (not predefined) */
10431ab64890Smrg} XCharStruct;
10441ab64890Smrg
10451ab64890Smrg/*
10461ab64890Smrg * To allow arbitrary information with fonts, there are additional properties
10471ab64890Smrg * returned.
10481ab64890Smrg */
10491ab64890Smrgtypedef struct {
10501ab64890Smrg    Atom name;
10511ab64890Smrg    unsigned long card32;
10521ab64890Smrg} XFontProp;
10531ab64890Smrg
10541ab64890Smrgtypedef struct {
10551ab64890Smrg    XExtData	*ext_data;	/* hook for extension to hang data */
10561ab64890Smrg    Font        fid;            /* Font id for this font */
10571ab64890Smrg    unsigned	direction;	/* hint about direction the font is painted */
10581ab64890Smrg    unsigned	min_char_or_byte2;/* first character */
10591ab64890Smrg    unsigned	max_char_or_byte2;/* last character */
10601ab64890Smrg    unsigned	min_byte1;	/* first row that exists */
10611ab64890Smrg    unsigned	max_byte1;	/* last row that exists */
10621ab64890Smrg    Bool	all_chars_exist;/* flag if all characters have non-zero size*/
10631ab64890Smrg    unsigned	default_char;	/* char to print for undefined character */
10641ab64890Smrg    int         n_properties;   /* how many properties there are */
10651ab64890Smrg    XFontProp	*properties;	/* pointer to array of additional properties*/
10661ab64890Smrg    XCharStruct	min_bounds;	/* minimum bounds over all existing char*/
10671ab64890Smrg    XCharStruct	max_bounds;	/* maximum bounds over all existing char*/
10681ab64890Smrg    XCharStruct	*per_char;	/* first_char to last_char information */
10691ab64890Smrg    int		ascent;		/* log. extent above baseline for spacing */
10701ab64890Smrg    int		descent;	/* log. descent below baseline for spacing */
10711ab64890Smrg} XFontStruct;
10721ab64890Smrg
10731ab64890Smrg/*
10741ab64890Smrg * PolyText routines take these as arguments.
10751ab64890Smrg */
10761ab64890Smrgtypedef struct {
10771ab64890Smrg    char *chars;		/* pointer to string */
10781ab64890Smrg    int nchars;			/* number of characters */
10791ab64890Smrg    int delta;			/* delta between strings */
10801ab64890Smrg    Font font;			/* font to print it in, None don't change */
10811ab64890Smrg} XTextItem;
10821ab64890Smrg
10831ab64890Smrgtypedef struct {		/* normal 16 bit characters are two bytes */
10841ab64890Smrg    unsigned char byte1;
10851ab64890Smrg    unsigned char byte2;
10861ab64890Smrg} XChar2b;
10871ab64890Smrg
10881ab64890Smrgtypedef struct {
10891ab64890Smrg    XChar2b *chars;		/* two byte characters */
10901ab64890Smrg    int nchars;			/* number of characters */
10911ab64890Smrg    int delta;			/* delta between strings */
10921ab64890Smrg    Font font;			/* font to print it in, None don't change */
10931ab64890Smrg} XTextItem16;
10941ab64890Smrg
10951ab64890Smrg
10961ab64890Smrgtypedef union { Display *display;
10971ab64890Smrg		GC gc;
10981ab64890Smrg		Visual *visual;
10991ab64890Smrg		Screen *screen;
11001ab64890Smrg		ScreenFormat *pixmap_format;
11011ab64890Smrg		XFontStruct *font; } XEDataObject;
11021ab64890Smrg
11031ab64890Smrgtypedef struct {
11041ab64890Smrg    XRectangle      max_ink_extent;
11051ab64890Smrg    XRectangle      max_logical_extent;
11061ab64890Smrg} XFontSetExtents;
11071ab64890Smrg
11081ab64890Smrg/* unused:
11091ab64890Smrgtypedef void (*XOMProc)();
11101ab64890Smrg */
11111ab64890Smrg
11121ab64890Smrgtypedef struct _XOM *XOM;
11131ab64890Smrgtypedef struct _XOC *XOC, *XFontSet;
11141ab64890Smrg
11151ab64890Smrgtypedef struct {
11161ab64890Smrg    char           *chars;
11171ab64890Smrg    int             nchars;
11181ab64890Smrg    int             delta;
11191ab64890Smrg    XFontSet        font_set;
11201ab64890Smrg} XmbTextItem;
11211ab64890Smrg
11221ab64890Smrgtypedef struct {
11231ab64890Smrg    wchar_t        *chars;
11241ab64890Smrg    int             nchars;
11251ab64890Smrg    int             delta;
11261ab64890Smrg    XFontSet        font_set;
11271ab64890Smrg} XwcTextItem;
11281ab64890Smrg
11291ab64890Smrg#define XNRequiredCharSet "requiredCharSet"
11301ab64890Smrg#define XNQueryOrientation "queryOrientation"
11311ab64890Smrg#define XNBaseFontName "baseFontName"
11321ab64890Smrg#define XNOMAutomatic "omAutomatic"
11331ab64890Smrg#define XNMissingCharSet "missingCharSet"
11341ab64890Smrg#define XNDefaultString "defaultString"
11351ab64890Smrg#define XNOrientation "orientation"
11361ab64890Smrg#define XNDirectionalDependentDrawing "directionalDependentDrawing"
11371ab64890Smrg#define XNContextualDrawing "contextualDrawing"
11381ab64890Smrg#define XNFontInfo "fontInfo"
11391ab64890Smrg
11401ab64890Smrgtypedef struct {
11411ab64890Smrg    int charset_count;
11421ab64890Smrg    char **charset_list;
11431ab64890Smrg} XOMCharSetList;
11441ab64890Smrg
11451ab64890Smrgtypedef enum {
11461ab64890Smrg    XOMOrientation_LTR_TTB,
11471ab64890Smrg    XOMOrientation_RTL_TTB,
11481ab64890Smrg    XOMOrientation_TTB_LTR,
11491ab64890Smrg    XOMOrientation_TTB_RTL,
11501ab64890Smrg    XOMOrientation_Context
11511ab64890Smrg} XOrientation;
11521ab64890Smrg
11531ab64890Smrgtypedef struct {
11541ab64890Smrg    int num_orientation;
11551ab64890Smrg    XOrientation *orientation;	/* Input Text description */
11561ab64890Smrg} XOMOrientation;
11571ab64890Smrg
11581ab64890Smrgtypedef struct {
11591ab64890Smrg    int num_font;
11601ab64890Smrg    XFontStruct **font_struct_list;
11611ab64890Smrg    char **font_name_list;
11621ab64890Smrg} XOMFontInfo;
11631ab64890Smrg
11641ab64890Smrgtypedef struct _XIM *XIM;
11651ab64890Smrgtypedef struct _XIC *XIC;
11661ab64890Smrg
11671ab64890Smrgtypedef void (*XIMProc)(
11681ab64890Smrg    XIM,
11691ab64890Smrg    XPointer,
11701ab64890Smrg    XPointer
11711ab64890Smrg);
11721ab64890Smrg
11731ab64890Smrgtypedef Bool (*XICProc)(
11741ab64890Smrg    XIC,
11751ab64890Smrg    XPointer,
11761ab64890Smrg    XPointer
11771ab64890Smrg);
11781ab64890Smrg
11791ab64890Smrgtypedef void (*XIDProc)(
11801ab64890Smrg    Display*,
11811ab64890Smrg    XPointer,
11821ab64890Smrg    XPointer
11831ab64890Smrg);
11841ab64890Smrg
11851ab64890Smrgtypedef unsigned long XIMStyle;
11861ab64890Smrg
11871ab64890Smrgtypedef struct {
11881ab64890Smrg    unsigned short count_styles;
11891ab64890Smrg    XIMStyle *supported_styles;
11901ab64890Smrg} XIMStyles;
11911ab64890Smrg
11921ab64890Smrg#define XIMPreeditArea		0x0001L
11931ab64890Smrg#define XIMPreeditCallbacks	0x0002L
11941ab64890Smrg#define XIMPreeditPosition	0x0004L
11951ab64890Smrg#define XIMPreeditNothing	0x0008L
11961ab64890Smrg#define XIMPreeditNone		0x0010L
11971ab64890Smrg#define XIMStatusArea		0x0100L
11981ab64890Smrg#define XIMStatusCallbacks	0x0200L
11991ab64890Smrg#define XIMStatusNothing	0x0400L
12001ab64890Smrg#define XIMStatusNone		0x0800L
12011ab64890Smrg
12021ab64890Smrg#define XNVaNestedList "XNVaNestedList"
12031ab64890Smrg#define XNQueryInputStyle "queryInputStyle"
12041ab64890Smrg#define XNClientWindow "clientWindow"
12051ab64890Smrg#define XNInputStyle "inputStyle"
12061ab64890Smrg#define XNFocusWindow "focusWindow"
12071ab64890Smrg#define XNResourceName "resourceName"
12081ab64890Smrg#define XNResourceClass "resourceClass"
12091ab64890Smrg#define XNGeometryCallback "geometryCallback"
12101ab64890Smrg#define XNDestroyCallback "destroyCallback"
12111ab64890Smrg#define XNFilterEvents "filterEvents"
12121ab64890Smrg#define XNPreeditStartCallback "preeditStartCallback"
12131ab64890Smrg#define XNPreeditDoneCallback "preeditDoneCallback"
12141ab64890Smrg#define XNPreeditDrawCallback "preeditDrawCallback"
12151ab64890Smrg#define XNPreeditCaretCallback "preeditCaretCallback"
12161ab64890Smrg#define XNPreeditStateNotifyCallback "preeditStateNotifyCallback"
12171ab64890Smrg#define XNPreeditAttributes "preeditAttributes"
12181ab64890Smrg#define XNStatusStartCallback "statusStartCallback"
12191ab64890Smrg#define XNStatusDoneCallback "statusDoneCallback"
12201ab64890Smrg#define XNStatusDrawCallback "statusDrawCallback"
12211ab64890Smrg#define XNStatusAttributes "statusAttributes"
12221ab64890Smrg#define XNArea "area"
12231ab64890Smrg#define XNAreaNeeded "areaNeeded"
12241ab64890Smrg#define XNSpotLocation "spotLocation"
12251ab64890Smrg#define XNColormap "colorMap"
12261ab64890Smrg#define XNStdColormap "stdColorMap"
12271ab64890Smrg#define XNForeground "foreground"
12281ab64890Smrg#define XNBackground "background"
12291ab64890Smrg#define XNBackgroundPixmap "backgroundPixmap"
12301ab64890Smrg#define XNFontSet "fontSet"
12311ab64890Smrg#define XNLineSpace "lineSpace"
12321ab64890Smrg#define XNCursor "cursor"
12331ab64890Smrg
12341ab64890Smrg#define XNQueryIMValuesList "queryIMValuesList"
12351ab64890Smrg#define XNQueryICValuesList "queryICValuesList"
12361ab64890Smrg#define XNVisiblePosition "visiblePosition"
12371ab64890Smrg#define XNR6PreeditCallback "r6PreeditCallback"
12381ab64890Smrg#define XNStringConversionCallback "stringConversionCallback"
12391ab64890Smrg#define XNStringConversion "stringConversion"
12401ab64890Smrg#define XNResetState "resetState"
12411ab64890Smrg#define XNHotKey "hotKey"
12421ab64890Smrg#define XNHotKeyState "hotKeyState"
12431ab64890Smrg#define XNPreeditState "preeditState"
12441ab64890Smrg#define XNSeparatorofNestedList "separatorofNestedList"
12451ab64890Smrg
12461ab64890Smrg#define XBufferOverflow		-1
12471ab64890Smrg#define XLookupNone		1
12481ab64890Smrg#define XLookupChars		2
12491ab64890Smrg#define XLookupKeySym		3
12501ab64890Smrg#define XLookupBoth		4
12511ab64890Smrg
12521ab64890Smrgtypedef void *XVaNestedList;
12531ab64890Smrg
12541ab64890Smrgtypedef struct {
12551ab64890Smrg    XPointer client_data;
12561ab64890Smrg    XIMProc callback;
12571ab64890Smrg} XIMCallback;
12581ab64890Smrg
12591ab64890Smrgtypedef struct {
12601ab64890Smrg    XPointer client_data;
12611ab64890Smrg    XICProc callback;
12621ab64890Smrg} XICCallback;
12631ab64890Smrg
12641ab64890Smrgtypedef unsigned long XIMFeedback;
12651ab64890Smrg
12661ab64890Smrg#define XIMReverse		1L
126761b2299dSmrg#define XIMUnderline		(1L<<1)
12681ab64890Smrg#define XIMHighlight		(1L<<2)
12691ab64890Smrg#define XIMPrimary	 	(1L<<5)
12701ab64890Smrg#define XIMSecondary		(1L<<6)
12711ab64890Smrg#define XIMTertiary	 	(1L<<7)
12721ab64890Smrg#define XIMVisibleToForward 	(1L<<8)
12731ab64890Smrg#define XIMVisibleToBackword 	(1L<<9)
12741ab64890Smrg#define XIMVisibleToCenter 	(1L<<10)
12751ab64890Smrg
12761ab64890Smrgtypedef struct _XIMText {
12771ab64890Smrg    unsigned short length;
12781ab64890Smrg    XIMFeedback *feedback;
127961b2299dSmrg    Bool encoding_is_wchar;
12801ab64890Smrg    union {
12811ab64890Smrg	char *multi_byte;
12821ab64890Smrg	wchar_t *wide_char;
128361b2299dSmrg    } string;
12841ab64890Smrg} XIMText;
12851ab64890Smrg
12861ab64890Smrgtypedef	unsigned long	 XIMPreeditState;
12871ab64890Smrg
12881ab64890Smrg#define	XIMPreeditUnKnown	0L
12891ab64890Smrg#define	XIMPreeditEnable	1L
12901ab64890Smrg#define	XIMPreeditDisable	(1L<<1)
12911ab64890Smrg
12921ab64890Smrgtypedef	struct	_XIMPreeditStateNotifyCallbackStruct {
12931ab64890Smrg    XIMPreeditState state;
12941ab64890Smrg} XIMPreeditStateNotifyCallbackStruct;
12951ab64890Smrg
12961ab64890Smrgtypedef	unsigned long	 XIMResetState;
12971ab64890Smrg
12981ab64890Smrg#define	XIMInitialState		1L
12991ab64890Smrg#define	XIMPreserveState	(1L<<1)
13001ab64890Smrg
13011ab64890Smrgtypedef unsigned long XIMStringConversionFeedback;
13021ab64890Smrg
13031ab64890Smrg#define	XIMStringConversionLeftEdge	(0x00000001)
13041ab64890Smrg#define	XIMStringConversionRightEdge	(0x00000002)
13051ab64890Smrg#define	XIMStringConversionTopEdge	(0x00000004)
13061ab64890Smrg#define	XIMStringConversionBottomEdge	(0x00000008)
13071ab64890Smrg#define	XIMStringConversionConcealed	(0x00000010)
13081ab64890Smrg#define	XIMStringConversionWrapped	(0x00000020)
13091ab64890Smrg
13101ab64890Smrgtypedef struct _XIMStringConversionText {
13111ab64890Smrg    unsigned short length;
13121ab64890Smrg    XIMStringConversionFeedback *feedback;
131361b2299dSmrg    Bool encoding_is_wchar;
13141ab64890Smrg    union {
13151ab64890Smrg	char *mbs;
13161ab64890Smrg	wchar_t *wcs;
131761b2299dSmrg    } string;
13181ab64890Smrg} XIMStringConversionText;
13191ab64890Smrg
13201ab64890Smrgtypedef	unsigned short	XIMStringConversionPosition;
13211ab64890Smrg
13221ab64890Smrgtypedef	unsigned short	XIMStringConversionType;
13231ab64890Smrg
13241ab64890Smrg#define	XIMStringConversionBuffer	(0x0001)
13251ab64890Smrg#define	XIMStringConversionLine		(0x0002)
13261ab64890Smrg#define	XIMStringConversionWord		(0x0003)
13271ab64890Smrg#define	XIMStringConversionChar		(0x0004)
13281ab64890Smrg
13291ab64890Smrgtypedef	unsigned short	XIMStringConversionOperation;
13301ab64890Smrg
13311ab64890Smrg#define	XIMStringConversionSubstitution	(0x0001)
13321ab64890Smrg#define	XIMStringConversionRetrieval	(0x0002)
13331ab64890Smrg
13341ab64890Smrgtypedef enum {
13351ab64890Smrg    XIMForwardChar, XIMBackwardChar,
13361ab64890Smrg    XIMForwardWord, XIMBackwardWord,
13371ab64890Smrg    XIMCaretUp, XIMCaretDown,
13381ab64890Smrg    XIMNextLine, XIMPreviousLine,
133961b2299dSmrg    XIMLineStart, XIMLineEnd,
13401ab64890Smrg    XIMAbsolutePosition,
13411ab64890Smrg    XIMDontChange
13421ab64890Smrg} XIMCaretDirection;
13431ab64890Smrg
13441ab64890Smrgtypedef struct _XIMStringConversionCallbackStruct {
13451ab64890Smrg    XIMStringConversionPosition position;
13461ab64890Smrg    XIMCaretDirection direction;
13471ab64890Smrg    XIMStringConversionOperation operation;
13481ab64890Smrg    unsigned short factor;
13491ab64890Smrg    XIMStringConversionText *text;
13501ab64890Smrg} XIMStringConversionCallbackStruct;
13511ab64890Smrg
13521ab64890Smrgtypedef struct _XIMPreeditDrawCallbackStruct {
13531ab64890Smrg    int caret;		/* Cursor offset within pre-edit string */
13541ab64890Smrg    int chg_first;	/* Starting change position */
13551ab64890Smrg    int chg_length;	/* Length of the change in character count */
13561ab64890Smrg    XIMText *text;
13571ab64890Smrg} XIMPreeditDrawCallbackStruct;
13581ab64890Smrg
13591ab64890Smrgtypedef enum {
136061b2299dSmrg    XIMIsInvisible,	/* Disable caret feedback */
13611ab64890Smrg    XIMIsPrimary,	/* UI defined caret feedback */
13621ab64890Smrg    XIMIsSecondary	/* UI defined caret feedback */
13631ab64890Smrg} XIMCaretStyle;
13641ab64890Smrg
13651ab64890Smrgtypedef struct _XIMPreeditCaretCallbackStruct {
13661ab64890Smrg    int position;		 /* Caret offset within pre-edit string */
13671ab64890Smrg    XIMCaretDirection direction; /* Caret moves direction */
13681ab64890Smrg    XIMCaretStyle style;	 /* Feedback of the caret */
13691ab64890Smrg} XIMPreeditCaretCallbackStruct;
13701ab64890Smrg
13711ab64890Smrgtypedef enum {
13721ab64890Smrg    XIMTextType,
13731ab64890Smrg    XIMBitmapType
13741ab64890Smrg} XIMStatusDataType;
137561b2299dSmrg
13761ab64890Smrgtypedef struct _XIMStatusDrawCallbackStruct {
13771ab64890Smrg    XIMStatusDataType type;
13781ab64890Smrg    union {
13791ab64890Smrg	XIMText *text;
13801ab64890Smrg	Pixmap  bitmap;
13811ab64890Smrg    } data;
13821ab64890Smrg} XIMStatusDrawCallbackStruct;
13831ab64890Smrg
13841ab64890Smrgtypedef struct _XIMHotKeyTrigger {
13851ab64890Smrg    KeySym	 keysym;
13861ab64890Smrg    int		 modifier;
13871ab64890Smrg    int		 modifier_mask;
13881ab64890Smrg} XIMHotKeyTrigger;
13891ab64890Smrg
13901ab64890Smrgtypedef struct _XIMHotKeyTriggers {
13911ab64890Smrg    int			 num_hot_key;
13921ab64890Smrg    XIMHotKeyTrigger	*key;
13931ab64890Smrg} XIMHotKeyTriggers;
13941ab64890Smrg
13951ab64890Smrgtypedef	unsigned long	 XIMHotKeyState;
13961ab64890Smrg
13971ab64890Smrg#define	XIMHotKeyStateON	(0x0001L)
13981ab64890Smrg#define	XIMHotKeyStateOFF	(0x0002L)
13991ab64890Smrg
14001ab64890Smrgtypedef struct {
14011ab64890Smrg    unsigned short count_values;
14021ab64890Smrg    char **supported_values;
14031ab64890Smrg} XIMValuesList;
14041ab64890Smrg
14051ab64890Smrg_XFUNCPROTOBEGIN
14061ab64890Smrg
14071ab64890Smrg#if defined(WIN32) && !defined(_XLIBINT_)
14081ab64890Smrg#define _Xdebug (*_Xdebug_p)
14091ab64890Smrg#endif
14101ab64890Smrg
14111ab64890Smrgextern int _Xdebug;
14121ab64890Smrg
14131ab64890Smrgextern XFontStruct *XLoadQueryFont(
14141ab64890Smrg    Display*		/* display */,
14151ab64890Smrg    _Xconst char*	/* name */
14161ab64890Smrg);
14171ab64890Smrg
14181ab64890Smrgextern XFontStruct *XQueryFont(
14191ab64890Smrg    Display*		/* display */,
14201ab64890Smrg    XID			/* font_ID */
14211ab64890Smrg);
14221ab64890Smrg
14231ab64890Smrg
14241ab64890Smrgextern XTimeCoord *XGetMotionEvents(
14251ab64890Smrg    Display*		/* display */,
14261ab64890Smrg    Window		/* w */,
14271ab64890Smrg    Time		/* start */,
14281ab64890Smrg    Time		/* stop */,
14291ab64890Smrg    int*		/* nevents_return */
14301ab64890Smrg);
14311ab64890Smrg
14321ab64890Smrgextern XModifierKeymap *XDeleteModifiermapEntry(
14331ab64890Smrg    XModifierKeymap*	/* modmap */,
14341ab64890Smrg#if NeedWidePrototypes
14351ab64890Smrg    unsigned int	/* keycode_entry */,
14361ab64890Smrg#else
14371ab64890Smrg    KeyCode		/* keycode_entry */,
14381ab64890Smrg#endif
14391ab64890Smrg    int			/* modifier */
14401ab64890Smrg);
14411ab64890Smrg
14421ab64890Smrgextern XModifierKeymap	*XGetModifierMapping(
14431ab64890Smrg    Display*		/* display */
14441ab64890Smrg);
14451ab64890Smrg
14461ab64890Smrgextern XModifierKeymap	*XInsertModifiermapEntry(
14471ab64890Smrg    XModifierKeymap*	/* modmap */,
14481ab64890Smrg#if NeedWidePrototypes
14491ab64890Smrg    unsigned int	/* keycode_entry */,
14501ab64890Smrg#else
14511ab64890Smrg    KeyCode		/* keycode_entry */,
14521ab64890Smrg#endif
145361b2299dSmrg    int			/* modifier */
14541ab64890Smrg);
14551ab64890Smrg
14561ab64890Smrgextern XModifierKeymap *XNewModifiermap(
14571ab64890Smrg    int			/* max_keys_per_mod */
14581ab64890Smrg);
14591ab64890Smrg
14601ab64890Smrgextern XImage *XCreateImage(
14611ab64890Smrg    Display*		/* display */,
14621ab64890Smrg    Visual*		/* visual */,
14631ab64890Smrg    unsigned int	/* depth */,
14641ab64890Smrg    int			/* format */,
14651ab64890Smrg    int			/* offset */,
14661ab64890Smrg    char*		/* data */,
14671ab64890Smrg    unsigned int	/* width */,
14681ab64890Smrg    unsigned int	/* height */,
14691ab64890Smrg    int			/* bitmap_pad */,
14701ab64890Smrg    int			/* bytes_per_line */
14711ab64890Smrg);
14721ab64890Smrgextern Status XInitImage(
14731ab64890Smrg    XImage*		/* image */
14741ab64890Smrg);
14751ab64890Smrgextern XImage *XGetImage(
14761ab64890Smrg    Display*		/* display */,
14771ab64890Smrg    Drawable		/* d */,
14781ab64890Smrg    int			/* x */,
14791ab64890Smrg    int			/* y */,
14801ab64890Smrg    unsigned int	/* width */,
14811ab64890Smrg    unsigned int	/* height */,
14821ab64890Smrg    unsigned long	/* plane_mask */,
14831ab64890Smrg    int			/* format */
14841ab64890Smrg);
14851ab64890Smrgextern XImage *XGetSubImage(
14861ab64890Smrg    Display*		/* display */,
14871ab64890Smrg    Drawable		/* d */,
14881ab64890Smrg    int			/* x */,
14891ab64890Smrg    int			/* y */,
14901ab64890Smrg    unsigned int	/* width */,
14911ab64890Smrg    unsigned int	/* height */,
14921ab64890Smrg    unsigned long	/* plane_mask */,
14931ab64890Smrg    int			/* format */,
14941ab64890Smrg    XImage*		/* dest_image */,
14951ab64890Smrg    int			/* dest_x */,
14961ab64890Smrg    int			/* dest_y */
14971ab64890Smrg);
14981ab64890Smrg
149961b2299dSmrg/*
15001ab64890Smrg * X function declarations.
15011ab64890Smrg */
15021ab64890Smrgextern Display *XOpenDisplay(
15031ab64890Smrg    _Xconst char*	/* display_name */
15041ab64890Smrg);
15051ab64890Smrg
15061ab64890Smrgextern void XrmInitialize(
15071ab64890Smrg    void
15081ab64890Smrg);
15091ab64890Smrg
15101ab64890Smrgextern char *XFetchBytes(
15111ab64890Smrg    Display*		/* display */,
15121ab64890Smrg    int*		/* nbytes_return */
15131ab64890Smrg);
15141ab64890Smrgextern char *XFetchBuffer(
15151ab64890Smrg    Display*		/* display */,
15161ab64890Smrg    int*		/* nbytes_return */,
15171ab64890Smrg    int			/* buffer */
15181ab64890Smrg);
15191ab64890Smrgextern char *XGetAtomName(
15201ab64890Smrg    Display*		/* display */,
15211ab64890Smrg    Atom		/* atom */
15221ab64890Smrg);
15231ab64890Smrgextern Status XGetAtomNames(
15241ab64890Smrg    Display*		/* dpy */,
15251ab64890Smrg    Atom*		/* atoms */,
15261ab64890Smrg    int			/* count */,
15271ab64890Smrg    char**		/* names_return */
15281ab64890Smrg);
15291ab64890Smrgextern char *XGetDefault(
15301ab64890Smrg    Display*		/* display */,
15311ab64890Smrg    _Xconst char*	/* program */,
153261b2299dSmrg    _Xconst char*	/* option */
15331ab64890Smrg);
15341ab64890Smrgextern char *XDisplayName(
15351ab64890Smrg    _Xconst char*	/* string */
15361ab64890Smrg);
15371ab64890Smrgextern char *XKeysymToString(
15381ab64890Smrg    KeySym		/* keysym */
15391ab64890Smrg);
15401ab64890Smrg
15411ab64890Smrgextern int (*XSynchronize(
15421ab64890Smrg    Display*		/* display */,
15431ab64890Smrg    Bool		/* onoff */
15441ab64890Smrg))(
15451ab64890Smrg    Display*		/* display */
15461ab64890Smrg);
15471ab64890Smrgextern int (*XSetAfterFunction(
15481ab64890Smrg    Display*		/* display */,
15491ab64890Smrg    int (*) (
15501ab64890Smrg	     Display*	/* display */
15511ab64890Smrg            )		/* procedure */
15521ab64890Smrg))(
15531ab64890Smrg    Display*		/* display */
15541ab64890Smrg);
15551ab64890Smrgextern Atom XInternAtom(
15561ab64890Smrg    Display*		/* display */,
15571ab64890Smrg    _Xconst char*	/* atom_name */,
155861b2299dSmrg    Bool		/* only_if_exists */
15591ab64890Smrg);
15601ab64890Smrgextern Status XInternAtoms(
15611ab64890Smrg    Display*		/* dpy */,
15621ab64890Smrg    char**		/* names */,
15631ab64890Smrg    int			/* count */,
15641ab64890Smrg    Bool		/* onlyIfExists */,
15651ab64890Smrg    Atom*		/* atoms_return */
15661ab64890Smrg);
15671ab64890Smrgextern Colormap XCopyColormapAndFree(
15681ab64890Smrg    Display*		/* display */,
15691ab64890Smrg    Colormap		/* colormap */
15701ab64890Smrg);
15711ab64890Smrgextern Colormap XCreateColormap(
15721ab64890Smrg    Display*		/* display */,
15731ab64890Smrg    Window		/* w */,
15741ab64890Smrg    Visual*		/* visual */,
157561b2299dSmrg    int			/* alloc */
15761ab64890Smrg);
15771ab64890Smrgextern Cursor XCreatePixmapCursor(
15781ab64890Smrg    Display*		/* display */,
15791ab64890Smrg    Pixmap		/* source */,
15801ab64890Smrg    Pixmap		/* mask */,
15811ab64890Smrg    XColor*		/* foreground_color */,
15821ab64890Smrg    XColor*		/* background_color */,
15831ab64890Smrg    unsigned int	/* x */,
158461b2299dSmrg    unsigned int	/* y */
15851ab64890Smrg);
15861ab64890Smrgextern Cursor XCreateGlyphCursor(
15871ab64890Smrg    Display*		/* display */,
15881ab64890Smrg    Font		/* source_font */,
15891ab64890Smrg    Font		/* mask_font */,
15901ab64890Smrg    unsigned int	/* source_char */,
15911ab64890Smrg    unsigned int	/* mask_char */,
15921ab64890Smrg    XColor _Xconst *	/* foreground_color */,
15931ab64890Smrg    XColor _Xconst *	/* background_color */
15941ab64890Smrg);
15951ab64890Smrgextern Cursor XCreateFontCursor(
15961ab64890Smrg    Display*		/* display */,
15971ab64890Smrg    unsigned int	/* shape */
15981ab64890Smrg);
15991ab64890Smrgextern Font XLoadFont(
16001ab64890Smrg    Display*		/* display */,
16011ab64890Smrg    _Xconst char*	/* name */
16021ab64890Smrg);
16031ab64890Smrgextern GC XCreateGC(
16041ab64890Smrg    Display*		/* display */,
16051ab64890Smrg    Drawable		/* d */,
16061ab64890Smrg    unsigned long	/* valuemask */,
16071ab64890Smrg    XGCValues*		/* values */
16081ab64890Smrg);
16091ab64890Smrgextern GContext XGContextFromGC(
16101ab64890Smrg    GC			/* gc */
16111ab64890Smrg);
16121ab64890Smrgextern void XFlushGC(
16131ab64890Smrg    Display*		/* display */,
16141ab64890Smrg    GC			/* gc */
16151ab64890Smrg);
16161ab64890Smrgextern Pixmap XCreatePixmap(
16171ab64890Smrg    Display*		/* display */,
16181ab64890Smrg    Drawable		/* d */,
16191ab64890Smrg    unsigned int	/* width */,
16201ab64890Smrg    unsigned int	/* height */,
162161b2299dSmrg    unsigned int	/* depth */
16221ab64890Smrg);
16231ab64890Smrgextern Pixmap XCreateBitmapFromData(
16241ab64890Smrg    Display*		/* display */,
16251ab64890Smrg    Drawable		/* d */,
16261ab64890Smrg    _Xconst char*	/* data */,
16271ab64890Smrg    unsigned int	/* width */,
16281ab64890Smrg    unsigned int	/* height */
16291ab64890Smrg);
16301ab64890Smrgextern Pixmap XCreatePixmapFromBitmapData(
16311ab64890Smrg    Display*		/* display */,
16321ab64890Smrg    Drawable		/* d */,
16331ab64890Smrg    char*		/* data */,
16341ab64890Smrg    unsigned int	/* width */,
16351ab64890Smrg    unsigned int	/* height */,
16361ab64890Smrg    unsigned long	/* fg */,
16371ab64890Smrg    unsigned long	/* bg */,
16381ab64890Smrg    unsigned int	/* depth */
16391ab64890Smrg);
16401ab64890Smrgextern Window XCreateSimpleWindow(
16411ab64890Smrg    Display*		/* display */,
16421ab64890Smrg    Window		/* parent */,
16431ab64890Smrg    int			/* x */,
16441ab64890Smrg    int			/* y */,
16451ab64890Smrg    unsigned int	/* width */,
16461ab64890Smrg    unsigned int	/* height */,
16471ab64890Smrg    unsigned int	/* border_width */,
16481ab64890Smrg    unsigned long	/* border */,
16491ab64890Smrg    unsigned long	/* background */
16501ab64890Smrg);
16511ab64890Smrgextern Window XGetSelectionOwner(
16521ab64890Smrg    Display*		/* display */,
16531ab64890Smrg    Atom		/* selection */
16541ab64890Smrg);
16551ab64890Smrgextern Window XCreateWindow(
16561ab64890Smrg    Display*		/* display */,
16571ab64890Smrg    Window		/* parent */,
16581ab64890Smrg    int			/* x */,
16591ab64890Smrg    int			/* y */,
16601ab64890Smrg    unsigned int	/* width */,
16611ab64890Smrg    unsigned int	/* height */,
16621ab64890Smrg    unsigned int	/* border_width */,
16631ab64890Smrg    int			/* depth */,
16641ab64890Smrg    unsigned int	/* class */,
16651ab64890Smrg    Visual*		/* visual */,
16661ab64890Smrg    unsigned long	/* valuemask */,
16671ab64890Smrg    XSetWindowAttributes*	/* attributes */
166861b2299dSmrg);
16691ab64890Smrgextern Colormap *XListInstalledColormaps(
16701ab64890Smrg    Display*		/* display */,
16711ab64890Smrg    Window		/* w */,
16721ab64890Smrg    int*		/* num_return */
16731ab64890Smrg);
16741ab64890Smrgextern char **XListFonts(
16751ab64890Smrg    Display*		/* display */,
16761ab64890Smrg    _Xconst char*	/* pattern */,
16771ab64890Smrg    int			/* maxnames */,
16781ab64890Smrg    int*		/* actual_count_return */
16791ab64890Smrg);
16801ab64890Smrgextern char **XListFontsWithInfo(
16811ab64890Smrg    Display*		/* display */,
16821ab64890Smrg    _Xconst char*	/* pattern */,
16831ab64890Smrg    int			/* maxnames */,
16841ab64890Smrg    int*		/* count_return */,
16851ab64890Smrg    XFontStruct**	/* info_return */
16861ab64890Smrg);
16871ab64890Smrgextern char **XGetFontPath(
16881ab64890Smrg    Display*		/* display */,
16891ab64890Smrg    int*		/* npaths_return */
16901ab64890Smrg);
16911ab64890Smrgextern char **XListExtensions(
16921ab64890Smrg    Display*		/* display */,
16931ab64890Smrg    int*		/* nextensions_return */
16941ab64890Smrg);
16951ab64890Smrgextern Atom *XListProperties(
16961ab64890Smrg    Display*		/* display */,
16971ab64890Smrg    Window		/* w */,
16981ab64890Smrg    int*		/* num_prop_return */
16991ab64890Smrg);
17001ab64890Smrgextern XHostAddress *XListHosts(
17011ab64890Smrg    Display*		/* display */,
17021ab64890Smrg    int*		/* nhosts_return */,
17031ab64890Smrg    Bool*		/* state_return */
17041ab64890Smrg);
17051ab64890Smrgextern KeySym XKeycodeToKeysym(
17061ab64890Smrg    Display*		/* display */,
17071ab64890Smrg#if NeedWidePrototypes
17081ab64890Smrg    unsigned int	/* keycode */,
17091ab64890Smrg#else
17101ab64890Smrg    KeyCode		/* keycode */,
17111ab64890Smrg#endif
17121ab64890Smrg    int			/* index */
17131ab64890Smrg);
17141ab64890Smrgextern KeySym XLookupKeysym(
17151ab64890Smrg    XKeyEvent*		/* key_event */,
17161ab64890Smrg    int			/* index */
17171ab64890Smrg);
17181ab64890Smrgextern KeySym *XGetKeyboardMapping(
17191ab64890Smrg    Display*		/* display */,
17201ab64890Smrg#if NeedWidePrototypes
17211ab64890Smrg    unsigned int	/* first_keycode */,
17221ab64890Smrg#else
17231ab64890Smrg    KeyCode		/* first_keycode */,
17241ab64890Smrg#endif
17251ab64890Smrg    int			/* keycode_count */,
17261ab64890Smrg    int*		/* keysyms_per_keycode_return */
17271ab64890Smrg);
17281ab64890Smrgextern KeySym XStringToKeysym(
17291ab64890Smrg    _Xconst char*	/* string */
17301ab64890Smrg);
17311ab64890Smrgextern long XMaxRequestSize(
17321ab64890Smrg    Display*		/* display */
17331ab64890Smrg);
17341ab64890Smrgextern long XExtendedMaxRequestSize(
17351ab64890Smrg    Display*		/* display */
17361ab64890Smrg);
17371ab64890Smrgextern char *XResourceManagerString(
17381ab64890Smrg    Display*		/* display */
17391ab64890Smrg);
17401ab64890Smrgextern char *XScreenResourceString(
17411ab64890Smrg	Screen*		/* screen */
17421ab64890Smrg);
17431ab64890Smrgextern unsigned long XDisplayMotionBufferSize(
17441ab64890Smrg    Display*		/* display */
17451ab64890Smrg);
17461ab64890Smrgextern VisualID XVisualIDFromVisual(
17471ab64890Smrg    Visual*		/* visual */
17481ab64890Smrg);
17491ab64890Smrg
17501ab64890Smrg/* multithread routines */
17511ab64890Smrg
17521ab64890Smrgextern Status XInitThreads(
17531ab64890Smrg    void
17541ab64890Smrg);
17551ab64890Smrg
17561ab64890Smrgextern void XLockDisplay(
17571ab64890Smrg    Display*		/* display */
17581ab64890Smrg);
17591ab64890Smrg
17601ab64890Smrgextern void XUnlockDisplay(
17611ab64890Smrg    Display*		/* display */
17621ab64890Smrg);
17631ab64890Smrg
17641ab64890Smrg/* routines for dealing with extensions */
17651ab64890Smrg
17661ab64890Smrgextern XExtCodes *XInitExtension(
17671ab64890Smrg    Display*		/* display */,
17681ab64890Smrg    _Xconst char*	/* name */
17691ab64890Smrg);
17701ab64890Smrg
17711ab64890Smrgextern XExtCodes *XAddExtension(
17721ab64890Smrg    Display*		/* display */
17731ab64890Smrg);
17741ab64890Smrgextern XExtData *XFindOnExtensionList(
17751ab64890Smrg    XExtData**		/* structure */,
17761ab64890Smrg    int			/* number */
17771ab64890Smrg);
17781ab64890Smrgextern XExtData **XEHeadOfExtensionList(
17791ab64890Smrg    XEDataObject	/* object */
17801ab64890Smrg);
17811ab64890Smrg
17821ab64890Smrg/* these are routines for which there are also macros */
17831ab64890Smrgextern Window XRootWindow(
17841ab64890Smrg    Display*		/* display */,
17851ab64890Smrg    int			/* screen_number */
17861ab64890Smrg);
17871ab64890Smrgextern Window XDefaultRootWindow(
17881ab64890Smrg    Display*		/* display */
17891ab64890Smrg);
17901ab64890Smrgextern Window XRootWindowOfScreen(
17911ab64890Smrg    Screen*		/* screen */
17921ab64890Smrg);
17931ab64890Smrgextern Visual *XDefaultVisual(
17941ab64890Smrg    Display*		/* display */,
17951ab64890Smrg    int			/* screen_number */
17961ab64890Smrg);
17971ab64890Smrgextern Visual *XDefaultVisualOfScreen(
17981ab64890Smrg    Screen*		/* screen */
17991ab64890Smrg);
18001ab64890Smrgextern GC XDefaultGC(
18011ab64890Smrg    Display*		/* display */,
18021ab64890Smrg    int			/* screen_number */
18031ab64890Smrg);
18041ab64890Smrgextern GC XDefaultGCOfScreen(
18051ab64890Smrg    Screen*		/* screen */
18061ab64890Smrg);
18071ab64890Smrgextern unsigned long XBlackPixel(
18081ab64890Smrg    Display*		/* display */,
18091ab64890Smrg    int			/* screen_number */
18101ab64890Smrg);
18111ab64890Smrgextern unsigned long XWhitePixel(
18121ab64890Smrg    Display*		/* display */,
18131ab64890Smrg    int			/* screen_number */
18141ab64890Smrg);
18151ab64890Smrgextern unsigned long XAllPlanes(
18161ab64890Smrg    void
18171ab64890Smrg);
18181ab64890Smrgextern unsigned long XBlackPixelOfScreen(
18191ab64890Smrg    Screen*		/* screen */
18201ab64890Smrg);
18211ab64890Smrgextern unsigned long XWhitePixelOfScreen(
18221ab64890Smrg    Screen*		/* screen */
18231ab64890Smrg);
18241ab64890Smrgextern unsigned long XNextRequest(
18251ab64890Smrg    Display*		/* display */
18261ab64890Smrg);
18271ab64890Smrgextern unsigned long XLastKnownRequestProcessed(
18281ab64890Smrg    Display*		/* display */
18291ab64890Smrg);
18301ab64890Smrgextern char *XServerVendor(
18311ab64890Smrg    Display*		/* display */
18321ab64890Smrg);
18331ab64890Smrgextern char *XDisplayString(
18341ab64890Smrg    Display*		/* display */
18351ab64890Smrg);
18361ab64890Smrgextern Colormap XDefaultColormap(
18371ab64890Smrg    Display*		/* display */,
18381ab64890Smrg    int			/* screen_number */
18391ab64890Smrg);
18401ab64890Smrgextern Colormap XDefaultColormapOfScreen(
18411ab64890Smrg    Screen*		/* screen */
18421ab64890Smrg);
18431ab64890Smrgextern Display *XDisplayOfScreen(
18441ab64890Smrg    Screen*		/* screen */
18451ab64890Smrg);
18461ab64890Smrgextern Screen *XScreenOfDisplay(
18471ab64890Smrg    Display*		/* display */,
18481ab64890Smrg    int			/* screen_number */
18491ab64890Smrg);
18501ab64890Smrgextern Screen *XDefaultScreenOfDisplay(
18511ab64890Smrg    Display*		/* display */
18521ab64890Smrg);
18531ab64890Smrgextern long XEventMaskOfScreen(
18541ab64890Smrg    Screen*		/* screen */
18551ab64890Smrg);
18561ab64890Smrg
18571ab64890Smrgextern int XScreenNumberOfScreen(
18581ab64890Smrg    Screen*		/* screen */
18591ab64890Smrg);
18601ab64890Smrg
18611ab64890Smrgtypedef int (*XErrorHandler) (	    /* WARNING, this type not in Xlib spec */
18621ab64890Smrg    Display*		/* display */,
18631ab64890Smrg    XErrorEvent*	/* error_event */
18641ab64890Smrg);
18651ab64890Smrg
18661ab64890Smrgextern XErrorHandler XSetErrorHandler (
18671ab64890Smrg    XErrorHandler	/* handler */
18681ab64890Smrg);
18691ab64890Smrg
18701ab64890Smrg
18711ab64890Smrgtypedef int (*XIOErrorHandler) (    /* WARNING, this type not in Xlib spec */
18721ab64890Smrg    Display*		/* display */
18731ab64890Smrg);
18741ab64890Smrg
18751ab64890Smrgextern XIOErrorHandler XSetIOErrorHandler (
18761ab64890Smrg    XIOErrorHandler	/* handler */
18771ab64890Smrg);
18781ab64890Smrg
18791ab64890Smrg
18801ab64890Smrgextern XPixmapFormatValues *XListPixmapFormats(
18811ab64890Smrg    Display*		/* display */,
18821ab64890Smrg    int*		/* count_return */
18831ab64890Smrg);
18841ab64890Smrgextern int *XListDepths(
18851ab64890Smrg    Display*		/* display */,
18861ab64890Smrg    int			/* screen_number */,
18871ab64890Smrg    int*		/* count_return */
18881ab64890Smrg);
18891ab64890Smrg
18901ab64890Smrg/* ICCCM routines for things that don't require special include files; */
18911ab64890Smrg/* other declarations are given in Xutil.h                             */
18921ab64890Smrgextern Status XReconfigureWMWindow(
18931ab64890Smrg    Display*		/* display */,
18941ab64890Smrg    Window		/* w */,
18951ab64890Smrg    int			/* screen_number */,
18961ab64890Smrg    unsigned int	/* mask */,
18971ab64890Smrg    XWindowChanges*	/* changes */
18981ab64890Smrg);
18991ab64890Smrg
19001ab64890Smrgextern Status XGetWMProtocols(
19011ab64890Smrg    Display*		/* display */,
19021ab64890Smrg    Window		/* w */,
19031ab64890Smrg    Atom**		/* protocols_return */,
19041ab64890Smrg    int*		/* count_return */
19051ab64890Smrg);
19061ab64890Smrgextern Status XSetWMProtocols(
19071ab64890Smrg    Display*		/* display */,
19081ab64890Smrg    Window		/* w */,
19091ab64890Smrg    Atom*		/* protocols */,
19101ab64890Smrg    int			/* count */
19111ab64890Smrg);
19121ab64890Smrgextern Status XIconifyWindow(
19131ab64890Smrg    Display*		/* display */,
19141ab64890Smrg    Window		/* w */,
19151ab64890Smrg    int			/* screen_number */
19161ab64890Smrg);
19171ab64890Smrgextern Status XWithdrawWindow(
19181ab64890Smrg    Display*		/* display */,
19191ab64890Smrg    Window		/* w */,
19201ab64890Smrg    int			/* screen_number */
19211ab64890Smrg);
19221ab64890Smrgextern Status XGetCommand(
19231ab64890Smrg    Display*		/* display */,
19241ab64890Smrg    Window		/* w */,
19251ab64890Smrg    char***		/* argv_return */,
19261ab64890Smrg    int*		/* argc_return */
19271ab64890Smrg);
19281ab64890Smrgextern Status XGetWMColormapWindows(
19291ab64890Smrg    Display*		/* display */,
19301ab64890Smrg    Window		/* w */,
19311ab64890Smrg    Window**		/* windows_return */,
19321ab64890Smrg    int*		/* count_return */
19331ab64890Smrg);
19341ab64890Smrgextern Status XSetWMColormapWindows(
19351ab64890Smrg    Display*		/* display */,
19361ab64890Smrg    Window		/* w */,
19371ab64890Smrg    Window*		/* colormap_windows */,
19381ab64890Smrg    int			/* count */
19391ab64890Smrg);
19401ab64890Smrgextern void XFreeStringList(
19411ab64890Smrg    char**		/* list */
19421ab64890Smrg);
19431ab64890Smrgextern int XSetTransientForHint(
19441ab64890Smrg    Display*		/* display */,
19451ab64890Smrg    Window		/* w */,
19461ab64890Smrg    Window		/* prop_window */
19471ab64890Smrg);
19481ab64890Smrg
19491ab64890Smrg/* The following are given in alphabetical order */
19501ab64890Smrg
19511ab64890Smrgextern int XActivateScreenSaver(
19521ab64890Smrg    Display*		/* display */
19531ab64890Smrg);
19541ab64890Smrg
19551ab64890Smrgextern int XAddHost(
19561ab64890Smrg    Display*		/* display */,
19571ab64890Smrg    XHostAddress*	/* host */
19581ab64890Smrg);
19591ab64890Smrg
19601ab64890Smrgextern int XAddHosts(
19611ab64890Smrg    Display*		/* display */,
19621ab64890Smrg    XHostAddress*	/* hosts */,
196361b2299dSmrg    int			/* num_hosts */
19641ab64890Smrg);
19651ab64890Smrg
19661ab64890Smrgextern int XAddToExtensionList(
19671ab64890Smrg    struct _XExtData**	/* structure */,
19681ab64890Smrg    XExtData*		/* ext_data */
19691ab64890Smrg);
19701ab64890Smrg
19711ab64890Smrgextern int XAddToSaveSet(
19721ab64890Smrg    Display*		/* display */,
19731ab64890Smrg    Window		/* w */
19741ab64890Smrg);
19751ab64890Smrg
19761ab64890Smrgextern Status XAllocColor(
19771ab64890Smrg    Display*		/* display */,
19781ab64890Smrg    Colormap		/* colormap */,
19791ab64890Smrg    XColor*		/* screen_in_out */
19801ab64890Smrg);
19811ab64890Smrg
19821ab64890Smrgextern Status XAllocColorCells(
19831ab64890Smrg    Display*		/* display */,
19841ab64890Smrg    Colormap		/* colormap */,
19851ab64890Smrg    Bool	        /* contig */,
19861ab64890Smrg    unsigned long*	/* plane_masks_return */,
19871ab64890Smrg    unsigned int	/* nplanes */,
19881ab64890Smrg    unsigned long*	/* pixels_return */,
19891ab64890Smrg    unsigned int 	/* npixels */
19901ab64890Smrg);
19911ab64890Smrg
19921ab64890Smrgextern Status XAllocColorPlanes(
19931ab64890Smrg    Display*		/* display */,
19941ab64890Smrg    Colormap		/* colormap */,
19951ab64890Smrg    Bool		/* contig */,
19961ab64890Smrg    unsigned long*	/* pixels_return */,
19971ab64890Smrg    int			/* ncolors */,
19981ab64890Smrg    int			/* nreds */,
19991ab64890Smrg    int			/* ngreens */,
20001ab64890Smrg    int			/* nblues */,
20011ab64890Smrg    unsigned long*	/* rmask_return */,
20021ab64890Smrg    unsigned long*	/* gmask_return */,
20031ab64890Smrg    unsigned long*	/* bmask_return */
20041ab64890Smrg);
20051ab64890Smrg
20061ab64890Smrgextern Status XAllocNamedColor(
20071ab64890Smrg    Display*		/* display */,
20081ab64890Smrg    Colormap		/* colormap */,
20091ab64890Smrg    _Xconst char*	/* color_name */,
20101ab64890Smrg    XColor*		/* screen_def_return */,
20111ab64890Smrg    XColor*		/* exact_def_return */
20121ab64890Smrg);
20131ab64890Smrg
20141ab64890Smrgextern int XAllowEvents(
20151ab64890Smrg    Display*		/* display */,
20161ab64890Smrg    int			/* event_mode */,
20171ab64890Smrg    Time		/* time */
20181ab64890Smrg);
20191ab64890Smrg
20201ab64890Smrgextern int XAutoRepeatOff(
20211ab64890Smrg    Display*		/* display */
20221ab64890Smrg);
20231ab64890Smrg
20241ab64890Smrgextern int XAutoRepeatOn(
20251ab64890Smrg    Display*		/* display */
20261ab64890Smrg);
20271ab64890Smrg
20281ab64890Smrgextern int XBell(
20291ab64890Smrg    Display*		/* display */,
20301ab64890Smrg    int			/* percent */
20311ab64890Smrg);
20321ab64890Smrg
20331ab64890Smrgextern int XBitmapBitOrder(
20341ab64890Smrg    Display*		/* display */
20351ab64890Smrg);
20361ab64890Smrg
20371ab64890Smrgextern int XBitmapPad(
20381ab64890Smrg    Display*		/* display */
20391ab64890Smrg);
20401ab64890Smrg
20411ab64890Smrgextern int XBitmapUnit(
20421ab64890Smrg    Display*		/* display */
20431ab64890Smrg);
20441ab64890Smrg
20451ab64890Smrgextern int XCellsOfScreen(
20461ab64890Smrg    Screen*		/* screen */
20471ab64890Smrg);
20481ab64890Smrg
20491ab64890Smrgextern int XChangeActivePointerGrab(
20501ab64890Smrg    Display*		/* display */,
20511ab64890Smrg    unsigned int	/* event_mask */,
20521ab64890Smrg    Cursor		/* cursor */,
20531ab64890Smrg    Time		/* time */
20541ab64890Smrg);
20551ab64890Smrg
20561ab64890Smrgextern int XChangeGC(
20571ab64890Smrg    Display*		/* display */,
20581ab64890Smrg    GC			/* gc */,
20591ab64890Smrg    unsigned long	/* valuemask */,
20601ab64890Smrg    XGCValues*		/* values */
20611ab64890Smrg);
20621ab64890Smrg
20631ab64890Smrgextern int XChangeKeyboardControl(
20641ab64890Smrg    Display*		/* display */,
20651ab64890Smrg    unsigned long	/* value_mask */,
20661ab64890Smrg    XKeyboardControl*	/* values */
20671ab64890Smrg);
20681ab64890Smrg
20691ab64890Smrgextern int XChangeKeyboardMapping(
20701ab64890Smrg    Display*		/* display */,
20711ab64890Smrg    int			/* first_keycode */,
20721ab64890Smrg    int			/* keysyms_per_keycode */,
20731ab64890Smrg    KeySym*		/* keysyms */,
20741ab64890Smrg    int			/* num_codes */
20751ab64890Smrg);
20761ab64890Smrg
20771ab64890Smrgextern int XChangePointerControl(
20781ab64890Smrg    Display*		/* display */,
20791ab64890Smrg    Bool		/* do_accel */,
20801ab64890Smrg    Bool		/* do_threshold */,
20811ab64890Smrg    int			/* accel_numerator */,
20821ab64890Smrg    int			/* accel_denominator */,
20831ab64890Smrg    int			/* threshold */
20841ab64890Smrg);
20851ab64890Smrg
20861ab64890Smrgextern int XChangeProperty(
20871ab64890Smrg    Display*		/* display */,
20881ab64890Smrg    Window		/* w */,
20891ab64890Smrg    Atom		/* property */,
20901ab64890Smrg    Atom		/* type */,
20911ab64890Smrg    int			/* format */,
20921ab64890Smrg    int			/* mode */,
20931ab64890Smrg    _Xconst unsigned char*	/* data */,
20941ab64890Smrg    int			/* nelements */
20951ab64890Smrg);
20961ab64890Smrg
20971ab64890Smrgextern int XChangeSaveSet(
20981ab64890Smrg    Display*		/* display */,
20991ab64890Smrg    Window		/* w */,
21001ab64890Smrg    int			/* change_mode */
21011ab64890Smrg);
21021ab64890Smrg
21031ab64890Smrgextern int XChangeWindowAttributes(
21041ab64890Smrg    Display*		/* display */,
21051ab64890Smrg    Window		/* w */,
21061ab64890Smrg    unsigned long	/* valuemask */,
21071ab64890Smrg    XSetWindowAttributes* /* attributes */
21081ab64890Smrg);
21091ab64890Smrg
21101ab64890Smrgextern Bool XCheckIfEvent(
21111ab64890Smrg    Display*		/* display */,
21121ab64890Smrg    XEvent*		/* event_return */,
21131ab64890Smrg    Bool (*) (
21141ab64890Smrg	       Display*			/* display */,
21151ab64890Smrg               XEvent*			/* event */,
21161ab64890Smrg               XPointer			/* arg */
21171ab64890Smrg             )		/* predicate */,
21181ab64890Smrg    XPointer		/* arg */
21191ab64890Smrg);
21201ab64890Smrg
21211ab64890Smrgextern Bool XCheckMaskEvent(
21221ab64890Smrg    Display*		/* display */,
21231ab64890Smrg    long		/* event_mask */,
21241ab64890Smrg    XEvent*		/* event_return */
21251ab64890Smrg);
21261ab64890Smrg
21271ab64890Smrgextern Bool XCheckTypedEvent(
21281ab64890Smrg    Display*		/* display */,
21291ab64890Smrg    int			/* event_type */,
21301ab64890Smrg    XEvent*		/* event_return */
21311ab64890Smrg);
21321ab64890Smrg
21331ab64890Smrgextern Bool XCheckTypedWindowEvent(
21341ab64890Smrg    Display*		/* display */,
21351ab64890Smrg    Window		/* w */,
21361ab64890Smrg    int			/* event_type */,
21371ab64890Smrg    XEvent*		/* event_return */
21381ab64890Smrg);
21391ab64890Smrg
21401ab64890Smrgextern Bool XCheckWindowEvent(
21411ab64890Smrg    Display*		/* display */,
21421ab64890Smrg    Window		/* w */,
21431ab64890Smrg    long		/* event_mask */,
21441ab64890Smrg    XEvent*		/* event_return */
21451ab64890Smrg);
21461ab64890Smrg
21471ab64890Smrgextern int XCirculateSubwindows(
21481ab64890Smrg    Display*		/* display */,
21491ab64890Smrg    Window		/* w */,
21501ab64890Smrg    int			/* direction */
21511ab64890Smrg);
21521ab64890Smrg
21531ab64890Smrgextern int XCirculateSubwindowsDown(
21541ab64890Smrg    Display*		/* display */,
21551ab64890Smrg    Window		/* w */
21561ab64890Smrg);
21571ab64890Smrg
21581ab64890Smrgextern int XCirculateSubwindowsUp(
21591ab64890Smrg    Display*		/* display */,
21601ab64890Smrg    Window		/* w */
21611ab64890Smrg);
21621ab64890Smrg
21631ab64890Smrgextern int XClearArea(
21641ab64890Smrg    Display*		/* display */,
21651ab64890Smrg    Window		/* w */,
21661ab64890Smrg    int			/* x */,
21671ab64890Smrg    int			/* y */,
21681ab64890Smrg    unsigned int	/* width */,
21691ab64890Smrg    unsigned int	/* height */,
21701ab64890Smrg    Bool		/* exposures */
21711ab64890Smrg);
21721ab64890Smrg
21731ab64890Smrgextern int XClearWindow(
21741ab64890Smrg    Display*		/* display */,
21751ab64890Smrg    Window		/* w */
21761ab64890Smrg);
21771ab64890Smrg
21781ab64890Smrgextern int XCloseDisplay(
21791ab64890Smrg    Display*		/* display */
21801ab64890Smrg);
21811ab64890Smrg
21821ab64890Smrgextern int XConfigureWindow(
21831ab64890Smrg    Display*		/* display */,
21841ab64890Smrg    Window		/* w */,
21851ab64890Smrg    unsigned int	/* value_mask */,
218661b2299dSmrg    XWindowChanges*	/* values */
21871ab64890Smrg);
21881ab64890Smrg
21891ab64890Smrgextern int XConnectionNumber(
21901ab64890Smrg    Display*		/* display */
21911ab64890Smrg);
21921ab64890Smrg
21931ab64890Smrgextern int XConvertSelection(
21941ab64890Smrg    Display*		/* display */,
21951ab64890Smrg    Atom		/* selection */,
21961ab64890Smrg    Atom 		/* target */,
21971ab64890Smrg    Atom		/* property */,
21981ab64890Smrg    Window		/* requestor */,
21991ab64890Smrg    Time		/* time */
22001ab64890Smrg);
22011ab64890Smrg
22021ab64890Smrgextern int XCopyArea(
22031ab64890Smrg    Display*		/* display */,
22041ab64890Smrg    Drawable		/* src */,
22051ab64890Smrg    Drawable		/* dest */,
22061ab64890Smrg    GC			/* gc */,
22071ab64890Smrg    int			/* src_x */,
22081ab64890Smrg    int			/* src_y */,
22091ab64890Smrg    unsigned int	/* width */,
22101ab64890Smrg    unsigned int	/* height */,
22111ab64890Smrg    int			/* dest_x */,
22121ab64890Smrg    int			/* dest_y */
22131ab64890Smrg);
22141ab64890Smrg
22151ab64890Smrgextern int XCopyGC(
22161ab64890Smrg    Display*		/* display */,
22171ab64890Smrg    GC			/* src */,
22181ab64890Smrg    unsigned long	/* valuemask */,
22191ab64890Smrg    GC			/* dest */
22201ab64890Smrg);
22211ab64890Smrg
22221ab64890Smrgextern int XCopyPlane(
22231ab64890Smrg    Display*		/* display */,
22241ab64890Smrg    Drawable		/* src */,
22251ab64890Smrg    Drawable		/* dest */,
22261ab64890Smrg    GC			/* gc */,
22271ab64890Smrg    int			/* src_x */,
22281ab64890Smrg    int			/* src_y */,
22291ab64890Smrg    unsigned int	/* width */,
22301ab64890Smrg    unsigned int	/* height */,
22311ab64890Smrg    int			/* dest_x */,
22321ab64890Smrg    int			/* dest_y */,
22331ab64890Smrg    unsigned long	/* plane */
22341ab64890Smrg);
22351ab64890Smrg
22361ab64890Smrgextern int XDefaultDepth(
22371ab64890Smrg    Display*		/* display */,
22381ab64890Smrg    int			/* screen_number */
22391ab64890Smrg);
22401ab64890Smrg
22411ab64890Smrgextern int XDefaultDepthOfScreen(
22421ab64890Smrg    Screen*		/* screen */
22431ab64890Smrg);
22441ab64890Smrg
22451ab64890Smrgextern int XDefaultScreen(
22461ab64890Smrg    Display*		/* display */
22471ab64890Smrg);
22481ab64890Smrg
22491ab64890Smrgextern int XDefineCursor(
22501ab64890Smrg    Display*		/* display */,
22511ab64890Smrg    Window		/* w */,
22521ab64890Smrg    Cursor		/* cursor */
22531ab64890Smrg);
22541ab64890Smrg
22551ab64890Smrgextern int XDeleteProperty(
22561ab64890Smrg    Display*		/* display */,
22571ab64890Smrg    Window		/* w */,
22581ab64890Smrg    Atom		/* property */
22591ab64890Smrg);
22601ab64890Smrg
22611ab64890Smrgextern int XDestroyWindow(
22621ab64890Smrg    Display*		/* display */,
22631ab64890Smrg    Window		/* w */
22641ab64890Smrg);
22651ab64890Smrg
22661ab64890Smrgextern int XDestroySubwindows(
22671ab64890Smrg    Display*		/* display */,
22681ab64890Smrg    Window		/* w */
22691ab64890Smrg);
22701ab64890Smrg
22711ab64890Smrgextern int XDoesBackingStore(
227261b2299dSmrg    Screen*		/* screen */
22731ab64890Smrg);
22741ab64890Smrg
22751ab64890Smrgextern Bool XDoesSaveUnders(
22761ab64890Smrg    Screen*		/* screen */
22771ab64890Smrg);
22781ab64890Smrg
22791ab64890Smrgextern int XDisableAccessControl(
22801ab64890Smrg    Display*		/* display */
22811ab64890Smrg);
22821ab64890Smrg
22831ab64890Smrg
22841ab64890Smrgextern int XDisplayCells(
22851ab64890Smrg    Display*		/* display */,
22861ab64890Smrg    int			/* screen_number */
22871ab64890Smrg);
22881ab64890Smrg
22891ab64890Smrgextern int XDisplayHeight(
22901ab64890Smrg    Display*		/* display */,
22911ab64890Smrg    int			/* screen_number */
22921ab64890Smrg);
22931ab64890Smrg
22941ab64890Smrgextern int XDisplayHeightMM(
22951ab64890Smrg    Display*		/* display */,
22961ab64890Smrg    int			/* screen_number */
22971ab64890Smrg);
22981ab64890Smrg
22991ab64890Smrgextern int XDisplayKeycodes(
23001ab64890Smrg    Display*		/* display */,
23011ab64890Smrg    int*		/* min_keycodes_return */,
23021ab64890Smrg    int*		/* max_keycodes_return */
23031ab64890Smrg);
23041ab64890Smrg
23051ab64890Smrgextern int XDisplayPlanes(
23061ab64890Smrg    Display*		/* display */,
23071ab64890Smrg    int			/* screen_number */
23081ab64890Smrg);
23091ab64890Smrg
23101ab64890Smrgextern int XDisplayWidth(
23111ab64890Smrg    Display*		/* display */,
23121ab64890Smrg    int			/* screen_number */
23131ab64890Smrg);
23141ab64890Smrg
23151ab64890Smrgextern int XDisplayWidthMM(
23161ab64890Smrg    Display*		/* display */,
23171ab64890Smrg    int			/* screen_number */
23181ab64890Smrg);
23191ab64890Smrg
23201ab64890Smrgextern int XDrawArc(
23211ab64890Smrg    Display*		/* display */,
23221ab64890Smrg    Drawable		/* d */,
23231ab64890Smrg    GC			/* gc */,
23241ab64890Smrg    int			/* x */,
23251ab64890Smrg    int			/* y */,
23261ab64890Smrg    unsigned int	/* width */,
23271ab64890Smrg    unsigned int	/* height */,
23281ab64890Smrg    int			/* angle1 */,
23291ab64890Smrg    int			/* angle2 */
23301ab64890Smrg);
23311ab64890Smrg
23321ab64890Smrgextern int XDrawArcs(
23331ab64890Smrg    Display*		/* display */,
23341ab64890Smrg    Drawable		/* d */,
23351ab64890Smrg    GC			/* gc */,
23361ab64890Smrg    XArc*		/* arcs */,
23371ab64890Smrg    int			/* narcs */
23381ab64890Smrg);
23391ab64890Smrg
23401ab64890Smrgextern int XDrawImageString(
23411ab64890Smrg    Display*		/* display */,
23421ab64890Smrg    Drawable		/* d */,
23431ab64890Smrg    GC			/* gc */,
23441ab64890Smrg    int			/* x */,
23451ab64890Smrg    int			/* y */,
23461ab64890Smrg    _Xconst char*	/* string */,
23471ab64890Smrg    int			/* length */
23481ab64890Smrg);
23491ab64890Smrg
23501ab64890Smrgextern int XDrawImageString16(
23511ab64890Smrg    Display*		/* display */,
23521ab64890Smrg    Drawable		/* d */,
23531ab64890Smrg    GC			/* gc */,
23541ab64890Smrg    int			/* x */,
23551ab64890Smrg    int			/* y */,
23561ab64890Smrg    _Xconst XChar2b*	/* string */,
23571ab64890Smrg    int			/* length */
23581ab64890Smrg);
23591ab64890Smrg
23601ab64890Smrgextern int XDrawLine(
23611ab64890Smrg    Display*		/* display */,
23621ab64890Smrg    Drawable		/* d */,
23631ab64890Smrg    GC			/* gc */,
23641ab64890Smrg    int			/* x1 */,
23651ab64890Smrg    int			/* y1 */,
23661ab64890Smrg    int			/* x2 */,
23671ab64890Smrg    int			/* y2 */
23681ab64890Smrg);
23691ab64890Smrg
23701ab64890Smrgextern int XDrawLines(
23711ab64890Smrg    Display*		/* display */,
23721ab64890Smrg    Drawable		/* d */,
23731ab64890Smrg    GC			/* gc */,
23741ab64890Smrg    XPoint*		/* points */,
23751ab64890Smrg    int			/* npoints */,
23761ab64890Smrg    int			/* mode */
23771ab64890Smrg);
23781ab64890Smrg
23791ab64890Smrgextern int XDrawPoint(
23801ab64890Smrg    Display*		/* display */,
23811ab64890Smrg    Drawable		/* d */,
23821ab64890Smrg    GC			/* gc */,
23831ab64890Smrg    int			/* x */,
23841ab64890Smrg    int			/* y */
23851ab64890Smrg);
23861ab64890Smrg
23871ab64890Smrgextern int XDrawPoints(
23881ab64890Smrg    Display*		/* display */,
23891ab64890Smrg    Drawable		/* d */,
23901ab64890Smrg    GC			/* gc */,
23911ab64890Smrg    XPoint*		/* points */,
23921ab64890Smrg    int			/* npoints */,
23931ab64890Smrg    int			/* mode */
23941ab64890Smrg);
23951ab64890Smrg
23961ab64890Smrgextern int XDrawRectangle(
23971ab64890Smrg    Display*		/* display */,
23981ab64890Smrg    Drawable		/* d */,
23991ab64890Smrg    GC			/* gc */,
24001ab64890Smrg    int			/* x */,
24011ab64890Smrg    int			/* y */,
24021ab64890Smrg    unsigned int	/* width */,
24031ab64890Smrg    unsigned int	/* height */
24041ab64890Smrg);
24051ab64890Smrg
24061ab64890Smrgextern int XDrawRectangles(
24071ab64890Smrg    Display*		/* display */,
24081ab64890Smrg    Drawable		/* d */,
24091ab64890Smrg    GC			/* gc */,
24101ab64890Smrg    XRectangle*		/* rectangles */,
24111ab64890Smrg    int			/* nrectangles */
24121ab64890Smrg);
24131ab64890Smrg
24141ab64890Smrgextern int XDrawSegments(
24151ab64890Smrg    Display*		/* display */,
24161ab64890Smrg    Drawable		/* d */,
24171ab64890Smrg    GC			/* gc */,
24181ab64890Smrg    XSegment*		/* segments */,
24191ab64890Smrg    int			/* nsegments */
24201ab64890Smrg);
24211ab64890Smrg
24221ab64890Smrgextern int XDrawString(
24231ab64890Smrg    Display*		/* display */,
24241ab64890Smrg    Drawable		/* d */,
24251ab64890Smrg    GC			/* gc */,
24261ab64890Smrg    int			/* x */,
24271ab64890Smrg    int			/* y */,
24281ab64890Smrg    _Xconst char*	/* string */,
24291ab64890Smrg    int			/* length */
24301ab64890Smrg);
24311ab64890Smrg
24321ab64890Smrgextern int XDrawString16(
24331ab64890Smrg    Display*		/* display */,
24341ab64890Smrg    Drawable		/* d */,
24351ab64890Smrg    GC			/* gc */,
24361ab64890Smrg    int			/* x */,
24371ab64890Smrg    int			/* y */,
24381ab64890Smrg    _Xconst XChar2b*	/* string */,
24391ab64890Smrg    int			/* length */
24401ab64890Smrg);
24411ab64890Smrg
24421ab64890Smrgextern int XDrawText(
24431ab64890Smrg    Display*		/* display */,
24441ab64890Smrg    Drawable		/* d */,
24451ab64890Smrg    GC			/* gc */,
24461ab64890Smrg    int			/* x */,
24471ab64890Smrg    int			/* y */,
24481ab64890Smrg    XTextItem*		/* items */,
24491ab64890Smrg    int			/* nitems */
24501ab64890Smrg);
24511ab64890Smrg
24521ab64890Smrgextern int XDrawText16(
24531ab64890Smrg    Display*		/* display */,
24541ab64890Smrg    Drawable		/* d */,
24551ab64890Smrg    GC			/* gc */,
24561ab64890Smrg    int			/* x */,
24571ab64890Smrg    int			/* y */,
24581ab64890Smrg    XTextItem16*	/* items */,
24591ab64890Smrg    int			/* nitems */
24601ab64890Smrg);
24611ab64890Smrg
24621ab64890Smrgextern int XEnableAccessControl(
24631ab64890Smrg    Display*		/* display */
24641ab64890Smrg);
24651ab64890Smrg
24661ab64890Smrgextern int XEventsQueued(
24671ab64890Smrg    Display*		/* display */,
24681ab64890Smrg    int			/* mode */
24691ab64890Smrg);
24701ab64890Smrg
24711ab64890Smrgextern Status XFetchName(
24721ab64890Smrg    Display*		/* display */,
24731ab64890Smrg    Window		/* w */,
24741ab64890Smrg    char**		/* window_name_return */
24751ab64890Smrg);
24761ab64890Smrg
24771ab64890Smrgextern int XFillArc(
24781ab64890Smrg    Display*		/* display */,
24791ab64890Smrg    Drawable		/* d */,
24801ab64890Smrg    GC			/* gc */,
24811ab64890Smrg    int			/* x */,
24821ab64890Smrg    int			/* y */,
24831ab64890Smrg    unsigned int	/* width */,
24841ab64890Smrg    unsigned int	/* height */,
24851ab64890Smrg    int			/* angle1 */,
24861ab64890Smrg    int			/* angle2 */
24871ab64890Smrg);
24881ab64890Smrg
24891ab64890Smrgextern int XFillArcs(
24901ab64890Smrg    Display*		/* display */,
24911ab64890Smrg    Drawable		/* d */,
24921ab64890Smrg    GC			/* gc */,
24931ab64890Smrg    XArc*		/* arcs */,
24941ab64890Smrg    int			/* narcs */
24951ab64890Smrg);
24961ab64890Smrg
24971ab64890Smrgextern int XFillPolygon(
24981ab64890Smrg    Display*		/* display */,
24991ab64890Smrg    Drawable		/* d */,
25001ab64890Smrg    GC			/* gc */,
25011ab64890Smrg    XPoint*		/* points */,
25021ab64890Smrg    int			/* npoints */,
25031ab64890Smrg    int			/* shape */,
25041ab64890Smrg    int			/* mode */
25051ab64890Smrg);
25061ab64890Smrg
25071ab64890Smrgextern int XFillRectangle(
25081ab64890Smrg    Display*		/* display */,
25091ab64890Smrg    Drawable		/* d */,
25101ab64890Smrg    GC			/* gc */,
25111ab64890Smrg    int			/* x */,
25121ab64890Smrg    int			/* y */,
25131ab64890Smrg    unsigned int	/* width */,
25141ab64890Smrg    unsigned int	/* height */
25151ab64890Smrg);
25161ab64890Smrg
25171ab64890Smrgextern int XFillRectangles(
25181ab64890Smrg    Display*		/* display */,
25191ab64890Smrg    Drawable		/* d */,
25201ab64890Smrg    GC			/* gc */,
25211ab64890Smrg    XRectangle*		/* rectangles */,
25221ab64890Smrg    int			/* nrectangles */
25231ab64890Smrg);
25241ab64890Smrg
25251ab64890Smrgextern int XFlush(
25261ab64890Smrg    Display*		/* display */
25271ab64890Smrg);
25281ab64890Smrg
25291ab64890Smrgextern int XForceScreenSaver(
25301ab64890Smrg    Display*		/* display */,
25311ab64890Smrg    int			/* mode */
25321ab64890Smrg);
25331ab64890Smrg
25341ab64890Smrgextern int XFree(
25351ab64890Smrg    void*		/* data */
25361ab64890Smrg);
25371ab64890Smrg
25381ab64890Smrgextern int XFreeColormap(
25391ab64890Smrg    Display*		/* display */,
25401ab64890Smrg    Colormap		/* colormap */
25411ab64890Smrg);
25421ab64890Smrg
25431ab64890Smrgextern int XFreeColors(
25441ab64890Smrg    Display*		/* display */,
25451ab64890Smrg    Colormap		/* colormap */,
25461ab64890Smrg    unsigned long*	/* pixels */,
25471ab64890Smrg    int			/* npixels */,
25481ab64890Smrg    unsigned long	/* planes */
25491ab64890Smrg);
25501ab64890Smrg
25511ab64890Smrgextern int XFreeCursor(
25521ab64890Smrg    Display*		/* display */,
25531ab64890Smrg    Cursor		/* cursor */
25541ab64890Smrg);
25551ab64890Smrg
25561ab64890Smrgextern int XFreeExtensionList(
255761b2299dSmrg    char**		/* list */
25581ab64890Smrg);
25591ab64890Smrg
25601ab64890Smrgextern int XFreeFont(
25611ab64890Smrg    Display*		/* display */,
25621ab64890Smrg    XFontStruct*	/* font_struct */
25631ab64890Smrg);
25641ab64890Smrg
25651ab64890Smrgextern int XFreeFontInfo(
25661ab64890Smrg    char**		/* names */,
25671ab64890Smrg    XFontStruct*	/* free_info */,
25681ab64890Smrg    int			/* actual_count */
25691ab64890Smrg);
25701ab64890Smrg
25711ab64890Smrgextern int XFreeFontNames(
25721ab64890Smrg    char**		/* list */
25731ab64890Smrg);
25741ab64890Smrg
25751ab64890Smrgextern int XFreeFontPath(
25761ab64890Smrg    char**		/* list */
25771ab64890Smrg);
25781ab64890Smrg
25791ab64890Smrgextern int XFreeGC(
25801ab64890Smrg    Display*		/* display */,
25811ab64890Smrg    GC			/* gc */
25821ab64890Smrg);
25831ab64890Smrg
25841ab64890Smrgextern int XFreeModifiermap(
25851ab64890Smrg    XModifierKeymap*	/* modmap */
25861ab64890Smrg);
25871ab64890Smrg
25881ab64890Smrgextern int XFreePixmap(
25891ab64890Smrg    Display*		/* display */,
25901ab64890Smrg    Pixmap		/* pixmap */
25911ab64890Smrg);
25921ab64890Smrg
25931ab64890Smrgextern int XGeometry(
25941ab64890Smrg    Display*		/* display */,
25951ab64890Smrg    int			/* screen */,
25961ab64890Smrg    _Xconst char*	/* position */,
25971ab64890Smrg    _Xconst char*	/* default_position */,
25981ab64890Smrg    unsigned int	/* bwidth */,
25991ab64890Smrg    unsigned int	/* fwidth */,
26001ab64890Smrg    unsigned int	/* fheight */,
26011ab64890Smrg    int			/* xadder */,
26021ab64890Smrg    int			/* yadder */,
26031ab64890Smrg    int*		/* x_return */,
26041ab64890Smrg    int*		/* y_return */,
26051ab64890Smrg    int*		/* width_return */,
26061ab64890Smrg    int*		/* height_return */
26071ab64890Smrg);
26081ab64890Smrg
26091ab64890Smrgextern int XGetErrorDatabaseText(
26101ab64890Smrg    Display*		/* display */,
26111ab64890Smrg    _Xconst char*	/* name */,
26121ab64890Smrg    _Xconst char*	/* message */,
26131ab64890Smrg    _Xconst char*	/* default_string */,
26141ab64890Smrg    char*		/* buffer_return */,
26151ab64890Smrg    int			/* length */
26161ab64890Smrg);
26171ab64890Smrg
26181ab64890Smrgextern int XGetErrorText(
26191ab64890Smrg    Display*		/* display */,
26201ab64890Smrg    int			/* code */,
26211ab64890Smrg    char*		/* buffer_return */,
26221ab64890Smrg    int			/* length */
26231ab64890Smrg);
26241ab64890Smrg
26251ab64890Smrgextern Bool XGetFontProperty(
26261ab64890Smrg    XFontStruct*	/* font_struct */,
26271ab64890Smrg    Atom		/* atom */,
26281ab64890Smrg    unsigned long*	/* value_return */
26291ab64890Smrg);
26301ab64890Smrg
26311ab64890Smrgextern Status XGetGCValues(
26321ab64890Smrg    Display*		/* display */,
26331ab64890Smrg    GC			/* gc */,
26341ab64890Smrg    unsigned long	/* valuemask */,
26351ab64890Smrg    XGCValues*		/* values_return */
26361ab64890Smrg);
26371ab64890Smrg
26381ab64890Smrgextern Status XGetGeometry(
26391ab64890Smrg    Display*		/* display */,
26401ab64890Smrg    Drawable		/* d */,
26411ab64890Smrg    Window*		/* root_return */,
26421ab64890Smrg    int*		/* x_return */,
26431ab64890Smrg    int*		/* y_return */,
26441ab64890Smrg    unsigned int*	/* width_return */,
26451ab64890Smrg    unsigned int*	/* height_return */,
26461ab64890Smrg    unsigned int*	/* border_width_return */,
26471ab64890Smrg    unsigned int*	/* depth_return */
26481ab64890Smrg);
26491ab64890Smrg
26501ab64890Smrgextern Status XGetIconName(
26511ab64890Smrg    Display*		/* display */,
26521ab64890Smrg    Window		/* w */,
26531ab64890Smrg    char**		/* icon_name_return */
26541ab64890Smrg);
26551ab64890Smrg
26561ab64890Smrgextern int XGetInputFocus(
26571ab64890Smrg    Display*		/* display */,
26581ab64890Smrg    Window*		/* focus_return */,
26591ab64890Smrg    int*		/* revert_to_return */
26601ab64890Smrg);
26611ab64890Smrg
26621ab64890Smrgextern int XGetKeyboardControl(
26631ab64890Smrg    Display*		/* display */,
26641ab64890Smrg    XKeyboardState*	/* values_return */
26651ab64890Smrg);
26661ab64890Smrg
26671ab64890Smrgextern int XGetPointerControl(
26681ab64890Smrg    Display*		/* display */,
26691ab64890Smrg    int*		/* accel_numerator_return */,
26701ab64890Smrg    int*		/* accel_denominator_return */,
26711ab64890Smrg    int*		/* threshold_return */
26721ab64890Smrg);
26731ab64890Smrg
26741ab64890Smrgextern int XGetPointerMapping(
26751ab64890Smrg    Display*		/* display */,
26761ab64890Smrg    unsigned char*	/* map_return */,
26771ab64890Smrg    int			/* nmap */
26781ab64890Smrg);
26791ab64890Smrg
26801ab64890Smrgextern int XGetScreenSaver(
26811ab64890Smrg    Display*		/* display */,
26821ab64890Smrg    int*		/* timeout_return */,
26831ab64890Smrg    int*		/* interval_return */,
26841ab64890Smrg    int*		/* prefer_blanking_return */,
26851ab64890Smrg    int*		/* allow_exposures_return */
26861ab64890Smrg);
26871ab64890Smrg
26881ab64890Smrgextern Status XGetTransientForHint(
26891ab64890Smrg    Display*		/* display */,
26901ab64890Smrg    Window		/* w */,
26911ab64890Smrg    Window*		/* prop_window_return */
26921ab64890Smrg);
26931ab64890Smrg
26941ab64890Smrgextern int XGetWindowProperty(
26951ab64890Smrg    Display*		/* display */,
26961ab64890Smrg    Window		/* w */,
26971ab64890Smrg    Atom		/* property */,
26981ab64890Smrg    long		/* long_offset */,
26991ab64890Smrg    long		/* long_length */,
27001ab64890Smrg    Bool		/* delete */,
27011ab64890Smrg    Atom		/* req_type */,
27021ab64890Smrg    Atom*		/* actual_type_return */,
27031ab64890Smrg    int*		/* actual_format_return */,
27041ab64890Smrg    unsigned long*	/* nitems_return */,
27051ab64890Smrg    unsigned long*	/* bytes_after_return */,
27061ab64890Smrg    unsigned char**	/* prop_return */
27071ab64890Smrg);
27081ab64890Smrg
27091ab64890Smrgextern Status XGetWindowAttributes(
27101ab64890Smrg    Display*		/* display */,
27111ab64890Smrg    Window		/* w */,
27121ab64890Smrg    XWindowAttributes*	/* window_attributes_return */
27131ab64890Smrg);
27141ab64890Smrg
27151ab64890Smrgextern int XGrabButton(
27161ab64890Smrg    Display*		/* display */,
27171ab64890Smrg    unsigned int	/* button */,
27181ab64890Smrg    unsigned int	/* modifiers */,
27191ab64890Smrg    Window		/* grab_window */,
27201ab64890Smrg    Bool		/* owner_events */,
27211ab64890Smrg    unsigned int	/* event_mask */,
27221ab64890Smrg    int			/* pointer_mode */,
27231ab64890Smrg    int			/* keyboard_mode */,
27241ab64890Smrg    Window		/* confine_to */,
27251ab64890Smrg    Cursor		/* cursor */
27261ab64890Smrg);
27271ab64890Smrg
27281ab64890Smrgextern int XGrabKey(
27291ab64890Smrg    Display*		/* display */,
27301ab64890Smrg    int			/* keycode */,
27311ab64890Smrg    unsigned int	/* modifiers */,
27321ab64890Smrg    Window		/* grab_window */,
27331ab64890Smrg    Bool		/* owner_events */,
27341ab64890Smrg    int			/* pointer_mode */,
27351ab64890Smrg    int			/* keyboard_mode */
27361ab64890Smrg);
27371ab64890Smrg
27381ab64890Smrgextern int XGrabKeyboard(
27391ab64890Smrg    Display*		/* display */,
27401ab64890Smrg    Window		/* grab_window */,
27411ab64890Smrg    Bool		/* owner_events */,
27421ab64890Smrg    int			/* pointer_mode */,
27431ab64890Smrg    int			/* keyboard_mode */,
27441ab64890Smrg    Time		/* time */
27451ab64890Smrg);
27461ab64890Smrg
27471ab64890Smrgextern int XGrabPointer(
27481ab64890Smrg    Display*		/* display */,
27491ab64890Smrg    Window		/* grab_window */,
27501ab64890Smrg    Bool		/* owner_events */,
27511ab64890Smrg    unsigned int	/* event_mask */,
27521ab64890Smrg    int			/* pointer_mode */,
27531ab64890Smrg    int			/* keyboard_mode */,
27541ab64890Smrg    Window		/* confine_to */,
27551ab64890Smrg    Cursor		/* cursor */,
27561ab64890Smrg    Time		/* time */
27571ab64890Smrg);
27581ab64890Smrg
27591ab64890Smrgextern int XGrabServer(
27601ab64890Smrg    Display*		/* display */
27611ab64890Smrg);
27621ab64890Smrg
27631ab64890Smrgextern int XHeightMMOfScreen(
27641ab64890Smrg    Screen*		/* screen */
27651ab64890Smrg);
27661ab64890Smrg
27671ab64890Smrgextern int XHeightOfScreen(
27681ab64890Smrg    Screen*		/* screen */
27691ab64890Smrg);
27701ab64890Smrg
27711ab64890Smrgextern int XIfEvent(
27721ab64890Smrg    Display*		/* display */,
27731ab64890Smrg    XEvent*		/* event_return */,
27741ab64890Smrg    Bool (*) (
27751ab64890Smrg	       Display*			/* display */,
27761ab64890Smrg               XEvent*			/* event */,
27771ab64890Smrg               XPointer			/* arg */
27781ab64890Smrg             )		/* predicate */,
27791ab64890Smrg    XPointer		/* arg */
27801ab64890Smrg);
27811ab64890Smrg
27821ab64890Smrgextern int XImageByteOrder(
27831ab64890Smrg    Display*		/* display */
27841ab64890Smrg);
27851ab64890Smrg
27861ab64890Smrgextern int XInstallColormap(
27871ab64890Smrg    Display*		/* display */,
27881ab64890Smrg    Colormap		/* colormap */
27891ab64890Smrg);
27901ab64890Smrg
27911ab64890Smrgextern KeyCode XKeysymToKeycode(
27921ab64890Smrg    Display*		/* display */,
27931ab64890Smrg    KeySym		/* keysym */
27941ab64890Smrg);
27951ab64890Smrg
27961ab64890Smrgextern int XKillClient(
27971ab64890Smrg    Display*		/* display */,
27981ab64890Smrg    XID			/* resource */
27991ab64890Smrg);
28001ab64890Smrg
28011ab64890Smrgextern Status XLookupColor(
28021ab64890Smrg    Display*		/* display */,
28031ab64890Smrg    Colormap		/* colormap */,
28041ab64890Smrg    _Xconst char*	/* color_name */,
28051ab64890Smrg    XColor*		/* exact_def_return */,
28061ab64890Smrg    XColor*		/* screen_def_return */
28071ab64890Smrg);
28081ab64890Smrg
28091ab64890Smrgextern int XLowerWindow(
28101ab64890Smrg    Display*		/* display */,
28111ab64890Smrg    Window		/* w */
28121ab64890Smrg);
28131ab64890Smrg
28141ab64890Smrgextern int XMapRaised(
28151ab64890Smrg    Display*		/* display */,
28161ab64890Smrg    Window		/* w */
28171ab64890Smrg);
28181ab64890Smrg
28191ab64890Smrgextern int XMapSubwindows(
28201ab64890Smrg    Display*		/* display */,
28211ab64890Smrg    Window		/* w */
28221ab64890Smrg);
28231ab64890Smrg
28241ab64890Smrgextern int XMapWindow(
28251ab64890Smrg    Display*		/* display */,
28261ab64890Smrg    Window		/* w */
28271ab64890Smrg);
28281ab64890Smrg
28291ab64890Smrgextern int XMaskEvent(
28301ab64890Smrg    Display*		/* display */,
28311ab64890Smrg    long		/* event_mask */,
28321ab64890Smrg    XEvent*		/* event_return */
28331ab64890Smrg);
28341ab64890Smrg
28351ab64890Smrgextern int XMaxCmapsOfScreen(
28361ab64890Smrg    Screen*		/* screen */
28371ab64890Smrg);
28381ab64890Smrg
28391ab64890Smrgextern int XMinCmapsOfScreen(
28401ab64890Smrg    Screen*		/* screen */
28411ab64890Smrg);
28421ab64890Smrg
28431ab64890Smrgextern int XMoveResizeWindow(
28441ab64890Smrg    Display*		/* display */,
28451ab64890Smrg    Window		/* w */,
28461ab64890Smrg    int			/* x */,
28471ab64890Smrg    int			/* y */,
28481ab64890Smrg    unsigned int	/* width */,
28491ab64890Smrg    unsigned int	/* height */
28501ab64890Smrg);
28511ab64890Smrg
28521ab64890Smrgextern int XMoveWindow(
28531ab64890Smrg    Display*		/* display */,
28541ab64890Smrg    Window		/* w */,
28551ab64890Smrg    int			/* x */,
28561ab64890Smrg    int			/* y */
28571ab64890Smrg);
28581ab64890Smrg
28591ab64890Smrgextern int XNextEvent(
28601ab64890Smrg    Display*		/* display */,
28611ab64890Smrg    XEvent*		/* event_return */
28621ab64890Smrg);
28631ab64890Smrg
28641ab64890Smrgextern int XNoOp(
28651ab64890Smrg    Display*		/* display */
28661ab64890Smrg);
28671ab64890Smrg
28681ab64890Smrgextern Status XParseColor(
28691ab64890Smrg    Display*		/* display */,
28701ab64890Smrg    Colormap		/* colormap */,
28711ab64890Smrg    _Xconst char*	/* spec */,
28721ab64890Smrg    XColor*		/* exact_def_return */
28731ab64890Smrg);
28741ab64890Smrg
28751ab64890Smrgextern int XParseGeometry(
28761ab64890Smrg    _Xconst char*	/* parsestring */,
28771ab64890Smrg    int*		/* x_return */,
28781ab64890Smrg    int*		/* y_return */,
28791ab64890Smrg    unsigned int*	/* width_return */,
28801ab64890Smrg    unsigned int*	/* height_return */
28811ab64890Smrg);
28821ab64890Smrg
28831ab64890Smrgextern int XPeekEvent(
28841ab64890Smrg    Display*		/* display */,
28851ab64890Smrg    XEvent*		/* event_return */
28861ab64890Smrg);
28871ab64890Smrg
28881ab64890Smrgextern int XPeekIfEvent(
28891ab64890Smrg    Display*		/* display */,
28901ab64890Smrg    XEvent*		/* event_return */,
28911ab64890Smrg    Bool (*) (
28921ab64890Smrg	       Display*		/* display */,
28931ab64890Smrg               XEvent*		/* event */,
28941ab64890Smrg               XPointer		/* arg */
28951ab64890Smrg             )		/* predicate */,
28961ab64890Smrg    XPointer		/* arg */
28971ab64890Smrg);
28981ab64890Smrg
28991ab64890Smrgextern int XPending(
29001ab64890Smrg    Display*		/* display */
29011ab64890Smrg);
29021ab64890Smrg
29031ab64890Smrgextern int XPlanesOfScreen(
29041ab64890Smrg    Screen*		/* screen */
29051ab64890Smrg);
29061ab64890Smrg
29071ab64890Smrgextern int XProtocolRevision(
29081ab64890Smrg    Display*		/* display */
29091ab64890Smrg);
29101ab64890Smrg
29111ab64890Smrgextern int XProtocolVersion(
29121ab64890Smrg    Display*		/* display */
29131ab64890Smrg);
29141ab64890Smrg
29151ab64890Smrg
29161ab64890Smrgextern int XPutBackEvent(
29171ab64890Smrg    Display*		/* display */,
29181ab64890Smrg    XEvent*		/* event */
29191ab64890Smrg);
29201ab64890Smrg
29211ab64890Smrgextern int XPutImage(
29221ab64890Smrg    Display*		/* display */,
29231ab64890Smrg    Drawable		/* d */,
29241ab64890Smrg    GC			/* gc */,
29251ab64890Smrg    XImage*		/* image */,
29261ab64890Smrg    int			/* src_x */,
29271ab64890Smrg    int			/* src_y */,
29281ab64890Smrg    int			/* dest_x */,
29291ab64890Smrg    int			/* dest_y */,
29301ab64890Smrg    unsigned int	/* width */,
293161b2299dSmrg    unsigned int	/* height */
29321ab64890Smrg);
29331ab64890Smrg
29341ab64890Smrgextern int XQLength(
29351ab64890Smrg    Display*		/* display */
29361ab64890Smrg);
29371ab64890Smrg
29381ab64890Smrgextern Status XQueryBestCursor(
29391ab64890Smrg    Display*		/* display */,
29401ab64890Smrg    Drawable		/* d */,
29411ab64890Smrg    unsigned int        /* width */,
29421ab64890Smrg    unsigned int	/* height */,
29431ab64890Smrg    unsigned int*	/* width_return */,
29441ab64890Smrg    unsigned int*	/* height_return */
29451ab64890Smrg);
29461ab64890Smrg
29471ab64890Smrgextern Status XQueryBestSize(
29481ab64890Smrg    Display*		/* display */,
29491ab64890Smrg    int			/* class */,
29501ab64890Smrg    Drawable		/* which_screen */,
29511ab64890Smrg    unsigned int	/* width */,
29521ab64890Smrg    unsigned int	/* height */,
29531ab64890Smrg    unsigned int*	/* width_return */,
29541ab64890Smrg    unsigned int*	/* height_return */
29551ab64890Smrg);
29561ab64890Smrg
29571ab64890Smrgextern Status XQueryBestStipple(
29581ab64890Smrg    Display*		/* display */,
29591ab64890Smrg    Drawable		/* which_screen */,
29601ab64890Smrg    unsigned int	/* width */,
29611ab64890Smrg    unsigned int	/* height */,
29621ab64890Smrg    unsigned int*	/* width_return */,
29631ab64890Smrg    unsigned int*	/* height_return */
29641ab64890Smrg);
29651ab64890Smrg
29661ab64890Smrgextern Status XQueryBestTile(
29671ab64890Smrg    Display*		/* display */,
29681ab64890Smrg    Drawable		/* which_screen */,
29691ab64890Smrg    unsigned int	/* width */,
29701ab64890Smrg    unsigned int	/* height */,
29711ab64890Smrg    unsigned int*	/* width_return */,
29721ab64890Smrg    unsigned int*	/* height_return */
29731ab64890Smrg);
29741ab64890Smrg
29751ab64890Smrgextern int XQueryColor(
29761ab64890Smrg    Display*		/* display */,
29771ab64890Smrg    Colormap		/* colormap */,
29781ab64890Smrg    XColor*		/* def_in_out */
29791ab64890Smrg);
29801ab64890Smrg
29811ab64890Smrgextern int XQueryColors(
29821ab64890Smrg    Display*		/* display */,
29831ab64890Smrg    Colormap		/* colormap */,
29841ab64890Smrg    XColor*		/* defs_in_out */,
29851ab64890Smrg    int			/* ncolors */
29861ab64890Smrg);
29871ab64890Smrg
29881ab64890Smrgextern Bool XQueryExtension(
29891ab64890Smrg    Display*		/* display */,
29901ab64890Smrg    _Xconst char*	/* name */,
29911ab64890Smrg    int*		/* major_opcode_return */,
29921ab64890Smrg    int*		/* first_event_return */,
29931ab64890Smrg    int*		/* first_error_return */
29941ab64890Smrg);
29951ab64890Smrg
29961ab64890Smrgextern int XQueryKeymap(
29971ab64890Smrg    Display*		/* display */,
29981ab64890Smrg    char [32]		/* keys_return */
29991ab64890Smrg);
30001ab64890Smrg
30011ab64890Smrgextern Bool XQueryPointer(
30021ab64890Smrg    Display*		/* display */,
30031ab64890Smrg    Window		/* w */,
30041ab64890Smrg    Window*		/* root_return */,
30051ab64890Smrg    Window*		/* child_return */,
30061ab64890Smrg    int*		/* root_x_return */,
30071ab64890Smrg    int*		/* root_y_return */,
30081ab64890Smrg    int*		/* win_x_return */,
30091ab64890Smrg    int*		/* win_y_return */,
30101ab64890Smrg    unsigned int*       /* mask_return */
30111ab64890Smrg);
30121ab64890Smrg
30131ab64890Smrgextern int XQueryTextExtents(
30141ab64890Smrg    Display*		/* display */,
30151ab64890Smrg    XID			/* font_ID */,
30161ab64890Smrg    _Xconst char*	/* string */,
30171ab64890Smrg    int			/* nchars */,
30181ab64890Smrg    int*		/* direction_return */,
30191ab64890Smrg    int*		/* font_ascent_return */,
30201ab64890Smrg    int*		/* font_descent_return */,
302161b2299dSmrg    XCharStruct*	/* overall_return */
30221ab64890Smrg);
30231ab64890Smrg
30241ab64890Smrgextern int XQueryTextExtents16(
30251ab64890Smrg    Display*		/* display */,
30261ab64890Smrg    XID			/* font_ID */,
30271ab64890Smrg    _Xconst XChar2b*	/* string */,
30281ab64890Smrg    int			/* nchars */,
30291ab64890Smrg    int*		/* direction_return */,
30301ab64890Smrg    int*		/* font_ascent_return */,
30311ab64890Smrg    int*		/* font_descent_return */,
30321ab64890Smrg    XCharStruct*	/* overall_return */
30331ab64890Smrg);
30341ab64890Smrg
30351ab64890Smrgextern Status XQueryTree(
30361ab64890Smrg    Display*		/* display */,
30371ab64890Smrg    Window		/* w */,
30381ab64890Smrg    Window*		/* root_return */,
30391ab64890Smrg    Window*		/* parent_return */,
30401ab64890Smrg    Window**		/* children_return */,
30411ab64890Smrg    unsigned int*	/* nchildren_return */
30421ab64890Smrg);
30431ab64890Smrg
30441ab64890Smrgextern int XRaiseWindow(
30451ab64890Smrg    Display*		/* display */,
30461ab64890Smrg    Window		/* w */
30471ab64890Smrg);
30481ab64890Smrg
30491ab64890Smrgextern int XReadBitmapFile(
30501ab64890Smrg    Display*		/* display */,
30511ab64890Smrg    Drawable 		/* d */,
30521ab64890Smrg    _Xconst char*	/* filename */,
30531ab64890Smrg    unsigned int*	/* width_return */,
30541ab64890Smrg    unsigned int*	/* height_return */,
30551ab64890Smrg    Pixmap*		/* bitmap_return */,
30561ab64890Smrg    int*		/* x_hot_return */,
30571ab64890Smrg    int*		/* y_hot_return */
30581ab64890Smrg);
30591ab64890Smrg
30601ab64890Smrgextern int XReadBitmapFileData(
30611ab64890Smrg    _Xconst char*	/* filename */,
30621ab64890Smrg    unsigned int*	/* width_return */,
30631ab64890Smrg    unsigned int*	/* height_return */,
30641ab64890Smrg    unsigned char**	/* data_return */,
30651ab64890Smrg    int*		/* x_hot_return */,
30661ab64890Smrg    int*		/* y_hot_return */
30671ab64890Smrg);
30681ab64890Smrg
30691ab64890Smrgextern int XRebindKeysym(
30701ab64890Smrg    Display*		/* display */,
30711ab64890Smrg    KeySym		/* keysym */,
30721ab64890Smrg    KeySym*		/* list */,
30731ab64890Smrg    int			/* mod_count */,
30741ab64890Smrg    _Xconst unsigned char*	/* string */,
30751ab64890Smrg    int			/* bytes_string */
30761ab64890Smrg);
30771ab64890Smrg
30781ab64890Smrgextern int XRecolorCursor(
30791ab64890Smrg    Display*		/* display */,
30801ab64890Smrg    Cursor		/* cursor */,
30811ab64890Smrg    XColor*		/* foreground_color */,
30821ab64890Smrg    XColor*		/* background_color */
30831ab64890Smrg);
30841ab64890Smrg
30851ab64890Smrgextern int XRefreshKeyboardMapping(
308661b2299dSmrg    XMappingEvent*	/* event_map */
30871ab64890Smrg);
30881ab64890Smrg
30891ab64890Smrgextern int XRemoveFromSaveSet(
30901ab64890Smrg    Display*		/* display */,
30911ab64890Smrg    Window		/* w */
30921ab64890Smrg);
30931ab64890Smrg
30941ab64890Smrgextern int XRemoveHost(
30951ab64890Smrg    Display*		/* display */,
30961ab64890Smrg    XHostAddress*	/* host */
30971ab64890Smrg);
30981ab64890Smrg
30991ab64890Smrgextern int XRemoveHosts(
31001ab64890Smrg    Display*		/* display */,
31011ab64890Smrg    XHostAddress*	/* hosts */,
31021ab64890Smrg    int			/* num_hosts */
31031ab64890Smrg);
31041ab64890Smrg
31051ab64890Smrgextern int XReparentWindow(
31061ab64890Smrg    Display*		/* display */,
31071ab64890Smrg    Window		/* w */,
31081ab64890Smrg    Window		/* parent */,
31091ab64890Smrg    int			/* x */,
31101ab64890Smrg    int			/* y */
31111ab64890Smrg);
31121ab64890Smrg
31131ab64890Smrgextern int XResetScreenSaver(
31141ab64890Smrg    Display*		/* display */
31151ab64890Smrg);
31161ab64890Smrg
31171ab64890Smrgextern int XResizeWindow(
31181ab64890Smrg    Display*		/* display */,
31191ab64890Smrg    Window		/* w */,
31201ab64890Smrg    unsigned int	/* width */,
31211ab64890Smrg    unsigned int	/* height */
31221ab64890Smrg);
31231ab64890Smrg
31241ab64890Smrgextern int XRestackWindows(
31251ab64890Smrg    Display*		/* display */,
31261ab64890Smrg    Window*		/* windows */,
31271ab64890Smrg    int			/* nwindows */
31281ab64890Smrg);
31291ab64890Smrg
31301ab64890Smrgextern int XRotateBuffers(
31311ab64890Smrg    Display*		/* display */,
31321ab64890Smrg    int			/* rotate */
31331ab64890Smrg);
31341ab64890Smrg
31351ab64890Smrgextern int XRotateWindowProperties(
31361ab64890Smrg    Display*		/* display */,
31371ab64890Smrg    Window		/* w */,
31381ab64890Smrg    Atom*		/* properties */,
31391ab64890Smrg    int			/* num_prop */,
31401ab64890Smrg    int			/* npositions */
31411ab64890Smrg);
31421ab64890Smrg
31431ab64890Smrgextern int XScreenCount(
31441ab64890Smrg    Display*		/* display */
31451ab64890Smrg);
31461ab64890Smrg
31471ab64890Smrgextern int XSelectInput(
31481ab64890Smrg    Display*		/* display */,
31491ab64890Smrg    Window		/* w */,
31501ab64890Smrg    long		/* event_mask */
31511ab64890Smrg);
31521ab64890Smrg
31531ab64890Smrgextern Status XSendEvent(
31541ab64890Smrg    Display*		/* display */,
31551ab64890Smrg    Window		/* w */,
31561ab64890Smrg    Bool		/* propagate */,
31571ab64890Smrg    long		/* event_mask */,
31581ab64890Smrg    XEvent*		/* event_send */
31591ab64890Smrg);
31601ab64890Smrg
31611ab64890Smrgextern int XSetAccessControl(
31621ab64890Smrg    Display*		/* display */,
31631ab64890Smrg    int			/* mode */
31641ab64890Smrg);
31651ab64890Smrg
31661ab64890Smrgextern int XSetArcMode(
31671ab64890Smrg    Display*		/* display */,
31681ab64890Smrg    GC			/* gc */,
31691ab64890Smrg    int			/* arc_mode */
31701ab64890Smrg);
31711ab64890Smrg
31721ab64890Smrgextern int XSetBackground(
31731ab64890Smrg    Display*		/* display */,
31741ab64890Smrg    GC			/* gc */,
31751ab64890Smrg    unsigned long	/* background */
31761ab64890Smrg);
31771ab64890Smrg
31781ab64890Smrgextern int XSetClipMask(
31791ab64890Smrg    Display*		/* display */,
31801ab64890Smrg    GC			/* gc */,
31811ab64890Smrg    Pixmap		/* pixmap */
31821ab64890Smrg);
31831ab64890Smrg
31841ab64890Smrgextern int XSetClipOrigin(
31851ab64890Smrg    Display*		/* display */,
31861ab64890Smrg    GC			/* gc */,
31871ab64890Smrg    int			/* clip_x_origin */,
31881ab64890Smrg    int			/* clip_y_origin */
31891ab64890Smrg);
31901ab64890Smrg
31911ab64890Smrgextern int XSetClipRectangles(
31921ab64890Smrg    Display*		/* display */,
31931ab64890Smrg    GC			/* gc */,
31941ab64890Smrg    int			/* clip_x_origin */,
31951ab64890Smrg    int			/* clip_y_origin */,
31961ab64890Smrg    XRectangle*		/* rectangles */,
31971ab64890Smrg    int			/* n */,
31981ab64890Smrg    int			/* ordering */
31991ab64890Smrg);
32001ab64890Smrg
32011ab64890Smrgextern int XSetCloseDownMode(
32021ab64890Smrg    Display*		/* display */,
32031ab64890Smrg    int			/* close_mode */
32041ab64890Smrg);
32051ab64890Smrg
32061ab64890Smrgextern int XSetCommand(
32071ab64890Smrg    Display*		/* display */,
32081ab64890Smrg    Window		/* w */,
32091ab64890Smrg    char**		/* argv */,
32101ab64890Smrg    int			/* argc */
32111ab64890Smrg);
32121ab64890Smrg
32131ab64890Smrgextern int XSetDashes(
32141ab64890Smrg    Display*		/* display */,
32151ab64890Smrg    GC			/* gc */,
32161ab64890Smrg    int			/* dash_offset */,
32171ab64890Smrg    _Xconst char*	/* dash_list */,
32181ab64890Smrg    int			/* n */
32191ab64890Smrg);
32201ab64890Smrg
32211ab64890Smrgextern int XSetFillRule(
32221ab64890Smrg    Display*		/* display */,
32231ab64890Smrg    GC			/* gc */,
32241ab64890Smrg    int			/* fill_rule */
32251ab64890Smrg);
32261ab64890Smrg
32271ab64890Smrgextern int XSetFillStyle(
32281ab64890Smrg    Display*		/* display */,
32291ab64890Smrg    GC			/* gc */,
32301ab64890Smrg    int			/* fill_style */
32311ab64890Smrg);
32321ab64890Smrg
32331ab64890Smrgextern int XSetFont(
32341ab64890Smrg    Display*		/* display */,
32351ab64890Smrg    GC			/* gc */,
32361ab64890Smrg    Font		/* font */
32371ab64890Smrg);
32381ab64890Smrg
32391ab64890Smrgextern int XSetFontPath(
32401ab64890Smrg    Display*		/* display */,
32411ab64890Smrg    char**		/* directories */,
324261b2299dSmrg    int			/* ndirs */
32431ab64890Smrg);
32441ab64890Smrg
32451ab64890Smrgextern int XSetForeground(
32461ab64890Smrg    Display*		/* display */,
32471ab64890Smrg    GC			/* gc */,
32481ab64890Smrg    unsigned long	/* foreground */
32491ab64890Smrg);
32501ab64890Smrg
32511ab64890Smrgextern int XSetFunction(
32521ab64890Smrg    Display*		/* display */,
32531ab64890Smrg    GC			/* gc */,
32541ab64890Smrg    int			/* function */
32551ab64890Smrg);
32561ab64890Smrg
32571ab64890Smrgextern int XSetGraphicsExposures(
32581ab64890Smrg    Display*		/* display */,
32591ab64890Smrg    GC			/* gc */,
32601ab64890Smrg    Bool		/* graphics_exposures */
32611ab64890Smrg);
32621ab64890Smrg
32631ab64890Smrgextern int XSetIconName(
32641ab64890Smrg    Display*		/* display */,
32651ab64890Smrg    Window		/* w */,
32661ab64890Smrg    _Xconst char*	/* icon_name */
32671ab64890Smrg);
32681ab64890Smrg
32691ab64890Smrgextern int XSetInputFocus(
32701ab64890Smrg    Display*		/* display */,
32711ab64890Smrg    Window		/* focus */,
32721ab64890Smrg    int			/* revert_to */,
32731ab64890Smrg    Time		/* time */
32741ab64890Smrg);
32751ab64890Smrg
32761ab64890Smrgextern int XSetLineAttributes(
32771ab64890Smrg    Display*		/* display */,
32781ab64890Smrg    GC			/* gc */,
32791ab64890Smrg    unsigned int	/* line_width */,
32801ab64890Smrg    int			/* line_style */,
32811ab64890Smrg    int			/* cap_style */,
32821ab64890Smrg    int			/* join_style */
32831ab64890Smrg);
32841ab64890Smrg
32851ab64890Smrgextern int XSetModifierMapping(
32861ab64890Smrg    Display*		/* display */,
32871ab64890Smrg    XModifierKeymap*	/* modmap */
32881ab64890Smrg);
32891ab64890Smrg
32901ab64890Smrgextern int XSetPlaneMask(
32911ab64890Smrg    Display*		/* display */,
32921ab64890Smrg    GC			/* gc */,
32931ab64890Smrg    unsigned long	/* plane_mask */
32941ab64890Smrg);
32951ab64890Smrg
32961ab64890Smrgextern int XSetPointerMapping(
32971ab64890Smrg    Display*		/* display */,
32981ab64890Smrg    _Xconst unsigned char*	/* map */,
32991ab64890Smrg    int			/* nmap */
33001ab64890Smrg);
33011ab64890Smrg
33021ab64890Smrgextern int XSetScreenSaver(
33031ab64890Smrg    Display*		/* display */,
33041ab64890Smrg    int			/* timeout */,
33051ab64890Smrg    int			/* interval */,
33061ab64890Smrg    int			/* prefer_blanking */,
33071ab64890Smrg    int			/* allow_exposures */
33081ab64890Smrg);
33091ab64890Smrg
33101ab64890Smrgextern int XSetSelectionOwner(
33111ab64890Smrg    Display*		/* display */,
33121ab64890Smrg    Atom	        /* selection */,
33131ab64890Smrg    Window		/* owner */,
33141ab64890Smrg    Time		/* time */
33151ab64890Smrg);
33161ab64890Smrg
33171ab64890Smrgextern int XSetState(
33181ab64890Smrg    Display*		/* display */,
33191ab64890Smrg    GC			/* gc */,
33201ab64890Smrg    unsigned long 	/* foreground */,
33211ab64890Smrg    unsigned long	/* background */,
33221ab64890Smrg    int			/* function */,
33231ab64890Smrg    unsigned long	/* plane_mask */
33241ab64890Smrg);
33251ab64890Smrg
33261ab64890Smrgextern int XSetStipple(
33271ab64890Smrg    Display*		/* display */,
33281ab64890Smrg    GC			/* gc */,
33291ab64890Smrg    Pixmap		/* stipple */
33301ab64890Smrg);
33311ab64890Smrg
33321ab64890Smrgextern int XSetSubwindowMode(
33331ab64890Smrg    Display*		/* display */,
33341ab64890Smrg    GC			/* gc */,
33351ab64890Smrg    int			/* subwindow_mode */
33361ab64890Smrg);
33371ab64890Smrg
33381ab64890Smrgextern int XSetTSOrigin(
33391ab64890Smrg    Display*		/* display */,
33401ab64890Smrg    GC			/* gc */,
33411ab64890Smrg    int			/* ts_x_origin */,
33421ab64890Smrg    int			/* ts_y_origin */
33431ab64890Smrg);
33441ab64890Smrg
33451ab64890Smrgextern int XSetTile(
33461ab64890Smrg    Display*		/* display */,
33471ab64890Smrg    GC			/* gc */,
33481ab64890Smrg    Pixmap		/* tile */
33491ab64890Smrg);
33501ab64890Smrg
33511ab64890Smrgextern int XSetWindowBackground(
33521ab64890Smrg    Display*		/* display */,
33531ab64890Smrg    Window		/* w */,
33541ab64890Smrg    unsigned long	/* background_pixel */
33551ab64890Smrg);
33561ab64890Smrg
33571ab64890Smrgextern int XSetWindowBackgroundPixmap(
33581ab64890Smrg    Display*		/* display */,
33591ab64890Smrg    Window		/* w */,
33601ab64890Smrg    Pixmap		/* background_pixmap */
33611ab64890Smrg);
33621ab64890Smrg
33631ab64890Smrgextern int XSetWindowBorder(
33641ab64890Smrg    Display*		/* display */,
33651ab64890Smrg    Window		/* w */,
33661ab64890Smrg    unsigned long	/* border_pixel */
33671ab64890Smrg);
33681ab64890Smrg
33691ab64890Smrgextern int XSetWindowBorderPixmap(
33701ab64890Smrg    Display*		/* display */,
33711ab64890Smrg    Window		/* w */,
33721ab64890Smrg    Pixmap		/* border_pixmap */
33731ab64890Smrg);
33741ab64890Smrg
33751ab64890Smrgextern int XSetWindowBorderWidth(
33761ab64890Smrg    Display*		/* display */,
33771ab64890Smrg    Window		/* w */,
33781ab64890Smrg    unsigned int	/* width */
33791ab64890Smrg);
33801ab64890Smrg
33811ab64890Smrgextern int XSetWindowColormap(
33821ab64890Smrg    Display*		/* display */,
33831ab64890Smrg    Window		/* w */,
33841ab64890Smrg    Colormap		/* colormap */
33851ab64890Smrg);
33861ab64890Smrg
33871ab64890Smrgextern int XStoreBuffer(
33881ab64890Smrg    Display*		/* display */,
33891ab64890Smrg    _Xconst char*	/* bytes */,
33901ab64890Smrg    int			/* nbytes */,
33911ab64890Smrg    int			/* buffer */
33921ab64890Smrg);
33931ab64890Smrg
33941ab64890Smrgextern int XStoreBytes(
33951ab64890Smrg    Display*		/* display */,
33961ab64890Smrg    _Xconst char*	/* bytes */,
33971ab64890Smrg    int			/* nbytes */
33981ab64890Smrg);
33991ab64890Smrg
34001ab64890Smrgextern int XStoreColor(
34011ab64890Smrg    Display*		/* display */,
34021ab64890Smrg    Colormap		/* colormap */,
34031ab64890Smrg    XColor*		/* color */
34041ab64890Smrg);
34051ab64890Smrg
34061ab64890Smrgextern int XStoreColors(
34071ab64890Smrg    Display*		/* display */,
34081ab64890Smrg    Colormap		/* colormap */,
34091ab64890Smrg    XColor*		/* color */,
34101ab64890Smrg    int			/* ncolors */
34111ab64890Smrg);
34121ab64890Smrg
34131ab64890Smrgextern int XStoreName(
34141ab64890Smrg    Display*		/* display */,
34151ab64890Smrg    Window		/* w */,
34161ab64890Smrg    _Xconst char*	/* window_name */
34171ab64890Smrg);
34181ab64890Smrg
34191ab64890Smrgextern int XStoreNamedColor(
34201ab64890Smrg    Display*		/* display */,
34211ab64890Smrg    Colormap		/* colormap */,
34221ab64890Smrg    _Xconst char*	/* color */,
34231ab64890Smrg    unsigned long	/* pixel */,
34241ab64890Smrg    int			/* flags */
34251ab64890Smrg);
34261ab64890Smrg
34271ab64890Smrgextern int XSync(
34281ab64890Smrg    Display*		/* display */,
34291ab64890Smrg    Bool		/* discard */
34301ab64890Smrg);
34311ab64890Smrg
34321ab64890Smrgextern int XTextExtents(
34331ab64890Smrg    XFontStruct*	/* font_struct */,
34341ab64890Smrg    _Xconst char*	/* string */,
34351ab64890Smrg    int			/* nchars */,
34361ab64890Smrg    int*		/* direction_return */,
34371ab64890Smrg    int*		/* font_ascent_return */,
34381ab64890Smrg    int*		/* font_descent_return */,
34391ab64890Smrg    XCharStruct*	/* overall_return */
34401ab64890Smrg);
34411ab64890Smrg
34421ab64890Smrgextern int XTextExtents16(
34431ab64890Smrg    XFontStruct*	/* font_struct */,
34441ab64890Smrg    _Xconst XChar2b*	/* string */,
34451ab64890Smrg    int			/* nchars */,
34461ab64890Smrg    int*		/* direction_return */,
34471ab64890Smrg    int*		/* font_ascent_return */,
34481ab64890Smrg    int*		/* font_descent_return */,
34491ab64890Smrg    XCharStruct*	/* overall_return */
34501ab64890Smrg);
34511ab64890Smrg
34521ab64890Smrgextern int XTextWidth(
34531ab64890Smrg    XFontStruct*	/* font_struct */,
34541ab64890Smrg    _Xconst char*	/* string */,
34551ab64890Smrg    int			/* count */
34561ab64890Smrg);
34571ab64890Smrg
34581ab64890Smrgextern int XTextWidth16(
34591ab64890Smrg    XFontStruct*	/* font_struct */,
34601ab64890Smrg    _Xconst XChar2b*	/* string */,
34611ab64890Smrg    int			/* count */
34621ab64890Smrg);
34631ab64890Smrg
34641ab64890Smrgextern Bool XTranslateCoordinates(
34651ab64890Smrg    Display*		/* display */,
34661ab64890Smrg    Window		/* src_w */,
34671ab64890Smrg    Window		/* dest_w */,
34681ab64890Smrg    int			/* src_x */,
34691ab64890Smrg    int			/* src_y */,
34701ab64890Smrg    int*		/* dest_x_return */,
34711ab64890Smrg    int*		/* dest_y_return */,
34721ab64890Smrg    Window*		/* child_return */
34731ab64890Smrg);
34741ab64890Smrg
34751ab64890Smrgextern int XUndefineCursor(
34761ab64890Smrg    Display*		/* display */,
34771ab64890Smrg    Window		/* w */
34781ab64890Smrg);
34791ab64890Smrg
34801ab64890Smrgextern int XUngrabButton(
34811ab64890Smrg    Display*		/* display */,
34821ab64890Smrg    unsigned int	/* button */,
34831ab64890Smrg    unsigned int	/* modifiers */,
34841ab64890Smrg    Window		/* grab_window */
34851ab64890Smrg);
34861ab64890Smrg
34871ab64890Smrgextern int XUngrabKey(
34881ab64890Smrg    Display*		/* display */,
34891ab64890Smrg    int			/* keycode */,
34901ab64890Smrg    unsigned int	/* modifiers */,
34911ab64890Smrg    Window		/* grab_window */
34921ab64890Smrg);
34931ab64890Smrg
34941ab64890Smrgextern int XUngrabKeyboard(
34951ab64890Smrg    Display*		/* display */,
34961ab64890Smrg    Time		/* time */
34971ab64890Smrg);
34981ab64890Smrg
34991ab64890Smrgextern int XUngrabPointer(
35001ab64890Smrg    Display*		/* display */,
35011ab64890Smrg    Time		/* time */
35021ab64890Smrg);
35031ab64890Smrg
35041ab64890Smrgextern int XUngrabServer(
35051ab64890Smrg    Display*		/* display */
35061ab64890Smrg);
35071ab64890Smrg
35081ab64890Smrgextern int XUninstallColormap(
35091ab64890Smrg    Display*		/* display */,
35101ab64890Smrg    Colormap		/* colormap */
35111ab64890Smrg);
35121ab64890Smrg
35131ab64890Smrgextern int XUnloadFont(
35141ab64890Smrg    Display*		/* display */,
35151ab64890Smrg    Font		/* font */
35161ab64890Smrg);
35171ab64890Smrg
35181ab64890Smrgextern int XUnmapSubwindows(
35191ab64890Smrg    Display*		/* display */,
35201ab64890Smrg    Window		/* w */
35211ab64890Smrg);
35221ab64890Smrg
35231ab64890Smrgextern int XUnmapWindow(
35241ab64890Smrg    Display*		/* display */,
35251ab64890Smrg    Window		/* w */
35261ab64890Smrg);
35271ab64890Smrg
35281ab64890Smrgextern int XVendorRelease(
35291ab64890Smrg    Display*		/* display */
35301ab64890Smrg);
35311ab64890Smrg
35321ab64890Smrgextern int XWarpPointer(
35331ab64890Smrg    Display*		/* display */,
35341ab64890Smrg    Window		/* src_w */,
35351ab64890Smrg    Window		/* dest_w */,
35361ab64890Smrg    int			/* src_x */,
35371ab64890Smrg    int			/* src_y */,
35381ab64890Smrg    unsigned int	/* src_width */,
35391ab64890Smrg    unsigned int	/* src_height */,
35401ab64890Smrg    int			/* dest_x */,
354161b2299dSmrg    int			/* dest_y */
35421ab64890Smrg);
35431ab64890Smrg
35441ab64890Smrgextern int XWidthMMOfScreen(
35451ab64890Smrg    Screen*		/* screen */
35461ab64890Smrg);
35471ab64890Smrg
35481ab64890Smrgextern int XWidthOfScreen(
35491ab64890Smrg    Screen*		/* screen */
35501ab64890Smrg);
35511ab64890Smrg
35521ab64890Smrgextern int XWindowEvent(
35531ab64890Smrg    Display*		/* display */,
35541ab64890Smrg    Window		/* w */,
35551ab64890Smrg    long		/* event_mask */,
35561ab64890Smrg    XEvent*		/* event_return */
35571ab64890Smrg);
35581ab64890Smrg
35591ab64890Smrgextern int XWriteBitmapFile(
35601ab64890Smrg    Display*		/* display */,
35611ab64890Smrg    _Xconst char*	/* filename */,
35621ab64890Smrg    Pixmap		/* bitmap */,
35631ab64890Smrg    unsigned int	/* width */,
35641ab64890Smrg    unsigned int	/* height */,
35651ab64890Smrg    int			/* x_hot */,
356661b2299dSmrg    int			/* y_hot */
35671ab64890Smrg);
35681ab64890Smrg
35691ab64890Smrgextern Bool XSupportsLocale (void);
35701ab64890Smrg
35711ab64890Smrgextern char *XSetLocaleModifiers(
35721ab64890Smrg    const char*		/* modifier_list */
35731ab64890Smrg);
35741ab64890Smrg
35751ab64890Smrgextern XOM XOpenOM(
35761ab64890Smrg    Display*			/* display */,
35771ab64890Smrg    struct _XrmHashBucketRec*	/* rdb */,
35781ab64890Smrg    _Xconst char*		/* res_name */,
35791ab64890Smrg    _Xconst char*		/* res_class */
35801ab64890Smrg);
35811ab64890Smrg
35821ab64890Smrgextern Status XCloseOM(
35831ab64890Smrg    XOM			/* om */
35841ab64890Smrg);
35851ab64890Smrg
35861ab64890Smrgextern char *XSetOMValues(
35871ab64890Smrg    XOM			/* om */,
35881ab64890Smrg    ...
35891ab64890Smrg) _X_SENTINEL(0);
35901ab64890Smrg
35911ab64890Smrgextern char *XGetOMValues(
35921ab64890Smrg    XOM			/* om */,
35931ab64890Smrg    ...
35941ab64890Smrg) _X_SENTINEL(0);
35951ab64890Smrg
35961ab64890Smrgextern Display *XDisplayOfOM(
35971ab64890Smrg    XOM			/* om */
35981ab64890Smrg);
35991ab64890Smrg
36001ab64890Smrgextern char *XLocaleOfOM(
36011ab64890Smrg    XOM			/* om */
36021ab64890Smrg);
36031ab64890Smrg
36041ab64890Smrgextern XOC XCreateOC(
36051ab64890Smrg    XOM			/* om */,
36061ab64890Smrg    ...
36071ab64890Smrg) _X_SENTINEL(0);
36081ab64890Smrg
36091ab64890Smrgextern void XDestroyOC(
36101ab64890Smrg    XOC			/* oc */
36111ab64890Smrg);
36121ab64890Smrg
36131ab64890Smrgextern XOM XOMOfOC(
36141ab64890Smrg    XOC			/* oc */
36151ab64890Smrg);
36161ab64890Smrg
36171ab64890Smrgextern char *XSetOCValues(
36181ab64890Smrg    XOC			/* oc */,
36191ab64890Smrg    ...
36201ab64890Smrg) _X_SENTINEL(0);
36211ab64890Smrg
36221ab64890Smrgextern char *XGetOCValues(
36231ab64890Smrg    XOC			/* oc */,
36241ab64890Smrg    ...
36251ab64890Smrg) _X_SENTINEL(0);
36261ab64890Smrg
36271ab64890Smrgextern XFontSet XCreateFontSet(
36281ab64890Smrg    Display*		/* display */,
36291ab64890Smrg    _Xconst char*	/* base_font_name_list */,
36301ab64890Smrg    char***		/* missing_charset_list */,
36311ab64890Smrg    int*		/* missing_charset_count */,
36321ab64890Smrg    char**		/* def_string */
36331ab64890Smrg);
36341ab64890Smrg
36351ab64890Smrgextern void XFreeFontSet(
36361ab64890Smrg    Display*		/* display */,
36371ab64890Smrg    XFontSet		/* font_set */
36381ab64890Smrg);
36391ab64890Smrg
36401ab64890Smrgextern int XFontsOfFontSet(
36411ab64890Smrg    XFontSet		/* font_set */,
36421ab64890Smrg    XFontStruct***	/* font_struct_list */,
36431ab64890Smrg    char***		/* font_name_list */
36441ab64890Smrg);
36451ab64890Smrg
36461ab64890Smrgextern char *XBaseFontNameListOfFontSet(
36471ab64890Smrg    XFontSet		/* font_set */
36481ab64890Smrg);
36491ab64890Smrg
36501ab64890Smrgextern char *XLocaleOfFontSet(
36511ab64890Smrg    XFontSet		/* font_set */
36521ab64890Smrg);
36531ab64890Smrg
36541ab64890Smrgextern Bool XContextDependentDrawing(
36551ab64890Smrg    XFontSet		/* font_set */
36561ab64890Smrg);
36571ab64890Smrg
36581ab64890Smrgextern Bool XDirectionalDependentDrawing(
36591ab64890Smrg    XFontSet		/* font_set */
36601ab64890Smrg);
36611ab64890Smrg
36621ab64890Smrgextern Bool XContextualDrawing(
36631ab64890Smrg    XFontSet		/* font_set */
36641ab64890Smrg);
36651ab64890Smrg
36661ab64890Smrgextern XFontSetExtents *XExtentsOfFontSet(
36671ab64890Smrg    XFontSet		/* font_set */
36681ab64890Smrg);
36691ab64890Smrg
36701ab64890Smrgextern int XmbTextEscapement(
36711ab64890Smrg    XFontSet		/* font_set */,
36721ab64890Smrg    _Xconst char*	/* text */,
36731ab64890Smrg    int			/* bytes_text */
36741ab64890Smrg);
36751ab64890Smrg
36761ab64890Smrgextern int XwcTextEscapement(
36771ab64890Smrg    XFontSet		/* font_set */,
36781ab64890Smrg    _Xconst wchar_t*	/* text */,
36791ab64890Smrg    int			/* num_wchars */
36801ab64890Smrg);
36811ab64890Smrg
36821ab64890Smrgextern int Xutf8TextEscapement(
36831ab64890Smrg    XFontSet		/* font_set */,
36841ab64890Smrg    _Xconst char*	/* text */,
36851ab64890Smrg    int			/* bytes_text */
36861ab64890Smrg);
36871ab64890Smrg
36881ab64890Smrgextern int XmbTextExtents(
36891ab64890Smrg    XFontSet		/* font_set */,
36901ab64890Smrg    _Xconst char*	/* text */,
36911ab64890Smrg    int			/* bytes_text */,
36921ab64890Smrg    XRectangle*		/* overall_ink_return */,
36931ab64890Smrg    XRectangle*		/* overall_logical_return */
36941ab64890Smrg);
36951ab64890Smrg
36961ab64890Smrgextern int XwcTextExtents(
36971ab64890Smrg    XFontSet		/* font_set */,
36981ab64890Smrg    _Xconst wchar_t*	/* text */,
36991ab64890Smrg    int			/* num_wchars */,
37001ab64890Smrg    XRectangle*		/* overall_ink_return */,
37011ab64890Smrg    XRectangle*		/* overall_logical_return */
37021ab64890Smrg);
37031ab64890Smrg
37041ab64890Smrgextern int Xutf8TextExtents(
37051ab64890Smrg    XFontSet		/* font_set */,
37061ab64890Smrg    _Xconst char*	/* text */,
37071ab64890Smrg    int			/* bytes_text */,
37081ab64890Smrg    XRectangle*		/* overall_ink_return */,
37091ab64890Smrg    XRectangle*		/* overall_logical_return */
37101ab64890Smrg);
37111ab64890Smrg
37121ab64890Smrgextern Status XmbTextPerCharExtents(
37131ab64890Smrg    XFontSet		/* font_set */,
37141ab64890Smrg    _Xconst char*	/* text */,
37151ab64890Smrg    int			/* bytes_text */,
37161ab64890Smrg    XRectangle*		/* ink_extents_buffer */,
37171ab64890Smrg    XRectangle*		/* logical_extents_buffer */,
37181ab64890Smrg    int			/* buffer_size */,
37191ab64890Smrg    int*		/* num_chars */,
37201ab64890Smrg    XRectangle*		/* overall_ink_return */,
37211ab64890Smrg    XRectangle*		/* overall_logical_return */
37221ab64890Smrg);
37231ab64890Smrg
37241ab64890Smrgextern Status XwcTextPerCharExtents(
37251ab64890Smrg    XFontSet		/* font_set */,
37261ab64890Smrg    _Xconst wchar_t*	/* text */,
37271ab64890Smrg    int			/* num_wchars */,
37281ab64890Smrg    XRectangle*		/* ink_extents_buffer */,
37291ab64890Smrg    XRectangle*		/* logical_extents_buffer */,
37301ab64890Smrg    int			/* buffer_size */,
37311ab64890Smrg    int*		/* num_chars */,
37321ab64890Smrg    XRectangle*		/* overall_ink_return */,
37331ab64890Smrg    XRectangle*		/* overall_logical_return */
37341ab64890Smrg);
37351ab64890Smrg
37361ab64890Smrgextern Status Xutf8TextPerCharExtents(
37371ab64890Smrg    XFontSet		/* font_set */,
37381ab64890Smrg    _Xconst char*	/* text */,
37391ab64890Smrg    int			/* bytes_text */,
37401ab64890Smrg    XRectangle*		/* ink_extents_buffer */,
37411ab64890Smrg    XRectangle*		/* logical_extents_buffer */,
37421ab64890Smrg    int			/* buffer_size */,
37431ab64890Smrg    int*		/* num_chars */,
37441ab64890Smrg    XRectangle*		/* overall_ink_return */,
37451ab64890Smrg    XRectangle*		/* overall_logical_return */
37461ab64890Smrg);
37471ab64890Smrg
37481ab64890Smrgextern void XmbDrawText(
37491ab64890Smrg    Display*		/* display */,
37501ab64890Smrg    Drawable		/* d */,
37511ab64890Smrg    GC			/* gc */,
37521ab64890Smrg    int			/* x */,
37531ab64890Smrg    int			/* y */,
37541ab64890Smrg    XmbTextItem*	/* text_items */,
37551ab64890Smrg    int			/* nitems */
37561ab64890Smrg);
37571ab64890Smrg
37581ab64890Smrgextern void XwcDrawText(
37591ab64890Smrg    Display*		/* display */,
37601ab64890Smrg    Drawable		/* d */,
37611ab64890Smrg    GC			/* gc */,
37621ab64890Smrg    int			/* x */,
37631ab64890Smrg    int			/* y */,
37641ab64890Smrg    XwcTextItem*	/* text_items */,
37651ab64890Smrg    int			/* nitems */
37661ab64890Smrg);
37671ab64890Smrg
37681ab64890Smrgextern void Xutf8DrawText(
37691ab64890Smrg    Display*		/* display */,
37701ab64890Smrg    Drawable		/* d */,
37711ab64890Smrg    GC			/* gc */,
37721ab64890Smrg    int			/* x */,
37731ab64890Smrg    int			/* y */,
37741ab64890Smrg    XmbTextItem*	/* text_items */,
37751ab64890Smrg    int			/* nitems */
37761ab64890Smrg);
37771ab64890Smrg
37781ab64890Smrgextern void XmbDrawString(
37791ab64890Smrg    Display*		/* display */,
37801ab64890Smrg    Drawable		/* d */,
37811ab64890Smrg    XFontSet		/* font_set */,
37821ab64890Smrg    GC			/* gc */,
37831ab64890Smrg    int			/* x */,
37841ab64890Smrg    int			/* y */,
37851ab64890Smrg    _Xconst char*	/* text */,
37861ab64890Smrg    int			/* bytes_text */
37871ab64890Smrg);
37881ab64890Smrg
37891ab64890Smrgextern void XwcDrawString(
37901ab64890Smrg    Display*		/* display */,
37911ab64890Smrg    Drawable		/* d */,
37921ab64890Smrg    XFontSet		/* font_set */,
37931ab64890Smrg    GC			/* gc */,
37941ab64890Smrg    int			/* x */,
37951ab64890Smrg    int			/* y */,
37961ab64890Smrg    _Xconst wchar_t*	/* text */,
37971ab64890Smrg    int			/* num_wchars */
37981ab64890Smrg);
37991ab64890Smrg
38001ab64890Smrgextern void Xutf8DrawString(
38011ab64890Smrg    Display*		/* display */,
38021ab64890Smrg    Drawable		/* d */,
38031ab64890Smrg    XFontSet		/* font_set */,
38041ab64890Smrg    GC			/* gc */,
38051ab64890Smrg    int			/* x */,
38061ab64890Smrg    int			/* y */,
38071ab64890Smrg    _Xconst char*	/* text */,
38081ab64890Smrg    int			/* bytes_text */
38091ab64890Smrg);
38101ab64890Smrg
38111ab64890Smrgextern void XmbDrawImageString(
38121ab64890Smrg    Display*		/* display */,
38131ab64890Smrg    Drawable		/* d */,
38141ab64890Smrg    XFontSet		/* font_set */,
38151ab64890Smrg    GC			/* gc */,
38161ab64890Smrg    int			/* x */,
38171ab64890Smrg    int			/* y */,
38181ab64890Smrg    _Xconst char*	/* text */,
38191ab64890Smrg    int			/* bytes_text */
38201ab64890Smrg);
38211ab64890Smrg
38221ab64890Smrgextern void XwcDrawImageString(
38231ab64890Smrg    Display*		/* display */,
38241ab64890Smrg    Drawable		/* d */,
38251ab64890Smrg    XFontSet		/* font_set */,
38261ab64890Smrg    GC			/* gc */,
38271ab64890Smrg    int			/* x */,
38281ab64890Smrg    int			/* y */,
38291ab64890Smrg    _Xconst wchar_t*	/* text */,
38301ab64890Smrg    int			/* num_wchars */
38311ab64890Smrg);
38321ab64890Smrg
38331ab64890Smrgextern void Xutf8DrawImageString(
38341ab64890Smrg    Display*		/* display */,
38351ab64890Smrg    Drawable		/* d */,
38361ab64890Smrg    XFontSet		/* font_set */,
38371ab64890Smrg    GC			/* gc */,
38381ab64890Smrg    int			/* x */,
38391ab64890Smrg    int			/* y */,
38401ab64890Smrg    _Xconst char*	/* text */,
38411ab64890Smrg    int			/* bytes_text */
38421ab64890Smrg);
38431ab64890Smrg
38441ab64890Smrgextern XIM XOpenIM(
38451ab64890Smrg    Display*			/* dpy */,
38461ab64890Smrg    struct _XrmHashBucketRec*	/* rdb */,
38471ab64890Smrg    char*			/* res_name */,
38481ab64890Smrg    char*			/* res_class */
38491ab64890Smrg);
38501ab64890Smrg
38511ab64890Smrgextern Status XCloseIM(
38521ab64890Smrg    XIM /* im */
38531ab64890Smrg);
38541ab64890Smrg
38551ab64890Smrgextern char *XGetIMValues(
38561ab64890Smrg    XIM /* im */, ...
38571ab64890Smrg) _X_SENTINEL(0);
38581ab64890Smrg
38591ab64890Smrgextern char *XSetIMValues(
38601ab64890Smrg    XIM /* im */, ...
38611ab64890Smrg) _X_SENTINEL(0);
38621ab64890Smrg
38631ab64890Smrgextern Display *XDisplayOfIM(
38641ab64890Smrg    XIM /* im */
38651ab64890Smrg);
38661ab64890Smrg
38671ab64890Smrgextern char *XLocaleOfIM(
38681ab64890Smrg    XIM /* im*/
38691ab64890Smrg);
38701ab64890Smrg
38711ab64890Smrgextern XIC XCreateIC(
38721ab64890Smrg    XIM /* im */, ...
38731ab64890Smrg) _X_SENTINEL(0);
38741ab64890Smrg
38751ab64890Smrgextern void XDestroyIC(
38761ab64890Smrg    XIC /* ic */
38771ab64890Smrg);
38781ab64890Smrg
38791ab64890Smrgextern void XSetICFocus(
38801ab64890Smrg    XIC /* ic */
38811ab64890Smrg);
38821ab64890Smrg
38831ab64890Smrgextern void XUnsetICFocus(
38841ab64890Smrg    XIC /* ic */
38851ab64890Smrg);
38861ab64890Smrg
38871ab64890Smrgextern wchar_t *XwcResetIC(
38881ab64890Smrg    XIC /* ic */
38891ab64890Smrg);
38901ab64890Smrg
38911ab64890Smrgextern char *XmbResetIC(
38921ab64890Smrg    XIC /* ic */
38931ab64890Smrg);
38941ab64890Smrg
38951ab64890Smrgextern char *Xutf8ResetIC(
38961ab64890Smrg    XIC /* ic */
38971ab64890Smrg);
38981ab64890Smrg
38991ab64890Smrgextern char *XSetICValues(
39001ab64890Smrg    XIC /* ic */, ...
39011ab64890Smrg) _X_SENTINEL(0);
39021ab64890Smrg
39031ab64890Smrgextern char *XGetICValues(
39041ab64890Smrg    XIC /* ic */, ...
39051ab64890Smrg) _X_SENTINEL(0);
39061ab64890Smrg
39071ab64890Smrgextern XIM XIMOfIC(
39081ab64890Smrg    XIC /* ic */
39091ab64890Smrg);
39101ab64890Smrg
39111ab64890Smrgextern Bool XFilterEvent(
39121ab64890Smrg    XEvent*	/* event */,
39131ab64890Smrg    Window	/* window */
39141ab64890Smrg);
39151ab64890Smrg
39161ab64890Smrgextern int XmbLookupString(
39171ab64890Smrg    XIC			/* ic */,
39181ab64890Smrg    XKeyPressedEvent*	/* event */,
39191ab64890Smrg    char*		/* buffer_return */,
39201ab64890Smrg    int			/* bytes_buffer */,
39211ab64890Smrg    KeySym*		/* keysym_return */,
39221ab64890Smrg    Status*		/* status_return */
39231ab64890Smrg);
39241ab64890Smrg
39251ab64890Smrgextern int XwcLookupString(
39261ab64890Smrg    XIC			/* ic */,
39271ab64890Smrg    XKeyPressedEvent*	/* event */,
39281ab64890Smrg    wchar_t*		/* buffer_return */,
39291ab64890Smrg    int			/* wchars_buffer */,
39301ab64890Smrg    KeySym*		/* keysym_return */,
39311ab64890Smrg    Status*		/* status_return */
39321ab64890Smrg);
39331ab64890Smrg
39341ab64890Smrgextern int Xutf8LookupString(
39351ab64890Smrg    XIC			/* ic */,
39361ab64890Smrg    XKeyPressedEvent*	/* event */,
39371ab64890Smrg    char*		/* buffer_return */,
39381ab64890Smrg    int			/* bytes_buffer */,
39391ab64890Smrg    KeySym*		/* keysym_return */,
39401ab64890Smrg    Status*		/* status_return */
39411ab64890Smrg);
39421ab64890Smrg
39431ab64890Smrgextern XVaNestedList XVaCreateNestedList(
39441ab64890Smrg    int /*unused*/, ...
39451ab64890Smrg) _X_SENTINEL(0);
39461ab64890Smrg
39471ab64890Smrg/* internal connections for IMs */
39481ab64890Smrg
39491ab64890Smrgextern Bool XRegisterIMInstantiateCallback(
39501ab64890Smrg    Display*			/* dpy */,
39511ab64890Smrg    struct _XrmHashBucketRec*	/* rdb */,
39521ab64890Smrg    char*			/* res_name */,
39531ab64890Smrg    char*			/* res_class */,
39541ab64890Smrg    XIDProc			/* callback */,
39551ab64890Smrg    XPointer			/* client_data */
39561ab64890Smrg);
39571ab64890Smrg
39581ab64890Smrgextern Bool XUnregisterIMInstantiateCallback(
39591ab64890Smrg    Display*			/* dpy */,
39601ab64890Smrg    struct _XrmHashBucketRec*	/* rdb */,
39611ab64890Smrg    char*			/* res_name */,
39621ab64890Smrg    char*			/* res_class */,
39631ab64890Smrg    XIDProc			/* callback */,
39641ab64890Smrg    XPointer			/* client_data */
39651ab64890Smrg);
39661ab64890Smrg
39671ab64890Smrgtypedef void (*XConnectionWatchProc)(
39681ab64890Smrg    Display*			/* dpy */,
39691ab64890Smrg    XPointer			/* client_data */,
39701ab64890Smrg    int				/* fd */,
39711ab64890Smrg    Bool			/* opening */,	 /* open or close flag */
39721ab64890Smrg    XPointer*			/* watch_data */ /* open sets, close uses */
39731ab64890Smrg);
397461b2299dSmrg
39751ab64890Smrg
39761ab64890Smrgextern Status XInternalConnectionNumbers(
39771ab64890Smrg    Display*			/* dpy */,
39781ab64890Smrg    int**			/* fd_return */,
39791ab64890Smrg    int*			/* count_return */
39801ab64890Smrg);
39811ab64890Smrg
39821ab64890Smrgextern void XProcessInternalConnection(
39831ab64890Smrg    Display*			/* dpy */,
39841ab64890Smrg    int				/* fd */
39851ab64890Smrg);
39861ab64890Smrg
39871ab64890Smrgextern Status XAddConnectionWatch(
39881ab64890Smrg    Display*			/* dpy */,
39891ab64890Smrg    XConnectionWatchProc	/* callback */,
39901ab64890Smrg    XPointer			/* client_data */
39911ab64890Smrg);
39921ab64890Smrg
39931ab64890Smrgextern void XRemoveConnectionWatch(
39941ab64890Smrg    Display*			/* dpy */,
39951ab64890Smrg    XConnectionWatchProc	/* callback */,
39961ab64890Smrg    XPointer			/* client_data */
39971ab64890Smrg);
39981ab64890Smrg
39991ab64890Smrgextern void XSetAuthorization(
40001ab64890Smrg    char *			/* name */,
400161b2299dSmrg    int				/* namelen */,
40021ab64890Smrg    char *			/* data */,
40031ab64890Smrg    int				/* datalen */
40041ab64890Smrg);
40051ab64890Smrg
40061ab64890Smrgextern int _Xmbtowc(
40071ab64890Smrg    wchar_t *			/* wstr */,
40081ab64890Smrg#ifdef ISC
40091ab64890Smrg    char const *		/* str */,
40101ab64890Smrg    size_t			/* len */
40111ab64890Smrg#else
40121ab64890Smrg    char *			/* str */,
40131ab64890Smrg    int				/* len */
40141ab64890Smrg#endif
40151ab64890Smrg);
40161ab64890Smrg
40171ab64890Smrgextern int _Xwctomb(
40181ab64890Smrg    char *			/* str */,
40191ab64890Smrg    wchar_t			/* wc */
40201ab64890Smrg);
40211ab64890Smrg
40221ab64890Smrg_XFUNCPROTOEND
40231ab64890Smrg
40241ab64890Smrg#endif /* _XLIB_H_ */
4025