DEFINITION MODULE Parallel; (*$Implementation:=FALSE*)
(* 07-May-1992/cn *)

FROM ExecD IMPORT
 IOStdReq,nonstd;

CONST
 parallelName="parallel.device";

 query=nonstd;
 setParams=nonstd+1;

TYPE
 IOPArray=RECORD
  pTermArray0:LONGCARD;
  pTermArray1:LONGCARD;
 END;

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

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

CONST
 radBoogie=fastMode;

TYPE
 Status=(pBusy,paperOut,pSel,rwDir,active,abort,queued);
 StatusSet=SET OF Status;

 IOExtPar=RECORD
  ioPar:IOStdReq;
  pExtFlags:LONGCARD;
  status:StatusSet;
  parFlags:ParFlagSet;
  pTermArray:IOPArray;
 END;
 IOExtParPtr=POINTER TO IOExtPar;

(*
 Als Förderung einer einheitlichen Bennenung in allen
 Device-Schnittstellen stehen die folgenden Synonyme
 zur Verfügung.
*)
 IOParallel=IOExtPar;
 IOParallelPtr=IOExtParPtr;

END Parallel.noimp
