日本語 man コマンド類 (ja-man-1.1j_5) と日本語 man ドキュメント (ja-man-doc-5.4 (5.4-RELEASE 用) など) をインストールすると、以下のような man コマンド閲覧、キーワード検索が コンソールからできるようになります。
4.11-RELEASE-K, 5.4-RELEASE-K, 5.5-RELEASE-K, 6.0-RELEASE-K から 6.4-RELEASE-K, 7.0-RELEASE-K から 7.4-RELEASE-K, 8.0-RELEASE-K から 8.4-RELEASE-K, 9.0-RELEASE-K から 9.3-RELEASE-K, 10.0-RELEASE-K から 10.3-RELEASE-K, 11.0-RELEASE-K から 11.4-RELEASE-K, 12.0-RELEASE-K, 12.1-RELEASE-K は、 プライベート版 (小金丸が編集してまとめたもの) ですが、 より多くの翻訳したファイルが含まれています。 (5.4-RELEASE-K から 6.4-RELEASE-K, 7.0-RELEASE-K から 7.4-RELEASE-K, 8.0-RELEASE-K から 8.4-RELEASE-K, 9.0-RELEASE-K から 9.3-RELEASE-K, 10.0-RELEASE-K から 10.3-RELEASE-K, 11.0-RELEASE-K から 11.4-RELEASE-K, 12.0-RELEASE-K から 12.4-RELEASE-K, 13.0-RELEASE-K から 13.3-RELEASE-K, 14.0-RELEASE-K から 14.1-RELEASE-K は、全翻訳済み)
13.3-STABLE-K, 15.0-CURRENT-K は現在、作成中で日々更新されています。
Table of Contents
TCSETATTR(3) FreeBSD ライブラリ関数マニュアル TCSETATTR(3) 名称 cfgetispeed, cfsetispeed, cfgetospeed, cfsetospeed, cfsetspeed, cfmakeraw, cfmakesane, tcgetattr, tcsetattr -- termios 構造体の操作 ライブラリ 標準 C ライブラリ (libc, -lc) 書式 #include <termios.h> speed_t cfgetispeed(const struct termios *t); int cfsetispeed(struct termios *t, speed_t speed); speed_t cfgetospeed(const struct termios *t); int cfsetospeed(struct termios *t, speed_t speed); int cfsetspeed(struct termios *t, speed_t speed); void cfmakeraw(struct termios *t); void cfmakesane(struct termios *t); int tcgetattr(int fd, struct termios *t); int tcsetattr(int fd, int action, const struct termios *t); 解説 cfmakeraw(), cfmakesane(), tcgetattr() と tcsetattr() 関数は、termios 構 造体を取得して、設定するために提供されています。 cfgetispeed(), cfsetispeed(), cfgetospeed(), cfsetospeed() と cfsetspeed() 関数は、termios 構造体のボーレート (通信速度) 値を取得して、 設定するために提供されています。以下に記述される端末での関数の効果は、 tcsetattr() 関数が呼び出されるまで、有効とならず、すべてのエラーも検出さ れません。termios 構造体に設定し、tcsetattr() に渡されるボーレートのため の特定の値には、特別な意味があります。これらは、tcsetattr() 関数を説明す るマニュアルページの部分で議論されます。 ボーレートの取得と設定 入力と出力のボーレートは、termios 構造体にあります。符号なしの整数 speed_t は、インクルードファイル <termios.h> で typedef されています。整 数の値は、表されているボーレートと直接対応しますが、次のシンボリック値 が、定義されています。 #define B0 0 #define B50 50 #define B75 75 #define B110 110 #define B134 134 #define B150 150 #define B200 200 #define B300 300 #define B600 600 #define B1200 1200 #define B1800 1800 #define B2400 2400 #define B4800 4800 #define B9600 9600 #define B19200 19200 #define B38400 38400 #ifndef _POSIX_SOURCE #define EXTA 19200 #define EXTB 38400 #endif /*_POSIX_SOURCE */ cfgetispeed() 関数は、tp によって参照される termios 構造体の入力ボーレー トを返します。 cfsetispeed() 関数は、tp によって参照される termios 構造体の入力ボーレー トを speed に設定します。 cfgetospeed() 関数は、tp によって参照される termios 構造体の出力ボーレー トを返します。 cfsetospeed() 関数は、tp によって参照される termios 構造体の出力ボーレー トを speed に設定します。 cfsetspeed() 関数は、tp によって参照される termios 構造体の入力と出力ボー レートの両方を speed に設定します。 成功して完成すると、関数 cfsetispeed(), cfsetospeed() と cfsetspeed() は、0 の値を返します。そうでなければ、-1 の値が返され、グローバル変数 errno は、エラーを示す値に設定されます。 TERMIOS 状態の取得と設定 このセクションは、一般的な端末のインタフェースを制御するために使用される 関数を説明しています。特有のコマンドのために特に断りのない限り、これらの 関数は、バックグラウンドプロセスによって使用を制限されます。これらの操作 を実行する試みは、プロセスグループに SIGTTOU シグナルを送ります。呼び出し ているプロセスが SIGTTOU シグナルをブロックするか、または無視するなら、プ ロセスは、操作を実行することを許可され、SIGTTOU シグナルは、送られませ ん。 すべての関数において、fd は、オープンしているファイル記述子ですが、関数 は、特定のファイル記述子に関連する単なるオープンしてるファイルの記述では なく、基本的な端末ファイルに影響します。 cfmakeraw() 関数は、``生 (raw) の I/O パス'' を与えられて、termios 構造体 に格納されたフラグをすべて入力と出力プロセスを無効にされている状態に設定 しますが、一方 cfmakesane() 関数は、新しく作成された端末デバイスのそれら に似た状態にそれらを設定します。この効果を反転する関数がないことに注意す るべきです。これは、再有効にされたいろいろな処理オプションがあり、正しい 方法が、関数 tcgetattr() を使用して現在の端末状態をスナップショットするア プリケーションのためであるので、cfmakeraw() または cfmakesane() とその後 の tcsetattr() で raw (生) または sane モードを設定して、次に前の端末状態 に戻るために、保存された状態で、別の tcsetattr() を使用します。 tcgetattr() 関数は、tp によって参照される termios 構造体の fd によって参 照される端末に関連するパラメータをコピーします。この関数は、バックグラウ ンドのプロセスから許可されますが、端末属性は、フォアグラウンドのプロセス によって、その後に変更されるかもしれません。 tcsetattr() 関数は、tp によって参照される termios 構造体から端末に関連す るパラメータを設定します。action 引数は、インクルードファイル <termios.h> で指定されるように、次の値を論理和 (or) することによって作成されます。 TCSANOW 変更は、直ちに起こります。 TCSADRAIN 変更は、fd に書き込まれるすべて出力が、端末に送信された後に起 こります。action のこの値は、出力に影響するパラメータを変更す るとき、使用されるべきです。 TCSAFLUSH 変更は、fd に書き込まれるすべて出力が、端末に送信された後に起 こります。さらに、受信されたが読み込まれなかった、あらゆる入力 は、破棄されます。 TCSASOFT この値が action 値に論理和 (or) されるなら、c_cflag, c_ispeed と c_ospeed フィールドの値は、無視されます。 0 のボーレートは、接続を終了するために使用されます。関数 tcsetattr() への 出力スピードとして 0 が指定されるなら、モデム制御は、端末を切断して、もは や、端末でアサート (有効な状態に) されません。 関数 tcsetattr() への入力スピードとして 0 が指定されるなら、入力ボーレー トは、出力ボーレートによって指定されるものと同じ値に設定されます。 tcsetattr() が、要求された変更のいずれかを行うことができないなら、それ は、-1 を返し、errno を設定します。そうでなければ、それは、行うことができ る要求された変更のすべてを行います。指定された入力と出力ボーレートが異な り、サポートされない組み合わせであるなら、どちらのボーレートも変更されま せん。 成功して完了すると、関数 tcgetattr() と tcsetattr() は、0 の値を返しま す。そうでなければ、それらは、-1 を返し、グローバル変数 errno は、次のよ うに、エラーを示す値に設定されます: [EBADF] tcgetattr() または tcsetattr() への fd 引数が、有効な ファイル記述子ではありませんでした。 [EINTR] tcsetattr() 関数は、シグナルによって割り込まれました。 [EINVAL] tcsetattr() 関数への action 引数が、有効ではなかった か、または、termios 構造体で表される属性をサポートされ ない値に変更することが行われました。 [ENOTTY] tcgetattr() または tcsetattr() への fd 引数に関連する ファイルが、端末ではありません。 関連項目 tcsendbreak(3), termios(4) 規格 cfgetispeed(), cfsetispeed(), cfgetospeed(), cfsetospeed(), tcgetattr() と tcsetattr() 関数は、IEEE Std 1003.1-1988 (``POSIX.1'') 仕様に準拠する ばずです。cfmakeraw(), cfmakesane() と cfsetspeed() 関数は、tcsetattr() 関数への TCSASOFT オプションと同様に IEEE Std 1003.1-1988 (``POSIX.1'') 仕様の拡張です。 FreeBSD 11.4 January 2, 1994 FreeBSD 11.4