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