TTYNAME(3) | Library Functions Manual | TTYNAME(3) |
ttyname
, ttyname_r
,
isatty
, ttyslot
—
#include <unistd.h>
char *
ttyname
(int
fd);
int
ttyname_r
(int
fd, char *buf,
size_t len);
int
isatty
(int
fd);
#include
<stdlib.h>
int
ttyslot
(void);
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)), or for pseudo-terminal
devices created in ptyfs and named
/dev/pts/n.
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_r
() is the reentrant version of
the above, and it places the results in buf. If there
is not enough space to place the results (indicated by
len), then it returns an error.
The ttyslot
() function fetches the current
process' control terminal number from the
ttys(5) file entry. If the
terminal is a pseudo-terminal, and there is no special entry in the
ttys(5) file for it, the slot
number returned is 1 + (last slot number) + minor(tty). This will return a
consistent and unique number for each pseudo-terminal device without
requiring one to enumerate all of them in
ttys(5).
ttyname
() function returns the NUL-terminated name
if the device is found and isatty
() is true; otherwise
a NULL
pointer is returned and
errno is set to indicate the error.
The ttyname_r
() functions returns 0 on
success and an error code on failure.
The isatty
() function returns 1 if
fd is associated with a terminal device; otherwise it
returns 0 and errno is set to indicate the error.
The ttyslot
() function returns the unit
number of the device file if found; otherwise the value zero is
returned.
ttyname
(), ttyname_r
(), and
isatty
() functions will fail if:
EBADF
]ENOTTY
]The ttyname_r
() function will also fail
if:
ttyname
() and isatty
()
functions conform to IEEE Std 1003.1-1990
(“POSIX.1”).
isatty
(), ttyname
(), and
ttyslot
() functions appeared in
Version 7 AT&T UNIX.
ttyname
() function leaves its result in an internal
static object and returns a pointer to that object. Subsequent calls to
ttyname
() will modify the same object.
June 1, 2012 | NetBSD 9.0 |