メインコンテンツまでスキップ

8. Encoding of Terminal Modes (端末モードの符号化)

8. Encoding of Terminal Modes (端末モードの符号化)​

すべての encoded terminal modes (pty 要求で渡される) はバイトストリームに符号化される. 符号化は異なる環境間で移植可能であることを意図している. ストリームは操作コードと引数の対からなり, 操作コードはバイト値である. 操作コード 1〜159 はそれぞれ単一の uint32 引数を持つ. 操作コード 160〜255 は未定義であり, 解析を停止させる (他のデータの後にのみ用いるべき). ストリームは操作コード TTY_OP_END (0x00) で終端する.

クライアントは知っているモードをすべてストリームに入れるべきであり, サーバは知らないモードを無視してよい. これにより少なくとも POSIX 風 tty インタフェースを使うシステム間である程度機械非依存性が得られる. 他のシステムもサポートできるが, クライアントはサーバ pty を妥当なモードにするために複数パラメータに妥当な値を入れる必要がある場合がある (サーバは未指定のモードビットを既定値のままにし, 意味のある組み合わせは一部に限られる).

操作コード値の命名は主に POSIX 端末モードフラグに従う. 以下の操作コード値が定義されている. 読みやすさのため十進で示すが, 実際はバイト値である.

opcodemnemonicdescription (説明)
0TTY_OP_ENDオプションの終端を示す.
1VINTR割り込み文字. なければ 255. 他の文字も同様. すべてのシステムでこれらがサポートされるわけではない.
2VQUIT終了文字 (POSIX では SIGQUIT).
3VERASEカーソル左の文字を消す.
4VKILL現在の入力行を打ち切る.
5VEOFEOF 文字 (端末から EOF を送る).
6VEOLCR や LF に加えての行末文字.
7VEOL2追加の行末文字.
8VSTART停止した出力を再開 (通常 control-Q).
9VSTOP出力を一時停止 (通常 control-S).
10VSUSP現在のプログラムを一時停止.
11VDSUSP別の一時停止文字.
12VREPRINT現在の入力行を再表示.
13VWERASEカーソル左の語を消す.
14VLNEXT次に打った文字を特殊文字でも文字通り入力
15VFLUSH出力をフラッシュする文字.
16VSWTCH別のシェル層に切り替え.
17VSTATUSシステム状態行 (負荷, コマンド, pid 等) を表示.
18VDISCARD端末出力のフラッシュのオンオフ.
30IGNPARパリティ無視フラグ. FALSE ならパラメータは 0, TRUE なら 1 とすべきである.
31PARMRKパリティとフレーミングエラーをマーク.
32INPCKパリティエラー検査を有効化.
33ISTRIP文字から第 8 ビットを取り除く.
34INLCR入力で NL を CR にマップ.
35IGNCR入力で CR を無視.
36ICRNL入力で CR を NL にマップ.
37IUCLC大文字を小文字に変換.
38IXON出力フロー制御を有効化.
39IXANYstop 後は任意の文字で再開.
40IXOFF入力フロー制御を有効化.
41IMAXBEL入力キューが満杯でベルを鳴らす.
50ISIGINTR, QUIT, [D]SUSP シグナルを有効化.
51ICANON入力行を正規化.
52XCASE小文字の前に "\" を付けて大文字の入出力を可能にする.
53ECHOエコーを有効化.
54ECHOE文字を視覚的に消す.
55ECHOKkill 文字で現在行を捨てる.
56ECHONLECHO がオフでも NL をエコー.
57NOFLSH割り込み後にフラッシュしない.
58TOSTOPバックグラウンドジョブの出力を止める.
59IEXTEN拡張を有効化.
60ECHOCTL制御文字を ^(Char) としてエコー.
61ECHOKE行 kill の視覚的消去.
62PENDIN保留中の入力を再入力.
70OPOST出力処理を有効化.
71OLCUC小文字を大文字に変換.
72ONLCRNL を CR-NL にマップ.
73OCRNL(出力) CR を改行に変換.
74ONOCR(出力) 改行を CR-改行に変換.
75ONLRET(出力) 改行で CR を実行.
90CS77 ビットモード.
91CS88 ビットモード.
92PARENBパリティ有効.
93PARODD奇パリティ, そうでなければ偶.
128TTY_OP_ISPEED入力ボーレート (ビット毎秒).
129TTY_OP_OSPEED出力ボーレート (ビット毎秒).