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

НАИМЕНОВАНИЕ

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

БИБЛИОТЕКА

       Стандартная библиотека языка C (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-2008.

ИСТОРИЯ

       POSIX.1-2001, 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> и Kirill Rekhov <krekhov.dev@gmail.com>

       Этот  перевод является свободной программной документацией; он распространяется на условиях общедоступной
       лицензии GNU (GNU General Public License - GPL, https://www.gnu.org/licenses/gpl-3.0.html  версии  3  или
       более поздней) в отношении авторского права, но БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ.

       Если  вы  обнаружите какие-либо ошибки в переводе этой страницы руководства, пожалуйста, сообщите об этом
       разработчику(ам)  по  его(их)  адресу(ам)  электронной  почты  или  по   адресу   списка рассылки русских
       переводчиков.

Справочные страницы Linux 6.9.1                   2 мая 2024 г.                                       ttyname(3)