名前
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/ に書かれている。2020-08-13 |