|##########|
|#MAGIC   #|CLABLLGD
|#PROJECT #|"IMPORTALL"
|#PATHS   #|"StdProject"
|#FLAGS   #|xx-x-x--xx----x-----------------
|#USERSW  #|--------------------------------
|#USERMASK#|--------------------------------
|#SWITCHES#|xx---xxxxx------
|##########|
DEFINITION MODULE Parallel;
(* $A- *)

|
| WB  4 Jun 1992 IOCommand
|

FROM T_Exec     IMPORT IOCommand, nonstdVAL, IOStdReq;
FROM Resources  IMPORT ContextPtr;

CONST
  query      = IOCommand( nonstdVAL + 0 );
  setParams  = IOCommand( nonstdVAL + 1 );

TYPE
  IOPArray      = ARRAY [0..7] OF CHAR;

  ParErr        = (pe0,devBusy,bufTooBig,invParam,lineErr,notOpen,
                   portReset,initErr);

  ParFlags      = (pf0,eofMode,ackMode,radBoogie,fastMode=3,slowMode,
                   shared);
  ParFlagSet    = SET OF ParFlags;

  Status        = (parBusy,paperOut,parSel,rwDir,active,abort,queued);
  StatusSet     = SET OF Status;

  IOParallel    = RECORD OF IOStdReq
                    pExtFlags    : LONGCARD;
                    status       : StatusSet;
                    parFlags     : ParFlagSet;
                    pTermArray   : IOPArray
                  END;
  IOParallelPtr = POINTER TO IOParallel

PROCEDURE OpenParallel(context : ContextPtr:=NIL):IOParallelPtr;

PROCEDURE CloseParallel(VAR request : IOParallelPtr)

GROUP
  All   =  query,setParams,IOPArray,ParErr,ParFlags,ParFlagSet,Status,
           StatusSet,IOParallel,IOParallelPtr,OpenParallel,CloseParallel;

END Parallel.
