| TTYNAME(3) | Library Functions Manual | TTYNAME(3) | 
ttyname, ttyname_r,
  isatty, ttyslot —
#include <unistd.h>
char *
  
  ttyname(int
    fd);
int
  
  ttyname_r(int
    fd, char *buf,
    size_t len);
int
  
  isatty(int
    fd);
#include
    <stdlib.h>
int
  
  ttyslot(void);
FILE typedef, but refer to the special device files
  found in /dev and named
  /dev/ttyxx 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).
ttyname() 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.
ttyname(), ttyname_r(), and
  isatty() functions will fail if:
EBADF]ENOTTY]The ttyname_r() function will also fail
    if:
ttyname() and isatty()
  functions conform to IEEE Std 1003.1-1990
  (“POSIX.1”).
isatty(), ttyname(), and
  ttyslot() functions appeared in
  Version 7 AT&T UNIX.
ttyname() 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.
| June 1, 2012 | NetBSD 10.0 |