/******************************************************************************
 *
 *  Copyright 1999-2014 Broadcom Corporation
 *
 *  Licensed under the Apache License, Version 2.0 (the "License");
 *  you may not use this file except in compliance with the License.
 *  You may obtain a copy of the License at:
 *
 *  http://www.apache.org/licenses/LICENSE-2.0
 *
 *  Unless required by applicable law or agreed to in writing, software
 *  distributed under the License is distributed on an "AS IS" BASIS,
 *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 *  See the License for the specific language governing permissions and
 *  limitations under the License.
 *
 ******************************************************************************/

#ifndef HCIDEFS_H
#define HCIDEFS_H

#include "stack/include/hci_error_code.h"

#define HCI_PROTO_VERSION 0x01     /* Version for BT spec 1.1          */
#define HCI_PROTO_VERSION_1_2 0x02 /* Version for BT spec 1.2          */
#define HCI_PROTO_VERSION_2_0 0x03 /* Version for BT spec 2.0          */
#define HCI_PROTO_VERSION_2_1 0x04 /* Version for BT spec 2.1 [Lisbon] */
#define HCI_PROTO_VERSION_3_0 0x05 /* Version for BT spec 3.0          */
#define HCI_PROTO_VERSION_4_0 0x06 /* Version for BT spec 4.0 [LE]     */
#define HCI_PROTO_VERSION_4_1 0x07 /* Version for BT spec 4.1          */
#define HCI_PROTO_VERSION_4_2 0x08 /* Version for BT spec 4.2          */
#define HCI_PROTO_VERSION_5_0 0x09 /* Version for BT spec 5.0          */
#define HCI_PROTO_VERSION_5_2 0x0B /* Version for BT spec 5.2          */

/*
 *  Definitions for HCI groups
*/
#define HCI_GRP_LINK_CONTROL_CMDS (0x01 << 10)       /* 0x0400 */
#define HCI_GRP_LINK_POLICY_CMDS (0x02 << 10)        /* 0x0800 */
#define HCI_GRP_HOST_CONT_BASEBAND_CMDS (0x03 << 10) /* 0x0C00 */
#define HCI_GRP_INFORMATIONAL_PARAMS (0x04 << 10)    /* 0x1000 */
#define HCI_GRP_STATUS_PARAMS (0x05 << 10)           /* 0x1400 */
#define HCI_GRP_TESTING_CMDS (0x06 << 10)            /* 0x1800 */
#define HCI_GRP_BLE_CMDS (0x08 << 10)               /* 0x2000 (LE Commands) */

#define HCI_GRP_VENDOR_SPECIFIC (0x3F << 10) /* 0xFC00 */

/*
 *  Definitions for Link Control Commands
*/
/* Following opcode is used only in command complete event for flow control */
#define HCI_COMMAND_NONE 0x0000

/* Commands of HCI_GRP_LINK_CONTROL_CMDS group */
#define HCI_INQUIRY (0x0001 | HCI_GRP_LINK_CONTROL_CMDS)
#define HCI_INQUIRY_CANCEL (0x0002 | HCI_GRP_LINK_CONTROL_CMDS)
#define HCI_PERIODIC_INQUIRY_MODE (0x0003 | HCI_GRP_LINK_CONTROL_CMDS)
#define HCI_EXIT_PERIODIC_INQUIRY_MODE (0x0004 | HCI_GRP_LINK_CONTROL_CMDS)
#define HCI_CREATE_CONNECTION (0x0005 | HCI_GRP_LINK_CONTROL_CMDS)
#define HCI_DISCONNECT (0x0006 | HCI_GRP_LINK_CONTROL_CMDS)
#define HCI_ADD_SCO_CONNECTION (0x0007 | HCI_GRP_LINK_CONTROL_CMDS)
#define HCI_CREATE_CONNECTION_CANCEL (0x0008 | HCI_GRP_LINK_CONTROL_CMDS)
#define HCI_ACCEPT_CONNECTION_REQUEST (0x0009 | HCI_GRP_LINK_CONTROL_CMDS)
#define HCI_REJECT_CONNECTION_REQUEST (0x000A | HCI_GRP_LINK_CONTROL_CMDS)
#define HCI_LINK_KEY_REQUEST_REPLY (0x000B | HCI_GRP_LINK_CONTROL_CMDS)
#define HCI_LINK_KEY_REQUEST_NEG_REPLY (0x000C | HCI_GRP_LINK_CONTROL_CMDS)
#define HCI_PIN_CODE_REQUEST_REPLY (0x000D | HCI_GRP_LINK_CONTROL_CMDS)
#define HCI_PIN_CODE_REQUEST_NEG_REPLY (0x000E | HCI_GRP_LINK_CONTROL_CMDS)
#define HCI_CHANGE_CONN_PACKET_TYPE (0x000F | HCI_GRP_LINK_CONTROL_CMDS)
#define HCI_AUTHENTICATION_REQUESTED (0x0011 | HCI_GRP_LINK_CONTROL_CMDS)
#define HCI_SET_CONN_ENCRYPTION (0x0013 | HCI_GRP_LINK_CONTROL_CMDS)
#define HCI_CHANGE_CONN_LINK_KEY (0x0015 | HCI_GRP_LINK_CONTROL_CMDS)
#define HCI_CENTRAL_LINK_KEY (0x0017 | HCI_GRP_LINK_CONTROL_CMDS)
#define HCI_RMT_NAME_REQUEST (0x0019 | HCI_GRP_LINK_CONTROL_CMDS)
#define HCI_RMT_NAME_REQUEST_CANCEL (0x001A | HCI_GRP_LINK_CONTROL_CMDS)
#define HCI_READ_RMT_FEATURES (0x001B | HCI_GRP_LINK_CONTROL_CMDS)
#define HCI_READ_RMT_EXT_FEATURES (0x001C | HCI_GRP_LINK_CONTROL_CMDS)
#define HCI_READ_RMT_VERSION_INFO (0x001D | HCI_GRP_LINK_CONTROL_CMDS)
#define HCI_READ_RMT_CLOCK_OFFSET (0x001F | HCI_GRP_LINK_CONTROL_CMDS)
#define HCI_READ_LMP_HANDLE (0x0020 | HCI_GRP_LINK_CONTROL_CMDS)
#define HCI_SETUP_ESCO_CONNECTION (0x0028 | HCI_GRP_LINK_CONTROL_CMDS)
#define HCI_ACCEPT_ESCO_CONNECTION (0x0029 | HCI_GRP_LINK_CONTROL_CMDS)
#define HCI_REJECT_ESCO_CONNECTION (0x002A | HCI_GRP_LINK_CONTROL_CMDS)
#define HCI_IO_CAPABILITY_REQUEST_REPLY (0x002B | HCI_GRP_LINK_CONTROL_CMDS)
#define HCI_USER_CONF_REQUEST_REPLY (0x002C | HCI_GRP_LINK_CONTROL_CMDS)
#define HCI_USER_CONF_VALUE_NEG_REPLY (0x002D | HCI_GRP_LINK_CONTROL_CMDS)
#define HCI_USER_PASSKEY_REQ_REPLY (0x002E | HCI_GRP_LINK_CONTROL_CMDS)
#define HCI_USER_PASSKEY_REQ_NEG_REPLY (0x002F | HCI_GRP_LINK_CONTROL_CMDS)
#define HCI_REM_OOB_DATA_REQ_REPLY (0x0030 | HCI_GRP_LINK_CONTROL_CMDS)
#define HCI_REM_OOB_DATA_REQ_NEG_REPLY (0x0033 | HCI_GRP_LINK_CONTROL_CMDS)
#define HCI_IO_CAP_REQ_NEG_REPLY (0x0034 | HCI_GRP_LINK_CONTROL_CMDS)

/* AMP HCI */
#define HCI_CREATE_PHYSICAL_LINK (0x0035 | HCI_GRP_LINK_CONTROL_CMDS)
#define HCI_ACCEPT_PHYSICAL_LINK (0x0036 | HCI_GRP_LINK_CONTROL_CMDS)
#define HCI_DISCONNECT_PHYSICAL_LINK (0x0037 | HCI_GRP_LINK_CONTROL_CMDS)
#define HCI_CREATE_LOGICAL_LINK (0x0038 | HCI_GRP_LINK_CONTROL_CMDS)
#define HCI_ACCEPT_LOGICAL_LINK (0x0039 | HCI_GRP_LINK_CONTROL_CMDS)
#define HCI_DISCONNECT_LOGICAL_LINK (0x003A | HCI_GRP_LINK_CONTROL_CMDS)
#define HCI_LOGICAL_LINK_CANCEL (0x003B | HCI_GRP_LINK_CONTROL_CMDS)
#define HCI_FLOW_SPEC_MODIFY (0x003C | HCI_GRP_LINK_CONTROL_CMDS)

#define HCI_ENH_SETUP_ESCO_CONNECTION (0x003D | HCI_GRP_LINK_CONTROL_CMDS)
#define HCI_ENH_ACCEPT_ESCO_CONNECTION (0x003E | HCI_GRP_LINK_CONTROL_CMDS)

/* ConnectionLess Broadcast */
#define HCI_TRUNCATED_PAGE (0x003F | HCI_GRP_LINK_CONTROL_CMDS)
#define HCI_TRUNCATED_PAGE_CANCEL (0x0040 | HCI_GRP_LINK_CONTROL_CMDS)
#define HCI_SET_CLB (0x0041 | HCI_GRP_LINK_CONTROL_CMDS)
#define HCI_RECEIVE_CLB (0x0042 | HCI_GRP_LINK_CONTROL_CMDS)
#define HCI_START_SYNC_TRAIN (0x0043 | HCI_GRP_LINK_CONTROL_CMDS)
#define HCI_RECEIVE_SYNC_TRAIN (0x0044 | HCI_GRP_LINK_CONTROL_CMDS)

#define HCI_LINK_CTRL_CMDS_FIRST HCI_INQUIRY
#define HCI_LINK_CTRL_CMDS_LAST HCI_RECEIVE_SYNC_TRAIN

/* Commands of HCI_GRP_LINK_POLICY_CMDS */
#define HCI_HOLD_MODE (0x0001 | HCI_GRP_LINK_POLICY_CMDS)
#define HCI_SNIFF_MODE (0x0003 | HCI_GRP_LINK_POLICY_CMDS)
#define HCI_EXIT_SNIFF_MODE (0x0004 | HCI_GRP_LINK_POLICY_CMDS)
#define HCI_PARK_MODE (0x0005 | HCI_GRP_LINK_POLICY_CMDS)
#define HCI_EXIT_PARK_MODE (0x0006 | HCI_GRP_LINK_POLICY_CMDS)
#define HCI_QOS_SETUP (0x0007 | HCI_GRP_LINK_POLICY_CMDS)
#define HCI_ROLE_DISCOVERY (0x0009 | HCI_GRP_LINK_POLICY_CMDS)
#define HCI_SWITCH_ROLE (0x000B | HCI_GRP_LINK_POLICY_CMDS)
#define HCI_READ_POLICY_SETTINGS (0x000C | HCI_GRP_LINK_POLICY_CMDS)
#define HCI_WRITE_POLICY_SETTINGS (0x000D | HCI_GRP_LINK_POLICY_CMDS)
#define HCI_READ_DEF_POLICY_SETTINGS (0x000E | HCI_GRP_LINK_POLICY_CMDS)
#define HCI_WRITE_DEF_POLICY_SETTINGS (0x000F | HCI_GRP_LINK_POLICY_CMDS)
#define HCI_FLOW_SPECIFICATION (0x0010 | HCI_GRP_LINK_POLICY_CMDS)
#define HCI_SNIFF_SUB_RATE (0x0011 | HCI_GRP_LINK_POLICY_CMDS)

#define HCI_LINK_POLICY_CMDS_FIRST HCI_HOLD_MODE
#define HCI_LINK_POLICY_CMDS_LAST HCI_SNIFF_SUB_RATE

/* Commands of HCI_GRP_HOST_CONT_BASEBAND_CMDS */
#define HCI_SET_EVENT_MASK (0x0001 | HCI_GRP_HOST_CONT_BASEBAND_CMDS)
#define HCI_RESET (0x0003 | HCI_GRP_HOST_CONT_BASEBAND_CMDS)
#define HCI_SET_EVENT_FILTER (0x0005 | HCI_GRP_HOST_CONT_BASEBAND_CMDS)
#define HCI_FLUSH (0x0008 | HCI_GRP_HOST_CONT_BASEBAND_CMDS)
#define HCI_READ_PIN_TYPE (0x0009 | HCI_GRP_HOST_CONT_BASEBAND_CMDS)
#define HCI_WRITE_PIN_TYPE (0x000A | HCI_GRP_HOST_CONT_BASEBAND_CMDS)
#define HCI_GET_MWS_TRANS_LAYER_CFG (0x000C | HCI_GRP_HOST_CONT_BASEBAND_CMDS)
#define HCI_READ_STORED_LINK_KEY (0x000D | HCI_GRP_HOST_CONT_BASEBAND_CMDS)
#define HCI_WRITE_STORED_LINK_KEY (0x0011 | HCI_GRP_HOST_CONT_BASEBAND_CMDS)
#define HCI_DELETE_STORED_LINK_KEY (0x0012 | HCI_GRP_HOST_CONT_BASEBAND_CMDS)
#define HCI_CHANGE_LOCAL_NAME (0x0013 | HCI_GRP_HOST_CONT_BASEBAND_CMDS)
#define HCI_READ_LOCAL_NAME (0x0014 | HCI_GRP_HOST_CONT_BASEBAND_CMDS)
#define HCI_READ_CONN_ACCEPT_TOUT (0x0015 | HCI_GRP_HOST_CONT_BASEBAND_CMDS)
#define HCI_WRITE_CONN_ACCEPT_TOUT (0x0016 | HCI_GRP_HOST_CONT_BASEBAND_CMDS)
#define HCI_READ_PAGE_TOUT (0x0017 | HCI_GRP_HOST_CONT_BASEBAND_CMDS)
#define HCI_WRITE_PAGE_TOUT (0x0018 | HCI_GRP_HOST_CONT_BASEBAND_CMDS)
#define HCI_READ_SCAN_ENABLE (0x0019 | HCI_GRP_HOST_CONT_BASEBAND_CMDS)
#define HCI_WRITE_SCAN_ENABLE (0x001A | HCI_GRP_HOST_CONT_BASEBAND_CMDS)
#define HCI_READ_PAGESCAN_CFG (0x001B | HCI_GRP_HOST_CONT_BASEBAND_CMDS)
#define HCI_WRITE_PAGESCAN_CFG (0x001C | HCI_GRP_HOST_CONT_BASEBAND_CMDS)
#define HCI_READ_INQUIRYSCAN_CFG (0x001D | HCI_GRP_HOST_CONT_BASEBAND_CMDS)
#define HCI_WRITE_INQUIRYSCAN_CFG (0x001E | HCI_GRP_HOST_CONT_BASEBAND_CMDS)
#define HCI_READ_AUTHENTICATION_ENABLE \
  (0x001F | HCI_GRP_HOST_CONT_BASEBAND_CMDS)
