grantpt
—
grant access to a slave pseudo-terminal device
Standard C Library (libc, -lc)
#include <stdlib.h>
int
grantpt
(int
fildes);
The grantpt
() function changes the mode and ownership of
the slave pseudo-terminal device that corresponds to the master
pseudo-terminal device associated with fildes to be
owned by the real user id of the calling process, group id of
tty
. The permissions are set to readable and writable
by owner, and writable by group. If the slave pseudo-terminal device was being
accessed by other file descriptors at the time, all such access will be
revoked.
If successful, grantpt
() returns 0; otherwise a value of
-1 is returned and errno is set to indicate the error.
The grantpt
() function will fail if:
- [
EACCESS
]
- the corresponding pseudo-terminal device could not be accessed.
- [
EBADF
]
- fildes is not a valid descriptor.
- [
EINVAL
]
- fildes is not associated with a master
pseudo-terminal device.
Setting the group to tty
and revoking accesses by other
file descriptors are NetBSD extensions. Calling
grantpt
() is equivalent to:
ioctl(fildes, TIOCGRANTPT, 0);
The grantpt
() function conforms to IEEE
Std 1003.1-2001 (“POSIX.1”). Its first release was in
X/Open Portability Guide Issue 4, Version 2
(“XPG4.2”).