1 01/16/84 user_telnet, telnet
2
3 Syntax: telnet host_id -control_args
4
5
6 Function: provides access to other ARPA Network hosts via the TELNET
7 protocol. The service normally provided by the foreign host's Server
8 TELNET is a simulated local terminal, i.e., the host provides an
9 environment as similar as possible to a terminal which is directly
10 connected to the host.
11
12
13 Arguments:
14 host_id
15 specifies the foreign host to which a connection will be made.
16
17
18 Control arguments:
19 -escape_char C, -ec C
20 specifies that the ASCII character C is to be reserved for use as
21 the "escape character" see "Notes on escape conventions" below.
22 The default escape character is "!".
23 -socket N, -sc N
24 specifies that the Initial Connection Protocol ICP is to be
25 directed to socket N a decimal integer at the foreign host.
26 Default is the host's Server TELNET "logger" socket, currently
27 socket 23.
28
29
30 -timeout T
31 specifies the value in seconds of the timeout period. This is
32 the maximum amount of time which this command will wait for an
33 initial response from the foreign host. The default timeout is 15
34 seconds.
35 -uppercase, -uc
36 causes all lowercase alphabetic characters to be translated to
37 uppercase characters for transmission to the foreign host.
38
39
40 List of requests:
41 abort_output, ao
42 aborts any output in progress and sends a TELNET Abort Output
43 command to the host.
44 abort_request, ar
45 aborts all user_telnet requests in progress and returns control to
46 the highest listening level of the user_telnet command.
47 are_you_there, ayt
48 sends a TELNET Are You There command to the foreign system. The
49 foreign system should then return some visible response.
50 ascii C
51 causes the ASCII character whose name is C e.g. "ESC" "a" "A".
52 to be sent to the server process.
53 break, brk
54 sends a TELNET Break command to the server process.
55
56
57 control C, ctl C
58 causes an ASCII "control" character to be sent to the server
59 process. The control character sent to the foreign process is the
60 character whose value is obtained by "anding" the value of C and
61 the octal value 037.
62 erase N, ec N
63 causes N TELNET Erase Character commands to be sent to the server
64 process. If N is not specified, the value one 1 is assumed.
65 escape C
66 changes the current user_telnet escape character to C. C should be
67 a printable ASCII character.
68
69
70 execute S, e S
71 causes the rest of the command arguments to be passed to the
72 currently active Multics command processor. The actual command
73 line passed to the command processor is created by concatenating
74 all arguments to the execute request with appropriate intervening
75 spaces.
76 exit, quit
77 exits from the current invocation of user_telnet. Any connections
78 will be closed and deactivated.
79 go_ahead, ga
80 sends a TELNET Go Ahead command to the server process.
81 interrupt, ip
82 sends a TELNET Interrupt Process command to the server process.
83
84
85 kill, el
86 sends a TELNET Erase Line command to the server process.
87 nop
88 sends a TELNET NOP No Operation to the server process.
89 status, st
90 causes the user_telnet command to print a summary of the state of
91 all connections, and any requests currently in progress.
92 timeout N
93 sets the value of the timeout period to N seconds.
94
95
96 Notes on escape conventions:
97 Although the primary purpose of the user_telnet command is to provide
98 a full-duplex communications channel, the user occasionally needs to
99 communicate directly with the user_telnet command. For example, some
100 hosts do not close the Network connection upon completion of a
101 session; the user must direct the user_telnet command to close it.
102 Alternatively, the user may wish to execute a Multics command at the
103 local host. The "escape convention" provides these functions.
104
105
106 Although the escape convention used by the user_telnet command is
107 actually more complicated, the following simple rules for issuing a
108 request should suffice for most users:
109
110 1. Starting at the beginning of a line i.e. immediately after a
111 NewLine character, type one escape character, followed by the
112 request, followed by a NewLine character.
113 2. Avoid the use of the escape character in any context except
114 that of rule 1. Should the use of the "!" character be necessary
115 in communication with the foreign server change the escape
116 character via the "-escape_char" control argument or the "escape"
117 request.
118
119
120 Examples:
121 Thus, to leave the user_telnet command, type--
122 !exit
123
124 or, to cause the foreign host to suspend the current
125 foreign process--
126 !interrupt
127
128
129 Notes on attention handling:
130 Occasionally, it is desirable to suspend a request being performed, or
131 to suspend the printing of characters received from the foreign host.
132 To provide this capability, the user_telnet command specially treats
133 the Multics condition "quit". Upon receiving this signal, the
134 user_telnet command will suspend any current processing, print the
135 current escape character followed by a prompting message, and then
136 listen for one input line from the user. While waiting for this line,
137 all communication with the foreign host is suspended. After the line
138 has been received and processed, communication with the host is
139 resumed and any suspended request is continued -- subject, of course,
140 to the effects of any requests contained in the input line. See for
141 example the "abort_output" and "exit" requests.
142
143
144 The "old" TELNET protocol:
145 There are actually two distinct TELNET protocols: the "new" protocol
146 NIC #18639, which provides for the negotiation of options to effect
147 more precise control of communication, and the "old" protocol NIC
148 #9348, which has a much smaller range of capabilities. Because many
149 Network hosts have not yet switched to the "new" protocol, the
150 user_telnet command will also communicate properly with a Server
151 TELNET process using the "old" protocol. In fact, the user_telnet
152 command currently assumes that the server process is using the "old"
153 protocol unless and until it correctly responds to a "new" protocol
154 option negotiation automatically initiated by user_telnet.
155
156
157 The "old" TELNET protocol does not provide conventions for many of the
158 user_telnet command requests, such as abort_output, are_you_there, and
159 interrupt. Thus, when communicating according to the "old" TELNET
160 protocol, the user_telnet command will try to perform some subset
161 including possibly no action of the actions specified in the
162 request description.