вернуть имя терминала (return name of a terminal)
Имя (Name)
ttyname, ttyname_r - return name of a terminal
Синопсис (Synopsis)
#include <unistd.h>
char *ttyname(int
fd);
int ttyname_r(int
fd, char *
buf, size_t
buflen);
Описание (Description)
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)
The function ttyname
() returns a pointer to a pathname on
success. On error, NULL is returned, and errno is set to
indicate the error. The function ttyname_r
() returns 0 on
success, and an error number upon error.
Ошибки (Error)
EBADF
Bad file descriptor.
ENODEV
fd refers to a slave pseudoterminal device but the
corresponding pathname could not be found (see NOTES).
ENOTTY
fd does not refer to a terminal device.
ERANGE
(ttyname_r
()) buflen was too small to allow storing the
pathname.
Атрибуты (Attributes)
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)
POSIX.1-2001, POSIX.1-2008, 4.2BSD.
Примечание (Note)
A process that keeps a file descriptor that refers to a pts(4)
device open when switching to another mount namespace that uses a
different /dev/ptmx instance may still accidentally find that a
device path of the same name for that file descriptor exists.
However, this device path refers to a different device and thus
can't be used to access the device that the file descriptor
refers to. Calling ttyname
() or ttyname_r
() on the file
descriptor in the new mount namespace will cause these functions
to return NULL and set errno to ENODEV
.
Смотри также (See also)
tty(1), fstat(2), ctermid(3), isatty(3), pts(4)