ttynamettyname_risattyttyslot
- get name of associated terminal (tty) from file descriptor
LIBRARY
Lb libc
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/OFILE
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).)
The
isatty ();
function
determines if the file descriptor
Fa 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 number from the
ttys(5)
file entry.
RETURN VALUES
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_r ();
may fail and return the following error codes:
Bq Er ENOTTY
The
Fa fd
argument
is not a valid file descriptor.
Bq Er ERANGE
The
Fa bufsize
argument
is smaller than the length of the string to be returned.