POSIX_OPENPT(2) | FreeBSD System Calls Manual | POSIX_OPENPT(2) |
名称
posix_openpt — 疑似端末デバイスをオープンするライブラリ
Standard C Library (libc, -lc)解説
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]
- 疑似端末リソースが不足しました。
規格
posix_openpt() 関数は、 IEEE Std 1003.1-2001 (“POSIX.1”) に適合しています。 O_CLOEXEC を使用する能力は、標準の拡張です。歴史
posix_openpt() 関数は、 FreeBSD 5.0 で登場しました。 FreeBSD 8.0 で、この関数は、システムコールに変わりました。注
フラグ O_NOCTTY は、互換性のために含まれています。 FreeBSD で、端末をオープンすることによって、それは、プロセスの制御端末となりません。作者
<ed@FreeBSD.org>March 21, 2013 | FreeBSD |