Go to the first, previous, next, last section, table of contents.


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 @math{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 section Identifying the Controlling 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 @math{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.


Go to the first, previous, next, last section, table of contents.