home *** CD-ROM | disk | FTP | other *** search
/ Geek Gadgets 1 / ADE-1.bin / ade-bin / x11r6.1 / include / x11 / intrinsic.h < prev    next >
Encoding:
C/C++ Source or Header  |  1996-10-17  |  72.2 KB  |  3,215 lines

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