1 /* 2 * Copyright (C) 2021 Huawei Device Co., Ltd. 3 * Licensed under the Apache License, Version 2.0 (the "License"); 4 * you may not use this file except in compliance with the License. 5 * You may obtain a copy of the License at 6 * 7 * http://www.apache.org/licenses/LICENSE-2.0 8 * 9 * Unless required by applicable law or agreed to in writing, software 10 * distributed under the License is distributed on an "AS IS" BASIS, 11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 * See the License for the specific language governing permissions and 13 * limitations under the License. 14 */ 15 16 #ifndef HCI_H 17 #define HCI_H 18 19 #include <stdbool.h> 20 #include <stdint.h> 21 22 #include "hci_def.h" 23 24 #ifdef __cplusplus 25 extern "C" { 26 #endif 27 28 int HCI_Initialize(); 29 void HCI_Close(); 30 31 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 32 // 7.1.1 Inquiry Command 33 int HCI_Inquiry(const HciInquiryeParam *param); 34 35 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 36 // 7.1.2 Inquiry Cancel Command 37 int HCI_InquiryCancel(void); 38 39 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 40 // 7.1.5 Create Connection Command 41 int HCI_CreateConnection(const HciCreateConnectionParam *param); 42 43 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 44 // 7.1.6 Disconnect Command 45 int HCI_Disconnect(const HciDisconnectParam *param); 46 47 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 48 // 7.1.7 Create Connection Cancel Command 49 int HCI_CreateConnectionCancel(const HciCreateConnectionCancelParam *param); 50 51 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 52 // 7.1.8 Accept Connection Request Command 53 int HCI_AcceptConnectionRequest(const HciAcceptConnectionReqestParam *param); 54 55 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 56 // 7.1.9 Reject Connection Request Command 57 int HCI_RejectConnectionRequest(const HciRejectConnectionRequestParam *param); 58 59 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 60 // 7.1.10 Link Key Request Reply Command 61 int HCI_LinkKeyRequestReply(const HciLinkKeyRequestReplyParam *param); 62 63 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 64 // 7.1.11 Link Key Request Negative Reply Command 65 int HCI_LinkKeyRequestNegativeReply(const HciLinkKeyRequestNegativeReplyParam *param); 66 67 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 68 // 7.1.12 PIN Code Request Reply Command 69 int HCI_PINCodeRequestReply(const HciPinCodeRequestReplyParam *param); 70 71 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 72 // 7.1.13 PIN Code Request Negative Reply Command 73 int HCI_PINCodeRequestNegativeReply(const HciPinCodeRequestNegativeReplyParam *param); 74 75 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 76 // 7.1.14 Change Connection Packet Type Command 77 int HCI_ChangeConnectionPacketType(const HciChangeConnectionPacketTypeParam *param); 78 79 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 80 // 7.1.15 Authentication Requested Command 81 int HCI_AuthenticationRequested(const HciAuthenticationRequestedParam *param); 82 83 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 84 // 7.1.16 Set Connection Encryption Command 85 int HCI_SetConnectionEncryption(const HciSetConnectionEncryptionParam *param); 86 87 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 88 // 7.1.19 Remote Name Request Command 89 int HCI_RemoteNameRequest(const HciRemoteNameRequestParam *param); 90 91 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 92 // 7.1.20 Remote Name Request Cancel Command 93 int HCI_RemoteNameRequestCancel(const HciRemoteNameRequestCancelParam *param); 94 95 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 96 // 7.1.21 Read Remote Supported Features 97 int HCI_ReadRemoteSupportedFeatures(const HciReadRemoteSupportedFeaturesParam *param); 98 99 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 100 // 7.1.22 Read Remote Extended Features Command 101 int HCI_ReadRemoteExtendedFeatures(const HciReadRemoteExtendedFeaturesParam *param); 102 103 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 104 // 7.1.23 Read Remote Version Information Command 105 int HCI_ReadRemoteVersionInformation(const HciReadRemoteVersionInformationParam *param); 106 107 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 108 // 7.1.26 Setup Synchronous Connection Command 109 int HCI_SetupSynchronousConnection(const HciSetupSynchronousConnectionParam *param); 110 111 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 112 // 7.1.27 Accept Synchronous Connection Request Command 113 int HCI_AcceptSynchronousConnectionRequest(const HciAcceptSynchronousConnectionRequestParam *param); 114 115 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 116 // 7.1.28 Reject Synchronous Connection Request Command 117 int HCI_RejectSynchronousConnectionRequest(const HciRejectSynchronousConnectionRequestParam *param); 118 119 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 120 // 7.1.29 IO Capability Request Reply Command 121 int HCI_IOCapabilityRequestReply(const HciIOCapabilityRequestReplyParam *param); 122 123 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 124 // 7.1.30 User Confirmation Request Reply Command 125 int HCI_UserConfirmationRequestReply(const HciUserConfirmationRequestReplyParam *param); 126 127 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 128 // 7.1.31 User Confirmation Request Negative Reply Command 129 int HCI_UserConfirmationRequestNegativeReply(const HciUserConfirmationRequestNegativeReplyParam *param); 130 131 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 132 // 7.1.32 User Passkey Request Reply Command 133 int HCI_UserPasskeyRequestReply(const HciUserPasskeyRequestReplyParam *param); 134 135 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 136 // 7.1.33 User Passkey Request Negative Reply Command 137 int HCI_UserPasskeyRequestNegativeReply(const HciUserPasskeyRequestNegativeReplyParam *param); 138 139 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 140 // 7.1.34 Remote OOB Data Request Reply Command 141 int HCI_RemoteOOBDataRequestReply(const HciRemoteOobDataRequestReplyParam *param); 142 143 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 144 // 7.1.35 Remote OOB Data Request Negative Reply Command 145 int HCI_RemoteOOBDataRequestNegativeReply(const HciRemoteOobDataRequestNegativeReplyParam *param); 146 147 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 148 // 7.1.36 IO Capability Request Negative Reply Command 149 int HCI_IOCapabilityRequestNegativeReply(const HciIoCapabilityRequestNegativeReplyParam *param); 150 151 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 152 // 7.1.45 Enhanced Setup Synchronous Connection Command 153 int HCI_EnhancedSetupSynchronousConnection(const HciEnhancedSetupSynchronousConnectionParam *param); 154 155 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 156 // 7.1.46 Enhanced Accept Synchronous Connection Request Command 157 int HCI_EnhancedAcceptSynchronousConnectionRequest(const HciEnhancedAcceptSynchronousConnectionRequestParam *param); 158 159 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 160 // 7.1.53 Remote OOB Extended Data Request Reply Command 161 int HCI_RemoteOOBExtendedDataRequestReply(const HciRemoteOobExtendedDataRequestReplyParam *param); 162 163 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 164 // 7.2.2 Sniff Mode Command 165 int HCI_SniffMode(const HciSniffModeParam *param); 166 167 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 168 // 7.2.3 Exit Sniff Mode Command 169 int HCI_ExitSniffMode(const HciExitSniffModeParam *param); 170 171 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 172 // 7.2.8 Switch Role Command 173 int HCI_SwitchRole(const HciSwitchRoleParam *param); 174 175 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 176 // 7.2.10 Write Link Policy Settings Command 177 int HCI_WriteLinkPolicySettings(const HciWriteLinkPolicySettingsParam *param); 178 179 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 180 // 7.2.12 Write Default Link Policy Settings Command 181 int HCI_WriteDefaultLinkPolicySettings(const HciWriteDefaultLinkPolicySettingsParam *param); 182 183 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 184 // 7.2.14 Sniff Subrating Command 185 int HCI_SniffSubrating(const HciSniffSubratingParam *param); 186 187 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 188 // 7.3.1 Set Event Mask Command 189 int HCI_SetEventMask(const HciSetEventMaskParam *param); 190 191 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 192 // 7.3.2 Reset Command 193 int HCI_Reset(void); 194 195 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 196 // 7.3.4 Flush Command 197 int HCI_Flush(const HciFlushParam *param); 198 199 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 200 // 7.3.11 Write Local Name Command 201 int HCI_WriteLocalName(const HciWriteLocalNameParam *param); 202 203 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 204 // 7.3.18 Write Scan Enable Command 205 int HCI_WriteScanEnable(const HciWriteScanEnableParam *param); 206 207 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 208 // 7.3.20 Write Page Scan Activity Command 209 int HCI_WritePageScanActivity(const HciWritePageScanActivityParam *param); 210 211 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 212 // 7.3.22 Write Inquiry Scan Activity Command 213 int HCI_WriteInquiryScanActivity(const HciWriteInquiryScanActivityParam *param); 214 215 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 216 // 7.3.26 Write Class of Device Command 217 int HCI_WriteClassofDevice(const HciWriteClassofDeviceParam *param); 218 219 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 220 // 7.3.28 Write Voice Setting Command 221 int HCI_WriteVoiceSetting(const HciWriteVoiceSettingParam *param); 222 223 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 224 // 7.3.39 Host Buffer Size Command 225 int HCI_HostBufferSize(const HciHostBufferSizeCmdParam *param); 226 227 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 228 // 7.3.45 Write Current IAC LAP Command 229 int HCI_WriteCurrentIacLap(const HciWriteCurrentIacLapParam *param); 230 231 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 232 // 7.3.48 Write Inquiry Scan Type Command 233 int HCI_WriteInquiryScanType(const HciWriteInquiryScanTypeParam *param); 234 235 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 236 // 7.3.50 Write Inquiry Mode Command 237 int HCI_WriteInquiryMode(const HciWriteInquiryModeParam *param); 238 239 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 240 // 7.3.52 Write Page Scan Type Command 241 int HCI_WritePageScanType(const HciWritePageScanTypeParam *param); 242 243 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 244 // 7.3.56 Write Extended Inquiry Response Command 245 int HCI_WriteExtendedInquiryResponse(const HciWriteExtendedInquiryResponseParam *param); 246 247 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 248 // 7.3.59 Write Simple Pairing Mode Command 249 int HCI_WriteSimplePairingMode(const HciWriteSimplePairingModeParam *param); 250 251 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 252 // 7.3.60 Read Local OOB Data Command 253 int HCI_ReadLocalOOBData(void); 254 255 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 256 // 7.3.79 Write LE Host Support Command 257 int HCI_WriteLeHostSupport(const HciWriteLeHostSupportParam *param); 258 259 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 260 // 7.3.92 Write Secure Connections Host Support Command 261 int HCI_WriteSecureConnectionsHostSupport(const HciWriteSecureConnectionsHostSupportParam *param); 262 263 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 264 // 7.3.94 Write Authenticated Payload Timeout Command 265 int HCI_WriteAuthenticatedPayloadTimeout(const HciWriteAuthenticatedPayloadTimeoutParam *param); 266 267 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 268 // 7.3.95 Read Local OOB Extended Data Command 269 int HCI_ReadLocalOOBExtendedData(void); 270 271 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 272 // 7.4.1 Read Local Version Information Command 273 int HCI_ReadLocalVersionInformation(void); 274 275 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 276 // 7.4.2 Read Local Supported Commands Command 277 int HCI_ReadLocalSupportedCommands(void); 278 279 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 280 // 7.4.3 Read Local Supported Features Command 281 int HCI_ReadLocalSupportedFeatures(void); 282 283 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 284 // 7.4.4 Read Local Extended Features Command 285 int HCI_ReadLocalExtendedFeatures(const HciReadLocalExtendedFeaturesParam *param); 286 287 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 288 // 7.4.5 Read Buffer Size Command 289 int HCI_ReadBufferSize(void); 290 291 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 292 // 7.4.6 Read BD_ADDR Command 293 int HCI_ReadBdAddr(void); 294 295 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 296 // 7.4.8 Read Local Supported Codecs Command 297 int HCI_ReadLocalSupportedCodecs(void); 298 299 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 300 // 7.5.4 Read RSSI Command 301 int HCI_ReadRssi(const HciReadRssiParam *param); 302 303 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 304 // 7.8.1 LE Set Event Mask Command 305 int HCI_LeSetEventMask(const HciLeSetEventMaskParam *param); 306 307 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 308 // 7.8.2 LE Read Buffer Size Command 309 int HCI_LeReadBufferSize(void); 310 311 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 312 // 7.8.3 LE Read Local Supported Features Command 313 int HCI_LeReadLocalSupportedFeatures(void); 314 315 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 316 // 7.8.4 LE Set Random Address Command 317 int HCI_LeSetRandomAddress(const HciLeSetRandomAddressParam *param); 318 319 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 320 // 7.8.5 LE Set Advertising Parameters Command 321 322 int HCI_LeSetAdvertisingParameters(const HciLeSetAdvertisingParametersParam *param); 323 324 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 325 // 7.8.6 LE Read Advertising Channel Tx Power Command 326 int HCI_LeReadAdvertisingChannelTxPower(void); 327 328 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 329 // 7.8.7 LE Set Advertising Data Command 330 int HCI_LeSetAdvertisingData(const HciLeSetAdvertisingDataParam *param); 331 332 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 333 // 7.8.8 LE Set Scan Response Data Command 334 int HCI_LeSetScanResponseData(const HciLeSetScanResponseDataParam *param); 335 336 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 337 // 7.8.9 LE Set Advertising Enable Command 338 int HCI_LeSetAdvertisingEnable(const HciLeSetAdvertisingEnableParam *param); 339 340 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 341 // 7.8.10 LE Set Scan Parameters Command 342 int HCI_LeSetScanParameters(const HciLeSetScanParametersParam *param); 343 344 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 345 // 7.8.11 LE Set Scan Enable Command 346 int HCI_LeSetScanEnable(const HciLeSetScanEnableParam *param); 347 348 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 349 // 7.8.12 LE Create Connection Command 350 int HCI_LeCreateConnection(const HciLeCreateConnectionParam *param); 351 352 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 353 // 7.8.13 LE Create Connection Cancel Command 354 int HCI_LeCreateConnectionCancel(void); 355 356 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 357 // 7.8.14 LE Read WL Size Command 358 int HCI_LeReadWhiteListSize(void); 359 360 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 361 // 7.8.15 LE Clear WL Command 362 int HCI_LeClearWhiteList(void); 363 364 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 365 // 7.8.16 LE Add Device To WL Command 366 int HCI_LeAddDeviceToWhiteList(const HciLeAddDeviceToWhiteListParam *param); 367 368 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 369 // 7.8.17 LE Remove Device From WL Command 370 int HCI_LeRemoveDeviceFromWhiteList(const HciLeRemoveDeviceFromWhiteListParam *param); 371 372 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 373 // 7.8.18 LE Connection Update Command 374 int HCI_LeConnectionUpdate(const HciLeConnectionUpdateParam *param); 375 376 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 377 // 7.8.19 LE Set Host Channel Classification Command 378 int HCI_LeSetHostChannelClassification(const HciLeSetHostChannelClassificationParam *param); 379 380 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 381 // 7.8.20 LE Read Channel Map Command 382 int HCI_LeReadChannelMap(const HciLeReadChannelMapParam *param); 383 384 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 385 // 7.8.21 LE Read Remote Features Command 386 int HCI_LeReadRemoteFeatures(const HciLeReadRemoteFeaturesParam *param); 387 388 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 389 // 7.8.22 LE Encrypt Command 390 int HCI_LeEncrypt(const HciLeEncryptParam *param); 391 392 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 393 // 7.8.23 LE Rand Command 394 int HCI_LeRand(void); 395 396 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 397 // 7.8.24 LE Start Encryption Command 398 int HCI_LeStartEncryption(const HciLeStartEncryptionParam *param); 399 400 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 401 // 7.8.25 LE Long Term Key Request Reply Command 402 int HCI_LeLongTermKeyRequestReply(const HciLeLongTermKeyRequestReplyParam *param); 403 404 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 405 // 7.8.26 LE Long Term Key Request Negative Reply Command 406 int HCI_LeLongTermKeyRequestNegativeReply(const HciLeLongTermKeyRequestNegativeReplyParam *param); 407 408 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 409 // 7.8.31 LE Remote Connection Parameter Request Reply Command 410 int HCI_LeRemoteConnectionParameterRequestReply(const HciLeRemoteConnectionParameterRequestReplyParam *param); 411 412 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 413 // 7.8.32 LE Remote Connection Parameter Request Negative Reply Command 414 int HCI_LeRemoteConnectionParameterRequestNegativeReply( 415 const HciLeRemoteConnectionParameterRequestNegativeReplyParam *param); 416 417 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 418 // 7.8.36 LE Read Local P-256 Public Key Command 419 int HCI_LeReadLocalP256PublicKey(void); 420 421 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 422 // 7.8.37 LE Generate DHKey Command 423 int HCI_LeGenerateDHKey(const HciLeGenerateDHKeyParam *param); 424 425 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 426 // 7.8.38 LE Add Device To Resolving List Command 427 int HCI_LeAddDeviceToResolvingList(const HciLeAddDeviceToResolvingListParam *param); 428 429 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 430 // 7.8.39 LE Remove Device From Resolving List Command 431 int HCI_LeRemoveDeviceFromResolvingList(const HciLeRemoveDeviceFromResolvingListParam *param); 432 433 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 434 // 7.8.40 LE Clear Resolving List Command 435 int HCI_LeClearResolvingList(void); 436 437 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 438 // 7.8.41 LE Read Resolving List Size Command 439 int HCI_LeReadResolvingListSize(void); 440 441 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 442 // 7.8.44 LE Set Address Resolution Enable Command 443 int HCI_LeSetAddressResolutionEnable(const HciLeSetAddressResolutionEnableParam *param); 444 445 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 446 // 7.8.52 LE Set Advertising Set Random Address Command 447 int HCI_LeSetAdvertisingSetRandomAddress(const HciLeSetAdvertisingSetRandomAddressParam *param); 448 449 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 450 // 7.8.53 LE Set Extended Advertising Parameters Command 451 int HCI_LeSetExtendedAdvertisingParameters(const HciLeSetExtendedAdvertisingParametersParam *param); 452 453 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 454 // 7.8.54 LE Set Extended Advertising Data Command 455 int HCI_LeSetExtendedAdvertisingData(const HciLeSetExtendedAdvertisingDataParam *param); 456 457 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 458 // 7.8.55 LE Set Extended Scan Response Data Command 459 int HCI_LeSetExtendedScanResponseData(const HciLeSetExtendedScanResponseDataParam *param); 460 461 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 462 // 7.8.56 LE Set Extended Advertising Enable Command 463 int HCI_LeSetExtendedAdvertisingEnable(const HciLeSetExtendedAdvertisingEnableParam *param); 464 465 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 466 // 7.8.57 LE Read Maximum Advertising Data Length Command 467 int HCI_LeReadMaximumAdvertisingDataLength(void); 468 469 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 470 // 7.8.58 LE Read Number of Supported Advertising Sets Command 471 int HCI_LeReadNumberofSupportedAdvertisingSets(void); 472 473 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 474 // 7.8.59 LE Remove Advertising Set Command 475 int HCI_LeRemoveAdvertisingSet(const HciLeRemoveAdvertisingSetParam *param); 476 477 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 478 // 7.8.60 LE Clear Advertising Sets Command 479 int HCI_LeClearAdvertisingSets(void); 480 481 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 482 // 7.8.64 LE Set Extended Scan Parameters Command 483 int HCI_LeSetExtendedScanParameters(const HciLeSetExtendedScanParametersParam *param); 484 485 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 486 // 7.8.65 LE Set Extended Scan Enable Command 487 int HCI_LeSetExtendedScanEnable(const HciLeSetExtendedScanEnableParam *param); 488 489 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 490 // 7.8.66 LE Extended Create Connection Command 491 int HCI_LeExtenedCreateConnection(const HciLeExtendedCreateConnectionParam *param); 492 493 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 494 // 7.8.77 LE Set Privacy Mode Command 495 int HCI_LeSetPrivacyMode(const HciLeSetPrivacyModeParam *param); 496 497 typedef struct { 498 // Cmds 499 500 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 501 // 7.1.2 Inquiry Cancel Command 502 void (*inquiryCancelComplete)(const HciInquiryCancelReturnParam *returnParam); 503 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 504 // 7.1.3 Periodic Inquiry Mode Command 505 void (*periodicInquiryModeComplete)(const HciPeriodicInquiryModeReturnParam *returnParam); 506 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 507 // 7.1.4 Exit Periodic Inquiry Mode Command 508 void (*exitPeriodicInquiryModeComplete)(const HciExitPeriodicInquiryModeReturnParam *returnParam); 509 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 510 // 7.1.7 Create Connection Cancel Command 511 void (*createConnectionCancelComplete)(const HciCreateConnectionCancelReturnParam *returnParam); 512 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 513 // 7.1.10 Link Key Request Reply Command 514 void (*linkKeyRequestReplyComplete)(const HciLinkKeyRequestReplyReturnParam *returnParam); 515 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 516 // 7.1.11 Link Key Request Negative Reply Command 517 void (*linkKeyRequestNegativeReplyComplete)(const HciLinkKeyRequestNegativeReplyReturnParam *returnParam); 518 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 519 // 7.1.12 PIN Code Request Reply Command 520 void (*pinCodeRequestReplyComplete)(const HciPinCodeRequestReplyReturnParam *returnParam); 521 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 522 // 7.1.13 PIN Code Request Negative Reply Command 523 void (*pinCodeRequestNegativeReplyComplete)(const HciPinCodeRequestNegativeReplyReturnParam *returnParam); 524 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 525 // 7.1.20 Remote Name Request Cancel Command 526 void (*remoteNameRequestCancelComplete)(const HciRemoteNameRequestCancelReturnParam *returnParam); 527 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 528 // 7.1.25 Read LMP Handle Command 529 void (*readLmpHandleComplete)(const HciReadLmpHandleReturnParam *returnParam); 530 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 531 // 7.1.29 IO Capability Request Reply Command 532 void (*ioCapabilityRequestReplyComplete)(const HciIOCapabilityRequestReplyReturnParam *returnParam); 533 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 534 // 7.1.30 User Confirmation Request Reply Command 535 void (*userConfirmationRequestReplyComplete)(const HciUserConfirmationRequestReplyReturnParam *returnParam); 536 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 537 // 7.1.31 User Confirmation Request Negative Reply Command 538 void (*userConfirmationRequestNegativeReplyComplete)( 539 const HciUserConfirmationRequestNegativeReplyReturnParam *returnParam); 540 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 541 // 7.1.32 User Passkey Request Reply Command 542 void (*userPasskeyRequestReplyComplete)(const HciUserPasskeyRequestReplyReturnParam *returnParam); 543 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 544 // 7.1.33 User Passkey Request Negative Reply Command 545 void (*userPasskeyRequestNegativeReplyComplete)(const HciUserPasskeyRequestNegativeReplyReturnParam *returnParam); 546 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 547 // 7.1.34 Remote OOB Data Request Reply Command 548 void (*remoteOOBDataRequestReplyComplete)(const HciRemoteOobDataRequestReplyReturnParam *returnParam); 549 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 550 // 7.1.35 Remote OOB Data Request Negative Reply Command 551 void (*remoteOOBDataRequestNegativeReplyComplete)( 552 const HciRemoteOobDataRequestNegativeReplyReturnParam *returnParam); 553 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 554 // 7.1.36 IO Capability Request Negative Reply Command 555 void (*iOCapabilityRequestNegativeReplyComplete)(const HciIoCapabilityRequestNegativeReplyReturnParam *returnParam); 556 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 557 // 7.1.43 Logical Link Cancel Command 558 void (*logicalLinkCancelComplete)(const HciLogicalLinkCancelReturnParam *returnParam); 559 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 560 // 7.1.48 Truncated Page Cancel Command 561 void (*truncatedPageCancelComplete)(const HciTruncatedPageCancelReturnParam *returnParam); 562 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 563 // 7.1.49 Set Connectionless Slave Broadcast Command 564 void (*setConnectionlessSlaveBroadcastComplete)(const HciSetConnectionlessSlaveBroadcastReturnParam *returnParam); 565 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 566 // 7.1.50 Set Connectionless Slave Broadcast Receive Command 567 void (*setConnectionlessSlaveBroadcastReceiveComplete)( 568 const HciSetConnectionlessSlaveBroadcastReceiveReturnParam *returnParam); 569 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 570 // 7.1.53 Remote OOB Extended Data Request Reply Command 571 void (*remoteOOBExtendedDataRequestReplyComplete)( 572 const HciRemoteOobExtendedDataRequestReplyReturnParam *returnParam); 573 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 574 // 7.2.7 Role Discovery Command 575 void (*roleDiscoveryComplete)(const HciRoleDiscoveryReturnParam *returnParam); 576 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 577 // 7.2.9 Read Link Policy Settings Command 578 void (*readLinkPolicySettingsComplete)(const HciReadLinkPolicySettingsReturnParam *returnParam); 579 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 580 // 7.2.10 Write Link Policy Settings Command 581 void (*writeLinkPolicySettingsComplete)(const HciWriteLinkPolicySettingsReturnParam *returnParam); 582 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 583 // 7.2.11 Read Default Link Policy Settings Command 584 void (*readDefaultLinkPolicySettingsComplete)(const HciReadDefaultLinkPolicySettingsReturnParam *returnParam); 585 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 586 // 7.2.12 Write Default Link Policy Settings Command 587 void (*writeDefaultLinkPolicySettingsComplete)(const HciWriteDefaultLinkPolicySettingsReturnParam *returnParam); 588 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 589 // 7.2.14 Sniff Subrating Command 590 void (*sniffSubratingComplete)(const HciSniffSubratingReturnParam *returnParam); 591 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 592 // 7.3.1 Set Event Mask Command 593 void (*setEventMaskComplete)(const HciSetEventMaskReturnParam *returnParam); 594 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 595 // 7.3.2 Reset Command 596 void (*resetComplete)(const HciResetReturnParam *returnParam); 597 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 598 // 7.3.3 Set Event Filter Command 599 void (*setEventFilterComplete)(const HciSetEventFilterReturnParam *returnParam); 600 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 601 // 7.3.4 Flush Command 602 void (*flushComplete)(const HciFlushReturnParam *returnParam); 603 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 604 // 7.3.5 Read PIN Type Command 605 void (*readPinTypeComplete)(const HciReadPinTypeReturnParam *returnParam); 606 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 607 // 7.3.6 Write PIN Type Command 608 void (*writePinTypeComplete)(const HciWritePinTypeReturnParam *returnParam); 609 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 610 // 7.3.7 Create New Unit Key Command 611 void (*createNewUnitKeyComplete)(const HciCreateNewUnitKeyReturnParam *returnParam); 612 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 613 // 7.3.8 Read Stored Link Key Command 614 void (*readStoredLinkKeyComplete)(const HciReadStoredLinkKeyReturnParam *returnParam); 615 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 616 // 7.3.9 Write Stored Link Key Command 617 void (*writeStoredLinkKeyComplete)(const HciWriteStoredLinkKeyReturnParam *returnParam); 618 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 619 // 7.3.10 Delete Stored Link Key Command 620 void (*deleteStoredLinkKeyComplete)(const HciDeleteStoredLinkKeyReturnParam *returnParam); 621 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 622 // 7.3.11 Write Local Name Command 623 void (*writeLocalNameComplete)(const HciWriteLocalNameReturnParam *returnParam); 624 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 625 // 7.3.12 Read Local Name Command 626 void (*readLocalNameComplete)(const HciReadLocalNameReturnParam *returnParam); 627 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 628 // 7.3.13 Read Connection Accept Timeout Command 629 void (*readConnectionAcceptTimeoutComplete)(const HciReadConnectionAcceptTimeoutReturnParam *returnParam); 630 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 631 // 7.3.14 Write Connection Accept Timeout Command 632 void (*writeConnectionAcceptTimeoutComplete)(const HciWriteConnectionAcceptTimeoutReturnParam *returnParam); 633 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 634 // 7.3.15 Read Page Timeout Command 635 void (*readPageTimeoutComplete)(const HciReadPageTimeoutReturnParam *returnParam); 636 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 637 // 7.3.16 Write Page Timeout Command 638 void (*writePageTimeoutComplete)(const HciWritePageTimeoutReturnParam *returnParam); 639 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 640 // 7.3.17 Read Scan Enable Command 641 void (*readScanEnableComplete)(const HciReadScanEnableReturnParam *returnParam); 642 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 643 // 7.3.18 Write Scan Enable Command 644 void (*writeScanEnableComplete)(const HciWriteScanEnableReturnParam *returnParam); 645 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 646 // 7.3.19 Read Page Scan Activity Command 647 void (*readPageScanActivityComplete)(const HciReadPageScanActivityReturnParam *returnParam); 648 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 649 // 7.3.20 Write Page Scan Activity Command 650 void (*writePageScanActivityComplete)(const HciWritePageScanActivityReturnParam *returnParam); 651 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 652 // 7.3.21 Read Inquiry Scan Activity Command 653 void (*readInquiryScanActivityComplete)(const HciReadInquiryScanActivityReturnParam *returnParam); 654 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 655 // 7.3.22 Write Inquiry Scan Activity Command 656 void (*writeInquiryScanActivityComplete)(const HciWriteInquiryScanActivityReturnParam *returnParam); 657 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 658 // 7.3.23 Read Authentication Enable Command 659 void (*readAuthenticationEnableComplete)(const HciReadAuthenticationEnableReturnParam *returnParam); 660 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 661 // 7.3.24 Write Authentication Enable Command 662 void (*writeAuthenticationEnableComplete)(const HciWriteAuthenticationEnableReturnParam *returnParam); 663 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 664 // 7.3.25 Read Class of Device Command 665 void (*readClassofDeviceComplete)(const HciReadClassofDeviceReturnParam *returnParam); 666 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 667 // 7.3.26 Write Class of Device Command 668 void (*writeClassofDeviceComplete)(const HciWriteClassofDeviceReturnParam *returnParam); 669 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 670 // 7.3.27 Read Voice Setting Command 671 void (*readVoiceSettingComplete)(const HciReadVoiceSettingReturnParam *returnParam); 672 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 673 // 7.3.28 Write Voice Setting Command 674 void (*writeVoiceSettingComplete)(const HciWriteVoiceSettingParamReturnParam *returnParam); 675 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 676 // 7.3.29 Read Automatic Flush Timeout Command 677 void (*readAutomaticFlushTimeoutComplete)(const HciReadAutomaticFlushTimeoutReturnParam *returnParam); 678 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 679 // 7.3.30 Write Automatic Flush Timeout Command 680 void (*writeAutomaticFlushTimeoutComplete)(const HciWriteAutomaticFlushTimeoutReturnParam *returnParam); 681 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 682 // 7.3.31 Read Num Broadcast Retransmissions Command 683 void (*readNumBroadcastRetransmissionsComplete)(const HciReadNumBroadcastRetransmissionsReturnParam *returnParam); 684 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 685 // 7.3.32 Write Num Broadcast Retransmissions Command 686 void (*writeNumBroadcastRetransmissionsComplete)(const HciWriteNumBroadcastRetransmissionsReturnParam *returnParam); 687 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 688 // 7.3.33 Read Hold Mode Activity Command 689 void (*readHoldModeActivityComplete)(const HciReadHoldModeActivityReturnParam *returnParam); 690 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 691 // 7.3.34 Write Hold Mode Activity Command 692 void (*writeHoldModeActivityComplete)(const HciWriteHoldModeActivityReturnParam *returnParam); 693 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 694 // 7.3.35 Read Transmit Power Level Command 695 void (*readTransmitPowerLevelComplete)(const HciReadTransmitPowerLevelReturnParam *returnParam); 696 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 697 // 7.3.36 Read Synchronous Flow Control Enable Command 698 void (*readSynchronousFlowControlEnableComplete)(const HciReadSynchronousFlowControlEnableReturnParam *returnParam); 699 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 700 // 7.3.37 Write Synchronous Flow Control Enable Command 701 void (*writeSynchronousFlowControlEnableComplete)( 702 const HciWriteSynchronousFlowControlEnableReturnParam *returnParam); 703 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 704 // 7.3.38 Set Controller To Host Flow Control Command 705 void (*setControllerToHostFlowControlComplete)(const HciSetControllerToHostFlowControlReturnParam *returnParam); 706 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 707 // 7.3.39 Host Buffer Size Command 708 void (*hostBufferSizeComplete)(const HciHostBufferSizeReturnParam *returnParam); 709 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 710 // 7.3.41 Read Link Supervision Timeout Command 711 void (*readLinkSupervisionTimeoutComplete)(const HciReadLinkSupervisionTimeoutReturnParam *returnParam); 712 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 713 // 7.3.42 Write Link Supervision Timeout Command 714 void (*writeLinkSupervisionTimeoutComplete)(const HciWriteLinkSupervisionTimeoutReturnParam *returnParam); 715 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 716 // 7.3.43 Read Number Of Supported IAC Command 717 void (*readNumberOfSupportedIacComplete)(const HciReadNumberOfSupportedIacReturnParam *returnParam); 718 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 719 // 7.3.44 Read Current IAC LAP Command 720 void (*readCurrentIacLapComplete)(const HciReadCurrentIacLapReturnParam *returnParam); 721 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 722 // 7.3.45 Write Current IAC LAP Command 723 void (*writeCurrentIacLapComplete)(const HciWriteCurrentIacLapReturnParam *returnParam); 724 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 725 // 7.3.46 Set AFH Host Channel Classification Command 726 void (*setAfhHostChannelClassificationComplete)(const HciSetAfhHostChannelClassificationReturnParam *returnParam); 727 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 728 // 7.3.47 Read Inquiry Scan Type Command 729 void (*readInquiryScanTypeComplete)(const HciReadInquiryScanTypeReturnParam *returnParam); 730 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 731 // 7.3.48 Write Inquiry Scan Type Command 732 void (*writeInquiryScanTypeComplete)(const HciWriteInquiryScanTypeReturnParam *returnParam); 733 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 734 // 7.3.49 Read Inquiry Mode Command 735 void (*readInquiryModeComplete)(const HciReadInquiryModeReturnParam *returnParam); 736 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 737 // 7.3.50 Write Inquiry Mode Command 738 void (*writeInquiryModeComplete)(const HciWriteInquiryModeReturnParam *returnParam); 739 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 740 // 7.3.51 Read Page Scan Type Command 741 void (*readPageScanTypeComplete)(const HciReadPageScanTypeReturnParam *returnParam); 742 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 743 // 7.3.52 Write Page Scan Type Command 744 void (*writePageScanTypeComplete)(const HciWritePageScanTypeReturnParam *returnParam); 745 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 746 // 7.3.53 Read AFH Channel Assessment Mode Command 747 void (*readAfhChannelAssessmentModeComplete)(const HciReadAfhChannelAssessmentModeReturnParam *returnParam); 748 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 749 // 7.3.54 Write AFH Channel Assessment Mode Command 750 void (*writeAfhChannelAssessmentModeComplete)(const HciWriteAfhChannelAssessmentModeReturnParam *returnParam); 751 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 752 // 7.3.55 Read Extended Inquiry Response Command 753 void (*readExtendedInquiryResponseComplete)(const HciReadExtendedInquiryResponseReturnParam *returnParam); 754 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 755 // 7.3.56 Write Extended Inquiry Response Command 756 void (*writeExtendedInquiryResponseComplete)(const HciWriteExtendedInquiryResponseReturnParam *returnParam); 757 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 758 // 7.3.58 Read Simple Pairing Mode Command 759 void (*readSimplePairingModeComplete)(const HciReadSimplePairingModeReturnParam *returnParam); 760 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 761 // 7.3.59 Write Simple Pairing Mode Command 762 void (*writeSimplePairingModeComplete)(const HciWriteSimplePairingModeReturnParam *returnParam); 763 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 764 // 7.3.60 Read Local OOB Data Command 765 void (*readLocalOOBDataComplete)(const HciReadLocalOOBDataReturnParam *returnParam); 766 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 767 // 7.3.61 Read Inquiry Response Transmit Power Level Command 768 void (*readInquiryResponseTransmitPowerLevelComplete)( 769 const HciReadInquiryResponseTransmitPowerLevelReturnParam *returnParam); 770 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 771 // 7.3.62 Write Inquiry Transmit Power Level Command 772 void (*writeInquiryTransmitPowerLevelComplete)(const HciWriteInquiryTransmitPowerLevelReturnParam *returnParam); 773 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 774 // 7.3.63 Send Keypress Notification Command 775 void (*sendKeypressNotificationComplete)(const HciSendKeypressNotificationReturnParam *returnParam); 776 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 777 // 7.3.64 Read Default Erroneous Data Reporting Command 778 void (*readDefaultErroneousDataReportingComplete)( 779 const HciReadDefaultErroneousDataReportingReturnParam *returnParam); 780 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 781 // 7.3.65 Write Default Erroneous Data Reporting Command 782 void (*writeDefaultErroneousDataReportingComplete)( 783 const HciWriteDefaultErroneousDataReportingReturnParam *returnParam); 784 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 785 // 7.3.67 Read Logical Link Accept Timeout Command 786 void (*readLogicalLinkAcceptTimeoutComplete)(const HciReadLogicalLinkAcceptTimeoutReturnParam *returnParam); 787 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 788 // 7.3.68 Write Logical Link Accept Timeout Command 789 void (*writeLogicalLinkAcceptTimeoutComplete)(const HciWriteLogicalLinkAcceptTimeoutReturnParam *returnParam); 790 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 791 // 7.3.69 Set Event Mask Page 2 Command 792 void (*setEventMaskPage2Complete)(const HciSetEventMaskPage2ReturnParam *returnParam); 793 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 794 // 7.3.70 Read Location Data Command 795 void (*readLocationDataComplete)(const HciReadLocationDataReturnParam *returnParam); 796 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 797 // 7.3.71 Write Location Data Command 798 void (*writeLocationDataComplete)(const HciWriteLocationDataReturnParam *returnParam); 799 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 800 // 7.3.72 Read Flow Control Mode Command 801 void (*readFlowControlModeComplete)(const HciReadFlowControlModeReturnParam *returnParam); 802 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 803 // 7.3.73 Write Flow Control Mode Command 804 void (*writeFlowControlModeComplete)(const HciWriteFlowControlModeReturnParam *returnParam); 805 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 806 // 7.3.74 Read Enhanced Transmit Power Level Command 807 void (*readEnhancedTransmitPowerLevelComplete)(const HciReadEnhancedTransmitPowerLevelReturnParam *returnParam); 808 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 809 // 7.3.75 Read Best Effort Flush Timeout Command 810 void (*readBestEffortFlushTimeoutComplete)(const HciReadBestEffortFlushTimeoutReturnParam *returnParam); 811 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 812 // 7.3.76 Write Best Effort Flush Timeout Command 813 void (*writeBestEffortFlushTimeoutComplete)(const HciWriteBestEffortFlushTimeoutReturnParam *returnParam); 814 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 815 // 7.3.78 Read LE Host Support Command 816 void (*readLeHostSupportComplete)(const HciReadLeHostSupportReturnParam *returnParam); 817 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 818 // 7.3.79 Write LE Host Support Command 819 void (*writeLeHostSupportComplete)(const HciWriteLeHostSupportReturnParam *returnParam); 820 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 821 // 7.3.80 Set MWS Channel Parameters Command 822 void (*setMwsChannelParametersComplete)(const HciSetMwsChannelParametersReturnParam *returnParam); 823 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 824 // 7.3.81 Set External Frame Configuration Command 825 void (*setExternalFrameConfigurationComplete)(const HciSetExternalFrameConfigurationReturnParam *returnParam); 826 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 827 // 7.3.82 Set MWS Signaling Command 828 void (*setMwsSignalingComplete)(const HciSetMwsSignalingReturnParam *returnParam); 829 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 830 // 7.3.83 Set MWS Transport Layer Command 831 void (*setMwsTransportLayerComplete)(const HciSetMwsTransportLayerReturnParam *returnParam); 832 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 833 // 7.3.84 Set MWS Scan Frequency Table Command 834 void (*setMwsScanFrequencyTableComplete)(const HciSetMwsScanFrequencyTableReturnParam *returnParam); 835 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 836 // 7.3.85 Set MWS_PATTERN Configuration Command 837 void (*setMwsPatternConfigurationComplete)(const HciSetMwsPatternConfigurationReturnParam *returnParam); 838 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 839 // 7.3.86 Set Reserved LT_ADDR Command 840 void (*setReservedLtAddrComplete)(const HciSetReservedLtAddrReturnParam *returnParam); 841 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 842 // 7.3.87 Delete Reserved LT_ADDR Command 843 void (*deleteReservedLtAddrComplete)(const HciDeleteReservedLtAddrReturnParam *returnParam); 844 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 845 // 7.3.88 Set Connectionless Slave Broadcast Data Command 846 void (*setConnectionlessSlaveBroadcastDataComplete)( 847 const HciSetConnectionlessSlaveBroadcastDataReturnParam *returnParam); 848 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 849 // 7.3.89 Read Synchronization Train Parameters Command 850 void (*readSynchronizationTrainParametersComplete)( 851 const HciReadSynchronizationTrainParametersReturnParam *returnParam); 852 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 853 // 7.3.90 Write Synchronization Train Parameters Command 854 void (*writeSynchronizationTrainParametersComplete)( 855 const HciWriteSynchronizationTrainParametersReturnParam *returnParam); 856 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 857 // 7.3.91 Read Secure Connections Host Support Command 858 void (*readSecureConnectionsHostSupportComplete)(const HciReadSecureConnectionsHostSupportReturnParam *returnParam); 859 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 860 // 7.3.92 Write Secure Connections Host Support Command 861 void (*writeSecureConnectionsHostSupportComplete)( 862 const HciWriteSecureConnectionsHostSupportReturnParam *returnParam); 863 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 864 // 7.3.93 Read Authenticated Payload Timeout Command 865 void (*readAuthenticatedPayloadTimeoutComplete)(const HciReadAuthenticatedPayloadTimeoutReturnParam *returnParam); 866 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 867 // 7.3.94 Write Authenticated Payload Timeout Command 868 void (*writeAuthenticatedPayloadTimeoutComplete)(const HciWriteAuthenticatedPayloadTimeoutReturnParam *returnParam); 869 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 870 // 7.3.95 Read Local OOB Extended Data Command 871 void (*readLocalOOBExtendedDataComplete)(const HciReadLocalOobExtendedDataReturnParam *returnParam); 872 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 873 // 7.3.96 Read Extended Page Timeout Command 874 void (*readExtendedPageTimeoutComplete)(const HciReadExtendedPageTimeoutReturnParam *returnParam); 875 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 876 // 7.3.97 Write Extended Page Timeout Command 877 void (*writeExtendedPageTimeoutComplete)(const HciWriteExtendedPageTimeoutReturnParam *returnParam); 878 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 879 // 7.3.98 Read Extended Inquiry Length Command 880 void (*readExtendedInquiryLengthComplete)(const HciReadExtendedInquiryLengthReturnParam *returnParam); 881 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 882 // 7.3.99 Write Extended Inquiry Length Command 883 void (*writeExtendedInquiryLengthComplete)(const HciWriteExtendedInquiryLengthReturnParam *returnParam); 884 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 885 // 7.4.1 Read Local Version Information Command 886 void (*readLocalVersionInformationComplete)(const HciReadLocalVersionInformationReturnParam *returnParam); 887 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 888 // 7.4.2 Read Local Supported Commands Command 889 void (*readLocalSupportedCommandsComplete)(const HciReadLocalSupportedCommandsReturnParam *returnParam); 890 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 891 // 7.4.3 Read Local Supported Features Command 892 void (*readLocalSupportedFeaturesComplete)(const HciReadLocalSupportedFeaturesReturnParam *returnParam); 893 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 894 // 7.4.4 Read Local Extended Features Command 895 void (*readLocalExtendedFeaturesComplete)(const HciReadLocalExtendedFeaturesReturnParam *returnParam); 896 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 897 // 7.4.5 Read Buffer Size Command 898 void (*readBufferSizeComplete)(const HciReadBufferSizeReturnParam *returnParam); 899 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 900 // 7.4.6 Read BD_ADDR Command 901 void (*readBdAddrComplete)(const HciReadBdAddrReturnParam *returnParam); 902 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 903 // 7.4.7 Read Data Block Size Command 904 void (*readDataBlockSizeComplete)(const HciReadDataBlockSizeReturnParam *returnParam); 905 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 906 // 7.4.8 Read Local Supported Codecs Command 907 void (*readLocalSupportedCodecsComplete)(const HciReadLocalSupportedCodecsReturnParam *returnParam); 908 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 909 // 7.5.1 Read Failed Contact Counter Command 910 void (*readFailedContactCounterComplete)(const HciReadFailedContactCounterReturnParam *returnParam); 911 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 912 // 7.5.2 Reset Failed Contact Counter Command 913 void (*resetFailedContactCounterComplete)(const HciResetFailedContactCounterReturnParam *returnParam); 914 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 915 // 7.5.3 Read Link Quality Command 916 void (*readLinkQualityComplete)(const HciReadLinkQualityReturnParam *returnParam); 917 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 918 // 7.5.4 Read RSSI Command 919 void (*readRssiComplete)(const HciReadRssiReturnParam *returnParam); 920 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 921 // 7.5.5 Read AFH Channel Map Command 922 void (*readAfhChannelMapComplete)(const HciReadAfhChannelMapReturnParam *returnParam); 923 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 924 // 7.5.6 Read Clock Command 925 void (*readClockComplete)(const HciReadClockReturnParam *returnParam); 926 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 927 // 7.5.7 Read Encryption Key Size Command 928 void (*readEncryptionKeySizeComplete)(const HciReadEncryptionKeySizeReturnParam *returnParam); 929 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 930 // 7.5.8 Read Local AMP Info Command 931 void (*readLocalAmpInfoComplete)(const HciReadLocalAMPInfoReturnParam *returnParam); 932 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 933 // 7.5.9 Read Local AMP ASSOC Command 934 void (*readLocalAmpAssocComplete)(const HciReadLocalAmpAssocReturnParam *returnParam); 935 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 936 // 7.5.10 Write Remote AMP ASSOC Command 937 void (*writeRemoteAmpAssocComplete)(const HciWriteRemoteAmpAssocReturnParam *returnParam); 938 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 939 // 7.5.11 Get MWS Transport Layer Configuration Command 940 void (*getMwsTransportLayerConfigurationComplete)( 941 const HciGetMwsTransportLayerConfigurationReturnParam *returnParam); 942 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 943 // 7.5.12 Set Triggered Clock Capture Command 944 void (*setTriggeredClockCaptureComplete)(const HciSetTriggeredClockCaptureReturnParam *returnParam); 945 946 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 947 // 7.7.1 Inquiry Complete Event 948 void (*inquiryComplete)(const HciInquiryCompleteEventParam *eventParam); 949 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 950 // 7.7.2 Inquiry Result Event 951 void (*inquiryResult)(const HciInquiryResultEventParam *eventParam); 952 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 953 // 7.7.3 Connection Complete Event 954 void (*connectionComplete)(const HciConnectionCompleteEventParam *eventParam); 955 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 956 // 7.7.4 Connection Request Event 957 void (*connectionRequest)(const HciConnectionRequestEventParam *eventParam); 958 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 959 // 7.7.5 Disconnection Complete Event 960 void (*disconnectComplete)(const HciDisconnectCompleteEventParam *eventParam); 961 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 962 // 7.7.6 Authentication Complete Event 963 void (*authenticationComplete)(const HciAuthenticationCompleteEventParam *eventParam); 964 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 965 // 7.7.7 Remote Name Request Complete Event 966 void (*remoteNameRequestComplete)(const HciRemoteNameRequestCompleteEventParam *eventParam); 967 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 968 // 7.7.8 Encryption Change Event 969 void (*encryptionChange)(const HciEncryptionChangeEventParam *eventParam); 970 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 971 // 7.7.9 Change Connection Link Key Complete Event 972 void (*changeConnectionLinkKeyComplete)(const HciChangeConnectionLinkKeyCompleteEventParam *eventParam); 973 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 974 // 7.7.10 Master Link Key Complete Event 975 void (*masterLinkKeyComplete)(const HciMasterLinkKeyCompleteEventParam *eventParam); 976 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 977 // 7.7.11 Read Remote Supported Features Complete Event 978 void (*readRemoteSupportedFeaturesComplete)(const HciReadRemoteSupportedFeaturesCompleteEventParam *eventParam); 979 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 980 // 7.7.12 Read Remote Version Information Complete Event 981 void (*readRemoteVersionInformationComplete)(const HciReadRemoteVersionInformationCompleteEventParam *eventParam); 982 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 983 // 7.7.13 QoS Setup Complete Event 984 void (*qosSetupComplete)(const HciQosSetupCompleteEventParam *eventParam); 985 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 986 // 7.7.15 Command Status Event 987 void (*commandStatus)(uint8_t status, uint16_t commandOpcode); 988 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 989 // 7.7.16 Hardware Error Event 990 void (*hardwareError)(const HciHardwareErrorEventParam *eventParam); 991 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 992 // 7.7.17 Flush Occurred Event 993 void (*flushOccurred)(const HciFlushOccurredEventParam *eventParam); 994 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 995 // 7.7.18 Role Change Event 996 void (*roleChange)(const HciRoleChangeEventParam *eventParam); 997 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 998 // 7.7.20 Mode Change Event 999 void (*modeChange)(const HciModeChangeEventParam *param); 1000 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 1001 // 7.7.21 Return Link Keys Event 1002 void (*returnLinkKeys)(const HciReturnLinkKeysEventParam *param); 1003 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 1004 // 7.7.22 PIN Code Request Event 1005 void (*pinCodeRequest)(const HciPinCodeRequestEventParam *eventParam); 1006 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 1007 // 7.7.23 Link Key Request Event 1008 void (*linkKeyRequest)(const HciLinkKeyRequestEventParam *eventParam); 1009 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 1010 // 7.7.24 Link Key Notification Event 1011 void (*linkKeyNotification)(const HciLinkKeyNotificationEventParam *eventParam); 1012 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 1013 // 7.7.26 Data Buffer Overflow Event 1014 void (*dataBufferOverflow)(const HciDataBufferOverflowEventParam *eventParam); 1015 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 1016 // 7.7.27 Max Slots Change Event 1017 void (*maxSlotsChange)(const HciMaxSlotsChangeEventParam *eventParam); 1018 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 1019 // 7.7.28 Read Clock Offset Complete Event 1020 void (*readClockOffsetComplete)(const HciReadClockOffsetCompleteEventParam *eventParam); 1021 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 1022 // 7.7.29 Connection Packet Type Changed Event 1023 void (*connectionPacketTypeChanged)(const HciConnectionPacketTypeChangedEventParam *eventParam); 1024 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 1025 // 7.7.30 QoS Violation Event 1026 void (*qoSViolation)(const HciQosViolationEventParam *eventParam); 1027 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 1028 // 7.7.31 Page Scan Repetition Mode Change Event 1029 void (*pageScanRepetitionModeChange)(const HciPageScanRepetitionModeChangeEventParam *eventParam); 1030 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 1031 // 7.7.32 Flow Specification Complete Event 1032 void (*flowSpecificationComplete)(const HciFlowSpecificationCompleteEventParam *eventParam); 1033 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 1034 // 7.7.33 Inquiry Result with RSSI Event 1035 void (*inquiryResultWithRSSI)(const HciInquiryResultWithRssiEventParam *eventParam); 1036 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 1037 // 7.7.34 Read Remote Extended Features Complete Event 1038 void (*readRemoteExtendedFeaturesComplete)(const HciReadRemoteExtendedFeaturesCompleteEventParam *eventParam); 1039 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 1040 // 7.7.35 Synchronous Connection Complete Event 1041 void (*synchronousConnectionComplete)(const HciSynchronousConnectionCompleteEventParam *eventParam); 1042 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 1043 // 7.7.36 Synchronous Connection Changed Event 1044 void (*synchronousConnectionChanged)(const HciSynchronousConnectionChangedEventParam *eventParam); 1045 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 1046 // 7.7.37 Sniff Subrating Event 1047 void (*sniffSubrating)(const HciSniffSubratingEventParam *eventParam); 1048 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 1049 // 7.7.38 Extended Inquiry Result Event 1050 void (*extendedInquiryResult)(const HciExtendedInquiryResultEventParam *eventParam); 1051 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 1052 // 7.7.39 Encryption Key Refresh Complete Event 1053 void (*encryptionKeyRefreshComplete)(const HciEncryptionKeyRefreshCompleteEventParam *eventParam); 1054 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 1055 // 7.7.40 IO Capability Request Event 1056 void (*ioCapabilityRequest)(const HciIoCapabilityRequestEventParam *eventParam); 1057 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 1058 // 7.7.41 IO Capability Response Event 1059 void (*ioCapabilityResponse)(const HciIoCapabilityResponseEventParam *eventParam); 1060 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 1061 // 7.7.42 User Confirmation Request Event 1062 void (*userConfirmationRequest)(const HciUserConfirmationRequestEventParam *eventParam); 1063 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 1064 // 7.7.43 User Passkey Request Event 1065 void (*userPasskeyRequest)(const HciUserPasskeyRequestEventParam *eventParam); 1066 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 1067 // 7.7.44 Remote OOB Data Request Event 1068 void (*remoteOOBDataRequest)(const HciRemoteOobDataRequestEventParam *eventParam); 1069 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 1070 // 7.7.45 Simple Pairing Complete Event 1071 void (*simplePairingComplete)(const HciSimplePairingCompleteEventParam *eventParam); 1072 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 1073 // 7.7.46 Link Supervision Timeout Changed Event 1074 void (*linkSupervisionTimeoutChanged)(const HciLinkSupervisionTimeoutChangedEventParam *eventParam); 1075 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 1076 // 7.7.47 Enhanced Flush Complete Event 1077 void (*enhancedFlushComplete)(const HciEnhancedFlushCompleteEventParam *eventParam); 1078 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 1079 // 7.7.48 User Passkey Notification Event 1080 void (*userPasskeyNotification)(const HciUserPasskeyNotificationEventParam *eventParam); 1081 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 1082 // 7.7.49 Keypress Notification Event 1083 void (*keypressNotification)(const HciKeypressNotificationEventParam *eventParam); 1084 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 1085 // 7.7.50 Remote Host Supported Features Notification Event 1086 void (*remoteHostSupportedFeaturesNotification)( 1087 const HciRemoteHostSupportedFeaturesNotificationEventParam *eventParam); 1088 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 1089 // 7.7.51 Physical Link Complete Event 1090 void (*physicalLinkComplete)(const HciPhysicalLinkCompleteEventParam *eventParam); 1091 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 1092 // 7.7.52 Channel Selected Event 1093 void (*channelSelected)(const HciChannelSelectedEventParam *eventParam); 1094 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 1095 // 7.7.53 Disconnection Physical Link Complete Event 1096 void (*disconnectionPhysicalLinkComplete)(const HciDisconnectionPhysicalLinkCompleteEventParam *eventParam); 1097 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 1098 // 7.7.54 Physical Link Loss Early Warning Event 1099 void (*physicalLinkLossEarlyWarning)(const HciPhysicalLinkLossEarlyWarningEventParam *eventParam); 1100 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 1101 // 7.7.55 Physical Link Recovery Event 1102 void (*physicalLinkRecovery)(const HciPhysicalLinkRecoveryEventParam *eventParam); 1103 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 1104 // 7.7.56 Logical Link Complete Event 1105 void (*logicalLinkComplete)(const HciLogicalLinkCompleteEventParam *eventParam); 1106 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 1107 // 7.7.57 Disconnection Logical Link Complete Event 1108 void (*disconnectionLogicalLinkComplete)(const HciDisconnectionLogicalLinkCompleteEventParam *eventParam); 1109 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 1110 // 7.7.58 Flow Spec Modify Complete Event 1111 void (*flowSpecModifyComplete)(const HciFlowSpecModifyCompleteEventParam *eventParam); 1112 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 1113 // 7.7.59 Number Of Completed Data Blocks Event 1114 void (*numberOfCompletedDataBlocks)(const HciNumberOfCompletedDataBlocksEventParam *eventParam); 1115 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 1116 // 7.7.60 Short Range Mode Change Complete Event 1117 void (*shortRangeModeChangeComplete)(const HciShortRangeModeChangeCompleteEventParam *eventParam); 1118 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 1119 // 7.7.61 AMP Status Change Event 1120 void (*ampStatusChange)(const HciAmpStatusChangeEventParam *eventParam); 1121 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 1122 // 7.7.62 AMP Start Test Event 1123 void (*ampStartTest)(const HciAmpStartTestEventParam *eventParam); 1124 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 1125 // 7.7.63 AMP Test End Event 1126 void (*ampTestEnd)(const HciAmpTestEndEventParam *eventParam); 1127 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 1128 // 7.7.64 AMP Receiver Report Event 1129 void (*ampReceiverReport)(const HciAmpReceiverReportEventParam *eventParam); 1130 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 1131 // 7.7.66 Triggered Clock Capture Event 1132 void (*triggeredClockCapture)(const HciTriggeredClockCaptureEventParam *eventParam); 1133 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 1134 // 7.7.67 Synchronization Train Complete Event 1135 void (*synchronizationTrainComplete)(const HciSynchronizationTrainCompleteEventParam *eventParam); 1136 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 1137 // 7.7.68 Synchronization Train Received Event 1138 void (*synchronizationTrainReceived)(const HciSynchronizationTrainReceivedEventParam *eventParam); 1139 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 1140 // 7.7.69 Connectionless Slave Broadcast Receive Event 1141 void (*connectionlessSlaveBroadcastReceive)(const HciConnectionlessSlaveBroadcastReceiveEventParam *eventParam); 1142 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 1143 // 7.7.70 Connectionless Slave Broadcast Timeout Event 1144 void (*connectionlessSlaveBroadcastTimeout)(const HciConnectionlessSlaveBroadcastTimeoutEventParam *eventParam); 1145 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 1146 // 7.7.71 Truncated Page Complete Event 1147 void (*truncatedPageComplete)(const HciTruncatedPageCompleteEventParam *eventParam); 1148 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 1149 // 7.7.73 Connectionless Slave Broadcast Channel Map Change Event 1150 void (*connectionlessSlaveBroadcastChannelMapChange)( 1151 const HciConnectionlessSlaveBroadcastChannelMapChangeEventParam *eventParam); 1152 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 1153 // 7.7.74 Inquiry Response Notification Event 1154 void (*inquiryResponseNotification)(const HciInquiryResponseNotificationEventParam *eventParam); 1155 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 1156 // 7.7.75 Authenticated Payload Timeout Expired Event 1157 void (*authenticatedPayloadTimeoutExpired)(const HciAuthenticatedPayloadTimeoutExpiredEventParam *eventParam); 1158 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 1159 // 7.7.76 SAM Status Change Event 1160 void (*samStatusChange)(const HciSamStatusChangeEventParam *eventParam); 1161 1162 // LE Cmds 1163 1164 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 1165 // 7.8.1 LE Set Event Mask Command 1166 void (*leSetEventMaskComplete)(const HciLeSetEventMaskReturnParam *returParam); 1167 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 1168 // 7.8.2 LE Read Buffer Size Command 1169 void (*leReadBufferSizeComplete)(const HciLeReadBufferSizeReturnParam *returnParam); 1170 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 1171 // 7.8.3 LE Read Local Supported Features Command 1172 void (*leReadLocalSupportedFeaturesComplete)(const HciLeReadLocalSupportedFeaturesReturnParam *returnParam); 1173 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 1174 // 7.8.4 LE Set Random Address Command 1175 void (*leSetRandomAddressComplete)(const HciLeSetRandomAddressReturnParam *returnParam); 1176 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 1177 // 7.8.5 LE Set Advertising Parameters Command 1178 void (*leSetAdvertisingParametersComplete)(const HciLeSetAdvertisingParametersReturnParam *returnParam); 1179 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 1180 // 7.8.6 LE Read Advertising Channel Tx Power Command 1181 void (*leReadAdvertisingChannelTxPowerComplete)(const HciLeReadAdvertisingChannelTxPowerReturnParam *returnParam); 1182 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 1183 // 7.8.7 LE Set Advertising Data Command 1184 void (*leSetAdvertisingDataComplete)(const HciLeSetAdvertisingDataReturnParam *returnParam); 1185 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 1186 // 7.8.8 LE Set Scan Response Data Command 1187 void (*leSetScanResponseDataComplete)(const HciLeSetScanResponseDataReturnParam *returnParam); 1188 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 1189 // 7.8.9 LE Set Advertising Enable Command 1190 void (*leSetAdvertisingEnableComplete)(const HciLeSetAdvertisingEnableReturnParam *returnParam); 1191 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 1192 // 7.8.10 LE Set Scan Parameters Command 1193 void (*leSetScanParametersComplete)(const HciLeSetScanParametersReturnParam *returnParam); 1194 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 1195 // 7.8.11 LE Set Scan Enable Command 1196 void (*leSetScanEnableComplete)(const HciLeSetScanEnableReturnParam *returnParam); 1197 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 1198 // 7.8.13 LE Create Connection Cancel Command 1199 void (*leCreateConnectionCancelComplete)(const HciLeCreateConnectionCancelReturnParam *returnParam); 1200 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 1201 // 7.8.14 LE Read WL Size Command 1202 void (*leReadWhiteListSizeComplete)(const HciLeReadWhiteListSizeReturnParam *returnParam); 1203 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 1204 // 7.8.15 LE Clear WL Command 1205 void (*leClearWhiteListComplete)(const HciLeClearWhiteListReturnParam *returnParam); 1206 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 1207 // 7.8.16 LE Add Device To WL Command 1208 void (*leAddDeviceToWhiteListComplete)(const HciLeAddDeviceToWhiteListReturnParam *returnParam); 1209 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 1210 // 7.8.17 LE Remove Device From WL Command 1211 void (*leRemoveDeviceFromWhiteListComplete)(const HciLeRemoveDeviceFromWhiteListReturnParam *returnParam); 1212 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 1213 // 7.8.19 LE Set Host Channel Classification Command 1214 void (*leSetHostChannelClassificationComplete)(const HciLeSetHostChannelClassificationReturnParam *returnParam); 1215 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 1216 // 7.8.20 LE Read Channel Map Command 1217 void (*leReadChannelMapComplete)(const HciLeReadChannelMapReturnParam *returnParam); 1218 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 1219 // 7.8.22 LE Encrypt Command 1220 void (*leEncryptComplete)(const HciLeEncryptReturnParam *returnParam); 1221 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 1222 // 7.8.23 LE Rand Command 1223 void (*leRandComplete)(const HciLeRandReturnParam *returnParam); 1224 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 1225 // 7.8.25 LE Long Term Key Request Reply Command 1226 void (*leLongTermKeyRequestReplyComplete)(const HciLeLongTermKeyRequestReplyReturnParam *returnParam); 1227 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 1228 // 7.8.26 LE Long Term Key Request Negative Reply Command 1229 void (*leLongTermKeyRequestNegativeReplyComplete)( 1230 const HciLeLongTermKeyRequestNegativeReplyReturnParam *returnParam); 1231 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 1232 // 7.8.27 LE Read Supported States Command 1233 void (*leReadSupportedStatesComplete)(const HciLeReadSupportedStatesReturnParam *returnParam); 1234 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 1235 // 7.8.28 LE Receiver Test Command 1236 void (*leReceiverTestComplete)(const HciLeReceiverTestReturnParam *returnParam); 1237 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 1238 // 7.8.29 LE Transmitter Test Command 1239 void (*leTransmitterTestComplete)(const HciLeTransmitterTestReturnParam *returnParam); 1240 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 1241 // 7.8.30 LE Test End Command 1242 void (*leTestEndComplete)(const HciLeTestEndReturnParam *returnParam); 1243 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 1244 // 7.8.31 LE Remote Connection Parameter Request Reply Command 1245 void (*leRemoteConnectionParameterRequestReplyComplete)( 1246 const HciLeRemoteConnectionParameterRequestReplyReturnParam *returnParam); 1247 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 1248 // 7.8.32 LE Remote Connection Parameter Request Negative Reply Command 1249 void (*leRemoteConnectionParameterRequestNegativeReplyComplete)( 1250 const HciLeRemoteConnectionParameterRequestNegativeReplyReturnParam *returnParam); 1251 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 1252 // 7.8.33 LE Set Data Length Command 1253 void (*leSetDataLengthComplete)(const HciLeSetDataLengthReturnParam *returnParam); 1254 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 1255 // 7.8.34 LE Read Suggested Default Data Length Command 1256 void (*leReadSuggestedDefaultDataLengthComplete)(const HciLeReadSuggestedDefaultDataLengthReturnParam *returnParam); 1257 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 1258 // 7.8.35 LE Write Suggested Default Data Length Command 1259 void (*leWriteSuggestedDefaultDataLengthComplete)( 1260 const HciLeWriteSuggestedDefaultDataLengthReturnParam *returnParam); 1261 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 1262 // 7.8.38 LE Add Device To Resolving List Command 1263 void (*leAddDeviceToResolvingListComplete)(const HciLeAddDeviceToResolvingListReturnParam *returnParam); 1264 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 1265 // 7.8.39 LE Remove Device From Resolving List Command 1266 void (*leRemoveDeviceFromResolvingListComplete)(const HciLeRemoveDeviceFromResolvingListReturnParam *returnParam); 1267 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 1268 // 7.8.40 LE Clear Resolving List Command 1269 void (*leClearResolvingListComplete)(const HciLeClearResolvingListReturnParam *returnParam); 1270 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 1271 // 7.8.41 LE Read Resolving List Size Command 1272 void (*leReadResolvingListSizeComplete)(const HciLeReadResolvingListSizeReturnParam *returnParam); 1273 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 1274 // 7.8.42 LE Read Peer Resolvable Address Command 1275 void (*leReadPeerResolvableAddressComplete)(const HciLeReadPeerResolvableAddressReturnParam *returnParam); 1276 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 1277 // 7.8.43 LE Read Local Resolvable Address Command 1278 void (*leReadLocalResolvableAddressComplete)(const HciLeReadLocalResolvableAddressReturnParam *returnParam); 1279 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 1280 // 7.8.44 LE Set Address Resolution Enable Command 1281 void (*leSetAddressResolutionEnableComplete)(const HciLeSetAddressResolutionEnableReturnParam *returnParam); 1282 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 1283 // 7.8.45 LE Set Resolvable Private Address Timeout Command 1284 void (*leSetResolvablePrivateAddressTimeoutComplete)( 1285 const HciLeSetResolvablePrivateAddressTimeoutReturnParam *returnParam); 1286 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 1287 // 7.8.46 LE Read Maximum Data Length Command 1288 void (*leReadMaximumDataLengthComplete)(const HciLeReadMaximumDataLengthReturnParam *returnParam); 1289 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 1290 // 7.8.47 LE Read PHY Command 1291 void (*leReadPhyComplete)(const HciLeReadPhyReturnParam *returnParam); 1292 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 1293 // 7.8.48 LE Set Default PHY Command 1294 void (*leSetDefaultPhyComplete)(const HciLeSetDefaultPhyReturnParam *returnParam); 1295 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 1296 // 7.8.49 LE Set PHY Command 1297 void (*leSetPhyComplete)(); 1298 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 1299 // 7.8.50 LE Enhanced Receiver Test Command 1300 void (*leEnhancedReceiverTestComplete)(const HciLeEnhancedReceiverTestReturnParam *returnParam); 1301 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 1302 // 7.8.51 LE Enhanced Transmitter Test Command 1303 void (*leEnhancedTransmitterTestComplete)(const HciLeEnhancedTransmitterTestReturnParam *returnParam); 1304 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 1305 // 7.8.52 LE Set Advertising Set Random Address Command 1306 void (*leSetAdvertisingSetRandomAddressComplete)(const HciLeSetAdvertisingSetRandomAddressReturnParam *returnParam); 1307 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 1308 // 7.8.53 LE Set Extended Advertising Parameters Command 1309 void (*leSetExtendedAdvertisingParametersComplete)( 1310 const HciLeSetExtendedAdvertisingParametersReturnParam *returnParam); 1311 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 1312 // 7.8.54 LE Set Extended Advertising Data Command 1313 void (*leSetExtendedAdvertisingDataComplete)(const HciLeSetExtendedAdvertisingDataReturnParam *returnParam); 1314 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 1315 // 7.8.55 LE Set Extended Scan Response Data Command 1316 void (*leSetExtendedScanResponseDataComplete)(const HciLeSetExtendedScanResponseDataReturnParam *returnParam); 1317 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 1318 // 7.8.56 LE Set Extended Advertising Enable Command 1319 void (*leSetExtendedAdvertisingEnableComplete)(const HciLeSetExtendedAdvertisingEnableReturnParam *returnParam); 1320 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 1321 // 7.8.57 LE Read Maximum Advertising Data Length Command 1322 void (*leReadMaximumAdvertisingDataLengthComplete)( 1323 const HciLeReadMaximumAdvertisingDataLengthReturnParam *returnParam); 1324 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 1325 // 7.8.58 LE Read Number of Supported Advertising Sets Command 1326 void (*leReadNumberofSupportedAdvertisingSetsComplete)( 1327 const HciLeReadNumberofSupportedAdvertisingSetsReturnParam *returnParam); 1328 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 1329 // 7.8.59 LE Remove Advertising Set Command 1330 void (*leRemoveAdvertisingSetComplete)(const HciLeRemoveAdvertisingSetReturnParam *returnParam); 1331 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 1332 // 7.8.60 LE Clear Advertising Sets Command 1333 void (*leClearAdvertisingSetsComplete)(const HciLeClearAdvertisingSetsReturnParam *returnParam); 1334 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 1335 // 7.8.61 LE Set Periodic Advertising Parameters Command 1336 void (*leSetPeriodicAdvertisingParametersComplete)( 1337 const HciLeSetPeriodicAdvertisingParametersReturnParameters *returnParam); 1338 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 1339 // 7.8.62 LE Set Periodic Advertising Data Command 1340 void (*leSetPeriodicAdvertisingDataComplete)(const HciLeSetPeriodicAdvertisingDataReturnParameters *returnParam); 1341 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 1342 // 7.8.63 LE Set Periodic Advertising Enable Command 1343 void (*leSetPeriodicAdvertisingEnableComplete)( 1344 const HciLeSetPeriodicAdvertisingEnableReturnParameters *returnParam); 1345 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 1346 // 7.8.64 LE Set Extended Scan Parameters Command 1347 void (*leSetExtendedScanParametersComplete)(const HciLeSetExtendedScanParametersReturnParam *returnParam); 1348 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 1349 // 7.8.65 LE Set Extended Scan Enable Command 1350 void (*leSetExtendedScanEnableComplete)(const HciLeSetExtendedScanEnableReturnParam *returnParam); 1351 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 1352 // 7.8.68 LE Periodic Advertising Create Sync Cancel Command 1353 void (*lePeriodicAdvertisingCreateSyncCancelComplete)( 1354 const HciLePeriodicAdvertisingCreateSyncCancelReturnParam *returnParam); 1355 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 1356 // 7.8.69 LE Periodic Advertising Terminate Sync Command 1357 void (*lePeriodicAdvertisingTerminateSyncComplete)( 1358 const HciLePeriodicAdvertisingTerminateSyncReturnParam *returnParam); 1359 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 1360 // 7.8.70 LE Add Device To Periodic Advertiser List Command 1361 void (*leAddDeviceToPeriodicAdvertiserListComplete)( 1362 const HciLeAddDeviceToPeriodicAdvertiserListReturnParam *returnParam); 1363 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 1364 // 7.8.71 LE Remove Device From Periodic Advertiser List Command 1365 void (*leRemoveDeviceFromPeriodicAdvertiserListComplete)( 1366 const HciLeRemoveDeviceFromPeriodicAdvertiserListReturnParam *returnParam); 1367 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 1368 // 7.8.72 LE Clear Periodic Advertiser List Command 1369 void (*leClearPeriodicAdvertiserListComplete)(const HciLeClearPeriodicAdvertiserListReturnParam *returnParam); 1370 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 1371 // 7.8.73 LE Read Periodic Advertiser List Size Command 1372 void (*leReadPeriodicAdvertiserListSizeComplete)(const HciLeReadPeriodicAdvertiserListSizeReturnParam *returnParam); 1373 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 1374 // 7.8.74 LE Read Transmit Power Command 1375 void (*leReadTransmitPowerComplete)(const HciLeReadTransmitPowerReturnParam *returnParam); 1376 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 1377 // 7.8.75 LE Read RF Path Compensation Command 1378 void (*leReadRfPathCompensationComplete)(const HciLeReadRfPathCompensationReturnParam *returnParam); 1379 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 1380 // 7.8.76 LE Write RF Path Compensation Command 1381 void (*leWriteRfPathCompensationComplete)(const HciLeWriteRfPathCompensationReturnParam *returnParam); 1382 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 1383 // 7.8.77 LE Set Privacy Mode Command 1384 void (*leSetPrivacyModeComplete)(const HciLeSetPrivacyModeReturnParam *returnParam); 1385 1386 // LE Events 1387 1388 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 1389 // 7.7.65.1 LE Connection Complete Event 1390 void (*leConnectionComplete)(const HciLeConnectionCompleteEventParam *eventParam); 1391 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 1392 // 7.7.65.2 LE Advertising Report Event 1393 void (*leAdvertisingReport)(const HciLeAdvertisingReportEventParam *eventParam); 1394 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 1395 // 7.7.65.3 LE Connection Update Complete Event 1396 void (*leConnectionUpdateComplete)(const HciLeConnectionUpdateCompleteEventParam *eventParam); 1397 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 1398 // 7.7.65.4 LE Read Remote Features Complete Event 1399 void (*leReadRemoteFeaturesComplete)(const HciLeReadRemoteFeaturesCompleteEventParam *eventParam); 1400 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 1401 // 7.7.65.5 LE Long Term Key Request Event 1402 void (*leLongTermKeyRequest)(const HciLeLongTermKeyRequestEventParam *eventParam); 1403 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 1404 // 7.7.65.6 LE Remote Connection Parameter Request Event 1405 void (*leRemoteConnectionParameterRequest)(const HciLeRemoteConnectionParameterRequestEventParam *eventParam); 1406 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 1407 // 7.7.65.7 LE Data Length Change Event 1408 void (*leDataLengthChange)(const HciLeDataLengthChangeEventParam *eventParam); 1409 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 1410 // 7.7.65.8 LE Read Local P-256 Public Key Complete Event 1411 void (*leReadLocalP256PublicKeyComplete)(const HciLeReadLocalP256PublicKeyCompleteEventParam *eventParam); 1412 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 1413 // 7.7.65.9 LE Generate DHKey Complete Event 1414 void (*leGenerateDHKeyComplete)(const HciLeGenerateDHKeyCompleteEventParam *eventParam); 1415 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 1416 // 7.7.65.10 LE Enhanced Connection Complete Event 1417 void (*leEnhancedConnectionComplete)(const HciLeEnhancedConnectionCompleteEventParam *eventParam); 1418 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 1419 // 7.7.65.11 LE Directed Advertising Report Event 1420 void (*leDirectedAdvertisingReport)(const HciLeDirectedAdvertisingReportEventParam *eventParam); 1421 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 1422 // 7.7.65.12 LE PHY Update Complete Event 1423 void (*lePhyUpdateComplete)(const HciLePhyUpdateCompleteEventParam *eventParam); 1424 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 1425 // 7.7.65.13 LE Extended Advertising Report Event 1426 void (*leExtendedAdvertisingReport)(const HciLeExtendedAdvertisingReportEventParam *eventParam); 1427 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 1428 // 7.7.65.14 LE Periodic Advertising Sync Established Event 1429 void (*lePeriodicAdvertisingSyncEstablished)(const HciLePeriodicAdvertisingSyncEstablishedEventParam *eventParam); 1430 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 1431 // 7.7.65.15 LE Periodic Advertising Report Event 1432 void (*lePeriodicAdvertisingReport)(const HciLePeriodicAdvertisingReportEventParam *eventParam); 1433 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 1434 // 7.7.65.16 LE Periodic Advertising Sync Lost Event 1435 void (*lePeriodicAdvertisingSyncLost)(const HciLePeriodicAdvertisingSyncLostEventParam *eventParam); 1436 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 1437 // 7.7.65.17 LE Scan Timeout Event 1438 void (*leScanTimeoutComplete)(); 1439 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 1440 // 7.7.65.18 LE Advertising Set Terminated Event 1441 void (*leAdvertisingSetTerminated)(const HciLeAdvertisingSetTerminatedEventParam *eventParam); 1442 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 1443 // 7.7.65.19 LE Scan Request Received Event 1444 void (*leScanRequestReceived)(const HciLeScanRequestReceivedEventParam *eventParam); 1445 // BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part E 1446 // 7.7.65.20 LE Channel Selection Algorithm Event 1447 void (*leChannelSelectionAlgorithm)(const HciLeChannelSelectionAlgorithmEventParam *eventParam); 1448 } HciEventCallbacks; 1449 1450 int HCI_RegisterEventCallbacks(const HciEventCallbacks *callbacks); 1451 int HCI_DeregisterEventCallbacks(const HciEventCallbacks *callbacks); 1452 1453 typedef struct { 1454 void (*onAclData)(uint16_t handle, uint8_t pbFlag, uint8_t bcFlag, Packet *packet); 1455 } HciAclCallbacks; 1456 1457 int HCI_RegisterAclCallbacks(const HciAclCallbacks *callbacks); 1458 int HCI_DeregisterAclCallbacks(const HciAclCallbacks *callbacks); 1459 1460 typedef struct { 1461 void (*onCmdTimeout)(); 1462 } HciFailureCallbacks; 1463 1464 int HCI_RegisterFailureCallback(const HciFailureCallbacks *callbacks); 1465 int HCI_DeregisterFailureCallback(const HciFailureCallbacks *callbacks); 1466 1467 #define NON_FLUSHABLE_PACKET 0 1468 #define FLUSHABLE_PACKET 1 1469 int HCI_SendAclData(uint16_t handle, uint8_t flushable, Packet *packet); 1470 1471 #define TRANSMISSON_TYPE_H2C_CMD 1 1472 #define TRANSMISSON_TYPE_C2H_EVENT 2 1473 #define TRANSMISSON_TYPE_H2C_DATA 3 1474 #define TRANSMISSON_TYPE_C2H_DATA 4 1475 1476 int HCI_SetTransmissionCaptureCallback(void (*onTransmission)(uint8_t type, const uint8_t *data, uint16_t length)); 1477 1478 int HCI_EnableTransmissionCapture(); 1479 int HCI_DisableTransmissionCapture(); 1480 1481 void HCI_SetBufferSize(uint16_t packetLength, uint16_t totalPackets); 1482 void HCI_SetLeBufferSize(uint16_t packetLength, uint8_t totalPackets); 1483 1484 #ifdef __cplusplus 1485 } 1486 #endif 1487 1488 #endif