Updated: 2022/Sep/29
Please read Privacy Policy. It's for your privacy.
POSIX_OPENPT(3) Library Functions Manual POSIX_OPENPT(3) NAME posix_openpt - open a pseudo-terminal device LIBRARY Standard C Library (libc, -lc) SYNOPSIS #include <stdlib.h> #include <fcntl.h> int posix_openpt(int oflag); DESCRIPTION The posix_openpt() function searches for an unused master pseudo-terminal device, opens it, and returns a file descriptor associated with the now used pseudo-terminal device. The oflag argument has the same meaning as in the open(2) call. RETURN VALUES If successful, posix_openpt() returns a non-negative integer, which corresponds to a file descriptor pointing to the master pseudo-terminal device. Otherwise, a value of -1 is returned and errno is set to indicate the error. Note that unlike implementations on some other operating systems, posix_openpt() does not return EINVAL if a flag supplied in oflag would be deemed invalid, instead it is simply ignored. This means it is not possible to dynamically test which open(2) flags are possible to set, and apply a fallback if EINVAL is received. However, this is unlikely to be a concern in practice, as flags such as O_NONBLOCK and O_CLOEXEC are supported. SEE ALSO ioctl(2), open(2), grantpt(3), ptsname(3), unlockpt(3) RATIONALE The standards committee did not want to directly expose the cloning device, thus decided to wrap the functionality in this function. The equivalent code would be: int posix_openpt(int oflag) { return open("/dev/ptmx", oflag); } STANDARDS The posix_openpt() function conforms to IEEE Std 1003.1-2001 ("POSIX.1"). HISTORY This function first appeared in NetBSD 3. Support for non-standard flags appeared in NetBSD 10. NetBSD 10.99 November 15, 2022 NetBSD 10.99