-- 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.