Mistake on this page?
Report an issue in GitHub or email us
Data Structures | Typedefs | Functions
hci_api.h File Reference

HCI subsystem API. More...

#include "wsf_types.h"
#include "hci_defs.h"
#include "wsf_os.h"
#include "util/bda.h"

Go to the source code of this file.

Data Structures

struct  hciLeConnCmplEvt_t
 LE connection complete event. More...
 
struct  hciDisconnectCmplEvt_t
 Disconnect complete event. More...
 
struct  hciLeConnUpdateCmplEvt_t
 LE connection update complete event. More...
 
struct  hciLeCreateConnCancelCmdCmplEvt_t
 LE create connection cancel command complete event. More...
 
struct  hciLeAdvReportEvt_t
 LE advertising report event. More...
 
struct  hciLeExtAdvReportEvt_t
 LE extended advertising report. More...
 
struct  hciLeScanTimeoutEvt_t
 LE scan timeout. More...
 
struct  hciLeAdvSetTermEvt_t
 LE advertising set terminated. More...
 
struct  hciLeScanReqRcvdEvt_t
 LE scan request received. More...
 
struct  hciLePerAdvSyncEstEvt_t
 LE periodic advertising sync established. More...
 
struct  hciLePerAdvReportEvt_t
 LE periodic advertising report. More...
 
struct  hciLePerAdvSyncLostEvt_t
 LE periodic advertising synch lost. More...
 
struct  HciLePerAdvSyncTrsfRcvdEvt_t
 LE periodic advertising sync transfer received. More...
 
struct  hciLeChSelAlgoEvt_t
 LE channel selection algorithm. More...
 
struct  hciReadRssiCmdCmplEvt_t
 Read RSSI command complete event. More...
 
struct  hciReadChanMapCmdCmplEvt_t
 LE Read channel map command complete event. More...
 
struct  hciReadTxPwrLvlCmdCmplEvt_t
 Read transmit power level command complete event. More...
 
struct  hciReadRemoteVerInfoCmplEvt_t
 Read remote version information complete event. More...
 
struct  hciLeReadRemoteFeatCmplEvt_t
 LE read remote features complete event. More...
 
struct  hciLeLtkReqReplCmdCmplEvt_t
 LE LTK request reply command complete event. More...
 
struct  hciLeLtkReqNegReplCmdCmplEvt_t
 LE LTK request negative reply command complete event. More...
 
struct  hciEncKeyRefreshCmpl_t
 Encryption key refresh complete event. More...
 
struct  hciEncChangeEvt_t
 Encryption change event. More...
 
struct  hciLeLtkReqEvt_t
 LE LTK request event. More...
 
struct  hciVendorSpecCmdStatusEvt_t
 Vendor specific command status event. More...
 
struct  hciVendorSpecCmdCmplEvt_t
 Vendor specific command complete event. More...
 
struct  hciVendorSpecEvt_t
 Vendor specific event. More...
 
struct  hciHwErrorEvt_t
 Hardware error event. More...
 
struct  hciLeEncryptCmdCmplEvt_t
 LE encrypt command complete event. More...
 
struct  hciLeRandCmdCmplEvt_t
 LE rand command complete event. More...
 
struct  hciLeRemConnParamRepEvt_t
 LE remote connection parameter request reply command complete event. More...
 
struct  hciLeRemConnParamNegRepEvt_t
 LE remote connection parameter request negative reply command complete event. More...
 
struct  hciLeReadDefDataLenEvt_t
 LE read suggested default data len command complete event. More...
 
struct  hciLeWriteDefDataLenEvt_t
 LE write suggested default data len command complete event. More...
 
struct  hciLeSetDataLenEvt_t
 LE set data len command complete event. More...
 
struct  hciLeReadMaxDataLenEvt_t
 LE read maximum data len command complete event. More...
 
struct  hciLeRemConnParamReqEvt_t
 LE remote connetion parameter request event. More...
 
struct  hciLeDataLenChangeEvt_t
 LE data length change event. More...
 
struct  hciLeP256CmplEvt_t
 LE local p256 ecc key command complete event. More...
 
struct  hciLeGenDhKeyEvt_t
 LE generate DH key command complete event. More...
 
struct  hciLeReadPeerResAddrCmdCmplEvt_t
 LE read peer resolving address command complete event. More...
 
struct  hciLeReadLocalResAddrCmdCmplEvt_t
 LE read local resolving address command complete event. More...
 
struct  hciLeSetAddrResEnableCmdCmplEvt_t
 LE set address resolving enable command complete event. More...
 
struct  hciLeAddDevToResListCmdCmplEvt_t
 LE add device to resolving list command complete event. More...
 
struct  hciLeRemDevFromResListCmdCmplEvt_t
 LE remove device from resolving list command complete event. More...
 
struct  hciLeClearResListCmdCmplEvt_t
 LE clear resolving list command complete event. More...
 
struct  hciWriteAuthPayloadToCmdCmplEvt_t
 Write authenticated payload to command complete event. More...
 
struct  hciAuthPayloadToExpiredEvt_t
 Authenticated payload to expire event. More...
 
struct  hciLeReadPhyCmdCmplEvt_t
 LE read PHY command complete event. More...
 
struct  hciLeSetDefPhyCmdCmplEvt_t
 LE set default PHY command complete event. More...
 
struct  hciLePhyUpdateEvt_t
 LE PHY update complete event. More...
 
struct  hciLePerAdvSyncTrsfCmdCmplEvt_t
 LE periodic advertising sync transfer command complete event. More...
 
