TI BLE5-Stack API Documentation  1.01.01.00
hci.h
Go to the documentation of this file.
1 /******************************************************************************
2 
3  Group: WCS, BTS
4  $Target Device: DEVICES $
5 
6  ******************************************************************************
7  $License: TISD 2009 $
8  ******************************************************************************
9  $Release Name: PACKAGE NAME $
10  $Release Date: PACKAGE RELEASE DATE $
11  *****************************************************************************/
12 
305 #ifndef HCI_H
306 #define HCI_H
307 
308 #ifdef __cplusplus
309 extern "C"
310 {
311 #endif
312 
313 /*
314  * INCLUDES
315  */
316 #include "bcomdef.h"
317 #include "osal.h"
318 #include "ll.h"
319 #include "hal_assert.h"
320 
321 /*
322  * MACROS
323  */
324 
325 /*
326  * CONSTANTS
327  */
328 
339 #define HCI_SUCCESS 0x00
340 #define HCI_ERROR_CODE_UNKNOWN_HCI_CMD 0x01
341 #define HCI_ERROR_CODE_UNKNOWN_CONN_ID 0x02
342 #define HCI_ERROR_CODE_HW_FAILURE 0x03
343 #define HCI_ERROR_CODE_PAGE_TIMEOUT 0x04
344 #define HCI_ERROR_CODE_AUTH_FAILURE 0x05
345 #define HCI_ERROR_CODE_PIN_KEY_MISSING 0x06
346 #define HCI_ERROR_CODE_MEM_CAP_EXCEEDED 0x07
347 #define HCI_ERROR_CODE_CONN_TIMEOUT 0x08
348 #define HCI_ERROR_CODE_CONN_LIMIT_EXCEEDED 0x09
349 #define HCI_ERROR_CODE_SYNCH_CONN_LIMIT_EXCEEDED 0x0A
350 #define HCI_ERROR_CODE_ACL_CONN_ALREADY_EXISTS 0x0B
351 #define HCI_ERROR_CODE_CMD_DISALLOWED 0x0C
352 #define HCI_ERROR_CODE_CONN_REJ_LIMITED_RESOURCES 0x0D
353 #define HCI_ERROR_CODE_CONN_REJECTED_SECURITY_REASONS 0x0E
354 #define HCI_ERROR_CODE_CONN_REJECTED_UNACCEPTABLE_BDADDR 0x0F
355 #define HCI_ERROR_CODE_CONN_ACCEPT_TIMEOUT_EXCEEDED 0x10
356 #define HCI_ERROR_CODE_UNSUPPORTED_FEATURE_PARAM_VALUE 0x11
357 #define HCI_ERROR_CODE_INVALID_HCI_CMD_PARAMS 0x12
358 #define HCI_ERROR_CODE_REMOTE_USER_TERM_CONN 0x13
359 #define HCI_ERROR_CODE_REMOTE_DEVICE_TERM_CONN_LOW_RESOURCES 0x14
360 #define HCI_ERROR_CODE_REMOTE_DEVICE_TERM_CONN_POWER_OFF 0x15
361 #define HCI_ERROR_CODE_CONN_TERM_BY_LOCAL_HOST 0x16
362 #define HCI_ERROR_CODE_REPEATED_ATTEMPTS 0x17
363 #define HCI_ERROR_CODE_PAIRING_NOT_ALLOWED 0x18
364 #define HCI_ERROR_CODE_UNKNOWN_LMP_PDU 0x19
365 #define HCI_ERROR_CODE_UNSUPPORTED_REMOTE_FEATURE 0x1A
366 #define HCI_ERROR_CODE_SCO_OFFSET_REJ 0x1B
367 #define HCI_ERROR_CODE_SCO_INTERVAL_REJ 0x1C
368 #define HCI_ERROR_CODE_SCO_AIR_MODE_REJ 0x1D
369 #define HCI_ERROR_CODE_INVALID_LMP_PARAMS 0x1E
370 #define HCI_ERROR_CODE_UNSPECIFIED_ERROR 0x1F
371 #define HCI_ERROR_CODE_UNSUPPORTED_LMP_PARAM_VAL 0x20
372 #define HCI_ERROR_CODE_ROLE_CHANGE_NOT_ALLOWED 0x21
373 #define HCI_ERROR_CODE_LMP_LL_RESP_TIMEOUT 0x22
374 #define HCI_ERROR_CODE_LMP_ERR_TRANSACTION_COLLISION 0x23
375 #define HCI_ERROR_CODE_LMP_PDU_NOT_ALLOWED 0x24
376 #define HCI_ERROR_CODE_ENCRYPT_MODE_NOT_ACCEPTABLE 0x25
377 #define HCI_ERROR_CODE_LINK_KEY_CAN_NOT_BE_CHANGED 0x26
378 #define HCI_ERROR_CODE_REQ_QOS_NOT_SUPPORTED 0x27
379 #define HCI_ERROR_CODE_INSTANT_PASSED 0x28
380 #define HCI_ERROR_CODE_PAIRING_WITH_UNIT_KEY_NOT_SUPPORTED 0x29
381 #define HCI_ERROR_CODE_DIFFERENT_TRANSACTION_COLLISION 0x2A
382 #define HCI_ERROR_CODE_RESERVED1 0x2B
383 #define HCI_ERROR_CODE_QOS_UNACCEPTABLE_PARAM 0x2C
384 #define HCI_ERROR_CODE_QOS_REJ 0x2D
385 #define HCI_ERROR_CODE_CHAN_ASSESSMENT_NOT_SUPPORTED 0x2E
386 #define HCI_ERROR_CODE_INSUFFICIENT_SECURITY 0x2F
387 #define HCI_ERROR_CODE_PARAM_OUT_OF_MANDATORY_RANGE 0x30
388 #define HCI_ERROR_CODE_RESERVED2 0x31
389 #define HCI_ERROR_CODE_ROLE_SWITCH_PENDING 0x32
390 #define HCI_ERROR_CODE_RESERVED3 0x33
391 #define HCI_ERROR_CODE_RESERVED_SLOT_VIOLATION 0x34
392 #define HCI_ERROR_CODE_ROLE_SWITCH_FAILED 0x35
393 #define HCI_ERROR_CODE_EXTENDED_INQUIRY_RESP_TOO_LARGE 0x36
394 #define HCI_ERROR_CODE_SIMPLE_PAIRING_NOT_SUPPORTED_BY_HOST 0x37
395 #define HCI_ERROR_CODE_HOST_BUSY_PAIRING 0x38
396 #define HCI_ERROR_CODE_CONN_REJ_NO_SUITABLE_CHAN_FOUND 0x39
397 #define HCI_ERROR_CODE_CONTROLLER_BUSY 0x3A
398 #define HCI_ERROR_CODE_UNACCEPTABLE_CONN_PARAMETERS 0x3B
399 #define HCI_ERROR_CODE_DIRECTED_ADV_TIMEOUT 0x3C
400 #define HCI_ERROR_CODE_CONN_TERM_MIC_FAILURE 0x3D
401 #define HCI_ERROR_CODE_CONN_FAILED_TO_ESTABLISH 0x3E
402 #define HCI_ERROR_CODE_MAC_CONN_FAILED 0x3F
403 #define HCI_ERROR_CODE_COARSE_CLOCK_ADJUST_REJECTED 0x40
404 #define HCI_ERROR_CODE_TYPE0_SUBMAP_NOT_DEFINED 0x41
405 #define HCI_ERROR_CODE_UNKNOWN_ADVERTISING_IDENTIFIER 0x42
406 #define HCI_ERROR_CODE_LIMIT_REACHED 0x43
407 #define HCI_ERROR_CODE_OPERATION_CANCELLED_BY_HOST 0x44
408 
414 #define HCI_MAX_NUM_CMD_BUFFERS LL_MAX_NUM_CMD_BUFFERS
415 #if defined(CC2540) || defined(CC2541) || defined(CC2541S)
416 #define HCI_MAX_NUM_DATA_BUFFERS LL_MAX_NUM_DATA_BUFFERS //<! Max Num Data Buffers
417 #endif // CC2540 | CC2541 | CC2541S
418 
419 // Send Data Packet Boundary Flags
420 #define FIRST_PKT_HOST_TO_CTRL LL_DATA_FIRST_PKT_HOST_TO_CTRL
421 #define CONTINUING_PKT LL_DATA_CONTINUATION_PKT
422 #define FIRST_PKT_CTRL_TO_HOST LL_DATA_FIRST_PKT_CTRL_TO_HOST
423 
424 
426 #define HCI_RSSI_NOT_AVAILABLE LL_RSSI_NOT_AVAILABLE
427 
432 #define HCI_DISCONNECT_AUTH_FAILURE HCI_ERROR_CODE_AUTH_FAILURE
433 #define HCI_DISCONNECT_REMOTE_USER_TERM HCI_ERROR_CODE_REMOTE_USER_TERM_CONN
434 #define HCI_DISCONNECT_REMOTE_DEV_LOW_RESOURCES HCI_ERROR_CODE_REMOTE_DEVICE_TERM_CONN_LOW_RESOURCES
435 #define HCI_DISCONNECT_REMOTE_DEV_POWER_OFF HCI_ERROR_CODE_REMOTE_DEVICE_TERM_CONN_POWER_OFF
436 #define HCI_DISCONNECT_UNSUPPORTED_REMOTE_FEATURE HCI_ERROR_CODE_UNSUPPORTED_REMOTE_FEATURE
437 #define HCI_DISCONNECT_KEY_PAIRING_NOT_SUPPORTED HCI_ERROR_CODE_PAIRING_WITH_UNIT_KEY_NOT_SUPPORTED
438 #define HCI_DISCONNECT_UNACCEPTABLE_CONN_INTERVAL HCI_ERROR_CODE_UNACCEPTABLE_CONN_INTERVAL
439 
445 // Tx Power Types
446 #define HCI_READ_CURRENT_TX_POWER_LEVEL LL_READ_CURRENT_TX_POWER_LEVEL
447 #define HCI_READ_MAX_TX_POWER_LEVEL LL_READ_MAX_TX_POWER_LEVEL
448 
454 #define HCI_CTRL_TO_HOST_FLOW_CTRL_OFF 0
455 #define HCI_CTRL_TO_HOST_FLOW_CTRL_ACL_ON_SYNCH_OFF 1
456 #define HCI_CTRL_TO_HOST_FLOW_CTRL_ACL_OFF_SYNCH_ON 2
457 #define HCI_CTRL_TO_HOST_FLOW_CTRL_ACL_ON_SYNCH_ON 3
458 
464 #define HCI_PUBLIC_DEVICE_ADDRESS LL_DEV_ADDR_TYPE_PUBLIC
465 #define HCI_RANDOM_DEVICE_ADDRESS LL_DEV_ADDR_TYPE_RANDOM
466 
472 #define HCI_CONNECTABLE_UNDIRECTED_ADV LL_ADV_CONNECTABLE_UNDIRECTED_EVT
473 #define HCI_CONNECTABLE_DIRECTED_HDC_ADV LL_ADV_CONNECTABLE_DIRECTED_HDC_EVT
474 #define HCI_SCANNABLE_UNDIRECTED LL_ADV_SCANNABLE_UNDIRECTED_EVT
475 #define HCI_NONCONNECTABLE_UNDIRECTED_ADV LL_ADV_NONCONNECTABLE_UNDIRECTED_EVT
476 #define HCI_CONNECTABLE_DIRECTED_LDC_ADV LL_ADV_CONNECTABLE_DIRECTED_LDC_EVT
477 
483 #define HCI_ADV_CHAN_37 LL_ADV_CHAN_37
484 #define HCI_ADV_CHAN_38 LL_ADV_CHAN_38
485 #define HCI_ADV_CHAN_39 LL_ADV_CHAN_39
486 #define HCI_ADV_CHAN_ALL (LL_ADV_CHAN_37 | LL_ADV_CHAN_38 | LL_ADV_CHAN_39)
487 
493 #define HCI_ADV_WL_POLICY_ANY_REQ LL_ADV_WL_POLICY_ANY_REQ
494 #define HCI_ADV_WL_POLICY_WL_SCAN_REQ LL_ADV_WL_POLICY_WL_SCAN_REQ
495 #define HCI_ADV_WL_POLICY_WL_CONNECT_IND LL_ADV_WL_POLICY_WL_CONNECT_IND
496 #define HCI_ADV_WL_POLICY_WL_ALL_REQ LL_ADV_WL_POLICY_WL_ALL_REQ
497 
503 #define HCI_ENABLE_ADV LL_ADV_MODE_ON
504 #define HCI_DISABLE_ADV LL_ADV_MODE_OFF
505 
511 #define HCI_SCAN_PASSIVE LL_SCAN_PASSIVE
512 #define HCI_SCAN_ACTIVE LL_SCAN_ACTIVE
513 
519 // Scan White List Policy
520 #define HCI_SCAN_WL_POLICY_ANY_ADV_PKTS LL_SCAN_WL_POLICY_ANY_ADV_PKTS
521 #define HCI_SCAN_WL_POLICY_USE_WHITE_LIST LL_SCAN_WL_POLICY_USE_WHITE_LIST
522 
528 // Scan Filtering
529 #define HCI_FILTER_REPORTS_DISABLE LL_FILTER_REPORTS_DISABLE
530 #define HCI_FILTER_REPORTS_ENABLE LL_FILTER_REPORTS_ENABLE
531 
537 // Scan Commands
538 #define HCI_SCAN_STOP LL_SCAN_STOP
539 #define HCI_SCAN_START LL_SCAN_START
540 
546 #define HCI_INIT_WL_POLICY_USE_PEER_ADDR LL_INIT_WL_POLICY_USE_PEER_ADDR
547 #define HCI_INIT_WL_POLICY_USE_WHITE_LIST LL_INIT_WL_POLICY_USE_WHITE_LIST
548 
554 #define HCI_ENCRYPTION_OFF LL_ENCRYPTION_OFF
555 #define HCI_ENCRYPTION_ON LL_ENCRYPTION_ON
556 
562 #define HCI_DIRECT_TEST_PAYLOAD_PRBS9 LL_DIRECT_TEST_PAYLOAD_PRBS9
563 #define HCI_DIRECT_TEST_PAYLOAD_0x0F LL_DIRECT_TEST_PAYLOAD_0x0F
564 #define HCI_DIRECT_TEST_PAYLOAD_0x55 LL_DIRECT_TEST_PAYLOAD_0x55
565 #define HCI_DIRECT_TEST_PAYLOAD_PRBS15 LL_DIRECT_TEST_PAYLOAD_PRBS15
566 #define HCI_DIRECT_TEST_PAYLOAD_0xFF LL_DIRECT_TEST_PAYLOAD_0xFF
567 #define HCI_DIRECT_TEST_PAYLOAD_0x00 LL_DIRECT_TEST_PAYLOAD_0x00
568 #define HCI_DIRECT_TEST_PAYLOAD_0xF0 LL_DIRECT_TEST_PAYLOAD_0xF0
569 #define HCI_DIRECT_TEST_PAYLOAD_0xAA LL_DIRECT_TEST_PAYLOAD_0xAA
570 
576 #define HCI_DTM_STANDARD_MODULATION_INDEX LL_DTM_STANDARD_MODULATION_INDEX
577 #define HCI_DTM_STABLE_MODULATION_INDEX LL_DTM_STABLE_MODULATION_INDEX
578 
584 #define HCI_EXT_DTM_TX_CONTINUOUS LL_EXT_DTM_TX_CONTINUOUS
585 
591 #define HCI_DISABLE_ADDR_RESOLUTION LL_DISABLE_ADDR_RESOLUTION
592 #define HCI_ENABLE_ADDR_RESOLUTION LL_ENABLE_ADDR_RESOLUTION
593 #define HCI_NETWORK_PRIVACY_MODE LL_NETWORK_PRIVACY_MODE
594 #define HCI_DEVICE_PRIVACY_MODE LL_DEVICE_PRIVACY_MODE
595 
601 #define HCI_PHY_USE_PHY_PARAM LL_PHY_USE_PHY_PARAM
602 #define HCI_PHY_USE_ANY_PHY LL_PHY_USE_ANY_PHY
603 #define HCI_PHY_1_MBPS LL_PHY_1_MBPS
604 #define HCI_PHY_2_MBPS LL_PHY_2_MBPS
605 #define HCI_PHY_CODED LL_PHY_CODED
606 
612 #define HCI_EXT_RX_GAIN_STD LL_EXT_RX_GAIN_STD
613 #define HCI_EXT_RX_GAIN_HIGH LL_EXT_RX_GAIN_HIGH
614 
620 #if defined( CC26XX ) || defined( CC13XX )
621 #define HCI_EXT_TX_POWER_MINUS_21_DBM LL_EXT_TX_POWER_MINUS_21_DBM
622 #define HCI_EXT_TX_POWER_MINUS_18_DBM LL_EXT_TX_POWER_MINUS_18_DBM
623 #define HCI_EXT_TX_POWER_MINUS_15_DBM LL_EXT_TX_POWER_MINUS_15_DBM
624 #define HCI_EXT_TX_POWER_MINUS_12_DBM LL_EXT_TX_POWER_MINUS_12_DBM
625 #define HCI_EXT_TX_POWER_MINUS_9_DBM LL_EXT_TX_POWER_MINUS_9_DBM
626 #define HCI_EXT_TX_POWER_MINUS_6_DBM LL_EXT_TX_POWER_MINUS_6_DBM
627 #define HCI_EXT_TX_POWER_MINUS_3_DBM LL_EXT_TX_POWER_MINUS_3_DBM
628 #define HCI_EXT_TX_POWER_0_DBM LL_EXT_TX_POWER_0_DBM
629 #define HCI_EXT_TX_POWER_1_DBM LL_EXT_TX_POWER_1_DBM
630 #define HCI_EXT_TX_POWER_2_DBM LL_EXT_TX_POWER_2_DBM
631 #define HCI_EXT_TX_POWER_3_DBM LL_EXT_TX_POWER_3_DBM
632 #define HCI_EXT_TX_POWER_4_DBM LL_EXT_TX_POWER_4_DBM
633 #define HCI_EXT_TX_POWER_5_DBM LL_EXT_TX_POWER_5_DBM
634 #else // CC254x
635 #define HCI_EXT_TX_POWER_MINUS_23_DBM LL_EXT_TX_POWER_MINUS_23_DBM
636 #define HCI_EXT_TX_POWER_MINUS_6_DBM LL_EXT_TX_POWER_MINUS_6_DBM
637 #define HCI_EXT_TX_POWER_0_DBM LL_EXT_TX_POWER_0_DBM
638 #define HCI_EXT_TX_POWER_4_DBM LL_EXT_TX_POWER_4_DBM
639 #endif // CC26XX/CC13XX
640 
646 #define HCI_EXT_ENABLE_ONE_PKT_PER_EVT LL_EXT_ENABLE_ONE_PKT_PER_EVT
647 #define HCI_EXT_DISABLE_ONE_PKT_PER_EVT LL_EXT_DISABLE_ONE_PKT_PER_EVT
648 
650 
652 
656 #define HCI_EXT_ENABLE_CLK_DIVIDE_ON_HALT LL_EXT_ENABLE_CLK_DIVIDE_ON_HALT
657 #define HCI_EXT_DISABLE_CLK_DIVIDE_ON_HALT LL_EXT_DISABLE_CLK_DIVIDE_ON_HALT
658 
660 
662 
666 #define HCI_EXT_NV_IN_USE LL_EXT_NV_IN_USE
667 #define HCI_EXT_NV_NOT_IN_USE LL_EXT_NV_NOT_IN_USE
668 
674 #define HCI_EXT_ENABLE_FAST_TX_RESP_TIME LL_EXT_ENABLE_FAST_TX_RESP_TIME
675 #define HCI_EXT_DISABLE_FAST_TX_RESP_TIME LL_EXT_DISABLE_FAST_TX_RESP_TIME
676 
682 #define HCI_EXT_ENABLE_SL_OVERRIDE LL_EXT_ENABLE_SL_OVERRIDE
683 #define HCI_EXT_DISABLE_SL_OVERRIDE LL_EXT_DISABLE_SL_OVERRIDE
684 
690 #define HCI_EXT_TX_MODULATED_CARRIER LL_EXT_TX_MODULATED_CARRIER
691 #define HCI_EXT_TX_UNMODULATED_CARRIER LL_EXT_TX_UNMODULATED_CARRIER
692 
698 #define HCI_PTM_SET_FREQ_TUNE_DOWN LL_EXT_SET_FREQ_TUNE_DOWN
699 #define HCI_PTM_SET_FREQ_TUNE_UP LL_EXT_SET_FREQ_TUNE_UP
700 
702 
704 
708 #define HCI_EXT_PM_IO_PORT_P0 LL_EXT_PM_IO_PORT_P0
709 #define HCI_EXT_PM_IO_PORT_P1 LL_EXT_PM_IO_PORT_P1
710 #define HCI_EXT_PM_IO_PORT_P2 LL_EXT_PM_IO_PORT_P2
711 #define HCI_EXT_PM_IO_PORT_NONE LL_EXT_PM_IO_PORT_NONE
712 
713 #define HCI_EXT_PM_IO_PORT_PIN0 LL_EXT_PM_IO_PORT_PIN0
714 #define HCI_EXT_PM_IO_PORT_PIN1 LL_EXT_PM_IO_PORT_PIN1
715 #define HCI_EXT_PM_IO_PORT_PIN2 LL_EXT_PM_IO_PORT_PIN2
716 #define HCI_EXT_PM_IO_PORT_PIN3 LL_EXT_PM_IO_PORT_PIN3
717 #define HCI_EXT_PM_IO_PORT_PIN4 LL_EXT_PM_IO_PORT_PIN4
718 #define HCI_EXT_PM_IO_PORT_PIN5 LL_EXT_PM_IO_PORT_PIN5
719 #define HCI_EXT_PM_IO_PORT_PIN6 LL_EXT_PM_IO_PORT_PIN6
720 #define HCI_EXT_PM_IO_PORT_PIN7 LL_EXT_PM_IO_PORT_PIN7
721 
723 
729 #define HCI_EXT_PER_RESET LL_EXT_PER_RESET
730 #define HCI_EXT_PER_READ LL_EXT_PER_READ
731 
733 
735 
739 #define HCI_EXT_HALT_DURING_RF_DISABLE LL_EXT_HALT_DURING_RF_DISABLE
740 #define HCI_EXT_HALT_DURING_RF_ENABLE LL_EXT_HALT_DURING_RF_ENABLE
741 
743 
745 
749 #define HCI_EXT_SET_USER_REVISION LL_EXT_SET_USER_REVISION
750 #define HCI_EXT_READ_BUILD_REVISION LL_EXT_READ_BUILD_REVISION
751 
757 #define HCI_EXT_RESET_SYSTEM_HARD LL_EXT_RESET_SYSTEM_HARD
758 #define HCI_EXT_RESET_SYSTEM_SOFT LL_EXT_RESET_SYSTEM_SOFT
759 
761 
763 
767 #define HCI_EXT_DISABLE_OVERLAPPED_PROCESSING LL_EXT_DISABLE_OVERLAPPED_PROCESSING
768 #define HCI_EXT_ENABLE_OVERLAPPED_PROCESSING LL_EXT_ENABLE_OVERLAPPED_PROCESSING
769 
771 
773 
777 #define HCI_EXT_DISABLE_NUM_COMPL_PKTS_ON_EVENT LL_EXT_DISABLE_NUM_COMPL_PKTS_ON_EVENT
778 #define HCI_EXT_ENABLE_NUM_COMPL_PKTS_ON_EVENT LL_EXT_ENABLE_NUM_COMPL_PKTS_ON_EVENT
779 
785 #define HCI_EXT_DISABLE_SCAN_REQUEST_REPORT LL_EXT_DISABLE_SCAN_REQUEST_REPORT
786 #define HCI_EXT_ENABLE_SCAN_REQUEST_REPORT LL_EXT_ENABLE_SCAN_REQUEST_REPORT
787 
797 #define HCI_LINK_TYPE_SCO_BUFFER_OVERFLOW 0
798 #define HCI_LINK_TYPE_ACL_BUFFER_OVERFLOW 1
799 
807 #define HCI_EXT_RF_SETUP_1M_PHY LL_EXT_RF_SETUP_1M_PHY
808 #define HCI_EXT_RF_SETUP_2M_PHY LL_EXT_RF_SETUP_2M_PHY
809 #define HCI_EXT_RF_SETUP_CODED_S8_PHY LL_EXT_RF_SETUP_CODED_S8_PHY
810 #define HCI_EXT_RF_SETUP_CODED_S2_PHY LL_EXT_RF_SETUP_CODED_S2_PHY
811 
815 /*
816  * TYPEDEFS
817  */
818 
820 typedef uint8 hciStatus_t;
822 
828 typedef struct
830 {
832  uint8 BLEEventCode;
833  uint8 status;
835  uint8 role;
836  uint8 peerAddrType;
837  uint8 peerAddr[B_ADDR_LEN];
838  uint16 connInterval;
839  uint16 connLatency;
840  uint16 connTimeout;
843 
845 typedef struct
846 {
848  uint8 BLEEventCode;
849  uint8 status;
851  uint8 role;
852  uint8 peerAddrType;
853  uint8 peerAddr[B_ADDR_LEN];
854  uint16 connInterval;
855  uint16 connLatency;
856  uint16 connTimeout;
858  // Note: These fields normally follow peerAddr. Put here for Host optimization.
859  uint8 localRPA[B_ADDR_LEN];
860  uint8 peerRPA[B_ADDR_LEN];
862 
865 {
869 
871 typedef struct
872 {
873  uint8 eventType;
874  uint8 addrType;
875  uint8 addr[B_ADDR_LEN];
876  uint8 dataLen;
877  uint8 rspData[B_MAX_ADV_LEN];
878  int8 rssi;
880 
882 typedef struct
883 {
885  uint8 BLEEventCode;
886  uint8 numDevices;
889 
891 typedef struct
892 {
894  uint8 BLEEventCode;
895  uint8 eventType;
896  uint8 peerAddrType;
897  uint8 peerAddr[B_ADDR_LEN];
898  uint8 bleChan;
899  int8 rssi;
901 
903 typedef struct
904 {
906  uint8 BLEEventCode;
907  uint8 status;
909  uint16 connInterval;
910  uint16 connLatency;
911  uint16 connTimeout;
913 
915 typedef struct
916 {
918  uint8 BLEEventCode;
919  uint8 status;
921  uint8 features[8];
923 
925 typedef struct
926 {
928  uint8 BLEEventCode;
929  uint16 connHandle;
930  uint8 reason;
931  uint8 encEnable;
933 
935 typedef struct
936 {
938  uint8 BLEEventCode;
939  uint16 connHandle;
940  uint8 random[B_RANDOM_NUM_SIZE];
943 
945 typedef struct
946 {
948  uint8 numHandles;
952 
954 typedef struct
955 {
957  uint8 numHciCmdPkt;
958  uint16 cmdOpcode;
959  uint8 *pReturnParam;
961 
963 typedef struct
964 {
966  uint8 length;
967  uint16 cmdOpcode;
968  uint8 *pEventParam;
970 
972 typedef struct
973 {
975  uint8 cmdStatus;
976  uint8 numHciCmdPkt;
977  uint16 cmdOpcode;
979 
981 typedef struct
982 {
984  uint8 hardwareCode;
986 
988 typedef struct
989 {
991  uint8 status;
992  uint16 connHandle;
993  uint8 reason;
995 
997 typedef struct
998 {
1000  uint8 linkType;
1002 
1004 typedef struct
1005 {
1007  uint16 connHandle;
1009 
1011 typedef struct
1012 {
1015  uint8 status;
1016  uint16 connHandle;
1017  uint16 Interval_Min;
1018  uint16 Interval_Max;
1019  uint16 Latency;
1020  uint16 Timeout;
1022 
1024 typedef struct
1025 {
1028  uint8 status;
1029  uint16 connHandle;
1030  uint8 txPhy;
1031  uint8 rxPhy;
1033 
1035 typedef struct
1036 {
1039  uint16 connHandle;
1040  uint16 maxTxOctets;
1041  uint16 maxTxTime;
1042  uint16 maxRxOctets;
1043  uint16 maxRxTime;
1045 
1047 typedef struct
1048 {
1051  uint8 status;
1052  uint8 p256Key[LL_SC_P256_KEY_LEN];
1054 
1056 typedef struct
1057 {
1060  uint8 status;
1061  uint8 dhKey[LL_SC_DHKEY_LEN];
1063 
1065 typedef struct
1066 {
1067  uint8 status;
1068  uint16 dataPktLen;
1069  uint8 numDataPkts;
1071 
1073 typedef struct
1074 {
1077  uint16 connHandle;
1078  uint8 chSelAlgo;
1080 
1082 typedef struct
1083 {
1085  uint8 *pData;
1086 } hciPacket_t;
1087 
1089 typedef struct
1090 {
1092  uint8 pktType;
1093  uint16 connHandle;
1094  uint8 pbFlag;
1095  uint16 pktLen;
1096  uint8 *pData;
1097 } hciDataPacket_t;
1098 
1100 
1101 // OSAL HCI_DATA_EVENT message format. This message is used to forward incoming
1102 // data messages up to an application
1103 typedef struct
1104 {
1105  osal_event_hdr_t hdr;
1106  uint16 connHandle;
1107  uint8 pbFlag;
1108  uint16 len;
1109  uint8 *pData;
1110 } hciDataEvent_t;
1111 
1113 
1114 #if defined( CC26XX ) || defined( CC13XX )
1115 PACKED_TYPEDEF_STRUCT
1116 #else // CC254x
1117 typedef struct
1118 #endif // CC26XX/CC13XX
1119 {
1120  uint8 connId;
1121  uint8 role;
1122  uint8 addr[LL_DEVICE_ADDR_LEN];
1123  uint8 addrType;
1124 } hciConnInfo_t;
1125 
1126 #if defined( CC26XX ) || defined( CC13XX )
1127 PACKED_TYPEDEF_STRUCT
1128 #else // CC254x
1129 typedef struct
1130 #endif // CC26XX/CC13XX
1131 {
1132  uint16 numPkts;
1133  uint16 numCrcErr;
1134  uint16 numEvents;
1135  uint16 numMMissedEvents;
1136 } hciPER_t;
1137 
1140 /*
1141  * LOCAL VARIABLES
1142  */
1143 
1144 /*
1145  * GLOBAL VARIABLES
1146  */
1147 
1149 
1160 extern void *HCI_bm_alloc( uint16 size );
1161 
1175 extern uint8 HCI_ValidConnTimeParams( uint16 connIntervalMin,
1176  uint16 connIntervalMax,
1177  uint16 connLatency,
1178  uint16 connTimeout );
1179 
1185 extern void HCI_TestAppTaskRegister( uint8 taskID );
1186 
1192 extern void HCI_GAPTaskRegister( uint8 taskID );
1193 
1199 extern void HCI_L2CAPTaskRegister( uint8 taskID );
1200 
1206 extern void HCI_SMPTaskRegister( uint8 taskID );
1207 
1213 extern void HCI_ExtTaskRegister( uint8 taskID );
1214 
1239 extern hciStatus_t HCI_SendDataPkt( uint16 connHandle,
1240  uint8 pbFlag,
1241  uint16 pktLen,
1242  uint8 *pData );
1243 
1259 extern hciStatus_t HCI_DisconnectCmd( uint16 connHandle,
1260  uint8 reason );
1261 
1263 
1281 extern hciStatus_t HCI_ReadRemoteVersionInfoCmd( uint16 connHandle );
1282 
1283 
1297 extern hciStatus_t HCI_SetEventMaskCmd( uint8 *pMask );
1298 
1299 
1313 extern hciStatus_t HCI_SetEventMaskPage2Cmd( uint8 *pMask );
1314 
1323 extern hciStatus_t HCI_ResetCmd( void );
1324 
1336 extern hciStatus_t HCI_ReadTransmitPowerLevelCmd( uint16 connHandle,
1337  uint8 txPwrType );
1338 
1340 
1354 extern hciStatus_t HCI_SetControllerToHostFlowCtrlCmd( uint8 flowControlEnable );
1355 
1375 extern hciStatus_t HCI_HostBufferSizeCmd( uint16 hostAclPktLen,
1376  uint8 hostSyncPktLen,
1377  uint16 hostTotalNumAclPkts,
1378  uint16 hostTotalNumSyncPkts );
1379 
1381 
1410 extern hciStatus_t HCI_HostNumCompletedPktCmd( uint8 numHandles,
1411  uint16 *connHandles,
1412  uint16 *numCompletedPkts );
1413 
1425 extern hciStatus_t HCI_ReadAuthPayloadTimeoutCmd( uint16 connHandle,
1426  uint16 *aptoValue );
1427 
1439 extern hciStatus_t HCI_WriteAuthPayloadTimeoutCmd( uint16 connHandle,
1440  uint16 aptoValue );
1441 
1450 extern hciStatus_t HCI_ReadLocalVersionInfoCmd( void );
1451 
1460 extern hciStatus_t HCI_ReadLocalSupportedCommandsCmd( void );
1461 
1470 extern hciStatus_t HCI_ReadLocalSupportedFeaturesCmd( void );
1471 
1480 extern hciStatus_t HCI_ReadBDADDRCmd( void );
1481 
1498 extern hciStatus_t HCI_ReadRssiCmd( uint16 connHandle );
1499 
1513 extern hciStatus_t HCI_LE_SetEventMaskCmd( uint8 *pEventMask );
1514 
1523 extern hciStatus_t HCI_LE_ReadBufSizeCmd( void );
1524 
1534 extern hciStatus_t HCI_LE_ReadLocalSupportedFeaturesCmd( void );
1535 
1537 
1549 extern hciStatus_t HCI_LE_SetRandomAddressCmd( uint8 *pRandAddr );
1550 
1568 extern hciStatus_t HCI_LE_SetAdvParamCmd( uint16 advIntervalMin,
1569  uint16 advIntervalMax,
1570  uint8 advType,
1571  uint8 ownAddrType,
1572  uint8 directAddrType,
1573  uint8 *directAddr,
1574  uint8 advChannelMap,
1575  uint8 advFilterPolicy );
1576 
1588 extern hciStatus_t HCI_LE_SetAdvDataCmd( uint8 dataLen,
1589  uint8 *pData );
1590 
1602 extern hciStatus_t HCI_LE_SetScanRspDataCmd( uint8 dataLen,
1603  uint8 *pData );
1604 
1615 extern hciStatus_t HCI_LE_SetAdvEnableCmd( uint8 advEnable );
1616 
1625 extern hciStatus_t HCI_LE_ReadAdvChanTxPowerCmd( void );
1626 
1643 extern hciStatus_t HCI_LE_SetScanParamCmd( uint8 scanType,
1644  uint16 scanInterval,
1645  uint16 scanWindow,
1646  uint8 ownAddrType,
1647  uint8 filterPolicy );
1648 
1661 extern hciStatus_t HCI_LE_SetScanEnableCmd( uint8 scanEnable,
1662  uint8 filterDuplicates );
1663 
1688 extern hciStatus_t HCI_LE_CreateConnCmd( uint16 scanInterval,
1689  uint16 scanWindow,
1690  uint8 initFilterPolicy,
1691  uint8 addrTypePeer,
1692  uint8 *peerAddr,
1693  uint8 ownAddrType,
1694  uint16 connIntervalMin,
1695  uint16 connIntervalMax,
1696  uint16 connLatency,
1697  uint16 connTimeout,
1698  uint16 minLen,
1699  uint16 maxLen );
1700 
1709 extern hciStatus_t HCI_LE_CreateConnCancelCmd( void );
1710 
1712 
1721 extern hciStatus_t HCI_LE_ReadWhiteListSizeCmd( void );
1722 
1723 
1732 extern hciStatus_t HCI_LE_ClearWhiteListCmd( void );
1733 
1734 
1746 extern hciStatus_t HCI_LE_AddWhiteListCmd( uint8 addrType,
1747  uint8 *devAddr );
1748 
1749 
1761 extern hciStatus_t HCI_LE_RemoveWhiteListCmd( uint8 addrType,
1762  uint8 *devAddr );
1763 
1765 
1783 extern hciStatus_t HCI_LE_ConnUpdateCmd( uint16 connHandle,
1784  uint16 connIntervalMin,
1785  uint16 connIntervalMax,
1786  uint16 connLatency,
1787  uint16 connTimeout,
1788  uint16 minLen,
1789  uint16 maxLen );
1790 
1792 
1804 extern hciStatus_t HCI_LE_SetHostChanClassificationCmd( uint8 *chanMap );
1805 
1817 extern hciStatus_t HCI_LE_ReadChannelMapCmd( uint16 connHandle );
1818 
1831 extern hciStatus_t HCI_LE_ReadRemoteUsedFeaturesCmd( uint16 connHandle );
1832 
1853 extern hciStatus_t HCI_LE_EncryptCmd( uint8 *key,
1854  uint8 *plainText );
1855 
1878 extern hciStatus_t HCI_LE_RandCmd( void );
1879 
1881 
1897 extern hciStatus_t HCI_LE_StartEncyptCmd( uint16 connHandle,
1898  uint8 *random,
1899  uint8 *encDiv,
1900  uint8 *ltk );
1901 
1913 extern hciStatus_t HCI_LE_LtkReqReplyCmd( uint16 connHandle,
1914  uint8 *ltk );
1915 
1916 
1927 extern hciStatus_t HCI_LE_LtkReqNegReplyCmd( uint16 connHandle );
1928 
1930 
1939 extern hciStatus_t HCI_LE_ReadSupportedStatesCmd( void );
1940 
1953 extern hciStatus_t HCI_LE_ReceiverTestCmd( uint8 rxChan );
1954 
1971 extern hciStatus_t HCI_LE_TransmitterTestCmd( uint8 txChan,
1972  uint8 dataLen,
1973  uint8 pktPayload );
1974 
1985 extern hciStatus_t HCI_LE_TestEndCmd( void );
1986 
1987 // V4.1
1988 
1990 
2012 extern hciStatus_t HCI_LE_RemoteConnParamReqReplyCmd( uint16 connHandle,
2013  uint16 connIntervalMin,
2014  uint16 connIntervalMax,
2015  uint16 connLatency,
2016  uint16 connTimeout,
2017  uint16 minLen,
2018  uint16 maxLen );
2019 
2036 extern hciStatus_t HCI_LE_RemoteConnParamReqNegReplyCmd( uint16 connHandle,
2037  uint8 reason );
2038 
2040 
2041 // V4.2 Extended Data Length
2042 
2058 extern hciStatus_t HCI_LE_SetDataLenCmd( uint16 connHandle,
2059  uint16 txOctets,
2060  uint16 txTime );
2061 
2073 extern hciStatus_t HCI_LE_ReadSuggestedDefaultDataLenCmd( void );
2074 
2090 extern hciStatus_t HCI_LE_WriteSuggestedDefaultDataLenCmd( uint16 txOctets,
2091  uint16 txTime );
2092 
2104 extern hciStatus_t HCI_LE_ReadMaxDataLenCmd( void );
2105 
2106 // V4.2 Privacy 1.2
2107 
2124 extern hciStatus_t HCI_LE_AddDeviceToResolvingListCmd( uint8 peerIdAddrType,
2125  uint8 *peerIdAddr,
2126  uint8 *peerIRK,
2127  uint8 *localIRK );
2128 
2143 extern hciStatus_t HCI_LE_RemoveDeviceFromResolvingListCmd( uint8 peerIdAddrType,
2144  uint8 *peerIdAddr );
2145 
2157 extern hciStatus_t HCI_LE_ClearResolvingListCmd( void );
2158 
2170 extern hciStatus_t HCI_LE_ReadResolvingListSizeCmd( void );
2171 
2189 extern hciStatus_t HCI_LE_ReadPeerResolvableAddressCmd( uint8 peerIdAddrType,
2190  uint8 *peerIdAddr );
2191 
2210 extern hciStatus_t HCI_LE_ReadLocalResolvableAddressCmd( uint8 localIdAddrType,
2211  uint8 *localIdAddr );
2212 
2214 
2229 extern hciStatus_t HCI_LE_SetAddressResolutionEnableCmd( uint8 addrResolutionEnable );
2230 
2232 
2248 extern hciStatus_t HCI_LE_SetResolvablePrivateAddressTimeoutCmd( uint16 rpaTimeout );
2249 
2266 extern hciStatus_t HCI_LE_SetPrivacyModeCmd( uint8 peerIdAddrType,
2267  uint8 *peerIdAddr,
2268  uint8 privacyMode );
2269 
2270 // V4.2 Secure Connections
2271 
2273 
2289 extern hciStatus_t HCI_LE_ReadLocalP256PublicKeyCmd( void );
2290 
2291 
2310 extern hciStatus_t HCI_LE_GenerateDHKeyCmd( uint8 *publicKey );
2311 
2313 
2314 // V5.0 2M and Coded PHY
2315 
2326 extern hciStatus_t HCI_LE_ReadPhyCmd( uint16 connHandle );
2327 
2328 
2344 extern hciStatus_t HCI_LE_SetDefaultPhyCmd( uint8 allPhys,
2345  uint8 txPhy,
2346  uint8 rxPhy );
2347 
2348 
2363 extern hciStatus_t HCI_LE_SetPhyCmd( uint16 connHandle,
2364  uint8 allPhys,
2365  uint8 txPhy,
2366  uint8 rxPhy,
2367  uint16 phyOpts );
2368 
2369 
2385 extern hciStatus_t HCI_LE_EnhancedRxTestCmd( uint8 rxChan,
2386  uint8 rxPhy,
2387  uint8 modIndex );
2388 
2389 
2406 extern hciStatus_t HCI_LE_EnhancedTxTestCmd( uint8 txChan,
2407  uint8 payloadLen,
2408  uint8 payloadType,
2409  uint8 txPhy );
2410 
2411 /*
2412 ** HCI Vendor Specific Commands: Link Layer Extensions
2413 */
2414 
2427 extern hciStatus_t HCI_EXT_SetRxGainCmd( uint8 rxGain );
2428 
2429 
2445 extern hciStatus_t HCI_EXT_SetTxPowerCmd( uint8 txPower );
2446 
2447 
2458 extern hciStatus_t HCI_EXT_OnePktPerEvtCmd( uint8 control );
2459 
2461 
2480 extern hciStatus_t HCI_EXT_ClkDivOnHaltCmd( uint8 control );
2481 
2503 extern hciStatus_t HCI_EXT_DeclareNvUsageCmd( uint8 mode );
2504 
2506 
2520 extern hciStatus_t HCI_EXT_DecryptCmd( uint8 *key,
2521  uint8 *encText );
2522 
2545 extern hciStatus_t HCI_EXT_SetLocalSupportedFeaturesCmd( uint8 *localFeatures );
2546 
2572 extern hciStatus_t HCI_EXT_SetFastTxResponseTimeCmd( uint8 control );
2573 
2575 
2594 extern hciStatus_t HCI_EXT_SetSlaveLatencyOverrideCmd( uint8 control );
2595 
2597 
2621 extern hciStatus_t HCI_EXT_ModemTestTxCmd( uint8 cwMode,
2622  uint8 txChan );
2623 
2645 extern hciStatus_t HCI_EXT_ModemHopTestTxCmd( void );
2646 
2669 extern hciStatus_t HCI_EXT_ModemTestRxCmd( uint8 rxChan );
2670 
2695 extern hciStatus_t HCI_EXT_EnhancedModemTestTxCmd( uint8 cwMode,
2696  uint8 rfPhy,
2697  uint8 rfChan );
2698 
2726 extern hciStatus_t HCI_EXT_EnhancedModemHopTestTxCmd( uint8 payloadLen,
2727  uint8 payloadType,
2728  uint8 rfPhy );
2729 
2753 extern hciStatus_t HCI_EXT_EnhancedModemTestRxCmd( uint8 rfPhy,
2754  uint8 rfChan );
2755 
2766 extern hciStatus_t HCI_EXT_EndModemTestCmd( void );
2767 
2769 
2792 extern hciStatus_t HCI_EXT_SetBDADDRCmd( uint8 *bdAddr );
2793 
2795 
2821 extern hciStatus_t HCI_EXT_SetSCACmd( uint16 scaInPPM );
2822 
2838 extern hciStatus_t HCI_EXT_EnablePTMCmd( void );
2839 
2859 extern hciStatus_t HCI_EXT_SetFreqTuneCmd( uint8 step );
2860 
2875 extern hciStatus_t HCI_EXT_SaveFreqTuneCmd( void );
2876 
2897 extern hciStatus_t HCI_EXT_SetMaxDtmTxPowerCmd( uint8 txPower );
2898 
2900 
2940 extern hciStatus_t HCI_EXT_MapPmIoPortCmd( uint8 ioPort, uint8 ioPin );
2941 
2943 
2959 extern hciStatus_t HCI_EXT_DisconnectImmedCmd( uint16 connHandle );
2960 
2979 extern hciStatus_t HCI_EXT_PacketErrorRateCmd( uint16 connHandle, uint8 command );
2980 
3022 extern hciStatus_t HCI_EXT_PERbyChanCmd( uint16 connHandle, perByChan_t *perByChan );
3023 
3025 
3034 extern hciStatus_t HCI_EXT_ExtendRfRangeCmd( void );
3035 
3048 extern hciStatus_t HCI_EXT_HaltDuringRfCmd( uint8 mode );
3049 
3051 
3053 
3107 extern hciStatus_t HCI_EXT_AdvEventNoticeCmd( uint8 taskID, uint16 taskEvent );
3108 
3166 extern hciStatus_t HCI_EXT_ScanEventNoticeCmd( uint8 taskID, uint16 taskEvent );
3167 
3169 
3224 extern hciStatus_t HCI_EXT_ConnEventNoticeCmd( uint16 connHandle, uint8 taskID, uint16 taskEvent );
3225 
3247 extern hciStatus_t HCI_EXT_BuildRevisionCmd( uint8 mode, uint16 userRevNum );
3248 
3250 
3282 extern hciStatus_t HCI_EXT_DelaySleepCmd( uint16 delay );
3283 
3285 
3304 extern hciStatus_t HCI_EXT_ResetSystemCmd( uint8 mode );
3305 
3306 // @cond NODOC
3307 
3318 extern hciStatus_t HCI_EXT_LLTestModeCmd( uint8 testCase );
3319 
3320 
3331 extern hciStatus_t HCI_EXT_OverlappedProcessingCmd( uint8 mode );
3332 
3334 
3355 extern hciStatus_t HCI_EXT_NumComplPktsLimitCmd( uint8 limit,
3356  uint8 flushOnEvt );
3357 
3359 
3392 extern hciStatus_t HCI_EXT_GetConnInfoCmd( uint8 *numAllocConns,
3393  uint8 *numActiveConns,
3394  hciConnInfo_t *activeConnInfo );
3395 
3397 
3414 extern hciStatus_t HCI_EXT_SetMaxDataLenCmd( uint16 txOctets,
3415  uint16 txTime,
3416  uint16 rxOctets,
3417  uint16 rxTime );
3418 
3420 
3469 extern hciStatus_t HCI_EXT_ScanReqRptCmd( uint8 mode );
3470 
3472 
3485 extern hciStatus_t HCI_EXT_SetDtmTxPktCntCmd( uint16 txPktCnt );
3486 
3488 
3497 extern hciStatus_t HCI_EXT_ReadRandAddrCmd( void );
3498 
3500 
3501 #ifdef __cplusplus
3502 }
3503 #endif
3504 
3505 #endif /* HCI_H */
3506 
hciStatus_t HCI_EXT_PacketErrorRateCmd(uint16 connHandle, uint8 command)
osal_event_hdr_t hdr
osal event header
Definition: hci.h:983
uint8 BLEEventCode
BLE Event Code.
Definition: hci.h:906
uint8 status
status of event
Definition: hci.h:919
This API allows the software components in the Z-Stack to be written independently of the specifics o...
uint8 eventType
scan request event type
Definition: hci.h:895
uint16 * pNumCompletedPackets
pointer to the number of completed packets array
Definition: hci.h:950
hciStatus_t HCI_EXT_SetMaxDataLenCmd(uint16 txOctets, uint16 txTime, uint16 rxOctets, uint16 rxTime)
uint16 connHandle
connection handle
Definition: hci.h:1039
uint8 status
status of event
Definition: hci.h:907
uint8 status
status of event
Definition: hci.h:1028
uint8 addrType
public or random address type
Definition: hci.h:874
uint8 pktType
packet type
Definition: hci.h:1092
uint8 BLEEventCode
BLE Event Code.
Definition: hci.h:928
uint8 clockAccuracy
connection clock accuracy
Definition: hci.h:857
osal_event_hdr_t hdr
osal event header
Definition: hci.h:1075
uint16 Interval_Min
minimum connection interval
Definition: hci.h:1017
hciStatus_t HCI_LE_SetDefaultPhyCmd(uint8 allPhys, uint8 txPhy, uint8 rxPhy)
HCI Packet event.
Definition: hci.h:1082
osal_event_hdr_t hdr
osal event header
Definition: hci.h:937
#define B_RANDOM_NUM_SIZE
BLE Random Number Size.
Definition: bcomdef.h:133
uint8 numHandles
number of handles
Definition: hci.h:948
uint8 * pReturnParam
pointer to the return parameter
Definition: hci.h:959
hciStatus_t HCI_LE_ReadRemoteUsedFeaturesCmd(uint16 connHandle)
osal_event_hdr_t hdr
osal event header
Definition: hci.h:927
uint16 dataPktLen
data packet length
Definition: hci.h:1068
Command Status Event.
Definition: hci.h:972
uint16 connHandle
connection handle
Definition: hci.h:1029
osal_event_hdr_t hdr
osal event header
Definition: hci.h:1037
osal_event_hdr_t hdr
osal event header
Definition: hci.h:893
hciStatus_t HCI_LE_TestEndCmd(void)
hciStatus_t HCI_LE_SetResolvablePrivateAddressTimeoutCmd(uint16 rpaTimeout)
hciStatus_t HCI_EXT_SetMaxDtmTxPowerCmd(uint8 txPower)
Hardware Error Event.
Definition: hci.h:981
hciStatus_t HCI_EXT_ModemTestTxCmd(uint8 cwMode, uint8 txChan)
hciStatus_t HCI_LE_TransmitterTestCmd(uint8 txChan, uint8 dataLen, uint8 pktPayload)
uint8 peerAddrType
peer address type
Definition: hci.h:852