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