struct  hciLePerAdvSetInfoTrsfCmdCmplEvt_t
 LE set periodic advertising set info transfer command complete event. More...
 
struct  hciLeConnIQReportEvt_t
 LE connection IQ report. More...
 
struct  hciLeCteReqFailedEvt_t
 LE CTE request failed event. More...
 
struct  hciLeSetConnCteRxParamsCmdCmplEvt_t
 LE set connection CTE receive parameters command complete event. More...
 
struct  hciLeSetConnCteTxParamsCmdCmplEvt_t
 LE set connection CTE transmit parameters command complete event. More...
 
struct  hciLeConnCteReqEnableCmdCmplEvt_t
 LE connection CTE request enable command complete event. More...
 
struct  hciLeConnCteRspEnableCmdCmplEvt_t
 LE connection CTE response enable command complete event. More...
 
struct  hciLeReadAntennaInfoCmdCmplEvt_t
 LE read antenna information command complete event. More...
 
struct  HciLeCisEstEvt_t
 LE CIS established event. More...
 
struct  HciLeCisReqEvt_t
 LE CIS request event. More...
 
struct  HciLeReqPeerScaCmplEvt_t_t
 LE request peer SCA complete. More...
 
struct  hciLeSetCigParamsCmdCmplEvt_t
 LE set CIG parameters command complete event. More...
 
struct  hciLeRemoveCigCmdCmplEvt_t
 LE remove CIG command complete event. More...
 
struct  HciLeCreateBigCmplEvt_t
 LE Create BIG complete event. More...
 
struct  HciLeTerminateBigCmplEvt_t
 LE Terminate BIG complete event. More...
 
struct  HciLeBigTermSyncCmplEvt_t
 LE BIG Terminate Sync complete event. More...
 
struct  HciLeBigSyncEstEvt_t
 LE BIG Sync Established event. More...
 
struct  HciLeBigSyncLostEvt_t
 LE BIG sync lost event. More...
 
struct  HciLeBigInfoAdvRptEvt_t
 LE BIG Info Advertising Report event. More...
 
struct  hciLeSetupIsoDataPathCmdCmplEvt_t
 LE setup ISO data path command complete event. More...
 
struct  hciLeRemoveIsoDataPathCmdCmplEvt_t
 LE remove ISO data path command complete event. More...
 
struct  hciConfigDataPathCmdCmplEvt_t
 Config data path command complete event. More...
 
struct  HciStdCodecInfo_t
 Standard codec info block. More...
 
struct  HciVsCodecInfo_t
 Vendor-specific codec info block. More...
 
struct  hciReadLocalSupCodecsCmdCmplEvt_t
 Read local supported codecs command complete event. More...
 
struct  HciCodecCap_t
 Codec capability block. More...
 
struct  hciReadLocalSupCodecCapCmdCmplEvt_t
 Read local supported codec capabilities command complete event. More...
 
struct  hciReadLocalSupCtrDlyCmdCmplEvt_t
 
struct  hciLocalVerInfo_t
 Local version information. More...
 
union  hciEvt_t
 Union of all event types. More...
 
struct  hciConnSpec_t
 Connection specification type. More...
 
struct  hciExtInitParam_t
 Initiating parameters. More...
 
struct  hciExtInitScanParam_t
 Initiating scan parameters. More...
 
struct  hciExtAdvParam_t
 Extended advertising parameters. More...
 
struct  hciExtAdvEnableParam_t
 Extended advertising enable parameters. More...
 
struct  hciExtScanParam_t
 Extended scanning parameters. More...
 
struct  HciCisCisParams_t
 CIS parameters. More...
 
struct  HciCisCigParams_t
 CIG parameters. More...
 
struct  HciCisCreateCisParams_t
 CIS create CIS parameters. More...
 
struct  HciCreateBig_t
 BIG Create BIG parameters. More...
 
struct  HciBigCreateSync_t
 BIG Create Sync parameters. More...
 
struct  HciIsoSetupDataPath_t
 Setup ISO data path parameters. More...
 
struct  HciConfigDataPath_t
 Configure data path parameters. More...
 
struct  HciReadLocalSupCodecCaps_t
 Read local supported codec capabilities parameters. More...
 
struct  HciReadLocalSupControllerDly_t
 Read local supported controller delay parameters. More...
 

Macros

HCI Internal Event Codes

Proprietary HCI event codes for handling HCI events in callbacks.

#define HCI_RESET_SEQ_CMPL_CBACK_EVT   0
 Reset sequence complete. More...
 
#define HCI_LE_CONN_CMPL_CBACK_EVT   1
 LE connection complete. More...
 
#define HCI_LE_ENHANCED_CONN_CMPL_CBACK_EVT   2
 LE enhanced connection complete. More...
 
#define HCI_DISCONNECT_CMPL_CBACK_EVT   3
 Disconnect complete. More...
 
#define HCI_LE_CONN_UPDATE_CMPL_CBACK_EVT   4
 LE connection update complete. More...
 
#define HCI_LE_CREATE_CONN_CANCEL_CMD_CMPL_CBACK_EVT   5
 LE create connection cancel command complete. More...
 
#define HCI_LE_ADV_REPORT_CBACK_EVT   6
 LE advertising report. More...
 
#define HCI_READ_RSSI_CMD_CMPL_CBACK_EVT   7
 Read RSSI command complete. More...
 
