Получить полный путь к файлу
#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 системной библиотеки