IFND DEVICES_PARALLEL_I DEVICES_PARALLEL_I SET 1 ** ** $Filename: devices/parallel.i $ ** $Release: 2.04 Includes, V37.4 $ ** $Revision: 34.9 $ ** $Date: 89/05/25 $ ** ** external declarations for the parallel device ** ** (C) Copyright 1985-1999 Amiga, Inc. ** All Rights Reserved ** IFND EXEC_IO_I include "exec/io.i" ENDC !EXEC_IO_I *-------------------------------------------------------------------- * * Driver error definitions * *-------------------------------------------------------------------- ParErr_DevBusy EQU 1 ParErr_BufTooBig EQU 2 ParErr_InvParam EQU 3 ParErr_LineErr EQU 4 ParErr_NotOpen EQU 5 ParErr_PortReset EQU 6 ParErr_InitErr EQU 7 *-------------------------------------------------------------------- * * Useful constants * *-------------------------------------------------------------------- * PDCMD_QUERY EQU CMD_NONSTD PDCMD_SETPARAMS EQU CMD_NONSTD+1 Par_DEVFINISH EQU 10 ; number of device comands * *-------------------------------------------------------------------- * * Driver Specific Commands * *-------------------------------------------------------------------- PARALLELNAME: MACRO dc.b 'parallel.device',0 ds.w 0 ENDM BITDEF PAR,SHARED,5 ; PARFLAGS non-exclusive access BITDEF PAR,SLOWMODE,4 ; " slow mode selected bit BITDEF PAR,FASTMODE,3 ; " fast mode selected bit BITDEF PAR,RAD_BOOGIE,3 ; " for backward compatibility BITDEF PAR,ACKMODE,2 ; " ACK handshaking selected bit BITDEF PAR,EOFMODE,1 ; " EOF mode enabled bit BITDEF IOPAR,QUEUED,6 ; IO_FLAGS rqst-queued bit BITDEF IOPAR,ABORT,5 ; " rqst-aborted bit BITDEF IOPAR,ACTIVE,4 ; " rqst-qued-or-current bit BITDEF IOPT,RWDIR,3 ; IO_STATUS read=0,write=1 BITDEF IOPT,PARSEL,2 ; " printer selected on the A1000 ; printer selected & serial "Ring Indicator" on ; the A500/A2000. Be careful when making cables. BITDEF IOPT,PAPEROUT,1 ; " paper out BITDEF IOPT,PARBUSY,0 ; " printer in busy toggle ;Note: Previous versions of this include file had bits 0 and 2 swapped * ************************************************************************ STRUCTURE PTERMARRAY,0 ULONG PTERMARRAY_0 ULONG PTERMARRAY_1 LABEL PTERMARRAY_SIZE ***************************************************************** * CAUTION !!! IF YOU ACCESS the parallel.device, you MUST (!!!!) use an * IOEXTPAR-sized structure or you may overlay innocent memory, okay ?! ***************************************************************** STRUCTURE IOEXTPAR,IOSTD_SIZE * STRUCT MsgNode * 0 APTR Succ * 4 APTR Pred * 8 UBYTE Type * 9 UBYTE Pri * A APTR Name * E APTR ReplyPort * 12 UWORD MNLength * STRUCT IOExt * 14 APTR IO_DEVICE * 18 APTR IO_UNIT * 1C UWORD IO_COMMAND * 1E UBYTE IO_FLAGS * 1F UBYTE IO_ERROR * STRUCT IOStdExt * 20 ULONG IO_ACTUAL * 24 ULONG IO_LENGTH * 28 APTR IO_DATA * 2C ULONG IO_OFFSET * * * 30 ULONG IO_PEXTFLAGS ; (not used) flag extension area UBYTE IO_PARSTATUS ; device status (see bit defs above) UBYTE IO_PARFLAGS ; see PARFLAGS bit definitions above STRUCT IO_PTERMARRAY,PTERMARRAY_SIZE ; termination char array LABEL IOEXTPar_SIZE **************************************************************************** ENDC !DEVICES_PARALLEL_I