NAME | SYNOPSIS | DESCRIPTION | RETURN VALUE | ERRORS | ATTRIBUTES | CONFORMING TO | SEE ALSO | COLOPHON

TTYNAME(3)                Linux Programmer's Manual               TTYNAME(3)

NAME         top

       ttyname, ttyname_r - return name of a terminal

SYNOPSIS         top

       #include <unistd.h>

       char *ttyname(int fd);

       int ttyname_r(int fd, char *buf, size_t buflen);

DESCRIPTION         top

       The function ttyname() returns a pointer to the null-terminated
       pathname of the terminal device that is open on the file descriptor
       fd, or NULL on error (for example, if fd is not connected to a
       terminal).  The return value may point to static data, possibly
       overwritten by the next call.  The function ttyname_r() stores this
       pathname in the buffer buf of length buflen.

RETURN VALUE         top

       The function ttyname() returns a pointer to a pathname on success.
       On error, NULL is returned, and errno is set appropriately.  The
       function ttyname_r() returns 0 on success, and an error number upon
       error.

ERRORS         top

       EBADF  Bad file descriptor.

       ENOTTY File descriptor does not refer to a terminal device.

       ERANGE (ttyname_r()) buflen was too small to allow storing the
              pathname.

ATTRIBUTES         top

       For an explanation of the terms used in this section, see
       attributes(7).

       ┌────────────┬───────────────┬────────────────────────┐
       │Interface   Attribute     Value                  │
       ├────────────┼───────────────┼────────────────────────┤
       │ttyname()   │ Thread safety │ MT-Unsafe race:ttyname │
       ├────────────┼───────────────┼────────────────────────┤
       │ttyname_r() │ Thread safety │ MT-Safe                │
       └────────────┴───────────────┴────────────────────────┘

CONFORMING TO         top

       POSIX.1-2001, POSIX.1-2008, 4.2BSD.

SEE ALSO         top

       fstat(2), ctermid(3), isatty(3)

COLOPHON         top

       This page is part of release 4.07 of the Linux man-pages project.  A
       description of the project, information about reporting bugs, and the
       latest version of this page, can be found at
       https://www.kernel.org/doc/man-pages/.

Linux                            2015-08-08                       TTYNAME(3)