home *** CD-ROM | disk | FTP | other *** search
/ Amiga Elysian Archive / AmigaElysianArchive.iso / anim / players / mpeg_src.lha / amiga / include / X11 / X.h next >
C/C++ Source or Header  |  1992-12-08  |  18KB  |  660 lines

  1. /*
  2.  *    $XConsortium: X.h,v 1.66 88/09/06 15:55:56 jim Exp $
  3.  */
  4.  
  5. /* Definitions for the X window system likely to be used by applications */
  6.  
  7. #ifndef X_H
  8. #define X_H
  9.  
  10. /***********************************************************
  11. Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts,
  12. and the Massachusetts Institute of Technology, Cambridge, Massachusetts.
  13.  
  14.                         All Rights Reserved
  15.  
  16. Permission to use, copy, modify, and distribute this software and its 
  17. documentation for any purpose and without fee is hereby granted, 
  18. provided that the above copyright notice appear in all copies and that
  19. both that copyright notice and this permission notice appear in 
  20. supporting documentation, and that the names of Digital or MIT not be
  21. used in advertising or publicity pertaining to distribution of the
  22. software without specific, written prior permission.  
  23.  
  24. DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
  25. ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
  26. DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
  27. ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
  28. WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
  29. ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
  30. SOFTWARE.
  31.  
  32. ******************************************************************/
  33. #define X_PROTOCOL    11        /* current protocol version */
  34. #define X_PROTOCOL_REVISION 0        /* current minor version */
  35.  
  36. /* Resources */
  37.  
  38. typedef unsigned long XID;
  39.  
  40. typedef XID Window;
  41. typedef XID Drawable;
  42. typedef XID Font;
  43. typedef XID Pixmap;
  44. typedef XID Cursor;
  45. typedef XID Colormap;
  46. typedef XID GContext;
  47. typedef XID KeySym;
  48.  
  49. typedef unsigned long Mask;
  50.  
  51. typedef unsigned long Atom;
  52.  
  53. typedef unsigned long VisualID;
  54.  
  55. typedef unsigned long Time;
  56.  
  57. typedef unsigned char KeyCode;
  58.  
  59. /*****************************************************************
  60.  * RESERVED RESOURCE AND CONSTANT DEFINITIONS
  61.  *****************************************************************/
  62.  
  63. #define None                 0L    /* universal null resource or null atom */
  64.  
  65. #define ParentRelative       1L    /* background pixmap in CreateWindow
  66.                     and ChangeWindowAttributes */
  67.  
  68. #define CopyFromParent       0L    /* border pixmap in CreateWindow
  69.                        and ChangeWindowAttributes
  70.                    special VisualID and special window
  71.                        class passed to CreateWindow */
  72.  
  73. #define PointerWindow        0L    /* destination window in SendEvent */
  74. #define InputFocus           1L    /* destination window in SendEvent */
  75.  
  76. #define PointerRoot          1L    /* focus window in SetInputFocus */
  77.  
  78. #define AnyPropertyType      0L    /* special Atom, passed to GetProperty */
  79.  
  80. #define AnyKey             0L    /* special Key Code, passed to GrabKey */
  81.  
  82. #define AnyButton            0L    /* special Button Code, passed to GrabButton */
  83.  
  84. #define AllTemporary         0L    /* special Resource ID passed to KillClient */
  85.  
  86. #define CurrentTime          0L    /* special Time */
  87.  
  88. #define NoSymbol         0L    /* special KeySym */
  89.  
  90. /***************************************************************** 
  91.  * EVENT DEFINITIONS 
  92.  *****************************************************************/
  93.  
  94. /* Input Event Masks. Used as event-mask window attribute and as arguments
  95.    to Grab requests.  Not to be confused with event names.  */
  96.  
  97. #define NoEventMask            0L
  98. #define KeyPressMask            (1L<<0)  
  99. #define KeyReleaseMask            (1L<<1)  
  100. #define ButtonPressMask            (1L<<2)  
  101. #define ButtonReleaseMask        (1L<<3)  
  102. #define EnterWindowMask            (1L<<4)  
  103. #define LeaveWindowMask            (1L<<5)  
  104. #define PointerMotionMask        (1L<<6)  
  105. #define PointerMotionHintMask        (1L<<7)  
  106. #define Button1MotionMask        (1L<<8)  
  107. #define Button2MotionMask        (1L<<9)  
  108. #define Button3MotionMask        (1L<<10) 
  109. #define Button4MotionMask        (1L<<11) 
  110. #define Button5MotionMask        (1L<<12) 
  111. #define ButtonMotionMask        (1L<<13) 
  112. #define KeymapStateMask            (1L<<14)
  113. #define ExposureMask            (1L<<15) 
  114. #define VisibilityChangeMask        (1L<<16) 
  115. #define StructureNotifyMask        (1L<<17) 
  116. #define ResizeRedirectMask        (1L<<18) 
  117. #define SubstructureNotifyMask        (1L<<19) 
  118. #define SubstructureRedirectMask    (1L<<20) 
  119. #define FocusChangeMask            (1L<<21) 
  120. #define PropertyChangeMask        (1L<<22) 
  121. #define ColormapChangeMask        (1L<<23) 
  122. #define OwnerGrabButtonMask        (1L<<24) 
  123.  
  124. /* Event names.  Used in "type" field in XEvent structures.  Not to be
  125. confused with event masks above.  They start from 2 because 0 and 1
  126. are reserved in the protocol for errors and replies. */
  127.  
  128. #define KeyPress        2
  129. #define KeyRelease        3
  130. #define ButtonPress        4
  131. #define ButtonRelease        5
  132. #define MotionNotify        6
  133. #define EnterNotify        7
  134. #define LeaveNotify        8
  135. #define FocusIn            9
  136. #define FocusOut        10
  137. #define KeymapNotify        11
  138. #define Expose            12
  139. #define GraphicsExpose        13
  140. #define NoExpose        14
  141. #define VisibilityNotify    15
  142. #define CreateNotify        16
  143. #define DestroyNotify        17
  144. #define UnmapNotify        18
  145. #define MapNotify        19
  146. #define MapRequest        20
  147. #define ReparentNotify        21
  148. #define ConfigureNotify        22
  149. #define ConfigureRequest    23
  150. #define GravityNotify        24
  151. #define ResizeRequest        25
  152. #define CirculateNotify        26
  153. #define CirculateRequest    27
  154. #define PropertyNotify        28
  155. #define SelectionClear        29
  156. #define SelectionRequest    30
  157. #define SelectionNotify        31
  158. #define ColormapNotify        32
  159. #define ClientMessage        33
  160. #define MappingNotify        34
  161. #define LASTEvent        35    /* must be bigger than any event # */
  162.  
  163.  
  164. /* Key masks. Used as modifiers to GrabButton and GrabKey, results of QueryPointer,
  165.    state in various key-, mouse-, and button-related events. */
  166.  
  167. #define ShiftMask        (1<<0)
  168. #define LockMask        (1<<1)
  169. #define ControlMask        (1<<2)
  170. #define Mod1Mask        (1<<3)
  171. #define Mod2Mask        (1<<4)
  172. #define Mod3Mask        (1<<5)
  173. #define Mod4Mask        (1<<6)
  174. #define Mod5Mask        (1<<7)
  175.  
  176. /* modifier names.  Used to build a SetModifierMapping request or
  177.    to read a GetModifierMapping request.  These correspond to the
  178.    masks defined above. */
  179. #define ShiftMapIndex        0
  180. #define LockMapIndex        1
  181. #define ControlMapIndex        2
  182. #define Mod1MapIndex        3
  183. #define Mod2MapIndex        4
  184. #define Mod3MapIndex        5
  185. #define Mod4MapIndex        6
  186. #define Mod5MapIndex        7
  187.  
  188.  
  189. /* button masks.  Used in same manner as Key masks above. Not to be confused
  190.    with button names below. */
  191.  
  192. #define Button1Mask        (1<<8)
  193. #define Button2Mask        (1<<9)
  194. #define Button3Mask        (1<<10)
  195. #define Button4Mask        (1<<11)
  196. #define Button5Mask        (1<<12)
  197.  
  198. #define AnyModifier        (1<<15)  /* used in GrabButton, GrabKey */
  199.  
  200.  
  201. /* button names. Used as arguments to GrabButton and as detail in ButtonPress
  202.    and ButtonRelease events.  Not to be confused with button masks above.
  203.    Note that 0 is already defined above as "AnyButton".  */
  204.  
  205. #define Button1            1
  206. #define Button2            2
  207. #define Button3            3
  208. #define Button4            4
  209. #define Button5            5
  210.  
  211. /* Notify modes */
  212.  
  213. #define NotifyNormal        0
  214. #define NotifyGrab        1
  215. #define NotifyUngrab        2
  216. #define NotifyWhileGrabbed    3
  217.  
  218. #define NotifyHint        1    /* for MotionNotify events */
  219.                
  220. /* Notify detail */
  221.  
  222. #define NotifyAncestor        0
  223. #define NotifyVirtual        1
  224. #define NotifyInferior        2
  225. #define NotifyNonlinear        3
  226. #define NotifyNonlinearVirtual    4
  227. #define NotifyPointer        5
  228. #define NotifyPointerRoot    6
  229. #define NotifyDetailNone    7
  230.  
  231. /* Visibility notify */
  232.  
  233. #define VisibilityUnobscured        0
  234. #define VisibilityPartiallyObscured    1
  235. #define VisibilityFullyObscured        2
  236.  
  237. /* Circulation request */
  238.  
  239. #define PlaceOnTop        0
  240. #define PlaceOnBottom        1
  241.  
  242. /* protocol families */
  243.  
  244. #define FamilyInternet        0
  245. #define FamilyDECnet        1
  246. #define FamilyChaos        2
  247.  
  248. /* Property notification */
  249.  
  250. #define PropertyNewValue    0
  251. #define PropertyDelete        1
  252.  
  253. /* Color Map notification */
  254.  
  255. #define ColormapUninstalled    0
  256. #define ColormapInstalled    1
  257.  
  258. /* GrabPointer, GrabButton, GrabKeyboard, GrabKey Modes */
  259.  
  260. #define GrabModeSync        0
  261. #define GrabModeAsync        1
  262.  
  263. /* GrabPointer, GrabKeyboard reply status */
  264.  
  265. #define GrabSuccess        0
  266. #define AlreadyGrabbed        1
  267. #define GrabInvalidTime        2
  268. #define GrabNotViewable        3
  269. #define GrabFrozen        4
  270.  
  271. /* AllowEvents modes */
  272.  
  273. #define AsyncPointer        0
  274. #define SyncPointer        1
  275. #define ReplayPointer        2
  276. #define AsyncKeyboard        3
  277. #define SyncKeyboard        4
  278. #define ReplayKeyboard        5
  279. #define AsyncBoth        6
  280. #define SyncBoth        7
  281.  
  282. /* Used in SetInputFocus, GetInputFocus */
  283.  
  284. #define RevertToNone        (int)None
  285. #define RevertToPointerRoot    (int)PointerRoot
  286. #define RevertToParent        2
  287.  
  288. /*****************************************************************
  289.  * ERROR CODES 
  290.  *****************************************************************/
  291.  
  292. #define Success           0    /* everything's okay */
  293. #define BadRequest       1    /* bad request code */
  294. #define BadValue       2    /* int parameter out of range */
  295. #define BadWindow       3    /* parameter not a Window */
  296. #define BadPixmap       4    /* parameter not a Pixmap */
  297. #define BadAtom           5    /* parameter not an Atom */
  298. #define BadCursor       6    /* parameter not a Cursor */
  299. #define BadFont           7    /* parameter not a Font */
  300. #define BadMatch       8    /* parameter mismatch */
  301. #define BadDrawable       9    /* parameter not a Pixmap or Window */
  302. #define BadAccess      10    /* depending on context:
  303.                  - key/button already grabbed
  304.                  - attempt to free an illegal 
  305.                    cmap entry 
  306.                 - attempt to store into a read-only 
  307.                    color map entry.
  308.                  - attempt to modify the access control
  309.                    list from other than the local host.
  310.                 */
  311. #define BadAlloc      11    /* insufficient resources */
  312. #define BadColor      12    /* no such colormap */
  313. #define BadGC          13    /* parameter not a GC */
  314. #define BadIDChoice      14    /* choice not in range or already used */
  315. #define BadName          15    /* font or color name doesn't exist */
  316. #define BadLength      16    /* Request length incorrect */
  317. #define BadImplementation 17    /* server is defective */
  318.  
  319. #define FirstExtensionError    128
  320. #define LastExtensionError    255
  321.  
  322. /*****************************************************************
  323.  * WINDOW DEFINITIONS 
  324.  *****************************************************************/
  325.  
  326. /* Window classes used by CreateWindow */
  327. /* Note that CopyFromParent is already defined as 0 above */
  328.  
  329. #define InputOutput        1
  330. #define InputOnly        2
  331.  
  332. /* Window attributes for CreateWindow and ChangeWindowAttributes */
  333.  
  334. #define CWBackPixmap        (1L<<0)
  335. #define CWBackPixel        (1L<<1)
  336. #define CWBorderPixmap        (1L<<2)
  337. #define CWBorderPixel           (1L<<3)
  338. #define CWBitGravity        (1L<<4)
  339. #define CWWinGravity        (1L<<5)
  340. #define CWBackingStore          (1L<<6)
  341. #define CWBackingPlanes            (1L<<7)
  342. #define CWBackingPixel            (1L<<8)
  343. #define CWOverrideRedirect    (1L<<9)
  344. #define CWSaveUnder        (1L<<10)
  345. #define CWEventMask        (1L<<11)
  346. #define CWDontPropagate            (1L<<12)
  347. #define CWColormap        (1L<<13)
  348. #define CWCursor            (1L<<14)
  349.  
  350. /* ConfigureWindow structure */
  351.  
  352. #define CWX            (1<<0)
  353. #define CWY            (1<<1)
  354. #define CWWidth            (1<<2)
  355. #define CWHeight        (1<<3)
  356. #define CWBorderWidth        (1<<4)
  357. #define CWSibling        (1<<5)
  358. #define CWStackMode        (1<<6)
  359.  
  360.  
  361. /* Bit Gravity */
  362.  
  363. #define ForgetGravity        0
  364. #define NorthWestGravity    1
  365. #define NorthGravity        2
  366. #define NorthEastGravity    3
  367. #define WestGravity        4
  368. #define CenterGravity        5
  369. #define EastGravity        6
  370. #define SouthWestGravity    7
  371. #define SouthGravity        8
  372. #define SouthEastGravity    9
  373. #define StaticGravity        10
  374.  
  375. /* Window gravity + bit gravity above */
  376.  
  377. #define UnmapGravity        0
  378.  
  379. /* Used in CreateWindow for backing-store hint */
  380.  
  381. #define NotUseful               0
  382. #define WhenMapped              1
  383. #define Always                  2
  384.  
  385. /* Used in GetWindowAttributes reply */
  386.  
  387. #define IsUnmapped        0
  388. #define IsUnviewable        1
  389. #define IsViewable        2
  390.  
  391. /* Used in ChangeSaveSet */
  392.  
  393. #define SetModeInsert           0
  394. #define SetModeDelete           1
  395.  
  396. /* Used in ChangeCloseDownMode */
  397.  
  398. #define DestroyAll              0
  399. #define RetainPermanent         1
  400. #define RetainTemporary         2
  401.  
  402. /* Window stacking method (in configureWindow) */
  403.  
  404. #define Above                   0
  405. #define Below                   1
  406. #define TopIf                   2
  407. #define BottomIf                3
  408. #define Opposite                4
  409.  
  410. /* Circulation direction */
  411.  
  412. #define RaiseLowest             0
  413. #define LowerHighest            1
  414.  
  415. /* Property modes */
  416.  
  417. #define PropModeReplace         0
  418. #define PropModePrepend         1
  419. #define PropModeAppend          2
  420.  
  421. /*****************************************************************
  422.  * GRAPHICS DEFINITIONS
  423.  *****************************************************************/
  424.  
  425. /* graphics functions, as in GC.alu */
  426.  
  427. #define    GXclear            0x0        /* 0 */
  428. #define GXand            0x1        /* src AND dst */
  429. #define GXandReverse        0x2        /* src AND NOT dst */
  430. #define GXcopy            0x3        /* src */
  431. #define GXandInverted        0x4        /* NOT src AND dst */
  432. #define    GXnoop            0x5        /* dst */
  433. #define GXxor            0x6        /* src XOR dst */
  434. #define GXor            0x7        /* src OR dst */
  435. #define GXnor            0x8        /* NOT src AND NOT dst */
  436. #define GXequiv            0x9        /* NOT src XOR dst */
  437. #define GXinvert        0xa        /* NOT dst */
  438. #define GXorReverse        0xb        /* src OR NOT dst */
  439. #define GXcopyInverted        0xc        /* NOT src */
  440. #define GXorInverted        0xd        /* NOT src OR dst */
  441. #define GXnand            0xe        /* NOT src OR NOT dst */
  442. #define GXset            0xf        /* 1 */
  443.  
  444. /* LineStyle */
  445.  
  446. #define LineSolid        0
  447. #define LineOnOffDash        1
  448. #define LineDoubleDash        2
  449.  
  450. /* capStyle */
  451.  
  452. #define CapNotLast        0
  453. #define CapButt            1
  454. #define CapRound        2
  455. #define CapProjecting        3
  456.  
  457. /* joinStyle */
  458.  
  459. #define JoinMiter        0
  460. #define JoinRound        1
  461. #define JoinBevel        2
  462.  
  463. /* fillStyle */
  464.  
  465. #define FillSolid        0
  466. #define FillTiled        1
  467. #define FillStippled        2
  468. #define FillOpaqueStippled    3
  469.  
  470. /* fillRule */
  471.  
  472. #define EvenOddRule        0
  473. #define WindingRule        1
  474.  
  475. /* subwindow mode */
  476.  
  477. #define ClipByChildren        0
  478. #define IncludeInferiors    1
  479.  
  480. /* SetClipRectangles ordering */
  481.  
  482. #define Unsorted        0
  483. #define YSorted            1
  484. #define YXSorted        2
  485. #define YXBanded        3
  486.  
  487. /* CoordinateMode for drawing routines */
  488.  
  489. #define CoordModeOrigin        0    /* relative to the origin */
  490. #define CoordModePrevious       1    /* relative to previous point */
  491.  
  492. /* Polygon shapes */
  493.  
  494. #define Complex            0    /* paths may intersect */
  495. #define Nonconvex        1    /* no paths intersect, but not convex */
  496. #define Convex            2    /* wholly convex */
  497.  
  498. /* Arc modes for PolyFillArc */
  499.  
  500. #define ArcChord        0    /* join endpoints of arc */
  501. #define ArcPieSlice        1    /* join endpoints to center of arc */
  502.  
  503. /* GC components: masks used in CreateGC, CopyGC, ChangeGC, OR'ed into
  504.    GC.stateChanges */
  505.  
  506. #define GCFunction              (1L<<0)
  507. #define GCPlaneMask             (1L<<1)
  508. #define GCForeground            (1L<<2)
  509. #define GCBackground            (1L<<3)
  510. #define GCLineWidth             (1L<<4)
  511. #define GCLineStyle             (1L<<5)
  512. #define GCCapStyle              (1L<<6)
  513. #define GCJoinStyle        (1L<<7)
  514. #define GCFillStyle        (1L<<8)
  515. #define GCFillRule        (1L<<9) 
  516. #define GCTile            (1L<<10)
  517. #define GCStipple        (1L<<11)
  518. #define GCTileStipXOrigin    (1L<<12)
  519. #define GCTileStipYOrigin    (1L<<13)
  520. #define GCFont             (1L<<14)
  521. #define GCSubwindowMode        (1L<<15)
  522. #define GCGraphicsExposures     (1L<<16)
  523. #define GCClipXOrigin        (1L<<17)
  524. #define GCClipYOrigin        (1L<<18)
  525. #define GCClipMask        (1L<<19)
  526. #define GCDashOffset        (1L<<20)
  527. #define GCDashList        (1L<<21)
  528. #define GCArcMode        (1L<<22)
  529.  
  530. #define GCLastBit        22
  531. /*****************************************************************
  532.  * FONTS 
  533.  *****************************************************************/
  534.  
  535. /* used in QueryFont -- draw direction */
  536.  
  537. #define FontLeftToRight        0
  538. #define FontRightToLeft        1
  539.  
  540. #define FontChange        255
  541.  
  542. /*****************************************************************
  543.  *  IMAGING 
  544.  *****************************************************************/
  545.  
  546. /* ImageFormat -- PutImage, GetImage */
  547.  
  548. #define XYBitmap        0    /* depth 1, XYFormat */
  549. #define XYPixmap        1    /* depth == drawable depth */
  550. #define ZPixmap            2    /* depth == drawable depth */
  551.  
  552. /*****************************************************************
  553.  *  COLOR MAP STUFF 
  554.  *****************************************************************/
  555.  
  556. /* For CreateColormap */
  557.  
  558. #define AllocNone        0    /* create map with no entries */
  559. #define AllocAll        1    /* allocate entire map writeable */
  560.  
  561.  
  562. /* Flags used in StoreNamedColor, StoreColors */
  563.  
  564. #define DoRed            (1<<0)
  565. #define DoGreen            (1<<1)
  566. #define DoBlue            (1<<2)
  567.  
  568. /*****************************************************************
  569.  * CURSOR STUFF
  570.  *****************************************************************/
  571.  
  572. /* QueryBestSize Class */
  573.  
  574. #define CursorShape        0    /* largest size that can be displayed */
  575. #define TileShape        1    /* size tiled fastest */
  576. #define StippleShape        2    /* size stippled fastest */
  577.  
  578. /***************************************************************** 
  579.  * KEYBOARD/POINTER STUFF
  580.  *****************************************************************/
  581.  
  582. #define AutoRepeatModeOff    0
  583. #define AutoRepeatModeOn    1
  584. #define AutoRepeatModeDefault    2
  585.  
  586. #define LedModeOff        0
  587. #define LedModeOn        1
  588.  
  589. /* masks for ChangeKeyboardControl */
  590.  
  591. #define KBKeyClickPercent    (1L<<0)
  592. #define KBBellPercent        (1L<<1)
  593. #define KBBellPitch        (1L<<2)
  594. #define KBBellDuration        (1L<<3)
  595. #define KBLed            (1L<<4)
  596. #define KBLedMode        (1L<<5)
  597. #define KBKey            (1L<<6)
  598. #define KBAutoRepeatMode    (1L<<7)
  599.  
  600. #define MappingSuccess         0
  601. #define MappingBusy            1
  602. #define MappingFailed        2
  603.  
  604. #define MappingModifier        0
  605. #define MappingKeyboard        1
  606. #define MappingPointer        2
  607.  
  608. /*****************************************************************
  609.  * SCREEN SAVER STUFF 
  610.  *****************************************************************/
  611.  
  612. #define DontPreferBlanking    0
  613. #define PreferBlanking        1
  614. #define DefaultBlanking        2
  615.  
  616. #define DisableScreenSaver    0
  617. #define DisableScreenInterval    0
  618.  
  619. #define DontAllowExposures    0
  620. #define AllowExposures        1
  621. #define DefaultExposures    2
  622.  
  623. /* for ForceScreenSaver */
  624.  
  625. #define ScreenSaverReset 0
  626. #define ScreenSaverActive 1
  627.  
  628. /*****************************************************************
  629.  * HOSTS AND CONNECTIONS
  630.  *****************************************************************/
  631.  
  632. /* for ChangeHosts */
  633.  
  634. #define HostInsert        0
  635. #define HostDelete        1
  636.  
  637. /* for ChangeAccessControl */
  638.  
  639. #define EnableAccess        1      
  640. #define DisableAccess        0
  641.  
  642. /* Display classes  used in opening the connection 
  643.  * Note that the statically allocated ones are even numbered and the
  644.  * dynamically changeable ones are odd numbered */
  645.  
  646. #define StaticGray        0
  647. #define GrayScale        1
  648. #define StaticColor        2
  649. #define PseudoColor        3
  650. #define TrueColor        4
  651. #define DirectColor        5
  652.  
  653.  
  654. /* Byte order  used in imageByteOrder and bitmapBitOrder */
  655.  
  656. #define LSBFirst        0
  657. #define MSBFirst        1
  658.  
  659. #endif /* X_H */
  660.