mgettydefs
Section: mgetty_sendfax manual (4)
Updated: 4 Dec 93
Page Index
NAME
mgettydefs - speed and terminal settings used by mgetty
DESCRIPTION
The
/etc/gettydefs
file contains information used by
mgetty(1)
to set up the speed and terminal settings for a line.
It also supplies information on what the
login
prompt should look like.
Many versions of UNIX have a version
of
getty(1)
that also reads
/etc/gettydefs.
Both
mgetty
and
getty
expect similar formats in
/etc/gettydefs
except that, when used by
mgetty,
extended functionality is available.
Even so, the additional functions are simply ignored by
standard
getty,
so they can co-exist using the same file.
Note, however, that
mgetty
can be compiled to use a file different from
/etc/gettydefs
if your
getty
gets upset about the extensions.
This manual page documents
/etc/gettydefs
and describes the extended functionality available when used by
mgetty(1).
This document will refer to
getty(1)
except where
mgetty's
behaviour is different.
Each entry in
/etc/gettydefs
has the following format:
-
label# initial-flags # final-flags # login-prompt #next-label
Each entry is followed by a blank line.
The login prompt field can contain quoted characters which
will be converted to other values.
The sequences and their substitutions are:
- \n
-
newline
- \r
-
carriage return
- \g
-
beep
- \b
-
backspace
- \v
-
vertical tab (VT)
- \f
-
formfeed
- \t
-
tab
- \L
-
portname
- \C
-
time in
ctime(3)
format.
- \N
-
number of users currently logged in
- \U
-
number of users currently logged in
- \D
-
date in DD/MM format
- \T
-
time in hh:mm:ss format
- \I
-
modem CONNECT attributes
- \sequence
-
where "sequence" is a valid strtol format, such as:
\0nnn (octal),
\0xnnn (hex),
or
\nnn (decimal).
Note that standard
getty
usually only supports \b, \r and \n.
The various fields are:
- label
-
This is the string against which
getty
tries to match its second argument.
It is often the speed, such as
1200,
at which the terminal is supposed to run, but it need not be (see below).
- initial-flags
-
These flags are the initial
ioctl(2)
settings to which the terminal is to be set if
a terminal type is not specified to
getty.
The flags that
getty
understands are the ones listed in
termio(7)).
mgetty
is usually compiled for
termios(7)
and often has a more complete set than
getty.
- Normally only the speed flag is required in the
-
initial-flags.
getty
automatically sets the terminal to raw input mode and
takes care of the other flags.
If the "-s" option is used with
mgetty(1)
the speed setting is ignored.
The
initial-flag
settings remain in effect until
getty
executes
login(1).
- final-flags
-
These flags take the same values as the
initial-flags
and are set just before
getty
executes
login.
The speed flag is again required, except with
mgetty
if the -s flag was supplied.
Two other commonly specified
final-flags
are
TAB3,
so that tabs are sent to the terminal as spaces, and
HUPCL,
so that the line is hung up on the final close.
- login-prompt
-
This entire field is printed as the
login-prompt.
Unlike the above fields where white space
(a space, tab or new-line)
is ignored,
they are included in the
login-prompt
field.
This field is ignored if the "-p" option has been
specified to
mgetty(1).
- next-label
-
specifies the label to use if the user
user types a
<break>
character,
or
getty
detects a reception error.
Getty
searches for the entry with
next-label
as its
label
field and set up the terminal for those settings.
Usually, a series of speeds are linked together in this fashion,
into a closed set; for instance,
2400
linked to
1200,
which in turn is linked to
300,
which finally is linked to
2400.
next-label
is ignored with
mgetty(1).
Several additional composite settings are available for
initial-flags
and
final-flags.
The following composite flags are supported by
mgetty
and are usually supported by
getty:
- SANE
-
equivalent to ``stty sane''.
(BRKINT, IGNPAR, ISTRIP, ICRNL, IXON, OPOST, CS8, CREAD, ISIG, ICANON,
ECHO, ECHOK)
- ODDP
-
Odd parity
(CS7, PARENB, PARODD)
- PARITY,EVENP
-
even parity
(CS7, PARENB)
- -ODDP,-PARITY,-EVENP
-
no parity
(resets PARENB, PARODD, and sets CS8)
- RAW
-
raw I/O (no canonical processing)
(turns off OPOST, ICANON)
- -RAW,COOKED
-
enable canonical processing
(turns on OPOST, ICANON)
- NL
-
Ignore newlines.
(ICRNL, ONLCR)
- -NL
-
Respect newlines (turns INLCR, IGNCR, ICRNL, ONLCR, OCRNL, ONLRET
off)
- LCASE
-
Ignore case - treat all as lowercase.
(IUCLC, OLCUC, XCASE)
Is set if mgetty believes login is entirely uppercase.
- -LCASE
-
Respect case
(turns off IUCLC, OLCUC and XCASE)
- TABS
-
output tabs as tabs
- -TABS,TAB3
-
output tabs as spaces
- EK
-
Sets VERASE to "#" and VKILL to CKILL respectively.
(note that while many gettys default VERASE to "#".
mgetty
defaults VERASE to backspace.)
Additionally,
mgetty
(but not
getty)
can set any of the control characters listed in the
c_cc
termio(termios)
structure by the use of two tokens:
<character name> <value>
Eg:
VERASE ^h
The value can be set as ``^<character>'', ``\nnn'' or
``\<character>'' (normal UNIX \ escapes).
See the
termio(7)
or
termios(7)
manual pages to a list of which ``V'' variables can be changed.
Note that many of these can be changed in the c_cc array, but won't
have any effect.
If
getty
is called without a second argument, the first entry of
/etc/gettydefs
is used by
getty,
thus making the first entry of
/etc/gettydefs
the default entry.
It is also used if
getty
cannot find the specified
label.
Mgetty
use a default label of ``n'', but this can be changed in the
configuration.
If
/etc/gettydefs
itself is missing, there is one entry built into
the command which brings up a terminal at
300
(configuration parameter in
mgetty)
baud.
It is strongly recommended that after making or modifying
/etc/gettydefs,
it be run through
getty
with the check option to be sure there are no errors.
EXAMPLES
The following two lines show an example of 300/1200 baud toggle, which is
useful for dial-up ports:
-
1200# B1200 HUPCL # B1200 SANE IXANY TAB3 #login: #300
300# B300 HUPCL # B300 SANE IXANY TAB3 #login: #1200
The following line shows a typical 9600 baud entry for a hard-wired connection
(not currently supported for
mgetty):
-
9600# B9600 # B9600 SANE IXANY IXANY ECHOE TAB3 #login: #9600
The following line is a typical smart-modem setup, suitable
for
mgetty:
-
19200mg#
B19200 #
B19200 SANE VERASE \b VINTR \003 HUPCL #
\n\D \T \N Users @!login: #19200mg
FILES
/etc/gettydefs
SEE ALSO
mgetty(8),
getty(8),
login(1),
ioctl(2),
termio(7),
termios(7).