]> git.ipfire.org Git - thirdparty/man-pages.git/blobdiff - man3/grantpt.3
fanotify_init.2, fanotify.7: Document FAN_REPORT_TID
[thirdparty/man-pages.git] / man3 / grantpt.3
index 761ee8a4c17b6246bbded72e78e510a7ed6d1af4..0052aacf5a3b8cd3c121fc5b298dc87639157640 100644 (file)
@@ -1,40 +1,59 @@
-.\" Hey Emacs! This file is -*- nroff -*- source.
+.\" %%%LICENSE_START(PUBLIC_DOMAIN)
 .\" This page is in the public domain. - aeb
+.\" %%%LICENSE_END
 .\"
-.TH GRANTPT 3 "2003-01-30" "PTY Control" "Linux Programmer's Manual"
+.TH GRANTPT 3 2017-09-15 "GNU" "Linux Programmer's Manual"
 .SH NAME
-grantpt \- grant access to the slave pseudotty
+grantpt \- grant access to the slave pseudoterminal
 .SH SYNOPSIS
-.nf
-.B #define _XOPEN_SOURCE
-.br
 .B #include <stdlib.h>
-.sp
+.PP
 .BI "int grantpt(int " fd ");"
-.fi
+.PP
+.in -4n
+Feature Test Macro Requirements for glibc (see
+.BR feature_test_macros (7)):
+.in
+.PP
+.ad l
+.BR grantpt ():
+.br
+.RS 4
+Since glibc 2.24:
+    _XOPEN_SOURCE\ >=\ 500 ||
+        (_XOPEN_SOURCE\ &&\ _XOPEN_SOURCE_EXTENDED)
+.br
+Glibc 2.23 and earlier:
+    _XOPEN_SOURCE
+.RE
+.ad
 .SH DESCRIPTION
 The
 .BR grantpt ()
-function changes the mode and owner of the slave pseudo-terminal device
-(pty) corresponding to the master pty referred to by
+function changes the mode and owner of the slave pseudoterminal device
+corresponding to the master pseudoterminal referred to by
 .IR 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 group ID is set to an unspecified value (e.g.,
+.IR tty ).
 The mode of the slave is set to 0620 (crw\-\-w\-\-\-\-).
 .PP
 The behavior of
 .BR grantpt ()
-is unspecified if a signal handler is installed to catch SIGCHLD signals.
-.SH "RETURN VALUE"
-When successful, 
+is unspecified if a signal handler is installed to catch
+.B SIGCHLD
+signals.
+.SH RETURN VALUE
+When successful,
 .BR grantpt ()
-returns 0. Otherwise, it returns \-1 and sets
+returns 0.
+Otherwise, it returns \-1 and sets
 .I errno
 appropriately.
 .SH ERRORS
 .TP
 .B EACCES
-The corresponding slave pty could not be accessed.
+The corresponding slave pseudoterminal could not be accessed.
 .TP
 .B EBADF
 The
@@ -44,17 +63,44 @@ argument is not a valid open file descriptor.
 .B EINVAL
 The
 .I fd
-argument is valid but not associated with a master pty.
-.SH "CONFORMING TO"
-POSIX 1003.1-2001
+argument is valid but not associated with a master pseudoterminal.
+.SH VERSIONS
+.BR grantpt ()
+is provided in glibc since version 2.1.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lb lb lb
+l l l.
+Interface      Attribute       Value
+T{
+.BR grantpt ()
+T}     Thread safety   MT-Safe locale
+.TE
+.sp 1
+.SH CONFORMING TO
+POSIX.1-2001, POSIX.1-2008.
 .SH NOTES
-This is part of the Unix98 pty support, see
+This is part of the UNIX 98 pseudoterminal support, see
 .BR pts (4).
-Many systems implement this function via a setuid helper binary
-called "pt_chown". With Linux devpts no such helper binary is required.
-.SH "SEE ALSO"
+.PP
+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
+.RB ( posix_openpt (3)),
+so that nothing must be done by
+.BR grantpt ().
+Thus, no such helper binary is required
+(and indeed it is configured to be absent during the
+glibc build that is typical on many systems).
+.SH SEE ALSO
 .BR open (2),
-.BR getpt (3),
+.BR posix_openpt (3),
 .BR ptsname (3),
 .BR unlockpt (3),
-.BR pts (4)
+.BR pts (4),
+.BR pty (7)