Man Linux: Main Page and Category List

NAME

       ttyname, ttyname_r - find the pathname of a terminal

SYNOPSIS

       #include <unistd.h>

       char *ttyname(int fildes);

       int ttyname_r(int fildes, char *name, size_t namesize);

DESCRIPTION

       The  ttyname() function shall return a pointer to a string containing a
       null-terminated  pathname  of  the  terminal   associated   with   file
       descriptor  fildes.  The  return  value  may point to static data whose
       content is overwritten by each call.

       The ttyname() function need not be reentrant. A function  that  is  not
       required to be reentrant is not required to be thread-safe.

       The  ttyname_r()  function  shall store the null-terminated pathname of
       the  terminal  associated  with  the  file  descriptor  fildes  in  the
       character  array  referenced  by name. The array is namesize characters
       long and should have space  for  the  name  and  the  terminating  null
       character.   The   maximum   length  of  the  terminal  name  shall  be
       {TTY_NAME_MAX}.

RETURN VALUE

       Upon successful completion, ttyname()  shall  return  a  pointer  to  a
       string.  Otherwise,  a  null pointer shall be returned and errno set to
       indicate the error.

       If successful, the ttyname_r() function shall return  zero.  Otherwise,
       an error number shall be returned to indicate the error.

ERRORS

       The ttyname() function may fail if:

       EBADF  The fildes argument is not a valid file descriptor.

       ENOTTY The fildes argument does not refer to a terminal.

       The ttyname_r() function may fail if:

       EBADF  The fildes argument is not a valid file descriptor.

       ENOTTY The fildes argument does not refer to a terminal.

       ERANGE The  value  of namesize is smaller than the length of the string
              to be returned including the terminating null character.

       The following sections are informative.

EXAMPLES

       None.

APPLICATION USAGE

       None.

RATIONALE

       The term ‘‘terminal’’ is used instead of the historical term ‘‘terminal
       device’’ in order to avoid a reference to an undefined term.

       The  thread-safe  version  places  the terminal name in a user-supplied
       buffer and returns a non-zero value if it  fails.  The  non-thread-safe
       version  may  return  the  name  in  a  static  data  area  that may be
       overwritten by each call.

FUTURE DIRECTIONS

       None.

SEE ALSO

       The Base Definitions volume of IEEE Std 1003.1-2001, <unistd.h>

COPYRIGHT

       Portions of this text are reprinted and reproduced in  electronic  form
       from IEEE Std 1003.1, 2003 Edition, Standard for Information Technology
       -- Portable Operating System Interface (POSIX),  The  Open  Group  Base
       Specifications  Issue  6,  Copyright  (C) 2001-2003 by the Institute of
       Electrical and Electronics Engineers, Inc and The Open  Group.  In  the
       event of any discrepancy between this version and the original IEEE and
       The Open Group Standard, the original IEEE and The Open Group  Standard
       is  the  referee document. The original Standard can be obtained online
       at http://www.opengroup.org/unix/online.html .