47 #define DM_ROLE_MASTER HCI_ROLE_MASTER 48 #define DM_ROLE_SLAVE HCI_ROLE_SLAVE 55 #define DM_DISC_MODE_NONE 0 56 #define DM_DISC_MODE_LIMITED 1 57 #define DM_DISC_MODE_GENERAL 2 64 #define DM_ADV_CONN_UNDIRECT 0 65 #define DM_ADV_CONN_DIRECT 1 66 #define DM_ADV_SCAN_UNDIRECT 2 67 #define DM_ADV_NONCONN_UNDIRECT 3 68 #define DM_ADV_CONN_DIRECT_LO_DUTY 4 75 #define DM_EXT_ADV_CONN_UNDIRECT 5 76 #define DM_EXT_ADV_NONCONN_DIRECT 6 77 #define DM_EXT_ADV_SCAN_DIRECT 7 78 #define DM_ADV_NONE 255 85 #define DM_RPT_CONN_UNDIRECT 0 86 #define DM_RPT_CONN_DIRECT 1 87 #define DM_RPT_SCAN_UNDIRECT 2 88 #define DM_RPT_NONCONN_UNDIRECT 3 89 #define DM_RPT_SCAN_RESPONSE 4 96 #define DM_DATA_LOC_ADV 0 97 #define DM_DATA_LOC_SCAN 1 104 #define DM_SCAN_TYPE_PASSIVE 0 105 #define DM_SCAN_TYPE_ACTIVE 1 112 #define DM_ADV_CHAN_37 HCI_ADV_CHAN_37 113 #define DM_ADV_CHAN_38 HCI_ADV_CHAN_38 114 #define DM_ADV_CHAN_39 HCI_ADV_CHAN_39 116 #define DM_ADV_CHAN_ALL (HCI_ADV_CHAN_37 | HCI_ADV_CHAN_38 | HCI_ADV_CHAN_39) 123 #define DM_CLIENT_ID_ATT 0 124 #define DM_CLIENT_ID_SMP 1 125 #define DM_CLIENT_ID_DM 2 126 #define DM_CLIENT_ID_APP 3 127 #define DM_CLIENT_ID_L2C 4 128 #define DM_CLIENT_ID_MAX 5 136 #define DM_CONN_ID_NONE 0 139 #define DM_SYNC_ID_NONE 0 142 #define DM_CIG_ID_NONE 0xFF 145 #define DM_CIS_ID_NONE 0xFF 152 #define DM_ADDR_PUBLIC 0x00 153 #define DM_ADDR_RANDOM 0x01 154 #define DM_ADDR_PUBLIC_IDENTITY 0x02 155 #define DM_ADDR_RANDOM_IDENTITY 0x03 156 #define DM_ADDR_RANDOM_UNRESOLVED 0xFE 157 #define DM_ADDR_NONE 0xFF 164 #define DM_ADV_TYPE_FLAGS 0x01 165 #define DM_ADV_TYPE_16_UUID_PART 0x02 166 #define DM_ADV_TYPE_16_UUID 0x03 167 #define DM_ADV_TYPE_32_UUID_PART 0x04 168 #define DM_ADV_TYPE_32_UUID 0x05 169 #define DM_ADV_TYPE_128_UUID_PART 0x06 170 #define DM_ADV_TYPE_128_UUID 0x07 171 #define DM_ADV_TYPE_SHORT_NAME 0x08 172 #define DM_ADV_TYPE_LOCAL_NAME 0x09 173 #define DM_ADV_TYPE_TX_POWER 0x0A 174 #define DM_ADV_TYPE_SM_TK_VALUE 0x10 175 #define DM_ADV_TYPE_SM_OOB_FLAGS 0x11 176 #define DM_ADV_TYPE_CONN_INTERVAL 0x12 177 #define DM_ADV_TYPE_SIGNED_DATA 0x13 178 #define DM_ADV_TYPE_16_SOLICIT 0x14 179 #define DM_ADV_TYPE_128_SOLICIT 0x15 180 #define DM_ADV_TYPE_SERVICE_DATA 0x16 181 #define DM_ADV_TYPE_PUBLIC_TARGET 0x17 182 #define DM_ADV_TYPE_RANDOM_TARGET 0x18 183 #define DM_ADV_TYPE_APPEARANCE 0x19 184 #define DM_ADV_TYPE_ADV_INTERVAL 0x1A 185 #define DM_ADV_TYPE_BD_ADDR 0x1B 186 #define DM_ADV_TYPE_ROLE 0x1C 187 #define DM_ADV_TYPE_32_SOLICIT 0x1F 188 #define DM_ADV_TYPE_SVC_DATA_32 0x20 189 #define DM_ADV_TYPE_SVC_DATA_128 0x21 190 #define DM_ADV_TYPE_LESC_CONFIRM 0x22 191 #define DM_ADV_TYPE_LESC_RANDOM 0x23 192 #define DM_ADV_TYPE_URI 0x24 193 #define DM_ADV_TYPE_INDOOR_POS 0x25 194 #define DM_ADV_TYPE_TRANS_DISC 0x26 195 #define DM_ADV_TYPE_LE_SUP_FEAT 0x27 196 #define DM_ADV_TYPE_CH_MAP_UPD_IND 0x28 197 #define DM_ADV_TYPE_PB_ADV 0x29 198 #define DM_ADV_TYPE_MESH_MSG 0x2A 199 #define DM_ADV_TYPE_MESH_BEACON 0x2B 200 #define DM_ADV_TYPE_BIG_INFO 0x2C 201 #define DM_ADV_TYPE_BCAST_CODE 0x2D 202 #define DM_ADV_TYPE_3D_INFO_DATA 0x3D 203 #define DM_ADV_TYPE_MANUFACTURER 0xFF 210 #define DM_FLAG_LE_LIMITED_DISC 0x01 211 #define DM_FLAG_LE_GENERAL_DISC 0x02 212 #define DM_FLAG_LE_BREDR_NOT_SUP 0x04 219 #define DM_AD_LEN_IDX 0 220 #define DM_AD_TYPE_IDX 1 221 #define DM_AD_DATA_IDX 2 228 #define DM_URI_SCHEME_HTTP 0x16 229 #define DM_URI_SCHEME_HTTPS 0x17 236 #define DM_GAP_LIM_ADV_TIMEOUT 180000 237 #define DM_GAP_GEN_DISC_SCAN_MIN 10240 238 #define DM_GAP_LIM_DISC_SCAN_MIN 10240 239 #define DM_GAP_CONN_PARAM_TIMEOUT 30000 240 #define DM_GAP_SCAN_FAST_PERIOD 30720 241 #define DM_GAP_ADV_FAST_PERIOD 30000 249 #define DM_GAP_SCAN_FAST_INT_MIN 48 250 #define DM_GAP_SCAN_FAST_INT_MAX 96 251 #define DM_GAP_SCAN_FAST_WINDOW 48 252 #define DM_GAP_SCAN_SLOW_INT_1 2048 253 #define DM_GAP_SCAN_SLOW_WINDOW_1 18 254 #define DM_GAP_SCAN_SLOW_INT_2 4096 255 #define DM_GAP_SCAN_SLOW_WINDOW_2 36 256 #define DM_GAP_ADV_FAST_INT_MIN_1 48 257 #define DM_GAP_ADV_FAST_INT_MAX_1 96 258 #define DM_GAP_ADV_FAST_INT_MIN_2 160 259 #define DM_GAP_ADV_FAST_INT_MAX_2 240 260 #define DM_GAP_ADV_SLOW_INT_MIN 1600 261 #define DM_GAP_ADV_SLOW_INT_MAX 1920 269 #define DM_GAP_SCAN_CODED_FAST_INT_MIN 144 270 #define DM_GAP_SCAN_CODED_FAST_INT_MAX 288 271 #define DM_GAP_SCAN_CODED_FAST_WINDOW 144 272 #define DM_GAP_SCAN_CODED_SLOW_INT_1 6144 273 #define DM_GAP_SCAN_CODED_SLOW_WINDOW_1 54 274 #define DM_GAP_SCAN_CODED_SLOW_INT_2 12288 275 #define DM_GAP_SCAN_CODED_SLOW_WINDOW_2 108 276 #define DM_GAP_ADV_CODED_FAST_INT_MIN_1 144 277 #define DM_GAP_ADV_CODED_FAST_INT_MAX_1 288 278 #define DM_GAP_ADV_CODED_FAST_INT_MIN_2 480 279 #define DM_GAP_ADV_CODED_FAST_INT_MAX_2 720 280 #define DM_GAP_ADV_CODED_SLOW_INT_MIN 4800 281 #define DM_GAP_ADV_CODED_SLOW_INT_MAX 5760 289 #define DM_GAP_CONN_EST_LATENCY 0 296 #define DM_GAP_INITIAL_CONN_INT_MIN 24 297 #define DM_GAP_INITIAL_CONN_INT_MAX 40 304 #define DM_GAP_CONN_EST_MIN_CE_LEN 0 305 #define DM_GAP_CONN_EST_MAX_CE_LEN 0 312 #define DM_GAP_PRIV_DISABLED 0 313 #define DM_GAP_PRIV_ENABLED 1 321 #define DM_DEFAULT_EST_SUP_TIMEOUT 2000 328 #define DM_AUTH_BOND_FLAG SMP_AUTH_BOND_FLAG 329 #define DM_AUTH_MITM_FLAG SMP_AUTH_MITM_FLAG 330 #define DM_AUTH_SC_FLAG SMP_AUTH_SC_FLAG 331 #define DM_AUTH_KP_FLAG SMP_AUTH_KP_FLAG 338 #define DM_KEY_DIST_LTK SMP_KEY_DIST_ENC 339 #define DM_KEY_DIST_IRK SMP_KEY_DIST_ID 340 #define DM_KEY_DIST_CSRK SMP_KEY_DIST_SIGN 347 #define DM_KEY_LOCAL_LTK 0x01 348 #define DM_KEY_PEER_LTK 0x02 349 #define DM_KEY_IRK 0x04 350 #define DM_KEY_CSRK 0x08 354 #define DM_SEC_HCI_ERR_BASE 0x20 360 #define DM_SEC_LEVEL_NONE 0 361 #define DM_SEC_LEVEL_ENC 1 362 #define DM_SEC_LEVEL_ENC_AUTH 2 363 #define DM_SEC_LEVEL_ENC_LESC 3 370 #define DM_SEC_LEVEL_BCAST_NONE 0 371 #define DM_SEC_LEVEL_BCAST_UNAUTH 1 372 #define DM_SEC_LEVEL_BCAST_AUTH 2 379 #define DM_RAND_ADDR_STATIC 0xC0 380 #define DM_RAND_ADDR_RESOLV 0x40 381 #define DM_RAND_ADDR_NONRESOLV 0x00 389 #define DM_RAND_ADDR_GET(addr) ((addr)[5] & 0xC0) 392 #define DM_RAND_ADDR_SET(addr, type) {(addr)[5] = ((addr)[5] & 0x3F) | (type);} 395 #define DM_RAND_ADDR_SA(addr, type) (((type) == DM_ADDR_RANDOM) && \ 396 (DM_RAND_ADDR_GET((addr)) == DM_RAND_ADDR_STATIC)) 399 #define DM_RAND_ADDR_RPA(addr, type) (((type) == DM_ADDR_RANDOM) && \ 400 (DM_RAND_ADDR_GET((addr)) == DM_RAND_ADDR_RESOLV)) 407 #define DM_PRIV_MODE_NETWORK 0x00 408 #define DM_PRIV_MODE_DEVICE 0x01 415 #define DM_CONN_IDLE 0 416 #define DM_CONN_BUSY 1 423 #define DM_IDLE_SMP_PAIR 0x0001 424 #define DM_IDLE_DM_ENC 0x0002 425 #define DM_IDLE_ATTS_DISC 0x0004 426 #define DM_IDLE_APP_DISC 0x0008 427 #define DM_IDLE_USER_1 0x0010 428 #define DM_IDLE_USER_2 0x0020 429 #define DM_IDLE_USER_3 0x0040 430 #define DM_IDLE_USER_4 0x0080 437 #define DM_FILT_POLICY_MODE_ADV 0 438 #define DM_FILT_POLICY_MODE_SCAN 1 439 #define DM_FILT_POLICY_MODE_INIT 2 440 #define DM_FILT_POLICY_MODE_SYNC 3 447 #define DM_ERR_SMP_RX_PDU_LEN_EXCEEDED 0x01 448 #define DM_ERR_ATT_RX_PDU_LEN_EXCEEDED 0x02 449 #define DM_ERR_L2C_RX_PDU_LEN_EXCEEDED 0x03 473 #define DM_ADV_HANDLE_DEFAULT 0 480 #define DM_CBACK_START 0x20 575 #if MBED_CONF_CORDIO_ROUTE_UNHANDLED_COMMAND_COMPLETE_EVENTS 576 , DM_UNHANDLED_CMD_CMPL_EVT_IND,
580 #define DM_CBACK_END DM_VENDOR_SPEC_IND 849 #if MBED_CONF_CORDIO_ROUTE_UNHANDLED_COMMAND_COMPLETE_EVENTS 850 hciUnhandledCmdCmplEvt_t unhandledCmdCmplEvt;
907 uint8_t *
DmFindAdType(uint8_t adType, uint16_t dataLen, uint8_t *pData);
957 void DmAdvConfig(uint8_t advHandle, uint8_t advType, uint8_t peerAddrType, uint8_t *pPeerAddr);
972 void DmAdvSetData(uint8_t advHandle, uint8_t op, uint8_t location, uint8_t len, uint8_t *pData);
986 void DmAdvStart(uint8_t numSets, uint8_t *pAdvHandles, uint16_t *pDuration, uint8_t *pMaxEaEvents);
999 void DmAdvStop(uint8_t numSets, uint8_t *pAdvHandles);
1044 void DmAdvSetInterval(uint8_t advHandle, uint16_t intervalMin, uint16_t intervalMax);
1089 bool_t
DmAdvSetAdValue(uint8_t adType, uint8_t len, uint8_t *pValue, uint16_t *pAdvDataLen,
1090 uint8_t *pAdvData, uint16_t advDataBufLen);
1109 bool_t
DmAdvSetName(uint8_t len, uint8_t *pValue, uint16_t *pAdvDataLen, uint8_t *pAdvData,
1110 uint16_t advDataBufLen);
1177 void DmAdvIncTxPwr(uint8_t advHandle, bool_t incTxPwr, int8_t advTxPwr);
1193 void DmAdvSetPhyParam(uint8_t advHandle, uint8_t priAdvPhy, uint8_t secAdvMaxSkip, uint8_t secAdvPhy);
1229 void DmAdvSetSid(uint8_t advHandle, uint8_t advSid);
1254 void DmPerAdvSetData(uint8_t advHandle, uint8_t op, uint8_t len, uint8_t *pData);
1389 uint8_t *pLocalIrk, bool_t enableLlPriv, uint16_t param);
1604 void DmScanStart(uint8_t scanPhys, uint8_t mode,
const uint8_t *pScanType, bool_t filterDup,
1605 uint16_t duration, uint16_t period);
1627 void DmScanSetInterval(uint8_t scanPhys, uint16_t *pScanInterval, uint16_t *pScanWindow);
1662 dmSyncId_t
DmSyncStart(uint8_t advSid, uint8_t advAddrType,
const uint8_t *pAdvAddr, uint16_t skip,
1663 uint16_t syncTimeout);
1738 void DmBigSyncStart(uint8_t bigHandle, uint16_t syncHandle, uint8_t mse, uint16_t bigSyncTimeout,
1739 uint8_t numBis, uint8_t *pBis);
1875 void DmPastSyncTrsf(dmConnId_t connId, uint16_t serviceData, dmSyncId_t syncId);
1889 void DmPastSetInfoTrsf(dmConnId_t connId, uint16_t serviceData, uint8_t advHandle);
1908 void DmPastConfig(dmConnId_t connId, uint8_t mode, uint16_t skip, uint16_t syncTimeout,
1927 void DmPastDefaultConfig(uint8_t mode, uint16_t skip, uint16_t syncTimeout, uint8_t cteType);
1943 uint8_t *pAntennaIDs);
1969 void DmConnCteTxConfig(dmConnId_t connId, uint8_t cteTypeBits, uint8_t switchPatternLen,
1970 uint8_t *pAntennaIDs);
1984 void DmConnCteReqStart(dmConnId_t connId, uint16_t cteReqInt, uint8_t reqCteLen,
1985 uint8_t reqCteType);
2130 dmConnId_t
DmConnOpen(uint8_t clientId, uint8_t initPhys, uint8_t addrType, uint8_t *pAddr);
2143 void DmConnClose(uint8_t clientId, dmConnId_t connId, uint8_t reason);
2160 dmConnId_t
DmConnAccept(uint8_t clientId, uint8_t advHandle, uint8_t advType, uint16_t duration,
2161 uint8_t maxEaEvents, uint8_t addrType, uint8_t *pAddr);
2247 void DmConnSetIdle(dmConnId_t connId, uint16_t idleMask, uint8_t idle);
2310 void DmConnSetDataLen(dmConnId_t connId, uint16_t txOctets, uint16_t txTime);
2475 void DmCisOpen(uint8_t numCis, uint16_t *pCisHandle, uint16_t *pAclHandle);
2500 void DmCisReject(uint16_t handle, uint8_t reason);
2512 void DmCisClose(uint16_t handle, uint8_t reason);
2558 void DmBigStart(uint8_t bigHandle, uint8_t advHandle, uint8_t numBis, uint32_t sduInterUsec,
2559 uint16_t maxSdu, uint16_t mtlMs, uint8_t rtn);
2571 void DmBigStop(uint8_t bigHandle, uint8_t reason);
2595 void DmBigSetPhy(uint8_t bigHandle, uint8_t phyBits);
2623 void DmBigSetBcastCode(uint8_t bigHandle, bool_t encrypt, bool_t authen, uint8_t *pBcastCode);
2755 void DmSetDefaultPhy(uint8_t allPhys, uint8_t txPhys, uint8_t rxPhys);
2781 void DmSetPhy(dmConnId_t connId, uint8_t allPhys, uint8_t txPhys, uint8_t rxPhys, uint16_t phyOptions);
2931 void DmSecPairReq(dmConnId_t connId, uint8_t oob, uint8_t auth, uint8_t iKeyDist, uint8_t rKeyDist);
2947 void DmSecPairRsp(dmConnId_t connId, uint8_t oob, uint8_t auth, uint8_t iKeyDist, uint8_t rKeyDist);
2973 void DmSecAuthRsp(dmConnId_t connId, uint8_t authDataLen, uint8_t *pAuthData);
3014 void DmSecLtkRsp(dmConnId_t connId, bool_t keyFound, uint8_t secLevel, uint8_t *pKey);
3329 void DmSmpEncryptReq(dmConnId_t connId, uint8_t secLevel, uint8_t *pKey);
uint8_t * DmSecGetLocalCsrk(void)
For internal use only. This function gets the local CSRK used by the device.
void DmScanStop(void)
Stop scanning.
LE CIS established event.
void DmRemoveDeviceFromPerAdvList(uint8_t advAddrType, uint8_t *pAdvAddr, uint8_t advSid)
DM remove device from periodic advertiser list.
LE BIG Sync Established event.
void DmPerAdvConfig(uint8_t advHandle)
Set the advertising parameters for periodic advertising.
void DmCisCigSetSduInterval(uint8_t cigId, uint32_t sduIntervalMToS, uint32_t sduIntervalSToM)
Set the interval, in microseconds, of periodic SDUs for the given Connected Isochronous Group (CIG)...
Data structure for DM_L2C_CMD_REJ_IND.
bool_t DmDevSetFilterPolicy(uint8_t mode, uint8_t policy)
Set the Advertising, Scanning or Initiator filter policy.
bool_t firstTime
TRUE when address is generated for the first time.
LE read local resolving address command complete event.
Periodic advertising sync lost.
Remote connection parameter requested.
Data type for DM_SEC_PAIR_IND.
uint8_t * DmConnPeerRpa(dmConnId_t connId)
For internal use only. Return the peer resolvable private address (RPA).
Private address resolved.
bool_t DmAdvModeExt(void)
Whether DM advertising is in extended mode.
hciLePerAdvSyncTrsfCmdCmplEvt_t perAdvSyncTrsf
handles DM_PER_ADV_SYNC_TRSF_IND
bool_t DmAdvSetName(uint8_t len, uint8_t *pValue, uint16_t *pAdvDataLen, uint8_t *pAdvData, uint16_t advDataBufLen)
Set the device name in the given advertising or scan response data. If the name can only fit in the d...
Responding to connection CTE request stopped.
LE setup ISO data path command complete event.
hciLeRemoveIsoDataPathCmdCmplEvt_t isoDataPathRemove
handles DM_ISO_DATA_PATH_REMOVE_IND
void DmConnUpdate(dmConnId_t connId, hciConnSpec_t *pConnSpec)
Update the connection parameters of an open connection.
BIG Info advertising data received from peer device.
hciLeSetCigParamsCmdCmplEvt_t cisCigConfig
handles DM_CIS_CIG_CONFIG_IND
uint8_t dmConnId_t
Connection identifier.
Initiating connection CTE request started.
dmConnId_t DmConnOpen(uint8_t clientId, uint8_t initPhys, uint8_t addrType, uint8_t *pAddr)
Open a connection to a peer device with the given address.
dmSecSlaveIndEvt_t slaveInd
handles DM_SEC_SLAVE_REQ_IND
void DmExtConnMasterInit(void)
Initialize DM connection manager for operation as extended master.
void DmBigStop(uint8_t bigHandle, uint8_t reason)
Stop a Broadcast Isochronous Group (BIG) identified for the given handle.
hciLeDataLenChangeEvt_t dataLenChange
handles DM_CONN_DATA_LEN_CHANGE_IND
uint8_t addrType
Address Type.
void DmAdvIncTxPwr(uint8_t advHandle, bool_t incTxPwr, int8_t advTxPwr)
Set whether or not to include TxPower in extended header of advertising PDU.
Incoming security request from slave.
HciLeBigInfoAdvRptEvt_t bigInfoAdvRpt
handles DM_BIG_INFO_ADV_REPORT_IND
uint8_t DmConnCteGetRspState(dmConnId_t connId)
Returns the device manager's CTE response state for a given connection.
uint8_t * DmConnLocalAddr(dmConnId_t connId)
For internal use only. Return the local address.
void DmDevReset(void)
Reset the device.
hciConfigDataPathCmdCmplEvt_t dataPathConfig
handles DM_DATA_PATH_CONFIG_IND
dmPerAdvSetStartEvt_t perAdvSetStart
handles DM_PER_ADV_SET_START_IND
ECC Security callback parameters structure.
void DmSecCalcOobReq(uint8_t *pRand, uint8_t *pPubKeyX)
This function calculates the local random and confirm values used in LESC OOB pairing. The operation's result is posted as a DM_SEC_CALC_OOB_IND event to the application's DM callback handler. The local rand and confirm values are exchanged with the peer via out-of-band (OOB) methods and passed into the DmSecSetOob after DM_CONN_OPEN_IND.
wsfMsgHdr_t hdr
Common header.
dmSecCnfIndEvt_t cnfInd
handles DM_SEC_COMPARE_IND
dmAdvNewAddrIndEvt_t advNewAddr
handles DM_ADV_NEW_ADDR_IND
bool_t DmConnInUse(dmConnId_t connId)
For internal use only. Return TRUE if the connection is in use.
void DmBisSlaveInit(void)
Initialize DM BIS manager for operation as slave.
void DmPrivClearResList(void)
Clear resolving list. When complete the client's callback function is called with a DM_PRIV_CLEAR_RES...
CIS CIG configure complete.
void DmConnSetDataLen(dmConnId_t connId, uint16_t txOctets, uint16_t txTime)
Set data length for a given connection.
Extended scan data received from peer device.
void DmAdvSetFragPref(uint8_t advHandle, uint8_t fragPref)
Set fragment preference for advertising data.
Advertising set(s) stopped.
void DmConnCteRxSampleStart(dmConnId_t connId, uint8_t slotDurations, uint8_t switchPatternLen, uint8_t *pAntennaIDs)
Enable sampling received CTE fields on the specified connection, and configure the antenna switching ...
hciLeReadRemoteFeatCmplEvt_t readRemoteFeat
handles DM_REMOTE_FEATURES_IND
void DmIsoInit(void)
Initialize DM ISO manager.
uint8_t DmBigSyncGetSecLevel(uint16_t handle)
Get the security level of the LE Security Mode 3 for the given Broadcast Isochronous Group (BIG) conn...
hciLePerAdvSyncEstEvt_t perAdvSyncEstFail
handles DM_PER_ADV_SYNC_EST_FAIL_IND
Sampling received CTE stopped.
secEccMsg_t eccMsg
handles DM_SEC_ECC_KEY_IND
LE connection complete event.
void DmSecSetEccKey(secEccKey_t *pKey)
This function sets the ECC key for use with LESC security.
void DmCisCigSetTransLatInterval(uint8_t cigId, uint16_t transLatMToS, uint16_t transLatSToM)
Set the maximum transport latency, in microseconds, for the given Connected Isochronous Group (CIG)...
uint8_t iKeyDist
Initiator key distribution flags.
LE Terminate BIG complete event.
Write authenticated payload to command complete event.
void DmSecSetLocalIdentityAddr(const uint8_t *pAddr, uint8_t type)
This function sets the local identity address used by the device.
PIN or OOB data requested for pairing.
void DmDevVsInit(uint8_t param)
Vendor-specific controller initialization function.
Write authenticated payload complete.
void DmScanStart(uint8_t scanPhys, uint8_t mode, const uint8_t *pScanType, bool_t filterDup, uint16_t duration, uint16_t period)
Start scanning on the given PHYs.
LE PHY update complete event.
hciLeScanReqRcvdEvt_t scanReqRcvd
handles DM_SCAN_REQ_RCVD_IND
dmSyncId_t DmSyncStart(uint8_t advSid, uint8_t advAddrType, const uint8_t *pAdvAddr, uint16_t skip, uint16_t syncTimeout)
Synchronize with periodic advertising from the given advertiser, and start receiving periodic adverti...
void DmDevPrivInit(void)
Initialize device privacy module.
uint8_t encKeyLen
Length of encryption key used when data was transferred.
HciLeCisEstEvt_t cisOpen
handles DM_CIS_OPEN_IND
Data type for DM_SEC_COMPARE_IND.
#define SMP_RAND8_LEN
Random 8-byte number length.
LE Create BIG complete event.
void DmSecSlaveReq(dmConnId_t connId, uint8_t auth)
This function is called by a slave device to request that the master initiates pairing or link encryp...
dmAdvSetStartEvt_t advSetStart
handles DM_ADV_SET_START_IND
bool_t DmScanModeExt(void)
Whether DM scanning is in extended mode.
hciLeReadPeerResAddrCmdCmplEvt_t readPeerResAddr
handles DM_PRIV_READ_PEER_RES_ADDR_IND
Data type for DM_PRIV_GENERATE_ADDR_IND.
uint8_t * DmFindAdType(uint8_t adType, uint16_t dataLen, uint8_t *pData)
Find an advertising data element in the given advertising or scan response data.
dmPrivGenAddrIndEvt_t genAddr
handles DM_PRIV_GENERATE_ADDR_IND
uint16_t DmExtMaxAdvDataLen(uint8_t advType, bool_t useLegacyPdu)
Get the maximum advertising data length supported by Controller for a given advertising type...
HciLeCreateBigCmplEvt_t bigStart
handles DM_BIG_START_IND
void DmAdvRemoveAdvSet(uint8_t advHandle)
Remove an advertising set.
HciLeCisReqEvt_t cisReq
handles DM_CIS_REQ_IND
void DmConnCteRspStart(dmConnId_t connId)
Start responding to LL_CTE_REQ PDUs with LL_CTE_RSP PDUs on the specified connection.
void DmSecCompareRsp(dmConnId_t connId, bool_t valid)
This function is called by the application in response to a DM_SEC_COMPARE_IND event. The valid parameter indicates if the compare value of the DM_SEC_COMPARE_IND was valid.
Periodic advertising set sync info transferred.
void DmSyncStop(dmSyncId_t syncId)
Stop reception of the periodic advertising identified by the given sync identifier.
hciReadLocalSupCodecCapCmdCmplEvt_t readLocalSupCodecCap
handles DM_READ_LOCAL_SUP_CODEC_CAP_IND
Periodic advertising sync establishment failed.
Local resolving address read.
void DmRegister(dmCback_t cback)
Register a callback with DM for scan and advertising events.
void DmSecAuthRsp(dmConnId_t connId, uint8_t authDataLen, uint8_t *pAuthData)
This function is called in response to a DM_SEC_AUTH_REQ_IND event to provide PIN or OOB data during ...
LE periodic advertising sync transfer received.
void DmPrivAddDevToResList(uint8_t addrType, const uint8_t *pIdentityAddr, uint8_t *pPeerIrk, uint8_t *pLocalIrk, bool_t enableLlPriv, uint16_t param)
Add device to resolving list. When complete the client's callback function is called with a DM_PRIV_A...
void DmAdvUseLegacyPdu(uint8_t advHandle, bool_t useLegacyPdu)
Set whether or not to use legacy advertising PDUs with extended advertising.
void DmCisSlaveInit(void)
Initialize DM Connected Isochronous Stream (CIS) manager for operation as slave.
Data type for DM_SEC_SLAVE_REQ_IND.
Data type for DmSecSetOob().
hciReadLocalSupCodecsCmdCmplEvt_t readLocalSupCodecs
handles DM_READ_LOCAL_SUP_CODECS_IND
void DmSecPairRsp(dmConnId_t connId, uint8_t oob, uint8_t auth, uint8_t iKeyDist, uint8_t rKeyDist)
This function is called by a slave device to proceed with pairing after a DM_SEC_PAIR_IND event is re...
void DmPastRptRcvEnable(dmSyncId_t syncId, bool_t enable)
Enable or disable reports for the periodic advertising identified by the sync id. ...
hciLeConnIQReportEvt_t connIQReport
handles DM_CONN_IQ_REPORT_IND
bool_t DmCisConnInUse(uint16_t handle)
For internal use only. Return TRUE if the Connected Isochronous Stream (CIS) connection is in use...
LE add device to resolving list command complete event.
void DmConnCteRxSampleStop(dmConnId_t connId)
Disable sampling received CTE fields on the specified connection.
hciLeConnCteRspEnableCmdCmplEvt_t connCteRspStart
handles DM_CONN_CTE_RSP_START_IND
uint16_t DmSizeOfEvt(dmEvt_t *pDmEvt)
Return size of a DM callback event.
hciLeSetConnCteTxParamsCmdCmplEvt_t connCteTxCfg
handles DM_CONN_CTE_TX_CFG_IND
hciLeCteReqFailedEvt_t cteReqFail
handles DM_CTE_REQ_FAIL_IND
LE CTE request failed event.
Incoming pairing request from master.
void DmAdvSetInterval(uint8_t advHandle, uint16_t intervalMin, uint16_t intervalMax)
Set the minimum and maximum advertising intervals.
void DmReadAntennaInfo(void)
Read the switching rates, the sampling rates, the number of antennae, and the maximum length of a tra...
void DmConnMasterInit(void)
Initialize DM connection manager for operation as legacy master.
hciLeAdvSetTermEvt_t advSetStop
handles DM_ADV_SET_STOP_IND
LTK requested for encyption.
uint8_t * DmSecGetLocalIrk(void)
For internal use only. This function gets the local IRK used by the device.
void DmCisCigRemove(uint8_t cigId)
Remove all the Connected Isochronous Streams (CISes) associated with the given Connected Isochronous ...
Connection update complete.
Periodic advertising sync established.
void DmAdvSetSid(uint8_t advHandle, uint8_t advSid)
Set advertising SID for the given advertising handle.
Result of Just Works/Numeric Comparison Compare Value Calculation.
dmConnId_t DmConnIdByHandle(uint16_t handle)
For internal use only. Find the connection ID with matching handle.
uint8_t * DmConnLocalRpa(dmConnId_t connId)
For internal use only. Return the local resolvable private address (RPA).
void DmPrivSetAddrResEnable(bool_t enable)
Enable or disable address resolution in LL. When complete the client's callback function is called wi...
HciLeTerminateBigCmplEvt_t bigStop
handles DM_BIG_STOP_IND
void DmBisMasterInit(void)
Initialize DM BIS manager for operation as master.
hciLeAdvReportEvt_t scanReport
handles DM_SCAN_REPORT_IND
hciLePerAdvSyncEstEvt_t perAdvSyncEst
handles DM_PER_ADV_SYNC_EST_IND
Periodic advertising sync transfer established.
void DmPrivSetResolvablePrivateAddrTimeout(uint16_t rpaTimeout)
Set resolvable private address timeout command.
Periodic advertising set started.
hciLeRemConnParamReqEvt_t remConnParamReq
handles DM_REM_CONN_PARAM_REQ_IND
Data structure for DM_ADV_SET_START_IND.
void DmConnSetConnSpec(hciConnSpec_t *pConnSpec)
Set the connection spec parameters for connections to be created with DmConnOpen().
bool_t DmSyncEncrypted(uint16_t syncHandle)
Get the encryption mode of the Broadcast Isochronous Group (BIG) corresponding to the periodic advert...
void DmL2cConnUpdateInd(uint8_t identifier, uint16_t handle, hciConnSpec_t *pConnSpec)
For internal use only. L2C calls this function when it receives a connection update request from a pe...
void DmAdvConfig(uint8_t advHandle, uint8_t advType, uint8_t peerAddrType, uint8_t *pPeerAddr)
Set the advertising parameters using the given advertising type, and peer address.
LE remote connetion parameter request event.
#define SMP_KEY_LEN
Key length.
void DmCisCigConfig(uint8_t cigId, dmConnId_t numCis, HciCisCisParams_t *pCisParam)
Set the parameters of one or more Connected Isochronous Streams (CISes) that are associated with the ...
void DmSecLtkRsp(dmConnId_t connId, bool_t keyFound, uint8_t secLevel, uint8_t *pKey)
This function is called by a slave in response to a DM_SEC_LTK_REQ_IND event to provide the long term...
void DmBigSetPackingFraming(uint8_t bigHandle, uint8_t packing, uint32_t framing)
Set the packing scheme and framing format for the given Broadcast Isochronous Group (BIG)...
dmSecPairCmplIndEvt_t pairCmpl
handles DM_SEC_PAIR_CMPL_IND
uint8_t auth
Authentication and bonding flags.
void DmPrivResolveAddr(uint8_t *pAddr, uint8_t *pIrk, uint16_t param)
Resolve a private resolvable address. When complete the client's callback function is called with a D...
Periodic advertising data received from peer device.
hciLeSetDefPhyCmdCmplEvt_t setDefPhy
handles DM_PHY_SET_DEF_IND
Setup ISO data path parameters.
uint32_t DmSecGetCompareValue(uint8_t *pConfirm)
This function returns the 6-digit compare value for the specified 128-bit confirm value...
void DmRemoteConnParamReqReply(dmConnId_t connId, hciConnSpec_t *pConnSpec)
Reply to the HCI remote connection parameter request event. This command is used to indicate that the...
Data type for DM_SEC_KEY_IND.
void DmScanInit(void)
Initialize DM legacy scanning.
void DmL2cConnUpdateCnf(uint16_t handle, uint16_t reason)
For internal use only. L2C calls this function to send the result of an L2CAP connection update respo...
Extended scanning stopped.
void DmSecGenerateEccKeyReq(void)
This function generates an ECC key for use with LESC security.
HciLeBigTermSyncCmplEvt_t bigSyncStop
handles DM_BIG_SYNC_STOP_IND
void DmCisInit(void)
Initialize DM Connected Isochronous Stream (CIS) manager.
dmSecKeypressIndEvt_t keypressInd
handles DM_SEC_KEYPRESS_IND
void DmBigSyncSetSecLevel(uint8_t bigHandle, uint8_t secLevel)
Set the security level of the LE Security Mode 3 for the given Broadcast Isochronous Group (BIG)...
void DmPastInit(void)
Initialize DM Periodic Advertising Sync Transfer (PAST) module.
Read local supported codec capabilities command complete event.
uint8_t DmSecGetLocalIdentityAddrType(void)
For internal use only. This function gets the local identity address type used by the device...
void DmSecEncryptReq(dmConnId_t connId, uint8_t secLevel, dmSecLtk_t *pLtk)
This function is called by a master device to initiate link encryption.
void DmSmpEncryptReq(dmConnId_t connId, uint8_t secLevel, uint8_t *pKey)
For internal use only. This function is called by SMP to request encryption.
void DmBigSetSecLevel(uint8_t bigHandle, uint8_t secLevel)
Set the security level of the LE Security Mode 3 for the given Broadcast Isochronous Group (BIG)...
Local supported codecs read.
bool_t DmAdvModeLeg(void)
Whether DM advertising is in legacy mode.
LE extended advertising report.
dmConnId_t DmConnAccept(uint8_t clientId, uint8_t advHandle, uint8_t advType, uint16_t duration, uint8_t maxEaEvents, uint8_t addrType, uint8_t *pAddr)
Accept a connection from the given peer device by initiating directed advertising.
hciLeRemDevFromResListCmdCmplEvt_t remDevFromResList
handles DM_PRIV_REM_DEV_FROM_RES_LIST_IND
dmSecOobCalcIndEvt_t oobCalcInd
handles DM_SEC_CALC_OOB_IND
void DmExtConnSetScanInterval(uint8_t initPhys, uint16_t *pScanInterval, uint16_t *pScanWindow)
Set the scan interval and window for extended connections to be created with DmConnOpen().
HciLeReqPeerScaCmplEvt_t_t reqPeerSca
handles DM_REQ_PEER_SCA_IND
bool_t DmLlPrivEnabled(void)
Whether LL Privacy is enabled.
LE periodic advertising sync transfer command complete event.
#define SMP_CONFIRM_LEN
Confirm number length.
Address resolving enable set.
void DmAdvSetAddrType(uint8_t addrType)
Set the local address type used while advertising. This function can be used to configure advertising...
bool_t display
TRUE if pin is to be displayed.
void DmAdvStart(uint8_t numSets, uint8_t *pAdvHandles, uint16_t *pDuration, uint8_t *pMaxEaEvents)
Start advertising using the given advertising set and duration.
LE set default PHY command complete event.
hciLeAddDevToResListCmdCmplEvt_t addDevToResList
handles DM_PRIV_ADD_DEV_TO_RES_LIST_IND
void DmPerAdvSetInterval(uint8_t advHandle, uint16_t intervalMin, uint16_t intervalMax)
Set the minimum and maximum advertising intervals for periodic advertising.
Periodic advertising sync info transferred.
void DmWriteAuthPayloadTimeout(dmConnId_t connId, uint16_t timeout)
Set authenticated payload timeout for a given connection.
void DmPerAdvSetData(uint8_t advHandle, uint8_t op, uint8_t len, uint8_t *pData)
Set the advertising data to the given data for periodic advertising.
void DmSecSetOob(dmConnId_t connId, dmSecLescOobCfg_t *pConfig)
This function configures the DM to use OOB pairing for the given connection. The pRand and pConfirm c...
void DmCisReject(uint16_t handle, uint8_t reason)
Inform the Controller to reject the request for the Connected Isochronous Stream (CIS) that is identi...
void DmSecPairReq(dmConnId_t connId, uint8_t oob, uint8_t auth, uint8_t iKeyDist, uint8_t rKeyDist)
This function is called by a master device to initiate pairing.
hciLeSetConnCteRxParamsCmdCmplEvt_t connCteRxSampleStop
handles DM_CONN_CTE_RX_SAMPLE_STOP_IND
void DmConnCteRspStop(dmConnId_t connId)
Stop responding to LL_CTE_REQ PDUs with LL_CTE_RSP PDUs on the specified connection.
void DmDevPrivStop(void)
Stop using a private resolvable address.
void DmSecSetLocalCsrk(uint8_t *pCsrk)
This function sets the local CSRK used by the device.
uint8_t DmConnCteGetReqState(dmConnId_t connId)
Returns the device manager's CTE request state for a given connection.
hciLeReadAntennaInfoCmdCmplEvt_t readAntennaInfo
handles DM_READ_ANTENNA_INFO_IND
bool_t DmPerAdvEnabled(uint8_t advHandle)
Get status of periodic advertising handle.
void DmConnSlaveInit(void)
Initialize DM connection manager for operation as legacy slave.
HciLePerAdvSyncTrsfRcvdEvt_t perAdvSyncTrsfEst
handles DM_PER_ADV_SYNC_TRSF_EST_IND
uint16_t handle
Connection handle.
void DmAdvInit(void)
Initialize DM legacy advertising.
void DmConnRegister(uint8_t clientId, dmCback_t cback)
Register with the DM connection manager.
Data type for DM_SEC_KEYPRESS_IND.
void DmScanSetInterval(uint8_t scanPhys, uint16_t *pScanInterval, uint16_t *pScanWindow)
Set the scan interval and window for the specified PHYs.
uint8_t dmSyncId_t
Synchronization identifier.
Result of ECC Key Generation.
void DmReadRemoteVerInfo(dmConnId_t connId)
Read the version info of the remote device.
void DmCisOpen(uint8_t numCis, uint16_t *pCisHandle, uint16_t *pAclHandle)
Create one or more Connected Isochronous Streams (CISes) using the connections identified by the ACL ...
LE set CIG parameters command complete event.
LE periodic advertising report.
void DmSetDefaultPhy(uint8_t allPhys, uint8_t txPhys, uint8_t rxPhys)
Set the preferred values for the transmitter PHY and receiver PHY for all subsequent connections...
void DmDataPathConfig(HciConfigDataPath_t *pDataPathParam)
Request the Controller to configure the data transport path in a given direction between the Controll...
void DmExtAdvInit(void)
Initialize DM extended advertising.
Periodic advertising sync transfer establishment failed.
Union of DM callback event data types.
Remote LL version information read.
bool_t DmBisSyncInUse(uint16_t handle)
For internal use only. Return TRUE if the BIS sync is in use.
void DmCisCigSetPackingFraming(uint8_t cigId, uint8_t packing, uint32_t framing)
Set the packing scheme and framing format for the given Connected Isochronous Group (CIG)...
void DmConnCteInit(void)
Initialize DM Connection Constant Tone Extension (CTE) module.
Data type for DM_SEC_PAIR_CMPL_IND.
Data type for DM_SEC_CALC_OOB_IND.
void DmAdvSetChannelMap(uint8_t advHandle, uint8_t channelMap)
Include or exclude certain channels from the advertising channel map.
uint8_t bdAddr_t[6]
BD address data type.
void DmAdvSetData(uint8_t advHandle, uint8_t op, uint8_t location, uint8_t len, uint8_t *pData)
Set the advertising or scan response data to the given data.
Authenticated payload to expire event.
hciReadRemoteVerInfoCmplEvt_t readRemVerInfo
handles DM_READ_REMOTE_VER_INFO_IND
ECC Security public/private key pair.
uint8_t DmConnSecLevel(dmConnId_t connId)
For internal use only. Return the security level of the connection.
hciLeSetupIsoDataPathCmdCmplEvt_t isoDataPathSetup
handles DM_ISO_DATA_PATH_SETUP_IND
void DmBigSetPhy(uint8_t bigHandle, uint8_t phyBits)
Set the PHYs used for transmission of PDUs of Broadcast Isochronous Streams (BISes) in Broadcast Isoc...
void DmReadRemoteFeatures(dmConnId_t connId)
For internal use only. Read the features of the remote device.
void DmReadLocalSupCodecCap(HciReadLocalSupCodecCaps_t *pCodecParam)
Read a list of codec capabilities supported by the Controller for a given codec.
uint8_t notificationType
Type of keypress notification.
void DmDevWhiteListRemove(uint8_t addrType, uint8_t *pAddr)
Remove a peer device from the white list. Note that this function cannot be called while advertising...
void DmIsoDataPathRemove(uint16_t handle, uint8_t directionBits)
Remove the input and/or output data path(s) associated with a Connected Isochronous Stream (CIS) or B...
void DmSecSetDebugEccKey(void)
This function sets the ECC key for use with LESC security to standard debug keys values.
LE BIG Terminate Sync complete event.
uint8_t dummy
Placeholder variable.
hciHwErrorEvt_t hwError
handles DM_HW_ERROR_IND
Read remote version information complete event.
void DmPastSetInfoTrsf(dmConnId_t connId, uint16_t serviceData, uint8_t advHandle)
Send synchronization information about the periodic advertising in an advertising set to a connected ...
Scan data received from peer device.
Device removed from resolving list.
void DmPrivSetPrivacyMode(uint8_t addrType, const uint8_t *pIdentityAddr, uint8_t mode)
Set privacy mode for a given entry in the resolving list.
void DmConnRequestPeerSca(dmConnId_t connId)
Request the Sleep Clock Accuracy (SCA) of a peer device.
bool_t usingLtk
TRUE if connection encrypted with LTK.
void DmPerAdvStop(uint8_t advHandle)
Stop periodic advertising for the advertising set specified by the advertising handle.
Connection specification type.
hciDisconnectCmplEvt_t connClose
handles DM_CONN_CLOSE_IND
void DmSecInit(void)
Initialize DM security.
LE connection update complete event.
void DmConnClose(uint8_t clientId, dmConnId_t connId, uint8_t reason)
Close the connection with the give connection identifier.
hciLeExtAdvReportEvt_t extScanReport
handles DM_EXT_SCAN_REPORT_IND
uint16_t DmConnCheckIdle(dmConnId_t connId)
Check if a connection is idle.
bool_t DmDevSetExtFilterPolicy(uint8_t advHandle, uint8_t mode, uint8_t policy)
Set the Advertising filter policy for the given advertising, Scanning or Initiator filter policy...
void DmPastSyncTrsf(dmConnId_t connId, uint16_t serviceData, dmSyncId_t syncId)
Send synchronization information about the periodic advertising identified by the sync id to a connec...
LE remove ISO data path command complete event.
#define DM_NUM_ADV_SETS
Number of supported advertising sets: must be set to 1 for legacy advertising.
hciLeConnCteReqEnableCmdCmplEvt_t connCteReqStart
handles DM_CONN_CTE_REQ_START_IND
dmSecPairIndEvt_t pairInd
handles DM_SEC_PAIR_IND
uint8_t * DmConnPeerAddr(dmConnId_t connId)
For internal use only. Return the peer device address.
Pairing failed or other security failure.
#define SMP_RAND_LEN
Random number length.
void DmConnSetScanInterval(uint16_t scanInterval, uint16_t scanWindow)
Set the scan interval and window for connections to be created with DmConnOpen(). ...
void DmReadPhy(dmConnId_t connId)
Read the current transmitter PHY and receiver PHY for a given connection.
void DmPrivReadLocalResolvableAddr(uint8_t addrType, const uint8_t *pIdentityAddr)
Read local resolvable address command. When complete the client's callback function is called with a ...
void DmPrivGenerateAddr(uint8_t *pIrk, uint16_t param)
Generate a Resolvable Private Address (RPA).
void DmDevPrivStart(uint16_t changeInterval)
Start using a private resolvable address.
LE set connection CTE transmit parameters command complete event.
HciLeBigSyncEstEvt_t bigSyncEst
handles DM_BIG_SYNC_EST_IND
void DmBigSyncStop(uint8_t bigHandle)
Stop synchronizing or cancel the process of synchronizing to the Broadcast Isochronous Group (BIG) id...
LE clear resolving list command complete event.
LE data length change event.
hciLeRemoveCigCmdCmplEvt_t cisCigRemove
handles DM_CIS_CIG_REMOVE_IND
hciWriteAuthPayloadToCmdCmplEvt_t writeAuthTo
handles DM_CONN_WRITE_AUTH_TO_IND
uint8_t DmLlAddrType(uint8_t addrType)
Map an address type to a type used by LL.
void(* dmCback_t)(dmEvt_t *pDmEvt)
Callback type.
Security manager constants and definitions from the Bluetooth specification.
LE read antenna information command complete event.
void DmAdvOmitAdvAddr(uint8_t advHandle, bool_t omitAdvAddr)
Set whether or not to omit advertiser's address from all PDUs (anonymous advertising).
dmSecEncryptIndEvt_t encryptInd
handles DM_SEC_ENCRYPT_IND
Private resolvable address generated.
Local supported controller delay read.
Remote features from peer device.
hciLeConnCteRspEnableCmdCmplEvt_t connCteRspStop
handles DM_CONN_CTE_RSP_STOP_IND
bool_t DmScanModeLeg(void)
Whether DM scanning is in legacy mode.
void DmBigSyncStart(uint8_t bigHandle, uint16_t syncHandle, uint8_t mse, uint16_t bigSyncTimeout, uint8_t numBis, uint8_t *pBis)
Synchronize to a Broadcast Isochronous Group (BIG) described in the periodic advertising train specif...
bool_t DmAdvSetAdValue(uint8_t adType, uint8_t len, uint8_t *pValue, uint16_t *pAdvDataLen, uint8_t *pAdvData, uint16_t advDataBufLen)
Set the value of an advertising data element in the given advertising or scan response data...
dmL2cCmdRejEvt_t l2cCmdRej
handles DM_L2C_CMD_REJ_IND
bool_t oob
Out-of-band pairing data present or not present.
void DmCisAccept(uint16_t handle)
Inform the Controller to accept the request for the Connected Isochronous Stream (CIS) that is identi...
void DmDevSetRandAddr(uint8_t *pAddr)
Set the random address to be used by the local device.
LE read PHY command complete event.
Read local supported controller delay parameters.
Antenna information read.
void DmAdvSetRandAddr(uint8_t advHandle, const uint8_t *pAddr)
Set the random device address for a given advertising set.
Data structure for DM_PER_ADV_SET_START_IND.
Extended scanning started.
void DmConnSetAddrType(uint8_t addrType)
Set the local address type used for connections created with DmConnOpen().
uint8_t * DmSecGetLocalIdentityAddr(void)
For internal use only. This function gets the local identity address used by the device.
void DmPerAdvIncTxPwr(uint8_t advHandle, bool_t incTxPwr)
Set whether or not to include TxPower in extended header of advertising PDU for periodic advertising...
dmSecKey_t keyData
Key data.
Data structure for DM_PER_ADV_SET_STOP_IND.
void DmReadLocalSupCodecs(void)
Read a list of the codecs supported by the Controller, as well as vendor specific codecs...
hciDisconnectCmplEvt_t cisClose
handles DM_CIS_CLOSE_IND
dmSecAuthReqIndEvt_t authReq
handles DM_SEC_AUTH_REQ_IND
Sampling received CTE started.
hciLeReadPhyCmdCmplEvt_t readPhy
handles DM_PHY_READ_IND
LE set address resolving enable command complete event.
hciLeReadLocalResAddrCmdCmplEvt_t readLocalResAddr
handles DM_PRIV_READ_LOCAL_RES_ADDR_IND
LE read peer resolving address command complete event.
LE set connection CTE receive parameters command complete event.
void DmAdvClearAdvSets(void)
Clear advertising sets.
void DmScanSetAddrType(uint8_t addrType)
Set the local address type used while scanning. This function can be used to configure scanning to us...
LE set periodic advertising set info transfer command complete event.
void DmSetPhy(dmConnId_t connId, uint8_t allPhys, uint8_t txPhys, uint8_t rxPhys, uint16_t phyOptions)
Set the PHY preferences for a given connection.
Pairing completed successfully.
void DmReadLocalSupCtrDly(HciReadLocalSupControllerDly_t *pDelayParam)
Read the range of supported Controller delays for the codec specified by Codec ID on a given transpor...
void DmBigStart(uint8_t bigHandle, uint8_t advHandle, uint8_t numBis, uint32_t sduInterUsec, uint16_t maxSdu, uint16_t mtlMs, uint8_t rtn)
Start a Broadcast Isochronous Group (BIG) with one or more Broadcast Isochronous Streams (BISes)...
void DmClearPerAdvList(void)
DM clear periodic advertiser list.
void DmPrivInit(void)
Initialize DM privacy module.
void DmConnCteReqStart(dmConnId_t connId, uint16_t cteReqInt, uint8_t reqCteLen, uint8_t reqCteType)
Initiate the CTE Request procedure on the specified connection.
uint8_t DmConnRole(dmConnId_t connId)
Return the connection role indicating master or slave.
void DmAdvScanReqNotifEnable(uint8_t advHandle, bool_t scanReqNotifEna)
Set scan request notification enable.
void DmIsoDataPathSetup(HciIsoSetupDataPath_t *pDataPathParam)
Setup the isochronous data path between the Host and the Controller for an established Connected Isoc...
Data type for DM_ADV_NEW_ADDR_IND.
LE scan request received.
Configure data path parameters.
LE remove device from resolving list command complete event.
Advertising set(s) started.
uint8_t auth
Authentication and bonding flags.
Data type for DM_SEC_ENCRYPT_IND.
uint8_t DmConnPeerAddrType(dmConnId_t connId)
For internal use only. Return the peer address type.
LE advertising report event.
void DmDevWhiteListAdd(uint8_t addrType, uint8_t *pAddr)
Add a peer device to the white list. Note that this function cannot be called while advertising...
void DmConnInit(void)
Initialize DM connection manager.
void DmExtConnSetConnSpec(uint8_t initPhys, hciConnSpec_t *pConnSpec)
Set the extended connection spec parameters for extended connections to be created with DmConnOpen()...
Request peer SCA complete.
hciLeConnUpdateCmplEvt_t connUpdate
handles DM_CONN_UPDATE_IND
void DmConnCteReqStop(dmConnId_t connId)
Stop initiating the CTE Request procedure on the specified connection.
Config data path command complete event.
#define DM_CBACK_START
DM callback event starting value.
void DmConnSetIdle(dmConnId_t connId, uint16_t idleMask, uint8_t idle)
Configure a bit in the connection idle state mask as busy or idle.
Authenticated payload timeout expired.
Connection CTE transmit parameters configured.
bdAddr_t addr
Resolvable private address.
void DmSecSetLocalIrk(uint8_t *pIrk)
This function sets the local IRK used by the device.
void DmPrivReadPeerResolvableAddr(uint8_t addrType, const uint8_t *pIdentityAddr)
HCI read peer resolvable address command. When complete the client's callback function is called with...
dmPerAdvSetStopEvt_t perAdvSetStop
handles DM_PER_ADV_SET_STOP_IND
HciLeBigSyncEstEvt_t bigSyncEstFail
handles DM_BIG_SYNC_EST_FAIL_IND
hciLeSetAddrResEnableCmdCmplEvt_t setAddrResEnable
handles DM_PRIV_SET_ADDR_RES_ENABLE_IND
Data type for DM_SEC_AUTH_REQ_IND.
void DmBigSetBcastCode(uint8_t bigHandle, bool_t encrypt, bool_t authen, uint8_t *pBcastCode)
Set the Broadcast Code for the given Broadcast Isochronous Group (BIG).
uint8_t rKeyDist
Responder key distribution flags.
bdAddr_t addr
New resolvable private address.
hciLeConnCteReqEnableCmdCmplEvt_t connCteReqStop
handles DM_CONN_CTE_REQ_STOP_IND
void DmCisClose(uint16_t handle, uint8_t reason)
Close the Connected Isochronous Stream (CIS) connection with the given handle.
LE connection CTE response enable command complete event.
void DmSyncSetEncrypt(uint16_t syncHandle, bool_t encrypt)
Set the encryption mode of the Broadcast Isochronous Group (BIG) corresponding to the periodic advert...
Device added to resolving list.
Disconnect complete event.
hciLeConnCmplEvt_t connOpen
handles DM_CONN_OPEN_IND
Peer resolving address read.
bdAddr_t bdAddr
BD Address.
Data path configure complete.
LE connection CTE request enable command complete event.
uint8_t DmBigGetSecLevel(uint16_t handle)
Get the security level of the LE Security Mode 3 for the given Broadcast Isochronous Group (BIG) conn...
void DmDevWhiteListClear(void)
Clear the white list. Note that this function cannot be called while advertising, scanning...
LE BIG Info Advertising Report event.
void DmPerAdvStart(uint8_t advHandle)
Start periodic advertising for the advertising set specified by the advertising handle.
secEccKey_t * DmSecGetEccKey(void)
This function gets the local ECC key for use with LESC security.
void DmAdvSetPhyParam(uint8_t advHandle, uint8_t priAdvPhy, uint8_t secAdvMaxSkip, uint8_t secAdvPhy)
Set extended advertising PHY parameters.
Responding to connection CTE request started.
bool_t oob
Out-of-band data requested.
LE read remote features complete event.
LE remove CIG command complete event.
uint8_t advHandle
Advertising handle.
LE request peer SCA complete.
IQ samples from CTE of received packet from peer device.
hciLePerAdvSetInfoTrsfCmdCmplEvt_t perAdvSetInfoTrsf
handles DM_PER_ADV_SET_INFO_TRSF_IND
uint8_t DmHostAddrType(uint8_t addrType)
Map an address type to a type used by Host.
void DmAdvStop(uint8_t numSets, uint8_t *pAdvHandles)
Stop advertising for the given advertising set. If the number of sets is set to 0 then all advertisin...
HciLePerAdvSyncTrsfRcvdEvt_t perAdvSyncTrsEstFail
handles DM_PER_ADV_SYNC_TRSF_EST_FAIL_IND
void DmExtConnSlaveInit(void)
Initialize DM connection manager for operation as extended slave.
LE periodic advertising sync established.
void DmAddDeviceToPerAdvList(uint8_t advAddrType, uint8_t *pAdvAddr, uint8_t advSid)
Add device to periodic advertiser list.
void DmBigSyncSetBcastCode(uint8_t bigHandle, bool_t encrypt, bool_t authen, uint8_t *pBcastCode)
Set the Broadcast Code for the given Broadcast Isochronous Group (BIG).
void DmCisCigSetSca(uint8_t cigId, uint8_t sca)
Set the slaves clock accuracy for the given Connected Isochronous Group (CIG).
void DmPastDefaultConfig(uint8_t mode, uint16_t skip, uint16_t syncTimeout, uint8_t cteType)
Specify the initial value for the mode, skip, timeout, and Constant Tone Extension type to be used fo...
Keypress indication from peer in passkey security.
Periodic advertising set stopped.
void DmSecCancelReq(dmConnId_t connId, uint8_t reason)
This function is called to cancel the pairing process.
void DmConnCteTxConfig(dmConnId_t connId, uint8_t cteTypeBits, uint8_t switchPatternLen, uint8_t *pAntennaIDs)
Configure the antenna switching pattern, and permitted CTE types used for transmitting CTEs requested...
void DmSecLescInit(void)
Initialize DM LE Secure Connections security.
uint8_t secLevel
Security level of pairing when key was exchanged.
void DmSmpCbackExec(dmEvt_t *pDmEvt)
For internal use only. Execute DM callback from SMP procedures.
ISO data path setup complete.
ISO data path remove complete.
hciLePerAdvSyncLostEvt_t perAdvSyncLost
handles DM_PER_ADV_SYNC_LOST_IND
hciReadLocalSupCtrDlyCmdCmplEvt_t readLocalSupCtrDly
handles DM_READ_LOCAL_SUP_CTR_DLY_IND
void DmCisMasterInit(void)
Initialize DM Connected Isochronous Stream (CIS) manager for operation as master. ...
bool_t DmSyncEnabled(uint16_t syncHandle)
Get status of sync identified by the handle.
BIG sync establishment failed.
hciVendorSpecEvt_t vendorSpec
handles DM_VENDOR_SPEC_IND
bool_t DmBisInUse(uint16_t handle)
For internal use only. Return TRUE if the BIS is in use.
Common message structure passed to event handler.
uint8_t advHandle
Advertising handle.
Read local supported codecs command complete event.
Result of OOB Confirm Calculation Generation.
Initiating connection CTE request stopped.
uint16_t reason
Rejection reason.
uint8_t numSets
Number of advertising sets.
hciAuthPayloadToExpiredEvt_t authToExpired
handles DM_CONN_AUTH_TO_EXPIRED_IND
void DmPrivRemDevFromResList(uint8_t addrType, const uint8_t *pIdentityAddr, uint16_t param)
Remove device from resolving list. When complete the client's callback function is called with a DM_P...
AES and random number security service API.
void DmRemoteConnParamReqNegReply(dmConnId_t connId, uint8_t reason)
Negative reply to the HCI remote connection parameter request event. This command is used to indicate...
void DmL2cCmdRejInd(uint16_t handle, uint16_t result)
For internal use only. L2C calls this function to send the result of an L2CAP Command Reject up to th...
hciLeSetConnCteRxParamsCmdCmplEvt_t connCteRxSampleStart
handles DM_CONN_CTE_RX_SAMPLE_START_IND
HciLeBigSyncLostEvt_t bigSyncLost
handles DM_BIG_SYNC_LOST_IND
void DmExtScanInit(void)
Initialize DM extended scanning.
hciLeClearResListCmdCmplEvt_t clearResList
handles DM_PRIV_CLEAR_RES_LIST_IND
hciLePerAdvReportEvt_t perAdvReport
handles DM_PER_ADV_REPORT_IND
void DmPhyInit(void)
Initialize DM PHY.
hciLePhyUpdateEvt_t phyUpdate
handles DM_PHY_UPDATE_IND
hciLeLtkReqEvt_t ltkReqInd
handles DM_SEC_LTK_REQ_IND
void DmPastConfig(dmConnId_t connId, uint8_t mode, uint16_t skip, uint16_t syncTimeout, uint8_t cteType)
Specify how the Controller should process periodic advertising synchronization information received f...
void DmSyncInitialRptEnable(bool_t enable)
DM enable or disable initial periodic advertisement reporting.
Local supported codec capabilities read.
LE advertising set terminated.
DM callback event starting value.
LE periodic advertising synch lost.
Read local supported codec capabilities parameters.
dmSecKeyIndEvt_t keyInd
handles DM_SEC_KEY_IND
New resolvable address has been generated.
uint8_t auth
Authentication and bonding flags.
void DmConnReadRssi(dmConnId_t connId)
Read RSSI of a given connection.
uint8_t DmConnLocalAddrType(dmConnId_t connId)
For internal use only. Return the local address type.
hciReadRssiCmdCmplEvt_t readRssi
handles DM_CONN_READ_RSSI_IND