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