#define HCI_LE_READ_CHAN_MAP_CMD_CMPL_CBACK_EVT   8
 LE Read channel map command complete. More...
 
#define HCI_READ_TX_PWR_LVL_CMD_CMPL_CBACK_EVT   9
 Read transmit power level command complete. More...
 
#define HCI_READ_REMOTE_VER_INFO_CMPL_CBACK_EVT   10
 Read remote version information complete. More...
 
#define HCI_LE_READ_REMOTE_FEAT_CMPL_CBACK_EVT   11
 LE read remote features complete. More...
 
#define HCI_LE_LTK_REQ_REPL_CMD_CMPL_CBACK_EVT   12
 LE LTK request reply command complete. More...
 
#define HCI_LE_LTK_REQ_NEG_REPL_CMD_CMPL_CBACK_EVT   13
 LE LTK request negative reply command complete. More...
 
#define HCI_ENC_KEY_REFRESH_CMPL_CBACK_EVT   14
 Encryption key refresh complete. More...
 
#define HCI_ENC_CHANGE_CBACK_EVT   15
 Encryption change. More...
 
#define HCI_LE_LTK_REQ_CBACK_EVT   16
 LE LTK request. More...
 
#define HCI_VENDOR_SPEC_CMD_STATUS_CBACK_EVT   17
 Vendor specific command status. More...
 
#define HCI_VENDOR_SPEC_CMD_CMPL_CBACK_EVT   18
 Vendor specific command complete. More...
 
#define HCI_VENDOR_SPEC_CBACK_EVT   19
 Vendor specific. More...
 
#define HCI_HW_ERROR_CBACK_EVT   20
 Hardware error. More...
 
#define HCI_LE_ADD_DEV_TO_RES_LIST_CMD_CMPL_CBACK_EVT   21
 LE add device to resolving list command complete. More...
 
#define HCI_LE_REM_DEV_FROM_RES_LIST_CMD_CMPL_CBACK_EVT   22
 LE remove device from resolving command complete. More...
 
#define HCI_LE_CLEAR_RES_LIST_CMD_CMPL_CBACK_EVT   23
 LE clear resolving list command complete. More...
 
#define HCI_LE_READ_PEER_RES_ADDR_CMD_CMPL_CBACK_EVT   24
 LE read peer resolving address command complete. More...
 
#define HCI_LE_READ_LOCAL_RES_ADDR_CMD_CMPL_CBACK_EVT   25
 LE read local resolving address command complete. More...
 
#define HCI_LE_SET_ADDR_RES_ENABLE_CMD_CMPL_CBACK_EVT   26
 LE set address resolving enable command complete. More...
 
#define HCI_LE_ENCRYPT_CMD_CMPL_CBACK_EVT   27
 LE encrypt command complete. More...
 
#define HCI_LE_RAND_CMD_CMPL_CBACK_EVT   28
 LE rand command complete. More...
 
#define HCI_LE_REM_CONN_PARAM_REP_CMD_CMPL_CBACK_EVT   29
 LE remote connection parameter request reply complete. More...
 
#define HCI_LE_REM_CONN_PARAM_NEG_REP_CMD_CMPL_CBACK_EVT   30
 LE remote connection parameter request negative reply complete. More...
 
#define HCI_LE_READ_DEF_DATA_LEN_CMD_CMPL_CBACK_EVT   31
 LE read suggested default data length command complete. More...
 
#define HCI_LE_WRITE_DEF_DATA_LEN_CMD_CMPL_CBACK_EVT   32
 LE write suggested default data length command complete. More...
 
#define HCI_LE_SET_DATA_LEN_CMD_CMPL_CBACK_EVT   33
 LE set data length command complete. More...
 
#define HCI_LE_READ_MAX_DATA_LEN_CMD_CMPL_CBACK_EVT   34
 LE read maximum data length command complete. More...
 
#define HCI_LE_REM_CONN_PARAM_REQ_CBACK_EVT   35
 LE remote connection parameter request. More...
 
#define HCI_LE_DATA_LEN_CHANGE_CBACK_EVT   36
 LE data length change. More...
 
#define HCI_LE_READ_LOCAL_P256_PUB_KEY_CMPL_CBACK_EVT   37
 LE read local P-256 public key. More...
 
#define HCI_LE_GENERATE_DHKEY_CMPL_CBACK_EVT   38
 LE generate DHKey complete. More...
 
#define HCI_WRITE_AUTH_PAYLOAD_TO_CMD_CMPL_CBACK_EVT   39
 Write authenticated payload timeout command complete. More...
 
#define HCI_AUTH_PAYLOAD_TO_EXPIRED_CBACK_EVT   40
 Authenticated payload timeout expired event. More...
 
#define HCI_LE_READ_PHY_CMD_CMPL_CBACK_EVT   41
 LE read phy command complete. More...
 
#define HCI_LE_SET_DEF_PHY_CMD_CMPL_CBACK_EVT   42
 LE set default phy command complete. More...
 
#define HCI_LE_PHY_UPDATE_CMPL_CBACK_EVT   43
 LE phy update complete. More...
 
#define HCI_LE_EXT_ADV_REPORT_CBACK_EVT   44
 LE extended advertising report. More...
 
#define HCI_LE_SCAN_TIMEOUT_CBACK_EVT   45
 LE scan timeout event. More...
 
#define HCI_LE_ADV_SET_TERM_CBACK_EVT   46
 LE advertising set terminated event. More...
 
#define HCI_LE_SCAN_REQ_RCVD_CBACK_EVT   47
 LE scan request received event. More...
 
