Intrinsic.h revision 0568f49b
1/***********************************************************
2Copyright 1987, 1988 by Digital Equipment Corporation, Maynard, Massachusetts,
3
4			All Rights Reserved
5
6Permission to use, copy, modify, and distribute this software and its
7documentation for any purpose and without fee is hereby granted,
8provided that the above copyright notice appear in all copies and that
9both that copyright notice and this permission notice appear in
10supporting documentation, and that the name Digital not be
11used in advertising or publicity pertaining to distribution of the
12software without specific, written prior permission.
13
14DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
15ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
16DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
17ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
18WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
19ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
20SOFTWARE.
21
22******************************************************************/
23
24/*
25
26Copyright 1987, 1988, 1994, 1998  The Open Group
27
28Permission to use, copy, modify, distribute, and sell this software and its
29documentation for any purpose is hereby granted without fee, provided that
30the above copyright notice appear in all copies and that both that
31copyright notice and this permission notice appear in supporting
32documentation.
33
34The above copyright notice and this permission notice shall be included in
35all copies or substantial portions of the Software.
36
37THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
38IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
39FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
40OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
41AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
42CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
43
44Except as contained in this notice, the name of The Open Group shall not be
45used in advertising or otherwise to promote the sale, use or other dealings
46in this Software without prior written authorization from The Open Group.
47
48*/
49
50#ifndef _XtIntrinsic_h
51#define _XtIntrinsic_h
52
53#include	<X11/Xlib.h>
54#include	<X11/Xutil.h>
55#include	<X11/Xresource.h>
56#include	<X11/Xfuncproto.h>
57#ifdef XT_BC
58#include <X11/Xos.h>		/* for R4 compatibility */
59#else
60#include <X11/Xosdefs.h>
61#include <string.h>		/* for XtNewString */
62#endif /* XT_BC else */
63
64#define XtSpecificationRelease 7
65
66/*
67 * As used in its function interface, the String type of libXt can be readonly.
68 * But compiling libXt with this feature may require some internal changes,
69 * e.g., casts and occasionally using a plain "char*".
70 */
71#ifdef _CONST_X_STRING
72typedef const char *String;
73#else
74typedef char *String;
75#endif
76
77/* We do this in order to get "const" declarations to work right.  We
78 * use _XtString instead of String so that C++ applications can
79 * #define String to something else if they choose, to avoid conflicts
80 * with other C++ libraries.
81 */
82#define _XtString char*
83
84/* _Xt names are private to Xt implementation, do not use in client code */
85#if NeedWidePrototypes
86#define _XtBoolean	int
87#define _XtDimension	unsigned int
88#define _XtKeyCode	unsigned int
89#define _XtPosition	int
90#define _XtXtEnum	unsigned int
91#else
92#define _XtBoolean	Boolean
93#define _XtDimension	Dimension
94#define _XtKeyCode	KeyCode
95#define _XtPosition	Position
96#define _XtXtEnum	XtEnum
97#endif /* NeedWidePrototypes */
98
99#include <stddef.h>
100
101#ifdef VMS
102#define externalref globalref
103#define externaldef(psect) globaldef {"psect"} noshare
104#else
105#define externalref extern
106#define externaldef(psect)
107#endif /* VMS */
108
109#ifndef FALSE
110#define FALSE 0
111#define TRUE 1
112#endif
113
114#define XtNumber(arr)		((Cardinal) (sizeof(arr) / sizeof(arr[0])))
115
116typedef struct _WidgetRec *Widget;
117typedef Widget *WidgetList;
118typedef struct _WidgetClassRec *WidgetClass;
119typedef struct _CompositeRec *CompositeWidget;
120typedef struct _XtActionsRec *XtActionList;
121typedef struct _XtEventRec *XtEventTable;
122
123typedef struct _XtAppStruct *XtAppContext;
124typedef unsigned long	XtValueMask;
125typedef unsigned long	XtIntervalId;
126typedef unsigned long	XtInputId;
127typedef unsigned long	XtWorkProcId;
128typedef unsigned long	XtSignalId;
129typedef unsigned int	XtGeometryMask;
130typedef unsigned long	XtGCMask;   /* Mask of values that are used by widget*/
131typedef unsigned long	Pixel;	    /* Index into colormap		*/
132typedef int		XtCacheType;
133#define			XtCacheNone	  0x001
134#define			XtCacheAll	  0x002
135#define			XtCacheByDisplay  0x003
136#define			XtCacheRefCount	  0x100
137
138/****************************************************************
139 *
140 * System Dependent Definitions; see spec for specific range
141 * requirements.  Do not assume every implementation uses the
142 * same base types!
143 *
144 *
145 * XtArgVal ought to be a union of XtPointer, char *, long, int *, and proc *
146 * but casting to union types is not really supported.
147 *
148 * So the typedef for XtArgVal should be chosen such that
149 *
150 *	sizeof (XtArgVal) >=	sizeof(XtPointer)
151 *				sizeof(char *)
152 *				sizeof(long)
153 *				sizeof(int *)
154 *				sizeof(proc *)
155 *
156 * ArgLists rely heavily on the above typedef.
157 *
158 ****************************************************************/
159typedef char		Boolean;
160typedef long		XtArgVal;
161typedef unsigned char	XtEnum;
162
163typedef unsigned int	Cardinal;
164typedef unsigned short	Dimension;  /* Size in pixels			*/
165typedef short		Position;   /* Offset from 0 coordinate		*/
166
167typedef void*		XtPointer;
168
169/* The type Opaque is NOT part of the Xt standard, do NOT use it. */
170/* (It remains here only for backward compatibility.) */
171typedef XtPointer	Opaque;
172
173#include <X11/Core.h>
174#include <X11/Composite.h>
175#include <X11/Constraint.h>
176#include <X11/Object.h>
177#include <X11/RectObj.h>
178
179typedef struct _TranslationData *XtTranslations;
180typedef struct _TranslationData *XtAccelerators;
181typedef unsigned int Modifiers;
182
183typedef void (*XtActionProc)(
184    Widget 		/* widget */,
185    XEvent*		/* event */,
186    String*		/* params */,
187    Cardinal*		/* num_params */
188);
189
190typedef XtActionProc* XtBoundActions;
191
192typedef struct _XtActionsRec{
193    String	 string;
194    XtActionProc proc;
195} XtActionsRec;
196
197typedef enum {
198/* address mode		parameter representation    */
199/* ------------		------------------------    */
200    XtAddress,		/* address		    */
201    XtBaseOffset,	/* offset		    */
202    XtImmediate,	/* constant		    */
203    XtResourceString,	/* resource name string	    */
204    XtResourceQuark,	/* resource name quark	    */
205    XtWidgetBaseOffset,	/* offset from ancestor	    */
206    XtProcedureArg	/* procedure to invoke	    */
207} XtAddressMode;
208
209typedef struct {
210    XtAddressMode   address_mode;
211    XtPointer	    address_id;
212    Cardinal	    size;
213} XtConvertArgRec, *XtConvertArgList;
214
215typedef void (*XtConvertArgProc)(
216    Widget 		/* widget */,
217    Cardinal*		/* size */,
218    XrmValue*		/* value */
219);
220
221typedef struct {
222    XtGeometryMask request_mode;
223    Position x, y;
224    Dimension width, height, border_width;
225    Widget sibling;
226    int stack_mode;   /* Above, Below, TopIf, BottomIf, Opposite, DontChange */
227} XtWidgetGeometry;
228
229/* Additions to Xlib geometry requests: ask what would happen, don't do it */
230#define XtCWQueryOnly	(1 << 7)
231
232/* Additions to Xlib stack modes: don't change stack order */
233#define XtSMDontChange	5
234
235typedef void (*XtConverter)( /* obsolete */
236    XrmValue*		/* args */,
237    Cardinal*		/* num_args */,
238    XrmValue*		/* from */,
239    XrmValue*		/* to */
240);
241
242typedef Boolean (*XtTypeConverter)(
243    Display*		/* dpy */,
244    XrmValue*		/* args */,
245    Cardinal*		/* num_args */,
246    XrmValue*		/* from */,
247    XrmValue*		/* to */,
248    XtPointer*		/* converter_data */
249);
250
251typedef void (*XtDestructor)(
252    XtAppContext	/* app */,
253    XrmValue*		/* to */,
254    XtPointer 		/* converter_data */,
255    XrmValue*		/* args */,
256    Cardinal*		/* num_args */
257);
258
259typedef Opaque XtCacheRef;
260
261typedef Opaque XtActionHookId;
262
263typedef void (*XtActionHookProc)(
264    Widget		/* w */,
265    XtPointer		/* client_data */,
266    String		/* action_name */,
267    XEvent*		/* event */,
268    String*		/* params */,
269    Cardinal*		/* num_params */
270);
271
272typedef unsigned long XtBlockHookId;
273
274typedef void (*XtBlockHookProc)(
275    XtPointer		/* client_data */
276);
277
278typedef void (*XtKeyProc)(
279    Display*		/* dpy */,
280    _XtKeyCode 		/* keycode */,
281    Modifiers		/* modifiers */,
282    Modifiers*		/* modifiers_return */,
283    KeySym*		/* keysym_return */
284);
285
286typedef void (*XtCaseProc)(
287    Display*		/* display */,
288    KeySym		/* keysym */,
289    KeySym*		/* lower_return */,
290    KeySym*		/* upper_return */
291);
292
293typedef void (*XtEventHandler)(
294    Widget 		/* widget */,
295    XtPointer 		/* closure */,
296    XEvent*		/* event */,
297    Boolean*		/* continue_to_dispatch */
298);
299typedef unsigned long EventMask;
300
301typedef enum {XtListHead, XtListTail } XtListPosition;
302
303typedef unsigned long	XtInputMask;
304#define XtInputNoneMask		0L
305#define XtInputReadMask		(1L<<0)
306#define XtInputWriteMask	(1L<<1)
307#define XtInputExceptMask	(1L<<2)
308
309typedef void (*XtTimerCallbackProc)(
310    XtPointer 		/* closure */,
311    XtIntervalId*	/* id */
312);
313
314typedef void (*XtInputCallbackProc)(
315    XtPointer 		/* closure */,
316    int*		/* source */,
317    XtInputId*		/* id */
318);
319
320typedef void (*XtSignalCallbackProc)(
321    XtPointer		/* closure */,
322    XtSignalId*		/* id */
323);
324
325typedef struct {
326    String	name;
327    XtArgVal	value;
328} Arg, *ArgList;
329
330typedef XtPointer	XtVarArgsList;
331
332typedef void (*XtCallbackProc)(
333    Widget 		/* widget */,
334    XtPointer 		/* closure */,	/* data the application registered */
335    XtPointer 		/* call_data */	/* callback specific data */
336);
337
338typedef struct _XtCallbackRec {
339    XtCallbackProc  callback;
340    XtPointer	    closure;
341} XtCallbackRec, *XtCallbackList;
342
343typedef enum {
344	XtCallbackNoList,
345	XtCallbackHasNone,
346	XtCallbackHasSome
347} XtCallbackStatus;
348
349typedef enum  {
350    XtGeometryYes,	  /* Request accepted. */
351    XtGeometryNo,	  /* Request denied. */
352    XtGeometryAlmost,	  /* Request denied, but willing to take replyBox. */
353    XtGeometryDone	  /* Request accepted and done. */
354} XtGeometryResult;
355
356typedef enum {XtGrabNone, XtGrabNonexclusive, XtGrabExclusive} XtGrabKind;
357
358typedef struct {
359    Widget  shell_widget;
360    Widget  enable_widget;
361} XtPopdownIDRec, *XtPopdownID;
362
363typedef struct _XtResource {
364    String	resource_name;	/* Resource name			    */
365    String	resource_class;	/* Resource class			    */
366    String	resource_type;	/* Representation type desired		    */
367    Cardinal	resource_size;	/* Size in bytes of representation	    */
368    Cardinal	resource_offset;/* Offset from base to put resource value   */
369    String	default_type;	/* representation type of specified default */
370    XtPointer	default_addr;	/* Address of default resource		    */
371} XtResource, *XtResourceList;
372
373typedef void (*XtResourceDefaultProc)(
374    Widget	/* widget */,
375    int		/* offset */,
376    XrmValue*	/* value */
377);
378
379typedef String (*XtLanguageProc)(
380    Display*	/* dpy */,
381    String	/* xnl */,
382    XtPointer	/* client_data */
383);
384
385typedef void (*XtErrorMsgHandler)(
386    String 		/* name */,
387    String		/* type */,
388    String		/* class */,
389    String		/* default */,
390    String*		/* params */,
391    Cardinal*		/* num_params */
392);
393
394typedef void (*XtErrorHandler)(
395  String		/* msg */
396);
397
398typedef void (*XtCreatePopupChildProc)(
399    Widget	/* shell */
400);
401
402typedef Boolean (*XtWorkProc)(
403    XtPointer 		/* closure */	/* data the application registered */
404);
405
406typedef struct {
407    char match;
408    _XtString substitution;
409} SubstitutionRec, *Substitution;
410
411typedef Boolean (*XtFilePredicate)(
412   String /* filename */
413);
414
415typedef XtPointer XtRequestId;
416
417typedef Boolean (*XtConvertSelectionProc)(
418    Widget 		/* widget */,
419    Atom*		/* selection */,
420    Atom*		/* target */,
421    Atom*		/* type_return */,
422    XtPointer*		/* value_return */,
423    unsigned long*	/* length_return */,
424    int*		/* format_return */
425);
426
427typedef void (*XtLoseSelectionProc)(
428    Widget 		/* widget */,
429    Atom*		/* selection */
430);
431
432typedef void (*XtSelectionDoneProc)(
433    Widget 		/* widget */,
434    Atom*		/* selection */,
435    Atom*		/* target */
436);
437
438typedef void (*XtSelectionCallbackProc)(
439    Widget 		/* widget */,
440    XtPointer 		/* closure */,
441    Atom*		/* selection */,
442    Atom*		/* type */,
443    XtPointer 		/* value */,
444    unsigned long*	/* length */,
445    int*		/* format */
446);
447
448typedef void (*XtLoseSelectionIncrProc)(
449    Widget 		/* widget */,
450    Atom*		/* selection */,
451    XtPointer 		/* client_data */
452);
453
454typedef void (*XtSelectionDoneIncrProc)(
455    Widget 		/* widget */,
456    Atom*		/* selection */,
457    Atom*		/* target */,
458    XtRequestId*	/* receiver_id */,
459    XtPointer 		/* client_data */
460);
461
462typedef Boolean (*XtConvertSelectionIncrProc)(
463    Widget 		/* widget */,
464    Atom*		/* selection */,
465    Atom*		/* target */,
466    Atom*		/* type */,
467    XtPointer*		/* value */,
468    unsigned long*	/* length */,
469    int*		/* format */,
470    unsigned long*	/* max_length */,
471    XtPointer 		/* client_data */,
472    XtRequestId*	/* receiver_id */
473);
474
475typedef void (*XtCancelConvertSelectionProc)(
476    Widget 		/* widget */,
477    Atom*		/* selection */,
478    Atom*		/* target */,
479    XtRequestId*	/* receiver_id */,
480    XtPointer 		/* client_data */
481);
482
483typedef Boolean (*XtEventDispatchProc)(
484    XEvent*		/* event */
485);
486
487typedef void (*XtExtensionSelectProc)(
488    Widget		/* widget */,
489    int*		/* event_types */,
490    XtPointer*		/* select_data */,
491    int			/* count */,
492    XtPointer		/* client_data */
493);
494
495/***************************************************************
496 *
497 * Exported Interfaces
498 *
499 ****************************************************************/
500
501_XFUNCPROTOBEGIN
502
503extern Boolean XtConvertAndStore(
504    Widget 		/* widget */,
505    _Xconst _XtString 	/* from_type */,
506    XrmValue*		/* from */,
507    _Xconst _XtString 	/* to_type */,
508    XrmValue*		/* to_in_out */
509);
510
511extern Boolean XtCallConverter(
512    Display*		/* dpy */,
513    XtTypeConverter 	/* converter */,
514    XrmValuePtr 	/* args */,
515    Cardinal 		/* num_args */,
516    XrmValuePtr 	/* from */,
517    XrmValue*		/* to_in_out */,
518    XtCacheRef*		/* cache_ref_return */
519);
520
521extern Boolean XtDispatchEvent(
522    XEvent* 		/* event */
523);
524
525extern Boolean XtCallAcceptFocus(
526    Widget 		/* widget */,
527    Time*		/* time */
528);
529
530extern Boolean XtPeekEvent( /* obsolete */
531    XEvent*		/* event_return */
532);
533
534extern Boolean XtAppPeekEvent(
535    XtAppContext 	/* app_context */,
536    XEvent*		/* event_return */
537);
538
539extern Boolean XtIsSubclass(
540    Widget 		/* widget */,
541    WidgetClass 	/* widgetClass */
542);
543
544extern Boolean XtIsObject(
545    Widget 		/* object */
546);
547
548extern Boolean _XtCheckSubclassFlag( /* implementation-private */
549    Widget		/* object */,
550    _XtXtEnum		/* type_flag */
551);
552
553extern Boolean _XtIsSubclassOf( /* implementation-private */
554    Widget		/* object */,
555    WidgetClass		/* widget_class */,
556    WidgetClass		/* flag_class */,
557    _XtXtEnum		/* type_flag */
558);
559
560extern Boolean XtIsManaged(
561    Widget 		/* rectobj */
562);
563
564extern Boolean XtIsRealized(
565    Widget 		/* widget */
566);
567
568extern Boolean XtIsSensitive(
569    Widget 		/* widget */
570);
571
572extern Boolean XtOwnSelection(
573    Widget 		/* widget */,
574    Atom 		/* selection */,
575    Time 		/* time */,
576    XtConvertSelectionProc /* convert */,
577    XtLoseSelectionProc	/* lose */,
578    XtSelectionDoneProc /* done */
579);
580
581extern Boolean XtOwnSelectionIncremental(
582    Widget 		/* widget */,
583    Atom 		/* selection */,
584    Time 		/* time */,
585    XtConvertSelectionIncrProc	/* convert_callback */,
586    XtLoseSelectionIncrProc	/* lose_callback */,
587    XtSelectionDoneIncrProc	/* done_callback */,
588    XtCancelConvertSelectionProc /* cancel_callback */,
589    XtPointer 		/* client_data */
590);
591
592extern XtGeometryResult XtMakeResizeRequest(
593    Widget 		/* widget */,
594    _XtDimension	/* width */,
595    _XtDimension	/* height */,
596    Dimension*		/* width_return */,
597    Dimension*		/* height_return */
598);
599
600extern void XtTranslateCoords(
601    Widget 		/* widget */,
602    _XtPosition		/* x */,
603    _XtPosition		/* y */,
604    Position*		/* rootx_return */,
605    Position*		/* rooty_return */
606);
607
608extern KeySym* XtGetKeysymTable(
609    Display*		/* dpy */,
610    KeyCode*		/* min_keycode_return */,
611    int*		/* keysyms_per_keycode_return */
612);
613
614extern void XtKeysymToKeycodeList(
615    Display*		/* dpy */,
616    KeySym 		/* keysym */,
617    KeyCode**		/* keycodes_return */,
618    Cardinal*		/* keycount_return */
619);
620
621extern void XtStringConversionWarning( /* obsolete */
622    _Xconst _XtString	/* from_value */,
623    _Xconst _XtString	/* to_type */
624);
625
626extern void XtDisplayStringConversionWarning(
627    Display*	 	/* dpy */,
628    _Xconst _XtString	/* from_value */,
629    _Xconst _XtString	/* to_type */
630);
631
632externalref XtConvertArgRec const colorConvertArgs[];
633externalref XtConvertArgRec const screenConvertArg[];
634
635extern void XtAppAddConverter( /* obsolete */
636    XtAppContext	/* app_context */,
637    _Xconst _XtString	/* from_type */,
638    _Xconst _XtString	/* to_type */,
639    XtConverter 	/* converter */,
640    XtConvertArgList	/* convert_args */,
641    Cardinal 		/* num_args */
642);
643
644extern void XtAddConverter( /* obsolete */
645    _Xconst _XtString	/* from_type */,
646    _Xconst _XtString 	/* to_type */,
647    XtConverter 	/* converter */,
648    XtConvertArgList 	/* convert_args */,
649    Cardinal 		/* num_args */
650);
651
652extern void XtSetTypeConverter(
653    _Xconst _XtString 	/* from_type */,
654    _Xconst _XtString 	/* to_type */,
655    XtTypeConverter 	/* converter */,
656    XtConvertArgList 	/* convert_args */,
657    Cardinal 		/* num_args */,
658    XtCacheType 	/* cache_type */,
659    XtDestructor 	/* destructor */
660);
661
662extern void XtAppSetTypeConverter(
663    XtAppContext 	/* app_context */,
664    _Xconst _XtString 	/* from_type */,
665    _Xconst _XtString 	/* to_type */,
666    XtTypeConverter 	/* converter */,
667    XtConvertArgList 	/* convert_args */,
668    Cardinal 		/* num_args */,
669    XtCacheType 	/* cache_type */,
670    XtDestructor 	/* destructor */
671);
672
673extern void XtConvert( /* obsolete */
674    Widget 		/* widget */,
675    _Xconst _XtString 	/* from_type */,
676    XrmValue*		/* from */,
677    _Xconst _XtString 	/* to_type */,
678    XrmValue*		/* to_return */
679);
680
681extern void XtDirectConvert( /* obsolete */
682    XtConverter 	/* converter */,
683    XrmValuePtr 	/* args */,
684    Cardinal 		/* num_args */,
685    XrmValuePtr 	/* from */,
686    XrmValue*		/* to_return */
687);
688
689/****************************************************************
690 *
691 * Translation Management
692 *
693 ****************************************************************/
694
695extern XtTranslations XtParseTranslationTable(
696    _Xconst _XtString	/* table */
697);
698
699extern XtAccelerators XtParseAcceleratorTable(
700    _Xconst _XtString	/* source */
701);
702
703extern void XtOverrideTranslations(
704    Widget 		/* widget */,
705    XtTranslations 	/* translations */
706);
707
708extern void XtAugmentTranslations(
709    Widget 		/* widget */,
710    XtTranslations 	/* translations */
711);
712
713extern void XtInstallAccelerators(
714    Widget 		/* destination */,
715    Widget		/* source */
716);
717
718extern void XtInstallAllAccelerators(
719    Widget 		/* destination */,
720    Widget		/* source */
721);
722
723extern void XtUninstallTranslations(
724    Widget 		/* widget */
725);
726
727extern void XtAppAddActions(
728    XtAppContext 	/* app_context */,
729    XtActionList 	/* actions */,
730    Cardinal 		/* num_actions */
731);
732
733extern void XtAddActions( /* obsolete */
734    XtActionList 	/* actions */,
735    Cardinal 		/* num_actions */
736);
737
738extern XtActionHookId XtAppAddActionHook(
739    XtAppContext 	/* app_context */,
740    XtActionHookProc 	/* proc */,
741    XtPointer 		/* client_data */
742);
743
744extern void XtRemoveActionHook(
745    XtActionHookId 	/* id */
746);
747
748extern void XtGetActionList(
749    WidgetClass		/* widget_class */,
750    XtActionList*	/* actions_return */,
751    Cardinal*		/* num_actions_return */
752);
753
754extern void XtCallActionProc(
755    Widget		/* widget */,
756    _Xconst _XtString	/* action */,
757    XEvent*		/* event */,
758    String*		/* params */,
759    Cardinal		/* num_params */
760);
761
762extern void XtRegisterGrabAction(
763    XtActionProc 	/* action_proc */,
764    _XtBoolean 		/* owner_events */,
765    unsigned int 	/* event_mask */,
766    int			/* pointer_mode */,
767    int	 		/* keyboard_mode */
768);
769
770extern void XtSetMultiClickTime(
771    Display*		/* dpy */,
772    int 		/* milliseconds */
773);
774
775extern int XtGetMultiClickTime(
776    Display*		/* dpy */
777);
778
779extern KeySym XtGetActionKeysym(
780    XEvent*		/* event */,
781    Modifiers*		/* modifiers_return */
782);
783
784/***************************************************************
785 *
786 * Keycode and Keysym procedures for translation management
787 *
788 ****************************************************************/
789
790extern void XtTranslateKeycode(
791    Display*		/* dpy */,
792    _XtKeyCode 		/* keycode */,
793    Modifiers 		/* modifiers */,
794    Modifiers*		/* modifiers_return */,
795    KeySym*		/* keysym_return */
796);
797
798extern void XtTranslateKey(
799    Display*		/* dpy */,
800    _XtKeyCode		/* keycode */,
801    Modifiers		/* modifiers */,
802    Modifiers*		/* modifiers_return */,
803    KeySym*		/* keysym_return */
804);
805
806extern void XtSetKeyTranslator(
807    Display*		/* dpy */,
808    XtKeyProc 		/* proc */
809);
810
811extern void XtRegisterCaseConverter(
812    Display*		/* dpy */,
813    XtCaseProc 		/* proc */,
814    KeySym 		/* start */,
815    KeySym 		/* stop */
816);
817
818extern void XtConvertCase(
819    Display*		/* dpy */,
820    KeySym 		/* keysym */,
821    KeySym*		/* lower_return */,
822    KeySym*		/* upper_return */
823);
824
825/****************************************************************
826 *
827 * Event Management
828 *
829 ****************************************************************/
830
831/* XtAllEvents is valid only for XtRemoveEventHandler and
832 * XtRemoveRawEventHandler; don't use it to select events!
833 */
834#define XtAllEvents ((EventMask) -1L)
835
836extern void XtAddEventHandler(
837    Widget 		/* widget */,
838    EventMask 		/* event_mask */,
839    _XtBoolean 		/* nonmaskable */,
840    XtEventHandler 	/* proc */,
841    XtPointer 		/* closure */
842);
843
844extern void XtRemoveEventHandler(
845    Widget 		/* widget */,
846    EventMask 		/* event_mask */,
847    _XtBoolean 		/* nonmaskable */,
848    XtEventHandler 	/* proc */,
849    XtPointer 		/* closure */
850);
851
852extern void XtAddRawEventHandler(
853    Widget 		/* widget */,
854    EventMask 		/* event_mask */,
855    _XtBoolean 		/* nonmaskable */,
856    XtEventHandler 	/* proc */,
857    XtPointer 		/* closure */
858);
859
860extern void XtRemoveRawEventHandler(
861    Widget 		/* widget */,
862    EventMask 		/* event_mask */,
863    _XtBoolean 		/* nonmaskable */,
864    XtEventHandler 	/* proc */,
865    XtPointer 		/* closure */
866);
867
868extern void XtInsertEventHandler(
869    Widget 		/* widget */,
870    EventMask 		/* event_mask */,
871    _XtBoolean 		/* nonmaskable */,
872    XtEventHandler 	/* proc */,
873    XtPointer 		/* closure */,
874    XtListPosition 	/* position */
875);
876
877extern void XtInsertRawEventHandler(
878    Widget 		/* widget */,
879    EventMask 		/* event_mask */,
880    _XtBoolean 		/* nonmaskable */,
881    XtEventHandler 	/* proc */,
882    XtPointer 		/* closure */,
883    XtListPosition 	/* position */
884);
885
886extern XtEventDispatchProc XtSetEventDispatcher(
887    Display*		/* dpy */,
888    int			/* event_type */,
889    XtEventDispatchProc	/* proc */
890);
891
892extern Boolean XtDispatchEventToWidget(
893    Widget		/* widget */,
894    XEvent*		/* event */
895);
896
897extern void XtInsertEventTypeHandler(
898    Widget		/* widget */,
899    int			/* type */,
900    XtPointer		/* select_data */,
901    XtEventHandler	/* proc */,
902    XtPointer		/* closure */,
903    XtListPosition	/* position */
904);
905
906extern void XtRemoveEventTypeHandler(
907    Widget		/* widget */,
908    int			/* type */,
909    XtPointer		/* select_data */,
910    XtEventHandler	/* proc */,
911    XtPointer		/* closure */
912);
913
914extern EventMask XtBuildEventMask(
915    Widget 		/* widget */
916);
917
918extern void XtRegisterExtensionSelector(
919    Display*		/* dpy */,
920    int			/* min_event_type */,
921    int			/* max_event_type */,
922    XtExtensionSelectProc /* proc */,
923    XtPointer		/* client_data */
924);
925
926extern void XtAddGrab(
927    Widget 		/* widget */,
928    _XtBoolean 		/* exclusive */,
929    _XtBoolean 		/* spring_loaded */
930);
931
932extern void XtRemoveGrab(
933    Widget 		/* widget */
934);
935
936extern void XtProcessEvent( /* obsolete */
937    XtInputMask 		/* mask */
938);
939
940extern void XtAppProcessEvent(
941    XtAppContext 		/* app_context */,
942    XtInputMask 		/* mask */
943);
944
945extern void XtMainLoop( /* obsolete */
946    void
947);
948
949extern void XtAppMainLoop(
950    XtAppContext 		/* app_context */
951);
952
953extern void XtAddExposureToRegion(
954    XEvent*		/* event */,
955    Region 		/* region */
956);
957
958extern void XtSetKeyboardFocus(
959    Widget		/* subtree */,
960    Widget 		/* descendent */
961);
962
963extern Widget XtGetKeyboardFocusWidget(
964    Widget		/* widget */
965);
966
967extern XEvent* XtLastEventProcessed(
968    Display*		/* dpy */
969);
970
971extern Time XtLastTimestampProcessed(
972    Display*		/* dpy */
973);
974
975/****************************************************************
976 *
977 * Event Gathering Routines
978 *
979 ****************************************************************/
980
981extern XtIntervalId XtAddTimeOut( /* obsolete */
982    unsigned long 	/* interval */,
983    XtTimerCallbackProc /* proc */,
984    XtPointer 		/* closure */
985);
986
987extern XtIntervalId XtAppAddTimeOut(
988    XtAppContext 	/* app_context */,
989    unsigned long 	/* interval */,
990    XtTimerCallbackProc /* proc */,
991    XtPointer 		/* closure */
992);
993
994extern void XtRemoveTimeOut(
995    XtIntervalId 	/* timer */
996);
997
998extern XtInputId XtAddInput( /* obsolete */
999    int 		/* source */,
1000    XtPointer 		/* condition */,
1001    XtInputCallbackProc /* proc */,
1002    XtPointer 		/* closure */
1003);
1004
1005extern XtInputId XtAppAddInput(
1006    XtAppContext       	/* app_context */,
1007    int 		/* source */,
1008    XtPointer 		/* condition */,
1009    XtInputCallbackProc /* proc */,
1010    XtPointer 		/* closure */
1011);
1012
1013extern void XtRemoveInput(
1014    XtInputId 		/* id */
1015);
1016
1017extern XtSignalId XtAddSignal(
1018    XtSignalCallbackProc /* proc */,
1019    XtPointer		/* closure */);
1020
1021extern XtSignalId XtAppAddSignal(
1022    XtAppContext       	/* app_context */,
1023    XtSignalCallbackProc /* proc */,
1024    XtPointer 		/* closure */
1025);
1026
1027extern void XtRemoveSignal(
1028    XtSignalId 		/* id */
1029);
1030
1031extern void XtNoticeSignal(
1032    XtSignalId		/* id */
1033);
1034
1035extern void XtNextEvent( /* obsolete */
1036    XEvent* 		/* event */
1037);
1038
1039extern void XtAppNextEvent(
1040    XtAppContext 	/* app_context */,
1041    XEvent*		/* event_return */
1042);
1043
1044#define XtIMXEvent		1
1045#define XtIMTimer		2
1046#define XtIMAlternateInput	4
1047#define XtIMSignal		8
1048#define XtIMAll (XtIMXEvent | XtIMTimer | XtIMAlternateInput | XtIMSignal)
1049
1050extern Boolean XtPending( /* obsolete */
1051    void
1052);
1053
1054extern XtInputMask XtAppPending(
1055    XtAppContext 	/* app_context */
1056);
1057
1058extern XtBlockHookId XtAppAddBlockHook(
1059    XtAppContext 	/* app_context */,
1060    XtBlockHookProc 	/* proc */,
1061    XtPointer 		/* client_data */
1062);
1063
1064extern void XtRemoveBlockHook(
1065    XtBlockHookId 	/* id */
1066);
1067
1068/****************************************************************
1069 *
1070 * Random utility routines
1071 *
1072 ****************************************************************/
1073
1074#define XtIsRectObj(object)	(_XtCheckSubclassFlag(object, (XtEnum)0x02))
1075#define XtIsWidget(object)	(_XtCheckSubclassFlag(object, (XtEnum)0x04))
1076#define XtIsComposite(widget)	(_XtCheckSubclassFlag(widget, (XtEnum)0x08))
1077#define XtIsConstraint(widget)	(_XtCheckSubclassFlag(widget, (XtEnum)0x10))
1078#define XtIsShell(widget)	(_XtCheckSubclassFlag(widget, (XtEnum)0x20))
1079
1080#undef XtIsOverrideShell
1081extern Boolean XtIsOverrideShell(Widget /* object */);
1082#define XtIsOverrideShell(widget) \
1083    (_XtIsSubclassOf(widget, (WidgetClass)overrideShellWidgetClass, \
1084		     (WidgetClass)shellWidgetClass, (XtEnum)0x20))
1085
1086#define XtIsWMShell(widget)	(_XtCheckSubclassFlag(widget, (XtEnum)0x40))
1087
1088#undef XtIsVendorShell
1089extern Boolean XtIsVendorShell(Widget /* object */);
1090#define XtIsVendorShell(widget)	\
1091    (_XtIsSubclassOf(widget, (WidgetClass)vendorShellWidgetClass, \
1092		     (WidgetClass)wmShellWidgetClass, (XtEnum)0x40))
1093
1094#undef XtIsTransientShell
1095extern Boolean XtIsTransientShell(Widget /* object */);
1096#define XtIsTransientShell(widget) \
1097    (_XtIsSubclassOf(widget, (WidgetClass)transientShellWidgetClass, \
1098		     (WidgetClass)wmShellWidgetClass, (XtEnum)0x40))
1099#define XtIsTopLevelShell(widget) (_XtCheckSubclassFlag(widget, (XtEnum)0x80))
1100
1101#undef XtIsApplicationShell
1102extern Boolean XtIsApplicationShell(Widget /* object */);
1103#define XtIsApplicationShell(widget) \
1104    (_XtIsSubclassOf(widget, (WidgetClass)applicationShellWidgetClass, \
1105		     (WidgetClass)topLevelShellWidgetClass, (XtEnum)0x80))
1106
1107#undef XtIsSessionShell
1108extern Boolean XtIsSessionShell(Widget /* object */);
1109#define XtIsSessionShell(widget) \
1110    (_XtIsSubclassOf(widget, (WidgetClass)sessionShellWidgetClass, \
1111		     (WidgetClass)topLevelShellWidgetClass, (XtEnum)0x80))
1112
1113extern void XtRealizeWidget(
1114    Widget 		/* widget */
1115);
1116
1117void XtUnrealizeWidget(
1118    Widget 		/* widget */
1119);
1120
1121extern void XtDestroyWidget(
1122    Widget 		/* widget */
1123);
1124
1125extern void XtSetSensitive(
1126    Widget 		/* widget */,
1127    _XtBoolean 		/* sensitive */
1128);
1129
1130extern void XtSetMappedWhenManaged(
1131    Widget 		/* widget */,
1132    _XtBoolean 		/* mapped_when_managed */
1133);
1134
1135extern Widget XtNameToWidget(
1136    Widget 		/* reference */,
1137    _Xconst _XtString	/* names */
1138);
1139
1140extern Widget XtWindowToWidget(
1141    Display*		/* display */,
1142    Window 		/* window */
1143);
1144
1145extern XtPointer XtGetClassExtension(
1146    WidgetClass		/* object_class */,
1147    Cardinal		/* byte_offset */,
1148    XrmQuark		/* type */,
1149    long		/* version */,
1150    Cardinal		/* record_size */
1151);
1152
1153/***************************************************************
1154 *
1155 * Arg lists
1156 *
1157 ****************************************************************/
1158
1159
1160#define XtSetArg(arg, n, d) \
1161    ((void)( (arg).name = (n), (arg).value = (XtArgVal)(d) ))
1162
1163extern ArgList XtMergeArgLists(
1164    ArgList 		/* args1 */,
1165    Cardinal 		/* num_args1 */,
1166    ArgList 		/* args2 */,
1167    Cardinal 		/* num_args2 */
1168);
1169
1170/***************************************************************
1171 *
1172 * Vararg lists
1173 *
1174 ****************************************************************/
1175
1176#define XtVaNestedList  "XtVaNestedList"
1177#define XtVaTypedArg    "XtVaTypedArg"
1178
1179extern XtVarArgsList XtVaCreateArgsList(
1180    XtPointer		/*unused*/, ...
1181) _X_SENTINEL(0);
1182
1183/*************************************************************
1184 *
1185 * Information routines
1186 *
1187 ************************************************************/
1188
1189#ifndef _XtIntrinsicP_h
1190
1191/* We're not included from the private file, so define these */
1192
1193extern Display *XtDisplay(
1194    Widget 		/* widget */
1195);
1196
1197extern Display *XtDisplayOfObject(
1198    Widget 		/* object */
1199);
1200
1201extern Screen *XtScreen(
1202    Widget 		/* widget */
1203);
1204
1205extern Screen *XtScreenOfObject(
1206    Widget 		/* object */
1207);
1208
1209extern Window XtWindow(
1210    Widget 		/* widget */
1211);
1212
1213extern Window XtWindowOfObject(
1214    Widget 		/* object */
1215);
1216
1217extern String XtName(
1218    Widget 		/* object */
1219);
1220
1221extern WidgetClass XtSuperclass(
1222    Widget 		/* object */
1223);
1224
1225extern WidgetClass XtClass(
1226    Widget 		/* object */
1227);
1228
1229extern Widget XtParent(
1230    Widget 		/* widget */
1231);
1232
1233#endif /*_XtIntrinsicP_h*/
1234
1235#undef XtMapWidget
1236extern void XtMapWidget(Widget /* w */);
1237#define XtMapWidget(widget)	XMapWindow(XtDisplay(widget), XtWindow(widget))
1238
1239#undef XtUnmapWidget
1240extern void XtUnmapWidget(Widget /* w */);
1241#define XtUnmapWidget(widget)	\
1242		XUnmapWindow(XtDisplay(widget), XtWindow(widget))
1243
1244extern void XtAddCallback(
1245    Widget 		/* widget */,
1246    _Xconst _XtString 	/* callback_name */,
1247    XtCallbackProc 	/* callback */,
1248    XtPointer 		/* closure */
1249);
1250
1251extern void XtRemoveCallback(
1252    Widget 		/* widget */,
1253    _Xconst _XtString 	/* callback_name */,
1254    XtCallbackProc 	/* callback */,
1255    XtPointer 		/* closure */
1256);
1257
1258extern void XtAddCallbacks(
1259    Widget 		/* widget */,
1260    _Xconst _XtString	/* callback_name */,
1261    XtCallbackList 	/* callbacks */
1262);
1263
1264extern void XtRemoveCallbacks(
1265    Widget 		/* widget */,
1266    _Xconst _XtString 	/* callback_name */,
1267    XtCallbackList 	/* callbacks */
1268);
1269
1270extern void XtRemoveAllCallbacks(
1271    Widget 		/* widget */,
1272    _Xconst _XtString 	/* callback_name */
1273);
1274
1275
1276extern void XtCallCallbacks(
1277    Widget 		/* widget */,
1278    _Xconst _XtString 	/* callback_name */,
1279    XtPointer 		/* call_data */
1280);
1281
1282extern void XtCallCallbackList(
1283    Widget		/* widget */,
1284    XtCallbackList 	/* callbacks */,
1285    XtPointer 		/* call_data */
1286);
1287
1288extern XtCallbackStatus XtHasCallbacks(
1289    Widget 		/* widget */,
1290    _Xconst _XtString 	/* callback_name */
1291);
1292
1293/****************************************************************
1294 *
1295 * Geometry Management
1296 *
1297 ****************************************************************/
1298
1299
1300extern XtGeometryResult XtMakeGeometryRequest(
1301    Widget 		/* widget */,
1302    XtWidgetGeometry*	/* request */,
1303    XtWidgetGeometry*	/* reply_return */
1304);
1305
1306extern XtGeometryResult XtQueryGeometry(
1307    Widget 		/* widget */,
1308    XtWidgetGeometry*	/* intended */,
1309    XtWidgetGeometry*	/* preferred_return */
1310);
1311
1312extern Widget XtCreatePopupShell(
1313    _Xconst _XtString	/* name */,
1314    WidgetClass 	/* widgetClass */,
1315    Widget 		/* parent */,
1316    ArgList 		/* args */,
1317    Cardinal 		/* num_args */
1318);
1319
1320extern Widget XtVaCreatePopupShell(
1321    _Xconst _XtString	/* name */,
1322    WidgetClass		/* widgetClass */,
1323    Widget		/* parent */,
1324    ...
1325) _X_SENTINEL(0);
1326
1327extern void XtPopup(
1328    Widget 		/* popup_shell */,
1329    XtGrabKind 		/* grab_kind */
1330);
1331
1332extern void XtPopupSpringLoaded(
1333    Widget 		/* popup_shell */
1334);
1335
1336extern void XtCallbackNone(
1337    Widget 		/* widget */,
1338    XtPointer 		/* closure */,
1339    XtPointer 		/* call_data */
1340);
1341
1342extern void XtCallbackNonexclusive(
1343    Widget 		/* widget */,
1344    XtPointer 		/* closure */,
1345    XtPointer 		/* call_data */
1346);
1347
1348extern void XtCallbackExclusive(
1349    Widget 		/* widget */,
1350    XtPointer 		/* closure */,
1351    XtPointer 		/* call_data */
1352);
1353
1354extern void XtPopdown(
1355    Widget 		/* popup_shell */
1356);
1357
1358extern void XtCallbackPopdown(
1359    Widget 		/* widget */,
1360    XtPointer 		/* closure */,
1361    XtPointer 		/* call_data */
1362);
1363
1364extern void XtMenuPopupAction(
1365    Widget 		/* widget */,
1366    XEvent*		/* event */,
1367    String*		/* params */,
1368    Cardinal*		/* num_params */
1369);
1370
1371extern Widget XtCreateWidget(
1372    _Xconst _XtString 	/* name */,
1373    WidgetClass 	/* widget_class */,
1374    Widget 		/* parent */,
1375    ArgList 		/* args */,
1376    Cardinal 		/* num_args */
1377);
1378
1379extern Widget XtCreateManagedWidget(
1380    _Xconst _XtString 	/* name */,
1381    WidgetClass 	/* widget_class */,
1382    Widget 		/* parent */,
1383    ArgList 		/* args */,
1384    Cardinal 		/* num_args */
1385);
1386
1387extern Widget XtVaCreateWidget(
1388    _Xconst _XtString	/* name */,
1389    WidgetClass		/* widget */,
1390    Widget		/* parent */,
1391    ...
1392) _X_SENTINEL(0);
1393
1394extern Widget XtVaCreateManagedWidget(
1395    _Xconst _XtString	/* name */,
1396    WidgetClass		/* widget_class */,
1397    Widget		/* parent */,
1398    ...
1399) _X_SENTINEL(0);
1400
1401extern Widget XtCreateApplicationShell( /* obsolete */
1402    _Xconst _XtString 	/* name */,
1403    WidgetClass 	/* widget_class */,
1404    ArgList 		/* args */,
1405    Cardinal 		/* num_args */
1406);
1407
1408extern Widget XtAppCreateShell(
1409    _Xconst _XtString	/* application_name */,
1410    _Xconst _XtString	/* application_class */,
1411    WidgetClass 	/* widget_class */,
1412    Display*		/* display */,
1413    ArgList 		/* args */,
1414    Cardinal 		/* num_args */
1415);
1416
1417extern Widget XtVaAppCreateShell(
1418    _Xconst _XtString	/* application_name */,
1419    _Xconst _XtString	/* application_class */,
1420    WidgetClass		/* widget_class */,
1421    Display*		/* display */,
1422    ...
1423) _X_SENTINEL(0);
1424
1425/****************************************************************
1426 *
1427 * Toolkit initialization
1428 *
1429 ****************************************************************/
1430
1431extern void XtToolkitInitialize(
1432    void
1433);
1434
1435extern XtLanguageProc XtSetLanguageProc(
1436    XtAppContext	/* app_context */,
1437    XtLanguageProc	/* proc */,
1438    XtPointer		/* client_data */
1439);
1440
1441extern void XtDisplayInitialize(
1442    XtAppContext 	/* app_context */,
1443    Display*		/* dpy */,
1444    _Xconst _XtString	/* application_name */,
1445    _Xconst _XtString	/* application_class */,
1446    XrmOptionDescRec* 	/* options */,
1447    Cardinal 		/* num_options */,
1448    int*		/* argc */,
1449    _XtString*		/* argv */
1450);
1451
1452extern Widget XtOpenApplication(
1453    XtAppContext*	/* app_context_return */,
1454    _Xconst _XtString	/* application_class */,
1455    XrmOptionDescList 	/* options */,
1456    Cardinal 		/* num_options */,
1457    int*		/* argc_in_out */,
1458    _XtString*		/* argv_in_out */,
1459    String*		/* fallback_resources */,
1460    WidgetClass		/* widget_class */,
1461    ArgList 		/* args */,
1462    Cardinal 		/* num_args */
1463);
1464
1465extern Widget XtVaOpenApplication(
1466    XtAppContext*	/* app_context_return */,
1467    _Xconst _XtString	/* application_class */,
1468    XrmOptionDescList	/* options */,
1469    Cardinal		/* num_options */,
1470    int*		/* argc_in_out */,
1471    _XtString*		/* argv_in_out */,
1472    String*		/* fallback_resources */,
1473    WidgetClass		/* widget_class */,
1474    ...
1475) _X_SENTINEL(0);
1476
1477extern Widget XtAppInitialize( /* obsolete */
1478    XtAppContext*	/* app_context_return */,
1479    _Xconst _XtString	/* application_class */,
1480    XrmOptionDescList 	/* options */,
1481    Cardinal 		/* num_options */,
1482    int*		/* argc_in_out */,
1483    _XtString*		/* argv_in_out */,
1484    String*		/* fallback_resources */,
1485    ArgList 		/* args */,
1486    Cardinal 		/* num_args */
1487);
1488
1489extern Widget XtVaAppInitialize( /* obsolete */
1490    XtAppContext*	/* app_context_return */,
1491    _Xconst _XtString	/* application_class */,
1492    XrmOptionDescList	/* options */,
1493    Cardinal		/* num_options */,
1494    int*		/* argc_in_out */,
1495    _XtString*		/* argv_in_out */,
1496    String*		/* fallback_resources */,
1497    ...
1498) _X_SENTINEL(0);
1499
1500extern Widget XtInitialize( /* obsolete */
1501    _Xconst _XtString 	/* shell_name */,
1502    _Xconst _XtString 	/* application_class */,
1503    XrmOptionDescRec* 	/* options */,
1504    Cardinal 		/* num_options */,
1505    int*		/* argc */,
1506    _XtString*		/* argv */
1507);
1508
1509extern Display *XtOpenDisplay(
1510    XtAppContext 	/* app_context */,
1511    _Xconst _XtString	/* display_string */,
1512    _Xconst _XtString	/* application_name */,
1513    _Xconst _XtString	/* application_class */,
1514    XrmOptionDescRec*	/* options */,
1515    Cardinal 		/* num_options */,
1516    int*		/* argc */,
1517    _XtString*		/* argv */
1518);
1519
1520extern XtAppContext XtCreateApplicationContext(
1521    void
1522);
1523
1524extern void XtAppSetFallbackResources(
1525    XtAppContext 	/* app_context */,
1526    String*		/* specification_list */
1527);
1528
1529extern void XtDestroyApplicationContext(
1530    XtAppContext 	/* app_context */
1531);
1532
1533extern void XtInitializeWidgetClass(
1534    WidgetClass 	/* widget_class */
1535);
1536
1537extern XtAppContext XtWidgetToApplicationContext(
1538    Widget 		/* widget */
1539);
1540
1541extern XtAppContext XtDisplayToApplicationContext(
1542    Display*		/* dpy */
1543);
1544
1545extern XrmDatabase XtDatabase(
1546    Display*		/* dpy */
1547);
1548
1549extern XrmDatabase XtScreenDatabase(
1550    Screen*		/* screen */
1551);
1552
1553extern void XtCloseDisplay(
1554    Display*		/* dpy */
1555);
1556
1557extern void XtGetApplicationResources(
1558    Widget 		/* widget */,
1559    XtPointer 		/* base */,
1560    XtResourceList 	/* resources */,
1561    Cardinal 		/* num_resources */,
1562    ArgList 		/* args */,
1563    Cardinal 		/* num_args */
1564);
1565
1566extern void XtVaGetApplicationResources(
1567    Widget		/* widget */,
1568    XtPointer		/* base */,
1569    XtResourceList	/* resources */,
1570    Cardinal		/* num_resources */,
1571    ...
1572) _X_SENTINEL(0);
1573
1574extern void XtGetSubresources(
1575    Widget 		/* widget */,
1576    XtPointer 		/* base */,
1577    _Xconst _XtString 	/* name */,
1578    _Xconst _XtString 	/* class */,
1579    XtResourceList 	/* resources */,
1580    Cardinal 		/* num_resources */,
1581    ArgList 		/* args */,
1582    Cardinal 		/* num_args */
1583);
1584
1585extern void XtVaGetSubresources(
1586    Widget		/* widget */,
1587    XtPointer		/* base */,
1588    _Xconst _XtString	/* name */,
1589    _Xconst _XtString	/* class */,
1590    XtResourceList	/* resources */,
1591    Cardinal		/* num_resources */,
1592    ...
1593) _X_SENTINEL(0);
1594
1595extern void XtSetValues(
1596    Widget 		/* widget */,
1597    ArgList 		/* args */,
1598    Cardinal 		/* num_args */
1599);
1600
1601extern void XtVaSetValues(
1602    Widget		/* widget */,
1603    ...
1604) _X_SENTINEL(0);
1605
1606extern void XtGetValues(
1607    Widget 		/* widget */,
1608    ArgList 		/* args */,
1609    Cardinal 		/* num_args */
1610);
1611
1612extern void XtVaGetValues(
1613    Widget		/* widget */,
1614    ...
1615) _X_SENTINEL(0);
1616
1617extern void XtSetSubvalues(
1618    XtPointer 		/* base */,
1619    XtResourceList 	/* resources */,
1620    Cardinal 		/* num_resources */,
1621    ArgList 		/* args */,
1622    Cardinal 		/* num_args */
1623);
1624
1625extern void XtVaSetSubvalues(
1626    XtPointer		/* base */,
1627    XtResourceList	/* resources */,
1628    Cardinal		/* num_resources */,
1629    ...
1630) _X_SENTINEL(0);
1631
1632extern void XtGetSubvalues(
1633    XtPointer 		/* base */,
1634    XtResourceList 	/* resources */,
1635    Cardinal 		/* num_resources */,
1636    ArgList 		/* args */,
1637    Cardinal 		/* num_args */
1638);
1639
1640extern void XtVaGetSubvalues(
1641    XtPointer		/* base */,
1642    XtResourceList	/* resources */,
1643    Cardinal		/* num_resources */,
1644    ...
1645) _X_SENTINEL(0);
1646
1647extern void XtGetResourceList(
1648    WidgetClass 	/* widget_class */,
1649    XtResourceList*	/* resources_return */,
1650    Cardinal*		/* num_resources_return */
1651);
1652
1653extern void XtGetConstraintResourceList(
1654    WidgetClass 	/* widget_class */,
1655    XtResourceList*	/* resources_return */,
1656    Cardinal*		/* num_resources_return */
1657);
1658
1659#define XtUnspecifiedPixmap	((Pixmap)2)
1660#define XtUnspecifiedShellInt	(-1)
1661#define XtUnspecifiedWindow	((Window)2)
1662#define XtUnspecifiedWindowGroup ((Window)3)
1663#define XtCurrentDirectory	"XtCurrentDirectory"
1664#define XtDefaultForeground	"XtDefaultForeground"
1665#define XtDefaultBackground	"XtDefaultBackground"
1666#define XtDefaultFont		"XtDefaultFont"
1667#define XtDefaultFontSet	"XtDefaultFontSet"
1668
1669#define XtOffset(p_type,field) \
1670	((Cardinal) (((char *) (&(((p_type)NULL)->field))) - ((char *) NULL)))
1671
1672#ifdef offsetof
1673#define XtOffsetOf(s_type,field) offsetof(s_type,field)
1674#else
1675#define XtOffsetOf(s_type,field) XtOffset(s_type*,field)
1676#endif
1677
1678/*************************************************************
1679 *
1680 * Session Management
1681 *
1682 ************************************************************/
1683
1684typedef struct _XtCheckpointTokenRec {
1685    int		save_type;
1686    int		interact_style;
1687    Boolean	shutdown;
1688    Boolean	fast;
1689    Boolean	cancel_shutdown;
1690    int		phase;
1691    int		interact_dialog_type;	/* return */
1692    Boolean	request_cancel;		/* return */
1693    Boolean	request_next_phase;	/* return */
1694    Boolean	save_success;		/* return */
1695    int		type;		/* implementation private */
1696    Widget	widget;		/* implementation private */
1697} XtCheckpointTokenRec, *XtCheckpointToken;
1698
1699XtCheckpointToken XtSessionGetToken(
1700    Widget		/* widget */
1701);
1702
1703void XtSessionReturnToken(
1704    XtCheckpointToken	/* token */
1705);
1706
1707/*************************************************************
1708 *
1709 * Error Handling
1710 *
1711 ************************************************************/
1712
1713extern XtErrorMsgHandler XtAppSetErrorMsgHandler(
1714    XtAppContext 	/* app_context */,
1715    XtErrorMsgHandler 	/* handler */ _X_NORETURN
1716);
1717
1718extern void XtSetErrorMsgHandler( /* obsolete */
1719    XtErrorMsgHandler 	/* handler */ _X_NORETURN
1720);
1721
1722extern XtErrorMsgHandler XtAppSetWarningMsgHandler(
1723    XtAppContext 	/* app_context */,
1724    XtErrorMsgHandler 	/* handler */
1725);
1726
1727extern void XtSetWarningMsgHandler( /* obsolete */
1728    XtErrorMsgHandler 	/* handler */
1729);
1730
1731extern void XtAppErrorMsg(
1732    XtAppContext 	/* app_context */,
1733    _Xconst _XtString 	/* name */,
1734    _Xconst _XtString	/* type */,
1735    _Xconst _XtString	/* class */,
1736    _Xconst _XtString	/* default */,
1737    String*		/* params */,
1738    Cardinal*		/* num_params */
1739) _X_NORETURN;
1740
1741extern void XtErrorMsg( /* obsolete */
1742    _Xconst _XtString 	/* name */,
1743    _Xconst _XtString	/* type */,
1744    _Xconst _XtString	/* class */,
1745    _Xconst _XtString	/* default */,
1746    String*		/* params */,
1747    Cardinal*		/* num_params */
1748) _X_NORETURN;
1749
1750extern void XtAppWarningMsg(
1751    XtAppContext 	/* app_context */,
1752    _Xconst _XtString 	/* name */,
1753    _Xconst _XtString 	/* type */,
1754    _Xconst _XtString 	/* class */,
1755    _Xconst _XtString 	/* default */,
1756    String*		/* params */,
1757    Cardinal*		/* num_params */
1758);
1759
1760extern void XtWarningMsg( /* obsolete */
1761    _Xconst _XtString	/* name */,
1762    _Xconst _XtString	/* type */,
1763    _Xconst _XtString	/* class */,
1764    _Xconst _XtString	/* default */,
1765    String*		/* params */,
1766    Cardinal*		/* num_params */
1767);
1768
1769extern XtErrorHandler XtAppSetErrorHandler(
1770    XtAppContext 	/* app_context */,
1771    XtErrorHandler 	/* handler */ _X_NORETURN
1772);
1773
1774extern void XtSetErrorHandler( /* obsolete */
1775    XtErrorHandler 	/* handler */ _X_NORETURN
1776);
1777
1778extern XtErrorHandler XtAppSetWarningHandler(
1779    XtAppContext 	/* app_context */,
1780    XtErrorHandler 	/* handler */
1781);
1782
1783extern void XtSetWarningHandler( /* obsolete */
1784    XtErrorHandler 	/* handler */
1785);
1786
1787extern void XtAppError(
1788    XtAppContext 	/* app_context */,
1789    _Xconst _XtString	/* message */
1790) _X_NORETURN;
1791
1792extern void XtError( /* obsolete */
1793    _Xconst _XtString	/* message */
1794) _X_NORETURN;
1795
1796extern void XtAppWarning(
1797    XtAppContext 	/* app_context */,
1798    _Xconst _XtString	/* message */
1799);
1800
1801extern void XtWarning( /* obsolete */
1802    _Xconst _XtString	/* message */
1803);
1804
1805extern XrmDatabase *XtAppGetErrorDatabase(
1806    XtAppContext 	/* app_context */
1807);
1808
1809extern XrmDatabase *XtGetErrorDatabase( /* obsolete */
1810    void
1811);
1812
1813extern void XtAppGetErrorDatabaseText(
1814    XtAppContext 	/* app_context */,
1815    _Xconst _XtString	/* name */,
1816    _Xconst _XtString	/* type */,
1817    _Xconst _XtString	/* class */,
1818    _Xconst _XtString 	/* default */,
1819    _XtString 		/* buffer_return */,
1820    int 		/* nbytes */,
1821    XrmDatabase 	/* database */
1822);
1823
1824extern void XtGetErrorDatabaseText( /* obsolete */
1825    _Xconst _XtString	/* name */,
1826    _Xconst _XtString	/* type */,
1827    _Xconst _XtString	/* class */,
1828    _Xconst _XtString 	/* default */,
1829    _XtString 		/* buffer_return */,
1830    int 		/* nbytes */
1831);
1832
1833/****************************************************************
1834 *
1835 * Memory Management
1836 *
1837 ****************************************************************/
1838
1839extern char *XtMalloc(
1840    Cardinal 		/* size */
1841);
1842
1843extern char *XtCalloc(
1844    Cardinal		/* num */,
1845    Cardinal 		/* size */
1846);
1847
1848extern char *XtRealloc(
1849    char* 		/* ptr */,
1850    Cardinal 		/* num */
1851);
1852
1853extern void XtFree(
1854    char*		/* ptr */
1855);
1856
1857#ifndef _X_RESTRICT_KYWD
1858# define _X_RESTRICT_KYWD
1859#endif
1860extern Cardinal XtAsprintf(
1861    _XtString *new_string,
1862    _Xconst char * _X_RESTRICT_KYWD format,
1863    ...
1864) _X_ATTRIBUTE_PRINTF(2,3);
1865
1866#ifdef XTTRACEMEMORY
1867
1868extern char *_XtMalloc( /* implementation-private */
1869    Cardinal	/* size */,
1870    const char */* file */,
1871    int	        /* line */
1872);
1873
1874extern char *_XtRealloc( /* implementation-private */
1875    char *	/* ptr */,
1876    Cardinal    /* size */,
1877    const char */* file */,
1878    int		/* line */
1879);
1880
1881extern char *_XtCalloc( /* implementation-private */
1882    Cardinal	/* num */,
1883    Cardinal 	/* size */,
1884    const char */* file */,
1885    int		/* line */
1886);
1887
1888extern void _XtFree( /* implementation-private */
1889    char *	/* ptr */
1890);
1891
1892extern Boolean _XtIsValidPointer( /* implementation-private */
1893    char *	/* ptr */);
1894
1895extern void _XtPrintMemory( /* implementation-private */
1896    const char */* filename */);
1897
1898#define XtMalloc(size) _XtMalloc(size, __FILE__, __LINE__)
1899#define XtRealloc(ptr,size) _XtRealloc(ptr, size, __FILE__, __LINE__)
1900#define XtCalloc(num,size) _XtCalloc(num, size, __FILE__, __LINE__)
1901#define XtFree(ptr) _XtFree(ptr)
1902
1903#endif /* ifdef XTTRACEMEMORY */
1904
1905#define XtNew(type) ((type *) XtMalloc((unsigned) sizeof(type)))
1906
1907#undef XtNewString
1908extern String XtNewString(String /* str */);
1909#define XtNewString(str) \
1910    ((str) != NULL ? (strcpy(XtMalloc((unsigned)strlen(str) + 1), str)) : NULL)
1911
1912/*************************************************************
1913 *
1914 *  Work procs
1915 *
1916 **************************************************************/
1917
1918extern XtWorkProcId XtAddWorkProc( /* obsolete */
1919    XtWorkProc 		/* proc */,
1920    XtPointer 		/* closure */
1921);
1922
1923extern XtWorkProcId XtAppAddWorkProc(
1924    XtAppContext 	/* app_context */,
1925    XtWorkProc 		/* proc */,
1926    XtPointer 		/* closure */
1927);
1928
1929extern void  XtRemoveWorkProc(
1930    XtWorkProcId 	/* id */
1931);
1932
1933
1934/****************************************************************
1935 *
1936 * Graphic Context Management
1937 *****************************************************************/
1938
1939extern GC XtGetGC(
1940    Widget 		/* widget */,
1941    XtGCMask 		/* valueMask */,
1942    XGCValues* 		/* values */
1943);
1944
1945extern GC XtAllocateGC(
1946    Widget 		/* widget */,
1947    Cardinal		/* depth */,
1948    XtGCMask 		/* valueMask */,
1949    XGCValues* 		/* values */,
1950    XtGCMask		/* dynamicMask */,
1951    XtGCMask		/* unusedMask */
1952);
1953
1954/* This implementation of XtDestroyGC differs from the formal specification
1955 * for historic backwards compatibility reasons.  As other implementations
1956 * may conform to the spec, use of XtReleaseGC is strongly encouraged.
1957 */
1958extern void XtDestroyGC( /* obsolete */
1959    GC 			/* gc */
1960);
1961
1962extern void XtReleaseGC(
1963    Widget 		/* object */,
1964    GC 			/* gc */
1965);
1966
1967
1968
1969extern void XtAppReleaseCacheRefs(
1970    XtAppContext	/* app_context */,
1971    XtCacheRef*		/* cache_ref */
1972);
1973
1974extern void XtCallbackReleaseCacheRef(
1975    Widget 		/* widget */,
1976    XtPointer 		/* closure */,	/* XtCacheRef */
1977    XtPointer 		/* call_data */
1978);
1979
1980extern void XtCallbackReleaseCacheRefList(
1981    Widget 		/* widget */,
1982    XtPointer 		/* closure */,	/* XtCacheRef* */
1983    XtPointer 		/* call_data */
1984);
1985
1986extern void XtSetWMColormapWindows(
1987    Widget 		/* widget */,
1988    Widget*		/* list */,
1989    Cardinal		/* count */
1990);
1991
1992extern _XtString XtFindFile(
1993    _Xconst _XtString	/* path */,
1994    Substitution	/* substitutions */,
1995    Cardinal 		/* num_substitutions */,
1996    XtFilePredicate	/* predicate */
1997);
1998
1999extern _XtString XtResolvePathname(
2000    Display*		/* dpy */,
2001    _Xconst _XtString	/* type */,
2002    _Xconst _XtString	/* filename */,
2003    _Xconst _XtString	/* suffix */,
2004    _Xconst _XtString	/* path */,
2005    Substitution	/* substitutions */,
2006    Cardinal		/* num_substitutions */,
2007    XtFilePredicate 	/* predicate */
2008);
2009
2010/****************************************************************
2011 *
2012 * Selections
2013 *
2014 *****************************************************************/
2015
2016#define XT_CONVERT_FAIL (Atom)0x80000001
2017
2018extern void XtDisownSelection(
2019    Widget 		/* widget */,
2020    Atom 		/* selection */,
2021    Time 		/* time */
2022);
2023
2024extern void XtGetSelectionValue(
2025    Widget 		/* widget */,
2026    Atom 		/* selection */,
2027    Atom 		/* target */,
2028    XtSelectionCallbackProc /* callback */,
2029    XtPointer 		/* closure */,
2030    Time 		/* time */
2031);
2032
2033extern void XtGetSelectionValues(
2034    Widget 		/* widget */,
2035    Atom 		/* selection */,
2036    Atom*		/* targets */,
2037    int 		/* count */,
2038    XtSelectionCallbackProc /* callback */,
2039    XtPointer*		/* closures */,
2040    Time 		/* time */
2041);
2042
2043extern void XtAppSetSelectionTimeout(
2044    XtAppContext 	/* app_context */,
2045    unsigned long 	/* timeout */
2046);
2047
2048extern void XtSetSelectionTimeout( /* obsolete */
2049    unsigned long 	/* timeout */
2050);
2051
2052extern unsigned long XtAppGetSelectionTimeout(
2053    XtAppContext 	/* app_context */
2054);
2055
2056extern unsigned long XtGetSelectionTimeout( /* obsolete */
2057    void
2058);
2059
2060extern XSelectionRequestEvent *XtGetSelectionRequest(
2061    Widget 		/* widget */,
2062    Atom 		/* selection */,
2063    XtRequestId 	/* request_id */
2064);
2065
2066extern void XtGetSelectionValueIncremental(
2067    Widget 		/* widget */,
2068    Atom 		/* selection */,
2069    Atom 		/* target */,
2070    XtSelectionCallbackProc /* selection_callback */,
2071    XtPointer 		/* client_data */,
2072    Time 		/* time */
2073);
2074
2075extern void XtGetSelectionValuesIncremental(
2076    Widget 		/* widget */,
2077    Atom 		/* selection */,
2078    Atom*		/* targets */,
2079    int 		/* count */,
2080    XtSelectionCallbackProc /* callback */,
2081    XtPointer*		/* client_data */,
2082    Time 		/* time */
2083);
2084
2085extern void XtSetSelectionParameters(
2086    Widget		/* requestor */,
2087    Atom		/* selection */,
2088    Atom		/* type */,
2089    XtPointer		/* value */,
2090    unsigned long	/* length */,
2091    int			/* format */
2092);
2093
2094extern void XtGetSelectionParameters(
2095    Widget		/* owner */,
2096    Atom		/* selection */,
2097    XtRequestId		/* request_id */,
2098    Atom*		/* type_return */,
2099    XtPointer*		/* value_return */,
2100    unsigned long*	/* length_return */,
2101    int*		/* format_return */
2102);
2103
2104extern void XtCreateSelectionRequest(
2105    Widget		/* requestor */,
2106    Atom		/* selection */
2107);
2108
2109extern void XtSendSelectionRequest(
2110    Widget		/* requestor */,
2111    Atom		/* selection */,
2112    Time		/* time */
2113);
2114
2115extern void XtCancelSelectionRequest(
2116    Widget		/* requestor */,
2117    Atom		/* selection */
2118);
2119
2120extern Atom XtReservePropertyAtom(
2121    Widget		/* widget */
2122);
2123
2124extern void XtReleasePropertyAtom(
2125    Widget		/* widget */,
2126    Atom		/* selection */
2127);
2128
2129extern void XtGrabKey(
2130    Widget 		/* widget */,
2131    _XtKeyCode 		/* keycode */,
2132    Modifiers	 	/* modifiers */,
2133    _XtBoolean 		/* owner_events */,
2134    int 		/* pointer_mode */,
2135    int 		/* keyboard_mode */
2136);
2137
2138extern void XtUngrabKey(
2139    Widget 		/* widget */,
2140    _XtKeyCode 		/* keycode */,
2141    Modifiers	 	/* modifiers */
2142);
2143
2144extern int XtGrabKeyboard(
2145    Widget 		/* widget */,
2146    _XtBoolean 		/* owner_events */,
2147    int 		/* pointer_mode */,
2148    int 		/* keyboard_mode */,
2149    Time 		/* time */
2150);
2151
2152extern void XtUngrabKeyboard(
2153    Widget 		/* widget */,
2154    Time 		/* time */
2155);
2156
2157extern void XtGrabButton(
2158    Widget 		/* widget */,
2159    int 		/* button */,
2160    Modifiers	 	/* modifiers */,
2161    _XtBoolean 		/* owner_events */,
2162    unsigned int	/* event_mask */,
2163    int 		/* pointer_mode */,
2164    int 		/* keyboard_mode */,
2165    Window 		/* confine_to */,
2166    Cursor 		/* cursor */
2167);
2168
2169extern void XtUngrabButton(
2170    Widget 		/* widget */,
2171    unsigned int	/* button */,
2172    Modifiers	 	/* modifiers */
2173);
2174
2175extern int XtGrabPointer(
2176    Widget 		/* widget */,
2177    _XtBoolean 		/* owner_events */,
2178    unsigned int	/* event_mask */,
2179    int 		/* pointer_mode */,
2180    int 		/* keyboard_mode */,
2181    Window 		/* confine_to */,
2182    Cursor 		/* cursor */,
2183    Time 		/* time */
2184);
2185
2186extern void XtUngrabPointer(
2187    Widget 		/* widget */,
2188    Time 		/* time */
2189);
2190
2191extern void XtGetApplicationNameAndClass(
2192    Display*		/* dpy */,
2193    String*		/* name_return */,
2194    String*		/* class_return */
2195);
2196
2197extern void XtRegisterDrawable(
2198    Display*		/* dpy */,
2199    Drawable		/* drawable */,
2200    Widget		/* widget */
2201);
2202
2203extern void XtUnregisterDrawable(
2204    Display*		/* dpy */,
2205    Drawable		/* drawable */
2206);
2207
2208extern Widget XtHooksOfDisplay(
2209    Display*		/* dpy */
2210);
2211
2212typedef struct {
2213    String type;
2214    Widget widget;
2215    ArgList args;
2216    Cardinal num_args;
2217} XtCreateHookDataRec, *XtCreateHookData;
2218
2219typedef struct {
2220    String type;
2221    Widget widget;
2222    XtPointer event_data;
2223    Cardinal num_event_data;
2224} XtChangeHookDataRec, *XtChangeHookData;
2225
2226typedef struct {
2227    Widget old, req;
2228    ArgList args;
2229    Cardinal num_args;
2230} XtChangeHookSetValuesDataRec, *XtChangeHookSetValuesData;
2231
2232typedef struct {
2233    String type;
2234    Widget widget;
2235    XtGeometryMask changeMask;
2236    XWindowChanges changes;
2237} XtConfigureHookDataRec, *XtConfigureHookData;
2238
2239typedef struct {
2240    String type;
2241    Widget widget;
2242    XtWidgetGeometry* request;
2243    XtWidgetGeometry* reply;
2244    XtGeometryResult result;
2245} XtGeometryHookDataRec, *XtGeometryHookData;
2246
2247typedef struct {
2248    String type;
2249    Widget widget;
2250} XtDestroyHookDataRec, *XtDestroyHookData;
2251
2252extern void XtGetDisplays(
2253    XtAppContext	/* app_context */,
2254    Display***		/* dpy_return */,
2255    Cardinal*		/* num_dpy_return */
2256);
2257
2258extern Boolean XtToolkitThreadInitialize(
2259    void
2260);
2261
2262extern void XtAppSetExitFlag(
2263    XtAppContext	/* app_context */
2264);
2265
2266extern Boolean XtAppGetExitFlag(
2267    XtAppContext	/* app_context */
2268);
2269
2270extern void XtAppLock(
2271    XtAppContext	/* app_context */
2272);
2273
2274extern void XtAppUnlock(
2275    XtAppContext	/* app_context */
2276);
2277
2278/*
2279 *	Predefined Resource Converters
2280 */
2281
2282
2283/* String converters */
2284
2285extern Boolean XtCvtStringToAcceleratorTable(
2286    Display*	/* dpy */,
2287    XrmValuePtr /* args */,	/* none */
2288    Cardinal*   /* num_args */,
2289    XrmValuePtr	/* fromVal */,
2290    XrmValuePtr	/* toVal */,
2291    XtPointer*	/* closure_ret */
2292);
2293
2294extern Boolean XtCvtStringToAtom(
2295    Display*	/* dpy */,
2296    XrmValuePtr /* args */,	/* Display */
2297    Cardinal*   /* num_args */,
2298    XrmValuePtr	/* fromVal */,
2299    XrmValuePtr	/* toVal */,
2300    XtPointer*	/* closure_ret */
2301);
2302
2303extern Boolean XtCvtStringToBool(
2304    Display*	/* dpy */,
2305    XrmValuePtr /* args */,	/* none */
2306    Cardinal*   /* num_args */,
2307    XrmValuePtr	/* fromVal */,
2308    XrmValuePtr	/* toVal */,
2309    XtPointer*	/* closure_ret */
2310);
2311
2312extern Boolean XtCvtStringToBoolean(
2313    Display*	/* dpy */,
2314    XrmValuePtr /* args */,	/* none */
2315    Cardinal*   /* num_args */,
2316    XrmValuePtr	/* fromVal */,
2317    XrmValuePtr	/* toVal */,
2318    XtPointer*	/* closure_ret */
2319);
2320
2321extern Boolean XtCvtStringToCommandArgArray(
2322    Display*	/* dpy */,
2323    XrmValuePtr /* args */,	/* none */
2324    Cardinal*   /* num_args */,
2325    XrmValuePtr	/* fromVal */,
2326    XrmValuePtr	/* toVal */,
2327    XtPointer*	/* closure_ret */
2328);
2329
2330extern Boolean XtCvtStringToCursor(
2331    Display*	/* dpy */,
2332    XrmValuePtr /* args */,	/* Display */
2333    Cardinal*   /* num_args */,
2334    XrmValuePtr	/* fromVal */,
2335    XrmValuePtr	/* toVal */,
2336    XtPointer*	/* closure_ret */
2337);
2338
2339extern Boolean XtCvtStringToDimension(
2340    Display*	/* dpy */,
2341    XrmValuePtr /* args */,	/* none */
2342    Cardinal*   /* num_args */,
2343    XrmValuePtr	/* fromVal */,
2344    XrmValuePtr	/* toVal */,
2345    XtPointer*	/* closure_ret */
2346);
2347
2348extern Boolean XtCvtStringToDirectoryString(
2349    Display*	/* dpy */,
2350    XrmValuePtr /* args */,	/* none */
2351    Cardinal*   /* num_args */,
2352    XrmValuePtr	/* fromVal */,
2353    XrmValuePtr	/* toVal */,
2354    XtPointer*	/* closure_ret */
2355);
2356
2357extern Boolean XtCvtStringToDisplay(
2358    Display*	/* dpy */,
2359    XrmValuePtr /* args */,	/* none */
2360    Cardinal*   /* num_args */,
2361    XrmValuePtr	/* fromVal */,
2362    XrmValuePtr	/* toVal */,
2363    XtPointer*	/* closure_ret */
2364);
2365
2366extern Boolean XtCvtStringToFile(
2367    Display*	/* dpy */,
2368    XrmValuePtr /* args */,	/* none */
2369    Cardinal*   /* num_args */,
2370    XrmValuePtr	/* fromVal */,
2371    XrmValuePtr	/* toVal */,
2372    XtPointer*	/* closure_ret */
2373);
2374
2375extern Boolean XtCvtStringToFloat(
2376    Display*	/* dpy */,
2377    XrmValuePtr /* args */,	/* none */
2378    Cardinal*   /* num_args */,
2379    XrmValuePtr	/* fromVal */,
2380    XrmValuePtr	/* toVal */,
2381    XtPointer*	/* closure_ret */
2382);
2383
2384extern Boolean XtCvtStringToFont(
2385    Display*	/* dpy */,
2386    XrmValuePtr /* args */,	/* Display */
2387    Cardinal*   /* num_args */,
2388    XrmValuePtr	/* fromVal */,
2389    XrmValuePtr	/* toVal */,
2390    XtPointer*	/* closure_ret */
2391);
2392
2393extern Boolean XtCvtStringToFontSet(
2394    Display*	/* dpy */,
2395    XrmValuePtr /* args */,	/* Display, locale */
2396    Cardinal*   /* num_args */,
2397    XrmValuePtr	/* fromVal */,
2398    XrmValuePtr	/* toVal */,
2399    XtPointer*	/* closure_ret */
2400);
2401
2402extern Boolean XtCvtStringToFontStruct(
2403    Display*	/* dpy */,
2404    XrmValuePtr /* args */,	/* Display */
2405    Cardinal*   /* num_args */,
2406    XrmValuePtr	/* fromVal */,
2407    XrmValuePtr	/* toVal */,
2408    XtPointer*	/* closure_ret */
2409);
2410
2411extern Boolean XtCvtStringToGravity(
2412    Display*	/* dpy */,
2413    XrmValuePtr /* args */,
2414    Cardinal*   /* num_args */,
2415    XrmValuePtr	/* fromVal */,
2416    XrmValuePtr	/* toVal */,
2417    XtPointer*	/* closure_ret */
2418);
2419
2420extern Boolean XtCvtStringToInitialState(
2421    Display*	/* dpy */,
2422    XrmValuePtr /* args */,	/* none */
2423    Cardinal*   /* num_args */,
2424    XrmValuePtr	/* fromVal */,
2425    XrmValuePtr	/* toVal */,
2426    XtPointer*	/* closure_ret */
2427);
2428
2429extern Boolean XtCvtStringToInt(
2430    Display*	/* dpy */,
2431    XrmValuePtr /* args */,	/* none */
2432    Cardinal*   /* num_args */,
2433    XrmValuePtr	/* fromVal */,
2434    XrmValuePtr	/* toVal */,
2435    XtPointer*	/* closure_ret */
2436);
2437
2438extern Boolean XtCvtStringToPixel(
2439    Display*	/* dpy */,
2440    XrmValuePtr /* args */,	/* Screen, Colormap */
2441    Cardinal*   /* num_args */,
2442    XrmValuePtr	/* fromVal */,
2443    XrmValuePtr	/* toVal */,
2444    XtPointer*	/* closure_ret */
2445);
2446
2447#define XtCvtStringToPosition XtCvtStringToShort
2448
2449extern Boolean XtCvtStringToRestartStyle(
2450    Display*	/* dpy */,
2451    XrmValuePtr /* args */,	/* none */
2452    Cardinal*   /* num_args */,
2453    XrmValuePtr	/* fromVal */,
2454    XrmValuePtr	/* toVal */,
2455    XtPointer*	/* closure_ret */
2456);
2457
2458extern Boolean XtCvtStringToShort(
2459    Display*	/* dpy */,
2460    XrmValuePtr /* args */,	/* none */
2461    Cardinal*   /* num_args */,
2462    XrmValuePtr	/* fromVal */,
2463    XrmValuePtr	/* toVal */,
2464    XtPointer*	/* closure_ret */
2465);
2466
2467extern Boolean XtCvtStringToTranslationTable(
2468    Display*	/* dpy */,
2469    XrmValuePtr /* args */,	/* none */
2470    Cardinal*   /* num_args */,
2471    XrmValuePtr	/* fromVal */,
2472    XrmValuePtr	/* toVal */,
2473    XtPointer*	/* closure_ret */
2474);
2475
2476extern Boolean XtCvtStringToUnsignedChar(
2477    Display*	/* dpy */,
2478    XrmValuePtr /* args */,	/* none */
2479    Cardinal*   /* num_args */,
2480    XrmValuePtr	/* fromVal */,
2481    XrmValuePtr	/* toVal */,
2482    XtPointer*	/* closure_ret */
2483);
2484
2485extern Boolean XtCvtStringToVisual(
2486    Display*	/* dpy */,
2487    XrmValuePtr /* args */,	/* Screen, depth */
2488    Cardinal*   /* num_args */,
2489    XrmValuePtr	/* fromVal */,
2490    XrmValuePtr	/* toVal */,
2491    XtPointer*	/* closure_ret */
2492);
2493
2494/* int converters */
2495
2496extern Boolean XtCvtIntToBool(
2497    Display*	/* dpy */,
2498    XrmValuePtr /* args */,	/* none */
2499    Cardinal*   /* num_args */,
2500    XrmValuePtr	/* fromVal */,
2501    XrmValuePtr	/* toVal */,
2502    XtPointer*	/* closure_ret */
2503);
2504
2505extern Boolean XtCvtIntToBoolean(
2506    Display*	/* dpy */,
2507    XrmValuePtr /* args */,	/* none */
2508    Cardinal*   /* num_args */,
2509    XrmValuePtr	/* fromVal */,
2510    XrmValuePtr	/* toVal */,
2511    XtPointer*	/* closure_ret */
2512);
2513
2514extern Boolean XtCvtIntToColor(
2515    Display*	/* dpy */,
2516    XrmValuePtr /* args */,	/* Screen, Colormap */
2517    Cardinal*   /* num_args */,
2518    XrmValuePtr	/* fromVal */,
2519    XrmValuePtr	/* toVal */,
2520    XtPointer*	/* closure_ret */
2521);
2522
2523#define XtCvtIntToDimension XtCvtIntToShort
2524
2525extern Boolean XtCvtIntToFloat(
2526    Display*	/* dpy */,
2527    XrmValuePtr /* args */,	/* none */
2528    Cardinal*   /* num_args */,
2529    XrmValuePtr	/* fromVal */,
2530    XrmValuePtr	/* toVal */,
2531    XtPointer*	/* closure_ret */
2532);
2533
2534extern Boolean XtCvtIntToFont(
2535    Display*	/* dpy */,
2536    XrmValuePtr /* args */,	/* none */
2537    Cardinal*   /* num_args */,
2538    XrmValuePtr	/* fromVal */,
2539    XrmValuePtr	/* toVal */,
2540    XtPointer*	/* closure_ret */
2541);
2542
2543extern Boolean XtCvtIntToPixel(
2544    Display*	/* dpy */,
2545    XrmValuePtr /* args */,	/* none */
2546    Cardinal*   /* num_args */,
2547    XrmValuePtr	/* fromVal */,
2548    XrmValuePtr	/* toVal */,
2549    XtPointer*	/* closure_ret */
2550);
2551
2552extern Boolean XtCvtIntToPixmap(
2553    Display*	/* dpy */,
2554    XrmValuePtr /* args */,	/* none */
2555    Cardinal*   /* num_args */,
2556    XrmValuePtr	/* fromVal */,
2557    XrmValuePtr	/* toVal */,
2558    XtPointer*	/* closure_ret */
2559);
2560
2561#define XtCvtIntToPosition XtCvtIntToShort
2562
2563extern Boolean XtCvtIntToShort(
2564    Display*	/* dpy */,
2565    XrmValuePtr /* args */,	/* none */
2566    Cardinal*   /* num_args */,
2567    XrmValuePtr	/* fromVal */,
2568    XrmValuePtr	/* toVal */,
2569    XtPointer*	/* closure_ret */
2570);
2571
2572extern Boolean XtCvtIntToUnsignedChar(
2573    Display*	/* dpy */,
2574    XrmValuePtr /* args */,	/* none */
2575    Cardinal*   /* num_args */,
2576    XrmValuePtr	/* fromVal */,
2577    XrmValuePtr	/* toVal */,
2578    XtPointer*	/* closure_ret */
2579);
2580
2581/* Color converter */
2582
2583extern Boolean XtCvtColorToPixel(
2584    Display*	/* dpy */,
2585    XrmValuePtr /* args */,	/* none */
2586    Cardinal*   /* num_args */,
2587    XrmValuePtr	/* fromVal */,
2588    XrmValuePtr	/* toVal */,
2589    XtPointer*	/* closure_ret */
2590);
2591
2592/* Pixel converter */
2593
2594#define XtCvtPixelToColor XtCvtIntToColor
2595
2596
2597_XFUNCPROTOEND
2598
2599#endif /*_XtIntrinsic_h*/
2600/* DON'T ADD STUFF AFTER THIS #endif */
2601