#define HCI_WRITE_AUTHENTICATION_ENABLE \
  (0x0020 | HCI_GRP_HOST_CONT_BASEBAND_CMDS)
#define HCI_READ_ENCRYPTION_MODE (0x0021 | HCI_GRP_HOST_CONT_BASEBAND_CMDS)
#define HCI_WRITE_ENCRYPTION_MODE (0x0022 | HCI_GRP_HOST_CONT_BASEBAND_CMDS)
#define HCI_READ_CLASS_OF_DEVICE (0x0023 | HCI_GRP_HOST_CONT_BASEBAND_CMDS)
#define HCI_WRITE_CLASS_OF_DEVICE (0x0024 | HCI_GRP_HOST_CONT_BASEBAND_CMDS)
#define HCI_READ_VOICE_SETTINGS (0x0025 | HCI_GRP_HOST_CONT_BASEBAND_CMDS)
#define HCI_WRITE_VOICE_SETTINGS (0x0026 | HCI_GRP_HOST_CONT_BASEBAND_CMDS)
#define HCI_READ_AUTOMATIC_FLUSH_TIMEOUT \
  (0x0027 | HCI_GRP_HOST_CONT_BASEBAND_CMDS)
#define HCI_WRITE_AUTOMATIC_FLUSH_TIMEOUT \
  (0x0028 | HCI_GRP_HOST_CONT_BASEBAND_CMDS)
#define HCI_READ_NUM_BCAST_REXMITS (0x0029 | HCI_GRP_HOST_CONT_BASEBAND_CMDS)
#define HCI_WRITE_NUM_BCAST_REXMITS (0x002A | HCI_GRP_HOST_CONT_BASEBAND_CMDS)
#define HCI_READ_HOLD_MODE_ACTIVITY (0x002B | HCI_GRP_HOST_CONT_BASEBAND_CMDS)
#define HCI_WRITE_HOLD_MODE_ACTIVITY (0x002C | HCI_GRP_HOST_CONT_BASEBAND_CMDS)
#define HCI_READ_TRANSMIT_POWER_LEVEL (0x002D | HCI_GRP_HOST_CONT_BASEBAND_CMDS)
#define HCI_READ_SCO_FLOW_CTRL_ENABLE (0x002E | HCI_GRP_HOST_CONT_BASEBAND_CMDS)
#define HCI_WRITE_SCO_FLOW_CTRL_ENABLE \
  (0x002F | HCI_GRP_HOST_CONT_BASEBAND_CMDS)
#define HCI_SET_HC_TO_HOST_FLOW_CTRL (0x0031 | HCI_GRP_HOST_CONT_BASEBAND_CMDS)
#define HCI_HOST_BUFFER_SIZE (0x0033 | HCI_GRP_HOST_CONT_BASEBAND_CMDS)
#define HCI_HOST_NUM_PACKETS_DONE (0x0035 | HCI_GRP_HOST_CONT_BASEBAND_CMDS)
#define HCI_READ_LINK_SUPER_TOUT (0x0036 | HCI_GRP_HOST_CONT_BASEBAND_CMDS)
#define HCI_WRITE_LINK_SUPER_TOUT (0x0037 | HCI_GRP_HOST_CONT_BASEBAND_CMDS)
#define HCI_READ_NUM_SUPPORTED_IAC (0x0038 | HCI_GRP_HOST_CONT_BASEBAND_CMDS)
#define HCI_READ_CURRENT_IAC_LAP (0x0039 | HCI_GRP_HOST_CONT_BASEBAND_CMDS)
#define HCI_WRITE_CURRENT_IAC_LAP (0x003A | HCI_GRP_HOST_CONT_BASEBAND_CMDS)
#define HCI_READ_PAGESCAN_PERIOD_MODE (0x003B | HCI_GRP_HOST_CONT_BASEBAND_CMDS)
#define HCI_WRITE_PAGESCAN_PERIOD_MODE \
  (0x003C | HCI_GRP_HOST_CONT_BASEBAND_CMDS)
#define HCI_READ_PAGESCAN_MODE (0x003D | HCI_GRP_HOST_CONT_BASEBAND_CMDS)
#define HCI_WRITE_PAGESCAN_MODE (0x003E | HCI_GRP_HOST_CONT_BASEBAND_CMDS)
#define HCI_SET_AFH_CHANNELS (0x003F | HCI_GRP_HOST_CONT_BASEBAND_CMDS)

#define HCI_READ_INQSCAN_TYPE (0x0042 | HCI_GRP_HOST_CONT_BASEBAND_CMDS)
#define HCI_WRITE_INQSCAN_TYPE (0x0043 | HCI_GRP_HOST_CONT_BASEBAND_CMDS)
#define HCI_READ_INQUIRY_MODE (0x0044 | HCI_GRP_HOST_CONT_BASEBAND_CMDS)
#define HCI_WRITE_INQUIRY_MODE (0x0045 | HCI_GRP_HOST_CONT_BASEBAND_CMDS)
#define HCI_READ_PAGESCAN_TYPE (0x0046 | HCI_GRP_HOST_CONT_BASEBAND_CMDS)
#define HCI_WRITE_PAGESCAN_TYPE (0x0047 | HCI_GRP_HOST_CONT_BASEBAND_CMDS)
#define HCI_READ_AFH_ASSESSMENT_MODE (0x0048 | HCI_GRP_HOST_CONT_BASEBAND_CMDS)
#define HCI_WRITE_AFH_ASSESSMENT_MODE (0x0049 | HCI_GRP_HOST_CONT_BASEBAND_CMDS)
#define HCI_READ_EXT_INQ_RESPONSE (0x0051 | HCI_GRP_HOST_CONT_BASEBAND_CMDS)
#define HCI_WRITE_EXT_INQ_RESPONSE (0x0052 | HCI_GRP_HOST_CONT_BASEBAND_CMDS)
#define HCI_REFRESH_ENCRYPTION_KEY (0x0053 | HCI_GRP_HOST_CONT_BASEBAND_CMDS)
#define HCI_READ_SIMPLE_PAIRING_MODE (0x0055 | HCI_GRP_HOST_CONT_BASEBAND_CMDS)
#define HCI_WRITE_SIMPLE_PAIRING_MODE (0x0056 | HCI_GRP_HOST_CONT_BASEBAND_CMDS)
#define HCI_READ_LOCAL_OOB_DATA (0x0057 | HCI_GRP_HOST_CONT_BASEBAND_CMDS)
#define HCI_READ_INQ_TX_POWER_LEVEL (0x0058 | HCI_GRP_HOST_CONT_BASEBAND_CMDS)
#define HCI_WRITE_INQ_TX_POWER_LEVEL (0x0059 | HCI_GRP_HOST_CONT_BASEBAND_CMDS)
#define HCI_READ_ERRONEOUS_DATA_RPT (0x005A | HCI_GRP_HOST_CONT_BASEBAND_CMDS)
#define HCI_WRITE_ERRONEOUS_DATA_RPT (0x005B | HCI_GRP_HOST_CONT_BASEBAND_CMDS)
#define HCI_ENHANCED_FLUSH (0x005F | HCI_GRP_HOST_CONT_BASEBAND_CMDS)
#define HCI_SEND_KEYPRESS_NOTIF (0x0060 | HCI_GRP_HOST_CONT_BASEBAND_CMDS)

/* AMP HCI */
#define HCI_READ_LOGICAL_LINK_ACCEPT_TIMEOUT \
  (0x0061 | HCI_GRP_HOST_CONT_BASEBAND_CMDS)
#define HCI_WRITE_LOGICAL_LINK_ACCEPT_TIMEOUT \
  (0x0062 | HCI_GRP_HOST_CONT_BASEBAND_CMDS)
#define HCI_SET_EVENT_MASK_PAGE_2 (0x0063 | HCI_GRP_HOST_CONT_BASEBAND_CMDS)
#define HCI_READ_LOCATION_DATA (0x0064 | HCI_GRP_HOST_CONT_BASEBAND_CMDS)
#define HCI_WRITE_LOCATION_DATA (0x0065 | HCI_GRP_HOST_CONT_BASEBAND_CMDS)
#define HCI_READ_FLOW_CONTROL_MODE (0x0066 | HCI_GRP_HOST_CONT_BASEBAND_CMDS)
#define HCI_WRITE_FLOW_CONTROL_MODE (0x0067 | HCI_GRP_HOST_CONT_BASEBAND_CMDS)
#define HCI_READ_BE_FLUSH_TOUT (0x0069 | HCI_GRP_HOST_CONT_BASEBAND_CMDS)
#define HCI_WRITE_BE_FLUSH_TOUT (0x006A | HCI_GRP_HOST_CONT_BASEBAND_CMDS)
/* 802.11 only */
#define HCI_SHORT_RANGE_MODE (0x006B | HCI_GRP_HOST_CONT_BASEBAND_CMDS)
#define HCI_READ_LE_HOST_SUPPORT (0x006C | HCI_GRP_HOST_CONT_BASEBAND_CMDS)
#define HCI_WRITE_LE_HOST_SUPPORT (0x006D | HCI_GRP_HOST_CONT_BASEBAND_CMDS)

/* MWS coexistence */
#define HCI_SET_MWS_CHANNEL_PARAMETERS \
  (0x006E | HCI_GRP_HOST_CONT_BASEBAND_CMDS)
#define HCI_SET_EXTERNAL_FRAME_CONFIGURATION \
  (0x006F | HCI_GRP_HOST_CONT_BASEBAND_CMDS)
#define HCI_SET_MWS_SIGNALING (0x0070 | HCI_GRP_HOST_CONT_BASEBAND_CMDS)
#define HCI_SET_MWS_TRANSPORT_LAYER (0x0071 | HCI_GRP_HOST_CONT_BASEBAND_CMDS)
#define HCI_SET_MWS_SCAN_FREQUENCY_TABLE \
  (0x0072 | HCI_GRP_HOST_CONT_BASEBAND_CMDS)
#define HCI_SET_MWS_PATTERN_CONFIGURATION \
  (0x0073 | HCI_GRP_HOST_CONT_BASEBAND_CMDS)

/* Connectionless Broadcast */
#define HCI_SET_RESERVED_LT_ADDR (0x0074 | HCI_GRP_HOST_CONT_BASEBAND_CMDS)
#define HCI_DELETE_RESERVED_LT_ADDR (0x0075 | HCI_GRP_HOST_CONT_BASEBAND_CMDS)
#define HCI_WRITE_CLB_DATA (0x0076 | HCI_GRP_HOST_CONT_BASEBAND_CMDS)
#define HCI_READ_SYNC_TRAIN_PARAM (0x0077 | HCI_GRP_HOST_CONT_BASEBAND_CMDS)
#define HCI_WRITE_SYNC_TRAIN_PARAM (0x0078 | HCI_GRP_HOST_CONT_BASEBAND_CMDS)

#define HCI_READ_SECURE_CONNS_SUPPORT (0x0079 | HCI_GRP_HOST_CONT_BASEBAND_CMDS)
#define HCI_WRITE_SECURE_CONNS_SUPPORT \
  (0x007A | HCI_GRP_HOST_CONT_BASEBAND_CMDS)
#define HCI_CONFIGURE_DATA_PATH (0x0083 | HCI_GRP_HOST_CONT_BASEBAND_CMDS)
#define HCI_CONT_BASEBAND_CMDS_FIRST HCI_SET_EVENT_MASK
#define HCI_CONT_BASEBAND_CMDS_LAST HCI_READ_SYNC_TRAIN_PARAM

/* Commands of HCI_GRP_INFORMATIONAL_PARAMS group */
#define HCI_READ_LOCAL_VERSION_INFO (0x0001 | HCI_GRP_INFORMATIONAL_PARAMS)
#define HCI_READ_LOCAL_SUPPORTED_CMDS (0x0002 | HCI_GRP_INFORMATIONAL_PARAMS)
#define HCI_READ_LOCAL_FEATURES (0x0003 | HCI_GRP_INFORMATIONAL_PARAMS)
#define HCI_READ_LOCAL_EXT_FEATURES (0x0004 | HCI_GRP_INFORMATIONAL_PARAMS)
#define HCI_READ_BUFFER_SIZE (0x0005 | HCI_GRP_INFORMATIONAL_PARAMS)
#define HCI_READ_COUNTRY_CODE (0x0007 | HCI_GRP_INFORMATIONAL_PARAMS)
#define HCI_READ_BD_ADDR (0x0009 | HCI_GRP_INFORMATIONAL_PARAMS)
#define HCI_READ_DATA_BLOCK_SIZE (0x000A | HCI_GRP_INFORMATIONAL_PARAMS)
#define HCI_READ_LOCAL_SUPPORTED_CODECS (0x000B | HCI_GRP_INFORMATIONAL_PARAMS)

#define HCI_INFORMATIONAL_CMDS_FIRST HCI_READ_LOCAL_VERSION_INFO
#define HCI_INFORMATIONAL_CMDS_LAST HCI_READ_LOCAL_SUPPORTED_CODECS

