01/16/84 user_telnet, telnet Syntax: telnet host_id {-control_args} Function: provides access to other ARPA Network hosts via the TELNET protocol. The service normally provided by the foreign host's Server TELNET is a simulated local terminal, i.e., the host provides an environment as similar as possible to a terminal which is directly connected to the host. Arguments: host_id specifies the foreign host to which a connection will be made. Control arguments: -escape_char C, -ec C specifies that the ASCII character C is to be reserved for use as the "escape character" (see "Notes on escape conventions" below). The default escape character is "!". -socket N, -sc N specifies that the Initial Connection Protocol (ICP) is to be directed to socket N (a decimal integer) at the foreign host. Default is the host's Server TELNET "logger" socket, currently socket 23. -timeout T specifies the value (in seconds) of the timeout period. This is the maximum amount of time which this command will wait for an initial response from the foreign host. The default timeout is 15 seconds. -uppercase, -uc causes all lowercase alphabetic characters to be translated to uppercase characters for transmission to the foreign host. List of requests: abort_output, ao aborts any output in progress and sends a TELNET Abort Output command to the host. abort_request, ar aborts all user_telnet requests in progress and returns control to the highest listening level of the user_telnet command. are_you_there, ayt sends a TELNET Are You There command to the foreign system. The foreign system should then return some visible response. ascii C causes the ASCII character whose name is C (e.g., "ESC", "a", "A"). to be sent to the server process. break, brk sends a TELNET Break command to the server process. control C, ctl C causes an ASCII "control" character to be sent to the server process. The control character sent to the foreign process is the character whose value is obtained by "anding" the value of C and the octal value 037. erase {N}, ec {N} causes N TELNET Erase Character commands to be sent to the server process. If N is not specified, the value one (1) is assumed. escape C changes the current user_telnet escape character to C. C should be a printable ASCII character. execute S, e S causes the rest of the command arguments to be passed to the currently active Multics command processor. The actual command line passed to the command processor is created by concatenating all arguments to the execute request (with appropriate intervening spaces). exit, quit exits from the current invocation of user_telnet. Any connections will be closed and deactivated. go_ahead, ga sends a TELNET Go Ahead command to the server process. interrupt, ip sends a TELNET Interrupt Process command to the server process. kill, el sends a TELNET Erase Line command to the server process. nop sends a TELNET NOP (No Operation) to the server process. status, st causes the user_telnet command to print a summary of the state of all connections, and any requests currently in progress. timeout N sets the value of the timeout period to N seconds. Notes on escape conventions: Although the primary purpose of the user_telnet command is to provide a full-duplex communications channel, the user occasionally needs to communicate directly with the user_telnet command. For example, some hosts do not close the Network connection upon completion of a session; the user must direct the user_telnet command to close it. Alternatively, the user may wish to execute a Multics command at the local host. The "escape convention" provides these functions. Although the escape convention used by the user_telnet command is actually more complicated, the following simple rules for issuing a request should suffice for most users: 1. Starting at the beginning of a line (i.e., immediately after a NewLine character), type one escape character, followed by the request, followed by a NewLine character. 2. Avoid the use of the escape character in any context except that of rule 1. (Should the use of the "!" character be necessary in communication with the foreign server, change the escape character via the "-escape_char" control argument or the "escape" request.) Examples: Thus, to leave the user_telnet command, type-- !exit or, to cause the foreign host to suspend the current (foreign) process-- !interrupt Notes on attention handling: Occasionally, it is desirable to suspend a request being performed, or to suspend the printing of characters received from the foreign host. To provide this capability, the user_telnet command specially treats the Multics condition "quit". Upon receiving this signal, the user_telnet command will suspend any current processing, print the current escape character followed by a prompting message, and then listen for one input line from the user. While waiting for this line, all communication with the foreign host is suspended. After the line has been received and processed, communication with the host is resumed and any suspended request is continued -- subject, of course, to the effects of any requests contained in the input line. (See, for example, the "abort_output" and "exit" requests.) The "old" TELNET protocol: There are actually two distinct TELNET protocols: the "new" protocol (NIC #18639), which provides for the negotiation of options to effect more precise control of communication, and the "old" protocol (NIC #9348), which has a much smaller range of capabilities. Because many Network hosts have not yet switched to the "new" protocol, the user_telnet command will also communicate properly with a Server TELNET process using the "old" protocol. In fact, the user_telnet command currently assumes that the server process is using the "old" protocol unless and until it correctly responds to a "new" protocol option negotiation automatically initiated by user_telnet. The "old" TELNET protocol does not provide conventions for many of the user_telnet command requests, such as abort_output, are_you_there, and interrupt. Thus, when communicating according to the "old" TELNET protocol, the user_telnet command will try to perform some subset (including, possibly no action) of the actions specified in the request description. ----------------------------------------------------------- Historical Background This edition of the Multics software materials and documentation is provided and donated to Massachusetts Institute of Technology by Group BULL including BULL HN Information Systems Inc. as a contribution to computer science knowledge. This donation is made also to give evidence of the common contributions of Massachusetts Institute of Technology, Bell Laboratories, General Electric, Honeywell Information Systems Inc., Honeywell BULL Inc., Groupe BULL and BULL HN Information Systems Inc. to the development of this operating system. Multics development was initiated by Massachusetts Institute of Technology Project MAC (1963-1970), renamed the MIT Laboratory for Computer Science and Artificial Intelligence in the mid 1970s, under the leadership of Professor Fernando Jose Corbato. Users consider that Multics provided the best software architecture for managing computer hardware properly and for executing programs. Many subsequent operating systems incorporated Multics principles. Multics was distributed in 1975 to 2000 by Group Bull in Europe , and in the U.S. by Bull HN Information Systems Inc., as successor in interest by change in name only to Honeywell Bull Inc. and Honeywell Information Systems Inc. . ----------------------------------------------------------- Permission to use, copy, modify, and distribute these programs and their documentation for any purpose and without fee is hereby granted,provided that the below copyright notice and historical background appear in all copies and that both the copyright notice and historical background and this permission notice appear in supporting documentation, and that the names of MIT, HIS, BULL or BULL HN not be used in advertising or publicity pertaining to distribution of the programs without specific prior written permission. Copyright 1972 by Massachusetts Institute of Technology and Honeywell Information Systems Inc. Copyright 2006 by BULL HN Information Systems Inc. Copyright 2006 by Bull SAS All Rights Reserved