Provided by: freebsd-manpages_12.2-1_all bug

NAME

       ng_h4 — Netgraph node type that is also an H4 line discipline

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 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.

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 level for the node.

       NGM_H4_NODE_SET_DEBUG
            This command takes an integer argument and sets current 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 maximum 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.

Debian                                            June 14, 2002                                         NG_H4(4)