/* Commands of HCI_GRP_STATUS_PARAMS group */
#define HCI_READ_FAILED_CONTACT_COUNTER (0x0001 | HCI_GRP_STATUS_PARAMS)
#define HCI_RESET_FAILED_CONTACT_COUNTER (0x0002 | HCI_GRP_STATUS_PARAMS)
#define HCI_GET_LINK_QUALITY (0x0003 | HCI_GRP_STATUS_PARAMS)
#define HCI_READ_RSSI (0x0005 | HCI_GRP_STATUS_PARAMS)
#define HCI_READ_AFH_CH_MAP (0x0006 | HCI_GRP_STATUS_PARAMS)
#define HCI_READ_CLOCK (0x0007 | HCI_GRP_STATUS_PARAMS)
#define HCI_READ_ENCR_KEY_SIZE (0x0008 | HCI_GRP_STATUS_PARAMS)

/* AMP HCI */
#define HCI_READ_LOCAL_AMP_INFO (0x0009 | HCI_GRP_STATUS_PARAMS)
#define HCI_READ_LOCAL_AMP_ASSOC (0x000A | HCI_GRP_STATUS_PARAMS)
#define HCI_WRITE_REMOTE_AMP_ASSOC (0x000B | HCI_GRP_STATUS_PARAMS)

#define HCI_STATUS_PARAMS_CMDS_FIRST HCI_READ_FAILED_CONTACT_COUNTER
#define HCI_STATUS_PARAMS_CMDS_LAST HCI_WRITE_REMOTE_AMP_ASSOC

/* Commands of HCI_GRP_TESTING_CMDS group */
#define HCI_READ_LOOPBACK_MODE (0x0001 | HCI_GRP_TESTING_CMDS)
#define HCI_WRITE_LOOPBACK_MODE (0x0002 | HCI_GRP_TESTING_CMDS)
#define HCI_ENABLE_DEV_UNDER_TEST_MODE (0x0003 | HCI_GRP_TESTING_CMDS)
#define HCI_WRITE_SIMP_PAIR_DEBUG_MODE (0x0004 | HCI_GRP_TESTING_CMDS)

/* AMP HCI */
#define HCI_ENABLE_AMP_RCVR_REPORTS (0x0007 | HCI_GRP_TESTING_CMDS)
#define HCI_AMP_TEST_END (0x0008 | HCI_GRP_TESTING_CMDS)
#define HCI_AMP_TEST (0x0009 | HCI_GRP_TESTING_CMDS)

#define HCI_TESTING_CMDS_FIRST HCI_READ_LOOPBACK_MODE
#define HCI_TESTING_CMDS_LAST HCI_AMP_TEST

#define HCI_VENDOR_CMDS_FIRST 0x0001
#define HCI_VENDOR_CMDS_LAST 0xFFFF
#define HCI_VSC_MULTI_AV_HANDLE 0x0AAA
#define HCI_VSC_BURST_MODE_HANDLE 0x0BBB

/* BLE HCI Group Commands */
/* Commands of BLE Controller setup and configuration */
#define HCI_BLE_SET_EVENT_MASK (0x0001 | HCI_GRP_BLE_CMDS)
#define HCI_BLE_READ_BUFFER_SIZE (0x0002 | HCI_GRP_BLE_CMDS)
#define HCI_BLE_READ_LOCAL_SPT_FEAT (0x0003 | HCI_GRP_BLE_CMDS)
#define HCI_BLE_WRITE_LOCAL_SPT_FEAT (0x0004 | HCI_GRP_BLE_CMDS)
#define HCI_BLE_WRITE_RANDOM_ADDR (0x0005 | HCI_GRP_BLE_CMDS)
#define HCI_BLE_WRITE_ADV_PARAMS (0x0006 | HCI_GRP_BLE_CMDS)
#define HCI_BLE_READ_ADV_CHNL_TX_POWER (0x0007 | HCI_GRP_BLE_CMDS)
#define HCI_BLE_WRITE_ADV_DATA (0x0008 | HCI_GRP_BLE_CMDS)
#define HCI_BLE_WRITE_SCAN_RSP_DATA (0x0009 | HCI_GRP_BLE_CMDS)
#define HCI_BLE_WRITE_ADV_ENABLE (0x000A | HCI_GRP_BLE_CMDS)
#define HCI_BLE_WRITE_SCAN_PARAMS (0x000B | HCI_GRP_BLE_CMDS)
#define HCI_BLE_WRITE_SCAN_ENABLE (0x000C | HCI_GRP_BLE_CMDS)
#define HCI_BLE_CREATE_LL_CONN (0x000D | HCI_GRP_BLE_CMDS)
#define HCI_BLE_CREATE_CONN_CANCEL (0x000E | HCI_GRP_BLE_CMDS)
#define HCI_BLE_READ_ACCEPTLIST_SIZE (0x000F | HCI_GRP_BLE_CMDS)
#define HCI_BLE_CLEAR_ACCEPTLIST (0x0010 | HCI_GRP_BLE_CMDS)
#define HCI_BLE_ADD_ACCEPTLIST (0x0011 | HCI_GRP_BLE_CMDS)
#define HCI_BLE_REMOVE_ACCEPTLIST (0x0012 | HCI_GRP_BLE_CMDS)
#define HCI_BLE_UPD_LL_CONN_PARAMS (0x0013 | HCI_GRP_BLE_CMDS)
#define HCI_BLE_SET_HOST_CHNL_CLASS (0x0014 | HCI_GRP_BLE_CMDS)
#define HCI_BLE_READ_CHNL_MAP (0x0015 | HCI_GRP_BLE_CMDS)
#define HCI_BLE_READ_REMOTE_FEAT (0x0016 | HCI_GRP_BLE_CMDS)
#define HCI_BLE_ENCRYPT (0x0017 | HCI_GRP_BLE_CMDS)
#define HCI_BLE_RAND (0x0018 | HCI_GRP_BLE_CMDS)
#define HCI_BLE_START_ENC (0x0019 | HCI_GRP_BLE_CMDS)
#define HCI_BLE_LTK_REQ_REPLY (0x001A | HCI_GRP_BLE_CMDS)
#define HCI_BLE_LTK_REQ_NEG_REPLY (0x001B | HCI_GRP_BLE_CMDS)
#define HCI_BLE_READ_SUPPORTED_STATES (0x001C | HCI_GRP_BLE_CMDS)
/* 0x001D, 0x001E and 0x001F are reserved */
#define HCI_BLE_RECEIVER_TEST (0x001D | HCI_GRP_BLE_CMDS)
#define HCI_BLE_TRANSMITTER_TEST (0x001E | HCI_GRP_BLE_CMDS)
/* BLE TEST COMMANDS */
#define HCI_BLE_TEST_END (0x001F | HCI_GRP_BLE_CMDS)
#define HCI_BLE_RC_PARAM_REQ_REPLY (0x0020 | HCI_GRP_BLE_CMDS)
#define HCI_BLE_RC_PARAM_REQ_NEG_REPLY (0x0021 | HCI_GRP_BLE_CMDS)

#define HCI_BLE_SET_DATA_LENGTH (0x0022 | HCI_GRP_BLE_CMDS)
#define HCI_BLE_READ_DEFAULT_DATA_LENGTH (0x0023 | HCI_GRP_BLE_CMDS)
#define HCI_BLE_WRITE_DEFAULT_DATA_LENGTH (0x0024 | HCI_GRP_BLE_CMDS)

#define HCI_BLE_ADD_DEV_RESOLVING_LIST (0x0027 | HCI_GRP_BLE_CMDS)
#define HCI_BLE_RM_DEV_RESOLVING_LIST (0x0028 | HCI_GRP_BLE_CMDS)
#define HCI_BLE_CLEAR_RESOLVING_LIST (0x0029 | HCI_GRP_BLE_CMDS)
#define HCI_BLE_READ_RESOLVING_LIST_SIZE (0x002A | HCI_GRP_BLE_CMDS)
#define HCI_BLE_READ_RESOLVABLE_ADDR_PEER (0x002B | HCI_GRP_BLE_CMDS)
#define HCI_BLE_READ_RESOLVABLE_ADDR_LOCAL (0x002C | HCI_GRP_BLE_CMDS)
#define HCI_BLE_SET_ADDR_RESOLUTION_ENABLE (0x002D | HCI_GRP_BLE_CMDS)
#define HCI_BLE_SET_RAND_PRIV_ADDR_TIMOUT (0x002E | HCI_GRP_BLE_CMDS)
#define HCI_BLE_READ_MAXIMUM_DATA_LENGTH (0x002F | HCI_GRP_BLE_CMDS)
#define HCI_BLE_READ_PHY (0x0030 | HCI_GRP_BLE_CMDS)
#define HCI_BLE_SET_DEFAULT_PHY (0x0031 | HCI_GRP_BLE_CMDS)
#define HCI_BLE_SET_PHY (0x0032 | HCI_GRP_BLE_CMDS)
#define HCI_BLE_ENH_RECEIVER_TEST (0x0033 | HCI_GRP_BLE_CMDS)
#define HCI_BLE_ENH_TRANSMITTER_TEST (0x0034 | HCI_GRP_BLE_CMDS)
#define HCI_LE_SET_EXT_ADVERTISING_RANDOM_ADDRESS (0x35 | HCI_GRP_BLE_CMDS)
#define HCI_LE_SET_EXT_ADVERTISING_PARAM (0x36 | HCI_GRP_BLE_CMDS)
#define HCI_LE_SET_EXT_ADVERTISING_DATA (0x37 | HCI_GRP_BLE_CMDS)
#define HCI_LE_SET_EXT_ADVERTISING_SCAN_RESP (0x38 | HCI_GRP_BLE_CMDS)
#define HCI_LE_SET_EXT_ADVERTISING_ENABLE (0x39 | HCI_GRP_BLE_CMDS)
#define HCI_LE_READ_MAXIMUM_ADVERTISING_DATA_LENGTH (0x003A | HCI_GRP_BLE_CMDS)
#define HCI_LE_READ_NUMBER_OF_SUPPORTED_ADVERTISING_SETS \
  (0x003B | HCI_GRP_BLE_CMDS)
#define HCI_LE_REMOVE_ADVERTISING_SET (0x003C | HCI_GRP_BLE_CMDS)
#define HCI_LE_CLEAR_ADVERTISING_SETS (0x003D | HCI_GRP_BLE_CMDS)
#define HCI_LE_SET_PERIODIC_ADVERTISING_PARAM (0x003E | HCI_GRP_BLE_CMDS)
#define HCI_LE_SET_PERIODIC_ADVERTISING_DATA (0x003F | HCI_GRP_BLE_CMDS)
#define HCI_LE_SET_PERIODIC_ADVERTISING_ENABLE (0x0040 | HCI_GRP_BLE_CMDS)
#define HCI_LE_SET_EXTENDED_SCAN_PARAMETERS (0x0041 | HCI_GRP_BLE_CMDS)
#define HCI_LE_SET_EXTENDED_SCAN_ENABLE (0x0042 | HCI_GRP_BLE_CMDS)
#define HCI_LE_EXTENDED_CREATE_CONNECTION (0x0043 | HCI_GRP_BLE_CMDS)
#define HCI_BLE_PERIODIC_ADVERTISING_CREATE_SYNC (0x0044 | HCI_GRP_BLE_CMDS)
#define HCI_BLE_PERIODIC_ADVERTISING_CREATE_SYNC_CANCEL \
  (0x0045 | HCI_GRP_BLE_CMDS)
#define HCI_BLE_PERIODIC_ADVERTISING_TERMINATE_SYNC \
  (0x0046 | HCI_GRP_BLE_CMDS)
#define HCI_BLE_ADD_DEVICE_TO_PERIODIC_ADVERTISER_LIST \
  (0x0047 | HCI_GRP_BLE_CMDS)
#define HCI_BLE_REMOVE_DEVICE_FROM_PERIODIC_ADVERTISER_LIST \
  (0x0048 | HCI_GRP_BLE_CMDS)
#define HCI_BLE_CLEAR_PERIODIC_ADVERTISER_LIST (0x0049 | HCI_GRP_BLE_CMDS)
#define HCI_BLE_READ_PERIODIC_ADVERTISER_LIST_SIZE (0x004A | HCI_GRP_BLE_CMDS)
#define HCI_BLE_READ_TRANSMIT_POWER (0x004B | HCI_GRP_BLE_CMDS)
#define HCI_BLE_READ_RF_COMPENS_POWER (0x004C | HCI_GRP_BLE_CMDS)
#define HCI_BLE_WRITE_RF_COMPENS_POWER (0x004D | HCI_GRP_BLE_CMDS)
#define HCI_BLE_SET_PRIVACY_MODE (0x004E | HCI_GRP_BLE_CMDS)
#define HCI_LE_SET_PERIODIC_ADVERTISING_RECEIVE_ENABLE \
  (0x0059 | HCI_GRP_BLE_CMDS)
#define HCI_LE_PERIODIC_ADVERTISING_SYNC_TRANSFER (0x005A | HCI_GRP_BLE_CMDS)
#define HCI_LE_PERIODIC_ADVERTISING_SET_INFO_TRANSFER \
  (0x005B | HCI_GRP_BLE_CMDS)
#define HCI_LE_SET_PERIODIC_ADVERTISING_SYNC_TRANSFER_PARAM \
  (0x005C | HCI_GRP_BLE_CMDS)
#define HCI_LE_SET_DEFAULT_PERIODIC_ADVERTISING_SYNC_TRANSFER_PARAM \
  (0x005D | HCI_GRP_BLE_CMDS)
#define HCI_BLE_READ_BUFFER_SIZE_V2 (0x0060 | HCI_GRP_BLE_CMDS)
#define HCI_LE_SET_HOST_FEATURE (0x0074 | HCI_GRP_BLE_CMDS)

