Mistake on this page?
Report an issue in GitHub or email us
hci_defs.h File Reference

HCI constants and definitions from the Bluetooth specification. More...

Go to the source code of this file.

Macros

Packet definitions
#define HCI_CMD_HDR_LEN   3
 
#define HCI_ACL_HDR_LEN   4
 
#define HCI_ISO_HDR_LEN   4
 
#define HCI_EVT_HDR_LEN   2
 
#define HCI_EVT_PARAM_MAX_LEN   255
 
#define HCI_ACL_DEFAULT_LEN   27
 
#define HCI_PB_FLAG_MASK   0x3000
 
#define HCI_PB_START_H2C   0x0000
 
#define HCI_PB_CONTINUE   0x1000
 
#define HCI_PB_START_C2H   0x2000
 
#define HCI_HANDLE_MASK   0x0FFF
 
#define HCI_HANDLE_NONE   0xFFFF
 
#define HCI_ISO_DL_MIN_LEN   4
 
#define HCI_ISO_DL_MAX_LEN   8
 
#define HCI_ISO_TS_LEN   4
 
Packet types
#define HCI_CMD_TYPE   0x01
 
#define HCI_ACL_TYPE   0x02
 
#define HCI_EVT_TYPE   0x04
 
#define HCI_ISO_TYPE   0x05
 
Error codes
#define HCI_SUCCESS   0x00
 
#define HCI_ERR_UNKNOWN_CMD   0x01
 
#define HCI_ERR_UNKNOWN_HANDLE   0x02
 
#define HCI_ERR_HARDWARE_FAILURE   0x03
 
#define HCI_ERR_PAGE_TIMEOUT   0x04
 
#define HCI_ERR_AUTH_FAILURE   0x05
 
#define HCI_ERR_KEY_MISSING   0x06
 
#define HCI_ERR_MEMORY_EXCEEDED   0x07
 
#define HCI_ERR_CONN_TIMEOUT   0x08
 
#define HCI_ERR_CONN_LIMIT   0x09
 
#define HCI_ERR_SYNCH_CONN_LIMIT   0x0A
 
#define HCI_ERR_ACL_CONN_EXISTS   0x0B
 
#define HCI_ERR_CMD_DISALLOWED   0x0C
 
#define HCI_ERR_REJ_RESOURCES   0x0D
 
#define HCI_ERR_REJ_SECURITY   0x0E
 
#define HCI_ERR_REJ_BD_ADDR   0x0F
 
#define HCI_ERR_ACCEPT_TIMEOUT   0x10
 
#define HCI_ERR_UNSUP_FEAT   0x11
 
#define HCI_ERR_INVALID_PARAM   0x12
 
#define HCI_ERR_REMOTE_TERMINATED   0x13
 
#define HCI_ERR_REMOTE_RESOURCES   0x14
 
#define HCI_ERR_REMOTE_POWER_OFF   0x15
 
#define HCI_ERR_LOCAL_TERMINATED   0x16
 
#define HCI_ERR_REPEATED_ATTEMPTS   0x17
 
#define HCI_ERR_PAIRING_NOT_ALLOWED   0x18
 
#define HCI_ERR_UNKNOWN_LMP_PDU   0x19
 
#define HCI_ERR_UNSUP_REMOTE_FEAT   0x1A
 
#define HCI_ERR_SCO_OFFSET   0x1B
 
#define HCI_ERR_SCO_INTERVAL   0x1C
 
#define HCI_ERR_SCO_MODE   0x1D
 
#define HCI_ERR_LMP_PARAM   0x1E
 
#define HCI_ERR_UNSPECIFIED   0x1F
 
#define HCI_ERR_UNSUP_LMP_PARAM   0x20
 
#define HCI_ERR_ROLE_CHANGE   0x21
 
#define HCI_ERR_LL_RESP_TIMEOUT   0x22
 
#define HCI_ERR_LMP_COLLISION   0x23
 
#define HCI_ERR_LMP_PDU   0x24
 
#define HCI_ERR_ENCRYPT_MODE   0x25
 
#define HCI_ERR_LINK_KEY   0x26
 
#define HCI_ERR_UNSUP_QOS   0x27
 
#define HCI_ERR_INSTANT_PASSED   0x28
 
#define HCI_ERR_UNSUP_UNIT_KEY   0x29
 
#define HCI_ERR_TRANSACT_COLLISION   0x2A
 
#define HCI_ERR_CHANNEL_CLASS   0x2E
 
#define HCI_ERR_MEMORY   0x2F
 
#define HCI_ERR_PARAMETER_RANGE   0x30
 
#define HCI_ERR_ROLE_SWITCH_PEND   0x32
 
#define HCI_ERR_RESERVED_SLOT   0x34
 
#define HCI_ERR_ROLE_SWITCH   0x35
 
#define HCI_ERR_INQ_TOO_LARGE   0x36
 
#define HCI_ERR_UNSUP_SSP   0x37
 
#define HCI_ERR_HOST_BUSY_PAIRING   0x38
 
#define HCI_ERR_NO_CHANNEL   0x39
 
#define HCI_ERR_CONTROLLER_BUSY   0x3A
 
#define HCI_ERR_CONN_INTERVAL   0x3B
 
#define HCI_ERR_ADV_TIMEOUT   0x3C
 
#define HCI_ERR_MIC_FAILURE   0x3D
 
#define HCI_ERR_CONN_FAIL   0x3E
 
#define HCI_ERR_MAC_CONN_FAIL   0x3F
 
#define HCI_ERR_COARSE_CLK_ADJ_REJ   0x40
 
#define HCI_ERR_TYPE0_SUBMAP_NOT_DEF   0x41
 
#define HCI_ERR_UNKNOWN_ADV_ID   0x42
 
#define HCI_ERR_LIMIT_REACHED   0x43
 
#define HCI_ERR_OP_CANCELLED_BY_HOST   0x44
 
#define HCI_ERR_PKT_TOO_LONG   0x45
 
Command groups
#define HCI_OGF_NOP   0x00
 
#define HCI_OGF_LINK_CONTROL   0x01
 
#define HCI_OGF_LINK_POLICY   0x02
 
#define HCI_OGF_CONTROLLER   0x03
 
#define HCI_OGF_INFORMATIONAL   0x04
 
#define HCI_OGF_STATUS   0x05
 
#define HCI_OGF_TESTING   0x06
 
#define HCI_OGF_LE_CONTROLLER   0x08
 
#define HCI_OGF_VENDOR_SPEC   0x3F
 
NOP command
#define HCI_OCF_NOP   0x00
 
Link control commands
#define HCI_OCF_DISCONNECT   0x06
 
#define HCI_OCF_READ_REMOTE_VER_INFO   0x1D
 
Controller and baseband commands
#define HCI_OCF_SET_EVENT_MASK   0x01
 
#define HCI_OCF_RESET   0x03
 
#define HCI_OCF_READ_TX_PWR_LVL   0x2D
 
#define HCI_OCF_SET_CONTROLLER_TO_HOST_FC   0x31
 
#define HCI_OCF_HOST_BUFFER_SIZE   0x33
 
#define HCI_OCF_HOST_NUM_CMPL_PKTS   0x35
 
#define HCI_OCF_SET_EVENT_MASK_PAGE2   0x63
 
#define HCI_OCF_READ_AUTH_PAYLOAD_TO   0x7B
 
#define HCI_OCF_WRITE_AUTH_PAYLOAD_TO   0x7C
 
#define HCI_OCF_CONFIG_DATA_PATH   0x83
 
Informational commands
#define HCI_OCF_READ_LOCAL_VER_INFO   0x01
 
#define HCI_OCF_READ_LOCAL_SUP_CMDS   0x02
 
#define HCI_OCF_READ_LOCAL_SUP_FEAT   0x03
 
#define HCI_OCF_READ_BUF_SIZE   0x05
 
#define HCI_OCF_READ_BD_ADDR   0x09
 
#define HCI_OCF_READ_LOCAL_SUP_CODECS   0x0D
 
#define HCI_OCF_READ_LOCAL_SUP_CODEC_CAP   0x0E
 
#define HCI_OCF_READ_LOCAL_SUP_CONTROLLER_DLY   0x0F
 
Status commands
#define HCI_OCF_READ_RSSI   0x05
 
LE controller commands
#define HCI_OCF_LE_SET_EVENT_MASK   0x01
 
#define HCI_OCF_LE_READ_BUF_SIZE   0x02
 
#define HCI_OCF_LE_READ_LOCAL_SUP_FEAT   0x03
 
#define HCI_OCF_LE_SET_RAND_ADDR   0x05
 
#define HCI_OCF_LE_SET_ADV_PARAM   0x06
 
#define HCI_OCF_LE_READ_ADV_TX_POWER   0x07
 
#define HCI_OCF_LE_SET_ADV_DATA   0x08
 
#define HCI_OCF_LE_SET_SCAN_RESP_DATA   0x09
 
#define HCI_OCF_LE_SET_ADV_ENABLE   0x0A
 
#define HCI_OCF_LE_SET_SCAN_PARAM   0x0B
 
#define HCI_OCF_LE_SET_SCAN_ENABLE   0x0C
 
#define HCI_OCF_LE_CREATE_CONN   0x0D
 
#define HCI_OCF_LE_CREATE_CONN_CANCEL   0x0E
 
#define HCI_OCF_LE_READ_WHITE_LIST_SIZE   0x0F
 
#define HCI_OCF_LE_CLEAR_WHITE_LIST   0x10
 
#define HCI_OCF_LE_ADD_DEV_WHITE_LIST   0x11
 
#define HCI_OCF_LE_REMOVE_DEV_WHITE_LIST   0x12
 
#define HCI_OCF_LE_CONN_UPDATE   0x13
 
#define HCI_OCF_LE_SET_HOST_CHAN_CLASS   0x14
 
#define HCI_OCF_LE_READ_CHAN_MAP   0x15
 
#define HCI_OCF_LE_READ_REMOTE_FEAT   0x16
 
#define HCI_OCF_LE_ENCRYPT   0x17
 
#define HCI_OCF_LE_RAND   0x18
 
#define HCI_OCF_LE_START_ENCRYPTION   0x19
 
#define HCI_OCF_LE_LTK_REQ_REPL   0x1A
 
#define HCI_OCF_LE_LTK_REQ_NEG_REPL   0x1B
 
#define HCI_OCF_LE_READ_SUP_STATES   0x1C
 
#define HCI_OCF_LE_RECEIVER_TEST   0x1D
 
#define HCI_OCF_LE_TRANSMITTER_TEST   0x1E
 
#define HCI_OCF_LE_TEST_END   0x1F
 
#define HCI_OCF_LE_REM_CONN_PARAM_REP   0x20
 
#define HCI_OCF_LE_REM_CONN_PARAM_NEG_REP   0x21
 
#define HCI_OCF_LE_SET_DATA_LEN   0x22
 
#define HCI_OCF_LE_READ_DEF_DATA_LEN   0x23
 
#define HCI_OCF_LE_WRITE_DEF_DATA_LEN   0x24
 
#define HCI_OCF_LE_READ_LOCAL_P256_PUB_KEY   0x25
 
#define HCI_OCF_LE_GENERATE_DHKEY   0x26
 
#define HCI_OCF_LE_ADD_DEV_RES_LIST   0x27
 
#define HCI_OCF_LE_REMOVE_DEV_RES_LIST   0x28
 
#define HCI_OCF_LE_CLEAR_RES_LIST   0x29
 
#define HCI_OCF_LE_READ_RES_LIST_SIZE   0x2A
 
#define HCI_OCF_LE_READ_PEER_RES_ADDR   0x2B
 
#define HCI_OCF_LE_READ_LOCAL_RES_ADDR   0x2C
 
#define HCI_OCF_LE_SET_ADDR_RES_ENABLE   0x2D
 
