xref: /linux/include/net/bluetooth/hci_mon.h (revision bea06c7c1b83bcd0519b91141999369eae6925bd)
1 /* SPDX-License-Identifier: GPL-2.0 */
2 /*
3    BlueZ - Bluetooth protocol stack for Linux
4 
5    Copyright (C) 2011-2012  Intel Corporation
6 
7    THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
8    OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
9    FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS.
10    IN NO EVENT SHALL THE COPYRIGHT HOLDER(S) AND AUTHOR(S) BE LIABLE FOR ANY
11    CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES
12    WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13    ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14    OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15 
16    ALL LIABILITY, INCLUDING LIABILITY FOR INFRINGEMENT OF ANY PATENTS,
17    COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS, RELATING TO USE OF THIS
18    SOFTWARE IS DISCLAIMED.
19 */
20 
21 #ifndef __HCI_MON_H
22 #define __HCI_MON_H
23 
24 struct hci_mon_hdr {
25 	__le16	opcode;
26 	__le16	index;
27 	__le16	len;
28 } __packed;
29 #define HCI_MON_HDR_SIZE 6
30 
31 #define HCI_MON_NEW_INDEX	0
32 #define HCI_MON_DEL_INDEX	1
33 #define HCI_MON_COMMAND_PKT	2
34 #define HCI_MON_EVENT_PKT	3
35 #define HCI_MON_ACL_TX_PKT	4
36 #define HCI_MON_ACL_RX_PKT	5
37 #define HCI_MON_SCO_TX_PKT	6
38 #define HCI_MON_SCO_RX_PKT	7
39 #define HCI_MON_OPEN_INDEX	8
40 #define HCI_MON_CLOSE_INDEX	9
41 #define HCI_MON_INDEX_INFO	10
42 #define HCI_MON_VENDOR_DIAG	11
43 #define HCI_MON_SYSTEM_NOTE	12
44 #define HCI_MON_USER_LOGGING	13
45 #define HCI_MON_CTRL_OPEN	14
46 #define HCI_MON_CTRL_CLOSE	15
47 #define HCI_MON_CTRL_COMMAND	16
48 #define HCI_MON_CTRL_EVENT	17
49 #define HCI_MON_ISO_TX_PKT	18
50 #define HCI_MON_ISO_RX_PKT	19
51 #define HCI_MON_DRV_TX_PKT	20
52 #define HCI_MON_DRV_RX_PKT	21
53 
54 struct hci_mon_new_index {
55 	__u8		type;
56 	__u8		bus;
57 	bdaddr_t	bdaddr;
58 	char		name[8] __nonstring;
59 } __packed;
60 #define HCI_MON_NEW_INDEX_SIZE 16
61 
62 struct hci_mon_index_info {
63 	bdaddr_t	bdaddr;
64 	__le16		manufacturer;
65 } __packed;
66 #define HCI_MON_INDEX_INFO_SIZE 8
67 
68 #endif /* __HCI_MON_H */
69