名前

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/ に書かれている。

Recommended readings

Pages related to posix_openpt you should read also: