home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Aminet 18
/
aminetcdnumber181997.iso
/
Aminet
/
dev
/
m2
/
CycloneModules.lha
/
modules
/
txt
/
Parallel.def
< prev
next >
Wrap
Text File
|
1996-09-15
|
3KB
|
90 lines
DEFINITION MODULE Parallel;
(* 1-Sep-96/Stefan Tiemann for Cyclone *)
(* Converted from C-Include: parallel.h 36.1 (10.5.90), Includes Release 40.15 *)
(* parallel.device I/O request structure information *)
(*$ Implementation- *)
IMPORT ED: ExecD;
TYPE
IOPArray= RECORD
pTermArray0: LONGCARD;
pTermArray1: LONGCARD;
END;
ParFlags= (pf0,
eofMode, (* EOF mode enabled bit *)
ackMode, (* ACK interrupt handshake bit *)
fastMode, (* fast I/O mode selected bit *)
slowMode, (* slow printer bit *)
shared (* non-exclusive access bit *)
);
ParFlagSet= SET OF ParFlags;
CONST
radBoogie= fastMode; (* for backward compatibility *)
TYPE
Status= (parBusy, (* " printer in busy toggle bit *)
paperOut, (* " paper out bit *)
parSel, (* printer selected on the A1000 *)
(* printer selected & serial "Ring Indicator"
on the A500 & A2000. Be careful when
making cables *)
rwDir, (* IO_STATUS read=0,write=1 bit *)
active, (* rqst-qued-or-current bit *)
abort, (* rqst-aborted bit *)
queued (* rqst-queued bit *)
);
StatusSet= SET OF Status;
(******************************************************************)
(* CAUTION !! IF YOU ACCESS the parallel.device, you MUST (!!!!) use
an IOExtPar-sized structure or you may overlay innocent memory !! *)
(******************************************************************)
IOExtPar= RECORD
ioPar: ED.IOStdReq;
(* 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 *)
pExtFlags : LONGCARD; (* (not used) flag extension area *)
status: StatusSet; (* status of parallel port and registers *)
parFlags: ParFlagSet; (* see PARFLAGS bit definitions above *)
pTermArry: IOPArray; (* termination character array *)
END;
IOExtParPtr= POINTER TO IOExtPar;
CONST
parallelName= "parallel.device";
query= ED.nonstd;
setParams= ED.nonstd+1;
TYPE
ParErr= (pe0, devBusy, bufTooBig, invParam, lineErr,
notOpen, portReset, initErr);
// Compatibilty with M2Amiga
IOParallel= IOExtPar;
IOParallelPtr= IOExtParPtr;
END Parallel.