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