#define HCI_OCF_LE_SET_RES_PRIV_ADDR_TO   0x2E
 
#define HCI_OCF_LE_READ_MAX_DATA_LEN   0x2F
 
#define HCI_OCF_LE_READ_PHY   0x30
 
#define HCI_OCF_LE_SET_DEF_PHY   0x31
 
#define HCI_OCF_LE_SET_PHY   0x32
 
#define HCI_OCF_LE_ENHANCED_RECEIVER_TEST   0x33
 
#define HCI_OCF_LE_ENHANCED_TRANSMITTER_TEST   0x34
 
#define HCI_OCF_LE_SET_ADV_SET_RAND_ADDR   0x35
 
#define HCI_OCF_LE_SET_EXT_ADV_PARAM   0x36
 
#define HCI_OCF_LE_SET_EXT_ADV_DATA   0x37
 
#define HCI_OCF_LE_SET_EXT_SCAN_RESP_DATA   0x38
 
#define HCI_OCF_LE_SET_EXT_ADV_ENABLE   0x39
 
#define HCI_OCF_LE_READ_MAX_ADV_DATA_LEN   0x3A
 
#define HCI_OCF_LE_READ_NUM_SUP_ADV_SETS   0x3B
 
#define HCI_OCF_LE_REMOVE_ADV_SET   0x3C
 
#define HCI_OCF_LE_CLEAR_ADV_SETS   0x3D
 
#define HCI_OCF_LE_SET_PER_ADV_PARAM   0x3E
 
#define HCI_OCF_LE_SET_PER_ADV_DATA   0x3F
 
#define HCI_OCF_LE_SET_PER_ADV_ENABLE   0x40
 
#define HCI_OCF_LE_SET_EXT_SCAN_PARAM   0x41
 
#define HCI_OCF_LE_SET_EXT_SCAN_ENABLE   0x42
 
#define HCI_OCF_LE_EXT_CREATE_CONN   0x43
 
#define HCI_OCF_LE_PER_ADV_CREATE_SYNC   0x44
 
#define HCI_OCF_LE_PER_ADV_CREATE_SYNC_CANCEL   0x45
 
#define HCI_OCF_LE_PER_ADV_TERM_SYNC   0x46
 
#define HCI_OCF_LE_ADD_DEV_PER_ADV_LIST   0x47
 
#define HCI_OCF_LE_REMOVE_DEV_PER_ADV_LIST   0x48
 
#define HCI_OCF_LE_CLEAR_PER_ADV_LIST   0x49
 
#define HCI_OCF_LE_READ_PER_ADV_LIST_SIZE   0x4A
 
#define HCI_OCF_LE_READ_TX_POWER   0x4B
 
#define HCI_OCF_LE_READ_RF_PATH_COMP   0x4C
 
#define HCI_OCF_LE_WRITE_RF_PATH_COMP   0x4D
 
#define HCI_OCF_LE_SET_PRIVACY_MODE   0x4E
 
#define HCI_OCF_LE_RECEIVER_TEST_V3   0x4F
 
#define HCI_OCF_LE_TRANSMITTER_TEST_V3   0x50
 
#define HCI_OCF_LE_SET_CONNLESS_CTE_TX_PARAMS   0x51
 
#define HCI_OCF_LE_SET_CONNLESS_CTE_TX_ENABLE   0x52
 
#define HCI_OCF_LE_SET_CONNLESS_IQ_SAMP_ENABLE   0x53
 
#define HCI_OCF_LE_SET_CONN_CTE_RX_PARAMS   0x54
 
#define HCI_OCF_LE_SET_CONN_CTE_TX_PARAMS   0x55
 
#define HCI_OCF_LE_CONN_CTE_REQ_ENABLE   0x56
 
#define HCI_OCF_LE_CONN_CTE_RSP_ENABLE   0x57
 
#define HCI_OCF_LE_READ_ANTENNA_INFO   0x58
 
#define HCI_OCF_LE_SET_PER_ADV_RCV_ENABLE   0x59
 
#define HCI_OCF_LE_PER_ADV_SYNC_TRANSFER   0x5A
 
#define HCI_OCF_LE_PER_ADV_SET_INFO_TRANSFER   0x5B
 
#define HCI_OCF_LE_SET_PAST_PARAM   0x5C
 
#define HCI_OCF_LE_SET_DEFAULT_PAST_PARAM   0x5D
 
#define HCI_OCF_LE_GENERATE_DHKEY_V2   0x5E
 
#define HCI_OCF_LE_MODIFY_SLEEP_CLK_ACC   0x5F
 
#define HCI_OCF_LE_READ_BUF_SIZE_V2   0x60
 
#define HCI_OCF_LE_READ_ISO_TX_SYNC   0x61
 
#define HCI_OCF_LE_SET_CIG_PARAMS   0x62
 
#define HCI_OCF_LE_SET_CIG_PARAMS_TEST   0x63
 
#define HCI_OCF_LE_CREATE_CIS   0x64
 
#define HCI_OCF_LE_REMOVE_CIG   0x65
 
#define HCI_OCF_LE_ACCEPT_CIS_REQ   0x66
 
#define HCI_OCF_LE_REJECT_CIS_REQ   0x67
 
#define HCI_OCF_LE_CREATE_BIG   0x68
 
#define HCI_OCF_LE_CREATE_BIG_TEST   0x69
 
#define HCI_OCF_LE_TERMINATE_BIG   0x6A
 
#define HCI_OCF_LE_BIG_CREATE_SYNC   0x6B
 
#define HCI_OCF_LE_BIG_TERMINATE_SYNC   0x6C
 
#define HCI_OCF_LE_REQUEST_PEER_SCA   0x6D
 
#define HCI_OCF_LE_SETUP_ISO_DATA_PATH   0x6E
 
#define HCI_OCF_LE_REMOVE_ISO_DATA_PATH   0x6F
 
#define HCI_OCF_LE_ISO_TX_TEST   0x70
 
#define HCI_OCF_LE_ISO_RX_TEST   0x71
 
#define HCI_OCF_LE_ISO_READ_TEST_COUNTERS   0x72
 
#define HCI_OCF_LE_ISO_TEST_END   0x73
 
#define HCI_OCF_LE_SET_HOST_FEATURE   0x74
 
#define HCI_OCF_LE_READ_ISO_LINK_QUAL   0x75
 
#define HCI_OCF_LE_READ_ENHANCED_TX_POWER   0x76
 
#define HCI_OCF_LE_READ_REMOTE_TX_POWER   0x77
 
#define HCI_OCF_LE_SET_PATH_LOSS_REPORTING_PARAMS   0x78
 
#define HCI_OCF_LE_SET_PATH_LOSS_REPORTING_ENABLE   0x79
 
#define HCI_OCF_LE_SET_TX_POWER_REPORT_ENABLE   0x7A
 
Opcode manipulation macros
#define HCI_OPCODE(ogf, ocf)    (((ogf) << 10) + (ocf))
 
#define HCI_OGF(opcode)    ((opcode) >> 10)
 
#define HCI_OCF(opcode)    ((opcode) & 0x03FF)
 
Command opcodes
#define HCI_OPCODE_NOP   HCI_OPCODE(HCI_OGF_NOP, HCI_OCF_NOP)
 
#define HCI_OPCODE_DISCONNECT   HCI_OPCODE(HCI_OGF_LINK_CONTROL, HCI_OCF_DISCONNECT)
 
#define HCI_OPCODE_READ_REMOTE_VER_INFO   HCI_OPCODE(HCI_OGF_LINK_CONTROL, HCI_OCF_READ_REMOTE_VER_INFO)
 
#define HCI_OPCODE_SET_EVENT_MASK   HCI_OPCODE(HCI_OGF_CONTROLLER, HCI_OCF_SET_EVENT_MASK)
 
#define HCI_OPCODE_RESET   HCI_OPCODE(HCI_OGF_CONTROLLER, HCI_OCF_RESET)
 
#define HCI_OPCODE_READ_TX_PWR_LVL   HCI_OPCODE(HCI_OGF_CONTROLLER, HCI_OCF_READ_TX_PWR_LVL)
 
#define HCI_OPCODE_SET_EVENT_MASK_PAGE2   HCI_OPCODE(HCI_OGF_CONTROLLER, HCI_OCF_SET_EVENT_MASK_PAGE2)
 
#define HCI_OPCODE_READ_AUTH_PAYLOAD_TO   HCI_OPCODE(HCI_OGF_CONTROLLER, HCI_OCF_READ_AUTH_PAYLOAD_TO)
 
#define HCI_OPCODE_WRITE_AUTH_PAYLOAD_TO   HCI_OPCODE(HCI_OGF_CONTROLLER, HCI_OCF_WRITE_AUTH_PAYLOAD_TO)
 
#define HCI_OPCODE_CONFIG_DATA_PATH   HCI_OPCODE(HCI_OGF_CONTROLLER, HCI_OCF_CONFIG_DATA_PATH)
 
#define HCI_OPCODE_READ_LOCAL_VER_INFO   HCI_OPCODE(HCI_OGF_INFORMATIONAL, HCI_OCF_READ_LOCAL_VER_INFO)
 
#define HCI_OPCODE_READ_LOCAL_SUP_CMDS   HCI_OPCODE(HCI_OGF_INFORMATIONAL, HCI_OCF_READ_LOCAL_SUP_CMDS)
 
#define HCI_OPCODE_READ_LOCAL_SUP_FEAT   HCI_OPCODE(HCI_OGF_INFORMATIONAL, HCI_OCF_READ_LOCAL_SUP_FEAT)
 
#define HCI_OPCODE_READ_BUF_SIZE   HCI_OPCODE(HCI_OGF_INFORMATIONAL, HCI_OCF_READ_BUF_SIZE)
 
#define HCI_OPCODE_READ_BD_ADDR   HCI_OPCODE(HCI_OGF_INFORMATIONAL, HCI_OCF_READ_BD_ADDR)
 
#define HCI_OPCODE_READ_LOCAL_SUP_CODECS   HCI_OPCODE(HCI_OGF_INFORMATIONAL, HCI_OCF_READ_LOCAL_SUP_CODECS)
 
#define HCI_OPCODE_READ_LOCAL_SUP_CODEC_CAP   HCI_OPCODE(HCI_OGF_INFORMATIONAL, HCI_OCF_READ_LOCAL_SUP_CODEC_CAP)
 
#define HCI_OPCODE_READ_LOCAL_SUP_CONTROLLER_DLY   HCI_OPCODE(HCI_OGF_INFORMATIONAL, HCI_OCF_READ_LOCAL_SUP_CONTROLLER_DLY)
 
#define HCI_OPCODE_READ_RSSI   HCI_OPCODE(HCI_OGF_STATUS, HCI_OCF_READ_RSSI)
 
#define HCI_OPCODE_LE_SET_EVENT_MASK   HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_SET_EVENT_MASK)
 
#define HCI_OPCODE_LE_READ_BUF_SIZE   HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_READ_BUF_SIZE)
 
#define HCI_OPCODE_LE_READ_LOCAL_SUP_FEAT   HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_READ_LOCAL_SUP_FEAT)
 
#define HCI_OPCODE_LE_SET_RAND_ADDR   HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_SET_RAND_ADDR)
 
#define HCI_OPCODE_LE_SET_ADV_PARAM   HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_SET_ADV_PARAM)
 
#define HCI_OPCODE_LE_READ_ADV_TX_POWER   HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_READ_ADV_TX_POWER)
 
#define HCI_OPCODE_LE_SET_ADV_DATA   HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_SET_ADV_DATA)
 
#define HCI_OPCODE_LE_SET_SCAN_RESP_DATA   HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_SET_SCAN_RESP_DATA)
 
#define HCI_OPCODE_LE_SET_ADV_ENABLE   HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_SET_ADV_ENABLE)
 
#define HCI_OPCODE_LE_SET_SCAN_PARAM   HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_SET_SCAN_PARAM)
 
#define HCI_OPCODE_LE_SET_SCAN_ENABLE   HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_SET_SCAN_ENABLE)
 
#define HCI_OPCODE_LE_CREATE_CONN   HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_CREATE_CONN)
 
#define HCI_OPCODE_LE_CREATE_CONN_CANCEL   HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_CREATE_CONN_CANCEL)
 
#define HCI_OPCODE_LE_READ_WHITE_LIST_SIZE   HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_READ_WHITE_LIST_SIZE)
 
#define HCI_OPCODE_LE_CLEAR_WHITE_LIST   HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_CLEAR_WHITE_LIST)
 
#define HCI_OPCODE_LE_ADD_DEV_WHITE_LIST   HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_ADD_DEV_WHITE_LIST)
 
#define HCI_OPCODE_LE_REMOVE_DEV_WHITE_LIST   HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_REMOVE_DEV_WHITE_LIST)
 
#define HCI_OPCODE_LE_CONN_UPDATE   HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_CONN_UPDATE)
 
#define HCI_OPCODE_LE_SET_HOST_CHAN_CLASS   HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_SET_HOST_CHAN_CLASS)
 
#define HCI_OPCODE_LE_READ_CHAN_MAP   HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_READ_CHAN_MAP)
 
#define HCI_OPCODE_LE_READ_REMOTE_FEAT   HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_READ_REMOTE_FEAT)
 
#define HCI_OPCODE_LE_ENCRYPT   HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_ENCRYPT)
 
#define HCI_OPCODE_LE_RAND   HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_RAND)
 
#define HCI_OPCODE_LE_START_ENCRYPTION   HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_START_ENCRYPTION)
 
#define HCI_OPCODE_LE_LTK_REQ_REPL   HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_LTK_REQ_REPL)
 
#define HCI_OPCODE_LE_LTK_REQ_NEG_REPL   HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_LTK_REQ_NEG_REPL)
 
#define HCI_OPCODE_LE_READ_SUP_STATES   HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_READ_SUP_STATES)
 
#define HCI_OPCODE_LE_RECEIVER_TEST   HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_RECEIVER_TEST)
 
#define HCI_OPCODE_LE_TRANSMITTER_TEST   HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_TRANSMITTER_TEST)
 
#define HCI_OPCODE_LE_TEST_END   HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_TEST_END)
 
#define HCI_OPCODE_LE_REM_CONN_PARAM_REP   HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_REM_CONN_PARAM_REP)
 
#define HCI_OPCODE_LE_REM_CONN_PARAM_NEG_REP   HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_REM_CONN_PARAM_NEG_REP)
 
#define HCI_OPCODE_LE_SET_DATA_LEN   HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_SET_DATA_LEN)
 
#define HCI_OPCODE_LE_READ_DEF_DATA_LEN   HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_READ_DEF_DATA_LEN)
 
#define HCI_OPCODE_LE_WRITE_DEF_DATA_LEN   HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_WRITE_DEF_DATA_LEN)
 
#define HCI_OPCODE_LE_READ_LOCAL_P256_PUB_KEY   HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_READ_LOCAL_P256_PUB_KEY)
 
#define HCI_OPCODE_LE_GENERATE_DHKEY   HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_GENERATE_DHKEY)
 
#define HCI_OPCODE_LE_ADD_DEV_RES_LIST   HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_ADD_DEV_RES_LIST)
 
#define HCI_OPCODE_LE_REMOVE_DEV_RES_LIST   HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_REMOVE_DEV_RES_LIST)
 
#define HCI_OPCODE_LE_CLEAR_RES_LIST   HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_CLEAR_RES_LIST)
 
#define HCI_OPCODE_LE_READ_RES_LIST_SIZE   HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_READ_RES_LIST_SIZE)
 
#define HCI_OPCODE_LE_READ_PEER_RES_ADDR   HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_READ_PEER_RES_ADDR)
 
#define HCI_OPCODE_LE_READ_LOCAL_RES_ADDR   HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_READ_LOCAL_RES_ADDR)
 
#define HCI_OPCODE_LE_SET_ADDR_RES_ENABLE   HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_SET_ADDR_RES_ENABLE)
 
#define HCI_OPCODE_LE_SET_RES_PRIV_ADDR_TO   HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_SET_RES_PRIV_ADDR_TO)
 
#define HCI_OPCODE_LE_READ_MAX_DATA_LEN   HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_READ_MAX_DATA_LEN)
 
#define HCI_OPCODE_LE_READ_PHY   HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_READ_PHY)
 
#define HCI_OPCODE_LE_SET_DEF_PHY   HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_SET_DEF_PHY)
 
#define HCI_OPCODE_LE_SET_PHY   HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_SET_PHY)
 
#define HCI_OPCODE_LE_ENHANCED_RECEIVER_TEST   HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_ENHANCED_RECEIVER_TEST)
 
#define HCI_OPCODE_LE_ENHANCED_TRANSMITTER_TEST   HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_ENHANCED_TRANSMITTER_TEST)
 
#define HCI_OPCODE_LE_SET_ADV_SET_RAND_ADDR   HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_SET_ADV_SET_RAND_ADDR)
 
#define HCI_OPCODE_LE_SET_EXT_ADV_PARAM   HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_SET_EXT_ADV_PARAM)
 
#define HCI_OPCODE_LE_SET_EXT_ADV_DATA   HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_SET_EXT_ADV_DATA)
 
#define HCI_OPCODE_LE_SET_EXT_SCAN_RESP_DATA   HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_SET_EXT_SCAN_RESP_DATA)
 
#define HCI_OPCODE_LE_SET_EXT_ADV_ENABLE   HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_SET_EXT_ADV_ENABLE)
 
#define HCI_OPCODE_LE_READ_MAX_ADV_DATA_LEN   HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_READ_MAX_ADV_DATA_LEN)
 
#define HCI_OPCODE_LE_READ_NUM_SUP_ADV_SETS   HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_READ_NUM_SUP_ADV_SETS)
 
#define HCI_OPCODE_LE_REMOVE_ADV_SET   HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_REMOVE_ADV_SET)
 
#define HCI_OPCODE_LE_CLEAR_ADV_SETS   HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_CLEAR_ADV_SETS)
 
#define HCI_OPCODE_LE_SET_PER_ADV_PARAM   HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_SET_PER_ADV_PARAM)
 
#define HCI_OPCODE_LE_SET_PER_ADV_DATA   HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_SET_PER_ADV_DATA)
 
#define HCI_OPCODE_LE_SET_PER_ADV_ENABLE   HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_SET_PER_ADV_ENABLE)
 
#define HCI_OPCODE_LE_SET_EXT_SCAN_PARAM   HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_SET_EXT_SCAN_PARAM)
 
#define HCI_OPCODE_LE_SET_EXT_SCAN_ENABLE   HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_SET_EXT_SCAN_ENABLE)
 
#define HCI_OPCODE_LE_EXT_CREATE_CONN   HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_EXT_CREATE_CONN)
 
#define HCI_OPCODE_LE_PER_ADV_CREATE_SYNC   HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_PER_ADV_CREATE_SYNC)
 
#define HCI_OPCODE_LE_PER_ADV_CREATE_SYNC_CANCEL   HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_PER_ADV_CREATE_SYNC_CANCEL)
 
#define HCI_OPCODE_LE_PER_ADV_TERMINATE_SYNC   HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_PER_ADV_TERM_SYNC)
 
#define HCI_OPCODE_LE_ADD_DEV_PER_ADV_LIST   HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_ADD_DEV_PER_ADV_LIST)
 
#define HCI_OPCODE_LE_REMOVE_DEV_PER_ADV_LIST   HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_REMOVE_DEV_PER_ADV_LIST)
 
#define HCI_OPCODE_LE_CLEAR_PER_ADV_LIST   HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_CLEAR_PER_ADV_LIST)
 
#define HCI_OPCODE_LE_READ_PER_ADV_LIST_SIZE   HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_READ_PER_ADV_LIST_SIZE)
 
#define HCI_OPCODE_LE_READ_TX_POWER   HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_READ_TX_POWER)
 
#define HCI_OPCODE_LE_WRITE_RF_PATH_COMP   HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_WRITE_RF_PATH_COMP)
 
#define HCI_OPCODE_LE_READ_RF_PATH_COMP   HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_READ_RF_PATH_COMP)
 
#define HCI_OPCODE_LE_SET_PRIVACY_MODE   HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_SET_PRIVACY_MODE)
 
#define HCI_OPCODE_LE_RECEIVER_TEST_V3   HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_RECEIVER_TEST_V3)
 
#define HCI_OPCODE_LE_TRANSMITTER_TEST_V3   HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_TRANSMITTER_TEST_V3)
 
#define HCI_OPCODE_LE_SET_CONNLESS_CTE_TX_PARAMS   HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_SET_CONNLESS_CTE_TX_PARAMS)
 
#define HCI_OPCODE_LE_SET_CONNLESS_CTE_TX_ENABLE   HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_SET_CONNLESS_CTE_TX_ENABLE)
 
#define HCI_OPCODE_LE_SET_CONNLESS_IQ_SAMP_ENABLE   HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_SET_CONNLESS_IQ_SAMP_ENABLE)
 
#define HCI_OPCODE_LE_SET_CONN_CTE_RX_PARAMS   HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_SET_CONN_CTE_RX_PARAMS)
 
#define HCI_OPCODE_LE_SET_CONN_CTE_TX_PARAMS   HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_SET_CONN_CTE_TX_PARAMS)
 
#define HCI_OPCODE_LE_CONN_CTE_REQ_ENABLE   HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_CONN_CTE_REQ_ENABLE)
 
#define HCI_OPCODE_LE_CONN_CTE_RSP_ENABLE   HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_CONN_CTE_RSP_ENABLE)
 
#define HCI_OPCODE_LE_READ_ANTENNA_INFO   HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_READ_ANTENNA_INFO)
 
#define HCI_OPCODE_LE_SET_PER_ADV_RCV_ENABLE   HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_SET_PER_ADV_RCV_ENABLE)
 
#define HCI_OPCODE_LE_PER_ADV_SYNC_TRANSFER   HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_PER_ADV_SYNC_TRANSFER)
 
#define HCI_OPCODE_LE_PER_ADV_SET_INFO_TRANSFER   HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_PER_ADV_SET_INFO_TRANSFER)
 
#define HCI_OPCODE_LE_SET_PAST_PARAM   HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_SET_PAST_PARAM)
 
#define HCI_OPCODE_LE_SET_DEFAULT_PAST_PARAM   HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_SET_DEFAULT_PAST_PARAM)
 
#define HCI_OPCODE_LE_GENERATE_DHKEY_V2   HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_GENERATE_DHKEY_V2)
 
#define HCI_OPCODE_LE_MODIFY_SLEEP_CLK_ACC   HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_MODIFY_SLEEP_CLK_ACC)
 
#define HCI_OPCODE_LE_READ_BUF_SIZE_V2   HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_READ_BUF_SIZE_V2)
 
#define HCI_OPCODE_LE_READ_ISO_TX_SYNC   HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_READ_ISO_TX_SYNC)
 
#define HCI_OPCODE_LE_SET_CIG_PARAMS   HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_SET_CIG_PARAMS)
 
#define HCI_OPCODE_LE_SET_CIG_PARAMS_TEST   HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_SET_CIG_PARAMS_TEST)
 
#define HCI_OPCODE_LE_CREATE_CIS   HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_CREATE_CIS)
 
#define HCI_OPCODE_LE_REMOVE_CIG   HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_REMOVE_CIG)
 
#define HCI_OPCODE_LE_ACCEPT_CIS_REQ   HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_ACCEPT_CIS_REQ)
 
#define HCI_OPCODE_LE_REJECT_CIS_REQ   HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_REJECT_CIS_REQ)
 
#define HCI_OPCODE_LE_CREATE_BIG   HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_CREATE_BIG)
 
#define HCI_OPCODE_LE_CREATE_BIG_TEST   HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_CREATE_BIG_TEST)
 
#define HCI_OPCODE_LE_TERMINATE_BIG   HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_TERMINATE_BIG)
 
#define HCI_OPCODE_LE_BIG_CREATE_SYNC   HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_BIG_CREATE_SYNC)
 
#define HCI_OPCODE_LE_BIG_TERMINATE_SYNC   HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_BIG_TERMINATE_SYNC)
 
#define HCI_OPCODE_LE_REQUEST_PEER_SCA   HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_REQUEST_PEER_SCA)
 
#define HCI_OPCODE_LE_SETUP_ISO_DATA_PATH   HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_SETUP_ISO_DATA_PATH)
 
#define HCI_OPCODE_LE_REMOVE_ISO_DATA_PATH   HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_REMOVE_ISO_DATA_PATH)
 
#define HCI_OPCODE_LE_ISO_TX_TEST   HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_ISO_TX_TEST)
 
#define HCI_OPCODE_LE_ISO_RX_TEST   HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_ISO_RX_TEST)
 
#define HCI_OPCODE_LE_ISO_READ_TEST_COUNTERS   HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_ISO_READ_TEST_COUNTERS)
 
#define HCI_OPCODE_LE_ISO_TEST_END   HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_ISO_TEST_END)
 
#define HCI_OPCODE_LE_SET_HOST_FEATURE   HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_SET_HOST_FEATURE)
 
#define HCI_OPCODE_LE_READ_ISO_LINK_QUAL   HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_READ_ISO_LINK_QUAL)
 
#define HCI_OPCODE_LE_READ_ENHANCED_TX_POWER   HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_READ_ENHANCED_TX_POWER)
 
#define HCI_OPCODE_LE_READ_REMOTE_TX_POWER   HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_READ_REMOTE_TX_POWER)
 
#define HCI_OPCODE_LE_SET_PATH_LOSS_REPORTING_PARAMS   HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_SET_PATH_LOSS_REPORTING_PARAMS)
 
#define HCI_OPCODE_LE_SET_PATH_LOSS_REPORTING_ENABLE   HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_SET_PATH_LOSS_REPORTING_ENABLE)
 
#define HCI_OPCODE_LE_SET_TX_POWER_REPORT_ENABLE   HCI_OPCODE(HCI_OGF_LE_CONTROLLER, HCI_OCF_LE_SET_TX_POWER_REPORT_ENABLE)
 
Packetcraft Vendor Specific
#define HCI_OPCODE_LE_VS_ENABLE_READ_FEAT_ON_CONN   ((uint16_t)(0xfff3))
 
Command parameter lengths
#define HCI_LEN_NOP   0
 
#define HCI_LEN_DISCONNECT   3
 
#define HCI_LEN_READ_REMOTE_VER_INFO   2
 
#define HCI_LEN_SET_EVENT_MASK   8
 
#define HCI_LEN_SET_EVENT_MASK_PAGE2   8
 
#define HCI_LEN_RESET   0
 
#define HCI_LEN_READ_TX_PWR_LVL   3
 
#define HCI_LEN_SET_CONTROLLER_TO_HOST_FC   1
 
#define HCI_LEN_HOST_BUFFER_SIZE   8
 
#define HCI_LEN_HOST_NUM_CMPL_PKTS   1
 
#define HCI_LEN_CONFIG_DATA_PATH(cLen)    (3 + (cLen))
 
#define HCI_LEN_READ_LOCAL_VER_INFO   0
 
#define HCI_LEN_READ_LOCAL_SUP_CMDS   0
 
#define HCI_LEN_READ_LOCAL_SUP_FEAT   0
 
#define HCI_LEN_READ_BUF_SIZE   0
 
#define HCI_LEN_READ_BD_ADDR   0
 
#define HCI_LEN_READ_LOCAL_SUP_CODECS   0
 
#define HCI_LEN_READ_LOCAL_SUP_CODEC_CAP   7
 
#define HCI_LEN_READ_LOCAL_SUP_CONTROLLER_DLY(ccLen)   (8 + (ccLen))
 
#define HCI_LEN_READ_RSSI   2
 
#define HCI_LEN_READ_AUTH_PAYLOAD_TO   2
 
#define HCI_LEN_WRITE_AUTH_PAYLOAD_TO   4
 
#define HCI_LEN_LE_SET_EVENT_MASK   8
 
#define HCI_LEN_LE_READ_BUF_SIZE   0
 
#define HCI_LEN_LE_READ_LOCAL_SUP_FEAT   0
 
#define HCI_LEN_LE_SET_RAND_ADDR   6
 
#define HCI_LEN_LE_SET_ADV_PARAM   15
 
#define HCI_LEN_LE_READ_ADV_TX_POWER   0
 
#define HCI_LEN_LE_SET_ADV_DATA   32
 
#define HCI_LEN_LE_SET_SCAN_RESP_DATA   32
 
#define HCI_LEN_LE_SET_ADV_ENABLE   1
 
#define HCI_LEN_LE_SET_SCAN_PARAM   7
 
#define HCI_LEN_LE_SET_SCAN_ENABLE   2
 
#define HCI_LEN_LE_CREATE_CONN   25
 
#define HCI_LEN_LE_CREATE_CONN_CANCEL   0
 
#define HCI_LEN_LE_READ_WHITE_LIST_SIZE   0
 
#define HCI_LEN_LE_CLEAR_WHITE_LIST   0
 
#define HCI_LEN_LE_ADD_DEV_WHITE_LIST   7
 
#define HCI_LEN_LE_REMOVE_DEV_WHITE_LIST   7
 
#define HCI_LEN_LE_CONN_UPDATE   14
 
#define HCI_LEN_LE_SET_HOST_CHAN_CLASS   5
 
#define HCI_LEN_LE_READ_CHAN_MAP   2
 
#define HCI_LEN_LE_READ_REMOTE_FEAT   2
 
#define HCI_LEN_LE_ENCRYPT   32
 
#define HCI_LEN_LE_RAND   0
 
#define HCI_LEN_LE_START_ENCRYPTION   28
 
#define HCI_LEN_LE_LTK_REQ_REPL   18
 
#define HCI_LEN_LE_LTK_REQ_NEG_REPL   2
 
#define HCI_LEN_LE_READ_SUP_STATES   0
 
#define HCI_LEN_LE_RECEIVER_TEST   1
 
#define HCI_LEN_LE_TRANSMITTER_TEST   3
 
#define HCI_LEN_LE_TEST_END   0
 
#define HCI_LEN_LE_REM_CONN_PARAM_REP   14
 
#define HCI_LEN_LE_REM_CONN_PARAM_NEG_REP   3
 
#define HCI_LEN_LE_SET_DATA_LEN   6
 
#define HCI_LEN_LE_READ_DEF_DATA_LEN   0
 
#define HCI_LEN_LE_WRITE_DEF_DATA_LEN   4
 
#define HCI_LEN_LE_READ_LOCAL_P256_PUB_KEY   0
 
#define HCI_LEN_LE_GENERATE_DHKEY   64
 
#define HCI_LEN_LE_ADD_DEV_RES_LIST   39
 
#define HCI_LEN_LE_REMOVE_DEV_RES_LIST   7
 
#define HCI_LEN_LE_CLEAR_RES_LIST   0
 
#define HCI_LEN_LE_READ_RES_LIST_SIZE   0
 
#define HCI_LEN_LE_READ_PEER_RES_ADDR   7
 
#define HCI_LEN_LE_READ_LOCAL_RES_ADDR   7
 
#define HCI_LEN_LE_SET_ADDR_RES_ENABLE   1
 
#define HCI_LEN_LE_SET_RES_PRIV_ADDR_TO   2
 
#define HCI_LEN_LE_READ_MAX_DATA_LEN   0
 
#define HCI_LEN_LE_READ_PHY   2
 
#define HCI_LEN_LE_SET_DEF_PHY   3
 
#define HCI_LEN_LE_SET_PHY   7
 
#define HCI_LEN_LE_ENHANCED_RECEIVER_TEST   3
 
#define HCI_LEN_LE_ENHANCED_TRANSMITTER_TEST   4
 
#define HCI_LEN_LE_SET_ADV_SET_RAND_ADDR   7
 
#define HCI_LEN_LE_SET_EXT_ADV_PARAM   25
 
#define HCI_LEN_LE_SET_EXT_ADV_DATA(len)    (4 + (len))
 
#define HCI_LEN_LE_SET_EXT_SCAN_RESP_DATA(len)    (4 + (len))
 
#define HCI_LEN_LE_EXT_ADV_ENABLE(numSets)    (2 + (4 * (numSets)))
 
#define HCI_LEN_LE_READ_MAX_ADV_DATA_LEN   0
 
#define HCI_LEN_LE_READ_NUM_OF_SUP_ADV_SETS   0
 
#define HCI_LEN_LE_REMOVE_ADV_SET   1
 
#define HCI_LEN_LE_CLEAR_ADV_SETS   0
 
#define HCI_LEN_LE_SET_PER_ADV_PARAM   7
 
#define HCI_LEN_LE_SET_PER_ADV_DATA(len)    (3 + (len))
 
#define HCI_LEN_LE_SET_PER_ADV_ENABLE   2
 
#define HCI_LEN_LE_SET_EXT_SCAN_PARAM(numPhys)    (3 + (5 * (numPhys)))
 
#define HCI_LEN_LE_SET_EXT_SCAN_ENABLE   6
 
#define HCI_LEN_LE_EXT_CREATE_CONN(numPhys)    (10 + (16 * (numPhys)))
 
#define HCI_LEN_LE_PER_ADV_CREATE_SYNC   14
 
#define HCI_LEN_LE_PER_ADV_CREATE_SYNC_CANCEL   0
 
#define HCI_LEN_LE_PER_ADV_TERMINATE_SYNC   2
 
#define HCI_LEN_LE_ADD_DEV_PER_ADV_LIST   8
 
#define HCI_LEN_LE_REMOVE_DEV_PER_ADV_LIST   8
 
#define HCI_LEN_LE_CLEAR_PER_ADV_LIST   0
 
#define HCI_LEN_LE_READ_PER_ADV_LIST_SIZE   0
 
#define HCI_LEN_LE_READ_TX_POWER   0
 
#define HCI_LEN_LE_READ_RF_PATH_COMP   0
 
#define HCI_LEN_LE_WRITE_RF_PATH_COMP   4
 
#define HCI_LEN_LE_SET_PRIVACY_MODE   8
 
#define HCI_LEN_LE_SET_CONN_CTE_RX_PARAMS(spLen)    (5 + (spLen))
 
#define HCI_LEN_LE_SET_CONN_CTE_TX_PARAMS(spLen)    (4 + (spLen))
 
#define HCI_LEN_LE_CONN_CTE_REQ_ENABLE   7
 
#define HCI_LEN_LE_CONN_CTE_RSP_ENABLE   3
 
#define HCI_LEN_LE_READ_ANTENNA_INFO   0
 
#define HCI_LEN_LE_SET_PER_ADV_RCV_ENABLE   3
 
#define HCI_LEN_LE_PER_ADV_SYNC_TRANSFER   6
 
#define HCI_LEN_LE_PER_ADV_SET_INFO_TRANSFER   5
 
#define HCI_LEN_LE_SET_PAST_PARAM   8
 
#define HCI_LEN_LE_SET_DEFAULT_PAST_PARAM   6
 
#define HCI_LEN_LE_GENERATE_DHKEY_V2   65
 
#define HCI_LEN_LE_SET_CIG_PARAMS(numCis)    (15 + (9 * (numCis)))
 
#define HCI_LEN_LE_CREATE_CIS(numCis)    (1 + (4 * (numCis)))
 
