ttyname_r()

Получить полный путь к файлу

Прототип:

#include <unistd.h>
int ttyname_r( int fildes,
char *name,
size_t namesize );

Аргументы:

fildes
Дескриптор файла, по которому необходимо получить имя.
name
Указатель на буфер, в котором функция может хранить путь.
namesize
Размер буфера.

Библиотека:

libc

Описание:

Функция ttyname_r() сохраняет нуль-терминированный полный путь терминала, связанного с файловым дескриптором fildes в буфер name. Буфер длиной namesize символов и должен быть достаточного размера для помещения в него имени и нуль-терминатора.

Возвращаемое значение:

0 при успешном выполнении или код ошибки.

Коды ошибок:

EAGAIN
Драйвер устройства использовался другим процессом, или драйвер не смог выполнить запрос из-за невыполненной команды.
EBADF
Некорректный аргумент fildes.
EINTR
Функция была прервана сигналом.
ENOSYS
Функция ttyname_r() не реализована для файловой системы, определяемой по filedes.
ENOTTY
Аргумент fildes не связан с терминалом.
EPERM
У процесса недостаточно прав для выполнения команды.
ERANGE
Значение namesize меньше, чем длина возвращаемой строки (включая нуль-терминатор).

Классификация:

POSIX 1003.1 Thread-Safe Functions

Безопасность использования
Точка остановки потока
Нет
Обработчик прерываний
Нет
Обработчик сигналов
Да
В потоке
Да

Тематические ссылки:

ctermid(), errno, setsid(), ttyname()




Предыдущий раздел: Описание API системной библиотеки