| .\" Copyright (c) 1995 Jim Van Zandt <jrv@vanzandt.mv.com> |
| .\" |
| .\" %%%LICENSE_START(GPLv2+_DOC_FULL) |
| .\" This is free documentation; you can redistribute it and/or |
| .\" modify it under the terms of the GNU General Public License as |
| .\" published by the Free Software Foundation; either version 2 of |
| .\" the License, or (at your option) any later version. |
| .\" |
| .\" The GNU General Public License's references to "object code" |
| .\" and "executables" are to be interpreted as the output of any |
| .\" document formatting or typesetting system, including |
| .\" intermediate and printed output. |
| .\" |
| .\" This manual is distributed in the hope that it will be useful, |
| .\" but WITHOUT ANY WARRANTY; without even the implied warranty of |
| .\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
| .\" GNU General Public License for more details. |
| .\" |
| .\" You should have received a copy of the GNU General Public |
| .\" License along with this manual; if not, see |
| .\" <http://www.gnu.org/licenses/>. |
| .\" %%%LICENSE_END |
| .\" |
| .\" Modified 2001-12-13, Martin Schulze <joey@infodrom.org> |
| .\" Added ttyname_r, aeb, 2002-07-20 |
| .\" |
| .TH TTYNAME 3 2015-08-08 "Linux" "Linux Programmer's Manual" |
| .SH NAME |
| ttyname, ttyname_r \- return name of a terminal |
| .SH SYNOPSIS |
| .nf |
| .B #include <unistd.h> |
| .sp |
| .BI "char *ttyname(int " fd ); |
| |
| .BI "int ttyname_r(int " fd ", char *" buf ", size_t " buflen ); |
| .fi |
| .SH DESCRIPTION |
| The function |
| .BR ttyname () |
| returns a pointer to the null-terminated pathname of the terminal device |
| that is open on the file descriptor \fIfd\fP, or NULL on error |
| (for example, if \fIfd\fP is not connected to a terminal). |
| The return value may point to static data, possibly overwritten by the |
| next call. |
| The function |
| .BR ttyname_r () |
| stores this pathname in the buffer |
| .I buf |
| of length |
| .IR buflen . |
| .SH RETURN VALUE |
| The function |
| .BR ttyname () |
| returns a pointer to a pathname on success. |
| On error, NULL is returned, and |
| .I errno |
| is set appropriately. |
| The function |
| .BR ttyname_r () |
| returns 0 on success, and an error number upon error. |
| .SH ERRORS |
| .TP |
| .B EBADF |
| Bad file descriptor. |
| .TP |
| .B ENOTTY |
| File descriptor does not refer to a terminal device. |
| .TP |
| .B ERANGE |
| .RB ( ttyname_r ()) |
| .I buflen |
| was too small to allow storing the pathname. |
| .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 ttyname () |
| T} Thread safety MT-Unsafe race:ttyname |
| T{ |
| .BR ttyname_r () |
| T} Thread safety MT-Safe |
| .TE |
| .SH CONFORMING TO |
| POSIX.1-2001, POSIX.1-2008, 4.2BSD. |
| .SH SEE ALSO |
| .BR fstat (2), |
| .BR ctermid (3), |
| .BR isatty (3) |