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 totty 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”).