Section: Linux Programmer's Manual (3)
Return to Main Contents
ttyname, ttyname_r - return name of a terminal
char *ttyname(int fd);
int ttyname_r(int fd, char *buf, size_t buflen);
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 fd is not connected to a terminal).
The return value may point to static data, possibly overwritten by the
stores this pathname in the buffer
returns a pointer to a pathname on success.
On error, NULL is returned, and
is set appropriately.
returns 0 on success, and an error number upon error.
Bad file descriptor.
File descriptor does not refer to a terminal device.
was too small to allow storing the pathname.
File descriptor refers to a slave pseudoterminal device
but the corresponding pathname could not be found (see NOTES).
For an explanation of the terms used in this section, see
||Thread safety||MT-Unsafe race:ttyname|
POSIX.1-2001, POSIX.1-2008, 4.2BSD.
A process that keeps a file descriptor that refers to a
device open when switching to another mount namespace that uses a different
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't be used to access the device that the file descriptor refers to.
on the file descriptor in the new mount namespace will cause these
functions to return NULL and set
This page is part of release 4.15 of the Linux
A description of the project,
information about reporting bugs,
and the latest version of this page,
can be found at
- RETURN VALUE
- CONFORMING TO
- SEE ALSO
This document was created by
using the manual pages.
Time: 08:40:16 GMT, September 19, 2018