home *** CD-ROM | disk | FTP | other *** search
- (**************************************************************************
-
- $RCSfile: Parallel.mod $
- Description: Interface to parallel.device
-
- Created by: fjc (Frank Copeland)
- $Revision: 3.2 $
- $Author: fjc $
- $Date: 1994/08/08 00:46:54 $
-
- $VER: parallel.h 36.1 (10.5.90)
- Includes Release 40.15
-
- (C) Copyright 1985-1993 Commodore-Amiga, Inc.
- All Rights Reserved
-
- Oberon-A interface Copyright © 1994, Frank Copeland.
- This file is part of the Oberon-A Interface.
- See Oberon-A.doc for conditions of use and distribution.
-
- ***************************************************************************)
-
- MODULE Parallel;
-
- (*
- ** $C- CaseChk $I- IndexChk $L+ LongAdr $N- NilChk
- ** $P- PortableCode $R- RangeChk $S- StackChk $T- TypeChk
- ** $V- OvflChk $Z- ZeroVars
- *)
-
- IMPORT E := Exec;
-
-
- (*
- **
- ** parallel.device I/O request structure information
- **
- *)
-
- TYPE
-
- IOPArrayPtr * = CPOINTER TO IOPArray;
- IOPArray * = RECORD
- PTermArray0 * : E.ULONG;
- PTermArray1 * : E.ULONG;
- END; (* IOPArray *)
-
- (******************************************************************)
- (* CAUTION !! IF YOU ACCESS the parallel.device, you MUST (!!!!) use
- an IOExtPar-sized structure or you may overlay innocent memory !! *)
- (******************************************************************)
-
- TYPE
-
- IOExtParPtr * = CPOINTER TO IOExtPar;
- IOExtPar * = RECORD (E.IOStdReq)
- (*par * : IOStdReq;*)
- pExtFlags * : SET; (* (not used) flag extension area *)
- status * : E.BSET; (* status of parallel port and registers *)
- parFlags * : E.BSET; (* see PARFLAGS bit definitions below *)
- pTermArray * : IOPArray; (* termination character array *)
- END; (* IOExtPar *)
-
- CONST
-
- parShared * = 5; (* ParFlags non-exclusive access bit *)
- parSlowMode * = 4; (* " slow printer bit *)
- parFastMode * = 3; (* " fast I/O mode selected bit *)
- parRadBoogie * = 3; (* " for backward compatibility *)
- parAckMode * = 2; (* " ACK interrupt handshake bit *)
- parEofMode * = 1; (* " EOF mode enabled bit *)
-
- ioParQueued * = 6; (* ioFLAGS rqst-queued bit *)
- ioParAbort * = 5; (* " rqst-aborted bit *)
- ioParActive * = 4; (* " rqst-qued-or-current bit *)
- ioPtRwDir * = 3; (* ioSTATUS read=0,write=1 bit *)
- ioPtParSel * = 2; (* " printer selected on the A1000 *)
- (* printer selected & serial "Ring Indicator"
- on the A500 & A2000. Be careful when
- making cables *)
- ioPtPaperOut * = 1; (* " paper out bit *)
- ioPtParBusy * = 0; (* " printer in busy toggle bit *)
- (* Note: previous versions of this include files had bits 0 and 2 swapped *)
-
- name * = "parallel.device";
-
- cmdQuery * = E.cmdNonstd;
- cmdSetParams * = E.cmdNonstd+1;
-
- parErrDevBusy * = 1;
- parErrBufTooBig * = 2;
- parErrInvParam * = 3;
- parErrLineErr * = 4;
- parErrNotOpen * = 5;
- parErrPortReset * = 6;
- parErrInitErr * = 7;
-
-
- END Parallel.
-