#define HCI_LEN_LE_REMOVE_CIG   1
 
#define HCI_LEN_LE_ACCEPT_CIS_REQ   2
 
#define HCI_LEN_LE_REJECT_CIS_REQ   3
 
#define HCI_LEN_LE_REQUEST_PEER_SCA   2
 
#define HCI_LEN_LE_CREATE_BIS   (15 + HCI_BC_LEN)
 
#define HCI_LEN_LE_TERMINATE_BIG   2
 
#define HCI_LEN_LE_BIG_CREATE_SYNC(numBis)    (8 + HCI_BC_LEN + (numBis))
 
#define HCI_LEN_LE_BIG_TERMINATE_SYNC   1
 
#define HCI_LEN_LE_SETUP_ISO_DATA_PATH(ccLen)    (13 + (ccLen))
 
#define HCI_LEN_LE_REMOVE_ISO_DATA_PATH   3
 
#define HCI_LEN_LE_ISO_TX_TEST   3
 
#define HCI_LEN_LE_ISO_RX_TEST   3
 
#define HCI_LEN_LE_ISO_READ_TEST_COUNTERS   2
 
#define HCI_LEN_LE_ISO_TEST_END   2
 
#define HCI_LEN_LE_SET_HOST_FEATURE   2
 
Events
#define HCI_DISCONNECT_CMPL_EVT   0x05
 
#define HCI_ENC_CHANGE_EVT   0x08
 
#define HCI_READ_REMOTE_VER_INFO_CMPL_EVT   0x0C
 
#define HCI_CMD_CMPL_EVT   0x0E
 
#define HCI_CMD_STATUS_EVT   0x0F
 
#define HCI_HW_ERROR_EVT   0x10
 
#define HCI_NUM_CMPL_PKTS_EVT   0x13
 
#define HCI_DATA_BUF_OVERFLOW_EVT   0x1A
 
#define HCI_ENC_KEY_REFRESH_CMPL_EVT   0x30
 
#define HCI_LE_META_EVT   0x3E
 
#define HCI_AUTH_PAYLOAD_TIMEOUT_EVT   0x57
 
#define HCI_VENDOR_SPEC_EVT   0xFF
 
LE Subevents
#define HCI_LE_CONN_CMPL_EVT   0x01
 
#define HCI_LE_ADV_REPORT_EVT   0x02
 
#define HCI_LE_CONN_UPDATE_CMPL_EVT   0x03
 
#define HCI_LE_READ_REMOTE_FEAT_CMPL_EVT   0x04
 
#define HCI_LE_LTK_REQ_EVT   0x05
 
#define HCI_LE_REM_CONN_PARAM_REQ_EVT   0x06
 
#define HCI_LE_DATA_LEN_CHANGE_EVT   0x07
 
#define HCI_LE_READ_LOCAL_P256_PUB_KEY_CMPL_EVT   0x08
 
#define HCI_LE_GENERATE_DHKEY_CMPL_EVT   0x09
 
#define HCI_LE_ENHANCED_CONN_CMPL_EVT   0x0A
 
#define HCI_LE_DIRECT_ADV_REPORT_EVT   0x0B
 
#define HCI_LE_PHY_UPDATE_CMPL_EVT   0x0C
 
#define HCI_LE_EXT_ADV_REPORT_EVT   0x0D
 
#define HCI_LE_PER_ADV_SYNC_EST_EVT   0x0E
 
#define HCI_LE_PER_ADV_REPORT_EVT   0x0F
 
#define HCI_LE_PER_ADV_SYNC_LOST_EVT   0x10
 
#define HCI_LE_SCAN_TIMEOUT_EVT   0x11
 
#define HCI_LE_ADV_SET_TERM_EVT   0x12
 
#define HCI_LE_SCAN_REQ_RCVD_EVT   0x13
 
#define HCI_LE_CH_SEL_ALGO_EVT   0x14
 
#define HCI_LE_CONNLESS_IQ_REPORT_EVT   0x15
 
#define HCI_LE_CONN_IQ_REPORT_EVT   0x16
 
#define HCI_LE_CTE_REQ_FAILED_EVT   0x17
 
#define HCI_LE_PER_SYNC_TRSF_RCVD_EVT   0x18
 
#define HCI_LE_CIS_EST_EVT   0x19
 
#define HCI_LE_CIS_REQ_EVT   0x1A
 
#define HCI_LE_CREATE_BIG_CMPL_EVT   0x1B
 
#define HCI_LE_TERMINATE_BIG_CMPL_EVT   0x1C
 
#define HCI_LE_BIG_SYNC_EST_EVT   0x1D
 
#define HCI_LE_BIG_SYNC_LOST_EVT   0x1E
 
#define HCI_LE_REQ_PEER_SCA_CMPLT_EVT   0x1F
 
#define HCI_LE_PATH_LOSS_REPORT_EVT   0x20
 
#define HCI_LE_POWER_REPORT_EVT   0x21
 
#define HCI_LE_BIG_INFO_ADV_REPORT_EVT   0x22
 
Event parameter lengths
#define HCI_LEN_DISCONNECT_CMPL   4
 
#define HCI_LEN_READ_REMOTE_VER_INFO_CMPL   8
 
#define HCI_LEN_CMD_CMPL   3
 
#define HCI_LEN_CMD_STATUS   4
 
#define HCI_LEN_HW_ERR   1
 
#define HCI_LEN_NUM_CMPL_PKTS(numHdls)    (1 + (4 * numHdls))
 
#define HCI_LEN_ENC_CHANGE   4
 
#define HCI_LEN_ENC_KEY_REFRESH_CMPL   3
 
#define HCI_LEN_LE_CONN_CMPL   19
 
#define HCI_LEN_LE_ADV_RPT_MIN   12
 
#define HCI_LEN_LE_CONN_UPDATE_CMPL   10
 
#define HCI_LEN_LE_READ_REMOTE_FEAT_CMPL   12
 
#define HCI_LEN_LE_LTK_REQ   13
 
#define HCI_LEN_LE_REM_CONN_PARAM_REQ   11
 
#define HCI_LEN_LE_DATA_LEN_CHANGE   11
 
#define HCI_LEN_LE_READ_PUB_KEY_CMPL   66
 
#define HCI_LEN_LE_GEN_DHKEY_CMPL   34
 
#define HCI_LEN_LE_ENHANCED_CONN_CMPL   31
 
#define HCI_LEN_LE_DIRECT_ADV_REPORT   18
 
#define HCI_LEN_AUTH_PAYLOAD_TIMEOUT   2
 
#define HCI_LEN_LE_PHY_UPDATE_CMPL   6
 
#define HCI_LEN_LE_CH_SEL_ALGO   4
 
#define HCI_LEN_LE_PHY_UPDATE_CMPL   6
 
#define HCI_LEN_LE_EXT_ADV_REPORT_MIN   26
 
#define HCI_LEN_LE_PER_ADV_SYNC_EST   16
 
#define HCI_LEN_LE_PER_ADV_REPORT   8
 
#define HCI_LEN_LE_PER_ADV_SYNC_LOST   3
 
#define HCI_LEN_LE_SCAN_TIMEOUT   1
 
#define HCI_LEN_LE_ADV_SET_TERM   6
 
#define HCI_LEN_LE_SCAN_REQ_RCVD   9
 
#define HCI_LEN_LE_PER_SYNC_TRSF_RCVT   20
 
#define HCI_LEN_LE_CIS_EST   29
 
#define HCI_LEN_LE_CIS_REQ   7
 
#define HCI_LEN_LE_PEER_SCA_CMPL   5
 
#define HCI_LEN_LE_CREATE_BIG_CMPL(numBis)    (19 + (2 * numBis))
 
#define HCI_LEN_LE_TERMINATE_BIG_CMPL   3
 
#define HCI_LEN_LE_BIG_SYNC_EST(numBis)    (15 + (2 * numBis))
 
#define HCI_LEN_LE_BIG_SYNC_LOST   3
 
#define HCI_LEN_LE_POWER_REPORT   9
 
#define HCI_LEN_LE_PATH_LOSS_ZONE   5
 
#define HCI_LEN_LE_BIG_INFO_ADV_REPORT   20
 
Supported commands
#define HCI_SUP_DISCONNECT   0x20
 
#define HCI_SUP_READ_REMOTE_VER_INFO   0x80
 
#define HCI_SUP_SET_EVENT_MASK   0x40
 
#define HCI_SUP_RESET   0x80
 
#define HCI_SUP_READ_TX_PWR_LVL   0x04
 
#define HCI_SUP_READ_LOCAL_VER_INFO   0x08
 
#define HCI_SUP_READ_LOCAL_SUP_FEAT   0x20
 
#define HCI_SUP_READ_BD_ADDR   0x02
 
#define HCI_SUP_READ_RSSI   0x20
 
#define HCI_SUP_SET_EVENT_MASK_PAGE2   0x04
 
#define HCI_SUP_LE_SET_EVENT_MASK   0x01
 
#define HCI_SUP_LE_READ_BUF_SIZE   0x02
 
#define HCI_SUP_LE_READ_LOCAL_SUP_FEAT   0x04
 
#define HCI_SUP_LE_SET_RAND_ADDR   0x10
 
#define HCI_SUP_LE_SET_ADV_PARAM   0x20
 
#define HCI_SUP_LE_READ_ADV_TX_POWER   0x40
 
#define HCI_SUP_LE_SET_ADV_DATA   0x80
 
#define HCI_SUP_LE_SET_SCAN_RESP_DATA   0x01
 
#define HCI_SUP_LE_SET_ADV_ENABLE   0x02
 
#define HCI_SUP_LE_SET_SCAN_PARAM   0x04
 
#define HCI_SUP_LE_SET_SCAN_ENABLE   0x08
 
#define HCI_SUP_LE_CREATE_CONN   0x10
 
#define HCI_SUP_LE_CREATE_CONN_CANCEL   0x20
 
#define HCI_SUP_LE_READ_WHITE_LIST_SIZE   0x40
 
#define HCI_SUP_LE_CLEAR_WHITE_LIST   0x80
 
#define HCI_SUP_LE_ADD_DEV_WHITE_LIST   0x01
 
#define HCI_SUP_LE_REMOVE_DEV_WHITE_LIST   0x02
 
#define HCI_SUP_LE_CONN_UPDATE   0x04
 
#define HCI_SUP_LE_SET_HOST_CHAN_CLASS   0x08
 
#define HCI_SUP_LE_READ_CHAN_MAP   0x10
 
#define HCI_SUP_LE_READ_REMOTE_FEAT   0x20
 
#define HCI_SUP_LE_ENCRYPT   0x40
 
#define HCI_SUP_LE_RAND   0x80
 
#define HCI_SUP_LE_START_ENCRYPTION   0x01
 
#define HCI_SUP_LE_LTK_REQ_REPL   0x02
 
#define HCI_SUP_LE_LTK_REQ_NEG_REPL   0x04
 
#define HCI_SUP_LE_READ_SUP_STATES   0x08
 
#define HCI_SUP_LE_RECEIVER_TEST   0x10
 
#define HCI_SUP_LE_TRANSMITTER_TEST   0x20
 
#define HCI_SUP_LE_TEST_END   0x40
 
#define HCI_SUP_READ_AUTH_PAYLOAD_TO   0x10
 
#define HCI_SUP_WRITE_AUTH_PAYLOAD_TO   0x20
 
#define HCI_SUP_LE_REM_CONN_PARAM_REQ_REPL   0x10
 
#define HCI_SUP_LE_REM_CONN_PARAM_REQ_NEG_REPL   0x20
 
#define HCI_SUP_LE_SET_DATA_LEN   0x40
 
#define HCI_SUP_LE_READ_DEF_DATA_LEN   0x80
 
#define HCI_SUP_LE_WRITE_DEF_DATA_LEN   0x01
 