#define HCI_LE_PER_ADV_SYNC_EST_CBACK_EVT   48
 LE periodic advertising sync established event. More...
 
#define HCI_LE_PER_ADV_REPORT_CBACK_EVT   49
 LE periodic advertising report event. More...
 
#define HCI_LE_PER_ADV_SYNC_LOST_CBACK_EVT   50
 LE periodic advertising synch lost event. More...
 
#define HCI_LE_CH_SEL_ALGO_CBACK_EVT   51
 LE channel selection algorithm event. More...
 
#define HCI_LE_SCAN_ENABLE_CMD_CMPL_CBACK_EVT   52
 LE scan enable command complete. More...
 
#define HCI_LE_ADV_ENABLE_CMD_CMPL_CBACK_EVT   53
 LE advertise enable command complete. More...
 
#define HCI_LE_EXT_SCAN_ENABLE_CMD_CMPL_CBACK_EVT   54
 LE extended scan enable command complete. More...
 
#define HCI_LE_EXT_ADV_ENABLE_CMD_CMPL_CBACK_EVT   55
 LE extended advertise enable command complete. More...
 
#define HCI_LE_PER_ADV_ENABLE_CMD_CMPL_CBACK_EVT   56
 LE periodic advertise enable command complete. More...
 
#define HCI_LE_SET_RAND_ADDR_CMD_CMPL_CBACK_EVT   57
 LE set random address command complete. More...
 
#define HCI_LE_PER_SYNC_TRSF_RCVD_CBACK_EVT   58
 LE periodic advertising sync transfer received event. More...
 
#define HCI_LE_PER_ADV_SYNC_TRSF_CMD_CMPL_CBACK_EVT   59
 LE periodic advertising sync transfer command complete. More...
 
#define HCI_LE_PER_ADV_SET_INFO_TRSF_CMD_CMPL_CBACK_EVT   60
 LE set periodic advertising set info transfer command complete. More...
 
#define HCI_LE_CONN_IQ_REPORT_CBACK_EVT   61
 LE connection IQ report event. More...
 
#define HCI_LE_CTE_REQ_FAILED_CBACK_EVT   62
 LE CTE request failed event. More...
 
#define HCI_LE_SET_CONN_CTE_RX_PARAMS_CMD_CMPL_CBACK_EVT   63
 LE set connection CTE receive parameters command complete. More...
 
#define HCI_LE_SET_CONN_CTE_TX_PARAMS_CMD_CMPL_CBACK_EVT   64
 LE set connection CTE transmit parameters command complete. More...
 
#define HCI_LE_CONN_CTE_REQ_ENABLE_CMD_CMPL_CBACK_EVT   65
 LE connection CTE request enable command complete. More...
 
#define HCI_LE_CONN_CTE_RSP_ENABLE_CMD_CMPL_CBACK_EVT   66
 LE connection CTE response enable command complete. More...
 
#define HCI_LE_READ_ANTENNA_INFO_CMD_CMPL_CBACK_EVT   67
 LE read antenna information command complete. More...
 
#define HCI_LE_CIS_EST_CBACK_EVT   68
 LE CIS established event. More...
 
#define HCI_LE_CIS_REQ_CBACK_EVT   69
 LE CIS request event. More...
 
#define HCI_CIS_DISCONNECT_CMPL_CBACK_EVT   70
 CIS disconnect complete. More...
 
#define HCI_LE_REQ_PEER_SCA_CBACK_EVT   71
 LE Request peer SCA complete. More...
 
#define HCI_LE_SET_CIG_PARAMS_CMD_CMPL_CBACK_EVT   72
 LE set CIG parameters command complete. More...
 
#define HCI_LE_REMOVE_CIG_CMD_CMPL_CBACK_EVT   73
 LE remove CIG command complete. More...
 
#define HCI_LE_SETUP_ISO_DATA_PATH_CMD_CMPL_CBACK_EVT   74
 LE setup ISO data path command complete. More...
 
#define HCI_LE_REMOVE_ISO_DATA_PATH_CMD_CMPL_CBACK_EVT   75
 LE remove ISO data path command complete. More...
 
#define HCI_CONFIG_DATA_PATH_CMD_CMPL_CBACK_EVT   76
 Configure data path command complete. More...
 
#define HCI_READ_LOCAL_SUP_CODECS_CMD_CMPL_CBACK_EVT   77
 Read local supported codecs command complete. More...
 
#define HCI_READ_LOCAL_SUP_CODEC_CAP_CMD_CMPL_CBACK_EVT   78
 Read local supported codec capabilities command complete. More...
 
#define HCI_READ_LOCAL_SUP_CTR_DLY_CMD_CMPL_CBACK_EVT   79
 Read local supported controller delay command complete. More...
 
#define HCI_LE_CREATE_BIG_CMPL_CBACK_EVT   80
 LE create BIG complete. More...
 
#define HCI_LE_TERM_BIG_CMPL_CBACK_EVT   81
 LE terminate BIG complete. More...
 
#define HCI_LE_BIG_SYNC_EST_CBACK_EVT   82
 LE BIG sync established. More...
 
#define HCI_LE_BIG_SYNC_LOST_CBACK_EVT   83
 LE BIG sync lost. More...
 
#define HCI_LE_BIG_TERM_SYNC_CMPL_CBACK_EVT   84
 LE BIG terminate sync complete. More...
 
