char
*
ttyname(
int fd
)
int
ttyname_r(
int fd
, char *buf
, size_t len
)
int
isatty(
int fd
)
int
ttyslot(
)
FILE
typedef, but refer to the special device files found in
/dev
and named
/dev/tty
xx
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).
/var/run/dev.db
database, if it exists.
If the database exists but is out of date, then these functions
may produce incorrect results.
The database should be updated using the
dev_mkdb(8)
command.
)
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.
/dev/*
/etc/ttys
),
ttyname_r(
),
and
isatty(
)
functions will fail if:
EBADF
]
fd
argument is not a valid file descriptor.
ENOTTY
]
fd
argument does not refer to a terminal device.
The
ttyname_r()
function will also fail if:
ERANGE
]
ENOENT
]
)
and
isatty(
)
functions conform to
ISO/IEC 9945-1:1990 (``POSIX.1'') .
),
ttyname(
),
and
ttyslot(
)
functions appeared in
Version 7 AT&T UNIX
.
)
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.