ttyname_r(3C)
NAME
ttyname, ttyname_r - find pathname of a terminal
SYNOPSIS
#include <unistd.h>
char *ttyname(int fildes);
char *ttyname_r(int fildes, char *name, int namelen);
POSIX
cc [ flag ...] file ... -D_POSIX_PTHREAD_SEMANTICS [ library ... ]
int ttyname_r(int fildes, char *name, size_t namesize);
DESCRIPTION
The ttyname() function returns a pointer to a string con-
taining the null-terminated path name of the terminal device
associated with file descriptor fildes. The return value
may point to static data whose content is overwritten by
each call.
The ttyname_r() function has the same functionality as
ttyname() except that the caller must supply a buffer name
with length namelen to store the result; this buffer must be
at least _POSIX_PATH_MAX in size (defined in <limits.h>).
The POSIX version (see standards(5)) of ttyname_r() takes a
namesize parameter of type size_t.
RETURN VALUES
Upon successful completion, ttyname() and ttyname_r() return
a pointer to a string. Otherwise, a null pointer is returned
and errno is set to indicate the error.
The POSIX ttyname_r() returns zero if successful, or the
error number upon failure.
ERRORS
The ttyname_r() function will fail if:
ERANGE
The size of the buffer is smaller than the result to
be returned.
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 dev-
ice.
FILES
/dev/*
device file
ATTRIBUTES
See attributes(5) for descriptions of the following attri-
butes:
____________________________________________________________
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
|_____________________________|_____________________________|
| MT-Level | See NOTES below. |
|_____________________________|_____________________________|
SEE ALSO
Intro(3), gettext(3C), setlocale(3C), attributes(5), stan-
dards(5)
NOTES
When compiling multithreaded programs, see Intro(3), Notes
On Multithreaded Applications.
If the application is linked with -lintl, then messages
printed from this function are in the native language speci-
fied by the LC_MESSAGES locale category; see setlocale(3C).
The return value points to static data whose content is
overwritten by each call.
The ttyname() is Unsafe in multithreaded applications. The
ttyname_r() function is MT-Safe, and should be used instead.
Solaris 2.4 and earlier releases provided definitions of the
ttyname_r() interface as specified in POSIX.1c Draft 6. The
final POSIX.1c standard changed the interface as described
above. Support for the Draft 6 interface is provided for
compatibility only and may not be supported in future
releases. New applications and libraries should use the
POSIX standard interface.
Man(1) output converted with
man2html