Back to home page

EIC code displayed by LXR

 
 

    


Warning, file /include/X11/Intrinsic.h was not indexed or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).

0001 /***********************************************************
0002 Copyright 1987, 1988 by Digital Equipment Corporation, Maynard, Massachusetts,
0003 
0004             All Rights Reserved
0005 
0006 Permission to use, copy, modify, and distribute this software and its
0007 documentation for any purpose and without fee is hereby granted,
0008 provided that the above copyright notice appear in all copies and that
0009 both that copyright notice and this permission notice appear in
0010 supporting documentation, and that the name Digital not be
0011 used in advertising or publicity pertaining to distribution of the
0012 software without specific, written prior permission.
0013 
0014 DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
0015 ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
0016 DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
0017 ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
0018 WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
0019 ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
0020 SOFTWARE.
0021 
0022 ******************************************************************/
0023 
0024 /*
0025 
0026 Copyright 1987, 1988, 1994, 1998  The Open Group
0027 
0028 Permission to use, copy, modify, distribute, and sell this software and its
0029 documentation for any purpose is hereby granted without fee, provided that
0030 the above copyright notice appear in all copies and that both that
0031 copyright notice and this permission notice appear in supporting
0032 documentation.
0033 
0034 The above copyright notice and this permission notice shall be included in
0035 all copies or substantial portions of the Software.
0036 
0037 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
0038 IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
0039 FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
0040 OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
0041 AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
0042 CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
0043 
0044 Except as contained in this notice, the name of The Open Group shall not be
0045 used in advertising or otherwise to promote the sale, use or other dealings
0046 in this Software without prior written authorization from The Open Group.
0047 
0048 */
0049 
0050 #ifndef _XtIntrinsic_h
0051 #define _XtIntrinsic_h
0052 
0053 #include    <X11/Xlib.h>
0054 #include    <X11/Xutil.h>
0055 #include    <X11/Xresource.h>
0056 #include    <X11/Xfuncproto.h>
0057 #ifdef XT_BC
0058 #include <X11/Xos.h>        /* for R4 compatibility */
0059 #else
0060 #include <X11/Xosdefs.h>
0061 #include <string.h>     /* for XtNewString */
0062 #endif /* XT_BC else */
0063 
0064 #define XtSpecificationRelease 7
0065 
0066 /*
0067  * As used in its function interface, the String type of libXt can be readonly.
0068  * But compiling libXt with this feature may require some internal changes,
0069  * e.g., casts and occasionally using a plain "char*".
0070  */
0071 #ifdef _CONST_X_STRING
0072 typedef const char *String;
0073 #else
0074 typedef char *String;
0075 #endif
0076 
0077 /* We do this in order to get "const" declarations to work right.  We
0078  * use _XtString instead of String so that C++ applications can
0079  * #define String to something else if they choose, to avoid conflicts
0080  * with other C++ libraries.
0081  */
0082 #define _XtString char*
0083 
0084 /* _Xt names are private to Xt implementation, do not use in client code */
0085 #if NeedWidePrototypes
0086 #define _XtBoolean  int
0087 #define _XtDimension    unsigned int
0088 #define _XtKeyCode  unsigned int
0089 #define _XtPosition int
0090 #define _XtXtEnum   unsigned int
0091 #else
0092 #define _XtBoolean  Boolean
0093 #define _XtDimension    Dimension
0094 #define _XtKeyCode  KeyCode
0095 #define _XtPosition Position
0096 #define _XtXtEnum   XtEnum
0097 #endif /* NeedWidePrototypes */
0098 
0099 #include <stddef.h>
0100 
0101 #define externalref extern
0102 #define externaldef(psect)
0103 
0104 #ifndef FALSE
0105 #define FALSE 0
0106 #define TRUE 1
0107 #endif
0108 
0109 #if __STDC_VERSION__ >= 199901L
0110 #include <stdint.h>
0111 typedef intptr_t    XtIntPtr;
0112 typedef uintptr_t   XtUIntPtr;
0113 #else
0114 typedef long        XtIntPtr;
0115 typedef unsigned long   XtUIntPtr;
0116 #endif
0117 
0118 #define XtNumber(arr)       ((Cardinal) (sizeof(arr) / sizeof(arr[0])))
0119 
0120 typedef struct _WidgetRec *Widget;
0121 typedef Widget *WidgetList;
0122 typedef struct _WidgetClassRec *WidgetClass;
0123 typedef struct _CompositeRec *CompositeWidget;
0124 typedef struct _XtActionsRec *XtActionList;
0125 typedef struct _XtEventRec *XtEventTable;
0126 
0127 typedef struct _XtAppStruct *XtAppContext;
0128 typedef unsigned long   XtValueMask;
0129 typedef XtUIntPtr   XtIntervalId;
0130 typedef XtUIntPtr   XtInputId;
0131 typedef XtUIntPtr   XtWorkProcId;
0132 typedef XtUIntPtr   XtSignalId;
0133 typedef unsigned int    XtGeometryMask;
0134 typedef unsigned long   XtGCMask;   /* Mask of values that are used by widget*/
0135 typedef unsigned long   Pixel;      /* Index into colormap      */
0136 typedef int     XtCacheType;
0137 #define         XtCacheNone   0x001
0138 #define         XtCacheAll    0x002
0139 #define         XtCacheByDisplay  0x003
0140 #define         XtCacheRefCount   0x100
0141 
0142 /****************************************************************
0143  *
0144  * System Dependent Definitions; see spec for specific range
0145  * requirements.  Do not assume every implementation uses the
0146  * same base types!
0147  *
0148  *
0149  * XtArgVal ought to be a union of XtPointer, char *, long, int *, and proc *
0150  * but casting to union types is not really supported.
0151  *
0152  * So the typedef for XtArgVal should be chosen such that
0153  *
0154  *  sizeof (XtArgVal) >=    sizeof(XtPointer)
0155  *              sizeof(char *)
0156  *              sizeof(long)
0157  *              sizeof(int *)
0158  *              sizeof(proc *)
0159  *
0160  * ArgLists rely heavily on the above typedef.
0161  *
0162  ****************************************************************/
0163 typedef char        Boolean;
0164 typedef XtIntPtr    XtArgVal;
0165 typedef unsigned char   XtEnum;
0166 
0167 typedef unsigned int    Cardinal;
0168 typedef unsigned short  Dimension;  /* Size in pixels           */
0169 typedef short       Position;   /* Offset from 0 coordinate     */
0170 
0171 typedef void*       XtPointer;
0172 #if __STDC_VERSION__ >= 201112L && !defined(__cplusplus)
0173 _Static_assert(sizeof(XtArgVal) >= sizeof(XtPointer), "XtArgVal too small");
0174 _Static_assert(sizeof(XtArgVal) >= sizeof(long), "XtArgVal too small");
0175 #endif
0176 
0177 
0178 /* The type Opaque is NOT part of the Xt standard, do NOT use it. */
0179 /* (It remains here only for backward compatibility.) */
0180 typedef XtPointer   Opaque;
0181 
0182 #include <X11/Core.h>
0183 #include <X11/Composite.h>
0184 #include <X11/Constraint.h>
0185 #include <X11/Object.h>
0186 #include <X11/RectObj.h>
0187 
0188 typedef struct _TranslationData *XtTranslations;
0189 typedef struct _TranslationData *XtAccelerators;
0190 typedef unsigned int Modifiers;
0191 
0192 typedef void (*XtActionProc)(
0193     Widget      /* widget */,
0194     XEvent*     /* event */,
0195     String*     /* params */,
0196     Cardinal*       /* num_params */
0197 );
0198 
0199 typedef XtActionProc* XtBoundActions;
0200 
0201 typedef struct _XtActionsRec{
0202     String   string;
0203     XtActionProc proc;
0204 } XtActionsRec;
0205 
0206 typedef enum {
0207 /* address mode     parameter representation    */
0208 /* ------------     ------------------------    */
0209     XtAddress,      /* address          */
0210     XtBaseOffset,   /* offset           */
0211     XtImmediate,    /* constant         */
0212     XtResourceString,   /* resource name string     */
0213     XtResourceQuark,    /* resource name quark      */
0214     XtWidgetBaseOffset, /* offset from ancestor     */
0215     XtProcedureArg  /* procedure to invoke      */
0216 } XtAddressMode;
0217 
0218 typedef struct {
0219     XtAddressMode   address_mode;
0220     XtPointer       address_id;
0221     Cardinal        size;
0222 } XtConvertArgRec, *XtConvertArgList;
0223 
0224 typedef void (*XtConvertArgProc)(
0225     Widget      /* widget */,
0226     Cardinal*       /* size */,
0227     XrmValue*       /* value */
0228 );
0229 
0230 typedef struct {
0231     XtGeometryMask request_mode;
0232     Position x, y;
0233     Dimension width, height, border_width;
0234     Widget sibling;
0235     int stack_mode;   /* Above, Below, TopIf, BottomIf, Opposite, DontChange */
0236 } XtWidgetGeometry;
0237 
0238 /* Additions to Xlib geometry requests: ask what would happen, don't do it */
0239 #define XtCWQueryOnly   (1 << 7)
0240 
0241 /* Additions to Xlib stack modes: don't change stack order */
0242 #define XtSMDontChange  5
0243 
0244 typedef void (*XtConverter)( /* obsolete */
0245     XrmValue*       /* args */,
0246     Cardinal*       /* num_args */,
0247     XrmValue*       /* from */,
0248     XrmValue*       /* to */
0249 );
0250 
0251 typedef Boolean (*XtTypeConverter)(
0252     Display*        /* dpy */,
0253     XrmValue*       /* args */,
0254     Cardinal*       /* num_args */,
0255     XrmValue*       /* from */,
0256     XrmValue*       /* to */,
0257     XtPointer*      /* converter_data */
0258 );
0259 
0260 typedef void (*XtDestructor)(
0261     XtAppContext    /* app */,
0262     XrmValue*       /* to */,
0263     XtPointer       /* converter_data */,
0264     XrmValue*       /* args */,
0265     Cardinal*       /* num_args */
0266 );
0267 
0268 typedef Opaque XtCacheRef;
0269 
0270 typedef Opaque XtActionHookId;
0271 
0272 typedef void (*XtActionHookProc)(
0273     Widget      /* w */,
0274     XtPointer       /* client_data */,
0275     String      /* action_name */,
0276     XEvent*     /* event */,
0277     String*     /* params */,
0278     Cardinal*       /* num_params */
0279 );
0280 
0281 typedef XtUIntPtr XtBlockHookId;
0282 
0283 typedef void (*XtBlockHookProc)(
0284     XtPointer       /* client_data */
0285 );
0286 
0287 typedef void (*XtKeyProc)(
0288     Display*        /* dpy */,
0289     _XtKeyCode      /* keycode */,
0290     Modifiers       /* modifiers */,
0291     Modifiers*      /* modifiers_return */,
0292     KeySym*     /* keysym_return */
0293 );
0294 
0295 typedef void (*XtCaseProc)(
0296     Display*        /* display */,
0297     KeySym      /* keysym */,
0298     KeySym*     /* lower_return */,
0299     KeySym*     /* upper_return */
0300 );
0301 
0302 typedef void (*XtEventHandler)(
0303     Widget      /* widget */,
0304     XtPointer       /* closure */,
0305     XEvent*     /* event */,
0306     Boolean*        /* continue_to_dispatch */
0307 );
0308 typedef unsigned long EventMask;
0309 
0310 typedef enum {XtListHead, XtListTail } XtListPosition;
0311 
0312 typedef unsigned long   XtInputMask;
0313 #define XtInputNoneMask     0L
0314 #define XtInputReadMask     (1L<<0)
0315 #define XtInputWriteMask    (1L<<1)
0316 #define XtInputExceptMask   (1L<<2)
0317 
0318 typedef void (*XtTimerCallbackProc)(
0319     XtPointer       /* closure */,
0320     XtIntervalId*   /* id */
0321 );
0322 
0323 typedef void (*XtInputCallbackProc)(
0324     XtPointer       /* closure */,
0325     int*        /* source */,
0326     XtInputId*      /* id */
0327 );
0328 
0329 typedef void (*XtSignalCallbackProc)(
0330     XtPointer       /* closure */,
0331     XtSignalId*     /* id */
0332 );
0333 
0334 typedef struct {
0335     String  name;
0336     XtArgVal    value;
0337 } Arg, *ArgList;
0338 
0339 typedef XtPointer   XtVarArgsList;
0340 
0341 typedef void (*XtCallbackProc)(
0342     Widget      /* widget */,
0343     XtPointer       /* closure */,  /* data the application registered */
0344     XtPointer       /* call_data */ /* callback specific data */
0345 );
0346 
0347 typedef struct _XtCallbackRec {
0348     XtCallbackProc  callback;
0349     XtPointer       closure;
0350 } XtCallbackRec, *XtCallbackList;
0351 
0352 typedef enum {
0353     XtCallbackNoList,
0354     XtCallbackHasNone,
0355     XtCallbackHasSome
0356 } XtCallbackStatus;
0357 
0358 typedef enum  {
0359     XtGeometryYes,    /* Request accepted. */
0360     XtGeometryNo,     /* Request denied. */
0361     XtGeometryAlmost,     /* Request denied, but willing to take replyBox. */
0362     XtGeometryDone    /* Request accepted and done. */
0363 } XtGeometryResult;
0364 
0365 typedef enum {XtGrabNone, XtGrabNonexclusive, XtGrabExclusive} XtGrabKind;
0366 
0367 typedef struct {
0368     Widget  shell_widget;
0369     Widget  enable_widget;
0370 } XtPopdownIDRec, *XtPopdownID;
0371 
0372 typedef struct _XtResource {
0373     String  resource_name;  /* Resource name                */
0374     String  resource_class; /* Resource class               */
0375     String  resource_type;  /* Representation type desired          */
0376     Cardinal    resource_size;  /* Size in bytes of representation      */
0377     Cardinal    resource_offset;/* Offset from base to put resource value   */
0378     String  default_type;   /* representation type of specified default */
0379     XtPointer   default_addr;   /* Address of default resource          */
0380 } XtResource, *XtResourceList;
0381 
0382 typedef void (*XtResourceDefaultProc)(
0383     Widget  /* widget */,
0384     int     /* offset */,
0385     XrmValue*   /* value */
0386 );
0387 
0388 typedef String (*XtLanguageProc)(
0389     Display*    /* dpy */,
0390     String  /* xnl */,
0391     XtPointer   /* client_data */
0392 );
0393 
0394 typedef void (*XtErrorMsgHandler)(
0395     String      /* name */,
0396     String      /* type */,
0397     String      /* class */,
0398     String      /* default */,
0399     String*     /* params */,
0400     Cardinal*       /* num_params */
0401 );
0402 
0403 typedef void (*XtErrorHandler)(
0404   String        /* msg */
0405 );
0406 
0407 typedef void (*XtCreatePopupChildProc)(
0408     Widget  /* shell */
0409 );
0410 
0411 typedef Boolean (*XtWorkProc)(
0412     XtPointer       /* closure */   /* data the application registered */
0413 );
0414 
0415 typedef struct {
0416     char match;
0417     _XtString substitution;
0418 } SubstitutionRec, *Substitution;
0419 
0420 typedef Boolean (*XtFilePredicate)(
0421    String /* filename */
0422 );
0423 
0424 typedef XtPointer XtRequestId;
0425 
0426 typedef Boolean (*XtConvertSelectionProc)(
0427     Widget      /* widget */,
0428     Atom*       /* selection */,
0429     Atom*       /* target */,
0430     Atom*       /* type_return */,
0431     XtPointer*      /* value_return */,
0432     unsigned long*  /* length_return */,
0433     int*        /* format_return */
0434 );
0435 
0436 typedef void (*XtLoseSelectionProc)(
0437     Widget      /* widget */,
0438     Atom*       /* selection */
0439 );
0440 
0441 typedef void (*XtSelectionDoneProc)(
0442     Widget      /* widget */,
0443     Atom*       /* selection */,
0444     Atom*       /* target */
0445 );
0446 
0447 typedef void (*XtSelectionCallbackProc)(
0448     Widget      /* widget */,
0449     XtPointer       /* closure */,
0450     Atom*       /* selection */,
0451     Atom*       /* type */,
0452     XtPointer       /* value */,
0453     unsigned long*  /* length */,
0454     int*        /* format */
0455 );
0456 
0457 typedef void (*XtLoseSelectionIncrProc)(
0458     Widget      /* widget */,
0459     Atom*       /* selection */,
0460     XtPointer       /* client_data */
0461 );
0462 
0463 typedef void (*XtSelectionDoneIncrProc)(
0464     Widget      /* widget */,
0465     Atom*       /* selection */,
0466     Atom*       /* target */,
0467     XtRequestId*    /* receiver_id */,
0468     XtPointer       /* client_data */
0469 );
0470 
0471 typedef Boolean (*XtConvertSelectionIncrProc)(
0472     Widget      /* widget */,
0473     Atom*       /* selection */,
0474     Atom*       /* target */,
0475     Atom*       /* type */,
0476     XtPointer*      /* value */,
0477     unsigned long*  /* length */,
0478     int*        /* format */,
0479     unsigned long*  /* max_length */,
0480     XtPointer       /* client_data */,
0481     XtRequestId*    /* receiver_id */
0482 );
0483 
0484 typedef void (*XtCancelConvertSelectionProc)(
0485     Widget      /* widget */,
0486     Atom*       /* selection */,
0487     Atom*       /* target */,
0488     XtRequestId*    /* receiver_id */,
0489     XtPointer       /* client_data */
0490 );
0491 
0492 typedef Boolean (*XtEventDispatchProc)(
0493     XEvent*     /* event */
0494 );
0495 
0496 typedef void (*XtExtensionSelectProc)(
0497     Widget      /* widget */,
0498     int*        /* event_types */,
0499     XtPointer*      /* select_data */,
0500     int         /* count */,
0501     XtPointer       /* client_data */
0502 );
0503 
0504 /***************************************************************
0505  *
0506  * Exported Interfaces
0507  *
0508  ****************************************************************/
0509 
0510 _XFUNCPROTOBEGIN
0511 
0512 extern Boolean XtConvertAndStore(
0513     Widget      /* widget */,
0514     _Xconst _XtString   /* from_type */,
0515     XrmValue*       /* from */,
0516     _Xconst _XtString   /* to_type */,
0517     XrmValue*       /* to_in_out */
0518 );
0519 
0520 extern Boolean XtCallConverter(
0521     Display*        /* dpy */,
0522     XtTypeConverter     /* converter */,
0523     XrmValuePtr     /* args */,
0524     Cardinal        /* num_args */,
0525     XrmValuePtr     /* from */,
0526     XrmValue*       /* to_in_out */,
0527     XtCacheRef*     /* cache_ref_return */
0528 );
0529 
0530 extern Boolean XtDispatchEvent(
0531     XEvent*         /* event */
0532 );
0533 
0534 extern Boolean XtCallAcceptFocus(
0535     Widget      /* widget */,
0536     Time*       /* time */
0537 );
0538 
0539 extern Boolean XtPeekEvent( /* obsolete */
0540     XEvent*     /* event_return */
0541 );
0542 
0543 extern Boolean XtAppPeekEvent(
0544     XtAppContext    /* app_context */,
0545     XEvent*     /* event_return */
0546 );
0547 
0548 extern Boolean XtIsSubclass(
0549     Widget      /* widget */,
0550     WidgetClass     /* widgetClass */
0551 );
0552 
0553 extern Boolean XtIsObject(
0554     Widget      /* object */
0555 );
0556 
0557 extern Boolean _XtCheckSubclassFlag( /* implementation-private */
0558     Widget      /* object */,
0559     _XtXtEnum       /* type_flag */
0560 );
0561 
0562 extern Boolean _XtIsSubclassOf( /* implementation-private */
0563     Widget      /* object */,
0564     WidgetClass     /* widget_class */,
0565     WidgetClass     /* flag_class */,
0566     _XtXtEnum       /* type_flag */
0567 );
0568 
0569 extern Boolean XtIsManaged(
0570     Widget      /* rectobj */
0571 );
0572 
0573 extern Boolean XtIsRealized(
0574     Widget      /* widget */
0575 );
0576 
0577 extern Boolean XtIsSensitive(
0578     Widget      /* widget */
0579 );
0580 
0581 extern Boolean XtOwnSelection(
0582     Widget      /* widget */,
0583     Atom        /* selection */,
0584     Time        /* time */,
0585     XtConvertSelectionProc /* convert */,
0586     XtLoseSelectionProc /* lose */,
0587     XtSelectionDoneProc /* done */
0588 );
0589 
0590 extern Boolean XtOwnSelectionIncremental(
0591     Widget      /* widget */,
0592     Atom        /* selection */,
0593     Time        /* time */,
0594     XtConvertSelectionIncrProc  /* convert_callback */,
0595     XtLoseSelectionIncrProc /* lose_callback */,
0596     XtSelectionDoneIncrProc /* done_callback */,
0597     XtCancelConvertSelectionProc /* cancel_callback */,
0598     XtPointer       /* client_data */
0599 );
0600 
0601 extern XtGeometryResult XtMakeResizeRequest(
0602     Widget      /* widget */,
0603     _XtDimension    /* width */,
0604     _XtDimension    /* height */,
0605     Dimension*      /* width_return */,
0606     Dimension*      /* height_return */
0607 );
0608 
0609 extern void XtTranslateCoords(
0610     Widget      /* widget */,
0611     _XtPosition     /* x */,
0612     _XtPosition     /* y */,
0613     Position*       /* rootx_return */,
0614     Position*       /* rooty_return */
0615 );
0616 
0617 extern KeySym* XtGetKeysymTable(
0618     Display*        /* dpy */,
0619     KeyCode*        /* min_keycode_return */,
0620     int*        /* keysyms_per_keycode_return */
0621 );
0622 
0623 extern void XtKeysymToKeycodeList(
0624     Display*        /* dpy */,
0625     KeySym      /* keysym */,
0626     KeyCode**       /* keycodes_return */,
0627     Cardinal*       /* keycount_return */
0628 );
0629 
0630 extern void XtStringConversionWarning( /* obsolete */
0631     _Xconst _XtString   /* from_value */,
0632     _Xconst _XtString   /* to_type */
0633 );
0634 
0635 extern void XtDisplayStringConversionWarning(
0636     Display*        /* dpy */,
0637     _Xconst _XtString   /* from_value */,
0638     _Xconst _XtString   /* to_type */
0639 );
0640 
0641 externalref XtConvertArgRec const colorConvertArgs[];
0642 externalref XtConvertArgRec const screenConvertArg[];
0643 
0644 extern void XtAppAddConverter( /* obsolete */
0645     XtAppContext    /* app_context */,
0646     _Xconst _XtString   /* from_type */,
0647     _Xconst _XtString   /* to_type */,
0648     XtConverter     /* converter */,
0649     XtConvertArgList    /* convert_args */,
0650     Cardinal        /* num_args */
0651 );
0652 
0653 extern void XtAddConverter( /* obsolete */
0654     _Xconst _XtString   /* from_type */,
0655     _Xconst _XtString   /* to_type */,
0656     XtConverter     /* converter */,
0657     XtConvertArgList    /* convert_args */,
0658     Cardinal        /* num_args */
0659 );
0660 
0661 extern void XtSetTypeConverter(
0662     _Xconst _XtString   /* from_type */,
0663     _Xconst _XtString   /* to_type */,
0664     XtTypeConverter     /* converter */,
0665     XtConvertArgList    /* convert_args */,
0666     Cardinal        /* num_args */,
0667     XtCacheType     /* cache_type */,
0668     XtDestructor    /* destructor */
0669 );
0670 
0671 extern void XtAppSetTypeConverter(
0672     XtAppContext    /* app_context */,
0673     _Xconst _XtString   /* from_type */,
0674     _Xconst _XtString   /* to_type */,
0675     XtTypeConverter     /* converter */,
0676     XtConvertArgList    /* convert_args */,
0677     Cardinal        /* num_args */,
0678     XtCacheType     /* cache_type */,
0679     XtDestructor    /* destructor */
0680 );
0681 
0682 extern void XtConvert( /* obsolete */
0683     Widget      /* widget */,
0684     _Xconst _XtString   /* from_type */,
0685     XrmValue*       /* from */,
0686     _Xconst _XtString   /* to_type */,
0687     XrmValue*       /* to_return */
0688 );
0689 
0690 extern void XtDirectConvert( /* obsolete */
0691     XtConverter     /* converter */,
0692     XrmValuePtr     /* args */,
0693     Cardinal        /* num_args */,
0694     XrmValuePtr     /* from */,
0695     XrmValue*       /* to_return */
0696 );
0697 
0698 /****************************************************************
0699  *
0700  * Translation Management
0701  *
0702  ****************************************************************/
0703 
0704 extern XtTranslations XtParseTranslationTable(
0705     _Xconst _XtString   /* table */
0706 );
0707 
0708 extern XtAccelerators XtParseAcceleratorTable(
0709     _Xconst _XtString   /* source */
0710 );
0711 
0712 extern void XtOverrideTranslations(
0713     Widget      /* widget */,
0714     XtTranslations  /* translations */
0715 );
0716 
0717 extern void XtAugmentTranslations(
0718     Widget      /* widget */,
0719     XtTranslations  /* translations */
0720 );
0721 
0722 extern void XtInstallAccelerators(
0723     Widget      /* destination */,
0724     Widget      /* source */
0725 );
0726 
0727 extern void XtInstallAllAccelerators(
0728     Widget      /* destination */,
0729     Widget      /* source */
0730 );
0731 
0732 extern void XtUninstallTranslations(
0733     Widget      /* widget */
0734 );
0735 
0736 extern void XtAppAddActions(
0737     XtAppContext    /* app_context */,
0738     XtActionList    /* actions */,
0739     Cardinal        /* num_actions */
0740 );
0741 
0742 extern void XtAddActions( /* obsolete */
0743     XtActionList    /* actions */,
0744     Cardinal        /* num_actions */
0745 );
0746 
0747 extern XtActionHookId XtAppAddActionHook(
0748     XtAppContext    /* app_context */,
0749     XtActionHookProc    /* proc */,
0750     XtPointer       /* client_data */
0751 );
0752 
0753 extern void XtRemoveActionHook(
0754     XtActionHookId  /* id */
0755 );
0756 
0757 extern void XtGetActionList(
0758     WidgetClass     /* widget_class */,
0759     XtActionList*   /* actions_return */,
0760     Cardinal*       /* num_actions_return */
0761 );
0762 
0763 extern void XtCallActionProc(
0764     Widget      /* widget */,
0765     _Xconst _XtString   /* action */,
0766     XEvent*     /* event */,
0767     String*     /* params */,
0768     Cardinal        /* num_params */
0769 );
0770 
0771 extern void XtRegisterGrabAction(
0772     XtActionProc    /* action_proc */,
0773     _XtBoolean      /* owner_events */,
0774     unsigned int    /* event_mask */,
0775     int         /* pointer_mode */,
0776     int         /* keyboard_mode */
0777 );
0778 
0779 extern void XtSetMultiClickTime(
0780     Display*        /* dpy */,
0781     int         /* milliseconds */
0782 );
0783 
0784 extern int XtGetMultiClickTime(
0785     Display*        /* dpy */
0786 );
0787 
0788 extern KeySym XtGetActionKeysym(
0789     XEvent*     /* event */,
0790     Modifiers*      /* modifiers_return */
0791 );
0792 
0793 /***************************************************************
0794  *
0795  * Keycode and Keysym procedures for translation management
0796  *
0797  ****************************************************************/
0798 
0799 extern void XtTranslateKeycode(
0800     Display*        /* dpy */,
0801     _XtKeyCode      /* keycode */,
0802     Modifiers       /* modifiers */,
0803     Modifiers*      /* modifiers_return */,
0804     KeySym*     /* keysym_return */
0805 );
0806 
0807 extern void XtTranslateKey(
0808     Display*        /* dpy */,
0809     _XtKeyCode      /* keycode */,
0810     Modifiers       /* modifiers */,
0811     Modifiers*      /* modifiers_return */,
0812     KeySym*     /* keysym_return */
0813 );
0814 
0815 extern void XtSetKeyTranslator(
0816     Display*        /* dpy */,
0817     XtKeyProc       /* proc */
0818 );
0819 
0820 extern void XtRegisterCaseConverter(
0821     Display*        /* dpy */,
0822     XtCaseProc      /* proc */,
0823     KeySym      /* start */,
0824     KeySym      /* stop */
0825 );
0826 
0827 extern void XtConvertCase(
0828     Display*        /* dpy */,
0829     KeySym      /* keysym */,
0830     KeySym*     /* lower_return */,
0831     KeySym*     /* upper_return */
0832 );
0833 
0834 /****************************************************************
0835  *
0836  * Event Management
0837  *
0838  ****************************************************************/
0839 
0840 /* XtAllEvents is valid only for XtRemoveEventHandler and
0841  * XtRemoveRawEventHandler; don't use it to select events!
0842  */
0843 #define XtAllEvents ((EventMask) -1L)
0844 
0845 extern void XtAddEventHandler(
0846     Widget      /* widget */,
0847     EventMask       /* event_mask */,
0848     _XtBoolean      /* nonmaskable */,
0849     XtEventHandler  /* proc */,
0850     XtPointer       /* closure */
0851 );
0852 
0853 extern void XtRemoveEventHandler(
0854     Widget      /* widget */,
0855     EventMask       /* event_mask */,
0856     _XtBoolean      /* nonmaskable */,
0857     XtEventHandler  /* proc */,
0858     XtPointer       /* closure */
0859 );
0860 
0861 extern void XtAddRawEventHandler(
0862     Widget      /* widget */,
0863     EventMask       /* event_mask */,
0864     _XtBoolean      /* nonmaskable */,
0865     XtEventHandler  /* proc */,
0866     XtPointer       /* closure */
0867 );
0868 
0869 extern void XtRemoveRawEventHandler(
0870     Widget      /* widget */,
0871     EventMask       /* event_mask */,
0872     _XtBoolean      /* nonmaskable */,
0873     XtEventHandler  /* proc */,
0874     XtPointer       /* closure */
0875 );
0876 
0877 extern void XtInsertEventHandler(
0878     Widget      /* widget */,
0879     EventMask       /* event_mask */,
0880     _XtBoolean      /* nonmaskable */,
0881     XtEventHandler  /* proc */,
0882     XtPointer       /* closure */,
0883     XtListPosition  /* position */
0884 );
0885 
0886 extern void XtInsertRawEventHandler(
0887     Widget      /* widget */,
0888     EventMask       /* event_mask */,
0889     _XtBoolean      /* nonmaskable */,
0890     XtEventHandler  /* proc */,
0891     XtPointer       /* closure */,
0892     XtListPosition  /* position */
0893 );
0894 
0895 extern XtEventDispatchProc XtSetEventDispatcher(
0896     Display*        /* dpy */,
0897     int         /* event_type */,
0898     XtEventDispatchProc /* proc */
0899 );
0900 
0901 extern Boolean XtDispatchEventToWidget(
0902     Widget      /* widget */,
0903     XEvent*     /* event */
0904 );
0905 
0906 extern void XtInsertEventTypeHandler(
0907     Widget      /* widget */,
0908     int         /* type */,
0909     XtPointer       /* select_data */,
0910     XtEventHandler  /* proc */,
0911     XtPointer       /* closure */,
0912     XtListPosition  /* position */
0913 );
0914 
0915 extern void XtRemoveEventTypeHandler(
0916     Widget      /* widget */,
0917     int         /* type */,
0918     XtPointer       /* select_data */,
0919     XtEventHandler  /* proc */,
0920     XtPointer       /* closure */
0921 );
0922 
0923 extern EventMask XtBuildEventMask(
0924     Widget      /* widget */
0925 );
0926 
0927 extern void XtRegisterExtensionSelector(
0928     Display*        /* dpy */,
0929     int         /* min_event_type */,
0930     int         /* max_event_type */,
0931     XtExtensionSelectProc /* proc */,
0932     XtPointer       /* client_data */
0933 );
0934 
0935 extern void XtAddGrab(
0936     Widget      /* widget */,
0937     _XtBoolean      /* exclusive */,
0938     _XtBoolean      /* spring_loaded */
0939 );
0940 
0941 extern void XtRemoveGrab(
0942     Widget      /* widget */
0943 );
0944 
0945 extern void XtProcessEvent( /* obsolete */
0946     XtInputMask         /* mask */
0947 );
0948 
0949 extern void XtAppProcessEvent(
0950     XtAppContext        /* app_context */,
0951     XtInputMask         /* mask */
0952 );
0953 
0954 extern void XtMainLoop( /* obsolete */
0955     void
0956 );
0957 
0958 extern void XtAppMainLoop(
0959     XtAppContext        /* app_context */
0960 );
0961 
0962 extern void XtAddExposureToRegion(
0963     XEvent*     /* event */,
0964     Region      /* region */
0965 );
0966 
0967 extern void XtSetKeyboardFocus(
0968     Widget      /* subtree */,
0969     Widget      /* descendent */
0970 );
0971 
0972 extern Widget XtGetKeyboardFocusWidget(
0973     Widget      /* widget */
0974 );
0975 
0976 extern XEvent* XtLastEventProcessed(
0977     Display*        /* dpy */
0978 );
0979 
0980 extern Time XtLastTimestampProcessed(
0981     Display*        /* dpy */
0982 );
0983 
0984 /****************************************************************
0985  *
0986  * Event Gathering Routines
0987  *
0988  ****************************************************************/
0989 
0990 extern XtIntervalId XtAddTimeOut( /* obsolete */
0991     unsigned long   /* interval */,
0992     XtTimerCallbackProc /* proc */,
0993     XtPointer       /* closure */
0994 );
0995 
0996 extern XtIntervalId XtAppAddTimeOut(
0997     XtAppContext    /* app_context */,
0998     unsigned long   /* interval */,
0999     XtTimerCallbackProc /* proc */,
1000     XtPointer       /* closure */
1001 );
1002 
1003 extern void XtRemoveTimeOut(
1004     XtIntervalId    /* timer */
1005 );
1006 
1007 extern XtInputId XtAddInput( /* obsolete */
1008     int         /* source */,
1009     XtPointer       /* condition */,
1010     XtInputCallbackProc /* proc */,
1011     XtPointer       /* closure */
1012 );
1013 
1014 extern XtInputId XtAppAddInput(
1015     XtAppContext        /* app_context */,
1016     int         /* source */,
1017     XtPointer       /* condition */,
1018     XtInputCallbackProc /* proc */,
1019     XtPointer       /* closure */
1020 );
1021 
1022 extern void XtRemoveInput(
1023     XtInputId       /* id */
1024 );
1025 
1026 extern XtSignalId XtAddSignal(
1027     XtSignalCallbackProc /* proc */,
1028     XtPointer       /* closure */);
1029 
1030 extern XtSignalId XtAppAddSignal(
1031     XtAppContext        /* app_context */,
1032     XtSignalCallbackProc /* proc */,
1033     XtPointer       /* closure */
1034 );
1035 
1036 extern void XtRemoveSignal(
1037     XtSignalId      /* id */
1038 );
1039 
1040 extern void XtNoticeSignal(
1041     XtSignalId      /* id */
1042 );
1043 
1044 extern void XtNextEvent( /* obsolete */
1045     XEvent*         /* event */
1046 );
1047 
1048 extern 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 
1059 extern Boolean XtPending( /* obsolete */
1060     void
1061 );
1062 
1063 extern XtInputMask XtAppPending(
1064     XtAppContext    /* app_context */
1065 );
1066 
1067 extern XtBlockHookId XtAppAddBlockHook(
1068     XtAppContext    /* app_context */,
1069     XtBlockHookProc     /* proc */,
1070     XtPointer       /* client_data */
1071 );
1072 
1073 extern 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
1090 extern 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
1098 extern Boolean XtIsVendorShell(Widget /* object */);
1099 #define XtIsVendorShell(widget) \
1100     (_XtIsSubclassOf(widget, (WidgetClass)vendorShellWidgetClass, \
1101              (WidgetClass)wmShellWidgetClass, (XtEnum)0x40))
1102 
1103 #undef XtIsTransientShell
1104 extern 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
1111 extern Boolean XtIsApplicationShell(Widget /* object */);
1112 #define XtIsApplicationShell(widget) \
1113     (_XtIsSubclassOf(widget, (WidgetClass)applicationShellWidgetClass, \
1114              (WidgetClass)topLevelShellWidgetClass, (XtEnum)0x80))
1115 
1116 #undef XtIsSessionShell
1117 extern Boolean XtIsSessionShell(Widget /* object */);
1118 #define XtIsSessionShell(widget) \
1119     (_XtIsSubclassOf(widget, (WidgetClass)sessionShellWidgetClass, \
1120              (WidgetClass)topLevelShellWidgetClass, (XtEnum)0x80))
1121 
1122 extern void XtRealizeWidget(
1123     Widget      /* widget */
1124 );
1125 
1126 void XtUnrealizeWidget(
1127     Widget      /* widget */
1128 );
1129 
1130 extern void XtDestroyWidget(
1131     Widget      /* widget */
1132 );
1133 
1134 extern void XtSetSensitive(
1135     Widget      /* widget */,
1136     _XtBoolean      /* sensitive */
1137 );
1138 
1139 extern void XtSetMappedWhenManaged(
1140     Widget      /* widget */,
1141     _XtBoolean      /* mapped_when_managed */
1142 );
1143 
1144 extern Widget XtNameToWidget(
1145     Widget      /* reference */,
1146     _Xconst _XtString   /* names */
1147 );
1148 
1149 extern Widget XtWindowToWidget(
1150     Display*        /* display */,
1151     Window      /* window */
1152 );
1153 
1154 extern 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 
1172 extern 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 
1188 extern 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 
1202 extern Display *XtDisplay(
1203     Widget      /* widget */
1204 );
1205 
1206 extern Display *XtDisplayOfObject(
1207     Widget      /* object */
1208 );
1209 
1210 extern Screen *XtScreen(
1211     Widget      /* widget */
1212 );
1213 
1214 extern Screen *XtScreenOfObject(
1215     Widget      /* object */
1216 );
1217 
1218 extern Window XtWindow(
1219     Widget      /* widget */
1220 );
1221 
1222 extern Window XtWindowOfObject(
1223     Widget      /* object */
1224 );
1225 
1226 extern String XtName(
1227     Widget      /* object */
1228 );
1229 
1230 extern WidgetClass XtSuperclass(
1231     Widget      /* object */
1232 );
1233 
1234 extern WidgetClass XtClass(
1235     Widget      /* object */
1236 );
1237 
1238 extern Widget XtParent(
1239     Widget      /* widget */
1240 );
1241 
1242 #endif /*_XtIntrinsicP_h*/
1243 
1244 #undef XtMapWidget
1245 extern void XtMapWidget(Widget /* w */);
1246 #define XtMapWidget(widget) XMapWindow(XtDisplay(widget), XtWindow(widget))
1247 
1248 #undef XtUnmapWidget
1249 extern void XtUnmapWidget(Widget /* w */);
1250 #define XtUnmapWidget(widget)   \
1251         XUnmapWindow(XtDisplay(widget), XtWindow(widget))
1252 
1253 extern void XtAddCallback(
1254     Widget      /* widget */,
1255     _Xconst _XtString   /* callback_name */,
1256     XtCallbackProc  /* callback */,
1257     XtPointer       /* closure */
1258 );
1259 
1260 extern void XtRemoveCallback(
1261     Widget      /* widget */,
1262     _Xconst _XtString   /* callback_name */,
1263     XtCallbackProc  /* callback */,
1264     XtPointer       /* closure */
1265 );
1266 
1267 extern void XtAddCallbacks(
1268     Widget      /* widget */,
1269     _Xconst _XtString   /* callback_name */,
1270     XtCallbackList  /* callbacks */
1271 );
1272 
1273 extern void XtRemoveCallbacks(
1274     Widget      /* widget */,
1275     _Xconst _XtString   /* callback_name */,
1276     XtCallbackList  /* callbacks */
1277 );
1278 
1279 extern void XtRemoveAllCallbacks(
1280     Widget      /* widget */,
1281     _Xconst _XtString   /* callback_name */
1282 );
1283 
1284 
1285 extern void XtCallCallbacks(
1286     Widget      /* widget */,
1287     _Xconst _XtString   /* callback_name */,
1288     XtPointer       /* call_data */
1289 );
1290 
1291 extern void XtCallCallbackList(
1292     Widget      /* widget */,
1293     XtCallbackList  /* callbacks */,
1294     XtPointer       /* call_data */
1295 );
1296 
1297 extern XtCallbackStatus XtHasCallbacks(
1298     Widget      /* widget */,
1299     _Xconst _XtString   /* callback_name */
1300 );
1301 
1302 /****************************************************************
1303  *
1304  * Geometry Management
1305  *
1306  ****************************************************************/
1307 
1308 
1309 extern XtGeometryResult XtMakeGeometryRequest(
1310     Widget      /* widget */,
1311     XtWidgetGeometry*   /* request */,
1312     XtWidgetGeometry*   /* reply_return */
1313 );
1314 
1315 extern XtGeometryResult XtQueryGeometry(
1316     Widget      /* widget */,
1317     XtWidgetGeometry*   /* intended */,
1318     XtWidgetGeometry*   /* preferred_return */
1319 );
1320 
1321 extern Widget XtCreatePopupShell(
1322     _Xconst _XtString   /* name */,
1323     WidgetClass     /* widgetClass */,
1324     Widget      /* parent */,
1325     ArgList         /* args */,
1326     Cardinal        /* num_args */
1327 );
1328 
1329 extern Widget XtVaCreatePopupShell(
1330     _Xconst _XtString   /* name */,
1331     WidgetClass     /* widgetClass */,
1332     Widget      /* parent */,
1333     ...
1334 ) _X_SENTINEL(0);
1335 
1336 extern void XtPopup(
1337     Widget      /* popup_shell */,
1338     XtGrabKind      /* grab_kind */
1339 );
1340 
1341 extern void XtPopupSpringLoaded(
1342     Widget      /* popup_shell */
1343 );
1344 
1345 extern void XtCallbackNone(
1346     Widget      /* widget */,
1347     XtPointer       /* closure */,
1348     XtPointer       /* call_data */
1349 );
1350 
1351 extern void XtCallbackNonexclusive(
1352     Widget      /* widget */,
1353     XtPointer       /* closure */,
1354     XtPointer       /* call_data */
1355 );
1356 
1357 extern void XtCallbackExclusive(
1358     Widget      /* widget */,
1359     XtPointer       /* closure */,
1360     XtPointer       /* call_data */
1361 );
1362 
1363 extern void XtPopdown(
1364     Widget      /* popup_shell */
1365 );
1366 
1367 extern void XtCallbackPopdown(
1368     Widget      /* widget */,
1369     XtPointer       /* closure */,
1370     XtPointer       /* call_data */
1371 );
1372 
1373 extern void XtMenuPopupAction(
1374     Widget      /* widget */,
1375     XEvent*     /* event */,
1376     String*     /* params */,
1377     Cardinal*       /* num_params */
1378 );
1379 
1380 extern Widget XtCreateWidget(
1381     _Xconst _XtString   /* name */,
1382     WidgetClass     /* widget_class */,
1383     Widget      /* parent */,
1384     ArgList         /* args */,
1385     Cardinal        /* num_args */
1386 );
1387 
1388 extern Widget XtCreateManagedWidget(
1389     _Xconst _XtString   /* name */,
1390     WidgetClass     /* widget_class */,
1391     Widget      /* parent */,
1392     ArgList         /* args */,
1393     Cardinal        /* num_args */
1394 );
1395 
1396 extern Widget XtVaCreateWidget(
1397     _Xconst _XtString   /* name */,
1398     WidgetClass     /* widget */,
1399     Widget      /* parent */,
1400     ...
1401 ) _X_SENTINEL(0);
1402 
1403 extern Widget XtVaCreateManagedWidget(
1404     _Xconst _XtString   /* name */,
1405     WidgetClass     /* widget_class */,
1406     Widget      /* parent */,
1407     ...
1408 ) _X_SENTINEL(0);
1409 
1410 extern Widget XtCreateApplicationShell( /* obsolete */
1411     _Xconst _XtString   /* name */,
1412     WidgetClass     /* widget_class */,
1413     ArgList         /* args */,
1414     Cardinal        /* num_args */
1415 );
1416 
1417 extern 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 
1426 extern 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 
1440 extern void XtToolkitInitialize(
1441     void
1442 );
1443 
1444 extern XtLanguageProc XtSetLanguageProc(
1445     XtAppContext    /* app_context */,
1446     XtLanguageProc  /* proc */,
1447     XtPointer       /* client_data */
1448 );
1449 
1450 extern 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 
1461 extern 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 
1474 extern 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 
1486 extern 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 
1498 extern 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 
1509 extern 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 
1518 extern 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 
1529 extern XtAppContext XtCreateApplicationContext(
1530     void
1531 );
1532 
1533 extern void XtAppSetFallbackResources(
1534     XtAppContext    /* app_context */,
1535     String*     /* specification_list */
1536 );
1537 
1538 extern void XtDestroyApplicationContext(
1539     XtAppContext    /* app_context */
1540 );
1541 
1542 extern void XtInitializeWidgetClass(
1543     WidgetClass     /* widget_class */
1544 );
1545 
1546 extern XtAppContext XtWidgetToApplicationContext(
1547     Widget      /* widget */
1548 );
1549 
1550 extern XtAppContext XtDisplayToApplicationContext(
1551     Display*        /* dpy */
1552 );
1553 
1554 extern XrmDatabase XtDatabase(
1555     Display*        /* dpy */
1556 );
1557 
1558 extern XrmDatabase XtScreenDatabase(
1559     Screen*     /* screen */
1560 );
1561 
1562 extern void XtCloseDisplay(
1563     Display*        /* dpy */
1564 );
1565 
1566 extern void XtGetApplicationResources(
1567     Widget      /* widget */,
1568     XtPointer       /* base */,
1569     XtResourceList  /* resources */,
1570     Cardinal        /* num_resources */,
1571     ArgList         /* args */,
1572     Cardinal        /* num_args */
1573 );
1574 
1575 extern void XtVaGetApplicationResources(
1576     Widget      /* widget */,
1577     XtPointer       /* base */,
1578     XtResourceList  /* resources */,
1579     Cardinal        /* num_resources */,
1580     ...
1581 ) _X_SENTINEL(0);
1582 
1583 extern 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 
1594 extern 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 
1604 extern void XtSetValues(
1605     Widget      /* widget */,
1606     ArgList         /* args */,
1607     Cardinal        /* num_args */
1608 );
1609 
1610 extern void XtVaSetValues(
1611     Widget      /* widget */,
1612     ...
1613 ) _X_SENTINEL(0);
1614 
1615 extern void XtGetValues(
1616     Widget      /* widget */,
1617     ArgList         /* args */,
1618     Cardinal        /* num_args */
1619 );
1620 
1621 extern void XtVaGetValues(
1622     Widget      /* widget */,
1623     ...
1624 ) _X_SENTINEL(0);
1625 
1626 extern void XtSetSubvalues(
1627     XtPointer       /* base */,
1628     XtResourceList  /* resources */,
1629     Cardinal        /* num_resources */,
1630     ArgList         /* args */,
1631     Cardinal        /* num_args */
1632 );
1633 
1634 extern void XtVaSetSubvalues(
1635     XtPointer       /* base */,
1636     XtResourceList  /* resources */,
1637     Cardinal        /* num_resources */,
1638     ...
1639 ) _X_SENTINEL(0);
1640 
1641 extern void XtGetSubvalues(
1642     XtPointer       /* base */,
1643     XtResourceList  /* resources */,
1644     Cardinal        /* num_resources */,
1645     ArgList         /* args */,
1646     Cardinal        /* num_args */
1647 );
1648 
1649 extern void XtVaGetSubvalues(
1650     XtPointer       /* base */,
1651     XtResourceList  /* resources */,
1652     Cardinal        /* num_resources */,
1653     ...
1654 ) _X_SENTINEL(0);
1655 
1656 extern void XtGetResourceList(
1657     WidgetClass     /* widget_class */,
1658     XtResourceList* /* resources_return */,
1659     Cardinal*       /* num_resources_return */
1660 );
1661 
1662 extern 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 
1693 typedef 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 
1708 XtCheckpointToken XtSessionGetToken(
1709     Widget      /* widget */
1710 );
1711 
1712 void XtSessionReturnToken(
1713     XtCheckpointToken   /* token */
1714 );
1715 
1716 /*************************************************************
1717  *
1718  * Error Handling
1719  *
1720  ************************************************************/
1721 
1722 extern XtErrorMsgHandler XtAppSetErrorMsgHandler(
1723     XtAppContext    /* app_context */,
1724     XtErrorMsgHandler   /* handler */ _X_NORETURN
1725 );
1726 
1727 extern void XtSetErrorMsgHandler( /* obsolete */
1728     XtErrorMsgHandler   /* handler */ _X_NORETURN
1729 );
1730 
1731 extern XtErrorMsgHandler XtAppSetWarningMsgHandler(
1732     XtAppContext    /* app_context */,
1733     XtErrorMsgHandler   /* handler */
1734 );
1735 
1736 extern void XtSetWarningMsgHandler( /* obsolete */
1737     XtErrorMsgHandler   /* handler */
1738 );
1739 
1740 extern 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 
1750 extern 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 
1759 extern 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 
1769 extern 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 
1778 extern XtErrorHandler XtAppSetErrorHandler(
1779     XtAppContext    /* app_context */,
1780     XtErrorHandler  /* handler */ _X_NORETURN
1781 );
1782 
1783 extern void XtSetErrorHandler( /* obsolete */
1784     XtErrorHandler  /* handler */ _X_NORETURN
1785 );
1786 
1787 extern XtErrorHandler XtAppSetWarningHandler(
1788     XtAppContext    /* app_context */,
1789     XtErrorHandler  /* handler */
1790 );
1791 
1792 extern void XtSetWarningHandler( /* obsolete */
1793     XtErrorHandler  /* handler */
1794 );
1795 
1796 extern void XtAppError(
1797     XtAppContext    /* app_context */,
1798     _Xconst _XtString   /* message */
1799 ) _X_NORETURN;
1800 
1801 extern void XtError( /* obsolete */
1802     _Xconst _XtString   /* message */
1803 ) _X_NORETURN;
1804 
1805 extern void XtAppWarning(
1806     XtAppContext    /* app_context */,
1807     _Xconst _XtString   /* message */
1808 );
1809 
1810 extern void XtWarning( /* obsolete */
1811     _Xconst _XtString   /* message */
1812 );
1813 
1814 extern XrmDatabase *XtAppGetErrorDatabase(
1815     XtAppContext    /* app_context */
1816 );
1817 
1818 extern XrmDatabase *XtGetErrorDatabase( /* obsolete */
1819     void
1820 );
1821 
1822 extern 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 
1833 extern 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 
1848 extern char *XtMalloc(
1849     Cardinal        /* size */
1850 );
1851 
1852 extern char *XtCalloc(
1853     Cardinal        /* num */,
1854     Cardinal        /* size */
1855 );
1856 
1857 extern char *XtRealloc(
1858     char*       /* ptr */,
1859     Cardinal        /* num */
1860 );
1861 
1862 extern void *XtReallocArray(
1863     void *      /* ptr */,
1864     Cardinal        /* num */,
1865     Cardinal        /* size */
1866 );
1867 
1868 extern void XtFree(
1869     char*       /* ptr */
1870 );
1871 
1872 #ifndef _X_RESTRICT_KYWD
1873 # define _X_RESTRICT_KYWD
1874 #endif
1875 extern 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 
1883 extern char *_XtMalloc( /* implementation-private */
1884     Cardinal    /* size */,
1885     const char */* file */,
1886     int         /* line */
1887 );
1888 
1889 extern char *_XtRealloc( /* implementation-private */
1890     char *  /* ptr */,
1891     Cardinal    /* size */,
1892     const char */* file */,
1893     int     /* line */
1894 );
1895 
1896 extern char *_XtReallocArray( /* implementation-private */
1897     char *  /* ptr */,
1898     Cardinal    /* num */,
1899     Cardinal    /* size */,
1900     const char */* file */,
1901     int     /* line */
1902 );
1903 
1904 extern char *_XtCalloc( /* implementation-private */
1905     Cardinal    /* num */,
1906     Cardinal    /* size */,
1907     const char */* file */,
1908     int     /* line */
1909 );
1910 
1911 extern void _XtFree( /* implementation-private */
1912     char *  /* ptr */
1913 );
1914 
1915 extern Boolean _XtIsValidPointer( /* implementation-private */
1916     char *  /* ptr */);
1917 
1918 extern 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
1937 extern 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 
1947 extern XtWorkProcId XtAddWorkProc( /* obsolete */
1948     XtWorkProc      /* proc */,
1949     XtPointer       /* closure */
1950 );
1951 
1952 extern XtWorkProcId XtAppAddWorkProc(
1953     XtAppContext    /* app_context */,
1954     XtWorkProc      /* proc */,
1955     XtPointer       /* closure */
1956 );
1957 
1958 extern void  XtRemoveWorkProc(
1959     XtWorkProcId    /* id */
1960 );
1961 
1962 
1963 /****************************************************************
1964  *
1965  * Graphic Context Management
1966  *****************************************************************/
1967 
1968 extern GC XtGetGC(
1969     Widget      /* widget */,
1970     XtGCMask        /* valueMask */,
1971     XGCValues*      /* values */
1972 );
1973 
1974 extern 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  */
1987 extern void XtDestroyGC( /* obsolete */
1988     GC          /* gc */
1989 );
1990 
1991 extern void XtReleaseGC(
1992     Widget      /* object */,
1993     GC          /* gc */
1994 );
1995 
1996 
1997 
1998 extern void XtAppReleaseCacheRefs(
1999     XtAppContext    /* app_context */,
2000     XtCacheRef*     /* cache_ref */
2001 );
2002 
2003 extern void XtCallbackReleaseCacheRef(
2004     Widget      /* widget */,
2005     XtPointer       /* closure */,  /* XtCacheRef */
2006     XtPointer       /* call_data */
2007 );
2008 
2009 extern void XtCallbackReleaseCacheRefList(
2010     Widget      /* widget */,
2011     XtPointer       /* closure */,  /* XtCacheRef* */
2012     XtPointer       /* call_data */
2013 );
2014 
2015 extern void XtSetWMColormapWindows(
2016     Widget      /* widget */,
2017     Widget*     /* list */,
2018     Cardinal        /* count */
2019 );
2020 
2021 extern _XtString XtFindFile(
2022     _Xconst _XtString   /* path */,
2023     Substitution    /* substitutions */,
2024     Cardinal        /* num_substitutions */,
2025     XtFilePredicate /* predicate */
2026 );
2027 
2028 extern _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 
2047 extern void XtDisownSelection(
2048     Widget      /* widget */,
2049     Atom        /* selection */,
2050     Time        /* time */
2051 );
2052 
2053 extern void XtGetSelectionValue(
2054     Widget      /* widget */,
2055     Atom        /* selection */,
2056     Atom        /* target */,
2057     XtSelectionCallbackProc /* callback */,
2058     XtPointer       /* closure */,
2059     Time        /* time */
2060 );
2061 
2062 extern 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 
2072 extern void XtAppSetSelectionTimeout(
2073     XtAppContext    /* app_context */,
2074     unsigned long   /* timeout */
2075 );
2076 
2077 extern void XtSetSelectionTimeout( /* obsolete */
2078     unsigned long   /* timeout */
2079 );
2080 
2081 extern unsigned long XtAppGetSelectionTimeout(
2082     XtAppContext    /* app_context */
2083 );
2084 
2085 extern unsigned long XtGetSelectionTimeout( /* obsolete */
2086     void
2087 );
2088 
2089 extern XSelectionRequestEvent *XtGetSelectionRequest(
2090     Widget      /* widget */,
2091     Atom        /* selection */,
2092     XtRequestId     /* request_id */
2093 );
2094 
2095 extern void XtGetSelectionValueIncremental(
2096     Widget      /* widget */,
2097     Atom        /* selection */,
2098     Atom        /* target */,
2099     XtSelectionCallbackProc /* selection_callback */,
2100     XtPointer       /* client_data */,
2101     Time        /* time */
2102 );
2103 
2104 extern 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 
2114 extern void XtSetSelectionParameters(
2115     Widget      /* requestor */,
2116     Atom        /* selection */,
2117     Atom        /* type */,
2118     XtPointer       /* value */,
2119     unsigned long   /* length */,
2120     int         /* format */
2121 );
2122 
2123 extern 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 
2133 extern void XtCreateSelectionRequest(
2134     Widget      /* requestor */,
2135     Atom        /* selection */
2136 );
2137 
2138 extern void XtSendSelectionRequest(
2139     Widget      /* requestor */,
2140     Atom        /* selection */,
2141     Time        /* time */
2142 );
2143 
2144 extern void XtCancelSelectionRequest(
2145     Widget      /* requestor */,
2146     Atom        /* selection */
2147 );
2148 
2149 extern Atom XtReservePropertyAtom(
2150     Widget      /* widget */
2151 );
2152 
2153 extern void XtReleasePropertyAtom(
2154     Widget      /* widget */,
2155     Atom        /* selection */
2156 );
2157 
2158 extern 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 
2167 extern void XtUngrabKey(
2168     Widget      /* widget */,
2169     _XtKeyCode      /* keycode */,
2170     Modifiers       /* modifiers */
2171 );
2172 
2173 extern int XtGrabKeyboard(
2174     Widget      /* widget */,
2175     _XtBoolean      /* owner_events */,
2176     int         /* pointer_mode */,
2177     int         /* keyboard_mode */,
2178     Time        /* time */
2179 );
2180 
2181 extern void XtUngrabKeyboard(
2182     Widget      /* widget */,
2183     Time        /* time */
2184 );
2185 
2186 extern 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 
2198 extern void XtUngrabButton(
2199     Widget      /* widget */,
2200     unsigned int    /* button */,
2201     Modifiers       /* modifiers */
2202 );
2203 
2204 extern 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 
2215 extern void XtUngrabPointer(
2216     Widget      /* widget */,
2217     Time        /* time */
2218 );
2219 
2220 extern void XtGetApplicationNameAndClass(
2221     Display*        /* dpy */,
2222     String*     /* name_return */,
2223     String*     /* class_return */
2224 );
2225 
2226 extern void XtRegisterDrawable(
2227     Display*        /* dpy */,
2228     Drawable        /* drawable */,
2229     Widget      /* widget */
2230 );
2231 
2232 extern void XtUnregisterDrawable(
2233     Display*        /* dpy */,
2234     Drawable        /* drawable */
2235 );
2236 
2237 extern Widget XtHooksOfDisplay(
2238     Display*        /* dpy */
2239 );
2240 
2241 typedef struct {
2242     String type;
2243     Widget widget;
2244     ArgList args;
2245     Cardinal num_args;
2246 } XtCreateHookDataRec, *XtCreateHookData;
2247 
2248 typedef struct {
2249     String type;
2250     Widget widget;
2251     XtPointer event_data;
2252     Cardinal num_event_data;
2253 } XtChangeHookDataRec, *XtChangeHookData;
2254 
2255 typedef struct {
2256     Widget old, req;
2257     ArgList args;
2258     Cardinal num_args;
2259 } XtChangeHookSetValuesDataRec, *XtChangeHookSetValuesData;
2260 
2261 typedef struct {
2262     String type;
2263     Widget widget;
2264     XtGeometryMask changeMask;
2265     XWindowChanges changes;
2266 } XtConfigureHookDataRec, *XtConfigureHookData;
2267 
2268 typedef struct {
2269     String type;
2270     Widget widget;
2271     XtWidgetGeometry* request;
2272     XtWidgetGeometry* reply;
2273     XtGeometryResult result;
2274 } XtGeometryHookDataRec, *XtGeometryHookData;
2275 
2276 typedef struct {
2277     String type;
2278     Widget widget;
2279 } XtDestroyHookDataRec, *XtDestroyHookData;
2280 
2281 extern void XtGetDisplays(
2282     XtAppContext    /* app_context */,
2283     Display***      /* dpy_return */,
2284     Cardinal*       /* num_dpy_return */
2285 );
2286 
2287 extern Boolean XtToolkitThreadInitialize(
2288     void
2289 );
2290 
2291 extern void XtAppSetExitFlag(
2292     XtAppContext    /* app_context */
2293 );
2294 
2295 extern Boolean XtAppGetExitFlag(
2296     XtAppContext    /* app_context */
2297 );
2298 
2299 extern void XtAppLock(
2300     XtAppContext    /* app_context */
2301 );
2302 
2303 extern void XtAppUnlock(
2304     XtAppContext    /* app_context */
2305 );
2306 
2307 /*
2308  *  Predefined Resource Converters
2309  */
2310 
2311 
2312 /* String converters */
2313 
2314 extern 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 
2323 extern 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 
2332 extern 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 
2341 extern 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 
2350 extern 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 
2359 extern 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 
2368 extern 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 
2377 extern 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 
2386 extern 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 
2395 extern 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 
2404 extern 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 
2413 extern 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 
2422 extern 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 
2431 extern 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 
2440 extern Boolean XtCvtStringToGravity(
2441     Display*    /* dpy */,
2442     XrmValuePtr /* args */,
2443     Cardinal*   /* num_args */,
2444     XrmValuePtr /* fromVal */,
2445     XrmValuePtr /* toVal */,
2446     XtPointer*  /* closure_ret */
2447 );
2448 
2449 extern 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 
2458 extern 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 
2467 extern 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 
2478 extern 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 
2487 extern 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 
2496 extern 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 
2505 extern 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 
2514 extern 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 
2525 extern 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 
2534 extern 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 
2543 extern 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 
2554 extern 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 
2563 extern 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 
2572 extern 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 
2581 extern 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 
2592 extern 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 
2601 extern 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 
2612 extern 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 */