TI BLE5-Stack API Documentation  1.01.02.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 HCI_EXT_RX_GAIN_STD LL_EXT_RX_GAIN_STD
625 #define HCI_EXT_RX_GAIN_HIGH LL_EXT_RX_GAIN_HIGH
626 
632 #if defined( CC26XX ) || defined( CC13XX )
633 #define HCI_EXT_TX_POWER_MINUS_21_DBM LL_EXT_TX_POWER_MINUS_21_DBM
634 #define HCI_EXT_TX_POWER_MINUS_18_DBM LL_EXT_TX_POWER_MINUS_18_DBM
635 #define HCI_EXT_TX_POWER_MINUS_15_DBM LL_EXT_TX_POWER_MINUS_15_DBM
636 #define HCI_EXT_TX_POWER_MINUS_12_DBM LL_EXT_TX_POWER_MINUS_12_DBM
637 #define HCI_EXT_TX_POWER_MINUS_9_DBM LL_EXT_TX_POWER_MINUS_9_DBM
638 #define HCI_EXT_TX_POWER_MINUS_6_DBM LL_EXT_TX_POWER_MINUS_6_DBM
639 #define HCI_EXT_TX_POWER_MINUS_3_DBM LL_EXT_TX_POWER_MINUS_3_DBM
640 #define HCI_EXT_TX_POWER_0_DBM LL_EXT_TX_POWER_0_DBM
641 #define HCI_EXT_TX_POWER_1_DBM LL_EXT_TX_POWER_1_DBM
642 #define HCI_EXT_TX_POWER_2_DBM LL_EXT_TX_POWER_2_DBM
643 #define HCI_EXT_TX_POWER_3_DBM LL_EXT_TX_POWER_3_DBM
644 #define HCI_EXT_TX_POWER_4_DBM LL_EXT_TX_POWER_4_DBM
645 #define HCI_EXT_TX_POWER_5_DBM LL_EXT_TX_POWER_5_DBM
646 #else // CC254x
647 #define HCI_EXT_TX_POWER_MINUS_23_DBM LL_EXT_TX_POWER_MINUS_23_DBM
648 #define HCI_EXT_TX_POWER_MINUS_6_DBM LL_EXT_TX_POWER_MINUS_6_DBM
649 #define HCI_EXT_TX_POWER_0_DBM LL_EXT_TX_POWER_0_DBM
650 #define HCI_EXT_TX_POWER_4_DBM LL_EXT_TX_POWER_4_DBM
651 #endif // CC26XX/CC13XX
652 
658 #define HCI_EXT_ENABLE_ONE_PKT_PER_EVT LL_EXT_ENABLE_ONE_PKT_PER_EVT
659 #define HCI_EXT_DISABLE_ONE_PKT_PER_EVT LL_EXT_DISABLE_ONE_PKT_PER_EVT
660 
662 
664 
668 #define HCI_EXT_ENABLE_CLK_DIVIDE_ON_HALT LL_EXT_ENABLE_CLK_DIVIDE_ON_HALT
669 #define HCI_EXT_DISABLE_CLK_DIVIDE_ON_HALT LL_EXT_DISABLE_CLK_DIVIDE_ON_HALT
670 
672 
674 
678 #define HCI_EXT_NV_IN_USE LL_EXT_NV_IN_USE
679 #define HCI_EXT_NV_NOT_IN_USE LL_EXT_NV_NOT_IN_USE
680 
686 #define HCI_EXT_ENABLE_FAST_TX_RESP_TIME LL_EXT_ENABLE_FAST_TX_RESP_TIME
687 #define HCI_EXT_DISABLE_FAST_TX_RESP_TIME LL_EXT_DISABLE_FAST_TX_RESP_TIME
688 
694 #define HCI_EXT_ENABLE_SL_OVERRIDE LL_EXT_ENABLE_SL_OVERRIDE
695 #define HCI_EXT_DISABLE_SL_OVERRIDE LL_EXT_DISABLE_SL_OVERRIDE
696 
702 #define HCI_EXT_TX_MODULATED_CARRIER LL_EXT_TX_MODULATED_CARRIER
703 #define HCI_EXT_TX_UNMODULATED_CARRIER LL_EXT_TX_UNMODULATED_CARRIER
704 
710 #define HCI_PTM_SET_FREQ_TUNE_DOWN LL_EXT_SET_FREQ_TUNE_DOWN
711 #define HCI_PTM_SET_FREQ_TUNE_UP LL_EXT_SET_FREQ_TUNE_UP
712 
714 
716 
720 #define HCI_EXT_PM_IO_PORT_P0 LL_EXT_PM_IO_PORT_P0
721 #define HCI_EXT_PM_IO_PORT_P1 LL_EXT_PM_IO_PORT_P1
722 #define HCI_EXT_PM_IO_PORT_P2 LL_EXT_PM_IO_PORT_P2
723 #define HCI_EXT_PM_IO_PORT_NONE LL_EXT_PM_IO_PORT_NONE
724 
725 #define HCI_EXT_PM_IO_PORT_PIN0 LL_EXT_PM_IO_PORT_PIN0
726 #define HCI_EXT_PM_IO_PORT_PIN1 LL_EXT_PM_IO_PORT_PIN1
727 #define HCI_EXT_PM_IO_PORT_PIN2 LL_EXT_PM_IO_PORT_PIN2
728 #define HCI_EXT_PM_IO_PORT_PIN3 LL_EXT_PM_IO_PORT_PIN3
729 #define HCI_EXT_PM_IO_PORT_PIN4 LL_EXT_PM_IO_PORT_PIN4
730 #define HCI_EXT_PM_IO_PORT_PIN5 LL_EXT_PM_IO_PORT_PIN5
731 #define HCI_EXT_PM_IO_PORT_PIN6 LL_EXT_PM_IO_PORT_PIN6
732 #define HCI_EXT_PM_IO_PORT_PIN7 LL_EXT_PM_IO_PORT_PIN7
733 
735 
741 #define HCI_EXT_PER_RESET LL_EXT_PER_RESET
742 #define HCI_EXT_PER_READ LL_EXT_PER_READ
743 
745 
747 
751 #define HCI_EXT_HALT_DURING_RF_DISABLE LL_EXT_HALT_DURING_RF_DISABLE
752 #define HCI_EXT_HALT_DURING_RF_ENABLE LL_EXT_HALT_DURING_RF_ENABLE
753 
755 
757 
761 #define HCI_EXT_SET_USER_REVISION LL_EXT_SET_USER_REVISION
762 #define HCI_EXT_READ_BUILD_REVISION LL_EXT_READ_BUILD_REVISION
763 
769 #define HCI_EXT_RESET_SYSTEM_HARD LL_EXT_RESET_SYSTEM_HARD
770 #define HCI_EXT_RESET_SYSTEM_SOFT LL_EXT_RESET_SYSTEM_SOFT
771 
773 
775 
779 #define HCI_EXT_DISABLE_OVERLAPPED_PROCESSING LL_EXT_DISABLE_OVERLAPPED_PROCESSING
780 #define HCI_EXT_ENABLE_OVERLAPPED_PROCESSING LL_EXT_ENABLE_OVERLAPPED_PROCESSING
781 
783 
785 
789 #define HCI_EXT_DISABLE_NUM_COMPL_PKTS_ON_EVENT LL_EXT_DISABLE_NUM_COMPL_PKTS_ON_EVENT
790 #define HCI_EXT_ENABLE_NUM_COMPL_PKTS_ON_EVENT LL_EXT_ENABLE_NUM_COMPL_PKTS_ON_EVENT
791 
797 #define HCI_EXT_DISABLE_SCAN_REQUEST_REPORT LL_EXT_DISABLE_SCAN_REQUEST_REPORT
798 #define HCI_EXT_ENABLE_SCAN_REQUEST_REPORT LL_EXT_ENABLE_SCAN_REQUEST_REPORT
799 
809 #define HCI_LINK_TYPE_SCO_BUFFER_OVERFLOW 0
810 #define HCI_LINK_TYPE_ACL_BUFFER_OVERFLOW 1
811 
819 #define HCI_EXT_RF_SETUP_1M_PHY LL_EXT_RF_SETUP_1M_PHY
820 #define HCI_EXT_RF_SETUP_2M_PHY LL_EXT_RF_SETUP_2M_PHY
821 #define HCI_EXT_RF_SETUP_CODED_S8_PHY LL_EXT_RF_SETUP_CODED_S8_PHY
822 #define HCI_EXT_RF_SETUP_CODED_S2_PHY LL_EXT_RF_SETUP_CODED_S2_PHY
823 
827 /*
828  * TYPEDEFS
829  */
830 
832 typedef uint8 hciStatus_t;
834 
840 typedef struct
842 {
844  uint8 BLEEventCode;
845  uint8 status;
847  uint8 role;
848  uint8 peerAddrType;
849  uint8 peerAddr[B_ADDR_LEN];
850  uint16 connInterval;
851  uint16 connLatency;
852  uint16 connTimeout;
855 
857 typedef struct
858 {
860  uint8 BLEEventCode;
861  uint8 status;
863  uint8 role;
864  uint8 peerAddrType;
865  uint8 peerAddr[B_ADDR_LEN];
866  uint16 connInterval;
867  uint16 connLatency;
868  uint16 connTimeout;
870  // Note: These fields normally follow peerAddr. Put here for Host optimization.
871  uint8 localRPA[B_ADDR_LEN];
872  uint8 peerRPA[B_ADDR_LEN];
874 
877 {
881 
883 typedef struct
884 {
885  uint8 eventType;
886  uint8 addrType;
887  uint8 addr[B_ADDR_LEN];
888  uint8 dataLen;
889  uint8 rspData[B_MAX_ADV_LEN];
890  int8 rssi;
892 
894 typedef struct
895 {
897  uint8 BLEEventCode;
898  uint8 numDevices;
901 
903 typedef struct
904 {
906  uint8 BLEEventCode;
907  uint8 eventType;
908  uint8 peerAddrType;
909  uint8 peerAddr[B_ADDR_LEN];
910  uint8 bleChan;
911  int8 rssi;
913 
915 typedef struct
916 {
918  uint8 BLEEventCode;
919  uint8 status;
921  uint16 connInterval;
922  uint16 connLatency;
923  uint16 connTimeout;
925 
927 typedef struct
928 {
930  uint8 BLEEventCode;
931  uint8 status;
933  uint8 features[8];
935 
937 typedef struct
938 {
940  uint8 BLEEventCode;
941  uint16 connHandle;
942  uint8 reason;
943  uint8 encEnable;
945 
947 typedef struct
948 {
950  uint8 BLEEventCode;
951  uint16 connHandle;
952  uint8 random[B_RANDOM_NUM_SIZE];
955 
957 typedef struct
958 {
960  uint8 numHandles;
964 
966 typedef struct
967 {
969  uint8 numHciCmdPkt;
970  uint16 cmdOpcode;
971  uint8 *pReturnParam;
973 
975 typedef struct
976 {
978  uint8 length;
979  uint16 cmdOpcode;
980  uint8 *pEventParam;
982 
984 typedef struct
985 {
987  uint8 cmdStatus;
988  uint8 numHciCmdPkt;
989  uint16 cmdOpcode;
991 
993 typedef struct
994 {
996  uint8 hardwareCode;
998 
1000 typedef struct
1001 {
1003  uint8 status;
1004  uint16 connHandle;
1005  uint8 reason;
1007 
1009 typedef struct
1010 {
1012  uint8 linkType;
1014 
1016 typedef struct
1017 {
1019  uint16 connHandle;
1021 
1023 typedef struct
1024 {
1027  uint8 status;
1028  uint16 connHandle;
1029  uint16 Interval_Min;
1030  uint16 Interval_Max;
1031  uint16 Latency;
1032  uint16 Timeout;
1034 
1036 typedef struct
1037 {
1040  uint8 status;
1041  uint16 connHandle;
1042  uint8 txPhy;
1043  uint8 rxPhy;
1045 
1047 typedef struct
1048 {
1051  uint16 connHandle;
1052  uint16 maxTxOctets;
1053  uint16 maxTxTime;
1054  uint16 maxRxOctets;
1055  uint16 maxRxTime;
1057 
1059 typedef struct
1060 {
1063  uint8 status;
1064  uint8 p256Key[LL_SC_P256_KEY_LEN];
1066 
1068 typedef struct
1069 {
1072  uint8 status;
1073  uint8 dhKey[LL_SC_DHKEY_LEN];
1075 
1077 typedef struct
1078 {
1079  uint8 status;
1080  uint16 dataPktLen;
1081  uint8 numDataPkts;
1083 
1085 typedef struct
1086 {
1089  uint16 connHandle;
1090  uint8 chSelAlgo;
1092 
1094 typedef struct
1095 {
1097  uint8 *pData;
1098 } hciPacket_t;
1099 
1101 typedef struct
1102 {
1104  uint8 pktType;
1105  uint16 connHandle;
1106  uint8 pbFlag;
1107  uint16 pktLen;
1108  uint8 *pData;
1109 } hciDataPacket_t;
1110 
1112 
1113 // OSAL HCI_DATA_EVENT message format. This message is used to forward incoming
1114 // data messages up to an application
1115 typedef struct
1116 {
1117  osal_event_hdr_t hdr;
1118  uint16 connHandle;
1119  uint8 pbFlag;
1120  uint16 len;
1121  uint8 *pData;
1122 } hciDataEvent_t;
1123 
1125 
1126 #if defined( CC26XX ) || defined( CC13XX )
1127 PACKED_TYPEDEF_STRUCT
1128 #else // CC254x
1129 typedef struct
1130 #endif // CC26XX/CC13XX
1131 {
1132  uint8 connId;
1133  uint8 role;
1134  uint8 addr[LL_DEVICE_ADDR_LEN];
1135  uint8 addrType;
1136 } hciConnInfo_t;
1137 
1138 #if defined( CC26XX ) || defined( CC13XX )
1139 PACKED_TYPEDEF_STRUCT
1140 #else // CC254x
1141 typedef struct
1142 #endif // CC26XX/CC13XX
1143 {
1144  uint16 numPkts;
1145  uint16 numCrcErr;
1146  uint16 numEvents;
1147  uint16 numMMissedEvents;
1148 } hciPER_t;
1149 
1152 /*
1153  * LOCAL VARIABLES
1154  */
1155 
1156 /*
1157  * GLOBAL VARIABLES
1158  */
1159 
1161 
1172 extern void *HCI_bm_alloc( uint16 size );
1173 
1187 extern uint8 HCI_ValidConnTimeParams( uint16 connIntervalMin,
1188  uint16 connIntervalMax,
1189  uint16 connLatency,
1190  uint16 connTimeout );
1191 
1197 extern void HCI_TestAppTaskRegister( uint8 taskID );
1198 
1204 extern void HCI_GAPTaskRegister( uint8 taskID );
1205 
1211 extern void HCI_L2CAPTaskRegister( uint8 taskID );
1212 
1218 extern void HCI_SMPTaskRegister( uint8 taskID );
1219 
1225 extern void HCI_ExtTaskRegister( uint8 taskID );
1226 
1251 extern hciStatus_t HCI_SendDataPkt( uint16 connHandle,
1252  uint8 pbFlag,
1253  uint16 pktLen,
1254  uint8 *pData );
1255 
1271 extern hciStatus_t HCI_DisconnectCmd( uint16 connHandle,
1272  uint8 reason );
1273 
1275 
1293 extern hciStatus_t HCI_ReadRemoteVersionInfoCmd( uint16 connHandle );
1294 
1295 
1309 extern hciStatus_t HCI_SetEventMaskCmd( uint8 *pMask );
1310 
1311 
1325 extern hciStatus_t HCI_SetEventMaskPage2Cmd( uint8 *pMask );
1326 
1335 extern hciStatus_t HCI_ResetCmd( void );
1336 
1348 extern hciStatus_t HCI_ReadTransmitPowerLevelCmd( uint16 connHandle,
1349  uint8 txPwrType );
1350 
1352 
1366 extern hciStatus_t HCI_SetControllerToHostFlowCtrlCmd( uint8 flowControlEnable );
1367 
1387 extern hciStatus_t HCI_HostBufferSizeCmd( uint16 hostAclPktLen,
1388  uint8 hostSyncPktLen,
1389  uint16 hostTotalNumAclPkts,
1390  uint16 hostTotalNumSyncPkts );
1391 
1393 
1422 extern hciStatus_t HCI_HostNumCompletedPktCmd( uint8 numHandles,
1423  uint16 *connHandles,
1424  uint16 *numCompletedPkts );
1425 
1437 extern hciStatus_t HCI_ReadAuthPayloadTimeoutCmd( uint16 connHandle,
1438  uint16 *aptoValue );
1439 
1451 extern hciStatus_t HCI_WriteAuthPayloadTimeoutCmd( uint16 connHandle,
1452  uint16 aptoValue );
1453 
1462 extern hciStatus_t HCI_ReadLocalVersionInfoCmd( void );
1463 
1472 extern hciStatus_t HCI_ReadLocalSupportedCommandsCmd( void );
1473 
1482 extern hciStatus_t HCI_ReadLocalSupportedFeaturesCmd( void );
1483 
1492 extern hciStatus_t HCI_ReadBDADDRCmd( void );
1493 
1510 extern hciStatus_t HCI_ReadRssiCmd( uint16 connHandle );
1511 
1525 extern hciStatus_t HCI_LE_SetEventMaskCmd( uint8 *pEventMask );
1526 
1535 extern hciStatus_t HCI_LE_ReadBufSizeCmd( void );
1536 
1546 extern hciStatus_t HCI_LE_ReadLocalSupportedFeaturesCmd( void );
1547 
1549 
1561 extern hciStatus_t HCI_LE_SetRandomAddressCmd( uint8 *pRandAddr );
1562 
1580 extern hciStatus_t HCI_LE_SetAdvParamCmd( uint16 advIntervalMin,
1581  uint16 advIntervalMax,
1582  uint8 advType,
1583  uint8 ownAddrType,
1584  uint8 directAddrType,
1585  uint8 *directAddr,
1586  uint8 advChannelMap,
1587  uint8 advFilterPolicy );
1588 
1600 extern hciStatus_t HCI_LE_SetAdvDataCmd( uint8 dataLen,
1601  uint8 *pData );
1602 
1614 extern hciStatus_t HCI_LE_SetScanRspDataCmd( uint8 dataLen,
1615  uint8 *pData );
1616 
1627 extern hciStatus_t HCI_LE_SetAdvEnableCmd( uint8 advEnable );
1628 
1637 extern hciStatus_t HCI_LE_ReadAdvChanTxPowerCmd( void );
1638 
1655 extern hciStatus_t HCI_LE_SetScanParamCmd( uint8 scanType,
1656  uint16 scanInterval,
1657  uint16 scanWindow,
1658  uint8 ownAddrType,
1659  uint8 filterPolicy );
1660 
1673 extern hciStatus_t HCI_LE_SetScanEnableCmd( uint8 scanEnable,
1674  uint8 filterDuplicates );
1675 
1700 extern hciStatus_t HCI_LE_CreateConnCmd( uint16 scanInterval,
1701  uint16 scanWindow,
1702  uint8 initFilterPolicy,
1703  uint8 addrTypePeer,
1704  uint8 *peerAddr,
1705  uint8 ownAddrType,
1706  uint16 connIntervalMin,
1707  uint16 connIntervalMax,
1708  uint16 connLatency,
1709  uint16 connTimeout,
1710  uint16 minLen,
1711  uint16 maxLen );
1712 
1721 extern hciStatus_t HCI_LE_CreateConnCancelCmd( void );
1722 
1724 
1733 extern hciStatus_t HCI_LE_ReadWhiteListSizeCmd( void );
1734 
1735 
1744 extern hciStatus_t HCI_LE_ClearWhiteListCmd( void );
1745 
1746 
1758 extern hciStatus_t HCI_LE_AddWhiteListCmd( uint8 addrType,
1759  uint8 *devAddr );
1760 
1761 
1773 extern hciStatus_t HCI_LE_RemoveWhiteListCmd( uint8 addrType,
1774  uint8 *devAddr );
1775 
1777 
1795 extern hciStatus_t HCI_LE_ConnUpdateCmd( uint16 connHandle,
1796  uint16 connIntervalMin,
1797  uint16 connIntervalMax,
1798  uint16 connLatency,
1799  uint16 connTimeout,
1800  uint16 minLen,
1801  uint16 maxLen );
1802 
1804 
1816 extern hciStatus_t HCI_LE_SetHostChanClassificationCmd( uint8 *chanMap );
1817 
1829 extern hciStatus_t HCI_LE_ReadChannelMapCmd( uint16 connHandle );
1830 
1843 extern hciStatus_t HCI_LE_ReadRemoteUsedFeaturesCmd( uint16 connHandle );
1844 
1865 extern hciStatus_t HCI_LE_EncryptCmd( uint8 *key,
1866  uint8 *plainText );
1867 
1890 extern hciStatus_t HCI_LE_RandCmd( void );
1891 
1893 
1909 extern hciStatus_t HCI_LE_StartEncyptCmd( uint16 connHandle,
1910  uint8 *random,
1911  uint8 *encDiv,
1912  uint8 *ltk );
1913 
1925 extern hciStatus_t HCI_LE_LtkReqReplyCmd( uint16 connHandle,
1926  uint8 *ltk );
1927 
1928 
1939 extern hciStatus_t HCI_LE_LtkReqNegReplyCmd( uint16 connHandle );
1940 
1942 
1951 extern hciStatus_t HCI_LE_ReadSupportedStatesCmd( void );
1952 
1965 extern hciStatus_t HCI_LE_ReceiverTestCmd( uint8 rxChan );
1966 
1983 extern hciStatus_t HCI_LE_TransmitterTestCmd( uint8 txChan,
1984  uint8 dataLen,
1985  uint8 pktPayload );
1986 
1997 extern hciStatus_t HCI_LE_TestEndCmd( void );
1998 
1999 // V4.1
2000 
2002 
2024 extern hciStatus_t HCI_LE_RemoteConnParamReqReplyCmd( uint16 connHandle,
2025  uint16 connIntervalMin,
2026  uint16 connIntervalMax,
2027  uint16 connLatency,
2028  uint16 connTimeout,
2029  uint16 minLen,
2030  uint16 maxLen );
2031 
2048 extern hciStatus_t HCI_LE_RemoteConnParamReqNegReplyCmd( uint16 connHandle,
2049  uint8 reason );
2050 
2052 
2053 // V4.2 Extended Data Length
2054 
2070 extern hciStatus_t HCI_LE_SetDataLenCmd( uint16 connHandle,
2071  uint16 txOctets,
2072  uint16 txTime );
2073 
2085 extern hciStatus_t HCI_LE_ReadSuggestedDefaultDataLenCmd( void );
2086 
2102 extern hciStatus_t HCI_LE_WriteSuggestedDefaultDataLenCmd( uint16 txOctets,
2103  uint16 txTime );
2104 
2116 extern hciStatus_t HCI_LE_ReadMaxDataLenCmd( void );
2117 
2118 // V4.2 Privacy 1.2
2119 
2136 extern hciStatus_t HCI_LE_AddDeviceToResolvingListCmd( uint8 peerIdAddrType,
2137  uint8 *peerIdAddr,
2138  uint8 *peerIRK,
2139  uint8 *localIRK );
2140 
2155 extern hciStatus_t HCI_LE_RemoveDeviceFromResolvingListCmd( uint8 peerIdAddrType,
2156  uint8 *peerIdAddr );
2157 
2169 extern hciStatus_t HCI_LE_ClearResolvingListCmd( void );
2170 
2182 extern hciStatus_t HCI_LE_ReadResolvingListSizeCmd( void );
2183 
2201 extern hciStatus_t HCI_LE_ReadPeerResolvableAddressCmd( uint8 peerIdAddrType,
2202  uint8 *peerIdAddr );
2203 
2222 extern hciStatus_t HCI_LE_ReadLocalResolvableAddressCmd( uint8 localIdAddrType,
2223  uint8 *localIdAddr );
2224 
2226 
2241 extern hciStatus_t HCI_LE_SetAddressResolutionEnableCmd( uint8 addrResolutionEnable );
2242 
2244 
2260 extern hciStatus_t HCI_LE_SetResolvablePrivateAddressTimeoutCmd( uint16 rpaTimeout );
2261 
2278 extern hciStatus_t HCI_LE_SetPrivacyModeCmd( uint8 peerIdAddrType,
2279  uint8 *peerIdAddr,
2280  uint8 privacyMode );
2281 
2282 // V4.2 Secure Connections
2283 
2285 
2301 extern hciStatus_t HCI_LE_ReadLocalP256PublicKeyCmd( void );
2302 
2303 
2322 extern hciStatus_t HCI_LE_GenerateDHKeyCmd( uint8 *publicKey );
2323 
2325 
2326 // V5.0 2M and Coded PHY
2327 
2338 extern hciStatus_t HCI_LE_ReadPhyCmd( uint16 connHandle );
2339 
2340 
2356 extern hciStatus_t HCI_LE_SetDefaultPhyCmd( uint8 allPhys,
2357  uint8 txPhy,
2358  uint8 rxPhy );
2359 
2360 
2375 extern hciStatus_t HCI_LE_SetPhyCmd( uint16 connHandle,
2376  uint8 allPhys,
2377  uint8 txPhy,
2378  uint8 rxPhy,
2379  uint16 phyOpts );
2380 
2381 
2397 extern hciStatus_t HCI_LE_EnhancedRxTestCmd( uint8 rxChan,
2398  uint8 rxPhy,
2399  uint8 modIndex );
2400 
2401 
2418 extern hciStatus_t HCI_LE_EnhancedTxTestCmd( uint8 txChan,
2419  uint8 payloadLen,
2420  uint8 payloadType,
2421  uint8 txPhy );
2430 extern hciStatus_t HCI_LE_ReadTxPowerCmd( void );
2431 
2440 extern hciStatus_t HCI_LE_ReadRfPathCompCmd( void );
2441 
2453 extern hciStatus_t HCI_LE_WriteRfPathCompCmd( int16 txPathParam,
2454  int16 rxPathParam );
2455 
2456 /*
2457 ** HCI Vendor Specific Commands: Link Layer Extensions
2458 */
2459 
2472 extern hciStatus_t HCI_EXT_SetRxGainCmd( uint8 rxGain );
2473 
2474 
2490 extern hciStatus_t HCI_EXT_SetTxPowerCmd( uint8 txPower );
2491 
2492 
2505 extern hciStatus_t HCI_EXT_OnePktPerEvtCmd( uint8 control );
2506 
2508 
2527 extern hciStatus_t HCI_EXT_ClkDivOnHaltCmd( uint8 control );
2528 
2550 extern hciStatus_t HCI_EXT_DeclareNvUsageCmd( uint8 mode );
2551 
2553 
2567 extern hciStatus_t HCI_EXT_DecryptCmd( uint8 *key,
2568  uint8 *encText );
2569 
2592 extern hciStatus_t HCI_EXT_SetLocalSupportedFeaturesCmd( uint8 *localFeatures );
2593 
2619 extern hciStatus_t HCI_EXT_SetFastTxResponseTimeCmd( uint8 control );
2620 
2622 
2641 extern hciStatus_t HCI_EXT_SetSlaveLatencyOverrideCmd( uint8 control );
2642 
2644 
2668 extern hciStatus_t HCI_EXT_ModemTestTxCmd( uint8 cwMode,
2669  uint8 txChan );
2670 
2692 extern hciStatus_t HCI_EXT_ModemHopTestTxCmd( void );
2693 
2716 extern hciStatus_t HCI_EXT_ModemTestRxCmd( uint8 rxChan );
2717 
2742 extern hciStatus_t HCI_EXT_EnhancedModemTestTxCmd( uint8 cwMode,
2743  uint8 rfPhy,
2744  uint8 rfChan );
2745 
2773 extern hciStatus_t HCI_EXT_EnhancedModemHopTestTxCmd( uint8 payloadLen,
2774  uint8 payloadType,
2775  uint8 rfPhy );
2776 
2800 extern hciStatus_t HCI_EXT_EnhancedModemTestRxCmd( uint8 rfPhy,
2801  uint8 rfChan );
2802 
2813 extern hciStatus_t HCI_EXT_EndModemTestCmd( void );
2814 
2816 
2839 extern hciStatus_t HCI_EXT_SetBDADDRCmd( uint8 *bdAddr );
2840 
2842 
2868 extern hciStatus_t HCI_EXT_SetSCACmd( uint16 scaInPPM );
2869 
2885 extern hciStatus_t HCI_EXT_EnablePTMCmd( void );
2886 
2906 extern hciStatus_t HCI_EXT_SetFreqTuneCmd( uint8 step );
2907 
2922 extern hciStatus_t HCI_EXT_SaveFreqTuneCmd( void );
2923 
2944 extern hciStatus_t HCI_EXT_SetMaxDtmTxPowerCmd( uint8 txPower );
2945 
2947 
2987 extern hciStatus_t HCI_EXT_MapPmIoPortCmd( uint8 ioPort, uint8 ioPin );
2988 
2990 
3006 extern hciStatus_t HCI_EXT_DisconnectImmedCmd( uint16 connHandle );
3007 
3026 extern hciStatus_t HCI_EXT_PacketErrorRateCmd( uint16 connHandle, uint8 command );
3027 
3069 extern hciStatus_t HCI_EXT_PERbyChanCmd( uint16 connHandle, perByChan_t *perByChan );
3070 
3072 
3081 extern hciStatus_t HCI_EXT_ExtendRfRangeCmd( void );
3082 
3095 extern hciStatus_t HCI_EXT_HaltDuringRfCmd( uint8 mode );
3096 
3098 
3100 
3154 extern hciStatus_t HCI_EXT_AdvEventNoticeCmd( uint8 taskID, uint16 taskEvent );
3155 
3157 
3212 extern hciStatus_t HCI_EXT_ConnEventNoticeCmd( uint16 connHandle, uint8 taskID, uint16 taskEvent );
3213 
3235 extern hciStatus_t HCI_EXT_BuildRevisionCmd( uint8 mode, uint16 userRevNum );
3236 
3238 
3270 extern hciStatus_t HCI_EXT_DelaySleepCmd( uint16 delay );
3271 
3273 
3292 extern hciStatus_t HCI_EXT_ResetSystemCmd( uint8 mode );
3293 
3294 // @cond NODOC
3295 
3306 extern hciStatus_t HCI_EXT_LLTestModeCmd( uint8 testCase );
3307 
3308 
3319 extern hciStatus_t HCI_EXT_OverlappedProcessingCmd( uint8 mode );
3320 
3322 
3343 extern hciStatus_t HCI_EXT_NumComplPktsLimitCmd( uint8 limit,
3344  uint8 flushOnEvt );
3345 
3347 
3380 extern hciStatus_t HCI_EXT_GetConnInfoCmd( uint8 *numAllocConns,
3381  uint8 *numActiveConns,
3382  hciConnInfo_t *activeConnInfo );
3383 
3385 
3402 extern hciStatus_t HCI_EXT_SetMaxDataLenCmd( uint16 txOctets,
3403  uint16 txTime,
3404  uint16 rxOctets,
3405  uint16 rxTime );
3406 
3419 extern hciStatus_t HCI_EXT_SetDtmTxPktCntCmd( uint16 txPktCnt );
3420 
3422 
3431 extern hciStatus_t HCI_EXT_ReadRandAddrCmd( void );
3432 
3434 
3435 #ifdef __cplusplus
3436 }
3437 #endif
3438 
3439 #endif /* HCI_H */
3440 
hciStatus_t HCI_EXT_PacketErrorRateCmd(uint16 connHandle, uint8 command)
osal_event_hdr_t hdr
osal event header
Definition: hci.h:995
uint8 BLEEventCode
BLE Event Code.
Definition: hci.h:918
uint8 status
status of event
Definition: hci.h:931
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:907
uint16 * pNumCompletedPackets
pointer to the number of completed packets array
Definition: hci.h:962
hciStatus_t HCI_EXT_SetMaxDataLenCmd(uint16 txOctets, uint16 txTime, uint16 rxOctets, uint16 rxTime)
uint16 connHandle
connection handle
Definition: hci.h:1051
uint8 status
status of event
Definition: hci.h:919
uint8 status
status of event
Definition: hci.h:1040
uint8 addrType
public or random address type
Definition: hci.h:886
uint8 pktType
packet type
Definition: hci.h:1104
uint8 BLEEventCode
BLE Event Code.
Definition: hci.h:940
uint8 clockAccuracy
connection clock accuracy
Definition: hci.h:869
osal_event_hdr_t hdr
osal event header
Definition: hci.h:1087
uint16 Interval_Min
minimum connection interval
Definition: hci.h:1029
hciStatus_t HCI_LE_SetDefaultPhyCmd(uint8 allPhys, uint8 txPhy, uint8 rxPhy)
HCI Packet event.
Definition: hci.h:1094
osal_event_hdr_t hdr
osal event header
Definition: hci.h:949
#define B_RANDOM_NUM_SIZE
BLE Random Number Size.
Definition: bcomdef.h:133
uint8 numHandles
number of handles
Definition: hci.h:960
uint8 * pReturnParam
pointer to the return parameter
Definition: hci.h:971
hciStatus_t HCI_LE_ReadRemoteUsedFeaturesCmd(uint16 connHandle)
osal_event_hdr_t hdr
osal event header
Definition: hci.h:939
uint16 dataPktLen
data packet length
Definition: hci.h:1080
Command Status Event.
Definition: hci.h:984
uint16 connHandle
connection handle
Definition: hci.h:1041
osal_event_hdr_t hdr
osal event header
Definition: hci.h:1049
osal_event_hdr_t hdr
osal event header
Definition: hci.h:905
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:993
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:864
uint8 status
status of event
Definition: hci.h:1003
hciStatus_t HCI_LE_RandCmd(void)
LE Advertising Report Event.
Definition: hci.h:883
hciStatus_t HCI_LE_ReadRfPathCompCmd(void)
#define B_MAX_ADV_LEN
BLE Maximum Advertising Packet Length.
Definition: bcomdef.h:130
hciStatus_t HCI_LE_ReadResolvingListSizeCmd(void)
LE Data Length Change Event.
Definition: hci.h:1047
hciStatus_t HCI_SetEventMaskPage2Cmd(uint8 *pMask)
hciStatus_t HCI_LE_ReadLocalSupportedFeaturesCmd(void)
uint8 numDevices
number of discovered devices
Definition: hci.h:898
uint16 connectionHandle
connection handle
Definition: hci.h:846
uint16 connHandle
connection handle
Definition: hci.h:1105
uint8 BLEEventCode
BLE Event Code.
Definition: hci.h:1050
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:929
LE Phy Update Complete Event.
Definition: hci.h:1036
osal_event_hdr_t hdr
osal event header
Definition: hci.h:1018
osal_event_hdr_t hdr
osal event header
Definition: hci.h:959
uint8 BLEEventCode
BLE Event Code.
Definition: hci.h:1026
hciStatus_t HCI_LE_EnhancedRxTestCmd(uint8 rxChan, uint8 rxPhy, uint8 modIndex)
uint8 BLEEventCode
BLE Event code.
Definition: hci.h:1062
osal_event_hdr_t hdr
osal event header
Definition: hci.h:977
hciStatus_t HCI_WriteAuthPayloadTimeoutCmd(uint16 connHandle, uint16 aptoValue)
osal_event_hdr_t hdr
osal event header
Definition: hci.h:1002
hciStatus_t HCI_LE_SetHostChanClassificationCmd(uint8 *chanMap)
uint8 BLEEventCode
BLE Event Code.
Definition: hci.h:1071
union _hciEvt_BLEConnComplete_u_ hciEvt_BLEConnComplete_u
LE Connection Complete Event.
uint16 connInterval
connection interval
Definition: hci.h:850
uint16 Interval_Max
maximum connection interval
Definition: hci.h:1030
uint8 length
length of parametric data, in bytes
Definition: hci.h:978
hciStatus_t HCI_EXT_NumComplPktsLimitCmd(uint8 limit, uint8 flushOnEvt)
uint16 connectionHandle
connection handle
Definition: hci.h:932
uint8 BLEEventCode
BLE Event Code.
Definition: hci.h:1039
uint16 maxRxTime
maximum receive time
Definition: hci.h:1055
hciStatus_t HCI_ReadRssiCmd(uint16 connHandle)
uint8 status
status
Definition: hci.h:1063
uint16 connectionHandle
connection handle
Definition: hci.h:862
uint16 connTimeout
connection supervision timeout
Definition: hci.h:923
uint8 encEnable
encryption enabled or not
Definition: hci.h:943
uint16 Latency
slave latency
Definition: hci.h:1031
hciStatus_t HCI_LE_ReadSupportedStatesCmd(void)
uint16 connLatency
connection latency
Definition: hci.h:867
uint8 linkType
synchronous or asynchronous buffer overflow
Definition: hci.h:1012
Vendor Specific Command Complete Event.
Definition: hci.h:975
osal_event_hdr_t hdr
osal event header
Definition: hci.h:917
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:1077
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:853
Disconnection Complete Event.
Definition: hci.h:1000
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:1103
Authenticated Payload Timeout Expired Event.
Definition: hci.h:1016
hciStatus_t HCI_EXT_EnhancedModemTestTxCmd(uint8 cwMode, uint8 rfPhy, uint8 rfChan)
hciStatus_t HCI_LE_ReadWhiteListSizeCmd(void)
uint16 connHandle
connection handle
Definition: hci.h:1028
uint16 maxTxTime
maximum transmission time
Definition: hci.h:1053
hciStatus_t HCI_LE_SetEventMaskCmd(uint8 *pEventMask)
int8 rssi
report RSSI
Definition: hci.h:890
uint16 connLatency
connection latency
Definition: hci.h:922
uint8 BLEEventCode
BLE Event Code.
Definition: hci.h:897
uint8 * pData
data
Definition: hci.h:1108
hciStatus_t HCI_EXT_SetRxGainCmd(uint8 rxGain)
uint8 reason
reason
Definition: hci.h:942
int8 rssi
report RSSI
Definition: hci.h:911
uint8 BLEEventCode
BLE Event Code.
Definition: hci.h:950
uint16 cmdOpcode
command opcode
Definition: hci.h:989
uint8 chSelAlgo
channel selection algorithm
Definition: hci.h:1090
hciStatus_t HCI_ReadRemoteVersionInfoCmd(uint16 connHandle)
osal_event_hdr_t hdr
OSAL event header.
Definition: hci.h:1096
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:1061
hciStatus_t HCI_EXT_ModemHopTestTxCmd(void)
Command Complete Event.
Definition: hci.h:966
uint8 rxPhy
RX PHY.
Definition: hci.h:1043
hciEvt_DevInfo_t * devInfo
pointer to the array of devInfo
Definition: hci.h:899
LE Channel Selection Algorithm Event.
Definition: hci.h:1085
uint16 connHandle
connection handle
Definition: hci.h:941
HCI Data Packet.
Definition: hci.h:1101
uint8 status
status
Definition: hci.h:1072
uint8 status
status of event
Definition: hci.h:845
uint16 connTimeout
connection supervision timeout
Definition: hci.h:868
uint16 Timeout
supervision timeout
Definition: hci.h:1032
LE Generate DHKey Complete Event.
Definition: hci.h:1068
hciStatus_t HCI_EXT_EnhancedModemHopTestTxCmd(uint8 payloadLen, uint8 payloadType, uint8 rfPhy)
uint16 * pConnectionHandle
pointer to the connection handle array
Definition: hci.h:961
LE Remote Connection Parameter Request Event.
Definition: hci.h:1023
hciStatus_t HCI_EXT_PERbyChanCmd(uint16 connHandle, perByChan_t *perByChan)
uint16 connLatency
connection latency
Definition: hci.h:851
uint8 status
status of event
Definition: hci.h:1027
hciStatus_t HCI_ReadLocalSupportedCommandsCmd(void)
uint8 BLEEventCode
BLE Event Code.
Definition: hci.h:906
hciStatus_t HCI_EXT_ModemTestRxCmd(uint8 rxChan)
uint16 connInterval
connection interval
Definition: hci.h:866
uint8 bleChan
BLE channel.
Definition: hci.h:910
uint8 eventType
advertisement or scan response event type
Definition: hci.h:885
osal_event_hdr_t hdr
osal event header
Definition: hci.h:843
hciEvt_BLEEnhConnComplete_t enhEvt
enhanced connection complete event
Definition: hci.h:879
osal_event_hdr_t hdr
osal event header
Definition: hci.h:859
hciStatus_t HCI_LE_ClearResolvingListCmd(void)
hciStatus_t HCI_EXT_OnePktPerEvtCmd(uint8 control)
uint16 connTimeout
connection supervision timeout
Definition: hci.h:852
Type definitions and macros for BLE stack.
VS LE Scan Request Report Event.
Definition: hci.h:903
hciStatus_t HCI_EXT_SetFastTxResponseTimeCmd(uint8 control)
LE Encryption Change Event.
Definition: hci.h:937
hciStatus_t HCI_EXT_BuildRevisionCmd(uint8 mode, uint16 userRevNum)
hciStatus_t HCI_LE_ReadPhyCmd(uint16 connHandle)
uint16 connInterval
connection interval
Definition: hci.h:921
uint8 * pEventParam
event parameters
Definition: hci.h:980
hciEvt_BLEConnComplete_t legEvt
connection complete event
Definition: hci.h:878
hciStatus_t HCI_ReadTransmitPowerLevelCmd(uint16 connHandle, uint8 txPwrType)
uint8 cmdStatus
command status
Definition: hci.h:987
LE Enhanced Connection Complete Event.
Definition: hci.h:857
hciStatus_t HCI_LE_SetPhyCmd(uint16 connHandle, uint8 allPhys, uint8 txPhy, uint8 rxPhy, uint16 phyOpts)
uint16 connHandle
connection handle
Definition: hci.h:1019
uint16 cmdOpcode
command opcode
Definition: hci.h:970
uint8 BLEEventCode
BLE Event Code.
Definition: hci.h:844
Number of Completed Packets Event.
Definition: hci.h:957
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:860
uint8 txPhy
TX PHY.
Definition: hci.h:1042
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:1081
hciStatus_t HCI_EXT_EnhancedModemTestRxCmd(uint8 rfPhy, uint8 rfChan)
uint16 pktLen
packet length
Definition: hci.h:1107
osal_event_hdr_t hdr
osal event header
Definition: hci.h:1070
uint8 peerAddrType
peer address type
Definition: hci.h:848
osal_event_hdr_t hdr
osal event header
Definition: hci.h:986
hciStatus_t HCI_EXT_ConnEventNoticeCmd(uint16 connHandle, uint8 taskID, uint16 taskEvent)
uint16 cmdOpcode
command opcode
Definition: hci.h:979
uint8 reason
reason
Definition: hci.h:1005
uint8 numHciCmdPkt
number of HCI Command Packet
Definition: hci.h:969
osal_event_hdr_t hdr
osal event header
Definition: hci.h:1025
uint8 hardwareCode
hardware error code
Definition: hci.h:996
#define B_ADDR_LEN
Default Public and Random Address Length.
Definition: bcomdef.h:115
Data Buffer Overflow Event.
Definition: hci.h:1009
uint8 role
role of connection
Definition: hci.h:863
LE Connection Complete Event.
Definition: hci.h:841
uint8 numHciCmdPkt
number of HCI command packets
Definition: hci.h:988
uint16 encryptedDiversifier
encrypted diversifier
Definition: hci.h:953
hciStatus_t HCI_LE_AddDeviceToResolvingListCmd(uint8 peerIdAddrType, uint8 *peerIdAddr, uint8 *peerIRK, uint8 *localIRK)
LE Read Remote Used Features Complete Event.
Definition: hci.h:927
uint8 peerAddrType
peer address type
Definition: hci.h:908
hciStatus_t HCI_ReadLocalSupportedFeaturesCmd(void)
hciStatus_t HCI_LE_ReadChannelMapCmd(uint16 connHandle)
uint16 connHandle
connection handle
Definition: hci.h:1089
uint8 status
status of event
Definition: hci.h:1079
hciStatus_t HCI_LE_ClearWhiteListCmd(void)
osal_event_hdr_t hdr
osal event header
Definition: hci.h:968
hciStatus_t HCI_LE_ReadMaxDataLenCmd(void)
hciStatus_t HCI_EXT_SetSCACmd(uint16 scaInPPM)
uint16 maxTxOctets
maximum transmission bytes
Definition: hci.h:1052
hciStatus_t HCI_ReadBDADDRCmd(void)
osal_event_hdr_t hdr
osal event header
Definition: hci.h:1038
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:876
LE Connection Update Complete Event.
Definition: hci.h:915
uint8 BLEEventCode
BLE Event Code.
Definition: hci.h:1088
hciStatus_t HCI_EXT_SetTxPowerCmd(uint8 txPower)
uint8 status
status of event
Definition: hci.h:861
hciStatus_t HCI_LE_WriteSuggestedDefaultDataLenCmd(uint16 txOctets, uint16 txTime)
LE Read P256 Public Key Complete Event.
Definition: hci.h:1059
uint8 dataLen
length of report data
Definition: hci.h:888
uint8 * pData
data
Definition: hci.h:1097
LE Advertising Packet Report Event.
Definition: hci.h:894
hciStatus_t HCI_EXT_DisconnectImmedCmd(uint16 connHandle)
uint16 connHandle
connection handle
Definition: hci.h:1004
uint8 BLEEventCode
BLE Event Code.
Definition: hci.h:930
hciStatus_t HCI_LE_WriteRfPathCompCmd(int16 txPathParam, int16 rxPathParam)
uint8 pbFlag
flag
Definition: hci.h:1106
uint16 maxRxOctets
maximum receive bytes
Definition: hci.h:1054
uint8 role
role of connection
Definition: hci.h:847
hciStatus_t HCI_ResetCmd(void)
osal_event_hdr_t hdr
osal event header
Definition: hci.h:1011
hciStatus_t HCI_LE_SetPrivacyModeCmd(uint8 peerIdAddrType, uint8 *peerIdAddr, uint8 privacyMode)
uint16 connectionHandle
connection handle
Definition: hci.h:920
LE Long Term Key Requested Event.
Definition: hci.h:947
osal_event_hdr_t hdr
osal event header
Definition: hci.h:896
uint16 connHandle
connection handle
Definition: hci.h:951
© Copyright 1995-2018, Texas Instruments Incorporated. All rights reserved.
Trademarks | Privacy policy | Terms of use | Terms of sale