[net.unix] Info needed on pseudo TTYs in SysV

wb6rqn@yojna1.UUCP (Brian Lloyd) (11/07/85)

*** REPLACE THIS LINE WITH YOUR INSIPID BLATHERING ***

I have a stream of data coming in on a standard TTY port.  This stream 
consists of several multiplexed TTY sessions.  I need to demux this stream 
(not a problem), and feed the demuxed outputs to several pseudo TTYs (a
problem).  On the other side, I need to take the streams from the pseudo
TTYs, multiplex them into a single stream, and send it out the standard
TTY.  I need all the standard UNIX utilities to run from a pseudo TTY.

1.  Is what I want to do possible in UNIX SysV?

2.  How do I make use of pseudo TTYs?

3.  Does anyone have any sample C code that does anything like this?

Thank you in advance.

Brian Lloyd
...![bellcore|cp1]!yojna1!wb6rqn

gwyn@brl-tgr.ARPA (Doug Gwyn <gwyn>) (11/08/85)

> I have a stream of data coming in on a standard TTY port.  This stream 
> consists of several multiplexed TTY sessions.  I need to demux this stream 
> (not a problem), and feed the demuxed outputs to several pseudo TTYs (a
> problem).  On the other side, I need to take the streams from the pseudo
> TTYs, multiplex them into a single stream, and send it out the standard
> TTY.  I need all the standard UNIX utilities to run from a pseudo TTY.

This is what the "sxt" pseudo-devices are designed for
(Release 2.0).  There are no real ptys on any UNIX System
V that I have seen, although they would be a natural for
stream I/O-based releases such as are expected someday..

Note that your situation is similar to that of the DMD
(aka Blit); AT&T provides an "xt" driver with the DMD
software.  However, the "xt" driver is DMD-specific and
therefore probably not suitable without major hacking.

ron@BRL.ARPA (Ron Natalie) (11/09/85)

Actually, the way the System V terminal driver is set up, it is
designed to help you do this.  Unfortunately, it means driver
hacking, and you really do need a UNIX source license.  If you
can find one, look at the xt.c driver for running the BLITs and
tty5620 terminals, it is switching a packetized input stream
consisting of six virtual terminals into separate xt000 devices.

System V doesn't really have pty's at all.  The SXT (which are VR2
anyhow) devices are a kludged up version of the code for the xt
driver.  What they do is switch a single real tty line back and
forth between a set of virtual terminals.  Doing this, they achieve
something roughly equivelent to the 4.2 Job control.  The difference
is that you actually have a shell on each of the sxt virtual devices.
What you are really doing is switching your real tty to several virtual
tty "contexts."

-Ron

wb6rqn@yojna1.UUCP (Brian Lloyd) (11/13/85)

> Actually, the way the System V terminal driver is set up, it is
> designed to help you do this.  Unfortunately, it means driver
> hacking, and you really do need a UNIX source license.  If you
> can find one, look at the xt.c driver for running the BLITs and
> tty5620 terminals, it is switching a packetized input stream
> consisting of six virtual terminals into separate xt000 devices.
> 
> System V doesn't really have pty's at all.  The SXT (which are VR2
> anyhow) devices are a kludged up version of the code for the xt
> driver.  What they do is switch a single real tty line back and
> forth between a set of virtual terminals.  Doing this, they achieve
> something roughly equivelent to the 4.2 Job control.  The difference
> is that you actually have a shell on each of the sxt virtual devices.
> What you are really doing is switching your real tty to several virtual
> tty "contexts."
> 
> -Ron

*** REPLACE THIS LINE WITH YOUR MESSAGE ***