Identifying Terminals
=====================
The functions described in this chapter only work on files that
correspond to terminal devices. You can find out whether a file
descriptor is associated with a terminal by using the `isatty' function.
Prototypes for the functions in this section are declared in the
header file `unistd.h'.
- Function: int isatty (int FILEDES)
This function returns `1' if FILEDES is a file descriptor
associated with an open terminal device, and 0 otherwise.
If a file descriptor is associated with a terminal, you can get its
associated file name using the `ttyname' function. See also the
`ctermid' function, described in Note:Identifying the Terminal.
- Function: char * ttyname (int FILEDES)
If the file descriptor FILEDES is associated with a terminal
device, the `ttyname' function returns a pointer to a
statically-allocated, null-terminated string containing the file
name of the terminal file. The value is a null pointer if the
file descriptor isn't associated with a terminal, or the file name
cannot be determined.
- Function: int ttyname_r (int FILEDES, char *BUF, size_t LEN)
The `ttyname_r' function is similar to the `ttyname' function
except that it places its result into the user-specified buffer
starting at BUF with length LEN.
The normal return value from `ttyname_r' is 0. Otherwise an error
number is returned to indicate the error. The following `errno'
error conditions are defined for this function:
`EBADF'
The FILEDES argument is not a valid file descriptor.
`ENOTTY'
The FILEDES is not associated with a terminal.
`ERANGE'
The buffer length LEN is too small to store the string to be
returned.