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 以降で提供されている。

準拠
posix_openpt() は UNIX 98 疑似端末サポート (pts(4) を参照) の一部である。 この関数は POSIX.1-2001 で指定されている。

注意
posix_openpt() 関数は POSIX において最近作られたものである。 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 プロジェクトのリリース 3.51 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man-pages/ に書かれている。