grantpt(3) — Linux manual page

NAME | LIBRARY | SYNOPSIS | DESCRIPTION | RETURN VALUE | ERRORS | ATTRIBUTES | STANDARDS | HISTORY | SEE ALSO | COLOPHON

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
   feature_test_macros(7)):

       grantpt():
           Since glibc 2.24:
               _XOPEN_SOURCE >= 500
           glibc 2.23 and earlier:
               _XOPEN_SOURCE

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
              accessed.

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

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

ATTRIBUTES         top

       For an explanation of the terms used in this section, see
       attributes(7).
       ┌──────────────────────────────┬───────────────┬────────────────┐
       │ Interface                    Attribute     Value          │
       ├──────────────────────────────┼───────────────┼────────────────┤
       │ grantpt()                    │ Thread safety │ MT-Safe locale │
       └──────────────────────────────┴───────────────┴────────────────┘

STANDARDS         top

       POSIX.1-2008.

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
       ioctl(2).

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 
       ⟨https://www.kernel.org/doc/man-pages/⟩.  If you have a bug report
       for this manual page, see
       ⟨https://git.kernel.org/pub/scm/docs/man-pages/man-pages.git/tree/CONTRIBUTING⟩.
       This page was obtained from the tarball man-pages-6.9.1.tar.gz
       fetched from
       ⟨https://mirrors.edge.kernel.org/pub/linux/docs/man-pages/⟩ 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
       man-pages@man7.org

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)