TI BLE5-Stack API Documentation  1.01.08.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 
317 #ifndef HCI_H
318 #define HCI_H
319 
320 #ifdef __cplusplus
321 extern "C"
322 {
323 #endif
324 
325 /*
326  * INCLUDES
327  */
328 #include "bcomdef.h"
329 #include "osal.h"
330 #include "ll.h"
331 #include "hal_assert.h"
332 
333 /*
334  * MACROS
335  */
336 
337 /*
338  * CONSTANTS
339  */
340 
351 #define HCI_SUCCESS 0x00
352 #define HCI_ERROR_CODE_UNKNOWN_HCI_CMD 0x01
353 #define HCI_ERROR_CODE_UNKNOWN_CONN_ID 0x02
354 #define HCI_ERROR_CODE_HW_FAILURE 0x03
355 #define HCI_ERROR_CODE_PAGE_TIMEOUT 0x04
356 #define HCI_ERROR_CODE_AUTH_FAILURE 0x05
357 #define HCI_ERROR_CODE_PIN_KEY_MISSING 0x06
358 #define HCI_ERROR_CODE_MEM_CAP_EXCEEDED 0x07
359 #define HCI_ERROR_CODE_CONN_TIMEOUT 0x08
360 #define HCI_ERROR_CODE_CONN_LIMIT_EXCEEDED 0x09
361 #define HCI_ERROR_CODE_SYNCH_CONN_LIMIT_EXCEEDED 0x0A
362 #define HCI_ERROR_CODE_ACL_CONN_ALREADY_EXISTS 0x0B
363 #define HCI_ERROR_CODE_CMD_DISALLOWED 0x0C
364 #define HCI_ERROR_CODE_CONN_REJ_LIMITED_RESOURCES 0x0D
365 #define HCI_ERROR_CODE_CONN_REJECTED_SECURITY_REASONS 0x0E
366 #define HCI_ERROR_CODE_CONN_REJECTED_UNACCEPTABLE_BDADDR 0x0F
367 #define HCI_ERROR_CODE_CONN_ACCEPT_TIMEOUT_EXCEEDED 0x10
368 #define HCI_ERROR_CODE_UNSUPPORTED_FEATURE_PARAM_VALUE 0x11
369 #define HCI_ERROR_CODE_INVALID_HCI_CMD_PARAMS 0x12
370 #define HCI_ERROR_CODE_REMOTE_USER_TERM_CONN 0x13
371 #define HCI_ERROR_CODE_REMOTE_DEVICE_TERM_CONN_LOW_RESOURCES 0x14
372 #define HCI_ERROR_CODE_REMOTE_DEVICE_TERM_CONN_POWER_OFF 0x15
373 #define HCI_ERROR_CODE_CONN_TERM_BY_LOCAL_HOST 0x16
374 #define HCI_ERROR_CODE_REPEATED_ATTEMPTS 0x17
375 #define HCI_ERROR_CODE_PAIRING_NOT_ALLOWED 0x18
376 #define HCI_ERROR_CODE_UNKNOWN_LMP_PDU 0x19
377 #define HCI_ERROR_CODE_UNSUPPORTED_REMOTE_FEATURE 0x1A
378 #define HCI_ERROR_CODE_SCO_OFFSET_REJ 0x1B
379 #define HCI_ERROR_CODE_SCO_INTERVAL_REJ 0x1C
380 #define HCI_ERROR_CODE_SCO_AIR_MODE_REJ 0x1D
381 #define HCI_ERROR_CODE_INVALID_LMP_PARAMS 0x1E
382 #define HCI_ERROR_CODE_UNSPECIFIED_ERROR 0x1F
383 #define HCI_ERROR_CODE_UNSUPPORTED_LMP_PARAM_VAL 0x20
384 #define HCI_ERROR_CODE_ROLE_CHANGE_NOT_ALLOWED 0x21
385 #define HCI_ERROR_CODE_LMP_LL_RESP_TIMEOUT 0x22
386 #define HCI_ERROR_CODE_LMP_ERR_TRANSACTION_COLLISION 0x23
387 #define HCI_ERROR_CODE_LMP_PDU_NOT_ALLOWED 0x24
388 #define HCI_ERROR_CODE_ENCRYPT_MODE_NOT_ACCEPTABLE 0x25
389 #define HCI_ERROR_CODE_LINK_KEY_CAN_NOT_BE_CHANGED 0x26
390 #define HCI_ERROR_CODE_REQ_QOS_NOT_SUPPORTED 0x27
391 #define HCI_ERROR_CODE_INSTANT_PASSED 0x28
392 #define HCI_ERROR_CODE_PAIRING_WITH_UNIT_KEY_NOT_SUPPORTED 0x29
393 #define HCI_ERROR_CODE_DIFFERENT_TRANSACTION_COLLISION 0x2A
394 #define HCI_ERROR_CODE_RESERVED1 0x2B
395 #define HCI_ERROR_CODE_QOS_UNACCEPTABLE_PARAM 0x2C
396 #define HCI_ERROR_CODE_QOS_REJ 0x2D
397 #define HCI_ERROR_CODE_CHAN_ASSESSMENT_NOT_SUPPORTED 0x2E
398 #define HCI_ERROR_CODE_INSUFFICIENT_SECURITY 0x2F
399 #define HCI_ERROR_CODE_PARAM_OUT_OF_MANDATORY_RANGE 0x30
400 #define HCI_ERROR_CODE_RESERVED2 0x31
401 #define HCI_ERROR_CODE_ROLE_SWITCH_PENDING 0x32
402 #define HCI_ERROR_CODE_RESERVED3 0x33
403 #define HCI_ERROR_CODE_RESERVED_SLOT_VIOLATION 0x34
404 #define HCI_ERROR_CODE_ROLE_SWITCH_FAILED 0x35
405 #define HCI_ERROR_CODE_EXTENDED_INQUIRY_RESP_TOO_LARGE 0x36
406 #define HCI_ERROR_CODE_SIMPLE_PAIRING_NOT_SUPPORTED_BY_HOST 0x37
407 #define HCI_ERROR_CODE_HOST_BUSY_PAIRING 0x38
408 #define HCI_ERROR_CODE_CONN_REJ_NO_SUITABLE_CHAN_FOUND 0x39
409 #define HCI_ERROR_CODE_CONTROLLER_BUSY 0x3A
410 #define HCI_ERROR_CODE_UNACCEPTABLE_CONN_PARAMETERS 0x3B
411 #define HCI_ERROR_CODE_DIRECTED_ADV_TIMEOUT 0x3C
412 #define HCI_ERROR_CODE_CONN_TERM_MIC_FAILURE 0x3D
413 #define HCI_ERROR_CODE_CONN_FAILED_TO_ESTABLISH 0x3E
414 #define HCI_ERROR_CODE_MAC_CONN_FAILED 0x3F
415 #define HCI_ERROR_CODE_COARSE_CLOCK_ADJUST_REJECTED 0x40
416 #define HCI_ERROR_CODE_TYPE0_SUBMAP_NOT_DEFINED 0x41
417 #define HCI_ERROR_CODE_UNKNOWN_ADVERTISING_IDENTIFIER 0x42
418 #define HCI_ERROR_CODE_LIMIT_REACHED 0x43
419 #define HCI_ERROR_CODE_OPERATION_CANCELLED_BY_HOST 0x44
420 
426 #define HCI_MAX_NUM_CMD_BUFFERS LL_MAX_NUM_CMD_BUFFERS
427 #if defined(CC2540) || defined(CC2541) || defined(CC2541S)
428 #define HCI_MAX_NUM_DATA_BUFFERS LL_MAX_NUM_DATA_BUFFERS //<! Max Num Data Buffers
429 #endif // CC2540 | CC2541 | CC2541S
430 
431 // Send Data Packet Boundary Flags
432 #define FIRST_PKT_HOST_TO_CTRL LL_DATA_FIRST_PKT_HOST_TO_CTRL
433 #define CONTINUING_PKT LL_DATA_CONTINUATION_PKT
434 #define FIRST_PKT_CTRL_TO_HOST LL_DATA_FIRST_PKT_CTRL_TO_HOST
435 
436 
438 #define HCI_RSSI_NOT_AVAILABLE LL_RSSI_NOT_AVAILABLE
439 
444 #define HCI_DISCONNECT_AUTH_FAILURE HCI_ERROR_CODE_AUTH_FAILURE
445 #define HCI_DISCONNECT_REMOTE_USER_TERM HCI_ERROR_CODE_REMOTE_USER_TERM_CONN
446 #define HCI_DISCONNECT_REMOTE_DEV_LOW_RESOURCES HCI_ERROR_CODE_REMOTE_DEVICE_TERM_CONN_LOW_RESOURCES
447 #define HCI_DISCONNECT_REMOTE_DEV_POWER_OFF HCI_ERROR_CODE_REMOTE_DEVICE_TERM_CONN_POWER_OFF
448 #define HCI_DISCONNECT_UNSUPPORTED_REMOTE_FEATURE HCI_ERROR_CODE_UNSUPPORTED_REMOTE_FEATURE
449 #define HCI_DISCONNECT_KEY_PAIRING_NOT_SUPPORTED HCI_ERROR_CODE_PAIRING_WITH_UNIT_KEY_NOT_SUPPORTED
450 #define HCI_DISCONNECT_UNACCEPTABLE_CONN_INTERVAL HCI_ERROR_CODE_UNACCEPTABLE_CONN_INTERVAL
451 
457 // Tx Power Types
458 #define HCI_READ_CURRENT_TX_POWER_LEVEL LL_READ_CURRENT_TX_POWER_LEVEL
459 #define HCI_READ_MAX_TX_POWER_LEVEL LL_READ_MAX_TX_POWER_LEVEL
460 
466 #define HCI_CTRL_TO_HOST_FLOW_CTRL_OFF 0
467 #define HCI_CTRL_TO_HOST_FLOW_CTRL_ACL_ON_SYNCH_OFF 1
468 #define HCI_CTRL_TO_HOST_FLOW_CTRL_ACL_OFF_SYNCH_ON 2
469 #define HCI_CTRL_TO_HOST_FLOW_CTRL_ACL_ON_SYNCH_ON 3
470 
476 #define HCI_PUBLIC_DEVICE_ADDRESS LL_DEV_ADDR_TYPE_PUBLIC
477 #define HCI_RANDOM_DEVICE_ADDRESS LL_DEV_ADDR_TYPE_RANDOM
478 
484 #define HCI_CONNECTABLE_UNDIRECTED_ADV LL_ADV_CONNECTABLE_UNDIRECTED_EVT
485 #define HCI_CONNECTABLE_DIRECTED_HDC_ADV LL_ADV_CONNECTABLE_DIRECTED_HDC_EVT
486 #define HCI_SCANNABLE_UNDIRECTED LL_ADV_SCANNABLE_UNDIRECTED_EVT
487 #define HCI_NONCONNECTABLE_UNDIRECTED_ADV LL_ADV_NONCONNECTABLE_UNDIRECTED_EVT
488 #define HCI_CONNECTABLE_DIRECTED_LDC_ADV LL_ADV_CONNECTABLE_DIRECTED_LDC_EVT
489 
495 #define HCI_ADV_CHAN_37 LL_ADV_CHAN_37
496 #define HCI_ADV_CHAN_38 LL_ADV_CHAN_38
497 #define HCI_ADV_CHAN_39 LL_ADV_CHAN_39
498 #define HCI_ADV_CHAN_ALL (LL_ADV_CHAN_37 | LL_ADV_CHAN_38 | LL_ADV_CHAN_39)
499 
505 #define HCI_ADV_WL_POLICY_ANY_REQ LL_ADV_WL_POLICY_ANY_REQ
506 #define HCI_ADV_WL_POLICY_WL_SCAN_REQ LL_ADV_WL_POLICY_WL_SCAN_REQ
507 #define HCI_ADV_WL_POLICY_WL_CONNECT_IND LL_ADV_WL_POLICY_WL_CONNECT_IND
508 #define HCI_ADV_WL_POLICY_WL_ALL_REQ LL_ADV_WL_POLICY_WL_ALL_REQ
509 
515 #define HCI_ENABLE_ADV LL_ADV_MODE_ON
516 #define HCI_DISABLE_ADV LL_ADV_MODE_OFF
517 
523 #define HCI_SCAN_PASSIVE LL_SCAN_PASSIVE
524 #define HCI_SCAN_ACTIVE LL_SCAN_ACTIVE
525 
531 // Scan White List Policy
532 #define HCI_SCAN_WL_POLICY_ANY_ADV_PKTS LL_SCAN_WL_POLICY_ANY_ADV_PKTS
533 #define HCI_SCAN_WL_POLICY_USE_WHITE_LIST LL_SCAN_WL_POLICY_USE_WHITE_LIST
534 
540 // Scan Filtering
541 #define HCI_FILTER_REPORTS_DISABLE LL_FILTER_REPORTS_DISABLE
542 #define HCI_FILTER_REPORTS_ENABLE LL_FILTER_REPORTS_ENABLE
543 
549 // Scan Commands
550 #define HCI_SCAN_STOP LL_SCAN_STOP
551 #define HCI_SCAN_START LL_SCAN_START
552 
558 #define HCI_INIT_WL_POLICY_USE_PEER_ADDR LL_INIT_WL_POLICY_USE_PEER_ADDR
559 #define HCI_INIT_WL_POLICY_USE_WHITE_LIST LL_INIT_WL_POLICY_USE_WHITE_LIST
560 
566 #define HCI_ENCRYPTION_OFF LL_ENCRYPTION_OFF
567 #define HCI_ENCRYPTION_ON LL_ENCRYPTION_ON
568 
574 #define HCI_DIRECT_TEST_PAYLOAD_PRBS9 LL_DIRECT_TEST_PAYLOAD_PRBS9
575 #define HCI_DIRECT_TEST_PAYLOAD_0x0F LL_DIRECT_TEST_PAYLOAD_0x0F
576 #define HCI_DIRECT_TEST_PAYLOAD_0x55 LL_DIRECT_TEST_PAYLOAD_0x55
577 #define HCI_DIRECT_TEST_PAYLOAD_PRBS15 LL_DIRECT_TEST_PAYLOAD_PRBS15
578 #define HCI_DIRECT_TEST_PAYLOAD_0xFF LL_DIRECT_TEST_PAYLOAD_0xFF
579 #define HCI_DIRECT_TEST_PAYLOAD_0x00 LL_DIRECT_TEST_PAYLOAD_0x00
580 #define HCI_DIRECT_TEST_PAYLOAD_0xF0 LL_DIRECT_TEST_PAYLOAD_0xF0
581 #define HCI_DIRECT_TEST_PAYLOAD_0xAA LL_DIRECT_TEST_PAYLOAD_0xAA
582 
588 #define HCI_DTM_STANDARD_MODULATION_INDEX LL_DTM_STANDARD_MODULATION_INDEX
589 #define HCI_DTM_STABLE_MODULATION_INDEX LL_DTM_STABLE_MODULATION_INDEX
590 
596 #define HCI_EXT_DTM_TX_CONTINUOUS LL_EXT_DTM_TX_CONTINUOUS
597 
603 #define HCI_DISABLE_ADDR_RESOLUTION LL_DISABLE_ADDR_RESOLUTION
604 #define HCI_ENABLE_ADDR_RESOLUTION LL_ENABLE_ADDR_RESOLUTION
605 #define HCI_NETWORK_PRIVACY_MODE LL_NETWORK_PRIVACY_MODE
606 #define HCI_DEVICE_PRIVACY_MODE LL_DEVICE_PRIVACY_MODE
607 
613 #define HCI_PHY_USE_PHY_PARAM LL_PHY_USE_PHY_PARAM
614 #define HCI_PHY_USE_ANY_PHY LL_PHY_USE_ANY_PHY
615 #define HCI_PHY_1_MBPS LL_PHY_1_MBPS
616 #define HCI_PHY_2_MBPS LL_PHY_2_MBPS
617 #define HCI_PHY_CODED LL_PHY_CODED
618 
624 #define PHY_UPDATE_COMPLETE_EVENT_1M 1
625 #define PHY_UPDATE_COMPLETE_EVENT_2M 2
626 #define PHY_UPDATE_COMPLETE_EVENT_CODED 3
627 
633 #define HCI_EXT_RX_GAIN_STD LL_EXT_RX_GAIN_STD
634 #define HCI_EXT_RX_GAIN_HIGH LL_EXT_RX_GAIN_HIGH
635 
641 #if defined( CC26XX ) || defined( CC13XX )
642 #define HCI_EXT_TX_POWER_MINUS_21_DBM LL_EXT_TX_POWER_MINUS_21_DBM
643 #define HCI_EXT_TX_POWER_MINUS_18_DBM LL_EXT_TX_POWER_MINUS_18_DBM
644 #define HCI_EXT_TX_POWER_MINUS_15_DBM LL_EXT_TX_POWER_MINUS_15_DBM
645 #define HCI_EXT_TX_POWER_MINUS_12_DBM LL_EXT_TX_POWER_MINUS_12_DBM
646 #define HCI_EXT_TX_POWER_MINUS_9_DBM LL_EXT_TX_POWER_MINUS_9_DBM
647 #define HCI_EXT_TX_POWER_MINUS_6_DBM LL_EXT_TX_POWER_MINUS_6_DBM
648 #define HCI_EXT_TX_POWER_MINUS_3_DBM LL_EXT_TX_POWER_MINUS_3_DBM
649 #define HCI_EXT_TX_POWER_0_DBM LL_EXT_TX_POWER_0_DBM
650 #define HCI_EXT_TX_POWER_1_DBM LL_EXT_TX_POWER_1_DBM
651 #define HCI_EXT_TX_POWER_2_DBM LL_EXT_TX_POWER_2_DBM
652 #define HCI_EXT_TX_POWER_3_DBM LL_EXT_TX_POWER_3_DBM
653 #define HCI_EXT_TX_POWER_4_DBM LL_EXT_TX_POWER_4_DBM
654 #define HCI_EXT_TX_POWER_5_DBM LL_EXT_TX_POWER_5_DBM
655 #else // CC254x
656 #define HCI_EXT_TX_POWER_MINUS_23_DBM LL_EXT_TX_POWER_MINUS_23_DBM
657 #define HCI_EXT_TX_POWER_MINUS_6_DBM LL_EXT_TX_POWER_MINUS_6_DBM
658 #define HCI_EXT_TX_POWER_0_DBM LL_EXT_TX_POWER_0_DBM
659 #define HCI_EXT_TX_POWER_4_DBM LL_EXT_TX_POWER_4_DBM
660 #endif // CC26XX/CC13XX
661 
667 #define HCI_EXT_ENABLE_ONE_PKT_PER_EVT LL_EXT_ENABLE_ONE_PKT_PER_EVT
668 #define HCI_EXT_DISABLE_ONE_PKT_PER_EVT LL_EXT_DISABLE_ONE_PKT_PER_EVT
669 
671 
673 
677 #define HCI_EXT_ENABLE_CLK_DIVIDE_ON_HALT LL_EXT_ENABLE_CLK_DIVIDE_ON_HALT
678 #define HCI_EXT_DISABLE_CLK_DIVIDE_ON_HALT LL_EXT_DISABLE_CLK_DIVIDE_ON_HALT
679 
681 
683 
687 #define HCI_EXT_NV_IN_USE LL_EXT_NV_IN_USE
688 #define HCI_EXT_NV_NOT_IN_USE LL_EXT_NV_NOT_IN_USE
689 
695 #define HCI_EXT_ENABLE_FAST_TX_RESP_TIME LL_EXT_ENABLE_FAST_TX_RESP_TIME
696 #define HCI_EXT_DISABLE_FAST_TX_RESP_TIME LL_EXT_DISABLE_FAST_TX_RESP_TIME
697 
703 #define HCI_EXT_ENABLE_SL_OVERRIDE LL_EXT_ENABLE_SL_OVERRIDE
704 #define HCI_EXT_DISABLE_SL_OVERRIDE LL_EXT_DISABLE_SL_OVERRIDE
705 
711 #define HCI_EXT_TX_MODULATED_CARRIER LL_EXT_TX_MODULATED_CARRIER
712 #define HCI_EXT_TX_UNMODULATED_CARRIER LL_EXT_TX_UNMODULATED_CARRIER
713 
719 #define HCI_PTM_SET_FREQ_TUNE_DOWN LL_EXT_SET_FREQ_TUNE_DOWN
720 #define HCI_PTM_SET_FREQ_TUNE_UP LL_EXT_SET_FREQ_TUNE_UP
721 
723 
725 
729 #define HCI_EXT_PM_IO_PORT_P0 LL_EXT_PM_IO_PORT_P0
730 #define HCI_EXT_PM_IO_PORT_P1 LL_EXT_PM_IO_PORT_P1
731 #define HCI_EXT_PM_IO_PORT_P2 LL_EXT_PM_IO_PORT_P2
732 #define HCI_EXT_PM_IO_PORT_NONE LL_EXT_PM_IO_PORT_NONE
733 
734 #define HCI_EXT_PM_IO_PORT_PIN0 LL_EXT_PM_IO_PORT_PIN0
735 #define HCI_EXT_PM_IO_PORT_PIN1 LL_EXT_PM_IO_PORT_PIN1
736 #define HCI_EXT_PM_IO_PORT_PIN2 LL_EXT_PM_IO_PORT_PIN2
737 #define HCI_EXT_PM_IO_PORT_PIN3 LL_EXT_PM_IO_PORT_PIN3
738 #define HCI_EXT_PM_IO_PORT_PIN4 LL_EXT_PM_IO_PORT_PIN4
739 #define HCI_EXT_PM_IO_PORT_PIN5 LL_EXT_PM_IO_PORT_PIN5
740 #define HCI_EXT_PM_IO_PORT_PIN6 LL_EXT_PM_IO_PORT_PIN6
741 #define HCI_EXT_PM_IO_PORT_PIN7 LL_EXT_PM_IO_PORT_PIN7
742 
744 
750 #define HCI_EXT_PER_RESET LL_EXT_PER_RESET
751 #define HCI_EXT_PER_READ LL_EXT_PER_READ
752 
754 
756 
760 #define HCI_EXT_HALT_DURING_RF_DISABLE LL_EXT_HALT_DURING_RF_DISABLE
761 #define HCI_EXT_HALT_DURING_RF_ENABLE LL_EXT_HALT_DURING_RF_ENABLE
762 
764 
766 
770 #define HCI_EXT_SET_USER_REVISION LL_EXT_SET_USER_REVISION
771 #define HCI_EXT_READ_BUILD_REVISION LL_EXT_READ_BUILD_REVISION
772 
778 #define HCI_EXT_RESET_SYSTEM_HARD LL_EXT_RESET_SYSTEM_HARD
779 #define HCI_EXT_RESET_SYSTEM_SOFT LL_EXT_RESET_SYSTEM_SOFT
780 
782 
784 
788 #define HCI_EXT_DISABLE_OVERLAPPED_PROCESSING LL_EXT_DISABLE_OVERLAPPED_PROCESSING
789 #define HCI_EXT_ENABLE_OVERLAPPED_PROCESSING LL_EXT_ENABLE_OVERLAPPED_PROCESSING
790 
792 
794 
798 #define HCI_EXT_DISABLE_NUM_COMPL_PKTS_ON_EVENT LL_EXT_DISABLE_NUM_COMPL_PKTS_ON_EVENT
799 #define HCI_EXT_ENABLE_NUM_COMPL_PKTS_ON_EVENT LL_EXT_ENABLE_NUM_COMPL_PKTS_ON_EVENT
800 
806 #define HCI_EXT_DISABLE_SCAN_REQUEST_REPORT LL_EXT_DISABLE_SCAN_REQUEST_REPORT
807 #define HCI_EXT_ENABLE_SCAN_REQUEST_REPORT LL_EXT_ENABLE_SCAN_REQUEST_REPORT
808 
818 #define HCI_LINK_TYPE_SCO_BUFFER_OVERFLOW 0
819 #define HCI_LINK_TYPE_ACL_BUFFER_OVERFLOW 1
820 
828 #define HCI_EXT_RF_SETUP_1M_PHY LL_EXT_RF_SETUP_1M_PHY
829 #define HCI_EXT_RF_SETUP_2M_PHY LL_EXT_RF_SETUP_2M_PHY
830 #define HCI_EXT_RF_SETUP_CODED_S8_PHY LL_EXT_RF_SETUP_CODED_S8_PHY
831 #define HCI_EXT_RF_SETUP_CODED_S2_PHY LL_EXT_RF_SETUP_CODED_S2_PHY
832 
836 /*
837  * TYPEDEFS
838  */
839 
841 typedef uint8 hciStatus_t;
843 
849 typedef struct
851 {
853  uint8 BLEEventCode;
854  uint8 status;
856  uint8 role;
857  uint8 peerAddrType;
858  uint8 peerAddr[B_ADDR_LEN];
859  uint16 connInterval;
860  uint16 connLatency;
861  uint16 connTimeout;
864 
866 typedef struct
867 {
869  uint8 BLEEventCode;
870  uint8 status;
872  uint8 role;
873  uint8 peerAddrType;
874  uint8 peerAddr[B_ADDR_LEN];
875  uint16 connInterval;
876  uint16 connLatency;
877  uint16 connTimeout;
879  // Note: These fields normally follow peerAddr. Put here for Host optimization.
880  uint8 localRPA[B_ADDR_LEN];
881  uint8 peerRPA[B_ADDR_LEN];
883 
886 {
890 
892 typedef struct
893 {
894  uint8 eventType;
895  uint8 addrType;
896  uint8 addr[B_ADDR_LEN];
897  uint8 dataLen;
898  uint8 rspData[B_MAX_ADV_LEN];
899  int8 rssi;
901 
903 typedef struct
904 {
906  uint8 BLEEventCode;
907  uint8 numDevices;
910 
912 typedef struct
913 {
915  uint8 BLEEventCode;
916  uint8 eventType;
917  uint8 peerAddrType;
918  uint8 peerAddr[B_ADDR_LEN];
919  uint8 bleChan;
920  int8 rssi;
922 
924 typedef struct
925 {
927  uint8 BLEEventCode;
928  uint8 status;
930  uint16 connInterval;
931  uint16 connLatency;
932  uint16 connTimeout;
934 
936 typedef struct
937 {
939  uint8 BLEEventCode;
940  uint8 status;
942  uint8 features[8];
944 
946 typedef struct
947 {
949  uint8 BLEEventCode;
950  uint16 connHandle;
951  uint8 reason;
952  uint8 encEnable;
954 
956 typedef struct
957 {
959  uint8 BLEEventCode;
960  uint16 connHandle;
961  uint8 random[B_RANDOM_NUM_SIZE];
964 
966 typedef struct
967 {
969  uint8 numHandles;
973 
975 typedef struct
976 {
978  uint8 numHciCmdPkt;
979  uint16 cmdOpcode;
980  uint8 *pReturnParam;
982 
984 typedef struct
985 {
987  uint8 length;
988  uint16 cmdOpcode;
989  uint8 *pEventParam;
991 
993 typedef struct
994 {
996  uint8 cmdStatus;
997  uint8 numHciCmdPkt;
998  uint16 cmdOpcode;
1000 
1002 typedef struct
1003 {
1007 
1009 typedef struct
1010 {
1012  uint8 status;
1013  uint16 connHandle;
1014  uint8 reason;
1016 
1018 typedef struct
1019 {
1021  uint8 linkType;
1023 
1025 typedef struct
1026 {
1028  uint16 connHandle;
1030 
1032 typedef struct
1033 {
1036  uint8 status;
1037  uint16 connHandle;
1038  uint16 Interval_Min;
1039  uint16 Interval_Max;
1040  uint16 Latency;
1041  uint16 Timeout;
1043 
1045 typedef struct
1046 {
1049  uint8 status;
1050  uint16 connHandle;
1051  uint8 txPhy;
1052  uint8 rxPhy;
1054 
1056 typedef struct
1057 {
1060  uint16 connHandle;
1061  uint16 maxTxOctets;
1062  uint16 maxTxTime;
1063  uint16 maxRxOctets;
1064  uint16 maxRxTime;
1066 
1068 typedef struct
1069 {
1072  uint8 status;
1073  uint8 p256Key[LL_SC_P256_KEY_LEN];
1075 
1077 typedef struct
1078 {
1081  uint8 status;
1082  uint8 dhKey[LL_SC_DHKEY_LEN];
1084 
1086 typedef struct
1087 {
1088  uint8 status;
1089  uint16 dataPktLen;
1090  uint8 numDataPkts;
1092 
1094 typedef struct
1095 {
1098  uint16 connHandle;
1099  uint8 chSelAlgo;
1101 
1103 typedef struct
1104 {
1106  uint8 *pData;
1107 } hciPacket_t;
1108 
1110 typedef struct
1111 {
1113  uint8 pktType;
1114  uint16 connHandle;
1115  uint8 pbFlag;
1116  uint16 pktLen;
1117  uint8 *pData;
1118 } hciDataPacket_t;
1119 
1121 
1122 // OSAL HCI_DATA_EVENT message format. This message is used to forward incoming
1123 // data messages up to an application
1124 typedef struct
1125 {
1126  osal_event_hdr_t hdr;
1127  uint16 connHandle;
1128  uint8 pbFlag;
1129  uint16 len;
1130  uint8 *pData;
1131 } hciDataEvent_t;
1132 
1134 
1135 #if defined( CC26XX ) || defined( CC13XX )
1136 PACKED_TYPEDEF_STRUCT
1137 #else // CC254x
1138 typedef struct
1139 #endif // CC26XX/CC13XX
1140 {
1141  uint8 connId;
1142  uint8 role;
1143  uint8 addr[LL_DEVICE_ADDR_LEN];
1144  uint8 addrType;
1145 } hciConnInfo_t;
1146 
1147 #if defined( CC26XX ) || defined( CC13XX )
1148 PACKED_TYPEDEF_STRUCT
1149 #else // CC254x
1150 typedef struct
1151 #endif // CC26XX/CC13XX
1152 {
1153  uint16 numPkts;
1154  uint16 numCrcErr;
1155  uint16 numEvents;
1156  uint16 numMMissedEvents;
1157 } hciPER_t;
1158 
1161 /*
1162  * LOCAL VARIABLES
1163  */
1164 
1165 /*
1166  * GLOBAL VARIABLES
1167  */
1168 
1170 
1181 extern void *HCI_bm_alloc( uint16 size );
1182 
1196 extern uint8 HCI_ValidConnTimeParams( uint16 connIntervalMin,
1197  uint16 connIntervalMax,
1198  uint16 connLatency,
1199  uint16 connTimeout );
1200 
1206 extern void HCI_TestAppTaskRegister( uint8 taskID );
1207 
1213 extern void HCI_GAPTaskRegister( uint8 taskID );
1214 
1220 extern void HCI_L2CAPTaskRegister( uint8 taskID );
1221 
1227 extern void HCI_SMPTaskRegister( uint8 taskID );
1228 
1234 extern void HCI_ExtTaskRegister( uint8 taskID );
1235 
1260 extern hciStatus_t HCI_SendDataPkt( uint16 connHandle,
1261  uint8 pbFlag,
1262  uint16 pktLen,
1263  uint8 *pData );
1264 
1280 extern hciStatus_t HCI_DisconnectCmd( uint16 connHandle,
1281  uint8 reason );
1282 
1284 
1302 extern hciStatus_t HCI_ReadRemoteVersionInfoCmd( uint16 connHandle );
1303 
1304 
1318 extern hciStatus_t HCI_SetEventMaskCmd( uint8 *pMask );
1319 
1320 
1334 extern hciStatus_t HCI_SetEventMaskPage2Cmd( uint8 *pMask );
1335 
1344 extern hciStatus_t HCI_ResetCmd( void );
1345 
1357 extern hciStatus_t HCI_ReadTransmitPowerLevelCmd( uint16 connHandle,
1358  uint8 txPwrType );
1359 
1361 
1375 extern hciStatus_t HCI_SetControllerToHostFlowCtrlCmd( uint8 flowControlEnable );
1376 
1396 extern hciStatus_t HCI_HostBufferSizeCmd( uint16 hostAclPktLen,
1397  uint8 hostSyncPktLen,
1398  uint16 hostTotalNumAclPkts,
1399  uint16 hostTotalNumSyncPkts );
1400 
1402 
1431 extern hciStatus_t HCI_HostNumCompletedPktCmd( uint8 numHandles,
1432  uint16 *connHandles,
1433  uint16 *numCompletedPkts );
1434 
1446 extern hciStatus_t HCI_ReadAuthPayloadTimeoutCmd( uint16 connHandle,
1447  uint16 *aptoValue );
1448 
1460 extern hciStatus_t HCI_WriteAuthPayloadTimeoutCmd( uint16 connHandle,
1461  uint16 aptoValue );
1462 
1471 extern hciStatus_t HCI_ReadLocalVersionInfoCmd( void );
1472 
1481 extern hciStatus_t HCI_ReadLocalSupportedCommandsCmd( void );
1482 
1491 extern hciStatus_t HCI_ReadLocalSupportedFeaturesCmd( void );
1492 
1501 extern hciStatus_t HCI_ReadBDADDRCmd( void );
1502 
1519 extern hciStatus_t HCI_ReadRssiCmd( uint16 connHandle );
1520 
1534 extern hciStatus_t HCI_LE_SetEventMaskCmd( uint8 *pEventMask );
1535 
1544 extern hciStatus_t HCI_LE_ReadBufSizeCmd( void );
1545 
1555 extern hciStatus_t HCI_LE_ReadLocalSupportedFeaturesCmd( void );
1556 
1558 
1570 extern hciStatus_t HCI_LE_SetRandomAddressCmd( uint8 *pRandAddr );
1571 
1589 extern hciStatus_t HCI_LE_SetAdvParamCmd( uint16 advIntervalMin,
1590  uint16 advIntervalMax,
1591  uint8 advType,
1592  uint8 ownAddrType,
1593  uint8 directAddrType,
1594  uint8 *directAddr,
1595  uint8 advChannelMap,
1596  uint8 advFilterPolicy );
1597 
1609 extern hciStatus_t HCI_LE_SetAdvDataCmd( uint8 dataLen,
1610  uint8 *pData );
1611 
1623 extern hciStatus_t HCI_LE_SetScanRspDataCmd( uint8 dataLen,
1624  uint8 *pData );
1625 
1636 extern hciStatus_t HCI_LE_SetAdvEnableCmd( uint8 advEnable );
1637 
1646 extern hciStatus_t HCI_LE_ReadAdvChanTxPowerCmd( void );
1647 
1664 extern hciStatus_t HCI_LE_SetScanParamCmd( uint8 scanType,
1665  uint16 scanInterval,
1666  uint16 scanWindow,
1667  uint8 ownAddrType,
1668  uint8 filterPolicy );
1669 
1682 extern hciStatus_t HCI_LE_SetScanEnableCmd( uint8 scanEnable,
1683  uint8 filterDuplicates );
1684 
1709 extern hciStatus_t HCI_LE_CreateConnCmd( uint16 scanInterval,
1710  uint16 scanWindow,
1711  uint8 initFilterPolicy,
1712  uint8 addrTypePeer,
1713  uint8 *peerAddr,
1714  uint8 ownAddrType,
1715  uint16 connIntervalMin,
1716  uint16 connIntervalMax,
1717  uint16 connLatency,
1718  uint16 connTimeout,
1719  uint16 minLen,
1720  uint16 maxLen );
1721 
1730 extern hciStatus_t HCI_LE_CreateConnCancelCmd( void );
1731 
1733 
1742 extern hciStatus_t HCI_LE_ReadWhiteListSizeCmd( void );
1743 
1744 
1753 extern hciStatus_t HCI_LE_ClearWhiteListCmd( void );
1754 
1755 
1767 extern hciStatus_t HCI_LE_AddWhiteListCmd( uint8 addrType,
1768  uint8 *devAddr );
1769 
1770 
1782 extern hciStatus_t HCI_LE_RemoveWhiteListCmd( uint8 addrType,
1783  uint8 *devAddr );
1784 
1786 
1804 extern hciStatus_t HCI_LE_ConnUpdateCmd( uint16 connHandle,
1805  uint16 connIntervalMin,
1806  uint16 connIntervalMax,
1807  uint16 connLatency,
1808  uint16 connTimeout,
1809  uint16 minLen,
1810  uint16 maxLen );
1811 
1813 
1825 extern hciStatus_t HCI_LE_SetHostChanClassificationCmd( uint8 *chanMap );
1826 
1838 extern hciStatus_t HCI_LE_ReadChannelMapCmd( uint16 connHandle );
1839 
1852 extern hciStatus_t HCI_LE_ReadRemoteUsedFeaturesCmd( uint16 connHandle );
1853 
1874 extern hciStatus_t HCI_LE_EncryptCmd( uint8 *key,
1875  uint8 *plainText );
1876 
1899 extern hciStatus_t HCI_LE_RandCmd( void );
1900 
1902 
1918 extern hciStatus_t HCI_LE_StartEncyptCmd( uint16 connHandle,
1919  uint8 *random,
1920  uint8 *encDiv,
1921  uint8 *ltk );
1922 
1934 extern hciStatus_t HCI_LE_LtkReqReplyCmd( uint16 connHandle,
1935  uint8 *ltk );
1936 
1937 
1948 extern hciStatus_t HCI_LE_LtkReqNegReplyCmd( uint16 connHandle );
1949 
1951 
1960 extern hciStatus_t HCI_LE_ReadSupportedStatesCmd( void );
1961 
1974 extern hciStatus_t HCI_LE_ReceiverTestCmd( uint8 rxChan );
1975 
1992 extern hciStatus_t HCI_LE_TransmitterTestCmd( uint8 txChan,
1993  uint8 dataLen,
1994  uint8 pktPayload );
1995 
2006 extern hciStatus_t HCI_LE_TestEndCmd( void );
2007 
2008 // V4.1
2009 
2011 
2033 extern hciStatus_t HCI_LE_RemoteConnParamReqReplyCmd( uint16 connHandle,
2034  uint16 connIntervalMin,
2035  uint16 connIntervalMax,
2036  uint16 connLatency,
2037  uint16 connTimeout,
2038  uint16 minLen,
2039  uint16 maxLen );
2040 
2057 extern hciStatus_t HCI_LE_RemoteConnParamReqNegReplyCmd( uint16 connHandle,
2058  uint8 reason );
2059 
2061 
2062 // V4.2 Extended Data Length
2063 
2079 extern hciStatus_t HCI_LE_SetDataLenCmd( uint16 connHandle,
2080  uint16 txOctets,
2081  uint16 txTime );
2082 
2094 extern hciStatus_t HCI_LE_ReadSuggestedDefaultDataLenCmd( void );
2095 
2111 extern hciStatus_t HCI_LE_WriteSuggestedDefaultDataLenCmd( uint16 txOctets,
2112  uint16 txTime );
2113 
2125 extern hciStatus_t HCI_LE_ReadMaxDataLenCmd( void );
2126 
2127 // V4.2 Privacy 1.2
2128 
2145 extern hciStatus_t HCI_LE_AddDeviceToResolvingListCmd( uint8 peerIdAddrType,
2146  uint8 *peerIdAddr,
2147  uint8 *peerIRK,
2148  uint8 *localIRK );
2149 
2164 extern hciStatus_t HCI_LE_RemoveDeviceFromResolvingListCmd( uint8 peerIdAddrType,
2165  uint8 *peerIdAddr );
2166 
2178 extern hciStatus_t HCI_LE_ClearResolvingListCmd( void );
2179 
2191 extern hciStatus_t HCI_LE_ReadResolvingListSizeCmd( void );
2192 
2210 extern hciStatus_t HCI_LE_ReadPeerResolvableAddressCmd( uint8 peerIdAddrType,
2211  uint8 *peerIdAddr );
2212 
2231 extern hciStatus_t HCI_LE_ReadLocalResolvableAddressCmd( uint8 localIdAddrType,
2232  uint8 *localIdAddr );
2233 
2235 
2250 extern hciStatus_t HCI_LE_SetAddressResolutionEnableCmd( uint8 addrResolutionEnable );
2251 
2253 
2269 extern hciStatus_t HCI_LE_SetResolvablePrivateAddressTimeoutCmd( uint16 rpaTimeout );
2270 
2287 extern hciStatus_t HCI_LE_SetPrivacyModeCmd( uint8 peerIdAddrType,
2288  uint8 *peerIdAddr,
2289  uint8 privacyMode );
2290 
2291 // V4.2 Secure Connections
2292 
2294 
2310 extern hciStatus_t HCI_LE_ReadLocalP256PublicKeyCmd( void );
2311 
2312 
2331 extern hciStatus_t HCI_LE_GenerateDHKeyCmd( uint8 *publicKey );
2332 
2334 
2335 // V5.0 2M and Coded PHY
2336 
2347 extern hciStatus_t HCI_LE_ReadPhyCmd( uint16 connHandle );
2348 
2349 
2365 extern hciStatus_t HCI_LE_SetDefaultPhyCmd( uint8 allPhys,
2366  uint8 txPhy,
2367  uint8 rxPhy );
2368 
2369 
2384 extern hciStatus_t HCI_LE_SetPhyCmd( uint16 connHandle,
2385  uint8 allPhys,
2386  uint8 txPhy,
2387  uint8 rxPhy,
2388  uint16 phyOpts );
2389 
2390 
2406 extern hciStatus_t HCI_LE_EnhancedRxTestCmd( uint8 rxChan,
2407  uint8 rxPhy,
2408  uint8 modIndex );
2409 
2410 
2427 extern hciStatus_t HCI_LE_EnhancedTxTestCmd( uint8 txChan,
2428  uint8 payloadLen,
2429  uint8 payloadType,
2430  uint8 txPhy );
2439 extern hciStatus_t HCI_LE_ReadTxPowerCmd( void );
2440 
2449 extern hciStatus_t HCI_LE_ReadRfPathCompCmd( void );
2450 
2462 extern hciStatus_t HCI_LE_WriteRfPathCompCmd( int16 txPathParam,
2463  int16 rxPathParam );
2464 
2465 /*
2466 ** HCI Vendor Specific Commands: Link Layer Extensions
2467 */
2468 
2481 extern hciStatus_t HCI_EXT_SetRxGainCmd( uint8 rxGain );
2482 
2483 
2499 extern hciStatus_t HCI_EXT_SetTxPowerCmd( uint8 txPower );
2500 
2501 
2514 extern hciStatus_t HCI_EXT_OnePktPerEvtCmd( uint8 control );
2515 
2517 
2536 extern hciStatus_t HCI_EXT_ClkDivOnHaltCmd( uint8 control );
2537 
2559 extern hciStatus_t HCI_EXT_DeclareNvUsageCmd( uint8 mode );
2560 
2562 
2576 extern hciStatus_t HCI_EXT_DecryptCmd( uint8 *key,
2577  uint8 *encText );
2578 
2601 extern hciStatus_t HCI_EXT_SetLocalSupportedFeaturesCmd( uint8 *localFeatures );
2602 
2628 extern hciStatus_t HCI_EXT_SetFastTxResponseTimeCmd( uint8 control );
2629 
2630 
2649 extern hciStatus_t HCI_EXT_SetSlaveLatencyOverrideCmd( uint8 control );
2650 
2651 
2675 extern hciStatus_t HCI_EXT_ModemTestTxCmd( uint8 cwMode,
2676  uint8 txChan );
2677 
2699 extern hciStatus_t HCI_EXT_ModemHopTestTxCmd( void );
2700 
2723 extern hciStatus_t HCI_EXT_ModemTestRxCmd( uint8 rxChan );
2724 
2749 extern hciStatus_t HCI_EXT_EnhancedModemTestTxCmd( uint8 cwMode,
2750  uint8 rfPhy,
2751  uint8 rfChan );
2752 
2780 extern hciStatus_t HCI_EXT_EnhancedModemHopTestTxCmd( uint8 payloadLen,
2781  uint8 payloadType,
2782  uint8 rfPhy );
2783 
2807 extern hciStatus_t HCI_EXT_EnhancedModemTestRxCmd( uint8 rfPhy,
2808  uint8 rfChan );
2809 
2820 extern hciStatus_t HCI_EXT_EndModemTestCmd( void );
2821 
2823 
2846 extern hciStatus_t HCI_EXT_SetBDADDRCmd( uint8 *bdAddr );
2847 
2849 
2875 extern hciStatus_t HCI_EXT_SetSCACmd( uint16 scaInPPM );
2876 
2892 extern hciStatus_t HCI_EXT_EnablePTMCmd( void );
2893 
2913 extern hciStatus_t HCI_EXT_SetFreqTuneCmd( uint8 step );
2914 
2929 extern hciStatus_t HCI_EXT_SaveFreqTuneCmd( void );
2930 
2951 extern hciStatus_t HCI_EXT_SetMaxDtmTxPowerCmd( uint8 txPower );
2952 
2954 
2994 extern hciStatus_t HCI_EXT_MapPmIoPortCmd( uint8 ioPort, uint8 ioPin );
2995 
2997 
3013 extern hciStatus_t HCI_EXT_DisconnectImmedCmd( uint16 connHandle );
3014 
3033 extern hciStatus_t HCI_EXT_PacketErrorRateCmd( uint16 connHandle, uint8 command );
3034 
3076 extern hciStatus_t HCI_EXT_PERbyChanCmd( uint16 connHandle, perByChan_t *perByChan );
3077 
3079 
3088 extern hciStatus_t HCI_EXT_ExtendRfRangeCmd( void );
3089 
3102 extern hciStatus_t HCI_EXT_HaltDuringRfCmd( uint8 mode );
3103 
3105 
3107 
3161 extern hciStatus_t HCI_EXT_AdvEventNoticeCmd( uint8 taskID, uint16 taskEvent );
3162 
3164 
3219 extern hciStatus_t HCI_EXT_ConnEventNoticeCmd( uint16 connHandle, uint8 taskID, uint16 taskEvent );
3220 
3242 extern hciStatus_t HCI_EXT_BuildRevisionCmd( uint8 mode, uint16 userRevNum );
3243 
3245 
3277 extern hciStatus_t HCI_EXT_DelaySleepCmd( uint16 delay );
3278 
3280 
3299 extern hciStatus_t HCI_EXT_ResetSystemCmd( uint8 mode );
3300 
3301 // @cond NODOC
3302 
3313 extern hciStatus_t HCI_EXT_LLTestModeCmd( uint8 testCase );
3314 
3315 
3326 extern hciStatus_t HCI_EXT_OverlappedProcessingCmd( uint8 mode );
3327 
3329 
3350 extern hciStatus_t HCI_EXT_NumComplPktsLimitCmd( uint8 limit,
3351  uint8 flushOnEvt );
3352 
3354 
3387 extern hciStatus_t HCI_EXT_GetConnInfoCmd( uint8 *numAllocConns,
3388  uint8 *numActiveConns,
3389  hciConnInfo_t *activeConnInfo );
3390 
3392 
3409 extern hciStatus_t HCI_EXT_SetMaxDataLenCmd( uint16 txOctets,
3410  uint16 txTime,
3411  uint16 rxOctets,
3412  uint16 rxTime );
3413 
3426 extern hciStatus_t HCI_EXT_SetDtmTxPktCntCmd( uint16 txPktCnt );
3427 
3429 
3438 extern hciStatus_t HCI_EXT_ReadRandAddrCmd( void );
3439 
3441 
3442 #ifdef __cplusplus
3443 }
3444 #endif
3445 
3446 #endif /* HCI_H */
3447 
hciStatus_t HCI_EXT_PacketErrorRateCmd(uint16 connHandle, uint8 command)
osal_event_hdr_t hdr
osal event header
Definition: hci.h:1004
uint8 BLEEventCode
BLE Event Code.
Definition: hci.h:927
uint8 status
status of event
Definition: hci.h:940
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:916
uint16 * pNumCompletedPackets
pointer to the number of completed packets array
Definition: hci.h:971
hciStatus_t HCI_EXT_SetMaxDataLenCmd(uint16 txOctets, uint16 txTime, uint16 rxOctets, uint16 rxTime)
uint16 connHandle
connection handle
Definition: hci.h:1060
uint8 status
status of event
Definition: hci.h:928
uint8 status
status of event
Definition: hci.h:1049
uint8 addrType
public or random address type
Definition: hci.h:895
uint8 pktType
packet type
Definition: hci.h:1113
uint8 BLEEventCode
BLE Event Code.
Definition: hci.h:949
uint8 clockAccuracy
connection clock accuracy
Definition: hci.h:878
osal_event_hdr_t hdr
osal event header
Definition: hci.h:1096
uint16 Interval_Min
minimum connection interval
Definition: hci.h:1038
hciStatus_t HCI_LE_SetDefaultPhyCmd(uint8 allPhys, uint8 txPhy, uint8 rxPhy)
HCI Packet event.
Definition: hci.h:1103
osal_event_hdr_t hdr
osal event header
Definition: hci.h:958
#define B_RANDOM_NUM_SIZE
BLE Random Number Size.
Definition: bcomdef.h:140
uint8 numHandles
number of handles
Definition: hci.h:969
uint8 * pReturnParam
pointer to the return parameter
Definition: hci.h:980
hciStatus_t HCI_LE_ReadRemoteUsedFeaturesCmd(uint16 connHandle)
osal_event_hdr_t hdr
osal event header
Definition: hci.h:948
uint16 dataPktLen
data packet length
Definition: hci.h:1089
Command Status Event.
Definition: hci.h:993
uint16 connHandle
connection handle
Definition: hci.h:1050
osal_event_hdr_t hdr
osal event header
Definition: hci.h:1058
osal_event_hdr_t hdr
osal event header
Definition: hci.h:914
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:1002
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:873
uint8 status
status of event
Definition: hci.h:1012
hciStatus_t HCI_LE_RandCmd(void)
LE Advertising Report Event.
Definition: hci.h:892
hciStatus_t HCI_LE_ReadRfPathCompCmd(void)
#define B_MAX_ADV_LEN
BLE Maximum Advertising Packet Length.
Definition: bcomdef.h:137
hciStatus_t HCI_LE_ReadResolvingListSizeCmd(void)
LE Data Length Change Event.
Definition: hci.h:1056
hciStatus_t HCI_SetEventMaskPage2Cmd(uint8 *pMask)
hciStatus_t HCI_LE_ReadLocalSupportedFeaturesCmd(void)
uint8 numDevices
number of discovered devices
Definition: hci.h:907
uint16 connectionHandle
connection handle
Definition: hci.h:855
uint16 connHandle
connection handle
Definition: hci.h:1114
uint8 BLEEventCode
BLE Event Code.
Definition: hci.h:1059
hciStatus_t HCI_EXT_EnablePTMCmd(void)
hciStatus_t HCI_LE_SetDataLenCmd(uint16 connHandle, uint16 txOctets, uint16 txTime)
osal_event_hdr_t hdr
osal event header
Definition: hci.h:938
LE Phy Update Complete Event.
Definition: hci.h:1045
osal_event_hdr_t hdr
osal event header
Definition: hci.h:1027
osal_event_hdr_t hdr
osal event header
Definition: hci.h:968
uint8 BLEEventCode
BLE Event Code.
Definition: hci.h:1035
hciStatus_t HCI_LE_EnhancedRxTestCmd(uint8 rxChan, uint8 rxPhy, uint8 modIndex)
uint8 BLEEventCode
BLE Event code.
Definition: hci.h:1071
osal_event_hdr_t hdr
osal event header
Definition: hci.h:986
hciStatus_t HCI_WriteAuthPayloadTimeoutCmd(uint16 connHandle, uint16 aptoValue)
osal_event_hdr_t hdr
osal event header
Definition: hci.h:1011
hciStatus_t HCI_LE_SetHostChanClassificationCmd(uint8 *chanMap)
uint8 BLEEventCode
BLE Event Code.
Definition: hci.h:1080
union _hciEvt_BLEConnComplete_u_ hciEvt_BLEConnComplete_u
LE Connection Complete Event.
uint16 connInterval
connection interval
Definition: hci.h:859
uint16 Interval_Max
maximum connection interval
Definition: hci.h:1039
uint8 length
length of parametric data, in bytes
Definition: hci.h:987
hciStatus_t HCI_EXT_NumComplPktsLimitCmd(uint8 limit, uint8 flushOnEvt)
uint16 connectionHandle
connection handle
Definition: hci.h:941
uint8 BLEEventCode
BLE Event Code.
Definition: hci.h:1048
uint16 maxRxTime
maximum receive time
Definition: hci.h:1064
hciStatus_t HCI_ReadRssiCmd(uint16 connHandle)
uint8 status
status
Definition: hci.h:1072
uint16 connectionHandle
connection handle
Definition: hci.h:871
uint16 connTimeout
connection supervision timeout
Definition: hci.h:932
uint8 encEnable
encryption enabled or not
Definition: hci.h:952
uint16 Latency
slave latency
Definition: hci.h:1040
hciStatus_t HCI_LE_ReadSupportedStatesCmd(void)
uint16 connLatency
connection latency
Definition: hci.h:876
uint8 linkType
synchronous or asynchronous buffer overflow
Definition: hci.h:1021
Vendor Specific Command Complete Event.
Definition: hci.h:984
osal_event_hdr_t hdr
osal event header
Definition: hci.h:926
hciStatus_t HCI_EXT_DecryptCmd(uint8 *key, uint8 *encText)
hciStatus_t HCI_EXT_SetFreqTuneCmd(uint8 step)
hciStatus_t HCI_EXT_SetDtmTxPktCntCmd(uint16 txPktCnt)
Data structure for HCI Command Complete Event Return Parameter.
Definition: hci.h:1086
hciStatus_t HCI_LE_EnhancedTxTestCmd(uint8 txChan, uint8 payloadLen, uint8 payloadType, uint8 txPhy)
hciStatus_t HCI_SetEventMaskCmd(uint8 *pMask)
hciStatus_t HCI_LE_AddWhiteListCmd(uint8 addrType, uint8 *devAddr)
uint8 clockAccuracy
connection clock accuracy
Definition: hci.h:862
Disconnection Complete Event.
Definition: hci.h:1009
hciStatus_t HCI_EXT_SaveFreqTuneCmd(void)
hciStatus_t HCI_LE_ReadSuggestedDefaultDataLenCmd(void)
hciStatus_t HCI_EXT_ResetSystemCmd(uint8 mode)
osal_event_hdr_t hdr
OSAL Event header.
Definition: hci.h:1112
Authenticated Payload Timeout Expired Event.
Definition: hci.h:1025
hciStatus_t HCI_EXT_EnhancedModemTestTxCmd(uint8 cwMode, uint8 rfPhy, uint8 rfChan)
hciStatus_t HCI_LE_ReadWhiteListSizeCmd(void)
uint16 connHandle
connection handle
Definition: hci.h:1037
uint16 maxTxTime
maximum transmission time
Definition: hci.h:1062
hciStatus_t HCI_LE_SetEventMaskCmd(uint8 *pEventMask)
int8 rssi
report RSSI
Definition: hci.h:899
uint16 connLatency
connection latency
Definition: hci.h:931
uint8 BLEEventCode
BLE Event Code.
Definition: hci.h:906
uint8 * pData
data
Definition: hci.h:1117
hciStatus_t HCI_EXT_SetRxGainCmd(uint8 rxGain)
uint8 reason
reason
Definition: hci.h:951
int8 rssi
report RSSI
Definition: hci.h:920
uint8 BLEEventCode
BLE Event Code.
Definition: hci.h:959
uint16 cmdOpcode
command opcode
Definition: hci.h:998
uint8 chSelAlgo
channel selection algorithm
Definition: hci.h:1099
hciStatus_t HCI_ReadRemoteVersionInfoCmd(uint16 connHandle)
osal_event_hdr_t hdr
OSAL event header.
Definition: hci.h:1105
hciStatus_t HCI_EXT_EndModemTestCmd(void)
hciStatus_t HCI_LE_ReadTxPowerCmd(void)
hciStatus_t HCI_LE_EncryptCmd(uint8 *key, uint8 *plainText)
hciStatus_t HCI_ReadLocalVersionInfoCmd(void)
hciStatus_t HCI_LE_ReadBufSizeCmd(void)
hciStatus_t HCI_LE_ReadLocalResolvableAddressCmd(uint8 localIdAddrType, uint8 *localIdAddr)
osal_event_hdr_t hdr
osal event header
Definition: hci.h:1070
hciStatus_t HCI_EXT_ModemHopTestTxCmd(void)
Command Complete Event.
Definition: hci.h:975
uint8 rxPhy
RX PHY.
Definition: hci.h:1052
hciEvt_DevInfo_t * devInfo
pointer to the array of devInfo
Definition: hci.h:908
LE Channel Selection Algorithm Event.
Definition: hci.h:1094
uint16 connHandle
connection handle
Definition: hci.h:950
HCI Data Packet.
Definition: hci.h:1110
uint8 status
status
Definition: hci.h:1081
uint8 status
status of event
Definition: hci.h:854
uint16 connTimeout
connection supervision timeout
Definition: hci.h:877
uint16 Timeout
supervision timeout
Definition: hci.h:1041
LE Generate DHKey Complete Event.
Definition: hci.h:1077
hciStatus_t HCI_EXT_EnhancedModemHopTestTxCmd(uint8 payloadLen, uint8 payloadType, uint8 rfPhy)
uint16 * pConnectionHandle
pointer to the connection handle array
Definition: hci.h:970
LE Remote Connection Parameter Request Event.
Definition: hci.h:1032
hciStatus_t HCI_EXT_PERbyChanCmd(uint16 connHandle, perByChan_t *perByChan)
uint16 connLatency
connection latency
Definition: hci.h:860
uint8 status
status of event
Definition: hci.h:1036
hciStatus_t HCI_ReadLocalSupportedCommandsCmd(void)
uint8 BLEEventCode
BLE Event Code.
Definition: hci.h:915
hciStatus_t HCI_EXT_ModemTestRxCmd(uint8 rxChan)
uint16 connInterval
connection interval
Definition: hci.h:875
uint8 bleChan
BLE channel.
Definition: hci.h:919
uint8 eventType
advertisement or scan response event type
Definition: hci.h:894
osal_event_hdr_t hdr
osal event header
Definition: hci.h:852
hciEvt_BLEEnhConnComplete_t enhEvt
enhanced connection complete event
Definition: hci.h:888
osal_event_hdr_t hdr
osal event header
Definition: hci.h:868
hciStatus_t HCI_LE_ClearResolvingListCmd(void)
hciStatus_t HCI_EXT_SetSlaveLatencyOverrideCmd(uint8 control)
hciStatus_t HCI_EXT_OnePktPerEvtCmd(uint8 control)
uint16 connTimeout
connection supervision timeout
Definition: hci.h:861
Type definitions and macros for BLE stack.
VS LE Scan Request Report Event.
Definition: hci.h:912
hciStatus_t HCI_EXT_SetFastTxResponseTimeCmd(uint8 control)
LE Encryption Change Event.
Definition: hci.h:946
hciStatus_t HCI_EXT_BuildRevisionCmd(uint8 mode, uint16 userRevNum)
hciStatus_t HCI_LE_ReadPhyCmd(uint16 connHandle)
uint16 connInterval
connection interval
Definition: hci.h:930
uint8 * pEventParam
event parameters
Definition: hci.h:989
hciEvt_BLEConnComplete_t legEvt
connection complete event
Definition: hci.h:887
hciStatus_t HCI_ReadTransmitPowerLevelCmd(uint16 connHandle, uint8 txPwrType)
uint8 cmdStatus
command status
Definition: hci.h:996
LE Enhanced Connection Complete Event.
Definition: hci.h:866
hciStatus_t HCI_LE_SetPhyCmd(uint16 connHandle, uint8 allPhys, uint8 txPhy, uint8 rxPhy, uint16 phyOpts)
uint16 connHandle
connection handle
Definition: hci.h:1028
uint16 cmdOpcode
command opcode
Definition: hci.h:979
uint8 BLEEventCode
BLE Event Code.
Definition: hci.h:853
uint32_t len
Image length in bytes.
Definition: oad_image_header.h:529
Number of Completed Packets Event.
Definition: hci.h:966
hciStatus_t HCI_LE_ReadPeerResolvableAddressCmd(uint8 peerIdAddrType, uint8 *peerIdAddr)
OSAL Event Header.
Definition: osal.h:92
hciStatus_t HCI_EXT_SetLocalSupportedFeaturesCmd(uint8 *localFeatures)
hciStatus_t HCI_LE_ReceiverTestCmd(uint8 rxChan)
uint8 BLEEventCode
BLE Event Code.
Definition: hci.h:869
uint8 txPhy
TX PHY.
Definition: hci.h:1051
hciStatus_t HCI_LE_RemoveDeviceFromResolvingListCmd(uint8 peerIdAddrType, uint8 *peerIdAddr)
hciStatus_t HCI_LE_RemoveWhiteListCmd(uint8 addrType, uint8 *devAddr)
uint8 numDataPkts
number of data packets
Definition: hci.h:1090
hciStatus_t HCI_EXT_EnhancedModemTestRxCmd(uint8 rfPhy, uint8 rfChan)
uint16 pktLen
packet length
Definition: hci.h:1116
osal_event_hdr_t hdr
osal event header
Definition: hci.h:1079
uint8 peerAddrType
peer address type
Definition: hci.h:857
osal_event_hdr_t hdr
osal event header
Definition: hci.h:995
hciStatus_t HCI_EXT_ConnEventNoticeCmd(uint16 connHandle, uint8 taskID, uint16 taskEvent)
uint16 cmdOpcode
command opcode
Definition: hci.h:988
uint8 reason
reason
Definition: hci.h:1014
uint8 numHciCmdPkt
number of HCI Command Packet
Definition: hci.h:978
osal_event_hdr_t hdr
osal event header
Definition: hci.h:1034
uint8 hardwareCode
hardware error code
Definition: hci.h:1005
#define B_ADDR_LEN
Default Public and Random Address Length.
Definition: bcomdef.h:115
Data Buffer Overflow Event.
Definition: hci.h:1018
uint8 role
role of connection
Definition: hci.h:872
LE Connection Complete Event.
Definition: hci.h:850
uint8 numHciCmdPkt
number of HCI command packets
Definition: hci.h:997
uint16 encryptedDiversifier
encrypted diversifier
Definition: hci.h:962
hciStatus_t HCI_LE_AddDeviceToResolvingListCmd(uint8 peerIdAddrType, uint8 *peerIdAddr, uint8 *peerIRK, uint8 *localIRK)
LE Read Remote Used Features Complete Event.
Definition: hci.h:936
uint8 peerAddrType
peer address type
Definition: hci.h:917
hciStatus_t HCI_ReadLocalSupportedFeaturesCmd(void)
hciStatus_t HCI_LE_ReadChannelMapCmd(uint16 connHandle)
uint16 connHandle
connection handle
Definition: hci.h:1098
uint8 status
status of event
Definition: hci.h:1088
hciStatus_t HCI_LE_ClearWhiteListCmd(void)
osal_event_hdr_t hdr
osal event header
Definition: hci.h:977
hciStatus_t HCI_LE_ReadMaxDataLenCmd(void)
hciStatus_t HCI_EXT_SetSCACmd(uint16 scaInPPM)
uint16 maxTxOctets
maximum transmission bytes
Definition: hci.h:1061
hciStatus_t HCI_ReadBDADDRCmd(void)
osal_event_hdr_t hdr
osal event header
Definition: hci.h:1047
hciStatus_t HCI_HostNumCompletedPktCmd(uint8 numHandles, uint16 *connHandles, uint16 *numCompletedPkts)
hciStatus_t HCI_ReadAuthPayloadTimeoutCmd(uint16 connHandle, uint16 *aptoValue)
LE Connection Complete Event.
Definition: hci.h:885
LE Connection Update Complete Event.
Definition: hci.h:924
uint8 BLEEventCode
BLE Event Code.
Definition: hci.h:1097
hciStatus_t HCI_EXT_SetTxPowerCmd(uint8 txPower)
uint8 status
status of event
Definition: hci.h:870
hciStatus_t HCI_LE_WriteSuggestedDefaultDataLenCmd(uint16 txOctets, uint16 txTime)
LE Read P256 Public Key Complete Event.
Definition: hci.h:1068
uint8 dataLen
length of report data
Definition: hci.h:897
uint8 * pData
data
Definition: hci.h:1106
LE Advertising Packet Report Event.
Definition: hci.h:903
hciStatus_t HCI_EXT_DisconnectImmedCmd(uint16 connHandle)
uint16 connHandle
connection handle
Definition: hci.h:1013
uint8 BLEEventCode
BLE Event Code.
Definition: hci.h:939
hciStatus_t HCI_LE_WriteRfPathCompCmd(int16 txPathParam, int16 rxPathParam)
uint8 pbFlag
flag
Definition: hci.h:1115
uint16 maxRxOctets
maximum receive bytes
Definition: hci.h:1063
uint8 role
role of connection
Definition: hci.h:856
hciStatus_t HCI_ResetCmd(void)
osal_event_hdr_t hdr
osal event header
Definition: hci.h:1020
hciStatus_t HCI_LE_SetPrivacyModeCmd(uint8 peerIdAddrType, uint8 *peerIdAddr, uint8 privacyMode)
uint16 connectionHandle
connection handle
Definition: hci.h:929
LE Long Term Key Requested Event.
Definition: hci.h:956
osal_event_hdr_t hdr
osal event header
Definition: hci.h:905
uint16 connHandle
connection handle
Definition: hci.h:960
© Copyright 1995-2020, Texas Instruments Incorporated. All rights reserved.
Trademarks | Privacy policy | Terms of use | Terms of sale