1 /*
2                                     __
3                                    / _|
4   __ _ _   _ _ __ ___  _ __ __ _  | |_ ___  ___ ___
5  / _` | | | | '__/ _ \| '__/ _` | |  _/ _ \/ __/ __|
6 | (_| | |_| | | | (_) | | | (_| | | || (_) \__ \__ \
7  \__,_|\__,_|_|  \___/|_|  \__,_| |_| \___/|___/___/
8 
9 Copyright (C) 2018-2019 Aurora Free Open Source Software.
10 
11 This file is part of the Aurora Free Open Source Software. This
12 organization promote free and open source software that you can
13 redistribute and/or modify under the terms of the GNU Lesser General
14 Public License Version 3 as published by the Free Software Foundation or
15 (at your option) any later version approved by the Aurora Free Open Source
16 Software Organization. The license is available in the package root path
17 as 'LICENSE' file. Please review the following information to ensure the
18 GNU Lesser General Public License version 3 requirements will be met:
19 https://www.gnu.org/licenses/lgpl.html .
20 
21 Alternatively, this file may be used under the terms of the GNU General
22 Public License version 3 or later as published by the Free Software
23 Foundation. Please review the following information to ensure the GNU
24 General Public License requirements will be met:
25 http://www.gnu.org/licenses/gpl-3.0.html.
26 
27 NOTE: All products, services or anything associated to trademarks and
28 service marks used or referenced on this file are the property of their
29 respective companies/owners or its subsidiaries. Other names and brands
30 may be claimed as the property of others.
31 
32 For more info about intellectual property visit: aurorafoss.org or
33 directly send an email to: contact (at) aurorafoss.org .
34 */
35 
36 module riverd.x11.statfun;
37 
38 import riverd.x11.types;
39 import core.stdc.config;
40 import core.stdc.stddef;
41 
42 extern(C) @nogc nothrow {
43 	XFontStruct *XLoadQueryFont(
44 		Display*		/* display */,
45 		const(char)*	/* name */
46 	);
47 
48 	XFontStruct *XQueryFont(
49 		Display*		/* display */,
50 		XID			/* font_ID */
51 	);
52 
53 	XTimeCoord *XGetMotionEvents(
54 		Display*		/* display */,
55 		Window		/* w */,
56 		Time		/* start */,
57 		Time		/* stop */,
58 		int*		/* nevents_return */
59 	);
60 
61 	version(XlibWidePrototypes) {
62 		XModifierKeymap *XDeleteModifiermapEntry(
63 			XModifierKeymap*	/* modmap */,
64 			uint	/* keycode_entry */,
65 			int			/* modifier */
66 		);
67 	}
68 	else {
69 		XModifierKeymap *XDeleteModifiermapEntry(
70 			XModifierKeymap*	/* modmap */,
71 			KeyCode		/* keycode_entry */,
72 			int			/* modifier */
73 		);
74 	}
75 
76 	XModifierKeymap	*XGetModifierMapping(
77 		Display*		/* display */
78 	);
79 
80 	version(XlibWidePrototypes) {
81 		XModifierKeymap *XInsertModifiermapEntry(
82 			XModifierKeymap*	/* modmap */,
83 			uint	/* keycode_entry */,
84 			int			/* modifier */
85 		);
86 	}
87 	else {
88 		XModifierKeymap *XInsertModifiermapEntry(
89 			XModifierKeymap*	/* modmap */,
90 			KeyCode		/* keycode_entry */,
91 			int			/* modifier */
92 		);
93 	}
94 
95 	XModifierKeymap *XNewModifiermap(
96 		int			/* max_keys_per_mod */
97 	);
98 
99 	XImage *XCreateImage(
100 		Display*		/* display */,
101 		Visual*		/* visual */,
102 		uint	/* depth */,
103 		int			/* format */,
104 		int			/* offset */,
105 		char*		/* data */,
106 		uint	/* width */,
107 		uint	/* height */,
108 		int			/* bitmap_pad */,
109 		int			/* bytes_per_line */
110 	);
111 	Status XInitImage(
112 		XImage*		/* image */
113 	);
114 	XImage *XGetImage(
115 		Display*		/* display */,
116 		Drawable		/* d */,
117 		int			/* x */,
118 		int			/* y */,
119 		uint	/* width */,
120 		uint	/* height */,
121 		c_ulong	/* plane_mask */,
122 		int			/* format */
123 	);
124 	XImage *XGetSubImage(
125 		Display*		/* display */,
126 		Drawable		/* d */,
127 		int			/* x */,
128 		int			/* y */,
129 		uint	/* width */,
130 		uint	/* height */,
131 		c_ulong	/* plane_mask */,
132 		int			/* format */,
133 		XImage*		/* dest_image */,
134 		int			/* dest_x */,
135 		int			/* dest_y */
136 	);
137 
138 	/*
139 	* X function declarations.
140 	*/
141 	Display *XOpenDisplay(
142 		const(char)*	/* display_name */
143 	);
144 
145 	void XrmInitialize();
146 
147 	char *XFetchBytes(
148 		Display*		/* display */,
149 		int*		/* nbytes_return */
150 	);
151 	char *XFetchBuffer(
152 		Display*		/* display */,
153 		int*		/* nbytes_return */,
154 		int			/* buffer */
155 	);
156 	char *XGetAtomName(
157 		Display*		/* display */,
158 		Atom		/* atom */
159 	);
160 	Status XGetAtomNames(
161 		Display*		/* dpy */,
162 		Atom*		/* atoms */,
163 		int			/* count */,
164 		char**		/* names_return */
165 	);
166 	char *XGetDefault(
167 		Display*		/* display */,
168 		const(char)*	/* program */,
169 		const(char)*	/* option */
170 	);
171 	char *XDisplayName(
172 		const(char)*	/* string */
173 	);
174 	char *XKeysymToString(
175 		KeySym		/* keysym */
176 	);
177 
178 	int function (Display*) XSynchronize (
179 		Display*		/* display */,
180 		Bool		/* onoff */
181 	);
182 	int function (Display*) XSetAfterFunction(
183 		Display*		/* display */,
184 		int function(Display*) proc
185 	);
186 	Atom XInternAtom(
187 		Display*		/* display */,
188 		const(char)*	/* atom_name */,
189 		Bool		/* only_if_exists */
190 	);
191 	Status XInternAtoms(
192 		Display*		/* dpy */,
193 		char**		/* names */,
194 		int			/* count */,
195 		Bool		/* onlyIfExists */,
196 		Atom*		/* atoms_return */
197 	);
198 	Colormap XCopyColormapAndFree(
199 		Display*		/* display */,
200 		Colormap		/* colormap */
201 	);
202 	Colormap XCreateColormap(
203 		Display*		/* display */,
204 		Window		/* w */,
205 		Visual*		/* visual */,
206 		int			/* alloc */
207 	);
208 	Cursor XCreatePixmapCursor(
209 		Display*		/* display */,
210 		Pixmap		/* source */,
211 		Pixmap		/* mask */,
212 		XColor*		/* foreground_color */,
213 		XColor*		/* background_color */,
214 		uint	/* x */,
215 		uint	/* y */
216 	);
217 	Cursor XCreateGlyphCursor(
218 		Display*		/* display */,
219 		Font		/* source_font */,
220 		Font		/* mask_font */,
221 		uint	/* source_char */,
222 		uint	/* mask_char */,
223 		const(XColor)*	/* foreground_color */,
224 		const(XColor)*	/* background_color */
225 	);
226 	Cursor XCreateFontCursor(
227 		Display*		/* display */,
228 		uint	/* shape */
229 	);
230 	Font XLoadFont(
231 		Display*		/* display */,
232 		const(char)*	/* name */
233 	);
234 	GC XCreateGC(
235 		Display*		/* display */,
236 		Drawable		/* d */,
237 		c_ulong	/* valuemask */,
238 		XGCValues*		/* values */
239 	);
240 	GContext XGContextFromGC(
241 		GC			/* gc */
242 	);
243 	void XFlushGC(
244 		Display*		/* display */,
245 		GC			/* gc */
246 	);
247 	Pixmap XCreatePixmap(
248 		Display*		/* display */,
249 		Drawable		/* d */,
250 		uint	/* width */,
251 		uint	/* height */,
252 		uint	/* depth */
253 	);
254 	Pixmap XCreateBitmapFromData(
255 		Display*		/* display */,
256 		Drawable		/* d */,
257 		const(char)*	/* data */,
258 		uint	/* width */,
259 		uint	/* height */
260 	);
261 	Pixmap XCreatePixmapFromBitmapData(
262 		Display*		/* display */,
263 		Drawable		/* d */,
264 		char*		/* data */,
265 		uint	/* width */,
266 		uint	/* height */,
267 		c_ulong	/* fg */,
268 		c_ulong	/* bg */,
269 		uint	/* depth */
270 	);
271 	Window XCreateSimpleWindow(
272 		Display*		/* display */,
273 		Window		/* parent */,
274 		int			/* x */,
275 		int			/* y */,
276 		uint	/* width */,
277 		uint	/* height */,
278 		uint	/* border_width */,
279 		c_ulong	/* border */,
280 		c_ulong	/* background */
281 	);
282 	Window XGetSelectionOwner(
283 		Display*		/* display */,
284 		Atom		/* selection */
285 	);
286 	Window XCreateWindow(
287 		Display*		/* display */,
288 		Window		/* parent */,
289 		int			/* x */,
290 		int			/* y */,
291 		uint	/* width */,
292 		uint	/* height */,
293 		uint	/* border_width */,
294 		int			/* depth */,
295 		uint	/* class */,
296 		Visual*		/* visual */,
297 		c_ulong	/* valuemask */,
298 		XSetWindowAttributes*	/* attributes */
299 	);
300 	Colormap *XListInstalledColormaps(
301 		Display*		/* display */,
302 		Window		/* w */,
303 		int*		/* num_return */
304 	);
305 	char **XListFonts(
306 		Display*		/* display */,
307 		const(char)*	/* pattern */,
308 		int			/* maxnames */,
309 		int*		/* actual_count_return */
310 	);
311 	char **XListFontsWithInfo(
312 		Display*		/* display */,
313 		const(char)*	/* pattern */,
314 		int			/* maxnames */,
315 		int*		/* count_return */,
316 		XFontStruct**	/* info_return */
317 	);
318 	char **XGetFontPath(
319 		Display*		/* display */,
320 		int*		/* npaths_return */
321 	);
322 	char **XListExtensions(
323 		Display*		/* display */,
324 		int*		/* nextensions_return */
325 	);
326 	Atom *XListProperties(
327 		Display*		/* display */,
328 		Window		/* w */,
329 		int*		/* num_prop_return */
330 	);
331 	XHostAddress *XListHosts(
332 		Display*		/* display */,
333 		int*		/* nhosts_return */,
334 		Bool*		/* state_return */
335 	);
336 	KeySym XLookupKeysym(
337 		XKeyEvent*		/* key_event */,
338 		int			/* index */
339 	);
340 	version(XlibWidePrototypes) {
341 		KeySym *XGetKeyboardMapping(
342 			Display*		/* display */,
343 			uint	/* keycode_entry */,
344 			int			/* keycode_count */,
345 			int*		/* keysyms_per_keycode_return */
346 		);
347 	}
348 	else {
349 		KeySym *XGetKeyboardMapping(
350 			Display*		/* display */,
351 			KeyCode		/* keycode_entry */,
352 			int			/* keycode_count */,
353 			int*		/* keysyms_per_keycode_return */
354 		);
355 	}
356 	KeySym XStringToKeysym(
357 		const(char)*	/* string */
358 	);
359 	c_long XMaxRequestSize(
360 		Display*		/* display */
361 	);
362 	c_long XExtendedMaxRequestSize(
363 		Display*		/* display */
364 	);
365 	char *XResourceManagerString(
366 		Display*		/* display */
367 	);
368 	char *XScreenResourceString(
369 		Screen*		/* screen */
370 	);
371 	c_ulong XDisplayMotionBufferSize(
372 		Display*		/* display */
373 	);
374 	VisualID XVisualIDFromVisual(
375 		Visual*		/* visual */
376 	);
377 
378 	/* multithread routines */
379 
380 	Status XInitThreads();
381 
382 	void XLockDisplay(
383 		Display*		/* display */
384 	);
385 
386 	void XUnlockDisplay(
387 		Display*		/* display */
388 	);
389 
390 	/* routines for dealing with extensions */
391 
392 	XExtCodes *XInitExtension(
393 		Display*		/* display */,
394 		const(char)*	/* name */
395 	);
396 
397 	XExtCodes *XAddExtension(
398 		Display*		/* display */
399 	);
400 	XExtData *XFindOnExtensionList(
401 		XExtData**		/* structure */,
402 		int			/* number */
403 	);
404 	XExtData **XEHeadOfExtensionList(
405 		XEDataObject	/* object */
406 	);
407 
408 	/* these are routines for which there are also macros */
409 	Window XRootWindow(
410 		Display*		/* display */,
411 		int			/* screen_number */
412 	);
413 	Window XDefaultRootWindow(
414 		Display*		/* display */
415 	);
416 	Window XRootWindowOfScreen(
417 		Screen*		/* screen */
418 	);
419 	Visual *XDefaultVisual(
420 		Display*		/* display */,
421 		int			/* screen_number */
422 	);
423 	Visual *XDefaultVisualOfScreen(
424 		Screen*		/* screen */
425 	);
426 	GC XDefaultGC(
427 		Display*		/* display */,
428 		int			/* screen_number */
429 	);
430 	GC XDefaultGCOfScreen(
431 		Screen*		/* screen */
432 	);
433 	c_ulong XBlackPixel(
434 		Display*		/* display */,
435 		int			/* screen_number */
436 	);
437 	c_ulong XWhitePixel(
438 		Display*		/* display */,
439 		int			/* screen_number */
440 	);
441 	c_ulong XAllPlanes();
442 	c_ulong XBlackPixelOfScreen(
443 		Screen*		/* screen */
444 	);
445 	c_ulong XWhitePixelOfScreen(
446 		Screen*		/* screen */
447 	);
448 	c_ulong XNextRequest(
449 		Display*		/* display */
450 	);
451 	c_ulong XLastKnownRequestProcessed(
452 		Display*		/* display */
453 	);
454 	char *XServerVendor(
455 		Display*		/* display */
456 	);
457 	char *XDisplayString(
458 		Display*		/* display */
459 	);
460 	Colormap XDefaultColormap(
461 		Display*		/* display */,
462 		int			/* screen_number */
463 	);
464 	Colormap XDefaultColormapOfScreen(
465 		Screen*		/* screen */
466 	);
467 	Display *XDisplayOfScreen(
468 		Screen*		/* screen */
469 	);
470 	Screen *XScreenOfDisplay(
471 		Display*		/* display */,
472 		int			/* screen_number */
473 	);
474 	Screen *XDefaultScreenOfDisplay(
475 		Display*		/* display */
476 	);
477 	c_long XEventMaskOfScreen(
478 		Screen*		/* screen */
479 	);
480 
481 	int XScreenNumberOfScreen(
482 		Screen*		/* screen */
483 	);
484 
485 	XErrorHandler XSetErrorHandler (
486 		XErrorHandler	/* handler */
487 	);
488 
489 	XIOErrorHandler XSetIOErrorHandler (
490 		XIOErrorHandler	/* handler */
491 	);
492 
493 
494 	XPixmapFormatValues *XListPixmapFormats(
495 		Display*		/* display */,
496 		int*		/* count_return */
497 	);
498 	int *XListDepths(
499 		Display*		/* display */,
500 		int			/* screen_number */,
501 		int*		/* count_return */
502 	);
503 
504 	/* ICCCM routines for things that don't require special include files; */
505 	/* other declarations are given in Xutil.h                             */
506 	Status XReconfigureWMWindow(
507 		Display*		/* display */,
508 		Window		/* w */,
509 		int			/* screen_number */,
510 		uint	/* mask */,
511 		XWindowChanges*	/* changes */
512 	);
513 
514 	Status XGetWMProtocols(
515 		Display*		/* display */,
516 		Window		/* w */,
517 		Atom**		/* protocols_return */,
518 		int*		/* count_return */
519 	);
520 	Status XSetWMProtocols(
521 		Display*		/* display */,
522 		Window		/* w */,
523 		Atom*		/* protocols */,
524 		int			/* count */
525 	);
526 	Status XIconifyWindow(
527 		Display*		/* display */,
528 		Window		/* w */,
529 		int			/* screen_number */
530 	);
531 	Status XWithdrawWindow(
532 		Display*		/* display */,
533 		Window		/* w */,
534 		int			/* screen_number */
535 	);
536 	Status XGetCommand(
537 		Display*		/* display */,
538 		Window		/* w */,
539 		char***		/* argv_return */,
540 		int*		/* argc_return */
541 	);
542 	Status XGetWMColormapWindows(
543 		Display*		/* display */,
544 		Window		/* w */,
545 		Window**		/* windows_return */,
546 		int*		/* count_return */
547 	);
548 	Status XSetWMColormapWindows(
549 		Display*		/* display */,
550 		Window		/* w */,
551 		Window*		/* colormap_windows */,
552 		int			/* count */
553 	);
554 	void XFreeStringList(
555 		char**		/* list */
556 	);
557 	int XSetTransientForHint(
558 		Display*		/* display */,
559 		Window		/* w */,
560 		Window		/* prop_window */
561 	);
562 
563 	/* The following are given in alphabetical order */
564 
565 	int XActivateScreenSaver(
566 		Display*		/* display */
567 	);
568 
569 	int XAddHost(
570 		Display*		/* display */,
571 		XHostAddress*	/* host */
572 	);
573 
574 	int XAddHosts(
575 		Display*		/* display */,
576 		XHostAddress*	/* hosts */,
577 		int			/* num_hosts */
578 	);
579 
580 	int XAddToExtensionList(
581 		XExtData**	/* structure */,
582 		XExtData*		/* ext_data */
583 	);
584 
585 	int XAddToSaveSet(
586 		Display*		/* display */,
587 		Window		/* w */
588 	);
589 
590 	Status XAllocColor(
591 		Display*		/* display */,
592 		Colormap		/* colormap */,
593 		XColor*		/* screen_in_out */
594 	);
595 
596 	Status XAllocColorCells(
597 		Display*		/* display */,
598 		Colormap		/* colormap */,
599 		Bool	        /* contig */,
600 		c_ulong*	/* plane_masks_return */,
601 		uint	/* nplanes */,
602 		c_ulong*	/* pixels_return */,
603 		uint 	/* npixels */
604 	);
605 
606 	Status XAllocColorPlanes(
607 		Display*		/* display */,
608 		Colormap		/* colormap */,
609 		Bool		/* contig */,
610 		c_ulong*	/* pixels_return */,
611 		int			/* ncolors */,
612 		int			/* nreds */,
613 		int			/* ngreens */,
614 		int			/* nblues */,
615 		c_ulong*	/* rmask_return */,
616 		c_ulong*	/* gmask_return */,
617 		c_ulong*	/* bmask_return */
618 	);
619 
620 	Status XAllocNamedColor(
621 		Display*		/* display */,
622 		Colormap		/* colormap */,
623 		const(char)*	/* color_name */,
624 		XColor*		/* screen_def_return */,
625 		XColor*		/* exact_def_return */
626 	);
627 
628 	int XAllowEvents(
629 		Display*		/* display */,
630 		int			/* event_mode */,
631 		Time		/* time */
632 	);
633 
634 	int XAutoRepeatOff(
635 		Display*		/* display */
636 	);
637 
638 	int XAutoRepeatOn(
639 		Display*		/* display */
640 	);
641 
642 	int XBell(
643 		Display*		/* display */,
644 		int			/* percent */
645 	);
646 
647 	int XBitmapBitOrder(
648 		Display*		/* display */
649 	);
650 
651 	int XBitmapPad(
652 		Display*		/* display */
653 	);
654 
655 	int XBitmapUnit(
656 		Display*		/* display */
657 	);
658 
659 	int XCellsOfScreen(
660 		Screen*		/* screen */
661 	);
662 
663 	int XChangeActivePointerGrab(
664 		Display*		/* display */,
665 		uint	/* event_mask */,
666 		Cursor		/* cursor */,
667 		Time		/* time */
668 	);
669 
670 	int XChangeGC(
671 		Display*		/* display */,
672 		GC			/* gc */,
673 		c_ulong	/* valuemask */,
674 		XGCValues*		/* values */
675 	);
676 
677 	int XChangeKeyboardControl(
678 		Display*		/* display */,
679 		c_ulong	/* value_mask */,
680 		XKeyboardControl*	/* values */
681 	);
682 
683 	int XChangeKeyboardMapping(
684 		Display*		/* display */,
685 		int			/* first_keycode */,
686 		int			/* keysyms_per_keycode */,
687 		KeySym*		/* keysyms */,
688 		int			/* num_codes */
689 	);
690 
691 	int XChangePointerControl(
692 		Display*		/* display */,
693 		Bool		/* do_accel */,
694 		Bool		/* do_threshold */,
695 		int			/* accel_numerator */,
696 		int			/* accel_denominator */,
697 		int			/* threshold */
698 	);
699 
700 	int XChangeProperty(
701 		Display*		/* display */,
702 		Window		/* w */,
703 		Atom		/* property */,
704 		Atom		/* type */,
705 		int			/* format */,
706 		int			/* mode */,
707 		const(ubyte)*	/* data */,
708 		int			/* nelements */
709 	);
710 
711 	int XChangeSaveSet(
712 		Display*		/* display */,
713 		Window		/* w */,
714 		int			/* change_mode */
715 	);
716 
717 	int XChangeWindowAttributes(
718 		Display*		/* display */,
719 		Window		/* w */,
720 		c_ulong	/* valuemask */,
721 		XSetWindowAttributes* /* attributes */
722 	);
723 
724 	Bool XCheckIfEvent(
725 		Display*		/* display */,
726 		XEvent*		/* event_return */,
727 		Bool function (Display*, XEvent*, XPointer) /* predicate */,
728 		XPointer		/* arg */
729 	);
730 
731 	Bool XCheckMaskEvent(
732 		Display*		/* display */,
733 		c_long		/* event_mask */,
734 		XEvent*		/* event_return */
735 	);
736 
737 	Bool XCheckTypedEvent(
738 		Display*		/* display */,
739 		int			/* event_type */,
740 		XEvent*		/* event_return */
741 	);
742 
743 	Bool XCheckTypedWindowEvent(
744 		Display*		/* display */,
745 		Window		/* w */,
746 		int			/* event_type */,
747 		XEvent*		/* event_return */
748 	);
749 
750 	Bool XCheckWindowEvent(
751 		Display*		/* display */,
752 		Window		/* w */,
753 		c_long		/* event_mask */,
754 		XEvent*		/* event_return */
755 	);
756 
757 	int XCirculateSubwindows(
758 		Display*		/* display */,
759 		Window		/* w */,
760 		int			/* direction */
761 	);
762 
763 	int XCirculateSubwindowsDown(
764 		Display*		/* display */,
765 		Window		/* w */
766 	);
767 
768 	int XCirculateSubwindowsUp(
769 		Display*		/* display */,
770 		Window		/* w */
771 	);
772 
773 	int XClearArea(
774 		Display*		/* display */,
775 		Window		/* w */,
776 		int			/* x */,
777 		int			/* y */,
778 		uint	/* width */,
779 		uint	/* height */,
780 		Bool		/* exposures */
781 	);
782 
783 	int XClearWindow(
784 		Display*		/* display */,
785 		Window		/* w */
786 	);
787 
788 	int XCloseDisplay(
789 		Display*		/* display */
790 	);
791 
792 	int XConfigureWindow(
793 		Display*		/* display */,
794 		Window		/* w */,
795 		uint	/* value_mask */,
796 		XWindowChanges*	/* values */
797 	);
798 
799 	int XConnectionNumber(
800 		Display*		/* display */
801 	);
802 
803 	int XConvertSelection(
804 		Display*		/* display */,
805 		Atom		/* selection */,
806 		Atom 		/* target */,
807 		Atom		/* property */,
808 		Window		/* requestor */,
809 		Time		/* time */
810 	);
811 
812 	int XCopyArea(
813 		Display*		/* display */,
814 		Drawable		/* src */,
815 		Drawable		/* dest */,
816 		GC			/* gc */,
817 		int			/* src_x */,
818 		int			/* src_y */,
819 		uint	/* width */,
820 		uint	/* height */,
821 		int			/* dest_x */,
822 		int			/* dest_y */
823 	);
824 
825 	int XCopyGC(
826 		Display*		/* display */,
827 		GC			/* src */,
828 		c_ulong	/* valuemask */,
829 		GC			/* dest */
830 	);
831 
832 	int XCopyPlane(
833 		Display*		/* display */,
834 		Drawable		/* src */,
835 		Drawable		/* dest */,
836 		GC			/* gc */,
837 		int			/* src_x */,
838 		int			/* src_y */,
839 		uint	/* width */,
840 		uint	/* height */,
841 		int			/* dest_x */,
842 		int			/* dest_y */,
843 		c_ulong	/* plane */
844 	);
845 
846 	int XDefaultDepth(
847 		Display*		/* display */,
848 		int			/* screen_number */
849 	);
850 
851 	int XDefaultDepthOfScreen(
852 		Screen*		/* screen */
853 	);
854 
855 	int XDefaultScreen(
856 		Display*		/* display */
857 	);
858 
859 	int XDefineCursor(
860 		Display*		/* display */,
861 		Window		/* w */,
862 		Cursor		/* cursor */
863 	);
864 
865 	int XDeleteProperty(
866 		Display*		/* display */,
867 		Window		/* w */,
868 		Atom		/* property */
869 	);
870 
871 	int XDestroyWindow(
872 		Display*		/* display */,
873 		Window		/* w */
874 	);
875 
876 	int XDestroySubwindows(
877 		Display*		/* display */,
878 		Window		/* w */
879 	);
880 
881 	int XDoesBackingStore(
882 		Screen*		/* screen */
883 	);
884 
885 	Bool XDoesSaveUnders(
886 		Screen*		/* screen */
887 	);
888 
889 	int XDisableAccessControl(
890 		Display*		/* display */
891 	);
892 
893 
894 	int XDisplayCells(
895 		Display*		/* display */,
896 		int			/* screen_number */
897 	);
898 
899 	int XDisplayHeight(
900 		Display*		/* display */,
901 		int			/* screen_number */
902 	);
903 
904 	int XDisplayHeightMM(
905 		Display*		/* display */,
906 		int			/* screen_number */
907 	);
908 
909 	int XDisplayKeycodes(
910 		Display*		/* display */,
911 		int*		/* min_keycodes_return */,
912 		int*		/* max_keycodes_return */
913 	);
914 
915 	int XDisplayPlanes(
916 		Display*		/* display */,
917 		int			/* screen_number */
918 	);
919 
920 	int XDisplayWidth(
921 		Display*		/* display */,
922 		int			/* screen_number */
923 	);
924 
925 	int XDisplayWidthMM(
926 		Display*		/* display */,
927 		int			/* screen_number */
928 	);
929 
930 	int XDrawArc(
931 		Display*		/* display */,
932 		Drawable		/* d */,
933 		GC			/* gc */,
934 		int			/* x */,
935 		int			/* y */,
936 		uint	/* width */,
937 		uint	/* height */,
938 		int			/* angle1 */,
939 		int			/* angle2 */
940 	);
941 
942 	int XDrawArcs(
943 		Display*		/* display */,
944 		Drawable		/* d */,
945 		GC			/* gc */,
946 		XArc*		/* arcs */,
947 		int			/* narcs */
948 	);
949 
950 	int XDrawImageString(
951 		Display*		/* display */,
952 		Drawable		/* d */,
953 		GC			/* gc */,
954 		int			/* x */,
955 		int			/* y */,
956 		const(char)*	/* string */,
957 		int			/* length */
958 	);
959 
960 	int XDrawImageString16(
961 		Display*		/* display */,
962 		Drawable		/* d */,
963 		GC			/* gc */,
964 		int			/* x */,
965 		int			/* y */,
966 		const XChar2b*	/* string */,
967 		int			/* length */
968 	);
969 
970 	int XDrawLine(
971 		Display*		/* display */,
972 		Drawable		/* d */,
973 		GC			/* gc */,
974 		int			/* x1 */,
975 		int			/* y1 */,
976 		int			/* x2 */,
977 		int			/* y2 */
978 	);
979 
980 	int XDrawLines(
981 		Display*		/* display */,
982 		Drawable		/* d */,
983 		GC			/* gc */,
984 		XPoint*		/* points */,
985 		int			/* npoints */,
986 		int			/* mode */
987 	);
988 
989 	int XDrawPoint(
990 		Display*		/* display */,
991 		Drawable		/* d */,
992 		GC			/* gc */,
993 		int			/* x */,
994 		int			/* y */
995 	);
996 
997 	int XDrawPoints(
998 		Display*		/* display */,
999 		Drawable		/* d */,
1000 		GC			/* gc */,
1001 		XPoint*		/* points */,
1002 		int			/* npoints */,
1003 		int			/* mode */
1004 	);
1005 
1006 	int XDrawRectangle(
1007 		Display*		/* display */,
1008 		Drawable		/* d */,
1009 		GC			/* gc */,
1010 		int			/* x */,
1011 		int			/* y */,
1012 		uint	/* width */,
1013 		uint	/* height */
1014 	);
1015 
1016 	int XDrawRectangles(
1017 		Display*		/* display */,
1018 		Drawable		/* d */,
1019 		GC			/* gc */,
1020 		XRectangle*		/* rectangles */,
1021 		int			/* nrectangles */
1022 	);
1023 
1024 	int XDrawSegments(
1025 		Display*		/* display */,
1026 		Drawable		/* d */,
1027 		GC			/* gc */,
1028 		XSegment*		/* segments */,
1029 		int			/* nsegments */
1030 	);
1031 
1032 	int XDrawString(
1033 		Display*		/* display */,
1034 		Drawable		/* d */,
1035 		GC			/* gc */,
1036 		int			/* x */,
1037 		int			/* y */,
1038 		const(char)*	/* string */,
1039 		int			/* length */
1040 	);
1041 
1042 	int XDrawString16(
1043 		Display*		/* display */,
1044 		Drawable		/* d */,
1045 		GC			/* gc */,
1046 		int			/* x */,
1047 		int			/* y */,
1048 		const XChar2b*	/* string */,
1049 		int			/* length */
1050 	);
1051 
1052 	int XDrawText(
1053 		Display*		/* display */,
1054 		Drawable		/* d */,
1055 		GC			/* gc */,
1056 		int			/* x */,
1057 		int			/* y */,
1058 		XTextItem*		/* items */,
1059 		int			/* nitems */
1060 	);
1061 
1062 	int XDrawText16(
1063 		Display*		/* display */,
1064 		Drawable		/* d */,
1065 		GC			/* gc */,
1066 		int			/* x */,
1067 		int			/* y */,
1068 		XTextItem16*	/* items */,
1069 		int			/* nitems */
1070 	);
1071 
1072 	int XEnableAccessControl(
1073 		Display*		/* display */
1074 	);
1075 
1076 	int XEventsQueued(
1077 		Display*		/* display */,
1078 		int			/* mode */
1079 	);
1080 
1081 	Status XFetchName(
1082 		Display*		/* display */,
1083 		Window		/* w */,
1084 		char**		/* window_name_return */
1085 	);
1086 
1087 	int XFillArc(
1088 		Display*		/* display */,
1089 		Drawable		/* d */,
1090 		GC			/* gc */,
1091 		int			/* x */,
1092 		int			/* y */,
1093 		uint	/* width */,
1094 		uint	/* height */,
1095 		int			/* angle1 */,
1096 		int			/* angle2 */
1097 	);
1098 
1099 	int XFillArcs(
1100 		Display*		/* display */,
1101 		Drawable		/* d */,
1102 		GC			/* gc */,
1103 		XArc*		/* arcs */,
1104 		int			/* narcs */
1105 	);
1106 
1107 	int XFillPolygon(
1108 		Display*		/* display */,
1109 		Drawable		/* d */,
1110 		GC			/* gc */,
1111 		XPoint*		/* points */,
1112 		int			/* npoints */,
1113 		int			/* shape */,
1114 		int			/* mode */
1115 	);
1116 
1117 	int XFillRectangle(
1118 		Display*		/* display */,
1119 		Drawable		/* d */,
1120 		GC			/* gc */,
1121 		int			/* x */,
1122 		int			/* y */,
1123 		uint	/* width */,
1124 		uint	/* height */
1125 	);
1126 
1127 	int XFillRectangles(
1128 		Display*		/* display */,
1129 		Drawable		/* d */,
1130 		GC			/* gc */,
1131 		XRectangle*		/* rectangles */,
1132 		int			/* nrectangles */
1133 	);
1134 
1135 	int XFlush(
1136 		Display*		/* display */
1137 	);
1138 
1139 	int XForceScreenSaver(
1140 		Display*		/* display */,
1141 		int			/* mode */
1142 	);
1143 
1144 	int XFree(
1145 		void*		/* data */
1146 	);
1147 
1148 	int XFreeColormap(
1149 		Display*		/* display */,
1150 		Colormap		/* colormap */
1151 	);
1152 
1153 	int XFreeColors(
1154 		Display*		/* display */,
1155 		Colormap		/* colormap */,
1156 		c_ulong*	/* pixels */,
1157 		int			/* npixels */,
1158 		c_ulong	/* planes */
1159 	);
1160 
1161 	int XFreeCursor(
1162 		Display*		/* display */,
1163 		Cursor		/* cursor */
1164 	);
1165 
1166 	int XFreeExtensionList(
1167 		char**		/* list */
1168 	);
1169 
1170 	int XFreeFont(
1171 		Display*		/* display */,
1172 		XFontStruct*	/* font_struct */
1173 	);
1174 
1175 	int XFreeFontInfo(
1176 		char**		/* names */,
1177 		XFontStruct*	/* free_info */,
1178 		int			/* actual_count */
1179 	);
1180 
1181 	int XFreeFontNames(
1182 		char**		/* list */
1183 	);
1184 
1185 	int XFreeFontPath(
1186 		char**		/* list */
1187 	);
1188 
1189 	int XFreeGC(
1190 		Display*		/* display */,
1191 		GC			/* gc */
1192 	);
1193 
1194 	int XFreeModifiermap(
1195 		XModifierKeymap*	/* modmap */
1196 	);
1197 
1198 	int XFreePixmap(
1199 		Display*		/* display */,
1200 		Pixmap		/* pixmap */
1201 	);
1202 
1203 	int XGeometry(
1204 		Display*		/* display */,
1205 		int			/* screen */,
1206 		const(char)*	/* position */,
1207 		const(char)*	/* default_position */,
1208 		uint	/* bwidth */,
1209 		uint	/* fwidth */,
1210 		uint	/* fheight */,
1211 		int			/* xadder */,
1212 		int			/* yadder */,
1213 		int*		/* x_return */,
1214 		int*		/* y_return */,
1215 		int*		/* width_return */,
1216 		int*		/* height_return */
1217 	);
1218 
1219 	int XGetErrorDatabaseText(
1220 		Display*		/* display */,
1221 		const(char)*	/* name */,
1222 		const(char)*	/* message */,
1223 		const(char)*	/* default_string */,
1224 		char*		/* buffer_return */,
1225 		int			/* length */
1226 	);
1227 
1228 	int XGetErrorText(
1229 		Display*		/* display */,
1230 		int			/* code */,
1231 		char*		/* buffer_return */,
1232 		int			/* length */
1233 	);
1234 
1235 	Bool XGetFontProperty(
1236 		XFontStruct*	/* font_struct */,
1237 		Atom		/* atom */,
1238 		c_ulong*	/* value_return */
1239 	);
1240 
1241 	Status XGetGCValues(
1242 		Display*		/* display */,
1243 		GC			/* gc */,
1244 		c_ulong	/* valuemask */,
1245 		XGCValues*		/* values_return */
1246 	);
1247 
1248 	Status XGetGeometry(
1249 		Display*		/* display */,
1250 		Drawable		/* d */,
1251 		Window*		/* root_return */,
1252 		int*		/* x_return */,
1253 		int*		/* y_return */,
1254 		uint*	/* width_return */,
1255 		uint*	/* height_return */,
1256 		uint*	/* border_width_return */,
1257 		uint*	/* depth_return */
1258 	);
1259 
1260 	Status XGetIconName(
1261 		Display*		/* display */,
1262 		Window		/* w */,
1263 		char**		/* icon_name_return */
1264 	);
1265 
1266 	int XGetInputFocus(
1267 		Display*		/* display */,
1268 		Window*		/* focus_return */,
1269 		int*		/* revert_to_return */
1270 	);
1271 
1272 	int XGetKeyboardControl(
1273 		Display*		/* display */,
1274 		XKeyboardState*	/* values_return */
1275 	);
1276 
1277 	int XGetPointerControl(
1278 		Display*		/* display */,
1279 		int*		/* accel_numerator_return */,
1280 		int*		/* accel_denominator_return */,
1281 		int*		/* threshold_return */
1282 	);
1283 
1284 	int XGetPointerMapping(
1285 		Display*		/* display */,
1286 		ubyte*	/* map_return */,
1287 		int			/* nmap */
1288 	);
1289 
1290 	int XGetScreenSaver(
1291 		Display*		/* display */,
1292 		int*		/* timeout_return */,
1293 		int*		/* interval_return */,
1294 		int*		/* prefer_blanking_return */,
1295 		int*		/* allow_exposures_return */
1296 	);
1297 
1298 	Status XGetTransientForHint(
1299 		Display*		/* display */,
1300 		Window		/* w */,
1301 		Window*		/* prop_window_return */
1302 	);
1303 
1304 	int XGetWindowProperty(
1305 		Display*		/* display */,
1306 		Window		/* w */,
1307 		Atom		/* property */,
1308 		c_long		/* c_long_offset */,
1309 		c_long		/* c_long_length */,
1310 		Bool		/* delete */,
1311 		Atom		/* req_type */,
1312 		Atom*		/* actual_type_return */,
1313 		int*		/* actual_format_return */,
1314 		c_ulong*	/* nitems_return */,
1315 		c_ulong*	/* bytes_after_return */,
1316 		ubyte**	/* prop_return */
1317 	);
1318 
1319 	Status XGetWindowAttributes(
1320 		Display*		/* display */,
1321 		Window		/* w */,
1322 		XWindowAttributes*	/* window_attributes_return */
1323 	);
1324 
1325 	int XGrabButton(
1326 		Display*		/* display */,
1327 		uint	/* button */,
1328 		uint	/* modifiers */,
1329 		Window		/* grab_window */,
1330 		Bool		/* owner_events */,
1331 		uint	/* event_mask */,
1332 		int			/* pointer_mode */,
1333 		int			/* keyboard_mode */,
1334 		Window		/* confine_to */,
1335 		Cursor		/* cursor */
1336 	);
1337 
1338 	int XGrabKey(
1339 		Display*		/* display */,
1340 		int			/* keycode */,
1341 		uint	/* modifiers */,
1342 		Window		/* grab_window */,
1343 		Bool		/* owner_events */,
1344 		int			/* pointer_mode */,
1345 		int			/* keyboard_mode */
1346 	);
1347 
1348 	int XGrabKeyboard(
1349 		Display*		/* display */,
1350 		Window		/* grab_window */,
1351 		Bool		/* owner_events */,
1352 		int			/* pointer_mode */,
1353 		int			/* keyboard_mode */,
1354 		Time		/* time */
1355 	);
1356 
1357 	int XGrabPointer(
1358 		Display*		/* display */,
1359 		Window		/* grab_window */,
1360 		Bool		/* owner_events */,
1361 		uint	/* event_mask */,
1362 		int			/* pointer_mode */,
1363 		int			/* keyboard_mode */,
1364 		Window		/* confine_to */,
1365 		Cursor		/* cursor */,
1366 		Time		/* time */
1367 	);
1368 
1369 	int XGrabServer(
1370 		Display*		/* display */
1371 	);
1372 
1373 	int XHeightMMOfScreen(
1374 		Screen*		/* screen */
1375 	);
1376 
1377 	int XHeightOfScreen(
1378 		Screen*		/* screen */
1379 	);
1380 
1381 	int XIfEvent(
1382 		Display*		/* display */,
1383 		XEvent*		/* event_return */,
1384 		Bool function (
1385 			Display*			/* display */,
1386 				XEvent*			/* event */,
1387 				XPointer			/* arg */
1388 				)		/* predicate */,
1389 		XPointer		/* arg */
1390 	);
1391 
1392 	int XImageByteOrder(
1393 		Display*		/* display */
1394 	);
1395 
1396 	int XInstallColormap(
1397 		Display*		/* display */,
1398 		Colormap		/* colormap */
1399 	);
1400 
1401 	KeyCode XKeysymToKeycode(
1402 		Display*		/* display */,
1403 		KeySym		/* keysym */
1404 	);
1405 
1406 	int XKillClient(
1407 		Display*		/* display */,
1408 		XID			/* resource */
1409 	);
1410 
1411 	Status XLookupColor(
1412 		Display*		/* display */,
1413 		Colormap		/* colormap */,
1414 		const(char)*	/* color_name */,
1415 		XColor*		/* exact_def_return */,
1416 		XColor*		/* screen_def_return */
1417 	);
1418 
1419 	int XLowerWindow(
1420 		Display*		/* display */,
1421 		Window		/* w */
1422 	);
1423 
1424 	int XMapRaised(
1425 		Display*		/* display */,
1426 		Window		/* w */
1427 	);
1428 
1429 	int XMapSubwindows(
1430 		Display*		/* display */,
1431 		Window		/* w */
1432 	);
1433 
1434 	int XMapWindow(
1435 		Display*		/* display */,
1436 		Window		/* w */
1437 	);
1438 
1439 	int XMaskEvent(
1440 		Display*		/* display */,
1441 		c_long		/* event_mask */,
1442 		XEvent*		/* event_return */
1443 	);
1444 
1445 	int XMaxCmapsOfScreen(
1446 		Screen*		/* screen */
1447 	);
1448 
1449 	int XMinCmapsOfScreen(
1450 		Screen*		/* screen */
1451 	);
1452 
1453 	int XMoveResizeWindow(
1454 		Display*		/* display */,
1455 		Window		/* w */,
1456 		int			/* x */,
1457 		int			/* y */,
1458 		uint	/* width */,
1459 		uint	/* height */
1460 	);
1461 
1462 	int XMoveWindow(
1463 		Display*		/* display */,
1464 		Window		/* w */,
1465 		int			/* x */,
1466 		int			/* y */
1467 	);
1468 
1469 	int XNextEvent(
1470 		Display*		/* display */,
1471 		XEvent*		/* event_return */
1472 	);
1473 
1474 	int XNoOp(
1475 		Display*		/* display */
1476 	);
1477 
1478 	Status XParseColor(
1479 		Display*		/* display */,
1480 		Colormap		/* colormap */,
1481 		const(char)*	/* spec */,
1482 		XColor*		/* exact_def_return */
1483 	);
1484 
1485 	int XParseGeometry(
1486 		const(char)*	/* parsestring */,
1487 		int*		/* x_return */,
1488 		int*		/* y_return */,
1489 		uint*	/* width_return */,
1490 		uint*	/* height_return */
1491 	);
1492 
1493 	int XPeekEvent(
1494 		Display*		/* display */,
1495 		XEvent*		/* event_return */
1496 	);
1497 
1498 	int XPeekIfEvent(
1499 		Display*		/* display */,
1500 		XEvent*		/* event_return */,
1501 		Bool function (
1502 			Display*		/* display */,
1503 				XEvent*		/* event */,
1504 				XPointer		/* arg */
1505 				)		/* predicate */,
1506 		XPointer		/* arg */
1507 	);
1508 
1509 	int XPending(
1510 		Display*		/* display */
1511 	);
1512 
1513 	int XPlanesOfScreen(
1514 		Screen*		/* screen */
1515 	);
1516 
1517 	int XProtocolRevision(
1518 		Display*		/* display */
1519 	);
1520 
1521 	int XProtocolVersion(
1522 		Display*		/* display */
1523 	);
1524 
1525 
1526 	int XPutBackEvent(
1527 		Display*		/* display */,
1528 		XEvent*		/* event */
1529 	);
1530 
1531 	int XPutImage(
1532 		Display*		/* display */,
1533 		Drawable		/* d */,
1534 		GC			/* gc */,
1535 		XImage*		/* image */,
1536 		int			/* src_x */,
1537 		int			/* src_y */,
1538 		int			/* dest_x */,
1539 		int			/* dest_y */,
1540 		uint	/* width */,
1541 		uint	/* height */
1542 	);
1543 
1544 	int XQLength(
1545 		Display*		/* display */
1546 	);
1547 
1548 	Status XQueryBestCursor(
1549 		Display*		/* display */,
1550 		Drawable		/* d */,
1551 		uint        /* width */,
1552 		uint	/* height */,
1553 		uint*	/* width_return */,
1554 		uint*	/* height_return */
1555 	);
1556 
1557 	Status XQueryBestSize(
1558 		Display*		/* display */,
1559 		int			/* class */,
1560 		Drawable		/* which_screen */,
1561 		uint	/* width */,
1562 		uint	/* height */,
1563 		uint*	/* width_return */,
1564 		uint*	/* height_return */
1565 	);
1566 
1567 	Status XQueryBestStipple(
1568 		Display*		/* display */,
1569 		Drawable		/* which_screen */,
1570 		uint	/* width */,
1571 		uint	/* height */,
1572 		uint*	/* width_return */,
1573 		uint*	/* height_return */
1574 	);
1575 
1576 	Status XQueryBestTile(
1577 		Display*		/* display */,
1578 		Drawable		/* which_screen */,
1579 		uint	/* width */,
1580 		uint	/* height */,
1581 		uint*	/* width_return */,
1582 		uint*	/* height_return */
1583 	);
1584 
1585 	int XQueryColor(
1586 		Display*		/* display */,
1587 		Colormap		/* colormap */,
1588 		XColor*		/* def_in_out */
1589 	);
1590 
1591 	int XQueryColors(
1592 		Display*		/* display */,
1593 		Colormap		/* colormap */,
1594 		XColor*		/* defs_in_out */,
1595 		int			/* ncolors */
1596 	);
1597 
1598 	Bool XQueryExtension(
1599 		Display*		/* display */,
1600 		const(char)*	/* name */,
1601 		int*		/* major_opcode_return */,
1602 		int*		/* first_event_return */,
1603 		int*		/* first_error_return */
1604 	);
1605 
1606 	int XQueryKeymap(
1607 		Display*		/* display */,
1608 		char [32]		/* keys_return */
1609 	);
1610 
1611 	Bool XQueryPointer(
1612 		Display*		/* display */,
1613 		Window		/* w */,
1614 		Window*		/* root_return */,
1615 		Window*		/* child_return */,
1616 		int*		/* root_x_return */,
1617 		int*		/* root_y_return */,
1618 		int*		/* win_x_return */,
1619 		int*		/* win_y_return */,
1620 		uint*       /* mask_return */
1621 	);
1622 
1623 	int XQueryTextExtents(
1624 		Display*		/* display */,
1625 		XID			/* font_ID */,
1626 		const(char)*	/* string */,
1627 		int			/* nchars */,
1628 		int*		/* direction_return */,
1629 		int*		/* font_ascent_return */,
1630 		int*		/* font_descent_return */,
1631 		XCharStruct*	/* overall_return */
1632 	);
1633 
1634 	int XQueryTextExtents16(
1635 		Display*		/* display */,
1636 		XID			/* font_ID */,
1637 		const XChar2b*	/* string */,
1638 		int			/* nchars */,
1639 		int*		/* direction_return */,
1640 		int*		/* font_ascent_return */,
1641 		int*		/* font_descent_return */,
1642 		XCharStruct*	/* overall_return */
1643 	);
1644 
1645 	Status XQueryTree(
1646 		Display*		/* display */,
1647 		Window		/* w */,
1648 		Window*		/* root_return */,
1649 		Window*		/* parent_return */,
1650 		Window**		/* children_return */,
1651 		uint*	/* nchildren_return */
1652 	);
1653 
1654 	int XRaiseWindow(
1655 		Display*		/* display */,
1656 		Window		/* w */
1657 	);
1658 
1659 	int XReadBitmapFile(
1660 		Display*		/* display */,
1661 		Drawable 		/* d */,
1662 		const(char)*	/* filename */,
1663 		uint*	/* width_return */,
1664 		uint*	/* height_return */,
1665 		Pixmap*		/* bitmap_return */,
1666 		int*		/* x_hot_return */,
1667 		int*		/* y_hot_return */
1668 	);
1669 
1670 	int XReadBitmapFileData(
1671 		const(char)*	/* filename */,
1672 		uint*	/* width_return */,
1673 		uint*	/* height_return */,
1674 		ubyte**	/* data_return */,
1675 		int*		/* x_hot_return */,
1676 		int*		/* y_hot_return */
1677 	);
1678 
1679 	int XRebindKeysym(
1680 		Display*		/* display */,
1681 		KeySym		/* keysym */,
1682 		KeySym*		/* list */,
1683 		int			/* mod_count */,
1684 		const(ubyte)*	/* string */,
1685 		int			/* bytes_string */
1686 	);
1687 
1688 	int XRecolorCursor(
1689 		Display*		/* display */,
1690 		Cursor		/* cursor */,
1691 		XColor*		/* foreground_color */,
1692 		XColor*		/* background_color */
1693 	);
1694 
1695 	int XRefreshKeyboardMapping(
1696 		XMappingEvent*	/* event_map */
1697 	);
1698 
1699 	int XRemoveFromSaveSet(
1700 		Display*		/* display */,
1701 		Window		/* w */
1702 	);
1703 
1704 	int XRemoveHost(
1705 		Display*		/* display */,
1706 		XHostAddress*	/* host */
1707 	);
1708 
1709 	int XRemoveHosts(
1710 		Display*		/* display */,
1711 		XHostAddress*	/* hosts */,
1712 		int			/* num_hosts */
1713 	);
1714 
1715 	int XReparentWindow(
1716 		Display*		/* display */,
1717 		Window		/* w */,
1718 		Window		/* parent */,
1719 		int			/* x */,
1720 		int			/* y */
1721 	);
1722 
1723 	int XResetScreenSaver(
1724 		Display*		/* display */
1725 	);
1726 
1727 	int XResizeWindow(
1728 		Display*		/* display */,
1729 		Window		/* w */,
1730 		uint	/* width */,
1731 		uint	/* height */
1732 	);
1733 
1734 	int XRestackWindows(
1735 		Display*		/* display */,
1736 		Window*		/* windows */,
1737 		int			/* nwindows */
1738 	);
1739 
1740 	int XRotateBuffers(
1741 		Display*		/* display */,
1742 		int			/* rotate */
1743 	);
1744 
1745 	int XRotateWindowProperties(
1746 		Display*		/* display */,
1747 		Window		/* w */,
1748 		Atom*		/* properties */,
1749 		int			/* num_prop */,
1750 		int			/* npositions */
1751 	);
1752 
1753 	int XScreenCount(
1754 		Display*		/* display */
1755 	);
1756 
1757 	int XSelectInput(
1758 		Display*		/* display */,
1759 		Window		/* w */,
1760 		c_long		/* event_mask */
1761 	);
1762 
1763 	Status XSendEvent(
1764 		Display*		/* display */,
1765 		Window		/* w */,
1766 		Bool		/* propagate */,
1767 		c_long		/* event_mask */,
1768 		XEvent*		/* event_send */
1769 	);
1770 
1771 	int XSetAccessControl(
1772 		Display*		/* display */,
1773 		int			/* mode */
1774 	);
1775 
1776 	int XSetArcMode(
1777 		Display*		/* display */,
1778 		GC			/* gc */,
1779 		int			/* arc_mode */
1780 	);
1781 
1782 	int XSetBackground(
1783 		Display*		/* display */,
1784 		GC			/* gc */,
1785 		c_ulong	/* background */
1786 	);
1787 
1788 	int XSetClipMask(
1789 		Display*		/* display */,
1790 		GC			/* gc */,
1791 		Pixmap		/* pixmap */
1792 	);
1793 
1794 	int XSetClipOrigin(
1795 		Display*		/* display */,
1796 		GC			/* gc */,
1797 		int			/* clip_x_origin */,
1798 		int			/* clip_y_origin */
1799 	);
1800 
1801 	int XSetClipRectangles(
1802 		Display*		/* display */,
1803 		GC			/* gc */,
1804 		int			/* clip_x_origin */,
1805 		int			/* clip_y_origin */,
1806 		XRectangle*		/* rectangles */,
1807 		int			/* n */,
1808 		int			/* ordering */
1809 	);
1810 
1811 	int XSetCloseDownMode(
1812 		Display*		/* display */,
1813 		int			/* close_mode */
1814 	);
1815 
1816 	int XSetCommand(
1817 		Display*		/* display */,
1818 		Window		/* w */,
1819 		char**		/* argv */,
1820 		int			/* argc */
1821 	);
1822 
1823 	int XSetDashes(
1824 		Display*		/* display */,
1825 		GC			/* gc */,
1826 		int			/* dash_offset */,
1827 		const(char)*	/* dash_list */,
1828 		int			/* n */
1829 	);
1830 
1831 	int XSetFillRule(
1832 		Display*		/* display */,
1833 		GC			/* gc */,
1834 		int			/* fill_rule */
1835 	);
1836 
1837 	int XSetFillStyle(
1838 		Display*		/* display */,
1839 		GC			/* gc */,
1840 		int			/* fill_style */
1841 	);
1842 
1843 	int XSetFont(
1844 		Display*		/* display */,
1845 		GC			/* gc */,
1846 		Font		/* font */
1847 	);
1848 
1849 	int XSetFontPath(
1850 		Display*		/* display */,
1851 		char**		/* directories */,
1852 		int			/* ndirs */
1853 	);
1854 
1855 	int XSetForeground(
1856 		Display*		/* display */,
1857 		GC			/* gc */,
1858 		c_ulong	/* foreground */
1859 	);
1860 
1861 	int XSetFunction(
1862 		Display*		/* display */,
1863 		GC			/* gc */,
1864 		int			/* function */
1865 	);
1866 
1867 	int XSetGraphicsExposures(
1868 		Display*		/* display */,
1869 		GC			/* gc */,
1870 		Bool		/* graphics_exposures */
1871 	);
1872 
1873 	int XSetIconName(
1874 		Display*		/* display */,
1875 		Window		/* w */,
1876 		const(char)*	/* icon_name */
1877 	);
1878 
1879 	int XSetInputFocus(
1880 		Display*		/* display */,
1881 		Window		/* focus */,
1882 		int			/* revert_to */,
1883 		Time		/* time */
1884 	);
1885 
1886 	int XSetLineAttributes(
1887 		Display*		/* display */,
1888 		GC			/* gc */,
1889 		uint	/* line_width */,
1890 		int			/* line_style */,
1891 		int			/* cap_style */,
1892 		int			/* join_style */
1893 	);
1894 
1895 	int XSetModifierMapping(
1896 		Display*		/* display */,
1897 		XModifierKeymap*	/* modmap */
1898 	);
1899 
1900 	int XSetPlaneMask(
1901 		Display*		/* display */,
1902 		GC			/* gc */,
1903 		c_ulong	/* plane_mask */
1904 	);
1905 
1906 	int XSetPointerMapping(
1907 		Display*		/* display */,
1908 		const(ubyte)*	/* map */,
1909 		int			/* nmap */
1910 	);
1911 
1912 	int XSetScreenSaver(
1913 		Display*		/* display */,
1914 		int			/* timeout */,
1915 		int			/* interval */,
1916 		int			/* prefer_blanking */,
1917 		int			/* allow_exposures */
1918 	);
1919 
1920 	int XSetSelectionOwner(
1921 		Display*		/* display */,
1922 		Atom	        /* selection */,
1923 		Window		/* owner */,
1924 		Time		/* time */
1925 	);
1926 
1927 	int XSetState(
1928 		Display*		/* display */,
1929 		GC			/* gc */,
1930 		c_ulong 	/* foreground */,
1931 		c_ulong	/* background */,
1932 		int			/* function */,
1933 		c_ulong	/* plane_mask */
1934 	);
1935 
1936 	int XSetStipple(
1937 		Display*		/* display */,
1938 		GC			/* gc */,
1939 		Pixmap		/* stipple */
1940 	);
1941 
1942 	int XSetSubwindowMode(
1943 		Display*		/* display */,
1944 		GC			/* gc */,
1945 		int			/* subwindow_mode */
1946 	);
1947 
1948 	int XSetTSOrigin(
1949 		Display*		/* display */,
1950 		GC			/* gc */,
1951 		int			/* ts_x_origin */,
1952 		int			/* ts_y_origin */
1953 	);
1954 
1955 	int XSetTile(
1956 		Display*		/* display */,
1957 		GC			/* gc */,
1958 		Pixmap		/* tile */
1959 	);
1960 
1961 	int XSetWindowBackground(
1962 		Display*		/* display */,
1963 		Window		/* w */,
1964 		c_ulong	/* background_pixel */
1965 	);
1966 
1967 	int XSetWindowBackgroundPixmap(
1968 		Display*		/* display */,
1969 		Window		/* w */,
1970 		Pixmap		/* background_pixmap */
1971 	);
1972 
1973 	int XSetWindowBorder(
1974 		Display*		/* display */,
1975 		Window		/* w */,
1976 		c_ulong	/* border_pixel */
1977 	);
1978 
1979 	int XSetWindowBorderPixmap(
1980 		Display*		/* display */,
1981 		Window		/* w */,
1982 		Pixmap		/* border_pixmap */
1983 	);
1984 
1985 	int XSetWindowBorderWidth(
1986 		Display*		/* display */,
1987 		Window		/* w */,
1988 		uint	/* width */
1989 	);
1990 
1991 	int XSetWindowColormap(
1992 		Display*		/* display */,
1993 		Window		/* w */,
1994 		Colormap		/* colormap */
1995 	);
1996 
1997 	int XStoreBuffer(
1998 		Display*		/* display */,
1999 		const(char)*	/* bytes */,
2000 		int			/* nbytes */,
2001 		int			/* buffer */
2002 	);
2003 
2004 	int XStoreBytes(
2005 		Display*		/* display */,
2006 		const(char)*	/* bytes */,
2007 		int			/* nbytes */
2008 	);
2009 
2010 	int XStoreColor(
2011 		Display*		/* display */,
2012 		Colormap		/* colormap */,
2013 		XColor*		/* color */
2014 	);
2015 
2016 	int XStoreColors(
2017 		Display*		/* display */,
2018 		Colormap		/* colormap */,
2019 		XColor*		/* color */,
2020 		int			/* ncolors */
2021 	);
2022 
2023 	int XStoreName(
2024 		Display*		/* display */,
2025 		Window		/* w */,
2026 		const(char)*	/* window_name */
2027 	);
2028 
2029 	int XStoreNamedColor(
2030 		Display*		/* display */,
2031 		Colormap		/* colormap */,
2032 		const(char)*	/* color */,
2033 		c_ulong	/* pixel */,
2034 		int			/* flags */
2035 	);
2036 
2037 	int XSync(
2038 		Display*		/* display */,
2039 		Bool		/* discard */
2040 	);
2041 
2042 	int XTextExtents(
2043 		XFontStruct*	/* font_struct */,
2044 		const(char)*	/* string */,
2045 		int			/* nchars */,
2046 		int*		/* direction_return */,
2047 		int*		/* font_ascent_return */,
2048 		int*		/* font_descent_return */,
2049 		XCharStruct*	/* overall_return */
2050 	);
2051 
2052 	int XTextExtents16(
2053 		XFontStruct*	/* font_struct */,
2054 		const XChar2b*	/* string */,
2055 		int			/* nchars */,
2056 		int*		/* direction_return */,
2057 		int*		/* font_ascent_return */,
2058 		int*		/* font_descent_return */,
2059 		XCharStruct*	/* overall_return */
2060 	);
2061 
2062 	int XTextWidth(
2063 		XFontStruct*	/* font_struct */,
2064 		const(char)*	/* string */,
2065 		int			/* count */
2066 	);
2067 
2068 	int XTextWidth16(
2069 		XFontStruct*	/* font_struct */,
2070 		const XChar2b*	/* string */,
2071 		int			/* count */
2072 	);
2073 
2074 	Bool XTranslateCoordinates(
2075 		Display*		/* display */,
2076 		Window		/* src_w */,
2077 		Window		/* dest_w */,
2078 		int			/* src_x */,
2079 		int			/* src_y */,
2080 		int*		/* dest_x_return */,
2081 		int*		/* dest_y_return */,
2082 		Window*		/* child_return */
2083 	);
2084 
2085 	int XUndefineCursor(
2086 		Display*		/* display */,
2087 		Window		/* w */
2088 	);
2089 
2090 	int XUngrabButton(
2091 		Display*		/* display */,
2092 		uint	/* button */,
2093 		uint	/* modifiers */,
2094 		Window		/* grab_window */
2095 	);
2096 
2097 	int XUngrabKey(
2098 		Display*		/* display */,
2099 		int			/* keycode */,
2100 		uint	/* modifiers */,
2101 		Window		/* grab_window */
2102 	);
2103 
2104 	int XUngrabKeyboard(
2105 		Display*		/* display */,
2106 		Time		/* time */
2107 	);
2108 
2109 	int XUngrabPointer(
2110 		Display*		/* display */,
2111 		Time		/* time */
2112 	);
2113 
2114 	int XUngrabServer(
2115 		Display*		/* display */
2116 	);
2117 
2118 	int XUninstallColormap(
2119 		Display*		/* display */,
2120 		Colormap		/* colormap */
2121 	);
2122 
2123 	int XUnloadFont(
2124 		Display*		/* display */,
2125 		Font		/* font */
2126 	);
2127 
2128 	int XUnmapSubwindows(
2129 		Display*		/* display */,
2130 		Window		/* w */
2131 	);
2132 
2133 	int XUnmapWindow(
2134 		Display*		/* display */,
2135 		Window		/* w */
2136 	);
2137 
2138 	int XVendorRelease(
2139 		Display*		/* display */
2140 	);
2141 
2142 	int XWarpPointer(
2143 		Display*		/* display */,
2144 		Window		/* src_w */,
2145 		Window		/* dest_w */,
2146 		int			/* src_x */,
2147 		int			/* src_y */,
2148 		uint	/* src_width */,
2149 		uint	/* src_height */,
2150 		int			/* dest_x */,
2151 		int			/* dest_y */
2152 	);
2153 
2154 	int XWidthMMOfScreen(
2155 		Screen*		/* screen */
2156 	);
2157 
2158 	int XWidthOfScreen(
2159 		Screen*		/* screen */
2160 	);
2161 
2162 	int XWindowEvent(
2163 		Display*		/* display */,
2164 		Window		/* w */,
2165 		c_long		/* event_mask */,
2166 		XEvent*		/* event_return */
2167 	);
2168 
2169 	int XWriteBitmapFile(
2170 		Display*		/* display */,
2171 		const(char)*	/* filename */,
2172 		Pixmap		/* bitmap */,
2173 		uint	/* width */,
2174 		uint	/* height */,
2175 		int			/* x_hot */,
2176 		int			/* y_hot */
2177 	);
2178 
2179 	Bool XSupportsLocale ();
2180 
2181 	char *XSetLocaleModifiers(
2182 		const(char)*		/* modifier_list */
2183 	);
2184 
2185 	XOM XOpenOM(
2186 		Display*			/* display */,
2187 		XrmHashBucketRec*	/* rdb */,
2188 		const(char)*		/* res_name */,
2189 		const(char)*		/* res_class */
2190 	);
2191 
2192 	Status XCloseOM(
2193 		XOM			/* om */
2194 	);
2195 
2196 	char *XSetOMValues(
2197 		XOM			/* om */,
2198 		...
2199 	);
2200 
2201 	char *XGetOMValues(
2202 		XOM			/* om */,
2203 		...
2204 	);
2205 
2206 	Display *XDisplayOfOM(
2207 		XOM			/* om */
2208 	);
2209 
2210 	char *XLocaleOfOM(
2211 		XOM			/* om */
2212 	);
2213 
2214 	XOC XCreateOC(
2215 		XOM			/* om */,
2216 		...
2217 	);
2218 
2219 	void XDestroyOC(
2220 		XOC			/* oc */
2221 	);
2222 
2223 	XOM XOMOfOC(
2224 		XOC			/* oc */
2225 	);
2226 
2227 	char *XSetOCValues(
2228 		XOC			/* oc */,
2229 		...
2230 	);
2231 
2232 	char *XGetOCValues(
2233 		XOC			/* oc */,
2234 		...
2235 	);
2236 
2237 	XFontSet XCreateFontSet(
2238 		Display*		/* display */,
2239 		const(char)*	/* base_font_name_list */,
2240 		char***		/* missing_charset_list */,
2241 		int*		/* missing_charset_count */,
2242 		char**		/* def_string */
2243 	);
2244 
2245 	void XFreeFontSet(
2246 		Display*		/* display */,
2247 		XFontSet		/* font_set */
2248 	);
2249 
2250 	int XFontsOfFontSet(
2251 		XFontSet		/* font_set */,
2252 		XFontStruct***	/* font_struct_list */,
2253 		char***		/* font_name_list */
2254 	);
2255 
2256 	char *XBaseFontNameListOfFontSet(
2257 		XFontSet		/* font_set */
2258 	);
2259 
2260 	char *XLocaleOfFontSet(
2261 		XFontSet		/* font_set */
2262 	);
2263 
2264 	Bool XContextDependentDrawing(
2265 		XFontSet		/* font_set */
2266 	);
2267 
2268 	Bool XDirectionalDependentDrawing(
2269 		XFontSet		/* font_set */
2270 	);
2271 
2272 	Bool XContextualDrawing(
2273 		XFontSet		/* font_set */
2274 	);
2275 
2276 	XFontSetExtents *XExtentsOfFontSet(
2277 		XFontSet		/* font_set */
2278 	);
2279 
2280 	int XmbTextEscapement(
2281 		XFontSet		/* font_set */,
2282 		const(char)*	/* text */,
2283 		int			/* bytes_text */
2284 	);
2285 
2286 	int XwcTextEscapement(
2287 		XFontSet		/* font_set */,
2288 		const wchar_t*	/* text */,
2289 		int			/* num_wchars */
2290 	);
2291 
2292 	int Xutf8TextEscapement(
2293 		XFontSet		/* font_set */,
2294 		const(char)*	/* text */,
2295 		int			/* bytes_text */
2296 	);
2297 
2298 	int XmbTextExtents(
2299 		XFontSet		/* font_set */,
2300 		const(char)*	/* text */,
2301 		int			/* bytes_text */,
2302 		XRectangle*		/* overall_ink_return */,
2303 		XRectangle*		/* overall_logical_return */
2304 	);
2305 
2306 	int XwcTextExtents(
2307 		XFontSet		/* font_set */,
2308 		const wchar_t*	/* text */,
2309 		int			/* num_wchars */,
2310 		XRectangle*		/* overall_ink_return */,
2311 		XRectangle*		/* overall_logical_return */
2312 	);
2313 
2314 	int Xutf8TextExtents(
2315 		XFontSet		/* font_set */,
2316 		const(char)*	/* text */,
2317 		int			/* bytes_text */,
2318 		XRectangle*		/* overall_ink_return */,
2319 		XRectangle*		/* overall_logical_return */
2320 	);
2321 
2322 	Status XmbTextPerCharExtents(
2323 		XFontSet		/* font_set */,
2324 		const(char)*	/* text */,
2325 		int			/* bytes_text */,
2326 		XRectangle*		/* ink_extents_buffer */,
2327 		XRectangle*		/* logical_extents_buffer */,
2328 		int			/* buffer_size */,
2329 		int*		/* num_chars */,
2330 		XRectangle*		/* overall_ink_return */,
2331 		XRectangle*		/* overall_logical_return */
2332 	);
2333 
2334 	Status XwcTextPerCharExtents(
2335 		XFontSet		/* font_set */,
2336 		const wchar_t*	/* text */,
2337 		int			/* num_wchars */,
2338 		XRectangle*		/* ink_extents_buffer */,
2339 		XRectangle*		/* logical_extents_buffer */,
2340 		int			/* buffer_size */,
2341 		int*		/* num_chars */,
2342 		XRectangle*		/* overall_ink_return */,
2343 		XRectangle*		/* overall_logical_return */
2344 	);
2345 
2346 	Status Xutf8TextPerCharExtents(
2347 		XFontSet		/* font_set */,
2348 		const(char)*	/* text */,
2349 		int			/* bytes_text */,
2350 		XRectangle*		/* ink_extents_buffer */,
2351 		XRectangle*		/* logical_extents_buffer */,
2352 		int			/* buffer_size */,
2353 		int*		/* num_chars */,
2354 		XRectangle*		/* overall_ink_return */,
2355 		XRectangle*		/* overall_logical_return */
2356 	);
2357 
2358 	void XmbDrawText(
2359 		Display*		/* display */,
2360 		Drawable		/* d */,
2361 		GC			/* gc */,
2362 		int			/* x */,
2363 		int			/* y */,
2364 		XmbTextItem*	/* text_items */,
2365 		int			/* nitems */
2366 	);
2367 
2368 	void XwcDrawText(
2369 		Display*		/* display */,
2370 		Drawable		/* d */,
2371 		GC			/* gc */,
2372 		int			/* x */,
2373 		int			/* y */,
2374 		XwcTextItem*	/* text_items */,
2375 		int			/* nitems */
2376 	);
2377 
2378 	void Xutf8DrawText(
2379 		Display*		/* display */,
2380 		Drawable		/* d */,
2381 		GC			/* gc */,
2382 		int			/* x */,
2383 		int			/* y */,
2384 		XmbTextItem*	/* text_items */,
2385 		int			/* nitems */
2386 	);
2387 
2388 	void XmbDrawString(
2389 		Display*		/* display */,
2390 		Drawable		/* d */,
2391 		XFontSet		/* font_set */,
2392 		GC			/* gc */,
2393 		int			/* x */,
2394 		int			/* y */,
2395 		const(char)*	/* text */,
2396 		int			/* bytes_text */
2397 	);
2398 
2399 	void XwcDrawString(
2400 		Display*		/* display */,
2401 		Drawable		/* d */,
2402 		XFontSet		/* font_set */,
2403 		GC			/* gc */,
2404 		int			/* x */,
2405 		int			/* y */,
2406 		const wchar_t*	/* text */,
2407 		int			/* num_wchars */
2408 	);
2409 
2410 	void Xutf8DrawString(
2411 		Display*		/* display */,
2412 		Drawable		/* d */,
2413 		XFontSet		/* font_set */,
2414 		GC			/* gc */,
2415 		int			/* x */,
2416 		int			/* y */,
2417 		const(char)*	/* text */,
2418 		int			/* bytes_text */
2419 	);
2420 
2421 	void XmbDrawImageString(
2422 		Display*		/* display */,
2423 		Drawable		/* d */,
2424 		XFontSet		/* font_set */,
2425 		GC			/* gc */,
2426 		int			/* x */,
2427 		int			/* y */,
2428 		const(char)*	/* text */,
2429 		int			/* bytes_text */
2430 	);
2431 
2432 	void XwcDrawImageString(
2433 		Display*		/* display */,
2434 		Drawable		/* d */,
2435 		XFontSet		/* font_set */,
2436 		GC			/* gc */,
2437 		int			/* x */,
2438 		int			/* y */,
2439 		const wchar_t*	/* text */,
2440 		int			/* num_wchars */
2441 	);
2442 
2443 	void Xutf8DrawImageString(
2444 		Display*		/* display */,
2445 		Drawable		/* d */,
2446 		XFontSet		/* font_set */,
2447 		GC			/* gc */,
2448 		int			/* x */,
2449 		int			/* y */,
2450 		const(char)*	/* text */,
2451 		int			/* bytes_text */
2452 	);
2453 
2454 	XIM XOpenIM(
2455 		Display*			/* dpy */,
2456 		XrmHashBucketRec*	/* rdb */,
2457 		char*			/* res_name */,
2458 		char*			/* res_class */
2459 	);
2460 
2461 	Status XCloseIM(
2462 		XIM /* im */
2463 	);
2464 
2465 	char *XGetIMValues(
2466 		XIM /* im */, ...
2467 	);
2468 
2469 	char *XSetIMValues(
2470 		XIM /* im */, ...
2471 	);
2472 
2473 	Display *XDisplayOfIM(
2474 		XIM /* im */
2475 	);
2476 
2477 	char *XLocaleOfIM(
2478 		XIM /* im*/
2479 	);
2480 
2481 	XIC XCreateIC(
2482 		XIM /* im */, ...
2483 	);
2484 
2485 	void XDestroyIC(
2486 		XIC /* ic */
2487 	);
2488 
2489 	void XSetICFocus(
2490 		XIC /* ic */
2491 	);
2492 
2493 	void XUnsetICFocus(
2494 		XIC /* ic */
2495 	);
2496 
2497 	wchar_t *XwcResetIC(
2498 		XIC /* ic */
2499 	);
2500 
2501 	char *XmbResetIC(
2502 		XIC /* ic */
2503 	);
2504 
2505 	char *Xutf8ResetIC(
2506 		XIC /* ic */
2507 	);
2508 
2509 	char *XSetICValues(
2510 		XIC /* ic */, ...
2511 	);
2512 
2513 	char *XGetICValues(
2514 		XIC /* ic */, ...
2515 	);
2516 
2517 	XIM XIMOfIC(
2518 		XIC /* ic */
2519 	);
2520 
2521 	Bool XFilterEvent(
2522 		XEvent*	/* event */,
2523 		Window	/* window */
2524 	);
2525 
2526 	int XmbLookupString(
2527 		XIC			/* ic */,
2528 		XKeyPressedEvent*	/* event */,
2529 		char*		/* buffer_return */,
2530 		int			/* bytes_buffer */,
2531 		KeySym*		/* keysym_return */,
2532 		Status*		/* status_return */
2533 	);
2534 
2535 	int XwcLookupString(
2536 		XIC			/* ic */,
2537 		XKeyPressedEvent*	/* event */,
2538 		wchar_t*		/* buffer_return */,
2539 		int			/* wchars_buffer */,
2540 		KeySym*		/* keysym_return */,
2541 		Status*		/* status_return */
2542 	);
2543 
2544 	int Xutf8LookupString(
2545 		XIC			/* ic */,
2546 		XKeyPressedEvent*	/* event */,
2547 		char*		/* buffer_return */,
2548 		int			/* bytes_buffer */,
2549 		KeySym*		/* keysym_return */,
2550 		Status*		/* status_return */
2551 	);
2552 
2553 	XVaNestedList XVaCreateNestedList(
2554 		int /*unused*/, ...
2555 	);
2556 
2557 	/* internal connections for IMs */
2558 
2559 	Bool XRegisterIMInstantiateCallback(
2560 		Display*			/* dpy */,
2561 		XrmHashBucketRec*	/* rdb */,
2562 		char*			/* res_name */,
2563 		char*			/* res_class */,
2564 		XIDProc			/* callback */,
2565 		XPointer			/* client_data */
2566 	);
2567 
2568 	Bool XUnregisterIMInstantiateCallback(
2569 		Display*			/* dpy */,
2570 		XrmHashBucketRec*	/* rdb */,
2571 		char*			/* res_name */,
2572 		char*			/* res_class */,
2573 		XIDProc			/* callback */,
2574 		XPointer			/* client_data */
2575 	);
2576 
2577 	Status XInternalConnectionNumbers(
2578 		Display*			/* dpy */,
2579 		int**			/* fd_return */,
2580 		int*			/* count_return */
2581 	);
2582 
2583 	void XProcessInternalConnection(
2584 		Display*			/* dpy */,
2585 		int				/* fd */
2586 	);
2587 
2588 	Status XAddConnectionWatch(
2589 		Display*			/* dpy */,
2590 		XConnectionWatchProc	/* callback */,
2591 		XPointer			/* client_data */
2592 	);
2593 
2594 	void XRemoveConnectionWatch(
2595 		Display*			/* dpy */,
2596 		XConnectionWatchProc	/* callback */,
2597 		XPointer			/* client_data */
2598 	);
2599 
2600 	void XSetAuthorization(
2601 		char *			/* name */,
2602 		int				/* namelen */,
2603 		char *			/* data */,
2604 		int				/* datalen */
2605 	);
2606 
2607 	// int _Xmbtowc(
2608 	//     wchar_t *			/* wstr */,
2609 	// #ifdef ISC
2610 	//     char const *		/* str */,
2611 	//     size_t			/* len */
2612 	// #else
2613 	//     char *			/* str */,
2614 	//     int				/* len */
2615 	// #endif
2616 	// );
2617 	//
2618 	// int _Xwctomb(
2619 	//     char *			/* str */,
2620 	//     wchar_t			/* wc */
2621 	// );
2622 
2623 	Bool XGetEventData(
2624 		Display*			/* dpy */,
2625 		XGenericEventCookie*	/* cookie*/
2626 	);
2627 
2628 	void XFreeEventData(
2629 		Display*			/* dpy */,
2630 		XGenericEventCookie*	/* cookie*/
2631 	);
2632 
2633 	XrmDatabase XrmGetStringDatabase(
2634 		const(char)*	/* data */  /*  null terminated string */
2635 		);
2636 
2637 	Bool XrmGetResource(
2638 		XrmDatabase		/* database */,
2639 		const(char)*	/* str_name */,
2640 		const(char)*	/* str_class */,
2641 		char**		/* str_type_return */,
2642 		XrmValue*		/* value_return */
2643 	);
2644 
2645 	void XrmDestroyDatabase(
2646 		XrmDatabase		/* database */
2647 	);
2648 
2649 	XrmQuark XrmUniqueQuark();
2650 
2651 	pragma(inline, true) XContext XUniqueContext() { return cast(XContext)XrmUniqueQuark(); }
2652 }