unixdev.net


Switch to SpeakEasy.net DSL

The Modular Manual Browser

Home Page
Manual: (HP-UX-11.11)
Page:
Section:
Apropos / Subsearch:
optional field



 sttyv6(7)							   sttyv6(7)




 NAME
      stty - terminal interface for Version 6/PWB compatibility

 REMARKS
      These facilities are included to aid in conversion of old programs,
      and should not be used in new code.  Use the interface described in
      termio(7).  Note that these conversions do not work for programs
      ported from UNIX Time-Sharing System, Seventh Edition (Version 7),
      because some V7 flags are defined differently.

 DESCRIPTION
      These routines attempt to map the UNIX Time-Sharing System, Sixth
      Edition (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 termio(7) before studying this entry.

      The following data structure is defined in the include file <sgtty.h>:

	   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	01
      #define XTABS	02
      #define LCASE	04
      #define ECHO	010
      #define CRMOD	020
      #define RAW	040
      #define ODDP	0100
      #define EVENP	0200
      #define ANYP	0300
      #define NLDELAY	001400
      #define TBDELAY	002000
      #define CRDELAY	030000
      #define VTDELAY	040000
      #define BSDELAY	0100000

      #define CR0	0
      #define CR1	010000
      #define CR2	020000
      #define CR3	030000
      #define NL0	0
      #define NL1	000400
      #define NL2	001000



 Hewlett-Packard Company	    - 1 -   HP-UX Release 11i: November 2000






 sttyv6(7)							   sttyv6(7)




      #define NL3	001400
      #define TAB0	0
      #define TAB1	002000
      #define NOAL	004000
      #define FF0	0
      #define FF1	040000
      #define BS0	0
      #define BS1	0100000

      When the stty(2) command (ioctl TIOCSETP) is executed, the flags in
      the old sgttyb structure are mapped into their new equivalents in the
      termio structure.	 Then the TCSETA command is executed.

      The following table shows the mapping between the old sgttyb flags and
      the current termio flags.	 Note that flags contained in the termio
      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.




 Hewlett-Packard Company	    - 2 -   HP-UX Release 11i: November 2000






 sttyv6(7)							   sttyv6(7)




      In addition, the termio CREAD bit is set, and, if the baud rate is
      110, the CSTOPB bit is set.

      When using TIOCSETP, the ispeed entry in the sgttyb structure is
      mapped into the appropriate speed in the termio CBAUD field.  The
      erase and kill sgttyb entries are mapped into the termio erase and
      kill characters.

      When the gtty(2) (ioctl TIOCGETP) command is executed, the termio(7)
      TCGETA command is first executed.	 The resulting termio structure is
      then mapped into the sgttyb structure, which is then returned to the
      user.

      The following table shows how the termio flags are mapped into the old
      sgttyb structure.	 Note that all flags contained in the sgttyb
      structure that are not mentioned 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 TIOCGETP, the termio CBAUD field is mapped into the ispeed
      and ospeed entries of the sgttyb structure.  Also, the termio erase
      and kill characters are mapped into the erase and kill sgttyb entries.

      Note that, since there is not a one-to-one mapping between the sgttyb
      and termio structures, unexpected results may occur when using the



 Hewlett-Packard Company	    - 3 -   HP-UX Release 11i: November 2000






 sttyv6(7)							   sttyv6(7)




      older TIOCSETP and TIOCGETP calls.  Thus, the TIOCSETP and TIOCGETP
      calls should be replaced in all future code by the current
      equivalents, TCSETA and TCGETA, respectively.

 SEE ALSO
      stty(2), termio(7).
















































 Hewlett-Packard Company	    - 4 -   HP-UX Release 11i: November 2000