sttyv6(7)sttyv6(7)NAME
sttyv6: stty - terminal interface for Version 6/PWB compatibility
DESCRIPTION
These routines attempt to map the UNIX Time-Sharing System, Sixth Edi‐
tion (Version 6), and PWB stty and gtty calls into the current ioctls
that perform the same functions. The mapping cannot be perfect. The
way the features are translated is described below. The reader should
be familiar with before studying this entry.
The following data structure is defined in the include file
struct sgttyb {
char sg_ispeed; /* input speed */
char sg_ospeed; /* output speed */
char sg_erase; /* erase character */
char sg_kill; /* kill character */
int sg_flags; /* mode flags */
}
The flags, as defined in sgtty.h, are:
define HUPCL
define XTABS
define LCASE
define ECHO
define CRMOD
define RAW
define ODDP
define EVENP
define ANYP
define NLDELAY
define TBDELAY
define CRDELAY
define VTDELAY
define BSDELAY
define CR0
define CR1
define CR2
define CR3
define NL0
define NL1
define NL2
define NL3
define TAB0
define TAB1
define NOAL
define FF0
define FF1
define BS0
define BS1
When the command (ioctl is executed, the flags in the old structure are
mapped into their new equivalents in the structure. Then the command
is executed.
The following table shows the mapping between the old flags and the
current flags. Note that flags contained in the structure that are not
mentioned below are cleared.
HUPCL (if set) sets the termio HUPCL flag;
HUPCL (if clear) clears the termio HUPCL flag;
XTABS (if set) sets the termio TAB3 flag;
XTABS (if clear) clears the termio TAB3 flag;
TBDELAY (if set) sets the termio TAB1 flag;
TBDELAY (if clear) clears the termio TAB1 flag;
LCASE (if set) sets the termio IUCLC, OLCUC, and XCASE flags;
LCASE (if clear) clears the termio IUCLC, OLCUC, and XCASE flags;
ECHO (if set) sets the termio ECHO flag;
ECHO (if clear) clears the termio ECHO flag;
NOAL (if set) sets the termio ECHOK flag;
NOAL (if clear) clears the termio ECHOK flag;
CRMOD (if set) sets the termio ICRNL and ONLCR
flags; also, if CR1 is set, the termio CR1 flag is set, and if CR2
is set, the termio ONOCR and CR2 flags are set;
CRMOD (if clear)
sets the termio ONLRET flag; also, if NL1 is set, the termio CR1
flag is set, and if NL2 is set, the termio CR2 flag is set;
RAW (if set) sets the termio
CS8 flag, and clears the termio ICRNL and IUCLC flags; also,
default values of 6 characters and 0.1 seconds are assigned to MIN
and TIME, respectively;
RAW (if clear) sets the termio
BRKINT, IGNPAR, ISTRIP, IXON, IXANY, OPOST, CS7, PARENB, ICANON,
and ISIG flags; also, the default values control-D and null are
assigned to the control characters EOF and EOL, respectively;
ODDP (if set) if EVENP is also set, clears the termio
INPCK flag; otherwise, sets the termio PARODD flag;
VTDELAY (if set) sets the termio FFDLY flag;
VTDELAY (if clear) clears the termio FFDLY flag;
BSDELAY (if set) sets the termio BSDLY flag;
BSDELAY (if clear) clears the termio BSDLY flag.
In addition, the CREAD bit is set, and, if the baud rate is 110, the
CSTOPB bit is set.
When using the ispeed entry in the structure is mapped into the appro‐
priate speed in the CBAUD field. The erase and kill entries are mapped
into the erase and kill characters.
When the (ioctl command is executed, the command is first executed.
The resulting structure is then mapped into the structure, which is
then returned to the user.
The following table shows how the flags are mapped into the old struc‐
ture. Note that all flags contained in the structure that are not men‐
tioned below are cleared.
HUPCL (if set) sets the sgttyb HUPCL flag;
HUPCL (if clear) clears the sgttyb HUPCL flag;
ICANON (if set) sets the sgttyb RAW flag;
ICANON (if clear) clears the sgttyb RAW flag;
XCASE (if set) sets the sgttyb LCASE flag;
XCASE (if clear) clears the sgttyb LCASE flag;
ECHO (if set) sets the sgttyb ECHO flag;
ECHO (if clear) clears the sgttyb ECHO flag;
ECHOK (if set) sets the sgttyb NOAL flag;
ECHOK (if clear) clears the sgttyb NOAL flag;
PARODD (if set) sets the sgttyb ODDP flag;
PARODD (if clear) clears the sgttyb ODDP flag;
INPCK (if set) sets the sgttyb EVENP flag;
PARODD, INPCK (if both clear) sets the sgttyb
ODDP and EVENP flags;
ONLCR (if set) sets the sgttyb
CRMOD flag; also, if CR1 is set, the sgttyb CR1 flag is set, and
if CR2 is set, the sgttyb CR2 flag is set;
ONLCR (if clear) if CR1 is set, the sgttyb
NL1 flag is set, and if CR2 is set, the sgttyb NL2 flag is set;
TAB3 (if set) sets the sgttyb XTABS flag;
TAB3 (if clear) clears the sgttyb XTABS flag;
TAB1 (if set) sets the sgttyb TBDELAY flag;
TAB1 (if clear) clears the sgttyb TBDELAY flag;
FFDLY (if set) sets the sgttyb VTDELAY flag;
FFDLY (if clear) clears the sgttyb VTDELAY flag;
BSDLY (if set) sets the sgttyb BSDELAY flag;
BSDLY (if clear) clears the sgttyb BSDELAY flag.
When using the CBAUD field is mapped into the ispeed and ospeed entries
of the structure. Also, the erase and kill characters are mapped into
the erase and kill entries.
Note that, since there is not a one-to-one mapping between the and
structures, unexpected results may occur when using the older and
calls. Thus, the and calls should be replaced in all future code by
the current equivalents, and respectively.
WARNINGS
These facilities are included to aid in conversion of old programs, and
should not be used in new code. Use the interface described in Note
that these conversions do work for programs ported from UNIX Time-Shar‐
ing System, Seventh Edition (Version 7), because some V7 flags are
defined differently.
SEE ALSOstty(2), termio(7).
sttyv6(7)