ng_h4(4)
NAME
- ng_h4 - Netgraph node type that is also an H4 line disci
- pline
SYNOPSIS
#include <sys/types.h> #include <netgraph/bluetooth/include/ng_h4.h>
DESCRIPTION
- 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 reg
- istered on a
tty device (see tty(4)). - The node has a single hook called hook. Incoming bytes re
- ceived 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 re - ceived 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.
HOOKS
This node type supports the following hooks:
hook single HCI frame contained in single mbuf structure.
CONTROL MESSAGES
- This node type supports the generic control messages, plus
- the following:
- NGM_H4_NODE_RESET
- Reset the node.
- NGM_H4_NODE_GET_STATE
- Returns current receiving state for the node.
- NGM_H4_NODE_GET_DEBUG
- Returns an integer containing the current debug lev
- el for the
node. - NGM_H4_NODE_SET_DEBUG
- This command takes an integer argument and sets cur
- rent debug
level for the node. - NGM_H4_NODE_GET_QLEN
- Returns current length of outgoing queue for the
- node.
- NGM_H4_NODE_SET_QLEN
- This command takes an integer argument and sets max
- imum length of
outgoing queue for the node. - NGM_H4_NODE_GET_STAT
- Returns various statistic information for the node,
- such as: number of bytes (frames) sent, number of bytes (frames)
- received and
number of input (output) errors. - NGM_H4_NODE_RESET_STAT
- Reset all statistic counters to zero.
SHUTDOWN
- This node shuts down when the corresponding device is closed
- (or the line
discipline is uninstalled on the device).
SEE ALSO
ioctl(2), netgraph(4), tty(4), ngctl(8)
HISTORY
The h4 node type was implemented in FreeBSD 5.0.
AUTHORS
Maksim Yevmenkin <m_evmenkin@yahoo.com>
BUGS
- This node still uses spltty(9) to lock tty layer. This is
- wrong.
- BSD June 14, 2002