[Contents] [Index] [Help] [Retrace] [Browse <] [Browse >]

	IFND	DEVICES_CONUNIT_I
DEVICES_CONUNIT_I	SET	1
**
**	$Filename: devices/conunit.i $
**	$Release: 2.04 Includes, V37.4 $
**	$Revision: 36.16 $
**	$Date: 90/11/20 $
**
**	Console device unit definitions
**
**	(C) Copyright 1986-1999 Amiga, Inc.
**	    All Rights Reserved
**
	IFND	EXEC_TYPES_I
	INCLUDE	"exec/types.i"
	ENDC

	IFND	EXEC_PORTS_I
	INCLUDE	"exec/ports.i"
	ENDC

	IFND	DEVICES_CONSOLE_I
	INCLUDE	"devices/console.i"
	ENDC

	IFND	DEVICES_KEYMAP_I
	INCLUDE	"devices/keymap.i"
	ENDC

	IFND	DEVICES_INPUTEVENT_I
	INCLUDE	"devices/inputevent.i"
	ENDC

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


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

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

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

CONFLAG_DEFAULT			EQU	0
CONFLAG_NODRAW_ON_NEWSIZE	EQU	1


PMB_ASM		EQU	M_LNM+1		; internal storage bit for AS flag
PMB_AWM		EQU	PMB_ASM+1	; internal storage bit for AW flag
MAXTABS		EQU	80


 STRUCTURE  ConUnit,MP_SIZE
    ;------ read only variables
    APTR    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  cu_KeyMapStruct,km_SIZEOF
    ; ---- tab stops
    STRUCT  cu_TabStops,2*MAXTABS ; 0 at start, 0xffff at end of list

    ;------ console rastport attributes
    BYTE    cu_Mask		; these must appear as in RastPort
    BYTE    cu_FgPen		;   |
    BYTE    cu_BgPen		;   |
    BYTE    cu_AOLPen		;   +
    BYTE    cu_DrawMode		; these must appear as in RastPort
    BYTE    cu_Obsolete1	; was cu_AreaPtSz -- not used in V36
    APTR    cu_Obsolete2	; was cu_AreaPtrn -- not used in V36
    STRUCT  cu_Minterms,8	; console minterms
    APTR    cu_Font		;
    UBYTE   cu_AlgoStyle	; these must appear as in RastPort
    UBYTE   cu_TxFlags		;   +
    UWORD   cu_TxHeight		; these must appear as in RastPort
    UWORD   cu_TxWidth		;   |
    UWORD   cu_TxBaseline	;   |
    WORD    cu_TxSpacing	;   +

    ;------ console MODES and RAW EVENTS switches
    STRUCT  cu_Modes,<(PMB_AWM+7)/8>	; one bit per mode
    STRUCT  cu_RawEvents,<(IECLASS_MAX+8)/8>

    ;------ ensure the ConsUnit structure is even
    ALIGNWORD

    LABEL   ConUnit_SIZEOF

	ENDC	; DEVICES_CONUNIT_I