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 >
Wrap
Text File
|
1994-05-25
|
3KB
|
97 lines
|##########|
|#MAGIC #|CLABLLEH
|#PROJECT #|"Importall"
|#PATHS #|"StdProject"
|#FLAGS #|xx-x-x--xx----x-----------------
|#USERSW #|--------------------------------
|#USERMASK#|--------------------------------
|#SWITCHES#|xx---xxxxx------
|##########|
DEFINITION MODULE Serial;
(* $A- *)
FROM System IMPORT LONGSET,SysStringPtr;
FROM T_Exec IMPORT IOCommand, nonstdVAL, IOStdReq, DevicePtr,
IOFlagSet, IOFlags;
FROM Resources IMPORT ContextPtr;
FROM Utility IMPORT StdTags;
CONST
query = IOCommand( nonstdVAL );
break = IOCommand( nonstdVAL + 1 );
setParams = IOCommand( nonstdVAL + 2 );
active = IOFlagSet:{ IO4 };
abort = IOFlagSet:{ IO5 };
queued = IOFlagSet:{ IO6 };
bufrRead = IOFlagSet:{ IO7 };
TYPE
SerFlags = (parityOn,parityOdd,sevenWire,queuedBrk,radBoogie,
shared,eofMode,xDisabled);
SerFlagSet = SET OF SerFlags;
ExtSerFlags = (mark,mSpOn,esf2,esf3,esf4,esf5,esf6,esf7,esf8,esf9,
esf10,esf11,esf12,esf13,esf14,esf15,esf16);
ExtSerFlagSet = SET OF ExtSerFlags;
Status = (busy,paperOut,select,dataSetReady,clearToSend,
carrierDetect,readyToSend,dataTerminalReady,overrun,
wroteBreak,readBreak,xOffWrite,xOffRead);
StatusSet = SET OF Status;
Error = (e0,devBusy,baudMismatch,invBaud,bufErr,invParam,
lineErr,notOpen,portReset,parityErr,initErr,
timerErr,bufOverflow,nodsr,nocts,detectedBreak);
IOSerial = RECORD OF IOStdReq
ctlChar : LONGCARD;
rBufLen : LONGCARD;
extFlags : ExtSerFlagSet;
baud : LONGCARD;
brkTime : LONGCARD;
termArray : ARRAY [0..1] OF LONGCARD;
readLen : SHORTCARD;
writeLen : SHORTCARD;
stopBits : SHORTCARD;
serFlags : SerFlagSet;
status : StatusSet;
END;
IOSerialPtr = POINTER TO IOSerial;
IOSerialTags = TAGS OF StdTags
ctlChar : LONGCARD;
rBufLen : LONGCARD;
extFlags : ExtSerFlagSet;
baud : LONGCARD;
brkTime : LONGCARD;
termArray0: LONGCARD;
termArray1: LONGCARD;
readLen : SHORTCARD;
writeLen : SHORTCARD;
stopBits : SHORTCARD;
serFlags : SerFlagSet;
name : SysStringPtr;
END;
CONST
ringIndicator = select;
EXCEPTION SetParamsFailed : "SetParams failed";
PROCEDURE OpenSerial(context : ContextPtr:=NIL;
tags : LIST OF IOSerialTags):IOSerialPtr;
PROCEDURE CloseSerial(VAR request : IOSerialPtr);
GROUP
All = query,break,setParams,active,abort,queued,bufrRead,SerFlags,
SerFlagSet,ExtSerFlags,ExtSerFlagSet,Status,StatusSet,Error,
IOSerial,IOSerialPtr,ringIndicator,OpenSerial,CloseSerial,
T_Exec.ExecIOGrp;
END Serial.