/* LE Get Vendor Capabilities Command opcode */
#define HCI_BLE_VENDOR_CAP (0x0153 | HCI_GRP_VENDOR_SPECIFIC)
#define HCI_LE_READ_ISO_TX_SYNC (0x0061 | HCI_GRP_BLE_CMDS)
#define HCI_LE_SET_CIG_PARAMS (0x0062 | HCI_GRP_BLE_CMDS)
#define HCI_LE_SET_CIG_PARAMS_TEST (0x0063 | HCI_GRP_BLE_CMDS)
#define HCI_LE_CREATE_CIS (0x0064 | HCI_GRP_BLE_CMDS)
#define HCI_LE_REMOVE_CIG (0x0065 | HCI_GRP_BLE_CMDS)
#define HCI_LE_ACCEPT_CIS_REQ (0x0066 | HCI_GRP_BLE_CMDS)
#define HCI_LE_REJ_CIS_REQ (0x0067 | HCI_GRP_BLE_CMDS)
#define HCI_LE_CREATE_BIG (0x0068 | HCI_GRP_BLE_CMDS)
#define HCI_LE_CREATE_BIG_TEST (0x0069 | HCI_GRP_BLE_CMDS)
#define HCI_LE_TERM_BIG (0x006A | HCI_GRP_BLE_CMDS)
#define HCI_LE_BIG_CREATE_SYNC (0x006B | HCI_GRP_BLE_CMDS)
#define HCI_LE_BIG_TERM_SYNC (0x006C | HCI_GRP_BLE_CMDS)
#define HCI_LE_REQ_PEER_SCA (0x006D | HCI_GRP_BLE_CMDS)
#define HCI_LE_SETUP_ISO_DATA_PATH (0x006E | HCI_GRP_BLE_CMDS)
#define HCI_LE_REMOVE_ISO_DATA_PATH (0x006F | HCI_GRP_BLE_CMDS)
#define HCI_LE_ISO_TRANSMIT_TEST (0x0070 | HCI_GRP_BLE_CMDS)
#define HCI_LE_ISO_RECEIVE_TEST (0x0071 | HCI_GRP_BLE_CMDS)
#define HCI_LE_ISO_READ_TEST_CNTRS (0x0072 | HCI_GRP_BLE_CMDS)
#define HCI_LE_ISO_TEST_END (0x0073 | HCI_GRP_BLE_CMDS)
#define HCI_LE_SET_HOST_FEATURE (0x0074 | HCI_GRP_BLE_CMDS)
#define HCI_LE_READ_ISO_LINK_QUALITY (0x0075 | HCI_GRP_BLE_CMDS)

/* Multi adv opcode */
#define HCI_BLE_MULTI_ADV (0x0154 | HCI_GRP_VENDOR_SPECIFIC)

/* ADV filter opcode */
#define HCI_BLE_ADV_FILTER (0x0157 | HCI_GRP_VENDOR_SPECIFIC)

/* Energy info opcode */
#define HCI_BLE_ENERGY_INFO (0x0159 | HCI_GRP_VENDOR_SPECIFIC)

/* Controller debug info opcode */
#define HCI_CONTROLLER_DEBUG_INFO (0x015B | HCI_GRP_VENDOR_SPECIFIC)

/* A2DP offload opcode */
#define HCI_CONTROLLER_A2DP (0x015D | HCI_GRP_VENDOR_SPECIFIC)

/* Bluetooth Quality Report opcode */
#define HCI_CONTROLLER_BQR (0x015E | HCI_GRP_VENDOR_SPECIFIC)

/* Bluetooth Dynamic Audio Buffer opcode */
#define HCI_CONTROLLER_DAB (0x015F | HCI_GRP_VENDOR_SPECIFIC)
#define HCI_CONTROLLER_DAB_GET_BUFFER_TIME 0x01
#define HCI_CONTROLLER_DAB_SET_BUFFER_TIME 0x02

/* SOC Logging OCF */
#define HCI_VS_HOST_LOG_OPCODE (0x0017 | HCI_GRP_VENDOR_SPECIFIC)

/* subcode for multi adv feature */
#define BTM_BLE_MULTI_ADV_SET_PARAM 0x01
#define BTM_BLE_MULTI_ADV_WRITE_ADV_DATA 0x02
#define BTM_BLE_MULTI_ADV_WRITE_SCAN_RSP_DATA 0x03
#define BTM_BLE_MULTI_ADV_SET_RANDOM_ADDR 0x04
#define BTM_BLE_MULTI_ADV_ENB 0x05

/* multi adv VSE subcode */
/* multi adv instance state change */
#define HCI_VSE_SUBCODE_BLE_MULTI_ADV_ST_CHG 0x55

/* subcode for batch scan feature */
#define BTM_BLE_BATCH_SCAN_ENB_DISAB_CUST_FEATURE 0x01
#define BTM_BLE_BATCH_SCAN_SET_STORAGE_PARAM 0x02
#define BTM_BLE_BATCH_SCAN_SET_PARAMS 0x03
#define BTM_BLE_BATCH_SCAN_READ_RESULTS 0x04

/* batch scan VSE subcode */
#define HCI_VSE_SUBCODE_BLE_THRESHOLD_SUB_EVT 0x54 /* Threshold event */

/* tracking sub event */
#define HCI_VSE_SUBCODE_BLE_TRACKING_SUB_EVT 0x56 /* Tracking event */

/* debug info sub event */
#define HCI_VSE_SUBCODE_DEBUG_INFO_SUB_EVT 0x57

/* Bluetooth Quality Report sub event */
#define HCI_VSE_SUBCODE_BQR_SUB_EVT 0x58

/* LE Supported States */
constexpr uint8_t HCI_LE_STATES_NON_CONN_ADV_BIT = 0;
constexpr uint8_t HCI_LE_STATES_SCAN_ADV_BIT = 1;
constexpr uint8_t HCI_LE_STATES_CONN_ADV_BIT = 2;
constexpr uint8_t HCI_LE_STATES_HI_DUTY_DIR_ADV_BIT = 3;
constexpr uint8_t HCI_LE_STATES_PASS_SCAN_BIT = 4;
constexpr uint8_t HCI_LE_STATES_ACTIVE_SCAN_BIT = 5;
constexpr uint8_t HCI_LE_STATES_INIT_BIT = 6;
constexpr uint8_t HCI_LE_STATES_PERIPHERAL_BIT = 7;
constexpr uint8_t HCI_LE_STATES_NON_CONN_ADV_PASS_SCAN_BIT = 8;
constexpr uint8_t HCI_LE_STATES_SCAN_ADV_PASS_SCAN_BIT = 9;
constexpr uint8_t HCI_LE_STATES_CONN_ADV_PASS_SCAN_BIT = 10;
constexpr uint8_t HCI_LE_STATES_HI_DUTY_DIR_ADV_PASS_SCAN_BIT = 11;
constexpr uint8_t HCI_LE_STATES_NON_CONN_ADV_ACTIVE_SCAN_BIT = 12;
constexpr uint8_t HCI_LE_STATES_SCAN_ADV_ACTIVE_SCAN_BIT = 13;
constexpr uint8_t HCI_LE_STATES_CONN_ADV_ACTIVE_SCAN_BIT = 14;
constexpr uint8_t HCI_LE_STATES_HI_DUTY_DIR_ADV_ACTIVE_SCAN_BIT = 15;
constexpr uint8_t HCI_LE_STATES_NON_CONN_INIT_BIT = 16;
constexpr uint8_t HCI_LE_STATES_SCAN_ADV_INIT_BIT = 17;
constexpr uint8_t HCI_LE_STATES_NON_CONN_ADV_CENTRAL_BIT = 18;
constexpr uint8_t HCI_LE_STATES_SCAN_ADV_CENTRAL_BIT = 19;
constexpr uint8_t HCI_LE_STATES_NON_CONN_ADV_PERIPHERAL_BIT = 20;
constexpr uint8_t HCI_LE_STATES_SCAN_ADV_PERIPHERAL_BIT = 21;
constexpr uint8_t HCI_LE_STATES_PASS_SCAN_INIT_BIT = 22;
constexpr uint8_t HCI_LE_STATES_ACTIVE_SCAN_INIT_BIT = 23;
constexpr uint8_t HCI_LE_STATES_PASS_SCAN_CENTRAL_BIT = 24;
constexpr uint8_t HCI_LE_STATES_ACTIVE_SCAN_CENTRAL_BIT = 25;
constexpr uint8_t HCI_LE_STATES_PASS_SCAN_PERIPHERAL_BIT = 26;
constexpr uint8_t HCI_LE_STATES_ACTIVE_SCAN_PERIPHERAL_BIT = 27;
constexpr uint8_t HCI_LE_STATES_INIT_CENTRAL_BIT = 28;
constexpr uint8_t HCI_LE_STATES_LOW_DUTY_DIR_ADV_BIT = 29;
constexpr uint8_t HCI_LE_STATES_LO_DUTY_DIR_ADV_PASS_SCAN_BIT = 30;
constexpr uint8_t HCI_LE_STATES_LO_DUTY_DIR_ADV_ACTIVE_SCAN_BIT = 31;
constexpr uint8_t HCI_LE_STATES_CONN_ADV_INIT_BIT = 32;
constexpr uint8_t HCI_LE_STATES_HI_DUTY_DIR_ADV_INIT_BIT = 33;
constexpr uint8_t HCI_LE_STATES_LO_DUTY_DIR_ADV_INIT_BIT = 34;
constexpr uint8_t HCI_LE_STATES_CONN_ADV_CENTRAL_BIT = 35;
constexpr uint8_t HCI_LE_STATES_HI_DUTY_DIR_ADV_CENTRAL_BIT = 36;
constexpr uint8_t HCI_LE_STATES_LO_DUTY_DIR_ADV_CENTRAL_BIT = 37;
constexpr uint8_t HCI_LE_STATES_CONN_ADV_PERIPHERAL_BIT = 38;
constexpr uint8_t HCI_LE_STATES_HI_DUTY_DIR_ADV_PERIPHERAL_BIT = 39;
constexpr uint8_t HCI_LE_STATES_LO_DUTY_DIR_ADV_PERIPHERAL_BIT = 40;
constexpr uint8_t HCI_LE_STATES_INIT_CENTRAL_PERIPHERAL_BIT = 41;

/*
 *  Definitions for HCI Events
*/
#define HCI_INQUIRY_COMP_EVT 0x01
#define HCI_INQUIRY_RESULT_EVT 0x02
#define HCI_CONNECTION_COMP_EVT 0x03
#define HCI_CONNECTION_REQUEST_EVT 0x04
#define HCI_DISCONNECTION_COMP_EVT 0x05
#define HCI_AUTHENTICATION_COMP_EVT 0x06
#define HCI_RMT_NAME_REQUEST_COMP_EVT 0x07
#define HCI_ENCRYPTION_CHANGE_EVT 0x08
#define HCI_CHANGE_CONN_LINK_KEY_EVT 0x09
#define HCI_CENTRAL_LINK_KEY_COMP_EVT 0x0A
#define HCI_READ_RMT_FEATURES_COMP_EVT 0x0B
#define HCI_READ_RMT_VERSION_COMP_EVT 0x0C
#define HCI_QOS_SETUP_COMP_EVT 0x0D
#define HCI_COMMAND_COMPLETE_EVT 0x0E
#define HCI_COMMAND_STATUS_EVT 0x0F
#define HCI_HARDWARE_ERROR_EVT 0x10
#define HCI_FLUSH_OCCURED_EVT 0x11
#define HCI_ROLE_CHANGE_EVT 0x12
#define HCI_NUM_COMPL_DATA_PKTS_EVT 0x13
#define HCI_MODE_CHANGE_EVT 0x14
#define HCI_RETURN_LINK_KEYS_EVT 0x15
#define HCI_PIN_CODE_REQUEST_EVT 0x16
#define HCI_LINK_KEY_REQUEST_EVT 0x17
#define HCI_LINK_KEY_NOTIFICATION_EVT 0x18
#define HCI_LOOPBACK_COMMAND_EVT 0x19
#define HCI_DATA_BUF_OVERFLOW_EVT 0x1A
#define HCI_MAX_SLOTS_CHANGED_EVT 0x1B
#define HCI_READ_CLOCK_OFF_COMP_EVT 0x1C
#define HCI_CONN_PKT_TYPE_CHANGE_EVT 0x1D
#define HCI_QOS_VIOLATION_EVT 0x1E
#define HCI_PAGE_SCAN_MODE_CHANGE_EVT 0x1F
#define HCI_PAGE_SCAN_REP_MODE_CHNG_EVT 0x20
#define HCI_FLOW_SPECIFICATION_COMP_EVT 0x21
#define HCI_INQUIRY_RSSI_RESULT_EVT 0x22
#define HCI_READ_RMT_EXT_FEATURES_COMP_EVT 0x23
#define HCI_ESCO_CONNECTION_COMP_EVT 0x2C
#define HCI_ESCO_CONNECTION_CHANGED_EVT 0x2D
#define HCI_SNIFF_SUB_RATE_EVT 0x2E
#define HCI_EXTENDED_INQUIRY_RESULT_EVT 0x2F
#define HCI_ENCRYPTION_KEY_REFRESH_COMP_EVT 0x30
#define HCI_IO_CAPABILITY_REQUEST_EVT 0x31
#define HCI_IO_CAPABILITY_RESPONSE_EVT 0x32
#define HCI_USER_CONFIRMATION_REQUEST_EVT 0x33
#define HCI_USER_PASSKEY_REQUEST_EVT 0x34
#define HCI_REMOTE_OOB_DATA_REQUEST_EVT 0x35
#define HCI_SIMPLE_PAIRING_COMPLETE_EVT 0x36
#define HCI_LINK_SUPER_TOUT_CHANGED_EVT 0x38
#define HCI_ENHANCED_FLUSH_COMPLETE_EVT 0x39
#define HCI_USER_PASSKEY_NOTIFY_EVT 0x3B
#define HCI_KEYPRESS_NOTIFY_EVT 0x3C
#define HCI_RMT_HOST_SUP_FEAT_NOTIFY_EVT 0x3D

