TTYNAME(3) Library Functions Manual TTYNAME(3) NAME ttyname, ttyname_r, isatty – get name of associated terminal (tty) from file descriptor LIBRARY Standard C Library (libc, -lc) SYNOPSIS #include <unistd.h> char * ttyname(int fd); int ttyname_r(int fd, char *buf, size_t len); int isatty(int fd); DESCRIPTION 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. RETURN VALUES 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. ERRORS These functions may fail if: [EBADF] The fd argument is not a valid file descriptor. [ENOTTY] The file associated with fd is not a terminal. Additionally, ttyname_r() may fail if: [ERANGE] The bufsize argument is smaller than the length of the string to be returned. SEE ALSO ioctl(2), ptsname(3), tcgetattr(3), tty(4), ttys(5) HISTORY The isatty() and ttyname() functions appeared in Version 7 AT&T UNIX. The ttyname_r() function appeared in FreeBSD 6.0. macOS 15.2 July 18, 2014 macOS 15.2