PTM(4) | Device Drivers Manual | PTM(4)

# NAME

`ptm` —
pseudo-terminal multiplexor device

# SYNOPSIS

`pseudo-device pty`

# DESCRIPTION

The `ptm` driver is the backend for the /dev/ptm device. It supports three ioctl(2)s. The first is `TIOCPTMGET`, which allocates a free pseudo-terminal device, sets its user ID to the calling user, revoke(2)s it, and returns the opened file descriptors for both the master and the slave pseudo-terminal device to the caller in a struct ptmget. This struct has the following content:

    struct ptmget {
            int     cfd;
            int     sfd;
            char    cn[PATH_MAX];
            char    sn[PATH_MAX];
    };

where cfd and sfd contain the master resp. slave device's file descriptor and cn and sn the corresponding paths in the file system.

The /dev/ptmx device supports two more ioctl(2)s, `TIOCGRANTPT`, which is used by grantpt(3), `TIOCPTSNAME`, which is used by ptsname(3).

The `ptm` device is included with the pseudo-device pty(4). It can be disabled by adding “`options NO_DEV_PTM`” to the kernel configuration.

# FILES

/dev/ptm
  `ptm` access device
/dev/ptmx
  `ptm` cloning device, used to implement Unix98 ptys

# SEE ALSO

grantpt(3), openpty(3), posix_openpt(3), ptsname(3), unlockpt(3), pty(4)

# HISTORY

The /dev/ptm device appeared in OpenBSD 3.5 and was ported to NetBSD 3.0.

November 30, 2013 | NetBSD 9.5