www.delorie.com/gnu/docs/glibc/libc_355.html   search  
 
Buy the book!


The GNU C Library

[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

17.1 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 27.7.1 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 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.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

  webmaster     delorie software   privacy  
  Copyright 2003   by The Free Software Foundation     Updated Jun 2003