The
h4
node type is both a persistent Netgraph node type and a H4 line
discipline.
It implements a Bluetooth HCI UART transport layer as
per chapter H4 of the Bluetooth Specification Book v1.1.
A new node is created when the corresponding line discipline,
H4DISC,
is registered on a tty device (see
tty(4)).
The node has a single hook called
hook.
Incoming bytes received on the tty device are re-assembled into
HCI frames (according to the length).
Full HCI frames are sent out on the hook.
HCI frames received on
hook
are transmitted out on the tty device.
No modification to the data is performed in either direction.
While the line discipline is installed on a tty, the normal
read and write operations are unavailable, returning
EIO.
Information about the node is available via the netgraph
ioctl(2)
command
NGIOCGINFO.
This command returns a
struct nodeinfo
similar to the
NGM_NODEINFO
netgraph(4)
control message.