;
; ** $VER: conunit.h 36.15 (20.11.90)
; ** Includes Release 40.15
; **
; ** Console device unit definitions
; **
; ** (C) Copyright 1986-1993 Commodore-Amiga, Inc.
; **     All Rights Reserved
;

IncludePath   "PureInclude:"
XIncludeFile "exec/ports.pb"
XIncludeFile "devices/console.pb"
XIncludeFile "devices/keymap.pb"
XIncludeFile "devices/inputevent.pb"

;  ---- console unit numbers for OpenDevice()
#CONU_LIBRARY = -1 ;  no unit, just fill in IO_DEVICE field
#CONU_STANDARD = 0 ;  standard unmapped console

;  ---- New unit numbers for OpenDevice() - (V36)

#CONU_CHARMAP = 1 ;  bind character map to console
#CONU_SNIPMAP = 3 ;  bind character map w/ snip to console

;  ---- New flag defines for OpenDevice() - (V37)

#CONFLAG_DEFAULT   = 0
#CONFLAG_NODRAW_ON_NEWSIZE = 1


#PMB_ASM  = (#M_LNM+1) ;  internal storage bit for AS flag
#PMB_AWM  = (#PMB_ASM+1) ;  internal storage bit for AW flag
#MAXTABS  = 80


Structure ConUnit
    cu_MP.MsgPort
    ;  ---- read only variables
    *cu_Window.Window ;  intuition window bound to this unit
    cu_XCP.w  ;  character position
    cu_YCP.w
    cu_XMax.w  ;  max character position
    cu_YMax.w
    cu_XRSize.w  ;  character raster size
    cu_YRSize.w
    cu_XROrigin.w ;  raster origin
    cu_YROrigin.w
    cu_XRExtant.w ;  raster maxima
    cu_YRExtant.w
    cu_XMinShrink.w ;  smallest area intact from resize process
    cu_YMinShrink.w
    cu_XCCP.w  ;  cursor position
    cu_YCCP.w

    ;  ---- read/write variables (writes must must be protected)
    ;  ---- storage for AskKeyMap and SetKeyMap
    cu_KeyMapStruct.KeyMap
    ;  ---- tab stops
    cu_TabStops.w[#MAXTABS] ;  0 at start, 0xffff at end of list

    ;  ---- console rastport attributes
    cu_Mask.b
    cu_FgPen.b
    cu_BgPen.b
    cu_AOLPen.b
    cu_DrawMode.b
    cu_Obsolete1.b ;  was cu_AreaPtSz -- not used in V36
    *cu_Obsolete2.l ;  was cu_AreaPtrn -- not used in V36
    cu_Minterms.b[8] ;  console minterms
    *cu_Font.TextFont
    cu_AlgoStyle.b
    cu_TxFlags.b
    cu_TxHeight.w
    cu_TxWidth.w
    cu_TxBaseline.w
    cu_TxSpacing.w

    ;  ---- console MODES and RAW EVENTS switches

    ; !!!!!!!!!!!!!!!!!!!!!!!!!!!!! CHNAGED

    cu_Modes.b[(#PMB_AWM+7)/8] ;  one bit per mode
    cu_RawEvents.b[(#IECLASS_MAX+8)/8]
EndStructure

