grantpt

GRANTPT(3)                 Linux Programmer's Manual                GRANTPT(3)

NAME
       grantpt - grant access to the slave pseudoterminal

SYNOPSIS
       #include <stdlib.h>

       int grantpt(int fd);

   Feature Test Macro Requirements for glibc (see feature_test_macros(7)):

       grantpt():
           Since glibc 2.24:
               _XOPEN_SOURCE >= 500 ||
                   (_XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED)
           Glibc 2.23 and earlier:
               _XOPEN_SOURCE

DESCRIPTION
       The  grantpt()  function  changes the mode and owner of the slave pseu-
       doterminal device corresponding to the master  pseudoterminal  referred
       to by fd.  The user ID of the slave is set to the real UID of the call-
       ing 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 in-
       stalled to catch SIGCHLD signals.

RETURN VALUE
       When successful, grantpt() returns 0.  Otherwise,  it  returns  -1  and
       sets errno appropriately.

ERRORS
       EACCES The corresponding slave pseudoterminal could not be accessed.

       EBADF  The fd argument is not a valid open file descriptor.

       EINVAL The  fd argument is valid but not associated with a master pseu-
              doterminal.

VERSIONS
       grantpt() is provided in glibc since version 2.1.

ATTRIBUTES
       For an  explanation  of  the  terms  used  in  this  section,  see  at-
       tributes(7).

       +----------+---------------+----------------+
       |Interface | Attribute     | Value          |
       +----------+---------------+----------------+
       |grantpt() | Thread safety | MT-Safe locale |
       +----------+---------------+----------------+

CONFORMING TO
       POSIX.1-2001, POSIX.1-2008.

NOTES
       This is part of the UNIX 98 pseudoterminal support, see pts(4).

       Many  systems  implement  this function via a set-user-ID helper binary
       called "pt_chown".  On Linux systems with a devpts filesystem  (present
       since  Linux  2.2),  the kernel normally sets the correct ownership and
       permissions for the pseudoterminal slave  when  the  master  is  opened
       (posix_openpt(3)), so that nothing must be done by grantpt().  Thus, no
       such helper binary is required (and indeed it is configured to  be  ab-
       sent during the glibc build that is typical on many systems).

SEE ALSO
       open(2), posix_openpt(3), ptsname(3), unlockpt(3), pts(4), pty(7)

COLOPHON
       This  page  is  part of release 5.05 of the Linux man-pages project.  A
       description of the project, information about reporting bugs,  and  the
       latest     version     of     this    page,    can    be    found    at
       https://www.kernel.org/doc/man-pages/.

GNU                               2017-09-15                        GRANTPT(3)
Man Pages Copyright Respective Owners. Site Copyright (C) 1994 - 2024 Hurricane Electric. All Rights Reserved.