Section (3) ttyname
ttyname, ttyname_r — return name of a terminal
returns a pointer to the null-terminated pathname of the
terminal device that is open on the file descriptor
fd, or NULL on error
(for example, if
is not connected to a terminal). The return value may point
to static data, possibly overwritten by the next call. The
this pathname in the buffer
buf of length
returns a pointer to a pathname on success. On error, NULL is
errno is set
appropriately. The function
ttyname_r() returns 0 on success, and an
error number upon error.
Bad file descriptor.
File descriptor refers to a slave pseudoterminal device but the corresponding pathname could not be found (see NOTES).
File descriptor does not refer to a terminal device.
buflenwas too small to allow storing the pathname.
For an explanation of the terms used in this section, see attributes(7).
||Thread safety||MT-Unsafe race:ttyname|
A process that keeps a file descriptor that refers to a
pts(4) device open when
switching to another mount namespace that uses a different
/dev/ptmx instance may still
accidentally find that a device path of the same name for
that file descriptor exists. However, this device path refers
to a different device and thus can_zsingle_quotesz_t be used to access the
device that the file descriptor refers to. Calling
ttyname_r() on the file descriptor in the
new mount namespace will cause these functions to return NULL
errno to ENODEV.
This page is part of release 5.04 of the Linux
man-pages project. A
description of the project, information about reporting bugs,
and the latest version of this page, can be found at
Copyright (c) 1995 Jim Van Zandt <jrvvanzandt.mv.com>
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_zsingle_quotesz_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
Modified 2001-12-13, Martin Schulze <joeyinfodrom.org>
Added ttyname_r, aeb, 2002-07-20