/* ULP HCI Event */
#define HCI_BLE_EVENT 0x3e
/* ULP Event sub code */
#define HCI_BLE_CONN_COMPLETE_EVT 0x01
#define HCI_BLE_ADV_PKT_RPT_EVT 0x02
#define HCI_BLE_LL_CONN_PARAM_UPD_EVT 0x03
#define HCI_BLE_READ_REMOTE_FEAT_CMPL_EVT 0x04
#define HCI_BLE_LTK_REQ_EVT 0x05
#define HCI_BLE_RC_PARAM_REQ_EVT 0x06
#define HCI_BLE_DATA_LENGTH_CHANGE_EVT 0x07
#define HCI_BLE_ENHANCED_CONN_COMPLETE_EVT 0x0a
#define HCI_BLE_DIRECT_ADV_EVT 0x0b
#define HCI_BLE_PHY_UPDATE_COMPLETE_EVT 0x0c
#define HCI_LE_EXTENDED_ADVERTISING_REPORT_EVT 0x0D
#define HCI_BLE_PERIODIC_ADV_SYNC_EST_EVT      0x0E
#define HCI_BLE_PERIODIC_ADV_REPORT_EVT        0x0F
#define HCI_BLE_PERIODIC_ADV_SYNC_LOST_EVT     0x10
#define HCI_BLE_SCAN_TIMEOUT_EVT               0x11
#define HCI_LE_ADVERTISING_SET_TERMINATED_EVT 0x12
#define HCI_BLE_SCAN_REQ_RX_EVT                0x13
#define HCI_BLE_CIS_EST_EVT 0x19
#define HCI_BLE_CIS_REQ_EVT 0x1a
#define HCI_BLE_CREATE_BIG_CPL_EVT 0x1b
#define HCI_BLE_TERM_BIG_CPL_EVT 0x1c
#define HCI_BLE_BIG_SYNC_EST_EVT 0x1d
#define HCI_BLE_BIG_SYNC_LOST_EVT 0x1e
#define HCI_BLE_REQ_PEER_SCA_CPL_EVT 0x1f

#define HCI_LE_PERIODIC_ADV_SYNC_TRANSFERE_RECEIVED_EVT 0x18
#define HCI_LE_BIGINFO_ADVERTISING_REPORT_EVT 0x22
#define HCI_LE_SUBRATE_CHANGE_EVT 0x23

#define HCI_VENDOR_SPECIFIC_EVT 0xFF /* Vendor specific events */

/*
 * Definitions for HCI enable event
*/
#define HCI_INQUIRY_RESULT_EV(p) (*((uint32_t*)(p)) & 0x00000002)
#define HCI_CONNECTION_COMPLETE_EV(p) (*((uint32_t*)(p)) & 0x00000004)
#define HCI_CONNECTION_REQUEST_EV(p) (*((uint32_t*)(p)) & 0x00000008)
#define HCI_DISCONNECTION_COMPLETE_EV(p) (*((uint32_t*)(p)) & 0x00000010)
#define HCI_AUTHENTICATION_COMPLETE_EV(p) (*((uint32_t*)(p)) & 0x00000020)
#define HCI_RMT_NAME_REQUEST_COMPL_EV(p) (*((uint32_t*)(p)) & 0x00000040)
#define HCI_CHANGE_CONN_ENCRPT_ENABLE_EV(p) (*((uint32_t*)(p)) & 0x00000080)
#define HCI_CHANGE_CONN_LINK_KEY_EV(p) (*((uint32_t*)(p)) & 0x00000100)
#define HCI_CENTRAL_LINK_KEY_COMPLETE_EV(p) (*((uint32_t*)(p)) & 0x00000200)
#define HCI_READ_RMT_FEATURES_COMPL_EV(p) (*((uint32_t*)(p)) & 0x00000400)
#define HCI_READ_RMT_VERSION_COMPL_EV(p) (*((uint32_t*)(p)) & 0x00000800)
#define HCI_QOS_SETUP_COMPLETE_EV(p) (*((uint32_t*)(p)) & 0x00001000)
#define HCI_COMMAND_COMPLETE_EV(p) (*((uint32_t*)(p)) & 0x00002000)
#define HCI_COMMAND_STATUS_EV(p) (*((uint32_t*)(p)) & 0x00004000)
#define HCI_HARDWARE_ERROR_EV(p) (*((uint32_t*)(p)) & 0x00008000)
#define HCI_FLASH_OCCURED_EV(p) (*((uint32_t*)(p)) & 0x00010000)
#define HCI_ROLE_CHANGE_EV(p) (*((uint32_t*)(p)) & 0x00020000)
#define HCI_NUM_COMPLETED_PKTS_EV(p) (*((uint32_t*)(p)) & 0x00040000)
#define HCI_MODE_CHANGE_EV(p) (*((uint32_t*)(p)) & 0x00080000)
#define HCI_RETURN_LINK_KEYS_EV(p) (*((uint32_t*)(p)) & 0x00100000)
#define HCI_PIN_CODE_REQUEST_EV(p) (*((uint32_t*)(p)) & 0x00200000)
#define HCI_LINK_KEY_REQUEST_EV(p) (*((uint32_t*)(p)) & 0x00400000)
#define HCI_LINK_KEY_NOTIFICATION_EV(p) (*((uint32_t*)(p)) & 0x00800000)
#define HCI_LOOPBACK_COMMAND_EV(p) (*((uint32_t*)(p)) & 0x01000000)
#define HCI_DATA_BUF_OVERFLOW_EV(p) (*((uint32_t*)(p)) & 0x02000000)
#define HCI_MAX_SLOTS_CHANGE_EV(p) (*((uint32_t*)(p)) & 0x04000000)
#define HCI_READ_CLOCK_OFFSET_COMP_EV(p) (*((uint32_t*)(p)) & 0x08000000)
#define HCI_CONN_PKT_TYPE_CHANGED_EV(p) (*((uint32_t*)(p)) & 0x10000000)
#define HCI_QOS_VIOLATION_EV(p) (*((uint32_t*)(p)) & 0x20000000)
#define HCI_PAGE_SCAN_MODE_CHANGED_EV(p) (*((uint32_t*)(p)) & 0x40000000)
#define HCI_PAGE_SCAN_REP_MODE_CHNG_EV(p) (*((uint32_t*)(p)) & 0x80000000)

/* the event mask for 2.0 + EDR and later (includes Lisbon events) */
#define HCI_DUMO_EVENT_MASK_EXT \
  { 0x3D, 0xBF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF }
/*  0x00001FFF FFFFFFFF Default - no Lisbon events
    0x00000800 00000000 Synchronous Connection Complete Event
    0x00001000 00000000 Synchronous Connection Changed Event
    0x00002000 00000000 Sniff Subrate Event
    0x00004000 00000000 Extended Inquiry Result Event
    0x00008000 00000000 Encryption Key Refresh Complete Event
    0x00010000 00000000 IO Capability Request Event
    0x00020000 00000000 IO Capability Response Event
    0x00040000 00000000 User Confirmation Request Event
    0x00080000 00000000 User Passkey Request Event
    0x00100000 00000000 Remote OOB Data Request Event
    0x00200000 00000000 Simple Pairing Complete Event
    0x00400000 00000000 Generic AMP Link Key Notification Event
    0x00800000 00000000 Link Supervision Timeout Changed Event
    0x01000000 00000000 Enhanced Flush Complete Event
    0x04000000 00000000 User Passkey Notification Event
    0x08000000 00000000 Keypress Notification Event
    0x10000000 00000000 Remote Host Supported Features Notification Event
    0x20000000 00000000 LE Meta Event
 */

/*
 * Definitions for packet type masks (BT1.2 and BT2.0 definitions)
*/
typedef enum : uint16_t {
  HCI_PKT_TYPES_MASK_NO_2_DH1 = 0x0002,
  HCI_PKT_TYPES_MASK_NO_3_DH1 = 0x0004,
  HCI_PKT_TYPES_MASK_DM1 = 0x0008,
  HCI_PKT_TYPES_MASK_DH1 = 0x0010,
  HCI_PKT_TYPES_MASK_HV1 = 0x0020,
  HCI_PKT_TYPES_MASK_HV2 = 0x0040,
  HCI_PKT_TYPES_MASK_HV3 = 0x0080,
  HCI_PKT_TYPES_MASK_NO_2_DH3 = 0x0100,
  HCI_PKT_TYPES_MASK_NO_3_DH3 = 0x0200,
  HCI_PKT_TYPES_MASK_DM3 = 0x0400,
  HCI_PKT_TYPES_MASK_DH3 = 0x0800,
  HCI_PKT_TYPES_MASK_NO_2_DH5 = 0x1000,
  HCI_PKT_TYPES_MASK_NO_3_DH5 = 0x2000,
  HCI_PKT_TYPES_MASK_DM5 = 0x4000,
  HCI_PKT_TYPES_MASK_DH5 = 0x8000,
} tHCI_PKT_TYPE_BITMASK;

/*
 * Define parameters to allow role switch during create connection
*/
#define HCI_CR_CONN_NOT_ALLOW_SWITCH 0x00
#define HCI_CR_CONN_ALLOW_SWITCH 0x01

/* Page scan period modes */
#define HCI_PAGE_SCAN_REP_MODE_R1 0x01

/* Page scan modes */
#define HCI_MANDATARY_PAGE_SCAN_MODE 0x00

/* Page and inquiry scan types */
#define HCI_SCAN_TYPE_STANDARD 0x00
#define HCI_DEF_SCAN_TYPE HCI_SCAN_TYPE_STANDARD

/* Definitions for Extended Inquiry Response */
#define HCI_EXT_INQ_RESPONSE_LEN 240
#define HCI_EIR_FLAGS_TYPE 0x01
#define HCI_EIR_MORE_16BITS_UUID_TYPE 0x02
#define HCI_EIR_COMPLETE_16BITS_UUID_TYPE 0x03
#define HCI_EIR_MORE_32BITS_UUID_TYPE 0x04
#define HCI_EIR_COMPLETE_32BITS_UUID_TYPE 0x05
#define HCI_EIR_MORE_128BITS_UUID_TYPE 0x06
#define HCI_EIR_COMPLETE_128BITS_UUID_TYPE 0x07
#define HCI_EIR_SHORTENED_LOCAL_NAME_TYPE 0x08
#define HCI_EIR_COMPLETE_LOCAL_NAME_TYPE 0x09
#define HCI_EIR_TX_POWER_LEVEL_TYPE 0x0A
#define HCI_EIR_MANUFACTURER_SPECIFIC_TYPE 0xFF
#define HCI_EIR_SERVICE_DATA_TYPE 0x16
#define HCI_EIR_SERVICE_DATA_16BITS_UUID_TYPE 0x16
#define HCI_EIR_SERVICE_DATA_32BITS_UUID_TYPE 0x20
#define HCI_EIR_SERVICE_DATA_128BITS_UUID_TYPE 0x21
#define HCI_EIR_OOB_BD_ADDR_TYPE 0x0C
#define HCI_EIR_OOB_COD_TYPE 0x0D
#define HCI_EIR_OOB_SSP_HASH_C_TYPE 0x0E
#define HCI_EIR_OOB_SSP_RAND_R_TYPE 0x0F
#define HCI_EIR_RSI_TYPE 0x2E
#define HCI_EIR_APPEARANCE_TYPE 0x19

/* Definitions for Write Simple Pairing Mode */
#define HCI_SP_MODE_ENABLED 0x01

/* Definitions for Write Secure Connections Host Support */
#define HCI_SC_MODE_ENABLED 0x01

/* Filters that are sent in set filter command */
#define HCI_FILTER_CONNECTION_SETUP 0x02

#define HCI_FILTER_COND_NEW_DEVICE 0x00
#define HCI_FILTER_COND_DEVICE_CLASS 0x01
#define HCI_FILTER_COND_BD_ADDR 0x02

/* role switch disabled */
#define HCI_DO_AUTO_ACCEPT_CONNECT 2

/* PIN type */
#define HCI_PIN_TYPE_FIXED 1

/* Scan enable flags */
#define HCI_INQUIRY_SCAN_ENABLED 0x01
#define HCI_PAGE_SCAN_ENABLED 0x02

/* Pagescan timer definitions in 0.625 ms */
#define HCI_DEF_PAGESCAN_INTERVAL 0x0800 /* 1.28 sec */

/* Parameter for pagescan window is passed to LC and is kept in slots */
#define HCI_DEF_PAGESCAN_WINDOW 0x12   /* 11.25 ms  */

/* Inquiryscan timer definitions in 0.625 ms */
#define HCI_DEF_INQUIRYSCAN_INTERVAL 0x1000 /* 2.56 sec */

/* Parameter for inquiryscan window is passed to LC and is kept in slots */
#define HCI_DEF_INQUIRYSCAN_WINDOW 0x12   /* 11.25 ms */

/* Encryption modes */
typedef enum : uint8_t {
  HCI_ENCRYPT_MODE_DISABLED = 0x00,
  HCI_ENCRYPT_MODE_ON = 0x01,
  HCI_ENCRYPT_MODE_ON_BR_EDR_AES_CCM = 0x02,
} tHCI_ENCRYPT_MODE;

/* Voice settings */
#define HCI_INP_CODING_LINEAR 0x0000 /* 0000000000 */
#define HCI_INP_CODING_U_LAW 0x0100  /* 0100000000 */
#define HCI_INP_CODING_A_LAW 0x0200  /* 1000000000 */

#define HCI_INP_DATA_FMT_2S_COMPLEMENT 0x0040  /* 0001000000 */
#define HCI_INP_DATA_FMT_SIGN_MAGNITUDE 0x0080 /* 0010000000 */
#define HCI_INP_DATA_FMT_UNSIGNED 0x00c0       /* 0011000000 */

#define HCI_INP_SAMPLE_SIZE_8BIT 0x0000  /* 0000000000 */
#define HCI_INP_SAMPLE_SIZE_16BIT 0x0020 /* 0000100000 */

#define HCI_INP_LINEAR_PCM_BIT_POS_OFFS 2

