TCSENDBREAK(3)

名称
tcsendbreak, tcdrain, tcflush, tcflow - ライン制御関数

書式
#include <termios.h> int tcdrain(int fd) int tcflow(int fd, int action) int tcflush(int fd, int action) int tcsendbreak(int fd, int len)

解説
tcdrain() 関数は、 fd で参照される端末へ書込まれるすべての出力が端末に 転送されるまで待ちます。

tcflow() 関数は、 action の値に応じて、 fd で参照される端末へのデータの 送信またはその端末からのデータの受信を一時停止します。 action の値は、 次のいずれかでなければなりません：

TCOOFF
    出力を一時停止します。

TCOON
    一時停止した出力を再開します。

TCIOFF
    端末がシステムへのデータ送信を停止するように、 STOP キャラクタを送信します ( termios(4) の ‘Input Modes’ セクションの IXOFF の解説を 参照して下さい )。

TCION
    端末がシステムへのデータ送信を開始するように、 START キャラクタ を送信します ( termios(4) の ‘Input Modes’ セクションの IXOFF の解説を 参照してください )。

tcflush() 関数は、 fd で参照される端末へ書込まれるべきデータ であるがまだ端末に送信されていないすべてのデータ、またはその端末から 受信したデータであるがまだ読み込んでいないすべてのデータを、 action の値に 応じて廃棄します。 action の値は、次のいずれかでなければなりません：

TCIFLUSH
    受信したが読み込んでいないデータを捨てます。

TCOFLUSH
    書込んだが送信していないデータを捨てます。

TCIOFLUSH
    受信したが読み込んでいないデータ、および書込んだが 送信していないデータの両方を捨てます。

tcsendbreak() 関数は、ゼロ値ビットの連続ストリームを 0.4 秒間の間 fd で参照される端末へ送信します。 len パラメータは、このシステムでは無視されます。

戻り値
処理が成功すると、上記のすべての関数は値ゼロを返します。

エラー
エラーが起きた場合は -1 の値が返され、エラーを示すグローバル変数 errno が次のように設定されます：

[EBADF]
    引数 fd が有効なファイル記述子ではありません。

[EINVAL]
    引数 action の値が適当ではありません。

[ENOTTY]
    fd に結びつけられるファイルが端末ではありません。

[EINTR]
    tcdrain() 関数はシグナルにより中断されました。

参照
tcsetattr(3), termios(4)

規格
tcsendbreak() 、 tcdrain() 、 tcflush() および tcflow() 関数は、 p1003.1-88 規格に準拠していると考えられます。