home *** CD-ROM | disk | FTP | other *** search
- (**************************************************************************
-
- $RCSfile: Parallel.mod $
- Description: Interface to parallel.device
-
- Created by: fjc (Frank Copeland)
- $Revision: 3.8 $
- $Author: fjc $
- $Date: 1995/06/04 23:13:14 $
-
- $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-1995, Frank Copeland.
- This file is part of the Oberon-A Interface.
- See Oberon-A.doc for conditions of use and distribution.
-
- ***************************************************************************)
-
- <* STANDARD- *>
-
- MODULE [2] Parallel;
-
- IMPORT e := Exec, s := Sets;
-
-
- (*
- **
- ** parallel.device I/O request structure information
- **
- *)
-
- TYPE
-
- IOPArrayPtr * = POINTER TO IOPArray;
- IOPArray * = ARRAY 8 OF CHAR;
-
- (******************************************************************)
- (* CAUTION !! IF YOU ACCESS the parallel.device, you MUST (!!!!) use
- an IOExtPar-sized structure or you may overlay innocent memory !! *)
- (******************************************************************)
-
- TYPE
-
- IOExtParPtr * = POINTER TO IOExtPar;
- IOExtPar * = RECORD (e.IORequestBase)
- ioPar * : e.IOStdReq;
- pExtFlags * : s.SET32; (* (not used) flag extension area *)
- status * : s.SET8; (* status of parallel port and registers *)
- parFlags * : s.SET8; (* see PARFLAGS bit definitions below *)
- pTermArray * : IOPArray; (* termination character array *)
- END; (* IOExtPar *)
-
- CONST
-
- shared * = 5; (* ParFlags non-exclusive access bit *)
- slowMode * = 4; (* " slow printer bit *)
- fastMode * = 3; (* " fast I/O mode selected bit *)
- radBoogie * = 3; (* " for backward compatibility *)
- ackMode * = 2; (* " ACK interrupt handshake bit *)
- eofMode * = 1; (* " EOF mode enabled bit *)
-
- queued * = 6; (* ioFLAGS rqst-queued bit *)
- abort * = 5; (* " rqst-aborted bit *)
- active * = 4; (* " rqst-qued-or-current bit *)
- rwDir * = 3; (* ioSTATUS read=0,write=1 bit *)
- parSel * = 2; (* " printer selected on the A1000 *)
- (* printer selected & serial "Ring Indicator"
- on the A500 & A2000. Be careful when
- making cables *)
- paperOut * = 1; (* " paper out bit *)
- parBusy * = 0; (* " printer in busy toggle bit *)
- (* Note: previous versions of this include files had bits 0 and 2 swapped *)
-
- parallelName * = "parallel.device";
-
- query * = e.nonstd;
- setParams * = e.nonstd+1;
-
- devBusy * = 1;
- bufTooBig * = 2;
- invParam * = 3;
- lineErr * = 4;
- notOpen * = 5;
- portReset * = 6;
- initErr * = 7;
-
-
- END Parallel.
-