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