#define HCI_AIR_CODING_FORMAT_CVSD 0x0000     /* 0000000000 */
#define HCI_AIR_CODING_FORMAT_U_LAW 0x0001    /* 0000000001 */
#define HCI_AIR_CODING_FORMAT_A_LAW 0x0002    /* 0000000010 */
#define HCI_AIR_CODING_FORMAT_TRANSPNT 0x0003 /* 0000000011 */
#define HCI_AIR_CODING_FORMAT_MASK 0x0003     /* 0000000011 */

/* default                                        0001100000 */
#define HCI_DEFAULT_VOICE_SETTINGS                          \
  (HCI_INP_CODING_LINEAR | HCI_INP_DATA_FMT_2S_COMPLEMENT | \
   HCI_INP_SAMPLE_SIZE_16BIT | HCI_AIR_CODING_FORMAT_CVSD)

/* Retransmit timer definitions in 0.625 */
#define HCI_MAX_AUTOMATIC_FLUSH_TIMEOUT 0x07FF

/* Default Link Supervision timeoout */
#define HCI_DEFAULT_INACT_TOUT 0x7D00     /* BR/EDR (20 seconds) */

/* Read transmit power level parameter */
#define HCI_READ_CURRENT 0x00

/* Link types for connection complete event */
#define HCI_LINK_TYPE_SCO 0x00
#define HCI_LINK_TYPE_ACL 0x01
#define HCI_LINK_TYPE_ESCO 0x02

/* Link Key Notification Event (Key Type) definitions */
#define HCI_LKEY_TYPE_COMBINATION 0x00
#define HCI_LKEY_TYPE_REMOTE_UNIT 0x02
#define HCI_LKEY_TYPE_DEBUG_COMB 0x03
#define HCI_LKEY_TYPE_UNAUTH_COMB 0x04
#define HCI_LKEY_TYPE_AUTH_COMB 0x05
#define HCI_LKEY_TYPE_CHANGED_COMB 0x06
#define HCI_LKEY_TYPE_UNAUTH_COMB_P_256 0x07
#define HCI_LKEY_TYPE_AUTH_COMB_P_256 0x08

/* Define an invalid value for a handle */
#define HCI_INVALID_HANDLE 0xFFFF

/* Define the max valid value for a connection handle */
#define HCI_HANDLE_MAX 0xEFF

/* Define the preamble length for all HCI Commands.
 * This is 2-bytes for opcode and 1 byte for length
*/
#define HCIC_PREAMBLE_SIZE 3

/* Define the preamble length for all HCI Events
 * This is 1-byte for opcode and 1 byte for length
*/
#define HCIE_PREAMBLE_SIZE 2

// Packet boundary flags
constexpr uint8_t kFIRST_NON_AUTOMATICALLY_FLUSHABLE = 0x0;
constexpr uint8_t kCONTINUING_FRAGMENT = 0x1;
constexpr uint8_t kHCI_FIRST_AUTOMATICALLY_FLUSHABLE = 0x2;

struct HciDataPreambleBits {
  uint16_t handle : 12;
  uint16_t boundary : 2;
  uint16_t broadcast : 1;
  uint16_t unused15 : 1;
  uint16_t length;
};
struct HciDataPreambleRaw {
  uint16_t word0;
  uint16_t word1;
};
union HciDataPreamble {
  HciDataPreambleBits bits;
  HciDataPreambleRaw raw;
  void Serialize(uint8_t* data) {
    *data++ = ((raw.word0) & 0xff);
    *data++ = (((raw.word0) >> 8) & 0xff);
    *data++ = ((raw.word1) & 0xff);
    *data++ = (((raw.word1 >> 8)) & 0xff);
  }
  bool IsFlushable() const {
    return bits.boundary == kHCI_FIRST_AUTOMATICALLY_FLUSHABLE;
  }
  void SetFlushable() { bits.boundary = kHCI_FIRST_AUTOMATICALLY_FLUSHABLE; }
};
#define HCI_DATA_PREAMBLE_SIZE sizeof(HciDataPreamble)
static_assert(HCI_DATA_PREAMBLE_SIZE == 4);
static_assert(sizeof(HciDataPreambleRaw) == sizeof(HciDataPreambleBits));

/* local Bluetooth controller id for AMP HCI */
#define LOCAL_BR_EDR_CONTROLLER_ID 0

/* Define the extended flow specification fields used by AMP */
typedef struct {
  uint8_t id;
  uint8_t stype;
  uint16_t max_sdu_size;
  uint32_t sdu_inter_time;
  uint32_t access_latency;
  uint32_t flush_timeout;
} tHCI_EXT_FLOW_SPEC;

/* Parameter information for HCI_BRCM_SET_ACL_PRIORITY */
#define HCI_BRCM_ACL_PRIORITY_PARAM_SIZE 3
#define HCI_BRCM_SET_ACL_PRIORITY (0x0057 | HCI_GRP_VENDOR_SPECIFIC)
#define HCI_BRCM_ACL_NORMAL_PRIORITY 0x00
#define HCI_BRCM_ACL_HIGH_PRIORITY 0xFF
#define HCI_BRCM_ACL_HIGH_PRIORITY_LOW_LATENCY 0xF3

#define LMP_COMPID_GOOGLE 0xE0

// TODO(zachoverflow): remove this once broadcom specific hacks are removed
#define LMP_COMPID_BROADCOM 15

// TODO: Remove this once Synaptics specific code is removed
#define LMP_COMPID_SYNAPTICS 0x0A76

// TODO Remove this once all QTI specific hacks are removed.
#define LMP_COMPID_QTI 0x001D

// TODO Remove this once all UNISOC specific hacks are removed.
#define LMP_COMPID_UNISOC 0x073F

// TODO Remove this once all Mediatek specific hacks are removed.
#define LMP_COMPID_MEDIATEK 0x0046

/* Parameter information for HCI_SYNA_SET_ACL_PRIORITY */
#define HCI_SYNA_ACL_PRIORITY_PARAM_SIZE 3
#define HCI_SYNA_ACL_NORMAL_PRIORITY 0xF0
#define HCI_SYNA_ACL_HIGH_PRIORITY 0xF2
#define HCI_SYNA_ACL_HIGH_PRIORITY_LOW_LATENCY 0xF3
#define HCI_SYNA_SET_ACL_PRIORITY (0x0057 | HCI_GRP_VENDOR_SPECIFIC)

/* Parameter information for HCI_UNISOC_SET_ACL_PRIORITY */
#define HCI_UNISOC_ACL_PRIORITY_PARAM_SIZE 3
#define HCI_UNISOC_SET_ACL_PRIORITY (0x0057 | HCI_GRP_VENDOR_SPECIFIC)
#define HCI_UNISOC_ACL_NORMAL_PRIORITY 0x00
#define HCI_UNISOC_ACL_HIGH_PRIORITY 0xFF

/* Parameter information for HCI_MTK_SET_ACL_PRIORITY */
#define HCI_MTK_ACL_PRIORITY_PARAM_SIZE 4
#define HCI_MTK_SET_ACL_PRIORITY (0xFD95 | HCI_GRP_VENDOR_SPECIFIC)
#define HCI_MTK_ACL_NORMAL_PRIORITY 0x00
#define HCI_MTK_ACL_HIGH_PRIORITY 0x01

/*
 * Define packet size
*/
#define HCI_DM1_PACKET_SIZE 17
#define HCI_DH1_PACKET_SIZE 27
#define HCI_DM3_PACKET_SIZE 121
#define HCI_DH3_PACKET_SIZE 183
#define HCI_DM5_PACKET_SIZE 224
#define HCI_DH5_PACKET_SIZE 339
#define HCI_AUX1_PACKET_SIZE 29
#define HCI_HV1_PACKET_SIZE 10
#define HCI_HV2_PACKET_SIZE 20
#define HCI_HV3_PACKET_SIZE 30
#define HCI_DV_PACKET_SIZE 9
#define HCI_EDR2_DH1_PACKET_SIZE 54
#define HCI_EDR2_DH3_PACKET_SIZE 367
#define HCI_EDR2_DH5_PACKET_SIZE 679
#define HCI_EDR3_DH1_PACKET_SIZE 83
#define HCI_EDR3_DH3_PACKET_SIZE 552
#define HCI_EDR3_DH5_PACKET_SIZE 1021

/* Feature Pages */
#define HCI_EXT_FEATURES_PAGE_MAX 3  // Parse feature pages 0-3

#define HCI_FEATURE_BYTES_PER_PAGE 8

#define HCI_EXT_FEATURES_SUCCESS_EVT_LEN 13

/* LMP features encoding - page 0 */
#define HCI_3_SLOT_PACKETS_SUPPORTED(x) ((x)[0] & 0x01)
#define HCI_5_SLOT_PACKETS_SUPPORTED(x) ((x)[0] & 0x02)
#define HCI_ENCRYPTION_SUPPORTED(x) ((x)[0] & 0x04)
#define HCI_SLOT_OFFSET_SUPPORTED(x) ((x)[0] & 0x08)
#define HCI_TIMING_ACC_SUPPORTED(x) ((x)[0] & 0x10)
#define HCI_SWITCH_SUPPORTED(x) ((x)[0] & 0x20)
#define HCI_HOLD_MODE_SUPPORTED(x) ((x)[0] & 0x40)
#define HCI_SNIFF_MODE_SUPPORTED(x) ((x)[0] & 0x80)

#define HCI_PARK_MODE_SUPPORTED(x) ((x)[1] & 0x01)
#define HCI_RSSI_SUPPORTED(x) ((x)[1] & 0x02)
#define HCI_CQM_DATA_RATE_SUPPORTED(x) ((x)[1] & 0x04)
#define HCI_SCO_LINK_SUPPORTED(x) ((x)[1] & 0x08)
#define HCI_HV2_PACKETS_SUPPORTED(x) ((x)[1] & 0x10)
#define HCI_HV3_PACKETS_SUPPORTED(x) ((x)[1] & 0x20)
#define HCI_LMP_U_LAW_SUPPORTED(x) ((x)[1] & 0x40)
#define HCI_LMP_A_LAW_SUPPORTED(x) ((x)[1] & 0x80)

#define HCI_LMP_CVSD_SUPPORTED(x) ((x)[2] & 0x01)
#define HCI_PAGING_SCHEME_SUPPORTED(x) ((x)[2] & 0x02)
#define HCI_POWER_CTRL_SUPPORTED(x) ((x)[2] & 0x04)
#define HCI_LMP_TRANSPNT_SUPPORTED(x) ((x)[2] & 0x08)
#define HCI_FLOW_CTRL_LAG_VALUE(x) (((x)[2] & 0x70) >> 4)
#define HCI_LMP_BCAST_ENC_SUPPORTED(x) ((x)[2] & 0x80)

#define HCI_LMP_SCATTER_MODE_SUPPORTED(x) ((x)[3] & 0x01)
#define HCI_EDR_ACL_2MPS_SUPPORTED(x) ((x)[3] & 0x02)
#define HCI_EDR_ACL_3MPS_SUPPORTED(x) ((x)[3] & 0x04)
#define HCI_ENHANCED_INQ_SUPPORTED(x) ((x)[3] & 0x08)
#define HCI_LMP_INTERLACED_INQ_SCAN_SUPPORTED(x) ((x)[3] & 0x10)
#define HCI_LMP_INTERLACED_PAGE_SCAN_SUPPORTED(x) ((x)[3] & 0x20)
#define HCI_LMP_INQ_RSSI_SUPPORTED(x) ((x)[3] & 0x40)
#define HCI_ESCO_EV3_SUPPORTED(x) ((x)[3] & 0x80)

#define HCI_ESCO_EV4_SUPPORTED(x) ((x)[4] & 0x01)
#define HCI_ESCO_EV5_SUPPORTED(x) ((x)[4] & 0x02)
#define HCI_LMP_ABSENCE_MASKS_SUPPORTED(x) ((x)[4] & 0x04)
#define HCI_LMP_AFH_CAP_PERIPHERAL_SUPPORTED(x) ((x)[4] & 0x08)
#define HCI_LMP_AFH_CLASS_PERIPHERAL_SUPPORTED(x) ((x)[4] & 0x10)
#define HCI_BREDR_NOT_SPT_SUPPORTED(x) ((x)[4] & 0x20)
#define HCI_LE_SPT_SUPPORTED(x) ((x)[4] & 0x40)
#define HCI_3_SLOT_EDR_ACL_SUPPORTED(x) ((x)[4] & 0x80)

#define HCI_5_SLOT_EDR_ACL_SUPPORTED(x) ((x)[5] & 0x01)
#define HCI_SNIFF_SUB_RATE_SUPPORTED(x) (static_cast<bool>((x)[5] & 0x02))
#define HCI_ATOMIC_ENCRYPT_SUPPORTED(x) ((x)[5] & 0x04)
#define HCI_LMP_AFH_CAP_MASTR_SUPPORTED(x) ((x)[5] & 0x08)
#define HCI_LMP_AFH_CLASS_MASTR_SUPPORTED(x) ((x)[5] & 0x10)
#define HCI_EDR_ESCO_2MPS_SUPPORTED(x) ((x)[5] & 0x20)
#define HCI_EDR_ESCO_3MPS_SUPPORTED(x) ((x)[5] & 0x40)
#define HCI_3_SLOT_EDR_ESCO_SUPPORTED(x) ((x)[5] & 0x80)

#define HCI_EXT_INQ_RSP_SUPPORTED(x) ((x)[6] & 0x01)
#define HCI_SIMUL_LE_BREDR_SUPPORTED(x) ((x)[6] & 0x02)
#define HCI_ANUM_PIN_CAP_SUPPORTED(x) ((x)[6] & 0x04)
#define HCI_SIMPLE_PAIRING_SUPPORTED(x) ((x)[6] & 0x08)
#define HCI_ENCAP_PDU_SUPPORTED(x) ((x)[6] & 0x10)
#define HCI_ERROR_DATA_SUPPORTED(x) ((x)[6] & 0x20)
/* This feature is causing frequent link drops when doing call switch with
 * certain av/hfp headsets */
