EN JA
NG_H4(4)
NG_H4(4) FreeBSD Kernel Interfaces Manual NG_H4(4)

名称

ng_h4H4 回線制御規則でもある netgraph ノードタイプ

書式

#include < sys/types.h>
#include < netgraph/bluetooth/include/ng_h4.h>

解説

h4 ノードタイプは、持続する netgraph ノードタイプと H4 回線制御規則の両方です。それは、Bluetooth Specification Book v1.1 の章 H4 によって Bluetooth HCI UART トランスポートレイヤ (層) を実装します。対応する回線制御規則 H4DISC が tty デバイス ( tty(4) 参照) に登録されるとき、新しいノードは、作成されます。

ノードは、 hook と呼ばれる単一のフックがあります。 tty デバイスで受信された着信バイトは、 HCI フレーム (長さに従って) に再組み立てされます。完全な HCI フレームは、フックで送信されます。 hook 上で受信された HCI フレームは、tty デバイスで送信されます。どちらの方向でもデータへの変更は行われません。回線制御規則は、tty でインストールされる間に、標準の読み込みと書き込み操作は、利用不可能で、 EIO が返されます。

ノードに関する情報は、netgraph ioctl(2) コマンド NGIOCGINFO を通して利用可能です。このコマンドは、 NGM_NODEINFO netgraph(4) コントロールメッセージと同様の struct nodeinfo を返します。

フック

このノードタイプは、次のフックをサポートします:
hook
単一の HCI フレームは、単一の mbuf 構造に含まれています。

コントロールメッセージ

このノードタイプは、次を加えて、一般的なコントロールメッセージをサポートします:
NGM_H4_NODE_RESET
ノードをリセットします。
NGM_H4_NODE_GET_STATE
ノードの現在の受信状態を返します。
NGM_H4_NODE_GET_DEBUG
ノードの現在のデバッグレベルを含む整数を返します。
NGM_H4_NODE_SET_DEBUG
このコマンドは、整数引数を取り、ノードに現在のデバッグレベルを設定します。
NGM_H4_NODE_GET_QLEN
ノードの現在の発信キューの長を返します。
NGM_H4_NODE_SET_QLEN
このコマンドは、整数引数を取り、ノードに発信キューの最大の長さを設定します。
NGM_H4_NODE_GET_STAT
次のようなノードの様々な統計値情報を返します: 送信されたバイト (フレーム) の数、受信されたバイト (フレーム) の数、および入力 (出力) エラーの数です。
NGM_H4_NODE_RESET_STAT
すべての統計値のカウンタを 0 にリセットします。

シャットダウン

対応するデバイスがクローズされている (または、回線制御規則がデバイス上でインストール解除されている) 場合、このノードは、シャットダウンします。

歴史

h4 ノードタイプは、 FreeBSD 5.0 で実装されました。

作者

Maksim Yevmenkin <m_evmenkin@yahoo.com>

バグ

このノードは、tty レイヤ (層) をロックするためにまだ spltty(9) を使用しています。これは、間違っています。
June 14, 2002 FreeBSD