標準/拡張機能 | C/C++ | 依存項目 |
---|---|---|
POSIX.1 |
両方 |
#define _POSIX_SOURCE
#include <termios.h>
int tcsendbreak(int fildes, int duration);
非同期逐次データ伝送を使用している端末 (fildes に 指示された) に中断条件を送信します。tcsendbreak() は、指定された duration に対して ゼロ・ビットの連続ストリームを送信します。tcsendbreak() は、BREAK を行に送信する通常の方法です。
tcsendbreak() が疑似端末に対して発行されると、この関数は無効に なります。
tcsendbreak() が、呼び出し元の制御端末に対して バックグラウンド・プロセス・グループから呼び出されると、プロセスが SIGTTOU を処理している方法によっては、SIGTTOU シグナル を生成できます。
SIGTTOU の処理 | システムの動作 |
---|---|
デフォルトまたはシグナル・ハンドラー | SIGTTOU シグナルが生成され、関数は実行されません。 tcsendbreak() は -1 を戻し、errno を EINTR に設定します。 |
無視またはブロック | SIGTTOU シグナルは送信されず、関数は正常に継続します。 |
正常に実行された場合、tcsendbreak() は 0 を戻します。
⁄* CELEBT08
This example breaks terminal transmission.
*⁄
#define _POSIX_SOURCE
#include <stdio.h>
#include <termios.h>
#include <unistd.h>
main() {
if (tcsendbreak(STDIN_FILENO, 100) != 0)
perror("tcsendbreak() error");
else
puts("break sent");
}