home *** CD-ROM | disk | FTP | other *** search
/ Global Amiga Experience / globalamigaexperience.iso / compressed / development / clusterdemo.dms / clusterdemo.adf / Modules.lha / modules / txt / Serial.def < prev    next >
Text File  |  1994-05-25  |  3KB  |  97 lines

  1. |##########|
  2. |#MAGIC   #|CLABLLEH
  3. |#PROJECT #|"Importall"
  4. |#PATHS   #|"StdProject"
  5. |#FLAGS   #|xx-x-x--xx----x-----------------
  6. |#USERSW  #|--------------------------------
  7. |#USERMASK#|--------------------------------
  8. |#SWITCHES#|xx---xxxxx------
  9. |##########|
  10. DEFINITION MODULE Serial;
  11. (* $A- *)
  12. FROM System     IMPORT LONGSET,SysStringPtr;
  13. FROM T_Exec     IMPORT IOCommand, nonstdVAL, IOStdReq, DevicePtr,
  14.                        IOFlagSet, IOFlags;
  15. FROM Resources  IMPORT ContextPtr;
  16. FROM Utility    IMPORT StdTags;
  17.  
  18. CONST
  19.   query       = IOCommand( nonstdVAL );
  20.   break       = IOCommand( nonstdVAL + 1 );
  21.   setParams   = IOCommand( nonstdVAL + 2 );
  22.   active      = IOFlagSet:{ IO4 };
  23.   abort       = IOFlagSet:{ IO5 };
  24.   queued      = IOFlagSet:{ IO6 };
  25.   bufrRead    = IOFlagSet:{ IO7 };
  26.  
  27. TYPE
  28.   SerFlags       = (parityOn,parityOdd,sevenWire,queuedBrk,radBoogie,
  29.                     shared,eofMode,xDisabled);
  30.   SerFlagSet     = SET OF SerFlags;
  31.  
  32.   ExtSerFlags    = (mark,mSpOn,esf2,esf3,esf4,esf5,esf6,esf7,esf8,esf9,
  33.                     esf10,esf11,esf12,esf13,esf14,esf15,esf16);
  34.   ExtSerFlagSet  = SET OF ExtSerFlags;
  35.   Status         = (busy,paperOut,select,dataSetReady,clearToSend,
  36.                     carrierDetect,readyToSend,dataTerminalReady,overrun,
  37.                     wroteBreak,readBreak,xOffWrite,xOffRead);
  38.   StatusSet      = SET OF Status;
  39.  
  40.   Error          = (e0,devBusy,baudMismatch,invBaud,bufErr,invParam,
  41.                     lineErr,notOpen,portReset,parityErr,initErr,
  42.                     timerErr,bufOverflow,nodsr,nocts,detectedBreak);
  43.  
  44.   IOSerial       = RECORD OF IOStdReq
  45.                      ctlChar   : LONGCARD;
  46.                      rBufLen   : LONGCARD;
  47.                      extFlags  : ExtSerFlagSet;
  48.                      baud      : LONGCARD;
  49.                      brkTime   : LONGCARD;
  50.                      termArray : ARRAY [0..1] OF LONGCARD;
  51.                      readLen   : SHORTCARD;
  52.                      writeLen  : SHORTCARD;
  53.                      stopBits  : SHORTCARD;
  54.                      serFlags  : SerFlagSet;
  55.                      status    : StatusSet;
  56.                    END;
  57.   IOSerialPtr    = POINTER TO IOSerial;
  58.  
  59.  
  60.   IOSerialTags   = TAGS OF StdTags
  61.                      ctlChar   : LONGCARD;
  62.                      rBufLen   : LONGCARD;
  63.                      extFlags  : ExtSerFlagSet;
  64.                      baud      : LONGCARD;
  65.                      brkTime   : LONGCARD;
  66.                      termArray0: LONGCARD;
  67.                      termArray1: LONGCARD;
  68.                      readLen   : SHORTCARD;
  69.                      writeLen  : SHORTCARD;
  70.                      stopBits  : SHORTCARD;
  71.                      serFlags  : SerFlagSet;
  72.                      name      : SysStringPtr;
  73.                    END;
  74.  
  75.  
  76. CONST
  77.   ringIndicator  = select;
  78.  
  79. EXCEPTION SetParamsFailed : "SetParams failed";
  80.  
  81.  
  82. PROCEDURE OpenSerial(context : ContextPtr:=NIL;
  83.                      tags    : LIST OF IOSerialTags):IOSerialPtr;
  84.  
  85. PROCEDURE CloseSerial(VAR request : IOSerialPtr);
  86.  
  87.  
  88. GROUP
  89.   All  = query,break,setParams,active,abort,queued,bufrRead,SerFlags,
  90.          SerFlagSet,ExtSerFlags,ExtSerFlagSet,Status,StatusSet,Error,
  91.          IOSerial,IOSerialPtr,ringIndicator,OpenSerial,CloseSerial,
  92.          T_Exec.ExecIOGrp;
  93.  
  94.  
  95. END Serial.
  96.  
  97.