PTS(4) | FreeBSD Kernel Interfaces Manual | PTS(4) |
名称
pts — 疑似端末ドライバ解説
pts ドライバは、 疑似端末 と呼ばれる 1 組のデバイスのサポートを行います。疑似端末は、1 組のキャラクタデバイス、 master (マスタ) デバイスと slave (スレーブ) デバイスです。スレーブデバイスは、プロセスに tty(4) で説明されたものと同じインタフェースを提供します。しかしながら、 tty(4) で説明されたインタフェースを提供するすべての他のデバイスには、それらの後ろにある種のハードウェアデバイスがあるのに対して、スレーブデバイスには、代わりに、疑似端末のマスタの半分を通して、それを操作する別のプロセスがあります。すなわち、マスタデバイスで書き込まれるものは何でも入力としてスレーブデバイスに与えられ、スレーブデバイスで書き込まれたものは何でもマスタデバイスで入力されるように表示されます。次の ioctl(2) 呼び出しは、疑似端末だけに適用されます:
- TIOCPKT
-
packet (パケット) モードを有効にする/無効にする。パケットモードは、0 でないパラメータを指定することによって (参照することによって) 有効にされ、0 のパラメータを指定することによって (参照することによって) 無効にされます。疑似端末のマスタ側に適用されるとき、それぞれその後の端末からの
read(2) は、(シンボル的に
TIOCPKT_DATA と定義される) 0 バイト、または制御状態情報を反映する単一バイトによって先行される、疑似端末のスレーブ部分で書き込まれたデータを返します。後者の場合は、バイトは、0 の以上のバイトを論理的な OR したものです:
- TIOCPKT_FLUSHREAD
- 端末の読み込みキューが、フラッシュされたときはいつも。
- TIOCPKT_FLUSHWRITE
- 端末の書き込みキューが、フラッシュされたときはいつも。
- TIOCPKT_STOP
-
端末への出力が、‘
^S
’のように停止されたときはいつも。 - TIOCPKT_START
- 端末への出力が、再開されるときはいつも。
- TIOCPKT_DOSTOP
-
VSTOP が‘
^S
’で VSTART が‘^Q
’あるときはいつも。 - TIOCPKT_NOSTOP
-
開始と停止文字が‘
^S/^Q
’でないときはいつも。
このモードが使用中である間、マスタ側から読み込まれる制御状態情報の存在は、例外的な条件のために select(2) によって検出されます。
このモードは、出力の適切な逆フラッシュでリモートログインをローカルに‘
^S/^Q
’フロー制御するリモートエコーを実装するために rlogin(1) と rlogind(8) によって使用されます。他の同様のプログラムによってそれを使用することできます。 - TIOCGPTN
- 疑似端末スレーブデバイスのファイル名を生成するために使用することができる、デバイスユニット番号を取得します。この ioctl(2) を直接使用するべきではありません。代わりに、 ptsname(3) 関数が、使用されるべきです。
- TIOCPTMASTER
- ファイル記述子が疑似端末マスタデバイスを指しているかどうか決定します。この ioctl(2) を直接使用するべきではありません。それは、 grantpt(3) のようなルーチンを実装するために使用されます。
関連ファイル
この疑似端末の実装によって使用されるファイルは、次の通りです:- /dev/pts/[num]
- 疑似端末スレーブデバイス。
診断
なし。歴史
疑似端末ドライバは、 4.2BSD で登場しました。 FreeBSD 8.0 で、それは、 pts ドライバに置き換えられました。August 20, 2008 | FreeBSD |