home *** CD-ROM | disk | FTP | other *** search
/ Fresh Fish 8 / FreshFishVol8-CD1.bin / gnu / os-include / devices / conunit.h < prev    next >
C/C++ Source or Header  |  1993-10-15  |  3KB  |  101 lines

  1. #ifndef DEVICES_CONUNIT_H
  2. #define DEVICES_CONUNIT_H
  3. /*
  4. **    $VER: conunit.h 36.15 (20.11.90)
  5. **    Includes Release 40.15
  6. **
  7. **    Console device unit definitions
  8. **
  9. **    (C) Copyright 1986-1993 Commodore-Amiga, Inc.
  10. **        All Rights Reserved
  11. */
  12.  
  13. #ifndef    EXEC_TYPES_H
  14. #include    "exec/types.h"
  15. #endif
  16.  
  17. #ifndef EXEC_PORTS_H
  18. #include    "exec/ports.h"
  19. #endif
  20.  
  21. #ifndef DEVICES_CONSOLE_H
  22. #include    "devices/console.h"
  23. #endif
  24.  
  25. #ifndef DEVICES_KEYMAP_H
  26. #include    "devices/keymap.h"
  27. #endif
  28.  
  29. #ifndef DEVICES_INPUTEVENT_H
  30. #include    "devices/inputevent.h"
  31. #endif
  32.  
  33. /* ----    console unit numbers for OpenDevice() */
  34. #define    CONU_LIBRARY    -1    /* no unit, just fill in IO_DEVICE field */
  35. #define    CONU_STANDARD    0    /* standard unmapped console */
  36.  
  37. /* ---- New unit numbers for OpenDevice() - (V36) */
  38.  
  39. #define    CONU_CHARMAP    1    /* bind character map to console */
  40. #define    CONU_SNIPMAP    3    /* bind character map w/ snip to console */
  41.  
  42. /* ---- New flag defines for OpenDevice() - (V37) */
  43.  
  44. #define CONFLAG_DEFAULT            0
  45. #define CONFLAG_NODRAW_ON_NEWSIZE    1
  46.  
  47.  
  48. #define    PMB_ASM        (M_LNM+1)    /* internal storage bit for AS flag */
  49. #define    PMB_AWM        (PMB_ASM+1)    /* internal storage bit for AW flag */
  50. #define    MAXTABS        80
  51.  
  52.  
  53. struct    ConUnit {
  54.     struct  MsgPort cu_MP;
  55.     /* ---- read only variables */
  56.     struct  Window *cu_Window;    /* intuition window bound to this unit */
  57.     WORD    cu_XCP;        /* character position */
  58.     WORD    cu_YCP;
  59.     WORD    cu_XMax;        /* max character position */
  60.     WORD    cu_YMax;
  61.     WORD    cu_XRSize;        /* character raster size */
  62.     WORD    cu_YRSize;
  63.     WORD    cu_XROrigin;    /* raster origin */
  64.     WORD    cu_YROrigin;
  65.     WORD    cu_XRExtant;    /* raster maxima */
  66.     WORD    cu_YRExtant;
  67.     WORD    cu_XMinShrink;    /* smallest area intact from resize process */
  68.     WORD    cu_YMinShrink;
  69.     WORD    cu_XCCP;        /* cursor position */
  70.     WORD    cu_YCCP;
  71.  
  72.     /* ---- read/write variables (writes must must be protected) */
  73.     /* ---- storage for AskKeyMap and SetKeyMap */
  74.     struct  KeyMap cu_KeyMapStruct;
  75.     /* ---- tab stops */
  76.     UWORD   cu_TabStops[MAXTABS]; /* 0 at start, 0xffff at end of list */
  77.  
  78.     /* ---- console rastport attributes */
  79.     BYTE    cu_Mask;
  80.     BYTE    cu_FgPen;
  81.     BYTE    cu_BgPen;
  82.     BYTE    cu_AOLPen;
  83.     BYTE    cu_DrawMode;
  84.     BYTE    cu_Obsolete1;    /* was cu_AreaPtSz -- not used in V36 */
  85.     APTR    cu_Obsolete2;    /* was cu_AreaPtrn -- not used in V36 */
  86.     UBYTE   cu_Minterms[8];    /* console minterms */
  87.     struct  TextFont *cu_Font;
  88.     UBYTE   cu_AlgoStyle;
  89.     UBYTE   cu_TxFlags;
  90.     UWORD   cu_TxHeight;
  91.     UWORD   cu_TxWidth;
  92.     UWORD   cu_TxBaseline;
  93.     WORD    cu_TxSpacing;
  94.  
  95.     /* ---- console MODES and RAW EVENTS switches */
  96.     UBYTE   cu_Modes[(PMB_AWM+7)/8];    /* one bit per mode */
  97.     UBYTE   cu_RawEvents[(IECLASS_MAX+8)/8];
  98. };
  99.  
  100. #endif    /* DEVICES_CONUNIT_H */
  101.