X-Git-Url: http://git.ipfire.org/?a=blobdiff_plain;f=man3%2Fopenpty.3;h=56c8b4411c8b55c2339f0829dc0e3385bee39e92;hb=3e4c47dde200c58cb75c26e683de79efb5991714;hp=318dcf3b195fb14e19aceec522ac73b58ac73b49;hpb=008f1ecc4351f2874f14cc5d1b75fae73ed82f17;p=thirdparty%2Fman-pages.git diff --git a/man3/openpty.3 b/man3/openpty.3 index 318dcf3b19..56c8b4411c 100644 --- a/man3/openpty.3 +++ b/man3/openpty.3 @@ -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: @@ -24,36 +25,37 @@ .\" 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 .\" .\" 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 -.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 -.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)