Windows PowerShell command on Get-command pty
MyWebUniversity

Manual Pages for UNIX Operating System command usage for man pty

Devices pty(7D)

NAME

pty - pseudo-terminal driver

DESCRIPTION

The pty driver provides support for a pair of devices col-

lectively known as a pseudo-terminal. The two devices

comprising a pseudo-terminal are known as a controller and a

slave. The slave device distinguishes between the B0 baud

rate and other baud rates specified in the c_cflag word of

the termios structure, and the CLOCAL flag in that word. It does not support any of the other termio(7I) device control

functions specified by flags in the c_cflag word of the ter-

mios structure and by the IGNBRK, IGNPAR, PARMRK, or

INPCK flags in the c_iflag word of the termios structure, as

these functions apply only to asynchronous serial ports. All other termio(7I) functions must be performed by STREAMS modules pushed atop the driver; when a slave device is opened, the ldterm(7M) and ttcompat(7M) STREAMS modules are automatically pushed on top of the stream, providing the standard termio(7I) interface. Instead of having a hardware interface and associated hardware that supports the terminal functions, the functions

are implemented by another process manipulating the con-

troller device of the pseudo-terminal.

The controller and the slave devices of the pseudo-terminal

are tightly connected. Any data written on the controller device is given to the slave device as input, as though it

had been received from a hardware interface. Any data writ-

ten on the slave terminal can be read from the controller device (rather than being transmitted from a UAR).

By default, 48 pseudo-terminal pairs are configured as fol-

lows:

/dev/pty[p-r][0-9a-f] controller devices

/dev/tty[p-r][0-9a-f] slave devices

IOCTLS The standard set of termio ioctls are supported by the slave

device. None of the bits in the c_cflag word have any

effect on the pseudo-terminal, except that if the baud rate

is set to B0, it will appear to the process on the con-

troller device as if the last process on the slave device had closed the line; thus, setting the baud rate to B0 has

the effect of ``hanging up'' the pseudo-terminal, just as it

has the effect of ``hanging up'' a real terminal.

SunOS 5.11 Last change: 8 Aug 1994 1

Devices pty(7D)

There is no notion of ``parity'' on a pseudo-terminal, so

none of the flags in the c_iflag word that control the pro-

cessing of parity errors have any effect. Similarly, there

is no notion of a ``break'', so none of the flags that con-

trol the processing of breaks, and none of the ioctls that generate breaks, have any effect. Input flow control is automatically performed; a process that attempts to write to the controller device will be blocked if too much unconsumed data is buffered on the slave device. The input flow control provided by the IXOFF flag

in the c_iflag word is not supported.

The delays specified in the c_oflag word are not supported.

As there are no modems involved in a pseudo-terminal, the

ioctls that return or alter the state of modem control lines are silently ignored. A few special ioctls are provided on the controller devices

of pseudo-terminals to provide the functionality needed by

applications programs to emulate real hardware interfaces: TIOCSTOP The argument is ignored. Output to the

pseudo-terminal is suspended, as if a STOP

character had been typed. TIOCSTART The argument is ignored. Output to the

pseudo-terminal is restarted, as if a START

character had been typed. TIOCPKT The argument is a pointer to an int. If the

value of the int is non-zero, packet mode is

enabled; if the value of the int is zero,

packet mode is disabled. When a pseudo-

terminal is in packet mode, each subsequent read(2) from the controller device will return data written on the slave device preceded by a zero byte (symbolically defined as

TIOCPKT_DATA), or a single byte reflecting

control status information. In the latter

case, the byte is an inclusive-or of zero or

more of the bits:

TIOCPKT_FLUSHREAD whenever the read queue

for the terminal is

SunOS 5.11 Last change: 8 Aug 1994 2

Devices pty(7D)

flushed.

TIOCPKT_FLUSHWRITE whenever the write queue

for the terminal is flushed.

TIOCPKT_STOP whenever output to the

terminal is stopped using ^S.

TIOCPKT_START whenever output to the

terminal is restarted.

TIOCPKT_DOSTOP whenever XON/XOFF flow

control is enabled after being disabled; it is considered ``enabled'' when the IXON flag in

the c_iflag word is set,

the VSTOP member of the

c_cc array is ^S and the

VSTART member of the

c_cc array is ^Q.

TIOCPKT_NOSTOP whenever XON/XOFF flow

control is disabled after being enabled. TIOCREMOTE The argument is a pointer to an int. If the

value of the int is non-zero, remote mode is

enabled; if the value of the int is zero, remote mode is disabled. This mode can be enabled or disabled independently of packet

mode. When a pseudo-terminal is in remote

mode, input to the slave device of the

pseudo-terminal is flow controlled and not

input edited (regardless of the mode the slave

side of the pseudo-terminal). Each write to

the controller device produces a record boun-

dary for the process reading the slave device. In normal usage, a write of data is like the data typed as a line on the terminal; a write of 0 bytes is like typing an EOF character. Note: this means that a process writing to a

pseudo-terminal controller in remote mode must

SunOS 5.11 Last change: 8 Aug 1994 3

Devices pty(7D)

keep track of line boundaries, and write only one line at a time to the controller. If, for example, it were to buffer up several NEWLINE characters and write them to the controller with one write(), it would appear to a process reading from the slave as if a single line containing several NEWLINE characters had been typed (as if, for example, a user had typed the LNEXT character before typing all but the last of those NEWLINE characters). Remote mode can be used when doing remote line editing in a window manager, or whenever flow controlled input is required.

EXAMPLES

#include

#include

int fdm fds;

fdm = open("/dev/ptyp0, O_RDWR); /* open master */

fds = open("/dev/ttyp0, O_RDWR); /* open slave */

FILES

/dev/pty[p-z][0-9a-f] pseudo-terminal controller devices

/dev/tty[p-z][0-9a-f] pseudo-terminal slave devices

SEE ALSO

rlogin(1), rlogind(1M), ldterm(7M), termio(7I), ttcompat(7M), NOTES It is apparently not possible to send an EOT by writing zero bytes in TIOCREMOTE mode.

SunOS 5.11 Last change: 8 Aug 1994 4




Contact us      |      About us      |      Term of use      |       Copyright © 2000-2019 MyWebUniversity.com ™