Create Xref-Html Frames                    Remove All Frames
file:c:/local/Cygwin/usr/X11R6/include/X11/Xlib.h        (Sat Apr 10 16:25:32 2004 )


   1: /* $XdotOrg: xc/lib/X11/Xlib.h,v 1.1.4.4.2.2 2004/03/18 12:00:23 ago Exp $ */
   2: /* $Xorg: Xlib.h,v 1.6 2001/02/09 02:03:38 xorgcvs Exp $ */
   3: /* 
   4: 
   5: Copyright 1985, 1986, 1987, 1991, 1998  The Open Group
   6: 
   7: Permission to use, copy, modify, distribute, and sell this software and its
   8: documentation for any purpose is hereby granted without fee, provided that
   9: the above copyright notice appear in all copies and that both that
  10: copyright notice and this permission notice appear in supporting
  11: documentation.
  12: 
  13: The above copyright notice and this permission notice shall be included in
  14: all copies or substantial portions of the Software.
  15: 
  16: THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  17: IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  18: FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
  19: OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
  20: AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
  21: CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
  22: 
  23: Except as contained in this notice, the name of The Open Group shall not be
  24: used in advertising or otherwise to promote the sale, use or other dealings
  25: in this Software without prior written authorization from The Open Group.
  26: 
  27: */
  28: /* $XFree86: xc/lib/X11/Xlib.h,v 3.25 2003/11/17 22:20:10 dawes Exp $ */
  29: 
  30: 
  31: /*
  32:  *  Xlib.h - Header definition and support file for the C subroutine
  33:  *  interface library (Xlib) to the X Window System Protocol (V11).
  34:  *  Structures and symbols starting with "_" are private to the library.
  35:  */
  36: #ifndef _XLIB_H_
  37: #define _XLIB_H_
  38: 
  39: #define XlibSpecificationRelease 6
  40: 
  41: #ifdef USG
  42: #ifndef __TYPES__
  43: #include <sys/types.h>      /* forgot to protect it... */
  44: #define __TYPES__
  45: #endif /* __TYPES__ */
  46: #else
  47: #if defined(_POSIX_SOURCE) && defined(MOTOROLA)
  48: #undef _POSIX_SOURCE
  49: #include <sys/types.h>
  50: #define _POSIX_SOURCE
  51: #else
  52: #include <sys/types.h>
  53: #endif
  54: #endif /* USG */
  55: 
  56: #if defined(SCO325) || defined(__USLC__)
  57: #include <stdint.h>
  58: #endif
  59: 
  60: #include <X11/X.h>
  61: 
  62: /* applications should not depend on these two headers being included! */
  63: #include <X11/Xfuncproto.h>
  64: #include <X11/Xosdefs.h>
  65: 
  66: #ifndef X_WCHAR
  67: #ifdef X_NOT_STDC_ENV
  68: #ifndef SCO324
  69: #ifndef ISC
  70: #define X_WCHAR
  71: #endif
  72: #endif
  73: #endif
  74: #endif
  75: 
  76: #ifndef X_WCHAR
  77: #include <stddef.h>
  78: #else
  79: #ifdef __UNIXOS2__
  80: #include <stdlib.h>
  81: #else
  82: /* replace this with #include or typedef appropriate for your system */
  83: typedef unsigned long wchar_t;
  84: #endif
  85: #endif
  86: 
  87: #if defined(ISC) && defined(USE_XMBTOWC)
  88: #define wctomb(a,b) _Xwctomb(a,b)
  89: #define mblen(a,b)  _Xmblen(a,b) 
  90: #ifndef USE_XWCHAR_STRING
  91: #define mbtowc(a,b,c) _Xmbtowc(a,b,c)
  92: #endif
  93: #endif
  94: 
  95: extern int
  96: _Xmblen(
  97: #ifdef ISC
  98:     char const *str,
  99:     size_t len
 100: #else
 101:     char *str,
 102:     int len
 103: #endif
 104:     );
 105: 
 106: /* API mentioning "UTF8" or "utf8" is an XFree86 extension, introduced in
 107:    November 2000. Its presence is indicated through the following macro. */
 108: #define X_HAVE_UTF8_STRING 1
 109: 
 110: typedef char *XPointer;
 111: 
 112: #define Bool int
 113: #define Status int
 114: #define True 1
 115: #define False 0
 116: 
 117: #define QueuedAlready 0
 118: #define QueuedAfterReading 1
 119: #define QueuedAfterFlush 2
 120: 
 121: #define ConnectionNumber(dpy)   (((_XPrivDisplay)dpy)->fd)
 122: #define RootWindow(dpy, scr)  (ScreenOfDisplay(dpy,scr)->root)
 123: #define DefaultScreen(dpy)  (((_XPrivDisplay)dpy)->default_screen)
 124: #define DefaultRootWindow(dpy)  (ScreenOfDisplay(dpy,DefaultScreen(dpy))->root)
 125: #define DefaultVisual(dpy, scr) (ScreenOfDisplay(dpy,scr)->root_visual)
 126: #define DefaultGC(dpy, scr)   (ScreenOfDisplay(dpy,scr)->default_gc)
 127: #define BlackPixel(dpy, scr)  (ScreenOfDisplay(dpy,scr)->black_pixel)
 128: #define WhitePixel(dpy, scr)  (ScreenOfDisplay(dpy,scr)->white_pixel)
 129: #define AllPlanes     ((unsigned long)~0L)
 130: #define QLength(dpy)    (((_XPrivDisplay)dpy)->qlen)
 131: #define DisplayWidth(dpy, scr)  (ScreenOfDisplay(dpy,scr)->width)
 132: #define DisplayHeight(dpy, scr) (ScreenOfDisplay(dpy,scr)->height)
 133: #define DisplayWidthMM(dpy, scr)(ScreenOfDisplay(dpy,scr)->mwidth)
 134: #define DisplayHeightMM(dpy, scr)(ScreenOfDisplay(dpy,scr)->mheight)
 135: #define DisplayPlanes(dpy, scr) (ScreenOfDisplay(dpy,scr)->root_depth)
 136: #define DisplayCells(dpy, scr)  (DefaultVisual(dpy,scr)->map_entries)
 137: #define ScreenCount(dpy)  (((_XPrivDisplay)dpy)->nscreens)
 138: #define ServerVendor(dpy)   (((_XPrivDisplay)dpy)->vendor)
 139: #define ProtocolVersion(dpy)  (((_XPrivDisplay)dpy)->proto_major_version)
 140: #define ProtocolRevision(dpy)   (((_XPrivDisplay)dpy)->proto_minor_version)
 141: #define VendorRelease(dpy)  (((_XPrivDisplay)dpy)->release)
 142: #define DisplayString(dpy)  (((_XPrivDisplay)dpy)->display_name)
 143: #define DefaultDepth(dpy, scr)  (ScreenOfDisplay(dpy,scr)->root_depth)
 144: #define DefaultColormap(dpy, scr)(ScreenOfDisplay(dpy,scr)->cmap)
 145: #define BitmapUnit(dpy)   (((_XPrivDisplay)dpy)->bitmap_unit)
 146: #define BitmapBitOrder(dpy)   (((_XPrivDisplay)dpy)->bitmap_bit_order)
 147: #define BitmapPad(dpy)    (((_XPrivDisplay)dpy)->bitmap_pad)
 148: #define ImageByteOrder(dpy)   (((_XPrivDisplay)dpy)->byte_order)
 149: #ifdef CRAY /* unable to get WORD64 without pulling in other symbols */
 150: #define NextRequest(dpy)  XNextRequest(dpy)
 151: #else
 152: #define NextRequest(dpy)  (((_XPrivDisplay)dpy)->request + 1)
 153: #endif
 154: #define LastKnownRequestProcessed(dpy)  (((_XPrivDisplay)dpy)->last_request_read)
 155: 
 156: /* macros for screen oriented applications (toolkit) */
 157: #define ScreenOfDisplay(dpy, scr)(&((_XPrivDisplay)dpy)->screens[scr])
 158: #define DefaultScreenOfDisplay(dpy) ScreenOfDisplay(dpy,DefaultScreen(dpy))
 159: #define DisplayOfScreen(s)  ((s)->display)
 160: #define RootWindowOfScreen(s) ((s)->root)
 161: #define BlackPixelOfScreen(s) ((s)->black_pixel)
 162: #define WhitePixelOfScreen(s) ((s)->white_pixel)
 163: #define DefaultColormapOfScreen(s)((s)->cmap)
 164: #define DefaultDepthOfScreen(s) ((s)->root_depth)
 165: #define DefaultGCOfScreen(s)  ((s)->default_gc)
 166: #define DefaultVisualOfScreen(s)((s)->root_visual)
 167: #define WidthOfScreen(s)  ((s)->width)
 168: #define HeightOfScreen(s) ((s)->height)
 169: #define WidthMMOfScreen(s)  ((s)->mwidth)
 170: #define HeightMMOfScreen(s) ((s)->mheight)
 171: #define PlanesOfScreen(s) ((s)->root_depth)
 172: #define CellsOfScreen(s)  (DefaultVisualOfScreen((s))->map_entries)
 173: #define MinCmapsOfScreen(s) ((s)->min_maps)
 174: #define MaxCmapsOfScreen(s) ((s)->max_maps)
 175: #define DoesSaveUnders(s) ((s)->save_unders)
 176: #define DoesBackingStore(s) ((s)->backing_store)
 177: #define EventMaskOfScreen(s)  ((s)->root_input_mask)
 178: 
 179: /*
 180:  * Extensions need a way to hang private data on some structures.
 181:  */
 182: typedef struct _XExtData {
 183:   int number;   /* number returned by XRegisterExtension */
 184:   struct _XExtData *next; /* next item on list of data for structure */
 185:   int (*free_private)(  /* called to free private storage */
 186:   struct _XExtData *extension
 187:   );
 188:   XPointer private_data;  /* data private to this extension. */
 189: } XExtData;
 190: 
 191: /*
 192:  * This file contains structures used by the extension mechanism.
 193:  */
 194: typedef struct {    /* public to extension, cannot be changed */
 195:   int extension;    /* extension number */
 196:   int major_opcode; /* major op-code assigned by server */
 197:   int first_event;  /* first event number for the extension */
 198:   int first_error;  /* first error number for the extension */
 199: } XExtCodes;
 200: 
 201: /*
 202:  * Data structure for retrieving info about pixmap formats.
 203:  */
 204: 
 205: typedef struct {
 206:     int depth;
 207:     int bits_per_pixel;
 208:     int scanline_pad;
 209: } XPixmapFormatValues;
 210: 
 211: 
 212: /*
 213:  * Data structure for setting graphics context.
 214:  */
 215: typedef struct {
 216:   int function;   /* logical operation */
 217:   unsigned long plane_mask;/* plane mask */
 218:   unsigned long foreground;/* foreground pixel */
 219:   unsigned long background;/* background pixel */
 220:   int line_width;   /* line width */
 221:   int line_style;   /* LineSolid, LineOnOffDash, LineDoubleDash */
 222:   int cap_style;      /* CapNotLast, CapButt, 
 223:            CapRound, CapProjecting */
 224:   int join_style;   /* JoinMiter, JoinRound, JoinBevel */
 225:   int fill_style;   /* FillSolid, FillTiled, 
 226:            FillStippled, FillOpaeueStippled */
 227:   int fill_rule;      /* EvenOddRule, WindingRule */
 228:   int arc_mode;   /* ArcChord, ArcPieSlice */
 229:   Pixmap tile;    /* tile pixmap for tiling operations */
 230:   Pixmap stipple;   /* stipple 1 plane pixmap for stipping */
 231:   int ts_x_origin;  /* offset for tile or stipple operations */
 232:   int ts_y_origin;
 233:         Font font;          /* default text font for text operations */
 234:   int subwindow_mode;     /* ClipByChildren, IncludeInferiors */
 235:   Bool graphics_exposures;/* boolean, should exposures be generated */
 236:   int clip_x_origin;  /* origin for clipping */
 237:   int clip_y_origin;
 238:   Pixmap clip_mask; /* bitmap clipping; other calls for rects */
 239:   int dash_offset;  /* patterned/dashed line information */
 240:   char dashes;
 241: } XGCValues;
 242: 
 243: /*
 244:  * Graphics context.  The contents of this structure are implementation
 245:  * dependent.  A GC should be treated as opaque by application code.
 246:  */
 247: 
 248: typedef struct _XGC
 249: #ifdef XLIB_ILLEGAL_ACCESS
 250: {
 251:     XExtData *ext_data; /* hook for extension to hang data */
 252:     GContext gid; /* protocol ID for graphics context */
 253:     /* there is more to this structure, but it is private to Xlib */
 254: }
 255: #endif
 256: *GC;
 257: 
 258: /*
 259:  * Visual structure; contains information about colormapping possible.
 260:  */
 261: typedef struct {
 262:   XExtData *ext_data; /* hook for extension to hang data */
 263:   VisualID visualid;  /* visual id of this visual */
 264: #if defined(__cplusplus) || defined(c_plusplus)
 265:   int c_class;    /* C++ class of screen (monochrome, etc.) */
 266: #else
 267:   int class;    /* class of screen (monochrome, etc.) */
 268: #endif
 269:   unsigned long red_mask, green_mask, blue_mask;  /* mask values */
 270:   int bits_per_rgb; /* log base 2 of distinct color values */
 271:   int map_entries;  /* color map entries */
 272: } Visual;
 273: 
 274: /*
 275:  * Depth structure; contains information for each possible depth.
 276:  */ 
 277: typedef struct {
 278:   int depth;    /* this depth (Z) of the depth */
 279:   int nvisuals;   /* number of Visual types at this depth */
 280:   Visual *visuals;  /* list of visuals possible at this depth */
 281: } Depth;
 282: 
 283: /*
 284:  * Information about the screen.  The contents of this structure are
 285:  * implementation dependent.  A Screen should be treated as opaque
 286:  * by application code.
 287:  */
 288: 
 289: struct _XDisplay;   /* Forward declare before use for C++ */
 290: 
 291: typedef struct {
 292:   XExtData *ext_data; /* hook for extension to hang data */
 293:   struct _XDisplay *display;/* back pointer to display structure */
 294:   Window root;    /* Root window id. */
 295:   int width, height;  /* width and height of screen */
 296:   int mwidth, mheight;  /* width and height of  in millimeters */
 297:   int ndepths;    /* number of depths possible */
 298:   Depth *depths;    /* list of allowable depths on the screen */
 299:   int root_depth;   /* bits per pixel */
 300:   Visual *root_visual;  /* root visual */
 301:   GC default_gc;    /* GC for the root root visual */
 302:   Colormap cmap;    /* default color map */
 303:   unsigned long white_pixel;
 304:   unsigned long black_pixel;  /* White and Black pixel values */
 305:   int max_maps, min_maps; /* max and min color maps */
 306:   int backing_store;  /* Never, WhenMapped, Always */
 307:   Bool save_unders; 
 308:   long root_input_mask; /* initial root input mask */
 309: } Screen;
 310: 
 311: /*
 312:  * Format structure; describes ZFormat data the screen will understand.
 313:  */
 314: typedef struct {
 315:   XExtData *ext_data; /* hook for extension to hang data */
 316:   int depth;    /* depth of this image format */
 317:   int bits_per_pixel; /* bits/pixel at this depth */
 318:   int scanline_pad; /* scanline must padded to this multiple */
 319: } ScreenFormat;
 320: 
 321: /*
 322:  * Data structure for setting window attributes.
 323:  */
 324: typedef struct {
 325:     Pixmap background_pixmap; /* background or None or ParentRelative */
 326:     unsigned long background_pixel; /* background pixel */
 327:     Pixmap border_pixmap; /* border of the window */
 328:     unsigned long border_pixel; /* border pixel value */
 329:     int bit_gravity;    /* one of bit gravity values */
 330:     int win_gravity;    /* one of the window gravity values */
 331:     int backing_store;    /* NotUseful, WhenMapped, Always */
 332:     unsigned long backing_planes;/* planes to be preseved if possible */
 333:     unsigned long backing_pixel;/* value to use in restoring planes */
 334:     Bool save_under;    /* should bits under be saved? (popups) */
 335:     long event_mask;    /* set of events that should be saved */
 336:     long do_not_propagate_mask; /* set of events that should not propagate */
 337:     Bool override_redirect; /* boolean value for override-redirect */
 338:     Colormap colormap;    /* color map to be associated with window */
 339:     Cursor cursor;    /* cursor to be displayed (or None) */
 340: } XSetWindowAttributes;
 341: 
 342: typedef struct {
 343:     int x, y;     /* location of window */
 344:     int width, height;    /* width and height of window */
 345:     int border_width;   /* border width of window */
 346:     int depth;            /* depth of window */
 347:     Visual *visual;   /* the associated visual structure */
 348:     Window root;          /* root of screen containing window */
 349: #if defined(__cplusplus) || defined(c_plusplus)
 350:     int c_class;    /* C++ InputOutput, InputOnly*/
 351: #else
 352:     int class;      /* InputOutput, InputOnly*/
 353: #endif
 354:     int bit_gravity;    /* one of bit gravity values */
 355:     int win_gravity;    /* one of the window gravity values */
 356:     int backing_store;    /* NotUseful, WhenMapped, Always */
 357:     unsigned long backing_planes;/* planes to be preserved if possible */
 358:     unsigned long backing_pixel;/* value to be used when restoring planes */
 359:     Bool save_under;    /* boolean, should bits under be saved? */
 360:     Colormap colormap;    /* color map to be associated with window */
 361:     Bool map_installed;   /* boolean, is color map currently installed*/
 362:     int map_state;    /* IsUnmapped, IsUnviewable, IsViewable */
 363:     long all_event_masks; /* set of events all people have interest in*/
 364:     long your_event_mask; /* my event mask */
 365:     long do_not_propagate_mask; /* set of events that should not propagate */
 366:     Bool override_redirect; /* boolean value for override-redirect */
 367:     Screen *screen;   /* back pointer to correct screen */
 368: } XWindowAttributes;
 369: 
 370: /*
 371:  * Data structure for host setting; getting routines.
 372:  *
 373:  */
 374: 
 375: typedef struct {
 376:   int family;   /* for example FamilyInternet */
 377:   int length;   /* length of address, in bytes */
 378:   char *address;    /* pointer to where to find the bytes */
 379: } XHostAddress;
 380: 
 381: /*
 382:  * Data structure for ServerFamilyInterpreted addresses in host routines
 383:  */
 384: typedef struct {
 385:   int typelength;   /* length of type string, in bytes */
 386:   int valuelength;  /* length of value string, in bytes */
 387:   char *type;   /* pointer to where to find the type string */
 388:   char *value;    /* pointer to where to find the address */
 389: } XServerInterpretedAddress;
 390: 
 391: /*
 392:  * Data structure for "image" data, used by image manipulation routines.
 393:  */
 394: typedef struct _XImage {
 395:     int width, height;    /* size of image */
 396:     int xoffset;    /* number of pixels offset in X direction */
 397:     int format;     /* XYBitmap, XYPixmap, ZPixmap */
 398:     char *data;     /* pointer to image data */
 399:     int byte_order;   /* data byte order, LSBFirst, MSBFirst */
 400:     int bitmap_unit;    /* quant. of scanline 8, 16, 32 */
 401:     int bitmap_bit_order; /* LSBFirst, MSBFirst */
 402:     int bitmap_pad;   /* 8, 16, 32 either XY or ZPixmap */
 403:     int depth;      /* depth of image */
 404:     int bytes_per_line;   /* accelarator to next line */
 405:     int bits_per_pixel;   /* bits per pixel (ZPixmap) */
 406:     unsigned long red_mask; /* bits in z arrangment */
 407:     unsigned long green_mask;
 408:     unsigned long blue_mask;
 409:     XPointer obdata;    /* hook for the object routines to hang on */
 410:     struct funcs {    /* image manipulation routines */
 411:   struct _XImage *(*create_image)(
 412:     struct _XDisplay* /* display */,
 413:     Visual*   /* visual */,
 414:     unsigned int  /* depth */,
 415:     int   /* format */,
 416:     int   /* offset */,
 417:     char*   /* data */,
 418:     unsigned int  /* width */,
 419:     unsigned int  /* height */,
 420:     int   /* bitmap_pad */,
 421:     int   /* bytes_per_line */);
 422:   int (*destroy_image)        (struct _XImage *);
 423:   unsigned long (*get_pixel)  (struct _XImage *, int, int);
 424:   int (*put_pixel)            (struct _XImage *, int, int, unsigned long);
 425:   struct _XImage *(*sub_image)(struct _XImage *, int, int, unsigned int, unsigned int);
 426:   int (*add_pixel)            (struct _XImage *, long);
 427:   } f;
 428: } XImage;
 429: 
 430: /* 
 431:  * Data structure for XReconfigureWindow
 432:  */
 433: typedef struct {
 434:     int x, y;
 435:     int width, height;
 436:     int border_width;
 437:     Window sibling;
 438:     int stack_mode;
 439: } XWindowChanges;
 440: 
 441: /*
 442:  * Data structure used by color operations
 443:  */
 444: typedef struct {
 445:   unsigned long pixel;
 446:   unsigned short red, green, blue;
 447:   char flags;  /* do_red, do_green, do_blue */
 448:   char pad;
 449: } XColor;
 450: 
 451: /* 
 452:  * Data structures for graphics operations.  On most machines, these are
 453:  * congruent with the wire protocol structures, so reformatting the data
 454:  * can be avoided on these architectures.
 455:  */
 456: typedef struct {
 457:     short x1, y1, x2, y2;
 458: } XSegment;
 459: 
 460: typedef struct {
 461:     short x, y;
 462: } XPoint;
 463:     
 464: typedef struct {
 465:     short x, y;
 466:     unsigned short width, height;
 467: } XRectangle;
 468:     
 469: typedef struct {
 470:     short x, y;
 471:     unsigned short width, height;
 472:     short angle1, angle2;
 473: } XArc;
 474: 
 475: 
 476: /* Data structure for XChangeKeyboardControl */
 477: 
 478: typedef struct {
 479:         int key_click_percent;
 480:         int bell_percent;
 481:         int bell_pitch;
 482:         int bell_duration;
 483:         int led;
 484:         int led_mode;
 485:         int key;
 486:         int auto_repeat_mode;   /* On, Off, Default */
 487: } XKeyboardControl;
 488: 
 489: /* Data structure for XGetKeyboardControl */
 490: 
 491: typedef struct {
 492:         int key_click_percent;
 493:   int bell_percent;
 494:   unsigned int bell_pitch, bell_duration;
 495:   unsigned long led_mask;
 496:   int global_auto_repeat;
 497:   char auto_repeats[32];
 498: } XKeyboardState;
 499: 
 500: /* Data structure for XGetMotionEvents.  */
 501: 
 502: typedef struct {
 503:         Time time;
 504:   short x, y;
 505: } XTimeCoord;
 506: 
 507: /* Data structure for X{Set,Get}ModifierMapping */
 508: 
 509: typedef struct {
 510:   int max_keypermod;  /* The server's max # of keys per modifier */
 511:   KeyCode *modifiermap; /* An 8 by max_keypermod array of modifiers */
 512: } XModifierKeymap;
 513: 
 514: 
 515: /*
 516:  * Display datatype maintaining display specific data.
 517:  * The contents of this structure are implementation dependent.
 518:  * A Display should be treated as opaque by application code.
 519:  */
 520: #ifndef XLIB_ILLEGAL_ACCESS
 521: typedef struct _XDisplay Display;
 522: #endif
 523: 
 524: struct _XPrivate;   /* Forward declare before use for C++ */
 525: struct _XrmHashBucketRec;
 526: 
 527: typedef struct 
 528: #ifdef XLIB_ILLEGAL_ACCESS
 529: _XDisplay
 530: #endif
 531: {
 532:   XExtData *ext_data; /* hook for extension to hang data */
 533:   struct _XPrivate *private1;
 534:   int fd;     /* Network socket. */
 535:   int private2;
 536:   int proto_major_version;/* major version of server's X protocol */
 537:   int proto_minor_version;/* minor version of servers X protocol */
 538:   char *vendor;   /* vendor of the server hardware */
 539:         XID private3;
 540:   XID private4;
 541:   XID private5;
 542:   int private6;
 543:   XID (*resource_alloc)(  /* allocator function */
 544:     struct _XDisplay*
 545:   );
 546:   int byte_order;   /* screen byte order, LSBFirst, MSBFirst */
 547:   int bitmap_unit;  /* padding and data requirements */
 548:   int bitmap_pad;   /* padding requirements on bitmaps */
 549:   int bitmap_bit_order; /* LeastSignificant or MostSignificant */
 550:   int nformats;   /* number of pixmap formats in list */
 551:   ScreenFormat *pixmap_format;  /* pixmap format list */
 552:   int private8;
 553:   int release;    /* release of the server */
 554:   struct _XPrivate *private9, *private10;
 555:   int qlen;   /* Length of input event queue */
 556:   unsigned long last_request_read; /* seq number of last event read */
 557:   unsigned long request;  /* sequence number of last request. */
 558:   XPointer private11;
 559:   XPointer private12;
 560:   XPointer private13;
 561:   XPointer private14;
 562:   unsigned max_request_size; /* maximum number 32 bit words in request*/
 563:   struct _XrmHashBucketRec *db;
 564:   int (*private15)(
 565:     struct _XDisplay*
 566:     );
 567:   char *display_name; /* "host:display" string used on this connect*/
 568:   int default_screen; /* default screen for operations */
 569:   int nscreens;   /* number of screens on this server*/
 570:   Screen *screens;  /* pointer to list of screens */
 571:   unsigned long motion_buffer;  /* size of motion buffer */
 572:   unsigned long private16;
 573:   int min_keycode;  /* minimum defined keycode */
 574:   int max_keycode;  /* maximum defined keycode */
 575:   XPointer private17;
 576:   XPointer private18;
 577:   int private19;
 578:   char *xdefaults;  /* contents of defaults from server */
 579:   /* there is more to this structure, but it is private to Xlib */
 580: }
 581: #ifdef XLIB_ILLEGAL_ACCESS
 582: Display, 
 583: #endif
 584: *_XPrivDisplay;
 585: 
 586: #undef _XEVENT_
 587: #ifndef _XEVENT_
 588: /*
 589:  * Definitions of specific events.
 590:  */
 591: typedef struct {
 592:   int type;   /* of event */
 593:   unsigned long serial; /* # of last request processed by server */
 594:   Bool send_event;  /* true if this came from a SendEvent request */
 595:   Display *display; /* Display the event was read from */
 596:   Window window;          /* "event" window it is reported relative to */
 597:   Window root;          /* root window that the event occurred on */
 598:   Window subwindow; /* child window */
 599:   Time time;    /* milliseconds */
 600:   int x, y;   /* pointer x, y coordinates in event window */
 601:   int x_root, y_root; /* coordinates relative to root */
 602:   unsigned int state; /* key or button mask */
 603:   unsigned int keycode; /* detail */
 604:   Bool same_screen; /* same screen flag */
 605: } XKeyEvent;
 606: typedef XKeyEvent XKeyPressedEvent;
 607: typedef XKeyEvent XKeyReleasedEvent;
 608: 
 609: typedef struct {
 610:   int type;   /* of event */
 611:   unsigned long serial; /* # of last request processed by server */
 612:   Bool send_event;  /* true if this came from a SendEvent request */
 613:   Display *display; /* Display the event was read from */
 614:   Window window;          /* "event" window it is reported relative to */
 615:   Window root;          /* root window that the event occurred on */
 616:   Window subwindow; /* child window */
 617:   Time time;    /* milliseconds */
 618:   int x, y;   /* pointer x, y coordinates in event window */
 619:   int x_root, y_root; /* coordinates relative to root */
 620:   unsigned int state; /* key or button mask */
 621:   unsigned int button;  /* detail */
 622:   Bool same_screen; /* same screen flag */
 623: } XButtonEvent;
 624: typedef XButtonEvent XButtonPressedEvent;
 625: typedef XButtonEvent XButtonReleasedEvent;
 626: 
 627: typedef struct {
 628:   int type;   /* of event */
 629:   unsigned long serial; /* # of last request processed by server */
 630:   Bool send_event;  /* true if this came from a SendEvent request */
 631:   Display *display; /* Display the event was read from */
 632:   Window window;          /* "event" window reported relative to */
 633:   Window root;          /* root window that the event occurred on */
 634:   Window subwindow; /* child window */
 635:   Time time;    /* milliseconds */
 636:   int x, y;   /* pointer x, y coordinates in event window */
 637:   int x_root, y_root; /* coordinates relative to root */
 638:   unsigned int state; /* key or button mask */
 639:   char is_hint;   /* detail */
 640:   Bool same_screen; /* same screen flag */
 641: } XMotionEvent;
 642: typedef XMotionEvent XPointerMovedEvent;
 643: 
 644: typedef struct {
 645:   int type;   /* of event */
 646:   unsigned long serial; /* # of last request processed by server */
 647:   Bool send_event;  /* true if this came from a SendEvent request */
 648:   Display *display; /* Display the event was read from */
 649:   Window window;          /* "event" window reported relative to */
 650:   Window root;          /* root window that the event occurred on */
 651:   Window subwindow; /* child window */
 652:   Time time;    /* milliseconds */
 653:   int x, y;   /* pointer x, y coordinates in event window */
 654:   int x_root, y_root; /* coordinates relative to root */
 655:   int mode;   /* NotifyNormal, NotifyGrab, NotifyUngrab */
 656:   int detail;
 657:   /*
 658:    * NotifyAncestor, NotifyVirtual, NotifyInferior, 
 659:    * NotifyNonlinear,NotifyNonlinearVirtual
 660:    */
 661:   Bool same_screen; /* same screen flag */
 662:   Bool focus;   /* boolean focus */
 663:   unsigned int state; /* key or button mask */
 664: } XCrossingEvent;
 665: typedef XCrossingEvent XEnterWindowEvent;
 666: typedef XCrossingEvent XLeaveWindowEvent;
 667: 
 668: typedef struct {
 669:   int type;   /* FocusIn or FocusOut */
 670:   unsigned long serial; /* # of last request processed by server */
 671:   Bool send_event;  /* true if this came from a SendEvent request */
 672:   Display *display; /* Display the event was read from */
 673:   Window window;    /* window of event */
 674:   int mode;   /* NotifyNormal, NotifyGrab, NotifyUngrab */
 675:   int detail;
 676:   /*
 677:    * NotifyAncestor, NotifyVirtual, NotifyInferior, 
 678:    * NotifyNonlinear,NotifyNonlinearVirtual, NotifyPointer,
 679:    * NotifyPointerRoot, NotifyDetailNone 
 680:    */
 681: } XFocusChangeEvent;
 682: typedef XFocusChangeEvent XFocusInEvent;
 683: typedef XFocusChangeEvent XFocusOutEvent;
 684: 
 685: /* generated on EnterWindow and FocusIn  when KeyMapState selected */
 686: typedef struct {
 687:   int type;
 688:   unsigned long serial; /* # of last request processed by server */
 689:   Bool send_event;  /* true if this came from a SendEvent request */
 690:   Display *display; /* Display the event was read from */
 691:   Window window;
 692:   char key_vector[32];
 693: } XKeymapEvent; 
 694: 
 695: typedef struct {
 696:   int type;
 697:   unsigned long serial; /* # of last request processed by server */
 698:   Bool send_event;  /* true if this came from a SendEvent request */
 699:   Display *display; /* Display the event was read from */
 700:   Window window;
 701:   int x, y;
 702:   int width, height;
 703:   int count;    /* if non-zero, at least this many more */
 704: } XExposeEvent;
 705: 
 706: typedef struct {
 707:   int type;
 708:   unsigned long serial; /* # of last request processed by server */
 709:   Bool send_event;  /* true if this came from a SendEvent request */
 710:   Display *display; /* Display the event was read from */
 711:   Drawable drawable;
 712:   int x, y;
 713:   int width, height;
 714:   int count;    /* if non-zero, at least this many more */
 715:   int major_code;   /* core is CopyArea or CopyPlane */
 716:   int minor_code;   /* not defined in the core */
 717: } XGraphicsExposeEvent;
 718: 
 719: typedef struct {
 720:   int type;
 721:   unsigned long serial; /* # of last request processed by server */
 722:   Bool send_event;  /* true if this came from a SendEvent request */
 723:   Display *display; /* Display the event was read from */
 724:   Drawable drawable;
 725:   int major_code;   /* core is CopyArea or CopyPlane */
 726:   int minor_code;   /* not defined in the core */
 727: } XNoExposeEvent;
 728: 
 729: typedef struct {
 730:   int type;
 731:   unsigned long serial; /* # of last request processed by server */
 732:   Bool send_event;  /* true if this came from a SendEvent request */
 733:   Display *display; /* Display the event was read from */
 734:   Window window;
 735:   int state;    /* Visibility state */
 736: } XVisibilityEvent;
 737: 
 738: typedef struct {
 739:   int type;
 740:   unsigned long serial; /* # of last request processed by server */
 741:   Bool send_event;  /* true if this came from a SendEvent request */
 742:   Display *display; /* Display the event was read from */
 743:   Window parent;    /* parent of the window */
 744:   Window window;    /* window id of window created */
 745:   int x, y;   /* window location */
 746:   int width, height;  /* size of window */
 747:   int border_width; /* border width */
 748:   Bool override_redirect; /* creation should be overridden */
 749: } XCreateWindowEvent;
 750: 
 751: typedef struct {
 752:   int type;
 753:   unsigned long serial; /* # of last request processed by server */
 754:   Bool send_event;  /* true if this came from a SendEvent request */
 755:   Display *display; /* Display the event was read from */
 756:   Window event;
 757:   Window window;
 758: } XDestroyWindowEvent;
 759: 
 760: typedef struct {
 761:   int type;
 762:   unsigned long serial; /* # of last request processed by server */
 763:   Bool send_event;  /* true if this came from a SendEvent request */
 764:   Display *display; /* Display the event was read from */
 765:   Window event;
 766:   Window window;
 767:   Bool from_configure;
 768: } XUnmapEvent;
 769: 
 770: typedef struct {
 771:   int type;
 772:   unsigned long serial; /* # of last request processed by server */
 773:   Bool send_event;  /* true if this came from a SendEvent request */
 774:   Display *display; /* Display the event was read from */
 775:   Window event;
 776:   Window window;
 777:   Bool override_redirect; /* boolean, is override set... */
 778: } XMapEvent;
 779: 
 780: typedef struct {
 781:   int type;
 782:   unsigned long serial; /* # of last request processed by server */
 783:   Bool send_event;  /* true if this came from a SendEvent request */
 784:   Display *display; /* Display the event was read from */
 785:   Window parent;
 786:   Window window;
 787: } XMapRequestEvent;
 788: 
 789: typedef struct {
 790:   int type;
 791:   unsigned long serial; /* # of last request processed by server */
 792:   Bool send_event;  /* true if this came from a SendEvent request */
 793:   Display *display; /* Display the event was read from */
 794:   Window event;
 795:   Window window;
 796:   Window parent;
 797:   int x, y;
 798:   Bool override_redirect;
 799: } XReparentEvent;
 800: 
 801: typedef struct {
 802:   int type;
 803:   unsigned long serial; /* # of last request processed by server */
 804:   Bool send_event;  /* true if this came from a SendEvent request */
 805:   Display *display; /* Display the event was read from */
 806:   Window event;
 807:   Window window;
 808:   int x, y;
 809:   int width, height;
 810:   int border_width;
 811:   Window above;
 812:   Bool override_redirect;
 813: } XConfigureEvent;
 814: 
 815: typedef struct {
 816:   int type;
 817:   unsigned long serial; /* # of last request processed by server */
 818:   Bool send_event;  /* true if this came from a SendEvent request */
 819:   Display *display; /* Display the event was read from */
 820:   Window event;
 821:   Window window;
 822:   int x, y;
 823: } XGravityEvent;
 824: 
 825: typedef struct {
 826:   int type;
 827:   unsigned long serial; /* # of last request processed by server */
 828:   Bool send_event;  /* true if this came from a SendEvent request */
 829:   Display *display; /* Display the event was read from */
 830:   Window window;
 831:   int width, height;
 832: } XResizeRequestEvent;
 833: 
 834: typedef struct {
 835:   int type;
 836:   unsigned long serial; /* # of last request processed by server */
 837:   Bool send_event;  /* true if this came from a SendEvent request */
 838:   Display *display; /* Display the event was read from */
 839:   Window parent;
 840:   Window window;
 841:   int x, y;
 842:   int width, height;
 843:   int border_width;
 844:   Window above;
 845:   int detail;   /* Above, Below, TopIf, BottomIf, Opposite */
 846:   unsigned long value_mask;
 847: } XConfigureRequestEvent;
 848: 
 849: typedef struct {
 850:   int type;
 851:   unsigned long serial; /* # of last request processed by server */
 852:   Bool send_event;  /* true if this came from a SendEvent request */
 853:   Display *display; /* Display the event was read from */
 854:   Window event;
 855:   Window window;
 856:   int place;    /* PlaceOnTop, PlaceOnBottom */
 857: } XCirculateEvent;
 858: 
 859: typedef struct {
 860:   int type;
 861:   unsigned long serial; /* # of last request processed by server */
 862:   Bool send_event;  /* true if this came from a SendEvent request */
 863:   Display *display; /* Display the event was read from */
 864:   Window parent;
 865:   Window window;
 866:   int place;    /* PlaceOnTop, PlaceOnBottom */
 867: } XCirculateRequestEvent;
 868: 
 869: typedef struct {
 870:   int type;
 871:   unsigned long serial; /* # of last request processed by server */
 872:   Bool send_event;  /* true if this came from a SendEvent request */
 873:   Display *display; /* Display the event was read from */
 874:   Window window;
 875:   Atom atom;
 876:   Time time;
 877:   int state;    /* NewValue, Deleted */
 878: } XPropertyEvent;
 879: 
 880: typedef struct {
 881:   int type;
 882:   unsigned long serial; /* # of last request processed by server */
 883:   Bool send_event;  /* true if this came from a SendEvent request */
 884:   Display *display; /* Display the event was read from */
 885:   Window window;
 886:   Atom selection;
 887:   Time time;
 888: } XSelectionClearEvent;
 889: 
 890: typedef struct {
 891:   int type;
 892:   unsigned long serial; /* # of last request processed by server */
 893:   Bool send_event;  /* true if this came from a SendEvent request */
 894:   Display *display; /* Display the event was read from */
 895:   Window owner;
 896:   Window requestor;
 897:   Atom selection;
 898:   Atom target;
 899:   Atom property;
 900:   Time time;
 901: } XSelectionRequestEvent;
 902: 
 903: typedef struct {
 904:   int type;
 905:   unsigned long serial; /* # of last request processed by server */
 906:   Bool send_event;  /* true if this came from a SendEvent request */
 907:   Display *display; /* Display the event was read from */
 908:   Window requestor;
 909:   Atom selection;
 910:   Atom target;
 911:   Atom property;    /* ATOM or None */
 912:   Time time;
 913: } XSelectionEvent;
 914: 
 915: typedef struct {
 916:   int type;
 917:   unsigned long serial; /* # of last request processed by server */
 918:   Bool send_event;  /* true if this came from a SendEvent request */
 919:   Display *display; /* Display the event was read from */
 920:   Window window;
 921:   Colormap colormap;  /* COLORMAP or None */
 922: #if defined(__cplusplus) || defined(c_plusplus)
 923:   Bool c_new;   /* C++ */
 924: #else
 925:   Bool new;
 926: #endif
 927:   int state;    /* ColormapInstalled, ColormapUninstalled */
 928: } XColormapEvent;
 929: 
 930: typedef struct {
 931:   int type;
 932:   unsigned long serial; /* # of last request processed by server */
 933:   Bool send_event;  /* true if this came from a SendEvent request */
 934:   Display *display; /* Display the event was read from */
 935:   Window window;
 936:   Atom message_type;
 937:   int format;
 938:   union {
 939:     char b[20];
 940:     short s[10];
 941:     long l[5];
 942:     } data;
 943: } XClientMessageEvent;
 944: 
 945: typedef struct {
 946:   int type;
 947:   unsigned long serial; /* # of last request processed by server */
 948:   Bool send_event;  /* true if this came from a SendEvent request */
 949:   Display *display; /* Display the event was read from */
 950:   Window window;    /* unused */
 951:   int request;    /* one of MappingModifier, MappingKeyboard,
 952:            MappingPointer */
 953:   int first_keycode;  /* first keycode */
 954:   int count;    /* defines range of change w. first_keycode*/
 955: } XMappingEvent;
 956: 
 957: typedef struct {
 958:   int type;
 959:   Display *display; /* Display the event was read from */
 960:   XID resourceid;   /* resource id */
 961:   unsigned long serial; /* serial number of failed request */
 962:   unsigned char error_code; /* error code of failed request */
 963:   unsigned char request_code; /* Major op-code of failed request */
 964:   unsigned char minor_code; /* Minor op-code of failed request */
 965: } XErrorEvent;
 966: 
 967: typedef struct {
 968:   int type;
 969:   unsigned long serial; /* # of last request processed by server */
 970:   Bool send_event;  /* true if this came from a SendEvent request */
 971:   Display *display;/* Display the event was read from */
 972:   Window window;  /* window on which event was requested in event mask */
 973: } XAnyEvent;
 974: 
 975: /*
 976:  * this union is defined so Xlib can always use the same sized
 977:  * event structure internally, to avoid memory fragmentation.
 978:  */
 979: typedef union _XEvent {
 980:         int type;   /* must not be changed; first element */
 981:   XAnyEvent xany;
 982:   XKeyEvent xkey;
 983:   XButtonEvent xbutton;
 984:   XMotionEvent xmotion;
 985:   XCrossingEvent xcrossing;
 986:   XFocusChangeEvent xfocus;
 987:   XExposeEvent xexpose;
 988:   XGraphicsExposeEvent xgraphicsexpose;
 989:   XNoExposeEvent xnoexpose;
 990:   XVisibilityEvent xvisibility;
 991:   XCreateWindowEvent xcreatewindow;
 992:   XDestroyWindowEvent xdestroywindow;
 993:   XUnmapEvent xunmap;
 994:   XMapEvent xmap;
 995:   XMapRequestEvent xmaprequest;
 996:   XReparentEvent xreparent;
 997:   XConfigureEvent xconfigure;
 998:   XGravityEvent xgravity;
 999:   XResizeRequestEvent xresizerequest;
1000:   XConfigureRequestEvent xconfigurerequest;
1001:   XCirculateEvent xcirculate;
1002:   XCirculateRequestEvent xcirculaterequest;
1003:   XPropertyEvent xproperty;
1004:   XSelectionClearEvent xselectionclear;
1005:   XSelectionRequestEvent xselectionrequest;
1006:   XSelectionEvent xselection;
1007:   XColormapEvent xcolormap;
1008:   XClientMessageEvent xclient;
1009:   XMappingEvent xmapping;
1010:   XErrorEvent xerror;
1011:   XKeymapEvent xkeymap;
1012:   long pad[24];
1013: } XEvent;
1014: #endif
1015: 
1016: #define XAllocID(dpy) ((*((_XPrivDisplay)dpy)->resource_alloc)((dpy)))
1017: 
1018: /*
1019:  * per character font metric information.
1020:  */
1021: typedef struct {
1022:     short lbearing; /* origin to left edge of raster */
1023:     short rbearing; /* origin to right edge of raster */
1024:     short width;    /* advance to next char's origin */
1025:     short ascent;   /* baseline to top edge of raster */
1026:     short descent;  /* baseline to bottom edge of raster */
1027:     unsigned short attributes;  /* per char flags (not predefined) */
1028: } XCharStruct;
1029: 
1030: /*
1031:  * To allow arbitrary information with fonts, there are additional properties
1032:  * returned.
1033:  */
1034: typedef struct {
1035:     Atom name;
1036:     unsigned long card32;
1037: } XFontProp;
1038: 
1039: typedef struct {
1040:     XExtData  *ext_data;  /* hook for extension to hang data */
1041:     Font        fid;            /* Font id for this font */
1042:     unsigned  direction;  /* hint about direction the font is painted */
1043:     unsigned  min_char_or_byte2;/* first character */
1044:     unsigned  max_char_or_byte2;/* last character */
1045:     unsigned  min_byte1;  /* first row that exists */
1046:     unsigned  max_byte1;  /* last row that exists */
1047:     Bool  all_chars_exist;/* flag if all characters have non-zero size*/
1048:     unsigned  default_char; /* char to print for undefined character */
1049:     int         n_properties;   /* how many properties there are */
1050:     XFontProp *properties;  /* pointer to array of additional properties*/
1051:     XCharStruct min_bounds; /* minimum bounds over all existing char*/
1052:     XCharStruct max_bounds; /* maximum bounds over all existing char*/
1053:     XCharStruct *per_char;  /* first_char to last_char information */
1054:     int   ascent;   /* log. extent above baseline for spacing */
1055:     int   descent;  /* log. descent below baseline for spacing */
1056: } XFontStruct;
1057: 
1058: /*
1059:  * PolyText routines take these as arguments.
1060:  */
1061: typedef struct {
1062:     char *chars;    /* pointer to string */
1063:     int nchars;     /* number of characters */
1064:     int delta;      /* delta between strings */
1065:     Font font;      /* font to print it in, None don't change */
1066: } XTextItem;
1067: 
1068: typedef struct {    /* normal 16 bit characters are two bytes */
1069:     unsigned char byte1;
1070:     unsigned char byte2;
1071: } XChar2b;
1072: 
1073: typedef struct {
1074:     XChar2b *chars;   /* two byte characters */
1075:     int nchars;     /* number of characters */
1076:     int delta;      /* delta between strings */
1077:     Font font;      /* font to print it in, None don't change */
1078: } XTextItem16;
1079: 
1080: 
1081: typedef union { Display *display;
1082:     GC gc;
1083:     Visual *visual;
1084:     Screen *screen;
1085:     ScreenFormat *pixmap_format;
1086:     XFontStruct *font; } XEDataObject;
1087: 
1088: typedef struct {
1089:     XRectangle      max_ink_extent;
1090:     XRectangle      max_logical_extent;
1091: } XFontSetExtents;
1092: 
1093: /* unused:
1094: typedef void (*XOMProc)();
1095:  */
1096: 
1097: typedef struct _XOM *XOM;
1098: typedef struct _XOC *XOC, *XFontSet;
1099: 
1100: typedef struct {
1101:     char           *chars;
1102:     int             nchars;
1103:     int             delta;
1104:     XFontSet        font_set;
1105: } XmbTextItem;
1106: 
1107: typedef struct {
1108:     wchar_t        *chars;
1109:     int             nchars;
1110:     int             delta;
1111:     XFontSet        font_set;
1112: } XwcTextItem;
1113: 
1114: #define XNRequiredCharSet "requiredCharSet"
1115: #define XNQueryOrientation "queryOrientation"
1116: #define XNBaseFontName "baseFontName"
1117: #define XNOMAutomatic "omAutomatic"
1118: #define XNMissingCharSet "missingCharSet"
1119: #define XNDefaultString "defaultString"
1120: #define XNOrientation "orientation"
1121: #define XNDirectionalDependentDrawing "directionalDependentDrawing"
1122: #define XNContextualDrawing "contextualDrawing"
1123: #define XNFontInfo "fontInfo"
1124: 
1125: typedef struct {
1126:     int charset_count;
1127:     char **charset_list;
1128: } XOMCharSetList;
1129: 
1130: typedef enum {
1131:     XOMOrientation_LTR_TTB,
1132:     XOMOrientation_RTL_TTB,
1133:     XOMOrientation_TTB_LTR,
1134:     XOMOrientation_TTB_RTL,
1135:     XOMOrientation_Context
1136: } XOrientation;
1137: 
1138: typedef struct {
1139:     int num_orientation;
1140:     XOrientation *orientation;  /* Input Text description */
1141: } XOMOrientation;
1142: 
1143: typedef struct {
1144:     int num_font;
1145:     XFontStruct **font_struct_list;
1146:     char **font_name_list;
1147: } XOMFontInfo;
1148: 
1149: typedef struct _XIM *XIM;
1150: typedef struct _XIC *XIC;
1151: 
1152: typedef void (*XIMProc)(
1153:     XIM,
1154:     XPointer,
1155:     XPointer
1156: );
1157: 
1158: typedef Bool (*XICProc)(
1159:     XIC,
1160:     XPointer,
1161:     XPointer
1162: );
1163: 
1164: typedef void (*XIDProc)(
1165:     Display*,
1166:     XPointer,
1167:     XPointer
1168: );
1169: 
1170: typedef unsigned long XIMStyle;
1171: 
1172: typedef struct {
1173:     unsigned short count_styles;
1174:     XIMStyle *supported_styles;
1175: } XIMStyles;
1176: 
1177: #define XIMPreeditArea    0x0001L
1178: #define XIMPreeditCallbacks 0x0002L
1179: #define XIMPreeditPosition  0x0004L
1180: #define XIMPreeditNothing 0x0008L
1181: #define XIMPreeditNone    0x0010L
1182: #define XIMStatusArea   0x0100L
1183: #define XIMStatusCallbacks  0x0200L
1184: #define XIMStatusNothing  0x0400L
1185: #define XIMStatusNone   0x0800L
1186: 
1187: #define XNVaNestedList "XNVaNestedList"
1188: #define XNQueryInputStyle "queryInputStyle"
1189: #define XNClientWindow "clientWindow"
1190: #define XNInputStyle "inputStyle"
1191: #define XNFocusWindow "focusWindow"
1192: #define XNResourceName "resourceName"
1193: #define XNResourceClass "resourceClass"
1194: #define XNGeometryCallback "geometryCallback"
1195: #define XNDestroyCallback "destroyCallback"
1196: #define XNFilterEvents "filterEvents"
1197: #define XNPreeditStartCallback "preeditStartCallback"
1198: #define XNPreeditDoneCallback "preeditDoneCallback"
1199: #define XNPreeditDrawCallback "preeditDrawCallback"
1200: #define XNPreeditCaretCallback "preeditCaretCallback"
1201: #define XNPreeditStateNotifyCallback "preeditStateNotifyCallback"
1202: #define XNPreeditAttributes "preeditAttributes"
1203: #define XNStatusStartCallback "statusStartCallback"
1204: #define XNStatusDoneCallback "statusDoneCallback"
1205: #define XNStatusDrawCallback "statusDrawCallback"
1206: #define XNStatusAttributes "statusAttributes"
1207: #define XNArea "area"
1208: #define XNAreaNeeded "areaNeeded"
1209: #define XNSpotLocation "spotLocation"
1210: #define XNColormap "colorMap"
1211: #define XNStdColormap "stdColorMap"
1212: #define XNForeground "foreground"
1213: #define XNBackground "background"
1214: #define XNBackgroundPixmap "backgroundPixmap"
1215: #define XNFontSet "fontSet"
1216: #define XNLineSpace "lineSpace"
1217: #define XNCursor "cursor"
1218: 
1219: #define XNQueryIMValuesList "queryIMValuesList"
1220: #define XNQueryICValuesList "queryICValuesList"
1221: #define XNVisiblePosition "visiblePosition"
1222: #define XNR6PreeditCallback "r6PreeditCallback"
1223: #define XNStringConversionCallback "stringConversionCallback"
1224: #define XNStringConversion "stringConversion"
1225: #define XNResetState "resetState"
1226: #define XNHotKey "hotKey"
1227: #define XNHotKeyState "hotKeyState"
1228: #define XNPreeditState "preeditState"
1229: #define XNSeparatorofNestedList "separatorofNestedList"
1230: 
1231: #define XBufferOverflow   -1
1232: #define XLookupNone   1
1233: #define XLookupChars    2
1234: #define XLookupKeySym   3
1235: #define XLookupBoth   4
1236: 
1237: typedef void *XVaNestedList;
1238: 
1239: typedef struct {
1240:     XPointer client_data;
1241:     XIMProc callback;
1242: } XIMCallback;
1243: 
1244: typedef struct {
1245:     XPointer client_data;
1246:     XICProc callback;
1247: } XICCallback;
1248: 
1249: typedef unsigned long XIMFeedback;
1250: 
1251: #define XIMReverse    1L
1252: #define XIMUnderline    (1L<<1) 
1253: #define XIMHighlight    (1L<<2)
1254: #define XIMPrimary    (1L<<5)
1255: #define XIMSecondary    (1L<<6)
1256: #define XIMTertiary   (1L<<7)
1257: #define XIMVisibleToForward   (1L<<8)
1258: #define XIMVisibleToBackword  (1L<<9)
1259: #define XIMVisibleToCenter  (1L<<10)
1260: 
1261: typedef struct _XIMText {
1262:     unsigned short length;
1263:     XIMFeedback *feedback;
1264:     Bool encoding_is_wchar; 
1265:     union {
1266:   char *multi_byte;
1267:   wchar_t *wide_char;
1268:     } string; 
1269: } XIMText;
1270: 
1271: typedef unsigned long  XIMPreeditState;
1272: 
1273: #define XIMPreeditUnKnown 0L
1274: #define XIMPreeditEnable  1L
1275: #define XIMPreeditDisable (1L<<1)
1276: 
1277: typedef struct  _XIMPreeditStateNotifyCallbackStruct {
1278:     XIMPreeditState state;
1279: } XIMPreeditStateNotifyCallbackStruct;
1280: 
1281: typedef unsigned long  XIMResetState;
1282: 
1283: #define XIMInitialState   1L
1284: #define XIMPreserveState  (1L<<1)
1285: 
1286: typedef unsigned long XIMStringConversionFeedback;
1287: 
1288: #define XIMStringConversionLeftEdge (0x00000001)
1289: #define XIMStringConversionRightEdge  (0x00000002)
1290: #define XIMStringConversionTopEdge  (0x00000004)
1291: #define XIMStringConversionBottomEdge (0x00000008)
1292: #define XIMStringConversionConcealed  (0x00000010)
1293: #define XIMStringConversionWrapped  (0x00000020)
1294: 
1295: typedef struct _XIMStringConversionText {
1296:     unsigned short length;
1297:     XIMStringConversionFeedback *feedback;
1298:     Bool encoding_is_wchar; 
1299:     union {
1300:   char *mbs;
1301:   wchar_t *wcs;
1302:     } string; 
1303: } XIMStringConversionText;
1304: 
1305: typedef unsigned short  XIMStringConversionPosition;
1306: 
1307: typedef unsigned short  XIMStringConversionType;
1308: 
1309: #define XIMStringConversionBuffer (0x0001)
1310: #define XIMStringConversionLine   (0x0002)
1311: #define XIMStringConversionWord   (0x0003)
1312: #define XIMStringConversionChar   (0x0004)
1313: 
1314: typedef unsigned short  XIMStringConversionOperation;
1315: 
1316: #define XIMStringConversionSubstitution (0x0001)
1317: #define XIMStringConversionRetrieval  (0x0002)
1318: 
1319: typedef enum {
1320:     XIMForwardChar, XIMBackwardChar,
1321:     XIMForwardWord, XIMBackwardWord,
1322:     XIMCaretUp, XIMCaretDown,
1323:     XIMNextLine, XIMPreviousLine,
1324:     XIMLineStart, XIMLineEnd, 
1325:     XIMAbsolutePosition,
1326:     XIMDontChange
1327: } XIMCaretDirection;
1328: 
1329: typedef struct _XIMStringConversionCallbackStruct {
1330:     XIMStringConversionPosition position;
1331:     XIMCaretDirection direction;
1332:     XIMStringConversionOperation operation;
1333:     unsigned short factor;
1334:     XIMStringConversionText *text;
1335: } XIMStringConversionCallbackStruct;
1336: 
1337: typedef struct _XIMPreeditDrawCallbackStruct {
1338:     int caret;    /* Cursor offset within pre-edit string */
1339:     int chg_first;  /* Starting change position */
1340:     int chg_length; /* Length of the change in character count */
1341:     XIMText *text;
1342: } XIMPreeditDrawCallbackStruct;
1343: 
1344: typedef enum {
1345:     XIMIsInvisible, /* Disable caret feedback */ 
1346:     XIMIsPrimary, /* UI defined caret feedback */
1347:     XIMIsSecondary  /* UI defined caret feedback */
1348: } XIMCaretStyle;
1349: 
1350: typedef struct _XIMPreeditCaretCallbackStruct {
1351:     int position;    /* Caret offset within pre-edit string */
1352:     XIMCaretDirection direction; /* Caret moves direction */
1353:     XIMCaretStyle style;   /* Feedback of the caret */
1354: } XIMPreeditCaretCallbackStruct;
1355: 
1356: typedef enum {
1357:     XIMTextType,
1358:     XIMBitmapType
1359: } XIMStatusDataType;
1360:   
1361: typedef struct _XIMStatusDrawCallbackStruct {
1362:     XIMStatusDataType type;
1363:     union {
1364:   XIMText *text;
1365:   Pixmap  bitmap;
1366:     } data;
1367: } XIMStatusDrawCallbackStruct;
1368: 
1369: typedef struct _XIMHotKeyTrigger {
1370:     KeySym   keysym;
1371:     int    modifier;
1372:     int    modifier_mask;
1373: } XIMHotKeyTrigger;
1374: 
1375: typedef struct _XIMHotKeyTriggers {
1376:     int      num_hot_key;
1377:     XIMHotKeyTrigger  *key;
1378: } XIMHotKeyTriggers;
1379: 
1380: typedef unsigned long  XIMHotKeyState;
1381: 
1382: #define XIMHotKeyStateON  (0x0001L)
1383: #define XIMHotKeyStateOFF (0x0002L)
1384: 
1385: typedef struct {
1386:     unsigned short count_values;
1387:     char **supported_values;
1388: } XIMValuesList;
1389: 
1390: _XFUNCPROTOBEGIN
1391: 
1392: #if defined(WIN32) && !defined(_XLIBINT_)
1393: #define _Xdebug (*_Xdebug_p)
1394: #endif
1395: 
1396: extern int _Xdebug;
1397: 
1398: extern XFontStruct *XLoadQueryFont(
1399:     Display*    /* display */,
1400:     _Xconst char* /* name */
1401: );
1402: 
1403: extern XFontStruct *XQueryFont(
1404:     Display*    /* display */,
1405:     XID     /* font_ID */
1406: );
1407: 
1408: 
1409: extern XTimeCoord *XGetMotionEvents(
1410:     Display*    /* display */,
1411:     Window    /* w */,
1412:     Time    /* start */,
1413:     Time    /* stop */,
1414:     int*    /* nevents_return */
1415: );
1416: 
1417: extern XModifierKeymap *XDeleteModifiermapEntry(
1418:     XModifierKeymap*  /* modmap */,
1419: #if NeedWidePrototypes
1420:     unsigned int  /* keycode_entry */,
1421: #else
1422:     KeyCode   /* keycode_entry */,
1423: #endif
1424:     int     /* modifier */
1425: );
1426: 
1427: extern XModifierKeymap  *XGetModifierMapping(
1428:     Display*    /* display */
1429: );
1430: 
1431: extern XModifierKeymap  *XInsertModifiermapEntry(
1432:     XModifierKeymap*  /* modmap */,
1433: #if NeedWidePrototypes
1434:     unsigned int  /* keycode_entry */,
1435: #else
1436:     KeyCode   /* keycode_entry */,
1437: #endif
1438:     int     /* modifier */    
1439: );
1440: 
1441: extern XModifierKeymap *XNewModifiermap(
1442:     int     /* max_keys_per_mod */
1443: );
1444: 
1445: extern XImage *XCreateImage(
1446:     Display*    /* display */,
1447:     Visual*   /* visual */,
1448:     unsigned int  /* depth */,
1449:     int     /* format */,
1450:     int     /* offset */,
1451:     char*   /* data */,
1452:     unsigned int  /* width */,
1453:     unsigned int  /* height */,
1454:     int     /* bitmap_pad */,
1455:     int     /* bytes_per_line */
1456: );
1457: extern Status XInitImage(
1458:     XImage*   /* image */
1459: );
1460: extern XImage *XGetImage(
1461:     Display*    /* display */,
1462:     Drawable    /* d */,
1463:     int     /* x */,
1464:     int     /* y */,
1465:     unsigned int  /* width */,
1466:     unsigned int  /* height */,
1467:     unsigned long /* plane_mask */,
1468:     int     /* format */
1469: );
1470: extern XImage *XGetSubImage(
1471:     Display*    /* display */,
1472:     Drawable    /* d */,
1473:     int     /* x */,
1474:     int     /* y */,
1475:     unsigned int  /* width */,
1476:     unsigned int  /* height */,
1477:     unsigned long /* plane_mask */,
1478:     int     /* format */,
1479:     XImage*   /* dest_image */,
1480:     int     /* dest_x */,
1481:     int     /* dest_y */
1482: );
1483: 
1484: /* 
1485:  * X function declarations.
1486:  */
1487: extern Display *XOpenDisplay(
1488:     _Xconst char* /* display_name */
1489: );
1490: 
1491: extern void XrmInitialize(
1492:     void
1493: );
1494: 
1495: extern char *XFetchBytes(
1496:     Display*    /* display */,
1497:     int*    /* nbytes_return */
1498: );
1499: extern char *XFetchBuffer(
1500:     Display*    /* display */,
1501:     int*    /* nbytes_return */,
1502:     int     /* buffer */
1503: );
1504: extern char *XGetAtomName(
1505:     Display*    /* display */,
1506:     Atom    /* atom */
1507: );
1508: extern Status XGetAtomNames(
1509:     Display*    /* dpy */,
1510:     Atom*   /* atoms */,
1511:     int     /* count */,
1512:     char**    /* names_return */
1513: );
1514: extern char *XGetDefault(
1515:     Display*    /* display */,
1516:     _Xconst char* /* program */,
1517:     _Xconst char* /* option */      
1518: );
1519: extern char *XDisplayName(
1520:     _Xconst char* /* string */
1521: );
1522: extern char *XKeysymToString(
1523:     KeySym    /* keysym */
1524: );
1525: 
1526: extern int (*XSynchronize(
1527:     Display*    /* display */,
1528:     Bool    /* onoff */
1529: ))(
1530:     Display*    /* display */
1531: );
1532: extern int (*XSetAfterFunction(
1533:     Display*    /* display */,
1534:     int (*) (
1535:        Display* /* display */
1536:             )   /* procedure */
1537: ))(
1538:     Display*    /* display */
1539: );
1540: extern Atom XInternAtom(
1541:     Display*    /* display */,
1542:     _Xconst char* /* atom_name */,
1543:     Bool    /* only_if_exists */     
1544: );
1545: extern Status XInternAtoms(
1546:     Display*    /* dpy */,
1547:     char**    /* names */,
1548:     int     /* count */,
1549:     Bool    /* onlyIfExists */,
1550:     Atom*   /* atoms_return */
1551: );
1552: extern Colormap XCopyColormapAndFree(
1553:     Display*    /* display */,
1554:     Colormap    /* colormap */
1555: );
1556: extern Colormap XCreateColormap(
1557:     Display*    /* display */,
1558:     Window    /* w */,
1559:     Visual*   /* visual */,
1560:     int     /* alloc */      
1561: );
1562: extern Cursor XCreatePixmapCursor(
1563:     Display*    /* display */,
1564:     Pixmap    /* source */,
1565:     Pixmap    /* mask */,
1566:     XColor*   /* foreground_color */,
1567:     XColor*   /* background_color */,
1568:     unsigned int  /* x */,
1569:     unsigned int  /* y */        
1570: );
1571: extern Cursor XCreateGlyphCursor(
1572:     Display*    /* display */,
1573:     Font    /* source_font */,
1574:     Font    /* mask_font */,
1575:     unsigned int  /* source_char */,
1576:     unsigned int  /* mask_char */,
1577:     XColor _Xconst *  /* foreground_color */,
1578:     XColor _Xconst *  /* background_color */
1579: );
1580: extern Cursor XCreateFontCursor(
1581:     Display*    /* display */,
1582:     unsigned int  /* shape */
1583: );
1584: extern Font XLoadFont(
1585:     Display*    /* display */,
1586:     _Xconst char* /* name */
1587: );
1588: extern GC XCreateGC(
1589:     Display*    /* display */,
1590:     Drawable    /* d */,
1591:     unsigned long /* valuemask */,
1592:     XGCValues*    /* values */
1593: );
1594: extern GContext XGContextFromGC(
1595:     GC      /* gc */
1596: );
1597: extern void XFlushGC(
1598:     Display*    /* display */,
1599:     GC      /* gc */
1600: );
1601: extern Pixmap XCreatePixmap(
1602:     Display*    /* display */,
1603:     Drawable    /* d */,
1604:     unsigned int  /* width */,
1605:     unsigned int  /* height */,
1606:     unsigned int  /* depth */           
1607: );
1608: extern Pixmap XCreateBitmapFromData(
1609:     Display*    /* display */,
1610:     Drawable    /* d */,
1611:     _Xconst char* /* data */,
1612:     unsigned int  /* width */,
1613:     unsigned int  /* height */
1614: );
1615: extern Pixmap XCreatePixmapFromBitmapData(
1616:     Display*    /* display */,
1617:     Drawable    /* d */,
1618:     char*   /* data */,
1619:     unsigned int  /* width */,
1620:     unsigned int  /* height */,
1621:     unsigned long /* fg */,
1622:     unsigned long /* bg */,
1623:     unsigned int  /* depth */
1624: );
1625: extern Window XCreateSimpleWindow(
1626:     Display*    /* display */,
1627:     Window    /* parent */,
1628:     int     /* x */,
1629:     int     /* y */,
1630:     unsigned int  /* width */,
1631:     unsigned int  /* height */,
1632:     unsigned int  /* border_width */,
1633:     unsigned long /* border */,
1634:     unsigned long /* background */
1635: );
1636: extern Window XGetSelectionOwner(
1637:     Display*    /* display */,
1638:     Atom    /* selection */
1639: );
1640: extern Window XCreateWindow(
1641:     Display*    /* display */,
1642:     Window    /* parent */,
1643:     int     /* x */,
1644:     int     /* y */,
1645:     unsigned int  /* width */,
1646:     unsigned int  /* height */,
1647:     unsigned int  /* border_width */,
1648:     int     /* depth */,
1649:     unsigned int  /* class */,
1650:     Visual*   /* visual */,
1651:     unsigned long /* valuemask */,
1652:     XSetWindowAttributes* /* attributes */
1653: ); 
1654: extern Colormap *XListInstalledColormaps(
1655:     Display*    /* display */,
1656:     Window    /* w */,
1657:     int*    /* num_return */
1658: );
1659: extern char **XListFonts(
1660:     Display*    /* display */,
1661:     _Xconst char* /* pattern */,
1662:     int     /* maxnames */,
1663:     int*    /* actual_count_return */
1664: );
1665: extern char **XListFontsWithInfo(
1666:     Display*    /* display */,
1667:     _Xconst char* /* pattern */,
1668:     int     /* maxnames */,
1669:     int*    /* count_return */,
1670:     XFontStruct** /* info_return */
1671: );
1672: extern char **XGetFontPath(
1673:     Display*    /* display */,
1674:     int*    /* npaths_return */
1675: );
1676: extern char **XListExtensions(
1677:     Display*    /* display */,
1678:     int*    /* nextensions_return */
1679: );
1680: extern Atom *XListProperties(
1681:     Display*    /* display */,
1682:     Window    /* w */,
1683:     int*    /* num_prop_return */
1684: );
1685: extern XHostAddress *XListHosts(
1686:     Display*    /* display */,
1687:     int*    /* nhosts_return */,
1688:     Bool*   /* state_return */
1689: );
1690: extern KeySym XKeycodeToKeysym(
1691:     Display*    /* display */,
1692: #if NeedWidePrototypes
1693:     unsigned int  /* keycode */,
1694: #else
1695:     KeyCode   /* keycode */,
1696: #endif
1697:     int     /* index */
1698: );
1699: extern KeySym XLookupKeysym(
1700:     XKeyEvent*    /* key_event */,
1701:     int     /* index */
1702: );
1703: extern KeySym *XGetKeyboardMapping(
1704:     Display*    /* display */,
1705: #if NeedWidePrototypes
1706:     unsigned int  /* first_keycode */,
1707: #else
1708:     KeyCode   /* first_keycode */,
1709: #endif
1710:     int     /* keycode_count */,
1711:     int*    /* keysyms_per_keycode_return */
1712: );
1713: extern KeySym XStringToKeysym(
1714:     _Xconst char* /* string */
1715: );
1716: extern long XMaxRequestSize(
1717:     Display*    /* display */
1718: );
1719: extern long XExtendedMaxRequestSize(
1720:     Display*    /* display */
1721: );
1722: extern char *XResourceManagerString(
1723:     Display*    /* display */
1724: );
1725: extern char *XScreenResourceString(
1726:   Screen*   /* screen */
1727: );
1728: extern unsigned long XDisplayMotionBufferSize(
1729:     Display*    /* display */
1730: );
1731: extern VisualID XVisualIDFromVisual(
1732:     Visual*   /* visual */
1733: );
1734: 
1735: /* multithread routines */
1736: 
1737: extern Status XInitThreads(
1738:     void
1739: );
1740: 
1741: extern void XLockDisplay(
1742:     Display*    /* display */
1743: );
1744: 
1745: extern void XUnlockDisplay(
1746:     Display*    /* display */
1747: );
1748: 
1749: /* routines for dealing with extensions */
1750: 
1751: extern XExtCodes *XInitExtension(
1752:     Display*    /* display */,
1753:     _Xconst char* /* name */
1754: );
1755: 
1756: extern XExtCodes *XAddExtension(
1757:     Display*    /* display */
1758: );
1759: extern XExtData *XFindOnExtensionList(
1760:     XExtData**    /* structure */,
1761:     int     /* number */
1762: );
1763: extern XExtData **XEHeadOfExtensionList(
1764:     XEDataObject  /* object */
1765: );
1766: 
1767: /* these are routines for which there are also macros */
1768: extern Window XRootWindow(
1769:     Display*    /* display */,
1770:     int     /* screen_number */
1771: );
1772: extern Window XDefaultRootWindow(
1773:     Display*    /* display */
1774: );
1775: extern Window XRootWindowOfScreen(
1776:     Screen*   /* screen */
1777: );
1778: extern Visual *XDefaultVisual(
1779:     Display*    /* display */,
1780:     int     /* screen_number */
1781: );
1782: extern Visual *XDefaultVisualOfScreen(
1783:     Screen*   /* screen */
1784: );
1785: extern GC XDefaultGC(
1786:     Display*    /* display */,
1787:     int     /* screen_number */
1788: );
1789: extern GC XDefaultGCOfScreen(
1790:     Screen*   /* screen */
1791: );
1792: extern unsigned long XBlackPixel(
1793:     Display*    /* display */,
1794:     int     /* screen_number */
1795: );
1796: extern unsigned long XWhitePixel(
1797:     Display*    /* display */,
1798:     int     /* screen_number */
1799: );
1800: extern unsigned long XAllPlanes(
1801:     void
1802: );
1803: extern unsigned long XBlackPixelOfScreen(
1804:     Screen*   /* screen */
1805: );
1806: extern unsigned long XWhitePixelOfScreen(
1807:     Screen*   /* screen */
1808: );
1809: extern unsigned long XNextRequest(
1810:     Display*    /* display */
1811: );
1812: extern unsigned long XLastKnownRequestProcessed(
1813:     Display*    /* display */
1814: );
1815: extern char *XServerVendor(
1816:     Display*    /* display */
1817: );
1818: extern char *XDisplayString(
1819:     Display*    /* display */
1820: );
1821: extern Colormap XDefaultColormap(
1822:     Display*    /* display */,
1823:     int     /* screen_number */
1824: );
1825: extern Colormap XDefaultColormapOfScreen(
1826:     Screen*   /* screen */
1827: );
1828: extern Display *XDisplayOfScreen(
1829:     Screen*   /* screen */
1830: );
1831: extern Screen *XScreenOfDisplay(
1832:     Display*    /* display */,
1833:     int     /* screen_number */
1834: );
1835: extern Screen *XDefaultScreenOfDisplay(
1836:     Display*    /* display */
1837: );
1838: extern long XEventMaskOfScreen(
1839:     Screen*   /* screen */
1840: );
1841: 
1842: extern int XScreenNumberOfScreen(
1843:     Screen*   /* screen */
1844: );
1845: 
1846: typedef int (*XErrorHandler) (      /* WARNING, this type not in Xlib spec */
1847:     Display*    /* display */,
1848:     XErrorEvent*  /* error_event */
1849: );
1850: 
1851: extern XErrorHandler XSetErrorHandler (
1852:     XErrorHandler /* handler */
1853: );
1854: 
1855: 
1856: typedef int (*XIOErrorHandler) (    /* WARNING, this type not in Xlib spec */
1857:     Display*    /* display */
1858: );
1859: 
1860: extern XIOErrorHandler XSetIOErrorHandler (
1861:     XIOErrorHandler /* handler */
1862: );
1863: 
1864: 
1865: extern XPixmapFormatValues *XListPixmapFormats(
1866:     Display*    /* display */,
1867:     int*    /* count_return */
1868: );
1869: extern int *XListDepths(
1870:     Display*    /* display */,
1871:     int     /* screen_number */,
1872:     int*    /* count_return */
1873: );
1874: 
1875: /* ICCCM routines for things that don't require special include files; */
1876: /* other declarations are given in Xutil.h                             */
1877: extern Status XReconfigureWMWindow(
1878:     Display*    /* display */,
1879:     Window    /* w */,
1880:     int     /* screen_number */,
1881:     unsigned int  /* mask */,
1882:     XWindowChanges* /* changes */
1883: );
1884: 
1885: extern Status XGetWMProtocols(
1886:     Display*    /* display */,
1887:     Window    /* w */,
1888:     Atom**    /* protocols_return */,
1889:     int*    /* count_return */
1890: );
1891: extern Status XSetWMProtocols(
1892:     Display*    /* display */,
1893:     Window    /* w */,
1894:     Atom*   /* protocols */,
1895:     int     /* count */
1896: );
1897: extern Status XIconifyWindow(
1898:     Display*    /* display */,
1899:     Window    /* w */,
1900:     int     /* screen_number */
1901: );
1902: extern Status XWithdrawWindow(
1903:     Display*    /* display */,
1904:     Window    /* w */,
1905:     int     /* screen_number */
1906: );
1907: extern Status XGetCommand(
1908:     Display*    /* display */,
1909:     Window    /* w */,
1910:     char***   /* argv_return */,
1911:     int*    /* argc_return */
1912: );
1913: extern Status XGetWMColormapWindows(
1914:     Display*    /* display */,
1915:     Window    /* w */,
1916:     Window**    /* windows_return */,
1917:     int*    /* count_return */
1918: );
1919: extern Status XSetWMColormapWindows(
1920:     Display*    /* display */,
1921:     Window    /* w */,
1922:     Window*   /* colormap_windows */,
1923:     int     /* count */
1924: );
1925: extern void XFreeStringList(
1926:     char**    /* list */
1927: );
1928: extern int XSetTransientForHint(
1929:     Display*    /* display */,
1930:     Window    /* w */,
1931:     Window    /* prop_window */
1932: );
1933: 
1934: /* The following are given in alphabetical order */
1935: 
1936: extern int XActivateScreenSaver(
1937:     Display*    /* display */
1938: );
1939: 
1940: extern int XAddHost(
1941:     Display*    /* display */,
1942:     XHostAddress* /* host */
1943: );
1944: 
1945: extern int XAddHosts(
1946:     Display*    /* display */,
1947:     XHostAddress* /* hosts */,
1948:     int     /* num_hosts */    
1949: );
1950: 
1951: extern int XAddToExtensionList(
1952:     struct _XExtData**  /* structure */,
1953:     XExtData*   /* ext_data */
1954: );
1955: 
1956: extern int XAddToSaveSet(
1957:     Display*    /* display */,
1958:     Window    /* w */
1959: );
1960: 
1961: extern Status XAllocColor(
1962:     Display*    /* display */,
1963:     Colormap    /* colormap */,
1964:     XColor*   /* screen_in_out */
1965: );
1966: 
1967: extern Status XAllocColorCells(
1968:     Display*    /* display */,
1969:     Colormap    /* colormap */,
1970:     Bool          /* contig */,
1971:     unsigned long*  /* plane_masks_return */,
1972:     unsigned int  /* nplanes */,
1973:     unsigned long*  /* pixels_return */,
1974:     unsigned int  /* npixels */
1975: );
1976: 
1977: extern Status XAllocColorPlanes(
1978:     Display*    /* display */,
1979:     Colormap    /* colormap */,
1980:     Bool    /* contig */,
1981:     unsigned long*  /* pixels_return */,
1982:     int     /* ncolors */,
1983:     int     /* nreds */,
1984:     int     /* ngreens */,
1985:     int     /* nblues */,
1986:     unsigned long*  /* rmask_return */,
1987:     unsigned long*  /* gmask_return */,
1988:     unsigned long*  /* bmask_return */
1989: );
1990: 
1991: extern Status XAllocNamedColor(
1992:     Display*    /* display */,
1993:     Colormap    /* colormap */,
1994:     _Xconst char* /* color_name */,
1995:     XColor*   /* screen_def_return */,
1996:     XColor*   /* exact_def_return */
1997: );
1998: 
1999: extern int XAllowEvents(
2000:     Display*    /* display */,
2001:     int     /* event_mode */,
2002:     Time    /* time */
2003: );
2004: 
2005: extern int XAutoRepeatOff(
2006:     Display*    /* display */
2007: );
2008: 
2009: extern int XAutoRepeatOn(
2010:     Display*    /* display */
2011: );
2012: 
2013: extern int XBell(
2014:     Display*    /* display */,
2015:     int     /* percent */
2016: );
2017: 
2018: extern int XBitmapBitOrder(
2019:     Display*    /* display */
2020: );
2021: 
2022: extern int XBitmapPad(
2023:     Display*    /* display */
2024: );
2025: 
2026: extern int XBitmapUnit(
2027:     Display*    /* display */
2028: );
2029: 
2030: extern int XCellsOfScreen(
2031:     Screen*   /* screen */
2032: );
2033: 
2034: extern int XChangeActivePointerGrab(
2035:     Display*    /* display */,
2036:     unsigned int  /* event_mask */,
2037:     Cursor    /* cursor */,
2038:     Time    /* time */
2039: );
2040: 
2041: extern int XChangeGC(
2042:     Display*    /* display */,
2043:     GC      /* gc */,
2044:     unsigned long /* valuemask */,
2045:     XGCValues*    /* values */
2046: );
2047: 
2048: extern int XChangeKeyboardControl(
2049:     Display*    /* display */,
2050:     unsigned long /* value_mask */,
2051:     XKeyboardControl* /* values */
2052: );
2053: 
2054: extern int XChangeKeyboardMapping(
2055:     Display*    /* display */,
2056:     int     /* first_keycode */,
2057:     int     /* keysyms_per_keycode */,
2058:     KeySym*   /* keysyms */,
2059:     int     /* num_codes */
2060: );
2061: 
2062: extern int XChangePointerControl(
2063:     Display*    /* display */,
2064:     Bool    /* do_accel */,
2065:     Bool    /* do_threshold */,
2066:     int     /* accel_numerator */,
2067:     int     /* accel_denominator */,
2068:     int     /* threshold */
2069: );
2070: 
2071: extern int XChangeProperty(
2072:     Display*    /* display */,
2073:     Window    /* w */,
2074:     Atom    /* property */,
2075:     Atom    /* type */,
2076:     int     /* format */,
2077:     int     /* mode */,
2078:     _Xconst unsigned char*  /* data */,
2079:     int     /* nelements */
2080: );
2081: 
2082: extern int XChangeSaveSet(
2083:     Display*    /* display */,
2084:     Window    /* w */,
2085:     int     /* change_mode */
2086: );
2087: 
2088: extern int XChangeWindowAttributes(
2089:     Display*    /* display */,
2090:     Window    /* w */,
2091:     unsigned long /* valuemask */,
2092:     XSetWindowAttributes* /* attributes */
2093: );
2094: 
2095: extern Bool XCheckIfEvent(
2096:     Display*    /* display */,
2097:     XEvent*   /* event_return */,
2098:     Bool (*) (
2099:          Display*     /* display */,
2100:                XEvent*      /* event */,
2101:                XPointer     /* arg */
2102:              )    /* predicate */,
2103:     XPointer    /* arg */
2104: );
2105: 
2106: extern Bool XCheckMaskEvent(
2107:     Display*    /* display */,
2108:     long    /* event_mask */,
2109:     XEvent*   /* event_return */
2110: );
2111: 
2112: extern Bool XCheckTypedEvent(
2113:     Display*    /* display */,
2114:     int     /* event_type */,
2115:     XEvent*   /* event_return */
2116: );
2117: 
2118: extern Bool XCheckTypedWindowEvent(
2119:     Display*    /* display */,
2120:     Window    /* w */,
2121:     int     /* event_type */,
2122:     XEvent*   /* event_return */
2123: );
2124: 
2125: extern Bool XCheckWindowEvent(
2126:     Display*    /* display */,
2127:     Window    /* w */,
2128:     long    /* event_mask */,
2129:     XEvent*   /* event_return */
2130: );
2131: 
2132: extern int XCirculateSubwindows(
2133:     Display*    /* display */,
2134:     Window    /* w */,
2135:     int     /* direction */
2136: );
2137: 
2138: extern int XCirculateSubwindowsDown(
2139:     Display*    /* display */,
2140:     Window    /* w */
2141: );
2142: 
2143: extern int XCirculateSubwindowsUp(
2144:     Display*    /* display */,
2145:     Window    /* w */
2146: );
2147: 
2148: extern int XClearArea(
2149:     Display*    /* display */,
2150:     Window    /* w */,
2151:     int     /* x */,
2152:     int     /* y */,
2153:     unsigned int  /* width */,
2154:     unsigned int  /* height */,
2155:     Bool    /* exposures */
2156: );
2157: 
2158: extern int XClearWindow(
2159:     Display*    /* display */,
2160:     Window    /* w */
2161: );
2162: 
2163: extern int XCloseDisplay(
2164:     Display*    /* display */
2165: );
2166: 
2167: extern int XConfigureWindow(
2168:     Display*    /* display */,
2169:     Window    /* w */,
2170:     unsigned int  /* value_mask */,
2171:     XWindowChanges* /* values */     
2172: );
2173: 
2174: extern int XConnectionNumber(
2175:     Display*    /* display */
2176: );
2177: 
2178: extern int XConvertSelection(
2179:     Display*    /* display */,
2180:     Atom    /* selection */,
2181:     Atom    /* target */,
2182:     Atom    /* property */,
2183:     Window    /* requestor */,
2184:     Time    /* time */
2185: );
2186: 
2187: extern int XCopyArea(
2188:     Display*    /* display */,
2189:     Drawable    /* src */,
2190:     Drawable    /* dest */,
2191:     GC      /* gc */,
2192:     int     /* src_x */,
2193:     int     /* src_y */,
2194:     unsigned int  /* width */,
2195:     unsigned int  /* height */,
2196:     int     /* dest_x */,
2197:     int     /* dest_y */
2198: );
2199: 
2200: extern int XCopyGC(
2201:     Display*    /* display */,
2202:     GC      /* src */,
2203:     unsigned long /* valuemask */,
2204:     GC      /* dest */
2205: );
2206: 
2207: extern int XCopyPlane(
2208:     Display*    /* display */,
2209:     Drawable    /* src */,
2210:     Drawable    /* dest */,
2211:     GC      /* gc */,
2212:     int     /* src_x */,
2213:     int     /* src_y */,
2214:     unsigned int  /* width */,
2215:     unsigned int  /* height */,
2216:     int     /* dest_x */,
2217:     int     /* dest_y */,
2218:     unsigned long /* plane */
2219: );
2220: 
2221: extern int XDefaultDepth(
2222:     Display*    /* display */,
2223:     int     /* screen_number */
2224: );
2225: 
2226: extern int XDefaultDepthOfScreen(
2227:     Screen*   /* screen */
2228: );
2229: 
2230: extern int XDefaultScreen(
2231:     Display*    /* display */
2232: );
2233: 
2234: extern int XDefineCursor(
2235:     Display*    /* display */,
2236:     Window    /* w */,
2237:     Cursor    /* cursor */
2238: );
2239: 
2240: extern int XDeleteProperty(
2241:     Display*    /* display */,
2242:     Window    /* w */,
2243:     Atom    /* property */
2244: );
2245: 
2246: extern int XDestroyWindow(
2247:     Display*    /* display */,
2248:     Window    /* w */
2249: );
2250: 
2251: extern int XDestroySubwindows(
2252:     Display*    /* display */,
2253:     Window    /* w */
2254: );
2255: 
2256: extern int XDoesBackingStore(
2257:     Screen*   /* screen */    
2258: );
2259: 
2260: extern Bool XDoesSaveUnders(
2261:     Screen*   /* screen */
2262: );
2263: 
2264: extern int XDisableAccessControl(
2265:     Display*    /* display */
2266: );
2267: 
2268: 
2269: extern int XDisplayCells(
2270:     Display*    /* display */,
2271:     int     /* screen_number */
2272: );
2273: 
2274: extern int XDisplayHeight(
2275:     Display*    /* display */,
2276:     int     /* screen_number */
2277: );
2278: 
2279: extern int XDisplayHeightMM(
2280:     Display*    /* display */,
2281:     int     /* screen_number */
2282: );
2283: 
2284: extern int XDisplayKeycodes(
2285:     Display*    /* display */,
2286:     int*    /* min_keycodes_return */,
2287:     int*    /* max_keycodes_return */
2288: );
2289: 
2290: extern int XDisplayPlanes(
2291:     Display*    /* display */,
2292:     int     /* screen_number */
2293: );
2294: 
2295: extern int XDisplayWidth(
2296:     Display*    /* display */,
2297:     int     /* screen_number */
2298: );
2299: 
2300: extern int XDisplayWidthMM(
2301:     Display*    /* display */,
2302:     int     /* screen_number */
2303: );
2304: 
2305: extern int XDrawArc(
2306:     Display*    /* display */,
2307:     Drawable    /* d */,
2308:     GC      /* gc */,
2309:     int     /* x */,
2310:     int     /* y */,
2311:     unsigned int  /* width */,
2312:     unsigned int  /* height */,
2313:     int     /* angle1 */,
2314:     int     /* angle2 */
2315: );
2316: 
2317: extern int XDrawArcs(
2318:     Display*    /* display */,
2319:     Drawable    /* d */,
2320:     GC      /* gc */,
2321:     XArc*   /* arcs */,
2322:     int     /* narcs */
2323: );
2324: 
2325: extern int XDrawImageString(
2326:     Display*    /* display */,
2327:     Drawable    /* d */,
2328:     GC      /* gc */,
2329:     int     /* x */,
2330:     int     /* y */,
2331:     _Xconst char* /* string */,
2332:     int     /* length */
2333: );
2334: 
2335: extern int XDrawImageString16(
2336:     Display*    /* display */,
2337:     Drawable    /* d */,
2338:     GC      /* gc */,
2339:     int     /* x */,
2340:     int     /* y */,
2341:     _Xconst XChar2b*  /* string */,
2342:     int     /* length */
2343: );
2344: 
2345: extern int XDrawLine(
2346:     Display*    /* display */,
2347:     Drawable    /* d */,
2348:     GC      /* gc */,
2349:     int     /* x1 */,
2350:     int     /* y1 */,
2351:     int     /* x2 */,
2352:     int     /* y2 */
2353: );
2354: 
2355: extern int XDrawLines(
2356:     Display*    /* display */,
2357:     Drawable    /* d */,
2358:     GC      /* gc */,
2359:     XPoint*   /* points */,
2360:     int     /* npoints */,
2361:     int     /* mode */
2362: );
2363: 
2364: extern int XDrawPoint(
2365:     Display*    /* display */,
2366:     Drawable    /* d */,
2367:     GC      /* gc */,
2368:     int     /* x */,
2369:     int     /* y */
2370: );
2371: 
2372: extern int XDrawPoints(
2373:     Display*    /* display */,
2374:     Drawable    /* d */,
2375:     GC      /* gc */,
2376:     XPoint*   /* points */,
2377:     int     /* npoints */,
2378:     int     /* mode */
2379: );
2380: 
2381: extern int XDrawRectangle(
2382:     Display*    /* display */,
2383:     Drawable    /* d */,
2384:     GC      /* gc */,
2385:     int     /* x */,
2386:     int     /* y */,
2387:     unsigned int  /* width */,
2388:     unsigned int  /* height */
2389: );
2390: 
2391: extern int XDrawRectangles(
2392:     Display*    /* display */,
2393:     Drawable    /* d */,
2394:     GC      /* gc */,
2395:     XRectangle*   /* rectangles */,
2396:     int     /* nrectangles */
2397: );
2398: 
2399: extern int XDrawSegments(
2400:     Display*    /* display */,
2401:     Drawable    /* d */,
2402:     GC      /* gc */,
2403:     XSegment*   /* segments */,
2404:     int     /* nsegments */
2405: );
2406: 
2407: extern int XDrawString(
2408:     Display*    /* display */,
2409:     Drawable    /* d */,
2410:     GC      /* gc */,
2411:     int     /* x */,
2412:     int     /* y */,
2413:     _Xconst char* /* string */,
2414:     int     /* length */
2415: );
2416: 
2417: extern int XDrawString16(
2418:     Display*    /* display */,
2419:     Drawable    /* d */,
2420:     GC      /* gc */,
2421:     int     /* x */,
2422:     int     /* y */,
2423:     _Xconst XChar2b*  /* string */,
2424:     int     /* length */
2425: );
2426: 
2427: extern int XDrawText(
2428:     Display*    /* display */,
2429:     Drawable    /* d */,
2430:     GC      /* gc */,
2431:     int     /* x */,
2432:     int     /* y */,
2433:     XTextItem*    /* items */,
2434:     int     /* nitems */
2435: );
2436: 
2437: extern int XDrawText16(
2438:     Display*    /* display */,
2439:     Drawable    /* d */,
2440:     GC      /* gc */,
2441:     int     /* x */,
2442:     int     /* y */,
2443:     XTextItem16*  /* items */,
2444:     int     /* nitems */
2445: );
2446: 
2447: extern int XEnableAccessControl(
2448:     Display*    /* display */
2449: );
2450: 
2451: extern int XEventsQueued(
2452:     Display*    /* display */,
2453:     int     /* mode */
2454: );
2455: 
2456: extern Status XFetchName(
2457:     Display*    /* display */,
2458:     Window    /* w */,
2459:     char**    /* window_name_return */
2460: );
2461: 
2462: extern int XFillArc(
2463:     Display*    /* display */,
2464:     Drawable    /* d */,
2465:     GC      /* gc */,
2466:     int     /* x */,
2467:     int     /* y */,
2468:     unsigned int  /* width */,
2469:     unsigned int  /* height */,
2470:     int     /* angle1 */,
2471:     int     /* angle2 */
2472: );
2473: 
2474: extern int XFillArcs(
2475:     Display*    /* display */,
2476:     Drawable    /* d */,
2477:     GC      /* gc */,
2478:     XArc*   /* arcs */,
2479:     int     /* narcs */
2480: );
2481: 
2482: extern int XFillPolygon(
2483:     Display*    /* display */,
2484:     Drawable    /* d */,
2485:     GC      /* gc */,
2486:     XPoint*   /* points */,
2487:     int     /* npoints */,
2488:     int     /* shape */,
2489:     int     /* mode */
2490: );
2491: 
2492: extern int XFillRectangle(
2493:     Display*    /* display */,
2494:     Drawable    /* d */,
2495:     GC      /* gc */,
2496:     int     /* x */,
2497:     int     /* y */,
2498:     unsigned int  /* width */,
2499:     unsigned int  /* height */
2500: );
2501: 
2502: extern int XFillRectangles(
2503:     Display*    /* display */,
2504:     Drawable    /* d */,
2505:     GC      /* gc */,
2506:     XRectangle*   /* rectangles */,
2507:     int     /* nrectangles */
2508: );
2509: 
2510: extern int XFlush(
2511:     Display*    /* display */
2512: );
2513: 
2514: extern int XForceScreenSaver(
2515:     Display*    /* display */,
2516:     int     /* mode */
2517: );
2518: 
2519: extern int XFree(
2520:     void*   /* data */
2521: );
2522: 
2523: extern int XFreeColormap(
2524:     Display*    /* display */,
2525:     Colormap    /* colormap */
2526: );
2527: 
2528: extern int XFreeColors(
2529:     Display*    /* display */,
2530:     Colormap    /* colormap */,
2531:     unsigned long*  /* pixels */,
2532:     int     /* npixels */,
2533:     unsigned long /* planes */
2534: );
2535: 
2536: extern int XFreeCursor(
2537:     Display*    /* display */,
2538:     Cursor    /* cursor */
2539: );
2540: 
2541: extern int XFreeExtensionList(
2542:     char**    /* list */    
2543: );
2544: 
2545: extern int XFreeFont(
2546:     Display*    /* display */,
2547:     XFontStruct*  /* font_struct */
2548: );
2549: 
2550: extern int XFreeFontInfo(
2551:     char**    /* names */,
2552:     XFontStruct*  /* free_info */,
2553:     int     /* actual_count */
2554: );
2555: 
2556: extern int XFreeFontNames(
2557:     char**    /* list */
2558: );
2559: 
2560: extern int XFreeFontPath(
2561:     char**    /* list */
2562: );
2563: 
2564: extern int XFreeGC(
2565:     Display*    /* display */,
2566:     GC      /* gc */
2567: );
2568: 
2569: extern int XFreeModifiermap(
2570:     XModifierKeymap*  /* modmap */
2571: );
2572: 
2573: extern int XFreePixmap(
2574:     Display*    /* display */,
2575:     Pixmap    /* pixmap */
2576: );
2577: 
2578: extern int XGeometry(
2579:     Display*    /* display */,
2580:     int     /* screen */,
2581:     _Xconst char* /* position */,
2582:     _Xconst char* /* default_position */,
2583:     unsigned int  /* bwidth */,
2584:     unsigned int  /* fwidth */,
2585:     unsigned int  /* fheight */,
2586:     int     /* xadder */,
2587:     int     /* yadder */,
2588:     int*    /* x_return */,
2589:     int*    /* y_return */,
2590:     int*    /* width_return */,
2591:     int*    /* height_return */
2592: );
2593: 
2594: extern int XGetErrorDatabaseText(
2595:     Display*    /* display */,
2596:     _Xconst char* /* name */,
2597:     _Xconst char* /* message */,
2598:     _Xconst char* /* default_string */,
2599:     char*   /* buffer_return */,
2600:     int     /* length */
2601: );
2602: 
2603: extern int XGetErrorText(
2604:     Display*    /* display */,
2605:     int     /* code */,
2606:     char*   /* buffer_return */,
2607:     int     /* length */
2608: );
2609: 
2610: extern Bool XGetFontProperty(
2611:     XFontStruct*  /* font_struct */,
2612:     Atom    /* atom */,
2613:     unsigned long*  /* value_return */
2614: );
2615: 
2616: extern Status XGetGCValues(
2617:     Display*    /* display */,
2618:     GC      /* gc */,
2619:     unsigned long /* valuemask */,
2620:     XGCValues*    /* values_return */
2621: );
2622: 
2623: extern Status XGetGeometry(
2624:     Display*    /* display */,
2625:     Drawable    /* d */,
2626:     Window*   /* root_return */,
2627:     int*    /* x_return */,
2628:     int*    /* y_return */,
2629:     unsigned int* /* width_return */,
2630:     unsigned int* /* height_return */,
2631:     unsigned int* /* border_width_return */,
2632:     unsigned int* /* depth_return */
2633: );
2634: 
2635: extern Status XGetIconName(
2636:     Display*    /* display */,
2637:     Window    /* w */,
2638:     char**    /* icon_name_return */
2639: );
2640: 
2641: extern int XGetInputFocus(
2642:     Display*    /* display */,
2643:     Window*   /* focus_return */,
2644:     int*    /* revert_to_return */
2645: );
2646: 
2647: extern int XGetKeyboardControl(
2648:     Display*    /* display */,
2649:     XKeyboardState* /* values_return */
2650: );
2651: 
2652: extern int XGetPointerControl(
2653:     Display*    /* display */,
2654:     int*    /* accel_numerator_return */,
2655:     int*    /* accel_denominator_return */,
2656:     int*    /* threshold_return */
2657: );
2658: 
2659: extern int XGetPointerMapping(
2660:     Display*    /* display */,
2661:     unsigned char*  /* map_return */,
2662:     int     /* nmap */
2663: );
2664: 
2665: extern int XGetScreenSaver(
2666:     Display*    /* display */,
2667:     int*    /* timeout_return */,
2668:     int*    /* interval_return */,
2669:     int*    /* prefer_blanking_return */,
2670:     int*    /* allow_exposures_return */
2671: );
2672: 
2673: extern Status XGetTransientForHint(
2674:     Display*    /* display */,
2675:     Window    /* w */,
2676:     Window*   /* prop_window_return */
2677: );
2678: 
2679: extern int XGetWindowProperty(
2680:     Display*    /* display */,
2681:     Window    /* w */,
2682:     Atom    /* property */,
2683:     long    /* long_offset */,
2684:     long    /* long_length */,
2685:     Bool    /* delete */,
2686:     Atom    /* req_type */,
2687:     Atom*   /* actual_type_return */,
2688:     int*    /* actual_format_return */,
2689:     unsigned long*  /* nitems_return */,
2690:     unsigned long*  /* bytes_after_return */,
2691:     unsigned char** /* prop_return */
2692: );
2693: 
2694: extern Status XGetWindowAttributes(
2695:     Display*    /* display */,
2696:     Window    /* w */,
2697:     XWindowAttributes*  /* window_attributes_return */
2698: );
2699: 
2700: extern int XGrabButton(
2701:     Display*    /* display */,
2702:     unsigned int  /* button */,
2703:     unsigned int  /* modifiers */,
2704:     Window    /* grab_window */,
2705:     Bool    /* owner_events */,
2706:     unsigned int  /* event_mask */,
2707:     int     /* pointer_mode */,
2708:     int     /* keyboard_mode */,
2709:     Window    /* confine_to */,
2710:     Cursor    /* cursor */
2711: );
2712: 
2713: extern int XGrabKey(
2714:     Display*    /* display */,
2715:     int     /* keycode */,
2716:     unsigned int  /* modifiers */,
2717:     Window    /* grab_window */,
2718:     Bool    /* owner_events */,
2719:     int     /* pointer_mode */,
2720:     int     /* keyboard_mode */
2721: );
2722: 
2723: extern int XGrabKeyboard(
2724:     Display*    /* display */,
2725:     Window    /* grab_window */,
2726:     Bool    /* owner_events */,
2727:     int     /* pointer_mode */,
2728:     int     /* keyboard_mode */,
2729:     Time    /* time */
2730: );
2731: 
2732: extern int XGrabPointer(
2733:     Display*    /* display */,
2734:     Window    /* grab_window */,
2735:     Bool    /* owner_events */,
2736:     unsigned int  /* event_mask */,
2737:     int     /* pointer_mode */,
2738:     int     /* keyboard_mode */,
2739:     Window    /* confine_to */,
2740:     Cursor    /* cursor */,
2741:     Time    /* time */
2742: );
2743: 
2744: extern int XGrabServer(
2745:     Display*    /* display */
2746: );
2747: 
2748: extern int XHeightMMOfScreen(
2749:     Screen*   /* screen */
2750: );
2751: 
2752: extern int XHeightOfScreen(
2753:     Screen*   /* screen */
2754: );
2755: 
2756: extern int XIfEvent(
2757:     Display*    /* display */,
2758:     XEvent*   /* event_return */,
2759:     Bool (*) (
2760:          Display*     /* display */,
2761:                XEvent*      /* event */,
2762:                XPointer     /* arg */
2763:              )    /* predicate */,
2764:     XPointer    /* arg */
2765: );
2766: 
2767: extern int XImageByteOrder(
2768:     Display*    /* display */
2769: );
2770: 
2771: extern int XInstallColormap(
2772:     Display*    /* display */,
2773:     Colormap    /* colormap */
2774: );
2775: 
2776: extern KeyCode XKeysymToKeycode(
2777:     Display*    /* display */,
2778:     KeySym    /* keysym */
2779: );
2780: 
2781: extern int XKillClient(
2782:     Display*    /* display */,
2783:     XID     /* resource */
2784: );
2785: 
2786: extern Status XLookupColor(
2787:     Display*    /* display */,
2788:     Colormap    /* colormap */,
2789:     _Xconst char* /* color_name */,
2790:     XColor*   /* exact_def_return */,
2791:     XColor*   /* screen_def_return */
2792: );
2793: 
2794: extern int XLowerWindow(
2795:     Display*    /* display */,
2796:     Window    /* w */
2797: );
2798: 
2799: extern int XMapRaised(
2800:     Display*    /* display */,
2801:     Window    /* w */
2802: );
2803: 
2804: extern int XMapSubwindows(
2805:     Display*    /* display */,
2806:     Window    /* w */
2807: );
2808: 
2809: extern int XMapWindow(
2810:     Display*    /* display */,
2811:     Window    /* w */
2812: );
2813: 
2814: extern int XMaskEvent(
2815:     Display*    /* display */,
2816:     long    /* event_mask */,
2817:     XEvent*   /* event_return */
2818: );
2819: 
2820: extern int XMaxCmapsOfScreen(
2821:     Screen*   /* screen */
2822: );
2823: 
2824: extern int XMinCmapsOfScreen(
2825:     Screen*   /* screen */
2826: );
2827: 
2828: extern int XMoveResizeWindow(
2829:     Display*    /* display */,
2830:     Window    /* w */,
2831:     int     /* x */,
2832:     int     /* y */,
2833:     unsigned int  /* width */,
2834:     unsigned int  /* height */
2835: );
2836: 
2837: extern int XMoveWindow(
2838:     Display*    /* display */,
2839:     Window    /* w */,
2840:     int     /* x */,
2841:     int     /* y */
2842: );
2843: 
2844: extern int XNextEvent(
2845:     Display*    /* display */,
2846:     XEvent*   /* event_return */
2847: );
2848: 
2849: extern int XNoOp(
2850:     Display*    /* display */
2851: );
2852: 
2853: extern Status XParseColor(
2854:     Display*    /* display */,
2855:     Colormap    /* colormap */,
2856:     _Xconst char* /* spec */,
2857:     XColor*   /* exact_def_return */
2858: );
2859: 
2860: extern int XParseGeometry(
2861:     _Xconst char* /* parsestring */,
2862:     int*    /* x_return */,
2863:     int*    /* y_return */,
2864:     unsigned int* /* width_return */,
2865:     unsigned int* /* height_return */
2866: );
2867: 
2868: extern int XPeekEvent(
2869:     Display*    /* display */,
2870:     XEvent*   /* event_return */
2871: );
2872: 
2873: extern int XPeekIfEvent(
2874:     Display*    /* display */,
2875:     XEvent*   /* event_return */,
2876:     Bool (*) (
2877:          Display*   /* display */,
2878:                XEvent*    /* event */,
2879:                XPointer   /* arg */
2880:              )    /* predicate */,
2881:     XPointer    /* arg */
2882: );
2883: 
2884: extern int XPending(
2885:     Display*    /* display */
2886: );
2887: 
2888: extern int XPlanesOfScreen(
2889:     Screen*   /* screen */
2890: );
2891: 
2892: extern int XProtocolRevision(
2893:     Display*    /* display */
2894: );
2895: 
2896: extern int XProtocolVersion(
2897:     Display*    /* display */
2898: );
2899: 
2900: 
2901: extern int XPutBackEvent(
2902:     Display*    /* display */,
2903:     XEvent*   /* event */
2904: );
2905: 
2906: extern int XPutImage(
2907:     Display*    /* display */,
2908:     Drawable    /* d */,
2909:     GC      /* gc */,
2910:     XImage*   /* image */,
2911:     int     /* src_x */,
2912:     int     /* src_y */,
2913:     int     /* dest_x */,
2914:     int     /* dest_y */,
2915:     unsigned int  /* width */,
2916:     unsigned int  /* height */    
2917: );
2918: 
2919: extern int XQLength(
2920:     Display*    /* display */
2921: );
2922: 
2923: extern Status XQueryBestCursor(
2924:     Display*    /* display */,
2925:     Drawable    /* d */,
2926:     unsigned int        /* width */,
2927:     unsigned int  /* height */,
2928:     unsigned int* /* width_return */,
2929:     unsigned int* /* height_return */
2930: );
2931: 
2932: extern Status XQueryBestSize(
2933:     Display*    /* display */,
2934:     int     /* class */,
2935:     Drawable    /* which_screen */,
2936:     unsigned int  /* width */,
2937:     unsigned int  /* height */,
2938:     unsigned int* /* width_return */,
2939:     unsigned int* /* height_return */
2940: );
2941: 
2942: extern Status XQueryBestStipple(
2943:     Display*    /* display */,
2944:     Drawable    /* which_screen */,
2945:     unsigned int  /* width */,
2946:     unsigned int  /* height */,
2947:     unsigned int* /* width_return */,
2948:     unsigned int* /* height_return */
2949: );
2950: 
2951: extern Status XQueryBestTile(
2952:     Display*    /* display */,
2953:     Drawable    /* which_screen */,
2954:     unsigned int  /* width */,
2955:     unsigned int  /* height */,
2956:     unsigned int* /* width_return */,
2957:     unsigned int* /* height_return */
2958: );
2959: 
2960: extern int XQueryColor(
2961:     Display*    /* display */,
2962:     Colormap    /* colormap */,
2963:     XColor*   /* def_in_out */
2964: );
2965: 
2966: extern int XQueryColors(
2967:     Display*    /* display */,
2968:     Colormap    /* colormap */,
2969:     XColor*   /* defs_in_out */,
2970:     int     /* ncolors */
2971: );
2972: 
2973: extern Bool XQueryExtension(
2974:     Display*    /* display */,
2975:     _Xconst char* /* name */,
2976:     int*    /* major_opcode_return */,
2977:     int*    /* first_event_return */,
2978:     int*    /* first_error_return */
2979: );
2980: 
2981: extern int XQueryKeymap(
2982:     Display*    /* display */,
2983:     char [32]   /* keys_return */
2984: );
2985: 
2986: extern Bool XQueryPointer(
2987:     Display*    /* display */,
2988:     Window    /* w */,
2989:     Window*   /* root_return */,
2990:     Window*   /* child_return */,
2991:     int*    /* root_x_return */,
2992:     int*    /* root_y_return */,
2993:     int*    /* win_x_return */,
2994:     int*    /* win_y_return */,
2995:     unsigned int*       /* mask_return */
2996: );
2997: 
2998: extern int XQueryTextExtents(
2999:     Display*    /* display */,
3000:     XID     /* font_ID */,
3001:     _Xconst char* /* string */,
3002:     int     /* nchars */,
3003:     int*    /* direction_return */,
3004:     int*    /* font_ascent_return */,
3005:     int*    /* font_descent_return */,
3006:     XCharStruct*  /* overall_return */    
3007: );
3008: 
3009: extern int XQueryTextExtents16(
3010:     Display*    /* display */,
3011:     XID     /* font_ID */,
3012:     _Xconst XChar2b*  /* string */,
3013:     int     /* nchars */,
3014:     int*    /* direction_return */,
3015:     int*    /* font_ascent_return */,
3016:     int*    /* font_descent_return */,
3017:     XCharStruct*  /* overall_return */
3018: );
3019: 
3020: extern Status XQueryTree(
3021:     Display*    /* display */,
3022:     Window    /* w */,
3023:     Window*   /* root_return */,
3024:     Window*   /* parent_return */,
3025:     Window**    /* children_return */,
3026:     unsigned int* /* nchildren_return */
3027: );
3028: 
3029: extern int XRaiseWindow(
3030:     Display*    /* display */,
3031:     Window    /* w */
3032: );
3033: 
3034: extern int XReadBitmapFile(
3035:     Display*    /* display */,
3036:     Drawable    /* d */,
3037:     _Xconst char* /* filename */,
3038:     unsigned int* /* width_return */,
3039:     unsigned int* /* height_return */,
3040:     Pixmap*   /* bitmap_return */,
3041:     int*    /* x_hot_return */,
3042:     int*    /* y_hot_return */
3043: );
3044: 
3045: extern int XReadBitmapFileData(
3046:     _Xconst char* /* filename */,
3047:     unsigned int* /* width_return */,
3048:     unsigned int* /* height_return */,
3049:     unsigned char** /* data_return */,
3050:     int*    /* x_hot_return */,
3051:     int*    /* y_hot_return */
3052: );
3053: 
3054: extern int XRebindKeysym(
3055:     Display*    /* display */,
3056:     KeySym    /* keysym */,
3057:     KeySym*   /* list */,
3058:     int     /* mod_count */,
3059:     _Xconst unsigned char*  /* string */,
3060:     int     /* bytes_string */
3061: );
3062: 
3063: extern int XRecolorCursor(
3064:     Display*    /* display */,
3065:     Cursor    /* cursor */,
3066:     XColor*   /* foreground_color */,
3067:     XColor*   /* background_color */
3068: );
3069: 
3070: extern int XRefreshKeyboardMapping(
3071:     XMappingEvent*  /* event_map */    
3072: );
3073: 
3074: extern int XRemoveFromSaveSet(
3075:     Display*    /* display */,
3076:     Window    /* w */
3077: );
3078: 
3079: extern int XRemoveHost(
3080:     Display*    /* display */,
3081:     XHostAddress* /* host */
3082: );
3083: 
3084: extern int XRemoveHosts(
3085:     Display*    /* display */,
3086:     XHostAddress* /* hosts */,
3087:     int     /* num_hosts */
3088: );
3089: 
3090: extern int XReparentWindow(
3091:     Display*    /* display */,
3092:     Window    /* w */,
3093:     Window    /* parent */,
3094:     int     /* x */,
3095:     int     /* y */
3096: );
3097: 
3098: extern int XResetScreenSaver(
3099:     Display*    /* display */
3100: );
3101: 
3102: extern int XResizeWindow(
3103:     Display*    /* display */,
3104:     Window    /* w */,
3105:     unsigned int  /* width */,
3106:     unsigned int  /* height */
3107: );
3108: 
3109: extern int XRestackWindows(
3110:     Display*    /* display */,
3111:     Window*   /* windows */,
3112:     int     /* nwindows */
3113: );
3114: 
3115: extern int XRotateBuffers(
3116:     Display*    /* display */,
3117:     int     /* rotate */
3118: );
3119: 
3120: extern int XRotateWindowProperties(
3121:     Display*    /* display */,
3122:     Window    /* w */,
3123:     Atom*   /* properties */,
3124:     int     /* num_prop */,
3125:     int     /* npositions */
3126: );
3127: 
3128: extern int XScreenCount(
3129:     Display*    /* display */
3130: );
3131: 
3132: extern int XSelectInput(
3133:     Display*    /* display */,
3134:     Window    /* w */,
3135:     long    /* event_mask */
3136: );
3137: 
3138: extern Status XSendEvent(
3139:     Display*    /* display */,
3140:     Window    /* w */,
3141:     Bool    /* propagate */,
3142:     long    /* event_mask */,
3143:     XEvent*   /* event_send */
3144: );
3145: 
3146: extern int XSetAccessControl(
3147:     Display*    /* display */,
3148:     int     /* mode */
3149: );
3150: 
3151: extern int XSetArcMode(
3152:     Display*    /* display */,
3153:     GC      /* gc */,
3154:     int     /* arc_mode */
3155: );
3156: 
3157: extern int XSetBackground(
3158:     Display*    /* display */,
3159:     GC      /* gc */,
3160:     unsigned long /* background */
3161: );
3162: 
3163: extern int XSetClipMask(
3164:     Display*    /* display */,
3165:     GC      /* gc */,
3166:     Pixmap    /* pixmap */
3167: );
3168: 
3169: extern int XSetClipOrigin(
3170:     Display*    /* display */,
3171:     GC      /* gc */,
3172:     int     /* clip_x_origin */,
3173:     int     /* clip_y_origin */
3174: );
3175: 
3176: extern int XSetClipRectangles(
3177:     Display*    /* display */,
3178:     GC      /* gc */,
3179:     int     /* clip_x_origin */,
3180:     int     /* clip_y_origin */,
3181:     XRectangle*   /* rectangles */,
3182:     int     /* n */,
3183:     int     /* ordering */
3184: );
3185: 
3186: extern int XSetCloseDownMode(
3187:     Display*    /* display */,
3188:     int     /* close_mode */
3189: );
3190: 
3191: extern int XSetCommand(
3192:     Display*    /* display */,
3193:     Window    /* w */,
3194:     char**    /* argv */,
3195:     int     /* argc */
3196: );
3197: 
3198: extern int XSetDashes(
3199:     Display*    /* display */,
3200:     GC      /* gc */,
3201:     int     /* dash_offset */,
3202:     _Xconst char* /* dash_list */,
3203:     int     /* n */
3204: );
3205: 
3206: extern int XSetFillRule(
3207:     Display*    /* display */,
3208:     GC      /* gc */,
3209:     int     /* fill_rule */
3210: );
3211: 
3212: extern int XSetFillStyle(
3213:     Display*    /* display */,
3214:     GC      /* gc */,
3215:     int     /* fill_style */
3216: );
3217: 
3218: extern int XSetFont(
3219:     Display*    /* display */,
3220:     GC      /* gc */,
3221:     Font    /* font */
3222: );
3223: 
3224: extern int XSetFontPath(
3225:     Display*    /* display */,
3226:     char**    /* directories */,
3227:     int     /* ndirs */      
3228: );
3229: 
3230: extern int XSetForeground(
3231:     Display*    /* display */,
3232:     GC      /* gc */,
3233:     unsigned long /* foreground */
3234: );
3235: 
3236: extern int XSetFunction(
3237:     Display*    /* display */,
3238:     GC      /* gc */,
3239:     int     /* function */
3240: );
3241: 
3242: extern int XSetGraphicsExposures(
3243:     Display*    /* display */,
3244:     GC      /* gc */,
3245:     Bool    /* graphics_exposures */
3246: );
3247: 
3248: extern int XSetIconName(
3249:     Display*    /* display */,
3250:     Window    /* w */,
3251:     _Xconst char* /* icon_name */
3252: );
3253: 
3254: extern int XSetInputFocus(
3255:     Display*    /* display */,
3256:     Window    /* focus */,
3257:     int     /* revert_to */,
3258:     Time    /* time */
3259: );
3260: 
3261: extern int XSetLineAttributes(
3262:     Display*    /* display */,
3263:     GC      /* gc */,
3264:     unsigned int  /* line_width */,
3265:     int     /* line_style */,
3266:     int     /* cap_style */,
3267:     int     /* join_style */
3268: );
3269: 
3270: extern int XSetModifierMapping(
3271:     Display*    /* display */,
3272:     XModifierKeymap*  /* modmap */
3273: );
3274: 
3275: extern int XSetPlaneMask(
3276:     Display*    /* display */,
3277:     GC      /* gc */,
3278:     unsigned long /* plane_mask */
3279: );
3280: 
3281: extern int XSetPointerMapping(
3282:     Display*    /* display */,
3283:     _Xconst unsigned char*  /* map */,
3284:     int     /* nmap */
3285: );
3286: 
3287: extern int XSetScreenSaver(
3288:     Display*    /* display */,
3289:     int     /* timeout */,
3290:     int     /* interval */,
3291:     int     /* prefer_blanking */,
3292:     int     /* allow_exposures */
3293: );
3294: 
3295: extern int XSetSelectionOwner(
3296:     Display*    /* display */,
3297:     Atom          /* selection */,
3298:     Window    /* owner */,
3299:     Time    /* time */
3300: );
3301: 
3302: extern int XSetState(
3303:     Display*    /* display */,
3304:     GC      /* gc */,
3305:     unsigned long   /* foreground */,
3306:     unsigned long /* background */,
3307:     int     /* function */,
3308:     unsigned long /* plane_mask */
3309: );
3310: 
3311: extern int XSetStipple(
3312:     Display*    /* display */,
3313:     GC      /* gc */,
3314:     Pixmap    /* stipple */
3315: );
3316: 
3317: extern int XSetSubwindowMode(
3318:     Display*    /* display */,
3319:     GC      /* gc */,
3320:     int     /* subwindow_mode */
3321: );
3322: 
3323: extern int XSetTSOrigin(
3324:     Display*    /* display */,
3325:     GC      /* gc */,
3326:     int     /* ts_x_origin */,
3327:     int     /* ts_y_origin */
3328: );
3329: 
3330: extern int XSetTile(
3331:     Display*    /* display */,
3332:     GC      /* gc */,
3333:     Pixmap    /* tile */
3334: );
3335: 
3336: extern int XSetWindowBackground(
3337:     Display*    /* display */,
3338:     Window    /* w */,
3339:     unsigned long /* background_pixel */
3340: );
3341: 
3342: extern int XSetWindowBackgroundPixmap(
3343:     Display*    /* display */,
3344:     Window    /* w */,
3345:     Pixmap    /* background_pixmap */
3346: );
3347: 
3348: extern int XSetWindowBorder(
3349:     Display*    /* display */,
3350:     Window    /* w */,
3351:     unsigned long /* border_pixel */
3352: );
3353: 
3354: extern int XSetWindowBorderPixmap(
3355:     Display*    /* display */,
3356:     Window    /* w */,
3357:     Pixmap    /* border_pixmap */
3358: );
3359: 
3360: extern int XSetWindowBorderWidth(
3361:     Display*    /* display */,
3362:     Window    /* w */,
3363:     unsigned int  /* width */
3364: );
3365: 
3366: extern int XSetWindowColormap(
3367:     Display*    /* display */,
3368:     Window    /* w */,
3369:     Colormap    /* colormap */
3370: );
3371: 
3372: extern int XStoreBuffer(
3373:     Display*    /* display */,
3374:     _Xconst char* /* bytes */,
3375:     int     /* nbytes */,
3376:     int     /* buffer */
3377: );
3378: 
3379: extern int XStoreBytes(
3380:     Display*    /* display */,
3381:     _Xconst char* /* bytes */,
3382:     int     /* nbytes */
3383: );
3384: 
3385: extern int XStoreColor(
3386:     Display*    /* display */,
3387:     Colormap    /* colormap */,
3388:     XColor*   /* color */
3389: );
3390: 
3391: extern int XStoreColors(
3392:     Display*    /* display */,
3393:     Colormap    /* colormap */,
3394:     XColor*   /* color */,
3395:     int     /* ncolors */
3396: );
3397: 
3398: extern int XStoreName(
3399:     Display*    /* display */,
3400:     Window    /* w */,
3401:     _Xconst char* /* window_name */
3402: );
3403: 
3404: extern int XStoreNamedColor(
3405:     Display*    /* display */,
3406:     Colormap    /* colormap */,
3407:     _Xconst char* /* color */,
3408:     unsigned long /* pixel */,
3409:     int     /* flags */
3410: );
3411: 
3412: extern int XSync(
3413:     Display*    /* display */,
3414:     Bool    /* discard */
3415: );
3416: 
3417: extern int XTextExtents(
3418:     XFontStruct*  /* font_struct */,
3419:     _Xconst char* /* string */,
3420:     int     /* nchars */,
3421:     int*    /* direction_return */,
3422:     int*    /* font_ascent_return */,
3423:     int*    /* font_descent_return */,
3424:     XCharStruct*  /* overall_return */
3425: );
3426: 
3427: extern int XTextExtents16(
3428:     XFontStruct*  /* font_struct */,
3429:     _Xconst XChar2b*  /* string */,
3430:     int     /* nchars */,
3431:     int*    /* direction_return */,
3432:     int*    /* font_ascent_return */,
3433:     int*    /* font_descent_return */,
3434:     XCharStruct*  /* overall_return */
3435: );
3436: 
3437: extern int XTextWidth(
3438:     XFontStruct*  /* font_struct */,
3439:     _Xconst char* /* string */,
3440:     int     /* count */
3441: );
3442: 
3443: extern int XTextWidth16(
3444:     XFontStruct*  /* font_struct */,
3445:     _Xconst XChar2b*  /* string */,
3446:     int     /* count */
3447: );
3448: 
3449: extern Bool XTranslateCoordinates(
3450:     Display*    /* display */,
3451:     Window    /* src_w */,
3452:     Window    /* dest_w */,
3453:     int     /* src_x */,
3454:     int     /* src_y */,
3455:     int*    /* dest_x_return */,
3456:     int*    /* dest_y_return */,
3457:     Window*   /* child_return */
3458: );
3459: 
3460: extern int XUndefineCursor(
3461:     Display*    /* display */,
3462:     Window    /* w */
3463: );
3464: 
3465: extern int XUngrabButton(
3466:     Display*    /* display */,
3467:     unsigned int  /* button */,
3468:     unsigned int  /* modifiers */,
3469:     Window    /* grab_window */
3470: );
3471: 
3472: extern int XUngrabKey(
3473:     Display*    /* display */,
3474:     int     /* keycode */,
3475:     unsigned int  /* modifiers */,
3476:     Window    /* grab_window */
3477: );
3478: 
3479: extern int XUngrabKeyboard(
3480:     Display*    /* display */,
3481:     Time    /* time */
3482: );
3483: 
3484: extern int XUngrabPointer(
3485:     Display*    /* display */,
3486:     Time    /* time */
3487: );
3488: 
3489: extern int XUngrabServer(
3490:     Display*    /* display */
3491: );
3492: 
3493: extern int XUninstallColormap(
3494:     Display*    /* display */,
3495:     Colormap    /* colormap */
3496: );
3497: 
3498: extern int XUnloadFont(
3499:     Display*    /* display */,
3500:     Font    /* font */
3501: );
3502: 
3503: extern int XUnmapSubwindows(
3504:     Display*    /* display */,
3505:     Window    /* w */
3506: );
3507: 
3508: extern int XUnmapWindow(
3509:     Display*    /* display */,
3510:     Window    /* w */
3511: );
3512: 
3513: extern int XVendorRelease(
3514:     Display*    /* display */
3515: );
3516: 
3517: extern int XWarpPointer(
3518:     Display*    /* display */,
3519:     Window    /* src_w */,
3520:     Window    /* dest_w */,
3521:     int     /* src_x */,
3522:     int     /* src_y */,
3523:     unsigned int  /* src_width */,
3524:     unsigned int  /* src_height */,
3525:     int     /* dest_x */,
3526:     int     /* dest_y */       
3527: );
3528: 
3529: extern int XWidthMMOfScreen(
3530:     Screen*   /* screen */
3531: );
3532: 
3533: extern int XWidthOfScreen(
3534:     Screen*   /* screen */
3535: );
3536: 
3537: extern int XWindowEvent(
3538:     Display*    /* display */,
3539:     Window    /* w */,
3540:     long    /* event_mask */,
3541:     XEvent*   /* event_return */
3542: );
3543: 
3544: extern int XWriteBitmapFile(
3545:     Display*    /* display */,
3546:     _Xconst char* /* filename */,
3547:     Pixmap    /* bitmap */,
3548:     unsigned int  /* width */,
3549:     unsigned int  /* height */,
3550:     int     /* x_hot */,
3551:     int     /* y_hot */        
3552: );
3553: 
3554: extern Bool XSupportsLocale (void);
3555: 
3556: extern char *XSetLocaleModifiers(
3557:     const char*   /* modifier_list */
3558: );
3559: 
3560: extern XOM XOpenOM(
3561:     Display*      /* display */,
3562:     struct _XrmHashBucketRec* /* rdb */,
3563:     _Xconst char*   /* res_name */,
3564:     _Xconst char*   /* res_class */
3565: );
3566: 
3567: extern Status XCloseOM(
3568:     XOM     /* om */
3569: );
3570: 
3571: extern char *XSetOMValues(
3572:     XOM     /* om */,
3573:     ...
3574: );
3575: 
3576: extern char *XGetOMValues(
3577:     XOM     /* om */,
3578:     ...
3579: );
3580: 
3581: extern Display *XDisplayOfOM(
3582:     XOM     /* om */
3583: );
3584: 
3585: extern char *XLocaleOfOM(
3586:     XOM     /* om */
3587: );
3588: 
3589: extern XOC XCreateOC(
3590:     XOM     /* om */,
3591:     ...
3592: );
3593: 
3594: extern void XDestroyOC(
3595:     XOC     /* oc */
3596: );
3597: 
3598: extern XOM XOMOfOC(
3599:     XOC     /* oc */
3600: );
3601: 
3602: extern char *XSetOCValues(
3603:     XOC     /* oc */,
3604:     ...
3605: );
3606: 
3607: extern char *XGetOCValues(
3608:     XOC     /* oc */,
3609:     ...
3610: );
3611: 
3612: extern XFontSet XCreateFontSet(
3613:     Display*    /* display */,
3614:     _Xconst char* /* base_font_name_list */,
3615:     char***   /* missing_charset_list */,
3616:     int*    /* missing_charset_count */,
3617:     char**    /* def_string */
3618: );
3619: 
3620: extern void XFreeFontSet(
3621:     Display*    /* display */,
3622:     XFontSet    /* font_set */
3623: );
3624: 
3625: extern int XFontsOfFontSet(
3626:     XFontSet    /* font_set */,
3627:     XFontStruct***  /* font_struct_list */,
3628:     char***   /* font_name_list */
3629: );
3630: 
3631: extern char *XBaseFontNameListOfFontSet(
3632:     XFontSet    /* font_set */
3633: );
3634: 
3635: extern char *XLocaleOfFontSet(
3636:     XFontSet    /* font_set */
3637: );
3638: 
3639: extern Bool XContextDependentDrawing(
3640:     XFontSet    /* font_set */
3641: );
3642: 
3643: extern Bool XDirectionalDependentDrawing(
3644:     XFontSet    /* font_set */
3645: );
3646: 
3647: extern Bool XContextualDrawing(
3648:     XFontSet    /* font_set */
3649: );
3650: 
3651: extern XFontSetExtents *XExtentsOfFontSet(
3652:     XFontSet    /* font_set */
3653: );
3654: 
3655: extern int XmbTextEscapement(
3656:     XFontSet    /* font_set */,
3657:     _Xconst char* /* text */,
3658:     int     /* bytes_text */
3659: );
3660: 
3661: extern int XwcTextEscapement(
3662:     XFontSet    /* font_set */,
3663:     _Xconst wchar_t*  /* text */,
3664:     int     /* num_wchars */
3665: );
3666: 
3667: extern int Xutf8TextEscapement(
3668:     XFontSet    /* font_set */,
3669:     _Xconst char* /* text */,
3670:     int     /* bytes_text */
3671: );
3672: 
3673: extern int XmbTextExtents(
3674:     XFontSet    /* font_set */,
3675:     _Xconst char* /* text */,
3676:     int     /* bytes_text */,
3677:     XRectangle*   /* overall_ink_return */,
3678:     XRectangle*   /* overall_logical_return */
3679: );
3680: 
3681: extern int XwcTextExtents(
3682:     XFontSet    /* font_set */,
3683:     _Xconst wchar_t*  /* text */,
3684:     int     /* num_wchars */,
3685:     XRectangle*   /* overall_ink_return */,
3686:     XRectangle*   /* overall_logical_return */
3687: );
3688: 
3689: extern int Xutf8TextExtents(
3690:     XFontSet    /* font_set */,
3691:     _Xconst char* /* text */,
3692:     int     /* bytes_text */,
3693:     XRectangle*   /* overall_ink_return */,
3694:     XRectangle*   /* overall_logical_return */
3695: );
3696: 
3697: extern Status XmbTextPerCharExtents(
3698:     XFontSet    /* font_set */,
3699:     _Xconst char* /* text */,
3700:     int     /* bytes_text */,
3701:     XRectangle*   /* ink_extents_buffer */,
3702:     XRectangle*   /* logical_extents_buffer */,
3703:     int     /* buffer_size */,
3704:     int*    /* num_chars */,
3705:     XRectangle*   /* overall_ink_return */,
3706:     XRectangle*   /* overall_logical_return */
3707: );
3708: 
3709: extern Status XwcTextPerCharExtents(
3710:     XFontSet    /* font_set */,
3711:     _Xconst wchar_t*  /* text */,
3712:     int     /* num_wchars */,
3713:     XRectangle*   /* ink_extents_buffer */,
3714:     XRectangle*   /* logical_extents_buffer */,
3715:     int     /* buffer_size */,
3716:     int*    /* num_chars */,
3717:     XRectangle*   /* overall_ink_return */,
3718:     XRectangle*   /* overall_logical_return */
3719: );
3720: 
3721: extern Status Xutf8TextPerCharExtents(
3722:     XFontSet    /* font_set */,
3723:     _Xconst char* /* text */,
3724:     int     /* bytes_text */,
3725:     XRectangle*   /* ink_extents_buffer */,
3726:     XRectangle*   /* logical_extents_buffer */,
3727:     int     /* buffer_size */,
3728:     int*    /* num_chars */,
3729:     XRectangle*   /* overall_ink_return */,
3730:     XRectangle*   /* overall_logical_return */
3731: );
3732: 
3733: extern void XmbDrawText(
3734:     Display*    /* display */,
3735:     Drawable    /* d */,
3736:     GC      /* gc */,
3737:     int     /* x */,
3738:     int     /* y */,
3739:     XmbTextItem*  /* text_items */,
3740:     int     /* nitems */
3741: );
3742: 
3743: extern void XwcDrawText(
3744:     Display*    /* display */,
3745:     Drawable    /* d */,
3746:     GC      /* gc */,
3747:     int     /* x */,
3748:     int     /* y */,
3749:     XwcTextItem*  /* text_items */,
3750:     int     /* nitems */
3751: );
3752: 
3753: extern void Xutf8DrawText(
3754:     Display*    /* display */,
3755:     Drawable    /* d */,
3756:     GC      /* gc */,
3757:     int     /* x */,
3758:     int     /* y */,
3759:     XmbTextItem*  /* text_items */,
3760:     int     /* nitems */
3761: );
3762: 
3763: extern void XmbDrawString(
3764:     Display*    /* display */,
3765:     Drawable    /* d */,
3766:     XFontSet    /* font_set */,
3767:     GC      /* gc */,
3768:     int     /* x */,
3769:     int     /* y */,
3770:     _Xconst char* /* text */,
3771:     int     /* bytes_text */
3772: );
3773: 
3774: extern void XwcDrawString(
3775:     Display*    /* display */,
3776:     Drawable    /* d */,
3777:     XFontSet    /* font_set */,
3778:     GC      /* gc */,
3779:     int     /* x */,
3780:     int     /* y */,
3781:     _Xconst wchar_t*  /* text */,
3782:     int     /* num_wchars */
3783: );
3784: 
3785: extern void Xutf8DrawString(
3786:     Display*    /* display */,
3787:     Drawable    /* d */,
3788:     XFontSet    /* font_set */,
3789:     GC      /* gc */,
3790:     int     /* x */,
3791:     int     /* y */,
3792:     _Xconst char* /* text */,
3793:     int     /* bytes_text */
3794: );
3795: 
3796: extern void XmbDrawImageString(
3797:     Display*    /* display */,
3798:     Drawable    /* d */,
3799:     XFontSet    /* font_set */,
3800:     GC      /* gc */,
3801:     int     /* x */,
3802:     int     /* y */,
3803:     _Xconst char* /* text */,
3804:     int     /* bytes_text */
3805: );
3806: 
3807: extern void XwcDrawImageString(
3808:     Display*    /* display */,
3809:     Drawable    /* d */,
3810:     XFontSet    /* font_set */,
3811:     GC      /* gc */,
3812:     int     /* x */,
3813:     int     /* y */,
3814:     _Xconst wchar_t*  /* text */,
3815:     int     /* num_wchars */
3816: );
3817: 
3818: extern void Xutf8DrawImageString(
3819:     Display*    /* display */,
3820:     Drawable    /* d */,
3821:     XFontSet    /* font_set */,
3822:     GC      /* gc */,
3823:     int     /* x */,
3824:     int     /* y */,
3825:     _Xconst char* /* text */,
3826:     int     /* bytes_text */
3827: );
3828: 
3829: extern XIM XOpenIM(
3830:     Display*      /* dpy */,
3831:     struct _XrmHashBucketRec* /* rdb */,
3832:     char*     /* res_name */,
3833:     char*     /* res_class */
3834: );
3835: 
3836: extern Status XCloseIM(
3837:     XIM /* im */
3838: );
3839: 
3840: extern char *XGetIMValues(
3841:     XIM /* im */, ...
3842: );
3843: 
3844: extern char *XSetIMValues(
3845:     XIM /* im */, ...
3846: );
3847: 
3848: extern Display *XDisplayOfIM(
3849:     XIM /* im */
3850: );
3851: 
3852: extern char *XLocaleOfIM(
3853:     XIM /* im*/
3854: );
3855: 
3856: extern XIC XCreateIC(
3857:     XIM /* im */, ...
3858: );
3859: 
3860: extern void XDestroyIC(
3861:     XIC /* ic */
3862: );
3863: 
3864: extern void XSetICFocus(
3865:     XIC /* ic */
3866: );
3867: 
3868: extern void XUnsetICFocus(
3869:     XIC /* ic */
3870: );
3871: 
3872: extern wchar_t *XwcResetIC(
3873:     XIC /* ic */
3874: );
3875: 
3876: extern char *XmbResetIC(
3877:     XIC /* ic */
3878: );
3879: 
3880: extern char *Xutf8ResetIC(
3881:     XIC /* ic */
3882: );
3883: 
3884: extern char *XSetICValues(
3885:     XIC /* ic */, ...
3886: );
3887: 
3888: extern char *XGetICValues(
3889:     XIC /* ic */, ...
3890: );
3891: 
3892: extern XIM XIMOfIC(
3893:     XIC /* ic */
3894: );
3895: 
3896: extern Bool XFilterEvent(
3897:     XEvent* /* event */,
3898:     Window  /* window */
3899: );
3900: 
3901: extern int XmbLookupString(
3902:     XIC     /* ic */,
3903:     XKeyPressedEvent* /* event */,
3904:     char*   /* buffer_return */,
3905:     int     /* bytes_buffer */,
3906:     KeySym*   /* keysym_return */,
3907:     Status*   /* status_return */
3908: );
3909: 
3910: extern int XwcLookupString(
3911:     XIC     /* ic */,
3912:     XKeyPressedEvent* /* event */,
3913:     wchar_t*    /* buffer_return */,
3914:     int     /* wchars_buffer */,
3915:     KeySym*   /* keysym_return */,
3916:     Status*   /* status_return */
3917: );
3918: 
3919: extern int Xutf8LookupString(
3920:     XIC     /* ic */,
3921:     XKeyPressedEvent* /* event */,
3922:     char*   /* buffer_return */,
3923:     int     /* bytes_buffer */,
3924:     KeySym*   /* keysym_return */,
3925:     Status*   /* status_return */
3926: );
3927: 
3928: extern XVaNestedList XVaCreateNestedList(
3929:     int /*unused*/, ...
3930: );
3931: 
3932: /* internal connections for IMs */
3933: 
3934: extern Bool XRegisterIMInstantiateCallback(
3935:     Display*      /* dpy */,
3936:     struct _XrmHashBucketRec* /* rdb */,
3937:     char*     /* res_name */,
3938:     char*     /* res_class */,
3939:     XIDProc     /* callback */,
3940:     XPointer      /* client_data */
3941: );
3942: 
3943: extern Bool XUnregisterIMInstantiateCallback(
3944:     Display*      /* dpy */,
3945:     struct _XrmHashBucketRec* /* rdb */,
3946:     char*     /* res_name */,
3947:     char*     /* res_class */,
3948:     XIDProc     /* callback */,
3949:     XPointer      /* client_data */
3950: );
3951: 
3952: typedef void (*XConnectionWatchProc)(
3953:     Display*      /* dpy */,
3954:     XPointer      /* client_data */,
3955:     int       /* fd */,
3956:     Bool      /* opening */,   /* open or close flag */
3957:     XPointer*     /* watch_data */ /* open sets, close uses */
3958: );
3959:     
3960: 
3961: extern Status XInternalConnectionNumbers(
3962:     Display*      /* dpy */,
3963:     int**     /* fd_return */,
3964:     int*      /* count_return */
3965: );
3966: 
3967: extern void XProcessInternalConnection(
3968:     Display*      /* dpy */,
3969:     int       /* fd */
3970: );
3971: 
3972: extern Status XAddConnectionWatch(
3973:     Display*      /* dpy */,
3974:     XConnectionWatchProc  /* callback */,
3975:     XPointer      /* client_data */
3976: );
3977: 
3978: extern void XRemoveConnectionWatch(
3979:     Display*      /* dpy */,
3980:     XConnectionWatchProc  /* callback */,
3981:     XPointer      /* client_data */
3982: );
3983: 
3984: extern void XSetAuthorization(
3985:     char *      /* name */,
3986:     int       /* namelen */, 
3987:     char *      /* data */,
3988:     int       /* datalen */
3989: );
3990: 
3991: extern int _Xmbtowc(
3992:     wchar_t *     /* wstr */,
3993: #ifdef ISC
3994:     char const *    /* str */,
3995:     size_t      /* len */
3996: #else
3997:     char *      /* str */,
3998:     int       /* len */
3999: #endif
4000: );
4001: 
4002: extern int _Xwctomb(
4003:     char *      /* str */,
4004:     wchar_t     /* wc */
4005: );
4006: 
4007: _XFUNCPROTOEND
4008: 
4009: #endif /* _XLIB_H_ */
4010: 








































Html form generated by Xrefactory version 1.6.7 on Fri Sep 03 17:18:59 2004