#define HCI_LE_BIG_INFO_ADV_REPORT_CBACK_EVT   85
 LE BIG Info advertising report. More...
 

Typedefs

typedef void(* hciEvtCback_t) (hciEvt_t *pEvent)
 HCI event callback type. More...
 
typedef void(* hciSecCback_t) (hciEvt_t *pEvent)
 HCI security callback type. More...
 
typedef void(* hciAclCback_t) (uint8_t *pData)
 HCI ACL callback type. More...
 
typedef void(* hciIsoCback_t) (uint8_t *pData)
 HCI ISO callback type. More...
 
typedef void(* hciFlowCback_t) (uint16_t handle, bool_t flowDisabled)
 HCI flow control callback type. More...
 

Functions

void HciVsAeInit (uint8_t param)
 Vendor-specific controller AE initialization function. More...
 
HCI Initialization, Registration, Reset
void HciEvtRegister (hciEvtCback_t evtCback)
 Register a callback for HCI events. More...
 
void HciSecRegister (hciSecCback_t secCback)
 Register a callback for certain HCI security events. More...
 
void HciAclRegister (hciAclCback_t aclCback, hciFlowCback_t flowCback)
 Register callbacks for the HCI data path. More...
 
void HciIsoRegister (hciAclCback_t isoCback, hciFlowCback_t flowCback)
 Register callbacks for the HCI ISO data path. More...
 
void HciResetSequence (void)
 Initiate an HCI reset sequence. More...
 
void HciVsInit (uint8_t param)
 Vendor-specific controller initialization function. More...
 
void HciCoreInit (void)
 HCI core initialization. More...
 
void HciCoreHandler (wsfEventMask_t event, wsfMsgHdr_t *pMsg)
 WSF event handler for core HCI. More...
 
void HciSetMaxRxAclLen (uint16_t len)
 Set the maximum reassembled RX ACL packet length. Minimum value is 27. More...
 
void HciSetAclQueueWatermarks (uint8_t queueHi, uint8_t queueLo)
 Set TX ACL queue high and low watermarks. More...
 
void HciSetLeSupFeat (uint64_t feat, bool_t flag)
 Set LE supported features configuration mask. More...
 
void HciSetLeSupFeat32 (uint32_t feat, bool_t flag)
 Set LE supported features configuration mask. More...
 
HCI Optimization Interface Functions

This is an optimized interface for certain HCI commands that simply read a value.

The stack uses these functions rather than their corresponding functions in the command interface. These functions can only be called after the reset sequence has been completed.

uint8_t * HciGetBdAddr (void)
 Return a pointer to the BD address of this device. More...
 
uint8_t HciGetWhiteListSize (void)
 Return the white list size. More...
 
int8_t HciGetAdvTxPwr (void)
 Return the advertising transmit power. More...
 
uint16_t HciGetBufSize (void)
 Return the ACL buffer size supported by the controller. More...
 
uint8_t HciGetNumBufs (void)
 Return the number of ACL buffers supported by the controller. More...
 
uint8_t * HciGetSupStates (void)
 Return the states supported by the controller. More...
 
uint64_t HciGetLeSupFeat (void)
 Return the LE supported features supported by the controller. More...
 
uint32_t HciGetLeSupFeat32 (void)
 Return the LE supported features supported by the controller. More...
 
uint16_t HciGetMaxRxAclLen (void)
 Get the maximum reassembled RX ACL packet length. More...
 
uint8_t HciGetResolvingListSize (void)
 Return the resolving list size. More...
 
bool_t HciLlPrivacySupported (void)
 Whether LL Privacy is supported. More...
 
uint16_t HciGetMaxAdvDataLen (void)
 Get the maximum advertisement (or scan response) data length supported by the Controller. More...
 
uint8_t HciGetNumSupAdvSets (void)
 Get the maximum number of advertising sets supported by the Controller. More...
 
bool_t HciLeAdvExtSupported (void)
 Whether LE Advertising Extensions is supported. More...
 
uint8_t HciGetPerAdvListSize (void)
 Return the periodic advertising list size. More...
 
hciLocalVerInfo_tHciGetLocalVerInfo (void)
 Return a pointer to the local version information. More...
 
HCI ACL Data Functions

HCI ACL data interface

void HciSendAclData (uint8_t *pAclData)
 Send ACL Data from the stack to HCI. More...
 
HCI Command Interface Functions

HCI commands

void HciDisconnectCmd (uint16_t handle, uint8_t reason)
 HCI disconnect command. More...
 
void HciLeAddDevWhiteListCmd (uint8_t addrType, uint8_t *pAddr)
 HCI LE add device white list command. More...
 
void HciLeClearWhiteListCmd (void)
 HCI LE clear white list command. More...
 
void HciLeConnUpdateCmd (uint16_t handle, hciConnSpec_t *pConnSpec)
 HCI connection update command. More...
 
void HciLeCreateConnCmd (uint16_t scanInterval, uint16_t scanWindow, uint8_t filterPolicy, uint8_t peerAddrType, uint8_t *pPeerAddr, uint8_t ownAddrType, hciConnSpec_t *pConnSpec)
 HCI LE create connection command. More...
 
void HciLeCreateConnCancelCmd (void)
 HCI LE create connection cancel command. More...
 
void HciLeEncryptCmd (uint8_t *pKey, uint8_t *pData)
 HCI LE encrypt command. More...
 
void HciLeLtkReqNegReplCmd (uint16_t handle)
 HCI LE long term key request negative reply command. More...
 
