162306a36Sopenharmony_ci/*
262306a36Sopenharmony_ci   BlueZ - Bluetooth protocol stack for Linux
362306a36Sopenharmony_ci
462306a36Sopenharmony_ci   Copyright (C) 2011-2012  Intel Corporation
562306a36Sopenharmony_ci
662306a36Sopenharmony_ci   This program is free software; you can redistribute it and/or modify
762306a36Sopenharmony_ci   it under the terms of the GNU General Public License version 2 as
862306a36Sopenharmony_ci   published by the Free Software Foundation;
962306a36Sopenharmony_ci
1062306a36Sopenharmony_ci   THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
1162306a36Sopenharmony_ci   OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
1262306a36Sopenharmony_ci   FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS.
1362306a36Sopenharmony_ci   IN NO EVENT SHALL THE COPYRIGHT HOLDER(S) AND AUTHOR(S) BE LIABLE FOR ANY
1462306a36Sopenharmony_ci   CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES
1562306a36Sopenharmony_ci   WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
1662306a36Sopenharmony_ci   ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
1762306a36Sopenharmony_ci   OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
1862306a36Sopenharmony_ci
1962306a36Sopenharmony_ci   ALL LIABILITY, INCLUDING LIABILITY FOR INFRINGEMENT OF ANY PATENTS,
2062306a36Sopenharmony_ci   COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS, RELATING TO USE OF THIS
2162306a36Sopenharmony_ci   SOFTWARE IS DISCLAIMED.
2262306a36Sopenharmony_ci*/
2362306a36Sopenharmony_ci
2462306a36Sopenharmony_ci#ifndef __HCI_MON_H
2562306a36Sopenharmony_ci#define __HCI_MON_H
2662306a36Sopenharmony_ci
2762306a36Sopenharmony_cistruct hci_mon_hdr {
2862306a36Sopenharmony_ci	__le16	opcode;
2962306a36Sopenharmony_ci	__le16	index;
3062306a36Sopenharmony_ci	__le16	len;
3162306a36Sopenharmony_ci} __packed;
3262306a36Sopenharmony_ci#define HCI_MON_HDR_SIZE 6
3362306a36Sopenharmony_ci
3462306a36Sopenharmony_ci#define HCI_MON_NEW_INDEX	0
3562306a36Sopenharmony_ci#define HCI_MON_DEL_INDEX	1
3662306a36Sopenharmony_ci#define HCI_MON_COMMAND_PKT	2
3762306a36Sopenharmony_ci#define HCI_MON_EVENT_PKT	3
3862306a36Sopenharmony_ci#define HCI_MON_ACL_TX_PKT	4
3962306a36Sopenharmony_ci#define HCI_MON_ACL_RX_PKT	5
4062306a36Sopenharmony_ci#define HCI_MON_SCO_TX_PKT	6
4162306a36Sopenharmony_ci#define HCI_MON_SCO_RX_PKT	7
4262306a36Sopenharmony_ci#define HCI_MON_OPEN_INDEX	8
4362306a36Sopenharmony_ci#define HCI_MON_CLOSE_INDEX	9
4462306a36Sopenharmony_ci#define HCI_MON_INDEX_INFO	10
4562306a36Sopenharmony_ci#define HCI_MON_VENDOR_DIAG	11
4662306a36Sopenharmony_ci#define HCI_MON_SYSTEM_NOTE	12
4762306a36Sopenharmony_ci#define HCI_MON_USER_LOGGING	13
4862306a36Sopenharmony_ci#define HCI_MON_CTRL_OPEN	14
4962306a36Sopenharmony_ci#define HCI_MON_CTRL_CLOSE	15
5062306a36Sopenharmony_ci#define HCI_MON_CTRL_COMMAND	16
5162306a36Sopenharmony_ci#define HCI_MON_CTRL_EVENT	17
5262306a36Sopenharmony_ci#define HCI_MON_ISO_TX_PKT	18
5362306a36Sopenharmony_ci#define HCI_MON_ISO_RX_PKT	19
5462306a36Sopenharmony_ci
5562306a36Sopenharmony_cistruct hci_mon_new_index {
5662306a36Sopenharmony_ci	__u8		type;
5762306a36Sopenharmony_ci	__u8		bus;
5862306a36Sopenharmony_ci	bdaddr_t	bdaddr;
5962306a36Sopenharmony_ci	char		name[8] __nonstring;
6062306a36Sopenharmony_ci} __packed;
6162306a36Sopenharmony_ci#define HCI_MON_NEW_INDEX_SIZE 16
6262306a36Sopenharmony_ci
6362306a36Sopenharmony_cistruct hci_mon_index_info {
6462306a36Sopenharmony_ci	bdaddr_t	bdaddr;
6562306a36Sopenharmony_ci	__le16		manufacturer;
6662306a36Sopenharmony_ci} __packed;
6762306a36Sopenharmony_ci#define HCI_MON_INDEX_INFO_SIZE 8
6862306a36Sopenharmony_ci
6962306a36Sopenharmony_ci#endif /* __HCI_MON_H */
70