grantpt — grant access to the slave pseudo-terminal
#define _XOPEN_SOURCE #include <stdlib.h>
int
            grantpt( | 
            int | fd); | 
          
The grantpt() function
      changes the mode and owner of the slave pseudo-terminal
      device (pty) corresponding to the master pty referred to by
      fd. The user ID of
      the slave is set to the real UID of the calling process. The
      group ID is set to an unspecified value (e.g., tty). The mode of the slave is set to 0620
      (crw−−w−−−−).
The behavior of grantpt() is
      unspecified if a signal handler is installed to catch
      SIGCHLD signals.
When successful, grantpt()
      returns 0. Otherwise, it returns −1 and sets
      errno appropriately.
The corresponding slave pty could not be accessed.
The fd
            argument is not a valid open file descriptor.
The fd
            argument is valid but not associated with a master
            pty.
This is part of the Unix98 pty support, see pts(4). Many systems implement this function via a set-user-ID helper binary called "pt_chown". With Linux devpts no such helper binary is required.