void HciLeLtkReqReplCmd (uint16_t handle, uint8_t *pKey)
 HCI LE long term key request reply command. More...
 
void HciLeRandCmd (void)
 HCI LE random command. More...
 
void HciLeReadAdvTXPowerCmd (void)
 HCI LE read advertising TX power command. More...
 
void HciLeReadBufSizeCmd (void)
 HCI LE read buffer size command. More...
 
void HciLeReadBufSizeCmdV2 (void)
 HCI LE read buffer size version 2 command. More...
 
void HciLeReadChanMapCmd (uint16_t handle)
 HCI LE read channel map command. More...
 
void HciLeReadLocalSupFeatCmd (void)
 HCI LE read local supported feautre command. More...
 
void HciLeReadRemoteFeatCmd (uint16_t handle)
 HCI LE read remote feature command. More...
 
void HciLeReadSupStatesCmd (void)
 HCI LE read supported states command. More...
 
void HciLeReadWhiteListSizeCmd (void)
 HCI LE read white list size command. More...
 
void HciLeRemoveDevWhiteListCmd (uint8_t addrType, uint8_t *pAddr)
 HCI LE remove device white list command. More...
 
void HciLeSetAdvEnableCmd (uint8_t enable)
 HCI LE set advanced enable command. More...
 
void HciLeSetAdvDataCmd (uint8_t len, uint8_t *pData)
 HCI LE set advertising data command. More...
 
void HciLeSetAdvParamCmd (uint16_t advIntervalMin, uint16_t advIntervalMax, uint8_t advType, uint8_t ownAddrType, uint8_t peerAddrType, uint8_t *pPeerAddr, uint8_t advChanMap, uint8_t advFiltPolicy)
 HCI LE set advertising parameters command. More...
 
void HciLeSetEventMaskCmd (uint8_t *pLeEventMask)
 HCI LE set event mask command. More...
 
void HciLeSetHostChanClassCmd (uint8_t *pChanMap)
 HCI set host channel class command. More...
 
void HciLeSetRandAddrCmd (uint8_t *pAddr)
 HCI LE set random address command. More...
 
void HciLeSetScanEnableCmd (uint8_t enable, uint8_t filterDup)
 HCI LE set scan enable command. More...
 
void HciLeSetScanParamCmd (uint8_t scanType, uint16_t scanInterval, uint16_t scanWindow, uint8_t ownAddrType, uint8_t scanFiltPolicy)
 HCI set scan parameters command. More...
 
void HciLeSetScanRespDataCmd (uint8_t len, uint8_t *pData)
 HCI LE set scan response data. More...
 
void HciLeStartEncryptionCmd (uint16_t handle, uint8_t *pRand, uint16_t diversifier, uint8_t *pKey)
 HCI LE start encryption command. More...
 
void HciReadBdAddrCmd (void)
 HCI read BD address command. More...
 
void HciReadBufSizeCmd (void)
 HCI read buffer size command. More...
 
void HciReadLocalSupFeatCmd (void)
 HCI read local supported feature command. More...
 
void HciReadLocalVerInfoCmd (void)
 HCI read local version info command. More...
 
void HciReadRemoteVerInfoCmd (uint16_t handle)
 HCI read remote version info command. More...
 
void HciReadRssiCmd (uint16_t handle)
 HCI read RSSI command. More...
 
void HciReadTxPwrLvlCmd (uint16_t handle, uint8_t type)
 HCI read Tx power level command. More...
 
void HciResetCmd (void)
 HCI reset command. More...
 
void HciSetEventMaskCmd (uint8_t *pEventMask)
 HCI set event mask command. More...
 
void HciSetEventMaskPage2Cmd (uint8_t *pEventMask)
 HCI set event page 2 mask command. More...
 
void HciReadAuthPayloadTimeout (uint16_t handle)
 HCI read authenticated payload timeout command. More...
 
void HciWriteAuthPayloadTimeout (uint16_t handle, uint16_t timeout)
 HCI write authenticated payload timeout command. More...
 
void HciLeAddDeviceToResolvingListCmd (uint8_t peerAddrType, const uint8_t *pPeerIdentityAddr, const uint8_t *pPeerIrk, const uint8_t *pLocalIrk)
 HCI add device to resolving list command. More...
 
void HciLeRemoveDeviceFromResolvingList (uint8_t peerAddrType, const uint8_t *pPeerIdentityAddr)
 HCI remove device from resolving list command. More...
 
void HciLeClearResolvingList (void)
 HCI clear resolving list command. More...
 
void HciLeReadResolvingListSize (void)
 HCI read resolving list command. More...
 
void HciLeReadPeerResolvableAddr (uint8_t addrType, const uint8_t *pIdentityAddr)
 HCI read peer resolvable address command. More...
 
void HciLeReadLocalResolvableAddr (uint8_t addrType, const uint8_t *pIdentityAddr)
 HCI read local resolvable address command. More...
 
void HciLeSetAddrResolutionEnable (uint8_t enable)
 HCI enable or disable address resolution command. More...
 
void HciLeSetResolvablePrivateAddrTimeout (uint16_t rpaTimeout)
 HCI set resolvable private address timeout command. More...
 
void HciLeSetPrivacyModeCmd (uint8_t addrType, uint8_t *pAddr, uint8_t mode)
 HCI LE set privacy mode command. More...
 
void HciLeReadPhyCmd (uint16_t handle)
 HCI read PHY command. More...
 
void HciLeSetDefaultPhyCmd (uint8_t allPhys, uint8_t txPhys, uint8_t rxPhys)
 HCI set default PHY command. More...
 
