Provided by: manpages-ru-dev_4.26.0-1_all 

НАИМЕНОВАНИЕ
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)