36#ifndef _NETGRAPH_BTSOCKET_H_
37#define _NETGRAPH_BTSOCKET_H_
43#define BLUETOOTH_PROTO_HCI 134
44#define BLUETOOTH_PROTO_L2CAP 135
45#define BLUETOOTH_PROTO_RFCOMM 136
46#define BLUETOOTH_PROTO_SCO 137
59#define SOL_HCI_RAW 0x0802
61#define SO_HCI_RAW_FILTER 1
62#define SO_HCI_RAW_DIRECTION 2
63#define SCM_HCI_RAW_DIRECTION SO_HCI_RAW_DIRECTION
85#define SIOC_HCI_RAW_NODE_GET_STATE \
86 _IOWR('b', NGM_HCI_NODE_GET_STATE, \
87 struct ng_btsocket_hci_raw_node_state)
90#define SIOC_HCI_RAW_NODE_INIT \
91 _IO('b', NGM_HCI_NODE_INIT)
97#define SIOC_HCI_RAW_NODE_GET_DEBUG \
98 _IOWR('b', NGM_HCI_NODE_GET_DEBUG, \
99 struct ng_btsocket_hci_raw_node_debug)
100#define SIOC_HCI_RAW_NODE_SET_DEBUG \
101 _IOWR('b', NGM_HCI_NODE_SET_DEBUG, \
102 struct ng_btsocket_hci_raw_node_debug)
108#define SIOC_HCI_RAW_NODE_GET_BUFFER \
109 _IOWR('b', NGM_HCI_NODE_GET_BUFFER, \
110 struct ng_btsocket_hci_raw_node_buffer)
116#define SIOC_HCI_RAW_NODE_GET_BDADDR \
117 _IOWR('b', NGM_HCI_NODE_GET_BDADDR, \
118 struct ng_btsocket_hci_raw_node_bdaddr)
124#define SIOC_HCI_RAW_NODE_GET_FEATURES \
125 _IOWR('b', NGM_HCI_NODE_GET_FEATURES, \
126 struct ng_btsocket_hci_raw_node_features)
132#define SIOC_HCI_RAW_NODE_GET_STAT \
133 _IOWR('b', NGM_HCI_NODE_GET_STAT, \
134 struct ng_btsocket_hci_raw_node_stat)
137#define SIOC_HCI_RAW_NODE_RESET_STAT \
138 _IO('b', NGM_HCI_NODE_RESET_STAT)
141#define SIOC_HCI_RAW_NODE_FLUSH_NEIGHBOR_CACHE \
142 _IO('b', NGM_HCI_NODE_FLUSH_NEIGHBOR_CACHE)
149#define SIOC_HCI_RAW_NODE_GET_NEIGHBOR_CACHE \
150 _IOWR('b', NGM_HCI_NODE_GET_NEIGHBOR_CACHE, \
151 struct ng_btsocket_hci_raw_node_neighbor_cache)
158#define SIOC_HCI_RAW_NODE_GET_CON_LIST \
159 _IOWR('b', NGM_HCI_NODE_GET_CON_LIST, \
160 struct ng_btsocket_hci_raw_con_list)
166#define SIOC_HCI_RAW_NODE_GET_LINK_POLICY_MASK \
167 _IOWR('b', NGM_HCI_NODE_GET_LINK_POLICY_SETTINGS_MASK, \
168 struct ng_btsocket_hci_raw_node_link_policy_mask)
169#define SIOC_HCI_RAW_NODE_SET_LINK_POLICY_MASK \
170 _IOWR('b', NGM_HCI_NODE_SET_LINK_POLICY_SETTINGS_MASK, \
171 struct ng_btsocket_hci_raw_node_link_policy_mask)
177#define SIOC_HCI_RAW_NODE_GET_PACKET_MASK \
178 _IOWR('b', NGM_HCI_NODE_GET_PACKET_MASK, \
179 struct ng_btsocket_hci_raw_node_packet_mask)
180#define SIOC_HCI_RAW_NODE_SET_PACKET_MASK \
181 _IOWR('b', NGM_HCI_NODE_SET_PACKET_MASK, \
182 struct ng_btsocket_hci_raw_node_packet_mask)
188#define SIOC_HCI_RAW_NODE_GET_ROLE_SWITCH \
189 _IOWR('b', NGM_HCI_NODE_GET_ROLE_SWITCH, \
190 struct ng_btsocket_hci_raw_node_role_switch)
191#define SIOC_HCI_RAW_NODE_SET_ROLE_SWITCH \
192 _IOWR('b', NGM_HCI_NODE_SET_ROLE_SWITCH, \
193 struct ng_btsocket_hci_raw_node_role_switch)
200#define SIOC_HCI_RAW_NODE_LIST_NAMES \
201 _IOWR('b', NGM_HCI_NODE_LIST_NAMES, \
202 struct ng_btsocket_hci_raw_node_list_names)
216#define SOL_SCO 0x0209
219#define SO_SCO_CONNINFO 2
242#if !defined(L2CAP_SOCKET_CHECKED) && !defined(_KERNEL)
243#warning "Make sure new member of socket address initialized"
247#define SOL_L2CAP 0x1609
249#define SO_L2CAP_IMTU 1
250#define SO_L2CAP_OMTU 2
251#define SO_L2CAP_IFLOW 3
252#define SO_L2CAP_OFLOW 4
253#define SO_L2CAP_FLUSH 5
254#define SO_L2CAP_ENCRYPTED 6
265#define SIOC_L2CAP_L2CA_PING \
266 _IOWR('b', NGM_L2CAP_L2CA_PING, \
267 struct ng_btsocket_l2cap_raw_ping)
276#define SIOC_L2CAP_L2CA_GET_INFO \
277 _IOWR('b', NGM_L2CAP_L2CA_GET_INFO, \
278 struct ng_btsocket_l2cap_raw_get_info)
284#define SIOC_L2CAP_NODE_GET_FLAGS \
285 _IOWR('b', NGM_L2CAP_NODE_GET_FLAGS, \
286 struct ng_btsocket_l2cap_raw_node_flags)
292#define SIOC_L2CAP_NODE_GET_DEBUG \
293 _IOWR('b', NGM_L2CAP_NODE_GET_DEBUG, \
294 struct ng_btsocket_l2cap_raw_node_debug)
295#define SIOC_L2CAP_NODE_SET_DEBUG \
296 _IOWR('b', NGM_L2CAP_NODE_SET_DEBUG, \
297 struct ng_btsocket_l2cap_raw_node_debug)
304#define SIOC_L2CAP_NODE_GET_CON_LIST \
305 _IOWR('b', NGM_L2CAP_NODE_GET_CON_LIST, \
306 struct ng_btsocket_l2cap_raw_con_list)
313#define SIOC_L2CAP_NODE_GET_CHAN_LIST \
314 _IOWR('b', NGM_L2CAP_NODE_GET_CHAN_LIST, \
315 struct ng_btsocket_l2cap_raw_chan_list)
322#define SIOC_L2CAP_NODE_GET_AUTO_DISCON_TIMO \
323 _IOWR('b', NGM_L2CAP_NODE_GET_AUTO_DISCON_TIMO, \
324 struct ng_btsocket_l2cap_raw_auto_discon_timo)
325#define SIOC_L2CAP_NODE_SET_AUTO_DISCON_TIMO \
326 _IOWR('b', NGM_L2CAP_NODE_SET_AUTO_DISCON_TIMO, \
327 struct ng_btsocket_l2cap_raw_auto_discon_timo)
352#define SOL_RFCOMM 0x0816
354#define SO_RFCOMM_MTU 1
355#define SO_RFCOMM_FC_INFO 2
361#define NG_BTSOCKET_HCI_RAW_NODE_TYPE "btsock_hci_raw"
362#define NG_BTSOCKET_L2CAP_RAW_NODE_TYPE "btsock_l2c_raw"
363#define NG_BTSOCKET_L2CAP_NODE_TYPE "btsock_l2c"
364#define NG_BTSOCKET_SCO_NODE_TYPE "btsock_sco"
370#define NG_BTSOCKET_ALERT_LEVEL 1
371#define NG_BTSOCKET_ERR_LEVEL 2
372#define NG_BTSOCKET_WARN_LEVEL 3
373#define NG_BTSOCKET_INFO_LEVEL 4
u_int16_t ng_hci_node_packet_mask_ep
u_int16_t ng_hci_node_debug_ep
#define NG_HCI_EVENT_MASK_SIZE
#define NG_HCI_FEATURES_SIZE
u_int16_t ng_hci_node_role_switch_ep
u_int16_t ng_hci_node_state_ep
u_int16_t ng_hci_node_link_policy_mask_ep
u_int16_t ng_l2cap_node_auto_discon_ep
u_int16_t ng_l2cap_node_flags_ep
u_int16_t ng_l2cap_node_debug_ep
ng_hci_node_con_ep * connections
u_int32_t num_connections
bitstr_t bit_decl(event_mask,(NG_HCI_EVENT_MASK_SIZE *8))
bitstr_t bit_decl(packet_mask, 32)
ng_hci_node_buffer_ep buffer
ng_hci_node_debug_ep debug
u_int8_t features[NG_HCI_FEATURES_SIZE]
ng_hci_node_link_policy_mask_ep policy_mask
ng_hci_node_neighbor_cache_entry_ep * entries
ng_hci_node_packet_mask_ep packet_mask
ng_hci_node_role_switch_ep role_switch
ng_hci_node_state_ep state
ng_l2cap_node_auto_discon_ep timeout
ng_l2cap_node_chan_ep * channels
u_int32_t num_connections
ng_l2cap_node_con_ep * connections
ng_l2cap_node_debug_ep debug
ng_l2cap_node_flags_ep flags
u_int8_t l2cap_bdaddr_type