#ifndef DEVICES_CONUNIT_H #define DEVICES_CONUNIT_H /* ** $Filename: devices/conunit.h $ ** $Release: 2.04 Includes, V37.4 $ ** $Revision: 36.15 $ ** $Date: 90/11/20 $ ** ** Console device unit definitions ** ** (C) Copyright 1986-1999 Amiga, Inc. ** All Rights Reserved */ #ifndef EXEC_TYPES_H #include "exec/types.h" #endif #ifndef EXEC_PORTS_H #include "exec/ports.h" #endif #ifndef DEVICES_CONSOLE_H #include "devices/console.h" #endif #ifndef DEVICES_KEYMAP_H #include "devices/keymap.h" #endif #ifndef DEVICES_INPUTEVENT_H #include "devices/inputevent.h" #endif /* ---- console unit numbers for OpenDevice() */ #define CONU_LIBRARY -1 /* no unit, just fill in IO_DEVICE field */ #define CONU_STANDARD 0 /* standard unmapped console */ /* ---- New unit numbers for OpenDevice() - (V36) */ #define CONU_CHARMAP 1 /* bind character map to console */ #define CONU_SNIPMAP 3 /* bind character map w/ snip to console */ /* ---- New flag defines for OpenDevice() - (V37) */ #define CONFLAG_DEFAULT 0 #define CONFLAG_NODRAW_ON_NEWSIZE 1 #define PMB_ASM (M_LNM+1) /* internal storage bit for AS flag */ #define PMB_AWM (PMB_ASM+1) /* internal storage bit for AW flag */ #define MAXTABS 80 struct ConUnit { struct MsgPort cu_MP; /* ---- read only variables */ struct Window *cu_Window; /* intuition window bound to this unit */ WORD cu_XCP; /* character position */ WORD cu_YCP; WORD cu_XMax; /* max character position */ WORD cu_YMax; WORD cu_XRSize; /* character raster size */ WORD cu_YRSize; WORD cu_XROrigin; /* raster origin */ WORD cu_YROrigin; WORD cu_XRExtant; /* raster maxima */ WORD cu_YRExtant; WORD cu_XMinShrink; /* smallest area intact from resize process */ WORD cu_YMinShrink; WORD cu_XCCP; /* cursor position */ WORD cu_YCCP; /* ---- read/write variables (writes must must be protected) */ /* ---- storage for AskKeyMap and SetKeyMap */ struct KeyMap cu_KeyMapStruct; /* ---- tab stops */ UWORD cu_TabStops[MAXTABS]; /* 0 at start, 0xffff at end of list */ /* ---- console rastport attributes */ BYTE cu_Mask; BYTE cu_FgPen; BYTE cu_BgPen; BYTE cu_AOLPen; BYTE cu_DrawMode; BYTE cu_Obsolete1; /* was cu_AreaPtSz -- not used in V36 */ APTR cu_Obsolete2; /* was cu_AreaPtrn -- not used in V36 */ UBYTE cu_Minterms[8]; /* console minterms */ struct TextFont *cu_Font; UBYTE cu_AlgoStyle; UBYTE cu_TxFlags; UWORD cu_TxHeight; UWORD cu_TxWidth; UWORD cu_TxBaseline; WORD cu_TxSpacing; /* ---- console MODES and RAW EVENTS switches */ UBYTE cu_Modes[(PMB_AWM+7)/8]; /* one bit per mode */ UBYTE cu_RawEvents[(IECLASS_MAX+8)/8]; }; #endif /* DEVICES_CONUNIT_H */