NAME
ttyname
,
ttyname_r
, isatty
—
get name of associated terminal (tty)
from file descriptor
LIBRARY
library “libc”
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 the system file descriptors for terminal type devices. These descriptors are not related to the standard I/OFILE
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.
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.
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 ALSO
HISTORY
The isatty
() and
ttyname
() functions appeared in
Version 7 AT&T UNIX. The
ttyname_r
() function appeared in
FreeBSD 6.0.