-- Transport mechanism: TELNET interface
-- [Juniper]<DMS>MS>GlassDefs.mesa
-- Andrew Birrell 24-Dec-80 16:08:47
DIRECTORY
PupDefs USING [PupSocketID];
GlassDefs: DEFINITIONS =
BEGIN
StringType: TYPE = {
pwd, -- don't echo; end with SP, CR, ESC, DEL --
word, -- echo; end with SP, CR, ESC, DEL --
line, -- echo; end with CR, ESC, DEL --
any -- echo; end with ESC, DEL --
};
HandleObject: TYPE = RECORD [
ReadChar: PROC RETURNS [CHARACTER],
ReadString: PROC [prompt, s: STRING, type: StringType] RETURNS [CHARACTER],
WriteChar: PROC [CHARACTER],
WriteString: PROC [STRING],
WriteDecimal: PROC [CARDINAL],
WriteLongDecimal: PROC [LONG CARDINAL],
SendNow: PROC,
CharsLeft: PROC RETURNS [CARDINAL],
LinesLeft: PROC RETURNS [CARDINAL],
SetWidth: PROC [CARDINAL] --0 means infinite-- ,
SetHeight: PROC [CARDINAL] --0 means infinite-- ,
DelTyped: PROC RETURNS [BOOLEAN],
Synch: PROC,
Flush: PROC];
Handle: TYPE = POINTER TO HandleObject;
TimeOut: SIGNAL;
SynchReply: SIGNAL;
Listen: PROC [work: PROC [Handle], socket: PupDefs.PupSocketID ← [0, 0]];
END.