#define HCI_SUP_LE_READ_LOCAL_P256_PUB_KEY   0x02
 
#define HCI_SUP_LE_GENERATE_DHKEY   0x04
 
#define HCI_SUP_LE_ADD_DEV_RES_LIST_EVT   0x08
 
#define HCI_SUP_LE_REMOVE_DEV_RES_LIST   0x10
 
#define HCI_SUP_LE_CLEAR_RES_LIST   0x20
 
#define HCI_SUP_LE_READ_RES_LIST_SIZE   0x40
 
#define HCI_SUP_LE_READ_PEER_RES_ADDR   0x80
 
#define HCI_SUP_LE_READ_LOCAL_RES_ADDR   0x01
 
#define HCI_SUP_LE_SET_ADDR_RES_ENABLE   0x02
 
#define HCI_SUP_LE_SET_RES_PRIV_ADDR_TO   0x04
 
#define HCI_SUP_LE_READ_MAX_DATA_LEN   0x08
 
#define HCI_SUP_LE_READ_PHY   0x10
 
#define HCI_SUP_LE_SET_DEF_PHY   0x20
 
#define HCI_SUP_LE_SET_PHY   0x40
 
#define HCI_SUP_LE_ENHANCED_RECEIVER_TEST   0x80
 
#define HCI_SUP_LE_ENHANCED_TRANSMITTER_TEST   0x01
 
#define HCI_SUP_LE_SET_ADV_SET_RAND_ADDR   0x02
 
#define HCI_SUP_LE_SET_EXT_ADV_PARAM   0x04
 
#define HCI_SUP_LE_SET_EXT_ADV_DATA   0x08
 
#define HCI_SUP_LE_SET_EXT_SCAN_RESP_DATA   0x10
 
#define HCI_SUP_LE_SET_EXT_ADV_ENABLE   0x20
 
#define HCI_SUP_LE_READ_MAX_ADV_DATA_LEN   0x40
 
#define HCI_SUP_LE_READ_NUM_OF_SUP_ADV_SETS   0x80
 
#define HCI_SUP_LE_REMOVE_ADV_SET   0x01
 
#define HCI_SUP_LE_CLEAR_ADV_SETS   0x02
 
#define HCI_SUP_LE_SET_PER_ADV_PARAM   0x04
 
#define HCI_SUP_LE_SET_PER_ADV_DATA   0x08
 
#define HCI_SUP_LE_SET_PER_ADV_ENABLE   0x10
 
#define HCI_SUP_LE_SET_EXT_SCAN_PARAM   0x20
 
#define HCI_SUP_LE_SET_EXT_SCAN_ENABLE   0x40
 
#define HCI_SUP_LE_EXT_CREATE_CONN   0x80
 
#define HCI_SUP_LE_PER_ADV_CREATE_SYNC   0x01
 
#define HCI_SUP_LE_PER_ADV_CREATE_SYNC_CANCEL   0x02
 
#define HCI_SUP_LE_PER_ADV_TERMINATE_SYNC   0x04
 
#define HCI_SUP_LE_ADD_DEV_PER_ADV_LIST   0x08
 
#define HCI_SUP_LE_REMOVE_DEV_PER_ADV_LIST   0x10
 
#define HCI_SUP_LE_CLEAR_PER_ADV_LIST   0x20
 
#define HCI_SUP_LE_READ_PER_ADV_LIST_SIZE   0x40
 
#define HCI_SUP_LE_READ_TX_POWER   0x80
 
#define HCI_SUP_LE_READ_RF_PATH_COMP   0x01
 
#define HCI_SUP_LE_WRITE_RF_PATH_COMP   0x02
 
#define HCI_SUP_LE_SET_PRIVACY_MODE   0x04
 
#define HCI_SUP_LE_RECEIVER_TEST_V3   0x08
 
#define HCI_SUP_LE_TRANSMITTER_TEST_V3   0x10
 
#define HCI_SUP_LE_SET_CONNLESS_CTE_TX_PARAMS   0x20
 
#define HCI_SUP_LE_SET_CONNLESS_CTE_TX_ENABLE   0x40
 
#define HCI_SUP_LE_SET_CONNLESS_IQ_SAMP_ENABLE   0x80
 
#define HCI_SUP_LE_SET_CONN_CTE_RX_PARAMS   0x01
 
#define HCI_SUP_LE_SET_CONN_CTE_TX_PARAMS   0x02
 
#define HCI_SUP_LE_CONN_CTE_REQ_ENABLE   0x04
 
#define HCI_SUP_LE_CONN_CTE_RSP_ENABLE   0x08
 
#define HCI_SUP_LE_READ_ANTENNA_INFO   0x10
 
#define HCI_SUP_LE_SET_PER_ADV_RCV_ENABLE   0x20
 
#define HCI_SUP_LE_PER_ADV_SYNC_TRANSFER   0x40
 
#define HCI_SUP_LE_PER_ADV_SET_INFO_TRANSFER   0x80
 
#define HCI_SUP_LE_SET_PAST_PARAM   0x01
 
#define HCI_SUP_LE_SET_DEFAULT_PAST_PARAM   0x02
 
#define HCI_SUP_LE_GENERATE_DHKEY_V2   0x04
 
#define HCI_SUP_LE_MODIFY_SLEEP_CLK_ACCURACY   0x10
 
#define HCI_SUP_LE_READ_BUF_SIZE_V2   0x20
 
#define HCI_SUP_LE_READ_ISO_TX_SYNC   0x40
 
#define HCI_SUP_LE_SET_CIG_PARAM   0x80
 
#define HCI_SUP_LE_SET_CIG_PARAM_TEST   0x01
 
#define HCI_SUP_LE_CREATE_CIS   0x02
 
#define HCI_SUP_LE_REMOVE_CIG   0x04
 
#define HCI_SUP_LE_ACCEPT_CIS_REQ   0x08
 
#define HCI_SUP_LE_REJECT_CIS_REQ   0x10
 
#define HCI_SUP_LE_CREATE_BIG   0x20
 
#define HCI_SUP_LE_CREATE_BIG_TEST   0x40
 
#define HCI_SUP_LE_TERMINATE_BIG   0x80
 
#define HCI_SUP_LE_BIG_CREATE_SYNC   0x01
 
#define HCI_SUP_LE_BIG_TERMINATE_SYNC   0x02
 
#define HCI_SUP_LE_REQ_PEER_SCA   0x04
 
#define HCI_SUP_LE_SETUP_ISO_DATA_PATH   0x08
 
#define HCI_SUP_LE_REMOVE_ISO_DATA_PATH   0x10
 
#define HCI_SUP_LE_ISO_TRANSMIT_TEST   0x20
 
#define HCI_SUP_LE_ISO_RECEIVE_TEST   0x40
 
#define HCI_SUP_LE_ISO_READ_TEST_COUNTERS   0x80
 
#define HCI_SUP_LE_ISO_TEST_END   0x01
 
#define HCI_SUP_LE_SET_HOST_FEATURE   0x02
 
#define HCI_SUP_LE_READ_ISO_LINK_QUALITY   0x04
 
#define HCI_SUP_LE_ENH_READ_TX_POWER_LEVEL   0x08
 
#define HCI_SUP_LE_READ_REMOTE_TX_POWER_LEVEL   0x01
 
#define HCI_SUP_LE_SET_PATH_LOSS_REPORT_PARAM   0x02
 
#define HCI_SUP_LE_SET_PATH_LOSS_REPORT_ENABLE   0x04
 
#define HCI_SUP_LE_SET_TX_POWER_REPORT_ENABLE   0x08
 
#define HCI_SUP_LE_TRANSMITTER_TEST_V4   0x01
 
#define HCI_SUP_READ_LOCAL_SUP_CODECS_V2   0x02
 
#define HCI_SUP_READ_LOCAL_SUP_CODEC_CAP   0x04
 
#define HCI_SUP_READ_LOCAL_SUP_CTR_DLY   0x08
 
#define HCI_SUP_CONFIG_DATA_PATH   0x10
 
#define HCI_SUP_CMD_LEN   64
 
Event mask
#define HCI_EVT_MASK_DISCONNECT_CMPL   0x10
 
#define HCI_EVT_MASK_ENC_CHANGE   0x80
 
#define HCI_EVT_MASK_READ_REMOTE_VER_INFO_CMPL   0x08
 
#define HCI_EVT_MASK_HW_ERROR   0x80
 
#define HCI_EVT_MASK_DATA_BUF_OVERFLOW   0x02
 
#define HCI_EVT_MASK_ENC_KEY_REFRESH_CMPL   0x80
 
#define HCI_EVT_MASK_LE_META   0x20
 
Event mask page 2
#define HCI_EVT_MASK_AUTH_PAYLOAD_TIMEOUT   0x80
 
LE event mask
#define HCI_EVT_MASK_LE_CONN_CMPL_EVT   0x01
 
#define HCI_EVT_MASK_LE_ADV_REPORT_EVT   0x02
 
#define HCI_EVT_MASK_LE_CONN_UPDATE_CMPL_EVT   0x04
 
#define HCI_EVT_MASK_LE_READ_REMOTE_FEAT_CMPL_EVT   0x08
 
#define HCI_EVT_MASK_LE_LTK_REQ_EVT   0x10
 
#define HCI_EVT_MASK_LE_REMOTE_CONN_PARAM_REQ_EVT   0x20
 
#define HCI_EVT_MASK_LE_DATA_LEN_CHANGE_EVT   0x40
 
#define HCI_EVT_MASK_LE_READ_LOCAL_P256_PUB_KEY_CMPL   0x80
 
#define HCI_EVT_MASK_LE_GENERATE_DHKEY_CMPL   0x01
 
#define HCI_EVT_MASK_LE_ENHANCED_CONN_CMPL_EVT   0x02
 
#define HCI_EVT_MASK_LE_DIRECT_ADV_REPORT_EVT   0x04
 
#define HCI_EVT_MASK_LE_PHY_UPDATE_CMPL_EVT   0x08
 
#define HCI_EVT_MASK_LE_EXT_ADV_REPORT_EVT   0x10
 
#define HCI_EVT_MASK_LE_PER_ADV_SYNC_EST_EVT   0x20
 
#define HCI_EVT_MASK_LE_PER_ADV_REPORT_EVT   0x40
 
#define HCI_EVT_MASK_LE_PER_ADV_SYNC_LOST_EVT   0x80
 
#define HCI_EVT_MASK_LE_SCAN_TIMEOUT_EVT   0x01
 
#define HCI_EVT_MASK_LE_ADV_SET_TERM_EVT   0x02
 
#define HCI_EVT_MASK_LE_SCAN_REQ_RCVD_EVT   0x04
 
#define HCI_EVT_MASK_LE_CH_SEL_ALGO_EVT   0x08
 
#define HCI_EVT_MASK_LE_CONNLESS_IQ_REPORT_EVT   0x10
 
#define HCI_EVT_MASK_LE_CONN_IQ_REPORT_EVT   0x20
 
#define HCI_EVT_MASK_LE_CTE_REQ_FAILED_EVT   0x40
 
#define HCI_EVT_MASK_LE_PER_SYNC_TRSF_RCVT_EVT   0x80
 
#define HCI_EVT_MASK_LE_CIS_EST_EVT   0x01
 
#define HCI_EVT_MASK_LE_CIS_REQ_EVT   0x02
 
#define HCI_EVT_MASK_LE_CREATE_BIG_CMPL_EVT   0x04
 
#define HCI_EVT_MASK_LE_TERMINATE_BIG_CMPL_EVT   0x08
 
#define HCI_EVT_MASK_LE_BIG_SYNC_EST_EVT   0x10
 
#define HCI_EVT_MASK_LE_BIG_SYNC_LOST_EVT   0x20
 
#define HCI_EVT_MASK_LE_PEER_SCA_CMPL_EVT   0x40
 
