mirror of https://github.com/mkerrisk/man-pages
107 lines
2.4 KiB
Groff
107 lines
2.4 KiB
Groff
.\" %%%LICENSE_START(PUBLIC_DOMAIN)
|
|
.\" This page is in the public domain. - aeb
|
|
.\" %%%LICENSE_END
|
|
.\"
|
|
.TH GRANTPT 3 2017-05-03 "GNU" "Linux Programmer's Manual"
|
|
.SH NAME
|
|
grantpt \- grant access to the slave pseudoterminal
|
|
.SH SYNOPSIS
|
|
.B #include <stdlib.h>
|
|
.PP
|
|
.BI "int grantpt(int " fd ");"
|
|
.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 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.,
|
|
.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
|
|
.B SIGCHLD
|
|
signals.
|
|
.SH RETURN VALUE
|
|
When successful,
|
|
.BR grantpt ()
|
|
returns 0.
|
|
Otherwise, it returns \-1 and sets
|
|
.I errno
|
|
appropriately.
|
|
.SH ERRORS
|
|
.TP
|
|
.B EACCES
|
|
The corresponding slave pseudoterminal could not be accessed.
|
|
.TP
|
|
.B EBADF
|
|
The
|
|
.I fd
|
|
argument is not a valid open file descriptor.
|
|
.TP
|
|
.B EINVAL
|
|
The
|
|
.I fd
|
|
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 UNIX 98 pseudoterminal support, see
|
|
.BR pts (4).
|
|
.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 posix_openpt (3),
|
|
.BR ptsname (3),
|
|
.BR unlockpt (3),
|
|
.BR pts (4),
|
|
.BR pty (7)
|