void HciLeSetPhyCmd (uint16_t handle, uint8_t allPhys, uint8_t txPhys, uint8_t rxPhys, uint16_t phyOptions)
 HCI set PHY command. More...
 
void HciVendorSpecificCmd (uint16_t opcode, uint8_t len, uint8_t *pData)
 HCI vencor specific command. More...
 
void HciLeRemoteConnParamReqReply (uint16_t handle, uint16_t intervalMin, uint16_t intervalMax, uint16_t latency, uint16_t timeout, uint16_t minCeLen, uint16_t maxCeLen)
 HCI Remote Connection Parameter Request Reply. More...
 
void HciLeRemoteConnParamReqNegReply (uint16_t handle, uint8_t reason)
 HCI Remote Connection Parameter Request Negative Reply. More...
 
void HciLeSetDataLen (uint16_t handle, uint16_t txOctets, uint16_t txTime)
 HCI LE Set Data Length. More...
 
void HciLeReadDefDataLen (void)
 HCI LE Read Default Data Length. More...
 
void HciLeWriteDefDataLen (uint16_t suggestedMaxTxOctets, uint16_t suggestedMaxTxTime)
 HCI LE Write Default Data Length. More...
 
void HciLeReadLocalP256PubKey (void)
 HCI LE Read Local P-256 Public Key. More...
 
void HciLeGenerateDHKey (uint8_t *pPubKeyX, uint8_t *pPubKeyY)
 HCI LE Generate DH Key. More...
 
void HciLeGenerateDHKeyV2 (uint8_t *pPubKeyX, uint8_t *pPubKeyY, uint8_t keyType)
 HCI LE Generate DH Key Version 2. More...
 
void HciLeReadMaxDataLen (void)
 HCI LE Read Maximum Data Length. More...
 
void HciLeReadTxPower (void)
 HCI LE read transmit power command. More...
 
void HciLeReadRfPathComp (void)
 HCI LE read RF path compensation command. More...
 
void HciLeWriteRfPathComp (int16_t txPathComp, int16_t rxPathComp)
 HCI LE write RF path compensation command. More...
 
HCI AE Advertiser Interface

HCI Advertising Extension functions used by the Advertiser role.

void HciLeSetAdvSetRandAddrCmd (uint8_t advHandle, const uint8_t *pAddr)
 HCI LE set advertising set random device address command. More...
 
void HciLeSetExtAdvParamCmd (uint8_t advHandle, hciExtAdvParam_t *pExtAdvParam)
 HCI LE set extended advertising parameters command. More...
 
void HciLeSetExtAdvDataCmd (uint8_t advHandle, uint8_t op, uint8_t fragPref, uint8_t len, const uint8_t *pData)
 HCI LE set extended advertising data command. More...
 
void HciLeSetExtScanRespDataCmd (uint8_t advHandle, uint8_t op, uint8_t fragPref, uint8_t len, const uint8_t *pData)
 HCI LE set extended scan response data command. More...
 
void HciLeSetExtAdvEnableCmd (uint8_t enable, uint8_t numSets, hciExtAdvEnableParam_t *pEnableParam)
 HCI LE set extended advertising enable command. More...
 
void HciLeReadMaxAdvDataLen (void)
 HCI LE read maximum advertising data length command. More...
 
void HciLeReadNumSupAdvSets (void)
 HCI LE read number of supported advertising sets command. More...
 
void HciLeRemoveAdvSet (uint8_t advHandle)
 HCI LE remove advertising set command. More...
 
void HciLeClearAdvSets (void)
 HCI LE clear advertising sets command. More...
 
void HciLeSetPerAdvParamCmd (uint8_t advHandle, uint16_t advIntervalMin, uint16_t advIntervalMax, uint16_t advProps)
 HCI LE set periodic advertising parameters command. More...
 
void HciLeSetPerAdvDataCmd (uint8_t advHandle, uint8_t op, uint8_t len, const uint8_t *pData)
 HCI LE set periodic advertising data command. More...
 
void HciLeSetPerAdvEnableCmd (uint8_t enable, uint8_t advHandle)
 HCI LE set periodic advertising enable command. More...
 
HCI AE Scanner Interface

HCI Advertising Extension functions used in the Scanner role.

void HciLeSetExtScanParamCmd (uint8_t ownAddrType, uint8_t scanFiltPolicy, uint8_t scanPhys, hciExtScanParam_t *pScanParam)
 HCI LE set extended scanning parameters command. More...
 
void HciLeExtScanEnableCmd (uint8_t enable, uint8_t filterDup, uint16_t duration, uint16_t period)
 HCI LE extended scan enable command. More...
 
void HciLeExtCreateConnCmd (hciExtInitParam_t *pInitParam, hciExtInitScanParam_t *pScanParam, hciConnSpec_t *pConnSpec)
 HCI LE extended create connection command. More...
 
void HciLePerAdvCreateSyncCmd (uint8_t options, uint8_t advSid, uint8_t advAddrType, uint8_t *pAdvAddr, uint16_t skip, uint16_t syncTimeout, uint8_t unused)
 HCI LE periodic advertising create sync command. More...
 
void HciLePerAdvCreateSyncCancelCmd (void)
 HCI LE periodic advertising create sync cancel command. More...
 
void HciLePerAdvTerminateSyncCmd (uint16_t syncHandle)
 HCI LE periodic advertising terminate sync command. More...
 
