grantpt(3) — Linux manual page


grantpt(3)              Library Functions Manual              grantpt(3)

NAME         top

       grantpt - grant access to the slave pseudoterminal

LIBRARY         top

       Standard C library (libc, -lc)

SYNOPSIS         top

       #define _XOPEN_SOURCE
       #include <stdlib.h>

       int grantpt(int fd);

   Feature Test Macro Requirements for glibc (see

           Since glibc 2.24:
               _XOPEN_SOURCE >= 500
           glibc 2.23 and earlier:

DESCRIPTION         top

       The grantpt() function changes the mode and owner of the slave
       pseudoterminal device corresponding to the master pseudoterminal
       referred to by the file descriptor 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.

RETURN VALUE         top

       When successful, grantpt() returns 0.  Otherwise, it returns -1
       and sets errno to indicate the error.

ERRORS         top

       EACCES The corresponding slave pseudoterminal could not be

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

       EINVAL The fd argument is valid but not associated with a master

ATTRIBUTES         top

       For an explanation of the terms used in this section, see
       │ Interface                    Attribute     Value          │
       │ grantpt()                    │ Thread safety │ MT-Safe locale │

STANDARDS         top


HISTORY         top

       glibc 2.1.  POSIX.1-2001.

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

       Historical systems implemented this function via a set-user-ID
       helper binary called "pt_chown".  glibc on Linux before glibc
       2.33 could do so as well, in order to support configurations with
       only BSD pseudoterminals; this support has been removed.  On
       modern systems this is either a no-op —with permissions
       configured on pty allocation, as is the case on Linux— or an

SEE ALSO         top

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

COLOPHON         top

       This page is part of the man-pages (Linux kernel and C library
       user-space interface documentation) project.  Information about
       the project can be found at 
       ⟨⟩.  If you have a bug report
       for this manual page, see
       This page was obtained from the tarball man-pages-6.9.1.tar.gz
       fetched from
       ⟨⟩ on
       2024-06-26.  If you discover any rendering problems in this HTML
       version of the page, or you believe there is a better or more up-
       to-date source for the page, or you have corrections or
       improvements to the information in this COLOPHON (which is not
       part of the original manual page), send a mail to

Linux man-pages 6.9.1          2024-05-26                     grantpt(3)

Pages that refer to this page: getpt(3)posix_openpt(3)ptsname(3)unlockpt(3)pts(4)pty(7)