@database HYPER:Modula-2/Parallel
@node Main "HYPER:Modula-2/Parallel"

Konstanten

   @{" parallelName " link Modul 6}                @{" query " link Modul 9}                       @{" radBoogie " link Modul 25}
   @{" setParams " link Modul 10}                

Typ-Deklarationen

   @{" IOExtPar " link Modul 32}                    @{" IOExtParPtr " link Modul 39}                 @{" IOPArray " link Modul 12}
   @{" IOParallel " link Modul 46}                  @{" IOParallelPtr " link Modul 47}               @{" ParErr " link Modul 18}
   @{" ParFlagSet " link Modul 23}                  @{" ParFlags " link Modul 22}                    @{" Status " link Modul 28}
   @{" StatusSet " link Modul 30}                

@endnode
@node Modul "HYPER:Modula-2/Parallel.def.guide"
DEFINITION MODULE Parallel; (*$Implementation:=FALSE*)
(* 07-May-1992/cn *)

FROM ExecD IMPORT
 @{" IOStdReq " link HYPER:Modula-2/ExecD.def.guide/Modul 447},nonstd;

CONST
 parallelName="parallel.device";

 query=nonstd;
 setParams=nonstd+1;

TYPE
 @{" IOPArray " link HYPER:Modula-2/Parallel.def.guide/Modul 12}=RECORD
  pTermArray0:LONGCARD;
  pTermArray1:LONGCARD;
 END;

 @{" ParErr " link HYPER:Modula-2/Parallel.def.guide/Modul 18}=(
  pe0,devBusy,bufTooBig,invParam,lineErr,notOpen,portReset,initErr
 );

 @{" ParFlags " link HYPER:Modula-2/Parallel.def.guide/Modul 22}=(pf0,eofMode,ackMode,fastMode,slowMode,shared);
 @{" ParFlagSet " link HYPER:Modula-2/Parallel.def.guide/Modul 23}=SET OF @{" ParFlags " link HYPER:Modula-2/Parallel.def.guide/Modul 22};

CONST
 radBoogie=fastMode;

TYPE
 @{" Status " link HYPER:Modula-2/Parallel.def.guide/Modul 28}=(pBusy,paperOut,pSel,rwDir,active,abort,queued);
 @{" StatusSet " link HYPER:Modula-2/Parallel.def.guide/Modul 30}=SET OF @{" Status " link HYPER:Modula-2/Parallel.def.guide/Modul 28};

 @{" IOExtPar " link HYPER:Modula-2/Parallel.def.guide/Modul 32}=RECORD
  ioPar:@{" IOStdReq " link HYPER:Modula-2/ExecD.def.guide/Modul 447};
  pExtFlags:LONGCARD;
  status:@{" StatusSet " link HYPER:Modula-2/Parallel.def.guide/Modul 30};
  parFlags:@{" ParFlagSet " link HYPER:Modula-2/Parallel.def.guide/Modul 23};
  pTermArray:@{" IOPArray " link HYPER:Modula-2/Parallel.def.guide/Modul 12};
 END;
 @{" IOExtParPtr " link HYPER:Modula-2/Parallel.def.guide/Modul 39}=POINTER TO @{" IOExtPar " link HYPER:Modula-2/Parallel.def.guide/Modul 32};

(*
 Als Förderung einer einheitlichen Bennenung in allen
 Device-Schnittstellen stehen die folgenden Synonyme
 zur Verfügung.
*)
 @{" IOParallel " link HYPER:Modula-2/Parallel.def.guide/Modul 46}=@{" IOExtPar " link HYPER:Modula-2/Parallel.def.guide/Modul 32};
 @{" IOParallelPtr " link HYPER:Modula-2/Parallel.def.guide/Modul 47}=@{" IOExtParPtr " link HYPER:Modula-2/Parallel.def.guide/Modul 39};

END Parallel.noimp

@endnode