void HciLeAddDeviceToPerAdvListCmd (uint8_t advAddrType, uint8_t *pAdvAddr, uint8_t advSid)
 HCI LE add device to periodic advertiser list command. More...
 
void HciLeRemoveDeviceFromPerAdvListCmd (uint8_t advAddrType, uint8_t *pAdvAddr, uint8_t advSid)
 HCI LE remove device from periodic advertiser list command. More...
 
void HciLeClearPerAdvListCmd (void)
 HCI LE clear periodic advertiser list command. More...
 
void HciLeReadPerAdvListSizeCmd (void)
 HCI LE read periodic advertiser size command. More...
 
void HciLeSetPerAdvRcvEnableCmd (uint16_t syncHandle, uint8_t enable)
 HCI LE set periodic advertising receive enable command. More...
 
void HciLePerAdvSyncTrsfCmd (uint16_t connHandle, uint16_t serviceData, uint16_t syncHandle)
 HCI LE periodic advertising sync transfer command. More...
 
void HciLePerAdvSetInfoTrsfCmd (uint16_t connHandle, uint16_t serviceData, uint8_t advHandle)
 HCI LE set periodic advertising set info transfer command. More...
 
void HciLeSetPerAdvSyncTrsfParamsCmd (uint16_t connHandle, uint8_t mode, uint16_t skip, uint16_t syncTimeout, uint8_t cteType)
 HCI LE set periodic advertising sync transfer parameters command. More...
 
void HciLeSetDefaultPerAdvSyncTrsfParamsCmd (uint8_t mode, uint16_t skip, uint16_t syncTimeout, uint8_t cteType)
 HCI LE set default periodic advertising sync transfer parameters command. More...
 
void HciLeSetConnCteRxParamsCmd (uint16_t connHandle, uint8_t samplingEnable, uint8_t slotDurations, uint8_t switchPatternLen, uint8_t *pAntennaIDs)
 HCI LE set connection CTE receive parameters command. More...
 
void HciLeSetConnCteTxParamsCmd (uint16_t connHandle, uint8_t cteTypeBits, uint8_t switchPatternLen, uint8_t *pAntennaIDs)
 HCI LE set connection CTE transmit parameters command. More...
 
void HciLeConnCteReqEnableCmd (uint16_t connHandle, uint8_t enable, uint16_t cteReqInt, uint8_t reqCteLen, uint8_t reqCteType)
 HCI LE connection CTE request enable command. More...
 
void HciLeConnCteRspEnableCmd (uint16_t connHandle, uint8_t enable)
 HCI LE connection CTE response enable command. More...
 
void HciLeReadAntennaInfoCmd (void)
 HCI LE read antenna information command. More...
 
void HciLeSetCigParamsCmd (HciCisCigParams_t *pCigParam)
 HCI LE set CIG parameters command. More...
 
void HciLeCreateCisCmd (uint8_t numCis, HciCisCreateCisParams_t *pCreateCisParam)
 HCI LE create CIS command. More...
 
void HciLeAcceptCisReqCmd (uint16_t connHandle)
 HCI LE accept CIS request command. More...
 
void HciLeRejectCisReqCmd (uint16_t connHandle, uint8_t reason)
 HCI LE reject CIS request command. More...
 
void HciLeRemoveCigCmd (uint8_t cigId)
 HCI LE remove CIG command. More...
 
void HciLeRequestPeerScaCmd (uint16_t handle)
 HCI LE request peer SCA command. More...
 
void HciLeCreateBigCmd (HciCreateBig_t *pCreateBig)
 HCI LE create BIG command. More...
 
void HciTerminateBigCmd (uint8_t bigHandle, uint8_t reason)
 HCI LE terminate BIG command. More...
 
void HciLeBigCreateSyncCmd (HciBigCreateSync_t *pCreateSync)
 HCI LE BIG create sync command. More...
 
void HciLeBigTerminateSync (uint8_t bigHandle)
 HCI LE BIG terminate sync command. More...
 
void HciLeIsoTxTest (uint16_t handle, uint8_t pldType)
 HCI LE enable ISO Tx test. More...
 
void HciLeIsoRxTest (uint16_t handle, uint8_t pldType)
 HCI LE enable ISO Rx test. More...
 
void HciLeIsoReadTestCounters (uint16_t handle)
 HCI LE read ISO test counter. More...
 
void HciLeIsoTestEnd (uint16_t handle)
 HCI LE ISO test end. More...
 
void HciLeSetupIsoDataPathCmd (HciIsoSetupDataPath_t *pDataPathParam)
 HCI LE setup ISO data path command. More...
 
void HciLeRemoveIsoDataPathCmd (uint16_t handle, uint8_t directionBits)
 HCI LE remove ISO data path command. More...
 
void HciConfigDataPathCmd (HciConfigDataPath_t *pDataPathParam)
 HCI configure data path command. More...
 
void HciReadLocalSupCodecsCmd (void)
 HCI read local supported codecs command. More...
 
void HciReadLocalSupCodecCapCmd (HciReadLocalSupCodecCaps_t *pCodecParam)
 HCI read local supported codec capabilities command. More...
 
void HciReadLocalSupControllerDlyCmd (HciReadLocalSupControllerDly_t *pDelayParam)
 HCI read local supported controller delay command. More...
 
void HciLeSetHostFeatureCmd (uint8_t bitNum, bool_t bitVal)
 HCI LE set host feature command. More...
 

Detailed Description

HCI subsystem API.

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_api.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.