// TODO: move the disabling somewhere else
#define HCI_NON_FLUSHABLE_PB_SUPPORTED(x) (0)  //((x)[6] & 0x40)
#define HCI_LINK_SUP_TO_EVT_SUPPORTED(x) ((x)[7] & 0x01)
#define HCI_INQ_RESP_TX_SUPPORTED(x) ((x)[7] & 0x02)
#define HCI_LMP_EXTENDED_SUPPORTED(x) ((x)[7] & 0x80)

/* LMP features encoding - page 1 */
#define HCI_SSP_HOST_SUPPORTED(x) ((x)[0] & 0x01)
#define HCI_LE_HOST_SUPPORTED(x) ((x)[0] & 0x02)
#define HCI_SIMUL_DUMO_HOST_SUPPORTED(x) ((x)[0] & 0x04)
#define HCI_SC_HOST_SUPPORTED(x) ((x)[0] & 0x08)

/* LMP features encoding - page 2 */
#define HCI_CSB_CENTRAL_SUPPORTED(x) ((x)[0] & 0x01)
#define HCI_CSB_PERIPHERAL_SUPPORTED(x) ((x)[0] & 0x02)
#define HCI_SYNC_TRAIN_CENTRAL_SUPPORTED(x) ((x)[0] & 0x04)
#define HCI_SYNC_SCAN_PERIPHERAL_SUPPORTED(x) ((x)[0] & 0x08)
#define HCI_INQ_RESP_NOTIF_SUPPORTED(x) ((x)[0] & 0x10)

#define HCI_SC_CTRLR_SUPPORTED(x) ((x)[1] & 0x01)
#define HCI_PING_SUPPORTED(x) ((x)[1] & 0x02)

/*  LE features encoding - page 0 (the only page for now) */
#define HCI_LE_ENCRYPTION_SUPPORTED(x) ((x)[0] & 0x01)
#define HCI_LE_CONN_PARAM_REQ_SUPPORTED(x) ((x)[0] & 0x02)
#define HCI_LE_EXT_REJ_IND_SUPPORTED(x) ((x)[0] & 0x04)
#define HCI_LE_PERIPHERAL_INIT_FEAT_EXC_SUPPORTED(x) ((x)[0] & 0x08)
#define HCI_LE_DATA_LEN_EXT_SUPPORTED(x) ((x)[0] & 0x20)
#define HCI_LE_ENHANCED_PRIVACY_SUPPORTED(x) ((x)[0] & 0x40)
#define HCI_LE_EXT_SCAN_FILTER_POLICY_SUPPORTED(x) ((x)[0] & 0x80)

#define HCI_LE_2M_PHY_SUPPORTED(x) ((x)[1] & 0x01)
#define HCI_LE_CODED_PHY_SUPPORTED(x) ((x)[1] & 0x08)
#define HCI_LE_EXTENDED_ADVERTISING_SUPPORTED(x) ((x)[1] & 0x10)
#define HCI_LE_PERIODIC_ADVERTISING_SUPPORTED(x) ((x)[1] & 0x20)
#define HCI_LE_PERIODIC_ADVERTISING_SYNC_TRANSFER_SENDER(x) ((x)[3] & 0x01)
#define HCI_LE_PERIODIC_ADVERTISING_SYNC_TRANSFER_RECIPIENT(x) ((x)[3] & 0x02)
#define HCI_LE_CIS_CENTRAL(x) ((x)[3] & 0x10)
#define HCI_LE_CIS_PERIPHERAL(x) ((x)[3] & 0x20)
#define HCI_LE_ISO_BROADCASTER(x) ((x)[3] & 0x40)
#define HCI_LE_SYNCHRONIZED_RECEIVER(x) ((x)[3] & 0x80)

#define HCI_LE_CONN_SUBRATING_SUPPORT(x) ((x)[4] & 0x20)
#define HCI_LE_CONN_SUBRATING_HOST_SUPPORT(x) ((x)[4] & 0x40)

/* Supported Commands*/
#define HCI_NUM_SUPP_COMMANDS_BYTES 64

#define HCI_INQUIRY_SUPPORTED(x) ((x)[0] & 0x01)
#define HCI_INQUIRY_CANCEL_SUPPORTED(x) ((x)[0] & 0x02)
#define HCI_PERIODIC_INQUIRY_SUPPORTED(x) ((x)[0] & 0x04)
#define HCI_EXIT_PERIODIC_INQUIRY_SUPPORTED(x) ((x)[0] & 0x08)
#define HCI_CREATE_CONN_SUPPORTED(x) ((x)[0] & 0x10)
#define HCI_DISCONNECT_SUPPORTED(x) ((x)[0] & 0x20)
#define HCI_ADD_SCO_CONN_SUPPORTED(x) ((x)[0] & 0x40)
#define HCI_CANCEL_CREATE_CONN_SUPPORTED(x) ((x)[0] & 0x80)

#define HCI_ACCEPT_CONN_REQUEST_SUPPORTED(x) ((x)[1] & 0x01)
#define HCI_REJECT_CONN_REQUEST_SUPPORTED(x) ((x)[1] & 0x02)
#define HCI_LINK_KEY_REQUEST_REPLY_SUPPORTED(x) ((x)[1] & 0x04)
#define HCI_LINK_KEY_REQUEST_NEG_REPLY_SUPPORTED(x) ((x)[1] & 0x08)
#define HCI_PIN_CODE_REQUEST_REPLY_SUPPORTED(x) ((x)[1] & 0x10)
#define HCI_PIN_CODE_REQUEST_NEG_REPLY_SUPPORTED(x) ((x)[1] & 0x20)
#define HCI_CHANGE_CONN_PKT_TYPE_SUPPORTED(x) ((x)[1] & 0x40)
#define HCI_AUTH_REQUEST_SUPPORTED(x) ((x)[1] & 0x80)

#define HCI_SET_CONN_ENCRYPTION_SUPPORTED(x) ((x)[2] & 0x01)
#define HCI_CHANGE_CONN_LINK_KEY_SUPPORTED(x) ((x)[2] & 0x02)
#define HCI_CENTRAL_LINK_KEY_SUPPORTED(x) ((x)[2] & 0x04)
#define HCI_REMOTE_NAME_REQUEST_SUPPORTED(x) ((x)[2] & 0x08)
#define HCI_CANCEL_REMOTE_NAME_REQUEST_SUPPORTED(x) ((x)[2] & 0x10)
#define HCI_READ_REMOTE_SUPP_FEATURES_SUPPORTED(x) ((x)[2] & 0x20)
#define HCI_READ_REMOTE_EXT_FEATURES_SUPPORTED(x) ((x)[2] & 0x40)
#define HCI_READ_REMOTE_VER_INFO_SUPPORTED(x) ((x)[2] & 0x80)

#define HCI_READ_CLOCK_OFFSET_SUPPORTED(x) ((x)[3] & 0x01)
#define HCI_READ_LMP_HANDLE_SUPPORTED(x) ((x)[3] & 0x02)
/* rest of bits in 3-rd byte are reserved */

#define HCI_HOLD_MODE_CMD_SUPPORTED(x) ((x)[4] & 0x02)
#define HCI_SNIFF_MODE_CMD_SUPPORTED(x) ((x)[4] & 0x04)
#define HCI_EXIT_SNIFF_MODE_SUPPORTED(x) ((x)[4] & 0x08)
#define HCI_PARK_STATE_SUPPORTED(x) ((x)[4] & 0x10)
#define HCI_EXIT_PARK_STATE_SUPPORTED(x) ((x)[4] & 0x20)
#define HCI_QOS_SETUP_SUPPORTED(x) ((x)[4] & 0x40)
#define HCI_ROLE_DISCOVERY_SUPPORTED(x) ((x)[4] & 0x80)

#define HCI_SWITCH_ROLE_SUPPORTED(x) ((x)[5] & 0x01)
#define HCI_READ_LINK_POLICY_SET_SUPPORTED(x) ((x)[5] & 0x02)
#define HCI_WRITE_LINK_POLICY_SET_SUPPORTED(x) ((x)[5] & 0x04)
#define HCI_READ_DEF_LINK_POLICY_SET_SUPPORTED(x) ((x)[5] & 0x08)
#define HCI_WRITE_DEF_LINK_POLICY_SET_SUPPORTED(x) ((x)[5] & 0x10)
#define HCI_FLOW_SPECIFICATION_SUPPORTED(x) ((x)[5] & 0x20)
#define HCI_SET_EVENT_MASK_SUPPORTED(x) ((x)[5] & 0x40)
#define HCI_RESET_SUPPORTED(x) ((x)[5] & 0x80)

#define HCI_SET_EVENT_FILTER_SUPPORTED(x) ((x)[6] & 0x01)
#define HCI_FLUSH_SUPPORTED(x) ((x)[6] & 0x02)
#define HCI_READ_PIN_TYPE_SUPPORTED(x) ((x)[6] & 0x04)
#define HCI_WRITE_PIN_TYPE_SUPPORTED(x) ((x)[6] & 0x08)
#define HCI_READ_STORED_LINK_KEY_SUPPORTED(x) ((x)[6] & 0x20)
#define HCI_WRITE_STORED_LINK_KEY_SUPPORTED(x) ((x)[6] & 0x40)
#define HCI_DELETE_STORED_LINK_KEY_SUPPORTED(x) ((x)[6] & 0x80)

#define HCI_WRITE_LOCAL_NAME_SUPPORTED(x) ((x)[7] & 0x01)
#define HCI_READ_LOCAL_NAME_SUPPORTED(x) ((x)[7] & 0x02)
#define HCI_READ_CONN_ACCEPT_TOUT_SUPPORTED(x) ((x)[7] & 0x04)
#define HCI_WRITE_CONN_ACCEPT_TOUT_SUPPORTED(x) ((x)[7] & 0x08)
#define HCI_READ_PAGE_TOUT_SUPPORTED(x) ((x)[7] & 0x10)
#define HCI_WRITE_PAGE_TOUT_SUPPORTED(x) ((x)[7] & 0x20)
#define HCI_READ_SCAN_ENABLE_SUPPORTED(x) ((x)[7] & 0x40)
#define HCI_WRITE_SCAN_ENABLE_SUPPORTED(x) ((x)[7] & 0x80)

#define HCI_READ_PAGE_SCAN_ACTIVITY_SUPPORTED(x) ((x)[8] & 0x01)
#define HCI_WRITE_PAGE_SCAN_ACTIVITY_SUPPORTED(x) ((x)[8] & 0x02)
#define HCI_READ_INQURIY_SCAN_ACTIVITY_SUPPORTED(x) ((x)[8] & 0x04)
#define HCI_WRITE_INQURIY_SCAN_ACTIVITY_SUPPORTED(x) ((x)[8] & 0x08)
#define HCI_READ_AUTH_ENABLE_SUPPORTED(x) ((x)[8] & 0x10)
#define HCI_WRITE_AUTH_ENABLE_SUPPORTED(x) ((x)[8] & 0x20)
#define HCI_READ_ENCRYPT_ENABLE_SUPPORTED(x) ((x)[8] & 0x40)
#define HCI_WRITE_ENCRYPT_ENABLE_SUPPORTED(x) ((x)[8] & 0x80)

#define HCI_READ_CLASS_DEVICE_SUPPORTED(x) ((x)[9] & 0x01)
#define HCI_WRITE_CLASS_DEVICE_SUPPORTED(x) ((x)[9] & 0x02)
#define HCI_READ_VOICE_SETTING_SUPPORTED(x) ((x)[9] & 0x04)
#define HCI_WRITE_VOICE_SETTING_SUPPORTED(x) ((x)[9] & 0x08)
#define HCI_READ_AUTOMATIC_FLUSH_TIMEOUT_SUPPORTED(x) ((x)[9] & 0x10)
#define HCI_WRITE_AUTOMATIC_FLUSH_TIMEOUT_SUPPORTED(x) ((x)[9] & 0x20)
#define HCI_READ_NUM_BROAD_RETRANS_SUPPORTED(x) ((x)[9] & 0x40)
#define HCI_WRITE_NUM_BROAD_RETRANS_SUPPORTED(x) ((x)[9] & 0x80)

#define HCI_READ_HOLD_MODE_ACTIVITY_SUPPORTED(x) ((x)[10] & 0x01)
#define HCI_WRITE_HOLD_MODE_ACTIVITY_SUPPORTED(x) ((x)[10] & 0x02)
#define HCI_READ_TRANS_PWR_LEVEL_SUPPORTED(x) ((x)[10] & 0x04)
#define HCI_READ_SYNCH_FLOW_CTRL_ENABLE_SUPPORTED(x) ((x)[10] & 0x08)
#define HCI_WRITE_SYNCH_FLOW_CTRL_ENABLE_SUPPORTED(x) ((x)[10] & 0x10)
#define HCI_SET_HOST_CTRLR_TO_HOST_FC_SUPPORTED(x) ((x)[10] & 0x20)
#define HCI_HOST_BUFFER_SIZE_SUPPORTED(x) ((x)[10] & 0x40)
#define HCI_HOST_NUM_COMPLETED_PKTS_SUPPORTED(x) ((x)[10] & 0x80)

#define HCI_READ_LINK_SUP_TOUT_SUPPORTED(x) ((x)[11] & 0x01)
#define HCI_WRITE_LINK_SUP_TOUT_SUPPORTED(x) ((x)[11] & 0x02)
#define HCI_READ_NUM_SUPP_IAC_SUPPORTED(x) ((x)[11] & 0x04)
#define HCI_READ_CURRENT_IAC_LAP_SUPPORTED(x) ((x)[11] & 0x08)
#define HCI_WRITE_CURRENT_IAC_LAP_SUPPORTED(x) ((x)[11] & 0x10)
#define HCI_READ_PAGE_SCAN_PER_MODE_SUPPORTED(x) ((x)[11] & 0x20)
#define HCI_WRITE_PAGE_SCAN_PER_MODE_SUPPORTED(x) ((x)[11] & 0x40)
#define HCI_READ_PAGE_SCAN_MODE_SUPPORTED(x) ((x)[11] & 0x80)

