POSIX_OPENPT(3)

名前
posix_openpt - 疑似端末 (pseudoterminal) デバイスをオープンする

書式
#include <stdlib.h>
#include <fcntl.h>

int posix_openpt(int flags);

    glibc 向けの機能検査マクロの要件 (feature_test_macros(7) 参照):

posix_openpt(): _XOPEN_SOURCE >= 600

説明
posix_openpt() 関数は使用されていない疑似端末マスタデバイスをオープンし、 そのデバイスを参照するために使うファイルディスクリプターを返す。

flags 引数は、以下のフラグのうち 0 個以上の OR をとったビットマスクである。

O_RDWR
    読み書きのためにデバイスをオープンする。 普通はこのフラグを指定する。

O_NOCTTY
    このデバイスをプロセスの制御端末としない。

返り値
成功した場合、 posix_openpt() は、未使用のファイルディスクリプターのうち最小の値のファイルディスクリプター (非負の整数) を返す。失敗した場合、-1 が返されて、エラーを示すために errno が設定される。

エラー
open(2) を参照すること。

バージョン
posix_openpt() の glibc でのサポートはバージョン 2.2.1 以降で提供されている。

属性
この節で使用されている用語の説明については、 attributes(7) を参照。
インターフェース | 属性 | 値
posix_openpt() | Thread safety | MT-Safe

準拠
POSIX.1-2001, POSIX.1-2008.

posix_openpt() は UNIX 98 疑似端末仕様の一部である。 pts(4) を参照。

注意
System V (別名 UNIX 98) 疑似端末をサポートする古い UNIX 実装の中には、この関数を持たないものもあるが、以下のように擬似端末多重デバイスをオープンすることで簡単に実装できる。

    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)

この文書について
この man ページは Linux man-pages プロジェクトのリリース 5.10 の一部である。プロジェクトの説明とバグ報告に関する情報は https://www.kernel.org/doc/man-pages/ に書かれている。