dwww Home | Manual pages | Find package

TIOCPKT(2const)                                                 TIOCPKT(2const)

NAME
       TIOCPKT,  TIOCGPKT, TIOCSPTLCK, TIOCGPTLCK, TIOCGPTPEER - pseudoterminal
       ioctls

LIBRARY
       Standard C library (libc, -lc)

SYNOPSIS
       #include <asm/termbits.h>  /* Definition of TIOC* constants */
       #include <sys/ioctl.h>

       int ioctl(int fd, TIOCPKT, const int *mode);
       int ioctl(int fd, TIOCPKT, int *mode);

       int ioctl(int fd, TIOCSPTLCK, const int *lock);
       int ioctl(int fd, TIOCGPTLCK, int *lock);

       int ioctl(int fd, TIOCGPTPEER, int flags);

DESCRIPTION
       TIOCPKT
              Enable (when *mode is nonzero) or disable packet  mode.   Can  be
              applied to the master side of a pseudoterminal only (and will re-
              turn  ENOTTY otherwise).  In packet mode, each subsequent read(2)
              will return a packet that either contains a single  nonzero  con-
              trol  byte,  or has a single byte containing zero ('\0') followed
              by data written on the slave side of the pseudoterminal.  If  the
              first byte is not TIOCPKT_DATA (0), it is an OR of one or more of
              the following bits:

              TIOCPKT_FLUSHREAD    The read queue for the
                                   terminal is flushed.
              TIOCPKT_FLUSHWRITE   The write queue for the
                                   terminal is flushed.
              TIOCPKT_STOP         Output to the terminal is
                                   stopped.
              TIOCPKT_START        Output to the terminal is
                                   restarted.
              TIOCPKT_DOSTOP       The start and stop charac-
                                   ters are ^S/^Q.
              TIOCPKT_NOSTOP       The start and stop charac-
                                   ters are not ^S/^Q.

              While  packet  mode is in use, the presence of control status in-
              formation to be read from the master side may be  detected  by  a
              select(2) for exceptional conditions or a poll(2) for the POLLPRI
              event.

              This  mode is used by rlogin(1) and rlogind(8) to implement a re-
              mote-echoed, locally ^S/^Q flow-controlled remote login.

       TIOCGPKT
              Return the current packet mode setting in the integer pointed  to
              by mode.

       TIOCSPTLCK
              Set  (if  *lock is nonzero) or remove (if *lock is zero) the lock
              on the pseudoterminal slave device.  (See also unlockpt(3).)

       TIOCGPTLCK
              Place the current lock state of the pseudoterminal  slave  device
              in the location pointed to by lock.

       TIOCGPTPEER
              Given  a  file  descriptor  in fd that refers to a pseudoterminal
              master, open (with the given open(2)-style flags)  and  return  a
              new  file descriptor that refers to the peer pseudoterminal slave
              device.  This operation can be performed  regardless  of  whether
              the  pathname of the slave device is accessible through the call-
              ing process's mount namespace.

              Security-conscious programs interacting with namespaces may  wish
              to  use  this operation rather than open(2) with the pathname re-
              turned by ptsname(3), and similar library functions that have in-
              secure APIs.  (For example, confusion can occur in some cases us-
              ing ptsname(3) with a pathname where a devpts filesystem has been
              mounted in a different mount namespace.)

RETURN VALUE
       On success, 0 is returned.  On error, -1 is returned, and errno  is  set
       to indicate the error.

ERRORS
       ENOTTY

HISTORY
       TIOCGPKT
              Linux 3.8.

       TIOCGPTLCK
              Linux 3.8.

       TIOCGPTPEER
              Linux 4.13.

       The  BSD  ioctls TIOCSTOP, TIOCSTART, TIOCUCNTL, and TIOCREMOTE have not
       been implemented under Linux.

SEE ALSO
       ioctl(2), ioctl_tty(2)

Linux man-pages 6.9.1              2024-06-15                   TIOCPKT(2const)

Generated by dwww version 1.16 on Tue Dec 16 04:04:08 CET 2025.