posix_openpt(3)

ИМЯ
posix_openpt - открывает псевдо-терминальное устройство

LIBRARY
Standard C library (libc, -lc)

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

int posix_openpt(int flags);

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

posix_openpt():
    _XOPEN_SOURCE >= 600

ОПИСАНИЕ
Функция posix_openpt() открывает неиспользуемое главное псевдо-терминальное устройство, возвращая файловый дескриптор, который можно использовать для работы с устройством.

Аргумент flags представляет собой битовую маску из комбинации (OR) нуля или более следующих флагов:

O_RDWR
    Открыть устройство для чтения и записи. Обычно, указывается этот флаг.

O_NOCTTY
    Не делать данное устройство управляющим терминалом процесса.

ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ
On success, posix_openpt() returns a file descriptor (a nonnegative integer) which is the lowest numbered unused file descriptor. On failure, -1 is returned, and errno is set to indicate the error.

ОШИБКИ
Смотрите open(2).

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

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

ИСТОРИЯ
glibc 2.2.1. POSIX.1-2001.

It is part of the UNIX 98 pseudoterminal support (see pts(4)).

ЗАМЕЧАНИЯ
Some older UNIX implementations that support System V (aka UNIX 98) pseudoterminals don't have this function, but it can be easily implemented by opening the pseudoterminal multiplexor device:

    int
    posix_openpt(int flags)
    {
        return open("/dev/ptmx", flags);
    }

При вызове posix_openpt() создаётся путь для соответствующего подчинённого псевдо-терминального устройства. Путь подчинённого устройства можно получить с помощью ptsname(3). Путь подчинённого устройства существует только пока открыто главное устройство.

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

ПЕРЕВОД
Русский перевод этой страницы руководства был сделан Alexey, Azamat Hackimov <azamat.hackimov@gmail.com>, kogamatranslator49 <r.podarov@yandex.ru>, Kogan, Max Is <ismax799@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.