#define HCI_EVT_MASK_LE_PATH_LOSS_REPORT_EVT   0x80
 
#define HCI_EVT_MASK_LE_TX_POWER_REPORT_EVT   0x01
 
#define HCI_EVT_MASK_LE_BIG_INFO_ADV_RPT_EVT   0x02
 
LE supported features
#define HCI_LE_SUP_FEAT_ENCRYPTION   0x0000000000000001
 
#define HCI_LE_SUP_FEAT_CONN_PARAM_REQ_PROC   0x0000000000000002
 
#define HCI_LE_SUP_FEAT_EXT_REJECT_IND   0x0000000000000004
 
#define HCI_LE_SUP_FEAT_SLV_INIT_FEAT_EXCH   0x0000000000000008
 
#define HCI_LE_SUP_FEAT_LE_PING   0x0000000000000010
 
#define HCI_LE_SUP_FEAT_DATA_LEN_EXT   0x0000000000000020
 
#define HCI_LE_SUP_FEAT_PRIVACY   0x0000000000000040
 
#define HCI_LE_SUP_FEAT_EXT_SCAN_FILT_POLICY   0x0000000000000080
 
#define HCI_LE_SUP_FEAT_LE_2M_PHY   0x0000000000000100
 
#define HCI_LE_SUP_FEAT_STABLE_MOD_IDX_TRANSMITTER   0x0000000000000200
 
#define HCI_LE_SUP_FEAT_STABLE_MOD_IDX_RECEIVER   0x0000000000000400
 
#define HCI_LE_SUP_FEAT_LE_CODED_PHY   0x0000000000000800
 
#define HCI_LE_SUP_FEAT_LE_EXT_ADV   0x0000000000001000
 
#define HCI_LE_SUP_FEAT_LE_PER_ADV   0x0000000000002000
 
#define HCI_LE_SUP_FEAT_CH_SEL_2   0x0000000000004000
 
#define HCI_LE_SUP_FEAT_LE_POWER_CLASS_1   0x0000000000008000
 
#define HCI_LE_SUP_FEAT_MIN_NUN_USED_CHAN   0x0000000000010000
 
#define HCI_LE_SUP_FEAT_CONN_CTE_REQ   0x0000000000020000
 
#define HCI_LE_SUP_FEAT_CONN_CTE_RSP   0x0000000000040000
 
#define HCI_LE_SUP_FEAT_CONNLESS_CTE_TRANS   0x0000000000080000
 
#define HCI_LE_SUP_FEAT_CONNLESS_CTE_RECV   0x0000000000100000
 
#define HCI_LE_SUP_FEAT_ANTENNA_SWITCH_AOD   0x0000000000200000
 
#define HCI_LE_SUP_FEAT_ANTENNA_SWITCH_AOA   0x0000000000400000
 
#define HCI_LE_SUP_FEAT_RECV_CTE   0x0000000000800000
 
#define HCI_LE_SUP_FEAT_PAST_SENDER   0x0000000001000000
 
#define HCI_LE_SUP_FEAT_PAST_RECIPIENT   0x0000000002000000
 
#define HCI_LE_SUP_FEAT_SCA_UPDATE   0x0000000004000000
 
#define HCI_LE_SUP_FEAT_REMOTE_PUB_KEY_VALIDATION   0x0000000008000000
 
#define HCI_LE_SUP_FEAT_CIS_MASTER   0x0000000010000000
 
#define HCI_LE_SUP_FEAT_CIS_SLAVE   0x0000000020000000
 
#define HCI_LE_SUP_FEAT_ISO_BROADCASTER   0x0000000040000000
 
#define HCI_LE_SUP_FEAT_ISO_SYNC_RECEIVER   0x0000000080000000
 
#define HCI_LE_SUP_FEAT_ISO_HOST_SUPPORT   0x0000000100000000
 
#define HCI_LE_SUP_FEAT_POWER_CONTROL_REQUEST   0x0000000200000000
 
#define HCI_LE_SUP_FEAT_POWER_CHANGE_IND   0x0000000400000000
 
#define HCI_LE_SUP_FEAT_PATH_LOSS_MONITOR   0x0000000800000000
 
LE feature bit positon in FeatureSet stored in the Controller
#define HCI_LE_FEAT_BIT_ISO_HOST_SUPPORT   32
 
Advertising command parameters
#define HCI_ADV_MIN_INTERVAL   0x0020
 
#define HCI_ADV_MAX_INTERVAL   0x4000
 
#define HCI_ADV_DIRECTED_MAX_DURATION   0x0500
 
#define HCI_ADV_TYPE_CONN_UNDIRECT   0x00
 
#define HCI_ADV_TYPE_CONN_DIRECT   0x01
 
#define HCI_ADV_TYPE_DISC_UNDIRECT   0x02
 
#define HCI_ADV_TYPE_NONCONN_UNDIRECT   0x03
 
#define HCI_ADV_TYPE_CONN_DIRECT_LO_DUTY   0x04
 
#define HCI_ADV_CHAN_37   0x01
 
#define HCI_ADV_CHAN_38   0x02
 
#define HCI_ADV_CHAN_39   0x04
 
#define HCI_ADV_FILT_NONE   0x00
 
#define HCI_ADV_FILT_SCAN   0x01
 
#define HCI_ADV_FILT_CONN   0x02
 
#define HCI_ADV_FILT_ALL   0x03
 
Scan command parameters
#define HCI_SCAN_TYPE_PASSIVE   0
 
#define HCI_SCAN_TYPE_ACTIVE   1
 
#define HCI_SCAN_INTERVAL_MIN   0x0004
 
#define HCI_SCAN_INTERVAL_MAX   0x4000
 
#define HCI_SCAN_INTERVAL_DEFAULT   0x0010
 
#define HCI_SCAN_WINDOW_MIN   0x0004
 
#define HCI_SCAN_WINDOW_MAX   0x4000
 
#define HCI_SCAN_WINDOW_DEFAULT   0x0010
 
Connection command parameters
#define HCI_CONN_INTERVAL_MIN   0x0006
 
#define HCI_CONN_INTERVAL_MAX   0x0C80
 
#define HCI_CONN_LATENCY_MAX   0x01F3
 
#define HCI_SUP_TIMEOUT_MIN   0x000A
 
#define HCI_SUP_TIMEOUT_MAX   0x0C80
 
Misc command parameters
#define HCI_ROLE_MASTER   0
 
#define HCI_ROLE_SLAVE   1
 
#define HCI_READ_TX_PWR_CURRENT   0
 
#define HCI_READ_TX_PWR_MAX   1
 
#define HCI_TX_PWR_MIN   -30
 
#define HCI_TX_PWR_MAX   20
 
#define HCI_TX_PWR_NO_PREFERENCE   127
 
#define HCI_VERSION   6
 
#define HCI_RSSI_MIN   -127
 
#define HCI_RSSI_MAX   20
 
#define HCI_ADDR_TYPE_PUBLIC   0
 
#define HCI_ADDR_TYPE_RANDOM   1
 
#define HCI_ADDR_TYPE_PUBLIC_IDENTITY   2
 
#define HCI_ADDR_TYPE_RANDOM_IDENTITY   3
 
#define HCI_ADDR_TYPE_ANONYMOUS   0xFF
 
#define HCI_FILT_NONE   0
 
#define HCI_FILT_WHITE_LIST   1
 
#define HCI_FILT_RES_INIT   2
 
#define HCI_FILT_WHITE_LIST_RES_INIT   3
 
#define HCI_FILT_PER_ADV_PARAM   0
 
#define HCI_FILT_PER_ADV_LIST   1
 
#define HCI_ROLE_MASTER   0
 
#define HCI_ROLE_SLAVE   1
 
#define HCI_PRIV_MODE_NETWORK   0x00
 
#define HCI_PRIV_MODE_DEVICE   0x01
 
Connection event parameters
#define HCI_CLOCK_500PPM   0x00
 
#define HCI_CLOCK_250PPM   0x01
 
#define HCI_CLOCK_150PPM   0x02
 
#define HCI_CLOCK_100PPM   0x03
 
#define HCI_CLOCK_75PPM   0x04
 
#define HCI_CLOCK_50PPM   0x05
 
#define HCI_CLOCK_30PPM   0x06
 
#define HCI_CLOCK_20PPM   0x07
 
Advertising report event parameters
#define HCI_ADV_CONN_UNDIRECT   0x00
 
#define HCI_ADV_CONN_DIRECT   0x01
 
#define HCI_ADV_DISC_UNDIRECT   0x02
 
#define HCI_ADV_NONCONN_UNDIRECT   0x03
 
#define HCI_ADV_SCAN_RESPONSE   0x04
 
Extended advertising data operations
#define HCI_ADV_DATA_OP_FRAG_INTER   0x00
 
#define HCI_ADV_DATA_OP_FRAG_FIRST   0x01
 
#define HCI_ADV_DATA_OP_FRAG_LAST   0x02
 
#define HCI_ADV_DATA_OP_COMP_FRAG   0x03
 
#define HCI_ADV_DATA_OP_UNCHANGED_DATA   0x04
 
Advertising data fragment preference
#define HCI_ADV_DATA_FRAG_PREF_FRAG   0x00
 
#define HCI_ADV_DATA_FRAG_PREF_NO_FRAG   0x01
 
Number of advertising sets
#define HCI_ADV_NUM_SETS_ALL_DISABLE   0x00
 
Maximum number of scanning or initiating PHYs
#define HCI_MAX_NUM_PHYS   3
 
Advertising PHY values
#define HCI_ADV_PHY_LE_1M   0x01
 
#define HCI_ADV_PHY_LE_2M   0x02
 
#define HCI_ADV_PHY_LE_CODED   0x03
 
Scanner PHY value bits
#define HCI_SCAN_PHY_LE_1M_BIT   (1<<0)
 
#define HCI_SCAN_PHY_LE_2M_BIT   (1<<1)
 
#define HCI_SCAN_PHY_LE_CODED_BIT   (1<<2)
 
Initiator PHY value bits
#define HCI_INIT_PHY_LE_1M_BIT   (1<<0)
 
#define HCI_INIT_PHY_LE_2M_BIT   (1<<1)
 
#define HCI_INIT_PHY_LE_CODED_BIT   (1<<2)
 
Transmitter PHY value bits
#define HCI_TRANS_PHY_LE_1M_BIT   (1<<0)
 
#define HCI_TRANS_PHY_LE_2M_BIT   (1<<1)
 
#define HCI_TRABS_PHY_LE_CODED_BIT   (1<<2)
 
Advertising event properties type bits
#define HCI_ADV_PROP_CONN_ADV_BIT   (1<<0)
 
#define HCI_ADV_PROP_SCAN_ADV_BIT   (1<<1)
 
#define HCI_ADV_PROP_DIRECT_ADV_BIT   (1<<2)
 
#define HCI_ADV_PROP_CONN_DIRECT_ADV_BIT   (1<<3)
 
#define HCI_ADV_PROP_USE_LEG_PDU_BIT   (1<<4)
 
#define HCI_ADV_PROP_OMIT_ADV_ADDR_BIT   (1<<5)
 
#define HCI_ADV_PROP_INC_TX_PWR_BIT   (1<<6)
 
Advertising event properties for legacy PDUs
#define HCI_ADV_PROP_LEG_CONN_UNDIRECT   0x13
 
#define HCI_ADV_PROP_LEG_CONN_DIRECT   0x1D
 
#define HCI_ADV_PROP_LEG_SCAN_UNDIRECT   0x12
 
#define HCI_ADV_PROP_LEG_NONCONN_UNDIRECT   0x10
 
#define HCI_ADV_PROP_LEG_CONN_DIRECT_LO_DUTY   0x15
 
Extended advertising report event type bits
#define HCI_ADV_RPT_CONN_ADV_BIT   (1<<0)
 
