.th GETTY VIII 2/11/75 .sh NAME getty \*- set typewriter mode .sh SYNOPSIS .bd /etc/getty [ char ] .sh DESCRIPTION .it Getty is invoked by .it init (VIII) immediately after a typewriter is opened following a dial-up. It reads the user's name and invokes the .it login command (I) with the name as argument. While reading the name .it getty attempts to adapt the system to the speed and type of terminal being used. .s3 When invoked, .it getty reads /etc/ttys.info to find the cyclic group specified by the argument character. If no argument is given, the first cyclic group encountered is used; this is normally cyclic group `0' which is used for dial-up lines. .it Getty evaluates the cyclic group to see if there are any problems. If there are, it will print out a diagnostic message. If invoked by an ordinary user, any diagnostics are directed to the standard output. If invoked by the super-user .it (e.g., from .it init with the argument specified by the /etc/ttys file entry for the typewriter line) the diagnostic is printed on /dev/tty8 (hopefully, the console device) and getty goes to sleep forever. After repairing the problem, the process may be killed to reenable normal processing on the line. .s3 If invoked by an ordinary user, .it getty will terminate after analyzing the cyclic group; this can be used to verify that there are no problems with a new cyclic group. Otherwise, the cyclic group is executed. Speeds and initial mode are set from the first line and the corresponding message is typed out. If automatic login mode is specified, .it login is executed immediatly with the name specified. Otherwise the user's name is read, a character at a time. (Raw mode (break on every character) is always included in the initial flag setting if the user's name is to be read.) If a null character is received, it is assumed to be the result of the user pushing the ``break'' (``interrupt'') key, and the next line is interpreted. Going off the end causes interpretation to resume at the first line again. .s3 For normal dial-up lines (argument of `0'), it sets the speed of the interface to 300 baud, specifies that echo is to be suppressed, and either parity allowed. It types the ``login:'' message, which includes the characters which put the Terminet 300 terminal into full-duplex and return the GSI terminal to non-graphic mode. If the user hits the ``break'' key, the speed is then changed to 150 baud and the ``login:'' is typed again, this time including the character sequence which puts a Teletype 37 into full-duplex. If a null character is recieved again, the speed is set to 110 baud and the same ``login:'' sequence as for 300 baud typed. If a subsequent null character is received, the speed is changed back to 300 baud. .s3 The user's name is terminated by a new-line or carriage-return character. The latter results in the system being set to treat carriage returns appropriately (see .it stty (II)). .s3 The user's name is scanned to see if it contains any lower-case alphabetic characters; if not, and if the name is nonempty, the system is told to map any future upper-case characters into the corresponding lower-case characters. .s3 Finally, the tty flags are set according to the final flags given and .it login is called with the user's name as argument. .sh "SEE ALSO" init (VIII), login (I), stty (II), ttys (V), ttys.info (V) .sh BUGS The global messages and the messages for the cyclic group being evaluated are read into a fixed-size string buffer. No check is performed to see if the total number of characters in these messages exceeds the size of the buffer (currently 512 characters). .s3 No check is performed to see if more than nine global messages are specified. .s3 No check is performed to see if more than the maximum number of cyclic group entries (currently ten) is specified.