TTYNAME(3) BSD Library Functions Manual TTYNAME(3)NAME
ttyname, ttyname_r, isatty, ttyslot — 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);
int
ttyslot(void);
DESCRIPTION
These functions operate on the system file descriptors for terminal type
devices. These descriptors are not related to the standard I/O FILE
typedef, but refer to the special device files found in /dev and named
/dev/ttyxx and for which an entry exists in the initialization file
/etc/ttys. (See ttys(5).)
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 ttyslot() function fetches the current process' control terminal num‐
ber from the ttys(5) file entry.
RETURN VALUES
The isatty() function returns 1 if the file descriptor refers to a valid
terminal device and 0 otherwise.
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.
The ttyslot() function returns the unit number of the device file if
found; otherwise the value zero is returned.
FILES
/dev/∗
/etc/ttys
ERRORS
The ttyname(), ttyname_r(), and isatty() functions may fail and return
the following error codes:
[EBADF] The fd is not a valid open file descriptor.
[ENOTTY] The fd is not associated with a terminal.
[ERANGE] The bufsize argument is smaller than the length of the
string to be returned.
SEE ALSOioctl(2), ttys(5)HISTORY
The isatty(), ttyname(), and ttyslot() functions appeared in Version 7
AT&T UNIX. The ttyname_r() function appeared in FreeBSD 6.0.
BSD March 22, 2009 BSD