posix_openpt(3) - NetBSD Manual Pages

Command: Section: Arch: Collection:  
POSIX_OPENPT(3)         NetBSD 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 cor- responds to a file descriptor pointing to the master pseudo-terminal device. Otherwise, a value of -1 is returned and errno is set to indi- cate 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 sup- ported.
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
Powered by man-cgi (2024-03-20). Maintained for NetBSD by Kimmo Suominen. Based on man-cgi by Panagiotis Christias.