#define HCI_WRITE_PAGE_SCAN_MODE_SUPPORTED(x) ((x)[12] & 0x01)
#define HCI_SET_AFH_CHNL_CLASS_SUPPORTED(x) ((x)[12] & 0x02)
#define HCI_READ_INQUIRY_SCAN_TYPE_SUPPORTED(x) ((x)[12] & 0x10)
#define HCI_WRITE_INQUIRY_SCAN_TYPE_SUPPORTED(x) ((x)[12] & 0x20)
#define HCI_READ_INQUIRY_MODE_SUPPORTED(x) ((x)[12] & 0x40)
#define HCI_WRITE_INQUIRY_MODE_SUPPORTED(x) ((x)[12] & 0x80)

#define HCI_READ_PAGE_SCAN_TYPE_SUPPORTED(x) ((x)[13] & 0x01)
#define HCI_WRITE_PAGE_SCAN_TYPE_SUPPORTED(x) ((x)[13] & 0x02)
#define HCI_READ_AFH_CHNL_ASSESS_MODE_SUPPORTED(x) ((x)[13] & 0x04)
#define HCI_WRITE_AFH_CHNL_ASSESS_MODE_SUPPORTED(x) ((x)[13] & 0x08)

#define HCI_READ_LOCAL_VER_INFO_SUPPORTED(x) ((x)[14] & 0x08)
#define HCI_READ_LOCAL_SUP_CMDS_SUPPORTED(x) ((x)[14] & 0x10)
#define HCI_READ_LOCAL_SUPP_FEATURES_SUPPORTED(x) ((x)[14] & 0x20)
#define HCI_READ_LOCAL_EXT_FEATURES_SUPPORTED(x) ((x)[14] & 0x40)
#define HCI_READ_BUFFER_SIZE_SUPPORTED(x) ((x)[14] & 0x80)

#define HCI_READ_COUNTRY_CODE_SUPPORTED(x) ((x)[15] & 0x01)
#define HCI_READ_BD_ADDR_SUPPORTED(x) ((x)[15] & 0x02)
#define HCI_READ_FAIL_CONTACT_CNTR_SUPPORTED(x) ((x)[15] & 0x04)
#define HCI_RESET_FAIL_CONTACT_CNTR_SUPPORTED(x) ((x)[15] & 0x08)
#define HCI_GET_LINK_QUALITY_SUPPORTED(x) ((x)[15] & 0x10)
#define HCI_READ_RSSI_SUPPORTED(x) ((x)[15] & 0x20)
#define HCI_READ_AFH_CH_MAP_SUPPORTED(x) ((x)[15] & 0x40)
#define HCI_READ_BD_CLOCK_SUPPORTED(x) ((x)[15] & 0x80)

#define HCI_READ_LOOPBACK_MODE_SUPPORTED(x) ((x)[16] & 0x01)
#define HCI_WRITE_LOOPBACK_MODE_SUPPORTED(x) ((x)[16] & 0x02)
#define HCI_ENABLE_DEV_UNDER_TEST_SUPPORTED(x) ((x)[16] & 0x04)
#define HCI_SETUP_SYNCH_CONN_SUPPORTED(x) ((x)[16] & 0x08)
#define HCI_ACCEPT_SYNCH_CONN_SUPPORTED(x) ((x)[16] & 0x10)
#define HCI_REJECT_SYNCH_CONN_SUPPORTED(x) ((x)[16] & 0x20)

#define HCI_READ_EXT_INQUIRY_RESP_SUPPORTED(x) ((x)[17] & 0x01)
#define HCI_WRITE_EXT_INQUIRY_RESP_SUPPORTED(x) ((x)[17] & 0x02)
#define HCI_REFRESH_ENCRYPTION_KEY_SUPPORTED(x) ((x)[17] & 0x04)
#define HCI_SNIFF_SUB_RATE_CMD_SUPPORTED(x) ((x)[17] & 0x10)
#define HCI_READ_SIMPLE_PAIRING_MODE_SUPPORTED(x) ((x)[17] & 0x20)
#define HCI_WRITE_SIMPLE_PAIRING_MODE_SUPPORTED(x) ((x)[17] & 0x40)
#define HCI_READ_LOCAL_OOB_DATA_SUPPORTED(x) ((x)[17] & 0x80)

#define HCI_READ_INQUIRY_RESPONSE_TX_POWER_SUPPORTED(x) ((x)[18] & 0x01)
#define HCI_WRITE_INQUIRY_RESPONSE_TX_POWER_SUPPORTED(x) ((x)[18] & 0x02)
#define HCI_READ_DEFAULT_ERRONEOUS_DATA_REPORTING_SUPPORTED(x) ((x)[18] & 0x04)
#define HCI_WRITE_DEFAULT_ERRONEOUS_DATA_REPORTING_SUPPORTED(x) ((x)[18] & 0x08)
#define HCI_IO_CAPABILITY_REQUEST_REPLY_SUPPORTED(x) ((x)[18] & 0x80)

#define HCI_USER_CONFIRMATION_REQUEST_REPLY_SUPPORTED(x) ((x)[19] & 0x01)
#define HCI_USER_CONFIRMATION_REQUEST_NEG_REPLY_SUPPORTED(x) ((x)[19] & 0x02)
#define HCI_USER_PASSKEY_REQUEST_REPLY_SUPPORTED(x) ((x)[19] & 0x04)
#define HCI_USER_PASSKEY_REQUEST_NEG_REPLY_SUPPORTED(x) ((x)[19] & 0x08)
#define HCI_REMOTE_OOB_DATA_REQUEST_REPLY_SUPPORTED(x) ((x)[19] & 0x10)
#define HCI_WRITE_SIMPLE_PAIRING_DBG_MODE_SUPPORTED(x) ((x)[19] & 0x20)
#define HCI_ENHANCED_FLUSH_SUPPORTED(x) ((x)[19] & 0x40)
#define HCI_REMOTE_OOB_DATA_REQUEST_NEG_REPLY_SUPPORTED(x) ((x)[19] & 0x80)

#define HCI_SEND_NOTIF_SUPPORTED(x) ((x)[20] & 0x04)
#define HCI_IO_CAP_REQ_NEG_REPLY_SUPPORTED(x) ((x)[20] & 0x08)
#define HCI_READ_ENCR_KEY_SIZE_SUPPORTED(x) ((x)[20] & 0x10)

#define HCI_CREATE_PHYSICAL_LINK_SUPPORTED(x) ((x)[21] & 0x01)
#define HCI_ACCEPT_PHYSICAL_LINK_SUPPORTED(x) ((x)[21] & 0x02)
#define HCI_DISCONNECT_PHYSICAL_LINK_SUPPORTED(x) ((x)[21] & 0x04)
#define HCI_CREATE_LOGICAL_LINK_SUPPORTED(x) ((x)[21] & 0x08)
#define HCI_ACCEPT_LOGICAL_LINK_SUPPORTED(x) ((x)[21] & 0x10)
#define HCI_DISCONNECT_LOGICAL_LINK_SUPPORTED(x) ((x)[21] & 0x20)
#define HCI_LOGICAL_LINK_CANCEL_SUPPORTED(x) ((x)[21] & 0x40)
#define HCI_FLOW_SPEC_MODIFY_SUPPORTED(x) ((x)[21] & 0x80)

#define HCI_READ_LOGICAL_LINK_ACCEPT_TIMEOUT_SUPPORTED(x) ((x)[22] & 0x01)
#define HCI_WRITE_LOGICAL_LINK_ACCEPT_TIMEOUT_SUPPORTED(x) ((x)[22] & 0x02)
#define HCI_SET_EVENT_MASK_PAGE_2_SUPPORTED(x) ((x)[22] & 0x04)
#define HCI_READ_LOCATION_DATA_SUPPORTED(x) ((x)[22] & 0x08)
#define HCI_WRITE_LOCATION_DATA_SUPPORTED(x) ((x)[22] & 0x10)
#define HCI_READ_LOCAL_AMP_INFO_SUPPORTED(x) ((x)[22] & 0x20)
#define HCI_READ_LOCAL_AMP_ASSOC_SUPPORTED(x) ((x)[22] & 0x40)
#define HCI_WRITE_REMOTE_AMP_ASSOC_SUPPORTED(x) ((x)[22] & 0x80)

#define HCI_READ_FLOW_CONTROL_MODE_SUPPORTED(x) ((x)[23] & 0x01)
#define HCI_WRITE_FLOW_CONTROL_MODE_SUPPORTED(x) ((x)[23] & 0x02)
#define HCI_READ_DATA_BLOCK_SIZE_SUPPORTED(x) ((x)[23] & 0x04)
#define HCI_ENABLE_AMP_RCVR_REPORTS_SUPPORTED(x) ((x)[23] & 0x20)
#define HCI_AMP_TEST_END_SUPPORTED(x) ((x)[23] & 0x40)
#define HCI_AMP_TEST_SUPPORTED(x) ((x)[23] & 0x80)

#define HCI_READ_TRANSMIT_POWER_LEVEL_SUPPORTED(x) ((x)[24] & 0x01)
#define HCI_READ_BE_FLUSH_TOUT_SUPPORTED(x) ((x)[24] & 0x04)
#define HCI_WRITE_BE_FLUSH_TOUT_SUPPORTED(x) ((x)[24] & 0x08)
#define HCI_SHORT_RANGE_MODE_SUPPORTED(x) ((x)[24] & 0x10)

#define HCI_ENH_SETUP_SYNCH_CONN_SUPPORTED(x) ((x)[29] & 0x08)
#define HCI_ENH_ACCEPT_SYNCH_CONN_SUPPORTED(x) ((x)[29] & 0x10)
#define HCI_READ_LOCAL_CODECS_SUPPORTED(x) ((x)[29] & 0x20)
#define HCI_SET_MWS_CHANNEL_PARAMETERS_SUPPORTED(x) ((x)[29] & 0x40)
#define HCI_SET_EXTERNAL_FRAME_CONFIGURATION_SUPPORTED(x) ((x)[29] & 0x80)

#define HCI_SET_MWS_SIGNALING_SUPPORTED(x) ((x)[30] & 0x01)
#define HCI_SET_MWS_TRANSPORT_LAYER_SUPPORTED(x) ((x)[30] & 0x02)
#define HCI_SET_MWS_SCAN_FREQUENCY_TABLE_SUPPORTED(x) ((x)[30] & 0x04)
#define HCI_GET_MWS_TRANS_LAYER_CFG_SUPPORTED(x) ((x)[30] & 0x08)
#define HCI_SET_MWS_PATTERN_CONFIGURATION_SUPPORTED(x) ((x)[30] & 0x10)
#define HCI_SET_TRIG_CLK_CAP_SUPPORTED(x) ((x)[30] & 0x20)
#define HCI_TRUNCATED_PAGE_SUPPORTED(x) ((x)[30] & 0x40)
#define HCI_TRUNCATED_PAGE_CANCEL_SUPPORTED(x) ((x)[30] & 0x80)

#define HCI_SET_CONLESS_PERIPHERAL_BRCST_SUPPORTED(x) ((x)[31] & 0x01)
#define HCI_SET_CONLESS_PERIPHERAL_BRCST_RECEIVE_SUPPORTED(x) ((x)[31] & 0x02)
#define HCI_START_SYNC_TRAIN_SUPPORTED(x) ((x)[31] & 0x04)
#define HCI_RECEIVE_SYNC_TRAIN_SUPPORTED(x) ((x)[31] & 0x08)
#define HCI_SET_RESERVED_LT_ADDR_SUPPORTED(x) ((x)[31] & 0x10)
#define HCI_DELETE_RESERVED_LT_ADDR_SUPPORTED(x) ((x)[31] & 0x20)
#define HCI_SET_CONLESS_PERIPHERAL_BRCST_DATA_SUPPORTED(x) ((x)[31] & 0x40)
#define HCI_READ_SYNC_TRAIN_PARAM_SUPPORTED(x) ((x)[31] & 0x80)

#define HCI_WRITE_SYNC_TRAIN_PARAM_SUPPORTED(x) ((x)[32] & 0x01)
#define HCI_REMOTE_OOB_EXTENDED_DATA_REQUEST_REPLY_SUPPORTED(x) ((x)[32] & 0x02)
#define HCI_READ_SECURE_CONNS_SUPPORT_SUPPORTED(x) ((x)[32] & 0x04)
#define HCI_WRITE_SECURE_CONNS_SUPPORT_SUPPORTED(x) ((x)[32] & 0x08)
#define HCI_READ_AUTHENT_PAYLOAD_TOUT_SUPPORTED(x) ((x)[32] & 0x10)
#define HCI_WRITE_AUTHENT_PAYLOAD_TOUT_SUPPORTED(x) ((x)[32] & 0x20)
#define HCI_READ_LOCAL_OOB_EXTENDED_DATA_SUPPORTED(x) ((x)[32] & 0x40)
#define HCI_WRITE_SECURE_CONNECTIONS_TEST_MODE_SUPPORTED(x) ((x)[32] & 0x80)

#define HCI_LE_RC_CONN_PARAM_UPD_RPY_SUPPORTED(x) ((x)[33] & 0x10)
#define HCI_LE_RC_CONN_PARAM_UPD_NEG_RPY_SUPPORTED(x) ((x)[33] & 0x20)

#define HCI_LE_READ_PHY_SUPPORTED(x) ((x)[35] & 0x10)
#define HCI_LE_SET_DEFAULT_PHY_SUPPORTED(x) ((x)[35] & 0x20)
#define HCI_LE_SET_PHY_SUPPORTED(x) ((x)[35] & 0x40)
#define HCI_LE_ENH_RX_TEST_SUPPORTED(x) ((x)[35] & 0x80)

#define HCI_LE_ENH_TX_TEST_SUPPORTED(x) ((x)[36] & 0x01)

#define HCI_LE_SET_PRIVACY_MODE_SUPPORTED(x) ((x)[39] & 0x04)

#define HCI_LE_SET_HOST_FEATURE_SUPPORTED(x) ((x)[44] & 0x02)

#define HCI_CONFIGURE_DATA_PATH_SUPPORTED(x) ((x)[45] & 0x20)

#endif
