Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ tcflush(3V) — NEWS-os 4.2.1R

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

termio(4V)

tcgetattr(3V)

TCSENDBREAK(3V)  —  NEWS-OS Programmer’s Manual

名称

tcsendbreak, tcdrain, tcflush, tcflow − 端末の回線制御

形式

#include <termios.h>

int tcsendbreak(fd, duration)
int fd;
int duration;

int tcdrain(fd)
int fd;

int tcflush(fd, queue_selector)
int fd;
int queue_selector;

int tcflow(fd, action)
int fd;
int action;

解説

これらの関数は、非同期通信ポートをコントロールするための 汎用端末インターフェースを提供します。 より詳しい端末インターフェースについては、 termio(4V) を参照してください。 そのセクションには、同様の機能を実現するための ioctl の記述もあります。しかし、 ioctl よりここで述べるインターフェースを使用するようお薦めします。

もし、端末が非同期シリアルデータ転送を使っている場合、 tcsendbreak は指定された時間、値が 0 となる連続したビットを転送します。 ここで、 duration が 0 のとき、 tcsendbreak は 0.25 秒以上 0.5 秒以下、0 を値とするビットを送りだします。 duration が 0 でないときは duration∗N 秒間 0 を値とするビットを転送します。 ただし、 N は 0.25 以上 0.5 未満の値です。

端末が非同期シリアルデータ転送を使っていないときは、 tcsendbreak は何もせずに返ってきます。

tcdrain は、 fd に書き込まれたすべての出力が転送されるまで待ちます。

tcflush は、 fd に書き込まれたデータでまだ転送されていないものや、 受信したデータでまだ読み込まれていないものを queue_selector の値にしたがって捨てます。

• queue_selector が TCIFLUSH のときは、 受信データのうち読み込まれていないものをフラッシュします。

• queue_selector が TCOFLUSH のときは、 書き込まれたデータのうちまだ転送されていないものをフラッシュします。

• queue_selector が TCIOFLUSH のときは、 受信データのうちまだ読み込まれていないもの、 送信データのうちまだ転送されていないものの両方をフラッシュします。

tcflow は、 action の値に従って、 fd に対する送信データまたは受信データをサスペンドします。

• action が TCOOFF のとき、出力をサスペンドします。

• action が TCOON のとき、出力を再スタートします。

• action が TCIOFF のとき、システムは STOP 文字を送信します。 これにより、端末装置がシステムへデータを送信するのを停止させます。 (termio(4V) 参照)

• action が TCION のとき、システムは START 文字を送信します。 これにより、端末装置がシステムへデータを送信するのを開始させます。 (termio(4V) 参照)

端末ファイルのオープン時のデフォルトは、 入出力ともにサスペンド状態ではありません。

queue_selector と action で使用するシンボル定数は termios.h に定義されています。

リターン値

すべての関数は、成功の時は 0 を返します。 失敗の時は、−1 を返し、エラー番号を errno にセットします。

エラー

EBADF fd が正しいファイルディスクリプタではない。

ENOTTY fd のファイルが端末ではない。

EINTR シグナルで tcdrain が中断させられた。

EINVAL 端末がこの機能をサポートしていない。

EINVAL 引数 queue_selector または引数 action が正しい値ではない。

関連事項

termio(4V), tcgetattr(3V)

NEWS-OSRelease 4.2.1R

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026