]> git.ipfire.org Git - thirdparty/man-pages.git/blobdiff - man3/openpty.3
dlopen.3: tfix
[thirdparty/man-pages.git] / man3 / openpty.3
index 3266c2dfb3ac25a6552cf3f9c68e9f3d2afbd50f..56c8b4411c8b55c2339f0829dc0e3385bee39e92 100644 (file)
@@ -1,6 +1,7 @@
 .\" Copyright (c) OpenBSD Group
 .\" All rights reserved.
 .\"
+.\" %%%LICENSE_START(BSD_3_CLAUSE_UCB)
 .\" Redistribution and use in source and binary forms, with or without
 .\" modification, are permitted provided that the following conditions
 .\" are met:
 .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
+.\" %%%LICENSE_END
 .\"
 .\" Converted into a manpage again by Martin Schulze <joey@infodrom.org>
 .\"
 .\" Added -lutil remark, 030718
 .\"
-.TH OPENPTY 3  2010-06-13 "GNU" "Linux Programmer's Manual"
+.TH OPENPTY 3  2017-09-15 "GNU" "Linux Programmer's Manual"
 .SH NAME
-openpty, login_tty, forkpty \- tty utility functions
+openpty, login_tty, forkpty \- terminal utility functions
 .SH SYNOPSIS
 .nf
 .B #include <pty.h>
-.sp
+.PP
 .BI "int openpty(int *" amaster ", int *" aslave ", char *" name ,
 .BI "            const struct termios *" termp ,
 .BI "            const struct winsize *" winp );
-.sp
+.PP
 .BI "pid_t forkpty(int *" amaster ", char *" name ,
 .BI "              const struct termios *" termp ,
 .BI "              const struct winsize *" winp );
-.sp
+
 .B #include <utmp.h>
-.sp
+.PP
 .BI "int login_tty(int " fd );
-.sp
+.PP
 Link with \fI\-lutil\fP.
 .fi
 .SH DESCRIPTION
 The
 .BR openpty ()
-function finds an available pseudo-terminal and returns file descriptors
+function finds an available pseudoterminal and returns file descriptors
 for the master and slave in
 .I amaster
 and
@@ -71,12 +73,12 @@ If
 .I winp
 is not NULL, the window size of the slave will be set to the values in
 .IR winp .
-
+.PP
 The
 .BR login_tty ()
-function prepares for a login on the tty
+function prepares for a login on the terminal
 .I fd
-(which may be a real tty device, or the slave of a pseudo-terminal as
+(which may be a real terminal device, or the slave of a pseudoterminal as
 returned by
 .BR openpty ())
 by creating a new session, making
@@ -86,7 +88,7 @@ the controlling terminal for the calling process, setting
 to be the standard input, output, and error streams of the current
 process, and closing
 .IR fd .
-
+.PP
 The
 .BR forkpty ()
 function combines
@@ -94,21 +96,22 @@ function combines
 .BR fork (2),
 and
 .BR login_tty ()
-to create a new process operating in a pseudo-terminal.
+to create a new process operating in a pseudoterminal.
 The file
-descriptor of the master side of the pseudo-terminal is returned in
-.IR amaster ,
-and the filename of the slave in
+descriptor of the master side of the pseudoterminal is returned in
+.IR amaster .
+If
 .I name
-if it is not NULL.
+is not NULL, the buffer it points to is used to return the
+filename of the slave.
 The
 .I termp
 and
 .I winp
 arguments, if not NULL,
 will determine the terminal attributes and window size of the slave
-side of the pseudo-terminal.
-.SH "RETURN VALUE"
+side of the pseudoterminal.
+.SH RETURN VALUE
 If a call to
 .BR openpty (),
 .BR login_tty (),
@@ -127,26 +130,43 @@ return 0, and the parent process of
 returns the process ID of the child process.
 .SH ERRORS
 .BR openpty ()
-will fail if:
+fails if:
 .TP
 .B ENOENT
-There are no available ttys.
-.LP
+There are no available terminals.
+.PP
 .BR login_tty ()
-will fail if
+fails if
 .BR ioctl (2)
 fails to set
 .I fd
 to the controlling terminal of the calling process.
-.LP
+.PP
 .BR forkpty ()
-will fail if either
+fails if either
 .BR openpty ()
 or
 .BR fork (2)
 fails.
-.SH "CONFORMING TO"
-These are BSD functions, present in libc5 and glibc2.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lbw20 lb lb
+l l l.
+Interface      Attribute       Value
+T{
+.BR forkpty (),
+.BR openpty ()
+T}     Thread safety   MT-Safe locale
+T{
+.BR login_tty ()
+T}     Thread safety   MT-Unsafe race:ttyname
+.TE
+.sp 1
+.SH CONFORMING TO
+These are BSD functions, present in glibc.
 They are not standardized in POSIX.
 .SH NOTES
 The
@@ -156,13 +176,13 @@ modifiers were added to the structure pointer arguments of
 and
 .BR forkpty ()
 in glibc 2.8.
-
+.PP
 In versions of glibc before 2.0.92,
 .BR openpty ()
-returns file descriptors for a BSD pseudo-terminal pair;
+returns file descriptors for a BSD pseudoterminal pair;
 since glibc 2.0.92,
-it first attempts to open a Unix 98 pseudo-terminal pair,
-and falls back to opening a BSD pseudo-terminal pair if that fails.
+it first attempts to open a UNIX 98 pseudoterminal pair,
+and falls back to opening a BSD pseudoterminal pair if that fails.
 .SH BUGS
 Nobody knows how much space should be reserved for
 .IR name .
@@ -173,7 +193,7 @@ or
 with non-NULL
 .I name
 may not be secure.
-.SH "SEE ALSO"
+.SH SEE ALSO
 .BR fork (2),
 .BR ttyname (3),
 .BR pty (7)