Airoha M0 BLE API  1.0.5.4
hci_constant.h
1 /******************************************************************************
2 Copyright (c) Airoha 2016 - All rights reserved
3 
4 FILE NAME
5  hci_constant.h
6 DESCRIPTION
7 NOTES
8 ********************************************************************************/
9 #ifndef _HCI_CONSTANT_H_
10 #define _HCI_CONSTANT_H_
11 #include "hci.h"
12 #include "platform.h"
14 // Bluetooth HCI Command Definitions ///////////////////////////////////////////
16 /*
17  * Status
18  */
19 typedef enum
20 {
22  hci_success = 0,
27  hci_error_illegal_command,
30  hci_error_no_connection,
33  hci_error_hardware_fail,
37  hci_error_page_timeout,
41  hci_error_auth_fail,
43  hci_error_key_missing,
46  hci_error_memory_full,
49  hci_error_conn_timeout,
53  hci_error_max_nr_of_conns,
56  hci_error_max_nr_of_sco,
59  hci_error_max_nr_of_acl,
64  hci_error_command_disallowed,
67  hci_error_rej_by_remote_no_res,
70  hci_error_rej_by_remote_sec,
74  hci_error_rej_by_remote_pers,
77  hci_error_host_timeout = 0x10,
80  hci_error_unsupported_feature,
82  hci_error_illegal_format,
85  hci_error_oetc_user,
88  hci_error_oetc_low_resource,
91  hci_error_oetc_powering_off,
93  hci_error_conn_term_local_host,
97  hci_error_auth_repeated,
101  hci_error_pairing_not_allowed,
103  hci_error_unknown_lmp_pdu,
106  hci_error_unsupported_rem_feature,
109  hci_error_sco_offset_rejected,
112  hci_error_sco_interval_rejected,
115  hci_error_sco_air_mode_rejected,
122  hci_error_invalid_lmp_parameters,
124  hci_error_unspecified,
130  hci_error_unsupp_lmp_param = 0x20,
133  hci_error_role_change_not_allowed,
136  hci_error_lmp_response_timeout,
139  hci_error_lmp_transaction_collision,
142  hci_error_lmp_pdu_not_allowed,
145  hci_error_enc_mode_not_acceptable,
148  hci_error_unit_key_used,
150  hci_error_qos_not_supported,
153  hci_error_instant_passed,
156  hci_error_pair_unit_key_no_support,
159  hci_error_different_transaction_collision,
161  hci_error_scm_insufficient_resources,
164  hci_error_qos_unacceptable_parameter,
167  hci_error_qos_rejected,
170  hci_error_channel_class_no_support,
173  hci_error_insufficient_security,
176  hci_error_param_out_of_mand_range = 0x30,
178  hci_error_scm_no_longer_reqd,
183  hci_error_role_switch_pending,
185  hci_error_scm_param_change_pending,
188  hci_error_resvd_slot_violation,
192  hci_error_role_switch_failed,
193 
194  hci_error_eir_too_large = 0x36,
195  hci_error_simple_pairing_not_support_by_host = 0x37,
196  hci_error_host_busy_pairing = 0x38,
197  hci_error_directed_advertising_timeout = 0x3C,
198  hci_error_conn_terminated_due_to_mic_fail = 0x3D,
199  hci_error_conn_fail_to_be_established = 0x3E,
200 
202  hci_error_unrecognised = 0x41
203 } HCI_STATUS;
204 /*
205  * HCI Command OGFs
206  */
207 typedef uint8_t HCI_CMD_OGF;
208 #define HCI_CMD_OGF_LINK_CTL (HCI_CMD_OGF)0x01
209 #define HCI_CMD_OGF_LINK_POLICY (HCI_CMD_OGF)0x02
210 #define HCI_CMD_OGF_CTLR_AND_BB (HCI_CMD_OGF)0x03
211 #define HCI_CMD_OGF_INFO_PARA (HCI_CMD_OGF)0x04
212 #define HCI_CMD_OGF_STATUS_PARA (HCI_CMD_OGF)0x05
213 #define HCI_CMD_OGF_TEST (HCI_CMD_OGF)0x06
214 #define HCI_CMD_OGF_LE_CTLR (HCI_CMD_OGF)0x08
215 #define HCI_CMD_OGF_SDK_SPECIFIC (HCI_CMD_OGF)0x10
216 #define HCI_CMD_OGF_VENDER (HCI_CMD_OGF)0x3F
217 
218 
219 /*
220  * HCI Command OCFs
221  */
222 typedef uint16_t HCI_CMD_OCF;
223 
224 /* HCI Command OCF of LINK CONTROL Group */
225 #define HCI_CMD_OCF_INQUIRY (HCI_CMD_OCF)0x01
226 #define HCI_CMD_OCF_INQUIRY_CANCEL (HCI_CMD_OCF)0x02
227 #define HCI_CMD_OCF_PERIODIC_INQUIRY_MODE (HCI_CMD_OCF)0x03
228 #define HCI_CMD_OCF_EXIT_PERIODIC_INQUIRY_MODE (HCI_CMD_OCF)0x04
229 #define HCI_CMD_OCF_CREATE_CONNECTION (HCI_CMD_OCF)0x05
230 #define HCI_CMD_OCF_DISCONNECT (HCI_CMD_OCF)0x06
231 #define HCI_CMD_OCF_ADD_SCO_CONNECTION (HCI_CMD_OCF)0x07 /* Deprecated */
232 #define HCI_CMD_OCF_CREATE_CONNECTION_CANCEL (HCI_CMD_OCF)0x08
233 #define HCI_CMD_OCF_ACCEPT_CONNECTION_REQUEST (HCI_CMD_OCF)0x09
234 #define HCI_CMD_OCF_REJECT_CONNECTION_REQUEST (HCI_CMD_OCF)0x0A
235 #define HCI_CMD_OCF_LINK_KEY_REQUEST_REPLY (HCI_CMD_OCF)0X0B
236 #define HCI_CMD_OCF_LINK_KEY_REQUEST_NEGATIVE_REPLY (HCI_CMD_OCF)0X0C
237 #define HCI_CMD_OCF_PIN_CODE_REQUEST_REPLY (HCI_CMD_OCF)0X0D
238 #define HCI_CMD_OCF_PIN_CODE_REQUEST_NEGATIVE_REPLY (HCI_CMD_OCF)0X0E
239 #define HCI_CMD_OCF_CHANGE_CONNECTION_PACKET_TYPE (HCI_CMD_OCF)0x0F
240 #define HCI_CMD_OCF_ACL_U_GO_STOP_CONFIRM (HCI_CMD_OCF)0x10 /* Airoha defined */
241 #define HCI_CMD_OCF_AUTHENTICATION_REQUESTED (HCI_CMD_OCF)0x11
242 #define HCI_CMD_OCF_ACL_LINK_INDEX_CHANGED_CONFIRM (HCI_CMD_OCF)0x12 /* Airoha defined */
243 #define HCI_CMD_OCF_SET_CONNECTION_ENCRYPTION (HCI_CMD_OCF)0x13
244 #define HCI_CMD_OCF_RESEGMENT_CNF (HCI_CMD_OCF)0x14 /* Airoha defined */
245 #define HCI_CMD_OCF_CHANGE_CONNECTION_LINK_KEY (HCI_CMD_OCF)0x15
246 #define HCI_CMD_OCF_MASTER_LINK_KEY (HCI_CMD_OCF)0x17
247 #define HCI_CMD_OCF_REMOTE_NAME_REQUEST (HCI_CMD_OCF)0x19
248 #define HCI_CMD_OCF_REMOTE_NAME_REQUEST_CANCEL (HCI_CMD_OCF)0x1A
249 #define HCI_CMD_OCF_READ_REMOTE_SUPPORTED_FEATURES (HCI_CMD_OCF)0x1B
250 #define HCI_CMD_OCF_READ_REMOTE_EXTENDED_FEATURES (HCI_CMD_OCF)0x1C
251 #define HCI_CMD_OCF_READ_REMOTE_VERSION_INFORMATION (HCI_CMD_OCF)0x1D
252 #define HCI_CMD_OCF_READ_CLOCK_OFFSET (HCI_CMD_OCF)0x1F
253 #define HCI_CMD_OCF_READ_LMP_HANDLE (HCI_CMD_OCF)0x20
254 #define HCI_CMD_OCF_SETUP_SYNCHRONOUS_CONNECTION (HCI_CMD_OCF)0x28
255 #define HCI_CMD_OCF_ACCEPT_SYNCHRONOUS_CONNECTION_REQUEST (HCI_CMD_OCF)0x29
256 #define HCI_CMD_OCF_REJECT_SYNCHRONOUS_CONNECTION_REQUEST (HCI_CMD_OCF)0x2A
257 #define HCI_CMD_OCF_IO_CAPABILITY_REQUEST_REPLY (HCI_CMD_OCF)0x2B
258 #define HCI_CMD_OCF_USR_CONFIRMATION_REQ_REPLY (HCI_CMD_OCF)0x2C
259 #define HCI_CMD_OCF_USR_CONFIRMATION_REQ_NEGATIVE_REPLY (HCI_CMD_OCF)0x2D
260 #define HCI_CMD_OCF_USR_PASSKEY_REQ_REPLY (HCI_CMD_OCF)0x2E
261 #define HCI_CMD_OCF_USR_PASSKEY_REQ_NEGATIVE_REPLY (HCI_CMD_OCF)0x2F
262 #define HCI_CMD_OCF_REMOTE_OOB_DATA_REQ_REPLY (HCI_CMD_OCF)0x30
263 #define HCI_CMD_OCF_REMOTE_OOB_DATA_REQ_NEGATIVE_REPLY (HCI_CMD_OCF)0x33
264 #define HCI_CMD_OCF_IO_CAPABILITY_REQ_NEGATIVE_REPLY (HCI_CMD_OCF)0x34
265 #define HCI_CMD_OCF_CREATE_PHYSICAL_LINK (HCI_CMD_OCF)0x35
266 #define HCI_CMD_OCF_ACCEPT_PHYSICAL_LINK (HCI_CMD_OCF)0x36
267 #define HCI_CMD_OCF_DISCONNECT_PHYSICAL_LINK (HCI_CMD_OCF)0x37
268 #define HCI_CMD_OCF_CREATE_LOGICAL_LINK (HCI_CMD_OCF)0x38
269 #define HCI_CMD_OCF_ACCEPT_LOGICAL_LINK (HCI_CMD_OCF)0x39
270 #define HCI_CMD_OCF_DISCONNECT_LOGICAL_LINK (HCI_CMD_OCF)0x3A
271 #define HCI_CMD_OCF_LOGICAL_LINK_CANCEL (HCI_CMD_OCF)0x3B
272 #define HCI_CMD_OCF_FLOW_SPEC_MODIFY (HCI_CMD_OCF)0x3C
273 
274 /* HCI Command OCF of LINK POLICY Group */
275 #define HCI_CMD_OCF_HOLD_MODE (HCI_CMD_OCF)0x01
276 #define HCI_CMD_OCF_SNIFF_MODE (HCI_CMD_OCF)0x03
277 #define HCI_CMD_OCF_EXIT_SNIFF_MODE (HCI_CMD_OCF)0x04
278 #define HCI_CMD_OCF_PARK_STATE (HCI_CMD_OCF)0x05
279 #define HCI_CMD_OCF_EXIT_PARK_STATE (HCI_CMD_OCF)0x06
280 #define HCI_CMD_OCF_QOS_SETUP (HCI_CMD_OCF)0x07
281 #define HCI_CMD_OCF_ROLE_DISCOVERY (HCI_CMD_OCF)0x09
282 #define HCI_CMD_OCF_SWITCH_ROLE (HCI_CMD_OCF)0x0B
283 #define HCI_CMD_OCF_READ_LINK_POLICY_SETTINGS (HCI_CMD_OCF)0x0C
284 #define HCI_CMD_OCF_WRITE_LINK_POLICY_SETTINGS (HCI_CMD_OCF)0x0D
285 #define HCI_CMD_OCF_READ_DEFAULT_LINK_POLICY_SETTINGS (HCI_CMD_OCF)0x0E
286 #define HCI_CMD_OCF_WRITE_DEFAULT_LINK_POLICY_SETTINGS (HCI_CMD_OCF)0x0F
287 #define HCI_CMD_OCF_FLOW_SPECIFICATION (HCI_CMD_OCF)0x10
288 #define HCI_CMD_OCF_SNIFF_SUBRATING (HCI_CMD_OCF)0x11
289 
290 /* HCI Command OCF of CONTROLLER AND BASEBAND Group */
291 #define HCI_CMD_OCF_SET_EVENT_MASK (HCI_CMD_OCF)0x01
292 #define HCI_CMD_OCF_RESET (HCI_CMD_OCF)0x03
293 #define HCI_CMD_OCF_SET_EVENT_FILTER (HCI_CMD_OCF)0x05
294 #define HCI_CMD_OCF_FLUSH (HCI_CMD_OCF)0x08
295 #define HCI_CMD_OCF_READ_PIN_TYPE (HCI_CMD_OCF)0x09
296 #define HCI_CMD_OCF_WRITE_PIN_TYPE (HCI_CMD_OCF)0x0A
297 #define HCI_CMD_OCF_CREATE_NEW_UNIT_KEY (HCI_CMD_OCF)0x0B
298 #define HCI_CMD_OCF_READ_STORED_LINK_KEY (HCI_CMD_OCF)0x0D
299 #define HCI_CMD_OCF_WRITE_STORED_LINK_KEY (HCI_CMD_OCF)0x11
300 #define HCI_CMD_OCF_DELETE_STORED_LINK_KEY (HCI_CMD_OCF)0x12
301 #define HCI_CMD_OCF_WRITE_LOCAL_NAME (HCI_CMD_OCF)0x13
302 #define HCI_CMD_OCF_READ_LOCAL_NAME (HCI_CMD_OCF)0x14
303 #define HCI_CMD_OCF_READ_CONNECTION_ACCEPT_TIMEOUT (HCI_CMD_OCF)0x15
304 #define HCI_CMD_OCF_WRITE_CONNECTION_ACCEPT_TIMEOUT (HCI_CMD_OCF)0x16
305 #define HCI_CMD_OCF_READ_PAGE_TIMEOUT (HCI_CMD_OCF)0x17
306 #define HCI_CMD_OCF_WRITE_PAGE_TIMEOUT (HCI_CMD_OCF)0x18
307 #define HCI_CMD_OCF_READ_SCAN_ENABLE (HCI_CMD_OCF)0x19
308 #define HCI_CMD_OCF_WRITE_SCAN_ENABLE (HCI_CMD_OCF)0x1A
309 #define HCI_CMD_OCF_READ_PAGE_SCAN_ACTIVITY (HCI_CMD_OCF)0x1B
310 #define HCI_CMD_OCF_WRITE_PAGE_SCAN_ACTIVITY (HCI_CMD_OCF)0x1C
311 #define HCI_CMD_OCF_READ_INQUIRY_SCAN_ACTIVITY (HCI_CMD_OCF)0x1D
312 #define HCI_CMD_OCF_WRITE_INQUIRY_SCAN_ACTIVITY (HCI_CMD_OCF)0x1E
313 #define HCI_CMD_OCF_READ_AUTHENTICATION_ENABLE (HCI_CMD_OCF)0x1F
314 #define HCI_CMD_OCF_WRITE_AUTHENTICATION_ENABLE (HCI_CMD_OCF)0x20
315 #define HCI_CMD_OCF_READ_ENCRYPTION_MODE (HCI_CMD_OCF)0x21 /* Deprecated */
316 #define HCI_CMD_OCF_WRITE_ENCRYPTION_MODE (HCI_CMD_OCF)0x22 /* Deprecated */
317 #define HCI_CMD_OCF_READ_CLASS_OF_DEVICE (HCI_CMD_OCF)0x23
318 #define HCI_CMD_OCF_WRITE_CLASS_OF_DEVICE (HCI_CMD_OCF)0x24
319 #define HCI_CMD_OCF_READ_VOICE_SETTING (HCI_CMD_OCF)0x25
320 #define HCI_CMD_OCF_WRITE_VOICE_SETTING (HCI_CMD_OCF)0x26
321 #define HCI_CMD_OCF_READ_AUTOMATIC_FLUSH_TIMEOUT (HCI_CMD_OCF)0x27
322 #define HCI_CMD_OCF_WRITE_AUTOMATIC_FLUSH_TIMEOUT (HCI_CMD_OCF)0x28
323 #define HCI_CMD_OCF_READ_NUM_BROADCAST_RETRANSMISSIONS (HCI_CMD_OCF)0x29
324 #define HCI_CMD_OCF_WRITE_NUM_BROADCAST_RETRANSMISSIONS (HCI_CMD_OCF)0x2A
325 #define HCI_CMD_OCF_READ_HOLD_MODE_ACTIVITY (HCI_CMD_OCF)0x2B
326 #define HCI_CMD_OCF_WRITE_HOLD_MODE_ACTIVITY (HCI_CMD_OCF)0x2C
327 #define HCI_CMD_OCF_READ_TRANSMIT_POWER_LEVEL (HCI_CMD_OCF)0x2D
328 #define HCI_CMD_OCF_READ_SYNCHRONOUS_FLOW_CONTROL_ENABLE (HCI_CMD_OCF)0x2E
329 #define HCI_CMD_OCF_WRITE_SYNCHRONOUS_FLOW_CONTROL_ENABLE (HCI_CMD_OCF)0x2F
330 #define HCI_CMD_OCF_SET_CONTROLLER_TO_HOST_FLOW_CONTROL (HCI_CMD_OCF)0x31
331 #define HCI_CMD_OCF_HOST_BUFFER_SIZE (HCI_CMD_OCF)0x33
332 #define HCI_CMD_OCF_HOST_NUMBER_OF_COMPLETED_PACKETS (HCI_CMD_OCF)0x35
333 #define HCI_CMD_OCF_READ_LINK_SUPERVISION_TIMEOUT (HCI_CMD_OCF)0x36
334 #define HCI_CMD_OCF_WRITE_LINK_SUPERVISION_TIMEOUT (HCI_CMD_OCF)0x37
335 #define HCI_CMD_OCF_READ_NUMBER_OF_SUPPORTED_IAC (HCI_CMD_OCF)0x38
336 #define HCI_CMD_OCF_READ_CURRENT_IAC_LAP (HCI_CMD_OCF)0x39
337 #define HCI_CMD_OCF_WRITE_CURRENT_IAC_LAP (HCI_CMD_OCF)0x3A
338 #define HCI_CMD_OCF_SET_AFH_HOST_CHANNEL_CLASSIFICATION (HCI_CMD_OCF)0x3F
339 #define HCI_CMD_OCF_READ_INQUIRY_SCAN_TYPE (HCI_CMD_OCF)0x42
340 #define HCI_CMD_OCF_WRITE_INQUIRY_SCAN_TYPE (HCI_CMD_OCF)0x43
341 #define HCI_CMD_OCF_READ_INQUIRY_MODE (HCI_CMD_OCF)0x44
342 #define HCI_CMD_OCF_WRITE_INQUIRY_MODE (HCI_CMD_OCF)0x45
343 #define HCI_CMD_OCF_READ_PAGE_SCAN_TYPE (HCI_CMD_OCF)0x46
344 #define HCI_CMD_OCF_WRITE_PAGE_SCAN_TYPE (HCI_CMD_OCF)0x47
345 #define HCI_CMD_OCF_READ_AFH_CHANNEL_ASSESSMENT_MODE (HCI_CMD_OCF)0x48
346 #define HCI_CMD_OCF_WRITE_AFH_CHANNEL_ASSESSMENT_MODE (HCI_CMD_OCF)0x49
347 #define HCI_CMD_OCF_READ_EXTENDED_INQUIRY_RESPONSE (HCI_CMD_OCF)0x51
348 #define HCI_CMD_OCF_WRITE_EXTENDED_INQUIRY_RESPONSE (HCI_CMD_OCF)0x52
349 #define HCI_CMD_OCF_REFRESH_ENCRYPTION_KEY (HCI_CMD_OCF)0x53
350 #define HCI_CMD_OCF_READ_SIMPLE_PAIRING_MODE (HCI_CMD_OCF)0x55
351 #define HCI_CMD_OCF_WRITE_SIMPLE_PAIRING_MODE (HCI_CMD_OCF)0x56
352 #define HCI_CMD_OCF_READ_LOCAL_OOB_DATA (HCI_CMD_OCF)0x57
353 #define HCI_CMD_OCF_READ_INQUIRY_RESPONSE_TX_POWER_LEVEL (HCI_CMD_OCF)0x58
354 #define HCI_CMD_OCF_WRITE_INQUIRY_TX_POWER_LEVEL (HCI_CMD_OCF)0x59
355 #define HCI_CMD_OCF_READ_DEFAULT_ERRONEOUS_DATA_REPORTING (HCI_CMD_OCF)0x5A
356 #define HCI_CMD_OCF_WRITE_DEFAULT_ERRONEOUS_DATA_REPORTING (HCI_CMD_OCF)0x5B
357 #define HCI_CMD_OCF_ENHANCED_FLUSH (HCI_CMD_OCF)0x5F
358 #define HCI_CMD_OCF_SEND_KEYPRESS_NOTIFICATION (HCI_CMD_OCF)0x60
359 #define HCI_CMD_OCF_READ_LOGICAL_LINK_ACCEPT_TIMEOUT (HCI_CMD_OCF)0x61
360 #define HCI_CMD_OCF_WRITE_LOGICAL_LINK_ACCEPT_TIMEOUT (HCI_CMD_OCF)0x62
361 #define HCI_CMD_OCF_SET_EVENT_MASK_PAGE_2 (HCI_CMD_OCF)0x63
362 #define HCI_CMD_OCF_READ_LOCATION_DATA (HCI_CMD_OCF)0x64
363 #define HCI_CMD_OCF_WRITE_LOCATION_DATA (HCI_CMD_OCF)0x65
364 #define HCI_CMD_OCF_READ_FLOW_CONTROL_MODE (HCI_CMD_OCF)0x66
365 #define HCI_CMD_OCF_WRITE_FLOW_CONTROL_MODE (HCI_CMD_OCF)0x67
366 #define HCI_CMD_OCF_READ_ENHANCE_TRANSMIT_POWER_LEVEL (HCI_CMD_OCF)0x68
367 #define HCI_CMD_OCF_READ_BEST_EFFORT_FLUSH_TIMEOUT (HCI_CMD_OCF)0x69
368 #define HCI_CMD_OCF_WRITE_BEST_EFFORT_FLUSH_TIMEOUT (HCI_CMD_OCF)0x6A
369 #define HCI_CMD_OCF_SHORT_RANGE_MODE (HCI_CMD_OCF)0x6B
370 #define HCI_CMD_OCF_READ_LE_HOST_SUPPORT (HCI_CMD_OCF)0x6C
371 #define HCI_CMD_OCF_WRITE_LE_HOST_SUPPORT (HCI_CMD_OCF)0x6D
372 
373 /* HCI Command OCF of INFORMATION PARAMETER Group */
374 #define HCI_CMD_OCF_READ_LOCAL_VERSION_INFORMATION (HCI_CMD_OCF)0x01
375 #define HCI_CMD_OCF_READ_LOCAL_SUPPORTED_COMMANDS (HCI_CMD_OCF)0x02
376 #define HCI_CMD_OCF_READ_LOCAL_SUPPORTED_FEATURES (HCI_CMD_OCF)0x03
377 #define HCI_CMD_OCF_READ_LOCAL_EXTENDED_FEATURES (HCI_CMD_OCF)0x04
378 #define HCI_CMD_OCF_READ_BUFFER_SIZE (HCI_CMD_OCF)0x05
379 #define HCI_CMD_OCF_READ_BD_ADDR (HCI_CMD_OCF)0x09
380 #define HCI_CMD_OCF_READ_DATE_BLOCK_SIZE (HCI_CMD_OCF)0x0A
381 
382 /* HCI Command OCF of STATUS PARAMETER Group */
383 #define HCI_CMD_OCF_READ_FAILED_CONTACT_COUNTER (HCI_CMD_OCF)0x01
384 #define HCI_CMD_OCF_RESET_FAILED_CONTACT_COUNTER (HCI_CMD_OCF)0x02
385 #define HCI_CMD_OCF_READ_LINK_QUALITY (HCI_CMD_OCF)0x03
386 #define HCI_CMD_OCF_READ_RSSI (HCI_CMD_OCF)0x05
387 #define HCI_CMD_OCF_READ_AFH_CHANNEL_MAP (HCI_CMD_OCF)0x06
388 #define HCI_CMD_OCF_READ_CLOCK (HCI_CMD_OCF)0x07
389 #define HCI_CMD_OCF_READ_ENCRYPTION_KEY_SIZE (HCI_CMD_OCF)0x08
390 #define HCI_CMD_OCF_READ_LOCAL_AMP_INFO (HCI_CMD_OCF)0x09
391 #define HCI_CMD_OCF_READ_LOCAL_AMP_ASSOC (HCI_CMD_OCF)0x0A
392 #define HCI_CMD_OCF_WRITE_REMOTE_AMP_ASSOC (HCI_CMD_OCF)0x0B
393 
394 /* HCI Command OCF of TEST Group */
395 #define HCI_CMD_OCF_READ_LOOPBACK_MODE (HCI_CMD_OCF)0x01
396 #define HCI_CMD_OCF_WRITE_LOOPBACK_MODE (HCI_CMD_OCF)0x02
397 #define HCI_CMD_OCF_ENABLE_DEVICE_UNDER_TEST_MODE (HCI_CMD_OCF)0x03
398 #define HCI_CMD_OCF_WRITE_SIMPLE_PAIRING_DEBUG_MODE (HCI_CMD_OCF)0x04
399 #define HCI_CMD_OCF_ENABLE_AMP_RECEIVER_REPORTS (HCI_CMD_OCF)0x07
400 #define HCI_CMD_OCF_AMP_TEST_END (HCI_CMD_OCF)0x08
401 #define HCI_CMD_OCF_AMP_TEST (HCI_CMD_OCF)0x09
402 
403 /* HCI Command OCF of LE CONTROLLER Group */
404 #define HCI_CMD_OCF_LE_SET_EVENT_MASK (HCI_CMD_OCF)0x01
405 #define HCI_CMD_OCF_LE_READ_BUFFER_SIZE (HCI_CMD_OCF)0x02
406 #define HCI_CMD_OCF_LE_READ_LOCAL_SUPPORTED_FEATURES (HCI_CMD_OCF)0x03
407 #define HCI_CMD_OCF_LE_SET_RANDOM_ADDRESS (HCI_CMD_OCF)0x05
408 #define HCI_CMD_OCF_LE_SET_ADVERTISING_PARAMETER (HCI_CMD_OCF)0x06
409 #define HCI_CMD_OCF_LE_READ_ADVERTISING_CHANNEL_TX_POWER (HCI_CMD_OCF)0x07
410 #define HCI_CMD_OCF_LE_ADVERTISING_DATA (HCI_CMD_OCF)0x08
411 #define HCI_CMD_OCF_LE_SET_SCAN_RESPONSE_DATA (HCI_CMD_OCF)0x09
412 #define HCI_CMD_OCF_LE_SET_ADVERTISING_ENABLE (HCI_CMD_OCF)0x0A
413 #define HCI_CMD_OCF_LE_SET_SCAN_PARAMETERS (HCI_CMD_OCF)0x0B
414 #define HCI_CMD_OCF_LE_SET_SCAN_ENABLE (HCI_CMD_OCF)0x0C
415 #define HCI_CMD_OCF_LE_CREATE_CONNECTION (HCI_CMD_OCF)0x0D
416 #define HCI_CMD_OCF_LE_CREATE_CONNECTION_CANCEL (HCI_CMD_OCF)0x0E
417 #define HCI_CMD_OCF_LE_READ_WHITE_LIST_SIZE (HCI_CMD_OCF)0x0F
418 #define HCI_CMD_OCF_LE_CLEAR_WHITE_LIST (HCI_CMD_OCF)0x10
419 #define HCI_CMD_OCF_LE_ADD_DEVICE_TO_WHITE_LIST (HCI_CMD_OCF)0x11
420 #define HCI_CMD_OCF_LE_REMOVE_DEVICE_FROM_WHITE_LIST (HCI_CMD_OCF)0x12
421 #define HCI_CMD_OCF_LE_CONNECTION_UPDATE (HCI_CMD_OCF)0x13
422 #define HCI_CMD_OCF_LE_SET_HOST_CHANNEL_CLASSIFICATION (HCI_CMD_OCF)0x14
423 #define HCI_CMD_OCF_LE_READ_CHANNEL_MAP (HCI_CMD_OCF)0x15
424 #define HCI_CMD_OCF_LE_READ_REMOTE_USED_FEATURES (HCI_CMD_OCF)0x16
425 #define HCI_CMD_OCF_LE_ENCRYPT (HCI_CMD_OCF)0x17
426 #define HCI_CMD_OCF_LE_RAND (HCI_CMD_OCF)0x18
427 #define HCI_CMD_OCF_LE_START_ENCRYPTION (HCI_CMD_OCF)0x19
428 #define HCI_CMD_OCF_LE_LONG_TERM_KEY_REQUEST_REPLY (HCI_CMD_OCF)0x1A
429 #define HCI_CMD_OCF_LE_LONG_TERM_KEY_REQUEST_NEGATIVE_REPLY (HCI_CMD_OCF)0x1B
430 #define HCI_CMD_OCF_LE_READ_SUPPORTED_STATES (HCI_CMD_OCF)0x1C
431 #define HCI_CMD_OCF_LE_RECEIVER_TEST (HCI_CMD_OCF)0x1D
432 #define HCI_CMD_OCF_LE_TRANSMITTER_TEST (HCI_CMD_OCF)0x1E
433 #define HCI_CMD_OCF_LE_TEST_END (HCI_CMD_OCF)0x1F
434 #define HCI_CMD_OCF_LE_REMOTE_CONNECTION_PARAM_REQ_REPLY (HCI_CMD_OCF)0x20 /*added in BT 4.1*/
435 #define HCI_CMD_OCF_LE_REMOTE_CONNECTION_PARAM_REQ_NEG_REPLY (HCI_CMD_OCF)0x21 /*added in BT 4.1*/
436 #define HCI_CMD_OCF_LE_READ_LOCAL_P256_PUBLIC_KEY (HCI_CMD_OCF)0x25 /*added in BT 4.2*/
437 #define HCI_CMD_OCF_LE_GENERATE_DHKEY (HCI_CMD_OCF)0x26 /*added in BT 4.2*/
438 
439 /* HCI Command OCF of chip specific Group */
440 #define HCI_CMD_OCF_CHIP_SET_PUB_ADDRESS (HCI_CMD_OCF)0x00
441 #define HCI_CMD_OCF_CHIP_SET_TX_POWER (HCI_CMD_OCF)0x01
442 #define HCI_CMD_OCF_CHIP_GET_PUB_ADDRESS (HCI_CMD_OCF)0x02
443 #define HCI_CMD_OCF_CHIP_READ_SFR (HCI_CMD_OCF)0x03
444 #define HCI_CMD_OCF_CHIP_SET_DISABLE_LAENCY (HCI_CMD_OCF)0x04
445 
446 
447 /*
448  * HCI Command OPCODE
449  */
450 typedef uint16_t HCI_OPCODE;
451 #define HCI_COMBINED_OPCODE(ogf,ocf) (((HCI_OPCODE)(ogf)<<10)|(HCI_OPCODE)(ocf))
452 
453 /* HCI Link Control Command OpCode */
454 #define HCI_CMDCODE_INQUIRY HCI_COMBINED_OPCODE(HCI_CMD_OGF_LINK_CTL,HCI_CMD_OCF_INQUIRY)
455 #define HCI_CMDCODE_INQUIRY_CANCEL HCI_COMBINED_OPCODE(HCI_CMD_OGF_LINK_CTL,HCI_CMD_OCF_INQUIRY_CANCEL)
456 #define HCI_CMDCODE_PERIODIC_INQUIRY_MODE HCI_COMBINED_OPCODE(HCI_CMD_OGF_LINK_CTL,HCI_CMD_OCF_PERIODIC_INQUIRY_MODE)
457 #define HCI_CMDCODE_EXIT_PERIODIC_INQUIRY_MODE HCI_COMBINED_OPCODE(HCI_CMD_OGF_LINK_CTL,HCI_CMD_OCF_EXIT_PERIODIC_INQUIRY_MODE)
458 #define HCI_CMDCODE_CREATE_CONNECTION HCI_COMBINED_OPCODE(HCI_CMD_OGF_LINK_CTL,HCI_CMD_OCF_CREATE_CONNECTION)
459 #define HCI_CMDCODE_DISCONNECT HCI_COMBINED_OPCODE(HCI_CMD_OGF_LINK_CTL,HCI_CMD_OCF_DISCONNECT)
460 #define HCI_CMDCODE_ADD_SCO_CONNECTION HCI_COMBINED_OPCODE(HCI_CMD_OGF_LINK_CTL,HCI_CMD_OCF_ADD_SCO_CONNECTION)
461 #define HCI_CMDCODE_CREATE_CONNECTION_CANCEL HCI_COMBINED_OPCODE(HCI_CMD_OGF_LINK_CTL,HCI_CMD_OCF_CREATE_CONNECTION_CANCEL)
462 #define HCI_CMDCODE_ACCEPT_CONNECTION_REQUEST HCI_COMBINED_OPCODE(HCI_CMD_OGF_LINK_CTL,HCI_CMD_OCF_ACCEPT_CONNECTION_REQUEST)
463 #define HCI_CMDCODE_REJECT_CONNECTION_REQUEST HCI_COMBINED_OPCODE(HCI_CMD_OGF_LINK_CTL,HCI_CMD_OCF_REJECT_CONNECTION_REQUEST)
464 #define HCI_CMDCODE_LINK_KEY_REQUEST_REPLY HCI_COMBINED_OPCODE(HCI_CMD_OGF_LINK_CTL,HCI_CMD_OCF_LINK_KEY_REQUEST_REPLY)
465 #define HCI_CMDCODE_LINK_KEY_REQUEST_NEGATIVE_REPLY HCI_COMBINED_OPCODE(HCI_CMD_OGF_LINK_CTL,HCI_CMD_OCF_LINK_KEY_REQUEST_NEGATIVE_REPLY)
466 #define HCI_CMDCODE_PIN_CODE_REQUEST_REPLY HCI_COMBINED_OPCODE(HCI_CMD_OGF_LINK_CTL,HCI_CMD_OCF_PIN_CODE_REQUEST_REPLY)
467 #define HCI_CMDCODE_PIN_CODE_REQUEST_NEGATIVE_REPLY HCI_COMBINED_OPCODE(HCI_CMD_OGF_LINK_CTL,HCI_CMD_OCF_PIN_CODE_REQUEST_NEGATIVE_REPLY)
468 #define HCI_CMDCODE_CHANGE_CONNECTION_PACKET_TYPE HCI_COMBINED_OPCODE(HCI_CMD_OGF_LINK_CTL,HCI_CMD_OCF_CHANGE_CONNECTION_PACKET_TYPE)
469 #define HCI_CMDCODE_ACL_U_GO_STOP_CONFIRM HCI_COMBINED_OPCODE(HCI_CMD_OGF_LINK_CTL,HCI_CMD_OCF_ACL_U_GO_STOP_CONFIRM)
470 #define HCI_CMDCODE_AUTHENTICATION_REQUESTED HCI_COMBINED_OPCODE(HCI_CMD_OGF_LINK_CTL,HCI_CMD_OCF_AUTHENTICATION_REQUESTED)
471 #define HCI_CMDCODE_ACL_LINK_INDEX_CHANGED_CONFIRM HCI_COMBINED_OPCODE(HCI_CMD_OGF_LINK_CTL,HCI_CMD_OCF_ACL_LINK_INDEX_CHANGED_CONFIRM)
472 #define HCI_CMDCODE_SET_CONNECTION_ENCRYPTION HCI_COMBINED_OPCODE(HCI_CMD_OGF_LINK_CTL,HCI_CMD_OCF_SET_CONNECTION_ENCRYPTION)
473 #define HCI_CMDCODE_RESEGMENT_CNF HCI_COMBINED_OPCODE(HCI_CMD_OGF_LINK_CTL,HCI_CMD_OCF_RESEGMENT_CNF)
474 #define HCI_CMDCODE_CHANGE_CONNECTION_LINK_KEY HCI_COMBINED_OPCODE(HCI_CMD_OGF_LINK_CTL,HCI_CMD_OCF_CHANGE_CONNECTION_LINK_KEY)
475 #define HCI_CMDCODE_MASTER_LINK_KEY HCI_COMBINED_OPCODE(HCI_CMD_OGF_LINK_CTL,HCI_CMD_OCF_MASTER_LINK_KEY)
476 #define HCI_CMDCODE_REMOTE_NAME_REQUEST HCI_COMBINED_OPCODE(HCI_CMD_OGF_LINK_CTL,HCI_CMD_OCF_REMOTE_NAME_REQUEST)
477 #define HCI_CMDCODE_REMOTE_NAME_REQUEST_CANCEL HCI_COMBINED_OPCODE(HCI_CMD_OGF_LINK_CTL,HCI_CMD_OCF_REMOTE_NAME_REQUEST_CANCEL)
478 #define HCI_CMDCODE_READ_REMOTE_SUPPORTED_FEATURES HCI_COMBINED_OPCODE(HCI_CMD_OGF_LINK_CTL,HCI_CMD_OCF_READ_REMOTE_SUPPORTED_FEATURES)
479 #define HCI_CMDCODE_READ_REMOTE_EXTENDED_FEATURES HCI_COMBINED_OPCODE(HCI_CMD_OGF_LINK_CTL,HCI_CMD_OCF_READ_REMOTE_EXTENDED_FEATURES)
480 #define HCI_CMDCODE_READ_REMOTE_VERSION_INFORMATION HCI_COMBINED_OPCODE(HCI_CMD_OGF_LINK_CTL,HCI_CMD_OCF_READ_REMOTE_VERSION_INFORMATION)
481 #define HCI_CMDCODE_READ_CLOCK_OFFSET HCI_COMBINED_OPCODE(HCI_CMD_OGF_LINK_CTL,HCI_CMD_OCF_READ_CLOCK_OFFSET)
482 #define HCI_CMDCODE_READ_LMP_HANDLE HCI_COMBINED_OPCODE(HCI_CMD_OGF_LINK_CTL,HCI_CMD_OCF_READ_LMP_HANDLE)
483 #define HCI_CMDCODE_SETUP_SYNCHRONOUS_CONNECTION HCI_COMBINED_OPCODE(HCI_CMD_OGF_LINK_CTL,HCI_CMD_OCF_SETUP_SYNCHRONOUS_CONNECTION)
484 #define HCI_CMDCODE_ACCEPT_SYNCHRONOUS_CONNECTION_REQUEST HCI_COMBINED_OPCODE(HCI_CMD_OGF_LINK_CTL,HCI_CMD_OCF_ACCEPT_SYNCHRONOUS_CONNECTION_REQUEST)
485 #define HCI_CMDCODE_REJECT_SYNCHRONOUS_CONNECTION_REQUEST HCI_COMBINED_OPCODE(HCI_CMD_OGF_LINK_CTL,HCI_CMD_OCF_REJECT_SYNCHRONOUS_CONNECTION_REQUEST)
486 #define HCI_CMDCODE_IO_CAPABILITY_REQUEST_REPLY HCI_COMBINED_OPCODE(HCI_CMD_OGF_LINK_CTL,HCI_CMD_OCF_IO_CAPABILITY_REQUEST_REPLY)
487 #define HCI_CMDCODE_USR_CONFIRMATION_REQ_REPLY HCI_COMBINED_OPCODE(HCI_CMD_OGF_LINK_CTL,HCI_CMD_OCF_USR_CONFIRMATION_REQ_REPLY)
488 #define HCI_CMDCODE_USR_CONFIRMATION_REQ_NEGATIVE_REPLY HCI_COMBINED_OPCODE(HCI_CMD_OGF_LINK_CTL,HCI_CMD_OCF_USR_CONFIRMATION_REQ_NEGATIVE_REPLY)
489 #define HCI_CMDCODE_USR_PASSKEY_REQ_REPLY HCI_COMBINED_OPCODE(HCI_CMD_OGF_LINK_CTL,HCI_CMD_OCF_USR_PASSKEY_REQ_REPLY)
490 #define HCI_CMDCODE_USR_PASSKEY_REQ_NEGATIVE_REPLY HCI_COMBINED_OPCODE(HCI_CMD_OGF_LINK_CTL,HCI_CMD_OCF_USR_PASSKEY_REQ_NEGATIVE_REPLY)
491 #define HCI_CMDCODE_REMOTE_OOB_DATA_REQ_REPLY HCI_COMBINED_OPCODE(HCI_CMD_OGF_LINK_CTL,HCI_CMD_OCF_REMOTE_OOB_DATA_REQ_REPLY)
492 #define HCI_CMDCODE_REMOTE_OOB_DATA_REQ_NEGATIVE_REPLY HCI_COMBINED_OPCODE(HCI_CMD_OGF_LINK_CTL,HCI_CMD_OCF_REMOTE_OOB_DATA_REQ_NEGATIVE_REPLY)
493 #define HCI_CMDCODE_IO_CAPABILITY_REQ_NEGATIVE_REPLY HCI_COMBINED_OPCODE(HCI_CMD_OGF_LINK_CTL,HCI_CMD_OCF_IO_CAPABILITY_REQ_NEGATIVE_REPLY)
494 #define HCI_CMDCODE_CREATE_PHYSICAL_LINK HCI_COMBINED_OPCODE(HCI_CMD_OGF_LINK_CTL,HCI_CMD_OCF_CREATE_PHYSICAL_LINK)
495 #define HCI_CMDCODE_ACCEPT_PHYSICAL_LINK HCI_COMBINED_OPCODE(HCI_CMD_OGF_LINK_CTL,HCI_CMD_OCF_ACCEPT_PHYSICAL_LINK)
496 #define HCI_CMDCODE_DISCONNECT_PHYSICAL_LINK HCI_COMBINED_OPCODE(HCI_CMD_OGF_LINK_CTL,HCI_CMD_OCF_DISCONNECT_PHYSICAL_LINK)
497 #define HCI_CMDCODE_CREATE_LOGICAL_LINK HCI_COMBINED_OPCODE(HCI_CMD_OGF_LINK_CTL,HCI_CMD_OCF_CREATE_LOGICAL_LINK)
498 #define HCI_CMDCODE_ACCEPT_LOGICAL_LINK HCI_COMBINED_OPCODE(HCI_CMD_OGF_LINK_CTL,HCI_CMD_OCF_ACCEPT_LOGICAL_LINK)
499 #define HCI_CMDCODE_DISCONNECT_LOGICAL_LINK HCI_COMBINED_OPCODE(HCI_CMD_OGF_LINK_CTL,HCI_CMD_OCF_DISCONNECT_LOGICAL_LINK)
500 #define HCI_CMDCODE_LOGICAL_LINK_CANCEL HCI_COMBINED_OPCODE(HCI_CMD_OGF_LINK_CTL,HCI_CMD_OCF_LOGICAL_LINK_CANCEL)
501 #define HCI_CMDCODE_FLOW_SPEC_MODIFY HCI_COMBINED_OPCODE(HCI_CMD_OGF_LINK_CTL,HCI_CMD_OCF_FLOW_SPEC_MODIFY)
502 
503 /* HCI Link Policy Command OpCode */
504 #define HCI_CMDCODE_HOLD_MODE HCI_COMBINED_OPCODE(HCI_CMD_OGF_LINK_POLICY,HCI_CMD_OCF_HOLD_MODE)
505 #define HCI_CMDCODE_SNIFF_MODE HCI_COMBINED_OPCODE(HCI_CMD_OGF_LINK_POLICY,HCI_CMD_OCF_SNIFF_MODE)
506 #define HCI_CMDCODE_EXIT_SNIFF_MODE HCI_COMBINED_OPCODE(HCI_CMD_OGF_LINK_POLICY,HCI_CMD_OCF_EXIT_SNIFF_MODE)
507 #define HCI_CMDCODE_PARK_STATE HCI_COMBINED_OPCODE(HCI_CMD_OGF_LINK_POLICY,HCI_CMD_OCF_PARK_STATE)
508 #define HCI_CMDCODE_EXIT_PARK_STATE HCI_COMBINED_OPCODE(HCI_CMD_OGF_LINK_POLICY,HCI_CMD_OCF_EXIT_PARK_STATE)
509 #define HCI_CMDCODE_QOS_SETUP HCI_COMBINED_OPCODE(HCI_CMD_OGF_LINK_POLICY,HCI_CMD_OCF_QOS_SETUP)
510 #define HCI_CMDCODE_ROLE_DISCOVERY HCI_COMBINED_OPCODE(HCI_CMD_OGF_LINK_POLICY,HCI_CMD_OCF_ROLE_DISCOVERY)
511 #define HCI_CMDCODE_SWITCH_ROLE HCI_COMBINED_OPCODE(HCI_CMD_OGF_LINK_POLICY,HCI_CMD_OCF_SWITCH_ROLE)
512 #define HCI_CMDCODE_READ_LINK_POLICY_SETTINGS HCI_COMBINED_OPCODE(HCI_CMD_OGF_LINK_POLICY,HCI_CMD_OCF_READ_LINK_POLICY_SETTINGS)
513 #define HCI_CMDCODE_WRITE_LINK_POLICY_SETTINGS HCI_COMBINED_OPCODE(HCI_CMD_OGF_LINK_POLICY,HCI_CMD_OCF_WRITE_LINK_POLICY_SETTINGS)
514 #define HCI_CMDCODE_READ_DEFAULT_LINK_POLICY_SETTINGS HCI_COMBINED_OPCODE(HCI_CMD_OGF_LINK_POLICY,HCI_CMD_OCF_READ_DEFAULT_LINK_POLICY_SETTINGS)
515 #define HCI_CMDCODE_WRITE_DEFAULT_LINK_POLICY_SETTINGS HCI_COMBINED_OPCODE(HCI_CMD_OGF_LINK_POLICY,HCI_CMD_OCF_WRITE_DEFAULT_LINK_POLICY_SETTINGS)
516 #define HCI_CMDCODE_FLOW_SPECIFICATION HCI_COMBINED_OPCODE(HCI_CMD_OGF_LINK_POLICY,HCI_CMD_OCF_FLOW_SPECIFICATION)
517 #define HCI_CMDCODE_SNIFF_SUBRATING HCI_COMBINED_OPCODE(HCI_CMD_OGF_LINK_POLICY,HCI_CMD_OCF_SNIFF_SUBRATING)
518 
519 /* HCI Controller And Baseband Command OpCode */
520 #define HCI_CMDCODE_SET_EVENT_MASK HCI_COMBINED_OPCODE(HCI_CMD_OGF_CTLR_AND_BB,HCI_CMD_OCF_SET_EVENT_MASK)
521 #define HCI_CMDCODE_RESET HCI_COMBINED_OPCODE(HCI_CMD_OGF_CTLR_AND_BB,HCI_CMD_OCF_RESET)
522 #define HCI_CMDCODE_SET_EVENT_FILTER HCI_COMBINED_OPCODE(HCI_CMD_OGF_CTLR_AND_BB,HCI_CMD_OCF_SET_EVENT_FILTER)
523 #define HCI_CMDCODE_FLUSH HCI_COMBINED_OPCODE(HCI_CMD_OGF_CTLR_AND_BB,HCI_CMD_OCF_FLUSH)
524 #define HCI_CMDCODE_READ_PIN_TYPE HCI_COMBINED_OPCODE(HCI_CMD_OGF_CTLR_AND_BB,HCI_CMD_OCF_READ_PIN_TYPE)
525 #define HCI_CMDCODE_WRITE_PIN_TYPE HCI_COMBINED_OPCODE(HCI_CMD_OGF_CTLR_AND_BB,HCI_CMD_OCF_WRITE_PIN_TYPE)
526 #define HCI_CMDCODE_CREATE_NEW_UNIT_KEY HCI_COMBINED_OPCODE(HCI_CMD_OGF_CTLR_AND_BB,HCI_CMD_OCF_CREATE_NEW_UNIT_KEY)
527 #define HCI_CMDCODE_READ_STORED_LINK_KEY HCI_COMBINED_OPCODE(HCI_CMD_OGF_CTLR_AND_BB,HCI_CMD_OCF_READ_STORED_LINK_KEY)
528 #define HCI_CMDCODE_WRITE_STORED_LINK_KEY HCI_COMBINED_OPCODE(HCI_CMD_OGF_CTLR_AND_BB,HCI_CMD_OCF_WRITE_STORED_LINK_KEY)
529 #define HCI_CMDCODE_DELETE_STORED_LINK_KEY HCI_COMBINED_OPCODE(HCI_CMD_OGF_CTLR_AND_BB,HCI_CMD_OCF_DELETE_STORED_LINK_KEY)
530 #define HCI_CMDCODE_WRITE_LOCAL_NAME HCI_COMBINED_OPCODE(HCI_CMD_OGF_CTLR_AND_BB,HCI_CMD_OCF_WRITE_LOCAL_NAME)
531 #define HCI_CMDCODE_READ_LOCAL_NAME HCI_COMBINED_OPCODE(HCI_CMD_OGF_CTLR_AND_BB,HCI_CMD_OCF_READ_LOCAL_NAME)
532 #define HCI_CMDCODE_READ_CONNECTION_ACCEPT_TIMEOUT HCI_COMBINED_OPCODE(HCI_CMD_OGF_CTLR_AND_BB,HCI_CMD_OCF_READ_CONNECTION_ACCEPT_TIMEOUT)
533 #define HCI_CMDCODE_WRITE_CONNECTION_ACCEPT_TIMEOUT HCI_COMBINED_OPCODE(HCI_CMD_OGF_CTLR_AND_BB,HCI_CMD_OCF_WRITE_CONNECTION_ACCEPT_TIMEOUT)
534 #define HCI_CMDCODE_READ_PAGE_TIMEOUT HCI_COMBINED_OPCODE(HCI_CMD_OGF_CTLR_AND_BB,HCI_CMD_OCF_READ_PAGE_TIMEOUT)
535 #define HCI_CMDCODE_WRITE_PAGE_TIMEOUT HCI_COMBINED_OPCODE(HCI_CMD_OGF_CTLR_AND_BB,HCI_CMD_OCF_WRITE_PAGE_TIMEOUT)
536 #define HCI_CMDCODE_READ_SCAN_ENABLE HCI_COMBINED_OPCODE(HCI_CMD_OGF_CTLR_AND_BB,HCI_CMD_OCF_READ_SCAN_ENABLE)
537 #define HCI_CMDCODE_WRITE_SCAN_ENABLE HCI_COMBINED_OPCODE(HCI_CMD_OGF_CTLR_AND_BB,HCI_CMD_OCF_WRITE_SCAN_ENABLE)
538 #define HCI_CMDCODE_READ_PAGE_SCAN_ACTIVITY HCI_COMBINED_OPCODE(HCI_CMD_OGF_CTLR_AND_BB,HCI_CMD_OCF_READ_PAGE_SCAN_ACTIVITY)
539 #define HCI_CMDCODE_WRITE_PAGE_SCAN_ACTIVITY HCI_COMBINED_OPCODE(HCI_CMD_OGF_CTLR_AND_BB,HCI_CMD_OCF_WRITE_PAGE_SCAN_ACTIVITY)
540 #define HCI_CMDCODE_READ_INQUIRY_SCAN_ACTIVITY HCI_COMBINED_OPCODE(HCI_CMD_OGF_CTLR_AND_BB,HCI_CMD_OCF_READ_INQUIRY_SCAN_ACTIVITY)
541 #define HCI_CMDCODE_WRITE_INQUIRY_SCAN_ACTIVITY HCI_COMBINED_OPCODE(HCI_CMD_OGF_CTLR_AND_BB,HCI_CMD_OCF_WRITE_INQUIRY_SCAN_ACTIVITY)
542 #define HCI_CMDCODE_READ_AUTHENTICATION_ENABLE HCI_COMBINED_OPCODE(HCI_CMD_OGF_CTLR_AND_BB,HCI_CMD_OCF_READ_AUTHENTICATION_ENABLE)
543 #define HCI_CMDCODE_WRITE_AUTHENTICATION_ENABLE HCI_COMBINED_OPCODE(HCI_CMD_OGF_CTLR_AND_BB,HCI_CMD_OCF_WRITE_AUTHENTICATION_ENABLE)
544 #define HCI_CMDCODE_READ_ENCRYPTION_MODE HCI_COMBINED_OPCODE(HCI_CMD_OGF_CTLR_AND_BB,HCI_CMD_OCF_READ_ENCRYPTION_MODE)
545 #define HCI_CMDCODE_WRITE_ENCRYPTION_MODE HCI_COMBINED_OPCODE(HCI_CMD_OGF_CTLR_AND_BB,HCI_CMD_OCF_WRITE_ENCRYPTION_MODE)
546 #define HCI_CMDCODE_READ_CLASS_OF_DEVICE HCI_COMBINED_OPCODE(HCI_CMD_OGF_CTLR_AND_BB,HCI_CMD_OCF_READ_CLASS_OF_DEVICE)
547 #define HCI_CMDCODE_WRITE_CLASS_OF_DEVICE HCI_COMBINED_OPCODE(HCI_CMD_OGF_CTLR_AND_BB,HCI_CMD_OCF_WRITE_CLASS_OF_DEVICE)
548 #define HCI_CMDCODE_READ_VOICE_SETTING HCI_COMBINED_OPCODE(HCI_CMD_OGF_CTLR_AND_BB,HCI_CMD_OCF_READ_VOICE_SETTING)
549 #define HCI_CMDCODE_WRITE_VOICE_SETTING HCI_COMBINED_OPCODE(HCI_CMD_OGF_CTLR_AND_BB,HCI_CMD_OCF_WRITE_VOICE_SETTING)
550 #define HCI_CMDCODE_READ_AUTOMATIC_FLUSH_TIMEOUT HCI_COMBINED_OPCODE(HCI_CMD_OGF_CTLR_AND_BB,HCI_CMD_OCF_READ_AUTOMATIC_FLUSH_TIMEOUT)
551 #define HCI_CMDCODE_WRITE_AUTOMATIC_FLUSH_TIMEOUT HCI_COMBINED_OPCODE(HCI_CMD_OGF_CTLR_AND_BB,HCI_CMD_OCF_WRITE_AUTOMATIC_FLUSH_TIMEOUT)
552 #define HCI_CMDCODE_READ_NUM_BROADCAST_RETRANSMISSIONS HCI_COMBINED_OPCODE(HCI_CMD_OGF_CTLR_AND_BB,HCI_CMD_OCF_READ_NUM_BROADCAST_RETRANSMISSIONS)
553 #define HCI_CMDCODE_WRITE_NUM_BROADCAST_RETRANSMISSIONS HCI_COMBINED_OPCODE(HCI_CMD_OGF_CTLR_AND_BB,HCI_CMD_OCF_WRITE_NUM_BROADCAST_RETRANSMISSIONS)
554 #define HCI_CMDCODE_READ_HOLD_MODE_ACTIVITY HCI_COMBINED_OPCODE(HCI_CMD_OGF_CTLR_AND_BB,HCI_CMD_OCF_READ_HOLD_MODE_ACTIVITY)
555 #define HCI_CMDCODE_WRITE_HOLD_MODE_ACTIVITY HCI_COMBINED_OPCODE(HCI_CMD_OGF_CTLR_AND_BB,HCI_CMD_OCF_WRITE_HOLD_MODE_ACTIVITY)
556 #define HCI_CMDCODE_READ_TRANSMIT_POWER_LEVEL HCI_COMBINED_OPCODE(HCI_CMD_OGF_CTLR_AND_BB,HCI_CMD_OCF_READ_TRANSMIT_POWER_LEVEL)
557 #define HCI_CMDCODE_READ_SYNCHRONOUS_FLOW_CONTROL_ENABLE HCI_COMBINED_OPCODE(HCI_CMD_OGF_CTLR_AND_BB,HCI_CMD_OCF_READ_SYNCHRONOUS_FLOW_CONTROL_ENABLE)
558 #define HCI_CMDCODE_WRITE_SYNCHRONOUS_FLOW_CONTROL_ENABLE HCI_COMBINED_OPCODE(HCI_CMD_OGF_CTLR_AND_BB,HCI_CMD_OCF_WRITE_SYNCHRONOUS_FLOW_CONTROL_ENABLE)
559 #define HCI_CMDCODE_SET_CONTROLLER_TO_HOST_FLOW_CONTROL HCI_COMBINED_OPCODE(HCI_CMD_OGF_CTLR_AND_BB,HCI_CMD_OCF_SET_CONTROLLER_TO_HOST_FLOW_CONTROL)
560 #define HCI_CMDCODE_HOST_BUFFER_SIZE HCI_COMBINED_OPCODE(HCI_CMD_OGF_CTLR_AND_BB,HCI_CMD_OCF_HOST_BUFFER_SIZE)
561 #define HCI_CMDCODE_HOST_NUMBER_OF_COMPLETED_PACKETS HCI_COMBINED_OPCODE(HCI_CMD_OGF_CTLR_AND_BB,HCI_CMD_OCF_HOST_NUMBER_OF_COMPLETED_PACKETS)
562 #define HCI_CMDCODE_READ_LINK_SUPERVISION_TIMEOUT HCI_COMBINED_OPCODE(HCI_CMD_OGF_CTLR_AND_BB,HCI_CMD_OCF_READ_LINK_SUPERVISION_TIMEOUT)
563 #define HCI_CMDCODE_WRITE_LINK_SUPERVISION_TIMEOUT HCI_COMBINED_OPCODE(HCI_CMD_OGF_CTLR_AND_BB,HCI_CMD_OCF_WRITE_LINK_SUPERVISION_TIMEOUT)
564 #define HCI_CMDCODE_READ_NUMBER_OF_SUPPORTED_IAC HCI_COMBINED_OPCODE(HCI_CMD_OGF_CTLR_AND_BB,HCI_CMD_OCF_READ_NUMBER_OF_SUPPORTED_IAC)
565 #define HCI_CMDCODE_READ_CURRENT_IAC_LAP HCI_COMBINED_OPCODE(HCI_CMD_OGF_CTLR_AND_BB,HCI_CMD_OCF_READ_CURRENT_IAC_LAP)
566 #define HCI_CMDCODE_WRITE_CURRENT_IAC_LAP HCI_COMBINED_OPCODE(HCI_CMD_OGF_CTLR_AND_BB,HCI_CMD_OCF_WRITE_CURRENT_IAC_LAP)
567 #define HCI_CMDCODE_SET_AFH_HOST_CHANNEL_CLASSIFICATION HCI_COMBINED_OPCODE(HCI_CMD_OGF_CTLR_AND_BB,HCI_CMD_OCF_SET_AFH_HOST_CHANNEL_CLASSIFICATION)
568 #define HCI_CMDCODE_READ_INQUIRY_SCAN_TYPE HCI_COMBINED_OPCODE(HCI_CMD_OGF_CTLR_AND_BB,HCI_CMD_OCF_READ_INQUIRY_SCAN_TYPE)
569 #define HCI_CMDCODE_WRITE_INQUIRY_SCAN_TYPE HCI_COMBINED_OPCODE(HCI_CMD_OGF_CTLR_AND_BB,HCI_CMD_OCF_WRITE_INQUIRY_SCAN_TYPE)
570 #define HCI_CMDCODE_READ_INQUIRY_MODE HCI_COMBINED_OPCODE(HCI_CMD_OGF_CTLR_AND_BB,HCI_CMD_OCF_READ_INQUIRY_MODE)
571 #define HCI_CMDCODE_WRITE_INQUIRY_MODE HCI_COMBINED_OPCODE(HCI_CMD_OGF_CTLR_AND_BB,HCI_CMD_OCF_WRITE_INQUIRY_MODE)
572 #define HCI_CMDCODE_READ_PAGE_SCAN_TYPE HCI_COMBINED_OPCODE(HCI_CMD_OGF_CTLR_AND_BB,HCI_CMD_OCF_READ_PAGE_SCAN_TYPE)
573 #define HCI_CMDCODE_WRITE_PAGE_SCAN_TYPE HCI_COMBINED_OPCODE(HCI_CMD_OGF_CTLR_AND_BB,HCI_CMD_OCF_WRITE_PAGE_SCAN_TYPE)
574 #define HCI_CMDCODE_READ_AFH_CHANNEL_ASSESSMENT_MODE HCI_COMBINED_OPCODE(HCI_CMD_OGF_CTLR_AND_BB,HCI_CMD_OCF_READ_AFH_CHANNEL_ASSESSMENT_MODE)
575 #define HCI_CMDCODE_WRITE_AFH_CHANNEL_ASSESSMENT_MODE HCI_COMBINED_OPCODE(HCI_CMD_OGF_CTLR_AND_BB,HCI_CMD_OCF_WRITE_AFH_CHANNEL_ASSESSMENT_MODE)
576 #define HCI_CMDCODE_READ_EXTENDED_INQUIRY_RESPONSE HCI_COMBINED_OPCODE(HCI_CMD_OGF_CTLR_AND_BB,HCI_CMD_OCF_READ_EXTENDED_INQUIRY_RESPONSE)
577 #define HCI_CMDCODE_WRITE_EXTENDED_INQUIRY_RESPONSE HCI_COMBINED_OPCODE(HCI_CMD_OGF_CTLR_AND_BB,HCI_CMD_OCF_WRITE_EXTENDED_INQUIRY_RESPONSE)
578 #define HCI_CMDCODE_REFRESH_ENCRYPTION_KEY HCI_COMBINED_OPCODE(HCI_CMD_OGF_CTLR_AND_BB,HCI_CMD_OCF_REFRESH_ENCRYPTION_KEY)
579 #define HCI_CMDCODE_READ_SIMPLE_PAIRING_MODE HCI_COMBINED_OPCODE(HCI_CMD_OGF_CTLR_AND_BB,HCI_CMD_OCF_READ_SIMPLE_PAIRING_MODE)
580 #define HCI_CMDCODE_WRITE_SIMPLE_PAIRING_MODE HCI_COMBINED_OPCODE(HCI_CMD_OGF_CTLR_AND_BB,HCI_CMD_OCF_WRITE_SIMPLE_PAIRING_MODE)
581 #define HCI_CMDCODE_READ_LOCAL_OOB_DATA HCI_COMBINED_OPCODE(HCI_CMD_OGF_CTLR_AND_BB,HCI_CMD_OCF_READ_LOCAL_OOB_DATA)
582 #define HCI_CMDCODE_READ_INQUIRY_RESPONSE_TX_POWER_LEVEL HCI_COMBINED_OPCODE(HCI_CMD_OGF_CTLR_AND_BB,HCI_CMD_OCF_READ_INQUIRY_RESPONSE_TX_POWER_LEVEL)
583 #define HCI_CMDCODE_WRITE_INQUIRY_TX_POWER_LEVEL HCI_COMBINED_OPCODE(HCI_CMD_OGF_CTLR_AND_BB,HCI_CMD_OCF_WRITE_INQUIRY_TX_POWER_LEVEL)
584 #define HCI_CMDCODE_READ_DEFAULT_ERRONEOUS_DATA_REPORTING HCI_COMBINED_OPCODE(HCI_CMD_OGF_CTLR_AND_BB,HCI_CMD_OCF_READ_DEFAULT_ERRONEOUS_DATA_REPORTING)
585 #define HCI_CMDCODE_WRITE_DEFAULT_ERRONEOUS_DATA_REPORTING HCI_COMBINED_OPCODE(HCI_CMD_OGF_CTLR_AND_BB,HCI_CMD_OCF_WRITE_DEFAULT_ERRONEOUS_DATA_REPORTING)
586 #define HCI_CMDCODE_ENHANCED_FLUSH HCI_COMBINED_OPCODE(HCI_CMD_OGF_CTLR_AND_BB,HCI_CMD_OCF_ENHANCED_FLUSH)
587 #define HCI_CMDCODE_SEND_KEYPRESS_NOTIFICATION HCI_COMBINED_OPCODE(HCI_CMD_OGF_CTLR_AND_BB,HCI_CMD_OCF_SEND_KEYPRESS_NOTIFICATION)
588 #define HCI_CMDCODE_READ_LOGICAL_LINK_ACCEPT_TIMEOUT HCI_COMBINED_OPCODE(HCI_CMD_OGF_CTLR_AND_BB,HCI_CMD_OCF_READ_LOGICAL_LINK_ACCEPT_TIMEOUT)
589 #define HCI_CMDCODE_WRITE_LOGICAL_LINK_ACCEPT_TIMEOUT HCI_COMBINED_OPCODE(HCI_CMD_OGF_CTLR_AND_BB,HCI_CMD_OCF_WRITE_LOGICAL_LINK_ACCEPT_TIMEOUT)
590 #define HCI_CMDCODE_SET_EVENT_MASK_PAGE_2 HCI_COMBINED_OPCODE(HCI_CMD_OGF_CTLR_AND_BB,HCI_CMD_OCF_SET_EVENT_MASK_PAGE_2)
591 #define HCI_CMDCODE_READ_LOCATION_DATA HCI_COMBINED_OPCODE(HCI_CMD_OGF_CTLR_AND_BB,HCI_CMD_OCF_READ_LOCATION_DATA)
592 #define HCI_CMDCODE_WRITE_LOCATION_DATA HCI_COMBINED_OPCODE(HCI_CMD_OGF_CTLR_AND_BB,HCI_CMD_OCF_WRITE_LOCATION_DATA)
593 #define HCI_CMDCODE_READ_FLOW_CONTROL_MODE HCI_COMBINED_OPCODE(HCI_CMD_OGF_CTLR_AND_BB,HCI_CMD_OCF_READ_FLOW_CONTROL_MODE)
594 #define HCI_CMDCODE_WRITE_FLOW_CONTROL_MODE HCI_COMBINED_OPCODE(HCI_CMD_OGF_CTLR_AND_BB,HCI_CMD_OCF_WRITE_FLOW_CONTROL_MODE)
595 #define HCI_CMDCODE_READ_ENHANCE_TRANSMIT_POWER_LEVEL HCI_COMBINED_OPCODE(HCI_CMD_OGF_CTLR_AND_BB,HCI_CMD_OCF_READ_ENHANCE_TRANSMIT_POWER_LEVEL)
596 #define HCI_CMDCODE_READ_BEST_EFFORT_FLUSH_TIMEOUT HCI_COMBINED_OPCODE(HCI_CMD_OGF_CTLR_AND_BB,HCI_CMD_OCF_READ_BEST_EFFORT_FLUSH_TIMEOUT)
597 #define HCI_CMDCODE_WRITE_BEST_EFFORT_FLUSH_TIMEOUT HCI_COMBINED_OPCODE(HCI_CMD_OGF_CTLR_AND_BB,HCI_CMD_OCF_WRITE_BEST_EFFORT_FLUSH_TIMEOUT)
598 #define HCI_CMDCODE_SHORT_RANGE_MODE HCI_COMBINED_OPCODE(HCI_CMD_OGF_CTLR_AND_BB,HCI_CMD_OCF_SHORT_RANGE_MODE)
599 #define HCI_CMDCODE_READ_LE_HOST_SUPPORT HCI_COMBINED_OPCODE(HCI_CMD_OGF_CTLR_AND_BB,HCI_CMD_OCF_READ_LE_HOST_SUPPORT)
600 #define HCI_CMDCODE_WRITE_LE_HOST_SUPPORT HCI_COMBINED_OPCODE(HCI_CMD_OGF_CTLR_AND_BB,HCI_CMD_OCF_WRITE_LE_HOST_SUPPORT)
601 
602 /* HCI Information Parameter Command OpCode */
603 #define HCI_CMDCODE_READ_LOCAL_VERSION_INFORMATION HCI_COMBINED_OPCODE(HCI_CMD_OGF_INFO_PARA,HCI_CMD_OCF_READ_LOCAL_VERSION_INFORMATION)
604 #define HCI_CMDCODE_READ_LOCAL_SUPPORTED_COMMANDS HCI_COMBINED_OPCODE(HCI_CMD_OGF_INFO_PARA,HCI_CMD_OCF_READ_LOCAL_SUPPORTED_COMMANDS)
605 #define HCI_CMDCODE_READ_LOCAL_SUPPORTED_FEATURES HCI_COMBINED_OPCODE(HCI_CMD_OGF_INFO_PARA,HCI_CMD_OCF_READ_LOCAL_SUPPORTED_FEATURES)
606 #define HCI_CMDCODE_READ_LOCAL_EXTENDED_FEATURES HCI_COMBINED_OPCODE(HCI_CMD_OGF_INFO_PARA,HCI_CMD_OCF_READ_LOCAL_EXTENDED_FEATURES)
607 #define HCI_CMDCODE_READ_BUFFER_SIZE HCI_COMBINED_OPCODE(HCI_CMD_OGF_INFO_PARA,HCI_CMD_OCF_READ_BUFFER_SIZE)
608 #define HCI_CMDCODE_READ_BD_ADDR HCI_COMBINED_OPCODE(HCI_CMD_OGF_INFO_PARA,HCI_CMD_OCF_READ_BD_ADDR)
609 #define HCI_CMDCODE_READ_DATE_BLOCK_SIZE HCI_COMBINED_OPCODE(HCI_CMD_OGF_INFO_PARA,HCI_CMD_OCF_READ_DATE_BLOCK_SIZE)
610 
611 /* HCI Status Parameter Command OpCode */
612 #define HCI_CMDCODE_READ_FAILED_CONTACT_COUNTER HCI_COMBINED_OPCODE(HCI_CMD_OGF_STATUS_PARA,HCI_CMD_OCF_READ_FAILED_CONTACT_COUNTER)
613 #define HCI_CMDCODE_RESET_FAILED_CONTACT_COUNTER HCI_COMBINED_OPCODE(HCI_CMD_OGF_STATUS_PARA,HCI_CMD_OCF_RESET_FAILED_CONTACT_COUNTER)
614 #define HCI_CMDCODE_READ_LINK_QUALITY HCI_COMBINED_OPCODE(HCI_CMD_OGF_STATUS_PARA,HCI_CMD_OCF_READ_LINK_QUALITY)
615 #define HCI_CMDCODE_READ_RSSI HCI_COMBINED_OPCODE(HCI_CMD_OGF_STATUS_PARA,HCI_CMD_OCF_READ_RSSI)
616 #define HCI_CMDCODE_READ_AFH_CHANNEL_MAP HCI_COMBINED_OPCODE(HCI_CMD_OGF_STATUS_PARA,HCI_CMD_OCF_READ_AFH_CHANNEL_MAP)
617 #define HCI_CMDCODE_READ_CLOCK HCI_COMBINED_OPCODE(HCI_CMD_OGF_STATUS_PARA,HCI_CMD_OCF_READ_CLOCK)
618 #define HCI_CMDCODE_READ_ENCRYPTION_KEY_SIZE HCI_COMBINED_OPCODE(HCI_CMD_OGF_STATUS_PARA,HCI_CMD_OCF_READ_ENCRYPTION_KEY_SIZE)
619 #define HCI_CMDCODE_READ_LOCAL_AMP_INFO HCI_COMBINED_OPCODE(HCI_CMD_OGF_STATUS_PARA,HCI_CMD_OCF_READ_LOCAL_AMP_INFO)
620 #define HCI_CMDCODE_READ_LOCAL_AMP_ASSOC HCI_COMBINED_OPCODE(HCI_CMD_OGF_STATUS_PARA,HCI_CMD_OCF_READ_LOCAL_AMP_ASSOC)
621 #define HCI_CMDCODE_WRITE_REMOTE_AMP_ASSOC HCI_COMBINED_OPCODE(HCI_CMD_OGF_STATUS_PARA,HCI_CMD_OCF_WRITE_REMOTE_AMP_ASSOC)
622 
623 /* HCI Test Command OpCode */
624 #define HCI_CMDCODE_READ_LOOPBACK_MODE HCI_COMBINED_OPCODE(HCI_CMD_OGF_TEST,HCI_CMD_OCF_READ_LOOPBACK_MODE)
625 #define HCI_CMDCODE_WRITE_LOOPBACK_MODE HCI_COMBINED_OPCODE(HCI_CMD_OGF_TEST,HCI_CMD_OCF_WRITE_LOOPBACK_MODE)
626 #define HCI_CMDCODE_ENABLE_DEVICE_UNDER_TEST_MODE HCI_COMBINED_OPCODE(HCI_CMD_OGF_TEST,HCI_CMD_OCF_ENABLE_DEVICE_UNDER_TEST_MODE)
627 #define HCI_CMDCODE_WRITE_SIMPLE_PAIRING_DEBUG_MODE HCI_COMBINED_OPCODE(HCI_CMD_OGF_TEST,HCI_CMD_OCF_WRITE_SIMPLE_PAIRING_DEBUG_MODE)
628 #define HCI_CMDCODE_ENABLE_AMP_RECEIVER_REPORTS HCI_COMBINED_OPCODE(HCI_CMD_OGF_TEST,HCI_CMD_OCF_ENABLE_AMP_RECEIVER_REPORTS)
629 #define HCI_CMDCODE_AMP_TEST_END HCI_COMBINED_OPCODE(HCI_CMD_OGF_TEST,HCI_CMD_OCF_AMP_TEST_END)
630 #define HCI_CMDCODE_AMP_TEST HCI_COMBINED_OPCODE(HCI_CMD_OGF_TEST,HCI_CMD_OCF_AMP_TEST)
631 
632 /* HCI LC Controller Command OpCode */
633 #define HCI_CMDCODE_LE_SET_EVENT_MASK HCI_COMBINED_OPCODE(HCI_CMD_OGF_LE_CTLR,HCI_CMD_OCF_LE_SET_EVENT_MASK)
634 #define HCI_CMDCODE_LE_READ_BUFFER_SIZE HCI_COMBINED_OPCODE(HCI_CMD_OGF_LE_CTLR,HCI_CMD_OCF_LE_READ_BUFFER_SIZE)
635 #define HCI_CMDCODE_LE_READ_LOCAL_SUPPORTED_FEATURES HCI_COMBINED_OPCODE(HCI_CMD_OGF_LE_CTLR,HCI_CMD_OCF_LE_READ_LOCAL_SUPPORTED_FEATURES)
636 #define HCI_CMDCODE_LE_SET_RANDOM_ADDRESS HCI_COMBINED_OPCODE(HCI_CMD_OGF_LE_CTLR,HCI_CMD_OCF_LE_SET_RANDOM_ADDRESS)
637 #define HCI_CMDCODE_LE_SET_ADVERTISING_PARAMETER HCI_COMBINED_OPCODE(HCI_CMD_OGF_LE_CTLR,HCI_CMD_OCF_LE_SET_ADVERTISING_PARAMETER)
638 #define HCI_CMDCODE_LE_READ_ADVERTISING_CHANNEL_TX_POWER HCI_COMBINED_OPCODE(HCI_CMD_OGF_LE_CTLR,HCI_CMD_OCF_LE_READ_ADVERTISING_CHANNEL_TX_POWER)
639 #define HCI_CMDCODE_LE_SET_ADVERTISING_DATA HCI_COMBINED_OPCODE(HCI_CMD_OGF_LE_CTLR,HCI_CMD_OCF_LE_ADVERTISING_DATA)
640 #define HCI_CMDCODE_LE_SET_SCAN_RESPONSE_DATA HCI_COMBINED_OPCODE(HCI_CMD_OGF_LE_CTLR,HCI_CMD_OCF_LE_SET_SCAN_RESPONSE_DATA)
641 #define HCI_CMDCODE_LE_SET_ADVERTISING_ENABLE HCI_COMBINED_OPCODE(HCI_CMD_OGF_LE_CTLR,HCI_CMD_OCF_LE_SET_ADVERTISING_ENABLE)
642 #define HCI_CMDCODE_LE_SET_SCAN_PARAMETERS HCI_COMBINED_OPCODE(HCI_CMD_OGF_LE_CTLR,HCI_CMD_OCF_LE_SET_SCAN_PARAMETERS)
643 #define HCI_CMDCODE_LE_SET_SCAN_ENABLE HCI_COMBINED_OPCODE(HCI_CMD_OGF_LE_CTLR,HCI_CMD_OCF_LE_SET_SCAN_ENABLE)
644 #define HCI_CMDCODE_LE_CREATE_CONNECTION HCI_COMBINED_OPCODE(HCI_CMD_OGF_LE_CTLR,HCI_CMD_OCF_LE_CREATE_CONNECTION)
645 #define HCI_CMDCODE_LE_CREATE_CONNECTION_CANCEL HCI_COMBINED_OPCODE(HCI_CMD_OGF_LE_CTLR,HCI_CMD_OCF_LE_CREATE_CONNECTION_CANCEL)
646 #define HCI_CMDCODE_LE_READ_WHITE_LIST_SIZE HCI_COMBINED_OPCODE(HCI_CMD_OGF_LE_CTLR,HCI_CMD_OCF_LE_READ_WHITE_LIST_SIZE)
647 #define HCI_CMDCODE_LE_CLEAR_WHITE_LIST HCI_COMBINED_OPCODE(HCI_CMD_OGF_LE_CTLR,HCI_CMD_OCF_LE_CLEAR_WHITE_LIST)
648 #define HCI_CMDCODE_LE_ADD_DEVICE_TO_WHITE_LIST HCI_COMBINED_OPCODE(HCI_CMD_OGF_LE_CTLR,HCI_CMD_OCF_LE_ADD_DEVICE_TO_WHITE_LIST)
649 #define HCI_CMDCODE_LE_REMOVE_DEVICE_FROM_WHITE_LIST HCI_COMBINED_OPCODE(HCI_CMD_OGF_LE_CTLR,HCI_CMD_OCF_LE_REMOVE_DEVICE_FROM_WHITE_LIST)
650 #define HCI_CMDCODE_LE_CONNECTION_UPDATE HCI_COMBINED_OPCODE(HCI_CMD_OGF_LE_CTLR,HCI_CMD_OCF_LE_CONNECTION_UPDATE)
651 #define HCI_CMDCODE_LE_SET_HOST_CHANNEL_CLASSIFICATION HCI_COMBINED_OPCODE(HCI_CMD_OGF_LE_CTLR,HCI_CMD_OCF_LE_SET_HOST_CHANNEL_CLASSIFICATION)
652 #define HCI_CMDCODE_LE_READ_CHANNEL_MAP HCI_COMBINED_OPCODE(HCI_CMD_OGF_LE_CTLR,HCI_CMD_OCF_LE_READ_CHANNEL_MAP)
653 #define HCI_CMDCODE_LE_READ_REMOTE_USED_FEATURES HCI_COMBINED_OPCODE(HCI_CMD_OGF_LE_CTLR,HCI_CMD_OCF_LE_READ_REMOTE_USED_FEATURES)
654 #define HCI_CMDCODE_LE_ENCRYPT HCI_COMBINED_OPCODE(HCI_CMD_OGF_LE_CTLR,HCI_CMD_OCF_LE_ENCRYPT)
655 #define HCI_CMDCODE_LE_RAND HCI_COMBINED_OPCODE(HCI_CMD_OGF_LE_CTLR,HCI_CMD_OCF_LE_RAND)
656 #define HCI_CMDCODE_LE_START_ENCRYPTION HCI_COMBINED_OPCODE(HCI_CMD_OGF_LE_CTLR,HCI_CMD_OCF_LE_START_ENCRYPTION)
657 #define HCI_CMDCODE_LE_LONG_TERM_KEY_REQUEST_REPLY HCI_COMBINED_OPCODE(HCI_CMD_OGF_LE_CTLR,HCI_CMD_OCF_LE_LONG_TERM_KEY_REQUEST_REPLY)
658 #define HCI_CMDCODE_LE_LONG_TERM_KEY_REQUEST_NEGATIVE_REPLY HCI_COMBINED_OPCODE(HCI_CMD_OGF_LE_CTLR,HCI_CMD_OCF_LE_LONG_TERM_KEY_REQUEST_NEGATIVE_REPLY)
659 #define HCI_CMDCODE_LE_READ_SUPPORTED_STATES HCI_COMBINED_OPCODE(HCI_CMD_OGF_LE_CTLR,HCI_CMD_OCF_LE_READ_SUPPORTED_STATES)
660 #define HCI_CMDCODE_LE_RECEIVER_TEST HCI_COMBINED_OPCODE(HCI_CMD_OGF_LE_CTLR,HCI_CMD_OCF_LE_RECEIVER_TEST)
661 #define HCI_CMDCODE_LE_TRANSMITTER_TEST HCI_COMBINED_OPCODE(HCI_CMD_OGF_LE_CTLR,HCI_CMD_OCF_LE_TRANSMITTER_TEST)
662 #define HCI_CMDCODE_LE_TEST_END HCI_COMBINED_OPCODE(HCI_CMD_OGF_LE_CTLR,HCI_CMD_OCF_LE_TEST_END)
663 #define HCI_CMDCODE_LE_REMOTE_CONNECTION_PARAM_REQ_REPLY HCI_COMBINED_OPCODE(HCI_CMD_OGF_LE_CTLR,HCI_CMD_OCF_LE_REMOTE_CONNECTION_PARAM_REQ_REPLY)
664 #define HCI_CMDCODE_LE_REMOTE_CONNECTION_PARAM_REQ_NEG_REPLY HCI_COMBINED_OPCODE(HCI_CMD_OGF_LE_CTLR,HCI_CMD_OCF_LE_REMOTE_CONNECTION_PARAM_REQ_NEG_REPLY)
665 #define HCI_CMDCODE_LE_READ_LOCAL_P256_PUBLIC_KEY HCI_COMBINED_OPCODE(HCI_CMD_OGF_LE_CTLR,HCI_CMD_OCF_LE_READ_LOCAL_P256_PUBLIC_KEY)
666 #define HCI_CMDCODE_LE_GENERATE_DHKEY HCI_COMBINED_OPCODE(HCI_CMD_OGF_LE_CTLR,HCI_CMD_OCF_LE_GENERATE_DHKEY)
667 
668 /* HCI SDK Command OpCode */
669 #define HCI_CMDCODE_SDK_SET_PUB_ADDRESS HCI_COMBINED_OPCODE(HCI_CMD_OGF_SDK_SPECIFIC, HCI_CMD_OCF_CHIP_SET_PUB_ADDRESS)
670 #define HCI_CMDCODE_SDK_SET_TX_POWER HCI_COMBINED_OPCODE(HCI_CMD_OGF_SDK_SPECIFIC, HCI_CMD_OCF_CHIP_SET_TX_POWER)
671 #define HCI_CMDCODE_SDK_GET_PUB_ADDRESS HCI_COMBINED_OPCODE(HCI_CMD_OGF_SDK_SPECIFIC, HCI_CMD_OCF_CHIP_GET_PUB_ADDRESS)
672 #define HCI_CMDCODE_SDK_READ_SFR HCI_COMBINED_OPCODE(HCI_CMD_OGF_SDK_SPECIFIC, HCI_CMD_OCF_CHIP_READ_SFR)
673 #define HCI_CMDCODE_SDK_SET_DISABLE_LATENCY HCI_COMBINED_OPCODE(HCI_CMD_OGF_SDK_SPECIFIC, HCI_CMD_OCF_CHIP_SET_DISABLE_LAENCY)
674 
675 /* The follow Command OpCodes are AIROHA proprietory */
676 
677 
678 
679 /*
680  * HCI Event Code
681  */
682 //- HCI Event OP code;
683 typedef uint8_t HCI_EVTCODE;
684 #define HCI_EVENT_INQUIRY_COMPLETE ((HCI_EVTCODE)0x01)
685 #define HCI_EVENT_INQUIRY_RESULT ((HCI_EVTCODE)0x02)
686 #define HCI_EVENT_CONNECTION_COMPLETE ((HCI_EVTCODE)0x03)
687 #define HCI_EVENT_CONNECTION_REQUEST ((HCI_EVTCODE)0x04)
688 #define HCI_EVENT_DISCONNECTION_COMPLETE ((HCI_EVTCODE)0x05)
689 #define HCI_EVENT_AUTHENTICATION_COMPLETE ((HCI_EVTCODE)0x06)
690 #define HCI_EVENT_REMOTE_NAME_REQUEST_COMPLETE ((HCI_EVTCODE)0x07)
691 #define HCI_EVENT_ENCRYPTION_CHANGE ((HCI_EVTCODE)0x08)
692 #define HCI_EVENT_CHANGE_CONNECTION_LINK_KEY_COMPLETE ((HCI_EVTCODE)0x09)
693 #define HCI_EVENT_MASTER_LINK_KEY_COMPLETE ((HCI_EVTCODE)0x0A)
694 #define HCI_EVENT_READ_REMOTE_SUPPORTED_FEATURES_COMPLETE ((HCI_EVTCODE)0x0B)
695 #define HCI_EVENT_READ_REMOTE_VERSION_INFORMATION_COMPLETE ((HCI_EVTCODE)0x0C)
696 #define HCI_EVENT_QOS_SETUP_COMPLETE ((HCI_EVTCODE)0x0D)
697 #define HCI_EVENT_COMMAND_COMPLETE ((HCI_EVTCODE)0x0E)
698 #define HCI_EVENT_COMMAND_STATUS ((HCI_EVTCODE)0x0F)
699 #define HCI_EVENT_HARDWARE_ERROR ((HCI_EVTCODE)0x10)
700 #define HCI_EVENT_FLUSH_OCCURRED ((HCI_EVTCODE)0x11)
701 #define HCI_EVENT_ROLE_CHANGE ((HCI_EVTCODE)0x12)
702 #define HCI_EVENT_NUMBER_OF_COMPLETED_PACKETS ((HCI_EVTCODE)0x13)
703 #define HCI_EVENT_MODE_CHANGE ((HCI_EVTCODE)0x14)
704 #define HCI_EVENT_RETURN_LINK_KEYS ((HCI_EVTCODE)0x15)
705 #define HCI_EVENT_PIN_CODE_REQUEST ((HCI_EVTCODE)0x16)
706 #define HCI_EVENT_LINK_KEY_REQUEST ((HCI_EVTCODE)0x17)
707 #define HCI_EVENT_LINK_KEY_NOTIFICATION ((HCI_EVTCODE)0x18)
708 #define HCI_EVENT_LOOPBACK_COMMAND ((HCI_EVTCODE)0x19)
709 #define HCI_EVENT_DATA_BUFFER_OVERFLOW ((HCI_EVTCODE)0x1A)
710 #define HCI_EVENT_MAX_SLOTS_CHANGE ((HCI_EVTCODE)0x1B)
711 #define HCI_EVENT_READ_CLOCK_OFFSET_COMPLETE ((HCI_EVTCODE)0x1C)
712 #define HCI_EVENT_CONNECTION_PACKET_TYPE_CHANGED ((HCI_EVTCODE)0x1D)
713 #define HCI_EVENT_QOS_VIOLATION ((HCI_EVTCODE)0x1E)
714 //Not Defined ((HCI_EVTCODE)0x1F)
715 #define HCI_EVENT_PAGE_SCAN_REPETITION_MODE_CHANGE ((HCI_EVTCODE)0x20)
716 #define HCI_EVENT_HCI_FLOW_SPECIFICATION_COMPLETE ((HCI_EVTCODE)0x21)
717 #define HCI_EVENT_INQUIRY_RESULT_WITH_RSSI ((HCI_EVTCODE)0x22)
718 #define HCI_EVENT_READ_REMOTE_EXTENDED_FEATURES_COMPLETE ((HCI_EVTCODE)0x23)
719 #define HCI_EVENT_SYNCHRONOUS_CONNECTION_COMPLETE ((HCI_EVTCODE)0x2C)
720 #define HCI_EVENT_SYNCHRONOUS_CONNECTION_CHANGED ((HCI_EVTCODE)0x2D)
721 #define HCI_EVENT_SNIFF_SUBRATING ((HCI_EVTCODE)0x2E)
722 #define HCI_EVENT_EXTENDED_INQUIRY_RESULT ((HCI_EVTCODE)0x2F)
723 #define HCI_EVENT_ENCRYPTION_KEY_REFRESH_COMPLETE ((HCI_EVTCODE)0x30)
724 #define HCI_EVENT_IO_CAPABILITY_REQUEST ((HCI_EVTCODE)0x31)
725 #define HCI_EVENT_IO_CAPABILITY_RESPONSE ((HCI_EVTCODE)0x32)
726 #define HCI_EVENT_USER_CONFIRMATION_REQUEST ((HCI_EVTCODE)0x33)
727 #define HCI_EVENT_PASSKEY_REQUEST ((HCI_EVTCODE)0x34)
728 #define HCI_EVENT_REMOTE_OOB_DATA_REQUEST ((HCI_EVTCODE)0x35)
729 #define HCI_EVENT_SIMPLE_PAIRING_COMPLETE ((HCI_EVTCODE)0x36)
730 #define HCI_EVENT_LINK_SUPERVISION_TIMEOUT_CHANGED ((HCI_EVTCODE)0x38)
731 #define HCI_EVENT_ENHANCED_FLUSH_COMPLETE ((HCI_EVTCODE)0x39)
732 #define HCI_EVENT_USER_PASSKEY_NOTIFICATION ((HCI_EVTCODE)0x3B)
733 #define HCI_EVENT_KEYPRESS_NOTIFICATION ((HCI_EVTCODE)0x3C)
734 #define HCI_EVENT_REMOTE_HOST_SUPPORTED_FEATURES_NOTI ((HCI_EVTCODE)0x3D)
735 #define HCI_EVENT_LE_META ((HCI_EVTCODE)0x3E)
736 
737 //- LE Meta Event
738 #define HCI_EVENT_LE_CONNECTION_COMPLETE ((HCI_EVTCODE)0x01)
739 #define HCI_EVENT_LE_ADVERTISING_REPORT ((HCI_EVTCODE)0x02)
740 #define HCI_EVENT_LE_CONNECTION_UPDATE_COMPLETE ((HCI_EVTCODE)0x03)
741 #define HCI_EVENT_LE_READ_REMOTE_USED_FEATURES_COMPLETE ((HCI_EVTCODE)0x04)
742 #define HCI_EVENT_LE_LONG_TERM_KEY_REQUEST ((HCI_EVTCODE)0x05)
743 #define HCI_EVENT_LE_REMOTE_CONNECTION_PARAMETER_REQUEST ((HCI_EVTCODE)0x06)
744 #define HCI_EVENT_LE_READ_LOCAL_P256_PUBLIC_KEY_COMPLETE ((HCI_EVTCODE)0x08)
745 #define HCI_EVENT_LE_GENERATE_DHKEY_COMPLETE ((HCI_EVTCODE)0x09)
746 
747 /*
748  * HCI Error Code
749  */
750 typedef uint8_t HCI_ERRCODE;
751 
752 /* HCI Error Code */
753 #define HCI_ERRCODE_SUCCESS (HCI_ERRCODE)0x00
754 #define HCI_ERRCODE_UNKNOWN_HCI_COMMAND (HCI_ERRCODE)0x01
755 #define HCI_ERRCODE_UNKNOWN_CONNECTION_IDENTIFIER (HCI_ERRCODE)0x02
756 #define HCI_ERRCODE_HARDWARE_FAILURE (HCI_ERRCODE)0x03
757 #define HCI_ERRCODE_PAGE_TIMEOUT (HCI_ERRCODE)0x04
758 #define HCI_ERRCODE_AUTHENTICATION_FAILURE (HCI_ERRCODE)0x05
759 #define HCI_ERRCODE_PIN_OR_KEY_MISSING (HCI_ERRCODE)0x06
760 #define HCI_ERRCODE_MEMORY_CAPACITY_EXCEEDED (HCI_ERRCODE)0x07
761 #define HCI_ERRCODE_CONNECTION_TIMEOUT (HCI_ERRCODE)0x08
762 #define HCI_ERRCODE_CONNECTION_LIMIT_EXCEEDED (HCI_ERRCODE)0x09
763 #define HCI_ERRCODE_SYNCHRONOUS_CONNECTION_LIMIT_TO_A_DEVICE_EXCEEDED (HCI_ERRCODE)0x0A
764 #define HCI_ERRCODE_ACL_CONNECTION_ALREADY_EXISTS (HCI_ERRCODE)0x0B
765 #define HCI_ERRCODE_COMMAND_DISALLOWED (HCI_ERRCODE)0x0C
766 #define HCI_ERRCODE_CONNECTION_REJECTED_DUE_TO_LIMITED_RESOURCES (HCI_ERRCODE)0x0D
767 #define HCI_ERRCODE_CONNECTION_REJECTED_DUE_TO_SECURITY_REASONS (HCI_ERRCODE)0x0E
768 #define HCI_ERRCODE_CONNECTION_REJECTED_DUE_TO_UNACCEPTABLE_BD_ADDR (HCI_ERRCODE)0x0F
769 #define HCI_ERRCODE_CONNECTION_ACCEPT_TIMEOUT_EXCEEDED (HCI_ERRCODE)0x10
770 #define HCI_ERRCODE_UNSUPPORTED_FEATURE_OR_PARAMETER_VALUE (HCI_ERRCODE)0x11
771 #define HCI_ERRCODE_INVALID_HCI_COMMAND_PARAMETERS (HCI_ERRCODE)0x12
772 #define HCI_ERRCODE_REMOTE_USER_TERMINATED_CONNECTION (HCI_ERRCODE)0x13
773 #define HCI_ERRCODE_REMOTE_DEVICE_TERMINATED_CONNECTION_DUE_TO_LOW_RESOURCES (HCI_ERRCODE)0x14
774 #define HCI_ERRCODE_REMOTE_DEVICE_TERMINATED_CONNECTION_DUE_TO_POWER_OFF (HCI_ERRCODE)0x15
775 #define HCI_ERRCODE_CONNECTION_TERMINATED_BY_LOCAL_HOST (HCI_ERRCODE)0x16
776 #define HCI_ERRCODE_REPEATED_ATTEMPTS (HCI_ERRCODE)0x17
777 #define HCI_ERRCODE_PAIRING_NOT_ALLOWED (HCI_ERRCODE)0x18
778 #define HCI_ERRCODE_UNKNOWN_LMP_PDU (HCI_ERRCODE)0x19
779 #define HCI_ERRCODE_UNSUPPORTED_REMOTE_FEATURE_UNSUPPORTED_LMP_FEATURE (HCI_ERRCODE)0x1A
780 #define HCI_ERRCODE_SCO_OFFSET_REJECTED (HCI_ERRCODE)0x1B
781 #define HCI_ERRCODE_SCO_INTERVAL_REJECTED (HCI_ERRCODE)0x1C
782 #define HCI_ERRCODE_SCO_AIR_MODE_REJECTED (HCI_ERRCODE)0x1D
783 #define HCI_ERRCODE_INVALID_LMP_PARAMETERS (HCI_ERRCODE)0x1E
784 #define HCI_ERRCODE_UNSPECIFIED_ERROR (HCI_ERRCODE)0x1F
785 #define HCI_ERRCODE_UNSUPPORTED_LMP_PARAMETER_VALUE (HCI_ERRCODE)0x20
786 #define HCI_ERRCODE_ROLE_CHANGE_NOT_ALLOWED (HCI_ERRCODE)0x21
787 #define HCI_ERRCODE_LMP_RESPONSE_TIMEOUT (HCI_ERRCODE)0x22
788 #define HCI_ERRCODE_LMP_ERROR_TRANSACTION_COLLISION (HCI_ERRCODE)0x23
789 #define HCI_ERRCODE_LMP_PDU_NOT_ALLOWED (HCI_ERRCODE)0x24
790 #define HCI_ERRCODE_ENCRYPTION_MODE_NOT_ACCEPTABLE (HCI_ERRCODE)0x25
791 #define HCI_ERRCODE_LINK_KEY_CAN_NOT_BE_CHANGED (HCI_ERRCODE)0x26
792 #define HCI_ERRCODE_REQUESTED_QOS_NOT_SUPPORTED (HCI_ERRCODE)0x27
793 #define HCI_ERRCODE_INSTANT_PASSED (HCI_ERRCODE)0x28
794 #define HCI_ERRCODE_PAIRING_WITH_UNIT_KEY_NOT_SUPPORTED (HCI_ERRCODE)0x29
795 #define HCI_ERRCODE_DIFFERENT_TRANSACTION_COLLISION (HCI_ERRCODE)0x2A
796 #define HCI_ERRCODE_QOS_UNACCEPTABLE_PARAMETER (HCI_ERRCODE)0x2C
797 #define HCI_ERRCODE_QOS_REJECTED (HCI_ERRCODE)0x2D
798 #define HCI_ERRCODE_CHANNEL_CLASSIFICATION_NOT_SUPPORTED (HCI_ERRCODE)0x2E
799 #define HCI_ERRCODE_INSUFFICIENT_SECURITY (HCI_ERRCODE)0x2F
800 #define HCI_ERRCODE_PARAMETER_OUT_OF_MANDATORY_RANGE (HCI_ERRCODE)0x30
801 #define HCI_ERRCODE_ROLE_SWITCH_PENDING (HCI_ERRCODE)0x32
802 #define HCI_ERRCODE_RESERVED_SLOT_VIOLATION (HCI_ERRCODE)0x34
803 #define HCI_ERRCODE_ROLE_SWITCH_FAILED (HCI_ERRCODE)0x35
804 #define HCI_ERRCODE_EXTENDED_INQUIRY_RESPONSE_TOOL_LARGE (HCI_ERRCODE)0x36
805 #define HCI_ERRCODE_SIMPLE_PAIRING_NOT_SUPPORTED_BY_HOST (HCI_ERRCODE)0x37
806 #define HCI_ERRCODE_HOST_BUSY_PAIRING (HCI_ERRCODE)0x38
807 #define HCI_ERRCODE_DIRECTED_ADVERTISING_TIMEOUT (HCI_ERRCODE)0x3C
808 #define HCI_ERRCODE_CONN_TERMINATED_DUE_TO_MIC_FAILURE (HCI_ERRCODE)0x3D
809 #define HCI_ERRCODE_CONNECTION_FAILED_TO_BE_ESTABLISHED (HCI_ERRCODE)0x3E
810 
811 #ifdef _MSC_VER
812 __pragma(pack(push, 1))
813 #define __attribute__(x)
814 #endif
815 
816 
817 /* HC CMD Header */
818 typedef struct stru_hci_cmd_opcode
819 {
820  uint16_t OCF : 10;
821  uint16_t OGF : 6;
822 }__attribute__((packed))HCI_CMD_OPCODE_STRU;
823 
824 typedef union union_hci_cmd_opcode
825 {
826  uint16_t value;
827  HCI_CMD_OPCODE_STRU field;
828 }__attribute__((packed))HCI_CMD_OPCODE_UNION;
829 
830 /* HCI Command Header Format */
831 typedef struct stru_hci_cmd_hdr
832 {
833  HCI_CMD_OPCODE_UNION OpCode;
834  uint8_t Len;
835 }__attribute__((packed))HCI_CMD_HDR_STRU;
836 
837 /* HCI Event Header Format */
838 typedef struct stru_hci_event_hdr
839 {
840  uint8_t EvtCode;
841  uint8_t Len;
842 } __attribute__((packed))HCI_EVT_HDR_STRU;
843 
844 #ifdef _MSC_VER
845 __pragma(pack(pop))
846 #undef __attribute__
847 #endif
848 
849 
850 #define HCI_PB_L2CAP_START_NON_AUTO (0x00)
851 #define HCI_PB_L2CAP_START (0x02)
852 #define HCI_PB_L2CAP_CONTINUE (0x01)
853 
854 #define HCI_BC_NOB (0x00)
855 #define HCI_BC_ASB (0x01)
856 #define HCI_BC_PSB (0x02)
857 
858 #endif /* _HCI_H_ */
859