EN JA
POSIX_OPENPT(2)
POSIX_OPENPT(2) FreeBSD System Calls Manual POSIX_OPENPT(2)

名称

posix_openpt疑似端末デバイスをオープンする

ライブラリ

Standard C Library (libc, -lc)

書式

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

int
posix_openpt( int oflag);

解説

posix_openpt() 関数は、新しい疑似端末を割り付けて、マスタデバイスで接続を確立します。スレーブデバイスは、 /dev/pts で作成されるものとします。疑似端末が割り付けられた後に、スレーブデバイスには、それを使用できる前に、適切なパーミッションがあるはずです ( grantpt(3) を参照)。 ptsname(3) を呼び出すことによって、スレーブデバイスの名前を決定することができます。

ファイル状態フラグとオープンファイル記述子のファイルアクセスモードは、 oflag の値にしたがって、設定されるものとします。 oflag のための値は、 < fcntl.h> で定義された次のリストからのフラグのビット単位の OR によって構成されます:

O_RDWR
読み込みと書き込みのためにオープンします。
O_NOCTTY
設定されるなら、 posix_openpt() によって、端末装置は、プロセスのための制御端末となりません。
O_CLOEXEC
新しいファイル記述子のための close-on-exec フラグを設定します。

posix_openpt() 関数は、 oflag が他の値を含んでいるとき、失敗します。

戻り値

成功して終了すれば、 posix_openpt() 関数は、新しい疑似端末デバイスを割り付けて、(マスタデバイスに接続される) ファイル記述子を表す負でない整数を返します。そうでなければ、-1 が返され、errno にエラーを示す値を設定します。

エラー

posix_openpt() 関数は、次の場合に失敗します:
[ ENFILE]
システムファイルテーブルが、満杯です。
[ EINVAL]
oflag の値が、有効ではありません。
[ EAGAIN]
疑似端末リソースが不足しました。

関連項目

pts(4), ptsname(3), tty(4)

規格

posix_openpt() 関数は、 IEEE Std 1003.1-2001 (“POSIX.1”) に適合しています。 O_CLOEXEC を使用する能力は、標準の拡張です。

歴史

posix_openpt() 関数は、 FreeBSD 5.0 で登場しました。 FreeBSD 8.0 で、この関数は、システムコールに変わりました。

フラグ O_NOCTTY は、互換性のために含まれています。 FreeBSD で、端末をオープンすることによって、それは、プロセスの制御端末となりません。

作者

Ed Schouten <ed@FreeBSD.org>
March 21, 2013 FreeBSD