grantpt - разрешает доступ для подчинённому псевдотерминалу
grantpt(3)
разрешает доступ для подчинённому псевдотерминалу
ОБЗОР
#define _XOPEN_SOURCE /* смотрите feature_test_macros(7) */
#include <stdlib.h>
int grantpt(int fd);
ОПИСАНИЕ
Функция
grantpt() изменяет режим и владельца для устройства подчинённого
псевдотерминала, соответствующего основному псевдотерминалу, на который
ссылается
fd. Идентификатор пользователя подчинённого устанавливается в
действительный UID вызывающего процесса. Идентификатор группы
устанавливается в неопределенное значение (например,
tty). Права доступа
к подчинённому псевдотерминала назначаются как 0620 (crw--w----).
Поведение grantpt() не определено, если установлен обработчик сигналов
для перехвата сигналов SIGCHLD.
ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ
При успешном выполнении
grantpt() возвращает 0. Иначе возвращается -1 и
переменная
errno устанавливается соответствующим образом.
ОШИБКИ
EACCES
Невозможно получить доступ к соответствующему подчинённому псевдотерминалу.
EBADF
Аргумент fd не является правильным открытым файловым дескриптором.
EINVAL
Значение fd корректно, но не связано с основным псевдотерминалом.
ВЕРСИИ
Функция
grantpt() появилась в glibc начиная с версии 2.1.
АТРИБУТЫ
Описание терминов данного раздела смотрите в
attributes(7).
Интерфейс Атрибут Значение
grantpt()
безвредность в потоках: безвредно (MT-Safe locale)
СООТВЕТСТВИЕ СТАНДАРТАМ
POSIX.1-2001, POSIX.1-2008.
ЗАМЕЧАНИЯ
Это часть поддержки псевдотерминалов UNIX 98, смотрите
pts(4). Многие
системы реализуют эту функцию через вспомогательный исполняемый файл с
установленным битом SUID, называемую «pt_chown». Благодаря Linux devpts,
подобный вспомогательный файл не требуется.