posix_openpt(3) Library Functions Manual posix_openpt(3)

ИМЯ

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

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) нуля или более следующих флагов:

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

ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ

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 или более позднюю, чтобы узнать об условиях авторского права. Мы не несем НИКАКОЙ ОТВЕТСТВЕННОСТИ.

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

20 июля 2023 г. Linux man-pages 6.05.01