tail head cat sleep
QR code linking to this page

Manual Pages  — TTYNAME


ttyname, ttyname_r, isatty – get name of associated terminal (tty) from file descriptor



Standard C Library (libc, -lc)


#include <unistd.h>

char *
ttyname(int fd);

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

isatty(int fd);


These functions operate on file descriptors for terminal type devices.

The isatty() function determines if the file descriptor fd refers to a valid terminal type device.

The ttyname() function gets the related device name of a file descriptor for which isatty() is true.

The ttyname() function returns the name stored in a static buffer which will be overwritten on subsequent calls. The ttyname_r() function takes a buffer and length as arguments to avoid this problem.


The isatty() function returns 1 if fd refers to a terminal type device; otherwise, it returns 0 and may set errno to indicate the error. The ttyname() function returns the null terminated name if the device is found and isatty() is true; otherwise a NULL pointer is returned. The ttyname_r() function returns 0 if successful. Otherwise an error number is returned.


These functions may fail if:
  The fd argument is not a valid file descriptor.
  The file associated with fd is not a terminal.

Additionally, ttyname_r() may fail if:
  The bufsize argument is smaller than the length of the string to be returned.


fdevname(3), ptsname(3), tcgetattr(3), tty(4)


The isatty() and ttyname() functions appeared in AT&T v7 . The ttyname_r() function appeared in FreeBSD 6.0 .

TTYNAME (3) July 18, 2014

tail head cat sleep
QR code linking to this page

Please direct any comments about this manual page service to Ben Bullock. Privacy policy.

I have a natural revulsion to any operating system that shows so little planning as to have to named all of its commands after digestive noises (awk, grep, fsck, nroff).