本文に進む 日本−日本語
日本HPホーム 製品とサービス お客様サポート/ ダウンロード ソリューション ご購入の方法
≫ お問い合わせ
詳細検索オプション
日本HPホーム
HP-UX リファレンス: セクション 7 : デバイス特殊ファイルセクション 9 : 一般情報 > t

termiox(7)

HP-PB 専用
HP-UX 11i Version 2: September 2004
≫ 

テクニカル ドキュメント

PDF版
フィードバック
ここから本文が始まります

 ≫ 目次

 ≫ 索引

名称

termiox ― 拡張一般ターミナルインタフェース

構文

#include <sys/termiox.h>

ioctl (int fildes, int request, struct termiox * arg)

説明

拡張一般ターミナルインタフェースは、一般ターミナルインタフェースである termio(7) を補完するもので、非同期のハードウェアフロー制御と拡張された非同期の機能のローカルなインプリメンテーションをサポートします。いくつかのシステムはハードウェアの制限によりこれらの機能のすべてはサポートしていません。またある関数の使用ができないシステムもあります。このような場合は、そのビットは無視されます。これらの機能がサポートできる場合は、ここで説明するインタフェースを使用しなければなりません。

ハードウェアフロー制御モード

ハードウェアフロー制御は、termio の IXON, IXOFF および IXANY 文字フロー制御を補完するものです (詳しくは termio(7) を参照)。 文字フロー制御は、デバイス間のデータストリームに制御文字を挿入することによって、あるデバイスから他のデバイスへのデータの転送を制御するときに行われます。ハードウェアフロー制御は、非同期のインタフェースのワイヤ (回路) 上の電気的な信号を利用して、あるデバイスから他のデバイスへのデータの転送を制御するときに行われます。文字フロー制御とハードウェアフロー制御は同時に設定することができます。

非同期の全二重アプリケーションでは、Electronic Industries Association の EIA-232-D Request To Send (RTS) と Clear To Send (CTS) の回路が、ハードウェアフロー制御の方法として勧められています。

EIA-232-D 標準は単方向のハードウェアフロー制御のみを定めています。すなわち、Data Circuit-terminating Equipment あるいは Data Communications Equipment (DCE) は、データの転送を中断させる Data Terminal Equipment (DTE) を表しています。termiox インタフェースは単方向と双方向のハードウェアフロー制御をサポートしており、双方向フロー制御が可能な場合は、 DCE または DTE がインタフェースを通るデータの転送の中断を表します。

クロックモード

Isochronous フロー制御とクロックモード通信はサポートされていません。

ターミナルパラメータ

termiox インタフェースで使用されるデバイスの挙動を制御するパラメータは、 termiox 構造体で指定されます。この構造体は <sys/termiox.h> ヘッダファイルで定義されています。いくつかの ioctl() システムコール (詳しくは ioctl(5) を参照) は、この termiox 構造体を用いてパラメータのフェッチや変更を行います。 termiox 構造体次のメンバーを持ちます。

unsigned short x_hflag;     /* hardware flow control modes */ 
unsigned short x_cflag;     /* clock modes */ 
unsigned short x_rflag;     /* reserved modes */ 
unsigned short x_sflag;     /* spare local modes */ 

x_hflag フィールドはハードウェアフロー制御モードを表します。

  • RTSXOFF 0000001 入力時の RTS ハードウェアフロー制御を可能にします。

  • CTSXON 0000002 入力時の CTS ハードウェアフロー制御を可能にします。

RTS と CTS 回路は CCITT モデム接続 に影響されたものです。 RTS と CTS 回路は CCITT モデム接続とハードウェアフロー制御の両方に使われるため、 CCITT モデムとハードウェアフロー制御を同時に行うことはできません。

さまざまなハードウェアフロー制御の手法が、適当なビットをセットすることによって選択できます。例えば双方向 RTS/CTS フロー制御は RTSXOFF ビットと CTSXON ビットの両方をセットすることによって選択することができます。 単方向 CTS ハードウェアフロー制御は CTSXON ビットのみをセットすることによって選択することができます。

RTSXOFF がセットされている場合は、Request to Send (RTS) 回路 (ライン) が raise され、非同期のポートが入力を中断して欲しい場合は Request to Send (RTS) ラインが lower されます。 RTS ラインが lower された場合は、それに接続されたデバイスは RTS が raise されるまで出力を中断します。

CTSXON がセットされている場合は、Clear To Send (CTS) 回路 (ライン) が接続されたデバイスに raise されているときのみ、出力が行われます。 CTS ラインが接続されたデバイスに lower されているときは、 CTS が raise されるまで出力は中断されます。

termiox 構造体関連の IOCTL コマンド

termiox 構造体を使用する ioctl() システムコールは以下のような形式になります。

  • ioctl (fildes, command, arg)
    struct termiox *arg;

コマンドの形式は以下のとおりです。

TCGETX  

引き数は termiox 構造体へのポインタです。現在のターミナルパラメータがフェッチされてこの構造体にしまわれます。

TCSETX  

引き数は termiox 構造体へのポインタです。現在のターミナルパラメータがこの構造体で与えられた値に設定されます。変更はただちに行われます。以下のエラーが返される場合があります。

EINVAL 

ポートがハードウェアフロー制御をサポートしていません。

ENOTTY 

そのポートのファイル記述子は CCITT モードのアクセス用に設定されています。ハードウェアフロー制御は CCITT モードのデバイスでは利用できません。

TCSETXW  

引き数は termiox 構造体へのポインタです。現在のターミナルパラメータがこの構造体で与えられた値に設定されます。変更は出力キューにしまわれたすべての文字が転送された後に行われます。この形式は出力に影響を与えるパラメータを変更するときに使用されます。以下のエラーが返される場合があります。

EINVAL 

ポートがハードウェアフロー制御をサポートしていません。

ENOTTY 

そのポートのファイル記述子は CCITT モードのアクセス用に設定されています。ハードウェアフロー制御は CCITT モードのデバイスでは利用できません。

TCSETXF  

引き数は termiox 構造体へのポインタです。現在のターミナルパラメータがこの構造体で与えられた値に設定されます。変更は出力キューにしまわれたすべての文字が転送され、入力キューの中の文字が破棄された後に行われます。以下のエラーが返される場合があります。

EINVAL 

ポートがハードウェアフロー制御をサポートしていません。

ENOTTY 

そのポートのファイル記述子は CCITT モードのアクセス用に設定されています。ハードウェアフロー制御は CCITT モードのデバイスでは利用できません。

著者

termiox は HP と AT&T で開発されました。

ファイル

/dev/tty* あるいはその下のディレクトリのファイル

参照

ioctl(2), termio(7), modem(7)

印刷用画面へ
プライバシー 本サイト利用時の合意事項
© 1983-2004 Hewlett-Packard Development Company, L.P.