#define HCI_ADV_RPT_SCAN_ADV_BIT   (1<<1)
 
#define HCI_ADV_RPT_DIRECT_ADV_BIT   (1<<2)
 
#define HCI_ADV_RPT_SCAN_RSP_BIT   (1<<3)
 
#define HCI_ADV_RPT_LEG_ADV_BIT   (1<<4)
 
#define HCI_ADV_RPT_DATA_STATUS_BITS   (3<<5)
 
Advertising report event types for legacy PDUs
#define HCI_ADV_RPT_LEG_CONN_UNDIRECT   0x13
 
#define HCI_ADV_RPT_LEG_CONN_DIRECT   0x15
 
#define HCI_ADV_RPT_LEG_SCAN_UNDIRECT   0x12
 
#define HCI_ADV_RPT_LEG_NONCONN_UNDIRECT   0x10
 
#define HCI_ADV_RPT_LEG_CONN_UNDIRECT_SCAN_RSP   0x1B
 
#define HCI_ADV_RPT_LEG_SCAN_UNDIRECT_SCAN_RSP   0x1A
 
Advertising report data status
#define HCI_ADV_RPT_DATA_CMPL   0x00
 
#define HCI_ADV_RPT_DATA_INCMPL_MORE   0x01
 
#define HCI_ADV_RPT_DATA_INCMPL_TRUNC   0x02
 
Extended advertising report event primary PHY values
#define HCI_ADV_RPT_PHY_PRIM_LE_1M   0x01
 
#define HCI_ADV_RPT_PHY_PRIM_LE_CODED   0x03
 
Extended advertising report event seconday PHY values
#define HCI_ADV_RPT_PHY_SEC_NONE   0x00
 
#define HCI_ADV_RPT_PHY_SEC_LE_1M   0x01
 
#define HCI_ADV_RPT_PHY_SEC_LE_2M   0x02
 
#define HCI_ADV_RPT_PHY_SEC_LE_CODED   0x03
 
Channel selection algorithm used
#define HCI_CH_SEL_ALGO_1   0x00
 
#define HCI_CH_SEL_ALGO_2   0x01
 
KeyType parameters
#define HCI_PRIVATE_KEY_GENERATED   0x00
 
#define HCI_PRIVATE_KEY_DEBUG   0x01
 
Minimum number of used channels
#define HCI_MIN_NUM_OF_USED_CHAN   8
 
Synchronization timeout for the periodic advertising
#define HCI_SYNC_MIN_TIMEOUT   0x000A
 
#define HCI_SYNC_MAX_TIMEOUT   0x4000
 
Maximum synchronization skip
#define HCI_SYNC_MAX_SKIP   0x01F3
 
Maximum synchronization handle
#define HCI_SYNC_MAX_HANDLE   0x0EFF
 
Periodic sync transfer receive mode
#define HCI_SYNC_TRSF_MODE_OFF   0x00
 
#define HCI_SYNC_TRSF_MODE_REP_DISABLED   0x01,
 
#define HCI_SYNC_TRSF_MODE_REP_ENABLED   0x02,
 
Periodic advertising create sync options bits
#define HCI_OPTIONS_FILT_POLICY_BIT   (1<<0)
 
#define HCI_OPTIONS_INIT_RPT_ENABLE_BIT   (1<<1)
 
PHY types
#define HCI_PHY_NONE   0x00
 
#define HCI_PHY_LE_1M_BIT   (1<<0)
 
#define HCI_PHY_LE_2M_BIT   (1<<1)
 
#define HCI_PHY_LE_CODED_BIT   (1<<2)
 
All PHYs preference
#define HCI_ALL_PHY_ALL_PREFERENCES   0x00
 
#define HCI_ALL_PHY_TX_PREFERENCE_BIT   (1<<0)
 
#define HCI_ALL_PHY_RX_PREFERENCE_BIT   (1<<1)
 
PHY options
#define HCI_PHY_OPTIONS_NONE   0x00
 
#define HCI_PHY_OPTIONS_S2_PREFERRED   0x01
 
#define HCI_PHY_OPTIONS_S8_PREFERRED   0x02
 
CTE Slot Durations
#define HCI_CTE_SLOT_DURATION_NONE   0x00
 
#define HCI_CTE_SLOT_DURATION_1_US   0x01
 
#define HCI_CTE_SLOT_DURATION_2_US   0x02
 
Permitted CTE Type bits
#define HCI_CTE_TYPE_PERMIT_AOA_RSP_BIT   (1<<0)
 
#define HCI_CTE_TYPE_PERMIT_AOD_RSP_1_US_BIT   (1<<1)
 
#define HCI_CTE_TYPE_PERMIT_AOD_RSP_2_US_BIT   (1<<2)
 
Requested CTE Types
#define HCI_CTE_TYPE_REQ_AOA   0x00
 
#define HCI_CTE_TYPE_REQ_AOD_1_US   0x01
 
#define HCI_CTE_TYPE_REQ_AOD_2_US   0x02
 
Bluetooth core specification versions
#define HCI_VER_BT_CORE_SPEC_4_0   0x06
 
#define HCI_VER_BT_CORE_SPEC_4_1   0x07
 
#define HCI_VER_BT_CORE_SPEC_4_2   0x08
 
#define HCI_VER_BT_CORE_SPEC_5_0   0x09
 
#define HCI_VER_BT_CORE_SPEC_5_1   0x0A
 
#define HCI_VER_BT_CORE_SPEC_5_2   0x0B
 
Parameter lengths
#define HCI_EVT_MASK_LEN   8
 
#define HCI_EVT_MASK_PAGE_2_LEN   8
 
#define HCI_LE_EVT_MASK_LEN   8
 
#define HCI_FEAT_LEN   8
 
#define HCI_ADV_DATA_LEN   31
 
#define HCI_SCAN_DATA_LEN   31
 
#define HCI_EXT_ADV_DATA_LEN   251
 
#define HCI_EXT_ADV_CONN_DATA_LEN   191
 
#define HCI_PER_ADV_DATA_LEN   252
 
#define HCI_EXT_ADV_RPT_DATA_LEN   229
 
#define HCI_PER_ADV_RPT_DATA_LEN   247
 
#define HCI_CHAN_MAP_LEN   5
 
#define HCI_KEY_LEN   16
 
#define HCI_ENCRYPT_DATA_LEN   16
 
#define HCI_RAND_LEN   8
 
#define HCI_LE_STATES_LEN   8
 
#define HCI_P256_KEY_LEN   64
 
#define HCI_DH_KEY_LEN   32
 
#define HCI_BC_LEN   16
 
#define HCI_EXT_ADV_RPT_DATA_LEN_OFFSET   23
 
#define HCI_PER_ADV_RPT_DATA_LEN_OFFSET   6
 
Number of Antenna IDs in Switching Pattern
#define HCI_MIN_NUM_ANTENNA_IDS   2
 
#define HCI_MAX_NUM_ANTENNA_IDS   75
 
IQ Report Sample Counts
#define HCI_IQ_RPT_SAMPLE_CNT_MIN   9
 
#define HCI_IQ_RPT_SAMPLE_CNT_MAX   82
 
#define HCI_CONN_IQ_RPT_SAMPLE_CNT_OFFSET   12
 
CIS Count
#define HCI_MAX_CIS_COUNT   0x10
 
BIS Count
#define HCI_MAX_BIS_COUNT   0x10
 
CIG IDs
#define HCI_MIN_CIG_ID   0x00
 
#define HCI_MAX_CIG_ID   0xEF
 
CIS IDs
#define HCI_MIN_CIS_ID   0x00
 
#define HCI_MAX_CIS_ID   0xEF
 
Packing Scheme
#define HCI_PACKING_SEQUENTIAL   0x00
 
#define HCI_PACKING_INTERLEAVED   0x01
 
Framing
#define HCI_FRAMING_UNFRAMED   0x00
 
#define HCI_FRAMING_FRAMED   0x01
 
Slave Clock Accuracy
#define HCI_MIN_SCA   0x00
 
#define HCI_MAX_SCA   0x07
 
SDU Size
#define HCI_MIN_SDU_SIZE   0x0000
 
#define HCI_MAX_SDU_SIZE   0x0FFF
 
SDU Interval
#define HCI_MIN_SDU_INTERV   0x0000FF
 
#define HCI_MAX_SDU_INTERV   0x0FFFFF
 
#define HCI_DEFAULT_SDU_INTERV   0x004E20
 
CIS Transport Latency
#define HCI_MIN_CIS_TRANS_LAT   0x0005
 
#define HCI_MAX_CIS_TRANS_LAT   0x0FA0
 
#define HCI_DEFAULT_CIS_TRANS_LAT   0x0028
 
CIS Flush Time
#define HCI_MIN_CIS_FT   0x01
 
#define HCI_MAX_CIS_FT   0xFF
 
CIS Burst Number
#define HCI_MIN_CIS_BN   0x00
 
#define HCI_MAX_CIS_BN   0x0F
 
CIS Retransmission Number
#define HCI_MIN_CIS_RTN   0x00
 
#define HCI_MAX_CIS_RTN   0x0F
 
ISO Data Path Direction
#define HCI_ISO_DATA_DIR_INPUT   0
 
#define HCI_ISO_DATA_DIR_OUTPUT   1
 
ISO Data Path Direction Bit
#define HCI_ISO_DATA_PATH_INPUT_BIT   (1<<HCI_ISO_DATA_DIR_INPUT)
 
#define HCI_ISO_DATA_PATH_OUTPUT_BIT   (1<<HCI_ISO_DATA_DIR_OUTPUT)
 
ISO Data Path ID
#define HCI_ISO_DATA_PATH_HCI   0x00
 
#define HCI_ISO_DATA_PATH_VS_I2S   0x01
 
#define HCI_ISO_DATA_PATH_DISABLED   0xFF
 
ISO test packet payload type
#define HCI_ISO_ISO_PLD_TYPE_ZERO_LEN   0x00
 
#define HCI_ISO_ISO_PLD_TYPE_VAR_LEN   0x01
 
#define HCI_ISO_ISO_PLD_TYPE_MAX_LEN   0x02
 
Maximum number of codecs
#define HCI_MAX_CODEC   5
 
Maximum length of codec-specific capability data
#define HCI_CODEC_CAP_DATA_LEN   4
 
Codec transport types
#define HCI_CODEC_TRANS_CIS_BIT   (1<<2)
 
#define HCI_CODEC_TRANS_BIS_BIT   (1<<3)
 
ISO Header Packet Boundary
#define HCI_ISO_HDR_PB_START_FRAG   0x00
 
#define HCI_ISO_HDR_PB_CONT_FRAG   0x01
 
#define HCI_ISO_HDR_PB_COMP_FRAG   0x02
 
#define HCI_ISO_HDR_PB_END_FRAG   0x03
 
ISOAL Segmentation Header Start/Continuation Bit
#define HCI_ISOAL_SEG_HDR_SC_START   0x00
 
#define HCI_ISOAL_SEG_HDR_SC_CONT   0x01
 
Company ID
#define HCI_ID_PACKETCRAFT   0x07E8
 
Manufacturer location in Local version
#define HCI_LOCAL_VER_MANUFACTURER_POS   4
 
Coding Format Assigned Numbers
#define HCI_ID_LC3   0x01
 
#define HCI_ID_VS   0xFF
 

Detailed Description

HCI constants and definitions from the Bluetooth specification.

Copyright (c) 2009-2019 ARM Ltd. All Rights Reserved.

Copyright (c) 2019-2020 Packetcraft, Inc.

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.

Definition in file hci_defs.h.

Important Information for this Arm website

This site uses cookies to store information on your computer. By continuing to use our site, you consent to our cookies. If you are not happy with the use of these cookies, please review our Cookie Policy to learn how they can be disabled. By disabling cookies, some features of the site will not work.