ttyname man page

ttyname, ttyname_r — return name of a terminal


#include <unistd.h>

char *ttyname(int fd);

int ttyname_r(int fd, char *buf, size_t buflen);


The function ttyname() 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 next call. The function ttyname_r() stores this pathname in the buffer buf of length buflen.

Return Value

The function ttyname() returns a pointer to a pathname on success. On error, NULL is returned, and errno is set appropriately. The function ttyname_r() returns 0 on success, and an error number upon error.


Bad file descriptor.
File descriptor does not refer to a terminal device.
(ttyname_r()) buflen was too small to allow storing the pathname.


For an explanation of the terms used in this section, see attributes(7).

ttyname()Thread safetyMT-Unsafe race:ttyname
ttyname_r()Thread safetyMT-Safe

Conforming to

POSIX.1-2001, POSIX.1-2008, 4.2BSD.

See Also

fstat(2), ctermid(3), isatty(3)

Referenced By

ctermid(3), getttyent(3), getutent(3), isatty(3), openpty(3), ptsname(3), sessreg(1), ttyslot(3).

Explore man page connections for ttyname(3).

ttyname_r(3) is an alias of ttyname(3).