Provided by: manpages-ru-dev_4.18.1-1_all bug

ИМЯ

       ttyname, ttyname_r - возвращает имя терминала

LIBRARY

       Standard C library (libc, -lc)

СИНТАКСИС

       #include <unistd.h>

       char *ttyname(int fd);
       int ttyname_r(int fd, char buf[.buflen], size_t buflen);

ОПИСАНИЕ

       Функция  ttyname()  возвращает  указатель  на завершаемый нулевым символом путь устройства
       терминала, на котором был  открыт  файловый  дескриптор  fd,  или  NULL  в  случае  ошибки
       (например,  если  fd  не  подключен к терминалу). Возвращаемое значение может указывать на
       статические  данные,  которые  могут  быть  перезаписаны  при  следующем  вызове.  Функция
       ttyname_r() сохраняет имя пути в буфере buf длиной buflen.

ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ

       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.

ОШИБКИ

       EBADF  Неправильный дескриптор файла.

       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 мало для хранения имени пути.

АТРИБУТЫ

       Описание терминов данного раздела смотрите в attributes(7).

       ┌─────────────────────────────────────────┬──────────────────────┬────────────────────────┐
       │ИнтерфейсАтрибутЗначение               │
       ├─────────────────────────────────────────┼──────────────────────┼────────────────────────┤
       │ttyname()                                │ Безвредность в нитях │ MT-Unsafe race:ttyname │
       ├─────────────────────────────────────────┼──────────────────────┼────────────────────────┤
       │ttyname_r()                              │ Безвредность в нитях │ MT-Safe                │
       └─────────────────────────────────────────┴──────────────────────┴────────────────────────┘

СТАНДАРТЫ

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

ЗАМЕЧАНИЯ

       Процесс, сохранивший файловый дескриптор, указывающий на устройство pts(4),  открытым  при
       переключении  в  другое  пространство  имён  монтирования,  в  котором используется другой
       экземпляр /dev/ptmx, может неожиданно обнаружить, что существует путь устройства с тем  же
       именем  как  у  этого  файлового  дескриптора.  Однако  данный  путь  указывает  на другое
       устройство и поэтому  не  может  использоваться  для  доступа  к  устройству,  на  который
       указывает  файловый  дескриптор. Вызов ttyname() или ttyname_r() с файловым дескриптором в
       новом пространстве имён монтирования приведёт к  тому,  что  эти  функции  вернут  NULL  и
       присвоят errno значение ENODEV.

СМ. ТАКЖЕ

       tty(1), fstat(2), ctermid(3), isatty(3), pts(4)

ПЕРЕВОД

       Русский    перевод    этой    страницы    руководства    был    сделан   Azamat   Hackimov
       <azamat.hackimov@gmail.com>,  Dmitry  Bolkhovskikh  <d20052005@yandex.ru>,   Yuri   Kozlov
       <yuray@komyakino.ru> и Иван Павлов <pavia00@gmail.com>

       Этот  перевод  является  бесплатной  документацией;  прочитайте  Стандартную  общественную
       лицензию GNU версии 3 ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩ или более позднюю, чтобы
       узнать об условиях авторского права. Мы не несем НИКАКОЙ ОТВЕТСТВЕННОСТИ.

       Если  вы  обнаружите  ошибки  в  переводе этой страницы руководства, пожалуйста, отправьте
       электронное письмо на ⟨man-pages-ru-talks@lists.sourceforge.net⟩.