grantpt(3)

ИМЯ
grantpt - разрешает доступ для подчинённому псевдотерминалу

LIBRARY
Standard C library (libc, -lc)

СИНТАКСИС
#include <stdlib.h>

int grantpt(int fd);

    Требования макроса тестирования свойств для glibc (см. feature_test_macros(7)):

grantpt():
    Since glibc 2.24:
        _XOPEN_SOURCE >= 500
    glibc 2.23 and earlier:
        _XOPEN_SOURCE

ОПИСАНИЕ
The grantpt() function changes the mode and owner of the slave pseudoterminal device corresponding to the master pseudoterminal referred to by the file descriptor fd. The user ID of the slave is set to the real UID of the calling process. The group ID is set to an unspecified value (e.g., tty). The mode of the slave is set to 0620 (crw--w----).

Поведение grantpt() не определено, если установлен обработчик сигналов для перехвата сигналов SIGCHLD.

ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ
When successful, grantpt() returns 0. Otherwise, it returns -1 and sets errno to indicate the error.

ОШИБКИ

EACCES
    Невозможно получить доступ к соответствующему подчинённому псевдотерминалу.

EBADF
    Аргумент fd не является правильным открытым файловым дескриптором.

EINVAL
    Значение fd корректно, но не связано с основным псевдотерминалом.

ВЕРСИИ
grantpt() is provided since glibc 2.1.

АТРИБУТЫ
Описание терминов данного раздела смотрите в attributes(7).
Интерфейс | Атрибут | Значение
grantpt() | Безвредность в нитях | MT-Safe locale

СТАНДАРТЫ
POSIX.1-2001, POSIX.1-2008.

ЗАМЕЧАНИЯ
Является частью поддержки псевдотерминалов UNIX 98 (смотрите pts(4)).

Многие системы реализуют эту функцию через вспомогательный исполняемый файл с установленным битом SUID, называемый «pt_chown». Благодаря файловой системе Linux devpts (начиная с Linux 2.2), ядро обычным образом устанавливает корректные значения владельца и права на подчинённый псевдотерминал когда открывается основной (posix_openpt(3)), поэтому grantpt() делать ничего не нужно. Таким образом, подобный вспомогательный файл не требуется ( и действительно, это значение пусто при сборке glibc, которая используется во многих системах).

СМ. ТАКЖЕ
open(2), posix_openpt(3), ptsname(3), unlockpt(3), pts(4), pty(7)

ПЕРЕВОД
Русский перевод этой страницы руководства был сделан Azamat Hackimov <azamat.hackimov@gmail.com>, Dmitry Bolkhovskikh <d20052005@yandex.ru>, Vladislav <ivladislavefimov@gmail.com>, Yuri Kozlov <yuray@komyakino.ru> и Иван Павлов <pavia00@gmail.com>

Этот перевод является бесплатной документацией; прочитайте Стандартную общественную лицензию GNU версии 3 (https://www.gnu.org/licenses/gpl-3.0.html) или более позднюю, чтобы узнать об условиях авторского права. Мы не несем НИКАКОЙ ОТВЕТСТВЕННОСТИ.

Если вы обнаружите ошибки в переводе этой страницы руководства, пожалуйста, отправьте электронное письмо на man-pages-ru-talks@lists.sourceforge.net.