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