Mistake on this page?
Report an issue in GitHub or email us
hci_api.h
Go to the documentation of this file.
1 /*************************************************************************************************/
2 /*!
3  * \file
4  *
5  * \brief HCI subsystem API.
6  *
7  * Copyright (c) 2009-2019 Arm Ltd. All Rights Reserved.
8  *
9  * Copyright (c) 2019-2020 Packetcraft, Inc.
10  *
11  * Licensed under the Apache License, Version 2.0 (the "License");
12  * you may not use this file except in compliance with the License.
13  * You may obtain a copy of the License at
14  *
15  * http://www.apache.org/licenses/LICENSE-2.0
16  *
17  * Unless required by applicable law or agreed to in writing, software
18  * distributed under the License is distributed on an "AS IS" BASIS,
19  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
20  * See the License for the specific language governing permissions and
21  * limitations under the License.
22  */
23 /*************************************************************************************************/
24 #ifndef HCI_API_H
25 #define HCI_API_H
26 
27 #include "wsf_types.h"
28 #include "hci_defs.h"
29 #include "wsf_os.h"
30 #include "util/bda.h"
31 
32 #ifdef __cplusplus
33 extern "C" {
34 #endif
35 
36 /**************************************************************************************************
37  Macros
38 **************************************************************************************************/
39 
40 /*! \addtogroup STACK_HCI_EVT_API
41  * \{ */
42 
43 /** \name HCI Internal Event Codes
44  * Proprietary HCI event codes for handling HCI events in callbacks.
45  */
46 /**@{*/
47 #define HCI_RESET_SEQ_CMPL_CBACK_EVT 0 /*!< \brief Reset sequence complete */
48 #define HCI_LE_CONN_CMPL_CBACK_EVT 1 /*!< \brief LE connection complete */
49 #define HCI_LE_ENHANCED_CONN_CMPL_CBACK_EVT 2 /*!< \brief LE enhanced connection complete */
50 #define HCI_DISCONNECT_CMPL_CBACK_EVT 3 /*!< \brief Disconnect complete */
51 #define HCI_LE_CONN_UPDATE_CMPL_CBACK_EVT 4 /*!< \brief LE connection update complete */
52 #define HCI_LE_CREATE_CONN_CANCEL_CMD_CMPL_CBACK_EVT 5 /*!< \brief LE create connection cancel command complete */
53 #define HCI_LE_ADV_REPORT_CBACK_EVT 6 /*!< \brief LE advertising report */
54 #define HCI_READ_RSSI_CMD_CMPL_CBACK_EVT 7 /*!< \brief Read RSSI command complete */
55 #define HCI_LE_READ_CHAN_MAP_CMD_CMPL_CBACK_EVT 8 /*!< \brief LE Read channel map command complete */
56 #define HCI_READ_TX_PWR_LVL_CMD_CMPL_CBACK_EVT 9 /*!< \brief Read transmit power level command complete */
57 #define HCI_READ_REMOTE_VER_INFO_CMPL_CBACK_EVT 10 /*!< \brief Read remote version information complete */
58 #define HCI_LE_READ_REMOTE_FEAT_CMPL_CBACK_EVT 11 /*!< \brief LE read remote features complete */
59 #define HCI_LE_LTK_REQ_REPL_CMD_CMPL_CBACK_EVT 12 /*!< \brief LE LTK request reply command complete */
60 #define HCI_LE_LTK_REQ_NEG_REPL_CMD_CMPL_CBACK_EVT 13 /*!< \brief LE LTK request negative reply command complete */
61 #define HCI_ENC_KEY_REFRESH_CMPL_CBACK_EVT 14 /*!< \brief Encryption key refresh complete */
62 #define HCI_ENC_CHANGE_CBACK_EVT 15 /*!< \brief Encryption change */
63 #define HCI_LE_LTK_REQ_CBACK_EVT 16 /*!< \brief LE LTK request */
64 #define HCI_VENDOR_SPEC_CMD_STATUS_CBACK_EVT 17 /*!< \brief Vendor specific command status */
65 #define HCI_VENDOR_SPEC_CMD_CMPL_CBACK_EVT 18 /*!< \brief Vendor specific command complete */
66 #define HCI_VENDOR_SPEC_CBACK_EVT 19 /*!< \brief Vendor specific */
67 #define HCI_HW_ERROR_CBACK_EVT 20 /*!< \brief Hardware error */
68 #define HCI_LE_ADD_DEV_TO_RES_LIST_CMD_CMPL_CBACK_EVT 21 /*!< \brief LE add device to resolving list command complete */
69 #define HCI_LE_REM_DEV_FROM_RES_LIST_CMD_CMPL_CBACK_EVT 22 /*!< \brief LE remove device from resolving command complete */
70 #define HCI_LE_CLEAR_RES_LIST_CMD_CMPL_CBACK_EVT 23 /*!< \brief LE clear resolving list command complete */
71 #define HCI_LE_READ_PEER_RES_ADDR_CMD_CMPL_CBACK_EVT 24 /*!< \brief LE read peer resolving address command complete */
72 #define HCI_LE_READ_LOCAL_RES_ADDR_CMD_CMPL_CBACK_EVT 25 /*!< \brief LE read local resolving address command complete */
73 #define HCI_LE_SET_ADDR_RES_ENABLE_CMD_CMPL_CBACK_EVT 26 /*!< \brief LE set address resolving enable command complete */
74 #define HCI_LE_ENCRYPT_CMD_CMPL_CBACK_EVT 27 /*!< \brief LE encrypt command complete */
75 #define HCI_LE_RAND_CMD_CMPL_CBACK_EVT 28 /*!< \brief LE rand command complete */
76 #define HCI_LE_REM_CONN_PARAM_REP_CMD_CMPL_CBACK_EVT 29 /*!< \brief LE remote connection parameter request reply complete */
77 #define HCI_LE_REM_CONN_PARAM_NEG_REP_CMD_CMPL_CBACK_EVT 30 /*!< \brief LE remote connection parameter request negative reply complete */
78 #define HCI_LE_READ_DEF_DATA_LEN_CMD_CMPL_CBACK_EVT 31 /*!< \brief LE read suggested default data length command complete */
79 #define HCI_LE_WRITE_DEF_DATA_LEN_CMD_CMPL_CBACK_EVT 32 /*!< \brief LE write suggested default data length command complete */
80 #define HCI_LE_SET_DATA_LEN_CMD_CMPL_CBACK_EVT 33 /*!< \brief LE set data length command complete */
81 #define HCI_LE_READ_MAX_DATA_LEN_CMD_CMPL_CBACK_EVT 34 /*!< \brief LE read maximum data length command complete */
82 #define HCI_LE_REM_CONN_PARAM_REQ_CBACK_EVT 35 /*!< \brief LE remote connection parameter request */
83 #define HCI_LE_DATA_LEN_CHANGE_CBACK_EVT 36 /*!< \brief LE data length change */
84 #define HCI_LE_READ_LOCAL_P256_PUB_KEY_CMPL_CBACK_EVT 37 /*!< \brief LE read local P-256 public key */
85 #define HCI_LE_GENERATE_DHKEY_CMPL_CBACK_EVT 38 /*!< \brief LE generate DHKey complete */
86 #define HCI_WRITE_AUTH_PAYLOAD_TO_CMD_CMPL_CBACK_EVT 39 /*!< \brief Write authenticated payload timeout command complete */
87 #define HCI_AUTH_PAYLOAD_TO_EXPIRED_CBACK_EVT 40 /*!< \brief Authenticated payload timeout expired event */
88 #define HCI_LE_READ_PHY_CMD_CMPL_CBACK_EVT 41 /*!< \brief LE read phy command complete */
89 #define HCI_LE_SET_DEF_PHY_CMD_CMPL_CBACK_EVT 42 /*!< \brief LE set default phy command complete */
90 #define HCI_LE_PHY_UPDATE_CMPL_CBACK_EVT 43 /*!< \brief LE phy update complete */
91 #define HCI_LE_EXT_ADV_REPORT_CBACK_EVT 44 /*!< \brief LE extended advertising report */
92 #define HCI_LE_SCAN_TIMEOUT_CBACK_EVT 45 /*!< \brief LE scan timeout event */
93 #define HCI_LE_ADV_SET_TERM_CBACK_EVT 46 /*!< \brief LE advertising set terminated event */
94 #define HCI_LE_SCAN_REQ_RCVD_CBACK_EVT 47 /*!< \brief LE scan request received event */
95 #define HCI_LE_PER_ADV_SYNC_EST_CBACK_EVT 48 /*!< \brief LE periodic advertising sync established event */
96 #define HCI_LE_PER_ADV_REPORT_CBACK_EVT 49 /*!< \brief LE periodic advertising report event */
97 #define HCI_LE_PER_ADV_SYNC_LOST_CBACK_EVT 50 /*!< \brief LE periodic advertising synch lost event */
98 #define HCI_LE_CH_SEL_ALGO_CBACK_EVT 51 /*!< \brief LE channel selection algorithm event */
99 #define HCI_LE_SCAN_ENABLE_CMD_CMPL_CBACK_EVT 52 /*!< \brief LE scan enable command complete */
100 #define HCI_LE_ADV_ENABLE_CMD_CMPL_CBACK_EVT 53 /*!< \brief LE advertise enable command complete */
101 #define HCI_LE_EXT_SCAN_ENABLE_CMD_CMPL_CBACK_EVT 54 /*!< \brief LE extended scan enable command complete */
102 #define HCI_LE_EXT_ADV_ENABLE_CMD_CMPL_CBACK_EVT 55 /*!< \brief LE extended advertise enable command complete */
103 #define HCI_LE_PER_ADV_ENABLE_CMD_CMPL_CBACK_EVT 56 /*!< \brief LE periodic advertise enable command complete */
104 #define HCI_LE_SET_RAND_ADDR_CMD_CMPL_CBACK_EVT 57 /*!< \brief LE set random address command complete */
105 #define HCI_LE_PER_SYNC_TRSF_RCVD_CBACK_EVT 58 /*!< \brief LE periodic advertising sync transfer received event */
106 #define HCI_LE_PER_ADV_SYNC_TRSF_CMD_CMPL_CBACK_EVT 59 /*!< \brief LE periodic advertising sync transfer command complete */
107 #define HCI_LE_PER_ADV_SET_INFO_TRSF_CMD_CMPL_CBACK_EVT 60 /*!< \brief LE set periodic advertising set info transfer command complete */
108 #define HCI_LE_CONN_IQ_REPORT_CBACK_EVT 61 /*!< \brief LE connection IQ report event */
109 #define HCI_LE_CTE_REQ_FAILED_CBACK_EVT 62 /*!< \brief LE CTE request failed event */
110 #define HCI_LE_SET_CONN_CTE_RX_PARAMS_CMD_CMPL_CBACK_EVT 63 /*!< \brief LE set connection CTE receive parameters command complete */
111 #define HCI_LE_SET_CONN_CTE_TX_PARAMS_CMD_CMPL_CBACK_EVT 64 /*!< \brief LE set connection CTE transmit parameters command complete */
112 #define HCI_LE_CONN_CTE_REQ_ENABLE_CMD_CMPL_CBACK_EVT 65 /*!< \brief LE connection CTE request enable command complete */
113 #define HCI_LE_CONN_CTE_RSP_ENABLE_CMD_CMPL_CBACK_EVT 66 /*!< \brief LE connection CTE response enable command complete */
114 #define HCI_LE_READ_ANTENNA_INFO_CMD_CMPL_CBACK_EVT 67 /*!< \brief LE read antenna information command complete */
115 #define HCI_LE_CIS_EST_CBACK_EVT 68 /*!< \brief LE CIS established event */
116 #define HCI_LE_CIS_REQ_CBACK_EVT 69 /*!< \brief LE CIS request event */
117 #define HCI_CIS_DISCONNECT_CMPL_CBACK_EVT 70 /*!< \brief CIS disconnect complete */
118 #define HCI_LE_REQ_PEER_SCA_CBACK_EVT 71 /*!< \brief LE Request peer SCA complete */
119 #define HCI_LE_SET_CIG_PARAMS_CMD_CMPL_CBACK_EVT 72 /*!< \brief LE set CIG parameters command complete */
120 #define HCI_LE_REMOVE_CIG_CMD_CMPL_CBACK_EVT 73 /*!< \brief LE remove CIG command complete */
121 #define HCI_LE_SETUP_ISO_DATA_PATH_CMD_CMPL_CBACK_EVT 74 /*!< \brief LE setup ISO data path command complete */
122 #define HCI_LE_REMOVE_ISO_DATA_PATH_CMD_CMPL_CBACK_EVT 75 /*!< \brief LE remove ISO data path command complete */
123 #define HCI_CONFIG_DATA_PATH_CMD_CMPL_CBACK_EVT 76 /*!< \brief Configure data path command complete */
124 #define HCI_READ_LOCAL_SUP_CODECS_CMD_CMPL_CBACK_EVT 77 /*!< \brief Read local supported codecs command complete */
125 #define HCI_READ_LOCAL_SUP_CODEC_CAP_CMD_CMPL_CBACK_EVT 78 /*!< \brief Read local supported codec capabilities command complete */
126 #define HCI_READ_LOCAL_SUP_CTR_DLY_CMD_CMPL_CBACK_EVT 79 /*!< \brief Read local supported controller delay command complete */
127 #define HCI_LE_CREATE_BIG_CMPL_CBACK_EVT 80 /*!< \brief LE create BIG complete */
128 #define HCI_LE_TERM_BIG_CMPL_CBACK_EVT 81 /*!< \brief LE terminate BIG complete */
129 #define HCI_LE_BIG_SYNC_EST_CBACK_EVT 82 /*!< \brief LE BIG sync established */
130 #define HCI_LE_BIG_SYNC_LOST_CBACK_EVT 83 /*!< \brief LE BIG sync lost */
131 #define HCI_LE_BIG_TERM_SYNC_CMPL_CBACK_EVT 84 /*!< \brief LE BIG terminate sync complete */
132 #define HCI_LE_BIG_INFO_ADV_REPORT_CBACK_EVT 85 /*!< \brief LE BIG Info advertising report */
133 #if MBED_CONF_CORDIO_ROUTE_UNHANDLED_COMMAND_COMPLETE_EVENTS
134 #define HCI_UNHANDLED_CMD_CMPL_CBACK_EVT 86 /*!< \brief Unhandled event */
135 #endif
136 /**@}*/
137 
138 /**************************************************************************************************
139  Data Types
140 **************************************************************************************************/
141 
142 /*! \brief LE connection complete event */
143 typedef struct
144 {
145  wsfMsgHdr_t hdr; /*!< \brief Event header */
146  uint8_t status; /*!< \brief Status. */
147  uint16_t handle; /*!< \brief Connection handle. */
148  uint8_t role; /*!< \brief Local connection role. */
149  uint8_t addrType; /*!< \brief Peer address type. */
150  bdAddr_t peerAddr; /*!< \brief Peer address. */
151  uint16_t connInterval; /*!< \brief Connection interval */
152  uint16_t connLatency; /*!< \brief Connection latency. */
153  uint16_t supTimeout; /*!< \brief Supervision timeout. */
154  uint8_t clockAccuracy; /*!< \brief Clock accuracy. */
155 
156  /* \brief enhanced fields */
157  bdAddr_t localRpa; /*!< \brief Local RPA. */
158  bdAddr_t peerRpa; /*!< \brief Peer RPA. */
160 
161 /*! \brief Disconnect complete event */
162 typedef struct
163 {
164  wsfMsgHdr_t hdr; /*!< \brief Event header. */
165  uint8_t status; /*!< \brief Disconnect complete status. */
166  uint16_t handle; /*!< \brief Connect handle. */
167  uint8_t reason; /*!< \brief Reason. */
169 
170 /*! \brief LE connection update complete event */
171 typedef struct
172 {
173  wsfMsgHdr_t hdr; /*!< \brief Event header. */
174  uint8_t status; /*!< \brief Status. */
175  uint16_t handle; /*!< \brief Connection handle. */
176  uint16_t connInterval; /*!< \brief Connection interval. */
177  uint16_t connLatency; /*!< \brief Connection latency. */
178  uint16_t supTimeout; /*!< \brief Supervision timeout. */
180 
181 /*! \brief LE create connection cancel command complete event */
182 typedef struct
183 {
184  wsfMsgHdr_t hdr; /*!< \brief Event header. */
185  uint8_t status; /*!< \brief Status. */
187 
188 /*! \brief LE advertising report event */
189 typedef struct
190 {
191  wsfMsgHdr_t hdr; /*!< \brief Event header. */
192  uint8_t *pData; /*!< \brief advertising or scan response data. */
193  uint8_t len; /*!< \brief length of advertising or scan response data. */
194  int8_t rssi; /*!< \brief RSSI. */
195  uint8_t eventType; /*!< \brief Advertising event type. */
196  uint8_t addrType; /*!< \brief Address type. */
197  bdAddr_t addr; /*!< \brief Device address. */
198 
199  /* \brief direct fields */
200  uint8_t directAddrType; /*!< \brief Direct advertising address type. */
201  bdAddr_t directAddr; /*!< \brief Direct advertising address. */
203 
204 /*! \brief LE extended advertising report */
205 typedef struct
206 {
207  wsfMsgHdr_t hdr; /*!< \brief Event header. */
208  uint16_t eventType; /*!< \brief Event type. */
209  uint8_t addrType; /*!< \brief Address type. */
210  bdAddr_t addr; /*!< \brief Address. */
211  uint8_t priPhy; /*!< \brief Primary PHY. */
212  uint8_t secPhy; /*!< \brief Secondary PHY. */
213  uint8_t advSid; /*!< \brief Advertising SID. */
214  int8_t txPower; /*!< \brief Tx Power. */
215  int8_t rssi; /*!< \brief RSSI. */
216  int16_t perAdvInter; /*!< \brief Periodic advertising interval. */
217  uint8_t directAddrType; /*!< \brief Directed address type. */
218  bdAddr_t directAddr; /*!< \brief Directed address. */
219  uint16_t len; /*!< \brief Data buffer length. */
220  uint8_t *pData; /*!< \brief Data buffer. */
222 
223 /*! \brief LE scan timeout */
224 typedef struct
225 {
226  wsfMsgHdr_t hdr; /*!< \brief Event header. */
228 
229 /*! \brief LE advertising set terminated */
230 typedef struct
231 {
232  wsfMsgHdr_t hdr; /*!< \brief Event header. */
233  uint8_t status; /*!< \brief Status. */
234  uint8_t advHandle; /*!< \brief Advertising handle. */
235  uint16_t handle; /*!< \brief Connection handle. */
236  uint8_t numComplEvts; /*!< \brief Number of completed extended advertising events. */
238 
239 /*! \brief LE scan request received */
240 typedef struct
241 {
242  wsfMsgHdr_t hdr; /*!< \brief Event header. */
243  uint8_t advHandle; /*!< \brief Advertising handle. */
244  uint8_t scanAddrType; /*!< \brief Scanner address type. */
245  bdAddr_t scanAddr; /*!< \brief Scanner address. */
247 
248 /*! \brief LE periodic advertising sync established */
249 typedef struct
250 {
251  wsfMsgHdr_t hdr; /*!< \brief Event header. */
252  uint8_t status; /*!< \brief Status. */
253  uint16_t syncHandle; /*!< \brief Sync handle. */
254  uint8_t advSid; /*!< \brief Advertising SID. */
255  uint8_t advAddrType; /*!< \brief Advertiser address type. */
256  bdAddr_t advAddr; /*!< \brief Advertiser address. */
257  uint8_t advPhy; /*!< \brief Advertiser PHY. */
258  uint16_t perAdvInterval; /*!< \brief Periodic advertising interval. */
259  uint8_t clockAccuracy; /*!< \brief Advertiser clock accuracy. */
261 
262 /*! \brief LE periodic advertising report */
263 typedef struct
264 {
265  wsfMsgHdr_t hdr; /*!< \brief Event header. */
266  uint16_t syncHandle; /*!< \brief Sync handle. */
267  uint8_t txPower; /*!< \brief Tx power. */
268  uint8_t rssi; /*!< \brief RSSI. */
269  uint8_t unused; /*!< \brief Intended to be used in a future feature. */
270  uint8_t status; /*!< \brief Data status. */
271  uint16_t len; /*!< \brief Data buffer length. */
272  uint8_t *pData; /*!< \brief Data buffer. */
274 
275 /*! \brief LE periodic advertising synch lost */
276 typedef struct
277 {
278  wsfMsgHdr_t hdr; /*!< \brief Event header. */
279  uint16_t syncHandle; /*!< \brief Sync handle. */
281 
282 /*! \brief LE periodic advertising sync transfer received */
283 typedef struct
284 {
285  wsfMsgHdr_t hdr; /*!< \brief Event header. */
286  uint8_t status; /*!< \brief Status. */
287  uint16_t connHandle; /*!< \brief Connection handle. */
288  uint16_t serviceData; /*!< \brief Service data. */
289  uint16_t syncHandle; /*!< \brief Sync handle. */
290  uint8_t advSid; /*!< \brief Advertising SID. */
291  uint8_t advAddrType; /*!< \brief Advertiser address type. */
292  bdAddr_t advAddr; /*!< \brief Advertiser address. */
293  uint8_t advPhy; /*!< \brief Advertiser PHY. */
294  uint16_t perAdvInterval; /*!< \brief Periodic advertising interval. */
295  uint8_t clockAccuracy; /*!< \brief Advertiser clock accuracy. */
297 
298 /*! \brief LE channel selection algorithm */
299 typedef struct
300 {
301  wsfMsgHdr_t hdr; /*!< \brief Event header. */
302  uint16_t handle; /*!< \brief Connection handle. */
303  uint8_t chSelAlgo; /*!< \brief Channel selection algorithm */
305 
306 /*! \brief Read RSSI command complete event */
307 typedef struct
308 {
309  wsfMsgHdr_t hdr; /*!< \brief Event header. */
310  uint8_t status; /*!< \brief Status. */
311  uint16_t handle; /*!< \brief Connection handle. */
312  int8_t rssi; /*!< \brief RSSI. */
314 
315 /*! \brief LE Read channel map command complete event */
316 typedef struct
317 {
318  wsfMsgHdr_t hdr; /*!< \brief Event header. */
319  uint8_t status; /*!< \brief Status. */
320  uint16_t handle; /*!< \brief Connection handle. */
321  uint8_t chanMap[HCI_CHAN_MAP_LEN]; /*!< \brief channel map. */
323 
324 /*! \brief Read transmit power level command complete event */
325 typedef struct
326 {
327  wsfMsgHdr_t hdr; /*!< \brief Event header. */
328  uint8_t status; /*!< \brief Status. */
329  uint8_t handle; /*!< \brief Connection handle. */
330  int8_t pwrLvl; /*!< \brief Tx power level. */
332 
333 /*! \brief Read remote version information complete event */
334 typedef struct
335 {
336  wsfMsgHdr_t hdr; /*!< \brief Event header. */
337  uint8_t status; /*!< \brief Status. */
338  uint16_t handle; /*!< \brief Connection handle. */
339  uint8_t version; /*!< \brief Version. */
340  uint16_t mfrName; /*!< \brief Manufacturer name. */
341  uint16_t subversion; /*!< \brief Sub-version. */
343 
344 /*! \brief LE read remote features complete event */
345 typedef struct
346 {
347  wsfMsgHdr_t hdr; /*!< \brief Event header. */
348  uint8_t status; /*!< \brief Status. */
349  uint16_t handle; /*!< \brief Connection handle. */
350  uint8_t features[HCI_FEAT_LEN]; /*!< \brief Remote features buffer. */
352 
353 /*! \brief LE LTK request reply command complete event */
354 typedef struct
355 {
356  wsfMsgHdr_t hdr; /*!< \brief Event header. */
357  uint8_t status; /*!< \brief Status. */
358  uint16_t handle; /*!< \brief Connection handle. */
360 
361 /*! \brief LE LTK request negative reply command complete event */
362 typedef struct
363 {
364  wsfMsgHdr_t hdr; /*!< \brief Event header. */
365  uint8_t status; /*!< \brief Status. */
366  uint16_t handle; /*!< \brief Connection handle. */
368 
369 /*! \brief Encryption key refresh complete event */
370 typedef struct
371 {
372  wsfMsgHdr_t hdr; /*!< \brief Event header. */
373  uint8_t status; /*!< \brief Status. */
374  uint16_t handle; /*!< \brief Connection handle. */
376 
377 /*! \brief Encryption change event */
378 typedef struct
379 {
380  wsfMsgHdr_t hdr; /*!< \brief Event header. */
381  uint8_t status; /*!< \brief Status. */
382  uint16_t handle; /*!< \brief Connection handle. */
383  uint8_t enabled; /*!< \brief Encryption enabled flag. */
385 
386 /*! \brief LE LTK request event */
387 typedef struct
388 {
389  wsfMsgHdr_t hdr; /*!< \brief Event header. */
390  uint16_t handle; /*!< \brief Connection handle. */
391  uint8_t randNum[HCI_RAND_LEN]; /*!< \brief LTK random number. */
392  uint16_t encDiversifier; /*!< \brief LTK encryption diversifier. */
394 
395 /*! \brief Vendor specific command status event */
396 typedef struct
397 {
398  wsfMsgHdr_t hdr; /*!< \brief Event header. */
399  uint16_t opcode; /*!< \brief Opcode. */
401 
402 /*! \brief Vendor specific command complete event */
403 typedef struct
404 {
405  wsfMsgHdr_t hdr; /*!< \brief Event header. */
406  uint16_t opcode; /*!< \brief Opcode. */
407  uint8_t param[1]; /*!< \brief Operation parameter. */
409 
410 /*! \brief Vendor specific event */
411 typedef struct
412 {
413  wsfMsgHdr_t hdr; /*!< \brief Event header. */
414  uint8_t param[1]; /*!< \brief Vendor specific event. */
416 
417 /*! \brief Hardware error event */
418 typedef struct
419 {
420  wsfMsgHdr_t hdr; /*!< \brief Event header. */
421  uint8_t code; /*!< \brief Error code. */
423 
424 /*! \brief LE encrypt command complete event */
425 typedef struct
426 {
427  wsfMsgHdr_t hdr; /*!< \brief Event header. */
428  uint8_t status; /*!< \brief Status. */
429  uint8_t data[HCI_ENCRYPT_DATA_LEN]; /*!< \brief Data. */
431 
432 /*! \brief LE rand command complete event */
433 typedef struct
434 {
435  wsfMsgHdr_t hdr; /*!< \brief Event header. */
436  uint8_t status; /*!< \brief Status. */
437  uint8_t randNum[HCI_RAND_LEN]; /*!< \brief Random number buffer. */
439 
440 /*! \brief LE remote connection parameter request reply command complete event */
441 typedef struct
442 {
443  wsfMsgHdr_t hdr; /*!< \brief Event header. */
444  uint8_t status; /*!< \brief Status. */
445  uint16_t handle; /*!< \brief Connection handle. */
447 
448 /*! \brief LE remote connection parameter request negative reply command complete event */
449 typedef struct
450 {
451  wsfMsgHdr_t hdr; /*!< \brief Event header. */
452  uint8_t status; /*!< \brief Status. */
453  uint16_t handle; /*!< \brief Connection handle. */
455 
456 /*! \brief LE read suggested default data len command complete event */
457 typedef struct
458 {
459  wsfMsgHdr_t hdr; /*!< \brief Event header. */
460  uint8_t status; /*!< \brief Status. */
461  uint16_t suggestedMaxTxOctets; /*!< \brief Suggested maximum Tx octets. */
462  uint16_t suggestedMaxTxTime; /*!< \brief Suggested maximum Tx time. */
464 
465 /*! \brief LE write suggested default data len command complete event */
466 typedef struct
467 {
468  wsfMsgHdr_t hdr; /*!< \brief Event header. */
469  uint8_t status; /*!< \brief Status. */
471 
472 /*! \brief LE set data len command complete event */
473 typedef struct
474 {
475  wsfMsgHdr_t hdr; /*!< \brief Event header. */
476  uint8_t status; /*!< \brief Status. */
477  uint16_t handle; /*!< \brief Connection handle. */
479 
480 /*! \brief LE read maximum data len command complete event */
481 typedef struct
482 {
483  wsfMsgHdr_t hdr; /*!< \brief Event header. */
484  uint8_t status; /*!< \brief Status. */
485  uint16_t supportedMaxTxOctets; /*!< \brief Supported maximum Tx octets. */
486  uint16_t supportedMaxTxTime; /*!< \brief Supported maximum Tx time. */
487  uint16_t supportedMaxRxOctets; /*!< \brief Supported maximum Rx octets. */
488  uint16_t supportedMaxRxTime; /*!< \brief Supported maximum Rx time. */
490 
491 /*! \brief LE remote connetion parameter request event */
492 typedef struct
493 {
494  wsfMsgHdr_t hdr; /*!< \brief Event header. */
495  uint16_t handle; /*!< \brief Connection handle. */
496  uint16_t intervalMin; /*!< \brief Interval minimum. */
497  uint16_t intervalMax; /*!< \brief Interval maximum. */
498  uint16_t latency; /*!< \brief Connection latency. */
499  uint16_t timeout; /*!< \brief Connection timeout. */
501 
502 /*! \brief LE data length change event */
503 typedef struct
504 {
505  wsfMsgHdr_t hdr; /*!< \brief Event header. */
506  uint16_t handle; /*!< \brief Connection handle. */
507  uint16_t maxTxOctets; /*!< \brief Maximum Tx octets. */
508  uint16_t maxTxTime; /*!< \brief Maximum Tx time. */
509  uint16_t maxRxOctets; /*!< \brief Maximum Rx octets. */
510  uint16_t maxRxTime; /*!< \brief Maximum Rx time. */
512 
513 /*! \brief LE local p256 ecc key command complete event */
514 typedef struct
515 {
516  wsfMsgHdr_t hdr; /*!< \brief Event header. */
517  uint8_t status; /*!< \brief Status. */
518  uint8_t key[HCI_P256_KEY_LEN]; /*!< \brief P-256 public keys. */
520 
521 /*! \brief LE generate DH key command complete event */
522 typedef struct
523 {
524  wsfMsgHdr_t hdr; /*!< \brief Event header. */
525  uint8_t status; /*!< \brief Status. */
526  uint8_t key[HCI_DH_KEY_LEN]; /*!< \brief Diffie-Hellman (Share Secret) key. */
528 
529 /*! \brief LE read peer resolving address command complete event */
530 typedef struct
531 {
532  wsfMsgHdr_t hdr; /*!< \brief Event header. */
533  uint8_t status; /*!< \brief Status. */
534  uint8_t peerRpa[BDA_ADDR_LEN]; /*!< \brief Peer RPA. */
536 
537 /*! \brief LE read local resolving address command complete event */
538 typedef struct
539 {
540  wsfMsgHdr_t hdr; /*!< \brief Event header. */
541  uint8_t status; /*!< \brief Status. */
542  uint8_t localRpa[BDA_ADDR_LEN]; /*!< \brief Local RPA. */
544 
545 /*! \brief LE set address resolving enable command complete event */
546 typedef struct
547 {
548  wsfMsgHdr_t hdr; /*!< \brief Event header. */
549  uint8_t status; /*!< \brief Status. */
551 
552 /*! \brief LE add device to resolving list command complete event */
553 typedef struct
554 {
555  wsfMsgHdr_t hdr; /*!< \brief Event header. */
556  uint8_t status; /*!< \brief Status. */
558 
559 /*! \brief LE remove device from resolving list command complete event */
560 typedef struct
561 {
562  wsfMsgHdr_t hdr; /*!< \brief Event header. */
563  uint8_t status; /*!< \brief Status. */
565 
566 /*! \brief LE clear resolving list command complete event */
567 typedef struct
568 {
569  wsfMsgHdr_t hdr; /*!< \brief Event header. */
570  uint8_t status; /*!< \brief Status. */
572 
573 /*! \brief Write authenticated payload to command complete event */
574 typedef struct
575 {
576  wsfMsgHdr_t hdr; /*!< \brief Event header. */
577  uint8_t status; /*!< \brief Status. */
578  uint16_t handle; /*!< \brief Connection handle. */
580 
581 /*! \brief Authenticated payload to expire event */
582 typedef struct
583 {
584  wsfMsgHdr_t hdr; /*!< \brief Event header. */
585  uint16_t handle; /*!< \brief Connection handle. */
587 
588 /*! \brief LE read PHY command complete event */
589  typedef struct
590 {
591  wsfMsgHdr_t hdr; /*!< \brief Event header. */
592  uint8_t status; /*!< \brief Status. */
593  uint16_t handle; /*!< \brief Connection handle. */
594  uint8_t txPhy; /*!< \brief Tx PHY. */
595  uint8_t rxPhy; /*!< \brief Rx PHY. */
597 
598 /*! \brief LE set default PHY command complete event */
599 typedef struct
600 {
601  wsfMsgHdr_t hdr; /*!< \brief Event header. */
602  uint8_t status; /*!< \brief Status. */
604 
605 /*! \brief LE PHY update complete event */
606 typedef struct
607 {
608  wsfMsgHdr_t hdr; /*!< \brief Event header. */
609  uint8_t status; /*!< \brief Status. */
610  uint16_t handle; /*!< \brief Handle. */
611  uint8_t txPhy; /*!< \brief Tx PHY. */
612  uint8_t rxPhy; /*!< \brief Rx PHY. */
614 
615 /*! \brief LE periodic advertising sync transfer command complete event */
616 typedef struct
617 {
618  wsfMsgHdr_t hdr; /*!< \brief Event header. */
619  uint8_t status; /*!< \brief Status. */
620  uint16_t handle; /*!< \brief Connection handle. */
622 
623 /*! \brief LE set periodic advertising set info transfer command complete event */
624 typedef struct
625 {
626  wsfMsgHdr_t hdr; /*!< \brief Event header. */
627  uint8_t status; /*!< \brief Status. */
628  uint16_t handle; /*!< \brief Connection handle. */
630 
631 /*! \brief LE connection IQ report */
632 typedef struct
633 {
634  wsfMsgHdr_t hdr; /*!< \brief Event header. */
635  uint16_t handle; /*!< \brief Connection handle. */
636  uint8_t rxPhy; /*!< \brief Rx Phy. */
637  uint8_t dataChIdx; /*!< \brief Data Channel Index. */
638  int16_t rssi; /*!< \brief RSSI. */
639  uint8_t rssiAntennaId; /*!< \brief RSSI Antenna ID. */
640  uint8_t cteType; /*!< \brief CTE Type. */
641  uint8_t slotDurations; /*!< \brief Slot Durations. */
642  uint8_t pktStatus; /*!< \brief Packet Status. */
643  uint16_t connEvtCnt; /*!< \brief Connection Event Counter. */
644  uint8_t sampleCnt; /*!< \brief Sample Count. */
645  int8_t *pISample; /*!< \brief List of I Samples. */
646  int8_t *pQSample; /*!< \brief List of Q Samples. */
648 
649 /*! \brief LE CTE request failed event */
650 typedef struct
651 {
652  wsfMsgHdr_t hdr; /*!< \brief Event header. */
653  uint8_t status; /*!< \brief Status. */
654  uint16_t handle; /*!< \brief Connection handle. */
656 
657 /*! \brief LE set connection CTE receive parameters command complete event */
658 typedef struct
659 {
660  wsfMsgHdr_t hdr; /*!< \brief Event header. */
661  uint8_t status; /*!< \brief Status. */
662  uint16_t handle; /*!< \brief Connection handle. */
664 
665 /*! \brief LE set connection CTE transmit parameters command complete event */
666 typedef struct
667 {
668  wsfMsgHdr_t hdr; /*!< \brief Event header. */
669  uint8_t status; /*!< \brief Status. */
670  uint16_t handle; /*!< \brief Connection handle. */
672 
673 /*! \brief LE connection CTE request enable command complete event */
674 typedef struct
675 {
676  wsfMsgHdr_t hdr; /*!< \brief Event header. */
677  uint8_t status; /*!< \brief Status. */
678  uint16_t handle; /*!< \brief Connection handle. */
680 
681 /*! \brief LE connection CTE response enable command complete event */
682 typedef struct
683 {
684  wsfMsgHdr_t hdr; /*!< \brief Event header. */
685  uint8_t status; /*!< \brief Status. */
686  uint16_t handle; /*!< \brief Connection handle. */
688 
689 /*! \brief LE read antenna information command complete event */
690 typedef struct
691 {
692  wsfMsgHdr_t hdr; /*!< \brief Event header. */
693  uint8_t status; /*!< \brief Status. */
694  uint8_t switchSampleRates; /*!< \brief Supported Switching Sampling Rates. */
695  uint8_t numAntennae; /*!< \brief Number of Antennae. */
696  uint8_t switchPatternMaxLen; /*!< \brief Max Length of Switching Pattern. */
697  uint8_t cteMaxLen; /*!< \brief Max CTE Length. */
699 
700 /*! \brief LE CIS established event */
701 typedef struct
702 {
703  wsfMsgHdr_t hdr; /*!< \brief Event header. */
704  uint8_t status; /*!< \brief Status. */
705  uint16_t cisHandle; /*!< \brief CIS connection handle. */
706  uint32_t cigSyncDelayUsec; /*!< \brief CIG synchronization delay in usec. */
707  uint32_t cisSyncDelayUsec; /*!< \brief CIS synchronization delay in usec. */
708  uint32_t transLatMToSUsec; /*!< \brief The maximum time, in msec, for transmission of SDUs of all CISes from mater to slave. */
709  uint32_t transLatSToMUsec; /*!< \brief The maximum time, in msec, for transmission of SDUs of all CISes from slave to master. */
710  uint8_t phyMToS; /*!< \brief Master to slave PHY. */
711  uint8_t phySToM; /*!< \brief Slave to master PHY. */
712  uint8_t nse; /*!< \brief Number of subevents. */
713  uint8_t bnMToS; /*!< \brief Burst number master to slave. */
714  uint8_t bnSToM; /*!< \brief Burst number slave to master. */
715  uint8_t ftMToS; /*!< \brief Flush timeout master to slave. */
716  uint8_t ftSToM; /*!< \brief Flush timeout slave to master. */
717  uint16_t maxPduMToS; /*!< \brief Maximum payload size from master to slave. */
718  uint16_t maxPduSToM; /*!< \brief Maximum payload size from slave to master. */
719  uint16_t isoInterval; /*!< \brief Time between two consecutive ISO anchor points. */
721 
722 /*! \brief LE CIS request event */
723 typedef struct
724 {
725  wsfMsgHdr_t hdr; /*!< \brief Event header. */
726  uint16_t aclHandle; /*!< \brief ACL connection handle. */
727  uint16_t cisHandle; /*!< \brief CIS connection handle. */
728  uint8_t cigId; /*!< \brief CIG identifier. */
729  uint8_t cisId; /*!< \brief CIS identifier. */
731 
732 /*! \brief LE request peer SCA complete */
733 typedef struct
734 {
735  wsfMsgHdr_t hdr; /*!< \brief Event header. */
736  uint8_t status; /*!< \brief Status. */
737  uint16_t handle; /*!< \brief ACL Connection handle. */
738  uint8_t peerSca; /*!< \brief Peer SCA. */
740 
741 /*! \brief LE set CIG parameters command complete event */
742 typedef struct
743 {
744  wsfMsgHdr_t hdr; /*!< \brief Event header. */
745  uint8_t status; /*!< \brief Status. */
746  uint8_t cigId; /*!< \brief CIG identifier. */
747  uint8_t numCis; /*!< \brief Total number of CISes added or modified. */
748  uint16_t cisHandle[HCI_MAX_CIS_COUNT]; /*!< \brief Connection handle of the CISes in the CIG. */
750 
751 /*! \brief LE remove CIG command complete event */
752 typedef struct
753 {
754  wsfMsgHdr_t hdr; /*!< \brief Event header. */
755  uint8_t status; /*!< \brief Status. */
756  uint8_t cigId; /*!< \brief CIG identifier. */
758 
759 /*! \brief LE Create BIG complete event */
760 typedef struct
761 {
762  wsfMsgHdr_t hdr; /*!< \brief Event header. */
763  uint8_t status; /*!< \brief Status. */
764  uint8_t bigHandle; /*!< \brief BIG handle. */
765  uint32_t syncDelayUsec; /*!< \brief Synchronization delay in microseconds. */
766  uint32_t transLatUsec; /*!< \brief Transport latency, in microseconds. */
767  uint8_t phy; /*!< \brief Transmit PHY. */
768  uint8_t nse; /*!< \brief Number of Sub-Events in each BIS event in the BIG. */
769  uint8_t bn; /*!< \brief Number of new payloads in each BIS event. */
770  uint8_t pto; /*!< \brief Offset used for pre-transmissions. */
771  uint8_t irc; /*!< \brief Number of times a payload is transmitted in a BIS event. */
772  uint16_t maxPdu; /*!< \brief Maximum size of the payload. */
773  uint16_t isoInterval; /*!< \brief Time between two consecutive ISO anchor points. */
774  uint8_t numBis; /*!< \brief Number of BIS. */
775  uint16_t bisHandle[HCI_MAX_BIS_COUNT]; /*!< \brief Connection handles of the BIS's. */
777 
778 /*! \brief LE Terminate BIG complete event */
779 typedef struct
780 {
781  wsfMsgHdr_t hdr; /*!< \brief Event header. */
782  uint8_t bigHandle; /*!< \brief BIG handle. */
783  uint8_t reason; /*!< \brief Terminate reason. */
785 
786 /*! \brief LE BIG Terminate Sync complete event */
787 typedef struct
788 {
789  wsfMsgHdr_t hdr; /*!< \brief Event header. */
790  uint8_t status; /*!< \brief Status. */
791  uint8_t bigHandle; /*!< \brief BIG handle. */
793 
794 /*! \brief LE BIG Sync Established event */
795 typedef struct
796 {
797  wsfMsgHdr_t hdr; /*!< \brief Event header. */
798  uint8_t status; /*!< \brief Status. */
799  uint8_t bigHandle; /*!< \brief BIG handle. */
800  uint32_t transLatUsec; /*!< \brief The maximum time, in microseconds, for transmission of SDUs of all BISes. */
801  uint8_t nse; /*!< \brief Number of Sub-Events in each BIS event in the BIG. */
802  uint8_t bn; /*!< \brief Number of new payloads in each BIS event. */
803  uint8_t pto; /*!< \brief Offset used for pre-transmissions. */
804  uint8_t irc; /*!< \brief Number of times a payload is transmitted in a BIS event. */
805  uint16_t maxPdu; /*!< \brief Maximum size of the payload. */
806  uint16_t isoInterval; /*!< \brief Time between two consecutive ISO anchor points. */
807  uint8_t numBis; /*!< \brief Number of BIS. */
808  uint16_t bisHandle[HCI_MAX_BIS_COUNT]; /*!< \brief Connection handles of the BIS's. */
810 
811 /*! \brief LE BIG sync lost event */
812 typedef struct
813 {
814  wsfMsgHdr_t hdr; /*!< \brief Event header. */
815  uint8_t bigHandle; /*!< \brief BIG handle. */
816  uint8_t reason; /*!< \brief Sync lost reason. */
818 
819 /*! \brief LE BIG Info Advertising Report event */
820 typedef struct
821 {
822  wsfMsgHdr_t hdr; /*!< Event header. */
823  uint16_t syncHandle; /*!< Sync handle identifying the periodic advertising train. */
824  uint8_t numBis; /*!< Number of BIS. */
825  uint8_t nse; /*!< Number of Sub-Events in each BIS event in the BIG. */
826  uint16_t isoInterv; /*!< ISO interval. */
827  uint8_t bn; /*!< Number of new payloads in each BIS event. */
828  uint8_t pto; /*!< Offset used for pre-transmissions. */
829  uint8_t irc; /*!< Number of times a payload is transmitted in a BIS event. */
830  uint16_t maxPdu; /*!< Maximum size of the PDU. */
831  uint32_t sduInterv; /*!< SDU interval. */
832  uint16_t maxSdu; /*!< Maximum size of the SDU. */
833  uint8_t phy; /*!< Transmit PHY. */
834  uint8_t framing; /*!< Framing mode. */
835  bool_t encrypt; /*!< Encryption enabled. */
837 
838 /*! \brief LE setup ISO data path command complete event */
839 typedef struct
840 {
841  wsfMsgHdr_t hdr; /*!< \brief Event header. */
842  uint8_t status; /*!< \brief Status. */
843  uint8_t handle; /*!< \brief Connection handle of the CIS or BIS. */
845 
846 /*! \brief LE remove ISO data path command complete event */
847 typedef struct
848 {
849  wsfMsgHdr_t hdr; /*!< \brief Event header. */
850  uint8_t status; /*!< \brief Status. */
851  uint8_t handle; /*!< \brief Connection handle of the CIS or BIS. */
853 
854 /*! \brief Config data path command complete event */
855 typedef struct
856 {
857  wsfMsgHdr_t hdr; /*!< \brief Event header. */
858  uint8_t status; /*!< \brief Status. */
860 
861 /*! \brief Standard codec info block */
862 typedef struct
863 {
864  uint8_t codecId; /*!< \brief Codec ID. */
866 
867 /*! \brief Vendor-specific codec info block */
868 typedef struct
869 {
870  uint16_t compId; /*!< \brief Company ID. */
871  uint16_t codecId; /*!< \brief Codec ID. */
873 
874 /*! \brief Read local supported codecs command complete event */
875 typedef struct
876 {
877  wsfMsgHdr_t hdr; /*!< \brief Event header. */
878  uint8_t status; /*!< \brief Status. */
879  uint8_t numStdCodecs; /*!< \brief Total number of standard codecs supported. */
880  HciStdCodecInfo_t stdCodecs[HCI_MAX_CODEC]; /*!< \brief Standard codecs. */
881  uint8_t stdCodecTrans[HCI_MAX_CODEC]; /*!< \brief Standard codec transport. */
882  uint8_t numVsCodecs; /*!< \brief Total number of vendor-specific codecs supported. */
883  HciVsCodecInfo_t vsCodecs[HCI_MAX_CODEC]; /*!< \brief Vendor-specfic codecs. */
884  uint8_t vsCodecTrans[HCI_MAX_CODEC]; /*!< \brief Vendor-specfic codec transport. */
886 
887 /*! \brief Codec capability block */
888 typedef struct
889 {
890  uint8_t len; /*!< \brief Length of codec capability. */
891  uint8_t data[HCI_CODEC_CAP_DATA_LEN]; /*!< \brief Codec-specific capability data. */
892 } HciCodecCap_t;
893 
894 /*! \brief Read local supported codec capabilities command complete event */
895 typedef struct
896 {
897  wsfMsgHdr_t hdr; /*!< \brief Event header. */
898  uint8_t status; /*!< \brief Status. */
899  uint8_t numCodecCaps; /*!< \bried Number of codec capabilities. */
900  HciCodecCap_t codecCap[HCI_MAX_CODEC]; /*!< \brief Codec capabilities. */
902 
903 typedef struct
904 {
905  wsfMsgHdr_t hdr; /*!< \brief Event header. */
906  uint8_t status; /*!< \brief Status. */
907  uint32_t minDly; /*!< \brief Minimum controller delay. */
908  uint32_t maxDly; /*!< \brief Maximum controller delay. */
910 
911 #if MBED_CONF_CORDIO_ROUTE_UNHANDLED_COMMAND_COMPLETE_EVENTS
912 /*! \brief LE read antenna information command complete event */
913 typedef struct
914 {
915  wsfMsgHdr_t hdr; /*!< \brief Event header containing the opcode in hdr.param. */
916  uint8_t param[1]; /*!< \brief Unhandled event payload. */
917 } hciUnhandledCmdCmplEvt_t;
918 #endif // MBED_CONF_CORDIO_ROUTE_UNHANDLED_COMMAND_COMPLETE_EVENTS
919 
920 /*! \brief Local version information */
921 typedef struct
922 {
923  uint8_t hciVersion; /*!< \brief HCI version. */
924  uint16_t hciRevision; /*!< \brief HCI revision. */
925  uint8_t lmpVersion; /*!< \brief LMP version. */
926  uint16_t manufacturerName; /*!< \brief Manufacturer name. */
927  uint16_t lmpSubversion; /*!< \brief LMP Sub-version. */
929 
930 /*! \brief Union of all event types */
931 typedef union
932 {
933  wsfMsgHdr_t hdr; /*!< \brief Event header. */
934  wsfMsgHdr_t resetSeqCmpl; /*!< \brief Reset sequence complete. */
935  hciLeConnCmplEvt_t leConnCmpl; /*!< \brief LE connection complete. */
936  hciDisconnectCmplEvt_t disconnectCmpl; /*!< \brief Disconnect complete. */
937  hciLeConnUpdateCmplEvt_t leConnUpdateCmpl; /*!< \brief LE connection update complete. */
938  hciLeCreateConnCancelCmdCmplEvt_t leCreateConnCancelCmdCmpl; /*!< \brief LE create connection cancel command complete. */
939  hciLeAdvReportEvt_t leAdvReport; /*!< \brief LE advertising report. */
940  hciReadRssiCmdCmplEvt_t readRssiCmdCmpl; /*!< \brief Read RSSI command complete. */
941  hciReadChanMapCmdCmplEvt_t readChanMapCmdCmpl; /*!< \brief Read channel map command complete. */
942  hciReadTxPwrLvlCmdCmplEvt_t readTxPwrLvlCmdCmpl; /*!< \brief Read Tx power level command complete. */
943  hciReadRemoteVerInfoCmplEvt_t readRemoteVerInfoCmpl; /*!< \brief Read remote version information complete. */
944  hciLeReadRemoteFeatCmplEvt_t leReadRemoteFeatCmpl; /*!< \brief LE read remote feature complete. */
945  hciLeLtkReqReplCmdCmplEvt_t leLtkReqReplCmdCmpl; /*!< \brief LE LTK request reply command complete. */
946  hciLeLtkReqNegReplCmdCmplEvt_t leLtkReqNegReplCmdCmpl; /*!< \brief LE LT request negative reply command complete. */
947  hciEncKeyRefreshCmpl_t encKeyRefreshCmpl; /*!< \brief Encryption key refresh complete. */
948  hciEncChangeEvt_t encChange; /*!< \brief Encryption change. */
949  hciLeLtkReqEvt_t leLtkReq; /*!< \brief LE LTK request. */
950  hciVendorSpecCmdStatusEvt_t vendorSpecCmdStatus; /*!< \brief Vendor specific command status. */
951  hciVendorSpecCmdCmplEvt_t vendorSpecCmdCmpl; /*!< \brief Vendor specific command complete. */
952  hciVendorSpecEvt_t vendorSpec; /*!< \brief Vendor specific. */
953  hciHwErrorEvt_t hwError; /*!< \brief Hardware error. */
954  hciLeEncryptCmdCmplEvt_t leEncryptCmdCmpl; /*!< \brief LE encrypt command complete. */
955  hciLeRandCmdCmplEvt_t leRandCmdCmpl; /*!< \brief LE random command complete. */
956  hciLeReadPeerResAddrCmdCmplEvt_t leReadPeerResAddrCmdCmpl; /*!< \brief LE read peer resolvable address command complete. */
957  hciLeReadLocalResAddrCmdCmplEvt_t leReadLocalResAddrCmdCmpl; /*!< \brief LE read local resolvable address command complete. */
958  hciLeSetAddrResEnableCmdCmplEvt_t leSetAddrResEnableCmdCmpl; /*!< \brief LE set address resolution enable command complete. */
959  hciLeAddDevToResListCmdCmplEvt_t leAddDevToResListCmdCmpl; /*!< \brief LE add device to resolving list command complete. */
960  hciLeRemDevFromResListCmdCmplEvt_t leRemDevFromResListCmdCmpl; /*!< \brief LE remove device from resolving list command complete. */
961  hciLeClearResListCmdCmplEvt_t leClearResListCmdCmpl; /*!< \brief LE clear resolving list command complete. */
962  hciLeRemConnParamRepEvt_t leRemConnParamRepCmdCmpl; /*!< \brief LE Remo Connection Parameter Reply Command Complete. */
963  hciLeRemConnParamNegRepEvt_t leRemConnParamNegRepCmdCmpl; /*!< \brief LE Remote Connection Parameter Negative Reply Command Complete. */
964  hciLeReadDefDataLenEvt_t leReadDefDataLenCmdCmpl; /*!< \brief LE read default data length command complete. */
965  hciLeWriteDefDataLenEvt_t leWriteDefDataLenCmdCmpl; /*!< \brief LE write default data length command complete. */
966  hciLeSetDataLenEvt_t leSetDataLenCmdCmpl; /*!< \brief LE set data length command complete. */
967  hciLeReadMaxDataLenEvt_t leReadMaxDataLenCmdCmpl; /*!< \brief LE read max data length command complete. */
968  hciLeRemConnParamReqEvt_t leRemConnParamReq; /*!< \brief LE remote connection parameter request. */
969  hciLeDataLenChangeEvt_t leDataLenChange; /*!< \brief LE data length change. */
970  hciLeP256CmplEvt_t leP256; /*!< \brief LE P-256 */
971  hciLeGenDhKeyEvt_t leGenDHKey; /*!< \brief LE generate Diffie-Hellman key. */
972  hciWriteAuthPayloadToCmdCmplEvt_t writeAuthPayloadToCmdCmpl; /*!< \brief Write authenticated payload to command complete. */
973  hciAuthPayloadToExpiredEvt_t authPayloadToExpired; /*!< \brief Authenticated payload to expired. */
974  hciLeReadPhyCmdCmplEvt_t leReadPhyCmdCmpl; /*!< \brief LE read PHY command complete. */
975  hciLeSetDefPhyCmdCmplEvt_t leSetDefPhyCmdCmpl; /*!< \brief LE set default PHY command complete. */
976  hciLePhyUpdateEvt_t lePhyUpdate; /*!< \brief LE PHY update. */
977  hciLeExtAdvReportEvt_t leExtAdvReport; /*!< \brief LE extended advertising report. */
978  hciLeScanTimeoutEvt_t leScanTimeout; /*!< \brief LE scan timeout. */
979  hciLeAdvSetTermEvt_t leAdvSetTerm; /*!< \brief LE advertising set terminated. */
980  hciLeScanReqRcvdEvt_t leScanReqRcvd; /*!< \brief LE scan request received. */
981  hciLePerAdvSyncEstEvt_t lePerAdvSyncEst; /*!< \brief LE periodic advertising synchronization established. */
982  hciLePerAdvReportEvt_t lePerAdvReport; /*!< \brief LE periodic advertising report. */
983  hciLePerAdvSyncLostEvt_t lePerAdvSyncLost; /*!< \brief LE periodic advertising synchronization lost. */
984  hciLeChSelAlgoEvt_t leChSelAlgo; /*!< \brief LE channel select algorithm. */
985  HciLePerAdvSyncTrsfRcvdEvt_t lePerAdvSyncTrsfRcvd; /*!< \brief LE periodic advertising sync transfer received. */
986  hciLePerAdvSyncTrsfCmdCmplEvt_t lePerAdvSyncTrsfCmdCmpl; /*!< \brief LE periodic advertising sync transfer command complete. */
987  hciLePerAdvSetInfoTrsfCmdCmplEvt_t lePerAdvSetInfoTrsfCmdCmpl; /*!< \brief LE set periodic advertising set info transfer command complete. */
988  hciLeConnIQReportEvt_t leConnIQReport; /*!< \brief LE connection IQ report. */
989  hciLeCteReqFailedEvt_t leCteReqFailed; /*!< \brief LE CTE request failed. */
990  hciLeSetConnCteRxParamsCmdCmplEvt_t leSetConnCteRxParamsCmdCmpl; /*!< \brief LE set connection CTE receive parameters command complete. */
991  hciLeSetConnCteTxParamsCmdCmplEvt_t leSetConnCteTxParamsCmdCmpl; /*!< \brief LE set connection CTE transmit parameters command complete. */
992  hciLeConnCteReqEnableCmdCmplEvt_t leConnCteReqEnableCmdCmpl; /*!< \brief LE connection CTE request enable command complete. */
993  hciLeConnCteRspEnableCmdCmplEvt_t leConnCteRspEnableCmdCmpl; /*!< \brief LE connection CTE response enable command complete. */
994  hciLeReadAntennaInfoCmdCmplEvt_t leReadAntennaInfoCmdCmpl; /*!< \brief LE read antenna information command complete. */
995  hciLeSetCigParamsCmdCmplEvt_t leSetCigParamsCmdCmpl; /*!< \brief LE set CIG parameters command complete. */
996  hciLeRemoveCigCmdCmplEvt_t leRemoveCigCmdCmpl; /*!< \brief LE remove CIG command complete. */
997  HciLeCisEstEvt_t leCisEst; /*!< \brief LE CIS established. */
998  HciLeCisReqEvt_t leCisReq; /*!< \brief LE CIS request. */
999  HciLeReqPeerScaCmplEvt_t_t leReqPeerSca; /*!< \brief LE request peer SCA complete. */
1000  hciLeSetupIsoDataPathCmdCmplEvt_t leSetupIsoDataPathCmdCmpl; /*!< \brief LE setup ISO data path command complete. */
1001  hciLeRemoveIsoDataPathCmdCmplEvt_t leRemoveIsoDataPathCmdCmpl; /*!< \brief LE remove ISO data path command complete. */
1002  hciConfigDataPathCmdCmplEvt_t configDataPathCmdCmpl; /*!< \brief Config data path command complete. */
1003  hciReadLocalSupCodecsCmdCmplEvt_t readLocalSupCodecsCmdCmpl; /*!< \brief Read local supported codecs command complete. */
1004  hciReadLocalSupCodecCapCmdCmplEvt_t readLocalSupCodecCapCmdCmpl; /*!< \brief Read local supported codec capablitlies command complete. */
1005  hciReadLocalSupCtrDlyCmdCmplEvt_t readLocalSupCtrDlyCmdCmpl; /*!< \brief Read local supported controller delay command complete. */
1006  HciLeCreateBigCmplEvt_t leCreateBigCmpl; /*!< \brief LE create BIG complete. */
1007  HciLeTerminateBigCmplEvt_t leTerminateBigCmpl; /*!< \brief LE terminate BIG complete. */
1008  HciLeBigSyncEstEvt_t leBigSyncEst; /*!< \brief LE BIG sync established. */
1009  HciLeBigSyncLostEvt_t leBigSyncLost; /*!< \brief LE BIG sync lost. */
1010  HciLeBigTermSyncCmplEvt_t leBigTermSyncCmpl; /*!< \brief LE BIG terminate sync complete. */
1011  HciLeBigInfoAdvRptEvt_t leBigInfoAdvRpt; /*!< \brief LE BIG info advertising report. */
1012 #if MBED_CONF_CORDIO_ROUTE_UNHANDLED_COMMAND_COMPLETE_EVENTS
1013  hciUnhandledCmdCmplEvt_t unhandledCmdCmpl; /*!< \brief Unhandled events. */
1014 #endif
1015 } hciEvt_t;
1016 
1017 /*! \} */ /* STACK_HCI_EVT_API */
1018 
1019 /*! \addtogroup STACK_HCI_CMD_API
1020  * \{ */
1021 
1022 /*! \brief Connection specification type */
1023 typedef struct
1024 {
1025  uint16_t connIntervalMin; /*!< \brief Minimum connection interval. */
1026  uint16_t connIntervalMax; /*!< \brief Maximum connection interval. */
1027  uint16_t connLatency; /*!< \brief Connection latency. */
1028  uint16_t supTimeout; /*!< \brief Supervision timeout. */
1029  uint16_t minCeLen; /*!< \brief Minimum CE length. */
1030  uint16_t maxCeLen; /*!< \brief Maximum CE length. */
1031 } hciConnSpec_t;
1032 
1033 /*! \brief Initiating parameters */
1034 typedef struct
1035 {
1036  uint8_t filterPolicy; /*!< \brief Scan filter policy. */
1037  uint8_t ownAddrType; /*!< \brief Address type used by this device. */
1038  uint8_t peerAddrType; /*!< \brief Address type used for peer device. */
1039  const uint8_t *pPeerAddr; /*!< \brief Address of peer device. */
1040  uint8_t initPhys; /*!< \brief Initiating PHYs. */
1042 
1043 /*! \brief Initiating scan parameters */
1044 typedef struct
1045 {
1046  uint16_t scanInterval; /*!< \brief Scan interval. */
1047  uint16_t scanWindow; /*!< \brief Scan window. */
1049 
1050 /*! \brief Extended advertising parameters */
1051 typedef struct
1052 {
1053  uint16_t advEventProp; /*!< \brief Advertising Event Properties. */
1054  uint32_t priAdvInterMin; /*!< \brief Primary Advertising Interval Minimum. */
1055  uint32_t priAdvInterMax; /*!< \brief Primary Advertising Interval Maximum. */
1056  uint8_t priAdvChanMap; /*!< \brief Primary Advertising Channel Map. */
1057  uint8_t ownAddrType; /*!< \brief Own Address Type. */
1058  uint8_t peerAddrType; /*!< \brief Peer Address Type. */
1059  uint8_t *pPeerAddr; /*!< \brief Peer Address. */
1060  uint8_t advFiltPolicy; /*!< \brief Advertising Filter Policy. */
1061  int8_t advTxPwr; /*!< \brief Advertising Tx Power. */
1062  uint8_t priAdvPhy; /*!< \brief Primary Advertising PHY. */
1063  uint8_t secAdvMaxSkip; /*!< \brief Secondary Advertising Maximum Skip. */
1064  uint8_t secAdvPhy; /*!< \brief Secondary Advertising PHY. */
1065  uint8_t advSID; /*!< \brief Advertising SID. */
1066  uint8_t scanReqNotifEna; /*!< \brief Scan Request Notification Enable. */
1068 
1069 /*! \brief Extended advertising enable parameters */
1070 typedef struct
1071 {
1072  uint8_t advHandle; /*!< \brief Advertising handle. */
1073  uint16_t duration; /*!< \brief Advertising duration in 10 ms units. */
1074  uint8_t maxEaEvents; /*!< \brief Maximum number of extended advertising events. */
1076 
1077 /*! \brief Extended scanning parameters */
1078 typedef struct
1079 {
1080  uint16_t scanInterval; /*!< \brief Scan interval. */
1081  uint16_t scanWindow; /*!< \brief Scan window. */
1082  uint8_t scanType; /*!< \brief Scan type. */
1084 
1085 /*! \brief CIS parameters */
1086 typedef struct
1087 {
1088  uint8_t cisId; /*!< \brief Used to identify a connected isochronous stream. */
1089  uint16_t sduSizeMToS; /*!< \brief Maximum size of a data SDU from the master to the slave. */
1090  uint16_t sduSizeSToM; /*!< \brief Maximum size of a data SDU from the slave to the master. */
1091  uint8_t phyMToS; /*!< \brief PHY to be used for transmission from master to slave. */
1092  uint8_t phySToM; /*!< \brief PHY to be used for transmission from master to slave. */
1093  uint8_t rteMToS; /*!< \brief Maximum number of times every PDU should be retransmitted from the master to slave. */
1094  uint8_t rteSToM; /*!< \brief Maximum number of times every PDU should be retransmitted from the slave to master. */
1096 
1097 /*! \brief CIG parameters */
1098 typedef struct
1099 {
1100  uint8_t cigId; /*!< \brief Used to identify the connected isochronous group. */
1101  uint32_t sduIntervalMToS; /*!< \brief The time interval between the start of consecutive SDUs from the master Host. */
1102  uint32_t sduIntervalSToM; /*!< \brief The time interval between the start of consecutive SDUs from the slave Host. */
1103  uint8_t sca; /*!< \brief Sleep clock accuracy. */
1104  uint8_t packing; /*!< \brief Packing scheme. */
1105  uint8_t framing; /*!< \brief Indicates the format of CIS Data PDUs. */
1106  uint16_t transLatMToS; /*!< \brief Maximum time, in milliseconds, for an SDU to be transported from the master Controller to slave Controller. */
1107  uint16_t transLatSToM; /*!< \brief Maximum time, in milliseconds, for an SDU to be transported from the slave Controller to master Controller. */
1108  uint8_t numCis; /*!< \brief Number of CIS to set. */
1109  HciCisCisParams_t *pCisParam; /*!< \brief CIS parameters. */
1111 
1112 /*! \brief CIS create CIS parameters */
1113 typedef struct
1114 {
1115  uint16_t *pCisHandle; /*!< \brief Pointer to the connected isochronous handle array. */
1116  uint16_t *pAclHandle; /*!< \brief Pointer to the asynchronous connection link handle array. */
1118 
1119 /*! \brief BIG Create BIG parameters */
1120 typedef struct
1121 {
1122  uint8_t bigHandle; /*!< \brief Used to identify the BIG. */
1123  uint8_t advHandle; /*!< \brief Used to identify the periodic advertising train. */
1124  uint8_t numBis; /*!< \brief Total number of BISes in the BIG. */
1125  uint32_t sduInterUsec; /*!< \brief Interval, in microseconds, of BIG SDUs. */
1126  uint16_t maxSdu; /*!< \brief Maximum size of an SDU. */
1127  uint16_t mtlMs; /*!< \brief Maximum time in milliseconds. */
1128  uint8_t rtn; /*!< \brief Retransmitted number. */
1129  uint8_t phys; /*!< \brief Transmitter PHYs of packets. */
1130  uint8_t packing; /*!< \brief Sequential or Interleaved packing. */
1131  uint8_t framing; /*!< \brief Unframed or Framed. */
1132  uint8_t encrypt; /*!< \brief Unencrypted or Encrypted. */
1133  uint8_t bcstCode[HCI_BC_LEN]; /*!< \brief Session key used to encrypt and decrypt BIS payloads. */
1134 } HciCreateBig_t;
1135 
1136 /*! \brief BIG Create Sync parameters */
1137 typedef struct
1138 {
1139  uint8_t bigHandle; /*!< \brief Used to identify the BIG. */
1140  uint16_t syncHandle; /*!< \brief Periodic advertising train handle. */
1141  uint8_t encrypt; /*!< \brief Unencrypted or Encrypted. */
1142  uint8_t bcstCode[HCI_BC_LEN]; /*!< \brief Session key code for encrypt and decrypt BIS payloads. */
1143  uint8_t mse; /*!< \brief Maximum number of subevents. */
1144  uint16_t bigSyncTimeout; /*!< \brief Synchronization timeout for the BIS, in the units of 10ms. */
1145  uint8_t numBis; /*!< \brief Total number of BISes in the BIG. */
1146  uint8_t bis[HCI_MAX_BIS_COUNT];/*!< \brief List of indices of BISes. */
1148 
1149 /*! \brief Setup ISO data path parameters */
1150 typedef struct
1151 {
1152  uint16_t handle; /*!< \brief Handle of CIS or BIS. */
1153  uint8_t dpDir; /*!< \brief Data path direction. */
1154  uint8_t dpId; /*!< \brief Data path ID. */
1155  uint8_t codingFmt; /*!< \brief Coding Format. */
1156  uint16_t compId; /*!< \brief Company ID (ignored if 'codingFmt' not 0xFF). */
1157  uint16_t vsCodecId; /*!< \brief Vendor-defined codec ID (ignored if 'codingFmt' not 0xFF). */
1158  uint32_t ctrDly; /*!< \brief Controller delay (in usec). */
1159  uint8_t codecConfigLen; /*!< \brief Codec configuration length. */
1160  uint8_t *pCodecConfig; /*!< \brief Codec configuration. */
1162 
1163 /*! \brief Configure data path parameters */
1164 typedef struct
1165 {
1166  uint8_t dpDir; /*!< \brief Data path direction. */
1167  uint8_t dpId; /*!< \brief Data path ID. */
1168  uint8_t configLen; /*!< \brief Length of vendor-specific configuration data. */
1169  uint8_t *pConfig; /*!< \brief Vendor-specific configuration data. */
1171 
1172 /*! \brief Read local supported codec capabilities parameters */
1173 typedef struct
1174 {
1175  uint8_t codingFmt; /*!< \brief Coding Format. */
1176  uint16_t compId; /*!< \brief Company ID (ignored if 'codingFmt' not 0xFF). */
1177  uint16_t vsCodecId; /*!< \brief Vendor-defined codec ID (ignored if 'codingFmt' not 0xFF). */
1178  uint8_t transType; /*!< \brief Logical transport type. */
1179  uint8_t direction; /*!< \brief Direction. */
1181 
1182 /*! \brief Read local supported controller delay parameters */
1183 typedef struct
1184 {
1185  uint8_t codingFmt; /*!< \brief Coding Format. */
1186  uint16_t compId; /*!< \brief Company ID (ignored if 'codingFmt' not 0xFF). */
1187  uint16_t vsCodecId; /*!< \brief Vendor-defined codec ID (ignored if 'codingFmt' not 0xFF). */
1188  uint8_t transType; /*!< \brief Logical transport type. */
1189  uint8_t direction; /*!< \brief Direction. */
1190  uint8_t codecConfigLen; /*!< \brief Length of codec configuration. */
1191  uint8_t *pCodecConfig; /*!< \brief Codec-specific configuration data. */
1193 
1194 /*! \} */ /* STACK_HCI_CMD_API */
1195 
1196 /**************************************************************************************************
1197  Callback Function Types
1198 **************************************************************************************************/
1199 
1200 /*! \addtogroup STACK_HCI_EVT_API
1201  * \{ */
1202 
1203 /*! \brief HCI event callback type.
1204  *
1205  * This callback function sends events from HCI to the stack.
1206  *
1207  * \param pEvent Pointer to HCI callback event structure.
1208  *
1209  * \return None.
1210  */
1211 typedef void (*hciEvtCback_t)(hciEvt_t *pEvent);
1212 
1213 /*! \brief HCI security callback type
1214  *
1215  * This callback function sends certain security events from HCI to the stack.
1216  * The security events passed in this callback are the LE Rand Command Complete event and the
1217  * LE Encrypt Command Complete event.
1218  *
1219  * \param pEvt Pointer to HCK callback event structure.
1220  *
1221  * \return None.
1222  */
1223 typedef void (*hciSecCback_t)(hciEvt_t *pEvent);
1224 
1225 /*! \} */ /* STACK_HCI_EVT_API */
1226 
1227 /*! \addtogroup STACK_HCI_ACL_API
1228  * \{ */
1229 
1230 /*! \brief HCI ACL callback type
1231  *
1232  * This callback function sends ACL data from HCI to the stack.
1233  *
1234  * \param pData WSF buffer containing an ACL packet.
1235  *
1236  * \return None.
1237  */
1238 typedef void (*hciAclCback_t)(uint8_t *pData);
1239 
1240 /*! \brief HCI ISO callback type
1241  *
1242  * This callback function sends ISO data from HCI to the stack.
1243  *
1244  * \param pData WSF buffer containing an ISO packet.
1245  *
1246  * \return None.
1247 */
1248 typedef void (*hciIsoCback_t)(uint8_t *pData);
1249 
1250 /*! \brief HCI flow control callback type
1251  *
1252  * This callback function manages flow control in the TX path betrween the stack and HCI.
1253  *
1254  * \param connId Connection handle.
1255  * \param flowDisabled TRUE if flow is disabled.
1256  *
1257  * \return None.
1258  */
1259 typedef void (*hciFlowCback_t)(uint16_t handle, bool_t flowDisabled);
1260 
1261 /*! \} */ /* STACK_HCI_ACL_API */
1262 
1263 /**************************************************************************************************
1264  Function Declarations
1265 **************************************************************************************************/
1266 
1267 /*! \addtogroup STACK_HCI_INIT_API
1268  * \{ */
1269 
1270 /** \name HCI Initialization, Registration, Reset
1271  *
1272  */
1273 /**@{*/
1274 /*************************************************************************************************/
1275 /*!
1276  * \brief Register a callback for HCI events.
1277  *
1278  * \param evtCback Callback function.
1279  *
1280  * \return None.
1281  */
1282 /*************************************************************************************************/
1283 void HciEvtRegister(hciEvtCback_t evtCback);
1284 
1285 /*************************************************************************************************/
1286 /*!
1287  * \brief Register a callback for certain HCI security events.
1288  *
1289  * \param secCback Callback function.
1290  *
1291  * \return None.
1292  */
1293 /*************************************************************************************************/
1294 void HciSecRegister(hciSecCback_t secCback);
1295 
1296 /*************************************************************************************************/
1297 /*!
1298  * \brief Register callbacks for the HCI data path.
1299  *
1300  * \param aclCback ACL data callback function.
1301  * \param flowCback Flow control callback function.
1302  *
1303  * \return None.
1304  */
1305 /*************************************************************************************************/
1306 void HciAclRegister(hciAclCback_t aclCback, hciFlowCback_t flowCback);
1307 
1308 /*************************************************************************************************/
1309 /*!
1310  * \brief Register callbacks for the HCI ISO data path.
1311  *
1312  * \param isoCback ISO data callback function.
1313  * \param flowCback Flow control callback function.
1314  *
1315  * \return None.
1316  */
1317 /*************************************************************************************************/
1318 void HciIsoRegister(hciAclCback_t isoCback, hciFlowCback_t flowCback);
1319 
1320 /*************************************************************************************************/
1321 /*!
1322  * \brief Initiate an HCI reset sequence.
1323  *
1324  * \return None.
1325  */
1326 /*************************************************************************************************/
1327 void HciResetSequence(void);
1328 
1329 /*************************************************************************************************/
1330 /*!
1331  * \brief Vendor-specific controller initialization function.
1332  *
1333  * \param param Vendor-specific parameter.
1334  *
1335  * \return None.
1336  */
1337 /*************************************************************************************************/
1338 void HciVsInit(uint8_t param);
1339 
1340 /*************************************************************************************************/
1341 /*!
1342  * \brief HCI core initialization.
1343  *
1344  * \return None.
1345  */
1346 /*************************************************************************************************/
1347 void HciCoreInit(void);
1348 
1349 /*************************************************************************************************/
1350 /*!
1351  * \brief WSF event handler for core HCI.
1352  *
1353  * \param event WSF event mask.
1354  * \param pMsg WSF message.
1355  *
1356  * \return None.
1357  */
1358 /*************************************************************************************************/
1359 void HciCoreHandler(wsfEventMask_t event, wsfMsgHdr_t *pMsg);
1360 
1361 /*************************************************************************************************/
1362 /*!
1363  * \brief Set the maximum reassembled RX ACL packet length. Minimum value is 27.
1364  *
1365  * \param len ACL packet length.
1366  *
1367  * \return None.
1368  */
1369 /*************************************************************************************************/
1370 void HciSetMaxRxAclLen(uint16_t len);
1371 
1372 /*************************************************************************************************/
1373 /*!
1374  * \brief Set TX ACL queue high and low watermarks.
1375  *
1376  * \param queueHi Disable flow on a connection when this many ACL buffers are queued.
1377  * \param queueLo Disable flow on a connection when this many ACL buffers are queued.
1378  *
1379  * \return None.
1380  */
1381 /*************************************************************************************************/
1382 void HciSetAclQueueWatermarks(uint8_t queueHi, uint8_t queueLo);
1383 
1384 /*************************************************************************************************/
1385 /*!
1386 * \brief Set LE supported features configuration mask.
1387 *
1388 * \param feat Feature bit to set or clear
1389 * \param flag TRUE to set feature bit and FALSE to clear it
1390 *
1391 * \return None.
1392 */
1393 /*************************************************************************************************/
1394 void HciSetLeSupFeat(uint64_t feat, bool_t flag);
1395 
1396 /*************************************************************************************************/
1397 /*!
1398  * \brief Set LE supported features configuration mask.
1399  *
1400  * \param feat Feature bit to set or clear
1401  * \param flag TRUE to set feature bit and FALSE to clear it
1402  *
1403  * \return None.
1404  */
1405 /*************************************************************************************************/
1406 void HciSetLeSupFeat32(uint32_t feat, bool_t flag);
1407 /**@}*/
1408 
1409 /*************************************************************************************************/
1410 /*!
1411  * \brief Vendor-specific controller AE initialization function.
1412  *
1413  * \param param Vendor-specific parameter.
1414  *
1415  * \return None.
1416  */
1417 /*************************************************************************************************/
1418 void HciVsAeInit(uint8_t param);
1419 
1420 /*! \} */ /* STACK_HCI_INIT_API */
1421 
1422 /*! \addtogroup STACK_HCI_OPT_API
1423  * \{ */
1424 
1425 /** \name HCI Optimization Interface Functions
1426  * This is an optimized interface for certain HCI commands that simply read a
1427  * value. The stack uses these functions rather than their corresponding
1428  * functions in the command interface.
1429  * These functions can only be called after the reset sequence has been completed.
1430  */
1431 /**@{*/
1432 /*************************************************************************************************/
1433 /*!
1434  * \brief Return a pointer to the BD address of this device.
1435  *
1436  * \return Pointer to the BD address.
1437  */
1438 /*************************************************************************************************/
1439 uint8_t *HciGetBdAddr(void);
1440 
1441 /*************************************************************************************************/
1442 /*!
1443  * \brief Return the white list size.
1444  *
1445  * \return White list size.
1446  */
1447 /*************************************************************************************************/
1448 uint8_t HciGetWhiteListSize(void);
1449 
1450 /*************************************************************************************************/
1451 /*!
1452  * \brief Return the advertising transmit power.
1453  *
1454  * \return Advertising transmit power.
1455  */
1456 /*************************************************************************************************/
1457 int8_t HciGetAdvTxPwr(void);
1458 
1459 /*************************************************************************************************/
1460 /*!
1461  * \brief Return the ACL buffer size supported by the controller.
1462  *
1463  * \return ACL buffer size.
1464  */
1465 /*************************************************************************************************/
1466 uint16_t HciGetBufSize(void);
1467 
1468 /*************************************************************************************************/
1469 /*!
1470  * \brief Return the number of ACL buffers supported by the controller.
1471  *
1472  * \return Number of ACL buffers.
1473  */
1474 /*************************************************************************************************/
1475 uint8_t HciGetNumBufs(void);
1476 
1477 /*************************************************************************************************/
1478 /*!
1479  * \brief Return the states supported by the controller.
1480  *
1481  * \return Pointer to the supported states array.
1482  */
1483 /*************************************************************************************************/
1484 uint8_t *HciGetSupStates(void);
1485 
1486 /*************************************************************************************************/
1487 /*!
1488  * \brief Return the LE supported features supported by the controller.
1489  *
1490  * \return Supported features.
1491  */
1492 /*************************************************************************************************/
1493 uint64_t HciGetLeSupFeat(void);
1494 
1495 /*************************************************************************************************/
1496 /*!
1497  * \brief Return the LE supported features supported by the controller.
1498  *
1499  * \return Supported features.
1500  */
1501 /*************************************************************************************************/
1502 uint32_t HciGetLeSupFeat32(void);
1503 
1504 /*************************************************************************************************/
1505 /*!
1506  * \brief Get the maximum reassembled RX ACL packet length.
1507  *
1508  * \return ACL packet length.
1509  */
1510 /*************************************************************************************************/
1511 uint16_t HciGetMaxRxAclLen(void);
1512 
1513 /*************************************************************************************************/
1514 /*!
1515  * \brief Return the resolving list size.
1516  *
1517  * \return resolving list size.
1518  */
1519 /*************************************************************************************************/
1520 uint8_t HciGetResolvingListSize(void);
1521 
1522 /*************************************************************************************************/
1523 /*!
1524 * \brief Whether LL Privacy is supported.
1525 *
1526 * \return TRUE if LL Privacy is supported. FALSE, otherwise.
1527 */
1528 /*************************************************************************************************/
1529 bool_t HciLlPrivacySupported(void);
1530 
1531 /*************************************************************************************************/
1532 /*!
1533 * \brief Get the maximum advertisement (or scan response) data length supported by the Controller.
1534 *
1535 * \return Maximum advertisement data length.
1536 */
1537 /*************************************************************************************************/
1538 uint16_t HciGetMaxAdvDataLen(void);
1539 
1540 /*************************************************************************************************/
1541 /*!
1542 * \brief Get the maximum number of advertising sets supported by the Controller.
1543 *
1544 * \return Maximum number of advertising sets.
1545 */
1546 /*************************************************************************************************/
1547 uint8_t HciGetNumSupAdvSets(void);
1548 
1549 /*************************************************************************************************/
1550 /*!
1551 * \brief Whether LE Advertising Extensions is supported.
1552 *
1553 * \return TRUE if LE Advertising Extensions is supported. FALSE, otherwise.
1554 */
1555 /*************************************************************************************************/
1556 bool_t HciLeAdvExtSupported(void);
1557 
1558 /*************************************************************************************************/
1559 /*!
1560  * \brief Return the periodic advertising list size.
1561  *
1562  * \return periodic advertising list size.
1563  */
1564 /*************************************************************************************************/
1565 uint8_t HciGetPerAdvListSize(void);
1566 
1567 /*************************************************************************************************/
1568 /*!
1569  * \brief Return a pointer to the local version information.
1570  *
1571  * \return Pointer to the local version information.
1572  */
1573 /*************************************************************************************************/
1575 /**@}*/
1576 
1577 /*! \} */ /* STACK_HCI_OPT_API */
1578 
1579 /*! \addtogroup STACK_HCI_ACL_API
1580  * \{ */
1581 
1582 /** \name HCI ACL Data Functions
1583  * HCI ACL data interface
1584  */
1585 /**@{*/
1586 
1587 /*************************************************************************************************/
1588 /*!
1589  * \brief Send ACL Data from the stack to HCI.
1590  *
1591  * \param pAclData WSF buffer containing an ACL packet.
1592  *
1593  * \return None.
1594  */
1595 /*************************************************************************************************/
1596 void HciSendAclData(uint8_t *pAclData);
1597 /**@}*/
1598 
1599 /*! \} */ /* STACK_HCI_ACL_API */
1600 
1601 /*! \addtogroup STACK_HCI_CMD_API
1602  * \{ */
1603 
1604 /** \name HCI Command Interface Functions
1605  * HCI commands
1606  */
1607 /**@{*/
1608 /*************************************************************************************************/
1609 /*!
1610  * \brief HCI disconnect command.
1611  *
1612  * \param handle Connection handle.
1613  * \param reason Reason for disconnect.
1614  *
1615  * \return None.
1616  */
1617 /*************************************************************************************************/
1618 void HciDisconnectCmd(uint16_t handle, uint8_t reason);
1619 
1620 /*************************************************************************************************/
1621 /*!
1622  * \brief HCI LE add device white list command.
1623  *
1624  * \param addrType Address type.
1625  * \param pAddr Peer address.
1626  *
1627  * \return None.
1628  */
1629 /*************************************************************************************************/
1630 void HciLeAddDevWhiteListCmd(uint8_t addrType, uint8_t *pAddr);
1631 
1632 /*************************************************************************************************/
1633 /*!
1634  * \brief HCI LE clear white list command.
1635  *
1636  * \return None.
1637  */
1638 /*************************************************************************************************/
1639 void HciLeClearWhiteListCmd(void);
1640 
1641 /*************************************************************************************************/
1642 /*!
1643  * \brief HCI connection update command.
1644  *
1645  * \param handle Connection handle.
1646  * \param pConnSpec Update connection parameters.
1647  *
1648  * \return None.
1649  */
1650 /*************************************************************************************************/
1651 void HciLeConnUpdateCmd(uint16_t handle, hciConnSpec_t *pConnSpec);
1652 
1653 /*************************************************************************************************/
1654 /*!
1655  * \brief HCI LE create connection command.
1656  *
1657  * \param scanInterval Scan interval.
1658  * \param scanWindow Scan window.
1659  * \param filterPolicy Filter policy.
1660  * \param peerAddrType Peer address type.
1661  * \param pPeerAddr Peer address.
1662  * \param ownAddrType Own address type.
1663  * \param pConnSpec Connecdtion parameters.
1664  *
1665  * \return None.
1666  */
1667 /*************************************************************************************************/
1668 void HciLeCreateConnCmd(uint16_t scanInterval, uint16_t scanWindow, uint8_t filterPolicy,
1669  uint8_t peerAddrType, uint8_t *pPeerAddr, uint8_t ownAddrType,
1670  hciConnSpec_t *pConnSpec);
1671 
1672 /*************************************************************************************************/
1673 /*!
1674  * \brief HCI LE create connection cancel command.
1675  *
1676  * \return None.
1677  */
1678 /*************************************************************************************************/
1679 void HciLeCreateConnCancelCmd(void);
1680 
1681 /*************************************************************************************************/
1682 /*!
1683  * \brief HCI LE encrypt command.
1684  *
1685  * \param pKey Encryption key.
1686  * \param pData Data to encrypt.
1687  *
1688  * \return None.
1689  */
1690 /*************************************************************************************************/
1691 void HciLeEncryptCmd(uint8_t *pKey, uint8_t *pData);
1692 
1693 /*************************************************************************************************/
1694 /*!
1695  * \brief HCI LE long term key request negative reply command.
1696  *
1697  * \param handle Connection handle.
1698  *
1699  * \return None.
1700  */
1701 /*************************************************************************************************/
1702 void HciLeLtkReqNegReplCmd(uint16_t handle);
1703 
1704 /*************************************************************************************************/
1705 /*!
1706  * \brief HCI LE long term key request reply command.
1707  *
1708  * \param handle Connection handle.
1709  * \param pKey LTK.
1710  *
1711  * \return None.
1712  */
1713 /*************************************************************************************************/
1714 void HciLeLtkReqReplCmd(uint16_t handle, uint8_t *pKey);
1715 
1716 /*************************************************************************************************/
1717 /*!
1718  * \brief HCI LE random command.
1719  *
1720  * \return None.
1721  */
1722 /*************************************************************************************************/
1723 void HciLeRandCmd(void);
1724 
1725 /*************************************************************************************************/
1726 /*!
1727  * \brief HCI LE read advertising TX power command.
1728  *
1729  * \return None.
1730  */
1731 /*************************************************************************************************/
1732 void HciLeReadAdvTXPowerCmd(void);
1733 
1734 /*************************************************************************************************/
1735 /*!
1736  * \brief HCI LE read buffer size command.
1737  *
1738  * \return None.
1739  */
1740 /*************************************************************************************************/
1741 void HciLeReadBufSizeCmd(void);
1742 
1743 /*************************************************************************************************/
1744 /*!
1745  * \brief HCI LE read buffer size version 2 command.
1746  *
1747  * \return None.
1748  */
1749 /*************************************************************************************************/
1750 void HciLeReadBufSizeCmdV2(void);
1751 
1752 /*************************************************************************************************/
1753 /*!
1754  * \brief HCI LE read channel map command.
1755  *
1756  * \param handle Connection handle.
1757  *
1758  * \return None.
1759  */
1760 /*************************************************************************************************/
1761 void HciLeReadChanMapCmd(uint16_t handle);
1762 
1763 /*************************************************************************************************/
1764 /*!
1765  * \brief HCI LE read local supported feautre command.
1766  *
1767  * \return None.
1768  */
1769 /*************************************************************************************************/
1770 void HciLeReadLocalSupFeatCmd(void);
1771 
1772 /*************************************************************************************************/
1773 /*!
1774  * \brief HCI LE read remote feature command.
1775  *
1776  * \param handle Connection handle.
1777  *
1778  * \return None.
1779  */
1780 /*************************************************************************************************/
1781 void HciLeReadRemoteFeatCmd(uint16_t handle);
1782 
1783 /*************************************************************************************************/
1784 /*!
1785  * \brief HCI LE read supported states command.
1786  *
1787  * \return None.
1788  */
1789 /*************************************************************************************************/
1790 void HciLeReadSupStatesCmd(void);
1791 
1792 /*************************************************************************************************/
1793 /*!
1794  * \brief HCI LE read white list size command.
1795  *
1796  * \return None.
1797  */
1798 /*************************************************************************************************/
1799 void HciLeReadWhiteListSizeCmd(void);
1800 
1801 /*************************************************************************************************/
1802 /*!
1803  * \brief HCI LE remove device white list command.
1804  *
1805  * \param addrType Address type.
1806  * \param pAddr Peer address.
1807  *
1808  * \return None.
1809  */
1810 /*************************************************************************************************/
1811 void HciLeRemoveDevWhiteListCmd(uint8_t addrType, uint8_t *pAddr);
1812 
1813 /*************************************************************************************************/
1814 /*!
1815  * \brief HCI LE set advanced enable command.
1816  *
1817  * \param enable Enable.
1818  *
1819  * \return None.
1820  */
1821 /*************************************************************************************************/
1822 void HciLeSetAdvEnableCmd(uint8_t enable);
1823 
1824 /*************************************************************************************************/
1825 /*!
1826  * \brief HCI LE set advertising data command.
1827  *
1828  * \param len Length of advertising data.
1829  * \param pData Advertising data.
1830  *
1831  * \return None.
1832  */
1833 /*************************************************************************************************/
1834 void HciLeSetAdvDataCmd(uint8_t len, uint8_t *pData);
1835 
1836 /*************************************************************************************************/
1837 /*!
1838  * \brief HCI LE set advertising parameters command.
1839  *
1840  * \param advIntervalMin Adveritsing minimum interval.
1841  * \param advIntervalMax Advertising maximum interval.
1842  * \param advType Advertising type.
1843  * \param ownAddrType Own address type.
1844  * \param peerAddrType Peer address type.
1845  * \param pPeerAddr Peer address.
1846  * \param advChanMap Advertising channel map.
1847  * \param advFiltPolicy Advertising filter policy.
1848  *
1849  * \return None.
1850  */
1851 /*************************************************************************************************/
1852 void HciLeSetAdvParamCmd(uint16_t advIntervalMin, uint16_t advIntervalMax, uint8_t advType,
1853  uint8_t ownAddrType, uint8_t peerAddrType, uint8_t *pPeerAddr,
1854  uint8_t advChanMap, uint8_t advFiltPolicy);
1855 
1856 /*************************************************************************************************/
1857 /*!
1858  * \brief HCI LE set event mask command.
1859  *
1860  * \param pLeEventMask LE Event mask.
1861  *
1862  * \return None.
1863  */
1864 /*************************************************************************************************/
1865 void HciLeSetEventMaskCmd(uint8_t *pLeEventMask);
1866 
1867 /*************************************************************************************************/
1868 /*!
1869  * \brief HCI set host channel class command.
1870  *
1871  * \param pChanMap Channel map.
1872  *
1873  * \return None.
1874  */
1875 /*************************************************************************************************/
1876 void HciLeSetHostChanClassCmd(uint8_t *pChanMap);
1877 
1878 /*************************************************************************************************/
1879 /*!
1880  * \brief HCI LE set random address command.
1881  *
1882  * \param pAddr Randon address.
1883  *
1884  * \return None.
1885  */
1886 /*************************************************************************************************/
1887 void HciLeSetRandAddrCmd(uint8_t *pAddr);
1888 
1889 /*************************************************************************************************/
1890 /*!
1891  * \brief HCI LE set scan enable command.
1892  *
1893  * \param enable Enable.
1894  * \param filterDup Filter duplicates.
1895  *
1896  * \return None.
1897  */
1898 /*************************************************************************************************/
1899 void HciLeSetScanEnableCmd(uint8_t enable, uint8_t filterDup);
1900 
1901 /*************************************************************************************************/
1902 /*!
1903  * \brief HCI set scan parameters command.
1904  *
1905  * \param scanType Scan type.
1906  * \param scanInterval Scan interval.
1907  * \param scanWindow Scan window.
1908  * \param ownAddrType Own address type.
1909  * \param scanFiltPolicy Scanning filter policy.
1910  *
1911  * \return None.
1912  */
1913 /*************************************************************************************************/
1914 void HciLeSetScanParamCmd(uint8_t scanType, uint16_t scanInterval, uint16_t scanWindow,
1915  uint8_t ownAddrType, uint8_t scanFiltPolicy);
1916 
1917 /*************************************************************************************************/
1918 /*!
1919  * \brief HCI LE set scan response data.
1920  *
1921  * \param len Scan response data length.
1922  * \param pData Scan response data.
1923  *
1924  * \return None.
1925  */
1926 /*************************************************************************************************/
1927 void HciLeSetScanRespDataCmd(uint8_t len, uint8_t *pData);
1928 
1929 /*************************************************************************************************/
1930 /*!
1931  * \brief HCI LE start encryption command.
1932  *
1933  * \param handle Connection handle.
1934  * \param pRand Random number.
1935  * \param diversifier Diversifier.
1936  * \param pKey Encryption key.
1937  *
1938  * \return None.
1939  */
1940 /*************************************************************************************************/
1941 void HciLeStartEncryptionCmd(uint16_t handle, uint8_t *pRand, uint16_t diversifier, uint8_t *pKey);
1942 
1943 /*************************************************************************************************/
1944 /*!
1945  * \brief HCI read BD address command.
1946  *
1947  * \return None.
1948  */
1949 /*************************************************************************************************/
1950 void HciReadBdAddrCmd(void);
1951 
1952 /*************************************************************************************************/
1953 /*!
1954  * \brief HCI read buffer size command.
1955  *
1956  * \return None.
1957  */
1958 /*************************************************************************************************/
1959 void HciReadBufSizeCmd(void);
1960 
1961 /*************************************************************************************************/
1962 /*!
1963  * \brief HCI read local supported feature command.
1964  *
1965  * \return None.
1966  */
1967 /*************************************************************************************************/
1968 void HciReadLocalSupFeatCmd(void);
1969 
1970 /*************************************************************************************************/
1971 /*!
1972  * \brief HCI read local version info command.
1973  *
1974  * \return None.
1975  */
1976 /*************************************************************************************************/
1977 void HciReadLocalVerInfoCmd(void);
1978 
1979 /*************************************************************************************************/
1980 /*!
1981  * \brief HCI read remote version info command.
1982  *
1983  * \param handle Connection handle.
1984  *
1985  * \return None.
1986  */
1987 /*************************************************************************************************/
1988 void HciReadRemoteVerInfoCmd(uint16_t handle);
1989 
1990 /*************************************************************************************************/
1991 /*!
1992  * \brief HCI read RSSI command.
1993  *
1994  * \param handle Connection handle.
1995  *
1996  * \return None.
1997  */
1998 /*************************************************************************************************/
1999 void HciReadRssiCmd(uint16_t handle);
2000 
2001 /*************************************************************************************************/
2002 /*!
2003  * \brief HCI read Tx power level command.
2004  *
2005  * \param handle Connection handle.
2006  * \param type Type.
2007  *
2008  * \return None.
2009  */
2010 /*************************************************************************************************/
2011 void HciReadTxPwrLvlCmd(uint16_t handle, uint8_t type);
2012 
2013 /*************************************************************************************************/
2014 /*!
2015  * \brief HCI reset command.
2016  *
2017  * \return None.
2018  */
2019 /*************************************************************************************************/
2020 void HciResetCmd(void);
2021 
2022 /*************************************************************************************************/
2023 /*!
2024  * \brief HCI set event mask command.
2025  *
2026  * \param pEventMask Page 1 of the event mask.
2027  *
2028  * \return None.
2029  */
2030 /*************************************************************************************************/
2031 void HciSetEventMaskCmd(uint8_t *pEventMask);
2032 
2033 /*************************************************************************************************/
2034 /*!
2035  * \brief HCI set event page 2 mask command.
2036  *
2037  * \param pEventMask Page 2 of the event mask.
2038  * \return None.
2039  */
2040 /*************************************************************************************************/
2041 void HciSetEventMaskPage2Cmd(uint8_t *pEventMask);
2042 
2043 /*************************************************************************************************/
2044 /*!
2045  * \brief HCI read authenticated payload timeout command.
2046  *
2047  * \param handle Connection handle.
2048  *
2049  * \return None.
2050  */
2051 /*************************************************************************************************/
2052 void HciReadAuthPayloadTimeout(uint16_t handle);
2053 
2054 /*************************************************************************************************/
2055 /*!
2056  * \brief HCI write authenticated payload timeout command.
2057  *
2058  * \param handle Connection handle.
2059  * \param timeout Timeout value.
2060  *
2061  * \return None.
2062  */
2063 /*************************************************************************************************/
2064 void HciWriteAuthPayloadTimeout(uint16_t handle, uint16_t timeout);
2065 
2066 /*************************************************************************************************/
2067 /*!
2068  * \brief HCI add device to resolving list command.
2069  *
2070  * \param peerAddrType Peer identity address type.
2071  * \param pPeerIdentityAddr Peer identity address.
2072  * \param pPeerIrk Peer IRK.
2073  * \param pLocalIrk Local IRK.
2074  *
2075  * \return None.
2076  */
2077 /*************************************************************************************************/
2078 void HciLeAddDeviceToResolvingListCmd(uint8_t peerAddrType, const uint8_t *pPeerIdentityAddr,
2079  const uint8_t *pPeerIrk, const uint8_t *pLocalIrk);
2080 
2081 /*************************************************************************************************/
2082 /*!
2083  * \brief HCI remove device from resolving list command.
2084  *
2085  * \param peerAddrType Peer identity address type.
2086  * \param pPeerIdentityAddr Peer identity address.
2087  *
2088  * \return None.
2089  */
2090 /*************************************************************************************************/
2091 void HciLeRemoveDeviceFromResolvingList(uint8_t peerAddrType, const uint8_t *pPeerIdentityAddr);
2092 
2093 /*************************************************************************************************/
2094 /*!
2095  * \brief HCI clear resolving list command.
2096  *
2097  * \return None.
2098  */
2099 /*************************************************************************************************/
2100 void HciLeClearResolvingList(void);
2101 
2102 /*************************************************************************************************/
2103 /*!
2104  * \brief HCI read resolving list command.
2105  *
2106  * \return None.
2107  */
2108 /*************************************************************************************************/
2109 void HciLeReadResolvingListSize(void);
2110 
2111 /*************************************************************************************************/
2112 /*!
2113  * \brief HCI read peer resolvable address command.
2114  *
2115  * \param addrType Peer identity address type.
2116  * \param pIdentityAddr Peer identity address.
2117  *
2118  * \return None.
2119  */
2120 /*************************************************************************************************/
2121 void HciLeReadPeerResolvableAddr(uint8_t addrType, const uint8_t *pIdentityAddr);
2122 
2123 /*************************************************************************************************/
2124 /*!
2125  * \brief HCI read local resolvable address command.
2126  *
2127  * \param addrType Peer identity address type.
2128  * \param pIdentityAddr Peer identity address.
2129  *
2130  * \return None.
2131  */
2132 /*************************************************************************************************/
2133 void HciLeReadLocalResolvableAddr(uint8_t addrType, const uint8_t *pIdentityAddr);
2134 
2135 /*************************************************************************************************/
2136 /*!
2137  * \brief HCI enable or disable address resolution command.
2138  *
2139  * \param enable Set to TRUE to enable address resolution or FALSE to disable address
2140  * resolution.
2141  *
2142  * \return None.
2143  */
2144 /*************************************************************************************************/
2145 void HciLeSetAddrResolutionEnable(uint8_t enable);
2146 
2147 /*************************************************************************************************/
2148 /*!
2149  * \brief HCI set resolvable private address timeout command.
2150  *
2151  * \param rpaTimeout Timeout measured in seconds.
2152  *
2153  * \return None.
2154  */
2155 /*************************************************************************************************/
2156 void HciLeSetResolvablePrivateAddrTimeout(uint16_t rpaTimeout);
2157 
2158 /*************************************************************************************************/
2159 /*!
2160  * \brief HCI LE set privacy mode command.
2161  *
2162  * \param addrType Peer identity address type.
2163  * \param pAddr Peer identity address.
2164  * \param mode Privacy mode.
2165  *
2166  * \return None.
2167  */
2168 /*************************************************************************************************/
2169 void HciLeSetPrivacyModeCmd(uint8_t addrType, uint8_t *pAddr, uint8_t mode);
2170 
2171 /*************************************************************************************************/
2172 /*!
2173 * \brief HCI read PHY command.
2174 *
2175 * \param handle Connection handle.
2176 *
2177 * \return None.
2178 */
2179 /*************************************************************************************************/
2180 void HciLeReadPhyCmd(uint16_t handle);
2181 
2182 /*************************************************************************************************/
2183 /*!
2184 * \brief HCI set default PHY command.
2185 *
2186 * \param allPhys All PHYs.
2187 * \param txPhys Tx PHYs.
2188 * \param rxPhys Rx PHYs.
2189 *
2190 * \return None.
2191 */
2192 /*************************************************************************************************/
2193 void HciLeSetDefaultPhyCmd(uint8_t allPhys, uint8_t txPhys, uint8_t rxPhys);
2194 
2195 /*************************************************************************************************/
2196 /*!
2197 * \brief HCI set PHY command.
2198 *
2199 * \param handle Connection handle.
2200 * \param allPhys All PHYs.
2201 * \param txPhys Tx PHYs.
2202 * \param rxPhys Rx PHYs.
2203 * \param phyOptions PHY options.
2204 *
2205 * \return None.
2206 */
2207 /*************************************************************************************************/
2208 void HciLeSetPhyCmd(uint16_t handle, uint8_t allPhys, uint8_t txPhys, uint8_t rxPhys, uint16_t phyOptions);
2209 
2210 /*************************************************************************************************/
2211 /*!
2212  * \brief HCI vencor specific command.
2213  *
2214  * \param opcode Opcode.
2215  * \param len Length of pData.
2216  * \param pData Command data.
2217  *
2218  * \return None.
2219  */
2220 /*************************************************************************************************/
2221 void HciVendorSpecificCmd(uint16_t opcode, uint8_t len, uint8_t *pData);
2222 
2223 /*************************************************************************************************/
2224 /*!
2225  * \brief HCI Remote Connection Parameter Request Reply.
2226  *
2227  * \param handle Connection handle.
2228  * \param intervalMin Interval minimum.
2229  * \param intervalMax Interval maximum.
2230  * \param latency Connection latency.
2231  * \param timeout Connection timeout.
2232  * \param minCeLen Minimum connection event length.
2233  * \param maxCeLen Maximum connection event length.
2234  *
2235  * \return None.
2236  */
2237 /*************************************************************************************************/
2238 void HciLeRemoteConnParamReqReply(uint16_t handle, uint16_t intervalMin, uint16_t intervalMax, uint16_t latency,
2239  uint16_t timeout, uint16_t minCeLen, uint16_t maxCeLen);
2240 
2241 /*************************************************************************************************/
2242 /*!
2243  * \brief HCI Remote Connection Parameter Request Negative Reply.
2244  *
2245  * \param handle Connection handle.
2246  * \param reason Negative reply reason.
2247  *
2248  * \return None.
2249  */
2250 /*************************************************************************************************/
2251 void HciLeRemoteConnParamReqNegReply(uint16_t handle, uint8_t reason);
2252 
2253 /*************************************************************************************************/
2254 /*!
2255  * \brief HCI LE Set Data Length.
2256  *
2257  * \param handle Connection handle.
2258  * \param txOctets Tx octets.
2259  * \param txTime Tx time.
2260  *
2261  * \return None.
2262  */
2263 /*************************************************************************************************/
2264 void HciLeSetDataLen(uint16_t handle, uint16_t txOctets, uint16_t txTime);
2265 
2266 /*************************************************************************************************/
2267 /*!
2268  * \brief HCI LE Read Default Data Length.
2269  *
2270  * \return None.
2271  */
2272 /*************************************************************************************************/
2273 void HciLeReadDefDataLen(void);
2274 
2275 /*************************************************************************************************/
2276 /*!
2277  * \brief HCI LE Write Default Data Length.
2278  *
2279  * \param suggestedMaxTxOctets Suggested maximum Tx octets.
2280  * \param suggestedMaxTxTime Suggested maximum Tx time.
2281  *
2282  *
2283  * \return None.
2284  */
2285 /*************************************************************************************************/
2286 void HciLeWriteDefDataLen(uint16_t suggestedMaxTxOctets, uint16_t suggestedMaxTxTime);
2287 
2288 /*************************************************************************************************/
2289 /*!
2290  * \brief HCI LE Read Local P-256 Public Key.
2291  *
2292  * \return None.
2293  */
2294 /*************************************************************************************************/
2295 void HciLeReadLocalP256PubKey(void);
2296 
2297 /*************************************************************************************************/
2298 /*!
2299  * \brief HCI LE Generate DH Key.
2300  *
2301  * \param pPubKeyX Public key X-coordinate.
2302  * \param pPubKeyY Public key Y-coordinate.
2303  *
2304  * \return None.
2305  */
2306 /*************************************************************************************************/
2307 void HciLeGenerateDHKey(uint8_t *pPubKeyX, uint8_t *pPubKeyY);
2308 
2309 /*************************************************************************************************/
2310 /*!
2311  * \brief HCI LE Generate DH Key Version 2.
2312  *
2313  * \param pPubKeyX Public key X-coordinate.
2314  * \param pPubKeyY Public key Y-coordinate.
2315  * \param keyType Key type.
2316  *
2317  * \return None.
2318  */
2319 /*************************************************************************************************/
2320 void HciLeGenerateDHKeyV2(uint8_t *pPubKeyX, uint8_t *pPubKeyY, uint8_t keyType);
2321 
2322 /*************************************************************************************************/
2323 /*!
2324  * \brief HCI LE Read Maximum Data Length.
2325  *
2326  * \return None.
2327  */
2328 /*************************************************************************************************/
2329 void HciLeReadMaxDataLen(void);
2330 
2331 /*************************************************************************************************/
2332 /*!
2333  * \brief HCI write authenticated payload timeout command.
2334  *
2335  * \param handle Connection handle.
2336  * \param timeout Timeout value.
2337  *
2338  * \return None.
2339  */
2340 /*************************************************************************************************/
2341 void HciWriteAuthPayloadTimeout(uint16_t handle, uint16_t timeout);
2342 
2343 /*************************************************************************************************/
2344 /*!
2345  * \brief HCI LE read transmit power command.
2346  *
2347  * \return None.
2348  */
2349 /*************************************************************************************************/
2350 void HciLeReadTxPower(void);
2351 
2352 /*************************************************************************************************/
2353 /*!
2354  * \brief HCI LE read RF path compensation command.
2355  *
2356  * \return None.
2357  */
2358 /*************************************************************************************************/
2359 void HciLeReadRfPathComp(void);
2360 
2361 /*************************************************************************************************/
2362 /*!
2363  * \brief HCI LE write RF path compensation command.
2364  *
2365  * \param txPathComp RF transmit path compensation value.
2366  * \param rxPathComp RF receive path compensation value.
2367  *
2368  * \return None.
2369  */
2370 /*************************************************************************************************/
2371 void HciLeWriteRfPathComp(int16_t txPathComp, int16_t rxPathComp);
2372 /**@}*/
2373 
2374 /** \name HCI AE Advertiser Interface
2375  * HCI Advertising Extension functions used by the Advertiser role.
2376  */
2377 /**@{*/
2378 /*************************************************************************************************/
2379 /*!
2380  * \brief HCI LE set advertising set random device address command.
2381  *
2382  * \param advHandle Advertising handle.
2383  * \param pAddr Random device address.
2384  *
2385  * \return None.
2386  */
2387 /*************************************************************************************************/
2388 void HciLeSetAdvSetRandAddrCmd(uint8_t advHandle, const uint8_t *pAddr);
2389 
2390 /*************************************************************************************************/
2391 /*!
2392  * \brief HCI LE set extended advertising parameters command.
2393  *
2394  * \param advHandle Advertising handle.
2395  * \param pExtAdvParam Extended advertising parameters.
2396  *
2397  * \return None.
2398  */
2399 /*************************************************************************************************/
2400 void HciLeSetExtAdvParamCmd(uint8_t advHandle, hciExtAdvParam_t *pExtAdvParam);
2401 
2402 /*************************************************************************************************/
2403 /*!
2404  * \brief HCI LE set extended advertising data command.
2405  *
2406  * \param advHandle Advertising handle.
2407  * \param op Operation.
2408  * \param fragPref Fragment preference.
2409  * \param len Data buffer length.
2410  * \param pData Advertising data buffer.
2411  *
2412  * \return None.
2413  */
2414 /*************************************************************************************************/
2415 void HciLeSetExtAdvDataCmd(uint8_t advHandle, uint8_t op, uint8_t fragPref, uint8_t len,
2416  const uint8_t *pData);
2417 
2418 /*************************************************************************************************/
2419 /*!
2420  * \brief HCI LE set extended scan response data command.
2421  *
2422  * \param advHandle Advertising handle.
2423  * \param op Operation.
2424  * \param fragPref Fragment preference.
2425  * \param len Data buffer length.
2426  * \param pData Scan response data buffer.
2427  *
2428  * \return None.
2429  */
2430 /*************************************************************************************************/
2431 void HciLeSetExtScanRespDataCmd(uint8_t advHandle, uint8_t op, uint8_t fragPref, uint8_t len,
2432  const uint8_t *pData);
2433 
2434 /*************************************************************************************************/
2435 /*!
2436  * \brief HCI LE set extended advertising enable command.
2437  *
2438  * \param enable Set to TRUE to enable advertising, FALSE to disable advertising.
2439  * \param numSets Number of advertising sets.
2440  * \param pEnableParam Advertising enable parameter array.
2441  *
2442  * \return None.
2443  */
2444 /*************************************************************************************************/
2445 void HciLeSetExtAdvEnableCmd(uint8_t enable, uint8_t numSets, hciExtAdvEnableParam_t *pEnableParam);
2446 
2447 /*************************************************************************************************/
2448 /*!
2449  * \brief HCI LE read maximum advertising data length command.
2450  *
2451  * \return None.
2452  */
2453 /*************************************************************************************************/
2454 void HciLeReadMaxAdvDataLen(void);
2455 
2456 /*************************************************************************************************/
2457 /*!
2458  * \brief HCI LE read number of supported advertising sets command.
2459  *
2460  * \return None.
2461  */
2462 /*************************************************************************************************/
2463 void HciLeReadNumSupAdvSets(void);
2464 
2465 /*************************************************************************************************/
2466 /*!
2467  * \brief HCI LE remove advertising set command.
2468  *
2469  * \param advHandle Advertising handle.
2470  *
2471  * \return Status error code.
2472  */
2473 /*************************************************************************************************/
2474 void HciLeRemoveAdvSet(uint8_t advHandle);
2475 
2476 /*************************************************************************************************/
2477 /*!
2478  * \brief HCI LE clear advertising sets command.
2479  *
2480  * \return None.
2481  */
2482 /*************************************************************************************************/
2483 void HciLeClearAdvSets(void);
2484 
2485 /*************************************************************************************************/
2486 /*!
2487  * \brief HCI LE set periodic advertising parameters command.
2488  *
2489  * \param advHandle Advertising handle.
2490  * \param advIntervalMin Periodic advertising interval minimum.
2491  * \param advIntervalMax Periodic advertising interval maximum.
2492  * \param advProps Periodic advertising properties.
2493  *
2494  * \return None.
2495  */
2496 /*************************************************************************************************/
2497 void HciLeSetPerAdvParamCmd(uint8_t advHandle, uint16_t advIntervalMin, uint16_t advIntervalMax,
2498  uint16_t advProps);
2499 
2500 /*************************************************************************************************/
2501 /*!
2502  * \brief HCI LE set periodic advertising data command.
2503  *
2504  * \param advHandle Advertising handle.
2505  * \param op Operation.
2506  * \param len Data buffer length.
2507  * \param pData Advertising data buffer.
2508  *
2509  * \return None.
2510  */
2511 /*************************************************************************************************/
2512 void HciLeSetPerAdvDataCmd(uint8_t advHandle, uint8_t op, uint8_t len, const uint8_t *pData);
2513 
2514 /*************************************************************************************************/
2515 /*!
2516  * \brief HCI LE set periodic advertising enable command.
2517  *
2518  * \param enable Set to TRUE to enable advertising, FALSE to disable advertising.
2519  * \param advHandle Advertising handle.
2520  *
2521  * \return None.
2522  */
2523 /*************************************************************************************************/
2524 void HciLeSetPerAdvEnableCmd(uint8_t enable, uint8_t advHandle);
2525 /**@}*/
2526 
2527 /** \name HCI AE Scanner Interface
2528  * HCI Advertising Extension functions used in the Scanner role.
2529  */
2530 /**@{*/
2531 /*************************************************************************************************/
2532 /*!
2533  * \brief HCI LE set extended scanning parameters command.
2534  *
2535  * \param ownAddrType Address type used by this device.
2536  * \param scanFiltPolicy Scan filter policy.
2537  * \param scanPhys Scanning PHYs.
2538  * \param pScanParam Scanning parameter array.
2539  *
2540  * \return None.
2541  */
2542 /*************************************************************************************************/
2543 void HciLeSetExtScanParamCmd(uint8_t ownAddrType, uint8_t scanFiltPolicy, uint8_t scanPhys,
2544  hciExtScanParam_t *pScanParam);
2545 
2546 /*************************************************************************************************/
2547 /*!
2548  * \brief HCI LE extended scan enable command.
2549  *
2550  * \param enable Set to TRUE to enable scanning, FALSE to disable scanning.
2551  * \param filterDup Set to TRUE to filter duplicates.
2552  * \param duration Duration.
2553  * \param period Period.
2554  *
2555  * \return None.
2556  */
2557 /*************************************************************************************************/
2558 void HciLeExtScanEnableCmd(uint8_t enable, uint8_t filterDup, uint16_t duration, uint16_t period);
2559 
2560 /*************************************************************************************************/
2561 /*!
2562  * \brief HCI LE extended create connection command.
2563  *
2564  * \param pInitParam Initiating parameters.
2565  * \param pScanParam Initiating scan parameters.
2566  * \param pConnSpec Connection specification.
2567  *
2568  * \return None.
2569  */
2570 /*************************************************************************************************/
2571 void HciLeExtCreateConnCmd(hciExtInitParam_t *pInitParam, hciExtInitScanParam_t *pScanParam,
2572  hciConnSpec_t *pConnSpec);
2573 
2574 /*************************************************************************************************/
2575 /*!
2576  * \brief HCI LE periodic advertising create sync command.
2577  *
2578  * \param options options.
2579  * \param advSid Advertising SID.
2580  * \param advAddrType Advertiser address type.
2581  * \param pAdvAddr Advertiser address.
2582  * \param skip Number of periodic advertising packets that can be skipped after
2583  * successful receive.
2584  * \param syncTimeout Synchronization timeout.
2585  * \param unused Reserved for future use (must be zero).
2586  *
2587  * \return None.
2588  */
2589 /*************************************************************************************************/
2590 void HciLePerAdvCreateSyncCmd(uint8_t options, uint8_t advSid, uint8_t advAddrType,
2591  uint8_t *pAdvAddr, uint16_t skip, uint16_t syncTimeout, uint8_t unused);
2592 
2593 /*************************************************************************************************/
2594 /*!
2595  * \brief HCI LE periodic advertising create sync cancel command.
2596  *
2597  * \return None.
2598  */
2599 /*************************************************************************************************/
2601 
2602 /*************************************************************************************************/
2603 /*!
2604  * \brief HCI LE periodic advertising terminate sync command.
2605  *
2606  * \param syncHandle Sync handle.
2607  *
2608  * \return None.
2609  */
2610 /*************************************************************************************************/
2611 void HciLePerAdvTerminateSyncCmd(uint16_t syncHandle);
2612 
2613 /*************************************************************************************************/
2614 /*!
2615  * \brief HCI LE add device to periodic advertiser list command.
2616  *
2617  * \param advAddrType Advertiser address type.
2618  * \param pAdvAddr Advertiser address.
2619  * \param advSid Advertising SID.
2620  *
2621  * \return None.
2622  */
2623 /*************************************************************************************************/
2624 void HciLeAddDeviceToPerAdvListCmd(uint8_t advAddrType, uint8_t *pAdvAddr, uint8_t advSid);
2625 
2626 /*************************************************************************************************/
2627 /*!
2628  * \brief HCI LE remove device from periodic advertiser list command.
2629  *
2630  * \param advAddrType Advertiser address type.
2631  * \param pAdvAddr Advertiser address.
2632  * \param advSid Advertising SID.
2633  *
2634  * \return None.
2635  */
2636 /*************************************************************************************************/
2637 void HciLeRemoveDeviceFromPerAdvListCmd(uint8_t advAddrType, uint8_t *pAdvAddr, uint8_t advSid);
2638 
2639 /*************************************************************************************************/
2640 /*!
2641  * \brief HCI LE clear periodic advertiser list command.
2642  *
2643  * \return None.
2644  */
2645 /*************************************************************************************************/
2646 void HciLeClearPerAdvListCmd(void);
2647 
2648 /*************************************************************************************************/
2649 /*!
2650  * \brief HCI LE read periodic advertiser size command.
2651  *
2652  * \return None.
2653  */
2654 /*************************************************************************************************/
2655 void HciLeReadPerAdvListSizeCmd(void);
2656 
2657 /*************************************************************************************************/
2658 /*!
2659  * \brief HCI LE set periodic advertising receive enable command.
2660  *
2661  * \param syncHandle Periodic sync handle.
2662  * \param enable TRUE to enable reports, FALSE to disable reports.
2663  *
2664  * \return None.
2665  */
2666 /*************************************************************************************************/
2667 void HciLeSetPerAdvRcvEnableCmd(uint16_t syncHandle, uint8_t enable);
2668 
2669 /*************************************************************************************************/
2670 /*!
2671  * \brief HCI LE periodic advertising sync transfer command.
2672  *
2673  * \param connHandle Connection handle.
2674  * \param serviceData Service data provided by the host.
2675  * \param syncHandle Periodic sync handle.
2676  *
2677  * \return None.
2678  */
2679 /*************************************************************************************************/
2680 void HciLePerAdvSyncTrsfCmd(uint16_t connHandle, uint16_t serviceData, uint16_t syncHandle);
2681 
2682 /*************************************************************************************************/
2683 /*!
2684  * \brief HCI LE set periodic advertising set info transfer command.
2685  *
2686  * \param connHandle Connection handle.
2687  * \param serviceData Service data provided by the host.
2688  * \param advHandle Handle to identify an advertising set.
2689  *
2690  * \return None.
2691  */
2692 /*************************************************************************************************/
2693 void HciLePerAdvSetInfoTrsfCmd(uint16_t connHandle, uint16_t serviceData, uint8_t advHandle);
2694 
2695 /*************************************************************************************************/
2696 /*!
2697  * \brief HCI LE set periodic advertising sync transfer parameters command.
2698  *
2699  * \param connHandle Connection handle.
2700  * \param mode Periodic sync advertising sync transfer mode.
2701  * \param skip The number of periodic advertising packets that can be skipped after
2702  * a successful receive.
2703  * \param syncTimeout Synchronization timeout for the periodic advertising.
2704  * \param cteType Constant tone extension type(Used in AoD/AoA).
2705  *
2706  * \return None.
2707  */
2708 /*************************************************************************************************/
2709 void HciLeSetPerAdvSyncTrsfParamsCmd(uint16_t connHandle, uint8_t mode, uint16_t skip,
2710  uint16_t syncTimeout, uint8_t cteType);
2711 
2712 /*************************************************************************************************/
2713 /*!
2714  * \brief HCI LE set default periodic advertising sync transfer parameters command.
2715  *
2716  * \param mode Periodic sync advertising sync transfer mode.
2717  * \param skip The number of periodic advertising packets that can be skipped after
2718  * a successful receive.
2719  * \param syncTimeout Synchronization timeout for the periodic advertising.
2720  * \param cteType Constant tone extension type(Used in AoD/AoA).
2721  *
2722  * \return None.
2723  */
2724 /*************************************************************************************************/
2725 void HciLeSetDefaultPerAdvSyncTrsfParamsCmd(uint8_t mode, uint16_t skip, uint16_t syncTimeout,
2726  uint8_t cteType);
2727 
2728 /*************************************************************************************************/
2729 /*!
2730  * \brief HCI LE set connection CTE receive parameters command.
2731  *
2732  * \param connHandle Connection handle.
2733  * \param samplingEnable TRUE to enable Connection IQ sampling, FALSE to disable it.
2734  * \param slotDurations Switching and sampling slot durations to be used while receiving CTE.
2735  * \param switchPatternLen Number of Antenna IDs in switching pattern.
2736  * \param pAntennaIDs List of Antenna IDs in switching pattern.
2737  *
2738  * \return None.
2739  */
2740 /*************************************************************************************************/
2741 void HciLeSetConnCteRxParamsCmd(uint16_t connHandle, uint8_t samplingEnable, uint8_t slotDurations,
2742  uint8_t switchPatternLen, uint8_t *pAntennaIDs);
2743 
2744 /*************************************************************************************************/
2745 /*!
2746  * \brief HCI LE set connection CTE transmit parameters command.
2747  *
2748  * \param connHandle Connection handle.
2749  * \param cteTypeBits Permitted CTE type bits used for transmitting CTEs requested by peer.
2750  * \param switchPatternLen Number of Antenna IDs in switching pattern.
2751  * \param pAntennaIDs List of Antenna IDs in switching pattern.
2752  *
2753  * \return None.
2754  */
2755 /*************************************************************************************************/
2756 void HciLeSetConnCteTxParamsCmd(uint16_t connHandle, uint8_t cteTypeBits, uint8_t switchPatternLen,
2757  uint8_t *pAntennaIDs);
2758 
2759 /*************************************************************************************************/
2760 /*!
2761  * \brief HCI LE connection CTE request enable command.
2762  *
2763  * \param connHandle Connection handle.
2764  * \param enable TRUE to enable CTE request for connection, FALSE to disable it.
2765  * \param cteReqInt CTE request interval.
2766  * \param reqCteLen Minimum length of CTE being requested in 8 us units.
2767  * \param reqCteType Requested CTE type.
2768  *
2769  * \return None.
2770  */
2771 /*************************************************************************************************/
2772 void HciLeConnCteReqEnableCmd(uint16_t connHandle, uint8_t enable, uint16_t cteReqInt,
2773  uint8_t reqCteLen, uint8_t reqCteType);
2774 
2775 /*************************************************************************************************/
2776 /*!
2777  * \brief HCI LE connection CTE response enable command.
2778  *
2779  * \param connHandle Connection handle.
2780  * \param enable TRUE to enable CTE response for connection, FALSE to disable it.
2781  *
2782  * \return None.
2783  */
2784 /*************************************************************************************************/
2785 void HciLeConnCteRspEnableCmd(uint16_t connHandle, uint8_t enable);
2786 
2787 /*************************************************************************************************/
2788 /*!
2789  * \brief HCI LE read antenna information command.
2790  *
2791  * \return None.
2792  */
2793 /*************************************************************************************************/
2794 void HciLeReadAntennaInfoCmd(void);
2795 
2796 /*************************************************************************************************/
2797 /*!
2798  * \brief HCI LE set CIG parameters command.
2799  *
2800  * \param pCigParam CIG parameters.
2801  *
2802  * \return None.
2803  */
2804 /*************************************************************************************************/
2805 void HciLeSetCigParamsCmd(HciCisCigParams_t *pCigParam);
2806 
2807 /*************************************************************************************************/
2808 /*!
2809  * \brief HCI LE create CIS command.
2810  *
2811  * \param numCis Nunber of CISes.
2812  * \param pCreateCisParam Parameters for creating connected isochronous stream.
2813  *
2814  * \return None.
2815  */
2816 /*************************************************************************************************/
2817 void HciLeCreateCisCmd(uint8_t numCis, HciCisCreateCisParams_t *pCreateCisParam);
2818 
2819 /*************************************************************************************************/
2820 /*!
2821  * \brief HCI LE accept CIS request command.
2822  *
2823  * \param connHandle Connection handle of the CIS to be accepted.
2824  *
2825  * \return None.
2826  */
2827 /*************************************************************************************************/
2828 void HciLeAcceptCisReqCmd(uint16_t connHandle);
2829 
2830 /*************************************************************************************************/
2831 /*!
2832  * \brief HCI LE reject CIS request command.
2833  *
2834  * \param connHandle Connection handle of the CIS to be rejected.
2835  * \param reason Reason the CIS request was rejected.
2836  *
2837  * \return None.
2838  */
2839 /*************************************************************************************************/
2840 void HciLeRejectCisReqCmd(uint16_t connHandle, uint8_t reason);
2841 
2842 /*************************************************************************************************/
2843 /*!
2844  * \brief HCI LE remove CIG command.
2845  *
2846  * \param cigId Identifer of a CIG.
2847  *
2848  * \return None.
2849  */
2850 /*************************************************************************************************/
2851 void HciLeRemoveCigCmd(uint8_t cigId);
2852 
2853 /*************************************************************************************************/
2854 /*!
2855  * \brief HCI LE request peer SCA command.
2856  *
2857  * \param handle Connection handle.
2858  *
2859  * \return None.
2860  */
2861 /*************************************************************************************************/
2862 void HciLeRequestPeerScaCmd(uint16_t handle);
2863 
2864 /*************************************************************************************************/
2865 /*!
2866  * \brief HCI LE create BIG command.
2867  *
2868  * \param pCreateBis Create BIG parameters.
2869  *
2870  * \return None.
2871  */
2872 /*************************************************************************************************/
2873 void HciLeCreateBigCmd(HciCreateBig_t *pCreateBig);
2874 
2875 /*************************************************************************************************/
2876 /*!
2877  * \brief HCI LE terminate BIG command.
2878  *
2879  * \param bigHandle Used to identify the BIG.
2880  * \param reason Termination reason.
2881  *
2882  * \return None.
2883  */
2884 /*************************************************************************************************/
2885 void HciTerminateBigCmd(uint8_t bigHandle, uint8_t reason);
2886 
2887 /*************************************************************************************************/
2888 /*!
2889  * \brief HCI LE BIG create sync command.
2890  *
2891  * \param pCreateSync BIG Create Sync parameters.
2892  *
2893  * \return None.
2894  */
2895 /*************************************************************************************************/
2896 void HciLeBigCreateSyncCmd(HciBigCreateSync_t *pCreateSync);
2897 
2898 /*************************************************************************************************/
2899 /*!
2900  * \brief HCI LE BIG terminate sync command.
2901  *
2902  * \param bigHandle Used to identify the BIG.
2903  *
2904  * \return None.
2905  */
2906 /*************************************************************************************************/
2907 void HciLeBigTerminateSync(uint8_t bigHandle);
2908 
2909 /*************************************************************************************************/
2910 /*!
2911  * \brief HCI LE enable ISO Tx test.
2912  *
2913  * \param handle CIS or BIS handle.
2914  * \param pldType Payload type.
2915  *
2916  * \return None.
2917  */
2918 /*************************************************************************************************/
2919 void HciLeIsoTxTest(uint16_t handle, uint8_t pldType);
2920 
2921 /*************************************************************************************************/
2922 /*!
2923  * \brief HCI LE enable ISO Rx test.
2924  *
2925  * \param handle CIS or BIS handle.
2926  * \param pldType Payload type.
2927  *
2928  * \return None.
2929  */
2930 /*************************************************************************************************/
2931 void HciLeIsoRxTest(uint16_t handle, uint8_t pldType);
2932 
2933 /*************************************************************************************************/
2934 /*!
2935  * \brief HCI LE read ISO test counter.
2936  *
2937  * \param handle CIS or BIS handle.
2938  *
2939  * \return None.
2940  */
2941 /*************************************************************************************************/
2942 void HciLeIsoReadTestCounters(uint16_t handle);
2943 
2944 /*************************************************************************************************/
2945 /*!
2946  * \brief HCI LE ISO test end.
2947  *
2948  * \param handle CIS or BIS handle.
2949  *
2950  * \return None.
2951  */
2952 /*************************************************************************************************/
2953 void HciLeIsoTestEnd(uint16_t handle);
2954 
2955 /*************************************************************************************************/
2956 /*!
2957  * \brief HCI LE setup ISO data path command.
2958  *
2959  * \param pDataPathParam Parameters for setup ISO data path.
2960  *
2961  * \return None.
2962  */
2963 /*************************************************************************************************/
2964 void HciLeSetupIsoDataPathCmd(HciIsoSetupDataPath_t *pDataPathParam);
2965 
2966 /*************************************************************************************************/
2967 /*!
2968  * \brief HCI LE remove ISO data path command.
2969  *
2970  * \param handle Connection handle of the CIS or BIS.
2971  * \param directionBits Data path direction bits.
2972  *
2973  * \return None.
2974  */
2975 /*************************************************************************************************/
2976 void HciLeRemoveIsoDataPathCmd(uint16_t handle, uint8_t directionBits);
2977 
2978 /*************************************************************************************************/
2979 /*!
2980  * \brief HCI configure data path command.
2981  *
2982  * \param pDataPathParam Parameters for configuring data path.
2983  *
2984  * \return None.
2985  */
2986 /*************************************************************************************************/
2987 void HciConfigDataPathCmd(HciConfigDataPath_t *pDataPathParam);
2988 
2989 /*************************************************************************************************/
2990 /*!
2991  * \brief HCI read local supported codecs command.
2992  *
2993  * \return None.
2994  */
2995 /*************************************************************************************************/
2996 void HciReadLocalSupCodecsCmd(void);
2997 
2998 /*************************************************************************************************/
2999 /*!
3000  * \brief HCI read local supported codec capabilities command.
3001  *
3002  * \param pCodecParam Parameters to read codec capablilties.
3003  *
3004  * \return None.
3005  */
3006 /*************************************************************************************************/
3008 
3009 /*************************************************************************************************/
3010 /*!
3011  * \brief HCI read local supported controller delay command.
3012  *
3013  * \param pDelayParam Parameters to read controller delay.
3014  *
3015  * \return None.
3016  */
3017 /*************************************************************************************************/
3019 
3020 /*************************************************************************************************/
3021 /*!
3022  * \brief HCI LE set host feature command.
3023  *
3024  * \param bitNum Bit position in the FeatureSet.
3025  * \param bitVal Enable or disable feature.
3026  *
3027  * \return None.
3028  *
3029  * \note Set or clear a bit in the feature controlled by the Host in the Link Layer FeatureSet
3030  * stored in the Controller.
3031  */
3032 /*************************************************************************************************/
3033 void HciLeSetHostFeatureCmd(uint8_t bitNum, bool_t bitVal);
3034 
3035 /**@}*/
3036 
3037 /*! \} */ /* STACK_HCI_CMD_API */
3038 
3039 #ifdef __cplusplus
3040 };
3041 #endif
3042 
3043 #endif /* HCI_API_H */
void HciLePerAdvSyncTrsfCmd(uint16_t connHandle, uint16_t serviceData, uint16_t syncHandle)
HCI LE periodic advertising sync transfer command.
void HciLeReadSupStatesCmd(void)
HCI LE read supported states command.
LE CIS established event.
Definition: hci_api.h:701
void HciSetAclQueueWatermarks(uint8_t queueHi, uint8_t queueLo)
Set TX ACL queue high and low watermarks.
hciLeDataLenChangeEvt_t leDataLenChange
LE data length change.
Definition: hci_api.h:969
#define HCI_ENCRYPT_DATA_LEN
Definition: hci_defs.h:1446
uint16_t maxPdu
Maximum size of the payload.
Definition: hci_api.h:772
uint16_t handle
Connection handle.
Definition: hci_api.h:686
HciLeCreateBigCmplEvt_t leCreateBigCmpl
LE create BIG complete.
Definition: hci_api.h:1006
uint8_t clockAccuracy
Advertiser clock accuracy.
Definition: hci_api.h:295
LE BIG Sync Established event.
Definition: hci_api.h:795
uint8_t role
Local connection role.
Definition: hci_api.h:148
uint16_t syncHandle
Sync handle.
Definition: hci_api.h:253
uint8_t transType
Logical transport type.
Definition: hci_api.h:1178
void HciLeRandCmd(void)
HCI LE random command.
uint16_t maxSdu
Maximum size of an SDU.
Definition: hci_api.h:1126
void HciLeRemoveDeviceFromPerAdvListCmd(uint8_t advAddrType, uint8_t *pAdvAddr, uint8_t advSid)
HCI LE remove device from periodic advertiser list command.
void HciLeAddDevWhiteListCmd(uint8_t addrType, uint8_t *pAddr)
HCI LE add device white list command.
uint8_t status
Status.
Definition: hci_api.h:436
uint16_t syncHandle
Sync handle.
Definition: hci_api.h:279
LE create connection cancel command complete event.
Definition: hci_api.h:182
uint16_t handle
Connection handle.
Definition: hci_api.h:593
LE read local resolving address command complete event.
Definition: hci_api.h:538
void HciIsoRegister(hciAclCback_t isoCback, hciFlowCback_t flowCback)
Register callbacks for the HCI ISO data path.
uint16_t latency
Connection latency.
Definition: hci_api.h:498
#define HCI_FEAT_LEN
Definition: hci_defs.h:1436
uint16_t isoInterval
Time between two consecutive ISO anchor points.
Definition: hci_api.h:773
wsfMsgHdr_t hdr
Event header.
Definition: hci_api.h:285
void HciLeReadPhyCmd(uint16_t handle)
HCI read PHY command.
uint8_t cigId
CIG identifier.
Definition: hci_api.h:746
void HciLeReadRemoteFeatCmd(uint16_t handle)
HCI LE read remote feature command.
uint8_t sampleCnt
Sample Count.
Definition: hci_api.h:644
void HciLeRemoveIsoDataPathCmd(uint16_t handle, uint8_t directionBits)
HCI LE remove ISO data path command.
uint8_t cteMaxLen
Max CTE Length.
Definition: hci_api.h:697
uint8_t status
Status.
Definition: hci_api.h:373
LE setup ISO data path command complete event.
Definition: hci_api.h:839
wsfMsgHdr_t hdr
Event header.
Definition: hci_api.h:309
uint8_t status
Status.
Definition: hci_api.h:146
wsfMsgHdr_t hdr
Event header.
Definition: hci_api.h:232
uint8_t hciVersion
HCI version.
Definition: hci_api.h:923
uint8_t advPhy
Advertiser PHY.
Definition: hci_api.h:293
CIG parameters.
Definition: hci_api.h:1098
uint8_t status
Status.
Definition: hci_api.h:252
wsfMsgHdr_t hdr
Event header.
Definition: hci_api.h:494
void HciTerminateBigCmd(uint8_t bigHandle, uint8_t reason)
HCI LE terminate BIG command.
void HciLePerAdvTerminateSyncCmd(uint16_t syncHandle)
HCI LE periodic advertising terminate sync command.
CIS parameters.
Definition: hci_api.h:1086
uint8_t status
Status.
Definition: hci_api.h:337
void HciLeCreateCisCmd(uint8_t numCis, HciCisCreateCisParams_t *pCreateCisParam)
HCI LE create CIS command.
Vendor-specific codec info block.
Definition: hci_api.h:868
void HciLeCreateConnCmd(uint16_t scanInterval, uint16_t scanWindow, uint8_t filterPolicy, uint8_t peerAddrType, uint8_t *pPeerAddr, uint8_t ownAddrType, hciConnSpec_t *pConnSpec)
HCI LE create connection command.
uint16_t handle
Connection handle.
Definition: hci_api.h:495
hciLeChSelAlgoEvt_t leChSelAlgo
LE channel select algorithm.
Definition: hci_api.h:984
uint8_t HciGetNumSupAdvSets(void)
Get the maximum number of advertising sets supported by the Controller.
uint8_t cigId
Used to identify the connected isochronous group.
Definition: hci_api.h:1100
wsfMsgHdr_t hdr
Event header.
Definition: hci_api.h:389
hciLeSetConnCteTxParamsCmdCmplEvt_t leSetConnCteTxParamsCmdCmpl
LE set connection CTE transmit parameters command complete.
Definition: hci_api.h:991
wsfMsgHdr_t resetSeqCmpl
Reset sequence complete.
Definition: hci_api.h:934
void HciLeCreateConnCancelCmd(void)
HCI LE create connection cancel command.
uint8_t status
Data status.
Definition: hci_api.h:270
uint16_t eventType
Event type.
Definition: hci_api.h:208
uint8_t encrypt
Unencrypted or Encrypted.
Definition: hci_api.h:1141
wsfMsgHdr_t hdr
Event header.
Definition: hci_api.h:933
wsfMsgHdr_t hdr
Event header.
Definition: hci_api.h:184
void HciLeSetConnCteTxParamsCmd(uint16_t connHandle, uint8_t cteTypeBits, uint8_t switchPatternLen, uint8_t *pAntennaIDs)
HCI LE set connection CTE transmit parameters command.
hciConfigDataPathCmdCmplEvt_t configDataPathCmdCmpl
Config data path command complete.
Definition: hci_api.h:1002
void(* hciIsoCback_t)(uint8_t *pData)
HCI ISO callback type.
Definition: hci_api.h:1248
void HciLeReadNumSupAdvSets(void)
HCI LE read number of supported advertising sets command.
wsfMsgHdr_t hdr
Event header.
Definition: hci_api.h:427
void HciLeSetPrivacyModeCmd(uint8_t addrType, uint8_t *pAddr, uint8_t mode)
HCI LE set privacy mode command.
uint8_t packing
Sequential or Interleaved packing.
Definition: hci_api.h:1130
uint16_t maxPduSToM
Maximum payload size from slave to master.
Definition: hci_api.h:718
uint16_t supportedMaxRxOctets
Supported maximum Rx octets.
Definition: hci_api.h:487
uint16_t sduSizeMToS
Maximum size of a data SDU from the master to the slave.
Definition: hci_api.h:1089
uint8_t dpId
Data path ID.
Definition: hci_api.h:1167
void HciLeIsoRxTest(uint16_t handle, uint8_t pldType)
HCI LE enable ISO Rx test.
uint16_t handle
Connection handle.
Definition: hci_api.h:366
uint8_t irc
Number of times a payload is transmitted in a BIS event.
Definition: hci_api.h:804
uint8_t reason
Sync lost reason.
Definition: hci_api.h:816
uint8_t chSelAlgo
Channel selection algorithm.
Definition: hci_api.h:303
wsfMsgHdr_t hdr
Event header.
Definition: hci_api.h:608
uint32_t transLatUsec
Transport latency, in microseconds.
Definition: hci_api.h:766
void HciLeSetDefaultPerAdvSyncTrsfParamsCmd(uint8_t mode, uint16_t skip, uint16_t syncTimeout, uint8_t cteType)
HCI LE set default periodic advertising sync transfer parameters command.
wsfMsgHdr_t hdr
Event header.
Definition: hci_api.h:762
uint8_t pktStatus
Packet Status.
Definition: hci_api.h:642
uint8_t handle
Connection handle of the CIS or BIS.
Definition: hci_api.h:843
uint8_t addrType
Peer address type.
Definition: hci_api.h:149
uint8_t numComplEvts
Number of completed extended advertising events.
Definition: hci_api.h:236
void HciLeSetScanRespDataCmd(uint8_t len, uint8_t *pData)
HCI LE set scan response data.
wsfMsgHdr_t hdr
Event header.
Definition: hci_api.h:173
hciReadRemoteVerInfoCmplEvt_t readRemoteVerInfoCmpl
Read remote version information complete.
Definition: hci_api.h:943
uint8_t dataChIdx
Data Channel Index.
Definition: hci_api.h:637
LE connection complete event.
Definition: hci_api.h:143
LE Terminate BIG complete event.
Definition: hci_api.h:779
Write authenticated payload to command complete event.
Definition: hci_api.h:574
wsfMsgHdr_t hdr
Event header.
Definition: hci_api.h:660
uint32_t ctrDly
Controller delay (in usec).
Definition: hci_api.h:1158
uint8_t txPower
Tx power.
Definition: hci_api.h:267
void HciLePerAdvCreateSyncCancelCmd(void)
HCI LE periodic advertising create sync cancel command.
LE PHY update complete event.
Definition: hci_api.h:606
hciLocalVerInfo_t * HciGetLocalVerInfo(void)
Return a pointer to the local version information.
uint8_t reason
Terminate reason.
Definition: hci_api.h:783
hciDisconnectCmplEvt_t disconnectCmpl
Disconnect complete.
Definition: hci_api.h:936
uint32_t minDly
Minimum controller delay.
Definition: hci_api.h:907
void HciLeReadDefDataLen(void)
HCI LE Read Default Data Length.
wsfMsgHdr_t hdr
Event header.
Definition: hci_api.h:684
uint8_t handle
Connection handle of the CIS or BIS.
Definition: hci_api.h:851
wsfMsgHdr_t hdr
Event header.
Definition: hci_api.h:251
uint8_t addrType
Address type.
Definition: hci_api.h:196
void HciConfigDataPathCmd(HciConfigDataPath_t *pDataPathParam)
HCI configure data path command.
LE Create BIG complete event.
Definition: hci_api.h:760
wsfMsgHdr_t hdr
Event header.
Definition: hci_api.h:532
uint16_t handle
Connection handle.
Definition: hci_api.h:620
hciLeRemoveCigCmdCmplEvt_t leRemoveCigCmdCmpl
LE remove CIG command complete.
Definition: hci_api.h:996
wsfMsgHdr_t hdr
Event header.
Definition: hci_api.h:814
uint8_t status
Status.
Definition: hci_api.h:444
uint16_t handle
Connection handle.
Definition: hci_api.h:302
uint8_t secAdvMaxSkip
Secondary Advertising Maximum Skip.
Definition: hci_api.h:1063
void HciDisconnectCmd(uint16_t handle, uint8_t reason)
HCI disconnect command.
wsfMsgHdr_t hdr
Event header.
Definition: hci_api.h:278
uint16_t hciRevision
HCI revision.
Definition: hci_api.h:924
HCI constants and definitions from the Bluetooth specification.
hciLePerAdvSetInfoTrsfCmdCmplEvt_t lePerAdvSetInfoTrsfCmdCmpl
LE set periodic advertising set info transfer command complete.
Definition: hci_api.h:987
hciLeWriteDefDataLenEvt_t leWriteDefDataLenCmdCmpl
LE write default data length command complete.
Definition: hci_api.h:965
uint8_t HciGetPerAdvListSize(void)
Return the periodic advertising list size.
uint8_t peerSca
Peer SCA.
Definition: hci_api.h:738
uint16_t handle
Connection handle.
Definition: hci_api.h:628
uint16_t handle
Connection handle.
Definition: hci_api.h:654
uint8_t advSid
Advertising SID.
Definition: hci_api.h:254
wsfMsgHdr_t hdr
Event header.
Definition: hci_api.h:562
uint16_t connInterval
Connection interval.
Definition: hci_api.h:151
int8_t * pISample
List of I Samples.
Definition: hci_api.h:645
void HciLePerAdvCreateSyncCmd(uint8_t options, uint8_t advSid, uint8_t advAddrType, uint8_t *pAdvAddr, uint16_t skip, uint16_t syncTimeout, uint8_t unused)
HCI LE periodic advertising create sync command.
uint16_t aclHandle
ACL connection handle.
Definition: hci_api.h:726
hciLeAddDevToResListCmdCmplEvt_t leAddDevToResListCmdCmpl
LE add device to resolving list command complete.
Definition: hci_api.h:959
void HciLeGenerateDHKey(uint8_t *pPubKeyX, uint8_t *pPubKeyY)
HCI LE Generate DH Key.
uint8_t direction
Direction.
Definition: hci_api.h:1189
uint16_t minCeLen
Minimum CE length.
Definition: hci_api.h:1029
LE periodic advertising sync transfer received.
Definition: hci_api.h:283
uint32_t cigSyncDelayUsec
CIG synchronization delay in usec.
Definition: hci_api.h:706
uint8_t peerAddrType
Address type used for peer device.
Definition: hci_api.h:1038
uint8_t status
Status.
Definition: hci_api.h:460
void HciLeSetDataLen(uint16_t handle, uint16_t txOctets, uint16_t txTime)
HCI LE Set Data Length.
uint16_t wsfEventMask_t
Event handler event mask data type.
Definition: wsf_os.h:83
LE CIS request event.
Definition: hci_api.h:723
void HciLeBigTerminateSync(uint8_t bigHandle)
HCI LE BIG terminate sync command.
void HciReadTxPwrLvlCmd(uint16_t handle, uint8_t type)
HCI read Tx power level command.
hciLeConnUpdateCmplEvt_t leConnUpdateCmpl
LE connection update complete.
Definition: hci_api.h:937
uint16_t handle
Handle.
Definition: hci_api.h:610
#define HCI_CHAN_MAP_LEN
Definition: hci_defs.h:1444
uint8_t status
Status.
Definition: hci_api.h:381
Hardware error event.
Definition: hci_api.h:418
void HciResetCmd(void)
HCI reset command.
uint8_t addrType
Address type.
Definition: hci_api.h:209
uint8_t status
Status.
Definition: hci_api.h:763
wsfMsgHdr_t hdr
Event header.
Definition: hci_api.h:145
LE add device to resolving list command complete event.
Definition: hci_api.h:553
wsfMsgHdr_t hdr
Event header.
Definition: hci_api.h:591
uint8_t advPhy
Advertiser PHY.
Definition: hci_api.h:257
HciLeCisReqEvt_t leCisReq
LE CIS request.
Definition: hci_api.h:998
uint16_t scanInterval
Scan interval.
Definition: hci_api.h:1080
uint8_t status
Status.
Definition: hci_api.h:328
uint16_t compId
Company ID (ignored if &#39;codingFmt&#39; not 0xFF).
Definition: hci_api.h:1176
void HciLeReadLocalP256PubKey(void)
HCI LE Read Local P-256 Public Key.
uint8_t ftSToM
Flush timeout slave to master.
Definition: hci_api.h:716
wsfMsgHdr_t hdr
Event header.
Definition: hci_api.h:327
uint8_t priAdvPhy
Primary Advertising PHY.
Definition: hci_api.h:1062
void HciLeReadChanMapCmd(uint16_t handle)
HCI LE read channel map command.
uint64_t HciGetLeSupFeat(void)
Return the LE supported features supported by the controller.
LE CTE request failed event.
Definition: hci_api.h:650
void HciLeIsoTxTest(uint16_t handle, uint8_t pldType)
HCI LE enable ISO Tx test.
uint8_t code
Error code.
Definition: hci_api.h:421
hciLeSetDefPhyCmdCmplEvt_t leSetDefPhyCmdCmpl
LE set default PHY command complete.
Definition: hci_api.h:975
uint16_t len
Data buffer length.
Definition: hci_api.h:271
uint8_t advHandle
Advertising handle.
Definition: hci_api.h:234
uint8_t rteMToS
Maximum number of times every PDU should be retransmitted from the master to slave.
Definition: hci_api.h:1093
uint8_t codecConfigLen
Codec configuration length.
Definition: hci_api.h:1159
wsfMsgHdr_t hdr
Event header.
Definition: hci_api.h:459
void HciReadLocalVerInfoCmd(void)
HCI read local version info command.
void HciLeAddDeviceToResolvingListCmd(uint8_t peerAddrType, const uint8_t *pPeerIdentityAddr, const uint8_t *pPeerIrk, const uint8_t *pLocalIrk)
HCI add device to resolving list command.
void HciLeLtkReqReplCmd(uint16_t handle, uint8_t *pKey)
HCI LE long term key request reply command.
uint8_t priAdvChanMap
Primary Advertising Channel Map.
Definition: hci_api.h:1056
uint8_t encrypt
Unencrypted or Encrypted.
Definition: hci_api.h:1132
Encryption key refresh complete event.
Definition: hci_api.h:370
uint8_t rtn
Retransmitted number.
Definition: hci_api.h:1128
void HciLeExtScanEnableCmd(uint8_t enable, uint8_t filterDup, uint16_t duration, uint16_t period)
HCI LE extended scan enable command.
uint16_t handle
Connection handle.
Definition: hci_api.h:147
#define HCI_RAND_LEN
Definition: hci_defs.h:1447
uint8_t eventType
Advertising event type.
Definition: hci_api.h:195
uint8_t dpDir
Data path direction.
Definition: hci_api.h:1166
wsfMsgHdr_t hdr
Event header.
Definition: hci_api.h:356
void HciLeClearAdvSets(void)
HCI LE clear advertising sets command.
uint16_t maxRxTime
Maximum Rx time.
Definition: hci_api.h:510
uint16_t handle
Connection handle.
Definition: hci_api.h:506
void HciVsInit(uint8_t param)
Vendor-specific controller initialization function.
uint8_t status
Status.
Definition: hci_api.h:484
uint8_t codecConfigLen
Length of codec configuration.
Definition: hci_api.h:1190
uint8_t ownAddrType
Address type used by this device.
Definition: hci_api.h:1037
hciLePerAdvReportEvt_t lePerAdvReport
LE periodic advertising report.
Definition: hci_api.h:982
uint8_t status
Status.
Definition: hci_api.h:348
uint8_t mse
Maximum number of subevents.
Definition: hci_api.h:1143
hciLeSetConnCteRxParamsCmdCmplEvt_t leSetConnCteRxParamsCmdCmpl
LE set connection CTE receive parameters command complete.
Definition: hci_api.h:990
wsfMsgHdr_t hdr
Event header.
Definition: hci_api.h:435
uint8_t numVsCodecs
Total number of vendor-specific codecs supported.
Definition: hci_api.h:882
uint16_t maxPduMToS
Maximum payload size from master to slave.
Definition: hci_api.h:717
wsfMsgHdr_t hdr
Event header.
Definition: hci_api.h:420
void HciLeSetPerAdvDataCmd(uint8_t advHandle, uint8_t op, uint8_t len, const uint8_t *pData)
HCI LE set periodic advertising data command.
void HciReadRssiCmd(uint16_t handle)
HCI read RSSI command.
BIG Create Sync parameters.
Definition: hci_api.h:1137
uint16_t * pCisHandle
Pointer to the connected isochronous handle array.
Definition: hci_api.h:1115
void HciLeSetAdvDataCmd(uint8_t len, uint8_t *pData)
HCI LE set advertising data command.
void HciLeSetHostChanClassCmd(uint8_t *pChanMap)
HCI set host channel class command.
LE remote connetion parameter request event.
Definition: hci_api.h:492
uint8_t status
Status.
Definition: hci_api.h:428
hciLeCreateConnCancelCmdCmplEvt_t leCreateConnCancelCmdCmpl
LE create connection cancel command complete.
Definition: hci_api.h:938
uint16_t maxCeLen
Maximum CE length.
Definition: hci_api.h:1030
uint8_t phy
Transmit PHY.
Definition: hci_api.h:767
uint16_t handle
Connection handle.
Definition: hci_api.h:349
wsfMsgHdr_t hdr
Event header.
Definition: hci_api.h:735
uint8_t dpId
Data path ID.
Definition: hci_api.h:1154
uint8_t status
Disconnect complete status.
Definition: hci_api.h:165
wsfMsgHdr_t hdr
Event header.
Definition: hci_api.h:692
Setup ISO data path parameters.
Definition: hci_api.h:1150
uint32_t maxDly
Maximum controller delay.
Definition: hci_api.h:908
uint8_t version
Version.
Definition: hci_api.h:339
uint16_t handle
Connection handle.
Definition: hci_api.h:453
hciLeScanTimeoutEvt_t leScanTimeout
LE scan timeout.
Definition: hci_api.h:978
hciLeReadRemoteFeatCmplEvt_t leReadRemoteFeatCmpl
LE read remote feature complete.
Definition: hci_api.h:944
uint8_t dpDir
Data path direction.
Definition: hci_api.h:1153
uint8_t phySToM
PHY to be used for transmission from master to slave.
Definition: hci_api.h:1092
uint16_t connIntervalMax
Maximum connection interval.
Definition: hci_api.h:1026
hciLeConnCmplEvt_t leConnCmpl
LE connection complete.
Definition: hci_api.h:935
uint16_t cisHandle
CIS connection handle.
Definition: hci_api.h:705
uint16_t handle
Connection handle.
Definition: hci_api.h:670
uint32_t sduIntervalSToM
The time interval between the start of consecutive SDUs from the slave Host.
Definition: hci_api.h:1102
void HciLeSetPerAdvRcvEnableCmd(uint16_t syncHandle, uint8_t enable)
HCI LE set periodic advertising receive enable command.
wsfMsgHdr_t hdr
Event header.
Definition: hci_api.h:676
void HciEvtRegister(hciEvtCback_t evtCback)
Register a callback for HCI events.
hciVendorSpecCmdCmplEvt_t vendorSpecCmdCmpl
Vendor specific command complete.
Definition: hci_api.h:951
Read transmit power level command complete event.
Definition: hci_api.h:325
wsfMsgHdr_t hdr
Event header.
Definition: hci_api.h:668
Read local supported codec capabilities command complete event.
Definition: hci_api.h:895
void HciLeWriteDefDataLen(uint16_t suggestedMaxTxOctets, uint16_t suggestedMaxTxTime)
HCI LE Write Default Data Length.
uint8_t bigHandle
BIG handle.
Definition: hci_api.h:815
Encryption change event.
Definition: hci_api.h:378
wsfMsgHdr_t hdr
Event header.
Definition: hci_api.h:626
LE read suggested default data len command complete event.
Definition: hci_api.h:457
bool_t HciLlPrivacySupported(void)
Whether LL Privacy is supported.
uint8_t initPhys
Initiating PHYs.
Definition: hci_api.h:1040
hciLeScanReqRcvdEvt_t leScanReqRcvd
LE scan request received.
Definition: hci_api.h:980
uint8_t advSid
Advertising SID.
Definition: hci_api.h:290
uint8_t rxPhy
Rx PHY.
Definition: hci_api.h:595
uint8_t cteType
CTE Type.
Definition: hci_api.h:640
LE LTK request negative reply command complete event.
Definition: hci_api.h:362
wsfMsgHdr_t hdr
Event header.
Definition: hci_api.h:372
uint16_t handle
Connection handle.
Definition: hci_api.h:175
Extended advertising parameters.
Definition: hci_api.h:1051
hciLeCteReqFailedEvt_t leCteReqFailed
LE CTE request failed.
Definition: hci_api.h:989
LE extended advertising report.
Definition: hci_api.h:205
uint8_t codingFmt
Coding Format.
Definition: hci_api.h:1185
void HciLeReadPerAdvListSizeCmd(void)
HCI LE read periodic advertiser size command.
HciLeBigSyncEstEvt_t leBigSyncEst
LE BIG sync established.
Definition: hci_api.h:1008
void HciLeSetCigParamsCmd(HciCisCigParams_t *pCigParam)
HCI LE set CIG parameters command.
wsfMsgHdr_t hdr
Event header.
Definition: hci_api.h:475
hciLeEncryptCmdCmplEvt_t leEncryptCmdCmpl
LE encrypt command complete.
Definition: hci_api.h:954
uint8_t status
Status.
Definition: hci_api.h:653
wsfMsgHdr_t hdr
Event header.
Definition: hci_api.h:336
void HciSetEventMaskCmd(uint8_t *pEventMask)
HCI set event mask command.
hciLePerAdvSyncTrsfCmdCmplEvt_t lePerAdvSyncTrsfCmdCmpl
LE periodic advertising sync transfer command complete.
Definition: hci_api.h:986
uint8_t nse
Number of Sub-Events in each BIS event in the BIG.
Definition: hci_api.h:768
HciCisCisParams_t * pCisParam
CIS parameters.
Definition: hci_api.h:1109
uint8_t clockAccuracy
Clock accuracy.
Definition: hci_api.h:154
LE periodic advertising sync transfer command complete event.
Definition: hci_api.h:616
uint8_t bigHandle
Used to identify the BIG.
Definition: hci_api.h:1139
hciLeRandCmdCmplEvt_t leRandCmdCmpl
LE random command complete.
Definition: hci_api.h:955
uint8_t status
Status.
Definition: hci_api.h:798
hciLePerAdvSyncLostEvt_t lePerAdvSyncLost
LE periodic advertising synchronization lost.
Definition: hci_api.h:983
hciLeExtAdvReportEvt_t leExtAdvReport
LE extended advertising report.
Definition: hci_api.h:977
void(* hciEvtCback_t)(hciEvt_t *pEvent)
HCI event callback type.
Definition: hci_api.h:1211
void HciLeReadLocalResolvableAddr(uint8_t addrType, const uint8_t *pIdentityAddr)
HCI read local resolvable address command.
void HciLeRemoveCigCmd(uint8_t cigId)
HCI LE remove CIG command.
wsfMsgHdr_t hdr
Event header.
Definition: hci_api.h:877
LE set default PHY command complete event.
Definition: hci_api.h:599
wsfMsgHdr_t hdr
Event header.
Definition: hci_api.h:634
uint8_t status
Status.
Definition: hci_api.h:602
void HciLeSetAdvParamCmd(uint16_t advIntervalMin, uint16_t advIntervalMax, uint8_t advType, uint8_t ownAddrType, uint8_t peerAddrType, uint8_t *pPeerAddr, uint8_t advChanMap, uint8_t advFiltPolicy)
HCI LE set advertising parameters command.
uint16_t connHandle
Connection handle.
Definition: hci_api.h:287
uint8_t ftMToS
Flush timeout master to slave.
Definition: hci_api.h:715
bdAddr_t localRpa
Local RPA.
Definition: hci_api.h:157
void HciLeConnUpdateCmd(uint16_t handle, hciConnSpec_t *pConnSpec)
HCI connection update command.
uint8_t status
Status.
Definition: hci_api.h:755
hciLeAdvSetTermEvt_t leAdvSetTerm
LE advertising set terminated.
Definition: hci_api.h:979
hciLeGenDhKeyEvt_t leGenDHKey
LE generate Diffie-Hellman key.
Definition: hci_api.h:971
uint16_t connLatency
Connection latency.
Definition: hci_api.h:152
uint8_t phyMToS
Master to slave PHY.
Definition: hci_api.h:710
void HciLeSetExtAdvEnableCmd(uint8_t enable, uint8_t numSets, hciExtAdvEnableParam_t *pEnableParam)
HCI LE set extended advertising enable command.
uint16_t connEvtCnt
Connection Event Counter.
Definition: hci_api.h:643
LE encrypt command complete event.
Definition: hci_api.h:425
wsfMsgHdr_t hdr
Event header.
Definition: hci_api.h:226
uint16_t maxTxTime
Maximum Tx time.
Definition: hci_api.h:508
uint16_t handle
Connection handle.
Definition: hci_api.h:635
void HciLeBigCreateSyncCmd(HciBigCreateSync_t *pCreateSync)
HCI LE BIG create sync command.
uint8_t status
Status.
Definition: hci_api.h:476
uint16_t handle
Connection handle.
Definition: hci_api.h:662
uint8_t advHandle
Advertising handle.
Definition: hci_api.h:1072
uint16_t HciGetMaxAdvDataLen(void)
Get the maximum advertisement (or scan response) data length supported by the Controller.
uint8_t * pConfig
Vendor-specific configuration data.
Definition: hci_api.h:1169
uint32_t transLatMToSUsec
The maximum time, in msec, for transmission of SDUs of all CISes from mater to slave.
Definition: hci_api.h:708
void HciLeSetHostFeatureCmd(uint8_t bitNum, bool_t bitVal)
HCI LE set host feature command.
hciReadRssiCmdCmplEvt_t readRssiCmdCmpl
Read RSSI command complete.
Definition: hci_api.h:940
void HciSetEventMaskPage2Cmd(uint8_t *pEventMask)
HCI set event page 2 mask command.
uint8_t nse
Number of Sub-Events in each BIS event in the BIG.
Definition: hci_api.h:801
uint16_t maxRxOctets
Maximum Rx octets.
Definition: hci_api.h:509
uint8_t status
Status.
Definition: hci_api.h:704
void HciReadAuthPayloadTimeout(uint16_t handle)
HCI read authenticated payload timeout command.
void HciLeReadWhiteListSizeCmd(void)
HCI LE read white list size command.
wsfMsgHdr_t hdr
Event header.
Definition: hci_api.h:618
hciHwErrorEvt_t hwError
Hardware error.
Definition: hci_api.h:953
uint8_t numBis
Number of BIS.
Definition: hci_api.h:774
uint8_t advAddrType
Advertiser address type.
Definition: hci_api.h:255
wsfMsgHdr_t hdr
Event header.
Definition: hci_api.h:301
uint16_t serviceData
Service data.
Definition: hci_api.h:288
uint8_t packing
Packing scheme.
Definition: hci_api.h:1104
wsfMsgHdr_t hdr
Event header.
Definition: hci_api.h:797
uint16_t opcode
Opcode.
Definition: hci_api.h:399
void HciWriteAuthPayloadTimeout(uint16_t handle, uint16_t timeout)
HCI write authenticated payload timeout command.
LE write suggested default data len command complete event.
Definition: hci_api.h:466
uint8_t status
Status.
Definition: hci_api.h:452
void HciLeReadPeerResolvableAddr(uint8_t addrType, const uint8_t *pIdentityAddr)
HCI read peer resolvable address command.
hciReadLocalSupCodecCapCmdCmplEvt_t readLocalSupCodecCapCmdCmpl
Read local supported codec capablitlies command complete.
Definition: hci_api.h:1004
void HciLeReadTxPower(void)
HCI LE read transmit power command.
uint16_t intervalMax
Interval maximum.
Definition: hci_api.h:497
Initiating parameters.
Definition: hci_api.h:1034
wsfMsgHdr_t hdr
Event header.
Definition: hci_api.h:789
void HciLeReadAntennaInfoCmd(void)
HCI LE read antenna information command.
uint8_t advSid
Advertising SID.
Definition: hci_api.h:213
uint8_t rxPhy
Rx Phy.
Definition: hci_api.h:636
wsfMsgHdr_t hdr
Event header.
Definition: hci_api.h:516
LE set CIG parameters command complete event.
Definition: hci_api.h:742
Extended scanning parameters.
Definition: hci_api.h:1078
LE periodic advertising report.
Definition: hci_api.h:263
bdAddr_t addr
Device address.
Definition: hci_api.h:197
void(* hciFlowCback_t)(uint16_t handle, bool_t flowDisabled)
HCI flow control callback type.
Definition: hci_api.h:1259
uint8_t status
Status.
Definition: hci_api.h:469
void HciLeClearResolvingList(void)
HCI clear resolving list command.
Read RSSI command complete event.
Definition: hci_api.h:307
void HciAclRegister(hciAclCback_t aclCback, hciFlowCback_t flowCback)
Register callbacks for the HCI data path.
uint8_t maxEaEvents
Maximum number of extended advertising events.
Definition: hci_api.h:1074
BIG Create BIG parameters.
Definition: hci_api.h:1120
uint8_t rxPhy
Rx PHY.
Definition: hci_api.h:612
void HciSecRegister(hciSecCback_t secCback)
Register a callback for certain HCI security events.
void HciReadBufSizeCmd(void)
HCI read buffer size command.
wsfMsgHdr_t hdr
Event header.
Definition: hci_api.h:443
hciVendorSpecCmdStatusEvt_t vendorSpecCmdStatus
Vendor specific command status.
Definition: hci_api.h:950
uint8_t bdAddr_t[6]
BD address data type.
Definition: bda.h:67
Authenticated payload to expire event.
Definition: hci_api.h:582
wsfMsgHdr_t hdr
Event header.
Definition: hci_api.h:207
HciLeReqPeerScaCmplEvt_t_t leReqPeerSca
LE request peer SCA complete.
Definition: hci_api.h:999
uint8_t status
Status.
Definition: hci_api.h:286
uint8_t phyMToS
PHY to be used for transmission from master to slave.
Definition: hci_api.h:1091
uint16_t isoInterval
Time between two consecutive ISO anchor points.
Definition: hci_api.h:806
int8_t HciGetAdvTxPwr(void)
Return the advertising transmit power.
void HciLeIsoTestEnd(uint16_t handle)
HCI LE ISO test end.
hciLeP256CmplEvt_t leP256
LE P-256.
Definition: hci_api.h:970
hciLeSetAddrResEnableCmdCmplEvt_t leSetAddrResEnableCmdCmpl
LE set address resolution enable command complete.
Definition: hci_api.h:958
LE BIG sync lost event.
Definition: hci_api.h:812
uint8_t advSID
Advertising SID.
Definition: hci_api.h:1065
hciLeSetCigParamsCmdCmplEvt_t leSetCigParamsCmdCmpl
LE set CIG parameters command complete.
Definition: hci_api.h:995
void HciLeSetAdvEnableCmd(uint8_t enable)
HCI LE set advanced enable command.
uint16_t timeout
Connection timeout.
Definition: hci_api.h:499
void HciLeRemoveAdvSet(uint8_t advHandle)
HCI LE remove advertising set command.
uint8_t numCis
Total number of CISes added or modified.
Definition: hci_api.h:747
uint16_t connIntervalMin
Minimum connection interval.
Definition: hci_api.h:1025
Vendor specific command complete event.
Definition: hci_api.h:403
uint16_t intervalMin
Interval minimum.
Definition: hci_api.h:496
uint8_t bigHandle
BIG handle.
Definition: hci_api.h:791
uint8_t scanReqNotifEna
Scan Request Notification Enable.
Definition: hci_api.h:1066
void HciResetSequence(void)
Initiate an HCI reset sequence.
void(* hciAclCback_t)(uint8_t *pData)
HCI ACL callback type.
Definition: hci_api.h:1238
uint16_t transLatSToM
Maximum time, in milliseconds, for an SDU to be transported from the slave Controller to master Contr...
Definition: hci_api.h:1107
uint32_t HciGetLeSupFeat32(void)
Return the LE supported features supported by the controller.
LE BIG Terminate Sync complete event.
Definition: hci_api.h:787
uint16_t handle
Connection handle.
Definition: hci_api.h:235
void HciLeExtCreateConnCmd(hciExtInitParam_t *pInitParam, hciExtInitScanParam_t *pScanParam, hciConnSpec_t *pConnSpec)
HCI LE extended create connection command.
uint8_t handle
Connection handle.
Definition: hci_api.h:329
Read remote version information complete event.
Definition: hci_api.h:334
uint16_t subversion
Sub-version.
Definition: hci_api.h:341
uint8_t switchPatternMaxLen
Max Length of Switching Pattern.
Definition: hci_api.h:696
int8_t rssi
RSSI.
Definition: hci_api.h:312
Platform-independent data types.
uint32_t priAdvInterMax
Primary Advertising Interval Maximum.
Definition: hci_api.h:1055
wsfMsgHdr_t hdr
Event header.
Definition: hci_api.h:468
hciLeRemConnParamNegRepEvt_t leRemConnParamNegRepCmdCmpl
LE Remote Connection Parameter Negative Reply Command Complete.
Definition: hci_api.h:963
uint8_t scanType
Scan type.
Definition: hci_api.h:1082
void HciLeRemoveDeviceFromResolvingList(uint8_t peerAddrType, const uint8_t *pPeerIdentityAddr)
HCI remove device from resolving list command.
uint16_t transLatMToS
Maximum time, in milliseconds, for an SDU to be transported from the master Controller to slave Contr...
Definition: hci_api.h:1106
uint16_t scanInterval
Scan interval.
Definition: hci_api.h:1046
int8_t * pQSample
List of Q Samples.
Definition: hci_api.h:646
Connection specification type.
Definition: hci_api.h:1023
uint32_t syncDelayUsec
Synchronization delay in microseconds.
Definition: hci_api.h:765
LE connection update complete event.
Definition: hci_api.h:171
int16_t perAdvInter
Periodic advertising interval.
Definition: hci_api.h:216
int8_t txPower
Tx Power.
Definition: hci_api.h:214
#define HCI_MAX_CODEC
Definition: hci_defs.h:1616
int8_t pwrLvl
Tx power level.
Definition: hci_api.h:330
LE remove ISO data path command complete event.
Definition: hci_api.h:847
uint8_t advHandle
Used to identify the periodic advertising train.
Definition: hci_api.h:1123
uint16_t manufacturerName
Manufacturer name.
Definition: hci_api.h:926
uint8_t unused
Intended to be used in a future feature.
Definition: hci_api.h:269
void HciLeSetScanParamCmd(uint8_t scanType, uint16_t scanInterval, uint16_t scanWindow, uint8_t ownAddrType, uint8_t scanFiltPolicy)
HCI set scan parameters command.
uint8_t bigHandle
Used to identify the BIG.
Definition: hci_api.h:1122
uint8_t bn
Number of new payloads in each BIS event.
Definition: hci_api.h:769
Extended advertising enable parameters.
Definition: hci_api.h:1070
uint16_t maxPdu
Maximum size of the payload.
Definition: hci_api.h:805
hciLeRemDevFromResListCmdCmplEvt_t leRemDevFromResListCmdCmpl
LE remove device from resolving list command complete.
Definition: hci_api.h:960
bdAddr_t advAddr
Advertiser address.
Definition: hci_api.h:292
void HciLeGenerateDHKeyV2(uint8_t *pPubKeyX, uint8_t *pPubKeyY, uint8_t keyType)
HCI LE Generate DH Key Version 2.
LE connection IQ report.
Definition: hci_api.h:632
void HciVendorSpecificCmd(uint16_t opcode, uint8_t len, uint8_t *pData)
HCI vencor specific command.
Initiating scan parameters.
Definition: hci_api.h:1044
uint16_t connInterval
Connection interval.
Definition: hci_api.h:176
wsfMsgHdr_t hdr
Event header.
Definition: hci_api.h:849
wsfMsgHdr_t hdr
Event header.
Definition: hci_api.h:318
wsfMsgHdr_t hdr
Event header.
Definition: hci_api.h:576
uint8_t advAddrType
Advertiser address type.
Definition: hci_api.h:291
uint16_t mfrName
Manufacturer name.
Definition: hci_api.h:340
LE set connection CTE transmit parameters command complete event.
Definition: hci_api.h:666
uint16_t handle
ACL Connection handle.
Definition: hci_api.h:737
hciLeLtkReqEvt_t leLtkReq
LE LTK request.
Definition: hci_api.h:949
LE clear resolving list command complete event.
Definition: hci_api.h:567
void HciLeRejectCisReqCmd(uint16_t connHandle, uint8_t reason)
HCI LE reject CIS request command.
uint16_t vsCodecId
Vendor-defined codec ID (ignored if &#39;codingFmt&#39; not 0xFF).
Definition: hci_api.h:1157
void HciLeSetResolvablePrivateAddrTimeout(uint16_t rpaTimeout)
HCI set resolvable private address timeout command.
LE data length change event.
Definition: hci_api.h:503
uint8_t bnSToM
Burst number slave to master.
Definition: hci_api.h:714
wsfMsgHdr_t hdr
Event header.
Definition: hci_api.h:242
bool_t HciLeAdvExtSupported(void)
Whether LE Advertising Extensions is supported.
uint32_t transLatSToMUsec
The maximum time, in msec, for transmission of SDUs of all CISes from slave to master.
Definition: hci_api.h:709
void HciLeAcceptCisReqCmd(uint16_t connHandle)
HCI LE accept CIS request command.
uint16_t duration
Advertising duration in 10 ms units.
Definition: hci_api.h:1073
void(* hciSecCback_t)(hciEvt_t *pEvent)
HCI security callback type.
Definition: hci_api.h:1223
void HciLeSetRandAddrCmd(uint8_t *pAddr)
HCI LE set random address command.
Codec capability block.
Definition: hci_api.h:888
HciLeBigSyncLostEvt_t leBigSyncLost
LE BIG sync lost.
Definition: hci_api.h:1009
uint16_t handle
Connection handle.
Definition: hci_api.h:445
LE LTK request reply command complete event.
Definition: hci_api.h:354
#define BDA_ADDR_LEN
BD address length.
Definition: bda.h:39
uint8_t status
Status.
Definition: hci_api.h:858
void HciLeSetAdvSetRandAddrCmd(uint8_t advHandle, const uint8_t *pAddr)
HCI LE set advertising set random device address command.
void HciCoreHandler(wsfEventMask_t event, wsfMsgHdr_t *pMsg)
WSF event handler for core HCI.
uint8_t * pData
advertising or scan response data.
Definition: hci_api.h:192
uint16_t sduSizeSToM
Maximum size of a data SDU from the slave to the master.
Definition: hci_api.h:1090
LE LTK request event.
Definition: hci_api.h:387
uint16_t scanWindow
Scan window.
Definition: hci_api.h:1047
wsfMsgHdr_t hdr
Event header.
Definition: hci_api.h:703
LE read antenna information command complete event.
Definition: hci_api.h:690
wsfMsgHdr_t hdr
Event header.
Definition: hci_api.h:569
Bluetooth device address utilities.
uint16_t * pAclHandle
Pointer to the asynchronous connection link handle array.
Definition: hci_api.h:1116
hciLePerAdvSyncEstEvt_t lePerAdvSyncEst
LE periodic advertising synchronization established.
Definition: hci_api.h:981
uint8_t bnMToS
Burst number master to slave.
Definition: hci_api.h:713
uint8_t status
Status.
Definition: hci_api.h:319
uint8_t cisId
Used to identify a connected isochronous stream.
Definition: hci_api.h:1088
int8_t advTxPwr
Advertising Tx Power.
Definition: hci_api.h:1061
uint16_t handle
Connection handle.
Definition: hci_api.h:358
void HciLeReadMaxAdvDataLen(void)
HCI LE read maximum advertising data length command.
uint16_t handle
Connection handle.
Definition: hci_api.h:338
void HciLeSetPerAdvParamCmd(uint8_t advHandle, uint16_t advIntervalMin, uint16_t advIntervalMax, uint16_t advProps)
HCI LE set periodic advertising parameters command.
hciLeLtkReqReplCmdCmplEvt_t leLtkReqReplCmdCmpl
LE LTK request reply command complete.
Definition: hci_api.h:945
void HciLeReadResolvingListSize(void)
HCI read resolving list command.
uint16_t handle
Handle of CIS or BIS.
Definition: hci_api.h:1152
hciLeReadMaxDataLenEvt_t leReadMaxDataLenCmdCmpl
LE read max data length command complete.
Definition: hci_api.h:967
LE read PHY command complete event.
Definition: hci_api.h:589
uint16_t HciGetMaxRxAclLen(void)
Get the maximum reassembled RX ACL packet length.
hciLeReadPhyCmdCmplEvt_t leReadPhyCmdCmpl
LE read PHY command complete.
Definition: hci_api.h:974
Read local supported controller delay parameters.
Definition: hci_api.h:1183
uint8_t phySToM
Slave to master PHY.
Definition: hci_api.h:711
hciLeReadAntennaInfoCmdCmplEvt_t leReadAntennaInfoCmdCmpl
LE read antenna information command complete.
Definition: hci_api.h:994
uint8_t * pData
Data buffer.
Definition: hci_api.h:272
uint8_t configLen
Length of vendor-specific configuration data.
Definition: hci_api.h:1168
void HciLeRequestPeerScaCmd(uint16_t handle)
HCI LE request peer SCA command.
uint8_t numStdCodecs
Total number of standard codecs supported.
Definition: hci_api.h:879
void HciLeReadMaxDataLen(void)
HCI LE Read Maximum Data Length.
bdAddr_t directAddr
Direct advertising address.
Definition: hci_api.h:201
uint8_t numBis
Total number of BISes in the BIG.
Definition: hci_api.h:1145
uint8_t advFiltPolicy
Advertising Filter Policy.
Definition: hci_api.h:1060
uint32_t cisSyncDelayUsec
CIS synchronization delay in usec.
Definition: hci_api.h:707
uint8_t HciGetWhiteListSize(void)
Return the white list size.
HciLeBigTermSyncCmplEvt_t leBigTermSyncCmpl
LE BIG terminate sync complete.
Definition: hci_api.h:1010
uint8_t enabled
Encryption enabled flag.
Definition: hci_api.h:383
uint8_t bn
Number of new payloads in each BIS event.
Definition: hci_api.h:802
void HciSendAclData(uint8_t *pAclData)
Send ACL Data from the stack to HCI.
void HciLeReadAdvTXPowerCmd(void)
HCI LE read advertising TX power command.
HciLePerAdvSyncTrsfRcvdEvt_t lePerAdvSyncTrsfRcvd
LE periodic advertising sync transfer received.
Definition: hci_api.h:985
Union of all event types.
Definition: hci_api.h:931
void HciLeReadBufSizeCmdV2(void)
HCI LE read buffer size version 2 command.
uint8_t framing
Unframed or Framed.
Definition: hci_api.h:1131
uint16_t mtlMs
Maximum time in milliseconds.
Definition: hci_api.h:1127
uint16_t syncHandle
Sync handle.
Definition: hci_api.h:266
void HciLeReadRfPathComp(void)
HCI LE read RF path compensation command.
LE remote connection parameter request negative reply command complete event.
Definition: hci_api.h:449
uint16_t opcode
Opcode.
Definition: hci_api.h:406
uint8_t numCis
Number of CIS to set.
Definition: hci_api.h:1108
LE set address resolving enable command complete event.
Definition: hci_api.h:546
uint8_t cisId
CIS identifier.
Definition: hci_api.h:729
uint8_t nse
Number of subevents.
Definition: hci_api.h:712
uint8_t txPhy
Tx PHY.
Definition: hci_api.h:611
uint8_t HciGetResolvingListSize(void)
Return the resolving list size.
uint8_t status
Status.
Definition: hci_api.h:570
wsfMsgHdr_t hdr
Event header.
Definition: hci_api.h:555
uint16_t suggestedMaxTxOctets
Suggested maximum Tx octets.
Definition: hci_api.h:461
wsfMsgHdr_t hdr
Event header.
Definition: hci_api.h:483
uint16_t handle
Connect handle.
Definition: hci_api.h:166
wsfMsgHdr_t hdr
Event header.
Definition: hci_api.h:744
bdAddr_t peerAddr
Peer address.
Definition: hci_api.h:150
LE read peer resolving address command complete event.
Definition: hci_api.h:530
uint8_t len
Length of codec capability.
Definition: hci_api.h:890
void HciLeSetPhyCmd(uint16_t handle, uint8_t allPhys, uint8_t txPhys, uint8_t rxPhys, uint16_t phyOptions)
HCI set PHY command.
uint8_t framing
Indicates the format of CIS Data PDUs.
Definition: hci_api.h:1105
wsfMsgHdr_t hdr
Event header.
Definition: hci_api.h:725
wsfMsgHdr_t hdr
Event header.
Definition: hci_api.h:857
LE set connection CTE receive parameters command complete event.
Definition: hci_api.h:658
LE set periodic advertising set info transfer command complete event.
Definition: hci_api.h:624
void HciReadRemoteVerInfoCmd(uint16_t handle)
HCI read remote version info command.
uint8_t codecId
Codec ID.
Definition: hci_api.h:864
wsfMsgHdr_t hdr
Event header.
Definition: hci_api.h:781
hciAuthPayloadToExpiredEvt_t authPayloadToExpired
Authenticated payload to expired.
Definition: hci_api.h:973
uint8_t rssi
RSSI.
Definition: hci_api.h:268
hciLeRemConnParamReqEvt_t leRemConnParamReq
LE remote connection parameter request.
Definition: hci_api.h:968
int8_t rssi
RSSI.
Definition: hci_api.h:215
HciLeTerminateBigCmplEvt_t leTerminateBigCmpl
LE terminate BIG complete.
Definition: hci_api.h:1007
uint8_t HciGetNumBufs(void)
Return the number of ACL buffers supported by the controller.
hciReadChanMapCmdCmplEvt_t readChanMapCmdCmpl
Read channel map command complete.
Definition: hci_api.h:941
uint16_t supportedMaxTxOctets
Supported maximum Tx octets.
Definition: hci_api.h:485
uint16_t syncHandle
Periodic advertising train handle.
Definition: hci_api.h:1140
void HciLeEncryptCmd(uint8_t *pKey, uint8_t *pData)
HCI LE encrypt command.
uint8_t codingFmt
Coding Format.
Definition: hci_api.h:1175
uint8_t status
Status.
Definition: hci_api.h:310
LE scan request received.
Definition: hci_api.h:240
wsfMsgHdr_t hdr
Event header.
Definition: hci_api.h:524
Configure data path parameters.
Definition: hci_api.h:1164
LE remove device from resolving list command complete event.
Definition: hci_api.h:560
uint8_t peerAddrType
Peer Address Type.
Definition: hci_api.h:1058
hciReadLocalSupCtrDlyCmdCmplEvt_t readLocalSupCtrDlyCmdCmpl
Read local supported controller delay command complete.
Definition: hci_api.h:1005
LE Read channel map command complete event.
Definition: hci_api.h:316
LE advertising report event.
Definition: hci_api.h:189
uint8_t bigHandle
BIG handle.
Definition: hci_api.h:799
hciLeRemoveIsoDataPathCmdCmplEvt_t leRemoveIsoDataPathCmdCmpl
LE remove ISO data path command complete.
Definition: hci_api.h:1001
uint8_t status
Status.
Definition: hci_api.h:525
void HciLeSetExtScanParamCmd(uint8_t ownAddrType, uint8_t scanFiltPolicy, uint8_t scanPhys, hciExtScanParam_t *pScanParam)
HCI LE set extended scanning parameters command.
void HciLeClearPerAdvListCmd(void)
HCI LE clear periodic advertiser list command.
void HciReadBdAddrCmd(void)
HCI read BD address command.
uint8_t priPhy
Primary PHY.
Definition: hci_api.h:211
void HciReadLocalSupControllerDlyCmd(HciReadLocalSupControllerDly_t *pDelayParam)
HCI read local supported controller delay command.
LE local p256 ecc key command complete event.
Definition: hci_api.h:514
wsfMsgHdr_t hdr
Event header.
Definition: hci_api.h:505
uint8_t status
Status.
Definition: hci_api.h:790
wsfMsgHdr_t hdr
Event header.
Definition: hci_api.h:413
uint16_t isoInterval
Time between two consecutive ISO anchor points.
Definition: hci_api.h:719
wsfMsgHdr_t hdr
Event header.
Definition: hci_api.h:601
Config data path command complete event.
Definition: hci_api.h:855
void HciLeStartEncryptionCmd(uint16_t handle, uint8_t *pRand, uint16_t diversifier, uint8_t *pKey)
HCI LE start encryption command.
uint8_t bigHandle
BIG handle.
Definition: hci_api.h:764
bdAddr_t advAddr
Advertiser address.
Definition: hci_api.h:256
#define HCI_MAX_CIS_COUNT
Definition: hci_defs.h:1479
wsfMsgHdr_t hdr
Event header.
Definition: hci_api.h:164
void HciLeSetScanEnableCmd(uint8_t enable, uint8_t filterDup)
HCI LE set scan enable command.
#define HCI_MAX_BIS_COUNT
Definition: hci_defs.h:1486
hciLePhyUpdateEvt_t lePhyUpdate
LE PHY update.
Definition: hci_api.h:976
uint8_t * pData
Data buffer.
Definition: hci_api.h:220
uint16_t lmpSubversion
LMP Sub-version.
Definition: hci_api.h:927
LE remote connection parameter request reply command complete event.
Definition: hci_api.h:441
void HciLeRemoteConnParamReqNegReply(uint16_t handle, uint8_t reason)
HCI Remote Connection Parameter Request Negative Reply.
uint8_t directAddrType
Direct advertising address type.
Definition: hci_api.h:200
uint16_t cisHandle
CIS connection handle.
Definition: hci_api.h:727
uint8_t rssiAntennaId
RSSI Antenna ID.
Definition: hci_api.h:639
int16_t rssi
RSSI.
Definition: hci_api.h:638
bdAddr_t addr
Address.
Definition: hci_api.h:210
hciLeReadPeerResAddrCmdCmplEvt_t leReadPeerResAddrCmdCmpl
LE read peer resolvable address command complete.
Definition: hci_api.h:956
uint16_t scanWindow
Scan window.
Definition: hci_api.h:1081
Vendor specific event.
Definition: hci_api.h:411
uint16_t handle
Connection handle.
Definition: hci_api.h:585
uint16_t vsCodecId
Vendor-defined codec ID (ignored if &#39;codingFmt&#39; not 0xFF).
Definition: hci_api.h:1177
uint8_t irc
Number of times a payload is transmitted in a BIS event.
Definition: hci_api.h:771
void HciReadLocalSupCodecCapCmd(HciReadLocalSupCodecCaps_t *pCodecParam)
HCI read local supported codec capabilities command.
void HciLeWriteRfPathComp(int16_t txPathComp, int16_t rxPathComp)
HCI LE write RF path compensation command.
uint8_t pto
Offset used for pre-transmissions.
Definition: hci_api.h:770
hciLeRemConnParamRepEvt_t leRemConnParamRepCmdCmpl
LE Remo Connection Parameter Reply Command Complete.
Definition: hci_api.h:962
LE connection CTE response enable command complete event.
Definition: hci_api.h:682
hciLeConnCteReqEnableCmdCmplEvt_t leConnCteReqEnableCmdCmpl
LE connection CTE request enable command complete.
Definition: hci_api.h:992
uint32_t sduInterUsec
Interval, in microseconds, of BIG SDUs.
Definition: hci_api.h:1125
void HciLeSetAddrResolutionEnable(uint8_t enable)
HCI enable or disable address resolution command.
uint16_t len
Data buffer length.
Definition: hci_api.h:219
hciLeSetupIsoDataPathCmdCmplEvt_t leSetupIsoDataPathCmdCmpl
LE setup ISO data path command complete.
Definition: hci_api.h:1000
Disconnect complete event.
Definition: hci_api.h:162
wsfMsgHdr_t hdr
Event header.
Definition: hci_api.h:584
uint8_t advHandle
Advertising handle.
Definition: hci_api.h:243
void HciReadLocalSupCodecsCmd(void)
HCI read local supported codecs command.
void HciLeClearWhiteListCmd(void)
HCI LE clear white list command.
uint16_t suggestedMaxTxTime
Suggested maximum Tx time.
Definition: hci_api.h:462
uint8_t pto
Offset used for pre-transmissions.
Definition: hci_api.h:803
uint16_t supportedMaxTxTime
Supported maximum Tx time.
Definition: hci_api.h:486
uint8_t cigId
CIG identifier.
Definition: hci_api.h:756
wsfMsgHdr_t hdr
Event header.
Definition: hci_api.h:754
LE connection CTE request enable command complete event.
Definition: hci_api.h:674
uint8_t reason
Reason.
Definition: hci_api.h:167
uint8_t status
Status.
Definition: hci_api.h:745
uint16_t handle
Connection handle.
Definition: hci_api.h:382
hciReadTxPwrLvlCmdCmplEvt_t readTxPwrLvlCmdCmpl
Read Tx power level command complete.
Definition: hci_api.h:942
uint16_t compId
Company ID (ignored if &#39;codingFmt&#39; not 0xFF).
Definition: hci_api.h:1156
void HciLeSetConnCteRxParamsCmd(uint16_t connHandle, uint8_t samplingEnable, uint8_t slotDurations, uint8_t switchPatternLen, uint8_t *pAntennaIDs)
HCI LE set connection CTE receive parameters command.
hciLeConnCteRspEnableCmdCmplEvt_t leConnCteRspEnableCmdCmpl
LE connection CTE response enable command complete.
Definition: hci_api.h:993
void HciLeSetExtScanRespDataCmd(uint8_t advHandle, uint8_t op, uint8_t fragPref, uint8_t len, const uint8_t *pData)
HCI LE set extended scan response data command.
LE BIG Info Advertising Report event.
Definition: hci_api.h:820
uint32_t sduIntervalMToS
The time interval between the start of consecutive SDUs from the master Host.
Definition: hci_api.h:1101
wsfMsgHdr_t hdr
Event header.
Definition: hci_api.h:897
uint8_t secAdvPhy
Secondary Advertising PHY.
Definition: hci_api.h:1064
uint8_t filterPolicy
Scan filter policy.
Definition: hci_api.h:1036
LE read remote features complete event.
Definition: hci_api.h:345
LE remove CIG command complete event.
Definition: hci_api.h:752
uint8_t status
Status.
Definition: hci_api.h:174
void HciLeSetDefaultPhyCmd(uint8_t allPhys, uint8_t txPhys, uint8_t rxPhys)
HCI set default PHY command.
LE set data len command complete event.
Definition: hci_api.h:473
LE request peer SCA complete.
Definition: hci_api.h:733
uint8_t cigId
CIG identifier.
Definition: hci_api.h:728
hciLeLtkReqNegReplCmdCmplEvt_t leLtkReqNegReplCmdCmpl
LE LT request negative reply command complete.
Definition: hci_api.h:946
void HciCoreInit(void)
HCI core initialization.
hciLeClearResListCmdCmplEvt_t leClearResListCmdCmpl
LE clear resolving list command complete.
Definition: hci_api.h:961
#define HCI_P256_KEY_LEN
Definition: hci_defs.h:1449
HciLeCisEstEvt_t leCisEst
LE CIS established.
Definition: hci_api.h:997
uint16_t handle
Connection handle.
Definition: hci_api.h:320
hciReadLocalSupCodecsCmdCmplEvt_t readLocalSupCodecsCmdCmpl
Read local supported codecs command complete.
Definition: hci_api.h:1003
hciEncKeyRefreshCmpl_t encKeyRefreshCmpl
Encryption key refresh complete.
Definition: hci_api.h:947
uint16_t vsCodecId
Vendor-defined codec ID (ignored if &#39;codingFmt&#39; not 0xFF).
Definition: hci_api.h:1187
#define HCI_BC_LEN
Definition: hci_defs.h:1451
uint8_t status
Status.
Definition: hci_api.h:357
wsfMsgHdr_t hdr
Event header.
Definition: hci_api.h:905
HciLeBigInfoAdvRptEvt_t leBigInfoAdvRpt
LE BIG info advertising report.
Definition: hci_api.h:1011
uint8_t scanAddrType
Scanner address type.
Definition: hci_api.h:244
uint16_t codecId
Codec ID.
Definition: hci_api.h:871
uint8_t status
Status.
Definition: hci_api.h:592
uint16_t handle
Connection handle.
Definition: hci_api.h:678
LE periodic advertising sync established.
Definition: hci_api.h:249
uint8_t * pCodecConfig
Codec-specific configuration data.
Definition: hci_api.h:1191
uint8_t direction
Direction.
Definition: hci_api.h:1179
wsfMsgHdr_t hdr
Event header.
Definition: hci_api.h:540
void HciLeSetExtAdvParamCmd(uint8_t advHandle, hciExtAdvParam_t *pExtAdvParam)
HCI LE set extended advertising parameters command.
uint16_t compId
Company ID.
Definition: hci_api.h:870
uint8_t * HciGetSupStates(void)
Return the states supported by the controller.
uint16_t supTimeout
Supervision timeout.
Definition: hci_api.h:1028
uint8_t sca
Sleep clock accuracy.
Definition: hci_api.h:1103
uint16_t encDiversifier
LTK encryption diversifier.
Definition: hci_api.h:392
wsfMsgHdr_t hdr
Event header.
Definition: hci_api.h:380
uint8_t * pCodecConfig
Codec configuration.
Definition: hci_api.h:1160
bdAddr_t peerRpa
Peer RPA.
Definition: hci_api.h:158
uint8_t phys
Transmitter PHYs of packets.
Definition: hci_api.h:1129
uint16_t maxTxOctets
Maximum Tx octets.
Definition: hci_api.h:507
void HciSetMaxRxAclLen(uint16_t len)
Set the maximum reassembled RX ACL packet length. Minimum value is 27.
uint8_t transType
Logical transport type.
Definition: hci_api.h:1188
wsfMsgHdr_t hdr
Event header.
Definition: hci_api.h:347
uint16_t supTimeout
Supervision timeout.
Definition: hci_api.h:153
wsfMsgHdr_t hdr
Event header.
Definition: hci_api.h:265
uint8_t status
Status.
Definition: hci_api.h:609
LE scan timeout.
Definition: hci_api.h:224
LE rand command complete event.
Definition: hci_api.h:433
bdAddr_t directAddr
Directed address.
Definition: hci_api.h:218
void HciReadLocalSupFeatCmd(void)
HCI read local supported feature command.
Vendor specific command status event.
Definition: hci_api.h:396
uint8_t directAddrType
Directed address type.
Definition: hci_api.h:217
uint16_t bigSyncTimeout
Synchronization timeout for the BIS, in the units of 10ms.
Definition: hci_api.h:1144
Standard codec info block.
Definition: hci_api.h:862
const uint8_t * pPeerAddr
Address of peer device.
Definition: hci_api.h:1039
wsfMsgHdr_t hdr
Event header.
Definition: hci_api.h:191
uint16_t connLatency
Connection latency.
Definition: hci_api.h:177
void HciLeCreateBigCmd(HciCreateBig_t *pCreateBig)
HCI LE create BIG command.
uint8_t txPhy
Tx PHY.
Definition: hci_api.h:594
wsfMsgHdr_t hdr
Event header.
Definition: hci_api.h:451
void HciLeSetPerAdvEnableCmd(uint8_t enable, uint8_t advHandle)
HCI LE set periodic advertising enable command.
hciLeAdvReportEvt_t leAdvReport
LE advertising report.
Definition: hci_api.h:939
void HciLeRemoteConnParamReqReply(uint16_t handle, uint16_t intervalMin, uint16_t intervalMax, uint16_t latency, uint16_t timeout, uint16_t minCeLen, uint16_t maxCeLen)
HCI Remote Connection Parameter Request Reply.
hciVendorSpecEvt_t vendorSpec
Vendor specific.
Definition: hci_api.h:952
int8_t rssi
RSSI.
Definition: hci_api.h:194
void HciLeConnCteRspEnableCmd(uint16_t connHandle, uint8_t enable)
HCI LE connection CTE response enable command.
uint8_t len
length of advertising or scan response data.
Definition: hci_api.h:193
Software foundation OS API.
uint8_t numAntennae
Number of Antennae.
Definition: hci_api.h:695
uint8_t codingFmt
Coding Format.
Definition: hci_api.h:1155
Common message structure passed to event handler.
Definition: wsf_os.h:106
hciLeReadLocalResAddrCmdCmplEvt_t leReadLocalResAddrCmdCmpl
LE read local resolvable address command complete.
Definition: hci_api.h:957
uint8_t numBis
Total number of BISes in the BIG.
Definition: hci_api.h:1124
void HciVsAeInit(uint8_t param)
Vendor-specific controller AE initialization function.
LE read maximum data len command complete event.
Definition: hci_api.h:481
Read local supported codecs command complete event.
Definition: hci_api.h:875
uint8_t status
Status.
Definition: hci_api.h:517
void HciLeAddDeviceToPerAdvListCmd(uint8_t advAddrType, uint8_t *pAdvAddr, uint8_t advSid)
HCI LE add device to periodic advertiser list command.
uint16_t compId
Company ID (ignored if &#39;codingFmt&#39; not 0xFF).
Definition: hci_api.h:1186
bdAddr_t scanAddr
Scanner address.
Definition: hci_api.h:245
hciEncChangeEvt_t encChange
Encryption change.
Definition: hci_api.h:948
uint8_t * pPeerAddr
Peer Address.
Definition: hci_api.h:1059
uint16_t handle
Connection handle.
Definition: hci_api.h:477
#define HCI_DH_KEY_LEN
Definition: hci_defs.h:1450
void HciLeReadBufSizeCmd(void)
HCI LE read buffer size command.
uint32_t priAdvInterMin
Primary Advertising Interval Minimum.
Definition: hci_api.h:1054
hciLeConnIQReportEvt_t leConnIQReport
LE connection IQ report.
Definition: hci_api.h:988
hciLeSetDataLenEvt_t leSetDataLenCmdCmpl
LE set data length command complete.
Definition: hci_api.h:966
#define HCI_CODEC_CAP_DATA_LEN
Definition: hci_defs.h:1623
uint8_t rteSToM
Maximum number of times every PDU should be retransmitted from the slave to master.
Definition: hci_api.h:1094
LE channel selection algorithm.
Definition: hci_api.h:299
void HciLeSetExtAdvDataCmd(uint8_t advHandle, uint8_t op, uint8_t fragPref, uint8_t len, const uint8_t *pData)
HCI LE set extended advertising data command.
uint16_t syncHandle
Sync handle.
Definition: hci_api.h:289
void HciLePerAdvSetInfoTrsfCmd(uint16_t connHandle, uint16_t serviceData, uint8_t advHandle)
HCI LE set periodic advertising set info transfer command.
uint8_t status
Status.
Definition: hci_api.h:365
wsfMsgHdr_t hdr
Event header.
Definition: hci_api.h:398
wsfMsgHdr_t hdr
Event header.
Definition: hci_api.h:405
uint16_t handle
Connection handle.
Definition: hci_api.h:578
uint8_t clockAccuracy
Advertiser clock accuracy.
Definition: hci_api.h:259
uint8_t numBis
Number of BIS.
Definition: hci_api.h:807
uint16_t supTimeout
Supervision timeout.
Definition: hci_api.h:178
void HciLeSetEventMaskCmd(uint8_t *pLeEventMask)
HCI LE set event mask command.
uint8_t status
Status.
Definition: hci_api.h:233
uint16_t perAdvInterval
Periodic advertising interval.
Definition: hci_api.h:258
void HciLeSetupIsoDataPathCmd(HciIsoSetupDataPath_t *pDataPathParam)
HCI LE setup ISO data path command.
uint16_t handle
Connection handle.
Definition: hci_api.h:374
uint8_t * HciGetBdAddr(void)
Return a pointer to the BD address of this device.
uint8_t switchSampleRates
Supported Switching Sampling Rates.
Definition: hci_api.h:694
LE generate DH key command complete event.
Definition: hci_api.h:522
void HciSetLeSupFeat(uint64_t feat, bool_t flag)
Set LE supported features configuration mask.
uint16_t handle
Connection handle.
Definition: hci_api.h:311
Local version information.
Definition: hci_api.h:921
CIS create CIS parameters.
Definition: hci_api.h:1113
uint32_t transLatUsec
The maximum time, in microseconds, for transmission of SDUs of all BISes.
Definition: hci_api.h:800
uint8_t ownAddrType
Own Address Type.
Definition: hci_api.h:1057
uint16_t perAdvInterval
Periodic advertising interval.
Definition: hci_api.h:294
wsfMsgHdr_t hdr
Event header.
Definition: hci_api.h:364
uint16_t supportedMaxRxTime
Supported maximum Rx time.
Definition: hci_api.h:488
uint8_t bigHandle
BIG handle.
Definition: hci_api.h:782
wsfMsgHdr_t hdr
Event header.
Definition: hci_api.h:652
uint8_t secPhy
Secondary PHY.
Definition: hci_api.h:212
LE advertising set terminated.
Definition: hci_api.h:230
void HciSetLeSupFeat32(uint32_t feat, bool_t flag)
Set LE supported features configuration mask.
LE periodic advertising synch lost.
Definition: hci_api.h:276
void HciLeSetPerAdvSyncTrsfParamsCmd(uint16_t connHandle, uint8_t mode, uint16_t skip, uint16_t syncTimeout, uint8_t cteType)
HCI LE set periodic advertising sync transfer parameters command.
void HciLeReadLocalSupFeatCmd(void)
HCI LE read local supported feautre command.
void HciLeLtkReqNegReplCmd(uint16_t handle)
HCI LE long term key request negative reply command.
Read local supported codec capabilities parameters.
Definition: hci_api.h:1173
hciWriteAuthPayloadToCmdCmplEvt_t writeAuthPayloadToCmdCmpl
Write authenticated payload to command complete.
Definition: hci_api.h:972
wsfMsgHdr_t hdr
Event header.
Definition: hci_api.h:548
uint8_t status
Status.
Definition: hci_api.h:736
void HciLeIsoReadTestCounters(uint16_t handle)
HCI LE read ISO test counter.
uint16_t advEventProp
Advertising Event Properties.
Definition: hci_api.h:1053
hciLeReadDefDataLenEvt_t leReadDefDataLenCmdCmpl
LE read default data length command complete.
Definition: hci_api.h:964
void HciLeRemoveDevWhiteListCmd(uint8_t addrType, uint8_t *pAddr)
HCI LE remove device white list command.
wsfMsgHdr_t hdr
Event header.
Definition: hci_api.h:841
uint16_t handle
Connection handle.
Definition: hci_api.h:390
uint16_t HciGetBufSize(void)
Return the ACL buffer size supported by the controller.
void HciLeConnCteReqEnableCmd(uint16_t connHandle, uint8_t enable, uint16_t cteReqInt, uint8_t reqCteLen, uint8_t reqCteType)
HCI LE connection CTE request enable command.
uint8_t slotDurations
Slot Durations.
Definition: hci_api.h:641
uint16_t connLatency
Connection latency.
Definition: hci_api.h:1027
uint8_t lmpVersion
LMP version.
Definition: hci_api.h:925
Important Information for this Arm website

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